Slide 1

Slide 1 text

권동환 Aidan.Kwon 크러스트 유니버스 Copyright 2022. Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao. 블록체인을 활용한 투표와 의사결정 if(kakao)2022

Slide 2

Slide 2 text

Ground X (`19.03 ~ `21.12) - Klaytn 코어 개발 - Key Management System using HSM - Klaytn Endpoint System (KES) Krust Universe (`22.01 ~ ) - Klaytn 코어 개발 발표자 소개

Slide 3

Slide 3 text

Governance 누구에 의한 의사결정인가?

Slide 4

Slide 4 text

- 블록체인 위에 구현된 의사결정 기능 - 투표 권한을 가진 누구나 의사결정에 참여 가능 - 스마트 컨트랙트 다음 특징을 통해 참여권을 보장 - 투명성 - 무결성 - 부인방지성 - 강제 이행성 On - chain Governance

Slide 5

Slide 5 text

- 별도의 중앙화된 위계나 서열 없이 스마트 컨트랙트로 작성된 규칙에 따라 동작 - 구성원 모두가 공동의 의사결정에 자율적으로 참여 - DAO 종류 - Protocol DAO - Investment DAO - Grant DAO - Service DAO - … … DAO (Decentralized Autonomous Organization) 이미지 출처: https:/ /coopahtroopa.mirror.xy

Slide 6

Slide 6 text

이미지 출처: https:/ /klayswap.com/governance/36 DAO (Decentralized Autonomous Organization)

Slide 7

Slide 7 text

Governance 구현을 위해 고려할 것은?

Slide 8

Slide 8 text

Governance 투표 과정 제안 투표 종료 
 조건 검증 결과 확정

Slide 9

Slide 9 text

제안 (Proposal) - 토큰 발행량을 10% 줄이자 - 예산을 다음과 같이 할당하자 - A 주소에 100 KLAY 를 전송하자 - 토큰 락업 기간을 설정하자 Enforceable - 웹사이트 도메인을 선정하자 - DAO 조직 구조를 변경하자 - 가장 선호하는 파트너는 누구인가? - 우리의 목표는 다음 중 어떤 것이 좋은가? Unenforceable

Slide 10

Slide 10 text

Native Token / Fungible Token 투표권의 분배 NFT DID, SBT 임의 기준 ?

Slide 11

Slide 11 text

- 스마트 컨트랙트 실행 도중에는 과거의 상태정보를 조회할 수 없음 - 특정 시점에 각 참여자가 가지고 있는 투표권 수를 저장/조회할 수 있는 방안 제공 - Off - chain Snapshot, On - chain Snapshot, Staking & Lock - up 등 다양한 방식으로 해결 가능 중복 투표 방지방안 시간 투표권 현황 A: 300 B: 200 투표권 현황 A: 400 B: 200 투표 시작 투표 종료

Slide 12

Slide 12 text

중복 투표 방지방안 - 1) Naive Snapshot 시간 Snapshot #1 A: 100 B: 200 Snapshot #2 A: 300 B: 200 Snapshot #3 A: 400 B: 200 Snapshot #4 A: 500 B: 100 - 일정 주기로 Snapshot 정보를 스마트 컨트랙트 저장소에 저장 - 투표가 시작하기전 가장 최근 Snapshot을 기준으로 투표 진행 - 주기마다 모든 참여자의 수만큼 데이터를 저장해야 함 
 Storage usage = (# accounts) * (# snapshots)

Slide 13

Slide 13 text

중복 투표 방지방안 - 2) Checkpoint After Transfer Address []Checkpoint A Block 1000 1004 1010 Value 500 400 300 B Block 1004 Value 100 struct Checkpoint { uint blockNumber; uint value; } mapping(address => Checkpoint[]) checkpoints; - 각 참여자들의 투표권 수가 변경될 때만 기록하는 방식 - 투표권 조회 시, 각 참여자들의 과거 Checkpoint 를 탐색하여 원하는 시점의 투표권 수 조회 (이진 탐색) - 투표권이 변경될 때마다 저장이 필요하며, 투표권 조회 시에도 이진 탐색을 위한 연산이 필요함

Slide 14

Slide 14 text

Epoch 2 Epoch 1 중복 투표 방지방안 - 3) Snapshot Before Transfer 변경 변경 변경 변경 저장 저장 저장 저장 변경 변경 변경 변경 저장 < Snapshot Before Transfer 저장 시점 > < Checkpoint After Transfer 저장 시점 > - 특정 주기(Epoch) 사이에 발생한 변경만 기록하는 방식 - 투표권 조회 시, 각 참여자들의 과거 Epoch 사이의 변경을 탐색하여 원하는 시점의 투표권 수 조회 (이진 탐색) - 투표권이 자주 변경하더라도 비교적 저장공간의 부담이 적음

Slide 15

Slide 15 text

- 투표 선택권에 따라 다양한 검증방식이 존재할 수 있음 - 찬성/반대: 가결/부결에 필요한 의결 정족수에 영향 - 기권: 투표의 성립여부를 결정짓는 참여 투표권 수에 영향 - 거부권: 부적적한 투표 제안에 대해 거부를 행사할 수 있으며, 패널티와의 조합을 통해 부적절한 제한 억제 - 제한 시간이나 지연 시간에 의해 투표 유효성 문제가 발생할 수 있음 투표 종료 조건 검증 YES NO ABSTAIN VETO

Slide 16

Slide 16 text

- 스마트 컨트랙트를 정확히 원하는 시점에 실행하기가 어려움 - 투표 결과를 확정하기 위한 로직이 누군가의 트랜잭션에서 실행되어야 함 1) 투표기간 마감 이후, 누군가가 추가적인 트랜잭션을 발생하여 확정 2) 가결/부결을 확정하는 투표가 처리되는 순간 추가적으로 확정 로직도 실행 
 투표 결과 확정

Slide 17

Slide 17 text

Governance 구현에 도움이 되는 정보 https:/ /snapshot.org/#/?network=8217 https:/ /docs.openzeppelin.com/contracts/ 
 4.x/api/governance https:/ /github.com/compound - fi nance/ 
 compound - protocol 거버넌스 투표 시스템 Governance 라이브러리 Governance 구현된 오픈소스

Slide 18

Slide 18 text

Klaytn Governance

Slide 19

Slide 19 text

- Klaytn Governance는 블록체인 노드 코드에 구현되어 있음 - 블록체인 노드는 스마트 컨트랙트 데이터와 긴밀하게 연결될 수 있음 - Governance 과정에 다양한 데이터 조회 가능 - 과거 상태 데이터 - 블록체인 노드 정보 - Governance 기능을 통해 다양한 설정 변경 가능 - 가스 비용 변경 - 합의 노드 추가/제거 - 블록 보상 정책 변경 Klaytn Governance 특징

Slide 20

Slide 20 text

Klaytn Governance 개선방향 $ ken attach klay.ipc > governance.vote(…) 1) On - chain Governance 과정 조회를 쉽게 2) Governance 투표자의 투표 편리성 강화 + BlockHeader.Vote Governance 
 Contract Governance 
 Website

Slide 21

Slide 21 text

Klaytn Governance 개선방향 투표권 0 4 8 Staked KLAY 3) 코드에 정의되지 않은 자유 안건에 대해서도 투표 가능 4) 투표권에 Staked KLAY 보유량 반영

Slide 22

Slide 22 text

Klaytn Governance 개선방향 https:/ /github.com/klaytn/kips 제안 & 수정 논의 기능 확정 https:/ /govforum.klaytn.foundation https:/ /kips.klaytn.foundation/

Slide 23

Slide 23 text

요약 - 블록체인 위에 구현된 투표 기능을 이용하면, 다양한 구성원들이 참가하는 자율적인 거버넌스 구축 가능 - 각 프로젝트들은 특성에 따라 다양한 거버넌스를 구축할 수 있으며, 이를 쉽게하는 도구나 라이브러리도 존재 - 클레이튼 거버넌스는 스마트 컨트랙트 방식을 추가 차용한 방식을 고려하고 있음

Slide 24

Slide 24 text

클레이튼에 대해 더 잘 알고 싶다면? 크러스트 유니버스는 지금 채용 중! Special thanks to Ollie, Ian