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
λΈλ‘) λΆν° μ μ©λλ€.
μ΄λ¬ν μ μ°¨λ₯Ό ν΅ν΄ 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 |
||
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 |