VotingPower - beatoz/beatoz-go GitHub Wiki

Voting Power (Stake)

BEATOZ๋Š” ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ PBFT(Practical Byzantine Fault Tolerance) ๊ธฐ๋ฐ˜์˜ DPoS(Delegated Proof of Stake) ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค. DPoS ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํŠน์„ฑ์ƒ, ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ํ•ฉ์˜ ๊ณผ์ •์— ์ฐธ์—ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Validator ์ž๊ฒฉ์„ ํš๋“ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ์ž์‚ฐ(BEATOZ ์ฝ”์ธ)์„ Voting Power (Stake) ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ์ด ๊ณผ์ •์„ Bonding ์ด๋ผํ•˜๊ณ , ๊ทธ ๋ฐ˜๋Œ€๋กœ Voting Power ๋ฅผ ์ „์†ก ๊ฐ€๋Šฅํ•œ ์ž์‚ฐ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ Unbonding ์ด๋ผ ํ•œ๋‹ค.

BEATOZ ์—์„œ Voting Power ํ™•๋ณด ๊ณผ์ •์œผ๋กœ์„œ Bonding์€ DeFi์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” Staking ๊ฐœ๋…๊ณผ๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋‹ค๋ฅด๋‹ค.
DeFi์—์„œ์˜ Staking์€ ํŠน์ • ์ž์‚ฐ์„ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ์— ์˜ˆ์น˜ํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ๋ณด์ƒ(์ด์ž)์„ ๋ฐ›๋Š” ํ˜•ํƒœ๋กœ์„œ, ๊ทธ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ์ž‘๋™๊ณผ๋Š” ๋ฌด๊ด€ํ•œ ๋ฐฉ์‹์œผ๋กœ ์„œ๋น„์Šค ๋ ˆ์ด์–ด ์ˆ˜์ค€์—์„œ ๊ตฌํ˜„๋˜๊ณ  ์ž‘๋™๋œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ BEATOZ์˜ Bonding์€ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ํ•ฉ์˜ ๊ณผ์ •์— ์ฐธ์—ฌํ•˜๊ธฐ ์œ„ํ•œ ํ•ต์‹ฌ์ ์ธ ๊ณผ์ •์ด๋‹ค. Bonding๋œ ์ž์‚ฐ์€ ๋‹จ์ˆœํžˆ ๋ณด์ƒ์„ ์œ„ํ•œ ์˜ˆ์น˜๊ฐ€ ์•„๋‹ˆ๋ผ, ๋„คํŠธ์›Œํฌ์˜ ๋ณด์•ˆ๊ณผ ์•ˆ์ •์„ฑ, ์ฆ‰ ๋ธ”๋ก์˜ ์ƒ์„ฑ๊ณผ ํ•ฉ์˜ ๋„๋‹ฌ์„ ์œ„ํ•ด ํ•„์ˆ˜์ ์œผ๋กœ ์š”๊ตฌ๋˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์ด๋‹ค. ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ์ฐธ์—ฌ์ž๋Š” Bonding์„ ํ†ตํ•ด์„œ Valdiator ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ Voting Power๋ฅผ ํš๋“ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Validator ๋Š” ๋ธ”๋ก ์ œ์•ˆ, ํˆฌํ‘œ ์ฐธ์—ฌ์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ๋‹น์—ฐํžˆ Validator ๊ฐ€ ์—†๋‹ค๋ฉด ๋ธ”๋ก์˜ ์ƒ์„ฑ ๋˜ํ•œ ์—†์œผ๋ฉฐ, ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ์—ญ์‹œ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์—†์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ์ค‘์ง€๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
์ด์™€ ๊ฐ™์ด ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ์œ ์ง€์— Validator๋Š” ํ•„์ˆ˜์ ์œผ๋กœ ์กด์žฌํ•ด์•ผ ํ•˜๋ฉฐ, ์ด Validator๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด Bonding ์ด๋‹ค. (์ด์— ๋Œ€ํ•œ ๋ณด์ƒ์€ ์ž์‚ฐ์„ ์˜ˆ์น˜(์ž ๊ธˆ์ƒํƒœ)ํ•œ ๊ฒƒ์— ๋Œ€ํ•œ ๋Œ€๊ฐ€๋กœ์„œ์˜ ๋ณด์ƒ์ด ์•„๋‹Œ Valdiator ์—ญํ•  ์ˆ˜ํ–‰์— ๋Œ€ํ•œ ๋ณด์ƒ์ด๋‹ค.)
๋”ฐ๋ผ์„œ, ์ž์‚ฐ์„ ์ž ๊ธˆ ์ƒํƒœ๋กœ ๋งŒ๋“ค๊ณ  ๊ทธ์— ๋Œ€ํ•œ ๋ณด์ƒ(์ด์ž)๋ฅผ ๋ฐ›๊ฒŒ๋˜๋Š” ๊ฒฐ๊ณผ์  ์ธก๋ฉด์—์„œ ์œ ์‚ฌํ•˜๋‹ค ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๊ฒƒ์˜ ๋ชฉ์ ๊ณผ ์—ญํ• ์— ์žˆ์–ด์„œ DeFi์˜ Staking ๊ณผ๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋‹ค๋ฅด๋‹ค.

Note

๋ฌธ์„œ ์ „์ฒด์— ๊ฑธ์ณ '์ง€๋ถ„', 'Stake', 'Voting Power' ๋Š” ๋ชจ๋‘ ๋™์ผํ•œ ์˜๋ฏธ ์ด๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 'Staking', 'Bonding' ์—ญ์‹œ ๋™์ผํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ DeFi ์˜ ๊ทธ๊ฒƒ๊ณผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๊ฐ€๊ธ‰์  'Voting Power', 'Bonding' ๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.

Bonding

BEATOZ ์ƒ์˜ ์ž์‚ฐ์„ Voting Power ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.
BEATOZ์˜ Validator ๋กœ์„œ ๋ธ”๋ก ํ•ฉ์˜ ๋„๋‹ฌ ๊ณผ์ •์— ์ง์ ‘์ ์œผ๋กœ ์ฐธ์—ฌ๊ณ ์ž ํ•˜๋Š” ๊ณ„์ •์€ TrxPayloadStaking ํŠธ๋žœ์žญ์…˜์„ ๋„คํŠธ์›Œํฌ์— ์ œ์ถœํ•œ๋‹ค. ์ œ์ถœ๋œ ํŠธ๋žœ์žญ์…˜์ด ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋ฉด, ํŠธ๋žœ์žญ์…˜์— ๋ช…์‹œ๋œ ์ˆ˜๋Ÿ‰ ๋งŒํผ์˜ ์ž์‚ฐ์ด Voting Power๋กœ ์ „ํ™˜๋˜๊ณ , ์ด๋กœ ๋ถ€ํ„ฐ ์ผ์ • ๋ธ”๋ก ์ดํ›„ ์‹œ์  ๋ถ€ํ„ฐ ํ•ด๋‹น ๊ณ„์ •์€ Validator ์ž๊ฒฉ์„ ๋“ํ•˜๊ฒŒ ๋œ๋‹ค. Validator๊ฐ€ ๋˜๋ฉด ์ƒˆ๋กœ์šด ๋ธ”๋ก ์ œ์•ˆ, ํˆฌํ‘œ๋ฅผ ํ†ตํ•œ ํ•ฉ์˜ ๋„๋‹ฌ ๊ณผ์ •์— ์ง์ ‘์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๊ณผ์ •์€ ํ•ด๋‹น ๊ณ„์ •์˜ ์†Œ์œ ์ž์— ์˜ํ•œ ์ˆ˜์ž‘์—…์ด ์•„๋‹Œ, ํ•ด๋‹น ๊ณ„์ •์˜ Private Key๋ฅผ ์ž„ํฌํŠธํ•˜์—ฌ Validator์— ์˜ํ•˜์—ฌ ์‹คํ–‰๋˜๋Š” ์‹œ์Šคํ…œ, BEATOZ ๋…ธ๋“œ์— ์˜ํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์ฆ‰ Validator๋Š” ์ž์‹ ์˜ Private Key๋ฅผ ์ž„ํฌํŠธํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜๋Š” BEATOZ ๋…ธ๋“œ๋ฅผ ์šด์˜ํ•ด์•ผ ํ•˜๋ฉฐ,

Note

Validator์— ์˜ํ•˜์—ฌ ๋ธ”๋ก ์ œ์•ˆ ๋ฐ ์ œ์•ˆ๋œ ๋ธ”๋ก์— ์„œ๋ช…ํ•˜๋„๋ก ์ž‘๋™ํ•˜๋Š” ๋…ธ๋“œ๋ฅผ Validator Node ๋ผ ํ•œ๋‹ค. ์ด ๋ฌธ์„œ์—์„œ Validator ๋ผ๋Š” ์šฉ์–ด๋Š”, ๋ฌธ๋งฅ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋ถ„๋ณ„์ด ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋‚ด์—์„œ, ์ถฉ๋ถ„ํ•œ Voting Power๋ฅผ ํ™•๋ณดํ•œ ๊ณ„์ •์˜ ์†Œ์œ ์ž(Validator) ๋˜๋Š” Validator Node ์ž์ฒด๋ฅผ ์˜๋ฏธํ•˜๋Š” ์šฉ๋„๋กœ ํ˜ผ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

TrxPayloadStaking ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์™€ Voting Power ์ „ํ™˜ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

BlockN

  • TrxPayloadStaking ์‹คํ–‰.

    BEATOZ์˜ ์›์žฅ์— ํ•ด๋‹น ๊ณ„์ •(sender)์˜ ์ง€๋ถ„์„ ์ฆ๊ฐ€ ์‹œํ‚ค๊ณ , ๋™์‹œ์— ํ•ด๋‹น ์ˆ˜๋Ÿ‰ ๋งŒํผ ์ž”์•ก(balance)๋ฅผ ๊ฐ์†Œ ์‹œํ‚จ๋‹ค.

  • Validator Set ๊ณ„์‚ฐ

    ์•ž์„  ์ง€๋ถ„ ์›์žฅ์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ์—…๋ฐ์ดํŠธ ๋˜์—ˆ์œผ๋‚˜ ์•„์ง ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ์ƒํƒœ์ด๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์ปค๋ฐ‹๋œ ๊ฒƒ์€ ์ด์ „ ๋ธ”๋ก์ธ BlockN-1 ์—์„œ ์ปค๋ฐ‹๋œ ์›์žฅ์ด๋‹ค. ๋”ฐ๋ผ์„œ BlockN-1 ์—์„œ ์ปค๋ฐ‹๋œ ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ ์ƒˆ๋กœ์šด Validator Set์„ ๊ณ„์‚ฐ ํ•˜๊ณ , ์ด๋ฅผ Consensus Engine ์œผ๋กœ ์ „๋‹ฌ ํ•œ๋‹ค. (Voting Power ๋ณ€๊ฒฝ ์—†์Œ)

  • Validator Set ์—…๋ฐ์ดํŠธ

    Consensus Engine ์€ ํ˜„์žฌ NextValidatorSet ์˜ ๋‚ด์šฉ์œผ๋กœ ๋‹ค์Œ ๋ธ”๋ก BlockN+1์— ์ ์šฉํ•  Validator Set์„ ๊ตฌ์„ฑํ•œ๋‹ค.
    ์ด ์‹œ์ ์—์„œ NextValidatorSet์€ BlockN-2 ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋œ Validator Set ์ด๋‹ค.
    ์ƒˆ๋กœ ์ „๋‹ฌ ๋ฐ›์€ Validator Set ์œผ๋กœ NextValidatorSet์„ ์„ค์ •ํ•œ๋‹ค.
    ์ด ์‹œ์ ์—์„œ NextValidatorSet์€ BlockN-1 ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋œ Validator Set ์ด๋‹ค. (์•„์ง TrxPayloadStaking ์‹คํ–‰ ๋ฐ˜์˜ ์•ˆ๋œ ์ƒํƒœ.)

  • BlockN ์ปค๋ฐ‹
    ์•ž์„œ ์—…๋ฐ์ดํŠธ๋œ (TrxPayloadStaking ์‹คํ–‰์ด ๋ฐ˜์˜๋œ) ์›์žฅ์„ ์ปค๋ฐ‹ํ•œ๋‹ค.

BlockN+1

  • Validator Set ๊ณ„์‚ฐ

  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์ปค๋ฐ‹๋œ BlockN ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ Validator Set์„ ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ Consensus Engine ์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค. (Voting Power ๋ณ€๊ฒฝ ์žˆ์Œ)

  • Validator Set ์—…๋ฐ์ดํŠธ

    Consensus Engine ์€ ํ˜„์žฌ NextValidatorSet ์˜ ๋‚ด์šฉ์œผ๋กœ ๋‹ค์Œ ๋ธ”๋ก BlockN+2์— ์ ์šฉํ•  Validator Set์„ ๊ตฌ์„ฑํ•œ๋‹ค.
    ์ด ์‹œ์ ์—์„œ NextValidatorSet์€ BlockN-1 ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋œ Validator Set ์ด๋‹ค. (์•„์ง TrxPayloadStaking ์‹คํ–‰ ๋ฐ˜์˜ ์•ˆ๋œ ์ƒํƒœ.)
    ์ƒˆ๋กœ ์ „๋‹ฌ ๋ฐ›์€ Validator Set ์œผ๋กœ NextValidatorSet์„ ์„ค์ •ํ•œ๋‹ค.
    ์ด ์‹œ์ ์—์„œ NextValidatorSet์€ BlockN ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋œ Validator Set ์ด๋‹ค. (์•„์ง TrxPayloadStaking ์‹คํ–‰ ๋ฐ˜์˜.)

  • BkockN+1 ์ปค๋ฐ‹

    Voting Power ๋ณ€๊ฒฝ ์—†์Œ.

BlockN+2

  • Validator Set ๊ณ„์‚ฐ

    ๋งˆ์ง€๋ง‰์œผ๋กœ ์ปค๋ฐ‹๋œ BlockN+1 ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ Validator Set์„ ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ Consensus Engine ์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค. (Voting Power ๋ณ€๊ฒฝ ์—†์Œ)

  • Validator Set ์—…๋ฐ์ดํŠธ

    Consensus Engine ์€ ํ˜„์žฌ NextValidatorSet ์˜ ๋‚ด์šฉ์œผ๋กœ ๋‹ค์Œ ๋ธ”๋ก BlockN+3์— ์ ์šฉํ•  Validator Set์„ ๊ตฌ์„ฑํ•œ๋‹ค.
    ์ด ์‹œ์ ์—์„œ NextValidatorSet์€ BlockN ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋œ Validator Set ์ด๋‹ค. (์•„์ง TrxPayloadStaking ์‹คํ–‰ ๋ฐ˜์˜.)
    ์ƒˆ๋กœ ์ „๋‹ฌ ๋ฐ›์€ Validator Set ์œผ๋กœ NextValidatorSet์„ ์„ค์ •ํ•œ๋‹ค.
    ์ด ์‹œ์ ์—์„œ NextValidatorSet์€ BlockN+1 ์›์žฅ์„ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐ๋œ Validator Set ์ด๋‹ค.

  • BkockN+2 ์ปค๋ฐ‹

    Voting Power ๋ณ€๊ฒฝ ์—†์Œ.

BlockN+3

BlockN ์—์„œ ์ฒ˜๋ฆฌ๋œ TrxPayloadStaking์— ์˜ํ•ด ๋ณ€๊ฒฝ๋œ Validator Set ์— ์˜ํ•ด ์ƒ์„ฑ ๋ฐ ์„œ๋ช…๋œ ์ตœ์ดˆ ๋ธ”๋ก์ด๋‹ค.

BlockN+4

BlockN์—์„œ ์ฒ˜๋ฆฌ๋œ TrxPayloadStaking ์— ์˜ํ•ด Validator ๊ฐ€๋œ ๊ณ„์ •์— ๋Œ€ํ•œ ๋ณด์ƒ์ด ์ฃผ์–ด์ง„๋‹ค.

์œ„์™€ ๊ฐ™์ด TrxPayloadStaking ํŠธ๋žœ์žญ์…˜์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง์— ๋”ฐ๋ผ, BlockN ์—์„œ Voting Power๋ฅผ ํš๋“ํ•œ ๊ณ„์ •์€,

  • BlockN+3 ์—์„œ ๋ถ€ํ„ฐ Valdiator ์ž๊ฒฉ์„ ํš๋“ํ•˜๊ณ ,
  • BlockN+4 ์—์„œ ๋ถ€ํ„ฐ ๋ณด์ƒ์„ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.

์ฆ‰, ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋ถ€ํ„ฐ ๋ณด์ƒ์ด ์ด๋ฃจ์–ด์ง€๊ธฐ ๊นŒ์ง€ ์ด 4 Bocks ์ง€์—ฐ์ด ์กด์žฌํ•œ๋‹ค. ์ด๋Š” Unbonding ๊ณผ์ •์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋˜์–ด TrxPayloadUnstaking ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์™€ ๋ณด์ƒ ์ค‘์ง€๊นŒ์ง€ ๋™์ผํ•œ ์ง€์—ฐ์ด ์กด์žฌํ•œ๋‹ค.

reward sequence

Unbonding

Voting Power ๋ฅผ ๋‹ค์‹œ ์ž์‚ฐ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ • ์ด๋‹ค.

BEATOZ์˜ Validator ๋กœ์„œ์˜ ์—ญํ• ์„ ๊ทธ๋งŒ ํ•˜๊ณ ์ž ํ•˜๋Š” Validator๋Š” TrxPayloadUnstaking ํŠธ๋žœ์žญ์…˜์„ ๋„คํŠธ์›Œํฌ์— ์ œ์ถœํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ œ์ถœ๋œ ํŠธ๋žœ์žญ์…˜์€ Bonding ์—์„œ ๊ธฐ์ˆ ํ•œ ๋ฐ”์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ฒ˜๋ฆฌ๋œ๋‹ค. ์ฆ‰ 4 Blocks ์ง€์—ฐ์„ ๊ฑฐ์ ธ Validator Set ์—์„œ ์ œ๊ฑฐ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Voting Power๊ฐ€ ๋‹ค์‹œ ์ „์†ก ๊ฐ€๋Šฅํ•œ ์ž์‚ฐ์œผ๋กœ ์ „ํ™˜๋˜๊ธฐ ๊นŒ์ง€ ๋˜ ๋‹ค๋ฅธ ์ถ”๊ฐ€์ ์ธ ์ง€์—ฐ์ด ์กด์žฌํ•œ๋‹ค. ์ด ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ง€์—ฐ ์‹œ๊ฐ„์€ Governance Parameters์˜ lazyUnstakingBlocks์˜ ๊ฐ’์œผ๋กœ ๊ฒฐ์ •๋œ๋‹ค.

alt text

Proposer Selection

BEATOZ์˜ ์ƒˆ๋กœ์šด ๋ธ”๋ก ์ƒ์„ฑ์€ Validator ์ค‘ Proposer ๋กœ ์„ ์ถœ๋œ ํŠน์ • Validator์— ์˜ํ•œ ๋ธ”๋ก ์ œ์•ˆ์œผ๋กœ ์‹œ์ž‘๋œ๋‹ค.
Proposer๋Š” ํ˜„์žฌ ์‹œ์ ์˜ Validator ๋“ค ์ค‘์—์„œ ์„ ์ถœ๋˜๋Š”๋ฐ, ์ด๋Š” ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๊ฐ์ž ๊ณ„์‚ฐํ•œ ์„ ์ถœ ๊ฒฐ๊ณผ๊ฐ€ ๊ฒฐ์ •๋ก ์ ์œผ๋กœ ๋™์ผํ•จ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ ์šฉ๋œ๋‹ค.

def ProposerSelection(ValidatorSet) :

    for each v in ValidatorSet:
        A(v) += VP(v)

    P = max(A)
    A(P) -= VP

ํ˜„์žฌ ๋ธ”๋ก ๋†’์ด์—์„œ์˜ ๋ชจ๋“  Validator(ValidatorSet)์— ๋Œ€ํ•˜์—ฌ, ๊ฐ์ž ์ž์‹ ์˜ Voting Power(VP(v)) ๋”ํ•จ ์œผ๋กœ์„œ Valdiator v์˜ ๋ˆ„์  ์šฐ์„  ์ˆœ์œ„(A(v)) ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์—…๋ฐ์ดํŠธ๋œ ๋ˆ„์  ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๊ฐ–๋Š” Validator v ๋ฅผ Proposer P๋กœ ์„ ์ถœํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์„ ์ถœ๋œ P๊ฐ€ ๋‹ค์Œ ์„ ์ถœ๊ณผ์ •์—์„œ๋„ ์—ฐ์ด์–ด ์„ ์ถœ๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•˜์—ฌ P์˜ ๋ˆ„์  ์šฐ์„  ์ˆœ์œ„๋Š” ์ „์ฒด ์ง€๋ถ„(VP) ๋งŒํผ ๋‹ค์‹œ ์ฐจ๊ฐ๋œ๋‹ค. (์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„ ์ง„๋‹ค.)

์ด์™€ ๊ฐ™์€ ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๋…ธ๋“œ๋Š” ํŠน์ • ๋ธ”๋ก ๋†’์ด์—์„œ ๋™์ผํ•œ P๋ฅผ ๊ฐ–๊ฒŒ ๋˜๋ฉฐ, Validator๋Š” Voting Power(VP(v))๊ฐ€ ํด์ˆ˜๋ก ๋” ์ž์ฃผ, ๋” ๋งŽ์ด Proposer์— ์„ ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.

Bonding Limit

์ œ์•ˆ๋œ ๋ธ”๋ก์— ๋Œ€ํ•œ ํ™•์ • ๊ธฐ์ค€์€ ํ˜„์žฌ Validator ๋“ค์˜ ์ „์ฒด Voting Power ์˜ 2/3 ์ด์ƒ์˜ ์„œ๋ช…์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ์˜ ํ•  ๊ฒƒ์€ Validator ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ Validator ์˜ Voting Power ๊ฐ€ ๊ธฐ์ค€์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Š” ํŠน์ • Validator ๊ฐ€ ์ „์ฒด Voting Power์˜ 2/3 ์ด์ƒ์„ ๋…์ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋˜๋ฉด ํ•ด๋‹น Validator์— ์˜ํ•ด ์กฐ์ž‘๋œ ๋ธ”๋ก ์ œ์•ˆ์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฉฐ ์ด ๋ธ”๋ก์— ๋Œ€ํ•œ ์ปดํŽŒ ์—ญ์‹œ ๋‹ค๋ฅธ Validator ๋“ค์˜ ์—ญํ• (์„œ๋ช…) ์—†์ด ์ „์ฒด ๋„คํŠธ์›Œํฌ์— ๋ฐ›์•„๋“ค์—ฌ์ง€๋„๋ก ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค.
๋˜ํ•œ ํŠน์ • Validator ๊ฐ€ ์ „์ฒด Voting Power์˜ 1/3 ์ด์ƒ์„ ๋…์ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ธ”๋ก ์กฐ์ž‘์€ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ธ”๋ก ์ƒ์„ฑ์„ ์ค‘๋‹จ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ํŠน์ • Validator ๊ฐ€ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ Voting Power ์— ๋Œ€ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ์ œํ•œ์ด ์ ์šฉ๋œ๋‹ค.

  • Validator ๋Š” ์ „์ฒด Voting Power ์˜ 1/3 ์ด์ƒ์˜ Voting Power๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.
  • ๋ณ€๊ฒฝ๋˜๋Š” Voting Power ์ˆ˜๋Ÿ‰์€ ์ „์ฒด Voting Power ์˜ 1/3 ์ด์ƒ ๋  ์ˆ˜ ์—†๋‹ค.
  • Validator ๋Š” ์ž์‹ ์˜ ์ „์ฒด Voting Power ์—์„œ ์ผ์ • ๋น„์œจ ์ด์ƒ ์œ„์ž„ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค.

Note

BEATOZ ๋Š” ์ด์™€ ๊ด€๋ จ๋œ ์ œํ•œ์„ Governance Parameters๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ด€๋ จ๋œ ํŒŒ๋ผ๋ฉ”ํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • maxIndividualStakeRatio : ํŠน์ • ๊ณ„์ •์ด ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ง€๋ถ„ ๋น„์œจ.
  • maxUpdatableStakeRatio: Validator ๋ณ€๊ฒฝ ์‹œ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ง€๋ถ„ ์ˆ˜๋Ÿ‰.
  • minSelfStakeRatio: Validator ์ง€๋ถ„ ๊ตฌ์„ฑ ์ค‘ ์ตœ์†Œ ์ž๊ธฐ ์ง€๋ถ„ ๋น„์œจ.
โš ๏ธ **GitHub.com Fallback** โš ๏ธ