콘스탄티노플 하드포크가 연기된 이유에 대한 기술 세미나영상과 자료입니다.
영상 : https://youtu.be/cdTSxsajibo
프레젠테이션 : https://docs.google.com/presentation/d/1eNf3qpkMxtWg6Tjck-mdRsBjq7JIVzdGBJJgUMv0B5w/edit?usp=sharing
온더의 블록체인 엔지니어 신건우(Thomas Shin) 연구원이 호스팅해주셨습니다.
원인은 콘스탄티노플 하드포크에 포함되기로 계획되어있던 EIP1283은SSTORE연산의 가스소모 방식과 비용을 줄이고자 했는데, 특별한 패턴으로 짜여진 코드의 경우 transfer()함수와 EIP1283을 조합해서 재진입 공격(re-entrancy attack)을 통한 토큰이중출금(token double withrawal)이 가능해질 수 있다는 내용입니다.
만약 하드포크가 적용되게 되면 FRESH상태에 있는 스토리지 변수의 SSTORE당 소모되는 가스비가 200gas로 줄면서, 2,300gas제한이 걸려있는 transfer함수를 두번 호출할 수 있고, 이를 통해 토큰출금이 가능하다는 내용입니다. 현재는 스토리지 값을 바꾸는 모든 SSTORE연산이 5,000gas를 소모하기 때문에 이러한 취약점이 발생하지 않습니다.
결론은 EIP1283이 적용되지 않을 경우(하드포크가 일어나지 않을 경우) 아무런 문제가 없고, 만약 하드포크가 된다면 "특별한 경우"에 한해서 문제가 생길 수 있기에 연기된 것으로 보입니다.
앞으로 1)EIP1283는 적용하지 않거나, 혹은 2)FRESH상태의 SSTORE의 가스소모량을 2300이상으로 높히는 스펙변경이 일어날 수 있고, 이렇게 바뀐 스펙이 적용될 경우에 발생할 수 있는 결과에 대한 테스트와 시뮬레이션이 더 필요할 것으로 판단됩니다.
+++++++++++++++++++++++++
온더에서는 이더리움 블록체인과 관련된 기술(위와 같은) 공유를 목적으로 이뤄지는 공개 온라인 기술 세미나를 상시로, 주기적으로 열고있으며 이더리움 블록체인 기술에 관한 지식을 온라인을 통해 자유롭게 나누는 커뮤니티를 지향하고 있습니다.
이미 100분 가까이 신청 해주셨으며, 관심있으신 분들의 참여를 부탁드립니다. 참가 신청 링크는 아래와 같습니다.
오픈 기술 세미나 참가 신청서 : https://goo.gl/forms/DDwYkDaBACc0FjIA2
-------------------------------------
꼬리말
* 게시글 내용 삭제시 레벨 강등
* 질문은 각 주제별 게시판에 적어주세요.
비트코인 암호화화폐 커뮤니티 땡글~ 땡글~
-------------------------------------