온체인 거버넌스의 절차
이번주는 지난주에 이어 온체인 거버넌스를, 그 중에서도 거버넌스 절차를 다룹니다. 주변에서 테조스에 대해 묻는다면 한 마디로 온체인 거버넌스와 자체 개정으로 설명할 만큼 온체인 거버넌스가 가지는 중요도는 높습니다. 지난글에서 테조스 문어를 기술적으로 해체하였으니 이번글에서는 테조스의 온체인 거버넌스가 어떤 절차로 이루어지는지를 알아봅시다.
소위 탈중앙화를 표방하는 많은 블록체인 프로젝트들은 탈중앙화적인 구석이 분명 있으나 대부분은 개발팀 스스로, 혹은 재단이, 거대 채굴풀이 강력한 중앙이 됩니다. 각 블록체인들이 중요한 변화의 분기점에 섰을 때, 최종 말단의 이용자와 네트워크 이용자, 다시 말해 일반 대중은 외면되어 팀과 채굴풀의 논리에 따라 움직이고는 합니다. 빠르고 효율적일진 모르겠지만 탈중앙이나 4차 산업혁명의 향을 맡기엔 힘듭니다. 심지어 이 의사결정에 불만이 있다면 하드포크, 즉 새로운 분기라는 극단적 선택이 발생합니다. 그런데 ‘극단적’이라는 표현을 사용한 것 치고는 우리는 그동안 수많은 블록체인들의 하드포크를 목격하였고 그 과정과 결과에서 문제를 느꼈습니다.
사례로 비트코인은 비트코인과 비트코인 캐쉬, 비트코인 골드로, 비트코인 캐쉬는 다시 비트코인캐쉬와 비트코인 SV로 포크되었습니다. 이더리움은 이더리움과 이더리움 클래식으로 나뉘었고 그 절차는 민주적이지 않았으며, 사용자에게 충분히 알려지지도 않은채 진행되었습니다.
체인 바깥의 불투명하고 중앙화된, 독단적 거버넌스가 초래하는 문제를 인식했다면, 이 문제를 해결하는, 테조스의 On-Chain Governance가 어떻게 이루어지는지 알아봅시다.
거버넌스, Tezos Amendment Process는 크게 4단계, 각 단계는 8번의 베이킹 사이클을 가지며(32,768블록/약 22일 18시간) 총 약 3개월에 걸쳐 진행됩니다.
1) Proposal Pereiod (제안 기간)
2) Exploration Vote Period (1차투표/탐구투표 기간)
3) Testing Period (테스팅 기간)
4) Promotion Vote Period (승격투표 기간)
1단계인 제안기간에서 테조스의 베이커라면 누구든 테조스 프로토콜의 개정안을 제안할 수 있습니다. 개정안은 OCaml 코드의 Hash 값입니다.(ex: Psd1ynUBhMZAeajwcZJAeq5NrxorM6UCU4GJqxZ7Bx2e9vUWB6z). 따라서 개정안을 OCaml 기반으로 소스코드를 짜야한다는 허들만이 존재합니다. 이 기간 동안 베이커들은 최대 20개의 개정안에 투표할 수 있으며 투표권은 위임받은(delegated) 테조스를 포함한 롤의 수(=스테이킹 롤 수)입니다. 제안기간에서 가장 많은 투표(좋아요)를 받은 개정안이 2단계로 넘어가게 됩니다. 베이커라는 상당히 낮은 허들만 넘으면 모두가 테조스 블록체인의 앞날을 정할 개정안을 제안하고, 투표할 수 있는 셈입니다. 투표, 민주주의의 꽃, 이제 조금 “탈중앙”의 냄새가 나는 것 같네요.
2단계는 Exploration Vote Period입니다. 1차의, 실험적, 테스팅 투표 등으로 불리지만 이 글에서는 탐구투표로 부릅니다. 이 기간에 각 베이커들은 1단계에서 넘어온 1위 개정안에 대해 투표하게 됩니다. 투표는 “On-chain”에서 이루어지며 투표행위는
소스: 베이커
기간: 투표기간, n기간
제안: 개정안 내용
투표의사: 찬성/ 반대/ 기권
의 4요소로 구성됩니다. 이 기간의 투표권 역시 2단계 시작시점에서 베이커가 보유한 롤 수를 기준으로 합니다. 투표기간에 각 베이커는 “상기 4개의 요소를 포함한 한번의 투표활동”을 보낼 수 있습니다. 2단계에 배정된 8번의 베이킹 사이클이 지나면 테조스 네트워크가 투표 결과를 계산합니다. 정족을 채우며, 기권을 제외한 베이커의 80%가 찬성했다면 개정안은 다음 단계로 넘어갑니다. 정족수 혹은 80% 찬성을 채우지 못했다면 다시 1단계인 제안기간이 재시작됩니다. 이 때 정족수는 0.8*이전정족수+0.2*전체참여율의 공식으로 재조정됩니다.
3단계는 테스팅 기간입니다. 2단계까지 살아남은 개정안은 3단계 테스팅 기간의 8사이클 동안 테스트넷 포크에서 테스팅됩니다. 테스트넷 체인은 48시간 동안(메인체인으로 인식되는 것을 피하기 위한 보수적 기간) 실행됩니다.
테스팅 기간동안 개정안은 프로토콜에 가치있는 개정안인지 평가되며 48시간의 테스트를 거치되 그 이후의 7.3사이클 동안 오프체인에서 계속 실행되어 베이커들이 평가하고 논의할 수 있습니다.
대망의 마지막 4단계는 승격투표 기간입니다. 승격은 테스트넷->메인넷으로의 승격을 의미하며 전단계인 테스팅 기간이 끝나고 실질적으로 메인넷에 개정안을 적용하기 위한 투표를 의미합니다. 2단계의 탐구투표와 마찬가지로 베이커들은 한번의 투표활동을, 보유한 롤 수의 가중치를 받아 보낼 수 있습니다. 투표 종료후 네트워크는 결과를 계산하며 역시 정족수와 80%의 찬성을 충족하면 해당 개정안은 메인넷에서 활성화됩니다.
정족수와 찬성비율을 충족하지 못하면 개정정차는 다시 1단계로 되돌아가며 최소 정족수가 2단계의 탐구투표 기간 종료시 사용한 공식을 사용하여 재조정됩니다. 개정안이 채택되어 해당 프로토콜이 활성화되면 새로운 제안 기간(1단계)가 시작되어 새로운 개정 절차가 시작됩니다.
위 단계들을 한눈에 정리하면 다음과 같습니다.
놀라운 점은 위 거버넌스의 과정조차 수정의 대상이 될 수 있다는 것입니다. 혹자가 위 절차가 어떠한 이유로 불합리하다라고 느껴진다면 상술된 절차를 통해 거버넌스의 절차를 변경할 수도 있습니다. 이러한 민주적인 절차를 통해 테조스는 꾸준히 진화하였고 이러한 진화는 지금도 활발하게 진행중입니다.
최근의 예시로는 프랑스의 테조스 개발자 조직 노마딕 랩스의 프로토콜 업그레이드 제안이 있습니다. 이들은 테조스 개발에서 중요한 역할을 차지함에도 다른 프로젝트의 개발진처럼 일방적 통보, 진행하지 않고 일반 사용자와 마찬가지로 제안을 제출하였습니다.
이 제안에는 Smart Contract Gas Fee Limit 증가와 Roll Size 변경이 포함되어 있고, 제안은 아래와 같이 2가지가 있습니다.
제안 A
(1) Smart Contract 실행 시 지불하는 가스의 제한(gas fee limit)을 증가시키는 것,
(2) 롤의 개수를 10,000개에서 8,000개로 낮추는 것
제안 B
Smart Contract 실행 시 지불하는 가스의 제한(gas fee limit)을 증가시키는 것
테조스 베이킹을 하고 계신 분이라면 자세한 제안의 내용을 읽어보고 스스로의 의견을 내어 투표에 참여해보셔도 재밌으실겁니다. 현재까지의 투표 현황과 어떤 베이커가 어떤 제안에 찬성했는지도 아래의 링크에서 볼 수 있습니다. (3월 11일 기준)
거버넌스 절차를 통해 기존에 있던 테조스 블록체인을 바꿀 수 있는 이유는 테조스가 ‘오카멜’이라는 프로그래밍 언어로 이루어졌기 때문입니다. 저희 글을 정독하셨던 분은 눈치채셨겠지만(제발!) 2주차 글에서 후에 제대로 짚고 넘어가기로 했던 바로 그 언어입니다. 다음주에는 테조스의 온체인 거버넌스를 가능하게 하는 오카멜에 대해 알아보도록 하겠습니다.
Reference
https://blog.nomadic-labs.com/athens-proposals-injected.html
http://tezoskoreacommunity.org/topic/1336
작성자 김선우
연구팀 김선우 구제성 이교영