서울대 전병곤 교수팀, 이더리움 핵심 버그 잡았다


버그 찾는 시스템 ‘플러피’ 개발

[아이뉴스24 최상국 기자] 지난해 11월, 시가총액 기준으로 2위 암호화폐인 이더리움(ETH) 네트워크에서 컨센서스 버그가 발동돼 주요 이더리움 서비스들이 마비되는 사건이 있었다.

해당 버그는 이더리움 클라이언트가 이더리움 블록체인을 하드포크(기존의 블록체인과는 호환이 되지 않는 새로운 방식으로 변경)하게 만들어 전 세계 암호화폐 거래소에서 이더리움 기반 서비스를 일시 중단하게 했다. 이는 2016년 발생했던 해킹 사건이후 이더리움 네트워크 최악의 사건으로 평가된다.

하지만 버그가 발동되기 4개월여 전에 서울대 컴퓨터공학부 전병곤 교수팀은 이더리움에서 극도로 드물게 발생하는 컨센서스 버그 2개를 발견하고 이를 이더리움 재단에 전달했다. 이더리움 개발자들은 버그를 수정한 새로운 버전의 이더리움 클라이언트를 배포했다.

2020년 11월 11일에 발동된 버그는 전 교수팀이 보고한 버그 두 개 중 하나였다. 수정된 버전으로 업데이트하지 않고 구 버전인 게스(Geth) 이더리움 클라이언트를 사용하던 서비스가 버그로 마비된 것이다.

구 버전을 사용하던 가장 큰 이더리움 인프라 서비스인 인퓨라(Infura)에서 시작해 연쇄적으로 메타마스크(MetaMask), 유니스와프(Uniswap), 컴파운드(Compound) 등 주요 이더리움 서비스들이 마비됐다. 그 결과 바이낸스를 포함한 전 세계 암호화폐 거래소에서 이더리움 기반 가상자산 서비스가 일시 중단됐다.

(왼쪽부터) 서울대학교 공과대학 컴퓨터공학부 전병곤 교수, 양영석 박사 [서울대 공대 제공]

전 교수팀이 발견한 버그는 '플러피'라고 명명된 버그 발견 시스템으로 찾아낸 것이다.

'플러피'는 전병곤 교수와 양영석 박사가 조지아 공과대학 김태수 교수와 함께 개발한 것으로, 이더리움에서는 극도로 드물게 발생하는 컨센서스 버그를 찾는 '다중 트랜잭션 차등 퍼져' 시스템이다. 이 시스템은 이더리움에서 치명적으로 작동하는 핵심 오류를 발견하고 추가로 발생할 수 있는 버그를 찾아낼 수 있다.

블록체인 ‘컨센서스’는 탈중앙화된 클라이언트 노드들이 하나의 블록체인에 합의하는 것이다. ‘컨센서스 버그’는 특정 블록체인 클라이언트가 블록체인을 하드포크하여, 다른 클라이언트들과 합의하지 못하게 하는 버그다. 하드포크가 발생하면 근본적인 블록체인의 불변성과 신뢰성이 깨지기 때문에 컨센서스 버그를 미연에 방지하는 것이 블록체인 안전성에 매우 중요하다.

이더리움 컨센서스 버그를 찾는 기존 퍼징 방식은 블록체인 스테이트와 한 개의 트랜잭션을 반복적으로 생성하고 테스트하는 방식이다. 하지만 이는 무한한 컴퓨팅 자원을 사용하더라도 이더리움 클라이언트 코드 내에 깊이 숨겨진 버그들을 근본적으로 찾지 못하는 한계가 있다.

이에 전병곤 교수 연구팀은 다중 트랜잭션 차등 퍼져 ‘플러피’를 제안했다. 플러피는 한 번에 여러 개의 트랜잭션을 연이어 테스트하여 이더리움 클라이언트 코드에 깊이 숨겨진 컨센서스 버그를 찾는다. 시스템 최적화를 통해 플러피는 기존 퍼져와 비교해 510배 이상의 퍼징 처리량과 2.7배 이상의 코드 커버리지를 달성한다.

전병곤 교수는 "이번에 개발한 퍼져로 기존에 찾는 것이 불가능했던 이더리움의 버그를 찾을 수 있었다"라며 "세계에서 두 번째로 큰 암호화폐인 이더리움의 안정성을 높이는 매우 영향력인 큰 연구로, 그 공헌을 인정받아 컴퓨터 시스템 분야 학회인 OSDI(USENIX Symposium on Operating Systems Design and Implementation)의 논문으로 채택됐다”라고 밝혔다. 이 연구 결과는 오는 7월 OSDI에서 발표될 예정이다.

◇논문 제목 : Finding Consensus Bugs in Ethereum via Multi-transaction Differential Fuzzing. Youngseok Yang, Taesoo Kim, and Byung-Gon Chun. In Proceedings of the 15th Symposium on Operating Systems Design and Implementation (OSDI 2021)

/최상국 기자(skchoi@inews24.com)






포토뉴스