연기된 이더리움 콘스탄티노플 업그레이드는 무엇인가

등록 : 2019년 1월 18일 07:00 | 수정 : 2019년 1월 18일 11:58

지난 17일에 활성화될 예정이었던 이더리움의 다섯 번째 시스템 업그레이드 콘스탄티노플(Constantinople)이 보안상 취약점이 발견되며 연기됐지만, 업그레이드에 포함될 주요 사항은 변하지 않을 예정이다. 이더리움 주요 개발자들은 18일 개발자 회의에서 새로운 업그레이드 일정을 결정하기로 했다. 콘스탄티노플이 구체적으로 어떤 내용을 포함하고 있는지 정리해보자.

 

사진=Getty Images Bank

 

비잔틴 제국의 수도에서 이름을 따온 콘스탄티노플은 이더리움의 세 번째 단계 업그레이드인 메트로폴리스의 일부분으로서, 총 다섯 개의 이더리움 개선제안서(Ethereum Improvement Proposal, EIP)를 포함한다. EIP에 포함된 내용 대부분이 논란의 여지가 없지만, 논쟁을 불러일으킨 부분이 하나 있다.

콘스탄티노플이 실행되면 채굴 난이도를 점차 높이는 알고리듬인 난이도 폭탄 도입이 연기된다. 채굴 난이도가 낮아지면서 네트워크를 보호하는 대가로 채굴자에게 지급되는 금액도 블록당 3이더(ETH)에서 2이더로 줄어들 것이다. 채굴자들은 당연히 이런 변화에 불만을 표시했으나, 주요 채굴풀들은 콘스탄티노플 업그레이드를 받아들이고 지원에 나섰다.

주요 이더리움 채굴풀 중 하나인 이더마인(Ethermine)의 최고경영자 피터 프래처(Peter Pratscher)가 운영하는 웹사이트에 의하면 현재 콘스탄티노플 업그레이드의 채택률은 15.6% 정도밖에 되지 않는다. 하지만 프래처는 통계상의 오류가 있다며, 과반에 가까운 노드가 이미 업그레이드를 진행했을 것이라고 말했다.

“새 코드가 적용된 첫 블록이 생성될 즈음이면 나머지 노드도 업그레이드를 마칠 것이다. 결국 업그레이드는 순조롭게 진행될 것이다.”

업그레이드 과정에서 커뮤니티 사이에 이견이 발생했을 때 이를 좁히지 못하면 최악의 경우 체인이 분리될 수도 있다. 체인 분리가 아니더라도, 시스템 전반에 걸친 네트워크 업그레이드에는 온갖 종류의 위험이 따른다. 코딩 실수는 네트워크에 치명적인 타격을 줄 수 있고, 알고리듬이 예측한 대로 움직이지 않아 예상치 못한 문제가 발생할 수도 있다.

허드슨 제임슨은 “포크 모니터(fork monitor), 무작위로 데이터를 입력하여 예외 오류를 발생시킨 후 원인을 분석하는 프로토콜 퍼즈 검사기(protocol fuzz tester) 같은 시험 및 점검 도구를 사용해서 하드포크의 모든 단계를 점검할 것이다.”라고 말하며 다음과 같이 덧붙였다.

“콘스탄티노플 업그레이드를 앞두고 무척 고무되어 있다. 하지만, 네트워크의 안전성을 최우선으로 생각하고 업그레이드를 실행할 것이다.”

 

주요 변경 사항

콘스탄티노플은 모두 다섯 가지 업데이트를 포함하고 있다.

콘스탄티노플은 스마트계약과 분산 애플리케이션 디자인에 있어 사용자 편의성을 추구하는 개발자들을 지원하는 변경 사항을 포함하고 있다.

이더리움 지갑인 마이크립토(MyCrypto)의 최고경영자인 테일러 모나한은 이번 콘스탄티노플 업그레이드가 “간단하지만, 스마트계약 개발에 실질적인 도움”이 되리라 전망했다.

핵심 개발자 닉 존슨은 자신이 최초로 개발한 “실 가스 계량(net gas metering)”과 관련된 EIP 1283을 통해 “스마트계약의 불필요한 가스 비용을 줄일 수 있을뿐더러, 새로운 코딩 패턴의 비용대비 효율도 높일 수 있다.”라고 말했다. 하지만 이번에 보안상 취약점이 발견된 부분도 바로 EIP 1283이었다.

다수의 개발자가 이번 콘스탄티노플에서 가장 기대하는 업그레이드는 EIP 1014이다. 스키니 크리에이트투(Skinny CREATE2)로 불리는 이 업데이트는 스테이트 채널(state channel) 같은 제2 레이어 확장성 솔루션의 기반을 다질 것으로 예상된다.

존슨은 EIP 1014의 도입 효과에 대해 이렇게 말했다.

“온체인 도입 비용을 절감하거나 아예 없앨 수 있는 새로운 종류의 스테이트 채널을 만들어서 확장성을 향상하고, 사용자의 비용과 수고를 덜어줄 수 있다.”

이더리움의 확장성 솔루션인 터보-고이더리움(Turbo-Geth)을 개발한 알렉세이 아쿠노브는 EIP 1014가 이더리움 프로토콜의 변화를 이끌 가능성을 점쳤다. 이더리움 플랫폼에 데이터를 저장하는 대가로 이용료를 부과할 수도 있고, 생각지 못한 새로운 스마트계약 기능도 가능하다고 전망했다.

“또 다른 흥미로운 (그리고 위험하기도 한) 점은 EIP 1014가 적용되면 계약이 삭제되고 난 뒤 같은 주소에 새로운 계약을 만들 수 있다는 것이다.”

동일한 혹은 새로운 코드를 이용해서 스마트계약을 다시 만들 수 있는데, 이는 스마트계약을 완전히 업그레이드할 수 있다는 뜻이다.

콘스탄티노플에 포함된 또 다른 업그레이드인 EIP 145와 EIP 1052는 스마트계약 개발을 용이하게 하고, 이더리움 코드의 특정 기능을 개선하는 데 목적이 있다. 존슨은 이에 관해 다음과 같이 말했다.

“이 업그레이드가 설치되면 이더리움 체인 상에서 더 많은 일을 할 수 있고, 더 많은 이용 사례를 만들 수 있다.”

 

채굴자들의 반발

콘스탄티노플 업그레이드 대부분이 충분히 검증되고 기술적으로 문제가 없지만, 논란이 끊이지 않는 코드 변경 사항이 하나 있다. 바로 아프리 쇄덴이 제안한, 난이도 폭탄 및 블록보상에 대한 업데이트인 EIP 1234다.

이미지=Getty Images Bank

 

콘스탄티노플의 핵심은 앞서 밝힌 기술적 기능과 함께 “난이도 폭탄”의 도입을 연기하는 것이다. 원래는 이더리움의 합의 방식을 지분증명 방식으로 전환하는 과정을 지원하기 위해 만든 난이도 폭탄은 새로운 블록을 생성하는 데 걸리는 시간을 점진적으로 늘리는 알고리듬이다. 결국, 난이도 폭탄 때문에 채굴 난이도가 너무 올라가서 트랜잭션을 검증할 수 없는 “빙하기”라고 불리는 상태에 빠지게 된다.

아쿠노브는 난이도 폭탄을 연기하는 것이 콘스탄티노플의 핵심이라고 말한다.

“콘스탄티노플이 중요한 이유는 난이도 폭탄 도입을 연기하는 데 있다. 만일 당장 도입한다면 채굴의 난이도는 급격하게 올라갈 것이다. 콘스탄티노플의 다른 변경 사항은 그렇게 중요하지 않다.”

그렇지만 난이도 폭탄 도입 연기는 그렇게 단순하지만은 않다. 왜냐하면, 이더리움에서 블록이 생성되는 속도와 플랫폼의 내부 암호화폐인 이더의 발행이 서로 맞물려 있기 때문이다.

난이도 폭탄 도입 연기로 인한 불균형을 상쇄하기 위해 콘스탄티노플 업그레이드를 통해서 블록 채굴에 대한 보상을 블록당 3이더에서 2이더로 줄일 계획이다. 채굴 보상이 자신들 사업의 수익성에 직결된 채굴자들이 여기에 반발하는 것은 당연하다.

갈수록 고도화되고 있는 이더리움 채굴 하드웨어는 이 논쟁에 기름을 붓고 있다. 전해지는 바에 따르면 전문적인 ASIC 채굴기가 아닌 보통의 GPU 하드웨어를 사용하는 아마추어 채굴자가 설 땅이 점점 좁아지고 있다.

이더마인의 프래처는 채굴자를 대변하며 이렇게 말했다.

“채굴자 관점에서 콘스탄티노플 업그레이드가 반갑지 않다. 업그레이드가 실행되면 많은 채굴자가 수익을 내지 못하게 되고, 결국에는 이더리움 네트워크의 안전성에 부정적인 영향을 미칠 것이다.”

프래처는 채굴자가 줄어들면 생길 수 있는 문제점으로 최근 이더리움클래식에서 발생한 공격을 예로 들었다.

“51% 공격은 이더리움클래식 네트워크에 대한 공격에서 볼 수 있듯이 언제든지 일어날 수 있는 실재하는 위협이다.”

아틀란틱 크립토라는 작은 규모의 채굴풀을 운영하는 브라이언 벤투로도 이러한 우려에 동조하는 발언을 했다.

“콘스탄티노플의 EIP 1234는 채굴 업계의 채산성에 즉각적인 영향을 미칠 것이다.”

 

다음 단계

채굴자에 대한 보상이 줄어드는 탓에 프래처나 벤트로 같은 채굴자들은 네트워크에서 전문적인 ASIC 채굴기를 금지하고, GPU 채굴기가 경쟁력을 유지하도록 배려하는 프로그파우(ProgPow)라는 업그레이드가 속히 진행되기를 고대하고 있다.

이 글이 발행되는 시점에서 그러한 업그레이드가 실제 진행될지는 확실하지 않다. 올해 1월 초에 있었던 개발자 회의에서 “잠정적” 승인을 받기는 했지만, 아직 합의점을 찾지 못하고 있다.

하지만 개발자들은 관련 기술적 작업이 앞으로 몇 달에 걸쳐 진행될 것이라고 확신하고 있다.

제2 레이어 확장성 향상 기술이 성숙함에 따라 오랫동안 기다렸던, 이더리움의 마지막 단계 업그레이드인 세레니티(Serenity)가 구체화하기 시작했기 때문이다.

콘스탄티노플 업그레이드에 대해 우려하는 목소리도 있다. 아쿠노브는 초조한 심정을 전하며, “모든 업그레이드가 그렇듯 과연 잘 진행될지 누구도 확신할 수 없다.”라고 말했다. 아쿠노브에 의하면, 최악의 경우 새로운 난이도 알고리듬에서 문제가 발생해서 네트워크의 안정을 해칠 수 있다.

다른 개발자들은 합의와 관련된 문제를 가장 걱정했다. 마이크립토의 테일러 모나한은 이번 업그레이드를 악용해서 사용자의 돈을 노리는 사기 행각이 발생할 가능성이 제일 우려스럽다고 밝혔다.

하지만 이런 모든 위험에도 불구하고 개발자들은 업그레이드를 성공적으로 마치기 위해 모든 수단을 동원했다는 확신에 차 있다. 게다가 난이도 폭탄의 긍정적인 효과도 무시할 수 없다.

예를 들어, 특정 노드가 비잔티움 소프트웨어 전환을 제때 하지 않는 경우, 이더리움에서 트랜잭션을 계속하려면 난이도 폭탄 때문에라도 업그레이드할 수밖에 없을 것이다. 이런 이유로 모나한은 콘스탄티노플을 긍정적으로 평가한다고 밝혔다.

“모든 관계자가 열심히 일한 보람이 있다. 더욱 저렴한 비용이 드는 스마트계약, 더 효율적인 연산코드(opcode) 등 이더리움이 개선되어서 많은 이들이 혜택을 볼 것이다.”

번역: 뉴스페퍼민트

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