이더리움 비잔티움의 의미와 방향


1. 메트로폴리스(Metropolis)에 진입한 이더리움

암호화폐 시장에서 비트코인(비트코인 캐시 포함) 다음으로 큰 볼륨을 가지며 인기를 끌고 있는 코인 중 하나인 이더리움이 한국시간으로 10월 16일 오후 2시 22분에 큰 변화가 있었다. 이더리움 재단이 이더리움의 론칭시 제시하였던 이더리움 네트워크 구축의 주요 4단계의 로드맵(Four Key Phases)에서 3번째 단계인 메트로폴리스(Metropolis)에 진입한 것이다.

이는 비트코인이 지난 8월에 진행하였던 비트코인의 블록에서 비트코인 캐시를 추가적으로 생성 시켰던 하드 포크(Hard fork)와는 달리, 기존의 이더리움 플랫폼 내에서의 오류 개선, 플랫폼 업그레이드 및 향후 운영 플랫폼 전환을 위한 기반을 준비한 형태이다. 이더리움 재단에서 표기하는 것은 같은 단어인 ‘하드 포크’이지만 비트코인 캐시의 하드 포크와는 성격을 달리한다. 새로운 코인이 생성된 것이 아니라 시스템의 업그레이드 개념(소프트 포크 개념)으로 바라보는 것이 이더리움 플랫폼의 진화를 이해하는데 도움이 될 것이다.

이번 이더리움의 포크는 이더리움의 프로토콜을 변경하여 시스템 성능의 향상을 위한 것으로 볼 수 있다. 이 프로토콜 변경은 특정 블록(4,370,000번째)에서 활성화되어 이후 생성되는 블록에 적용된다.

2. 이더리움 로드맵

이더리움의 로드맵에 명칭 된 이름들을 이해하면서 살펴보면 각각의 단계들이 갖고 있는 의미와 이더리움 네트워크의 로드맵과 비교해보면 더욱 이해가 쉽다.

(1) 올림픽(Olympic - 2015. 5. 9)

올림픽 단계는 이더리움의 로드맵에서는 설명되지 않고 있다. 하지만 이더리움의 히스토리를 살펴보면 초기에 진행되었던 단계로 인식할 수 있다.

이더리움의 초기의 테스트넷(Testnet)의 이름으로써, 올림픽이 스포츠 종목에서 순위를 결정하고 메달을 수여하는 것처럼, 이더리움 네트워크의 실질적인 구축 이전에 다양한 영역에서의 테스트 관점에서 운영을 하며 그에 따른 보상을 주었던 시기이다. 채굴, 가스 사용, 계약 등 다양한 영역에서 테스트와 보상을 진행한 테스트베드의 단계이다. 이 올림픽 테스트넷은 2015년 5월 9일에 시작하여 2주간 진행되었다. 이더리움은 초기 올림픽 단계를 거쳐 이더리움의 실체를 확인할 수 있는 시기이다.

(2) 프론티어(Frontier- 2015. 7. 30)

지금의 이더리움 플랫폼이 세상에 나타난 단계이다. 새로운 영토를 개척해 나가는 모습으로써 이더리움의 첫발을 의미한다. 이더리움의 베타버전으로써 개발자들이 실제 플랫폼에서 테스트하고 학습을 하게 되는 단계이다. 채굴(Mining)을 진행하고, Dapps(decentralized Apps)과 툴들(Tools)을 만들기 시작한 단계이다. 올림픽 단계에서의 이더리움 프로젝트에 대한 가능성에 대해 테스트를 진행 한 것이라면, 프론티어는 현재의 이더리움 네트워크의 시작이라 볼 수 있다. 당시에도 보완할 점이 있지만 이더리움 네트워크가 실질적으로 가동된 시기라고 할 수 있다.

[figure 1] Frontier

- 생성된 블록당 5ETH의 보상(Reward)

[endif]

- 다른 Ether보유자 및 비트코인과 교환(Transaction) 가능

(3) 홈스테드(Homestead - 2016. 3. 14)

이더리움 플랫폼의 두번째 버전으로써, 비잔티움포크 이전까지 운영되던 단계이다. 홈스테드는 개척한 땅에 집을 짓고 거주하게 되는 단계로써의 의미를 갖고 있다. 블록체인 시장에 이더리움이 안착되어 생활을 하게 되는 단계인 것이다.

[figure 2] Homestead

프론티어 단계의 이더리움의 베타버전을 벗어나, 기능적인 오류와 이후 필요한 개선사항들을 업데이트 하고 보완해 가는 시기이다. 프로토콜의 업그레이드 및 네트워크 변경에 따른 네트워크 업그레이드 및 트랜잭션 속도의 향상을 구축한 단계이다.

(4) 메트로폴리스(Metropolis - 2017. 10. 16)

이번에 진행된 단계로써 개척된 영토에 집이 들어서고 이들이 모여 도시를 이루게 되는 과정이다. 이는 여러 가구가 모여 도시를 이루듯이 사회의 기능적 역할을 구축하게 되는 단계이다. 도시가 구성되기 위해서는 다양한 영역에서 거래가 이뤄질 수 있어야 하기에 이런 기능적인 요건을 갖추게 되는 시기이다.

[figure 3] Metropolis

메트로폴리스는 두 단계의 업데이트로 구성되었다. 각 단계의 이름은 비잔틴제국의 역사를 이해하면 쉽게 이해할 수 있다. 로마제국의 수도가 로마에서 콘스탄티노플(Constantinople)로 옮기게 되면서 시작된 비잔티움(Byzantium)을 생각해보면, 로마 문화의 바탕 위에서 그리스 문화를 발전시킨 비잔티움의 이름과 그 수도였던 콘스탄티노플을 이름으로 갖게 되었다. 이는 블록체인의 합의 과정을 빗대어 이해하면 더욱 그 단계에 대한 이해가 수월하다. 초기 프론티어 단계에서 PoW(Proof of Work)방식으로 시작한 이더리움 네트워크가 PoW 방식에서 PoS(Proof of Stake)방식으로의 전환(Casper; Hybrid PoS전환)에 앞선 준비를 마치는 단계라고 볼 수 있다.

(A) 비잔티움(Byzantium)

- 2017.10.16 시행, 4,370,000번째 블록에서 진행

비잔티움은 그 첫 번째 업데이트 단계로써 이더리움의 차별화 요소 중 하나인 스마트컨트랙(SmartContract)을 위한 업그레이드가 진행되었다.

(B) 콘스탄티노플(Constantinople)

콘스탄티노플의 진행 스케줄은 현재까지 확정된 것은 없다. 확실한 것은 비잔티움 이후 트랜잭션의 검토 프로세스를 보다 단순화하여 클라이언트 구현을 경량화하는 방향으로 진행되는 것이다. 메트로폴리스 이후 최종 단계인 세레너티(Serenity)단계에서의 캐스퍼(Casper; PoS전환을 위한 PoW와 PoS병행 운용하는 하이브리드 합의 알고리즘) 적용을 위한 준비단계로써 진행이 될 것이다.

(5) 세레너티(Serenity)

고요하고 평화로운 뜻을 지닌 세러니티 단계는 이전의 단계에서 개척하고 집을 짓고, 도시를 이룬 모든 것들이 조화롭고 평화롭게 지내는 모습을 의미한다. 이러한 모습이 바로 이더리움이 선포되고 프로젝트가 시작된 최종 목표인 것이다.

이더리움에서 개발 중인 합의 알고리즘인 캐스퍼를 통해 현재의 PoW(작업증명)에서 PoS(지분증명)방식으로의 전환이 되는 시기이다. 익명성이 보장된 스마트컨트랙의 구현이 가능한 단계로 개발이 되는 것뿐만 아니라, 채굴에 필요한 외부 자원의 투입을 줄일 수 있게 되는 단계이다.

3. 왜 이더리움은 PoS로 전환하려 하는가

(1) Pow의 문제점 : 크게 3가지의 요인으로 문제점을 살펴볼 수 있다.

- Computing Arms Race : 컴퓨터의 능력에 따라 채굴량이 결정될 수 있는 부분이다. 이더리움은 GPU의 성능에 크게 좌우되고 있으며, 비트코인의 경우 GPU 채굴이 이제는 현실적으로 불가능하고 ASIC만이 채굴이 가능하게 된 상황이다

- Electricity use : 채굴을 할 때 사용되는 전기의 총비용의 문제이다. 채굴 기반의 네트워크를 운영하기 위해서는 높은 전력을 사용하게 된다. 실제로 채굴은 전기의 힘으로 채굴기가 움직이기 때문이다.

- 51% hashing Attack : 예를 들어 특정 마이닝풀(Mining pool)의 규모가 커져서 마이닝풀의 절반 이상을 차지하게 되었을 때에 임의로 변조 및 체인 생성을 할 수 있다.

(2) Why PoS(Casper)

이더리움은 PoS로의 전환을 초기부터 계획하였는데 이는 스마트컨트랙의 다양한 활용을 위해서는 현재보다 가볍고 빠른 합의가 진행되어야 하기 때문이다. PoS는 PoW와는 달리 지분을 갖고 있는 대표자를 통해 빠른 합의가 가능하기 때문이다.

캐스퍼 컨센서스의 적용 : 하이브리드 형식으로 마이너들에게 지속적으로 채굴에 대한 보상을 하면서 PoS시스템도 동시에 구현하는 방식이다. 캐스퍼는 초기에 PoW:PoS의 비중을 99:1의 비중의 구조로써 진행된다. 99개의 블록에는 채굴에 대한 보상으로, 100번째의 블록마다 PoS를 진행하는 것으로, PoW를 통한 히스토리를 보장하는 Finalty를 진행하게 된다. 이는 PoW와 PoS가 공존하게 되며 그 비중이 점진적으로 변하게 되는 하이브리드 형태의 합의 알고리즘이다.

4. 비잔티움의 변화 및 의미

이더리움의 포크에는 EIPs(Ethereum Improvement Proposals : 이더리움 개선 제안서)를 토대로 주요 개발자 및 클라이언트들의 Meetup을 통해 각 단계별로 개선해야 할 사항들을 논의하고 정하게 된다. EIPs는 이더리움의 기술적인 부분에 대한 기준과 방향을 기술해 놓은 제안서로써 EIP를 업데이트하면서 보다 완벽해지는 네트워크로 구축되게 된다. 이번 비잔티움에서의 변화는 이더리움 플랫폼의 프로토콜(Protocols)에 대한 설명 및 클라이언트 관련, 거래 기준 등을 마련하는 계기가 되었다.

채굴의 채산성 감소에 따른 채굴자 보존에 대한 관점, 메트로폴리스의 기능 구현을 위한 과정으로서의 단계로 바라볼 수 있다. 비잔티움에서는 9개의 ETPs를 실행하였으며, 대략적으로 크게 3가지 관점에서 변화를 바라볼 수 있다.

금번 비잔티움에서 진행된 EIP(Ethereum Improvement Proposal)리스트는 아래와 같다.

[figure 4] Accepted EIPs list for Byzantium

100 : 안정된 블록 생성 시간을 위한 난이도 조정

140 : 계약 취소 시 모든 가스를 소모하는 일이 없이 계약 실행 중지와 상태 취소가 가능

196/197 : zkNASRK 도입

198 : 가스 요금의 지출에 관련

211 :임의의 데이터의 복구 기능

214 : 스마트 컨트랙의 보안이 향상

649 : 난이도 연기(5ETH에서 3ETH), 1년 6개월 연기

658 : 라이트 클라이언트가 거래 성공 여부를 확인 가능

세가지 관점에서의 비잔티움의 변화

(1) 이더리움 채굴 생태계 유지(EIP100, EIP649)

채굴자를 위한 플랫폼 유지를 위한 관점으로 볼 수 있다. 채굴 보상 변경(Mining Reward Change)으로써 비잔티움 이후 채굴에 대한 보상이 1개 블록당 기존의 5Ether에서 3Ether로 2Ether 감소되게 되었다.

다음으로 난이도 조절(Ice Age Delay)이 되었다. 채굴 난이도(Difficulty Adjustment Algorithm)의 증가에 따른 블록 생성 시간이 지연되는 부분을 줄여주게 되었다. 이더리움의 초기 블록생성시간은 14초로 설계되었으나, 9월 말 시점 거의 30초에 늦춰졌던 블록 생성 시간을 비잔티움 포크를 통해 14초대로 줄여주게 되었다. 이더리움의 난이도를 상승시키는 Difficulty Bomb는 약 1년 6개월 정도 연기된 것으로 알려졌다.

블록 생성 시간의 감소는 채굴자 입장에서는 매우 반가운 부분이나 채굴 보상량의 감소는 아쉬운 부분일 수 있다. 하지만 이를 종합해 보면 보상 시간과 보상량이 상계되어 전반적으로 대략 20% 정도의 채굴 생산성이 향상되었다고 볼 수 있다.

(2) 성능향상을 위한 Update(EIP140, EIP198, EIP211, EIP658)

거래 취소 시 가스(Gas:Ether)소모량의 감소되는 부분의 개선이 있었다. 기존에는 거래가 취소되더라도 계획된 거래만큼의 가스가 소모되었다면 REVERT opcode의 적용을 통해서 에러 및 거래의 중단시 가스의 소비를 중단할 수 있는 기능이 추가되었다. 이는 기존의 시스템상에서 비효울적으로 소비되던 부분을 개선한 사항으로 사용자는 보다 효율적인 거래가 가능하게 된다.

이더리움이 운영되는 네트워크의 프로토콜의 하나인 EVM(Ethereum Virtual Machine)의 주요 요인들이 향상되었다. 거래(Transaction)가 진행되면 각각의 거래마다 영수증(Receipt)이 발행되는데 이 안에는 루트 트리(Root tree)의 해시값이 함께 포함되어있다. 이번 EIP개선을 통해 이를 수정하여 병렬연결(Parallel)을 통해 효율적인 운영이 되게하였고 거래성공시에 영수증에 성공 여부에 대한 기록도 함께 리턴을 받는 부분도 개선되었다.

(3) 스마트컨트랙을 위한 준비(EIP196, EIP197, EIP214)

익명성을 보장해주는 암호화 방식 중 하나인 영지식증명(ZKP; Zero Knowledge Proof)이 이더리움에도 적용되게 되었다. 영지식이란 간단히 정보를 발설하지 않고 대상 정보를 알고 있는 것을 증명하는 것으로써, 익명성이 보장되면서 거래가 가능하게 해주는 논리구조이다.

영지식증명방식을 구현한 코인으로 가장 대표적인 코인은 Zcash(ZEC)로 알려져 있는데, 이더리움 또한 스마트컨트랙을 구현하기 위해서는 거래 당사자들의 개인키(Private key)의 노출이 없이 조건이 부합할 때에 지불이 되어야 하는 방식에 필요한 것으로써 영지식증명을 사용하게 된다.

영지식증명은 즉 간결한 비상호적 논증(zk-SNARKs; zero-knowledge Succinct Non-interactive arguments of Knowledge)이 되어 익명성을 가진 거래가 가능하게 된다. 이더리움은 공개체인이므로 거래당사자가 자신의 거래 이력을 공개적으로 보이기 원하지 않는 거래에 대한 세무정보가 있을 수 있으며 이를 간결한 비상호적 논증을 통해 의도된 사용자만이 관여하여 데이터를 검증할 수 있게 된다.

향후 이더리움이 기능적으로 블록체인시장에 확산되기 위해서는 스마트컨트랙이 핵심적인 내용으로 볼 수 있으며 이를 가능한 것이 바로 영지식증명의 사용인 것이다. 이더리움 팀의 리더이자 Solidity(이더리움에 사용되는 프로그래밍 언어)의 창시자인 Dr. Christian Reitwiessner는 zk-SNARKs에 대해 다음과 같이 표현하며 zk-SNARKs에 대한 중요성과 필요성에 대해 이야기하기도 했다.

“To verify the correctness of computations without having to execute them and you will not even learn what was executed – just that it was done correctly.”

5. 향후 진행될 콘스탄티노플

아직까지 메트로폴리스의 두번째 단계인 콘스탄티노플의 일정에 대해서는 정해지지 않았다.

[figure 5] EIPs list for Constantinople

현재의 비잔티움이 정상적으로 작동이 되는지 검증해야 하고 이외에도 잠재적인 개선사항까지 고려하여 추가적인 보완이나 업데이트를 고려해서 향후 개선해야 할 EIPs를 필요 영역별로 우선순위를 정할 수 있기 때문이다. 현재 예정된 EIPs 외에 어떠한 사항들이 변경될지는 지켜봐야 한다. 콘스탄티노플이 진행되면 세러니티(PoS의 도입) 진입 이전의 최종적인 단계로써 이더리움이 다양한 스마트컨트랙이 다양하게 사용될 세상을 기대해 볼 수 있다.

[참고]

Image resource from :

•[figure 1] https://etherbasics.com/the-basics/phases-of-ethereum

•[figure 2] https://etherbasics.com/the-basics/phases-of-ethereum

•[figure 3] www.ethnews.com/ethereums-vitalik-buterin-gives-keynote-on-metropolis

•[figure 4] https://github.com/ethereum/EIPs#deferred-eips-adoption-postponed

•[figure 5] https://github.com/ethereum/EIPs#deferred-eips-adoption-postponed

[endif]


Featured Posts
Recent Posts
아직 태그가 없습니다.