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
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