지난 글 ‘블록체인 거버넌스 (Blockchain Governance) #1’에서 블록체인 프로젝트에서 거버넌스 문제가 왜 중요한지와 네트워크-마켓 핏(Network-Market Fit)에 대해서 썼는데, 이어서 실제 프로젝트에서 어떻게 거버넌스가 이루어지고 있는지 한 번 보겠습니다.
Bitcoin
처음으로 블록체인 프로젝트의 거버넌스에 관심을 가지게 된 것은 이 그래프 때문인데요, 아래 그래프는 비트코인 블록체인의 평균 블록 사이즈를 보여주고 있습니다. 비트코인의 최대 블록 사이즈는 현재 1MB인데요, 그래서 평균적으로 10분에 블록이 하나씩 생성된다고 하면 대략 10분에 2,000–2,500건 정도의 거래 밖에 처리할 수 없습니다. 그래서 몰리는 거래 건수가 저 한도를 넘어가게 되면(예를 들어, 10분에 3,000–4,000건) 최대1MB 밖에 되지 않는 블록이 꽉 차게 되고 블록 안에 거래들이 다 포함되지 못하게 됩니다. 2017년 경 그래프를 보면 평균 블록 사이즈가 1MB를 꽉 채우고 있음을 볼 수 있습니다.

이 상황에서 비트코인이 탈중앙화된 오픈소스 프로젝트가 아닌 스타트업의 제품이었다면, 당연히 거래를 다 처리하지 못하는 문제를 해결하기 위해서 무언가 했을 것입니다. 예를 들면, 블록 최대 크기를 늘리거나(현재 1MB), 블록생성시간을 줄이거나(현재 10분) 하는 등 여러가지 방법이 있을 수 있겠죠. 하지만 비트코인 프로젝트는 그렇게 하지 못하고 주로 블록 최대 크기에 관해 논쟁이 있다가 합의가 되지 못하고 Bitcoin Cash가 2017년 8월 1일 478559번 블록에서 하드포크되어 떨어져나가게 되었습니다(자세한 것은 https://en.wikipedia.org/wiki/Bitcoin_scalability_problem, https://en.wikipedia.org/wiki/Bitcoin_Cash).
물론, 블록 사이즈를 1MB로 유지하는 것은 탈중앙화라는 철학과 관계되어 있는 문제이고 시장의 변화에 민첩하게 대응하는 것이 무조건 좋은 것도 결코 아닙니다. 하지만 제가 느꼈던 것은 비트코인은 창시자인 사토시 나카모토의 부재, 다양한 이해관계자들의 존재 등으로 거버넌스가 다소 경직되어 있어서 시장의 변화에 유연하지 대처하지 못하고 있다는 것이었습니다(한편으로는, 비트코인은 다른 블록체인 프로젝트에 비해 보안이 훨씬 더 중요하기 때문에 자주 프로토콜을 변경하는 것이 좋지 않다는 생각도 들기는 합니다).
Bitcoin Improvement Proposal (BIP)
비트코인 거버넌스는 상당히 탈중앙화되어 있어서 공식적으로 Bitcoin Improvement Proposal (BIP)라는 절차를 토대로 진행되고 있습니다. 처음에 누군가가 아이디어를 내고 bitcointalk, reddit 등 커뮤니티에서 토론을 통해 지지를 얻고 BIP 감(?)이 된다는 판단이 들면, 이를 BIP 양식에 맞게 정리해서 proposal을 낼 수 있습니다. 그러면 BIP 에디터가 이를 보고 적당하다 싶으면 번호를 붙이고 공식적으로 안을 올립니다. 이후, 그 안은 투표 등 각종 방법에 의해 실제 네트워크에 받아들여질 수도 있습니다.

실제로 비트코인의 최대 블록 사이즈에 관한 BIP 101을 한 번 보겠습니다.
BIP 101
BIP 101은 2015년 6월 22일에 비트코인 개발자 중의 한 사람인 Gavin Andresen에 의해 제안된 개선안입니다. 이 안은 2016년 1월 11일에 1MB이던 최대 블록사이즈를 8MB로 키운 다음, 매 2년마다 블록 사이즈를 두 배로 키워서 2036년 1월 6일에는 블록 하나당 8.192GB로 키우자는 것이었습니다(물론 2036년에는 저장장치 성능이나 인터넷 속도가 빨라져서 8GB에 달하는 블록도 감당될 수 있겠지만 그래도 매우 급진적인 안이었던 것으로 생각되네요).
재밌는 것은 투표방법인데, hash-power supermajority로 투표를 하고, 구체적으로는 1,000개의 연속된 블록 중에 750개가 찬성 표시를 하면 activation이 되는 것으로 되어 있습니다(1,000개면 대략 일주일치 블록입니다).

당시(2015년 경)에는 BIP 101 이외에도 블록 사이즈에 관한 여러 안이 있었는데(BIP 100 등), 투표 결과를 보면 역시나 BIP 101은 채굴자들에게 전혀 채택되지 않았던 것 같고, BIP 100 등이 어느 정도의 지지를 얻었던 것 같습니다. 하지만 어느 안도 커뮤니티의 전폭적인 지지는 얻지 못하고 결국 현재까지 비트코인의 최대 블록 사이즈는 1MB로 남아 있습니다.

Ethereum
그러면 이더리움의 거버넌스는 어떨까요? 이더리움도 비트코인과 같이 Ethereum Improvement Proposal (EIP)라는 절차가 있습니다. 다만, 이더리움에는 (오픈소스 프로젝트에서 흔히 Benevolent Dictator라고 부르는) Vitalik Buterin이라는 프로젝트의 창시자가 있어서 창시자가 없는 비트코인과는 거버넌스의 탈중앙화의 측면에서 조금 다르게 보는 것 같습니다.

ERC20 Tokens
하지만 제 생각에 거버넌스 측면에서 더 문제가 될 수 있는 것은 바로 ERC20 토큰 기반 프로젝트들입니다. 2017년 기준으로(또 2018년 현재에도) 많은 프로젝트들이 이더리움 ERC20 토큰 기반으로 개발되고 있는데, 문제는 스마트 컨트랙트로 개발할 경우에 나중에 컨트랙트 내용을 수정하는 것이 너무 어렵거나 불가능하다는 것입니다.

백서에, 또 프로젝트를 런칭하면서, 아무리 토큰 이코노미를 정교하게 설계한들 막상 뚜껑을 열어보면 생각한대로 굴러갈까요? 그럴 일은 아마 거의 없을 것입니다. 분명히 수정해야 할 일이 생기는데, 자체 블록체인을 운영하는 프로젝트에서도 어려운 일인데 남의 블록체인 위에 스마트 컨트랙트로 올라가 있는 프로젝트는 수정이 더 어렵겠죠.
최근 국내 프로젝트인 메디블록 홈페이지에 갔더니 2018년 5월 21일자로 원래 QTUM 기반 QRC 토큰이었던 MED 토큰을 이더리움 기반 ERC20 토큰으로 바꾸고, 자체 메인넷을 운영한다는 공지가 있었습니다(https://brunch.co.kr/@medibloc/62).


아마도 거버넌스에 대한 고민이 담긴 결정으로 보입니다.
STEEM
그러면 비트코인이나 이더리움과 다르게 사용자들이 흔히 쓰는 Application 타입 블록체인인 스팀은 어떨까요? 제가 궁금해서 github를 직접 뒤졌습니다. 그랬더니 2016년 3월 블록체인 런칭 이후로 무려 20번 가량이나 하드포크가 있었습니다. 찾아보면 보상체계를 바꾸는 등 대부분 프로토콜 전체에 변화를 주는 하드포크로, 거의 스타트업의 제품 변경에 준하는 수준으로 프로젝트를 수정하고 있었습니다. 아마도 플랫폼이 아닌 어플리케이션 타입의 블록체인이기 때문에 더욱 잦은 수정이 필요하지 않을까 하고 생각합니다.

스팀 블록체인의 경우, 2018년 5월 기준으로 계정이 백만개 정도가 생성되어 있는데, 이들 계정이 Steem Power를 기준으로 투표를 하고 투표에서 선출된 20명의 증인(+랜덤으로 1명 추가, 총 21명)이 개발자의 코드 업데이트 제안에 따라 자신의 시스템을 업그레이드하는 방식으로 이루어졌는데(github 페이지 참조), 실제로 이들 증인 중에 업그레이드에 반대하는 사람이 있을 경우에 어떻게 거버넌스가 작동되는지는 매우 궁금합니다.
DASH
기타 프로젝트들 중에 거버넌스에 매우 신경을 쓰고 있는 프로젝트로는 DASH를 들 수 있겠습니다. DASH에는 마스터노드(Masternode)라는 개념이 있는데, 약 1,000 DASH 이상을 스테이킹 해야 될 수 있고, 2018년 5월 기준으로 약 4,800개 노드가 있습니다. 이들 노드는 DASH 블록체인 네트워크에서 PrivateSend와 InstaSend라는 역할을 담당하고 있는데, 블록 리워드의 45%나 가져갈 정도로 막강한 영향력을 행사하고 있습니다(마이너가 45%, Treasury가 10%).
DASH는 거버넌스가 매우 효율적으로 돌아가고 있는 곳으로 생각하는데, 누구나 5 DASH를 내면 안을 제안할 수 있고, 그 안에 대해 마스터노드가 투표를 합니다. 그래서 Net Vote(Yes 투표수 빼기 No 투표수)가 마스터노드 수의 10%를 넘기면 그 안이 채택됩니다.
DASH 프로젝트는 자신의 거버넌스 시스템을 Decentralized Governance by Blockchain (DGBB)이라고 부르면서 홍보하고 있는데, 웹사이트에 가 보면 비트코인에서 수년간 논쟁만 있었던 블록 크기를 2MB로 늘리는데 24시간도 안 걸렸다고 하고 있습니다. 빠른 결정은 좋을 수 있지만, 이처럼 네트워크의 철학과 관계된 중요한 결정을 On-chain governance 방식으로 이렇게 빠르게 하는 것이 옳은가 하는 생각도 듭니다.

DASH 거버넌스에서 특이한 점은, 꼭 네트워크에 관계된 것이 아니라 DASH의 확산에 도움이 되는 안이라면 얼마든지 제안할 수 있고 실제로 채택도 되고 있다는 점입니다. 예를 들면, Dash Brazil Community 활성화를 위해 YouTube Channel을 운영하는 프로젝트도 있습니다(실제 예산을 잘 쓰고 있는지 확인을 어떻게 하는지까지는 모르겠네요).

위 2MB로 늘리는 안의 구체적인 내용을 보면, 2129개의 마스터노드가 Yes를, 18개의 마스터노드가 No를 던져서 안이 통과되었음을 알 수 있습니다.

프로젝트 설계시 고려할 부분
탈중앙화된 블록체인 프로젝트를 시작한다면, 거버넌스 문제가 매우 중요함에도 불구하고 잘 논의되지 않는 것 같아 조사를 해 보았습니다.
자체 블록체인을 운영할 경우 개발과 예산, 보안 측면에서 많은 부담이 가는 것이 사실이지만 시장에 유연하게 대처할 수 있다는 측면에서는 장점이 있을 수 있고, 또 한편으로는 블록체인이 런칭되면 많은 이해관계자들이 생기기 때문에 팀이 네트워크에 대한 통제를 쉽게 잃어버릴 수 있다는 단점이 있을 수도 있을 것 같습니다. 또 거버넌스 운영에 있어서도 의사결정 방식을 어떻게 할 것인지도 깊이 생각해 보아야 할 문제이고, application 타입의 블록체인이라면 보안을 어느 정도 포기하더라도 dPOS 등과 같은 합의알고리즘을 채택해서 유연하게 시장에 대응하는 것도 생각해 볼 수 있겠습니다.