이미지=Getty Images Bank

이더리움 코어 개발자들이 콘스탄티노플 하드포크 가동 시기를 오는 2월 27일, 728만 번째 블록이 채굴될 때로 하기로 잠정 합의했다. 앞서 지난 17일 오후로 예정됐던 콘스탄티노플 업그레이드는 보안상 버그가 발견돼 연기된 바 있다.

새로운 하드포크 시기를 정한 지난 18일 개발자 회의에는 이더리움을 만든 비탈릭 부테린을 포함해 허드슨 제임슨, 레인 레티그, 아프리 쇼든, 피터 실라기, 마틴 홀스드 스웬든, 대니 라이언, 알렉시 아쿠노브 등 주요 개발자들이 모두 참석했다.

앞서 스마트계약 감사(audit) 회사 체인시큐리티는 지난 16일 이더리움 개선제안서(EIP) 가운데 EIP 1283 코드에서 허점을 발견했다고 밝히며 이 허점이 악용될 경우 공격자가 이더리움 사용자의 돈을 훔칠 수 있다고 경고했다. 이에 따라 다음달 27일 하드포크에는 일단 EIP 1283 코드를 적용하지 않으며, 해당 코드는 이후 수정 및 보완 과정을 거쳐 다음번 하드포크에 포함될 예정이다.

대신 콘스탄티노플은 메인 네트워크 두 곳에서 동시에 하드포크를 진행한다. 첫 번째 업그레이드는 본래 예정된 다섯 개 EIP를 모두 포함하며, 두 번째 업그레이드는 1283 코드만 제거하는 방식이다.

동시 업그레이드를 제안한 개발자 피터 실라기는 이미 콘스탄티노플 업그레이드를 실행한 테스트 네트워크와 프라이빗 네트워크가 블록을 새로 쓰는 번거로움 없이 필요한 부분을 좀 더 손쉽게 정비할 수 있도록 하자는 취지에서 이런 방식을 고안했다고 말했다.

“내가 제안하는 방식은 결국 두 번의 하드포크를 의미한다. 예정된 콘스탄티노플을 그대로 진행하면서 허점이 발견된 부분에 대해서만 두 번째 하드포크로 다시 손을 보는 방법이다. 이를테면 첫 번째 하드포크에서 업그레이드를 하고, 두 번째 하드포크로 일부만 다운그레이드하는 셈이다.”

한편 체인시큐리티의 최고운영책임자 마티아스 에길은 “문제의 버그는 이더리움 블록체인의 핵심이라 할 수 있는 이더리움 가상머신이 아니라 스마트계약 개발 과정에서 발생한 것으로 보인다. 아마도 핵심 개발자들이 소프트웨어에서 콘스탄티노플을 시험해보다가 버그를 발견한 것은 아닐 것”이라고 말했다.

오류가 확인된 후 콘스탄티노플 가동 일정을 곧바로 다시 잡은 이유는 난이도 폭탄 도입을 앞서 합의한 대로 연기하기 위해서인 것으로 보인다.

이더리움의 네트워크 합의 방식을 지분증명 방식으로 전환하는 과정을 지원하고자 만든 난이도 폭탄은 새로운 블록을 채굴하는 데 점진적으로 시간이 더 걸리게 하는 알고리듬이다. 개발자들은 앞서 지분증명 방식을 좀 더 연구하기로 하면서 난이도 폭탄의 도입도 좀 더 미루기로 했다.

콘스탄티노플이 가동되면 EIP 1234 코드도 포함돼 난이도 폭탄의 도입은 자동으로 12개월 동안 연기된다.

번역: 뉴스페퍼민트

제보, 보도자료는 contact@coindeskkorea.com
저작권자 © 코인데스크코리아 무단전재 및 재배포 금지