ΠΡΠΈΠ²Π΅Ρ, Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π Π Π ΠΠ (ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π΅ΡΡΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΊΠΎΠ»Π΅ΡΠ½ΡΡ
ΠΏΠ°Ρ). ΠΠ΄Π΅ΡΡ Ρ Ρ
ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΎΠΏΡΡΠΎΠΌ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ. ΠΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Ρ Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Hyperledger Fabric, Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΡΡΠ°ΠΏΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ Π½Π° Π»ΡΠ±ΠΎΠΉ permissioned Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½. ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅Π»Ρ Π½Π°ΡΠΈΡ
ΠΈΠ·ΡΡΠΊΠ°Π½ΠΈΠΉβ β βΠ³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½-ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠΆΠ΅Π»ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ.
ΠΠ΄Π΅ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΡΠΊΡΡΡΠΈΠΉ, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ Π·Π΄Π΅ΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΡ
Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ). Π― ΠΏΡΠΎΡΡΠΎ Ρ
ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΡΠΊΡΠΎΠΌΠ½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ, ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Β«ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎΒ» ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎ ΡΡΠΆΠΎΠΌ ΠΎΠΏΡΡΠ΅ ΠΏΡΠΈΠ½ΡΡΠΈΡ Ρ
ΠΎΡΠΎΡΠΈΡ
ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°: Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Ρ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΠΈΠ»ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, Π° Π½Π΅ Π±ΠΎΠΌΠ±ΠΎΠΉ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΠΊΡΠ°ΡΠΈΠ²ΠΎΠΉ ΠΎΠ±Π΅ΡΡΠΊΠ΅. ΠΠ°Π½Π°Π»Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, optimistic rollup, plasma ΠΈ ΡΠ°ΡΠ΄ΠΈΠ½Π³, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠ°Π½ΡΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΡΡΡΡ. ΠΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ. Π Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, TON ΡΠ½ΠΎΠ²Π° ΠΎΡΠ»ΠΎΠΆΠΈΡ Π·Π°ΠΏΡΡΠΊ Π½Π° ΠΏΠΎΠ»Π³ΠΎΠ΄Π°, Π° ΠΎΡΠ΅ΡΠ΅Π΄Π½Π°Ρ Plasma Group ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡ ΡΠ²ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅ΡΠΈΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ roadmap ΠΈ ΡΠΈΡΠ°ΡΡ Π½Π° Π½ΠΎΡΡ Π±Π»Π΅ΡΡΡΡΠΈΠ΅ white papers, Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ. Get shit done.
ΠΠ°Π΄Π°ΡΠ°, ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΡΠ°ΠΊ: Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ±ΡΠ΅ΠΊΡΠΎΠ², Π΄ΠΎΡΡΠΈΠ³Π°ΡΡΠ΅Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΡΡ, Π½Π΅ ΠΆΠ΅Π»Π°ΡΡΠ΅Π΅ ΡΡΡΠΎΠΈΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠΈ; Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½Π° DLT ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΎΠ±ΡΡΠ½ΡΡ ΠΠ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ Π½Π΅ Ρ ΡΠΆΠ΅ Π»ΡΠ±ΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅ΡΠ°. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π»Π΅ΠΆΠ°ΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ β ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π·Π΄Π΅ΡΡ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½.
ΠΠΎΠ·ΡΠ½Π³ΠΈ ΠΈΠ· whitepapers ΠΈ Π‘ΠΠ ΠΎΠ±Π΅ΡΠ°ΡΡ Π½Π°ΠΌ, ΡΡΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π§ΡΠΎ ΠΆΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅?
Mainnet Ethereum ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ ~30 tps. Π£ΠΆΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠΊΠΎΠ»ΡΠΊΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΉ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
Π½ΡΠΆΠ΄ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½. Π‘ΡΠ΅Π΄ΠΈ permissioned-ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ 2000 tps (
Latency
ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄ΠΎ Π΅Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ ΡΡΠ°ΠΏΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΉ ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π°Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ 1000000 tps, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ 10 ΠΌΠΈΠ½ΡΡ Π½Π° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 488 ΠΠ±, ΡΡΠ°Π½Π΅Ρ Π»ΠΈ Π½Π°ΠΌ Π»Π΅Π³ΡΠ΅?
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Hyperledger Fabric, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, Π½Π° ΡΡΠΎ ΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΎΠΎΡΠ½ΠΎΡΠΈΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°.
Π²Π·ΡΡΠΎ ΠΎΡΡΡΠ΄Π°:
(1) ΠΠ»ΠΈΠ΅Π½Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π° endorsing peers, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΈΠΌΡΠ»ΠΈΡΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ (ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½ΠΎΡΠΈΠΌΡΠ΅ ΡΠ΅ΠΉΠ½ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π° ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡΡΡ Π² Π»Π΅Π΄ΠΆΠ΅Ρ) ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ RWSetβ β βΠΈΠΌΠ΅Π½Π° ΠΊΠ»ΡΡΠ΅ΠΉ, Π²Π΅ΡΡΠΈΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²Π·ΡΡΡΠ΅ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² CouchDB, (2) endorsers ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ RWSet, (3) ΠΊΠ»ΠΈΠ΅Π½Ρ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΈΡΠΎΠ² (endorsers), Π° ΠΏΠΎΡΠΎΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π° ordering service, Π»ΠΈΠ±ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π±Π΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ (ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠΎΡΡΠΎΠΈΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅), ordering service ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π±Π»ΠΎΠΊ ΠΈ (4) ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π²ΡΠ΅ ΠΏΠΈΡΡ, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ endorsers; ΠΏΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ ΠΊΠ»ΡΡΠ΅ΠΉ Π² read set Π²Π΅ΡΡΠΈΡΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ Π²ΡΠ΅Ρ endorsers ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡΡ Π±Π»ΠΎΠΊ.
ΠΠΎ ΡΡΠΎ Π΅ΡΡ Π½Π΅ Π²ΡΡ. ΠΠ° ΡΠ»ΠΎΠ²Π°ΠΌΠΈ Β«ΠΎΡΠ΄Π΅ΡΠ΅Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π±Π»ΠΎΠΊΒ» ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π½ΠΎ ΠΈ 3 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΡ Π»ΠΈΠ΄Π΅ΡΠ° ΠΊ ΡΠΎΠ»Π»ΠΎΠ²Π΅ΡΠ°ΠΌ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ: Π»ΠΈΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Π»ΠΎΠ³, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»Π»ΠΎΠ²Π΅ΡΠ°ΠΌ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΡΠ²ΠΎΠΉ Π»ΠΎΠ³, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π»ΠΈΠ΄Π΅ΡΡ, Π»ΠΈΠ΄Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠΎΠ»Π»ΠΎΠ²Π΅ΡΠ°ΠΌ, ΡΠΎΠ»Π»ΠΎΠ²Π΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡΡ. Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°, ΡΠ΅ΠΌ ΡΠ°ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ordering service ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ. Π Hyperledger Fabric Π΅ΡΡΡ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°: BatchTimeoutβ β Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΈ BatchSize β ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² Π±Π°ΠΉΡΠ°Ρ ). ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π»ΠΈΠΌΠΈΡΠ°, Π²ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ΄ ΠΎΡΠ΄Π΅ΡΠ΅ΡΠΎΠ², ΡΠ΅ΠΌ Π΄ΠΎΠ»ΡΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΡΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ BatchTimeout ΠΈ BatchSize. ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ RWSet’Ρ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΡΡΡΡΡ, ΡΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π±Π»ΠΎΠΊ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ MVCC-ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². Π ΡΠΎΠΌΡ ΠΆΠ΅, Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ BatchTimeout ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΡΠ΅Ρ UX. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°Π·ΡΠΌΠ½ΠΎΠΉ ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡ Π΅ΠΌΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π»ΠΎΠΊΠ° ΠΈ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°, ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°. ΠΠ΄Π½ΠΎ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ° Π² RAFT ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΠ΅Ρ ΡΠ΅ΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΡ Π»ΠΈΠ΄Π΅ΡΠ° ΠΊ ΡΠΎΠ»Π»ΠΎΠ²Π΅ΡΠ°ΠΌ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ΄ ΠΎΡΠ΄Π΅ΡΠΎΠ², ΡΠ΅ΠΌ Π΄ΠΎΠ»ΡΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ. Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠΉ. ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°, Π½Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ?
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ΅ΡΠ°ΡΡ MVCC-ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ RWSet’Ρ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΡΠΈΠ΅ΠΉ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½-ΡΠ΅ΡΠΈ, ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±Π΅ΠΊΠ΅Π½Π΄, ΠΈ Ρ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ) Π½ΡΠΆΠ΅Π½ Ρ Π΅Π½Π΄Π»Π΅Ρ MVCC-ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ, ΡΠ°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠΌ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠΌ Π½Π°Π΄ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΠ΅ΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ retry.
Retry ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠ΅ΠΉ, Π½ΠΎ ΡΠΎΠ³Π΄Π° latency Π±ΡΠ΄Π΅Ρ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ. Π’Π°ΠΊ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ retry, Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ. Π‘ ΠΎΠ³Π»ΡΠ΄ΠΊΠΎΠΉ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ β ΡΠ΄Π΅Π»Π°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΠΆΠ΄Π°Π» 15, 30 ΠΈΠ»ΠΈ 10000000 ΡΠ΅ΠΊΡΠ½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ BatchTimeout. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ, Π·Π°ΠΏΠΈΡΠ°Π½Ρ/Π½Π΅ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½.
ΠΠ»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β βCouchDB ΠΈΠ·-Π·Π° ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Ρ Π±Π°Π·Ρ Π΅ΡΡΡ UI ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ, REST API, Π΄Π»Ρ Π½Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠ΅ CouchDB, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Fabric Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ world state. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.
{
Β Status string // Π‘ΡΠ°ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ: "pending", "done", "failed"
Β TxID: string // ID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
Β Error: string // optional, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅
}
ΠΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π±Π°Π·Ρ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΠΏΠΈΡΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ID ΡΡΡΠ½ΠΎΡΡΠΈ (ΡΡΠΎΡ ΠΆΠ΅ ID ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ°), Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»Ρ Status, TxID ΠΈ Error ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΡ ΠΏΠΈΡΠΎΠ².
Π ΡΡΠΎΠΉ ΡΡ
Π΅ΠΌΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΆΠ΄Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ, Π½Π°Π±Π»ΡΠ΄Π°Ρ ΠΊΡΡΡΡΡΠ΅Π΅ΡΡ ΠΊΠΎΠ»Π΅ΡΠΈΠΊΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ 10 ΡΠ΅ΠΊΡΠ½Π΄, ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠΊΠ»ΠΈΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡ Π²ΡΠ±ΡΠ°Π»ΠΈ BoltDB Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠΎΠ² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ Π½Π΅ Ρ
ΠΎΡΠ΅ΡΡΡ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΡΠΎΡΡΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎ plain text ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ. ΠΡΡΠ°ΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Ρ CouchDB Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΡΡ
Π΅ΠΌΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ world state, Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ± Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² CouchDB. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² CouchDB ΡΠ°Π·ΠΌΠ΅Ρ b-tree ΡΠ·Π»ΠΎΠ² ΡΠ°Π²Π΅Π½ 1279 Π±Π°ΠΉΡ, ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΠΊΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅, Π° Π·Π½Π°ΡΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π΄Π΅ΡΠ΅Π²Π° Π±ΡΠ΄Π΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ Π΄ΠΈΡΠΊΡ. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΡ
Backpressure: bufferΒ strategy
ΠΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠ°Π·Π΄Π΅Π»ΡΡ ΡΠ΅ΡΡΡΡΡ Ρ Π΄Π΅ΡΡΡΠΊΠΎΠΌ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΊΡΠΎΠΌΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½Π½ΡΡ Π½Π° ΡΡ Π΅ΠΌΠ΅ β ΠΈ Π²ΡΠ΅ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π·ΠΎΡΠΊΠ°Π·Π½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°Ρ , Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊ Intellij Idea Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»ΠΎΠΌ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΌ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ°Π·Π½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ°ΡΡΠΈΡ ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΡΠΎΠ΄ΡΡΡΠ΅ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΡΡΠΌΠ΅ΡΠ°, ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ.
Dropping: ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΡΠ²ΠΈΡΡ, ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ X ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π·Π° T ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠΈΠ΅ ΡΡΠΎΡ Π»ΠΈΠΌΠΈΡ, ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ ΠΏΡΠΎ UX ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±ΡΡΡ.
Controlling: Ρ ΠΊΠΎΠ½ΡΡΡΠΌΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ tps ΠΏΡΠΎΠ΄ΡΡΡΠ΅ΡΠ°. ΠΠ΅ΠΏΠ»ΠΎΡ ΠΎ, Π½ΠΎ ΡΡΠΎ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠΎΠ·Π΄Π°ΡΡΠ΅Π³ΠΎ Π½Π°Π³ΡΡΠ·ΠΊΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ»Ρ Π½Π°Ρ ΡΡΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Π² Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π²Π½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
Buffering: Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡ ΠΈΡΡΡΡΡΡΡ Π² ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ Π΄Π°Π½Π½ΡΡ , ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠΎΡΠΎΠΊ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ. ΠΡΡΠ΅Ρ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π² RabbitMQ.
Π ΡΡ
Π΅ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΎΡΡ Π΄Π²Π° Π½ΠΎΠ²ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: (1) ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° API Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΊΠ»Π°Π΄Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, (2) Π±Π΅ΠΊΠ΅Π½Π΄ Ρ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ; ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΡΠ°ΡΡΡΠΎΠ².
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π±Π»ΠΎΠΊΠ° Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Ρ
ΠΎΡΠ΅ΡΡΡ, ΡΠΊΡΡΠ²Π°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ΠΠ΄Π΅ΡΡ Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡΠΎ ΡΠ΅ΠΉΠ½ΠΊΠΎΠ΄, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ΡΠ΅Π³ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. Π§Π΅ΠΉΠ½ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ β ΡΡΠΎ Π²ΡΡ, ΡΡΠΎ ΠΎΡ Π½Π΅Π³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠΈΡΠ°ΡΡ ΡΠ΅ΠΉΠ½ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΎ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π½Π°ΠΌ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Fabric ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΡΠΈΡΡΠ½ΠΎΠΉ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Hyperledger Fabric Π½Π° Quorum, Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ Ethereum ΡΠ΅ΡΠΈ (PoA ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ PoW), ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ UX (ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌ). ΠΡΠΈ Π·Π°ΠΌΠ΅Π½Π΅ Fabric Π½Π° Ethereum Π² ΡΡ Π΅ΠΌΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠ³ΠΈΠΊΡ retry-ΡΠ΅ΡΠ²ΠΈΡΠ°/Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ° c ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ MVCC-ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΉ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ nonce ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ. ΠΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΡΠ°ΡΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΎΡΠ²ΡΠ·Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΡΡΡΠΈ Π½ΠΎΠ΄ ΠΎΡΠ΄Π΅ΡΠΎΠ² ΠΈ Π½Π΅ Π±ΠΎΡΡΡΡΡ, ΡΡΠΎ Π±Π»ΠΎΠΊΠΈ ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΡΠΎ ΠΈ Π½Π°Π³ΡΡΠΆΠ°ΡΡ ordering service.
Π ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, ΡΡΠΎ Π²ΡΡ, ΡΠ΅ΠΌ Ρ Ρ
ΠΎΡΠ΅Π» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ. ΠΡΠ΄Ρ ΡΠ°Π΄, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com