바이프로스트 네트워크
  • 소개
  • 바이프로스트 네트워크 구조
    • 합의
    • 크로스체인 커뮤니케이션 프로토콜 (CCCP)
    • 오라클 서비스
  • 노드 운영 매뉴얼
    • 기본 노드 요구 사항
    • 풀 노드 요구 사항
    • 검증자 계정 관리
    • 운영자 가이드
      • 엔드포인트 (Endpoint) 노드 셋업
        • 도커 셋업
        • Systemd 셋업
      • 검증자 노드 셋업
        • 도커 셋업
        • Systemd 셋업
      • 릴레이어 셋업
        • bifrost-relayer.rs
      • 체인 데이터 스냅샷
      • 문제 해결
        • 테스트넷 체인 동기화 이슈
    • 시스템 모니터링
      • Prometheus and Grafana
      • Sentry
  • 노미네이터
  • 개발자 문서
    • 이더리움 API
      • 프리컴파일 컨트랙트
      • 개발자 라이브러리
      • 개발자 환경
    • 바이프로스트 프리컴파일 컨트랙트
      • 스테이킹
      • 거버넌스
      • 릴레이 매니저
    • 팔렛 인터페이스
      • BfcStaking
      • BfcUtility
      • BfcOffences
      • RelayManager
    • 클라이언트 API
      • JSON-RPC API
        • author
        • chain
        • childstate
        • debug
        • eth
        • grandpa
        • net
        • offchain
        • payment
        • rpc
        • state
        • system
        • trace
        • txpool
        • web3
      • 익스플로러 API
      • 런타임 API
    • 크로스체인 트랜잭션 및 오라클 API
      • 가격 오라클 컨트랙트 API
      • 소켓 컨트랙트 API
    • 바이프로스트 테스트넷 BFC 토큰 수령 방법
  • 거버넌스
  • 보안
  • 토큰 & 자산
    • 유니파이드 토큰
    • 인플레이션 모델
  • Add Network
    • 포키
    • 메타마스크
  • Bridge
    • 브릿지 가이드
      • 바이프로스트 네트워크로 예치
      • 다른 네트워크로 출금
    • 용어
  • Staking
    • 스테이킹 가이드
      • BFC 스테이킹
      • BFC 언스테이크
    • 용어
      • 모든 밸리데이터
      • 스테이킹 현황
  • Language
    • Bifrost Network Guide
Powered by GitBook
On this page
  • 소개
  • 용어정리
  • 방식
  • 제안 (Proposal)
  • 제안 생성 (Creating a proposal)
  • 제안서 지지 (Endorsing a proposal)
  • Referenda
  • 밸런스 (Balance)
  • 투표 시스템 (Voting System)
  • 투표 매커니즘 (Voting Mechanics)
  • Governance Flow
  • 위원회 (Council)
  • 기술 위원회 (Technical Committee)
  • 트레저리 (Treasury)
  • FAQ

거버넌스

이 페이지에서는 바이프로스트 네트워크 (Bifrost Network)의 거버넌스 메커니즘을 간략하게 설명합니다.

소개

바이프로스트는 거버넌스를 통해 커뮤니티의 목소리를 반영하고 프로토콜을 개선하는 것을 목표로 합니다. 저희의 공유된 비전을 기반으로 한 바이프로스트 거버넌스 메커니즘은 모든 토큰 보유자를 포함합니다. 모든 유형의 거버넌스는 투표하거나 제안서를 제출할 수 있는 커뮤니티 멤버들의 결정을 거쳐야 합니다. 또한 거버넌스 포럼을 통해 토큰이 없는 사람들도 프로토콜에 대해 자유롭게 토론하고 아이디어를 공유할 수 있습니다.

용어정리

  • Referendum: 각 voting period 동안 가장 많은 지지를 받은 제안이 Referendum 대상으로 선정됩니다. 투표 기간 동안 BFC 보유자는 BFC를 예치하여 찬성 또는 반대투표를 제출할 수 있으며, voting period 종료 시 총 투표 가중치에 따라 승인 여부가 결정됩니다.

  • Launch period: 특정 길이의 블록이 있는 기간입니다. Launch period가 끝나면 가장 많은 지지를 받은 제안이 referendum에 선택됩니다.

  • Voting period: 참여자들이 referendum에 투표할 수 있는 기간입니다. Voting period가 끝나면 투표를 집계하여 referendum의 승인 여부를 결정합니다.

  • Enactment period: Referendum이 네트워크에 반영되기까지 소요되는 기간입니다. 기술적인 관점에서, referendum는 대기열에 배치되고 enactment period에 지정된 일정 시간 동안 대기한 후 pallet_scheduler에 의해 최종적으로 적용됩니다.

  • Lock period: Referendum 실행 기간 종료 후부터 일정 기간 동안 투표자의 BFC가 락업 (Lock) 되는 시간입니다.

  • Delegation: BFC 보유자가 모든 투표에 참여하기 어려울 수 있으므로, 자신의 BFC를 담보로 제공하고 특정 신뢰하는 투표자의 투표 비중을 높여 의결권을 양보할 수 있는 옵션입니다. 이 경우 위임받은 투표자가 투표를 할 때 위임된 가중치가 추가로 부여되어 제출됩니다. 일반 투표와 마찬가지로 위임에 가중치 (Conviction)를 적용하여 잠금 기간을 늘려 투표 가중치를 높일 수 있습니다. 단, 위임자는 위임을 해제하지 않는 한 투표할 수 없습니다.

방식

거버넌스의 기본 개념은 커뮤니티 멤버들이 투표를 통해 바이프로스트 네트워크를 변경할 수 있도록 하는 것입니다. 모든 제안은 referendum을 거쳐야 합니다.

General Council 구성원은 바이프로스트 네트워크에 대한 깊은 이해와 장기적인 목표에 부합해야 합니다. 초기에는 바이프로스트 재단에서 General Council를 임명하고, 시간이 지남에 따라 BFC 보유자가 투표로 구성원을 선출하는 선거 기반 시스템으로 전환할 것입니다.

제안 (Proposal)

제안 생성 (Creating a proposal)

제안서를 제출하기 위해서는 참가자는 먼저 제안서를 작성해야 합니다. 이 과정에서 참가자는 pallet (스마트 컨트랙트)와 외부 기능(function)에 대한 변경 사항을 제안합니다. 참가자가 모든 변경을 완료하면 생성된 해시를 저장해야 합니다.

저장된 해시는 제안서를 제출하는 데 사용됩니다. 제안서를 제출할 때 보유자는 제안을 지지하기 위한 최소 BFC 금액을 설정할 수 있습니다. 다만 제안서에 지지를 위해 사용된 BFC는 referendum으로 선정되어 투표를 거칠때까지 락업됩니다. 이는 투표자가 제안서에 지지 후 투표권을 판매하는 것을 방지하기 위한 조치입니다. 제안서에 지지에 필요한 코인 수는 제안의 유형이나 제안서 작성자가 설정한 최소 수량에 따라 달라질 수 있습니다.

제안서가 referendum에 등록되지 못한 경우 제안서는 다시 한 번 launch period를 거쳐야 합니다. 이 과정은 제안서가 referendum으로 선정될 때까지 반복됩니다. 모든 launch period가 끝날 때마다 가장 많은 지지를 받은 제안서가 referendum 대상으로 선정됩니다.

제안서 지지 (Endorsing a proposal)

투표자는 “Endorse” 버튼을 클릭하여 제안서를 지지할 수 있습니다. 투표자의 지갑에 BFC 충분하지 않거나 제안서 작성자가 설정한 BFC를 충분히 보유하지 않은 경우 지지가 실패할 수 있습니다.

Referenda

Launch Period가 끝날 때까지 최소 하나의 제안서가 과반수의 지지를 받으면, 매 voting period마다 새로운 referendum이 진행됩니다. Voting period 동안 커뮤니티 멤버들은 찬성 (aye) 또는 반대 (nay)에 투표할 수 있습니다. Referendum가 통과되면 enactment period을 거쳐 queued 상태로 전환됩니다.

BFC 수량에 따라 referendum의 투표권이 결정되며, BFC 보유자는 위임을 통해 다른 유권자를 대신해 투표할 수 있습니다. 국민투표에서 '찬성' 또는 '반대'로 투표할 때, 유권자는 “Increase voting power” 버튼을 사용해 자신의 투표 수를 높일 수 있습니다.

투표자는 잠금 기간을 늘려서 투표권을 높일 수 있습니다. 이 기능을 통해 투표자는 최대 6배까지 투표권을 늘릴 수 있습니다. 늘어난 잠금 기간은 투표 기간으로 승계됩니다. 예를 들어, 투표자가 투표권을 두 배로 늘리기로 결정하면 투표 기간 이후의 잠금 기간은 두 배가 됩니다.

투표자는 락업 기간을 늘려서 투표권을 높일 수 있습니다. 이 기능을 통해 투표자는 최대 6배까지 투표권을 얻을 수 있습니다. 늘어난 락업 기간은 voting period으로 승계됩니다. 예를 들어, 투표자가 투표권을 두 배로 늘리기로 결정하면 투표 기간 이후의 락업 기간은 두 배가 됩니다.

Lock Period
Vote Multiplier

0.1 (no lock period)

0.1

1 (no lock period)

1

2

28

3

56

4

112

5

224

6

448

밸런스 (Balance)

Endorsement 및 투표에 사용되에 락업된 BFC를 락업 해제하기 위해서는 사용자는 “Profile” 페이지에에 접속해야합니다. “Profile” 페이지에서는 잔액과 거버넌스 참여 내역을 확인 할 수 있습니다.

투표를 해제하려면, 사용자는 Delegation Status 아래에 있는 “Unlock” 버튼을 클릭해야 합니다. 해당 버튼 클릭 시, 유권자는 바이프로스트 거버넌스 시스템에 remove_vote 함수를 요청하게 됩니다. 락업 기간이 끝난 후, 유권자는 투표에 사용된 코인을 claim할 수 있습니다. remove_vote 요청을 하지 않더라도, referendum의 투표 기간이 종료되면 락업은 자동으로 시작됩니다. 하지만 remove_vote 요청이 없으면, 잔액이 claim 가능한 BFC로 전환되지 않습니다.

투표 시스템 (Voting System)

투표율 저조 문제를 완화하기 위해, 바이프로스트 거버넌스 메커니즘은 기존의 정족수 (quorum) 기반 투표 시스템 대신, Polkadot 기반의 Adaptive Quorum Biasing (AQB) 프로토콜을 채택하였습니다. 이는 기존 시스템이 다음과 같은 문제를 가지고 있기 때문입니다:

  • 정해진 엄격한 정족수 설정으로 인해 낮은 참여율 발생

  • 모든 참여자에게 적절하고 합리적인 정족수를 설정하기 어려움

반면, 정족수 기반이 아닌 투표 시스템의 주요 특징은 다음과 같습니다:

  • 참여자는 보상을 받는다

  • 그러나 비참여자는 패널티를 받는다

다만, 이러한 시스템은 악의적인 행동 또는 불균형한 참여율로 이어질 수 있는 위험도 존재합니다.

투표 매커니즘 (Voting Mechanics)

용어 설명

  • Approve: 찬성표 수 (conviction 포함)

  • Against: 반대표 수 (conviction 포함)

  • Turnout: 총 투표 수 (conviction 미포함)

  • Electorate: 네트워크에서 발행된 총 코인 수

    • 발행된 총 코인 수는 바이프로스트 네트워크상의 BFC 총량을 의미합니다.

Positive Turnout Bias (PTB)

againstturnout<approveelectorate\frac{against}{\sqrt{turnout}} < \frac{approve}{\sqrt{electorate}}turnout​against​<electorate​approve​

  • 투표율이 낮은 경우 과반의 유권자가 찬성하면 referendum는 승인됩니다. 하지만 투표율이 높을수록 찬성표 수가 더 많아야 승인됩니다.

  • 일반적으로 referendum는 PTB 모델 (Public Proposal)을 따릅니다.

Negative Turnout Bias (NTB)

againstelectorate<approveturnout\frac{against}{\sqrt{electorate}} < \frac{approve}{\sqrt{turnout}}electorate​against​<turnout​approve​

  • 투표율이 낮은 경우 과반의 유권자가 반대하면 referendum는 기각됩니다. 하지만 투표율이 높을수록 반대표 수가 더 적어야 기각됩니다.

  • Council이 제출한 제안 (External Proposal)은 모두 이 NTB 모델을 따릅니다.

예시

Parameter
Value

approve

6000 (1000 * 6) = lock balance * conviction

against

10 (100 * 0.1) = lock balance * conviction

turnout

1100 (1000 + 100) = approve + against

electorate

1M

result

0.3 < 6 (aye wins)

101100<60001000000\frac{10}{\sqrt{1100}} < \frac{6000}{\sqrt{1000000}}1100​10​<1000000​6000​

1033.166<6000 1000\frac{10}{{33.166}} < \frac{6000}{\ {1000}}33.16610​< 10006000​

Governance Flow

  1. 토큰 보유자는 변경 사항을 담은 제안 해시 (Proposal Hash)를 생성해야합니다,

  2. 제안 해시 (Proposal Hash) 생성 후 생성자는 직접 제안을 제출하거나 다른 토큰 보유자에게 해당 해시를 이용해 제안을 제출해 달라고 요청할 수 있습니다. 제안자는 제안 등록을 위해 일정량의 코인을 예치 또는 락업해야 합니다. 제출이 성공하면 해당 제안은 공개적으로 등록됩니다.

  3. 각 Launch Period가 종료되면, 가장 많은 지지를 받은 제안이 referendum로 전환되며, 투표 기간 동안 참여자들은 찬성 (aye) 또는 반대 (nay) 투표를 진행합니다.

  4. 투표 기간이 끝나면 바이프로스트 거버넌스 시스템은 투표 결과를 집계하여 referendum의 승인 여부를 결정합니다.

  5. Referendum 승인되면, 바이프로스트 네트워크는 Enactment Period 이후 변경 사항을 네트워크에 반영합니다.

위원회 (Council)

위원회 (Council) 구성원은 바이프로스트 거버넌스를 관리하는 역할을 담당합니다. 악의적인 referenda를 취소하거나, 기술 위원회 (Technical Committee)를 선출하고, 트레저리 (Treasury)를 관리합니다.

위원회 구성원이 모든 활동에 참여하기 어려운 경우 대신할 프라임 멤버 (Prime Member)가 별도로 선출됩니다. 투표 라운드에서 가장 많은 표를 얻은 위원회 구성원이 프라임 멤버가 되며, 다른 구성원이 투표에 참여하지 않을 경우, 프라임 멤버의 투표를 자동으로 따릅니다.

기술 위원회 (Technical Committee)

기술 위원회는 위원회 구성원들이 선출하며, 위원회 권한의 일방적 사용을 방지하고 바이프로스트 거버넌스를 관리하는 역할을 합니다. 기술 위원회는 악의적인 제안 또는 위원회에서 생성한 제안을 취소할 수 있는 권한을 가지며, 필요한 경우 제안의 패스트트랙도 가능하게 합니다.

기술 위원회 구성원은 거부권 (Veto Power)을 행사할 수 있습니다. 구성원 중 단 1명이라도 거부권을 사용하면 해당 제안은 무효 처리되며 일정 기간 블랙리스트에 올라 관련 제안을 제출할 수 없게 됩니다. 기술 위원회 구성원도 위원회 구성원과 마찬가지로 BFC 토큰을 보유해야 하며, 권한을 무한정 행사할 수 없습니다.

트레저리 (Treasury)

트레저리는 취소된 제안이나 referenda에서 슬래싱된 BFC를 저장 및 소각합니다. 또한 바이프로스트 네트워크 노드 운영자의 슬레싱된 BFC도 보관합니다. 트레저리는 위원회 구성원에 의해 관리되며, 커뮤니티의 신뢰를 잃지 않도록 신중히 운영됩니다. 위원회 구성원 역시 BFC 보유자이기에, 바이프로스트 네트워크에 부정적 영향을 주는 행동은 하지 않을 것입니다.

FAQ

  1. 코딩을 잘 모르는데 코딩 지식 없이도 제안서를 만들 수 있는 방법이 있나요? 네, 블록체인 또는 코딩 지식 없이도 제안서를 만들 수 있습니다. “communityProposal” 섹션에서 “bfcUtility”를 선택한 후, 제안 내용을 설명하는 URL을 “Bytes” 항목에 입력하면 됩니다. 저희는 바이프로스트 거버넌스 포럼 사용을 권장합니다.

  2. 타인을 대신하여 제안서를 제출하는 방식은 어떻게 되나요? 저희 거버넌스 매커니즘은 다른 투표자 혹은 네트워크 커뮤니티 멤버들을 대신하여 제안을 제출 할 수 있습니다. 이를 위해서는 “Preimage Hash”, “Pallet”, “Extrinsic”에 대한 모든 변경 사항을 알아야합니다. 그 후 “Submit a Porposal” 버튼 클릭 후 “Preimage Hash”를 입력하고 “Pallet” 및 “Extrinsic”의 변경 사항을 모두 기입하여 제출하면 됩니다.

Previous바이프로스트 테스트넷 BFC 토큰 수령 방법Next보안

Last updated 7 days ago