궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

브리핑이슈 브리핑

DAO 제안과 투표, 통과가 실행을 뜻하지 않는 이유

포럼 의견수렴, 온체인 제안, 스냅샷, 정족수, 투표 통과, 타임락 큐와 실행 거래를 단계별로 확인한다.

DAO 제안이 투표·타임락·실행으로 이어지는 과정
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

포럼·Snapshot·온체인 Governor의 법적·기술적 효과가 다르다
Passed·Queued·Executed는 서로 다른 상태다
제안 설명문보다 target·value·calldata를 확인한다

DAO 제안은 찬성표가 많아도 정족수·임계값을 충족하고, 실행 가능한 calldata가 큐에 올라 타임락을 지난 뒤 실제 execute 거래가 성공해야 상태가 바뀐다. 사회적 제안은 통과해도 온체인에서 자동 실행되지 않을 수 있다.

제안은 어디에서 시작됐는가

DAO 포럼의 온도 조사와 초안은 의견 수렴일 수 있다. Snapshot 서명 투표는 가스 없이 신호를 모으지만 계약 상태를 직접 바꾸지 않을 수 있다. Governor 계약의 proposal ID와 투표 시작·종료, 실행 payload가 있어야 온체인 제안 범위를 재현할 수 있다.

투표권 위임은 토큰을 보내는 행위가 아니지만 위임 집중도를 바꾼다. 큰 위임자가 투표 직전 대표를 바꾸거나 여러 주소를 합치면 보이는 참여자 수와 실질 통제력이 다르다. snapshot timepoint와 위임 이벤트를 확인해 투표권 계산을 재현한다.

투표 제목은 의도를 설명하고 calldata는 실제로 바뀔 상태를 결정한다.

JOBCOIN 해설

정족수와 찬성률을 동시에 본다

찬성 90%여도 참여 투표권이 정족수에 못 미치면 부결될 수 있다. 투표권은 현재 잔액이 아니라 스냅샷 블록의 위임 잔액으로 계산할 수 있다. abstain이 정족수에는 포함되고 찬반 비율에는 다르게 처리되는지도 Governor 구현을 확인한다.

제안 취소 권한도 중요하다. 제안자가 스스로 취소할 수 있는 시점, guardian이 긴급 취소할 수 있는 범위, 타임락 proposer가 operation을 취소할 권한을 확인한다. 취소가 안전장치가 될 수도 있고 통과된 의사를 막는 중앙화 지점이 될 수도 있다.

통과 뒤 큐와 실행이 남는다

OpenZeppelin TimelockController는 제안과 실행 사이 최소 지연을 강제한다. 성공한 제안을 queue한 뒤 ready 상태가 되고 executor가 실행 거래를 보내야 done이 된다. 실행자가 없거나 선행 작업·기한 조건을 충족하지 못하면 통과 제안도 미실행으로 남을 수 있다.

DAO 제안 상태
상태 의미 확인 증거
Succeeded 투표 조건 충족 proposal state
Queued 타임락 예약 operation hash·ETA
Executed 호출 성공 execute TX·상태 변화

ENS의 사회적·실행 제안 차이

ENS 문서는 사회적 제안과 실행 제안을 구분하고, 실행 제안은 온체인 Governor 투표와 타임락 뒤 코드 실행으로 이어진다고 설명한다. 사회적 제안은 공동체 의사를 표현해도 외부 운영자·키 보유자의 후속 행동이 필요할 수 있다. 같은 Passed 표시에 기술 효과가 다르다.

배치 제안은 여러 호출 중 하나가 실패하면 전체가 되돌려질 수 있다. 서로 독립적인 지급과 업그레이드를 한 proposal에 묶으면 사소한 실패가 핵심 조치를 막을 수 있다. execute 시뮬레이션에서 각 target의 현재 상태와 allowance·role 조건을 점검한다.

설명과 실행 내용 불일치 확인

target 주소, ETH value, 함수 selector, 인수와 배치 순서를 디코딩한다. 제안 설명이 수수료를 1%로 낮춘다고 써도 calldata가 다른 계약을 호출하거나 관리자 권한을 함께 넘길 수 있다. 시뮬레이션 결과와 현재 프록시 구현도 확인한다.

거버넌스 공격 분석에서는 빌린 투표권을 막는 snapshot과 제안 지연, quorum을 함께 본다. 투표 기간 동안만 토큰을 보유하면 되는지, flash loan으로 같은 블록에서 제안·투표가 가능한지 구현에 따라 다르다. 토큰 가격만으로 공격 비용을 계산하지 않는다.

투표 집중도와 비상권한 읽기

최대 위임자 몇 명이 정족수와 과반을 단독 달성할 수 있는지, 제안자 임계값과 투표 지연을 본다. Security Council·멀티시그의 취소·긴급 실행 권한은 일반 거버넌스와 별도다. 비상권한이 사용됐다면 사후 비준과 권한 회수 조건을 확인한다.

실행 뒤에도 상태 변화가 설명과 일치하는지 검증한다. 업그레이드라면 새 구현 주소와 storage layout, 재무 지급이라면 수취 주소·금액, 매개변수 변경이면 이벤트와 getter 값을 확인한다. execute 성공 상태만 보고 의도한 효과가 모두 났다고 쓰지 않는다.

가스비와 복잡성이 실행을 막는 운영 위험도 있다. 누구나 execute할 수 있어도 거래 비용이 매우 크거나 RPC·프런트엔드가 calldata를 제공하지 않으면 지연될 수 있다. DAO가 실행 자동화와 모니터링 책임을 누구에게 맡겼는지 본다.

  • proposal ID·스냅샷 블록·투표 기간을 기록한다
  • 정족수와 찬반 계산 방식을 계약에서 확인한다
  • target·calldata를 디코딩해 설명과 대조한다
  • queue·ETA·execute TX까지 추적한다

자주 묻는 질문

찬성률 99%면 바로 실행되나요?

정족수, 투표 종료, 타임락 큐와 실행 거래가 남을 수 있다. 상태를 단계별로 확인해야 한다.

Snapshot 투표는 온체인 실행인가요?

대개 오프체인 서명 신호다. 별도 멀티시그나 Governor 제안이 필요한지 DAO 규칙을 본다.

누구나 실행할 수 있으면 위험한가요?

타임락에 예약된 작업만 실행하도록 제한될 수 있다. proposer와 executor 권한을 함께 확인한다.

직접 확인한 자료

자료 확인 2026.09.27
  1. Governance — OpenZeppelin Contractsdocs.openzeppelin.com
  2. Governance Processdocs.ens.domains
AI 활용 안내

이 글은 AI로 초안을 구성한 뒤 공개 원문과 기술 문서를 대조해 작성했습니다. 대표 이미지는 AI 생성 개념 일러스트이며 실제 사건 사진이나 가격 차트가 아닙니다.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙과 정정 안내 →