Intro
์ต๊ทผ์ ๋จธ์ง(merge) ์
๋ฐ์ดํธ์ ์ฑ๊ณตํ ์ด๋๋ฆฌ์์ PoW์์ PoS๋ก ํฉ์ ๋ฐฉ์์ด ๋ณํ๊ฒ ๋์๋ค. ์ด๋๋ฆฌ์ 2.0์์ ์ฌ์ฉํ๋ ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ย โGasperโ๋ผ๊ณ ํ๋๋ฐ, ์ด ์๊ณ ๋ฆฌ์ฆ์ 32๋ธ๋ก๋ง๋ค ๋ธ๋ก์ ํ์ (Finalize) ์ํด์ผ๋ก์จ 51% ๊ณต๊ฒฉ์ ๋ํ ์ ํญ์ฑ์ ๋์ธย โCasper FFGโ์ ๋คํธ์ํฌ ์ง์ฐ ๋ฑ ํฌํฌ๊ฐ ๋ฐ์ํ์ ๋, ์ด๋ค ํฌํฌ๋ฅผ ์ ํํ๋์ง ๊ธฐ์ค์ด ๋๋ Fork Choice Rule์ธย โLMD GHOSTโ๋ฅผ ์ด๋๋ฆฌ์ 2.0์ ๋ง๊ฒ ์ ์ ํ ์กฐํฉํย PoS ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
Gasper, Casper, GHOST์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ Fork Choice Rule๊ณผ Safety & Liveness์ ๋ํด ๊ฐ๋จํ ์์๋ณด์.
Fork Choice Rule
๋จธ์ง(merge) ์
๋ฐ์ดํธ ์ , ์ด๋๋ฆฌ์์ ๋นํธ์ฝ์ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก PoW(์์
์ฆ๋ช
) ๋ฐฉ์์ด์์ผ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋กย ๋์นด๋ชจํ ์ปจ์ผ์์ค์ ๊ธฐ๋ฐํ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๋ธ๋ก์ ์์ฑํ๋ฉฐ ํฌํฌ(fork) ๋ฐ์ ์, ์ด๋ค ํฌํฌ๋ฅผ ์ ํํ ์ง ์ ํ๊ฒ ๋๋ค.
Q. ํฌํฌ(fork)๋ ๋ฌด์์ด๊ณ ์ ๋ฐ์ํ ๊น?
๋ถ์ฐ๋ ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ฏ๋ก ์ธ๊ณ ๊ณณ๊ณณ์์ ๋
ธ๋๋ฅผ ์ด์ํ๋๋ฐ ๋
ธ๋ ๊ฐ ์์ฐจ๋ก ์ธํด ๋
ธ๋ ๊ฐ ํต์ ์ ์์ด ์ฝ๊ฐ์ ์์ฐจ๊ฐ ๋ฐ์ํ ์๋ฐ์ ์๋ค.
๋ง์ฝ ์๊ตญ์ ์๋ ๋
ธ๋์ ์์ธ์ ์๋ ๋
ธ๋๊ฐ ๊ฑฐ์ ๋์์ ๋
ผ์ค๊ฐ์ ์ฐพ๊ฒ ๋๋ค๋ฉด ๋์์ ๋ ๋ธ๋ก์ด ์๊ธฐ๊ฒ ๋๋ฉฐ ์ด๋ฅผ ํฌํฌ(fork)๊ฐ ๋ฐ์ํ๋ค๊ณ ํ๋ค.
๋ง์ฝ ์ฌ๋ฌ ๊ฐ๋๋ก ํฌํฌ๊ฐ ๋ฐ์ํ์ ๋, ๊ทธ ์ฒด์ธ๋ค์ ๋ชจ๋ ์ธ์ ํ๊ฒ ๋๋ค๋ฉด ๊ฑฐ๋์ ์์๊ฐ ํ์ ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋์ดย ์ด์ค ์ง๋ถ(double spending)์ ์ํ์ด ์๊ธฐ๊ฒ ๋๋ค.
๋ฐ๋ผ์ ๋ถ์ฐ๋ ๋คํธ์ํฌ์์๋ ๋ ๊ฐ ์ด์์ผ๋ก ๊ฐ๋ผ์ ธ ํฌํฌ๋ ๊ฐ ์ฒด์ธ๋ค ์ค ์ด๋ ํ ์ฒด์ธ์ ์ ํจํ ์ฒด์ธ์ผ๋ก ์ธ์ ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ โFork Choice Ruleโ์ด ํ์ํ๋ค.
Safety & Liveness
์ฌ๊ธฐ์ย Safety์ Liveness์ ๊ฐ๋
์ ์ดํดํด์ผ Casper์ GHOST ๊ทธ๋ฆฌ๊ณ Gasper ์๊ณ ๋ฆฌ์ฆ์ ์ ๋๋ก ์ดํดํ ์ ์์ ๊ฒ ๊ฐ์์ ๊ฐ๋จํ๊ฒ ์ค๋ช
ํ์๋ฉด,
Source : V.Buterin et al. Combining GHOST and Casper
Safety :ย Safety๊ฐ ๋ณด์ฅ๋๋ค๋ ๋ง์ ์ฆ๊ฐ์ ์ธ ๋ธ๋ก ํ์ (Finality)์ผ๋กย ํฌํฌ ๋ฐ์ ์์ด ๋ฑ ํ๋์ ๊ฐ์ ๋ธ๋ก์ฒด์ธ์ ์ ์งํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ํ์ง๋ง, ๋ฌดํํ ํฉ์์ ๋๋ฌํ์ง ๋ชปํ์ฌ ์๋ก์ด ๋ธ๋ก์ด ๊ณ์ํด์ ๋ง๋ค์ด์ง์ง ์๋ ์ํ๊ฐ ์ ์ง๋ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค.
Liveness :ย Liveness๊ฐ ๋ณด์ฅ๋๋ค๋ ๋ง์ ๋ชจ๋ ๋
ธ๋๊ฐ ๋ฑ ํ๋์ ๊ฐ์ ๋ธ๋ก์ฒด์ธ์ผ๋ก ํฉ์ํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ๋๋ผ๋ ์์ ํ์ง ๋ชปํ ํฉ์๋ฅผ ์ฐ์ ์งํํ์ฌย ์ฒด์ธ์ด ๋ฉ์ถ์ง ์๊ฒ ํจ์ผ๋ก์จ ์๋ก์ด ๋ธ๋ก์ ๊ณ์ ์์ฑํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ํ์ง๋ง, ์๋ก ๋ค๋ฅธ ๋ ๊ฐ ์ด์์ ๋ธ๋ก์ด ์์ฑ๋๋ ํฌํฌ(fork)๊ฐ ๋ฐ์ํ์ฌย ์ด์ค ์ง๋ถ์ ์ํ์ ์ด๋ํ๋ค๋ ๋จ์ ์ด ์๋ค.
Safety์ Liveness, ๋ ๊ฐ์ง ์์ฑ์ ๋ชจ๋ ์ถฉ์กฑ๋ ์๋ ์๋ค๋ ์ํ์ ์ธ ์ฆ๋ช
์ด ๋์์ผ๋ฉฐ ์ด๋ค ๊ฒ์ด ๋ ๋น์ค์ด ๋๋์ ๋ฐ๋ผ์ ์ฒด์ธ์ ํน์ฑ์ด ์ ํด์ง๋ค.
Casper FFG?
์กฐ๊ธ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์๊ธฐํ์๋ฉด, Casper๋ ๋์นด๋ชจํ ์ปจ์ผ์์ค์ ์ํด ๋ฐ์ํ ์ฌ๋ฌ ํฌํฌ ์ค ํ๋์ ์ฒด์ธ์ ๊ฒฐ์ ํ๊ธฐ ์ ์ย ์ถ๊ฐ์ ์ธ ์์ ์ฅ์น๋ก ๋ธ๋ก์ ํ์ (Finalize) ์ํค๋ฉฐ ๊ทธ ๋ธ๋ก์ ์ฒดํฌํฌ์ธํธ๋ก ์์ฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
Source : DSRV Research
์ฒดํฌํฌ์ธํธ๊ฐ ์์ฑ๋๋ฉด, ํด์ปค์ ์ํด ๋ฐ์ํ ์
์์ ์ธ ํฌํฌ๊ฐ ์์๋ ์ง์ ์ผ๋ก ์ฒด์ธ ์ ์ฒด๋ฅผ ๋๋๋ ค๋ฒ๋ฆฌ๋ 51% ๊ณต๊ฒฉ์ด ๋ฐ์ํ๋๋ผ๋ Casper ์๊ณ ๋ฆฌ์ฆ์ ์ํด ์ด๋ฏธ ํ์ ๋ ์ฒดํฌํฌ์ธํธ(checkpoint) ๊ธฐ์ค์ผ๋ก ์ด์ ์ ๋ธ๋ก๋ค์ ๋๋๋ฆด(๋กค๋ฐฑ) ์ ์๊ฒ๋ ๋คํธ์ํฌ๋ฅผ ๋ณดํธํด ์ค๋ค.
Checkpoint
์์ ์ค๋ช
ํ Safety๊ฐ ๋คํธ์ํฌ ์ง์ฐ ๋ฑ ์ฌ๋ฌ ์ด์ ๋ก ๋ณด์ฅ๋์ง ์์ ๊ฒฝ์ฐ, ๊ฐ์ ๋ธ๋ก ๋์ด์์ ์ฌ๋ฌ ๋ธ๋ก์ด ์์ ๋ธ๋ก์ ๊ฐ์ง ์ ์๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผย โํฌํฌ๊ฐ ๋ฐ์ํ๋คโ๋ผ๊ณ ํํํ๋ค.
Source : DSRV Research
๋งค 32๋ธ๋ก๋ง๋ค ๊ฒฐ๊ตญ ์ฌ๋ฌ ํฌํฌ ์ค ํ๋์ ํฌํฌ๋ฅผ ์ ํํด์ผ๋ง Safety๊ฐ ๋ณด์ฅ๋๋ฉฐ ๋ฑ ํ๋์ ๊ฐ์ ๋ธ๋ก์ฒด์ธ์ ์ ์งํ ์ ์๋ค. ์ด๋, ์ฌ๋ฌ ํฌํฌ ์ค ํ๋์ ํฌํฌ๋ฅผ ์ ํํ ๋ ๊ธฐ์ค์ด ๋๋ ๋ธ๋ก์ด ์ฒดํฌํฌ์ธํธ์ด๋ค.
์ ๋ฆฌํ์๋ฉด, Casper๋ ํฌํฌ๊ฐ ๋ฐ์ํ๋ ์ํฉ์์ ๋ถ๋ชจ ๋ธ๋ก์ด ํ๋์ ์์ ๋ธ๋ก๋ง์ ์ ํํ๋๋ก ๋๋ ๋ฉ์ปค๋์ฆ์ด๋ค. ์ฆ, ์กฐ์ ์ฒดํฌํฌ์ธํธ๊ฐ ์ฌ๋ฌ ๊ฐ์ ์์ ์ฒดํฌํฌ์ธํธ ์ค ํ๋๋ง์ ์ ํํ๋๋ก ํ๋ ๊ฒ์ด Casper์ ์ญํ ์ด๋ค.
Supermajority Link
์ฌ๊ธฐ๊น์ง Casper๊ฐ ์ด๋ค ์ญํ ์ ํ๋ฉฐ ์ฒดํฌํฌ์ธํธ๊ฐ ๋ฌด์์ด๊ณ ์ ํ์ํ์ง ์๊ฒ ๋์๋๋ฐ, ๊ทธ๋ ๋ค๋ฉด Casper ์๊ณ ๋ฆฌ์ฆ์ โ์ด๋ ํ ๋ฐฉ์์ผ๋ก ๊ธฐ์ค์ด ๋๋ ๋ธ๋ก์ธ ์ฒดํฌํฌ์ธํธ์ ์ ํโํ ๊น?
Casper๋ PoW์ธ ์ด๋๋ฆฌ์ 1.0์์ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ด๊ธด ํ์ง๋ง PoS ๋ฐฉ์์ฒ๋ผ ๊ฐ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด ์์ ์ ์์น๊ธ(deposit)์ ๊ฑธ๊ณ ์ด ์์น๊ธ ์ค ์์ ์ด ์ฐจ์งํ๋ ์ง๋ถ๋งํผ ํฌํ๋ฅผ ํ์ฌํ ์ ์๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ํฌํ๋ ๋ฐ๋ก ์์์ ์ค๋ช
ํ ์ฒดํฌํฌ์ธํธ๋ผ๋ฆฌ์ ์ฐ๊ฒฐ์ ํ์ ์ํค๋ ํ์์ด๋ค.
ํฌํฌ๊ฐ ๋ฐ์ํ์ฌ ์ฌ๋ฌ ์ฒด์ธ์ด ์๋ค๋ฉด ์ฒดํฌํฌ์ธํธ๊ฐ ๋ ์ ์๋ ๋ธ๋ก์ด ์ฌ๋ฌ ๊ฐ๊ฐ ์๋ค๋ ๊ฒ์ธ๋ฐ, ๊ทธ์ค์์ ์ ๋ณธ ์ฒด์ธ(Canonical Chain)์ด ๋ ๊ฒ ๊ฐ์ ๋ธ๋ก์ ํฌํ๋ฅผ ์งํํ์ฌย ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์ 2/3 ์ด์์ ํฌํ๋ฅผ ๋ฐ์ผ๋ฉด Supermajority Link๋ก ์ธ์ ๋ฐ๊ฒ ๋๋ค.
๊ทธ๋ ๊ฒ Supermajority Link์ ์ฐ๊ฒฐ๋ ์ฒดํฌํฌ์ธํธ๊ฐ ๋ค์ ์ฒดํฌํฌ์ธํธ๊ฐ ๋๋ฉฐ ๋ง์ฝ 51% ๊ณต๊ฒฉ์ด ๋ฐ์ํ๋๋ผ๋ ์ด๋ ๊ฒ ํ์ ๋ ์ฒดํฌํฌ์ธํธ ์ด์ ์ ๋ธ๋ก๋ค๊น์ง ๋กค๋ฐฑ ์ํฌ ์ ์๊ฒ ๋์ด Casper๋ก ์ธํด ์ถ๊ฐ์ ์ธ ์์ ์ฅ์น๊ฐ ๋ง๋ จ๋ ๊ฒ์ด๋ค.
LMD GHOST?
์์ ์ค๋ช
ํ Casper FFG๋ Fork Choice Rule์ด ์๋๋ผ, ๋ธ๋ก์ ํ์ (Finalize) ์ํค๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๋ ๊ฒ์ ์๊ฒ ๋์์ ๊ฒ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด LMD GHOST๋ ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ผ๊น?
LMD GHOST๋ ์ด๋๋ฆฌ์ 2.0์ Fork Choice Rule์ด๋ฉฐย โLatest Message Driven Greediest Heaviest Observed SubTreeโ์ ์ฝ์์ด๋ค. ์ฌ๊ธฐ์์ โMessageโ๋, ์ฌ๋ฌ ์ข
๋ฅ์ ๋ฉ์์ ์ค์์ย โAttestation(์ดํ, ์ฆ์ธ ๋ฉ์์ง)โ์ด๋ผ๋ ์ข
๋ฅ์ ๋ฉ์์ง๋ฅผ ์๋ฏธํ๋ค.
Attestation
๋ง์ฝ, ํฌํฌ๊ฐ ๋ฐ์ํ์ฌ ์๋กญ๊ฒ ์์ฑ๋ ๋ธ๋ก์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด ๊ทธ์ค์์ย ์ด๋ค ๋ธ๋ก์ ๊ธฐ์กด ์ฒด์ธ์ ์ฐ๊ฒฐํ ์งย ์ฆ์ธ ๋ฉ์์ง๋ฅผ ํตํด ํฌํํ๋ค
Source : Combining GHOST and Casper
์์ ๊ทธ๋ฆผ์ ์์์ ์๋๋ก ์งํํ๋ ๋ธ๋ก์ฒด์ธ์์ ๋ฐ์ํ ํฌํฌ๋ค๊ณผ ์ฆ์ธ ๋ฉ์์ง๋ค(๋๊ทธ๋ผ๋ฏธ)์ ํํํ๋ค.
LMD GHOST๋ ๋ธ๋ก์ฒด์ธ์ ๊ฐ์ฅ ๋จผ์ ์์ฑ๋ ๋ธ๋ก์ธ ์ ๋ค์์ค ๋ธ๋ก์์๋ถํฐ ๊ฐ์ฅ ๋ฐ๋จ์ ์๋ ๋ธ๋ก(๋ฆฌํ ๋ธ๋ก)๊น์ง ์์๋๋ก ๋ฐ๋ผ๊ฐ๋ค๊ฐ ํฌํฌ๊ฐ ๋ฐ์ํ๋ฉด ๋ ๋ง์ ์ฆ์ธ ๋ฉ์์ง๊ฐ ์ง์งํ๊ณ ์๋ ๋ธ๋ก์ ์ ํํ๋ค. ์ฌ๊ธฐ์ ๊ณ ๋ คํ๋ ์ฆ์ธ ๋ฉ์์ง๋ค์ย ๊ฐ์ฅ โ์ต์ ์(Latest)โ ์ฆ์ธ ๋ฉ์์ง๋ค(Attestations)์ด๋ค.
์ฆ, LMD GHOST๋ โ๊ฐ๊ฐ์ ๊ฒ์ฆ์ธ๋ค๋ก๋ถํฐ ๋ฐ์ ๊ฐ์ฅ ๋ง์ ์ต์ ์ ์ฆ์ธ ๋ฉ์์ง๊ฐ ์ง์งํ๋ ํฌํฌ๋ฅผ ์ ํํ๋คโ๋ผ๋ ์์น์ผ๋กย ๋ธ๋ก์ฒด์ธ์ Safety๋ฅผ ๋ณด์ฅํ๊ฒ ๋๋ค.
์ฌ๊ธฐ์์ย โGreediest Heaviest Observed SubTreeโ์ ๋ป์ ๋์ฑ ํ์คํ๊ฒ ์ ์ ์๋๋ฐ ์ด๋ ํด๋น ๋ธ๋ก์ SubTree, ์ฆ ์์ ๋ธ๋ก๋ค์ด ๋ ๋ง์ ์ฆ์ธ ๋ฉ์์ง(Greediest, Heaviest)๋ก๋ถํฐ ์ง์ง ๋ฐ์ ๋ธ๋ก์ ์ ํํ๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค.
Main Protocol : Gasper
์์์ ์ค๋ช
ํ Casper FFG์ LMD GHOST๋ฅผ ๋ฐํ์ผ๋กย ์ด๋๋ฆฌ์ 2.0 ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ธ Gasper์ ๋ํด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ค๋ช
ํ๋๋ก ํ๊ฒ ๋ค.
Slot & Epoch
Source : stakefish medium
์ด๋๋ฆฌ์ 1.0์ ๋ธ๋ก ํ์ (Finalize)์ด ๋ธ๋ก ๋์ด ๊ธฐ์ค์ผ๋ก ๋์์ง๋ง, ์ด๋๋ฆฌ์ 2.0์ย ์ํญ๊ณผ ์ฌ๋กฏ์ด๋ผ๋ ์๊ฐ ๊ธฐ์ค์ผ๋ก ๋ธ๋ก์ด ์์ฑ ๋ฐ ํ์ ๋๋ค.
์ํญ๊ณผ ์ฌ๋กฏ์ ๊ฐ๋
์ด ํ์ํ ์ด์ ๋ ๊ฒฐ๊ตญ LMD GHOST์ Casper FFG๋ฅผ ํ๋์ ํฉ์ ์๊ณ ๋ฆฌ์ฆ(Gasper)์ผ๋ก ๋ง๋ค๊ธฐ ์ํด์ ๋์ผํ ๊ธฐ์ค์ด ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
1 ์ฌ๋กฏ(Slot)์ 12์ด์ด๋ฉฐ,ย 1 ์ํญ(Epoch)์ 32 ์ฌ๋กฏ์ ์๋ฏธํ๋ฉฐ ํ๋์ ์ฌ๋กฏ์์ ๋ธ๋ก์ ์ ์ํ๋ ๋ฆฌ๋๊ฐ ํ๋์ ๋ธ๋ก์ ์์ฑํ๋ค.ย (๋ฐฉ๊ธ ์ธ๊ธํ ๋ธ๋ก์ ์ ์ํ๋ ๋ฆฌ๋์ ๋ํด์๋ ์๋ Committees(์์ํ) ๊ฐ๋
์์ ๋ ์์ธํ๊ฒ ๋์จ๋ค.)
๋ค์ ์ฌ๋กฏ์ ๋ธ๋ก ์ ์์๋ ์ฌ๋ฌ ๊ฐ๋์ ํฌํฌ ๋ฐ์ ์, ์ด๋ค ํฌํฌ์ ๋ธ๋ก์ ์์ฑํ ๊ฒ์ธ์ง LMD GHOST๋ฅผ ํตํด ๊ฒฐ์ ํ๋ค. ์ฆ,ย ์ฌ๋กฏ๊ณผ ์ฌ๋กฏ์ ๊ด๊ณ๋ โLMD GHOSTโ์ ์ํด ๊ฒฐ์ ๋๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์ด๋ฌํ ์ฌ๋กฏ๋ค์ด ๋ชจ์ธ ์ํญ์ โCasper FFGโ์ ์ํด ์ฒดํฌํฌ์ธํธ๊ฐ ๋๋ ๋ธ๋ก๋ค์ ํ์ ํ๋ ๋จ์๋ก ์ฌ์ฉ๋๋ค.
Casper FFG์์์ ์ฒดํฌํฌ์ธํธ๊ฐ Gasper์์๋ย โ์ํญ๊ณผ ์ํญ์ ๊ฒฝ๊ณ์ ์๋ ๋ธ๋กโ์ผ๋ก ๋์ฒด๋์ด ์ฌ์ฉ๋๋ค. ์ฆ,ย ์ํญ๊ณผ ์ํญ์ ๊ด๊ณ๋ โCasper FFGโ์ ์ํด ๊ฒฐ์ ๋๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
Committees
Source : DSRV Research
๋งค ์ฌ๋กฏ๋ง๋ค ํ๋์ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ ๋ง๋ค์ดย ํจ๊ป ๋ธ๋ก์ ์์ฑํ๊ณ ๊ฒ์ฆํ๋๋ฐ ์ด๋ฌํ ์ง๋จ์ย ์์ํ(Committee)๋ผ๊ณ ํ๋ค.
์์ํ๋ ์ฌ๋ฌ ๋ช
์ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ, ๊ทธ์ค ๋ฌด์์๋ก ์ ์ ๋ ํ ๋ช
์ด ๋ฆฌ๋๊ฐ ๋์ด ๋ธ๋ก์ ์ ์ํ๋ฉด, ๋ธ๋ก ์ ์์๋ฅผ ํฌํจํ ์์ํ์ ๋ชจ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด ๋ธ๋ก์ ๊ฒ์ฆํ๋ ์์ด๋ค.
ํ๋์ ์ํญ ์ผ ๋, 1 ์ํญ์ 32 ์ฌ๋กฏ์ด๊ธฐ์ ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ 32๊ฐ์ ์์ํ๋ก ์ชผ๊ฐ์ด ๊ฐ ๊ฒ์ฆ์ธ๋ค์ด ํ๋์ ์์ํ์ ์ํ๋๋ก ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ์์ํ๋ฅผ ๊ฐ ์ฌ๋กฏ๋ง๋ค ํ๋์ฉ ํ ๋นํ๋ค.
์ํญ์ด ๋๋๋ฉด ๋ค์ ์ํญ์์๋ ๋ค์ ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ ๋๋ค์ผ๋ก ์์ด ์๋กญ๊ฒ 32๊ฐ์ ์์ํ๋ฅผ ๊ตฌ์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๊ตฌ์ฑ๋ ์์ํ๋ ์ํญ์ ์ฌ๋กฏ๋ง๋ค ํ ๋น์ด ๋์ด ๋ธ๋ก์ ์ ์ํ๊ณ ๊ฒ์ฆํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
Blocks and Attestations
Source : DSRV Research
๊ทธ๋ ๋ค๋ฉด, ์์์ ์ธ๊ธํย โ๋ธ๋ก์ ๊ฒ์ฆํ๋คโ๋ ๊ฒ์ ์ ํํ ๋ฌด์์ผ๊น?
์ฌ๋กฏ๊ณผ ์ฌ๋กฏ์ ๊ด๊ณ๋ LMD GHOST๊ฐ ๊ด์ฌํ๋ค๋ ๊ฒ์ ๋ค์ ์๊ฐํด๋ณด์.
๊ฐ ์ฌ๋กฏ๋ง๋ค ํ ๋น๋ ์์ํ์์ ํ ๋ช
์ ๋ฆฌ๋๊ฐ ๋ธ๋ก์ ์ ์ํ๋๋ฐ ์ด๋ ํด๋น ์ฌ๋กฏ์ ์์ํ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ๋ฉค๋ฒ๋ค์ ๋ฆฌ๋๊ฐ ์ ์ํ ๋ธ๋ก์ ํ์ธํ์๋ง์ ๊ทธ ๋ธ๋ก์ ์ง์งํ๋์ง ์ฌ๋ถ์ ๋ํ ์ฆ์ธ ๋ฉ์์ง๋ฅผ ์ ํํ๋ค.
์์ํ๋ค๋ก๋ถํฐ ๋ฐ์ ์ฆ์ธ ๋ฉ์์ง๋ ๋ธ๋ก๋ง๋ค LMD GHOST ์ ์๋ก ๋งค๊ฒจ์ง๊ณ , LMD GHOST์์ ์ ์ํ ๊ท์น์ ๋ฐ๋ผ ๋ค์ ๋ธ๋ก ์์ฑ์๋ ํด๋น ์ ์๋ฅผ ์ฐธ๊ณ ํ์ฌย ์ด๋ค ํฌํฌ ์์ ๋ธ๋ก์ ์์ฑํด์ผ ํ๋์ง ๊ฒฐ์ ํ๊ฒ ๋๋ค.
Epoch Boundary Blocks
Gasper๊ฐ ๋์ํ๋ ๋ฉ์ปค๋์ฆ์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํ์๋ฉด,
1.
์ฌ๋กฏ์ ํ๋์ ๋ธ๋ก์ ์์ฑํ๊ธฐ ์ํ ์๊ฐ์ ์ธ ๋ฒ์๋ก ๊ฐ ์ฌ๋กฏ์ ๊ธธ์ด๋ 12์ด์ด๊ณ ์ํญ์ 32๊ฐ์ ์ฌ๋กฏ๋ค๋ก ์ด๋ฃจ์ด์ง ์์ ์๊ฐ ๊ฐ๋
์ด๋ค.
2.
์ฌ๋กฏ์ ๋ธ๋ก์ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ฐ, Gasper์์๋ ์ ์ฒด ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ 32๊ฐ์ ์์ํ๋ก ๋ถ๋ฅํ๋ฉฐ, ๊ฐ ์ฌ๋กฏ๋ง๋ค ํ๋์ ์์ํ๋ฅผ ํ ๋นํ๋ค.
3.
์์ํ๋ ๋งค ์ํญ๋ง๋ค ๋๋ค์ผ๋ก ์ฌ๋ฐฐ์น๋๋ฉฐ ๋งค๋ฒ ์๋กญ๊ฒ ๊ตฌ์ฑ๋ ์์ํ๊ฐ ์ฌ๋กฏ์ ํ ๋น๋ ์ ์๊ฒ๋ ํ๋ค.
4.
์ฌ๋กฏ์ ํ ๋น๋ ์์ํ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ค ํ ๋ช
์ด ๋ฆฌ๋๋ก์ ๋ธ๋ก์ ์ ์ํ๋ฉด, ์์ํ์ ๊ตฌ์ฑ์๋ค์ ์ฆ์ธ ๋ฉ์์ง๋ฅผ ํตํด ๊ทธ ๋ธ๋ก์ ์ง์งํ ์ง ์ ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
5.
์ด ์ฆ์ธ ๋ฉ์์ง๋ค์ ๋ค์ ์ฌ๋กฏ์ ๋ธ๋ก์ ์์ฑํ ๋, LMD GHOST๋ฅผ ํตํด ์ด๋ค ํฌํฌ ์์ ์๋ก์ด ๋ธ๋ก์ ์์ฑํ ์ง ๊ฒฐ์ ํ ๋ ์ฌ์ฉ๋๋ค. ์ฆ, ์ฌ๋กฏ ๊ฐ์ ๊ด๊ณ๋ LMG GHOST๊ฐ ๊ฒฐ์ ํ๋ค.
6.
๋ฐ๋ฉด, ์ํญ๊ณผ ์ํญ ๊ฐ์ ๊ฒฝ๊ณ์ ์๋ ๋ธ๋ก(Epoch Boundary Block)์ Casper์์ ๋์จ โ์ฒดํฌํฌ์ธํธโ๋ก์ ์ญํ ์ ํ๋ค. ์ฆ, ์ํญ ๊ฐ์ ๊ด๊ณ๋ Casper FFG๊ฐ ๊ฒฐ์ ํ๋ค.
Casper FFG์์๋ ๋ธ๋ก์ ํ์ (Finalize) ํ ๋ โ์ฒดํฌํฌ์ธํธโ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ๊ฒ์ ์์์ ์ค๋ช
ํ๋ค. Gasper์์๋ ๊ฐ ์ํญ์ ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ์ฌ๋กฏ์ ๋ธ๋ก์ ์ฒดํฌํฌ์ธํธ๋ก ์ค์ ํ๋ฉฐ ์ด ๋ธ๋ก์ย โ์ํญ ๊ฒฝ๊ณ ๋ธ๋กโ์ด๋ผ๊ณ ํ๋ค.
Source : Combining GHOST and Casper
์ฆ์ธ ๋ฉ์์ง๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง ์ฝ๋๋ก ์ดํด๋ณด๋ฉด LMD GHOST ํฌํ์ Casper FFG ํฌํ๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ป๊ฒ ํ๋์ง ์ ์ ์๋ค.
class AttestationData(Container):
slot: Slot
index: CommitteeIndex
# LMD GHOST vote
beacon_block_root: Root
# FFG vote
source: Checkpoint
target: Checkpoint
Python
๋ณต์ฌ
Source : Ethereum Github
โข
slot :ย ์ฆ์ธ ๋ฉ์์ง๋ฅผ ์ ํํ ๋น์ ์ฌ๋กฏ์ ๋ฒํธ
โข
index :ย ์์ ์ด ์ํด์๋ ์์ํ์ ๋ฒํธ
์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ๋ฐ๋ก LMD GHOST ํฌํ์ ๊ด๋ จ๋ย beacon_block_root์ ์บ์คํผ ํฌํ์ ๊ด๋ จ๋ย source, target์ด๋ค.
Source : DSRV Research
๊ฐ ์ฌ๋กฏ๋ง๋ค LMD GHOST๋ฅผ ์ฌ์ฉํ์ฌ ํฌํฌ๋ฅผ ๊ฒฐ์ ํ ๋ ํฌํํ๋ ์ฆ์ธ ๋ฉ์์ง๋ฅผ ๋ฐ๋ก beacon_block_root์ ๋ด๊ฒ ๋๋ค. ์ด๋ฅผย โLMD GHOST voteโ๋ผ๊ณ ํ๋ค.
์ฆ์ธ ๋ฉ์์ง๋ GHOST ํฌํ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๋ ๋์์, Casper์์ ์ฒดํฌํฌ์ธํธ์ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฐ๊ฒฐํ๋ฏ, Gasper์์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก๊ณผ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ Supermajority Link๋ก ์ฐ๊ฒฐํ๋ย โFFG voteโ์ ๋ํ ์ ๋ณด๋ ํฌํจํ๊ณ ์๋ค.
์์ ์ฝ๋์์ source์๋ ๊ฐ์ฅ ์ต๊ทผ์ย ํ๋นํ๋ค๊ณ (justificated)ย ํ๋จ๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ด ๋ค์ด๊ฐ๊ณ , target์๋ ๊ฐ์ฅ ์ต์ ์ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค.
์ฝ๊ฒ ๋น์ ํ์๋ฉด, ์ถ์ฒ(source)๊ฐ ๋๋ ๋ธ๋ก์์ ๊ธฐ์ค์ผ๋ก ๋ชฉํ(target)๊ฐ ๋๋ ๋ธ๋ก์ผ๋ก์ ์ฐ๊ฒฐ(Supermajority Link)์ ๋์ํ๋ ๊ฒ์ ๋ํ ํฌํ๋ฅผ ์งํํ๋ค๊ณ ๋ด๋ ์ดํดํ๋ฉด ๋๋ค.
Justificataion & Finalization
Source : DSRV Research
์์ ๊ทธ๋ฆผ์ ์์๋๋ก ์ค๋ช
ํ์๋ฉด,
1.
epoch j์ ์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก๊ณผ epoch j+1์ ์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ ์ฐ๊ฒฐ์ดย ์ด๋ฏธ Justified ๋์๋ค๊ณ ๊ฐ์ ํ์.
2.
epoch j+2์์ ๋ธ๋ก๋ค์ ์์ฑํ๋ฉด์ ๊ฐ ์์ํ์ ๊ฒ์ฆ์ธ๋ค์ ์ฆ์ธ ๋ฉ์์ง๋ฅผ ํตํดย โGHOST ํฌํโ์ ๋๋ถ์ด โCasper ํฌํ (source & target)โ๋ฅผ ์งํํ๋ค. ํด๋น Casper ํฌํ๋ epoch j+1์ ์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์์ epoch j+2์ ์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ผ๋ก์ย Supermajority Link๋ฅผ ์ง์งํ๋ ํฌํ์ด๋ค.
3.
๋ง์ฝ 2๋ฒ์์ ์งํํ ํฌํ๊ฐ ์์ฌ ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋ถ์ 2/3 ์ด์์ด ๋๋ค๋ฉด, ํด๋น ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก๋ค ์ฌ์ด์ Supermajority Link๊ฐ ์์ฑ๋๊ณ , ๊ทธ ๋งํฌ๋ ์ด๋ฏธ justified๋ epoch j+1์ ์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ผ๋ก๋ถํฐ ์์๋ ๋งํฌ์ด๊ธฐ์ย ๊ทธ ๋งํฌ๋ Justifed(ํ๋นํ)ย ๋๋ค.
4.
epoch j+1์ ์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ ๋ถ๋ชจ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก(epoch j)์ ์์ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก(epoch j+2)์ผ๋ก๋ถํฐ ๋ชจ๋ Supermajority Link๋ก ์ธ์ ์ ๋ฐ์์ผ๋ฏ๋ก, ์ต์ข
์ ์ผ๋กย epoch j+1์ ์๋ ์ํญ ๊ฒฝ๊ณ ๋ธ๋ก์ ํ์ (Finalize)ย ๋๋ค.
Source : Combining GHOST and Casper
์๋ PoW ๊ธฐ๋ฐ ์ด๋๋ฆฌ์ 1.0์ Casper์์๋ ๋ธ๋ก ์์ฑ ๋ฉ์ปค๋์ฆ์ผ๋ก PoW์ Fork Choice Rule๋ก Longest-Chain Rule์ด ์ ์ฉ๋์๊ณ Casper์ Supermajority Link๋ฅผ ์์ฑํ๊ธฐ ์ํ ํฌํ๋ ๋
๋ฆฝ์ ์ผ๋ก ์ด๋ฃจ์ด์ก์๋ค.
ํ์ง๋ง Gasper์ ์ ์ฉ๋ Casper์์๋ ๋ธ๋ก ์์ฑ ๋ฉ์ปค๋์ฆ์ผ๋ก LMD GHOST๊ฐ ์ ์ฉ๋๊ณ , ์ด๋ ํ์ํ ์ฆ์ธ ๋ฉ์์ง์ Casper์ Supermajority Link ์์ฑ์ ์ํย ํฌํ๋ฅผ ํจ๊ป ๋ด์ ํ ๋ฒ์ ์ ๊ธฐ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ฒ ๋๋ค.
๋ฐ๋ผ์ ์ด ๋ถ๋ถ์ด Gasper์ Casper ๊ทธ๋ฆฌ๊ณ GHOST๊ฐ ์ ๋ฌํ๊ฒ ํฉ์ณ์ง๋ ๋ถ๋ถ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.