brunch

You can make anything
by writing

C.S.Lewis

by 심준규 Jace Shim Oct 19. 2017

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

비잔티움 업그레이드 내용 



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

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


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

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




2. 이더리움 로드맵

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


(Olympic) – Frontier →Homestead →Metropolis →Serenity



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

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

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



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

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


[figure 1] Frontier

 (Image resource from : https://etherbasics.com/the-basics/phases-of-ethereum)


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

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

 


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

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


[figure 2] Homestead

 (Image resource from : https://etherbasics.com/the-basics/phases-of-ethereum)


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



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

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


[figure 3] Metropolis

(Image resource from : www.ethnews.com/ethereums-vitalik-buterin-gives-keynote-on-metropolis)


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


메트로폴리스(Metropolis) = 비잔티움(Byzantium) + 콘스탄티노플(Constantinople)


(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와는 달리 지분을 갖고 있는 대표자를 통해 빠른 합의가 가능하기 때문이다.


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




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

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

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

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


[figure 4] Accepted EIPs list for Byzantium

(Image Resource from : https://github.com/ethereum/EIPs#deferred-eips-adoption-postponed)


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

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

196/197 : zk-NASRK 도입

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 VirtualMachine)의 주요요인들이 향상되었다. 거래(Transaction)가진행 되면 각각의 거래 마다 영수증(Receipt)이 발행되는데 이 안에는 루트트리(Root tree)의 해시값이 함께 포함되어있다. 이번 EIP개선을 통해 이를 수정하여 병렬연결(Parallel)을 통해 효율적인운영이 되게 하였고 거래성공시에 영수증에 성공여부에 대한 기록도 함께 리턴을 받는 부분도 개선되었다. 



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

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

영지식증명방식을 구현한 코인으로 가장 대표적인 코인은 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 

(Image Resource from https://github.com/ethereum/EIPs#deferred-eips-adoption-postponed)

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

작가의 이전글 채굴업계의 새로운 희망, 비트코인 골드
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari