토카막 다오의 모든것(1)

토카막 다오란(What is Tokamak DAO)

철학자(정순형)
Tokamak Network

--

(1)토카막 다오란 무엇인가 ← Here

(2)토카막 다오 스마트 컨트랙트

(3)다오 유저 인터페이스와 그 사용

(4)자주묻는질문(FAQs)

목차

  • 들어가며
  • 의사결정모델 : 간접투표
  • 프로토콜 업그레이드 : 소프트 포크 vs 하드 포크
  • 의제(agenda)
  • 위원회, 후보 그리고 의제 의결
  • 첨부1. 용어정리
  • 첨부2. 제안 가능 의제

들어가며

오랜 준비 기간을 거쳐 토카막 네트워크의 탈중앙화된 자율조직, 토카막 다오(Tokamak DAO)가 출범하게 되었습니다. 토카막 다오란 토카막 네트워크 토큰의 보유자들이 토카막 네트워크의 생태계에 영향을 주는 주요한 의제(Agenda)에 관한 의사결정에 직접 참여할 수 있는 블록체인 상의 구축된 스마트 컨트랙트 시스템이자 자치기구로 정의됩니다. 톤(TON) 보유자들은 토카막 다오를 통해 인플레이션, 발행과 소각과 관련된 사항, 파워톤, 스테이킹 및 토카막 파트너에 투자 등과 관련된 토큰경제(cryptoeconomics)와 관련된 사항에서부터 프로토콜 업그레이드 등과 같은 기술적인 문제까지에 이르는 거의 모든 영역에서 직/간접적인 영향력을 행사할 수 있습니다. 이 포스팅은 토카막 네트워크 프로토콜 개선과 관련하여 다오의 필요성, 구조와 동작원리, 실제 사용법 을 포함하여 토카막 다오와 연관된 모든 제반 사항들을 담고 있습니다. 이를 통해 다오 런칭과 동시에 토카막 생태계 참여자 분들에게 올바르고 정확한 정보를 전달하고자 합니다.

의사결정모델 : 간접투표

토카막 다오는 토카막 네트워크의 스마트 컨트랙트의 주요 명세를 결정할 수 있는 의사결정 기구로 정의할 수 있습니다. 구체적으로 토카막 네트워크 토큰(TON; 톤)을 보유한 유저들은 토큰을 신뢰할 수 있는 대표자에게 위임하고, 이를 통해서 선출된 대표자는 위원회(Committee)를 구성하여 주요한 안건(Agenda)에 대한 합의(Consensus)를 바탕으로 안건의 가/불 여부를 결정하게 됩니다.

이는 토큰이 가진 의결권을 대표자에게 위임하는 일종의 간접 투표 방식으로 볼 수 있으며, 선출 방식 자체만 놓고 보면 이오스(EOS) 블록체인에서 검증자 상위 21개 노드가 선택되는 과정이나 혹은 민주주의 시스템에서 유권자의 대리인을 선출하여 의정활동을 수행하는 국회와 매우 유사하다고 볼 수 있습니다.

프로토콜 업그레이드 : 소프트 포크 vs 하드 포크

soft fork vs hard fork

레이어2는 레이어1(이더리움)의 관점에서 보면 여러 탈중앙화어플리케이션(DApp)중 하나라고 볼 수 있습니다. 다만 확장성 확보 등의 목적을 위해 트랜잭션 처리와 검증을 수행하는 어플리케이션이 만들어졌을 뿐입니다. 이러한 측면에서 토카막 네트워크 생태계는 자체가 하나의 거대한 소프트웨어(DApp)로 볼 수 있습니다.

모든 소프트웨어는 사용자들이 늘어나는 과정에서 다양한 요구사항을 담아내며 진화합니다. 업데이트 혹은 업그레이드(update / upgrade)라고 불리는 과정이죠. 토카막 네트워크라는 소프트웨어도 시기와 환경에 맞춰져 적절한 업그레이드가 이뤄져야 합니다. 다오는업그레이드에 관한 모든 사항을 결정하는 의사결정 기구라고 볼 수 있습니다.

여기서 중요한 점은 왜 기능 업데이트에 다오와 같은 복잡한 의사결정 거버넌스를 도입했느냐에 있습니다. 결론부터 말씀드리면 다른 일반적인 소프트웨어와는 달리 공개 블록체인이 가지고 있는 합의(Consensus)라는 독특한 특성을 가지고 있기 때분입니다.

개발사가 일방적으로 진행하는 다른 여타의 소프트웨어와는 달리 블록체인이라는 소프트웨어는 일반적으로 합의(Consensus) 과정을 거칩니다. 만약 유저들의 합의가 온전히 이뤄지지 않을 경우 동시에 두개의 다른 버전의 소프트웨어가 같은 시기에 존재하기도 합니다. 이를 블록체인에서는 포크(Fork)라고 하죠. 이더리움과 이더리움 클래식, 비트코인과 비트코인 캐시가 그 예가 될 수 있을 것 같습니다.

포크에는 두가지 방법이 있습니다. 소프트포크와 하드포크(softfork and hardfork)가 그것입니다. 이 글에서 그 둘의 개념적인 차이에 대해서 자세히 다루지는 않겠습니다(레퍼런스 자료를 첨부합니다). 중요한 점은 토카막 네트워크가 소프트웨어 업그레이드에 관한 거버넌스 모델로 다수결 모델인 다오를 택하고 있고, 이것은 소프트포크에 가깝다는 점입니다.

업그레이드 방법으로써 소프트포크 혹은 하드포크 둘중 어느 하나가 완전한 절대우위에 있는것은 아닙니다. 각각이 장단이 있습니다. 다만 토카막이 프로토콜 개선의 방법으로 소프트 포크를 택한 이유는 다음과 같습니다.

  • 소프트 포크를 선택한다고 할지라도, 하드포크가 불가능한 것은 아니다(토큰 스냅샷 등).
  • 다수에 의한 폭정(tyranny of majority)으로 인해 소수의견을 가진 생태계 참여자들이 피해를 입는다면, 언제든지 생태계를 떠날 수 있다(토큰 판매가 자유로움).
  • 하드포크와 소프트포크의 장점을 모두 포괄하고 있다. 초기에는 하드포크와 비슷한 특성을 가지지만 점차 소프트포크의 형태로 변모할 수 있도록 설계하였다. 프로토콜 개발 초기에는 개발 개선 사항이 많은 관계로 개발팀의 영향력이 높을 수 있다.

의제(agenda)

의제(Agenda)란 토카막 네트워크의 프로토콜의 개선안을 담은 일종의 안건입니다. 의제는 누구나 낼 수 있으며, 위원회는 이렇게 만들어진 의제를 의결합니다.

의제(Agenda)는 A,B 2종류의 타입이 있습니다. A 그룹은 스테이킹과 관련된 정책, 인플레이션과 관련된 정책, 다오가 보유하고 있는 토큰(1750만톤)의 사용과 관련된 안건을 제안할 수 있습니다. B 그룹은 스테이킹 등과 같은 토카막의 스마트 컨트랙트의 업그레이드와 관련된 사항, 이들 컨트랙트간의 권한 설정 등과 관련된 엔지니어링 성격의 의제들이 모여있습니다. A그룹 안건의 경우 주로 경제적인 문제와 관련된 사항이고, B그룹 의제는 스마트 컨트랙트 시스템과 관련된 사항이 주를 이룹니다.

A그룹의 안건은 토카막 커뮤니티의 여론 형성 등의 과정을 통해서 여러 제안들이 자주 올라올 것으로 기대하고 있으며, B그룹의 안건은 토카막 개발팀이 만들어낸 안건이 주를 이룰 것으로 예상하고 있습니다.

불필요한 의제들이 다수 만들어져, 중요한 의제를 처리하지 못하게 만드는 DoS공격에 대비하여, 의제를 만들어 낼 때에는 일정량의 톤(TON)을 지불해야 합니다. 최초 비용은 100 TON으로 맞춰져 있으며 이 비용을 조절하는 것 조차도 의제로 제안될 수 있습니다.

위원회, 후보 그리고 의제 의결(Committee, Candidate and Agenda Resolution)

위원회(committee)는 앞서 만들어진 의제들에 대하여 찬반 투표(vote)를 할 수 있는 권한을 가진 그룹입니다. 위원회의 의석(committee slot)을 차지하기 위해서는 먼저 후보(candidate)가 되어야 하고, 그 중에서도 상당히 많은 양의 TON을 위임(지지)받아야 합니다. 정확히는 가장 많은 톤을 스테이킹 혹은 위임 받은 후보가 위원회 의석을 차지할 수 있고, 더 정확히는 기존 의석을 차지한 위원회 위원보다 더 많은 양의 TON을 위임 받으면 해당 의석에 도전(challenge)을 하여 새로운 후보자가 의석을 차지할 수 있습니다.

후보가 되기 위해서는 최소한의 톤을 스테이킹해야합니다. 초기 세팅값은 1,000 TON이며, 해당 토큰은 이 값이 변경되지 않는 한 돌려받지 못합니다. 다만 이렇게 스테이킹된 톤으로부터 발생하는 이자(seigniorage)는 영구적으로 수령할 수 있습니다. 후보자가 되기 위해 스테이킹해야 하는 토큰의 수량 또한 의제(agenda)를 통해서 조절될 수 있습니다.

의제를 만들기 위해서는 최소 100TON을 지불해야합니다. 일단 의제가 만들어지면, 의제 생성일로부터 일정기간 동안 공지되고 누구든 회람할 수 있는 상태가 됩니다. 이 기간을 최소공지기간(Minimum Notice Period)이라고 하며, 이 공지기간이 종료되는 순간 의제 위원회(agenda committee)가 구성됩니다. 의제 위원회 구성원은 최소공지기간이 종료된 시점에 다오 위원회 구성원으로 확정됩니다.

때에 따라서 의제 위원회와 다오 위원회의 구성원은 달라질 수 있습니다. 다오 위원회는 위임 및 스테이킹된 수량에 따라서 구성원이 실시간으로 바뀔 수 있으나, 의제 위원회는 최소공지기간이 종료되면 확정되기 때문입니다. 예를 들어 의제 위원회가 확정된 이후에 다오 위원회 구성원이 바뀐 경우가 이러한 상황에 해당한다고 볼 수 있습니다. 이와 관련된 상세한 로직은 다음 포스팅<토카막 다오의 모든것(2) — 스마트 컨트랙트> 에서 확인해 보실 수 있습니다.

첨부1. 용어정리

  • 토카막 다오(Tokamak DAO) : 토카막 네트워크의 주요 의제에 관한 의사결정을 내리는 스마트 컨트랙트.
  • 의제(agenda) : 토카막 네트워크 생태계에 영향을 주는 정책과 변수 변경에 관한제안.
  • 의제 제안 비용(agenda propose cost) : 의제를 만들기 위해서 지불해야 하는(태워져야 하는) TON의 수량.
  • 오퍼레이터(operator) : 레이어2 블록체인을 블록을 만들어내고 검증하는 주체. 특히나 다오에서의 오퍼레이터는 레이어2 블록을 만들어내는 오퍼레이터가 주를 이룬다.
  • 다오 위원회(DAO committee) : 의제의 의결권을 행사할 수 있는 오퍼레이터.
  • 위원회 위원(committee member) : 위원회에 속한 각 오퍼레이터.
  • 위원회 의석(committee slot) : 위원회의 의석은 비어있을수도, 누군가 차지하고 있을수도 있다. 의석을 차지하기 위해서는 기존 의원보다 더 많은 양의 TON을 스테이킹/위임 받아야 한다.
  • 의제 위원(agenda member) : 의제최소공지기간이 지난 이후 해당 의제에 관해 의결할 수 있는 오퍼레이터의 집단. 의제의 최소공지기간이 끝나자 마자 다오 위원회 의원들은 곧바로 의제위원으로 위촉된다.
  • 다오 활동 보조비(DAO reward) : 다오 위원회로 위촉된 오퍼레이터는 위원 자격을 유지하는 한 일정량의 활동 보조비를 TON으로 받을 수 있다. 해당 TON의 원천은 스테이킹을 통해 추가발행되는 TON의 일부가 공제된 부분으로부터 충당된다.
  • 의석 도전(challenge) : 다오 위원회의 의석이 비어있거나, 해당 의석을 차지하고 있는 기존 위원보다 더 많은 수량의 TON을 스테이킹/위임 받은 오퍼레이터는 해당 의석에 도전(challenge)하여 의석을 차지할 수 있다.
  • 최대 의석(maximum slot) : 다오 위원회에 속할 수 있는 최대 오퍼레이터 수.
  • 정족수(quorum) : 의제가 의결되기 위해서 의제 위원으로부터 최소한으로 받아야 하는 찬성표의 숫자.
  • 가결과 부결(passed and rejected) : 정족수 이상의 찬성을 받은 의제는 가결(pass)되며, 정족수를 채우지 못한 의제는 부결(rejected)된다.
  • 찬성 / 반대 / 기권 : 의제 위원은 해당 의제에 대하여 찬성(yes), 반대(no), 기권(abstain)표를 행사할 수 있다. 오직 찬성표만이 의제가 가결되기 위한 정족수로 인정된다.
  • 의제 최소 공지기간(minimum notice period for agenda) : 의제가 만들어 진 후 의제 위원회가 구성되기 전까지의 기간. 의제최소공지기간이 지나기 전까지 해당 의제의 위원회는 확정되지 않으며, 공지기간이 끝나는 순간 다오 위원회의 위원들이 해당 의제의 의제위원으로 위촉(appointed)된다.
  • 의제 투표 기간(voting period for agenda) : 의제 위원은 위촉된 이후 의제 투표 기간 내에 찬/반/기권 의견을 바탕으로 투표를 해야 하며, 만약 해 기간 내에 투표를 하지 않을 경우 해당 의제 위원의 표는 기권 처리된다.
  • 후보(candidate), 오퍼레이터(operator) : 모든 후보는 오퍼레이터이지만, 모든 오퍼레이터가 후보는 아니다. 오퍼레이터는 레이어2 블록체인의 블록의 생산과 검증을 담당하는 주체이고, 톤(TON) 보유자로부터 토큰을 위임받아 레이어2 블록 생성 과정에서 발생하는 추가발행토큰(TON seigniorage)를 나눈다. 후보는 특별한 형태의 오퍼레이터로서, 빈 블록을 만들어 커밋하기 때문에 블록의 생산과 검증을 하지는 않지만, 토큰을 위임받아 추가발행토큰을 수령할 수 있다는 점에서는 같고, 더불어 토카막의 거버넌스에 참여할 수 있다는 점도 다르다. 보통의 레이어2 오퍼레이터가 후보가 되려면 별도의 등록(register) 과정을 거쳐야 한다.
  • 지지자(supporters), 위임자(delegator), 스테이커(staker) : 지지자, 위임자, 스테이커는 보유한 톤을 특정 오퍼레이터에 위임한다는 측면에서 동일하다. 위임자는 위임한 토큰 수량에 비례하여 새롭게 발행되는 톤을 정기적으로 수령할 수 있고, 이 수량 또한 동일하다. 다만 이를 다양한 용어로 표현하는 이유는 위임자로서의 톤 보유자가 생각해야할 부분이 조금은 다르기 때문이다. 지지자로서의 톤 위임은 생태계에 가장 올바른 의사결정을 내릴 수 있는 후보를 찾아내는데에 그 목적이 있다. 톤 위임자 혹은 스테이커에게는 해당 오퍼레이터가 올바른 블록을 생산해 낼 만큼 믿을만한가 여부가 더 중요하다.

첨부2. 제안 가능 의제

Type A Proposals
Type B Proposals

--

--

철학자(정순형)
Tokamak Network

Tokamak Network(Ethereum Based Layer2 Solution) Inventor. Seoul Ethereum Meetup Co-organizer. Entrepreneur.Miner. Trader. Engineer. Developer.