[논문 리뷰] Not so immutable: Upgradeability of Smart Contracts on Ethereum
이 논문은 이더리움 스마트 컨트랙트의 업그레이드 가능성 패턴을 분석하여, DELEGATECALL 기반 설계가 가장 널리 퍼져 있음을 규명한다. 새로운 측정 프레임워크를 사용하여 저자들은 140만 개의 프oxy 컨트랙트를 발견했으며, 이 중 50%가 외부 소유 계정(EOA) 하나에 의해 제어됨을 확인하여, '불변성'을 약속하는 스마트 컨트랙트에 심각한 중앙집중화 위험이 존재함을 드러낸다.
A smart contract that is deployed to a blockchain system like Ethereum is, under reasonable circumstances, expected to be immutable and tamper-proof. This is both a feature (promoting integrity and transparency) and a bug (preventing security patches and feature updates). Modern smart contracts use software tricks to enable upgradeability, raising the research questions of how upgradeability is achieved and who is authorized to make changes. In this paper, we summarize and evaluate six upgradeability patterns. We develop a measurement framework for finding how many upgradeable contracts are on Ethereum that use certain prominent upgrade patters. We find 1.4 million proxy contracts which 8,225 of them are unique upgradeable proxy contracts. We also measure how they implement access control over their upgradeability: about 50% are controlled by a single Externally Owned Address (EOA), and about 14% are controlled by multi-signature wallets in which a limited number of persons can change the whole logic of the contract.
연구 동기 및 목표
- 스마트 컨트랙트가 불변성의 약속에도 불구하고 이더리움에서 어떻게 업그레이드 가능한지 이해하기 위해.
- 실제로 사용되는 여섯 가지 주요 업그레이드 가능성 패턴을 분류하고 평가하기 위해.
- 이더리움에서 업그레이드 가능한 컨트랙트의 보편성과 액세스 제어 메커니즘을 측정하기 위해.
- 단일 키 또는 다중 서명 관리자 제어로 인해 발생하는 중앙집중화 위험을 평가하기 위해.
- 특정 표준이나 라이브러리에 의존하지 않고도 일반화 가능한 업그레이드 패턴 탐지 프레임워크를 개발하기 위해.
제안 방법
- 저자들은 정적 분석과 바이트코드 패턴 매칭을 사용하여 스마트 컨트랙트의 업그레이드 가능성 패턴을 탐지하기 위한 패턴 기반 측정 프레임워크를 설계한다.
- 여섯 가지 업그레이드 가능성 패턴의 서명을 식별하기 위해 컨트랙트 바이트코드를 분석하며, 이에는 DELEGATECALL, CALL, CREATE2 기반의 멘타모르시스, UUPS 등이 포함된다.
- 프레임워크는 프록시 컨트랙트를 탐지하고 관리자 제어 메커니즘을 매핑하며, 외부 소유 계정(EOA), 다중 서명 월렛, 거버넌스 기반 시스템을 구분한다.
- 저자들은 알려진 컨트랙트와 수동 검토를 통해 검출 모델의 정합성을 검증하며, 다중 서명 탐지에서의 가짜 음성(false negative)을 보정한다.
- 저자들은 ArchiveNode에서 확보한 블록체인 데이터를 사용하여 206만 블록 동안의 컨트랙트를 분석하였다 (2020년 9월 ~ 2021년 7월).
- 저자들은 UUPS 패턴 탐지에 대한 사례 연구를 포함하여, 프레임워크가 대규모로 취약한 컨트랙트를 식별할 수 있음을 입증한다.
실험 결과
연구 질문
- RQ1실제 이더리움 스마트 컨트랙트에서 업그레이드 가능성 패턴은 어떻게 구현되어 있는가?
- RQ2이더리움에서 가장 널리 퍼진 업그레이드 가능성 패턴은 무엇이며, 그 이유는 무엇인가?
- RQ3업그레이드 가능한 컨트랙트의 행정 제어 권한은 누가 가지고 있으며, 관련된 신뢰성 및 보안 위험은 무엇인가?
- RQ4업그레이드 가능한 컨트랙트가 블록체인 시스템의 불변성 원칙을 어느 정도 훼손하는가?
- RQ5일반적인 탐지 프레임워크는 특정 라이브러리나 표준에 의존하지 않고 업그레이드 패턴을 식별할 수 있는가?
주요 결과
- 저자들은 이더리움에서 140만 개의 프록시 컨트랙트를 식별하였으며, 이 중 8,225개는 고유한 업그레이드 가능한 프록시 컨트랙트이다.
- DELEGATECALL 기반 패턴이 가장 널리 퍼진 업그레이드 가능성 메커니즘으로, 단순성과 낮은 인스트루멘테이션 오버헤드 덕분에 선호된다.
- 업그레이드 가능한 컨트랙트의 약 50%가 단일 외부 소유 계정(EOA)에 의해 제어되며, 이는 단일 장애 지점(SPOF)을 초래한다.
- 약 14%의 컨트랙트는 다중 서명 월렛에 의해 거버넌스되며, 소수의 서명자가 컨트랙트 로직을 변경할 수 있다.
- 나머지 29%의 컨트랙트는 분산 거버넌스 또는 알려지지 않은 메커니즘에 의해 제어되며, 수동 검토 결과 다중 서명 탐지에서 가짜 음성(false negative)이 확인되었다.
- 이 연구는 업그레이드 가능성으로 인해 불변성의 核심 약속이 심각하게 훼손됨을 입증하였으며, 약 48%의 컨트랙트가 단일 개인 키로 인해 해킹 가능함을 보여준다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.