μ°λ‘보λ‘μ€
μ νμμ μ°λ‘보λ‘μ€(Ouroboros λλ uroboros)λ λ³΄ν΅ λ±(λλ‘λ μ©)μ΄ λ«ν μ μμμ μμ μ 꼬리λ₯Ό λ¬Όκ³ μλ λͺ¨μ΅μΌλ‘ λ¬μ¬λ©λλ€. μ°λ‘보λ‘μ€λΌλ λ¨μ΄ μ체λ κ³ λ 그리μ€μ΄μμ μ λν κ²μΌλ‘, λ¬Έμ κ·Έλλ‘ β꼬리λ₯Ό μ‘μλ¨Ήλβ λλ '꼬리λ₯Ό μΌν€λ μ‘΄μ¬βλ₯Ό λ»ν©λλ€.
μ°λ‘보λ‘μ€λ λ§μΉ μμν μνμ κ³ λ¦¬μ κ°ν κ²μ²λΌ λμμ΄ λ°λ³΅λλ 무νν μκ°μ μμ§ν©λλ€. μ°λ‘보λ‘μ€λ κΈ°μμ 13μΈκΈ° μ΄μ§νΈμμ μ²μ λ±μ₯νμ΅λλ€. μ΄ν μ°κΈμ μ¬λ€μ μ°λ‘보λ‘μ€λ₯Ό μ λΉλ‘μ΄ μμ§μΌλ‘ μ¬μ©νμ΅λλ€.
μ€λ μΈμμ κ±Έμ³ μ°λ‘보λ‘μ€λ μλ§μ λ¬ΈνκΆμμ λ€μν λ°©μμΌλ‘ ν΄μλκ³ μ¬μ©λμ΄ μμ΅λλ€. κ°μ₯ μΌλ°μ μΈ ν΄μ μ€ νλλ μ΄ μμ§μ΄ μ°μ£Όμ μνΈ μ°κ²°μ±κ³Ό 무νμ±μ μμ§νλ€λ κ²μ λλ€.
2017λ , μ°°μ€ νΈμ€ν¨μ¨μ μΉ΄λ₯΄λ€λ Έμ κΈ°λ°μ΄ λλ μ§λΆ μ¦λͺ ν©μ νλ‘ν μ½μ μ΄λ¦μΌλ‘ μ°λ‘보λ‘μ€λ₯Ό μ±ννμ΅λλ€. μ΄λ¬ν λ§₯λ½μμ μ°λ‘보λ‘μ€λ λΈλ‘체μΈμ 무νν μ€λ¦¬μ μ±μ₯κ³Ό νμ₯μ±μ κ°λ₯μ±μ λνλ λλ€. μ°λ‘보λ‘μ€μ ν΅μ¬ λ©μμ§λ μ μΈκ³μ λ ν° κΈ°νλ₯Ό μ 곡νκ³ , μλμ§ μλΉλ₯Ό ν¬κ² μ€μμΌλ‘μ¨ μΈμμ 보쑴νλ κ²μ λλ€.
μ°λ‘보λ‘μ€λ?
μ°λ‘보λ‘μ€λ μΉ΄λ₯΄λ€λ Έμ ν©μ νλ‘ν μ½λ‘, μ΅μ΄μ μ μ¦ κ°λ₯νκ³ μμ ν μ§λΆ μ¦λͺ νλ‘ν μ½μ΄μ λλ£ κ²ν μ°κ΅¬μ κΈ°λ°ν μ΅μ΄μ λΈλ‘μ²΄μΈ νλ‘ν μ½μ λλ€.
λ μμ μΈ κΈ°μ κ³Ό μνμ μΌλ‘ κ²μ¦λ λ©μ»€λμ¦(νλ μ¬λ¦¬ν λ° κ²½μ μ² ν μ리 μ μ©)μ κ²°ν©ν μ°λ‘보λ‘μ€λ λΈλ‘체μΈμ 보μκ³Ό μ§μ κ°λ₯μ±μ 보μ₯νκ³ μ§μν©λλ€. λ°λΌμ νλ‘ν μ½μ κ²μ¦λ 보μμ 보μ₯νλ©°, μ΅μνμ μλμ§ μλͺ¨λ‘ κΈλ‘λ² λΉνκ°ν λ€νΈμν¬μ νμ°μ κ°λ₯νκ² ν©λλ€. μΉ΄λ₯΄λ€λ Έλ μ΄λ₯Ό ꡬνν μ΅μ΄μ λ€νΈμν¬μ λλ€.
μ°λ‘보λ‘μ€λ λ€νΈμν¬μμ 보μ ν μ§λΆμ λ°λΌ μλ‘μ΄ λΈλ‘μ μμ±ν μ°Έμ¬μ(μ΄ κ²½μ° μ€ν μ΄ν¬ ν)λ₯Ό μ μΆνκ³ , μ§μ κ°λ₯ν λ°©μμΌλ‘ μλ‘μ΄ μμ₯μ μ§μνλ νμ€μν λΉνκ°ν λ€νΈμν¬ νμ±μ μ©μ΄νκ² ν©λλ€.
μ°λ‘보λ‘μ€ κ΅¬ν
μ°λ‘보λ‘μ€λ λ€μν λ²μ μΌλ‘ μ 곡λ©λλ€:
- μ°λ‘보λ‘μ€ ν΄λμ(Classic)
- μ°λ‘보λ‘μ€ BFT
- μ°λ‘보λ‘μ€ νλΌμ€μ€(Praos)
- μ°λ‘보λ‘μ€ μ λ€μμ€(Genesis)
- μ°λ‘보λ‘μ€ ν¬λ¦½μλμ€(Crypsinous)
- μ°λ‘보λ‘μ€ ν¬λ‘λ Έμ€(Chronos)
μ°λ‘보λ‘μ€ ν΄λμ
μ°λ‘보λ‘μ€μ 첫 λ²μ§Έ ꡬνμμλ μΈ κ°μ§ μ£Όμ μ±κ³Όλ₯Ό λ¬μ±νμ΅λλ€.
- μμ μ¦λͺ μ νμ νλ μλμ§ ν¨μ¨μ μΈ νλ‘ν μ½μ ν λ λ§λ ¨
- μ§λΆ μ¦λͺ μ λΆμνκΈ° μν μνμ νλ μμν¬ λμ
- μ§λΆ μ¦λͺ νκ²½μμ μ°Έμ¬μμκ² λ³΄μμ μ 곡νλ μλ‘μ΄ μΈμΌν°λΈ λ©μ»€λμ¦ κ΅¬ν
νμ§λ§ μ°λ‘보λ‘μ€κ° λ€λ₯Έ λΈλ‘μ²΄μΈ νλ‘ν μ½(νΉν μ§λΆ μ¦λͺ νλ‘ν μ½)κ³Ό μ°¨λ³νλλ μ μ νλ‘ν μ½μ 리λ μ μΆ μκ³ λ¦¬μ¦μμ 곡μ ν 무μμμ±μ μμ±νλ λ₯λ ₯κ³Ό κ·Έμ μλ°λλ λμ μμ€μ 보μ 보μ₯μ μμ΅λλ€. 무μμμ±μ νλ‘ν μ½μ 보μμ μ μ§νλ λ° μ€μν 'ν¨ν΄βμ΄ νμ±λλ κ²μ λ°©μ§ν©λλ€. μ°λ‘보λ‘μ€λ μ΄λ¬ν μ격ν 보μ λΆμμ ν΅ν΄ κ°λ°λ μ΅μ΄μ λΈλ‘μ²΄μΈ νλ‘ν μ½μ λλ€.
μ°λ‘보λ‘μ€ BFT
μ°λ‘보λ‘μ€ λΉμν΄ μ₯μ νμ©(BFT)μ νλ‘ν μ½μ λ λ²μ§Έ ꡬνμΌλ‘, λ°μ΄λ° μ λ°μ΄νΈ(κΈ°μ‘΄ μΉ΄λ₯΄λ€λ Έ μ½λλ² μ΄μ€μμ μλ‘μ΄ μ½λλ² μ΄μ€λ‘μ μ ν) κ³Όμ μμ μ¬μ©λμμ΅λλ€. μΉ΄λ₯΄λ€λ Έλ μ Έλ¦¬ μΆμμ ν¨κ» μ 곡λ νμ€μνλ₯Ό μν νλ‘ν μ½μ λ λ²μ§Έ μΈμ€ν΄μ€λ₯Ό μ€λΉνμ΅λλ€.
μ°λ‘보λ‘μ€ BFTλ μλ² μ°ν© λ€νΈμν¬(λΈλ‘체μΈ) κ°μ λκΈ° ν΅μ μ κ°λ₯ν¨μΌλ‘μ¨ λμ± κ°λ¨νκ³ κ²°μ λ‘ μ μΈ λ°©μμΌλ‘ μμ₯μ λν ν©μλ₯Ό μ 곡νμ΅λλ€.
μ°λ‘보λ‘μ€ νλΌμ€μ€
μ°λ‘보λ‘μ€ νλΌμ€μ€(Praos)λ μ°λ‘보λ‘μ€ ν΄λμ ꡬνμ 보μκ³Ό νμ₯μ±μ ν¬κ² κ°μ νμ΅λλ€. νλΌμ€μ€λ 체μΈμ μ¬λ‘―μΌλ‘ λλκ³ μ΄λ₯Ό μν¬ν¬λ‘ μ§κ³νμ¬ νΈλμμ λΈλ‘μ μ²λ¦¬ν©λλ€. κ·Έλ¬λ νλΌμ€μ€λ μ°λ‘보λ‘μ€ ν΄λμκ³Ό λ¬λ¦¬ λ°λκΈ° νκ²½μμ μ²λ¦¬λλ©°, νλΌμ΄λΉ 리λ μ μΆκ³Ό μλ°©ν₯ 보μ ν€ μλ³ΌλΉ μλͺ (foward-secure, key-evolving signatures)μ μ¬μ©νμ¬, κ°ν 곡격μκ° λ€μ μ¬λ‘― 리λλ₯Ό μμΈ‘νκ³ μ§μ€ 곡격(μ: λλμ€ κ³΅κ²©)μ ν μ μλλ‘ νλ―λ‘ μ΄λν°λΈ 곡격μ(adaptive attacker)λ‘λΆν° μμ ν©λλ€.
μ°λ‘보λ‘μ€ μ λ€μμ€
μ°λ‘보λ‘μ€μ λ€ λ²μ§Έ μ λ°μ΄νΈμΈ μ λ€μμ€λ μ λ’°ν μ μλ 체ν¬ν¬μΈνΈλ κ³Όκ±° κ°μ©μ±μ λν κ°μ μμ΄λ μ λ€μμ€ λΈλ‘μμ λΆνΈμ€νΈλ©ν μ μλ μλ‘μ΄ μ²΄μΈ μ ν κ·μΉμ μΆκ°νμ¬ μ°λ‘보λ‘μ€ νλΌμ€μ€λ₯Ό λμ± κ°μ ν μμ μ λλ€. λν μ λ€μμ€ λ°±μλ νλ‘ν μ½μ 보μ μμ±μ μμ§ μκ³ μ€μ νκ²½μμ μμμ ꡬμ±μΌλ‘ λ€λ₯Έ νλ‘ν μ½κ³Ό ν¨κ» νλ‘ν μ½μ ꡬμ±ν μ μμμ 보μ¬μ£Όλ, νλ‘ν μ½μ λ²μ© κ΅¬μ± κ°λ₯μ±(Universal Composability)μ λν μ¦λͺ μ μ μν©λλ€.
μ°λ‘보λ‘μ€ ν¬λ¦½μλμ€
μ°λ‘보λ‘μ€ ν¬λ¦½μλμ€(Crypsinous)λ μ λμμ€μ κ°μΈ μ 보 λ³΄νΈ μμ±μ λΆμ¬ν©λλ€. μ΄λ 곡μμ μΌλ‘ λΆμλ μ΅μ΄μ νλΌμ΄λ²μ λ³΄νΈ μ§λΆμ¦λͺ λΈλ‘μ²΄μΈ νλ‘ν μ½μ λλ€. μ΄ νλ‘ν μ½μ SNARKμ ν€-λΉλ° μλ°©ν₯ 보μ μνΈν(key-private forward-secure encryption)μ μμ‘΄νλ μλ‘μ΄ μ½μΈ μ§ν κΈ°λ²μ λμ νμ¬ κ°λ ₯ν νλΌμ΄λ²μ 보μ₯μ μ μ§νλ©΄μ μ΄λν°λΈ 곡격μ λν 보μμ ν보ν©λλ€. ν¬λ¦½μλμ€λ νμ¬ μΉ΄λ₯΄λ€λ Έμ ꡬνλ κ³νμ μμ§λ§, λ€λ₯Έ 체μΈμμ κ°μΈ μ 보 λ³΄νΈ μ€μ μ κ°ννκΈ° μν΄ μ¬μ©ν μ μμ΅λλ€.
μ°λ‘보λ‘μ€ ν¬λ‘λ Έμ€
ν¬λ‘λ Έμ€(Chronos)λ λ κ°μ§ λͺ©νλ₯Ό λ¬μ±ν©λλ€. 첫째, λΈλ‘μ²΄μΈ νλ‘ν μ½μ΄ μλ‘μ΄ μκ° λκΈ°ν λ©μ»€λμ¦μ ν΅ν΄ ν΄λ‘(clock)μ μμ νκ² λκΈ°ννμ¬ μΈλΆ νμ μλΉμ€μ μμ‘΄νμ§ μμ μ μλ λ°©λ²μ 보μ¬μ€λλ€. λμ§Έ, λ€λ₯Έ νλ‘ν μ½μ μνΈνμ μΌλ‘ μμ ν μκ° μμ€λ₯Ό μ 곡ν©λλ€. μ¦, ν¬λ‘λ Έμ€λ μκ° μ 보λ₯Ό λ Έλ¦¬λ 곡격μΌλ‘λΆν° μμ₯μ λμ± μμ νκ² λ³΄νΈν©λλ€.
μ ν리μΌμ΄μ κ΄μ μμ 보면, ν¬λ‘λ Έμ€λ λ¨μΌ μ₯μ μ§μ μ΄ λ°μνμ§ μμΌλ©΄μ λ‘컬 νμμ ν΅ν© λ€νΈμν¬ ν΄λ‘μ λκΈ°νν΄μΌ νλ, μ£Όμ ν΅μ , μ΄μ‘ λ° κΈ°ν IT μΈνλΌμ 볡μλ ₯μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€.
* μλ¬Έ: https://docs.cardano.org/learn/ouroboros-overview
* λ²μ: Ilhun@CryptoVeri enics_sky@naver.com