이더리움 시험망 통과해도 앱 오류 못 걸러…마르쿠, 2021년 사례 회고
마르쿠는 시험망만으로 실제 앱의 모든 예외 상황을 재현하기 어렵다고 말했다. 2021년 런던 하드포크 때 메타마스크 관련 조건이 사전 점검에서 잡히지 않아 web3.js 의존 앱 거의 모두가 영향을 받았다고 회고했다.
토포AI로 이 기사 더 깊이 읽기
그레그 마르쿠(Greg Markou) 스프린터(Sprinter) 공동창업자 겸 CEO는 이더리움(ETH)을 “거대한 단일체”라고 부르며, 시험망 점검만으로는 실제 앱에서 발생할 수 있는 모든 오류를 걸러내기 어렵다고 말했다.
크립토브리핑(Crypto Briefing)은 12일 오전 7시43분(한국시간) 개발자 공개 토론에서 나온 발언을 보도했다. 토론에서는 이더리움의 프로토콜 변경을 실제 서비스에 적용할 때 마주하는 어려움이 다뤄졌다.
시험망은 개발자가 네트워크 변경을 미리 점검하는 연습 환경이다. 실제 자산을 걸지 않고 앱과 프로토콜의 동작을 시험할 수 있어 업그레이드 준비에 쓰인다.
마르쿠는 시험망이 유용하다는 점은 인정하면서도, 운영 중인 본망의 모든 상황을 재현할 수는 없다고 설명했다. 실제 앱은 지갑과 라이브러리, 다른 계약이 다양한 방식으로 맞물려 작동하기 때문이다.
하드 포크는 네트워크가 따르는 핵심 규칙을 바꾸는 업그레이드다. 기존 규칙을 전제로 만든 소프트웨어는 새 규칙이 적용된 뒤 예상과 다르게 작동할 수 있다.
마르쿠는 2021년 8월 런던 업그레이드 당시 web3.js를 관리했다. 웹 앱이 이더리움 블록체인과 통신할 때 사용하는 자바스크립트 라이브러리다. 런던 업그레이드에는 거래 수수료 체계를 바꾼 EIP-1559가 포함됐다.
마르쿠는 당시 업그레이드와 관련된 업데이트에서 메타마스크(MetaMask) 관련 불변 조건이 사전 점검에 드러나지 않았다고 회고했다. 그의 설명에 따르면 web3.js에 의존하던 거의 모든 앱이 영향을 받았다.
불변 조건은 개발자가 프로그램 작동 중 계속 유지된다고 전제하는 성질이다. 그 전제가 깨지면 이를 바탕으로 작동하던 앱도 영향을 받을 수 있다.
마르쿠는 이더리움을 “거대한 단일체”라고 표현했다. 네트워크가 크고 여러 구성 요소가 연결돼 있어, 한 부분의 변경이 다른 앱에 미치는 영향을 예측하기 어렵다는 취지다.
마르쿠는 과거 web3.js를 관리했던 체인세이프 시스템(ChainSafe Systems)을 공동 창업했다. 스프린터는 체인세이프에서 출범했으며, 마르쿠는 현재 CEO로 회사를 이끌고 있다.
이더리움재단(Ethereum Foundation)과 Verity가 EIP-8282의 빌더 예치·퇴장 계약 실행 코드를 형식 검증해 세 가지 동작 보증과 연구진이 해소해야 할 불일치를 확인한 사례도 있다. 형식 검증은 코드가 정해진 조건을 지키는지 수학적으로 확인하는 작업이다. 당시 검증 대상은 제안 전체가 아니라 특정 계약의 실행 코드와 동작이었다.
이더리움재단은 글램스테르담 업그레이드를 앞두고 가스 과금 방식 변경으로 일부 계약이 의존하는 전제가 깨질 수 있다고 안내한 바 있다. 재단은 여러 감사업체와 점검하고 내부 감사도 진행 중이지만, 모든 프로젝트의 온체인·오프체인 코드를 직접 확인할 수는 없다고 밝혔다.
재단은 영향을 확인한 프로젝트에 사례와 재현 방법을 보내 달라고 요청했다. 관련 보도 당시 재단은 개발자 의견을 다음 핵심 개발자 회의에서 EIP-8037·8038 변경 여부를 논의할 때 참고할 예정이라고 밝혔다.
이번 공개 토론에서 새 업그레이드나 프로토콜 변경이 발표되지는 않았다. 마르쿠의 발언은 과거 업그레이드 경험을 바탕으로 시험망 점검의 한계를 짚은 것이다.
김미래 기자 




Comment 0
불러오는 중…