1. μν°νλΌμ΄μ¦ λΈλ‘체μΈ
λΈλ‘체μΈμ κ°μ₯ μ£Όμν κ°μΉ μ€ νλλ νμ€μνμΌ κ²μ λλ€. λΈλ‘체μΈμ μ΄μ©νλ©΄ μ€μμ ν΅μ λ κ°μ μμ΄ κ°μΈ λ κ°μΈμ΄ μ λ’° κ°λ₯ν κ±°λλ₯Ό ν μ μμ£ . κ·Έλ° μλ―Έμμ κΈ°μ μ΄λ κΈ°κ΄λ€μ΄ μ‘°μ§ λ΄λΆμμ μ΄κ²μ νμ©νλ€κ³ νλ©΄ μ μ§ μ΄μΈλ¦¬μ§ μλλ―ν λλμ΄ λλλ€. κΈ°μ μ νλμ λͺ©νλ‘ μμ§μ¬μΌνκΈ° λλ¬Έμ, μ무리 μνμ μΈ νμ΄λΌλ νμ₯μ μ‘΄μ¬νκΈ° λ§λ ¨μ λλ€. κ²λ€κ° 곡κΈλ§ μν μΆμ , κΈλ‘λ² κ²°μ λ΄μ λ± λΉμ¦λμ€ νλ‘μΈμ€λ₯Ό κ΄λ¦¬νλλ°μ μ¬μ©ν ν λ° κ°μΈ λꡬλ μ κ·Όν΄ μ½κ³ μ°κΈ°μλ μ ν©νμ§ μμ 보μ λλ€.
λ°λΌμ κΈ°μ μ λ€νΈμν¬μ μ£Όμ²΄κ° μ‘΄μ¬νκ³ μμ λ€μ΄ μ ν 쑰건μ λ§μ§ μλ μ°Έμ¬μλ μ νν μ μλλ‘ νλ νκ°ν λΈλ‘체μΈμ μ¬μ©ν©λλ€. μν°νλΌμ΄μ¦ λΈλ‘체μΈμ κΈ°μ μμ μ¬μ©νλ νκ°ν λ€νΈμν¬λ₯Ό μλ―Ένκ³ , νλμ κΈ°μ λ΄λΆμμ μ¬μ©ν μλ μκ³ , μ¬λ¬ κ°μ κΈ°μ μ΄ μ°Έμ¬ν΄μ μμ₯μ 곡μ νλλ‘ ν μλ μμ΅λλ€. νμμ κ°μ κ²½μ°λ '컨μμμ λΈλ‘체μΈ'μ΄λΌκ³ νΉμ ν΄ λΆλ¦ λλ€.
μν°νλΌμ΄μ¦ λΈλ‘체μΈμ μ± μ, νκ°, μμ , νμ₯ νΉμ±μ κ°μ΅λλ€.
- μ± μ : λ€νΈμν¬μ κ° λ Έλλ€μ μ μμ΄ μλ €μ§κ³ , μμ μ νλ(νΈλμμ λ±)μ λν΄ μ± μμ μ ΈμΌν μλ μμ΅λλ€.
- νκ° : λ€νΈμν¬μ μ£Όμ²΄κ° νκ°ν μ¬μ©μλ§ λΈλ‘체μΈμ μ¬μ©ν μ μμ΅λλ€.
- μμ : λ§μ½ λ€νΈμν¬λ₯Ό μ΄μνλ μ°Έμ¬μλ€μ΄ λͺ¨λ λμνλ€λ©΄, λ°μ΄ν°λ₯Ό μμ ν μλ μμ΅λλ€.
- νμ₯ : νμ€μνκ° λ λμ΄μκΈ° λλ¬Έμ, μλ‘μ΄ νΈλμμ μ μ½κ² μ λ°μ΄νΈ ν΄μ€ μ μμ΅λλ€.
2. Hyperledger Besu
νμ΄νΌλ μ Έλ 리λ μ€ μ¬λ¨μ΄ μ£Όκ΄νμ¬ μ§ν μ€μΈ, μ€λ§νΈ 컨νΈλνΈλ₯Ό ꡬνν μ μλ μ€ν μμ€ κΈ°λ°μ μν°νλΌμ΄μ¦ λΈλ‘μ²΄μΈ νλ‘μ νΈμ λλ€. μ λ§ λ§μ μμΈ κΈ°λ₯λ€μ΄ μμ§λ§, μ£Όμ μ€νλ€μ μ 리ν΄λ΄€μ΅λλ€.
κΈ°λ° | μ΄λ리μ |
μΈμ΄ | JAVA |
ν©μ | μμ μ¦λͺ (Ethash), κΆμμ¦λͺ (Clique, IBFT2.0, QBFT) |
μ€λ§νΈ 컨νΈλνΈ | κ°λ₯(EVM, μ΄λ리μ Solidity κ±°μ νΈν, κ²°μ λ‘ μ ) |
νκ° | νμ΄νΈλ¦¬μ€νΈ λ°©μ |
보μ | private νΈλμμ |
μμ§μ μ¦λͺ | μμ |
νΈλμμ νλ¦ | λͺ λ Ή → μ€ν/κ²μ¦ |
κ³ μ νν | μμ, μ€λ§νΈ 컨νΈλνΈλ₯Ό μ΄μ©ν ν ν° |
νΉμ§ | EEA μ€ν μ€μ, μΌλ°μ μΈ μ΄λ리μ ν΄λΌμ΄μΈνΈ κΈ°λ₯λ μ§μ, κ³μ κΈ°λ° λ± |
μ΄λ리μ, μ€λ§νΈ 컨νΈλνΈ
λ¨Όμ κΈ°λ°μ λν΄ μμλ³΄κ² μ΅λλ€. μ΄λ리μμ λν΄ μ κΉ λ¨Όμ μ€λͺ λ리μλ©΄, μ΄λ리μ μμ λΉνΈμ½μΈκ³Ό λ§μ°¬κ°μ§λ‘ μμ μ¦λͺ μ μ¬μ©νλ νΌλΈλ¦ λΈλ‘체μΈμ λλ€. λΈλ‘μ λ§λ€κ³ , μμ²λ λ Έλ ₯μ λ€μ¬ μ±κ΅΄ ν λΈλ‘μ 체μΈμ μ¬λ € λ€νΈμν¬μ μ νν©λλ€. νμ§λ§ μ΄λ리μμ ννλ‘μμ κΈ°λ₯λ§ ν μ μλ λΉνΈμ½μΈκ³Όλ λ€λ₯΄κ², μ€λ§νΈ 컨νΈλνΈλ₯Ό μ§μν΄ λΈλ‘체μΈμ νλ«νΌν μμΌ°μ΅λλ€. μ₯λΆλ₯Ό μ€μ΄ κ·Έμ΄μ Έ μλ κ°κ³λΆ λ ΈνΈκ° μλ, 무μμ΄λ μ μ μ μλ λ°±μ§ λ ΈνΈλ‘ λ§λ κ² μ λλ€. μ체 νλ‘κ·Έλλ° μΈμ΄μΈ Solidityλ‘ μ½λλ₯Ό μμ±νκ³ λΈλ‘μ λ£μ΄ μ¬λ¦¬λ©΄, μ΄κ²μ κ° λ Έλκ° μ΄λ리μ κ°μλ¨Έμ (EVM)μ μ΄μ©ν΄ μ€ννμ¬ κ²μ¦ν©λλ€.
μ΄ μ΄λ리μμ κ°μ‘°νμ¬ JAVAλ‘ κ΅¬νν μ€νμμ€ ν΄λΌμ΄μΈνΈκ° Besuμ λλ€. EVM, Solidityκ° νΈνλλ μ€λ§νΈ 컨νΈλνΈλ₯Ό μ¬μ©ν μ μκ³ , μνλ€λ©΄ ν©μ μκ³ λ¦¬μ¦μ μμ μ¦λͺ (Ethash)μΌλ‘ μ€μ ν΄ μ΄λ리μ λ€νΈμν¬μ ν΄λΌμ΄μΈνΈμ²λΌ μ¬μ©ν μλ μμ΅λλ€. (μ°Έκ³ λ‘ ν΄λΌμ΄μΈνΈλΌ νλ©΄ μμ°μ€λ½κ² μλ²λ₯Ό λ μ¬λ¦¬κ² λμ§λ§, λΈλ‘체μΈμ νμ€μνλ κ°λ μ΄κΈ° λλ¬Έμ μ€μμλ²κ° λ°λ‘ μμ΄ ν΄λΌμ΄μΈνΈλ§ μ‘΄μ¬ν©λλ€)
ν©μ μκ³ λ¦¬μ¦μ κΆμμ¦λͺ μΌλ‘ μ€μ νλ€λ©΄ μν°νλΌμ΄μ¦ λΈλ‘체μΈμΌλ‘ νμ©νκ² λκ² μ£ . Besuλ Clique, IBFT2.0, QBFT λ± λ€μν κΆμμ¦λͺ ν©μ μκ³ λ¦¬μ¦μ μ 곡ν©λλ€. κ° κΆμμ¦λͺ μκ³ λ¦¬μ¦μ λͺκ°μ§ κΈ°μ€μ ν΅ν΄ λΉκ΅ν΄λ³΄κ² μ΅λλ€.
λ€μν ν©μ μκ³ λ¦¬μ¦
λ¨Όμ μ¦κ²°μ±(Immediate Finality)μ '체μΈμ μ¬λΌκ° λ°μ΄ν°κ° λ°λ‘ νμ λλκ°'λ₯Ό λ§ν©λλ€. μμ μ¦λͺ μ μ€λͺ ν λ 'λΈλ‘μ΄ λμμ μ±κ΅΄λκ² λλ©΄ Forkκ° λ°μνκ² λκ³ , λͺ κ°μ λΈλ‘μ΄ λ€μ λ¬λ €μΌ νμ ν μ μλ€'κ³ νμλλ° κΈ°μ΅ λμλμ? μ΄λ° κ²½μ°λ μ¦κ²°μ±μ΄ μλ€κ³ λ§ν©λλ€. IBFTλ QBFT ν©μ μκ³ λ¦¬μ¦μ μ¬λΌκ° λΈλ‘μ λ°λ‘ νμ λμ§λ§, Clique μκ³ λ¦¬μ¦μ κ·Έλ μ§ μμ΅λλ€.
κ²μ¦μμ μ΅μ μλ 'μ΅μ λͺ λͺ μ κ²μ¦μκ° μμ΄μΌ λΈλ‘μ²΄μΈ λ€νΈμν¬κ° λμκ°λκ°'λ₯Ό λ§ν©λλ€. IBFT, QBFTλ μμ μ€λͺ νλ λΉμν΄ λ¬Έμ λ΄μ±(Byzantine Fault Tolerant)μ΄ μ μ©λμκ³ , μ΄ μμ€ν μ μλ κ·Έλ¦Όκ³Ό κ°μ΄ λμμμ΄ μνΈ ν΅μ νλ©° ν©μλ₯Ό ν΄μΌ νλ μμ€ν μ΄λ―λ‘ μ΅μ 4λͺ μ κ²μ¦μκ° νμν©λλ€. λ°λ©΄μ Cliqueλ μ΅μ νλμ λ Έλλ‘λ λμμ΄ κ°λ₯νμ§λ§ λ¨λ κ²μ¦μμ μ₯μ κ° λ°μν κ²½μ°, μ΄μ λν λμ± μ λ§λ ¨λμ΄ μμ§ μμ΅λλ€.
Cliqueκ° IBFTμ QBFTλ³΄λ€ λ λ΄κ²°ν¨μ±μ΄ κ°ν©λλ€. Cliqueλ κ²μ¦μλ€μ μ λ° μ λκ° κ²°ν¨μ΄ μκΈ°λλΌλ ν©μλ₯Ό ν μκ° μμ΅λλ€. νμ§λ§ IBFTλ QBFTμ κ²½μ° 2/3 μ΄μμ κ²μ¦μλ€μ΄ μλ΅μ μ€ μ μλ μνμ¬μΌ ν©μκ° κ°λ₯ν©λλ€. μ°Έκ³ λ‘ 3κ° μ΄νμ κ²μ¦μλ‘λ μλ‘ λ€λ₯Έ νκ²½μμ μ€ννμ λ λΈλ‘μ μμ±νκΈ΄ νμ§λ§ μ¦κ²°μ±μ΄λ BFTλ₯Ό 보μ₯ν μ μμΌλ μ€μ μ¬μ© μμλ μΆμ²λμ§ μμ΅λλ€.
μλ μΈ‘λ©΄μμλ, ν©μμ μ΄λ₯΄κ³ λΈλ‘μ μΆκ°νλ μλ μ체λ Cliqueκ° λ λΉ λ¦ λλ€. νμ§λ§ κ²μ¦μκ° μ¦κ°ν μλ‘ λΆκΈ°κ° μΌμ΄λ νλ₯ μ΄ λμμ§λλ€. λ°λ©΄μ IBFT, QBFTλ κ²μ¦μκ° μ¦κ°ν΄λ λΆκΈ°κ° μΌμ΄λμ§λ μμ§λ§, ν©μμ μ΄λ₯΄κ³ λΈλ‘μ μΆκ°νλ μλλ μ μ λ λλ €μ§λλ€.
νκ°(Permissioning), νλΌμ΄λ²μ(Privacy)
νκ°μ νλΌμ΄λ²μλ μ½κ° λ€λ₯Έ κ°λ μ λλ€. νκ°λ 체μΈμ λ°μ΄ν°λ₯Ό μΆκ°ν μ μλλ‘ νλ κΈ°λ₯μ΄λΌλ©΄, νλΌμ΄λ²μλ μ κ·Όνμ¬ λ°μ΄ν°λ₯Ό λ³Ό μ μλλ‘ νλ κΈ°λ₯μ λλ€.
λ¨Όμ νκ°λ νμ΄νΈλ¦¬μ€νΈ λ°©μμΌλ‘ μ΄λ£¨μ΄μ§λλ€. λΈλ리μ€νΈμ λ°λλ§μ΄λΌκ³ μκ°νμλ©΄ λ°λ‘ μ΄ν΄κ° λμ€ κ²λλ€. 미리 λͺ λ¨μ κ°μ§κ³ μκ³ , ν΄λΉ λͺ λ¨μ μλ μ¬λλ€λ§ νκ°κ° λ©λλ€. νκ°μλ λ Έλ νκ°μ κ³μ νκ°κ° μμΌλ©°, μ΄κ²μ κ° λ Έλ λ 벨μμ μ§μ ν μλ μκ³ , λ€νΈμν¬ λ 벨μμ μ§μ ν μλ μμ΅λλ€. λ Έλ νκ°λ₯Ό μ΄μ©νμ¬ κ°λ³ λ Έλμ λν μ°κ²°μ μ μ΄νκ³ , κ³μ νκ°λ₯Ό μ΄μ©νμ¬ λ Έλκ° νΈλμμ μ μλ½νκ³ κ±°λΆν κ³μ μ μ νν μ μμ΅λλ€. μ΄κ²μ λ Έλ λ 벨μμ μ μνλ©΄ μμ μ΄ ν΅μ νλ λ Έλλ§ ν΄λΉ μ€μ μ λ°λ₯Ό κ²μ λλ€. μ¨μ²΄μΈμμλ μ€λ§νΈ 컨νΈλνΈλ₯Ό μ¬μ©νμ¬ λ Έλ, κ³μ , κ΄λ¦¬μμ νμ© λͺ©λ‘μ μ μ₯νκ³ κ΄λ¦¬νλ©°, λͺ¨λ λ Έλκ° λ¨μΌ νμ© λͺ©λ‘μ μ½μ μ μμ΅λλ€.
Besuμμ νλΌμ΄λ²μλ μ°Έμ¬μλ€ μ¬μ΄μ νΈλμμ μ λΉκ³΅κ°λ‘ νλ κ²μ λ§ν©λλ€. λ€λ₯Έ μ°Έκ°μλ€μ μ΄λ€ μ°Έκ°μλ€μ΄ μ΄λ€ νΈλμμ μ μ£Όκ³ λ°μλμ§ μ‘μΈμ€ν μ μμ΅λλ€. Besuλ μ΄κ²μ Tessera(θ Orion)λΌλ νλ¬κ·ΈμΈμΌλ‘ κ΄λ¦¬ν©λλ€. Besuμμ νλΌμ΄λ²μ μ€μ μ΄ μλ λ€νΈμν¬μ κ° μ°Έμ¬μλ€μ κΈ°λ³Έκ°μΌλ‘ Tessera λ Έλμ Besu λ Έλ κ°κ°μ νλμ© λμλκ² λ©λλ€. Tesseraλ₯Ό ν΅ν΄ ν€λ₯Ό μ£Όκ³ λ°μΌλ©° νλΌμ΄λΉ νΈλμμ μ μννκ² λ©λλ€.
<νλΌμ΄λΉ νΈλμμ μ λν μ€λͺ >
'π» > λΈλ‘체μΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Fabric] 체μΈμ½λ λμ κ³Όμ (0) | 2021.12.01 |
---|---|
[λΈλ‘체μΈ] Solana, μμ¬μ¦λͺ (0) | 2021.11.24 |
[λΈλ‘체μΈ] λΈλ‘μ²΄μΈ λ°°κ²½μ§μ (0) | 2021.11.15 |
[Besu] κΈ°μ λ¬Έμ μμ± μ μ°Έκ³ λ§ν¬ (0) | 2021.11.10 |
[λΈλ‘체μΈ] μμ§μ μ¬μ΄νΈ λͺ¨μ (0) | 2021.11.09 |