Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Вся история чСловСчСства β€” это Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ†Π΅ΠΏΠ΅ΠΉ ΠΈ созданиС Π½ΠΎΠ²Ρ‹Ρ…, Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€Π΅ΠΏΠΊΠΈΡ…. (Анонимный Π°Π²Ρ‚ΠΎΡ€)

Анализируя многочислСнныС blockchain ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ (Bitshares, Hyperledger, Exonum, Ethereum, Bitcoin ΠΈ Π΄Ρ€.), я понимаю, Ρ‡Ρ‚ΠΎ с тСхничСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния всС ΠΎΠ½ΠΈ построСны ΠΏΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ. Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ Π΄ΠΎΠΌΠ°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈ всСм Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΈ конструкций, Π΄Π΅ΠΊΠΎΡ€Π° ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚, стСны, ΠΊΡ€Ρ‹ΡˆΠ°, ΠΎΠΊΠ½Π°, Π΄Π²Π΅Ρ€ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ способами. И Ссли ΠΏΠΎΠ½ΡΡ‚ΡŒ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования Π·Π΄Π°Π½ΠΈΠΉ, Π·Π½Π°Ρ‚ΡŒ свойства примСняСмых ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°. Π’ настоящСС врСмя с Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ситуация, Ρ‡Ρ‚ΠΎ всС ΠΏΡ€ΠΎ Π½Π΅Π³ΠΎ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ, Π½ΠΎ ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ для Ρ‡Π΅Π³ΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ±Ρ‰ΠΈΠ΅ для всСх Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ² свойства ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹. Π”Π°Π»Π΅Π΅ посмотрим Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° ΠΈ для закрСплСния ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° построим малСнький, Π½ΠΎ настоящий Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π½Π° своСм Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ участкС!

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ вспомним ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠΈΠ» Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½.

Π£Π²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ скаТут ΠΏΡ€ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ, Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ, ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Но Π·Π°Ρ‡Π΅ΠΌ это всС Π±Ρ‹Π»ΠΎ Π½ΡƒΠΆΠ½ΠΎ?

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ любой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ с чтСния стандартов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΠΈΡ… ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ исслСдуСмой Ρ‚Π΅ΠΌΠ΅. Но стандарты Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° Π² настоящСС врСмя ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, Π² ISO созданы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Ρ‹ для ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ имССтся свой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ White paper, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ сути являСтся тСхничСским Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ общСизвСстный Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” это ΡΠ΅Ρ‚ΡŒ Bitcoin. ИдСм Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт сСти ΠΈ смотрим с Ρ‡Π΅Π³ΠΎ всС Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ.

Π—Π°Π΄Π°Ρ‡Π° Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°

Π˜Ρ‚Π°ΠΊ, Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π΅ΡˆΠΈΠ» Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π² сСти ΠΏΠΈΠΎΠ½Π΅Ρ€Π΅ Bitcoin β€” это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ собствСнности Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ Π°ΠΊΡ‚ΠΈΠ²Ρ‹ (assets) Π² Π½Π΅Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСдС Π±Π΅Π· посрСдников. НапримСр, Π² сСти Bitcoin Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ² β€” это Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ bitcoin. И всС тСхничСскиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Bitcoin ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ² сводятся ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ нСкая финансовая организация Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ построила ΡΠ΅Ρ‚ΡŒ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ дСньги Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ. ΠŸΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ Π΅ΠΉ? Если эта организация Visa ΠΈΠ»ΠΈ MasterCard, скорСС всСго, ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅, Π° Ссли, условно говоря, AnonymousWorldMoney, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π½Π΅Ρ‚. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅? А ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ прСкрасно Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ распрСдСлСнныС систСмы частными компаниями, с ΠΊΠ°ΠΊΠΈΠΌΠΈ цСлями, ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти. Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ‚Π°ΠΊΠΈΡ… систСм, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°.

Допустим, Π² условной AnonymousWorldMoney стоят сСрвСра с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ нСсколько Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ…. Когда ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ дСньги, рСгистрируСтся транзакция, которая рСплицируСтся Π½Π° всС сСрвСра, ΠΈ дСньги доходят Π΄ΠΎ получатСля.

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Π’ идСальном ΠΌΠΈΡ€Π΅ такая схСма прСкрасно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π² нашСм ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  1. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ участников с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ анонимности Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’.Π΅. Π½Π°Π΄ΠΎ пСрСвСсти дСньги ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ ΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ± этой Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π», ΠΊΡ€ΠΎΠΌΠ΅ участников сдСлки. Π£ Π±Π°Π½ΠΊΠΎΠ² Π΅ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° счСтов ΠΈ банковских ΠΊΠ°Ρ€Ρ‚, привязанных ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ физичСскому ΠΈΠ»ΠΈ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΎΠΌΡƒ Π»ΠΈΡ†Ρƒ, Π° банковская Ρ‚Π°ΠΉΠ½Π° Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ транзакциях. А ΠΊΡ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ условная AnonymousWorldMoney Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ транзакциях Π² своих цСлях?
  2. Как ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Ρƒ сумму, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π»ΠΈ? Условно говоря, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π» $100, Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» $10. ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Π² офис AnonymousWorldMoney со своСй ΠΊΠ²ΠΈΡ‚Π°Π½Ρ†ΠΈΠ΅ΠΉ, Π° ΠΊΠ»Π΅Ρ€ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ свою Π²Π΅Ρ€ΡΠΈΡŽ, Π³Π΄Π΅ записано, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ $10.
  3. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСды, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ double-spending. НСдобросовСстный участник ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ свой баланс нСсколько Ρ€Π°Π·, ΠΏΠΎΠΊΠ° ΠΏΠ»Π°Ρ‚Π΅ΠΆ Π½Π΅ рСплицировался Π½Π° всС сСрвСра. CAP Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡƒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отмСнял, ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнута, Π½ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ дСньги Π·Π° ΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ услуги ΠΈΠ»ΠΈ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π½Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ довСрия ΠΊ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ участникам сдСлок, Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΠ΅Ρ‚ΡŒ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π΅ Π½Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠΈ, Π° Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ.
  4. Условная AnonymousWorldMoney ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ число сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ нСдоступными Π½Π΅ΠΏΡ€Π΅Π΄ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ Π·Π»ΠΎΠΌΡƒ умыслу.
  5. AnonymousWorldMoney Π²ΠΎΠ·ΡŒΠΌΠ΅Ρ‚ свою ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΡƒΡŽ комиссию.
  6. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния. Π’ процСссС эксплуатации Bitcoin Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ люди хотят Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ условия прохоТдСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сцСнарии Ρ€Π°Π±ΠΎΡ‚Ρ‹, автоматичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствия Π² зависимости ΠΎΡ‚ условий ΠΈ Ρ‚.Π΄.

Как Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

  1. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ участников осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ: ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ, Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ отправитСля ΠΈ получатСля, оставляя ΠΈΡ… личности Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌΠΈ.
  2. Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΠΈ, вычисляСтся Ρ…Π΅Ρˆ Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записываСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ. Вакая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ записи Ρ…Π΅ΡˆΠ΅ΠΉ Π² Π±Π»ΠΎΠΊΠ°Ρ… ΠΈ Π΄Π°Π»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ blockchain, ΠΈ ΠΎΠ½Π° ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ / ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли транзакция ΠΏΠΎΠΏΠ°Π»Π° Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π΅ Π΄Π°Π½Π½Ρ‹Π΅ останутся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.
  3. ΠœΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ double-spending прСдотвращаСтся ΠΏΡƒΡ‚Π΅ΠΌ достиТСния консСнсуса Π² сСти, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ. Π’ сСти Bitcoin консСнсус достигаСтся Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ PoW (Proof-of-Work).
  4. ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ функционирования сСти достигаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ являСтся ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ свою Π½ΠΎΠ΄Ρƒ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ копию Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° ΠΈ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ соврСмСнныС Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅), Π½ΠΎ ΠΈ частныС (Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅) Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ схСмы.
  5. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ комиссии Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ Π½Π΅ избавится, Ρ‚.ΠΊ. Π½Π°Π΄ΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ людям ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ ΡΠ΅Ρ‚ΡŒ, Π½ΠΎ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ комиссии доказываСтся Ρ‚Π°ΠΊ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ остаСтся сомнСний Π² Π΅Π΅ нСобходимости.
  6. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ бизнСс Π»ΠΎΠ³ΠΈΠΊΡƒ, которая Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ называСтся Smart Contracts. Π›ΠΎΠ³ΠΈΠΊΠ° смарт ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках высокого уровня.

Π”Π°Π»Π΅Π΅ рассмотрим эти Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

АрхитСктура Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°

БоставныС части Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ свою Π½ΠΎΠ΄Ρƒ с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° (full node). ΠŸΠΎΠ»Π½Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡƒΠ·Π»Π°ΠΌΠΈ консСнсуса (witness) ΠΈΠ»ΠΈ ΠΌΠ°ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ (miner). ΠŸΠΎΠ»Π½Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡƒΠ·Π»Π°ΠΌΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π° (audit). Π›Π΅Π³ΠΊΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ (light clients) Π½Π΅ хранят ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°, Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с ΡΠ΅Ρ‚ΡŒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»Π½Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹.
Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π»Π΅Π³ΠΊΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ web кошСльки. ВсС Π½ΠΎΠ΄Ρ‹ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ элСмСнтов Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° сСти становится Π±ΠΎΠ»Π΅Π΅ устойчивой:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎ частям:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π½Π° тСхничСских Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΈ ΠΈΡ… связях Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ

КаТдая Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ транзакция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ подписана Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ: private / public. Иногда ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ кошСлСк (wallet), Ρ‚.ΠΊ. ΠΊΠ»ΡŽΡ‡ΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ связаны с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ адрСсом ΠΈ балансом участника. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ адрСса β€” это просто строки Ρ†ΠΈΡ„Ρ€ Π² Ρ€Π°Π·Π½Ρ‹Ρ… систСмах счислСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ адрСса кошСлька:

Private key: 0a78194a8a893b8baac7c09b6a4a4b4b161b2f80a126cbb79bde231a4567420f
Public key: 0579b478952214d7cddac32ac9dc522c821a4489bc10aac3a81b9d1cd7a92e57ba
Address: 0x3814JnJpGnt5tB2GD1qfKP709W3KbRdfb27V

Для создания Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, основанный Π½Π° эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ…: Elliptic Curve Digital Signature Algorithm (ECDSA). Для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ (256 Π±ΠΈΡ‚Π½ΠΎΠ΅ число), ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, бСрСтся случайно. Число Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠ»ΡŽΡ‡Π΅ΠΉ составляСт 2 Π² стСпСни 256, поэтому ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ практичСской нСвозмоТности совпадСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

Π”Π°Π»Π΅Π΅, ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ получаСтся ΠΈΠ· ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ умноТСния Π΅Π³ΠΎ значСния Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ, находящСйся Π½Π° эллиптичСской ΠΊΡ€ΠΈΠ²ΠΎΠΉ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½ΠΎΠ²ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ этой ΠΆΠ΅ ΠΊΡ€ΠΈΠ²ΠΎΠΉ. Π­Ρ‚ΠΎ дСйствиС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠΉ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. И Π½Π°ΠΊΠΎΠ½Π΅Ρ† адрСс кошСлька ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ вычисляСтся ΠΈΠ· ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°.

Π•ΡΡ‚ΡŒ масса статСй с подробностями ΠΏΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Bitcoin in a nutshell β€” Cryptography

ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ строго сСкрСтСн ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² бСзопасности. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ извСстСн всСм. ΠŸΡ€ΠΈ ΡƒΡ‚Π΅Ρ€Π΅ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° доступ ΠΊ Π°ΠΊΡ‚ΠΈΠ²Ρƒ (ΠΌΠΎΠ½Π΅Ρ‚Π°ΠΌ) Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ дСньги Π±ΡƒΠ΄ΡƒΡ‚ утСряны навсСгда. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π·Π°Π΄Π°Ρ‡Π° Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ хранСния ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΊΡ€Π°ΠΉΠ½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°, Ρ‚.ΠΊ. это Π½Π΅ Π±Π°Π½ΠΊ, ΠΊΡƒΠ΄Π° всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ с паспортом ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ счСт. БущСствуСт цСлая индустрия ΠΏΠΎ производству, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ…, Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΊΠΎΡˆΠ΅Π»ΡŒΠΊΠΎΠ², ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Π½Π° Ρ„Π»Π΅ΡˆΠΊΠΈ:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ способы, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π±ΠΈΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π½Π° ΠΆΠ΅Ρ‚ΠΎΠ½Π°Ρ…:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ структуру Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Bitcoin in a nutshell β€” Transaction. Нам ΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ каТдая транзакция ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅:

From: 0x48C89c341C5960Ca2Bf3732D6D8a0F4f89Cc4368 - Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ адрСс отправитСля
To: 0x367adb7894334678b90Π°fe7882a5b06f7fbc783a - Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ адрСс получатСля
Value: 0.0001 - сумма Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ
Transaction Hash: 0x617ede331e8a99f46a363b32b239542bb4006e4fa9a2727a6636ffe3eb095cef - Ρ…ΡΡˆ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

Π”Π°Π»Π΅Π΅ транзакция подписываСтся ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈ рассылаСтся (см. подробности ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Bitcoin in a nutshell-Protocol) всСм Π½ΠΎΠ΄Π°ΠΌ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ. Алгоритм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π΅Π½ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Π²Π° дСсятка шагов.

Π‘Π»ΠΎΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, Π½ΠΎΠ΄Ρ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΈΠ· Π½ΠΈΡ… Π±Π»ΠΎΠΊΠΈ. Помимо Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² Π±Π»ΠΎΠΊ записываСтся Ρ…Π΅Ρˆ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°, число (счСтчик Nonce), ΠΈ происходит вычислСниС Ρ…Π΅ΡˆΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ SHA-256. Π₯Сш Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ установлСнным условиям слоТности. НапримСр, Π² сСти Bitcoin ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ…Π΅ΡˆΠ° автоматичСски мСняСтся Ρ€Π°Π· Π² 2 Π½Π΅Π΄Π΅Π»ΠΈ Π² зависимости ΠΎΡ‚ мощности сСти Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Π»ΠΎΠΊ гСнСрировался ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π· Π² 10 ΠΌΠΈΠ½ΡƒΡ‚. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСлятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ условиСм: Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ…Π΅Ρˆ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ мСньшС Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа. Если Π΄Π°Π½Π½ΠΎΠ΅ условиС Π½Π΅ выполняСтся, Ρ‚ΠΎ ΠΊ Nonce прибавляСтся 1, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡŽ Ρ…Π΅ΡˆΠ° повторяСтся. Для ΠΏΠΎΠ΄Π±ΠΎΡ€Π° Ρ…Π΅ΡˆΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ»Π΅ Nonce, Ρ‚.ΠΊ. это СдинствСнныС Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π»ΠΎΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…Π΅Ρˆ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ число Π½ΡƒΠ»Π΅ΠΉ Π² Π½Π°Ρ‡Π°Π»Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ…Π΅ΡˆΠ΅ΠΉ:

000000000000000000000bf03212e7dd1176f52f816fa395fc9b93c44bc11f91

УспСшноС Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ…Π΅ΡˆΠ° ΠΈ являСтся Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Proof-of-Work, PoW) для сСтСй Bitcoin ΠΈΠ»ΠΈ Ethereum. ΠŸΡ€ΠΎΡ†Π΅ΡΡ нахоТдСния Ρ…Π΅ΡˆΠ΅ΠΉ называСтся ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³ΠΎΠΌ (mining), ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π΄ΠΎΠ±Ρ‹Ρ‡Π΅ΠΉ Π·ΠΎΠ»ΠΎΡ‚Π°. НазваниС достаточно Ρ‚ΠΎΡ‡Π½ΠΎ опрСдСляСт ΡΡƒΡ‚ΡŒ процСсса, Ρ‚.ΠΊ. происходит простой ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΈ Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ нашСл подходящий Ρ…Π΅Ρˆ, Ρ‚ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Ρ‡Π°. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ самородок Π·ΠΎΠ»ΠΎΡ‚Π° Π² Ρ‚ΠΎΠ½Π½Π°Ρ… пустой ΠΏΠΎΡ€ΠΎΠ΄Ρ‹. Π’ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° Π±Π»ΠΎΠΊ сСйчас составляСт 12.5 BTC ΠΈ Ссли ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ курс Π±ΠΈΡ‚ΠΊΠΎΠΈΠ½Π° $3900, Ρ‚ΠΎ получаСтся большС ΠΊΠΈΠ»ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° чистого Π·ΠΎΠ»ΠΎΡ‚Π°. Π•ΡΡ‚ΡŒ Π·Π° Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ!

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ нахоТдСния Ρ…Π΅ΡˆΠ° Π±Π»ΠΎΠΊ ΠΈ сам Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ…Π΅Ρˆ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎ структуру Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Bitcoin in a nutshell-Blockchain, Π° Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΡƒΡŽ схСму:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ начинаСтся с Π±Π»ΠΎΠΊΠ°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅Ρ‰Π΅ Π½Π΅Ρ‚ Ρ…Π΅ΡˆΠ° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°. Π’Π°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ собствСнноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Genesis block. Π£ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² одинаковая структура ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числом Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π² настоящСС врСмя Π² Bitcoin ΠΈΠ»ΠΈ Ethereum ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Block Explorer.

Π Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠΎΠ² Π² Bitcoin ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ 1Мб ΠΈ ΠΏΡ€ΠΈ минимальном объСмС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΠΊΠΎΠ»ΠΎ 200 Π±Π°ΠΉΡ‚, максимально Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ 6000 Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. ΠžΡ‚ΡΡŽΠ΄Π°, кстати, ΠΈ слСдуСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Bitcoin, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС ΡΠΌΠ΅ΡŽΡ‚ΡΡ: Π±Π»ΠΎΠΊ гСнСрируСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π· Π² 10 ΠΌΠΈΠ½ * 60 сСк = 600 сСк, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ 10 TPS. Π₯отя Π½Π° самом Π΄Π΅Π»Π΅ β€” это Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ Ethereum для ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ просто сдСлали врСмя Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠ° 15 сСк. ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π²Π·Π»Π΅Ρ‚Π΅Π»Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… PoW Π² качСствС консСнсуса Π²ΠΎΠΎΠ±Ρ‰Π΅ бСссмыслСнно ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚.ΠΊ. ΠΎΠ½Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ слоТности вычислСния кСша, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ.

Π€ΠΎΡ€ΠΊΠΈ

А Ρ‡Ρ‚ΠΎ происходит, Ссли, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСсколько ΡƒΠ·Π»ΠΎΠ² нашли Ρ…Π΅ΡˆΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ условиям слоТности, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (ΠΈΠ½Ρ‹ΠΌΠΈ словами, ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ консСнсусам) ΠΈ записали Π±Π»ΠΎΠΊΠΈ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½? Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ защищаСтся ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠΉ ситуации. Π’ этом случаС происходит, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ, Ρ„ΠΎΡ€ΠΊ (‘Π²ΠΈΠ»ΠΊΠ°’), ΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ вСрсии Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Π§Ρ‚ΠΎ происходит Π΄Π°Π»Π΅Π΅? Π”Π°Π»Π΅Π΅ Ρ‡Π°ΡΡ‚ΡŒ сСти Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π±Π»ΠΎΠΊΠΎΠΌ N+2 ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ, Π° Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

Какой-Ρ‚ΠΎ ΠΈΠ· этих Π±Π»ΠΎΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ· Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°:

Π§Ρ‚ΠΎ Π½Π°ΠΌ стоит Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ?

ΠŸΡ€ΠΈ этом, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ ситуация, ΠΊΠΎΠ³Π΄Π° транзакция участника Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² Ρ„ΠΎΡ€ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π±Ρ‹Π» ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ нуТная транзакция записалась Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½, Π΅ΡΡ‚ΡŒ общая рСкомСндация β€” ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСсколько Π±Π»ΠΎΠΊΠΎΠ² Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ, сколько Π±Π»ΠΎΠΊΠΎΠ² ΠΆΠ΄Π°Ρ‚ΡŒ для Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. НапримСр, для сСти Bitcoin ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ β€” это 2 Π±Π»ΠΎΠΊΠ°, максимум 6.

Вакая ΠΆΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° с Ρ„ΠΎΡ€ΠΊΠΎΠΌ Π±Π»ΠΎΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΈ, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ, Π°Ρ‚Π°ΠΊΠ΅ 51% β€” это ΠΊΠΎΠ³Π΄Π° Π³Ρ€ΡƒΠΏΠΏΠ° ΠΌΠ°ΠΉΠ½Π΅Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹Ρ€Π°ΡΡ‚ΠΈΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π±Π»ΠΎΠΊΠΎΠ², добиваясь ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ cΠΎ своими ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠΌΠΈ транзакциями. Π₯отя Π² настоящСС врСмя, вмСсто ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π°, Π²Ρ‹Π³ΠΎΠ΄Π½Π΅Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ свои мощности Π½Π° чСстный ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³.

ΠšΠΎΠ½ΡΠ΅Π½ΡΡƒΡ

Для записи Π±Π»ΠΎΠΊΠ° Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ ΡΠ΅Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ консСнсусу. Π”Π°Π²Π°ΠΉΡ‚Π΅ вспомним, Π·Π°Π΄Π°Ρ‡Ρƒ достиТСния консСнсуса Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… сСтях связи. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° формулируСтся, ΠΊΠ°ΠΊ Π·Π°Π΄Π°Ρ‡Π° византийских Π³Π΅Π½Π΅Ρ€Π°Π»ΠΎΠ² BFT (Byzantine fault tolerance). ΠžΠΏΡƒΡΠΊΠ°Ρ ТивописноС описаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ византийской Π°Ρ€ΠΌΠΈΠΈ, Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: ΠΊΠ°ΠΊ ΡƒΠ·Π»Π°ΠΌ сСти ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ, Ссли Ρ‡Π°ΡΡ‚ΡŒ ΡƒΠ·Π»ΠΎΠ² сСти ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… ΠΈΡΠΊΠ°ΠΆΠ°Ρ‚ΡŒ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ BFT ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΡΠ΅Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ссли мошСнников мСньшС 1/3. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² сСти Bitcoin Π½Π΅ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ консСнсус BFT? Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PoW? Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½:

  • BFT Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с нСбольшим фиксированным Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π½ΠΎΠ΄, Π° Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ число Π½ΠΎΠ΄ нСпрСдсказуСмо ΠΈ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π½ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ-Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ.
  • НСобходимо ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ людСй Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π½ΠΎΠ΄Ρ‹. Для этого люди Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π²ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π’ BFT Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ Π·Π° Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π²ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π° Π²ΠΎΡ‚ Π·Π° Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² PoW всСм понятно Π½Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅: Π·Π° элСктричСство, ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½Π½ΠΎΠ΅ процСссором Π² процСссС нахоТдСния Ρ…Π΅ΡˆΠ° Π±Π»ΠΎΠΊΠ°.

Помимо PoW сущСствуСт Π΅Ρ‰Π΅ нСсколько консСнсусов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² соврСмСнных Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • PoS (Proof-of-Stake) β€” Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ Hyperledger
  • DPoS (Delegated Proof-of-Stake) β€” Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ BitShares
  • ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ BFT: SBFT ( Simplified BFT ) ΠΈ PBFT ( Practical BFT ), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅ Exonum

НСмного остановимся Π½Π° консСнсусС PoS, Ρ‚.ΠΊ. ΠΈΠΌΠ΅Π½Π½ΠΎ PoS ΠΈ Π΅Π³ΠΎ разновидности ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ наибольшСС распространСниС Π² ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°Ρ…. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ…? Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, характСристики PoS Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с PoW, Ρ‚.ΠΊ. для достиТСния консСнсуса Π½ΡƒΠΆΠ½Ρ‹ мСньшиС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ увСличиваСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ записи Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½. Но с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны Π² PoS большС возмоТностСй для ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π°, поэтому для Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого всС участники Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ извСстны.

ΠšΠΎΠ½ΡΠ΅Π½ΡΡƒΡ PoS основан Π½Π° Π²Ρ‹Π±ΠΎΡ€Π΅ ΡƒΠ·Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ с транзакциями Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π² зависимости ΠΎΡ‚ количСства срСдств Π½Π° счСту, Π²Π΅Ρ€Π½Π΅Π΅, Π½Π΅ Π½Π° счСту, Π° Π² Π·Π°Π»ΠΎΠ³Π΅, Π’.Π΅. Ρ‡Π΅ΠΌ Ρƒ тСбя большС срСдств Π² Π·Π°Π»ΠΎΠ³Π΅, Ρ‚Π΅ΠΌ с большСй Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠ΅Ρ‚ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Ρ‚Π²ΠΎΠΉ ΡƒΠ·Π΅Π» для записи Π±Π»ΠΎΠΊΠ°. Π—Π°Π»ΠΎΠ³ Π½Π΅ возвратится, Ссли Π±Π»ΠΎΠΊ окаТСтся Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π°. Π•ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ PoS:

  • ΠšΠΎΠ½ΡΠ΅Π½ΡΡƒΡ Delegated PoS (DPoS) раздСляСт участников Π½Π° Β«Π³ΠΎΠ»ΠΎΡΡƒΡŽΡ‰ΠΈΠ΅Β» ΠΈ Β«Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅Β». Π”Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ½Π΅Ρ‚ (Π³ΠΎΠ»ΠΎΡΡƒΡŽΡ‰ΠΈΠ΅ участники) Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΡŽΡ‚ своС ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ участникам. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ всю Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π·Π° это Π²ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π³ΠΎΠ»ΠΎΡΡƒΡŽΡ‰ΠΈΡ… участников Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‡Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚.ΠΊ. ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚.
  • ΠšΠΎΠ½ΡΠ΅Π½ΡΡƒΡ LPoS (Leased Proof-of-Stake) позволяСт ΠΎΡ‚Π΄Π°Ρ‚ΡŒ свои срСдства Π² Π°Ρ€Π΅Π½Π΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ·Π»Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ ΠΈΠΌΠ΅Π»ΠΈ большС шансов для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ². Π’.ΠΎ. ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ комиссию Π·Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΈ этом Π½Π΅ участвуя Π² самой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³Π΅ Π±Π»ΠΎΠΊΠΎΠ².

БущСствуСт Π΅Ρ‰Π΅ ряд консСнсусов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния, здСсь просто ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡŽ для ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° ΠΎΠ±Π·ΠΎΡ€ самих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² консСнсуса ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅: Алгоритмы ΠšΠΎΠ½ΡΠ΅Π½ΡΡƒΡΠ° Π² Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π΅.

  • PoET ( Proof-of-Elapsed Time )
  • PoC ( Proof-of-Capacity )
  • PoB ( Proof-of-Burn )
  • PoWeight ( Proof-of-Weight )
  • PoA ( Proof-of-Activity ) β€” PoW + PoS
  • PoI ( Proof-of- Importans )

ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ развСртывания Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ²

ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½

Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Public ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Permissionless blockchain достигаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ свой ΡƒΠ·Π΅Π», Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ строится Π½Π° консСнсусС PoW.

ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½

Private ΠΈΠ»ΠΈ Private Permissioned blockchain. Π’ этих Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ опрСдСлСнная Π³Ρ€ΡƒΠΏΠΏΠ° участников (ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ людСй) ΠΈΠΌΠ΅Π΅Ρ‚ доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹ строят ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ с Ρ†Π΅Π»ΡŒΡŽ увСличСния ΠΎΠ±Ρ‰Π΅ΠΉ Π²Ρ‹Π³ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ эффСктивности. Π˜Ρ… Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ обСспСчиваСтся ΠΎΠ±Ρ‰ΠΈΠΌΠΈ цСлями участников ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ консСнсуса PoS ΠΈ BFT.

Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½-консорциум

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Consortium ΠΈΠ»ΠΈ Public Permissioned blockchain. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ для просмотра, Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ свой ΡƒΠ·Π΅Π» участник ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… участников. Π’Π°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹ строят ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ довСрия со стороны Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ общСства Π² Ρ†Π΅Π»ΠΎΠΌ. Π—Π΄Π΅ΡΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ достигаСтся присутствиСм довСрия ΠΌΠ΅ΠΆΠ΄Ρƒ участниками ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ консСнсуса PoS ΠΈ BFT.

Smart Contracts

Π’ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ послС Bitcoin, Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ стСпСни Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ². По сути смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ β€” это транзакция, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для выполнСния. Π‘ΠΌΠ°Ρ€Ρ‚-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ Π² сСти Ethereum Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² EVM (Ethereum Virtual Machine). Для Π½Π°Ρ‡Π°Π»Π° выполнСния смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° Π΅Π³ΠΎ Π½Π°Π΄ΠΎ явно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠ΅ΠΉ, ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ прСдусловия для выполнСния. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·Π²Π½Π΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ.

ΠšΠ°ΠΊΡƒΡŽ бизнСс Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°? На самом Π΄Π΅Π»Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΌΠ½ΠΎΠ³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условий ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ собствСнников Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ² Π² зависимости ΠΎΡ‚ этих условий, запись Π΄Π°Π½Π½Ρ‹Ρ… Π² постоянноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°. РСализуСтся Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ языкС высокого уровня Solidity.

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ с использованиСм смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² β€” это выпуск Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² для провСдСния ICO. НапримСр, ΠΌΠ½ΠΎΠΉ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ Π½Π° выпуск скромных 500 000 000 AlexToken. По ссылкС Π² Etherscan находится

исходный ΠΊΠΎΠ΄ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° Π½Π° языкС Solidity

pragma solidity ^0.4.23;
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
**/
function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
if (a == 0) {
return 0;
}
c = a * b;
assert(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers, truncating the quotient.
**/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
// uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return a / b;
}
/**
* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
**/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
/**
* @dev Adds two numbers, throws on overflow.
**/
function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
c = a + b;
assert(c >= a);
return c;
}
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
**/
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender account.
**/
constructor() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
**/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
**/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**
* @title ERC20Basic interface
* @dev Basic ERC20 interface
**/
contract ERC20Basic {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
**/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
**/
contract BasicToken is ERC20Basic {
using SafeMath for uint256;
mapping(address => uint256) balances;
uint256 totalSupply_;
/**
* @dev total number of tokens in existence
**/
function totalSupply() public view returns (uint256) {
return totalSupply_;
}
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
**/
function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
**/
function balanceOf(address _owner) public view returns (uint256) {
return balances[_owner];
}
}
contract StandardToken is ERC20, BasicToken {
mapping (address => mapping (address => uint256)) internal allowed;
/**
* @dev Transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint256 the amount of tokens to be transferred
**/
function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
emit Transfer(_from, _to, _value);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
*
* Beware that changing an allowance with this method brings the risk that someone may use both the old
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
* @param _spender The address which will spend the funds.
* @param _value The amount of tokens to be spent.
**/
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param _owner address The address which owns the funds.
* @param _spender address The address which will spend the funds.
* @return A uint256 specifying the amount of tokens still available for the spender.
**/
function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _addedValue The amount of tokens to increase the allowance by.
**/
function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To decrement
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _subtractedValue The amount of tokens to decrease the allowance by.
**/
function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
uint oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
/**
* @title Configurable
* @dev Configurable varriables of the contract
**/
contract Configurable {
uint256 public constant cap = 1000000000*10**18;
uint256 public constant basePrice = 100*10**18; // tokens per 1 ether
uint256 public tokensSold = 0;
uint256 public constant tokenReserve = 500000000*10**18;
uint256 public remainingTokens = 0;
}
/**
* @title CrowdsaleToken 
* @dev Contract to preform crowd sale with token
**/
contract CrowdsaleToken is StandardToken, Configurable, Ownable {
/**
* @dev enum of current crowd sale state
**/
enum Stages {
none,
icoStart, 
icoEnd
}
Stages currentStage;
/**
* @dev constructor of CrowdsaleToken
**/
constructor() public {
currentStage = Stages.none;
balances[owner] = balances[owner].add(tokenReserve);
totalSupply_ = totalSupply_.add(tokenReserve);
remainingTokens = cap;
emit Transfer(address(this), owner, tokenReserve);
}
/**
* @dev fallback function to send ether to for Crowd sale
**/
function () public payable {
require(currentStage == Stages.icoStart);
require(msg.value > 0);
require(remainingTokens > 0);
uint256 weiAmount = msg.value; // Calculate tokens to sell
uint256 tokens = weiAmount.mul(basePrice).div(1 ether);
uint256 returnWei = 0;
if(tokensSold.add(tokens) > cap){
uint256 newTokens = cap.sub(tokensSold);
uint256 newWei = newTokens.div(basePrice).mul(1 ether);
returnWei = weiAmount.sub(newWei);
weiAmount = newWei;
tokens = newTokens;
}
tokensSold = tokensSold.add(tokens); // Increment raised amount
remainingTokens = cap.sub(tokensSold);
if(returnWei > 0){
msg.sender.transfer(returnWei);
emit Transfer(address(this), msg.sender, returnWei);
}
balances[msg.sender] = balances[msg.sender].add(tokens);
emit Transfer(address(this), msg.sender, tokens);
totalSupply_ = totalSupply_.add(tokens);
owner.transfer(weiAmount);// Send money to owner
}
/**
* @dev startIco starts the public ICO
**/
function startIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
currentStage = Stages.icoStart;
}
/**
* @dev endIco closes down the ICO 
**/
function endIco() internal {
currentStage = Stages.icoEnd;
// Transfer any remaining tokens
if(remainingTokens > 0)
balances[owner] = balances[owner].add(remainingTokens);
// transfer any remaining ETH balance in the contract to the owner
owner.transfer(address(this).balance); 
}
/**
* @dev finalizeIco closes down the ICO and sets needed varriables
**/
function finalizeIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
endIco();
}
}
/**
* @title LavevelToken 
* @dev Contract to create the Lavevel Token
**/
contract AlexToken is CrowdsaleToken {
string public constant name = "AlexToken";
string public constant symbol = "ALT";
uint32 public constant decimals = 18;
}

ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΈΡ‚ ΡΠ΅Ρ‚ΡŒ

60806040526000600355600060045533600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560146101000a81548160ff021916908360028111156200006f57fe5b0217905550620001036b019d971e4fe8401e74000000600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200024a6401000000000262000b1d179091906401000000009004565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001986b019d971e4fe8401e740000006001546200024a6401000000000262000b1d179091906401000000009004565b6001819055506b033b2e3c9fd0803ce8000000600481905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b019d971e4fe8401e740000006040518082815260200191505060405180910390a362000267565b600081830190508281101515156200025e57fe5b80905092915050565b611cb880620002776000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104c7578063095ea7b31461055757806318160ddd146105bc57806323b872dd146105e7578063313ce5671461066c578063355274ea146106a3578063518ab2a8146106ce57806366188463146106f957806370a082311461075e57806389311e6f146107b55780638da5cb5b146107cc578063903a3ef61461082357806395d89b411461083a578063a9059cbb146108ca578063bf5839031461092f578063c7876ea41461095a578063cbcb317114610985578063d73dd623146109b0578063dd62ed3e14610a15578063f2fde38b14610a8c575b60008060008060006001600281111561012757fe5b600560149054906101000a900460ff16600281111561014257fe5b14151561014e57600080fd5b60003411151561015d57600080fd5b600060045411151561016e57600080fd5b3494506101a7670de0b6b3a764000061019968056bc75e2d6310000088610acf90919063ffffffff16565b610b0790919063ffffffff16565b9350600092506b033b2e3c9fd0803ce80000006101cf85600354610b1d90919063ffffffff16565b111561024c576101f66003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b915061022e670de0b6b3a764000061022068056bc75e2d6310000085610b0790919063ffffffff16565b610acf90919063ffffffff16565b90506102438186610b3990919063ffffffff16565b92508094508193505b61026184600354610b1d90919063ffffffff16565b6003819055506102886003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b6004819055506000831115610344573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156102dd573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b610395846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a361045184600154610b1d90919063ffffffff16565b600181905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501580156104bf573d6000803e3d6000fd5b505050505050005b3480156104d357600080fd5b506104dc610b52565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056357600080fd5b506105a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8b565b604051808215151515815260200191505060405180910390f35b3480156105c857600080fd5b506105d1610c7d565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610652600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c87565b604051808215151515815260200191505060405180910390f35b34801561067857600080fd5b50610681611041565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156106af57600080fd5b506106b8611046565b6040518082815260200191505060405180910390f35b3480156106da57600080fd5b506106e3611056565b6040518082815260200191505060405180910390f35b34801561070557600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105c565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b6040518082815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611335565b005b3480156107d857600080fd5b506107e16113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082f57600080fd5b50610838611411565b005b34801561084657600080fd5b5061084f6114ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088f578082015181840152602081019050610874565b50505050905090810190601f1680156108bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d657600080fd5b50610915600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b34801561093b57600080fd5b50610944611703565b6040518082815260200191505060405180910390f35b34801561096657600080fd5b5061096f611709565b6040518082815260200191505060405180910390f35b34801561099157600080fd5b5061099a611716565b6040518082815260200191505060405180910390f35b3480156109bc57600080fd5b506109fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611726565b604051808215151515815260200191505060405180910390f35b348015610a2157600080fd5b50610a76600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b6040518082815260200191505060405180910390f35b348015610a9857600080fd5b50610acd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a9565b005b600080831415610ae25760009050610b01565b8183029050818382811515610af357fe5b04141515610afd57fe5b8090505b92915050565b60008183811515610b1457fe5b04905092915050565b60008183019050828110151515610b3057fe5b80905092915050565b6000828211151515610b4757fe5b818303905092915050565b6040805190810160405280600981526020017f416c6578546f6b656e000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d9c57600080fd5b610ded826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e80826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6b033b2e3c9fd0803ce800000081565b60035481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561116d576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611201565b6111808382610b3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139157600080fd5b60028081111561139d57fe5b600560149054906101000a900460ff1660028111156113b857fe5b141515156113c557600080fd5b6001600560146101000a81548160ff021916908360028111156113e457fe5b0217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b60028081111561147957fe5b600560149054906101000a900460ff16600281111561149457fe5b141515156114a157600080fd5b6114a9611b01565b565b6040805190810160405280600381526020017f414c54000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561152157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561156e57600080fd5b6115bf826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611652826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b68056bc75e2d6310000081565b6b019d971e4fe8401e7400000081565b60006117b782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a4157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6002600560146101000a81548160ff02191690836002811115611b2057fe5b021790555060006004541115611c0a57611ba5600454600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611c89573d6000803e3d6000fd5b505600a165627a7a723058205bbef016cc7699572f944871cb6f05e69915ada3a92a1d9f03a3fb434aac0c2b0029

Π‘ΠΎΠ»ΡŒΡˆΠ΅ подробностСй ΠΏΡ€ΠΎ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ смарт-ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ Π² Ethereum.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΡ‹ пСрСчислили Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… построСны соврСмСнныС Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Ρ‹ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ сформулируСм, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°, Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚, Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС, нСэффСктивно. Π˜Ρ‚Π°ΠΊ, использованиС Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли:

  • Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ Π² Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСдС;
  • НаличиС комиссии посрСдников Π½Π΅ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Π΅Ρ‚ Тизнь участников;
  • Π£ участников Π½Π΅Ρ‚ собствСнности, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ²;
  • НСт распрСдСлСнности Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π°ΠΊΡ‚ΠΈΠ²Π°Ρ…, Ρ‚.Π΅. Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΈΠ»ΠΈ поставляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ участник.

КакоС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΆΠ΄Π΅Ρ‚ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½? БСйчас ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ развития Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

  • Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ станСт Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SQL ΠΈΠ»ΠΈ NoSQL для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ своСго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡;
  • Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ станСт ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнным ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ, ΠΊΠ°ΠΊ HTTP для Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°;
  • Π‘Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ станСт основой для Π½ΠΎΠ²ΠΎΠΉ финансовой ΠΈ политичСской систСмы ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹!

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

This is just the beginning!

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ