가스 과금 전제 8개 달라진다…이더리움 재단, 계약 점검 요청

| 정민석 기자

이더리움 재단(Ethereum Foundation)이 글램스테르담(Glamsterdam) 업그레이드에 앞서 스마트계약 개발자와 감사인에게 가스 처리 전제 8가지를 점검해 달라고 요청했다. EIP-8037과 EIP-8038이 가스 계산 방식을 바꾸면서 기존 계약의 실행 결과가 달라질 수 있어서다.

재단은 6일 공개한 공지에서 두 제안이 일부 연산의 가스 비용과 상태 데이터의 비용 처리 방식을 바꾼다고 설명했다. 체인시큐리티(ChainSecurity)는 기존 방식에 의존한 일부 프로젝트에서 문제가 생길 가능성을 발견했다. 재단은 후디(Hoodi) 테스트넷의 글램스테르담 활성화를 미뤘으며 새 일정은 정하지 않았다.

가스는 거래나 스마트계약을 실행하는 데 필요한 작업량을 나타낸다. EIP-8037은 계정과 저장 공간 등 새로운 상태를 만드는 비용을 별도로 계산하고, EIP-8038은 이미 저장된 상태에 접근하거나 변경하는 연산의 비용을 조정한다. 코드가 그대로여도 특정 작업에 필요한 가스량이나 실패 뒤 남는 가스량이 달라질 수 있다.

재단이 공개한 점검 자료는 개발자가 확인할 전제 8가지를 설명과 코드 예시, 자체 점검용 프롬프트와 함께 정리했다. △정해진 가스량 안에 작업을 마칠 수 있다는 가정 △외부 호출이 가스 부족으로 실패하면 뒤이은 저장 작업도 실패한다는 가정 △실행 중 남은 가스는 줄기만 한다는 가정 등이 담겼다. 거래를 구성하거나 결과를 감시하는 오프체인 코드도 점검 대상이다.

이더리움 재단은 과거 메인넷 거래를 새 가스 규칙으로 재실행한 결과, 지적된 문제 대부분은 가스 한도를 높이면 해결할 수 있다고 밝혔다. 코드에 가스 한도를 고정했거나 외부 호출 뒤 저장 작업에 필요한 가스량을 종전 기준으로 계산했다면 새 규칙에서 결과가 달라질 수 있다. 자료는 가스 한도를 조정하고 변경된 규칙에 맞춰 다시 추정하고 시험하도록 제시했다.

체인시큐리티는 분석 글에서 외부 호출이 실패한 뒤 계약이 이를 기록하는 경로를 사례로 들었다. 종전에는 남은 가스가 부족해 실패 기록까지 되돌려졌던 계약이 새 규칙에서는 기록을 마칠 수 있다는 설명이다. 개발자가 다시 시도하도록 설계한 실패가 다른 결과로 이어질 수 있어 실패 처리 경로도 살펴야 한다.

재단은 여러 감사업체와 함께 점검하고 내부 감사도 진행 중이지만, 이더리움의 모든 프로젝트와 온체인·오프체인 코드를 직접 확인할 수는 없다고 밝혔다. 재단은 앞선 안내에서 일반 이용자에게는 별도 조치가 필요하지 않다고 설명했다. 본지는 앞서 지갑·인덱서·가스 추정 도구의 오작동 가능성과 일부 계약의 가스 조정 점검 필요성을 다뤘다.

재단은 영향을 확인한 프로젝트에 사례와 재현 방법을 이메일로 보내 달라고 요청했다. 개발자 의견은 다음 핵심 개발자 회의에서 EIP-8037·8038의 변경 여부를 논의할 때 참고 자료로 쓰일 예정이다.

본 기사는 시장 데이터 및 차트 분석을 바탕으로 작성되었으며, 특정 종목에 대한 투자 권유가 아닙니다.

Most Popular

지금 꼭 알아야 할 리포트