해당 글은 ‘이더리움 블록체인의 합의 알고리즘을 PoW에서 캐스퍼알고리즘으로 전환하는 과정에서 예상되는 토큰 이코노미의 변화와 예상되는 도전(challenge)에 대해 서술하시오’ 라는 질문에 답을 하기 위한 글입니다.
질문: 이더리움 블록체인의 합의 알고리즘을 PoW에서 캐스퍼 알고리즘으로 전환하게 되었을 때 1) 토큰 이코노미에서는 어떤 변화가 생길 것이며 2) 어떤 도전들이 남아 있는가?
답변:
이더리움이 기존에 운영하고 있는 PoW(작업증명)합의 알고리즘 방식과 새롭게 개발하고 있는 캐스퍼 PoS(지분증명)합의 알고리즘의 차이점을 분석하고 새로운 변화가 토큰 이코노미에 어떤 변화를 만들고 어떤 한계점이 있는지 살펴보고자 한다.
우선, PoW(작업증명) 합의 알고리즘은 끊임없는 해싱작업을 통해 목표값 이상의 해시 값을 찾는 일(Source 1)로써, 거래를 승인하고 새로운 블록을 생성하기 위해서 암호학 문제를 푸는 참가자들(Miners)에게 보상을 주는 알고리즘(Source 2)이다. 해당 알고리즘은 채굴에 필요한 하드웨어 및 시설 등 내부적 비용 뿐만 아니라 에너지 낭비 및 중앙화 된 채굴 집단(Source 3) 등 많은 외부 비용(정부로 부터 저렴한 전력을 지원받아 개인의 이익을 추구하는 외부성, 사중 손실 문제)을 필요로 한다.(Source 4,5)
반면에, PoS 기반 캐스퍼 합의 알고리즘은 1) 비잔틴 장애 허용 (BFT: Byzantine Fault Tolerant)방식에서 파생되어 수학과 게임이론에 기반을 둔 합의 알고리즘으로, 암호화폐를 가지고 있는 지분(Stake)의 크기에 따라 다음 블록에 대한 투표권을 가진다. 또한, 검증자 들의 집합이 유동적으로 증가하거나 감소할 수 있으며 검증자의 악의적 행동을 식별하고 이들의 예치금을 몰수하는 방식으로 2)‘Nothing-at-Stake’문제를 해결할 수 있다. Casper the Friendly Finality Gadget(FFG)는 블록제안 메커니즘(Proposal Mechanism)위에 Overlay로써 구현되며 작업증명(PoW)방식의 제안 메커니즘 위에 지분 증명(PoS)을 구현하는 Hybrid PoW/PoS 방식으로 구현된다. 즉, 기존 PoW방식에 100개의 블록 마다 3)체크 포인트를 설정하여 2/3의 검증자가 해당 Checkpoint를 검증하는 방식으로 Hybrid PoW/PoS를 구현한 것 이다.
Vlad Zamfir에 따르면 암호경제학은 분산화된 디지털 이코노미 안에서 상품과 서비스 소비, 생산, 분배를 관리(Govern)하는 프로토콜로 정의하고 있다. 토큰 이코노미를 암호 경제학으로 정의하고 기존 PoW방식을 PoS 방식으로 전환했을 때 경제적 완결성, 토큰 이코노미 내 검증자의 경제적 유인 설계, 이더리움의 통화정책과 관련된 변화가 예상된다. 현재 단계에서 이더리움은 단계적으로 PoS로 전환을 계획하고 있으며, 현재 단계에서는 PoS와 PoW를 함께 사용하는 Hybrid PoW/PoS를 계획하고 있다. 아래 글에서는 완전한 PoS로 전환했을 때의 상황을 전제하고 글을 작성했다.
경제적 완결성(Ecoomic Finality, Source 6)이란 하나의 블록이 완결(Finalized)또는 충분한 메세지가 서명되었을 때, 충돌되는 블록을 만들 수 있는 유일한 방법은 많은 사람들이 자신의 지분을 소각하는 방법이다. 51%공격은 이미 완결된 블록 A에 충돌되는 다른 블록 B를 만듦으로써 블록체인의 완결성을 파괴하는 행위로, PoW의 방식의 경우 채굴기의 51%를 가지고 있을 때 가능하지만, PoS의 방식에서는 이더리움의 총 이더의 51%를 가지고 있어야 한다. 이더리움의 토큰 가격이 과거에 비해 크게 상승했기 때문에 하드웨어 장비의 51%를 갖는 것보다 더 많은 돈이 필요해 PoS방식이 51%공격을 더 안전하게 보호할 수 있다.(Source 7)
PoW합의 알고리즘과 PoS 합의 알고리즘의 큰 차이는 검증자가 기존의 채굴집단의 역할을 대체하는 것이다. 토큰 이코노미에서 핵심적인 역할을 하는 검증자들 중에는 악의적인 의도를 가진 사람이 있을 수도 있고, 선의적인 의도를 가진 사람들이 있을 수 있다. 사람들의 성향과 상관없이 이들이 이더리움 네트워크에 긍정적인 기여를 많이 할 수 있도록 Incentive Mechanism을 적절히 설계하는 것이 필요하다. 검증자 선발 조건, 예치금의 비중/올바른 행동에 대한 보상금/ 악의적 혹은 결과적으로 악의적인 행동에 대한 처벌에 따라 검증자들의 행동이 달라질 것이다. 구체적으로 검증자의 선발 조건으로 최소 지분을 얼마로 설정 했을 때에 가장 활발한 검증자 집단을 유지할 수 있는지 또는 최소 지분이 너무 높아 소수의 검증자에 의해서 네트워크가 지배되지 않는지 고려해야 한다. Casper의 경우 검증자가 유동적으로 바뀔 수 있으며, 검증자의 수가 증가하거나 줄어들 수 있다. 그리고 검증자 후보 집단은 현재 활동하는 검증자 수의 1/3로 유지하는 것을 계획하고 있다.
캐스퍼 합의 알고리즘에서 검증자가 되기 위해서 일정 규모의 지분을 예치해야하며, 규칙을 어기는 행동을 식별하여 예치금을 몰수 혹은 삭감한다. 예치금 비율은 시장유동성(Liquidity)과도 관련이 있는데, 예치금 비율이 과도하게 높였을 때 시중에 이더(Ether)의 유동성이 줄어들 수 있다. 또한, 예치금은 검증자가 해당 금액으로 다른 선택을 할 수 있는 기회 비용이기 때문에, 검증자로 참여함으로써 얻는 개인의 이익이 기회 비용보다 클 수 있는 적절한 보상 체계가 필요하다. 그리고, 예치금의 기간과 검증자의 역할을 그만두었을 때 예치금을 돌려주는 시점을 어떻게 설계하는 지에 따라서 사람들의 악의적인 행동을 유발하거나 예방할 수 있다. 한편으로 악의적인 행동을 적절한 처벌을 통해 예방해야 하는데, 과도한 처벌 수준을 유지할 경우 선의의 의도를 가진 참여자들의 참가 의지를 떨어뜨릴 수 있다. 또한, 검증자의 역할임에도 불구하고 참여가 없을 때에는 악의적 행동과는 다른 수준의 처벌을 할 수 있다. 즉, 예치금, 보상금, 처벌을 구성을 통해 이더리움 네트워크 상에서 가장 최적의 균형을 찾을 수 있어야 한다.
기존의 PoW방식은 비트코인을 기준으로 총 발행량( 20999999.97690000)이 정해져 있으며 채굴에 대한 보상은 블록 당 50개의 코인을 주고 21만개의 블록을 기준으로 절반 씩 줄어들어, 현재는 블록당 12.5개의 코인을 보상으로 주고 있다. (Source 9)따라서, PoW방식은 모든 블록이 채굴이 완료되는 시점을 기준으로 제한된 통화량을 가지기 때문에 인플레이션이 없다고 볼 수 있지만, 매년 새로운 블록이 생기고 그에 따른 보상으로 새로운 코인이 유통되는 것을 고려했을 때 인플레이션이 발생한다고 할 수 있다. 2017년 기준 현재 비트코인의 인플레이션율은 약 4%로 계산된다. 반면에 완전한 PoS방식으로 전환했을 때 통화정책의 결정 권한, 통화 정책 운영 방식 등이 구체화되어야 한다. 즉, 통화 정책을 담당하는 집단은 어떻게 구성할 것이며 해당 집단을 잘 운영하기 위한 Incentive Mechanism은 어떻게 설계할 것인지 결정해야 한다. 추가적으로, 총 발행량 비트코인 처럼 21만개의 블록으로 한정할 것인지, 매년 발행량은 합의에 따라 다르게 결정할 것인지 등을 설정할 수 있다.
PoW합의 알고리즘을 PoS로 변화했을 때 예상되는 변화를 3가지로 나눠 서술해보았다. 이더리움 자체에서도 완전한 PoS가 아닌 PoW와 병행하는 Hybrid 방식을 선택했다는 점에서 PoS방식이 갖는 한계점 혹은 도전들이 많이 남아있다는 것을 알 수 있다. 우선 Casper(Source 8)의 경우 고정된 검증자 집단에서 5) Accountable Safety와 6) Plausible Liveness를 충족한다는 것을 수학적으로 증명했지만, 변화하는 검증자 집단의 상황에서는 증명하지 못했다. 또한, PoS에서 변화하는 검증자 집단에서도 검증자들이 악의적인 행동을 하지 못하고 이더리움 네트워크 전체적으로 균형 지점을 찾을 수 있는 유인 메커니즘 설계가 추가적으로 연구되어야 한다.
용어정리
비잔틴 장애 허용(Byzantine Fault Tolerance): 비잔티움 장애 허용은 비잔티움 장군문제로부터 파생된 연구분야로, 비잔티움 장애라고 불리는 시스템에 생길 수 있는 임의의 장애를 견딜 수 있는 시스템을 만들기 위한 것이 목적임.
Nothing-at-Stake: 블록체인 내에서 분기(Fork)가 발생했을 시에 검증자가 모든 Chain을 검증해서 검증자는 Fork의 결과에 상관없이 보상을 받을 수 있다.
Expected value for voting on competing chains is greater than expected value for voting on a single chain in naive PoS design.체크포인트(Checkpoint): 높이가 100의 배수(100*k)인 블록(e.g. 제네시스 블록, 블록 $100, #200 …)
충돌(Conflict): 두개의 체크포인트가 서로 다른 Branch에 위치하는 경우 두 체크포인트가 충돌(Conflict)한다고 함.
Source: https://www.slideshare.net/YounghoonMoon1/casper-ethereum-pos
Accountable Safety: 1/3이상의 검증자의 예치금이 몰수 당하지 않는 한 두 개의 상충되는 체크 포인트가 완결될 수 없다.
Plausible Liveness: 과거 이벤트(e.g. 예치금 몰수, 블록의 지연, 검열공격 등)와 관계없이 2/3이상의 검증자가 프로토콜을 따른다면 그 어떤 검증자의 예치금 몰수 없이 항상 새로운 체크 포인트를 완결할 수 있다.
Source: (Medium 글을 Steemit에 옮기다보니 Source를 따로 쓰게 되었습니다.)
- http://www.seunghwanhan.com/2016/07/introduction-to-bitcoin-blockchain.html
- https://medium.com/@jonchoi/ethereum-casper-101-7a851a4f1eb0
ethereum/research - https://arxiv.org/pdf/1801.03998.pdf
- https://ko.wikipedia.org/wiki/%EC%99%B8%EB%B6%80%EC%84%B1
- https://ko.wikipedia.org/wiki/%EC%82%AC%EC%A4%91%EC%86%90%EC%8B%A4
- https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ
- https://ethereum.stackexchange.com/questions/19005/pos-how-will-it-prevent-51-attack
- https://github.com/ethereum/research/wiki/Casper-Version-1-Implementation-Guide
- https://en.bitcoin.it/wiki/Controlled_supply
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://medium.com/@matthewminseokkim/ethereum-casper%EA%B0%80-token-economy%EC%97%90-%EB%AF%B8%EC%B9%98%EB%8A%94-%EC%98%81%ED%96%A5-d32bfbc75496
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @minseok.kim0129! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You published your First Post
You got a First Vote
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit