Governance
DAO(Decentralized Autonomous Organization)
On-Chain Governance
Staking
Authority Member가 되기 위해서는 WEMIX Staking이 선결 조건 중 하나입니다. Staking 방법은 시스템 레벨에서 알려져있는 Governance Contract에 Pre-Define된 함수를 호출하면서 WEMIX를 전송하면 가능합니다. Staking은 Governance dApp을 통해서만 할 수 있으며, Staking 가능한 Minimum 양은 Voting에 의해 변경 가능합니다. Voting Power는 Lock된 WEMIX Staking양과는 상관없이 모두 동일한 가중치가 적용되며, Staking된 WEMIX의 Lock / Unlock 여부는 Voting의 결과에 따라 결정됩니다. 한번 Lock 처리가 된 WEMIX는 기본 Locking Period가 지난 후에 Voting에 의해 Unlock 처리하여 회수 할 수 있으며, Locking Period가 끝나기 전에 Authority로서의 권한을 포기하거나 악의적 행위의 적발로 Authority의 권한이 박탈 되는 경우, 해당 Authority의 Locked WEMIX는 Eco Fund로 몰수됩니다. Phase 1에서는 참여하는 모든 Authority들의 Minimum / Maximum은 1,500,000WEMIX로 고정이었고, 모든 Authority들은 동일한 Voting Power를 가졌습니다. Phase 2에서는 Staking Minimum은 1,500,000WEMIX로 유지되지만 Staking Maximum의 제약은 제거됩니다. 즉, NCP들은 추가적인 WEMIX staking으로 Reward를 증가시키는것이 가능합니다.
Voting
WEMIX 블록체인 Governance Contract는 기본적으로 Voting에 의해 변경 가능한 시스템 변수들을 저장하고 있으며, Authority Member의 참여, 탈퇴, 교체와 관련된 기능을 수행하는 함수들을 가지고 있습니다. Phase 1에서는 각각의 Authority는 Staking한 양에 비례하여 Voting Power를 가지게 되며, Phase 2에서는 모든 Authority가 Staking한 양과는 무관하게 동일한 Voting Power를 가집니다. 각 Voting은 Voting Duration(1일~7일)동안 Staking된 WEMIX 전체 총량의 50% 이상의 찬성표를 획득하게 될 시 통과됩니다.
Authority Member만이 아래의 Voting을 신청을 할 수 있습니다. 신청 시 Voting Duration을 최소/최대값 범위 안에서 정할 수 있고 미지정시 최소값으로 지정됩니다. Voting의 시작과 끝은 신청 목록에서 Member가 처음 투표할때부터 시작되어 최대 Voting Duration 동안 진행 됩니다. Voting Duration 이내라 해도 50% 초과의 찬반 의견이 나올 경우, Voting은 종료 되고, 후속 작업이 진행이 됩니다. 기본적으로 한번에 하나의 Voting만 진행되므로 기존에 진행 중인 Voting이 있을 경우, 새로운 Voting을 시작 할 수는 없습니다.
Voting 결과는 Block Number를 기준으로 반영되는데 Block number N에서 완료된 Voting의 결과는 Block Number N+1
부터 유효합니다.
현재 버전에서 지원하는 Voting 종류는 다음과 같습니다.
Authority member 추가: Authority member 추가를 위한 Voting이 과반 이상의 찬성으로 통과 시 해당 Member의 Staking 양에 Lock을 걸고 Authority Member에 포함시킵니다.
Authority Member 탈퇴: Authority Member 탈퇴(패널티) 처리를 위한 Voting으로 통과 시 신청 시 지정된 수량 만큼 Unlock 되며 나머지는 Eco Fund로 보냅니다.
Authority Member 교체(Address Change): 기존 Authority Member 를 교체 하거나 Node 정보 변경을 위한 Voting으로 통과 시 동일한 Address이면 노드 정보 변경을, 다른 Address이면 신규 Member의 Staking에 Lock을 걸고, 기존 Member Staking 은 Unlock을 진행합니다. 단, Staking한 계정으로 본인 계정의 node 정보(Voting 주소 포함)를 변경하는 경우에는 Voting 없이 바로 변경이 이루어집니다.
Governance Contract Address 변경: 기존 Governance Contract을 업그레이드 하기 위한 Voting으로 통과 시 해당 Address로 변경 처리합니다.
Voting Duration 최소값: 최소 Voting 기간값을 변경하기 위한 Voting으로 기본값은 1일 입니다. 통과 시 최소 Voting 기간값을 변경 합니다.
Voting Duration 최대값: 최대 Voting 기간값을 변경하기 위한 Voting으로 기본값은 7일 입니다. 통과 시 최대 Voting 기간값을 변경 합니다.
Authority Member Staking 최소값: Member 참여 시 Staking 할 수 있는 최소 WEMIX 수량을 변경하는 Voting으로 통과 시 최소 Staking WEMIX 수량값을 변경합니다.
Authority Member Staking 최대값: Member 참여 시 Staking 할 수 있는 최대 WEMIX 수량을 변경하는 Voting으로 통과 시 최대 Staking WEMIX 수량값을 변경합니다.
블록생성시간: 블록생성 시간을 변경하기 위한 Voting으로 기본값은 1초입니다. 통과 시 블록생성시간이 변경됩니다.
블록리워드 분배 방식: Transaction Fee와 신규생성된 WEMIX의 분배율을 결정하기 위한 Voting으로 기본값은 50% 블록생성자, 0% 스테이킹보상, 25% 생태계, 25% 유지보수 입니다. 통과 시 분배율과 생태계 및 유지보수 분배주소가 변경됩니다.
MaxPriorityFeePerGas: MaxPriorityFeePerGas의 변경을 위한 Voting 입니다. 통과 시 MaxPriorityFeePerGas가 변경됩니다. 기본값은 100Gwei입니다.
Gas Limit & baseFee: Gas Limit, baseFee 변경 범위, baseFee 증가율 변경을 위한 Voting입니다.
주의
Authority member 삭제후 다시 같은 노드의 추가를 진행할 경우, {data_directory}/etcd 디렉토리를 삭제한 후 gwemix를 restart시켜야 합니다.
Off-Chain Governance
위와 같이 미리 정해져있는 종류의 설정 변경을 제외한 '프로토콜의 변경'과 같이 Hard Fork가 필요하고 Council의 명시적인 합의가 필요하다면, 재단에서 https://snapshot.org/ 같은 Off-Chain 서비스를 사용하여 NCP의 합의과정을 진행합니다. 해당 서비스는 Off-Chain Governance이지만 과반이상의 Council의 Signature를 수신하여 Voting을 진행하므로 재단은 명시적인 Council의 합의를 기반으로 블록체인 프로토콜의 변경이 가능합니다.
Last updated