암호화폐인 ‘이더리움’의 안정성을 해칠 수 있는 숨겨진 버그를 찾아내는 시스템을 국내 연구진이 개발했다.
서울대학교 공과대학은 전병곤 컴퓨터공학부 교수, 양영석 박사와 김태수 조지아공과대학 교수 공동연구팀이 이더리움 컨센서스의 버그를 찾는 시스템인 ‘플러피’를 개발했다고 7일 밝혔다.
플러피는 여러 개의 트랜잭션을 한 번에 연달아 테스트하는 퍼징(fuzzing·시스템의 취약점을 찾는 소프트웨어 검사 방법) 방식을 사용해 기존 퍼져에 비해 퍼징 처리량이 510배 이상에 달한다. 기존의 퍼징 방식은 한 개의 트랜잭션을 반복적으로 생성하고 테스트할 수 있을 뿐이어서 이더리움 컨센서스 내 깊이 숨겨진 버그를 찾기 어려웠다.
플러피는 이더리움 컨센서스에 깊이 숨겨진 버그들을 찾을 수 있어 이더리움의 안정성을 높일 수 있다는 평가를 받는다. 전 교수팀은 지난해 플러피를 통해 이더리움의 안정성을 해칠 가능성이 있는 버그 2개를 발견해 이더리움 재단에 전달했다. 이더리움 개발자들은 이를 바탕으로 기존 게스(Geth) 이더리움 클라이언트에서 버그를 수정한 새로운 버전의 이더리움 클라이언트를 배포했다.
실제로 클라이언트를 수정한 지 4개월 뒤인 지난해 11월 11일 이더리움 네트워크에서 전 교수팀이 발견한 2개의 버그 중 1개가 발동해 전 세계 암호화폐 거래소에서 이더리움 서비스가 일시 중단됐다. 이 버그로 인해 당시 인퓨라(Infura), 메타마스크(MetaMask), 유니스와프(Uniswap), 컴파운드(Compound) 등 주요 이더리움 서비스들이 마비됐다. 이 서비스들은 수정 이전 버전의 클라이언트를 사용하던 것으로 알려졌다.
연구 결과는 오는 7월 컴퓨터 시스템 분야 학회인 OSDI(USENIX Symposium on Operating Systems Design and Implementation)에서 발표될 예정이다.
김지애 기자 amor@kmib.co.kr