Governance - beatoz/beatoz-go GitHub Wiki

Governance Parameters

블둝체인 λ„€νŠΈμ›Œν¬ ν•©μ˜ κ·œμΉ™μ— μ μš©λ˜λŠ” νŠΉμ • κ°’λ“€(parameters)이 쑴재 ν•˜λŠ”λ°, 이 값듀을 Governance Parameters 라 ν•œλ‹€.
Governance Parameters 의 값은 ν•©μ˜ κ·œμΉ™μ— μ μš©λ˜μ–΄ νŠΈλžœμž­μ…˜μ˜ μœ νš¨μ„± μ—¬λΆ€λ₯Ό κ²°μ •ν•˜λŠ”λ° 적용되기 λ•Œλ¬Έμ—, λ°˜λ“œμ‹œ λͺ¨λ“  λ…Έλ“œμ— 동일 μ‹œμ , 동일 κ°’ 으둜 μœ μ§€λ˜μ–΄μ•Ό ν•œλ‹€. κ·Έλ ‡μ§€ μ•Šμ„ 경우 μ„œλ‘œ λ‹€λ₯Έ 기둝의 원μž₯을 κ°–κ²Œλ˜κ³ , ν•©μ˜ λ©”μ»€λ‹ˆμ¦˜ νŠΉμ„±μ— λ”°λΌμ„œ 블둝 생성이 μ€‘λ‹¨λ˜κ±°λ‚˜, λ„€νŠΈμ›Œν¬κ°€ λ‘˜ μ΄μƒμœΌλ‘œ λ‚˜λˆ„μ–΄μ§€λŠ” ν•˜λ“œ 포크가 λ°œμƒν•  μˆ˜λ„ μžˆλ‹€.
λͺ¨λ“  λ…Έλ“œμ—μ„œ 동일 μ‹œμ , 동일 κ°’μœΌλ‘œ 이 parametersλ₯Ό μœ μ§€ ν•΄μ•Ό 함은, λΈ”λ‘μ²΄μΈλ§Œμ˜ νƒˆμ€‘μ•™ν™”μ  μ‹ λ’° ꡬ좕이 κ°€λŠ₯토둝 ν•˜λŠ” μš”μ†Œμ΄κΈ°λ„ ν•˜μ§€λ§Œ λ™μ‹œμ— λ³€ν™”λ˜λŠ” μ™ΈλΆ€ ν™˜κ²½μ— λŒ€ν•œ 적응성을 λ–¨μ–΄λœ¨λ¦¬λŠ” μš”μΈμ΄ λ˜κΈ°λ„ ν•œλ‹€.
λ•Œλ¬Έμ— 블둝체인 ν•©μ˜ 과정에 μ μš©λ˜λŠ” μ΄λŸ¬ν•œ parameters 변경을 on-chain μƒνƒœμ—μ„œ μ œμ•ˆ, νˆ¬ν‘œν•˜κ³  κ·Έ κ²°κ³Όκ°€ ν•©μ˜ κ·œμΉ™μ— μžλ™(λ„€νŠΈμ›Œν¬ μΌμ‹œ 쀑단 없이) 반영될 수 μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ΄ ν•„μš”ν•˜λ‹€. 이λ₯Ό 톡해 블둝체인 λ…Έλ“œ ν”„λ‘œκ·Έλž¨μ˜ μ†ŒμŠ€μ½”λ“œ μˆ˜μ • 없이 μ™ΈλΆ€ ν™˜κ²½μ˜ 변화에 λŒ€ν•œ 적응λ ₯을 높이고 μƒλŒ€μ μœΌλ‘œ 보닀 탄λ ₯적인 블둝체인 ꡬ성 및 운용이 κ°€λŠ₯ν•  것이닀.

BEATOZ의 Governance Parameters λŠ” Validator 쀑 ν•˜λ‚˜κ°€ λ³€κ²½ μ œμ•ˆ(proposal)을 ν•˜κ³ , 전체 Validator μ§€λΆ„μ˜ 2/3 μ΄μƒμ˜ λ™μ˜λ‘œ on-chain μƒνƒœμ—μ„œ 변경이 κ°€λŠ₯ν•˜λ‹€. κ°€κ²°λœ μ œμ•ˆ(λ³€κ²½λœ κ°’)은 μΌμ •μ‹œκ°„, 즉 일정 블둝 수 이후에 전체 λ…Έλ“œμ—μ„œ λ™μ‹œμ— 반영되고 이후 블둝 μ²˜λ¦¬μ‹œ μ μš©λœλ‹€.

μ œμ•ˆ

Validator μžκ²©μ„ κ°–λŠ” κ³„μ •μœΌλ‘œ Proposal Transaction 을 μ œμΆœν•œλ‹€.
제좜 λ˜λŠ” Proposal Transaction μ—λŠ” νˆ¬ν‘œ μ‹œμž‘ 및 νˆ¬ν‘œ κΈ°κ°„λ“± νˆ¬ν‘œμ— λŒ€ν•œ 기본정보와 μ œμ•ˆ λ‚΄μš©μ— ν•΄λ‹Ήλ˜λŠ” λ³€κ²½ λ‚΄μš©(ProposedGovParameters)이 ν¬ν•¨λœλ‹€. Proposal Transaction 이 μ •μƒμ μœΌλ‘œ 처리되면 ν•΄λ‹Ή λ‚΄μš©μ΄ 블둝체인에 기둝되고, μ΄λ‘œμ„œ μ œμ•ˆ μž‘μ—…μ΄ 마무리 λœλ‹€.
μ΄λ•Œ νˆ¬ν‘œ μžκ²©μ€ Proposal Transaction 이 처리된 μ‹œμ (블둝높이)μ—μ„œμ˜ Validator λ“€μ—κ²Œ λΆ€μ—¬λœλ‹€. λ˜ν•œ 이 μ‹œμ μ˜ μ§€λΆ„ 총합이 κ°€κ²° μ—¬λΆ€λ₯Ό νŒλ‹¨ν•  전체 지뢄이 λœλ‹€.

Proposal Transaction 은 λ‹€μŒκ³Ό 같은 λ‚΄μš©μ„ ν¬ν•¨ν•œλ‹€.

  • StartVotingHeight: νˆ¬ν‘œ μ‹œμž‘ 블둝 높이. ν˜„μž¬ 블둝 높이보닀 컀야 ν•œλ‹€.
    StartVotingHeight > {Current Block Height}
    
  • VotingPeriodBlocks: νˆ¬ν‘œ κΈ°κ°„ (λΈ”λ‘μˆ˜). ν˜„μž¬ μ μš©μ€‘μΈ Governance Parameters μ—μ„œ ν—ˆμš© ν•˜λŠ” λ²”μœ„ λ‚΄μ˜ 값이어야 ν•œλ‹€.
    GovParams.minVotingPeriodBlocks < VotingPeriodBlocks < GovParams.maxVotingPeriodBlocks
    
  • ApplyingHeight: νˆ¬ν‘œ 적용 블둝 높이. νˆ¬ν‘œ μ’…λ£Œ μ‹œμ  λΆ€ν„° μ΅œμ†Œ μ§€μ—° κΈ°κ°„ 보닀 μ΄ν›„λ‘œ μ„€μ •λ˜μ–΄μ•Ό ν•œλ‹€.
    ApplyingHeight > (StartVotingHeight + VotingPeriodBlocks + CurrGovParams.lazyApplyingBlocks)
    
  • ProposedGovParams: μƒˆλ‘œμš΄ Governance Parameters

νˆ¬ν‘œ

μ œμ•ˆ λ‚΄μš©(ProposedGovParams)에 λŒ€ν•œ Validator λ“€μ˜ νˆ¬ν‘œκ°€ μ§„ν–‰λœλ‹€. νˆ¬ν‘œλŠ” νˆ¬ν‘œλ‹¨μœΌλ‘œ ν¬ν•¨λœ Validator 듀이 각자 μžμ‹ μ˜ Voting Transaction을 μ œμΆœν•˜λŠ” κ²ƒμœΌλ‘œ 이루어진닀.
μ œμ•ˆμ΄ νˆ¬ν‘œ κΈ°κ°„(VogingPeriodBlocks)λ‚΄ 전체 Validator μ§€λΆ„μ˜ 2/3 이상 λ™μ˜λ₯Ό 얻을 경우 κ°€κ²° 되고, κ·Έλ ‡μ§€ λͺ»ν•œ μ œμ•ˆμ˜ 경우 μžλ™ 폐기 λœλ‹€.

적용

κ°€κ²°λœ Governance Parameters λŠ” Proposal Transaction에 λͺ…μ‹œλœ ApplyingHeight λ‹€μŒ 블둝(ApplyingHeight+1 블둝) λΆ€ν„° μ μš©λœλ‹€.

image

μ΄λŸ¬ν•œ 절차λ₯Ό 톡해 Governance Parametersλ₯Ό 쀑앙 집쀑 λ°©μ‹μ˜ 일방적 μ—…λ°μ΄νŠΈκ°€ μ•„λ‹Œ νƒˆμ€‘μ•™ν™” ν™˜κ²½μ—μ„œ ν•©μ˜λ₯Ό 톡해 μ—…λ°μ΄νŠΈ ν•¨μœΌλ‘œμ„œ, κ±°λ²„λ„ŒμŠ€μ˜ νƒˆμ€‘μ•™μ„±μ„ 높이고, 블둝체인 λ„€νŠΈμ›Œν¬μ˜ 쀑단 없이 onchain μƒνƒœμ—μ„œ μžλ™ 반영 λ¨μœΌλ‘œμ„œ λ„€νŠΈμ›Œν¬μ˜ 지속성을 높인닀.

Genesis Governance Parameters

라고 ν•˜κ³  λ‹€μŒκ³Ό 같이 κ΅¬μ„±λœλ‹€.

ν•­λͺ© μ„€λͺ… κΈ°λ³Έκ°’
version Governance parameters 버전 1
maxValidatorCnt μ΅œλŒ€ Validator Node 개수 21
minValidatorStake Validatorκ°€ 되기 μœ„ν•΄ μ§€λΆ„ μ „ν™˜ μ‹œ μ΅œμ†Œ μ§€λΆ„λŸ‰ 7,000,000 BTOZ ($7,000,000 \times 10^{18}$ fons)
minDelegatorStake μ§€λΆ„ μœ„μž„ μ‹œ μœ„μž„ν•˜λŠ” μ΅œμ†Œ μ§€λΆ„λŸ‰ 0
rewardPerPower Voting Power λ‹Ή 보상 μˆ˜λŸ‰ 4,756,468,797 fons
lazyUnstakingBlocks 지뢄을 λ‹€μ‹œ μžμ‚°μœΌλ‘œ μ „ν™˜ν•  λ•Œ μ§€μ—° 블둝 수 1,209,600 (block interval 1s, 2μ£Ό)
lazyApplyingBlocks μƒˆλ‘œμš΄ κ±°λ²„λ„ŒμŠ€ νŒŒλΌλ―Έν„° 적용 μ‹œ μ§€μ—° 블둝 수 86,400 (block interval 1s, 1일)
gasPrice gas λ‹Ή 가격 250 Gfons
minTrxGas νŠΈλžœμž­μ…˜ μ΅œμ†Œ Gas μˆ˜λŸ‰ 4,000
maxTrxGas νŠΈλžœμž­μ…˜ μ΅œλŒ€ Gas μˆ˜λŸ‰ 30,000,000
maxBlockGas ν•˜λ‚˜μ˜ 블둝에 ν¬ν•¨λ˜λŠ” νŠΈλžœμž­μ…˜ Gas μ΅œλŒ€ μˆ˜λŸ‰ 50,000,000
minVotingPeriodBlocks νˆ¬ν‘œ μ œμ•ˆ μ‹œ μ΅œμ†Œ νˆ¬ν‘œ κΈ°κ°„(블둝 수) 86,400 (block interval 1s, 1일)
maxVotingPeriodBlocks νˆ¬ν‘œ μ œμ•ˆ μ‹œ μ΅œλŒ€ νˆ¬ν‘œ κΈ°κ°„(블둝 수) 2,592,000 (block interval 1s, 30일)
minSelfStakeRatio Validator μ§€λΆ„ ꡬ성 쀑 μ΅œμ†Œ 자기 μ§€λΆ„ λΉ„μœ¨ (%) 50
maxUpdatableStakeRatio Validator λ³€κ²½ μ‹œ 변경될 수 μžˆλŠ” μ΅œλŒ€ μ§€λΆ„ μˆ˜λŸ‰ λΉ„μœ¨ (%) 33
maxIndividualStakeRatio ν•œ 계정이 확보할 수 μžˆλŠ” μ΅œλŒ€ μ§€λΆ„ λΉ„μœ¨ (%) 33
slashRatio λΉ„μž”ν‹΄ Validator 처벌 μ‹œ μ†Œκ°λ˜λŠ” μ§€λΆ„ λΉ„μœ¨ (%) 50
signedBlocksWindow λΉ„μž”ν‹΄ Validator 처벌 기쀀이 λ˜λŠ” 블둝 수 10,000
minSignedBlocks λΉ„μž”ν‹΄ Validator μ²˜λ²Œμ„ μœ„ν•œ μ΅œμ†Œ 블둝 μ„œλͺ… 개수 500
:seedling: :question: maxTotalSupply μ΅œλŒ€ λ°œν–‰ κ³΅κΈ‰λŸ‰ 700,000,000 BTOZ ($7\text{μ–΅} \times 10^{18}$ fons)
:seedling: inflationWeightRatio μΆ”κ°€ λ°œν–‰ 쑰절 κ³„μˆ˜ (‰) 290 = 0.290 (Permille λ‹¨μœ„)
:seedling: inflationCycleBlocks μΆ”κ°€ λ°œν–‰ μ£ΌκΈ° 블둝 수 1,209,600 (block interval 1s, 2μ£Ό)
:seedling: minBondingBlocks μ΅œμ†Œ μ§€λΆ„ 지속 κΈ°κ°„. 이 κΈ°κ°„ 이상 μ§€λΆ„ μƒνƒœκ°€ μ§€μ†λ˜μ–΄μ•Ό 보상 λ°œμƒ. 1,209,600 inflationCycleBlocks 와 λ™μΌν•œ κ°’
:seedling: bondingBlocksWeightRatio μ§€λΆ„ 지속 기간에 λŒ€ν•œ 보상 κ°€μ€‘μΉ˜ (‰) 2 = 0.002 (Permille λ‹¨μœ„)
:seedling: rewardPoolAddress 보상뢄(μΆ”κ°€ λ°œν–‰λΆ„)이 λ°œν–‰λ˜λŠ” μ£Όμ†Œ.
:seedling: :question: burnAddress μ†Œκ° μ „μš© μ£Όμ†Œ 0x0000000000000000000000000000000000000000 Private Key κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ£Όμ†Œ
:seedling: burnRatio μžλ™ μ†Œκ° λΉ„μœ¨ (%). 10