목록 보기
Openzeppelin & Compound Governance Part 2
아키텍처

Openzeppelin & Compound Governance Part 2

엘리시아
엘리시아
2021년 10월 12일

두줄요약

OpenZeppelin의 ERC20Votes와 Governor 모듈로 온체인 거버넌스를 구성하는 방식을 소개했습니다. 위임·정족수·타임락 설정과 Wizard 기반 컨트랙트 생성을 설명합니다.

구조와 흐름

  • ERC20Votes의 체크포인트 기반 과거 투표권 조회와 중복 투표 방지
  • delegate·delegateBySig를 통한 직접 위임 및 서명 기반 투표권 위임
  • Governor에 Votes·CountingSimple·TimelockController·QuorumFraction 모듈 조합

선택 이유

  • 제안 데이터를 저장하지 않고 인자 해시 기반 ID를 저장하는 가스비 절감 구조
  • 기존 토큰을 거버넌스 기능 토큰으로 교환할 수 있는 ERC20Wrapper 제공
  • Wizard를 통한 투표 지연·기간·정족수·타임락·업그레이드 옵션 설정

주의할 점

  • ERC20Votes 토큰 보유만으로는 투표권 미집계, delegate 호출 필요
  • 투표 지연과 투표 기간의 blockNumber 기준 설정
  • ERC20Votes와 ERC20VotesComp 간 최대 발행량 및 내부 변수 타입 차이

적용해볼 점

  • 제안 임계치와 정족수의 비율·절대값 기준 선택
  • 투표 종료 후 실행 지연을 위한 TimelockController 결합
  • OpenZeppelin Wizard 기반 거버넌스 컨트랙트 초기 구성

다음 읽기

#OpenZeppelin 주제를 이어서 읽기

Openzeppelin & Compound Governance Part 1

Compound의 토큰 기반 온체인 거버넌스 구조와 제안부터 실행까지의 흐름을 설명했습니다. Checkpoint로 투표 시작 시점의 권한을 보존해 중복 투표를 방지하는 방식을 다뤘습니다.

엘리시아
엘리시아
아키텍처
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...