ํฉ์ ์๊ณ ๋ฆฌ์ฆ(Consensus Algorithm)
๋ค์์ ์ฐธ์ฌ์๋ค์ด ํต์ผ๋ ์์ฌ๊ฒฐ์ ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ
= ํฉ์ ๋ชจ๋ธ, ํฉ์ ๋ฐฉ์, ํฉ์ ๋ฉ์ปค๋์ฆ, ํฉ์ ํ๋กํ ์ฝ
๐ฅฅ ์์
์ฆ๋ช
(PoW, Proof of Work)
๋ธ๋ก์ด ์์ฑ๋๋ ๋์ ๊ฐ์ฅ ๋ง์ ํด์ํ์๋ฅผ ์ ๊ณตํ ๋
ธ๋๊ฐ ๋ธ๋ก์ ์์ฑํ ์ ์๋๋ก ์ค๊ณ๋์๋ค.
โ ๋นํธ์ฝ์ธ, ์ด๋๋ฆฌ์, ๋ผ์ดํธ์ฝ์ธ(Litecoin)
- ์ฅ์
- ํ์ฌ ๋์ ์์ฅ๊ฐ์น๋ฅผ ํ์ฑํ๊ณ ์๋ ์ฃผ๋ฅ ์ฝ์ธ๋ค์ด ์ฑํํ๊ณ ์๋ค.
- ๊ฐ๋ ฅํ ๋ณด์์ฑ
- ์๋น์ค ๋จ์ฉ์ ์ฝ๊ฒ ๋ฐฉ์ง
- ๋จ์
- ๋์ ์ ๋ ฅ์๋ชจ, ์์๋ญ๋น
- ์ง์์ ์ผ๋ก ํด์ํ์๋ฅผ ์ ์งํด์ผํจ
- ํน์ ๋ง์ด๋ ์ธ๋ ฅ์ ํด์ ๋
์ ์ผ๋ก ์ธํ ์ํ๊ณ ๊ต๋ ์ฐ๋ ค๊ฐ ์๋ค.
๐ ์ง๋ถ ์ฆ๋ช
(PoS, Proof of Stake)
์ง๋ถ์ ๋ง์ด ๊ฐ๊ณ ์๋ ๋
ธ๋์๊ฒ ๋ธ๋ก ์์ฑ ๊ถํ์ ์ค๋ค.
โ QTUM, Peercoin, Stratis, Ethereum 2.0(ํ์ฌ2022.06.26์์ )
- ์ฅ์
-ํด์ํ์๊ฐ ๋ง์ด ํ์ํ์ง ์์ ๊ฒฝ์ ์ , ์นํ๊ฒฝ์
- ๋ธ๋ก์์ฐ์์ ํ์ค์ํ๋ก ์์ ์ฑ
- ๋ธ๋ก์์ฑ์ ์ํด ์ง๋ถ์ ๋ด๋ณด๋ก ์ก์์ผํ๊ธฐ ๋๋ฌธ์ Dumping์ ๋ฐฉ์งํ ์ ์๋ค.
- ๋จ์
- ์์ง ๊ฒ์ฆ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋ณด์์ฑ์ด ๊ฐํ์ง ํ์ธ๋์ง ์์๋ค.
- ์ง๋ถ์ด ๋ง์ ์ธ๋ ฅ์ด ๊ถ๋ ฅ์ ๋
์ ํ ๊ฐ๋ฅ์ฑ
๐ ์์ ์ง๋ถ ์ฆ๋ช
(DPoS, Delegated Proof of Stake)
์์คํ
์ ์ง๋ถ์ ๊ฐ์ง ๊ฐ ๋
ธ๋๊ฐ ํฌํ๋ฅผ ํตํด ํธ๋์ญ์
์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋ค๋ฅธ ๋
ธ๋์ ์์ํ์ฌ ์ฆ๋ช
ํ๋ค.
โ EOS, Steem, ARK, Raise
ํฉ์์ ์ฐธ์ฌํ๋ ๋
ธ๋์ ์๊ฐ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๋น ๋ฅธ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ๋ณด์ด์ง๋ง ์์ ํ ํ์ค์ํ๋ ๋ธ๋ก์ฒด์ธ์ด ์๋๋ผ๋ ๋นํ๋ ์๋ค.
- ์ฅ์
- PoS์ ๋นํด ๋ง์ ํธ๋์ญ์
์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๊ฐ๋ฅ
- PoW์ ๋นํด ๋น์ฉ์ด ๋ฎ๋ค.
- ํ๋ํฌํฌ์ ์ํ์ด ๋ฎ๋ค.
- ์ฆ์ธ๋ค์ด ํฌํ์ ์ฐธ์ฌํ ์ธ์ผํฐ๋ธ๊ฐ ๋ถ๋ช
ํ๋ค.
- ๋จ์
- ์ฆ์ธ๋ผ๋ฆฌ ์์ฝ๊ฒ ๋ดํฉํ ์ ์๋ค.
- ๊ณต๊ฐ๋ ์์์ ์ฆ์ธ์ ๋ํ DDoS๊ณต๊ฒฉ์ํ์ด ์๋ค.
Wallet
์ํธํํ๋ฅผ ๋ณด๊ดํ ์ ์๋ ๊ณ์
= Node
์ง๊ฐ์ ์ข
๋ฅ
- ๋ฐ์คํฌํ ์ง๊ฐ
- ๋ชจ๋ฐ์ผ ์ง๊ฐ
- ํ๋์จ์ด ์ง๊ฐ
- ์น ์ง๊ฐ
์ง๊ฐ์ ๊ตฌ์กฐ
์ฃผ์(public key) + ์ํธ(private key)
์ฃผ์๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ํธํํ๋ฅผ ์ก๊ธํ ์ ์๋๋ก ๊ณต๊ฐํด๋ ๋์ง๋ง ์ํธ๋ ์ง๊ฐ ์์ ์๋ง ์๊ณ ์์ด์ผ ํ๋ค.
๐ ๋นํธ์ฝ์ธ - UTXO(Unspent Transaction Outputs)
๋ฏธ์ฌ์ฉ ํธ๋์ญ์
์ถ๋ ฅ๊ฐ(๋ฏธ์ง์ถ ๊ฑฐ๋ ์ถ๋ ฅ)
๋นํธ์ฝ์ธ์ ๊ณ์ ์ด๋ ์๊ณ ๊ฐ ์๊ณ ๋ธ๋ก์ฒด์ธ์ ๊ธฐ๋ก๋ ์๋น๋์ง ์์ ์ถ๋ ฅ๊ฐ์ ํตํด ๊ฑฐ๋์ ์ ํจ์ฑ์ ๊ฒ์ฌํ์ฌ ์ฝ์ธ์ ์กด์ฌ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
์ฝ์ธ์ด ์ง๊ฐ์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ UTXO์ ์ ์ฅ๋๋ค.
- ์ฅ์
- ์ด์ค์ง๋ถ๋ฐฉ์ง
- ์๊ณ ์ ์ฆ๋ช
: ์ถ์ ํ๊ธฐ๊ฐ ์ฌ์ ๊ฑฐ๋์ ์ ํจ์ฑ์ ๊ฒ์ฆํ๊ธฐ๊ฐ ์ฝ๋ค.
- ๋จ์
- ์์ก ๊ฒฐ์ ๋ฅผ ๋ง์ด ํ๊ฑฐ๋ ์ฑ๊ตด๋ก ์ด์๋ฅผ ๋ฐ๊ฒ ๋๋ฉด, ๊ณผ๋ํ UTXO๋ก ์ธํด์ ๋ถํ์ํ ์์๋ฃ๋ฅผ ๋ด์ผํ ์๋ ์๋ค.
๐ ์ด๋๋ฆฌ์ - Account
์ด๋๋ฆฌ์ ์ฃผ์ + private key
์ด๋ ์๊ณ ๋ฅผ ๋ณด์ ํ๊ณ ํธ๋์ญ์
์ ์ ์กํ ์ ์๋ค.
- ์ฃผ์
์ด๋๋ฆฌ์ ๋ธ๋ก์ฒด์ธ์์ ์ฌ์ฉ์์ ์ ๋ถ์ฆ์ ํด๋นํ๋ ๊ฒ
- Key
private key : ๋ฌด์์๋ก ์์ฑ๋๋ฉฐ ๋น๋ฐํค๋ก ์ ์งํด์ผํ๋ค.
public key : ๊ฐ์ธํค๋ฅผ ์ฐ์ฐํ์ฌ ์์ฑ๋๋ฉฐ ๊ณ์ ์ ์๋ณํ๋ ์์
์ด๋๋ฆฌ์ ์ฃผ์ ์์ฑ๊ณผ์
- private key ์์ฑ โ ํ์๊ณก์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ(ECDSA)๋ก public key ์์ฑ
- Keccak-256 ์๊ณ ๋ฆฌ์ฆ์ผ๋ก public key์ ํด์๊ฐ์ ๊ตฌํ๋ค.
- ์์ฑ๋ ํด์๊ฐ์ ๋ง์ง๋ง 20byte => ์ด๋๋ฆฌ์ ์ฃผ์
๐๐ผ 20byte๋ก ์ค์ฌ๋ ๋๊ตฌ๋ ์ฝ๊ฒ ๊ณ์ ์ฃผ์๋ฅผ ๋ง๋ค ์ ์๊ฒ ๋ง๋ค์๋ค. ์ํธํ ์๊ณ ๋ฆฌ์ฆ ์ดํ์ ๊ณ์ ๊ณผ ์ค๋ณต์ด ๋์ง ์์ ๊ฒ์ฆ์ด ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ 20byte๋ง ๋จ๊ฒจ๋ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค.
2๊ฐ์ง ์ ํ ๊ณ์
- ์ธ๋ถ ์์ ๊ณ์ (EOA)
์ฃผ์ + private key
๋ค๋ฅธ ๊ณ์ ๊ณผ ์ด๋๋ฅผ ์ก์์ ํ๊ณ ์ค๋งํธ ์ปจํธ๋ํธ์ ํธ๋์ญ์
์ ๋ณด๋ผ ์ ์๋ค.
- ์ปจํธ๋ํธ ๊ณ์ (CA)
= Contract
์์ํ๋ private key๊ฐ ์๋ค.
์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ๋ธ๋ก์ฒด์ธ์ ๋ฐฐํฌํ ๋ ์์ฑ๋๋ค.
๋ค๋ฅธ ๊ณ์ ๊ณผ ์ด๋๋ฅผ ์ก์์ ํ๋ค.
๊ด๋ จ๋ ์ฝ๋๋ฅผ ๋ด๊ณ EOA๋ ๋ค๋ฅธ ๊ณ์ ์ ํธ์ถ์ ๋ฐ์ ํธ๋์ญ์
์ ๋ฐ์์ํจ๋ค.
์ฅ๋จ์
- ์ฅ์
๋จ์์ฑ(Simplicity)
ํจ์จ์ฑ(Efficiency) : ๊ฑฐ๋๋น์ฉ์ ์ง๋ถํ๊ธฐ์ ์ถฉ๋ถํ ์์ก์ ๊ฐ๊ณ ์๋์ง๋ง ํ์ธํ๋ค.
- ๋จ์
์ด์ค ์ง๋ถ : ์ด์ค์ง๋ถ ๊ณต๊ฒฉ์ ๋์ํ๊ธฐ ์ํด ๋
ผ์ค๋ฅผ ์ฌ์ฉํ๋ค.
๐ฅ ๋นํธ์ฝ์ธ vs ์ด๋๋ฆฌ์
ํํ์ ์ญํ ์ ์ถฉ์คํด์ผ ํ๋ค๋ฉด ๋นํธ์ฝ์ธ์ UTXO๊ฐ ํ๋ฒ ์ฌ์ฉ๋๊ณ ์ฌ๋ผ์ ธ ์ต๋ช
์ฑ๊ณผ ๋ณด์์ฑ์ด ๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ ํ๋ฅญํ์ง๋ง, dApp๊ณผ ๊ฐ์ด ๋ค์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ถ๋ค๋ฉด ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ํ์ฉํ ์ ์๋ ์ด๋๋ฆฌ์์ ์ด์นด์ดํธ๊ฐ ์ข๋ค.