페이지상단으로이동

서울대 연구진, ‘이더리움’ 버그 잡는 시스템 개발

    • 박혜원 기자
    • |
    • 입력 2021-04-07 15:53
    • |
    • 수정 2021-04-07 15:53

컨센서스 버그 2개 발견
다중 트랙잭션 차등 퍼져 ‘플러피’ 개발

▲서울대 연구진, ‘이더리움’ 버그 잡는 시스템 개발
[출처 : 서울대 공대]

국내 연구진이 이더리움의 치명적인 블록체인 기술 오류를 발견했다.

7일 서울대학교 공과대학이 암호화폐 이더리움(ETH)에서 치명적인 핵심 오류를 발견하고, 추가로 발생할 수 있는 버그를 찾아내는 시스템을 개발했다고 밝혔다.

이번 버그 오류 발견은 서울대학교 공과대학 컴퓨터공학부 전병곤 교수와 양영석 박사가 미국 조지아 공과대학 김태수 교수와의 공동 연구를 통해 찾은 것이며, 이들은 이더리움 컨센서스 버그를 찾는 다중 트랜잭션 차등 퍼져 ‘플러피’를 개발했다고 전했다.

연구진은 지난해 블록체인 보안을 연구하던 중 이더리움에서 드물게 발생하는 컨센서스 버그 2개를 발견했다. 연구진은 해당 내용을 이더리움 재단에 전달했으며, 이더리움 개발자들은 버그를 수정한 새로운 버전의 클라이언트를 배포했다.

연구진이 발견한 버그 중 하나가 작동한 사례도 있었다. 해당 버그는 수정되기 이전 버전의 클라이언트가 이더리움 블록체인을 하드포크했다. 이로 인해 구버전의 게스 클라이언트를 사용하던 인퓨라(Infura), 메타 마스크(Meta Mask), 유니스왑(Uniswqp), 컴파운드(Compound) 등 주요 서비스들이 마비됐다.

그 결과로 글로벌 암호화폐 거래소 바이낸스를 포함한 전 세계 암호화폐 거래소에서 이더리움 기반 암호화폐 서비스가 일시 중단되는 사태가 발생했다.

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

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

전병곤 교수는 “이번에 개발한 퍼져로 기존에 찾는 것이 불가능했던 이더리움의 버그를 찾을 수 있었다”라며 “세계에서 두 번째로 큰 암호화폐인 ETH의 안전성을 높이는 매우 영향력이 큰 연구이고, 그 공헌을 인정받아 컴퓨터 시스템 분야 학회인 OSDI의 논문으로 채택됐다”라고 말했다.

한편, 이번 서울대 연구진의 연구 결과는 오는 7월 OSDI(USENIX Symposium on Operating Systems Design and Implementation)에서 발표될 예정이다.

더욱 다양한 정보 및 방송 관련 소식은

공식 SNS 채널을 통해 확인 가능합니다.

박혜원 기자 | [email protected]

댓글 [ 0 ]
댓글 서비스는 로그인 이후 사용가능합니다.
댓글등록
취소
  • 최신순
닫기