블록체인 Dapp 이더리움_오픈제펠린 SDK
블록체인 Dapp 이더리움_오픈제펠린 SDK
수강정보
(3개의 수강평)
214명의 수강생
스킬태그 #DApp, #블록체인, #Ethereum
무료
지식공유자 : coldmind
12회 수업 · 총 51분 수업
기간 : 평생 무제한 시청
수료증 : 미발급 강의
수강 난이도 : 중급이상
coldmind 프로필
이더리움 Istanbul 하드포크에 의한 영향도
coldmind 11달 전

최근 기사에 의하면 이더리움의 하드포크 Istanbul 이 예정되어 있습니다. 

그런데 이 강좌에서 다룬 오픈제펠린의 Upgradable Contract가 이번 하드포크에 의해 중대한(?) 영향을 받을 것 같습니다. 이번 하드포크에서는 EIP1884 라고 하는 것이 적용될 예정인데 간단히 말하면 상태변수를 읽는 SLOAD라는 opcode의 가스를 200에서 400으로 올린다는 내용입니다. 

오픈제펠린의 Upgradable Contract 는 프록시 컨트랙트의 폴백함수를 통해 구현 컨트랙트에 delegatecall을 하는 패턴으로 되어 있습니다 그런데 현재 EVM은 다른 컨트랙트에서 프록시 컨트랙트의 폴백함수를 호출하면서 이더 전송을 하는 경우(send 또는 transfer를 호출하는 경우 2300) gas stipend가 적용되도록 되어 있습니다.  문제는 프록시 컨트랙트의 폴백함수는 최소한 2개의 SLOAD를 수행해야 합니다(예를 들어 구현 컨트랙트의 어드레스를 읽기). 따라서 1200 gas 가 더 소요되는 셈입니다.

따라서 구현 컨트랙트의 로직에 전달되는 가스가 줄어드는 결과가 되므로 그 동안 정상동작했던 컨트랙트 중 일부는 오류가 발생할 가능성이 제기되고 있습니다. 

오픈제펠린에서는 이번 이슈를 검토 중에 있으므로 이 강좌를 수강하신 여러분들도 인지하시기 바랍니다. 다음 링크를 참고하시기 바랍니다(실습 예제는 해당 사항이 없음). 

[오픈제펠린 포럼]

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스