Corda์ ์ฃผ์ ๊ธฐ๋ฅ๊ณผ ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ ๊ฐ์ ๋ ์ฐฝ์ฑ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
- Corda์๋ ์์ฒด ์ํธํํ๊ฐ ์์ต๋๋ค.
- Corda๋ ์ฑ๊ตด ๊ฐ๋ ๊ณผ ์์ ์ฆ๋ช ์์คํ ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ์ก์ ๊ฑฐ๋/๊ณ์ฝ ๋น์ฌ์ ๊ฐ์๋ง ๋ฐ์ํฉ๋๋ค. ๋ชจ๋ ๋คํธ์ํฌ ๋ ธ๋์ ๋ํ ๊ธ๋ก๋ฒ ๋ธ๋ก๋์บ์คํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ๊ฑฐ๋๋ฅผ ๊ด๋ฆฌํ๋ ์ค์ ์ปจํธ๋กค๋ฌ๋ ์์ต๋๋ค.
- Corda๋ ๋ค์ํ ํฉ์ ๋ฉ์ปค๋์ฆ์ ์ง์ํฉ๋๋ค.
- ์ ์ฒด ์์คํ ์์ค์ด ์๋ ๊ฐ๋ณ ํฉ์/๊ณ์ฝ ์์ค์์ ์ฐธ์ฌ์ ๊ฐ์ ํฉ์๊ฐ ์ด๋ฃจ์ด์ง๋๋ค.
- ๊ฑฐ๋๋ ๊ด๋ จ๋ ์ฐธ๊ฐ์๋ค์ ์ํด์๋ง ํ์ธ๋ฉ๋๋ค.
- Corda๋ ๊ณต์์ ์ธ ์ธ๊ฐ ๋ฒ๋ฅ ์ธ์ด์ ์ค๋งํธ ๊ณ์ฝ ์ฝ๋ ๊ฐ์ ์ง์ ์ ์ธ ์ฐ๊ฒฐ์ ์ ๊ณตํฉ๋๋ค.
์ฅ๋ถ
Corda์ ์์ฅ ๊ฐ๋ ์ ์ฃผ๊ด์ ์ ๋๋ค. ๋จ์ผ ์ค์ ๋ฐ์ดํฐ ์ ์ฅ์๊ฐ ์์ต๋๋ค. ๋์ , ๊ฐ ๋ ธ๋๋ ์๋ ค์ง ์ฌ์ค์ ๋ํ ๋ณ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์์ด ๋ ธ๋์ ์๋ ค์ง ์ฌ์ค์ธ 5๊ฐ์ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ๋คํธ์ํฌ๋ฅผ ์์ํด ๋ณด์ญ์์ค.
๋ณด์๋ค์ํผ Ed, Carl, Demi๋ ์ฌ์ค 3์ ์๊ณ ์์ง๋ง Alice์ Bob์ ๊ทธ ์ฌ์ค์กฐ์ฐจ ์ธ์ํ์ง ๋ชปํฉ๋๋ค. Corda๋ ๊ณตํต ์ฌ์ค์ด ๊ฐ ๋
ธ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๊ณ ๋ฐ์ดํฐ๊ฐ ๋์ผํจ์ ๋ณด์ฅํฉ๋๋ค.
์ํ
์ํ๋ ๋ถ๋ณ ํน์ ์์ ์ ํ๋ ์ด์์ ๋คํธ์ํฌ ๋ ธ๋์ ์๋ ค์ง ์ฌ์ค์ ๋ํ๋ด๋ ๊ฐ์ฒด์ ๋๋ค.
๊ตญ๊ฐ๋ ์ฃผ์, ์ฑ๊ถ, ๋์ถ, ์๋ณ ์ ๋ณด ๋ฑ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์ํ๋ IOU(Alice๊ฐ Bob์๊ฒ X ๊ธ์ก์ ๋น์ง ๊ณ์ฝ)๋ฅผ ๋ํ๋ ๋๋ค.
์๊ฐ์ ๋ฐ๋ฅธ ์ฌ์ค์ ์๋ช
์ฃผ๊ธฐ๋ ์ผ๋ จ์ ์ํ๋ก ํํ๋ฉ๋๋ค. ํ์ฌ ์ํ๋ฅผ ์
๋ฐ์ดํธํด์ผ ํ๋ ๊ฒฝ์ฐ ์ ์ํ๋ฅผ ๋ง๋ค๊ณ ํ์ฌ ์ํ๋ฅผ ๊ธฐ๋ก์ผ๋ก ํ์ํฉ๋๋ค.
๊ฑฐ๋
๊ฑฐ๋๋ ์์ฅ์ ์ ๋ฐ์ดํธํ๋ผ๋ ์ ์์ ๋๋ค. ์ด๋ ๋ชจ๋ ์์ฅ ์ฐธ๊ฐ์์๊ฒ ๋ฐฉ์ก๋์ง ์์ผ๋ฉฐ ์ด๋ฅผ ๋ณด๊ณ ๊ด๋ฆฌํ ๋ฒ์ ๊ถํ์ด ์๋ ๋คํธ์ํฌ ์ฐธ๊ฐ์์๊ฒ๋ง ์ ๊ณต๋ฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๊ฑฐ๋๊ฐ ์์ฅ์ ์ถ๊ฐ๋ฉ๋๋ค.
- ๊ณ์ฝ์ ์ ํจํจ
- ๋ชจ๋ ํ์ ์ฐธ๊ฐ์๊ฐ ์๋ช ํจ
- ์ด์ค ์ง์ถ์ด ํฌํจ๋์ง ์์ต๋๋ค.
Corda๋ ๊ฐ ์์ฅ ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ UTXO(๋ฏธ์ฌ์ฉ ํธ๋์ญ์ ์ถ๋ ฅ) ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค.
ํธ๋์ญ์ ์ด ์์ฑ๋๋ฉด ์ด์ ํธ๋์ญ์ ์ ์ถ๋ ฅ ์ํ(ํด์ ๋ฐ ์ธ๋ฑ์ค๋ณ)๊ฐ ์ ๋ ฅ์ผ๋ก ์ ์ก๋ฉ๋๋ค.
๊ฑฐ๋ ์๋ช
์ฃผ๊ธฐ:
- ์์ฑ (ํ์ฌ ๊ฑฐ๋๋ ์์ฅ์ ์ ๋ฐ์ดํธํ๋ผ๋ ์ ์์ผ ๋ฟ์ ๋๋ค)
- ์๋ช ์์ง (ํธ๋์ญ์ ์ ํ์ ๋น์ฌ์๋ ํธ๋์ญ์ ์ ์๋ช ์ ์ถ๊ฐํ์ฌ ์ ๋ฐ์ดํธ ์ ์์ ์น์ธํฉ๋๋ค.)
- ์์ฅ์ ๊ฑฐ๋ ์ปค๋ฐ
๊ฑฐ๋๊ฐ ์์ฅ์ ์ถ๊ฐ๋๋ฉด ์ ๋ ฅ ์ํ๋ ๊ธฐ๋ก์ผ๋ก ํ์๋๋ฉฐ ํฅํ ๊ฑฐ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์
๋ ฅ ๋ฐ ์ถ๋ ฅ ์ํ ์ธ์๋ ํธ๋์ญ์
์๋ ๋ค์์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ๋ช ๋ น(ํธ๋์ญ์ ๋ชฉ์ ์ ๋ํ๋ด๋ ํธ๋์ญ์ ๋งค๊ฐ๋ณ์)
- ์ฒจ๋ถ ํ์ผ(ํด์ผ ๋ฌ๋ ฅ, ํตํ ๋ณํ๊ธฐ)
- ์๊ฐ๋(์ ํจ๊ธฐ๊ฐ)
- ๊ณต์ฆ์ธ(๊ณต์ฆ์ธ, ๊ฑฐ๋๋ฅผ ๊ฒ์ฆํ๋ ํน์ ๋คํธ์ํฌ ์ฐธ์ฌ์)
๊ณ์ฝ์
๊ฑฐ๋ ์ ํจ์ฑ์ ๊ดํด ์ด์ผ๊ธฐํ ๋ ํ์ํ ์๋ช ์ ์กด์ฌ๋ฟ ์๋๋ผ ๊ณ์ฝ์์ ์ ํจ์ฑ๋ ์๋ฏธํฉ๋๋ค. ๊ฐ ํธ๋์ญ์ ์ ์ด๋ฅผ ์๋ฝํ๊ณ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์ํ๋ฅผ ๊ฒ์ฆํ๋ ๊ณ์ฝ๊ณผ ์ฐ๊ฒฐ๋ฉ๋๋ค. ํธ๋์ญ์ ์ ๋ชจ๋ ์ํ๊ฐ ์ ํจํ ๊ฒฝ์ฐ์๋ง ์ ํจํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
Corda์ ๊ณ์ฝ์ JVM ์ธ์ด(์: Java, Kotlin)๋ก ์์ฑ๋ฉ๋๋ค.
class CommercialPaper : Contract {
override fun verify(tx: LedgerTransaction) {
TODO()
}
}
ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์์ผ ํฉ๋๋ค. ๊ณ์ฝ ๊ทธ๋ฆฌ๊ณ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ์ธ์. ํ์ธ. ๊ฑฐ๋๊ฐ ์ ํจํ์ง ์์ผ๋ฉด ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค.
๊ฑฐ๋ ๊ฒ์ฆ์ ๊ฒฐ์ ์ ์ด์ด์ผ ํฉ๋๋ค. ๊ณ์ฝ์ ํญ์ ๊ฑฐ๋๋ฅผ ์๋ฝํ๊ฑฐ๋ ๊ฑฐ๋ถํด์ผ ํฉ๋๋ค. ์ด์ ๊ด๋ จํ์ฌ ๊ฑฐ๋์ ์ ํจ์ฑ์ ์๊ฐ, ๋์, ํธ์คํธ ํ์ผ ๋ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
Corda์์๋ ๊ณ์ฝ์ ๊ฒฐ์ ๋ก ์ ์คํ์ ๋ณด์ฅํ๋ ์ฝ๊ฐ ์์ ๋ JVM์ธ ์์ ์๋๋ฐ์ค์์ ๊ณ์ฝ์ด ์คํ๋ฉ๋๋ค.
์คํธ๋ฆผ
๋คํธ์ํฌ ๋ ธ๋ ๊ฐ์ ํต์ ์ ์๋ํํ๊ธฐ ์ํด ์ค๋ ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
ํ๋ฆ์ ํน์ ์์ฅ ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ๊ณผ ํธ๋์ญ์ ์ด ์๋ช ๋๊ณ ๊ฒ์ฆ๋์ด์ผ ํ๋ ์์ ์ ๋ ธ๋์ ์๋ ค์ฃผ๋ ์ผ๋ จ์ ๋จ๊ณ์ ๋๋ค.
๋ชจ๋ ๋น์ฌ์๊ฐ ๊ฑฐ๋์ ์๋ช
ํ๊ณ ์์ฅ์ ๋ค์ด๊ฐ ๋๊น์ง ๋ช ์๊ฐ, ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ํธ๋์ญ์
์ ์ฐธ์ฌํ๋ ๋
ธ๋์ ์ฐ๊ฒฐ์ ๋์ผ๋ฉด ์ด๋ป๊ฒ ๋๋์? ์ค๋ ๋์๋ ์ค๋ ๋ ์ํ๊ฐ ๋
ธ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ก๋๋ ์ฒดํฌํฌ์ธํธ๊ฐ ์์ต๋๋ค. ๋
ธ๋๊ฐ ๋คํธ์ํฌ์ ๋ณต์๋๋ฉด ์ค๋จ๋ ๋ถ๋ถ๋ถํฐ ๊ณ์๋ฉ๋๋ค.
์๊ฒฌ ์ผ์น
์์ฅ์ ๋ค์ด๊ฐ๋ ค๋ฉด ๊ฑฐ๋๊ฐ ์ ํจ์ฑ๊ณผ ๊ณ ์ ์ฑ์ด๋ผ๋ ๋ ๊ฐ์ง ํฉ์์ ๋๋ฌํด์ผ ํฉ๋๋ค.
๊ฑฐ๋์ ์ ํจ์ฑ์ ๋ํ ๊ฒฐ์ ์ ๊ฑฐ๋์ ์ง์ ๊ด๋ จ๋ ๋น์ฌ์๋ค์ ์ํด์๋ง ๋ด๋ ค์ง๋๋ค.
๊ณต์ฆ ๋ ธ๋๋ ๊ฑฐ๋์ ๊ณ ์ ์ฑ์ ํ์ธํ๊ณ ์ด์ค ์ง์ถ์ ๋ฐฉ์งํฉ๋๋ค.
Bob์ด $100๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ๋์ผํ ์ ๋ ฅ ์ํ๋ฅผ ์ฌ์ฉํ์ฌ Charlie์๊ฒ $80, Dan์๊ฒ $70๋ฅผ ์ ์กํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
Corda๋ ๊ทธ๋ฌํ ํธ๋ฆญ์ ์ํํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค. ํธ๋์ญ์
์ด ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํต๊ณผํ๋๋ผ๋ ๊ณ ์ ์ฑ ๊ฒ์ฌ๋ ์คํจํฉ๋๋ค.
๊ฒฐ๋ก
R3 ๋ธ๋ก์ฒด์ธ ์ปจ์์์์ด ๊ฐ๋ฐํ Corda ํ๋ซํผ์ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ์์ํ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋๋๋ค. Corda๋ ๊ธ์ต ๊ธฐ๊ด์ ์ํ ๊ณ ๋๋ก ์ ๋ฌธํ๋ ๋๊ตฌ์
๋๋ค.
์ถ์ฒ : habr.com