­č窭čç░ Preh─żad v├Żskumu, ktor├Ż umo┼ż┼łuje podporu inteligentn├Żch zml├║v na Cardane

Preh─żad v├Żskumu, ktor├Ż umo┼ż┼łuje podporu inteligentn├Żch zml├║v na Cardane

Bli┼ż┼í├ş poh─żad na v├Żskum Cardano, ─Źas┼ą 2. Tu je viac inform├íci├ş o inovat├şvnom modeli EUTXO spolo─Źnosti Cardano a o tom, ako u─żah─Źuje efekt├şvnej┼íie inteligentn├ę zmluvy

Preh─żad v├Żskumu, ktor├Ż umo┼ż┼łuje podporu inteligentn├Żch zml├║v v syst├ęme Cardano

V na┼íom predch├ídzaj├║com blogovom pr├şspevku sme sa venovali v├Żskumu, na ktorom s├║ zalo┼żen├ę niektor├ę z├íkladn├ę prvky syst├ęmu Cardano vr├ítane st├ívkovania, delegovania a zdie─żania odmien. Tentoraz uv├ídzame dokumenty, ktor├ę pomohli vytvori┼ą funk─Źn├║ platformu inteligentn├Żch kontraktov pre v├Żvoj decentralizovan├Żch aplik├íci├ş (DApp) - umo┼ż┼łuje to ├║─Źtovn├Ż model Extended Unspent Transaction Output (EUTXO).

UTXO vs. model zalo┼żen├Ż na ├║─Źtoch

Bitcoin a Ethereum patria v s├║─Źasnosti medzi najpopul├írnej┼íie blockchainy. Na sledovanie distrib├║cie a vlastn├şctva finan─Źn├Żch prostriedkov pou┼ż├şvate─żov pou┼ż├şvaj├║ dva pomerne odli┼ín├ę ├║─Źtovn├ę modely ├║─Źtovnej knihy. T├Żmito modelmi s├║ model UTXO (Unspent Transaction Output) Bitcoinu a model zalo┼żen├Ż na ├║─Źtoch, ktor├Ż okrem in├Żch blockchainov vyu┼ż├şva aj Ethereum.

Model UTXO zaru─Źuje bezpe─Źnos┼ą v jadre finan─Źn├Żch aktiv├şt. Zatia─ż ─Źo s├ęmantick├Ż model UTXO zost├íva jednoduch├Ż v komplexnom prostred├ş s├║be┼żn├Żch a distribuovan├Żch v├Żpo─Źtov, je pomerne obmedzen├Ż v podpore inteligentn├Żch kontraktov. Ethereum si explicitne zvolilo model zalo┼żen├Ż na ├║─Źtoch, aby umo┼żnilo expres├şvnej┼íie inteligentn├ę zmluvy.

Pri rie┼íen├ş ot├ízky, ─Źi je mo┼żn├ę ma┼ą expres├şvne inteligentn├ę kontrakty pri zachovan├ş s├ęmantickej jednoduchosti modelu UTXO, pri┼íli v├Żskumn├şci IOG s rie┼íeniami ÔÇťRoz┼í├şren├Ż model UTXOÔÇŁ a ÔÇťNative Custom Tokens in the Extended UTXO ModelÔÇŁ. Obe v├Żskumn├ę pr├íce boli publikovan├ę v roku 2020 a plne opisuj├║ model EUTXO implementovan├Ż na Cardano.

Manuel Chakravarty, vedec spolo─Źnosti Lambda a architekt Plutus v spolo─Źnosti Input Output Global, Inc:

Model ├║─Źtovnej knihy UTXO, ktor├Ż bol testovan├Ż bitcoinom, zost├íva zlat├Żm ┼ítandardom bezpe─Źnosti a ┼ík├ílovate─żnosti. Vytvorili sme model Extended UTXO (EUTXO), aby sme z├şskali ├║rove┼ł expresivity inteligentn├Żch kontraktov, ktorej priekopn├şkom je Ethereum, a z├írove┼ł zachovali bezkonkuren─Źn├║ bezpe─Źnos┼ą a ┼ík├ílovate─żnos┼ą UTXO. Jednoducho sme chceli to najlep┼íie z oboch svetov!

V├Żskumn├í pr├íca ÔÇśThe Extended UTXO ModelÔÇÖ demon┼ítruje schopnos┼ą EUTXO neust├íle udr┼żiava┼ą stav kontraktu a pou┼ż├şva┼ą rovnak├Ż k├│d kontraktu po─Źas celej postupnosti transakci├ş. ─Äal┼íou silnou vlastnos┼ąou modelu EUTXO je, ┼że poplatky potrebn├ę na platn├║ transakciu mo┼żno presne predpoveda┼ą e┼íte pred jej odoslan├şm. Ide o jedine─Źn├║ vlastnos┼ą, ktor├í vypl├Żva z deterministick├ęho dizajnu modelu EUTXO, ktor├Ż sa v modeloch zalo┼żen├Żch na ├║─Źtoch nenach├ídza.

Plutus

Inteligentn├ę zmluvy s├║ hnacou silou vykon├ívania transakci├ş v syst├ęme Cardano. Vykon├ívaj├║ sa samy, tak┼że sa nespoliehaj├║ na tretie strany.

Na medzin├írodnej konferencii ACM SIGPLAN International Conference on Functional Programming (ICFPÔÇÖ19) Manuel Chakravarty diskutoval o funk─Źn├Żch blockchainoch a najm├Ą predstavil Plutus ako funk─Źn├Ż pr├şstup k inteligentn├Żm kontraktom:

R├Żchly pohyb a rozb├şjanie vec├ş nie je spr├ívny sp├┤sob budovania blockchainovej platformy. Rozbit├ę veci sa nedaj├║ ─żahko opravi┼ą. Preto bol Plutus postaven├Ż na pevn├Żch matematick├Żch z├íkladoch funkcion├ílneho programovania. Ide o programov├║ platformu pre inteligentn├ę kontrakty, ktor├í obsahuje prvky, ako s├║ kni┼żnice Haskell na p├şsanie inteligentn├Żch kontraktov, kompil├ítor z Haskellu do k├│du Plutus Core na re┼ąazci a r├┤zne n├ístroje na pomoc pri v├Żvoji.

V├Ą─Ź┼íina platforiem na programovanie blockchainu z├ívis├ş od vlastn├ęho jazyka, ako je napr├şklad Solidity od Etherea. Plutus bol realizovan├Ż nad jazykom Haskell. V├Żber jazyka Haskell umo┼żnil v├Żskumn├Żm a in┼żinierskym t├şmom IOG op├Ątovne pou┼żi┼ą existuj├║cu infra┼ítrukt├║ru, kni┼żnice a n├ístroje Haskellu so zaveden├Żmi sk├║senos┼ąami v oblasti vysoko spo─żahliv├ęho softv├ęru. Haskell u─żah─Źuje stru─Źn├Ż a opakovane pou┼żite─żn├Ż k├│d a z├írove┼ł zjednodu┼íuje neform├ílne uva┼żovanie, testovanie a pou┼ż├şvanie form├ílnych met├│d na dosiahnutie po┼żadovanej ├║rovne bezpe─Źnosti. Form├ílne met├│dy, ako najpr├şsnej┼íia forma zd├┤vod┼łovania spr├ívnosti k├│du, s├║ obzvl├í┼í┼ą zauj├şmav├ę pre inteligentn├ę zmluvy s vysokou hodnotou a s├║ dobre podporovan├ę paradigmou funkcion├ílneho programovania.

V├Żskumn├ę a in┼żinierske t├şmy IOG dodali inteligentn├ę kontrakty Plutus na z├íklade tak├Żch dokumentov, ako s├║ ÔÇťRoz┼í├şren├Ż model UTXOÔÇŁ, ÔÇťNative Custom Tokens in the Extended UTXO ModelÔÇŁ, ÔÇťUnraveling recursion: compiling an IR with recursion to System FÔÇŁ a ÔÇťSystem F in Agda, for fun and profitÔÇŁ. Tieto dokumenty spolo─Źne zav├ídzaj├║ model ├║─Źtovnej knihy Cardano s podporou inteligentn├Żch zml├║v, ako aj reprezent├íciu k├│du zmluvy na re┼ąazci ako takzvan├Żch lambda termov. ÔÇśSystem F in Agda, for fun and profitÔÇÖ obsahuje pr├şsnu matematick├║ defin├şciu, ktor├í bola po─Ź├şta─Źovo overen├í pomocou Agda theorem proveru.

Plutus je teraz ┼żiv├í, vyv├şjaj├║ca sa programov├í platforma pre inteligentn├ę kontrakty na Cardano. Vzdel├ívac├ş t├şm IOG spustil aj program Plutus Pioneer Program na n├íbor a ┼íkolenie v├Żvoj├írov v Plutus pre ekosyst├ęm Cardano. Viac inform├íci├ş o programe n├íjdete tu.

Marlowe

Zatia─ż ─Źo Plutus je funk─Źn├Ż programovac├ş jazyk pre inteligentn├ę zmluvy, Marlowe je webov├í platforma na vizu├ílne vytv├íranie a sp├║┼í┼ąanie n├şzkon├íkladov├Żch finan─Źn├Żch inteligentn├Żch zml├║v bez potreby hlbok├Żch program├ítorsk├Żch znalost├ş. Otv├íra cel├Ż rad pr├şpadov pou┼żitia pre neprogram├ítorov na vykon├ívanie jednoduch├Żch a optimalizovan├Żch kontraktov pre finan─Źn├ę transakcie.

Prv├í v├Żskumn├í pr├íca predstavuj├║ca Marlowe, ÔÇťMarlowe: finan─Źn├ę kontrakty na blockchaineÔÇŁ, bola uverejnen├í v roku 2018. Tento ─Źl├ínok sk├║ma n├ívrh dom├ęnovo ┼ípecifick├ęho jazyka zameran├ęho na vykon├ívanie finan─Źn├Żch zml├║v. Predstavuje spustite─żn├║ s├ęmantiku Marlowe v jazyku Haskell, pr├şklad Marlowe v praxi a opisuje n├ístroj, ktor├Ż umo┼ż┼łuje pou┼ż├şvate─żom interagova┼ą v prehliada─Źi so simul├íciami zml├║v Marlowe.

Nesk├┤r, v roku 2020, v├Żskumn├Ż t├şm IOG publikoval ─Źl├ínok ÔÇťEfekt├şvna statick├í anal├Żza zml├║v MarloweÔÇŁ, v ktorom sa uv├ídza zhrnutie pr├íce na optimaliz├ícii statickej anal├Żzy pre zmluvy Marlowe. Nasledovala pr├íca ÔÇśMarlowe: implement├ícia a anal├Żza finan─Źn├Żch kontraktov na blockchaineÔÇÖ, ktor├í opisuje implement├íciu Marlowe na Cardano a webov├ę v├Żvojov├ę a simula─Źn├ę prostredie Marlowe Playground. ─îl├ínok tie┼ż ukazuje, ┼że zmluvy Marlowe mo┼żno pred ich spusten├şm vy─Źerp├ívaj├║co analyzova┼ą, ─Ź├şm sa ├║─Źastn├şkom zmluvy poskytuj├║ siln├ę z├íruky.

Marlowe si u┼ż m├┤┼żu ─żudia vysk├║┼ía┼ą v r├ímci Marlowe Playground - prostredia sandboxu zalo┼żen├ęho na prehliada─Źi, v ktorom mo┼żno vyv├şja┼ą, simulova┼ą a testova┼ą proces p├şsania inteligentn├Żch kontraktov. IOG sa v s├║─Źasnosti pripravuje na spustenie testovacej siete Marlowe a bude vyu┼ż├şva┼ą program Marlowe Pioneers Program na zhroma┼ż─Ćovanie sp├Ątnej v├Ązby a pr├şpadov pou┼żitia v celom bal├şku produktov Marlowe. T├şm ned├ívno dodal n├ístroj Marlowe CLI, ktor├Ż pou┼ż├şvate─żom umo┼ż┼łuje zad├íva┼ą transakcie a komunikova┼ą so zmluvami Marlowe pomocou rozhrania pr├şkazov├ęho riadka. Po spusten├ş v mainnete zmluvy Marlowe otvoria cel├Ż rad mo┼żnost├ş DeFi.

Ke─Ć sme u┼ż prebrali vlastnosti modelu EUTXO spolo─Źnosti Cardano a to, ako u─żah─Źuje v├Żvoj inteligentn├Żch zml├║v na Cardano, budeme ─Ćalej diskutova┼ą o v├Żskume, ktor├Ż umo┼żnil podporu viacer├Żch akt├şv. Zosta┼łte naladen├ş na ─Ćal┼í├ş pr├şspevok na blogu!


(Nap├şsala Olga Hryniuk) - preklad @Martin.M
P├┤vodn├Ż ─Źl├ínok: Overview of the research enabling smart contract support on Cardano - IOHK Blog