ΠΠ»ΠΎΠΊΡΠ΅ΡΠ½ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΠ΅ΡΠΎ
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΏΠ»Π°Π΄Π½Π΅, Π΄ΡΠ°Π³ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ, ΡΠ°Ρ ΡΠ΅ Π²ΠΈΠΊΠ°ΠΌ ΠΠΈΠΊΠΎΠ»Π°Ρ ΠΠ΅ΡΠ΅Π΄ΠΎΠ², ΡΠ°Ρ ΡΡΠΌ ΡΠ΅Ρ Π½ΠΈΡΠΊΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΡΡ Π²ΠΎ IBM, Π²ΠΎ ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° Π±ΠΈ ΡΠ°ΠΊΠ°Π» Π΄Π° Π²Π΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π°ΠΌ ΡΠΎ Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° - Hyperledger Fabric. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ΄ ΠΊΠ»Π°ΡΠ°ΡΠ° Π½Π° ΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΡΠ°. ΠΠΈΠ²ΠΎΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π΅ Π·Π° Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ° ΠΎΠ΄ ΠΠ’ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅.
Hyperledger Fabric Π΅ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, Π΅Π΄Π½Π° ΠΎΠ΄ Π³ΡΠ°Π½ΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Hyperledger, ΠΊΠΎΠ½Π·ΠΎΡΡΠΈΡΠΌ Π½Π° Π€ΠΎΠ½Π΄Π°ΡΠΈΡΠ°ΡΠ° Linux. 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.
ΠΠ°Π·Π»ΠΈΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° (ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ) - Π²Π΅ΡΠΈΠΆΠ΅Π½ ΠΊΠΎΠ΄, ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ (ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π°ΡΠ°) ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°. ΠΠ°Π·ΠΎΠ»ΠΎΡ Π΅ ΡΠ°ΠΌΠΎ Π»ΠΎΠ³ΠΈΡΠΊΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ°; ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π·Π»ΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΏΠΎΡΡΠΎΡΠ°Ρ Π½Π° ΠΈΡΡΠΈΠΎΡ ΡΠΈΠ·ΠΈΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ½ΠΎΠ³Ρ ΠΏΠΎΠ²Π°ΠΆΠ½ΠΎ Π΅ ΠΊΠ°ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅ ΡΠ΅ Π³ΡΡΠΏΠΈΡΠ°Π½ΠΈ (Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ² Π΄ΠΎΠΌΠ΅Π½) ΠΈ ΡΠΎ ΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ.
ΠΠΏΡΡΠ°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
Π‘Π»ΠΈΠΊΠ° 1. ΠΠΏΡΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΡΠΊΠ°Π΅Π½ΠΈΠ½Π°ΡΠ° Hyperledger
ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° (Submitting Client) Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠΎ ΠΊΠΎΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅, ΠΌΠΎΡΠ° Π΄Π° ΡΡΠ΅ ΠΎΠ²Π»Π°ΡΡΠ΅Π½ΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠΌΠ°ΡΠ΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²Π° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ Π΄Π΅ΡΡΡΠ²Π° Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°.
ΠΡΡΠ½ΠΈΡΠΈΡΠ΅ Π΄ΠΎΠ°ΡΠ°Π°Ρ Π²ΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ»ΠΎΠ³ΠΈ:
- ΠΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° Peer Π΅ ΡΠ°Π·ΠΎΠ» ΠΊΠΎΡ ΡΠΈΠΌΡΠ»ΠΈΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° (Π³ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΊΠΎΠ΄ΠΎΡ Π·Π° ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ). ΠΠΎ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, ΡΠ°Π·ΠΎΠ»ΠΎΡ Π³ΠΈ Π²ΡΠ°ΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΠΏΠΎΡΠΏΠΈΡ.
- Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π° ΡΡΠ»ΡΠ³Π° Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π·Π»ΠΈ, ΠΊΠΎΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΎΠ΄ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° ΡΠ΅Π΄ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ. Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° Π½Π΅ Π΄ΠΎΠ΄Π°Π²Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ (ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π²ΠΎ Committing Peers Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Ρ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅).
- ΠΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Peer Π΅ ΡΠ°Π·ΠΎΠ» ΠΊΠΎΡ ΡΠΎΠ΄ΡΠΆΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ ΠΈ Π΄ΠΎΠ΄Π°Π²Π° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ (ΠΊΠΎΠΈ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ°). Π‘ΠΈΡΠ΅ ΠΎΠ±Π²ΡΠ·ΡΠ²Π°ΡΠΊΠΈ Π²ΡΡΠ½ΠΈΡΠΈ ΡΠΎΠ΄ΡΠΆΠ°Ρ Π»ΠΎΠΊΠ°Π»Π½Π° ΠΊΠΎΠΏΠΈΡΠ° ΠΎΠ΄ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠ½ΠΈΠ³Π°. ΠΠ±Π²ΡΡΠΊΠ°ΡΠ° Π½Π° Peer Π³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π²ΠΎ Π±Π»ΠΎΠΊΠΎΡ Π·Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ ΠΏΡΠ΅Π΄ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ Π½ΠΎΠ² Π±Π»ΠΎΠΊ Π»ΠΎΠΊΠ°Π»Π½ΠΎ.
ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΠ° Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°. ΠΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π³ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΠΎΡ ΡΠ΅Ρ Π½Π° ΡΠ°Π·Π»ΠΈ Π½Π° ΠΊΠΎΠΈ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡΠ΅ΠΏΠΎΠ·Π½Π°Π΅Π½Π° ΠΊΠ°ΠΊΠΎ Π²Π°Π»ΠΈΠ΄Π½Π°.
ΠΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ - Lerger - ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π΄Π²Π° Π΄Π΅Π»Π°: WolrldState (ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½Π° ΠΡΠΆΠ°Π²Π½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ) ΠΈ BlockChain.
BlockChain Π΅ ΡΠΈΠ½ΡΠΈΡ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΠΎ Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π·Π° ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈΠ»Π΅ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ.
WolrldState Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π° ΠΊΠ½ΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΊΠΎΡΠ° Π³ΠΈ Π·Π°ΡΡΠ²ΡΠ²Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΡΠ΅ (ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ) Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½Π° ΡΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ Π²ΠΎ ΠΊΠ½ΠΈΠ³Π°ΡΠ°.
WorldState Π΅ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° - LevelDB ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° - CouchDB, ΠΊΠΎΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ ΠΏΠ°ΡΠΎΠ²ΠΈ ΠΊΠ»ΡΡΠ½ΠΈ-Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ: ΠΠΌΠ΅ - ΠΠ²Π°Π½, ΠΡΠ΅Π·ΠΈΠΌΠ΅ - ΠΠ²Π°Π½ΠΎΠ², Π΄Π°ΡΡΠΌ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ° Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ - 12.12.21 , Π΄Π°ΡΡΠΌ Π½Π° ΡΠ°ΡΠ°ΡΠ΅ - 17.12.1961 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈΡΠ½. WorldState ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΈ ΠΌΠ΅ΡΡ ΡΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ Π²ΠΎ Π΄Π°Π΄Π΅Π½ ΠΊΠ°Π½Π°Π».
ΠΠΈΠ΄Π΅ΡΡΠΈ Hyperledger Fabric Π΅ ΠΌΡΠ΅ΠΆΠ° Π²ΠΎ ΠΊΠΎΡΠ° ΡΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΈ ΠΈ Π°Π²ΡΠ΅Π½ΡΠΈΡΠΈΡΠ°Π½ΠΈ, ΡΠ°Π° ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ ΠΎΡΠ³Π°Π½ Π·Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° - CA (Certification Authority). CA ΡΠ°Π±ΠΎΡΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΎΡ X.509 ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΡΠΎ ΡΠ°Π²Π΅Π½ ΠΊΠ»ΡΡ - PKI.
Π£ΡΠ»ΡΠ³Π° Π·Π° ΡΠ»Π΅Π½ΡΡΠ²ΠΎ Π΅ ΡΡΠ»ΡΠ³Π° ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΡΠ° ΡΠ»Π΅Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠ²ΡΠ΄ΡΠ²Π°Π°Ρ Π΄Π΅ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΡ ΠΏΡΠΈΠΏΠ°ΡΠ° Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°Π».
Π’ΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° - Π²ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ, Π΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ.
ΠΠΌΠ° ΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΊΠ°Π½Π°Π»ΠΈ ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ. Π’ΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΅ ΠΈΠ½ΠΈΡΠΈΡΠ°Π½Π° ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ Π·Π°Π²ΡΡΡΠ²Π° ΡΠΎ Π·Π°ΠΏΠΈΡ Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠ½ΠΈΠ³Π°.
ΠΠ°Π½Π°Π» Π΅ Π·Π°ΡΠ²ΠΎΡΠ΅Π½Π° ΠΏΠΎΠ΄ΠΌΡΠ΅ΠΆΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π΄Π²Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ Π²ΠΎ Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π΄Π° Π²ΡΡΠΈ Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π²ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½, Π½ΠΎ ΠΏΠΎΠ·Π½Π°Ρ ΠΊΡΡΠ³ Π½Π° ΡΡΠ΅ΡΠ½ΠΈΡΠΈ. ΠΠ°Π½Π°Π»ΠΎΡ Π³ΠΎ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°Π°Ρ ΡΡΠ΅ΡΠ½ΠΈΡΠΈΡΠ΅, Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ, ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ, ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠΈ, WorldState. Π‘Π΅ΠΊΠΎΡ ΡΡΠ΅ΡΠ½ΠΈΠΊ Π½Π° ΠΊΠ°Π½Π°Π»ΠΎΡ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΎΠ²Π»Π°ΡΡΠ΅Π½ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΡΠ²Π° Π΄ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΡ ΠΈ Π΄Π° ΠΈΠΌΠ° ΠΏΡΠ°Π²ΠΎ Π΄Π° Π²ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ. ΠΠ²Π»Π°ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠ΅ Π²ΡΡΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΡΠ»Π΅Π½ΡΡΠ²ΠΎ.
Π’ΠΈΠΏΠΈΡΠ½ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΎ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°
Π‘Π»Π΅Π΄Π½ΠΎ, Π±ΠΈ ΡΠ°ΠΊΠ°Π» Π΄Π° Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° ΡΠΈΠΏΠΈΡΠ½ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΎ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π½Π°ΡΠΈΠΎΡ Π²Π½Π°ΡΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Hyperledger Fabric, ΠΊΠΎΡΠ° Π΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½Π° Π΄Π° ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° ΠΈ Π΄Π° Π²ΠΎΠ΄ΠΈ ΡΠΌΠ΅ΡΠΊΠ° Π·Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΠΊΠΎΠΈ Π²Π»Π΅Π³ΡΠ²Π°Π°Ρ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΈΡΠ΅. ΠΠ°ΡΠ°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π΄Π²Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΈ ΠΏΡΠΈΠΏΠ°ΡΠ°Π°Ρ Π½Π° Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ Π ΠΈ Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ Π. Π‘Π΅ΠΊΠΎΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½Π° Π²ΡΡΠ½ΠΈΡΠΊΠ° Π·Π° ΠΎΠ±Π²ΡΠ·ΡΠ²Π°ΡΠ΅ ΠΈ ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅. ΠΠΈΠ΅, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π·Π° Π½Π°ΡΠ°ΡΠΊΠ°, ΡΠ»ΡΠΆΠ±Π° Π·Π° ΡΠ»Π΅Π½ΡΡΠ²ΠΎ ΠΈ ΠΎΡΠ³Π°Π½ Π·Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°.
1) ΠΠ°ΠΏΠΎΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°
ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ Hyperledger Fabric SDK, ΠΈΠ½ΠΈΡΠΈΡΠ° Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π³ΠΎ ΠΈΡΠΏΡΠ°ΡΠ° Π±Π°ΡΠ°ΡΠ΅ΡΠΎ Π΄ΠΎ ΡΠ°Π·Π»ΠΈ ΡΠΎ ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ. ΠΠ°ΡΠ°ΡΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ ΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ (ΠΠ΅ΡΠ΅Ρ). ΠΠΊΠΎ Π·Π΅ΠΌΠ΅ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° Π½Π°ΡΠΈΠΎΡ ΡΠ΅ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΠΌΠ΅ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΡΡΡΠ΄Π΅Π½ΡΠΈ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈΡΠΏΡΠ°ΡΠ° Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° Π΄ΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΈΡΠ΅ Π ΠΈ Π, ΠΊΠΎΠΈ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ. ΠΠ°Π·ΠΎΠ» Π Π΅ ΡΠ°Π·ΠΎΠ» ΠΊΠΎΡ ΡΠ΅ Π½Π°ΠΎΡΠ° Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ ΡΡΠΎ Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° ΡΡΡΠ΄Π΅Π½ΡΠΎΡ ΡΡΠΎ Π΄ΠΎΠ°ΡΠ°, Π° ΡΠ°Π·ΠΎΠ»ΠΎΡ Π Π΅ ΡΠ°Π·ΠΎΠ» ΡΡΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ° Π½Π° Π΄ΡΡΠ³ ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅Ρ. ΠΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΄Π° ΡΠ΅ Π·Π°ΡΡΠ²Π° Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ, Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ ΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈ ΠΊΠΎΠΈ, ΡΠΏΠΎΡΠ΅Π΄ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΌΠΎΡΠ° Π΄Π° ΡΠ° ΠΎΠ΄ΠΎΠ±ΡΠ°Ρ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄Π° ΠΈΠ·Π²ΡΡΠ°Ρ ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ ΡΠΎ ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ. ΠΠ°Π·ΠΎΠ» ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΈ Π°Π»Π°ΡΠΊΠΈΡΠ΅ Hyperledger Fabric SDK, ΡΠ° Π΄ΠΎΠ±ΠΈΠ²Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ ΠΈ ΡΡΠΈ Π΄ΠΎ ΠΊΠΎΠΈ ΡΠ°Π·Π»ΠΈ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠΈ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠ²Π° Π΅ Π±Π°ΡΠ°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ (ΡΡΠ½ΠΊΡΠΈΡΠ° Π½Π° Π²Π΅ΡΠΈΠΆΠ΅Π½ ΠΊΠΎΠ΄) Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΡΠ΅Π³ΠΈΡΡΠ°Ρ. Π’Π΅Ρ Π½ΠΈΡΠΊΠΈ, ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ SDK ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ°, Π½Π° ΡΠΈΡ API ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠΎΡΠΏΠΈΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ ΠΈ Π³ΠΈ ΠΈΡΠΏΡΠ°ΡΠ° ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΡΠΊΠΈ ΡΠ°ΠΌΠΏΠΎΠ½ ΠΏΡΠ΅ΠΊΡ gRPC Π΄ΠΎ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈ (ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ Π²ΡΡΠ½ΠΈΡΠΈ).
Π‘Π»ΠΈΠΊΠ° 2. ΠΠ½ΠΈΡΠΈΡΠ°ΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°
2) ΠΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ
ΠΠ°Π·Π»ΠΈ (Endosing Peers), ΠΎΡΠΊΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈΠ»Π΅ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°, Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π°Ρ ΠΏΠΎΡΠΏΠΈΡΠΎΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ ΠΈ Π°ΠΊΠΎ ΡΓ¨ Π΅ Π²ΠΎ ΡΠ΅Π΄, ΡΠΈΠ΅ Π·Π΅ΠΌΠ°Π°Ρ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π° Π±Π°ΡΠ°ΡΠ΅ΡΠΎ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠΈΠΌΡΠ»Π°ΡΠΈΡΠ° Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ (ΡΡΠ½ΠΊΡΠΈΡΠ° Π½Π° Π²Π΅ΡΠΈΠΆΠ΅Π½ ΠΊΠΎΠ΄) ΡΠΎ ΠΎΠ²ΠΎΡ ΠΏΠΎΠ΄Π°ΡΠΎΠΊ. ΠΠ°ΠΌΠ΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π΅ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ΅Ρ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΎΠ²Π° Π΅ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΡΡΠ΄Π΅Π½Ρ, Π΄Π°Π»ΠΈ Π΅ ΠΎΠ²Π° Π½ΠΎΠ² ΡΡΡΠ΄Π΅Π½Ρ ΠΈΠ»ΠΈ Π΅ Π²Π΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²ΠΎΠ·ΡΠ°ΡΡ ΠΈΡΠ½.). ΠΠ° Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, ΡΠ΅ Π²ΠΈ ΡΡΠ΅Π±Π°Π°Ρ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ WorldState. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΈΠΌΡΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π½Π° Π²ΡΡΠ½ΠΈΠΊΠΎΡ Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅, ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ Π΄Π²Π΅ Π³ΡΡΠΏΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ - Read Set ΠΈ Write Set. Read Set ΠΈ Write Set ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΈ Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½Π° WorldState. (Π½ΠΎΠ²ΠΎ β Π²ΠΎ ΡΠΌΠΈΡΠ»Π° Π΄ΠΎΠ±ΠΈΠ΅Π½Π° ΠΏΡΠΈ ΡΠΈΠΌΡΠ»Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ).
Π‘Π»ΠΈΠΊΠ° 3. ΠΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ
3) ΠΡΠ°ΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°
ΠΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠΌΡΠ»Π°ΡΠΈΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, Endorsing Peers Π³ΠΈ Π²ΡΠ°ΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΡΠΈΠΌΡΠ»Π°ΡΠΈΡΠ°ΡΠ°, ΠΊΠ°ΠΊΠΎ ΠΈ RW Set, ΠΏΠΎΡΠΏΠΈΡΠ°Π½ ΠΎΠ΄ Π½ΠΈΠ²Π½ΠΈΠΎΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°. ΠΠΎ ΠΎΠ²Π°Π° ΡΠ°Π·Π°, Π½Π΅ΠΌΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΏΠΎΡΠΏΠΈΡΠΎΡ Π½Π° Andorsing Peer, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π³ΠΈ ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΡΡΠΎ Π±ΠΈΠ»Π΅ ΠΈΡΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠΎ Π±ΠΈΠ»Π΅ Π²ΡΠ°ΡΠ΅Π½ΠΈ (ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠΈ Π±ΠΈΠ»Π° ΡΠΈΠΌΡΠ»ΠΈΡΠ°Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΈΡΠΊΡΠΈΠ²Π΅Π½ΠΈ). ΠΠΊΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π±ΠΈΠ»Π° ΡΠ°ΠΌΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ, ΡΠΎΠ³Π°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠΎΠ° ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ° Π·Π°Π²ΡΡΡΠ²Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π±Π΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ. ΠΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΠΊΠΎΡΠ° ΠΌΠΎΡΠ° Π΄Π° Π³ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅. ΠΠΎΠΆΠ½ΠΎ Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π΄Π° Π½Π΅ Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅, Π½ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Hyperledger Fabric Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ΅ (Committing Peers) Π²ΠΎ ΡΠ°Π·Π°ΡΠ° Π½Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ.
Π‘Π»ΠΈΠΊΠ° 4. ΠΡΠ°ΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°
4) ΠΡΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° RW ΡΠ΅ΡΠΎΠ²ΠΈ Π΄ΠΎ Ordering Peers
ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ° ΠΈΡΠΏΡΠ°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ ΠΏΡΠΈΠ΄ΡΡΠΆΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΄ΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΠ°ΡΠ°ΡΠΊΠ°. ΠΠ²Π° Π³ΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΎΡ RW, ΠΠΎΡΠΏΠΈΡΠΈΡΠ΅ Π½Π° Π²ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ ΠΈ ID Π½Π° ΠΊΠ°Π½Π°Π»ΠΎΡ.
Π£ΡΠ»ΡΠ³Π° Π·Π° Π½Π°ΡΠ°ΡΡΠ²Π°ΡΠ΅ β Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΈΠΌΠ΅ΡΠΎ, Π³Π»Π°Π²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ° Π½Π° ΠΎΠ²Π°Π° ΡΡΠ»ΡΠ³Π° Π΅ Π΄Π° Π³ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π²ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄. ΠΠ°ΠΊΠΎ ΠΈ ΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ Π½Π° Π½ΠΎΠ² Π±Π»ΠΎΠΊ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ ΠΈ Π·Π°Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½Π° ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π΄ΠΎ ΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, ΡΠΎ ΡΡΠΎ ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈ ΡΡΠΎ Π³ΠΎ ΡΠΎΠ΄ΡΠΆΠ°Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ (Committing peers). ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ°ΠΌΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° ΠΠ°ΡΠ°ΡΠΊΠ° Π½Π΅ Π³ΠΎ ΠΌΠ΅Π½ΡΠ²Π° ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Π½Π°ΡΠΈΠ½. Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΡΠ²Π°ΡΠ΅ Π΅ Π²ΠΈΡΠ°Π»Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΠΏΠ° Π·Π°ΡΠΎΠ° Π΅ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π·Π»ΠΈ. Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠΈ Π½Π΅ ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΠ° Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, ΡΠ°Π° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΡΠ°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΠΊΠ°Π½Π°Π», Π³ΠΈ ΡΡΠ΅Π΄ΡΠ²Π° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΏΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ΅Π΄ ΠΈ ΡΠΎΡΠΌΠΈΡΠ° Π½ΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ ΠΎΠ΄ Π½ΠΈΠ². ΠΠ΄Π½Π° ΡΡΠ»ΡΠ³Π° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡΠ»ΡΠΆΡΠ²Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΊΠ°Π½Π°Π»ΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ. Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΠ°ΡΠΊΠ°, ΠΊΠΎΡ ΡΠ° ΠΎΠ΄ΡΠΆΡΠ²Π° ΡΠΎΡΠ½Π°ΡΠ° (Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°) ΡΠ΅Π΄ΠΈΡΠ° Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ (Π²ΠΈΠ΄ΠΈ ΡΠΎΡΠΊΠ° 7).
Π‘Π»ΠΈΠΊΠ° 5. ΠΡΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° RW ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΠΎ Ordering Peers
5) ΠΡΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π΄ΠΎ Committing Peer
ΠΠ»ΠΎΠΊΠΎΠ²ΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠΈ ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ (Π΅ΠΌΠΈΡΡΠ²Π°Π°Ρ) Π΄ΠΎ ΡΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΠ°Π·Π»ΠΈ. Π‘Π΅ΠΊΠΎΡ ΡΠ°Π·ΠΎΠ», ΠΎΡΠΊΠ°ΠΊΠΎ Π΄ΠΎΠ±ΠΈ Π½ΠΎΠ² Π±Π»ΠΎΠΊ, Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π·Π° ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΎΡΡ ΡΠΎ ΠΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ ΡΠΈΡΠ΅ Π²ΡΡΠ½ΠΈΡΠΈ Π·Π° ΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ»Π΅ ΠΈΡΡΠΈΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ (Write Set) ΠΊΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΈΠΌΡΠ»Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΈΠΌΠ°Π°Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅ΡΠ° (Ρ.Π΅. Read Set - ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΠΎΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΠΎΠ΄ WorldState) ΠΎΠ΄ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°. ΠΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅ΡΠΈ ΡΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈ, ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΅ ΠΎΠ·Π½Π°ΡΠ΅Π½Π° ΠΊΠ°ΠΊΠΎ Π²Π°Π»ΠΈΠ΄Π½Π°, Π²ΠΎ ΡΠΏΡΠΎΡΠΈΠ²Π½ΠΎ, ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΄ΠΎΠ±ΠΈΠ²Π° ΡΡΠ°ΡΡΡ Π½Π΅Π²Π°ΠΆΠ΅ΡΠΊΠ°.
Π‘Π»ΠΈΠΊΠ° 6. ΠΡΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π΄ΠΎ Committing Peer
6) ΠΠΎΠ΄Π°Π²Π°ΡΠ΅ Π±Π»ΠΎΠΊ Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ
Π‘Π΅ΠΊΠΎΡ ΡΠ°Π·ΠΎΠ» Π΄ΠΎΠ΄Π°Π²Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° Π²ΠΎ ΡΠ²ΠΎΡΠ°ΡΠ° Π»ΠΎΠΊΠ°Π»Π½Π° ΠΊΠΎΠΏΠΈΡΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ, ΠΈ Π°ΠΊΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΅ Π²Π°Π»ΠΈΠ΄Π½Π°, ΡΠΎΠ³Π°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ Write ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° Π½Π° WorldState (ΡΠ΅ΠΊΠΎΠ²Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π°) ΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ Π½Π° ΡΠΎΠ°, Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈΡΠ΅ ΠΊΠΎΠΈ Π±ΠΈΠ»Π΅ Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ ΠΎΠ΄ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ. ΠΠΊΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΄ΠΎΠ±ΠΈΠ»Π° ΡΠΎΠΊΠ΅Π½ ΡΡΠΎ Π½Π΅ Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π²Π΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΡΠ΅ ΡΠ»ΡΡΠΈΠ»Π΅ ΡΠΎ ΠΈΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ Π²ΠΎ ΠΈΡΡΠΈΠΎΡ Π±Π»ΠΎΠΊ, ΡΠΎΠ³Π°Ρ Π΅Π΄Π½Π° ΠΎΠ΄ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΈΡΠΏΠ°Π΄Π½Π΅ Π½Π΅Π²Π°ΠΆΠ΅ΡΠΊΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠΈ ΠΎΠ΄ Π΄ΡΡΠ³Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°). ΠΠ²Π°Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π° Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π°ΡΠ° ΠΊΠ½ΠΈΠ³Π° ΡΠΎ Π½Π΅Π²Π°ΠΆΠ΅ΡΠΊΠΈ ΡΠΎΠΊΠ΅Π½, Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ Π·Π° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ²Π°Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½Π°ΡΠ° ΡΠ²Π΅ΡΡΠΊΠ° Π΄ΡΠΆΠ°Π²Π° ΠΈ, ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΎ, Π½Π΅ Π³ΠΈ ΠΌΠ΅Π½ΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈΡΠ΅ ΡΡΠΎ ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°. ΠΠΎ ΠΎΠ²Π°, Π΄ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ΅ Π΄Π΅ΠΊΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π΅ ΡΡΠ°ΡΠ½ΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΡΠ΅Π³ΠΈΡΡΠ°Ρ, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΡΠ°ΡΡΡΠΎΡ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ Π΄Π°Π»ΠΈ Π΅ Π²Π°Π»ΠΈΠ΄Π½Π° ΠΈΠ»ΠΈ Π½Π΅...
Π‘Π»ΠΈΠΊΠ° 7. ΠΠΎΠ΄Π°Π²Π°ΡΠ΅ Π±Π»ΠΎΠΊ Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ
Π£Π‘ΠΠ£ΠΠ ΠΠ ΠΠΠ ΠΠ§ΠΠ
Π£ΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΠ°ΡΠΊΠ° ΡΠΎ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ ZooKeeper ΡΠ°Π·Π»ΠΈ ΠΈ ΠΠ°Π·Π»ΠΈ Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° (OSN), ΠΊΠΎΠΈ ΡΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° ΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΠ°ΡΠΊΠ°. ΠΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΠ°ΡΠΊΠ° Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΡΠΎΡΠΎΠΊ (ΠΏΠΎΡΠ°ΠΊΠΈ) ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½Π° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ. Π‘Π΅ΠΊΠΎΡ ΠΊΠ°Π½Π°Π» (ΡΠ΅ΠΌΠ°) Π²ΠΎ ΠΠ°ΡΠΊΠ° Π΅ Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½ΠΈΠ·Π° ΠΎΠ΄ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΡΠ°ΠΌΠΎ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½ΠΎΠ² Π·Π°ΠΏΠΈΡ (Π±ΡΠΈΡΠ΅ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ Π½Π΅ Π΅ ΠΌΠΎΠΆΠ½ΠΎ). ΠΠΎΠ΄ΠΎΠ»Ρ Π΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½Π° ΠΈΠ»ΡΡΡΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ΅ΠΌΠ°ΡΠ°. Π’ΠΎΠΊΠΌΡ ΠΎΠ²ΠΎΡ ΠΈΠΌΠΎΡ Π½Π° ΠΠ°ΡΠΊΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°.
ΠΏΡΠ΅Π·Π΅ΠΌΠ΅Π½ΠΎ ΠΎΠ΄ kafka.apache.org
- Π‘Π»ΠΈΠΊΠ° 8. Π‘ΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΠ΅ΠΌΠ° Π·Π° Π½Π°ΡΠ°ΡΠΊΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°*
ΠΠΎΡΠΈΡΠ½ΠΈ ΠΠΠΠΠΠΠ
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΈΡΠΈ
ΠΠΈ ΡΠ°ΠΊΠ°Π» Π΄Π° ΠΈΠ·ΡΠ°Π·Π°ΠΌ Π΄Π»Π°Π±ΠΎΠΊΠ° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡ Π΄ΠΎ ΠΌΠΎΠΈΡΠ΅ ΠΊΠΎΠ»Π΅Π³ΠΈ Π·Π° Π½ΠΈΠ²Π½Π°ΡΠ° ΠΏΠΎΠΌΠΎΡ Π²ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° ΠΎΠ²ΠΎΡ Π½Π°ΠΏΠΈΡ:
ΠΠΈΠΊΠΎΠ»Π°Ρ ΠΠ°ΡΠΈΠ½
ΠΠ³ΠΎΡ ΠΠ°ΠΏΠΎΠ²
ΠΠΌΠΈΡΡΠΈΡ ΠΠΎΡΠ±Π°ΡΠΎΠ²
ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Π°Ρ ΠΠ΅ΠΌΡΠΎΠ²
ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π° ΠΡΡΠ΅Π²Π°
ΠΠ·Π²ΠΎΡ: www.habr.com