TON: Telegram Open Network. Π§Π°ΡΡ‚ΡŒ 2: Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

TON: Telegram Open Network. Π§Π°ΡΡ‚ΡŒ 2: Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π”Π°Π½Π½Ρ‹ΠΉ тСкст β€” ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ сСрии статСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽ структуру (ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) готовящСйся ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ Π² этом Π³ΠΎΠ΄Ρƒ распрСдСлСнной сСти Telegram Open Network (TON). Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ части я описал Π΅Ρ‘ самый Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ β€” способ взаимодСйствия ΡƒΠ·Π»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

На всякий случай напомню, Ρ‡Ρ‚ΠΎ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ этой сСти я ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π΅ имСю ΠΈ вСсь ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎΡ‡Ρ‘Ρ€ΠΏΠ½ΡƒΡ‚ ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ (хотя ΠΈ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ) источника β€” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (Π΅Ρ‰Ρ‘ ΠΊ Π½Π΅ΠΌΡƒ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‰Π°ΡΡΡ Π±Ρ€ΠΎΡˆΡŽΡ€Π°, ΠΈΠ·Π»Π°Π³Π°ΡŽΡ‰Π°Ρ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ основныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹), появившСгося Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°. ОбъСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² этом Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Π½Π° ΠΌΠΎΠΉ взгляд, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Π΅Π³ΠΎ подлинности, хотя Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ Ρ‚ΠΎΠΌΡƒ Π½Π΅Ρ‚.

БСгодня посмотрим Π½Π° основной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ TON β€” Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ понятия

Аккаунт (account). НСкий Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ 256-Π±ΠΈΡ‚Π½Ρ‹ΠΌ числом account_id (Ρ‡Π°Ρ‰Π΅ всСго это ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°). Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΌ случаС (см. Π½ΠΈΠΆΠ΅ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π²ΠΎΡ€ΠΊΡ‡Π΅ΠΉΠ½), ΠΏΠΎΠ΄ этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ подразумСваСтся баланс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Β«Π—Π°Π½ΡΡ‚ΡŒΒ» ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ account_id ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ.

Π‘ΠΌΠ°Ρ€Ρ‚-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ (smart-contract). По сути β€” частный случай Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΎΠΌ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Если Π² случаС «кошСлька» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈ ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ дСньги ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простым ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Ρ‚ΠΎ Π² случаС смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° эти ΠΏΡ€Π°Π²ΠΈΠ»Π° записаны Π² Π²ΠΈΠ΄Π΅ Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° (Π½Π° Π½Π΅ΠΊΠΎΠ΅ΠΌ Π’ΡŒΡŽΡ€ΠΈΠ½Π³-ΠΏΠΎΠ»Π½ΠΎΠΌ языкС программирования).

БостояниС Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° (state of blockchain). Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ состояний всСх Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ²/смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² (Π² абстрактном смыслС β€” Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ², Π° значСниями β€” Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°Ρ… Π΄Π°Π½Π½Ρ‹Π΅).

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ (message). Π’Ρ‹ΡˆΠ΅ я ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠ» Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Β«Π·Π°Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈ ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ дСньги» β€” это частный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сообщСния (Β«ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ N Π³Ρ€Π°ΠΌΠΌ с Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° account_1 Π½Π° Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ account_2Β»). ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ·Π΅Π», Π²Π»Π°Π΄Π΅ΡŽΡ‰ΠΈΠΉ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° account_1 β€” ΠΈ способный ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ это подписью. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ доставки Ρ‚Π°ΠΊΠΈΡ… сообщСний ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρƒ являСтся ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ баланса, Π° смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ β€” Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ΅ΠΌ сообщСния). РазумССтся, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сообщСния (пСрСносящиС Π½Π΅ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Π΅ суммы, Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°ΠΌΠΈ).

Вранзакция (transaction). Π€Π°ΠΊΡ‚ доставки сообщСния называСтся Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠ΅ΠΉ. Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ состояниС Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°. ИмСнно ΠΈΠ· Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ (записСй ΠΎ доставкС сообщСний) состоят Π±Π»ΠΎΠΊΠΈ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅. Π’ этом ΠΏΠ»Π°Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС состояниС Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° ΠΊΠ°ΠΊ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… β€” всС Π±Π»ΠΎΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Β«Π΄ΠΈΡ„Ρ„Π°ΠΌΠΈΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π‘Π”. О ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠΊΠ΅ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ этих Β«Π΄ΠΈΡ„Ρ„ΠΎΠ²Β» (ΠΈ восстановлСнии ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ состояния ΠΏΠΎ Π½ΠΈΠΌ) ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π² TON: Ρ‡Ρ‚ΠΎ это ΠΈ Π·Π°Ρ‡Π΅ΠΌ?

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ β€” это структура Π΄Π°Π½Π½Ρ‹Ρ…, элСмСнты (Π±Π»ΠΎΠΊΠΈ) ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ упорядочСны Π² Β«Ρ†Π΅ΠΏΡŒΒ», ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ Ρ†Π΅ΠΏΠΈ содСрТит Π² сСбС Ρ…ΡΡˆ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ. Π’ коммСнтариях Π·Π°Π΄Π°Π»ΠΈ вопрос: Π° Π·Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½Π° такая структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Ρƒ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ DHT β€” распрСдСлённая Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°? ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π² DHT, Π½ΠΎ это ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½Π΅ слишком Β«Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉΒ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Балансы ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² DHT нСльзя β€” Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈΠ·-Π·Π° отсутствия ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π½Π° Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ. БобствСнно, вся ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ структуры Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° вырастаСт Ρ€Π°Π΄ΠΈ прСдотвращСния Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π² Π² Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² Π½Ρ‘ΠΌ Π΄Π°Π½Π½Ρ‹Π΅.

Однако Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π² TON выглядит Π΅Ρ‰Ρ‘ слоТнСС, Ρ‡Π΅ΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… распрСдСлённых систСм β€” ΠΈ Π½Π° Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹. ΠŸΠ΅Ρ€Π²Π°Ρ β€” стрСмлСниС ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΊΠ°Ρ…. Π’ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π°Ρ… всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°Π΄Π°Π½Ρ‹ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС ΠΈ любая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ фактичСски ΠΊ появлСнию Β«Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ всСлСнной ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Ρ‹Β». Вторая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° дроблСния (ΡˆΠ°Ρ€Π΄ΠΈΠ½Π³Π°, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ) Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°. Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ β€” структура, Π½Π΅ способная ΡΡ‚Π°Ρ‚ΡŒ мСньшС с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ; ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π», ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ сСти, Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π’ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… (Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ…) систСмах для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ примСняСтся ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Ρ‡Π°ΡΡ‚ΡŒ записСй Π² Π‘Π” находится Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС, Ρ‡Π°ΡΡ‚ΡŒ β€” Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΈ Ρ‚.Π΄. Π’ случаС с ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π°ΠΌΠΈ такая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ довольно Ρ€Π΅Π΄ΠΊΠ° β€” Π² частности, ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ слоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² систСму, Π³Π΄Π΅ ΠΎΠ½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ.

Каким ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ TON ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Π΅ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°. Π’ΠΎΡ€ΠΊΡ‡Π΅ΠΉΠ½Ρ‹.

TON: Telegram Open Network. Π§Π°ΡΡ‚ΡŒ 2: Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ планируСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅. Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ состояния Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² («кошСльков» Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ случаС) ΠΈ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² (для простоты Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹). По сути, это Π±ΡƒΠ΄Π΅Ρ‚ обычная Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π° β€” ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Π² Π½Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ account_id, Π° значСниями β€” структуры Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащих Π² сСбС Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ:

  • баланс;
  • ΠΊΠΎΠ΄ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²);
  • Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²);
  • статистика;
  • (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² с Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ account_id;
  • ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ исходящих сообщСний (сюда ΠΎΠ½ΠΈ заносятся для пСрСсылки ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ);
  • список послСдних доставлСнных этому Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρƒ сообщСний.

Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, нСпосрСдствСнно Π±Π»ΠΎΠΊΠΈ состоят ΠΈΠ· Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ β€” сообщСний, доставлСнных Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°ΠΌ account_id. Однако ΠΊΡ€ΠΎΠΌΠ΅ account_id сообщСния содСрТат Ρ‚Π°ΠΊΠΆΠ΅ 32-Π±ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ workchain_id β€” ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚.Π½. Π²ΠΎΡ€ΠΊΡ‡Π΅ΠΉΠ½Π° (workchain, working blockchain). Π­Ρ‚ΠΎ позволяСт ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько нСзависимых Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ² с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ конфигурациями. ΠŸΡ€ΠΈ этом workchain_id = 0 считаСтся особым случаСм, Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π²ΠΎΡ€ΠΊΡ‡Π΅ΠΉΠ½ΠΎΠΌ β€” ΠΈΠΌΠ΅Π½Π½ΠΎ находящиСся Π² Π½Ρ‘ΠΌ балансы Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚Π΅ TON (Grams). ВСроятнСС всСго, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΡ€Π°Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΎΡ€ΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ вовсС.

Π¨Π°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Ρ‹. Infinite Sharding Paradigm.

Но Π½Π° этом рост количСства Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ² Π½Π΅ останавливаСтся. РазбСрёмся с ΡˆΠ°Ρ€Π΄ΠΈΠ½Π³ΠΎΠΌ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρƒ (account_id) Π²Ρ‹Π΄Π΅Π»Π΅Π½ свой собствСнный Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ β€” Π² Π½Ρ‘ΠΌ Π»Π΅ΠΆΠ°Ρ‚ всС приходящиС Π΅ΠΌΡƒ сообщСния β€” ΠΈ состояния всСх Ρ‚Π°ΠΊΠΈΡ… Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ² хранятся Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ….

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это вСсьма Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ: скорСС всСго, Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ΠΎΠ² (shardchain, shard blockchain) Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ, Π° ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² понадобится ΠΌΠ½ΠΎΠ³ΠΎ (забСгая Π²ΠΏΠ΅Ρ€Ρ‘Π΄, ΠΎΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ Π½Π΅ просто ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ… β€” Π° ΠΎ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… сСрвСрах).

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Π² сСбС Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹ ΠΏΠΎ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ прСфиксам ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²: Ссли ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ прСфикс 0110, Ρ‚ΠΎ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ всСх account_id, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с этих Ρ†ΠΈΡ„Ρ€. Π­Ρ‚ΠΎΡ‚ shard_prefix ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΎΡ‚ 0 Π΄ΠΎ 60 Π±ΠΈΡ‚ β€” ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ динамичСски.

TON: Telegram Open Network. Π§Π°ΡΡ‚ΡŒ 2: Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ΠΎΠ² Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Π΄ Π½ΠΈΠΌ ΡƒΠ·Π»Ρ‹ ΠΏΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Β«Ρ€Π°ΡΡ‰Π΅ΠΏΠ»ΡΡŽΡ‚Β» Π΅Π³ΠΎ Π½Π° Π΄Π²Π° Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… β€” ΠΈΡ… прСфиксы Π±ΡƒΠ΄ΡƒΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚ Π΄Π»ΠΈΠ½Π½Π΅Π΅ (ΠΈ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… этот Π±ΠΈΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 0, Π° для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ β€” 1). НапримСр, shard_prefix = 0110b расщСпится Π½Π° 01100b ΠΈ 01101b. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ссли Π΄Π²Π° «сосСдних» ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Π° Π½Π°Ρ‡Π½ΡƒΡ‚ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя достаточно Π²ΠΎΠ»ΡŒΠ³ΠΎΡ‚Π½ΠΎ (Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ), ΠΎΠ½ΠΈ снова ΡΠΎΠ»ΡŒΡŽΡ‚ΡΡ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ дСлаСтся «снизу Π²Π²Π΅Ρ€Ρ…Β» β€” ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ своим ΡˆΠ°Ρ€Π΄ΠΎΠΌ, Π½ΠΎ ΠΎΠ½ΠΈ β€” Π΄ΠΎ ΠΏΠΎΡ€Ρ‹ Π΄ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” «склССны» ΠΏΠΎ прСфиксам. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ собой Infinite Sharding Paradigm (ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° бСсконСчного ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ).

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ хочСтся ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎΡ€ΠΊΡ‡Π΅ΠΉΠ½Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ β€” Π½Π° самом Π΄Π΅Π»Π΅, workchain_id это Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Π°. Говоря Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ опрСдСляСтся ΠΏΠ°Ρ€ΠΎΠΉ чисСл (workchain_id, shard_prefix).

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ошибок. Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹.

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ считаСтся, Ρ‡Ρ‚ΠΎ любая транзакция Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ являСтся «высСчСнной Π² ΠΊΠ°ΠΌΠ½Π΅Β». Однако, Π² случаС с TON прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Β«ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽΒ» β€” Π² случаС, Ссли Π½Π΅ΠΊΡ‚ΠΎ (Ρ‚.Π½. ΡƒΠ·Π΅Π»-Β«Ρ€Ρ‹Π±Π°ΠΊΒ») Π΄ΠΎΠΊΠ°ΠΆΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² Π±Ρ‹Π» подписан Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Π’ этом случаС Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ добавляСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ, содСрТащий Ρ…ΡΡˆ самого исправляСмого Π±Π»ΠΎΠΊΠ° (Π° Π½Π΅ послСднСго Π±Π»ΠΎΠΊΠ° Π² ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Π΅). ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ ΠΊΠ°ΠΊ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π±Π»ΠΎΠΊΠΎΠ², Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ подцСпляСтся ΠΊ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ Π½Π΅ Π²ΠΏΡ€Π°Π²ΠΎ, Π° свСрху β€” поэтому считаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ становится Ρ‡Π°ΡΡ‚ΡŒΡŽ малСнького Β«Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°Β». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°ΠΌΠΈ.

TON: Telegram Open Network. Π§Π°ΡΡ‚ΡŒ 2: Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’ случаС Ссли послС ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π° внСсённыС ΠΈΠΌ измСнСния ΡΡΡ‹Π»Π°Π»ΠΈΡΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ (Ρ‚.Π΅., Π±Ρ‹Π»ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° основС Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ…), ΠΊ этим Π±Π»ΠΎΠΊΠ°ΠΌ Ρ‚Π°ΠΊ ΠΆΠ΅ «свСрху» Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅. Если Π±Π»ΠΎΠΊΠΈ Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π»ΠΈ Β«ΠΏΠΎΡ€Π°ΠΆΡ‘Π½Π½ΡƒΡŽΒ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π° Π½ΠΈΡ… эти Β«ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΎΠ»Π½Ρ‹Β» Π½Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ. НапримСр, Π² ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΡˆΠ΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ·Π½Π°Π½Π° транзакция ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ баланс Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° C β€” поэтому транзакция, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‰Π°Ρ баланс этого Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ Π±Π»ΠΎΠΊΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π°Π½Π½ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π°, Π° ΠΏΠΎΠ²Π΅Ρ€Ρ… самого Π±Π»ΠΎΠΊΠ° Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ.

Надо Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ β€” хотя ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ располоТСнными Β«Π½Π°Π΄Β» ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, фактичСски ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ дописаны Π² ΠΊΠΎΠ½Π΅Ρ† ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° (Ρ‚ΡƒΠ΄Π°, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ хронологичСски). Π”Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ΅ располоТСниС лишь ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊ ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Β«ΠΏΠΎΠ΄Ρ†Π΅ΠΏΠ»Π΅Π½Ρ‹Β» (посрСдством находящСгося Π² Π½ΠΈΡ… Ρ…ΡΡˆΠ° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°).

МоТно ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ„ΠΈΠ»ΠΎΡΠΎΡ„ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ являСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Β«ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅Β». Казалось Π±Ρ‹, Ссли ΠΌΡ‹ допускаСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ появлСния Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Π΅, Ρ‚ΠΎ нСльзя Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ возмоТности появлСния ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°. Π—Π΄Π΅ΡΡŒ, насколько я ΠΌΠΎΠ³Ρƒ ΡΡƒΠ΄ΠΈΡ‚ΡŒ, Ρ€Π°Π·Π½ΠΈΡ†Π° Π² количСствС ΡƒΠ·Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ консСнсуса ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π½ΠΎΠ²Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² β€” Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшая «рабочая Π³Ρ€ΡƒΠΏΠΏΠ°Β» ΡƒΠ·Π»ΠΎΠ² (довольно часто ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ свой состав), Π° внСсСниС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ согласия Π²ΠΎΠΎΠ±Ρ‰Π΅ всСх ΡƒΠ·Π»ΠΎΠ²-Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ΠΎΠ². ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Π°Ρ…, Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ролях ΡƒΠ·Π»ΠΎΠ² я расскаТу Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Один Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½, Ρ‡Ρ‚ΠΎΠ± ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ всСми

Π’Ρ‹ΡˆΠ΅ пСрСчислСно ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄Π°Ρ… Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ саму ΠΏΠΎ сСбС Ρ‚ΠΎΠΆΠ΅ слСдуСт Π³Π΄Π΅-Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ. Π’ частности, Ρ€Π΅Ρ‡ΡŒ ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… свСдСниях:

  • ΠΎ количСствС ΠΈ конфигурациях Π²ΠΎΡ€ΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ²;
  • ΠΎ количСствС ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ΠΎΠ² ΠΈ ΠΈΡ… прСфиксах;
  • ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡƒΠ·Π»Ρ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ отвСтствСнны Π·Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Ρ‹;
  • Ρ…ΡΡˆΠΈ послСдних Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π²ΠΎ всС ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Ρ‹.

Как Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, всС эти Π²Π΅Ρ‰ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅-Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ β€” мастСрчСйн (masterchain, master blockchain). Благодаря Π½Π°Π»ΠΈΡ‡ΠΈΡŽ Π² Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°Ρ… Ρ…ΡΡˆΠ΅ΠΉ ΠΎΡ‚ Π±Π»ΠΎΠΊΠΎΠ² всСх ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½ΠΎΠ², ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ систСму сильно связанной. Π’ Ρ‚ΠΎΠΌ числС это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ гСнСрация Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² мастСрчСйнС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ нСпосрСдствСнно послС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠΎΠ² Π² ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Π°Ρ… β€” оТидаСтся, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈ Π² ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 5 сСкунд, Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π±Π»ΠΎΠΊ Π² мастСрчСйнС β€” спустя сСкунду послС этого.

Но ΠΊΡ‚ΠΎ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ отвСтствСнСн Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ всСй этой титаничСской Ρ€Π°Π±ΠΎΡ‚Ρ‹ β€” Π·Π° пСрСсылку сообщСний, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ², Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² Π² ΡˆΠ°Ρ€Π΄Ρ‡Π΅ΠΉΠ½Π°Ρ… ΠΈ мастСрчСйнС, Π΄Π° Π΅Ρ‰Ρ‘ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π±Π»ΠΎΠΊΠΎΠ² Π½Π° ошибки? НСуТСли всё это Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‚ΠΈΡ…ΠΎΠΌΠΎΠ»ΠΊΡƒ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с установлСнным Π½Π° Π½ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ°? Или, Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π”ΡƒΡ€ΠΎΠ²Ρ‹Ρ… откаТСтся ΠΎΡ‚ ΠΈΠ΄Π΅ΠΉ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ это Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… сСрвСра ΠΏΠΎ-старинкС?

На самом Π΄Π΅Π»Π΅, Π½ΠΈ Ρ‚ΠΎΡ‚, Π½ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π΅ являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ. Но поля этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, поэтому Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ролях ΡƒΠ·Π»ΠΎΠ² (Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡƒΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ упоминания Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· Π½ΠΈΡ…), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ… ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ ΡƒΠΆΠ΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части.

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