📃 Smart kontrakt: rozumnyj kod rulyť

Читати кирилицею
📃 Smart kontrakt: rozumnyj kod rulyť

Z golovnogo: ščo take smart kontrakt? Smart kontrakt ce programnyj kod na blokčejni, jakyj vykonuje nabir dij, pro jaki domovylysja zalučeni storony. Smart dogovir dijsno pracjuje, hoča j obmeženyj poky u funkcionaľnosti.

Zmist:

  • Terminy pro smart kontrakt
  • Pryncyp roboty rozumnogo kontrakta
  • Smart kontrakt vydy
  • Smart kontrakt kryptovaljuta
  • Pryklady vykorystannja smart-kontraktiv
  • Bonus: dlja ohočyh navčytysja stvorjuvaty rozumni kontrakty

Pashalka: tekst dovgyj, ale vseredyni je intrygujuča istorija.

– Cmart kontrakt terminy

Smart kontrakty – ce komp’juterni algorytmy, pryznačeni dlja ukladannja ta pidtrymky kontraktiv. Takyj kontrakt pyšeťsja u kodovij formi ta vykonujuťsja na blokčejni.

Blokčejn je rozpodilenym rejestrom danyh i vedeťsja ta kerujeťsja merežeju komp’juteriv. Detaľniše pro robotu blokčejnu čytajte u našij seriї statej.

Prostymy slovamy, blokčejn dozvoljaje smart-kontraktam vykonuvaty skladni pravyla ta obminjuvaty aktyvy, unykajučy poslug poserednyka. Ščob otrymaty povnu kartynu, zvernimoś do prykladu na krypto rynku:

Trejder znahodyť pokupcja dlja odnogo zi svoїh predmetiv. Teper trejder ta pokupeć pidpysujuť kontrakt iz zašyfrovanoju v ńomu logikoju.

Jak tiľky pokupeć otrymuje svij tovar, jogo platiž avtomatyčno pererahovujeťsja torgovcju. Žodna zi storin ne povynna ničogo robyty: proces povnistju avtomatyzovanyj za dopomogoju kodu.

Vony prosto pogodžujuťsja z umovamy ta stavljať svoї cyfrovi pidpysy v algorytmi.

Inši njuansy takož možna zakoduvaty v smart-kontrakt. Napryklad, jakščo tovar nadijšov poškodženym, torgoveć otrymuje lyše častynu sumy. Otže, jakščo standartnyj jurydyčnyj dogovir bude vključaty umovy vidnosyn, ščo zabezpečujuťsja zakonom, kontrakt na osnovi blokčejnu zabezpečuje vzajemozv’jazok miž usima zalučenymy storonamy za dopomogoju kodu ta kryptografiї.

Jak pracjuje smart kontrakt?

Na vidminu vid jurydyčnogo dogovoru, smart kontrakt (poky) ne maje jurydyčnoї syly.

  1. Jakščo htoś vyrišyť zminyty zmist kontraktu, ce pobačať usi učasnyky mereži – nody. Koly smart-kontrakt vykonuje zakodovanu v ńomu operaciju (napryklad, perekazuje platiž), cja informacija onovljujeťsja dlja kožnoї storony. V rezuľtati kožna storona može stežyty za procesom vykonannja kontraktu.
  2. Nody perevirjajuť taki kontrakty jak bloky. Jakščo smart kontrakt vyklykaje sumniv (u razi zlovmysnoї nody), vin može ne potrapyty do rejestru.
  3. Smart-kontrakty možuť vykonuvaty taki funkciї:
    • Keruvaty domovlenostjamy miž korystuvačamy
    • Funkcionuvaty jak rahunky z dekiľkoma pidpysamy (oplata nadsylajeťsja lyše todi, koly vsi nody pogodylysja)
    • Zberigaty informaciju
Iljustracija roboty smart-kontraktu, jak vygljadaje smart-kontrakt v kodi

Jak vygljadaje smart kontrakt? Fragment kodu kontrakta

 

Try golovni fiči smart kontrakta

Isnuje try osoblyvosti, ščo harakteryzujuť funkcionaľnisť rozumnyh kontraktiv:

  1. Determinovanisť
  2. Obmeženisť
  3. Izoľovanisť

Fiča #1: Determinovanisť

Programu možna nazvaty determinovanoju, jakščo vona kožnogo razu povertaje odnakovi rezuľtaty na vvidni dani. Napryklad, jakščo 2 + 2 = 4, todi 2 + 2 zavždy bude 4.

Fiča #2: Obmeženisť

Z matematyčnoї točky zoru, my možemo zitknutysja z «problemoju zboju»: nemožlyvistju zrozumity, čy može pevna programa vykonuvaty svoju funkciju protjagom zadanogo času. Alan Tjuring, jakogo vvažajuť baťkom sučasnoї informatyky, dijšov vysnovku, ščo nemaje šansiv diznatyś, čy može dana programa zakinčytysja za pevnyj čas čy ni.

Ce serjozna problema dlja rozumnyh kontraktiv, oskiľky vony povynni dijty pevnogo rezuľtatu u vyznačenyj termin. Takym čynom, isnujuť zahody, ščo garantujuť možlyvisť rozirvannja dogovoru. Odnym iz rišeń je komisija — v Efiriumi ce gas. Koly kiľkisť vykonanyh instrukcij dosjagaje limit, kontrakt vyčerpujeťsja. Inšyj pryklad — ce tajmer: kontrakt rozryvajeťsja, koly dosjagajeťsja obmežennja po času.

Fiča #3: Izoľovanisť

U blokčejni kožen može zavantažyty smart-kontrakt. Odnak ci kontrakty možuť mistyty virus abo pomylku. Ščob ubezpečyty veś blokčejn, ukraj važlyvo zberigaty kontrakt izoľovanym vid usijeї ekosystemy. Isnujuť speciaľni systemy, jaki dopomagajuť vykonuvaty kontrakty v bezpečnyj sposib:

 

Smart-kontrakt dlja strahovoї kompaniї

Pryklad roboty smart-kontrakta dlja industriї strahuvannja (zvit PwC)

Istorija stvorennja smart kontrakta

Rozumni kontrakty buly vperše zaproponovani na počatku 1990-h rokiv Nikom Sabo, jakyj i vviv cej termin. Vidomyj kryptograf vykorystovuvav jogo dlja poznačennja «naboru obicjanok, zaznačenyh u cyfrovij formi, vključajučy protokoly, v jakyh storony vykonujuť ci obicjanky». U 1998 roci cej termin buv vykorystanyj dlja opysu ob’jektiv na rivni služby upravlinnja pravamy systemy The Stanford Infobus, jaka bula častynoju Stenfordśkogo proektu cyfrovoї biblioteky.

U 2014 roci Vitalik Buterin, spivzasnovnyk platformy Ethereum, zaproponuvav vlasnu ideju ščodo vdoskonalennja mereži Bitkoїn. I vže za rik buv zapuščenyj sam Efirium, jakyj je platformoju dlja vprovadžennja cyh samyh udoskonaleń i dozvoljaje stvorjuvaty avtonomni kontrakty.

U jakyjś moment Bitkoїn takož počav peredavaty biľše informaciї za dopomogoju protokola Script, ale vin značno vidstaje vid smart kontraktiv, ščo je «povnymy za Tjuringom» (tobto dijuť, jak universaľnyj komp’juter). Ethereum dozvolyv rozrobnykam vprovadžuvaty novi algorytmy ta decentralizovani zastosunky poverh blokčejnu. Same tomu korporatyvni kontrakty na blokčejni je nastupnym krokom u cyfrovij revoljuciї dlja biznesu.

 

Smart-kontrakty u merežah efirium

Rozgortannja aktyvnyh, korotkočasnyh ta neaktyvnyh kontraktiv u mereži Efirium uprodovž vśogo času (M. di Angelo et al.)

Jak ce ne dyvno zvučyť śogodni, ale v 2017 Respublika Biloruś vydala Ukaz pro rozvytok cyfrovoї ekonomiky, stavšy peršoju kraїnoju, jaka legalizuvala smart contracts. Biloruśkyj juryst Denys Aljejnikov vvažajeťsja avtorom jurydyčnogo konceptu rozumnyh kontraktiv, predstavlenyh v ćomu ukazi.

V 2018, Senat SŠA zaznačyv u svojemu zviti:

Popry te, ščo smart kontrakty možuť zvučaty po-novomu, koncepcija vkorinena v osnovnomu dogovirnomu pravi. Zazvyčaj sudova systema vyrišuje dogovirni superečky ta zabezpečuje vykonannja umov, ale takož často isnuje inšyj metod arbitražu, osoblyvo ščodo mižnarodnyh operacij. Za dopomogoju smart kontraktiv programa zastosovuje kontrakt, vbudovanyj u kod

Rjad amerykanśkyh štativ pryjnjaly zakonodavstvo ščodo vykorystannja rozumnyh kontraktiv, taki jak Aryzona, Nevada, Tennessi ta Vajoming.

– Vydy smart kontraktiv

Kontrakty na blokčejni majuť nastupni atrybuty:

  • Vykorystannja metodiv elektronnogo pidpysu (jak token ECP) na osnovi vidkrytyh ta pryvatnyh ključiv, dostupnyh dvom abo biľše storonam ugody.
  • Najavnisť pryvatnogo decentralizovanogo seredovyšča (napryklad, Efirium), v jakomu pyšuťsja ci kontrakty i jake pidtrymuje vvid ta vyvid informaciї dlja program peredbačennja (sposib pov’jazaty informaciju z reaľnogo ta cyfrovogo svitiv).
  • Predmet kontraktu ta najavnisť instrumentiv, neobhidnyh dlja jogo vykonannja (kryptovaljuty dlja rozrahunku, programy peredbačennja toščo).
  • Točno opysani umovy jogo vykonannja, jaki storony pidtverdžujuť pidpysom, a takož nadijnisť džerela cyfrovyh danyh.
Vydy smart-kontraktiv

Vydy smart kontraktiv: zgenerovani korystuvačem i samymy kontraktamy (siryj kolir). M. di Angelo et al.

 

Perevagy smart-kontraktiv:

Točnisť. Jakščo kontrakt dobre zaprogramovanyj, isnuje neznačna jmovirnisť pohybky.

Švydkisť. Rozumni kontrakty avtomatyzujuť procesy ta ne vymagajuť žodnyh operacij vručnu.

Menše ryzykiv. Povtorymoś, ščo blokčejn – ce rozpodilena baza danyh. Same tomu smart kontrakty ne tjagnuť za soboju ryzyky, vytraty j inši problemy jurydyčnyh ugod.

Menše poserednykiv. Taki kontrakty znimajuť abo postupovo zmenšujuť roľ postačaľnykiv dovirčyh poslug.

– Smart kontrakt i kryptovaljuta

My dostatńo zgaduvaly Ethereum? Rozumnyj Efir: rozbyrajemoś, ščo take Efirium ta efir (ETH), z dopomogoju jakogo pracjuje biľšisť smart-kontraktiv. Odnak ce ne jedyna smart kryptovaljuta. Oś platformy, jaki najčastiše vykorystovujuť rozumni kontrakty:

  • Neo
  • EOS
  • Tezos
  • Stellar
  • Cardano
  • Hyperledger Fabric

Nu ščo, gotovi kupyty smart kontrakt?

– Pryklady vykorystannja smart-kontraktiv

Peršym vidomym kejsom vykorystannja smart kontrakta u kryptovaljuti buv proekt Slock.it na bazi mereži Efirium. Avtory zaznačaly, ščo proekt buv takym sobi Airbnb bez poserednykiv. Vy oplačujete kontrakt efirom i vualja – otrymujete dostup do kvartyry. Na pevnyj čas, zvisno.

Spiľnoti ideja zajšla i počaly zbyraty na te groši. Ce bulo odne z peršyh ISO i perša DAO (decentralizovana avtonomna organizacija), vona tak i zvalaś – The DAO. Ale odyn haker vykorystav vrazlyvisť Ethereum, ščoby 17 červnja 2016 spysaty z rahunku The DAO miľjony dolariv čužyh grošej.

Cikavyj fakt: v imejli, jakyj rozrobnyk DAO Emin Gün nadislav odnomu zi svoїh aspirantiv, raniše zaznačyv, ščo je rozumnyj kontrakt z možlyvoju problemoju. Gjun pobojuvavsja, ščo cja hyba može dozvolyty hakeram zrobyty neobmežene znjattja krypty. Dlja ćogo zlovmysnyk povynen buv staty investorom DAO, zaplatyvšy vśogo dolar.

0xF35e2cC8E6523d683eD44870f5B7cC785051a77D – ce adresa korystuvača, jakyj zdijsnyv ataku. Ta jak i vse na blokčejni, ce lyš anonimnyj rjadok symvoliv. Popry ce, kožna adresa zalyšaje istoriju u bloci, vidkrytomu dlja spiľnoty. A ščob vykonaty ataku, haker povynen buv stvoryty smart-kontrakt, jakyj by vzajemodijav iz DAO. Pislja aktyvaciї atakujučyj kontrakt počav nadsylaty pryblyzno 4000 dolariv v efiri čerez oblikovyj zapys napadnyka kožni ščočotyry hvylyny, aby spustošyty DAO…

Jakščo korotko, ce buv peršyj ta ostannij raz, koly blokčejn Efiriuma dovelosja vidkočuvaty nazad. Častyna spiľnoty bula kategoryčno proty i tak kryptosvit popovnyvsja novym klonom – Ethereum Classic. Ale pro ce inšym razom.

Rizni zastosuvannja smart-kontraktiv

– Inši kejsy zastosuvannja smart kontraktiv

Finansovyj sektor maje najbiľšyj popyt na smart-kontrakty. Cikavo, ščo blyźko polovyny vsih bankivśkyh zločyniv včynjajuťsja nynišnimy čy kolyšnimy pracivnykamy. Tomu banky postijno peregljadajuť možlyvi rišennja ščodo usunennja ljudśkogo faktora, vključajučy tehnologiju blokčejn. Vprovadžennja smart-kontraktiv može sprostyty ci procesy, tomu najbiľši gravci rozpočaly rozvytok u cij galuzi.

Jak dokaz, konsorcium R3 zalučyv biľš jak pivsotni finansovyh instytucij, a takož providni svitovi banky ta rozrobljaje platformu pid nazvoju Corda. Z dopomogoju Kordy, optymizovanoї dlja finansovogo sektoru, ponad 15 bankiv-členiv rozrobyly prototyp smart kontraktiv dlja svoїh operacij. Napryklad, Barclays vykorystovuje taki kontrakty dlja avtomatyzaciї plateživ ta zminy vlasnyka tranzakciї. HSBC i Bank of America zaminyly akredytyvy na rozumni kontrakty.

Rozumni kontrakty možuť zminyty sposib vedennja biznesu. Vony vnesuť radykaľni zminy šljahom pryskorennja tranzakcij, skoročennja bjurokratiї ta pidvyščennja zagaľnoї sukupnoї efektyvnosti. Bagato galuzej, takyh jak muzyka, mystectvo, finansy, rozdribna torgivlja, neruhomisť, telekomunikaciї ta lancjugy postavok, možuť otrymaty značnu korysť vid vykorystannja smart-kontraktiv. Odnak spravžnij potencial smart-kontraktiv doky ne dostupnyj čerez obmežennja infrastruktury: vona šče prosto ne isnuje.

– Bonus: Rozrobka smart kontraktiv

Jakščo vas zacikavyla tema blokčejn rozrobky, prodovžiť svoju osvitu z blokčejn akademiї Binance Academy. Ščob otrymaty dokladnišu informaciju pro smart-kontrakty ta kolosaľnyj perelik resursiv, vy možete zvernutysja do statti Hasyba Kureši. A jakščo vy vže počaly kodyty, peregljańte spysok vidkrytyh zadač, ščo stosujuťsja smart kontraktiv na OpenZeppelin.