Reward - beatoz/beatoz-go GitHub Wiki
Reward
BEATOZ ๋ธ๋ก์ฒด์ธ์ ๋คํธ์ํฌ์ ๋ณด์์ ์ ์งํ๊ณ ํฉ์๋ฅผ ์ํํ๋ Validator๋ค์๊ฒ ๊ฒฝ์ ์ ์ธ์ผํฐ๋ธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ธ๋ก ๋ณด์๊ณผ ํธ๋์ญ์ ์์๋ฃ ๋ณด์์ ํฌํจํ๋ ๋ณด์ ์์คํ ์ ์ด์ํ๋ค. BEATOZ์ ๋ณด์ ์์คํ ์ ์ถ๊ฐ ๋ฐํ๋ BTOZ์ ์ผ์ ๋ ๋ฐฐ๋ถ๊ณผ ํธ๋์ญ์ ์์๋ฃ์ ์ง๊ธ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๋ฅผ ํตํด ๊ฒ์ฆ์ธ๋ค์ด ์์ ์ ์ผ๋ก ๋คํธ์ํฌ ์ด์์ ๊ธฐ์ฌํ ์ ์๋๋ก ์ค๊ณ๋์ด ์๋ค.
๋ธ๋ก ๋ณด์
BEATOZ ๋คํธ์ํฌ์์๋ ์ผ์ ์ฃผ๊ธฐ ๋ง๋ค ์ถ๊ฐ์ ์ธ BEATOZ ์ฝ์ธ์ด ๋ฐํ๋๋ฉฐ, ์ด๋ฅผ ๊ฒ์ฆ์ธ๋ค์๊ฒ ๋ณด์์ผ๋ก ์ง๊ธํ๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ฐํ๋๋ ์๋์ ์ด ๋ฐํ ๊ณต๊ธ๋ ๊ณ์ฐ์์ผ๋ก ๋ถํฐ ์๋์ ๊ฐ์ด ๊ตฌํ ์ ์๋ค.
$$ \begin{align} \Delta S_i &= S_i - S_{i-C} \ &= (S_{max}-S_d) \times \frac {(1+\lambda)^{W_{\forall u} H_C} - 1}{(1+\lambda)^{W_{\forall u} H_{i-d}}} \end{align} $$
[!note]
์ฌ๊ธฐ์ $C$ ๋ ์ถ๊ฐ ๋ฐํ ์ฃผ๊ธฐ (๋ณด์ ์ฃผ๊ธฐ) ๋ฅผ ์๋ฏธํ๋ฉฐ Governance Parameters ์inflationCycleBlocks
์ ํด๋นํ๋ค.
์ ์ ๊ฐ์ด ๊ณ์ฐ๋ ์ถ๊ฐ ๋ฐํ๋์ ๊ฐ Validator ์ Voting Power ๊ฐ์ค์น $W_u$๋ฅผ ๊ณฑํ์ฌ ๊ฐ๊ฐ์ ๋ณด์๋์ ๊ฒฐ์ ํ๋ค. Validator $u$์ ๋ณด์๋ $R_u$ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
R_u = W_u \cdot \Delta S
ํธ๋์ญ์ ์์๋ฃ ๋ณด์
BEATOZ ๋คํธ์ํฌ์์๋ ๊ฒ์ฆ์ธ๋ค์ด ํธ๋์ญ์ ์์๋ฃ๋ฅผ ํตํด ์ถ๊ฐ์ ์ธ ๋ณด์์ ๋ฐ์ ์ ์๋๋ก ์ค๊ณ๋์ด ์๋ค. ๋ค๋ง, ๋ชจ๋ ํธ๋์ญ์ ์์๋ฃ๊ฐ ๊ฒ์ฆ์ธ์๊ฒ ์ง๊ธ๋๋ ๊ฒ์ด ์๋๋ผ, ์ผ์ ๋น์จ์ ์๋์ผ๋ก ์๊ฐ๋ ํ ๋๋จธ์ง๋ง ์ง๊ธ๋๋ ๋ฐฉ์์ ๋ฐ๋ฅธ๋ค.
\begin{align}
F_{sum} : \text{ํ๋์ ๋ธ๋ก์ ํฌํจ๋ ๋ชจ๋ ํธ๋์ญ์
์์๋ฃ์ ํฉ.} \\
\end{align}
\begin{align}
F_{sum} \Rightarrow \begin{cases}
F_{burned} = F_{sum} \times \beta, & sender \xrightarrow{F_{burned}} Burn Address \\
F_{reward} = F_{sum} \times (1 - \beta), & sender \xrightarrow{F_{reward}} Proposer (Validator) \\
\end{cases}
\end{align}
ํธ๋์ญ์ ์์๋ฃ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
-
์ฌ์ฉ์๊ฐ ํธ๋์ญ์ ์ ๋ฐ์์ํค๋ฉด ํธ๋์ญ์ ์์๋ฃ๊ฐ ๋ถ๊ณผ๋จ.
-
๋ถ๊ณผ๋ ํธ๋์ญ์ ์์๋ฃ์ค ์ผ๋ถ($F_{sum} \times \beta$) ๋งํผ ์๊ฐ ์ฒ๋ฆฌ.
-
๋๋จธ์ง ์์๋ฃ( $F_{sum} \times (1 - \beta)$ )๋ ๋ธ๋ก์ ์ ์ํ Proposer(๊ฒ์ฆ์ธ)์๊ฒ ์ง๊ธ๋จ.
์ด๋ฅผ ํตํด, ๊ฒ์ฆ์ธ๋ค์ ํธ๋์ญ์
์ด ๋ง์ด ๋ฐ์ํ ์๋ก ๋ ๋ง์ ๋ณด์์ ๋ฐ์ ์ ์์ผ๋ฉฐ, ๋์์ ์๊ฐ ๋ฉ์ปค๋์ฆ์ ํตํด BEATOZ ์ฝ์ธ์ ํฌ์์ฑ์ด ์ ์ง๋๋ค.
๋ํ, ์ด ์๊ฐ ๋น์จ $\beta$ ๋ Governance Parameters ์ burnRatio
์ ํด๋นํ๋ฉฐ, ๋คํธ์ํฌ ๊ฑฐ๋ฒ๋์ค๋ฅผ ํตํด ๋ณ๊ฒฝํ ์ ์๋๋ก ์ค๊ณ๋์ด ์๋ค.
Punishment
BEATOZ ๋ธ๋ก์ฒด์ธ์ ๋คํธ์ํฌ์ ์ ๋ขฐ์ฑ๊ณผ ๋ณด์์ ์ ์งํ๊ธฐ ์ํด ๊ฒ์ฆ์ธ(Validator) ์ฒ๋ฒ ์ ์ฑ ์ ์ด์ํ๋ค. ๊ฒ์ฆ์ธ์ด ์ ์์ ์ธ ํ๋์ ํ๊ฑฐ๋ ์ง์์ ์ผ๋ก ๋คํธ์ํฌ ์ด์์ ๊ธฐ์ฌํ์ง ์์ ๊ฒฝ์ฐ, Voting Power๊ฐ ๊ฐ์ ๋ก ์ค์ด๋ค๊ณ , ํด๋น ์ง๋ถ(BTOZ)์ด ์๊ฐ๋๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฒ์ด ์ด๋ฃจ์ด์ง๋ค. ์ด๋ฅผ ํตํด BEATOZ ๋คํธ์ํฌ๋ ํฉ์ ๊ณผ์ ์์์ ๋ณด์์ฑ์ ๊ฐํํ๊ณ , ๊ฒ์ฆ์ธ๋ค์ด ์ฑ์คํ๊ฒ ๋คํธ์ํฌ ์ด์์ ์ฐธ์ฌํ๋๋ก ์ ๋ํ๋ค.
BEATOZ์์ ์ฒ๋ฒ์ด ์ ์ฉ๋๋ ์ฃผ์ ์ฌ๋ก๋ ๋ ๊ฐ์ง๋ค.
์ฒซ ๋ฒ์งธ๋ Double Signing(์ด์ค ์๋ช
) ํ์๋ฅผ ํ๋ ๊ฒฝ์ฐ์ด๋ค.
๊ฒ์ฆ์ธ์ด ๋์ผํ ๋ธ๋ก ๋์ด์์ ์ฌ๋ฌ ๊ฐ์ ๋ธ๋ก์ ์๋ช
ํ๋ ํ์๋ ๋คํธ์ํฌ์ ๋ฌด๊ฒฐ์ฑ์ ํด์น ์ ์๋ ์ฌ๊ฐํ ๋ถ์ ํ์๋ก ๊ฐ์ฃผ๋๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด, BEATOZ๋ Double Signing์ด ๊ฐ์ง๋์์ ๊ฒฝ์ฐ ํด๋น ๊ฒ์ฆ์ธ์ Voting Power๋ฅผ ๊ฐ์ ๋ก ์ค์ธ๋ค.
์ด ์กฐ์น๋ ๋คํธ์ํฌ ๊ณต๊ฒฉ์ ๋ง๊ธฐ ์ํ ๊ฐ๋ ฅํ ์ต์ ์ฅ์น์ด๋ฉฐ, ๊ฒ์ฆ์ธ๋ค์ด ์ ์งํ๊ฒ ํฉ์ ๊ณผ์ ์ ์ฐธ์ฌํ ์ ์๋๋ก ํ๋ค.
๋ ๋ฒ์งธ๋ ๋ธ๋ก ์๋ช
๋ถ์ดํ์ด๋ค.
๊ฒ์ฆ์ธ์ ์ผ์ ๊ธฐ๊ฐ ๋์ ๋ธ๋ก ์์ฑ ๋ฐ ๊ฒ์ฆ ๊ณผ์ ์์ ์ง์์ ์ผ๋ก ์ฐธ์ฌํด์ผ ํ ์๋ฌด๊ฐ ์๋ค.
๊ฒ์ฆ์ธ์ Governance Parameters์ ์ ์๋ ํน์ ํ ๊ธฐ๊ฐ์ธ signedBlocksWindow
๋์ ์ต์ minSignedBlocks
๊ฐ์ ๋ธ๋ก์ ์๋ช
ํด์ผ ํ๋ค. ๋ง์ฝ ์ด ๊ธฐ์ค์ ์ถฉ์กฑํ์ง ๋ชปํ๋ฉด ํด๋น ๊ฒ์ฆ์ธ์ ๋คํธ์ํฌ ๊ธฐ์ฌ๋๊ฐ ๋ฎ๋ค๊ณ ํ๋จ๋์ด ์ฒ๋ฒ์ ๋ฐ๊ฒ ๋๋ค.
๋ธ๋ก ์๋ช
์ ์ง์์ ์ผ๋ก ์ฐธ์ฌํ์ง ์๋ ๊ฒ์ฆ์ธ์ ๋คํธ์ํฌ ์์ ์ฑ์ ํด์น ์ํ์ด ์๊ธฐ ๋๋ฌธ์, BEATOZ๋ ์ด๋ค์ ๋์์ผ๋ก Voting Power๋ฅผ ๊ฐ์ ์ ์ผ๋ก ์ค์ด๋ ๋ฐฉ์์ ์ ์ฌ๋ฅผ ๊ฐํ๋ค. ๊ฒฐ๊ตญ, ์๋ช
์ฐธ์ฌ๋ฅผ ์ํํ ํ ๊ฒ์ฆ์ธ์ Voting Power ์ผ๋ถ๋ฅผ ์๊ฒ ๋๋ค.
BEATOZ์ ์ฒ๋ฒ์ ํน์ ๋น์จ์ ๋ฐ๋ผ ์ด๋ฃจ์ด์ง๋ค.
์ฒ๋ฒ์ ๊ฐ๋๋ Governance Parameters์ ์ ์๋ slashRatio
๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ์ ๋๋ฉฐ, ๊ฒ์ฆ์ธ์ ํ์ฌ Voting Power์์ slashRatio
% ๋งํผ ๊ฐ์ ์ฐจ๊ฐ๋๋ค.
Voting Power๊ฐ ์ค์ด๋ ๋ค๋ ๊ฒ์ ํด๋น ๊ฒ์ฆ์ธ์ด ๋คํธ์ํฌ์์ ํ์ฌํ ์ ์๋ ์ํฅ๋ ฅ์ด ๊ฐ์ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ,
๋์์ ๊ฐ์ํ Voting Power์ ํด๋นํ๋ BTOZ๊ฐ ๊ฐ์ ์๊ฐ๋๋ ์
์ด๋ฏ๋ก ๊ฒฝ์ ์ ์ธ ์์ค๋ ๋ฐ์ํ๋ค.
์ด๋ก ์ธํด ๊ฒ์ฆ์ธ์ ๋ถ์ ํ์๋ฅผ ์ ์ง๋ฅด๊ฑฐ๋ ๋คํธ์ํฌ ์ด์์ ์ํํ ํ์ ๋ ๊ฒฝ์ ์ ๋ถ์ด์ต์ ๊ฐ์ํด์ผ ํ๋ฉฐ, ์ง์์ ์ธ ๋คํธ์ํฌ ๊ธฐ์ฌ๋ฅผ ๊ฐ์ ๋ฐ๊ฒ ๋๋ค.
BEATOZ์ ์ฒ๋ฒ ์์คํ ์ ๋คํธ์ํฌ์ ์ ๋ขฐ์ฑ๊ณผ ๋ณด์์ ์ ์งํ๋ ํต์ฌ์ ์ธ ์ญํ ์ ํ๋ค. ๊ฒ์ฆ์ธ์ด ๋ถ์ ํ์๋ฅผ ํ๊ฑฐ๋ ๋คํธ์ํฌ ์ด์์ ์ํํ ํ๋ฉด ์ฆ๊ฐ์ ์ธ ๊ฒฝ์ ์ ๋ถ์ด์ต์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ํตํด ๊ฒ์ฆ์ธ๋ค์ด ์ ์งํ๊ฒ ์ด์์ ์ฐธ์ฌํ ์๋ฐ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ ๋ค. ๋ํ, ๋์ผํ ๋ธ๋ก ๋์ด์์ ์ฌ๋ฌ ๊ฐ์ ๋ธ๋ก์ ์๋ช ํ๋ Double Signing ํ์๋ฅผ ๋ฐฉ์งํจ์ผ๋ก์จ, ๊ฒ์ฆ์ธ์ด ๋คํธ์ํฌ ๊ณต๊ฒฉ์ ์๋ํ ๋๊ธฐ๋ฅผ ์์ฒ์ ์ผ๋ก ์ฐจ๋จํ๋ค. ๋๋ถ์ด, ๋ธ๋ก ์์ฑ๊ณผ ๊ฒ์ฆ ๊ณผ์ ์์ ๊ฒ์ฆ์ธ์ ์ฐธ์ฌ๋ฅผ ์ง์์ ์ผ๋ก ์๊ตฌํ๊ธฐ ๋๋ฌธ์, BEATOZ์ ๋คํธ์ํฌ๋ ์์ ์ ์ผ๋ก ์ ์ง๋ ์ ์๋ค.
BEATOZ์ ์ฒ๋ฒ ์ ์ฑ
์ ๋จ์ํ ์ผ๋ฐฉ์ ์ธ ๊ท์น์ด ์๋๋ผ, ๊ฑฐ๋ฒ๋์ค๋ฅผ ํตํด ๋์ ์ผ๋ก ์กฐ์ ๋ ์ ์๋๋ก ์ค๊ณ๋์ด ์๋ค.
์ฒ๋ฒ ๊ฐ๋๋ฅผ ๊ฒฐ์ ํ๋ slashRatio
๊ฐ๊ณผ ๊ฒ์ฆ์ธ์ ์ต์ ์๋ช
๊ธฐ์ค์ธ minSignedBlocks
๋ฐ signedBlocksWindow
๊ฐ์ ๋ชจ๋ Governance Parameters์ ํฌํจ๋์ด ์์ผ๋ฉฐ, ๋คํธ์ํฌ ์ฐธ์ฌ์๋ค์ ํฌํ๋ฅผ ํตํด ๋ณ๊ฒฝํ ์ ์๋ค.
์ด๋ฅผ ํตํด BEATOZ๋ ๋คํธ์ํฌ์ ํ๊ฒฝ ๋ณํ์ ๋ง๊ฒ ์ ์ ํ ์์ค์ ์ฒ๋ฒ ์ ์ฑ
์ ์ ์งํ ์ ์์ผ๋ฉฐ, ๊ฒ์ฆ์ธ๋ค์ด ๋คํธ์ํฌ ์ด์์ ๋์ฑ ์ ์คํ๊ฒ ์ํํ๋๋ก ์ ๋ํ ์ ์๋ค.
BEATOZ ๋ธ๋ก์ฒด์ธ์ ๊ฒ์ฆ์ธ ์ฒ๋ฒ ์์คํ ์ ๋คํธ์ํฌ๋ฅผ ์์ ์ ์ผ๋ก ์ด์ํ๋ฉด์, ๊ฒ์ฆ์ธ๋ค์๊ฒ ์ฑ ์๊ฐ์ ๋ถ์ฌํ๋ ์ค์ํ ์์๋ก ์์ฉํ๋ค. ์ด์ค ์๋ช ๊ณผ ์๋ช ๋ถ์ดํ์ ๊ฐ๋ ฅํ๊ฒ ์ ์ฌํจ์ผ๋ก์จ ๊ฒ์ฆ์ธ๋ค์ด ๋ถ์ ํ์๋ฅผ ์๋ํ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๊ณ , ๋คํธ์ํฌ๊ฐ ์ง์์ ์ผ๋ก ์์ ํ๊ฒ ์ด์๋ ์ ์๋๋ก ํ๋ค. ๋ํ, ๊ฑฐ๋ฒ๋์ค๋ฅผ ํตํด ๋์ ์ธ ์กฐ์ ์ด ๊ฐ๋ฅํ๋๋ก ์ค๊ณํ์ฌ, ๋คํธ์ํฌ ์ฐธ์ฌ์๋ค์ด ์ต์ ์ ๊ฒฝ์ ์ ์ธ์ผํฐ๋ธ์ ๋ณด์ ์์ค์ ์ ์งํ ์ ์๋๋ก ํ๋ค. ์ด๋ฅผ ํตํด BEATOZ๋ ํ์ค์ํ๋ ํฉ์ ์์คํ ์ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ์ด์ํ ์ ์์ผ๋ฉฐ, ์ฅ๊ธฐ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ๋ก ์๋ฆฌ ์ก์ ์ ์์ ๊ฒ์ด๋ค.