이더리움 콘스탄티노플, 테스트 실패로 출시 차질 예상

등록 : 2018년 10월 18일 06:30 | 수정 : 2018년 10월 18일 02:48

이더리움의 차기 소프트웨어 업그레이드 콘스탄티노플(Constantinople)에 대한 초기 테스트가 기대한 결과를 내지 못한 채 실패로 끝났다. 이더리움 개발을 둘러싼 전반적인 분위기가 영향을 받지 않을 수 없을 전망이다.

이미지=Getty Images Bank

콘스탄티노플 하드포크는 시스템 전반의 대대적인 변화를 예고하며 출시가 임박한 것으로 알려져 있었다. 그러나 지난 13일 테스트 네트워크 롭스텐(Ropsten)이 예정대로 출시하는 데 실패하면서 하드포크의 연기가 불가피할 것으로 보인다. 이번 하드포크는 총 다섯 개의 개선안을 적용해 200억 달러 규모로 성장한 이더리움 블록체인이 당면한 문제를 바로잡는다는 목적 아래 진행되었다.

테스트 바로 전날 열렸던 이더리움 오픈소스 개발자 회의에서는 이르면 11월에 콘스탄티노플 출시가 가능할 것이라는 논의도 진행됐지만, 지난 토요일 테스트에서 예기치 못한 코드 문제가 발생했다. 테스트넷에서 실행되는 동일한 소프트웨어 업그레이드에 대해 두 가지 반복 작업을 수행하는 오류가 발견된 것이다. 해당 오류는 이더리움 재단의 보안 책임자 마틴 홀스트 스웬드가 처음으로 발견했다.

이후 확인된 오류에 대한 패치가 발행됐지만, 이더리움 독립 개발자 레인 레티그는 콘스탄티노플 테스트넷 출시에 대한 조사는 여전히 진행 중이라고 말했다.

“어떤 부분이 문제고 앞으로 같은 문제가 발생하지 않도록 하려면 어떻게 해야 하는지 충분히 고민해야 한다. 단순히 코드 문제뿐 아니라 채굴 문제, 지난 주말 확인된 커뮤니케이션 문제, 오류가 테스트에서 발견되지 못하는 문제 등 관련된 모든 문제를 점검할 필요가 있다. 앞으로 진행해야 할 조사가 산적한 셈이다. “

레티그는 이번 테스트가 실패로 돌아감에 따라 콘스탄티노플의 출시 계획은 연기될 것으로 보인다며 “업그레이드로 인해 테스넷에 대한 하드포크가 발생했다면 메인넷 출시는 최소한 일정 기간 보류해야 한다”고 덧붙였다.

이와 관련해 이더리움 커뮤니티의 대표이자 블록체인 관련 비영리단체 기브스(Giveth)의 설립자인 그리프 그린은 향후 콘스탄티노플의 출시 날짜는 아직 정해진 바가 없지만, 해를 넘길 가능성이 크다고 언급했다.

“출시는 내년으로 미뤄질 가능성이 크다. 개발자들에게는 일종의 휴식 기간이 주어지는 셈이다. 이더리움 관련 예측시장에 판돈을 걸어야 한다면 1월 말이나 2월 초가 가장 유력할 것으로 보인다.”

오는 19일로 예정된 이더리움 핵심 개발자 회의에서는 테스트가 실패로 끝난 점을 고려해 향후 출시 일정을 조율할 전망이다.

 

주말에는 하드포크하지 말 것

이번 테스트 과정에서 드러난 문제를 복기하면, 콘스탄트노플의 실행은 본래 이더리움 메인 테스트 네트워크의 423만 번째 블록에서 진행될 예정이었다. 그러나 채굴자들은 예정된 시점에 소프트웨어 업그레이드를 성공적으로 마치지 못했다. 이에 대해 이더리움 개발자 쉐든은 이렇게 말했다.

“테스트 요일이 주말이 될 것이라고는 예상했지만, 그 시점이 생각보다 너무 빨랐다. 많은 개발자가 테스트 참가가 어렵거나 심지어 테스트 진행 자체를 모르는 상황이었고, 나도 그 가운데 한 명이었다. 주말에는 하드포크를 단행하지 말아야 한다.”

이는 곧 하드포크가 문제없이 진행되려면, 하드포크에 참여하는 모든 노드와 컴퓨터가 같은 소프트웨어에서 거의 동시에 업그레이드를 진행해야 한다는 것을 의미한다.

테스트가 열리기 전 한 소셜 미디어에서는 테스트 문제와 관련해 이더리움 개발자들의 회의가 진행되었다. 그런데 콘스탄티노플 코드 문제를 놓고 이더리움 주요 클라이언트인 고이더리움(Geth)과 패리티(Parity) 사이에 의견이 극명하게 갈리면서 네트워크는 양쪽으로 분열되었다. (이더리움 클라이언트: 이더리움 네트워크를 지원하는 노드를 운영하는 개인 및 기업)

이에 대해 테스트넷 롭스텐의 채굴자 브라이언 벤투로는 코인데스크에 이렇게 설명했다.

“양쪽의 합의 실패는 이더리움 개선제안서(EIP) 1283에 포함돼 있는 작업코드 SSTORE에 대한 변경 문제가 원인이 된 것으로 보인다. 해당 변경 건에 대해 고이더리움과 패리티는 전혀 다른 방식으로 접근했다.”

이후 이더리움 핵심 개발자들은 공식 성명서를 내고 “콘스탄티노플 코드와 관련해 패리티가 내놓은 개선제안서 1283은 환급 메커니즘을 특징으로 하는데, 이는 롭스텐의 4,230,605번째 블록과 더불어 스마트 계약의 배치 비용에 대한 심각한 의견 불일치로 이어졌다”고 언급했다.

이에 따라 이더리움 핵심 개발자들은 패리티의 코드와 고이더리움의 코드를 조금씩 조정해 새롭게 연동, 롭스텐 네트워크를 바로잡을 수 있도록 할 계획이다.

 

향후 계획

그러나 이번 테스트 실패가 전체적으로는 오히려 잘 된 일이라는 평가도 있다. 레티그도 지난 14일 자신의 트위터를 통해 비슷한 생각을 밝혔다.

“롭스텐에서의 테스트는 실패로 끝났다. 그러나 단지 테스트였을 뿐이다. 앞으로 수정할 수 있는 기회는 얼마든지 있다. 잘못된 점을 찾아 보완해나가는 일련의 과정은 무척 신나고 재미있는 일이다.”

이후 레티그는 코인데스크와의 인터뷰에서 “이더리움 메인넷을 문제없이 안전하게 운영한다는 측면에서 온전히 제대로 된 방향으로 가고 있다. 그 어느 때보다 자신감이 크다”고 덧붙였다.

이러한 레티그의 생각에 많은 핵심 개발자들도 동조하는 분위기다. 이더리움 재단의 보안책임자 스웬드도 지난 13일 개발자 온라인 커뮤니티 기터(Gitter)를 통해 이번 테스트에 대해 “정말 훌륭했다”고 평가하며 “롭스텐에서 발생한 일시적인 문제는 전혀 걱정할 필요가 없다”고 말했다.

또 다른 핵심 개발자 알렉시 아쿠노브도 “테스트가 아무런 문제 없이 진행된다면 더할 나위 없겠지만, 이는 자칫 해이한 보안 의식으로 이어질 수 있다”고 지적하며 “테스트 과정에서의 문제는 사람들에게 일종의 경고가 될 수 있다”고 언급했다.

한편 패리티에서 출시를 담당하고 잇는 쉐든은 앞으로 모든 이더리움 개발자의 공통적인 목표는 클라이언트와 관련된 출시 과정에서의 여러 가지 오류를 수정해 “고이더리움 롭스텐 플랫폼에서 클라이언트를 다시 한 번 불러 모으는 것”이라고 언급했다.

그러면서 “이렇게 되면 개발자 컨퍼런스가 열리는 시점에는 롭스텐에서의 콘스탄티노플 테스트를 다시 진행해 메인넷에서의 하드포크 날짜도 합의할 수 있을 것”이라고 덧붙였다.

그러면서 출시 일자는 내년으로 미뤄질 가능성이 크다고 언급했다.

“현실적으로 하드포크가 가능한 시점은 일러야 내년 1월이다. 그러나 이것도 모든 클라이언트가 함께 참여하고, 테스트가 통과되며, 롭스텐 플랫폼에서 더 이상의 문제가 발견되지 않을 때만 가능한 일이다.”

번역: 뉴스페퍼민트

각종 제보 및 보도자료는 contact@coindeskkorea.com 으로 보내주세요.