ΠŸΡƒΠ±Π»ΠΈΡ‡Π΅Π½ тСст: РСшСниС Π·Π° повСритСлност ΠΈ мащабируСмост Π½Π° Ethereum

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

ΠšΠ°Ρ‚ΠΎ сС ΠΈΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎ прСдимства ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΈΡ‚Π΅ прилоТСния Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°Ρ‰ΠΎ, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ ΠΎΠ±Π΅Ρ‰Π°Π²Π°Ρ‰Π° тСхнология всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ навлязла във всяка индустрия. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅, Ρ‡Π΅ ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΈ нямат мащабируСмост. Ethereum ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΎΠΊΠΎΠ»ΠΎ 20 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ, Π·Π° Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° днСшния Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½ бизнСс. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ тСхнологията, сС колСбаят Π΄Π° сС ΠΎΡ‚ΠΊΠ°ΠΆΠ°Ρ‚ ΠΎΡ‚ Ethereum ΠΏΠΎΡ€Π°Π΄ΠΈ високата ΠΌΡƒ стСпСн Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Ρ…Π°ΠΊΠ²Π°Π½Π΅ ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ.

Π—Π° Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° дСцСнтрализация, сигурност ΠΈ мащабируСмост Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°, ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ сС Ρ€Π΅ΡˆΠ°Π²Π° Ρ‚Ρ€ΠΈΠ»Π΅ΠΌΠ°Ρ‚Π° Π·Π° мащабируСмост, Π΅ΠΊΠΈΠΏΡŠΡ‚ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ създадС Plasma Cash, Π΄ΡŠΡ‰Π΅Ρ€Π½Π° Π²Π΅Ρ€ΠΈΠ³Π°, ΡΡŠΡΡ‚ΠΎΡΡ‰Π° сС ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ ΠΈ частна ΠΌΡ€Π΅ΠΆΠ°, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Node.js, която ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ си към основната Π²Π΅Ρ€ΠΈΠ³Π° (Ethereum).

ΠŸΡƒΠ±Π»ΠΈΡ‡Π΅Π½ тСст: РСшСниС Π·Π° повСритСлност ΠΈ мащабируСмост Π½Π° Ethereum

ΠšΠ»ΡŽΡ‡ΠΎΠ²ΠΈ процСси Π² Plasma Cash

1. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚ Π½Π°Ρ€ΠΈΡ‡Π° функцията Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ β€žΠ΄Π΅ΠΏΠΎΠ·ΠΈΡ‚β€œ, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π° Π² нСя сумата ETH, която иска Π΄Π° Π΄Π΅ΠΏΠΎΠ·ΠΈΡ€Π° Π² Ρ‚ΠΎΠΊΠ΅Π½Π° Π½Π° Plasma Cash. Ѐункцията Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ създава Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ Π·Π° Π½Π΅Π³ΠΎ.

2. Π’ΡŠΠ·Π»ΠΈΡ‚Π΅ Π½Π° Plasma Cash, Π°Π±ΠΎΠ½ΠΈΡ€Π°Π½ΠΈ Π·Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ с ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ Π·Π° създаванС Π½Π° Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚ ΠΈ добавят транзакция Π·Π° създаванС Π½Π° Ρ‚ΠΎΠΊΠ΅Π½ към ΠΏΡƒΠ»Π°.

3. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ спСциални възли Π½Π° Plasma Cash Π²Π·Π΅ΠΌΠ°Ρ‚ всички Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° (Π΄ΠΎ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½) ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ Π±Π»ΠΎΠΊ ΠΎΡ‚ тях, изчисляват Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Merkle ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Ρ…Π΅ΡˆΠ°. Π’ΠΎΠ·ΠΈ Π±Π»ΠΎΠΊ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°. Π’ΡŠΠ·Π»ΠΈΡ‚Π΅ провСряват Π΄Π°Π»ΠΈ Ρ…Π΅ΡˆΡŠΡ‚ Π½Π° Merkle Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½ ΠΈ Π΄Π°Π»ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ са Π²Π°Π»ΠΈΠ΄Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π°Π»ΠΈ податСлят Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π° Π΅ Π½Π΅Π³ΠΎΠ² собствСник). Π‘Π»Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π±Π»ΠΎΠΊΠ°, Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ ΠΈΠ·Π²ΠΈΠΊΠ²Π° функцията `submitBlock` Π½Π° интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, която записва Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° Π±Π»ΠΎΠΊΠ° ΠΈ Ρ…Π΅ΡˆΠ° Π½Π° Merkle Π² ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° Π²Π΅Ρ€ΠΈΠ³Π°. Π˜Π½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈΡΡ‚ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‰ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ добавянС Π½Π° Π±Π»ΠΎΠΊ. Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Ρ‚ ΠΎΡ‚ ΠΏΡƒΠ»Π°.

4. Π’ΡŠΠ·Π»ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊ, Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към Π±Π»ΠΎΠΊΠ°.

5. Π’ Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½ΠΈΠΊΡŠΡ‚ (ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ±ΡΡ‚Π²Π΅Π½ΠΈΠΊΡŠΡ‚) Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π° иска Π΄Π° Π³ΠΎ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ ΠΎΡ‚ Plasma Cash. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°, Ρ‚ΠΎΠΉ ΠΈΠ·Π²ΠΈΠΊΠ²Π° функцията `startExit`, ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΉΠΊΠΈ Π² нСя информация Π·Π° послСднитС 2 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°Ρ‚, Ρ‡Π΅ Ρ‚ΠΎΠΉ Π΅ собствСник Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π°. Π˜Π½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈΡΡ‚ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ…Π΅ΡˆΠ° Merkle, провСрява Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Π±Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Ρ‚ΠΎΠΊΠ΅Π½Π° Π·Π° изтСглянС, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ сС случи слСд Π΄Π²Π΅ сСдмици.

6. Ако опСрацията ΠΏΠΎ изтСглянСто Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π° Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° с Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ (Ρ‚ΠΎΠΊΠ΅Π½ΡŠΡ‚ Π΅ ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π°Π½ слСд Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° ΠΏΠΎ Ρ‚Π΅Π³Π»Π΅Π½Π΅ ΠΈΠ»ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΡŠΡ‚ Π²Π΅Ρ‡Π΅ Π΅ Π±ΠΈΠ» Π½Π° някой Π΄Ρ€ΡƒΠ³ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚Π΅Π³Π»Π΅Π½Π΅Ρ‚ΠΎ), ΡΠΎΠ±ΡΡ‚Π²Π΅Π½ΠΈΠΊΡŠΡ‚ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€Π³Π°Π΅ Ρ‚Π΅Π³Π»Π΅Π½Π΅Ρ‚ΠΎ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΄Π²Π΅ сСдмици.

ΠŸΡƒΠ±Π»ΠΈΡ‡Π΅Π½ тСст: РСшСниС Π·Π° повСритСлност ΠΈ мащабируСмост Π½Π° Ethereum

ΠŸΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° сС постига ΠΏΠΎ Π΄Π²Π° Π½Π°Ρ‡ΠΈΠ½Π°

1. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° Π²Π΅Ρ€ΠΈΠ³Π° Π½Π΅ Π·Π½Π°Π΅ Π½ΠΈΡ‰ΠΎ Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π² Π΄ΡŠΡ‰Π΅Ρ€Π½Π°Ρ‚Π° Π²Π΅Ρ€ΠΈΠ³Π°. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π° Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠΎΠΉ Π΅ Π΄Π΅ΠΏΠΎΠ·ΠΈΡ€Π°Π» ΠΈ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΠ» ETH ΠΎΡ‚ Plasma Cash остава ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Π°.

2. Π”ΡŠΡ‰Π΅Ρ€Π½Π°Ρ‚Π° Π²Π΅Ρ€ΠΈΠ³Π° позволява Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° zk-SNARK.

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅Π½ стСк

  • NodeJS
  • Redis
  • Π•Ρ‚Π΅Ρ€ΠΈΡƒΠΌ
  • Soild

ВСстванС

Π”ΠΎΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ…ΠΌΠ΅ Plasma Cash, тСствахмС скоростта Π½Π° систСмата ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ слСднитС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ:

  • към ΠΏΡƒΠ»Π° сС добавят Π΄ΠΎ 35 000 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда;
  • Π΄ΠΎ 1 000 000 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² Π±Π»ΠΎΠΊ.

Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ са тСстовС Π½Π° слСднитС 3 ΡΡŠΡ€Π²ΡŠΡ€Π°:

1. Intel Core i7-6700 Quad-Core Skylake Π²ΠΊΠ». NVMe SSD – 512 GB, 64 GB DDR4 RAM
Бяха ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ‚ΠΈ 3 Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Ρ‰ΠΈ Plasma Cash възли.

2. AMD Ryzen 7 1700X Octa-Core β€œSummit Ridge” (Zen), SATA SSD – 500 GB, 64 GB DDR4 RAM
ETH Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π½Π° Ropsten testnet бСшС ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ‚.
Бяха ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ‚ΠΈ 3 Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Ρ‰ΠΈ Plasma Cash възли.

3. Intel Core i9-9900K Octa-Core Π²ΠΊΠ». NVMe SSD – 1 TB, 64 GB DDR4 RAM
1 възСл Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π° Plasma Cash бСшС ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ‚.
Бяха ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ‚ΠΈ 3 Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Ρ‰ΠΈ Plasma Cash възли.
Π‘Π΅ΡˆΠ΅ стартиран тСст Π·Π° добавянС Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ към ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Plasma Cash.

ΠžΠ±Ρ‰ΠΎ: 10 Plasma Cash възли Π² частна ΠΌΡ€Π΅ΠΆΠ°.

ВСст 1

Има ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° Π±Π»ΠΎΠΊ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ Π² 2 Π±Π»ΠΎΠΊΠ° (Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ систСмата успява Π΄Π° Π²Π·Π΅ΠΌΠ΅ част ΠΎΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚).


ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅: послСдСн Π±Π»ΠΎΠΊ #7; Π’ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ.

00:00 β€” Π½Π°Ρ‡Π°Π»ΠΎ Π½Π° скрипта Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° транзакция
01:37 - 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ бяха създадСни ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ към възСла Π·Π°ΠΏΠΎΡ‡Π½Π°
01:46 β€” Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π²Π·Π΅ 240k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #8. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡŠΡ‰ΠΎ, Ρ‡Π΅ 320k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ сС добавят към ΠΏΡƒΠ»Π° Π·Π° 10 сСкунди
01:58 β€” Π±Π»ΠΎΠΊ β„–8 Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
02:03 β€” Π±Π»ΠΎΠΊ #8 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ функцията `submitBlock` Π½Π° интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° с Ρ…Π΅ΡˆΠ° Π½Π° Merkle ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° Π±Π»ΠΎΠΊΠ°
02:10 β€” Π΄Π΅ΠΌΠΎ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π° 32 сСкунди
02:33 - Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ информация, Ρ‡Π΅ Π±Π»ΠΎΠΊ #8 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ към основната Π²Π΅Ρ€ΠΈΠ³Π° ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ 240k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
02:40 - 240k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ бяха ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ са Π² Π±Π»ΠΎΠΊ #8
02:56 β€” Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π²Π·Π΅ останалитС 760k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° изчислява Ρ…Π΅ΡˆΠ° Π½Π° Merkle ΠΈ Π±Π»ΠΎΠΊ Π·Π° подписванС #9
03:20 - всички възли ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ 240k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ
03:35 β€” Π±Π»ΠΎΠΊ #9 Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли
03:41 - възникна ΠΌΡ€Π΅ΠΆΠΎΠ²Π° Π³Ρ€Π΅ΡˆΠΊΠ°
04:40 β€” Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊ #9 ΠΈΠ·Ρ‚Π΅Ρ‡Π΅
04:54 β€” Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π²Π·Π΅ останалитС 760k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° изчислява Ρ…Π΅ΡˆΠ° Π½Π° Merkle ΠΈ Π±Π»ΠΎΠΊ Π·Π° подписванС #9
05:32 β€” Π±Π»ΠΎΠΊ #9 Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли
05:53 β€” Π±Π»ΠΎΠΊ #9 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
06:17 - Π²ΡŠΠ·Π»ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ информация, Ρ‡Π΅ Π±Π»ΠΎΠΊ #9 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ към основната Π²Π΅Ρ€ΠΈΠ³Π° ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° изпълнява 760k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
06:47 β€” ΠΏΡƒΠ»ΡŠΡ‚ Π΅ изчистСн ΠΎΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π² Π±Π»ΠΎΠΊ #9
09:06 - всички възли ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ

ВСст 2

Има ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 350k Π½Π° Π±Π»ΠΎΠΊ. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ 3 Π±Π»ΠΎΠΊΠ°.


ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅: послСдСн Π±Π»ΠΎΠΊ #9; Π’ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ

00:00 β€” ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π²Π΅Ρ‡Π΅ Π΅ стартиран
00:44 - 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ бяха създадСни ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ към възСла Π·Π°ΠΏΠΎΡ‡Π½Π°
00:56 β€” Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π²Π·Π΅ 320k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #10. Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡŠΡ‰ΠΎ, Ρ‡Π΅ 320k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ сС добавят към ΠΏΡƒΠ»Π° Π·Π° 10 сСкунди
01:12 β€” Π±Π»ΠΎΠΊ #10 Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
01:18 β€” Π΄Π΅ΠΌΠΎ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π° 34 сСкунди
01:20 β€” Π±Π»ΠΎΠΊ #10 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
01:51 - всички възли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° информация ΠΎΡ‚ основната Π²Π΅Ρ€ΠΈΠ³Π°, Ρ‡Π΅ Π±Π»ΠΎΠΊ #10 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ 320k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
02:01 - ΠΏΡƒΠ»ΡŠΡ‚ Π΅ изчистСн Π·Π° 320k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ бяха Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към Π±Π»ΠΎΠΊ #10
02:15 β€” Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π²Π·Π΅ 350k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #11
02:34 β€” Π±Π»ΠΎΠΊ #11 Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
02:51 β€” Π±Π»ΠΎΠΊ #11 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
02:55 β€” послСдният възСл Π·Π°Π²ΡŠΡ€ΡˆΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π±Π»ΠΎΠΊ #10
10:59 β€” транзакцията с ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±Π»ΠΎΠΊ #9 ΠΎΡ‚Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π² основната Π²Π΅Ρ€ΠΈΠ³Π°, Π½ΠΎ бСшС Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΈ всички възли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° информация Π·Π° нСя ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ 350k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
11:05 - ΠΏΡƒΠ»ΡŠΡ‚ Π΅ изчистСн Π·Π° 320k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ бяха Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към Π±Π»ΠΎΠΊ #11
12:10 - всички възли ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ 670k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ
12:17 β€” Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π²Π·Π΅ 330k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #12
12:32 β€” Π±Π»ΠΎΠΊ #12 Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
12:39 β€” Π±Π»ΠΎΠΊ #12 Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
13:44 - всички възли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° информация ΠΎΡ‚ основната Π²Π΅Ρ€ΠΈΠ³Π°, Ρ‡Π΅ Π±Π»ΠΎΠΊ #12 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ 330k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
14:50 - всички възли ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ 2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ

ВСст 3

Π’ ΠΏΡŠΡ€Π²ΠΈΡ ΠΈ втория ΡΡŠΡ€Π²ΡŠΡ€ Π΅Π΄ΠΈΠ½ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Ρ‰ възСл бСшС Π·Π°ΠΌΠ΅Π½Π΅Π½ ΠΎΡ‚ ΠΏΠΎΠ΄Π°Π²Π°Ρ‰ възСл.


ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅: послСдСн Π±Π»ΠΎΠΊ #84; 0 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ, Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ

00:00 β€” Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½ΠΈ са 3 скрипта, ΠΊΠΎΠΈΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΏΠΎ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ всСки
01:38 β€” Бяха създадСни 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ към възСл #3 Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅
01:50 β€” възСл Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ #3 Π²Π·Π΅ 330k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #85 (f21). Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡŠΡ‰ΠΎ, Ρ‡Π΅ 350 10 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ сС добавят към ΠΏΡƒΠ»Π° Π·Π° XNUMX сСкунди
01:53 β€” Бяха създадСни 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ към възСл #1 Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅
01:50 β€” възСл Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ #3 Π²Π·Π΅ 330k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #85 (f21). Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡŠΡ‰ΠΎ, Ρ‡Π΅ 350 10 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ сС добавят към ΠΏΡƒΠ»Π° Π·Π° XNUMX сСкунди
02:01 β€” възСл #1 Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π²Π·Π΅ 250k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #85 (65e)
02:06 β€” Π±Π»ΠΎΠΊ #85 (f21) Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
02:08 β€” Π΄Π΅ΠΌΠΎ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ #3, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π° 30 сСкунди, ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°
02:14 β€” Π±Π»ΠΎΠΊ #85 (f21) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
02:19 β€” Π±Π»ΠΎΠΊ #85 (65e) Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
02:22 β€” Бяха създадСни 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ към възСл #2 Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅
02:27 β€” Π±Π»ΠΎΠΊ #85 (65e) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
02:29 β€” възСл Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ #2 Π²Π·Π΅ 111855 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #85 (256).
02:36 β€” Π±Π»ΠΎΠΊ #85 (256) Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
02:36 β€” Π΄Π΅ΠΌΠΎ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ #1, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π° 42.5 сСкунди, ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°
02:38 β€” Π±Π»ΠΎΠΊ #85 (256) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
03:08 β€” Π‘ΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ β„–2 ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π° 47 сСкунди
03:38 - всички възли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° информация ΠΎΡ‚ основната Π²Π΅Ρ€ΠΈΠ³Π°, Ρ‡Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ #85 (f21), #86(65e), #87(256) са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ 330k, 250k, 111855 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
03:49 - ΠΏΡƒΠ»ΡŠΡ‚ бСшС изчистСн ΠΏΡ€ΠΈ 330k, 250k, 111855 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ бяха Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към Π±Π»ΠΎΠΊΠΎΠ²Π΅ #85 (f21), #86(65e), #87(256)
03:59 β€” възСл Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ #1 Π²Π·Π΅ 888145 88 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #214 (2), възСл Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ #750 Π²Π·Π΅ 88k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #50 (3a), възСл Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ #670 Π²Π·Π΅ 88k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π±Π°ΡΠ΅ΠΉΠ½ΡŠΡ‚ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Π±Π»ΠΎΠΊ #3 (dXNUMXb)
04:44 β€” Π±Π»ΠΎΠΊ #88 (d3b) Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
04:58 β€” Π±Π»ΠΎΠΊ #88 (214) Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
05:11 β€” Π±Π»ΠΎΠΊ #88 (50a) Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
05:11 β€” Π±Π»ΠΎΠΊ #85 (d3b) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
05:36 β€” Π±Π»ΠΎΠΊ #85 (214) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
05:43 - всички възли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° информация ΠΎΡ‚ основната Π²Π΅Ρ€ΠΈΠ³Π°, Ρ‡Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ #88 (d3b), #89(214) са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ 670k, 750k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
06:50 β€” ΠΏΠΎΡ€Π°Π΄ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ° Π² комуникацията Π±Π»ΠΎΠΊ #85 (50a) Π½Π΅ бСшС Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½
06:55 β€” възСл Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ #2 Π²Π·Π΅ 888145 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΏΡƒΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π±Π»ΠΎΠΊ #90 (50a)
08:14 β€” Π±Π»ΠΎΠΊ #90 (50a) Π΅ подписан ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ възли Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅
09:04 β€” Π±Π»ΠΎΠΊ #90 (50a) Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ Π΄ΠΎ основната Π²Π΅Ρ€ΠΈΠ³Π°
11:23 - всички възли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° информация ΠΎΡ‚ основната Π²Π΅Ρ€ΠΈΠ³Π°, Ρ‡Π΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π±Π»ΠΎΠΊ #90 (50a) ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ 888145 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΡΡŠΡ€Π²ΡŠΡ€ #3 Π²Π΅Ρ‡Π΅ Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠ» Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π±Π»ΠΎΠΊΠΎΠ²Π΅ #88 (d3b), #89(214)
12:11 - всички басСйни са ΠΏΡ€Π°Π·Π½ΠΈ
13:41 β€” всички възли Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ #3 ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ 3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ
14:35 β€” всички възли Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ #1 ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ 3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ
19:24 β€” всички възли Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ #2 ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ 3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΈ

ΠŸΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΠΈΡ

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Plasma Cash сС Π½Π°Ρ‚ΡŠΠΊΠ½Π°Ρ…ΠΌΠ΅ Π½Π° слСднитС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ постСпСнно Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅:

1. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΡ€ΠΈ взаимодСйствиСто Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ систСмни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр функцията Π·Π° добавянС Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ към ΠΏΡƒΠ»Π° Π±Π»ΠΎΠΊΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ спад Π² скоростта.

2. НС бСшС Π²Π΅Π΄Π½Π°Π³Π° ясно ΠΊΠ°ΠΊ Π΄Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½ Π±Ρ€ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ сС ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° прСнос Π½Π° Π΄Π°Π½Π½ΠΈ.

3. НС бСшС ясно ΠΊΠ°ΠΊ ΠΈ къдС Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π·Π° Π΄Π° сС постигнат високи Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ.

4. НС бСшС ясно ΠΊΠ°ΠΊ Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° ΠΌΡ€Π΅ΠΆΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΡŠΠ·Π»ΠΈΡ‚Π΅, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π±Π»ΠΎΠΊ с 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π·Π°Π΅ΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 100 MB.

5. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π² Сднонишков Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΡŠΠ·Π»ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС появят дълги изчислСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Merkle Π΄ΡŠΡ€Π²ΠΎ ΠΈ изчисляванС Π½Π° нСговия Ρ…Π΅Ρˆ).

Как сС справихмС с всичко Ρ‚ΠΎΠ²Π°?

ΠŸΡŠΡ€Π²Π°Ρ‚Π° вСрсия Π½Π° възСла Plasma Cash бСшС Π΅Π΄ΠΈΠ½ Π²ΠΈΠ΄ комбинация, която моТСшС Π΄Π° ΠΏΡ€Π°Π²ΠΈ всичко Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ: Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΈ Π΄Π° прСдоставя API Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ. Въй ΠΊΠ°Ρ‚ΠΎ NodeJS Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»Π½ΠΎ Сднонишков, Ρ‚Π΅ΠΆΠΊΠ°Ρ‚Π° функция Π·Π° изчислСниС Π½Π° Merkle Π΄ΡŠΡ€Π²ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π° функцията Π·Π° добавянС Π½Π° транзакция. ВидяхмС Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ:

1. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ няколко NodeJS процСса, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ изпълнява спСцифични Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

2. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ worker_threads ΠΈ прСмСстСтС ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° част ΠΎΡ‚ ΠΊΠΎΠ΄Π° Π² нишки.

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ ΠΈ Π΄Π²Π΅Ρ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ: Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ…ΠΌΠ΅ Π΅Π΄ΠΈΠ½ възСл Π½Π° 3 части, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, Π½ΠΎ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ синхронно

1. Submission node, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² ΠΏΡƒΠ»Π° ΠΈ създава Π±Π»ΠΎΠΊΠΎΠ²Π΅.

2. Π’Π°Π»ΠΈΠ΄ΠΈΡ€Π°Ρ‰ възСл, ΠΊΠΎΠΉΡ‚ΠΎ провСрява валидността Π½Π° Π²ΡŠΠ·Π»ΠΈΡ‚Π΅.

3. API възСл – прСдоставя API Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ.

Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ към всСки възСл Ρ‡Ρ€Π΅Π· unix сокСт, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ cli.

ΠŸΡ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ…ΠΌΠ΅ Ρ‚Π΅ΠΆΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ изчисляванС Π½Π° Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° Merkle, Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° нишка.

Π’Π°ΠΊΠ° постигнахмС Π½ΠΎΡ€ΠΌΠ°Π»Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° всички Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Plasma Cash Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π±Π΅Π· ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ систСмата бСшС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½Π°, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° тСствамС скоростта ΠΈ, Π·Π° съТалСниС, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ Π½Π΅Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ: 5 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда ΠΈ Π΄ΠΎ 000 50 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° Π±Π»ΠΎΠΊ. Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.

ΠšΠ°Ρ‚ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° тСствамС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° комуникация с Plasma Cash, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ максималнитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° систСмата. ΠŸΠΈΡΠ°Ρ…ΠΌΠ΅ ΠΏΠΎ-Ρ€Π°Π½ΠΎ, Ρ‡Π΅ Π²ΡŠΠ·Π΅Π»ΡŠΡ‚ Plasma Cash прСдоставя интСрфСйс Π½Π° unix сокСт. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ бСшС Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° тСкст. json ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ бяха ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° `JSON.parse()` ΠΈ `JSON.stringify()`.

```json
{
  "action": "sendTransaction",
  "payload":{
    "prevHash": "0x8a88cc4217745fd0b4eb161f6923235da10593be66b841d47da86b9cd95d93e0",
    "prevBlock": 41,
    "tokenId": "57570139642005649136210751546585740989890521125187435281313126554130572876445",
    "newOwner": "0x200eabe5b26e547446ae5821622892291632d4f4",
    "type": "pay",
    "data": "",
    "signature": "0xd1107d0c6df15e01e168e631a386363c72206cb75b233f8f3cf883134854967e1cd9b3306cc5c0ce58f0a7397ae9b2487501b56695fe3a3c90ec0f61c7ea4a721c"
  }
}
```

Π˜Π·ΠΌΠ΅Ρ€ΠΈΡ…ΠΌΠ΅ скоростта Π½Π° трансфСр Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΡ…ΠΌΠ΅ ~ 130k Π² сСкунда. ΠžΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ сС Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ стандартнитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с json, Π½ΠΎ производитСлността Π½Π΅ сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ. ДвигатСлят V8 трябва Π΄Π° бъдС Π΄ΠΎΠ±Ρ€Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Ρ‚Π΅Π·ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π Π°Π±ΠΎΡ‚ΠΈΡ…ΠΌΠ΅ с Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎΠΊΠ΅Π½ΠΈ ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Ρ‡Ρ€Π΅Π· класовС. ΠŸΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° класовС производитСлността спадна 2 ΠΏΡŠΡ‚ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ OOP Π½Π΅ Π΅ подходящ Π·Π° нас. Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ° всичко към чисто Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

ЗаписванС Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Redis бСшС ΠΈΠ·Π±Ρ€Π°Π½ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π½Π°ΠΉ-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ΅Ρ‚ΠΎ отговаря Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ изисквания: ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡŽΡ‡-стойност, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, Π½Π°Π±ΠΎΡ€ΠΈ. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Ρ…ΠΌΠ΅ redis-benchmark ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ ~80 1 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² сСкунда Π² XNUMX Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€.

Π—Π° висока производитСлност настроихмС Redis ΠΏΠΎ-Ρ„ΠΈΠ½ΠΎ:

  • УстановСна Π΅ Π²Ρ€ΡŠΠ·ΠΊΠ° с unix сокСт.
  • Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° диск (Π·Π° надСТдност ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° настроитС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ° ΠΈ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ Π½Π° диск Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Redis).

Π’ Redis ΠΏΡƒΠ»ΡŠΡ‚ Π΅ Ρ…Π΅Ρˆ Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ трябва Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°ΠΌΠ΅ всички Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Π΅Π΄Π½Π° заявка ΠΈ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π°. ΠžΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ списък, Π½ΠΎ Π΅ ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° цСлия списък.

ΠŸΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° стандартСн NodeJS, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ Π½Π° Redis постигнаха производитСлност ΠΎΡ‚ 18k Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда. Бкоростта ΠΏΠ°Π΄Π½Π° 9 ΠΏΡŠΡ‚ΠΈ.

Въй ΠΊΠ°Ρ‚ΠΎ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΡŠΡ‚ Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ са ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ 5 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ, Π½ΠΈΠ΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈΡ…ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π° ioredis ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ производитСлност ΠΎΡ‚ 25k Π² сСкунда. Π”ΠΎΠ±Π°Π²ΠΈΡ…ΠΌΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° `hset`. Π’Π°ΠΊΠ° Ρ‡Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ заявки Π² Redis. Π’ΡŠΠ·Π½ΠΈΠΊΠ½Π° идСята Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π΄Π° сС ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ Π΄Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ с Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° `hmset`. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ Π΅ 32k Π² сСкунда.

ΠŸΠΎΡ€Π°Π΄ΠΈ няколко ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ опишСм ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ, Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ `Buffer` ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΎΠΊΠ°Π·Π²Π°, Π°ΠΊΠΎ Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚Π΅ Π² тСкст (`buffer.toString('hex')`) ΠΏΡ€Π΅Π΄ΠΈ запис, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ производитСлност. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ скоростта бСшС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° Π΄ΠΎ 35k Π² сСкунда. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° спрСм ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½Π°Ρ‚Π° оптимизация.

Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към Π΄Π²ΠΎΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π·Π°Ρ‰ΠΎΡ‚ΠΎ:

1. БистСмата чСсто изчислява Ρ…Π΅ΡˆΠΎΠ²Π΅, подписи ΠΈ Ρ‚.Π½. ΠΈ Π·Π° Ρ†Π΅Π»Ρ‚Π° сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π² `Π‘ΡƒΡ„Π΅Ρ€.

2. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ услугитС, Π΄Π²ΠΎΠΈΡ‡Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‚Π΅ΠΆΠ°Ρ‚ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ тСкста. НапримСр, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ Π±Π»ΠΎΠΊ с 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² тСкста ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π·Π°Π΅ΠΌΠ°Ρ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 300 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°.

3. ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΡ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ влияС Π²ΡŠΡ€Ρ…Ρƒ производитСлността.

Π—Π°Ρ‚ΠΎΠ²Π° Π½ΠΈΠ΅ Π²Π·Π΅Ρ…ΠΌΠ΅ Π·Π° основа нашия собствСн Π΄Π²ΠΎΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° прСкрасната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° `binary-data`.

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ слСднитС структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ:

β€” Вранзакция

  ```json
  {
    prevHash: BD.types.buffer(20),
    prevBlock: BD.types.uint24le,
    tokenId: BD.types.string(null),
    type: BD.types.uint8,
    newOwner: BD.types.buffer(20),
    dataLength: BD.types.uint24le,
    data: BD.types.buffer(({current}) => current.dataLength),
    signature: BD.types.buffer(65),
    hash: BD.types.buffer(32),
    blockNumber: BD.types.uint24le,
    timestamp: BD.types.uint48le,
  }
  ```

β€” Π’ΠΎΠΊΠ΅Π½

  ```json
  {
    id: BD.types.string(null),
    owner: BD.types.buffer(20),
    block: BD.types.uint24le,
    amount: BD.types.string(null),
  }
  ```

β€” Π‘Π»ΠΎΠΊΠΈΡ€Π°ΠΉ

  ```json
  {
    number: BD.types.uint24le,
    merkleRootHash: BD.types.buffer(32),
    signature: BD.types.buffer(65),
    countTx: BD.types.uint24le,
    transactions: BD.types.array(Transaction.Protocol, ({current}) => current.countTx),
    timestamp: BD.types.uint48le,
  }
  ```

Π‘ ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ `BD.encode(block, Protocol).slice();` ΠΈ `BD.decode(buffer, Protocol)` ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² `Buffer` Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π² Redis ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅ към Π΄Ρ€ΡƒΠ³ възСл ΠΈ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

ИмамС ΠΈ 2 Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ услуги:

β€” ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° взаимодСйствиС с Plasma Node ΠΏΡ€Π΅Π· unix socket

  ```json
  {
    type: BD.types.uint8,
    messageId: BD.types.uint24le,
    error: BD.types.uint8,
    length: BD.types.uint24le,
    payload: BD.types.buffer(({node}) => node.length)
  }
  ```

ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ:

  • `Type` β€” дСйствиСто, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 1 β€” sendTransaction, 2 β€” getTransaction;
  • `ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€` β€” Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½Π°Ρ‚Π° функция;
  • `messageId` β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½.

β€” ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΡŠΠ·Π»ΠΈΡ‚Π΅

  ```json
  {
    code: BD.types.uint8,
    versionProtocol: BD.types.uint24le,
    seq: BD.types.uint8,
    countChunk: BD.types.uint24le,
    chunkNumber: BD.types.uint24le,
    length: BD.types.uint24le,
    payload: BD.types.buffer(({node}) => node.length)
  }
  ```

ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ:

  • `ΠΊΠΎΠ΄` β€” ΠΊΠΎΠ΄ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 6 β€” PREPARE_NEW_BLOCK, 7 β€” BLOCK_VALID, 8 β€” BLOCK_COMMIT;
  • `versionProtocol` β€” вСрсия Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ възли с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ вСрсии ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ‚ΠΈ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½;
  • `seq` β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ;
  • `countChunk` ΠΈ `число Π½Π° ΠΏΠ°Ρ€Ρ‡Π΅` Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° раздСлянС Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ;
  • `дълТина` ΠΈ `ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€` дълТина ΠΈ самитС Π΄Π°Π½Π½ΠΈ.

Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π²ΡŠΠ²Π΅Π΄ΠΎΡ…ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° систСма Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·Π° ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° `rlp` Π½Π° Ethereum. Π—Π° съТалСниС всС ΠΎΡ‰Π΅ Π½Π΅ смС успСли Π΄Π° Π³ΠΎ ΠΎΡ‚ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Ρ„ΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ интСлигСнтния Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅.

Ако успССм Π΄Π° достигнСм скоростта 35 000 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² сСкунда, Π½ΠΈΠ΅ ΡΡŠΡ‰ΠΎ трябва Π΄Π° Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Въй ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊ ΠΎΡ‚Π½Π΅ΠΌΠ° 30 сСкунди, трябва Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π² Π±Π»ΠΎΠΊΠ° 1 000 000 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ 100 MB Π΄Π°Π½Π½ΠΈ.

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° `ethereumjs-devp2p` Π·Π° комуникация ΠΌΠ΅ΠΆΠ΄Ρƒ възли, Π½ΠΎ тя Π½Π΅ моТСшС Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° `ws` ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· websocket. Π Π°Π·Π±ΠΈΡ€Π° сС, срСщнахмС ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π΄Π°Π½Π½ΠΈ, Π½ΠΎ Π³ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ…ΠΌΠ΅ Π½Π° части ΠΈ сСга Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π³ΠΈ няма.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Merkle Π΄ΡŠΡ€Π²ΠΎ ΠΈ изчисляванС Π½Π° Ρ…Π΅ΡˆΠ° 1 000 000 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ изисква ΠΎΠΊΠΎΠ»ΠΎ 10 сСкунди Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ изчислСниС. ΠŸΡ€Π΅Π· Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° с всички възли успява Π΄Π° сС ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π΅. Π‘Π΅ΡˆΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ‚ΠΎΠ²Π° изчислСниС Π΄Π° сС прСмСсти Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ‚Π΅ΠΌΠ°.

Изводи:

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π½Π°ΡˆΠΈΡ‚Π΅ открития Π½Π΅ са Π½ΠΎΠ²ΠΈ, Π½ΠΎ ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΌΠ½ΠΎΠ³ΠΎ СкспСрти забравят Π·Π° тях, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π³ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚.

  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ вмСсто ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ подобрява производитСлността.
  • ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚ΡŠΡ‚ Π΅ ΠΏΠΎ-лош ΠΎΡ‚ сСрвизната Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Π° NodeJS систСма.
  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° `worker_threads` Π·Π° Ρ‚Π΅ΠΆΠΊΠΈ изчислСния подобрява отзивчивостта Π½Π° систСмата, особСно ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС Ρ€Π°Π±ΠΎΡ‚ΠΈ с I/O ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.
  • unix socket Π΅ ΠΏΠΎ-стабилСн ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π· ΠΎΡ‚ http заявкитС.
  • Ако трябва Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ websockets ΠΈ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° части, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ, Π°ΠΊΠΎ Π½Π΅ пристигнат, ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π² Π΅Π΄Π½ΠΎ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅.

Каним Π²ΠΈ Π΄Π° посСтитС GitHub ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: https://github.com/opporty-com/Plasma-Cash/tree/new-version

Бтатията Π΅ написана Π² ΡΡŠΠ°Π²Ρ‚ΠΎΡ€ΡΡ‚Π²ΠΎ ΠΎΡ‚ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Нашиван, ΡΡ‚Π°Ρ€ΡˆΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Clever Solution Inc.

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

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