Hyperledger Fabric for Dummies

Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° прСдприятиСто

Hyperledger Fabric for Dummies

Π”ΠΎΠ±ΡŠΡ€ Π΄Π΅Π½, скъпи Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠ°Π·Π²Π°ΠΌ сС Николай НСфСдов, Π°Π· съм тСхничСски спСциалист Π½Π° IBM, Π² Ρ‚Π°Π·ΠΈ статия Π±ΠΈΡ… искал Π΄Π° Π²ΠΈ запозная с Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° - Hyperledger Fabric. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° бизнСс прилоТСния Π½Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Π½ΠΈΠ²ΠΎ (Enterprise class). Нивото Π½Π° статията Π΅ Π·Π° Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ с основни познания ΠΏΠΎ IT Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Hyperledger Fabric Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Hyperledger, консорциум Π½Π° Linux Foundation. Hyperledger Fabric ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ бСшС стартиран ΠΎΡ‚ Digital Assets ΠΈ IBM. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° характСристика Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Hyperledger Fabric Π΅ нСйният фокус Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ прилоТСния. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π°, ΠΊΠ°Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ високата скорост Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΈ тяхната ниска Ρ†Π΅Π½Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° всички участници. Π’Π΅Π·ΠΈ прСдимства сС постигат Ρ‡Ρ€Π΅Π· отдСлянС Π½Π° услугата Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° разпрСдСлСния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° сСртифициращ ΠΎΡ€Π³Π°Π½ ΠΈ ΠΎΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° участници.

ΠœΠΎΡΡ‚Π° статия Π΅ част ΠΎΡ‚ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° статии Π·Π° Hyperledger Fabric, Π² която описвамС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° систСма Π·Π° рСгистриранС Π½Π° студСнти, Π²Π»ΠΈΠ·Π°Ρ‰ΠΈ Π² унивСрситСт.

ΠžΠ±Ρ‰Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° Hyperledger Fabric

Hyperledger Fabric Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΌΡ€Π΅ΠΆΠ°, ΡΡŠΡΡ‚ΠΎΡΡ‰Π° сС ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са инсталирани Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ възли. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Hyperledger Fabric са Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ΠΈ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ ΠΎΡ‚ DockerHub. Hyperledger Fabric ΠΌΠΎΠΆΠ΅ ΡΡŠΡ‰ΠΎ Π΄Π° сС изпълнява Π² срСда Π½Π° Kubernetes.

Π—Π° Π΄Π° напишСм ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ (Π²Π΅Ρ€ΠΈΠΆΠ΅Π½ ΠΊΠΎΠ΄ Π² контСкста Π½Π° Hyperledger Fabric), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Golang (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Hyperledger Fabric Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΡ†ΠΈ). Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° пСрсонализирано ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² нашия случай, Node.js бСшС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ със ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ Hyperledger Fabric SDK.

Π’ΡŠΠ·Π»ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ° (ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€) – Π²Π΅Ρ€ΠΈΠΆΠ΅Π½ ΠΊΠΎΠ΄, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° разпрСдСлСния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ (Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ счСтоводната ΠΊΠ½ΠΈΠ³Π°) ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈ систСмни услуги Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π’ΡŠΠ·Π΅Π»ΡŠΡ‚ Π΅ само логичСска Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ възли ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ физичСски ΡΡŠΡ€Π²ΡŠΡ€. Много ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎ Π΅ ΠΊΠ°ΠΊ са Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½ΠΈ Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ (Π΄ΠΎΠ²Π΅Ρ€Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½) ΠΈ с ΠΊΠ°ΠΊΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ.

ΠžΠ±Ρ‰Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

Hyperledger Fabric for Dummies

Π€ΠΈΠ³ΡƒΡ€Π° 1. ΠžΠ±Ρ‰Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° Hyperledger Fabric

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Submitting Client) Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, с ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ работят с Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π—Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅, трябва Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ ΠΏΡ€Π΅Π· оторизация ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²Π° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ дСйствия Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

ΠŸΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈΡ‚Π΅ (Π²ΡŠΠ·Π»ΠΈΡ‚Π΅) ΠΈΠΌΠ°Ρ‚ няколко Ρ€ΠΎΠ»ΠΈ:

  • Endorsing Peer Π΅ възСл, ΠΊΠΎΠΉΡ‚ΠΎ симулира ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° транзакция (изпълнява ΠΊΠΎΠ΄Π° Π½Π° интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€). Π‘Π»Π΅Π΄ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅ ΠΈ изпълнСниС Π½Π° интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π²Ρ€ΡŠΡ‰Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π΅Π΄Π½ΠΎ със своя подпис.
  • Услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° услуга Π½Π° няколко възСла, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сС Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΡ‚ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΈ създаванС Π½Π° послСдоватСлност Π·Π° изпълнСниС Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° Π½Π΅ добавя Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ към Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° (ΠŸΡ€Π΅ΠΌΠ΅ΡΡ‚Π΅Π½ΠΎ Π² Committing Peers Π·Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π° производитСлност).
  • Committing Peer - възСл, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ ΠΈ добавя Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ към Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° (ΠΊΠΎΠΈΡ‚ΠΎ са Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ). Всички ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‰ΠΈ ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π°. ΠŸΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΡŠΡ‚ Π·Π° Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π½ΠΎΠ² Π±Π»ΠΎΠΊ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, провСрява всички Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π±Π»ΠΎΠΊΠ° Π·Π° валидност.

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° транзакция Π·Π° валидност. Π’Π΅Π·ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚ нСобходимия Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ възли, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ интСлигСнтният Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ трябва Π΄Π° бъдС изпълнСн, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ транзакцията Π΄Π° бъдС ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π° Π·Π° Π²Π°Π»ΠΈΠ΄Π½Π°.

РазпрСдСлСният Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ - Lerger - сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΄Π²Π΅ части: WolrldState (Π½Π°Ρ€ΠΈΡ‡Π°Π½Π° ΠΎΡ‰Π΅ State DataBase) ΠΈ BlockChain.

BlockChain Π΅ Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ Π±Π»ΠΎΠΊΠΎΠ²Π΅, която ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° записи Π½Π° всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π°ΡΡ‚ΡŠΠΏΠΈΠ»ΠΈ Π² ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π°.

WolrldState Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ (СкстрСмни) стойности Π½Π° всички Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°.

WorldState Π΅ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π² основна вСрсия - LevelDB ΠΈΠ»ΠΈ ΠΏΠΎ-слоТна - CouchDB, която ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡŽΡ‡-стойност, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ИмС - Иван, Ѐамилия - Иванов, Π΄Π°Ρ‚Π° Π½Π° рСгистрация Π² систСмата - 12.12.21, Π΄Π°Ρ‚Π° Π½Π° Ρ€Π°ΠΆΠ΄Π°Π½Π΅ - 17.12.1961 Π³. ΠΈ Π΄Ρ€. WorldState ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° трябва Π΄Π° са послСдоватСлни Π·Π° всички Ρ‡Π»Π΅Π½ΠΎΠ²Π΅ Π½Π° Π΄Π°Π΄Π΅Π½ ΠΊΠ°Π½Π°Π».

Въй ΠΊΠ°Ρ‚ΠΎ Hyperledger Fabric Π΅ ΠΌΡ€Π΅ΠΆΠ°, Π² която всички участници са извСстни ΠΈ удостовСрСни, Ρ‚ΡƒΠΊ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° спСциалСн сСртифициращ ΠΎΡ€Π³Π°Π½ - CA (Certification Authority). CA Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° стандарт X.509 ΠΈ инфраструктура с ΠΏΡƒΠ±Π»ΠΈΡ‡Π΅Π½ ΠΊΠ»ΡŽΡ‡ - PKI.

Услугата Π·Π° члСнство Π΅ услуга, Ρ‡Ρ€Π΅Π· която Ρ‡Π»Π΅Π½ΠΎΠ²Π΅Ρ‚Π΅ провСряват Π΄Π°Π»ΠΈ Π΄Π°Π΄Π΅Π½ ΠΎΠ±Π΅ΠΊΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ към ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° организация ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°Π».

Вранзакцията Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи Π΅ запис Π½Π° Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ½ΠΈΠ³Π°.
Има ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π° създаванС Π½Π° ΠΊΠ°Π½Π°Π»ΠΈ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ. Вранзакцията сС ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π° ΠΎΡ‚ потрСбитСлското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° със запис Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π°.

Канал (Channel) Π΅ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½Π° ΠΏΠΎΠ΄ΠΌΡ€Π΅ΠΆΠ°, ΡΡŠΡΡ‚ΠΎΡΡ‰Π° сС ΠΎΡ‚ Π΄Π²Π°ΠΌΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ участници Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½, Π½ΠΎ извСстСн ΠΊΡ€ΡŠΠ³ ΠΎΡ‚ участници. ΠšΠ°Π½Π°Π»ΡŠΡ‚ сС опрСдСля ΠΎΡ‚ участницитС, Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ½ΠΈΠ³Π°, ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ, услуга Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ, WorldState. ВсСки Ρ‡Π»Π΅Π½ Π½Π° ΠΊΠ°Π½Π°Π»Π° трябва Π΄Π° бъдС ΠΎΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈ Π΄Π° ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΎ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. ΠžΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡΡ‚Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‡Ρ€Π΅Π· услугата Π·Π° члСнство.

Π’ΠΈΠΏΠΈΡ‡Π΅Π½ сцСнарий Π·Π° изпълнСниС Π½Π° транзакция

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π±ΠΈΡ… искал Π΄Π° говоря Π·Π° Ρ‚ΠΈΠΏΠΈΡ‡Π΅Π½ сцСнарий Π·Π° изпълнСниС Π½Π° транзакция, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° нашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠšΠ°Ρ‚ΠΎ част ΠΎΡ‚ нашия Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΠΌΡ€Π΅ΠΆΠ° Hyperledger Fabric, която Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° рСгистриранС ΠΈ записванС Π½Π° студСнти, Π²Π»ΠΈΠ·Π°Ρ‰ΠΈ Π² унивСрситСти. ΠΠ°ΡˆΠ°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΄Π²Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, собствСност Π½Π° УнивСрситСт А ΠΈ УнивСрситСт Π‘. Всяка организация ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° клиСнтско ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ собствСн ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ Π·Π° Π°Π½Π³Π°ΠΆΠΈΡ€Π°Π½Π΅ ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅. НиС ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±Ρ‰Π°Ρ‚Π° услуга Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ, услуга Π·Π° члСнство ΠΈ услуги Π½Π° сСртифициращ ΠΎΡ€Π³Π°Π½.

1) Π˜Π½ΠΈΡ†ΠΈΠΈΡ€Π°Π½Π΅ Π½Π° транзакция

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΎ Hyperledger Fabric SDK, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π° заявка Π·Π° транзакция ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° заявката Π΄ΠΎ възли с ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ. Заявката ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π·Π° промяна ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΎΡ‚ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ½ΠΈΠ³Π° (Ledger). Ако Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Π½Π°ΡˆΠ°Ρ‚Π° тСстова конфигурация Π½Π° систСмата Π·Π° счСтоводство Π·Π° студСнти, Ρ‚ΠΎΠ³Π°Π²Π° клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° заявка Π·Π° транзакция Π΄ΠΎ Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ Π½Π° унивСрситСти A ΠΈ B, ΠΊΠΎΠΈΡ‚ΠΎ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ Π½Π° извикания ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€. Π’ΡŠΠ·Π΅Π» A Π΅ възСл, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° Π² унивСрситСта, ΠΊΠΎΠΉΡ‚ΠΎ рСгистрира пристигащ студСнт, Π° възСл B Π΅ възСл, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° Π² Π΄Ρ€ΡƒΠ³ унивСрситСт. Π—Π° Π΄Π° бъдС Π·Π°ΠΏΠ°Π·Π΅Π½Π° транзакция Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ½ΠΈΠ³Π°, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всички възли, ΠΊΠΎΠΈΡ‚ΠΎ спорСд бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° трябва Π΄Π° одобрят транзакцията, Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ със ΡΡŠΡ‰ΠΈΡ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° възСл A, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ инструмСнтитС Hyperledger Fabric SDK, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ (ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π·Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅) ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° към ΠΊΠΎΠΈ възли Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ заявка Π·Π° транзакция. Π’ΠΎΠ²Π° Π΅ заявка Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ (ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅) Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ (функция Π·Π° Π²Π΅Ρ€ΠΈΠΆΠ΅Π½ ΠΊΠΎΠ΄), Π·Π° Π΄Π° сС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡˆΠ°Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π°. ВСхничСски клиСнтският SDK ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½Π°Ρ‚Π° функция, Π½Π° Ρ‡ΠΈΠΉΡ‚ΠΎ API сС ΠΏΡ€Π΅Π΄Π°Π²Π° ΠΎΠ±Π΅ΠΊΡ‚ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° транзакция, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° добавя клиСнтски подпис ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅Π½ Π±ΡƒΡ„Π΅Ρ€ ΠΏΡ€Π΅Π· gRPC Π΄ΠΎ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ възли (одобряващи ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈ).

Hyperledger Fabric for Dummies
Π‘Π½ΠΈΠΌΠΊΠ° 2. Π˜Π½ΠΈΡ†ΠΈΠΈΡ€Π°Π½Π΅ Π½Π° транзакция

2) Π˜Π½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎ изпълнСниС Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€

Π’ΡŠΠ·Π»ΠΈΡ‚Π΅ (Endorsing Peers), слСд ΠΊΠ°Ρ‚ΠΎ са ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ заявка Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° транзакция, провСряват подписа Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Π°ΠΊΠΎ всичко Π΅ Π½Π°Ρ€Π΅Π΄, Ρ‚Π΅ Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΎΠ±Π΅ΠΊΡ‚ с Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° заявката ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ симулация Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ (функция Π½Π° Π²Π΅Ρ€ΠΈΠΆΠ΅Π½ ΠΊΠΎΠ΄) с Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ. Π˜Π½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈΡΡ‚ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Π΅ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° транзакция, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ условия ΠΈ инструкции (Π² нашия случай Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° студСнт, Π½ΠΎΠ² студСнт Π»ΠΈ Π΅ ΠΈΠ»ΠΈ Π²Π΅Ρ‡Π΅ Π΅ рСгистриран, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π²ΡŠΠ·Ρ€Π°ΡΡ‚Ρ‚Π° ΠΈ Ρ‚.Π½.). Π—Π° Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, Ρ‰Π΅ Π²ΠΈ трябват ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ WorldState. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° симулацията Π½Π° интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Π½Π° ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€Π° Π·Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ - Π½Π°Π±ΠΎΡ€ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ Π½Π°Π±ΠΎΡ€ Π·Π° запис. Read Set ΠΈ Write Set са ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ ΠΈ Π½ΠΎΠ²ΠΈΡ‚Π΅ стойности Π½Π° WorldState. (Π½ΠΎΠ² - Π² смисъла, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ‡Ρ€Π΅Π· симулиранС Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€).

Hyperledger Fabric for Dummies
Π‘Π½ΠΈΠΌΠΊΠ° 3. ИзпълнСниС Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€

3) Π’Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ към клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π‘Π»Π΅Π΄ симулацията Π½Π° интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, Endorsing Peers Π²Ρ€ΡŠΡ‰Π°Ρ‚ към клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ симулацията, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ RW Set, подписан ΠΎΡ‚ тСхния сСртификат. На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ няма ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ провСрява подписа Π½Π° одобряващия ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сравнява ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π·Π° транзакцията, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ, ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са Π²ΡŠΡ€Π½Π°Ρ‚ΠΈ (Ρ‚.Π΅. провСрява Π΄Π°Π»ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ симулирана транзакцията, са Π±ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΈ). Ако транзакцията Π΅ Π±ΠΈΠ»Π° само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, Ρ‚ΠΎΠ³Π°Π²Π° клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° нСобходимия Π½Π°Π±ΠΎΡ€ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ ΠΏΡ€ΠΈ Ρ‚ΠΎΠ²Π° транзакцията ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π±Π΅Π· Π΄Π° промСня разпрСдСлСния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€. Π’ случай Π½Π° транзакция, която трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ провСрява Π΄Π°Π»ΠΈ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π° Π½Π΅ провСрява Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Hyperledger Fabric Π² Ρ‚ΠΎΠ·ΠΈ случай осигурява ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ (Comitting Peers) Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° добавянС Π½Π° транзакция към Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°.

Hyperledger Fabric for Dummies
Π‘Π½ΠΈΠΌΠΊΠ° 4. Π’Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ към клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

4) Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° RW ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΈ към ΠΏΠΎΡ€ΡŠΡ‡Π²Π°Ρ‰ΠΈ ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈ

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° транзакцията Π·Π°Π΅Π΄Π½ΠΎ със ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с нСя Π΄Π°Π½Π½ΠΈ към услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ. Π’ΠΎΠ²Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° RW Set, подписи Π½Π° одобряващи ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈ ΠΈ ID Π½Π° ΠΊΠ°Π½Π°Π»Π°.

Услуга Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° - Π’ΡŠΠ· основа Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ, основната функция Π½Π° Ρ‚Π°Π·ΠΈ услуга Π΅ Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π° входящи Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² правилния Ρ€Π΅Π΄. ΠšΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ² Π±Π»ΠΎΠΊ ΠΎΡ‚ разпрСдСлСния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½Π°Ρ‚Π° доставка Π½Π° Π½ΠΎΠ²ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π΄ΠΎ всички Commiting възли, ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½ΠΎΡΡ‚ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° всички възли, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ разпрСдСлСния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ (Committing peers). Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ самата услуга Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° Π½Π΅ промСня Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½. Услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° Π΅ ΠΆΠΈΠ·Π½Π΅Π½ΠΎΠ²Π°ΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° систСмата, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ прСдставлява ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΎΡ‚ няколко възСла. Услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ Π½Π΅ провСрява транзакцията Π·Π° валидност, тя просто ΠΏΡ€ΠΈΠ΅ΠΌΠ° транзакция с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΊΠ°Π½Π°Π», ΠΏΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π° входящитС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π΄ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΎΡ‚ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΎΡ‚ тях. Π•Π΄Π½Π° услуга Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° обслуТва няколко ΠΊΠ°Π½Π°Π»Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Kafka, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° (Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π°) опашка Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ (Π²ΠΈΠΆΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠ° 7).

Hyperledger Fabric for Dummies
Π€ΠΈΠ³ΡƒΡ€Π° 5. Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° RW ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΈ към ΠΏΠΎΠ΄Ρ€Π΅ΠΆΠ΄Π°Ρ‰ΠΈ ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈ

5) Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π΄ΠΎ Committing Peer

Π‘Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅, Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈ Π² услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ, сС ΠΈΠ·Π»ΡŠΡ‡Π²Π°Ρ‚ към всички ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ възли. ВсСки възСл, слСд ΠΊΠ°Ρ‚ΠΎ Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½ΠΎΠ² Π±Π»ΠΎΠΊ, Π³ΠΎ провСрява Π·Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠŸΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° одобряванС, провСрява Π΄Π°Π»ΠΈ всички одобряващи ΠΏΠ°Ρ€Ρ‚Π½ΡŒΠΎΡ€ΠΈ са ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΡΡŠΡ‰ΠΈΡ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ (Write Set) Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° симулацията Π½Π° интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° провСрява Π΄Π°Π»ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ стойности ΠΈΠΌΠ°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈ (Ρ‚.Π΅. - Read Set - Π΄Π°Π½Π½ΠΈ, ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ ΠΎΡ‚ интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ ΠΎΡ‚ WorldState) ΠΎΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° транзакцията. Ако всички условия са изпълнСни, транзакцията сС ΠΌΠ°Ρ€ΠΊΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ Π²Π°Π»ΠΈΠ΄Π½Π°, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай транзакцията ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° статус Π½Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Π°.

Hyperledger Fabric for Dummies
Π€ΠΈΠ³ΡƒΡ€Π° 6. Π˜Π·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ към Committing Peer

6) ДобавянС Π½Π° Π±Π»ΠΎΠΊ към систСмния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€

ВсСки възСл добавя транзакция към своСто Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° ΠΈ Π°ΠΊΠΎ транзакцията Π΅ Π²Π°Π»ΠΈΠ΄Π½Π°, Ρ‚ΠΎΠ³Π°Π²Π° Write Set сС ΠΏΡ€ΠΈΠ»Π°Π³Π° към WorldState (Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅), ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ сС записват Π½ΠΎΠ²ΠΈ стойности Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π±ΠΈΠ»ΠΈ засСгнати ΠΎΡ‚ транзакцията . Ако транзакция ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Ρ‚ΠΎΠΊΠ΅Π½, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ имашС Π΄Π²Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ с Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ Π±Π»ΠΎΠΊ, Ρ‚ΠΎΠ³Π°Π²Π° Π΅Π΄Π½Π° ΠΎΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ няма Π΄Π° бъдС Π²Π°Π»ΠΈΠ΄Π½Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ стойности Π²Π΅Ρ‡Π΅ са ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° транзакция ). Π’Π°Π·ΠΈ транзакция ΡΡŠΡ‰ΠΎ сС добавя към Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° с Π½Π΅Π²Π°Π»ΠΈΠ΄Π΅Π½ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€, Π½ΠΎ Write Set Π½Π° Ρ‚Π°Π·ΠΈ транзакция Π½Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° към Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° WorldState ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π½Π΅ промСня ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅, участващи Π² транзакцията. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° извСстиС Π΄ΠΎ потрСбитСлското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Π΅ транзакцията Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Π·Π°Π²ΠΈΠ½Π°Π³ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° транзакцията, тоСст Π΄Π°Π»ΠΈ Π΅ Π²Π°Π»ΠΈΠ΄Π½Π° ΠΈΠ»ΠΈ Π½Π΅ ...

Hyperledger Fabric for Dummies
Π‘Π½ΠΈΠΌΠΊΠ° 7. ДобавянС Π½Π° Π±Π»ΠΎΠΊ към систСмния Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€

ПОРΠͺЧКА НА УБЛУГА

Услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Kafka със ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ възли Π½Π° ZooKeeper ΠΈ възли Π·Π° услуга Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° (OSN), ΠΊΠΎΠΈΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Kafka. Kafka cluster Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡ‚ΠΎΡ†ΠΈ (ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ), устойчива Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. ВсСки ΠΊΠ°Π½Π°Π» (Ρ‚Π΅ΠΌΠ°) Π² Kafka Π΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Π° ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ записи, която ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° само добавянС Π½Π° Π½ΠΎΠ² запис (ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ Π½Π΅ Π΅ възмоТно). По-Π΄ΠΎΠ»Ρƒ Π΅ Π΄Π°Π΄Π΅Π½Π° ΠΈΠ»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ Π½Π° структурата Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π°. ИмСнно Ρ‚ΠΎΠ²Π° свойство Π½Π° ΠšΠ°Ρ„ΠΊΠ° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.

Hyperledger Fabric for Dummies
Π²Π·Π΅Ρ‚ΠΎ ΠΎΡ‚ kafka.apache.org

  • Π‘Π½ΠΈΠΌΠΊΠ° 8. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π½Π° услугата Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ°*

ПолСзни Π²Ρ€ΡŠΠ·ΠΊΠΈ

Youtube - Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π·Π° бизнСс с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Hyperledger
Hyperledger Fabric Docs
Hyperledger fabric: Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Π·Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΈ

ΠŸΡ€ΠΈΠ·Π½Π°Π½ΠΈΡ

Изказвам Π΄ΡŠΠ»Π±ΠΎΠΊΠ°Ρ‚Π° си благодарност Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° статията:
Николай ΠœΠ°Ρ€ΠΈΠ½Π°
Π˜Π³ΠΎΡ€ Π₯Π°ΠΏΠΎΠ²
Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π“ΠΎΡ€Π±Π°Ρ‡ΠΎΠ²
ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Π—Π΅ΠΌΡ†ΠΎΠ²
Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π° ГусСва

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€