Ovaj članak nudi sveobuhvatan prikaz DAML-a – jezika otvorenog koda za pametne ugovore. Također ćete naučiti blagodati DAML-a i usporedbu s drugim jezicima.
Kako se blockchain tehnologija razvija, postoji potreba za poboljšanim sustavima putem kojih korisnici rade i komuniciraju. Već se događa mnogo poboljšanja, pogotovo jer blockchain poduzeća i dalje postaje popularan. Među najnovijim dostignućima u blockchain okruženju koje se brzo mijenja je DAML.
Od osnutka Interneta, nepromjenjivost podataka svojstvo je koje je izmicalo mnogim programerima. Kao takvi, loši akteri internetskog ekosustava iskoristili su sposobnost mijenjanja podataka radi počinjenja različitih zločina.
Međutim, blockchain se pokazao važnijim kada su programeri pokazali sposobnost provođenja transakcija u okruženju bez središnjeg igrača, kao što se to događa u naslijeđenom financijskom svijetu.
Pored ovih javnih knjiga, uzletjelo je i veliko tržište privatnih, ovlaštenih knjiga. Bez obzira da li ih kontrolira pravno ovlaštena središnja stranka ili konzorcij uzajamno nepovjerljivih aktera kojima je zajednički cilj, privatne knjige pružaju istu provjeru budućnosti i nepromjenjivost kao javne knjige s dodanom sposobnošću održavanja privatnosti podataka.
Bez obzira je li data knjiga javna ili privatna, klasa aplikacija koja se obično naziva pametnim ugovorima, koja podupire sposobnost vršnjaka u blockchain ekosustavu da komuniciraju s jamstvima privatnosti.
Ovaj članak će kasnije detaljno razmotriti što su pametni ugovori i njihova važnost u kontekstu DAML-a.
Upišite se sada: Tečaj o osnovama Enterprise Blockchainsa
Contents
- 1 Što je DAML?
Što je DAML?
U tehničkom smislu, DAML je skraćenica od Digital Asset Modeling Language (DAML puni oblik) – označni jezik za Semantički web. Međutim, tehnički žargon može zbuniti. Dakle, za jednostavnije DAML značenje mislite na njega kao na jezik otvorenog koda za pametne ugovore.
U osnovi, DAML je jezik pametnog ugovora koji omogućava programerima da točno kodiraju višestranečke ugovore za razne blockchain, DLT ili čak standardne arhitekture baza podataka.
Izvor: Digital Asset, udahnjuje novi život ovom žanru aplikacija (pametni ugovori) koji vršnjacima omogućuje transakcije u okruženju povjerenja. U osnovi, ovo je programski jezik koji inspiraciju crpi iz Haskella i koji olakšava stvaranje pametnih ugovora za distribuirane poslovne tijekove rada.
Značajno je da jezik omogućuje programerima da smanje vrijeme provedeno u bavljenju maticama šifriranja i blockchainom. Umjesto toga, programeri svoje vrijeme usmjeravaju na razvoj programskih rješenja za poslovne procese.
DAML – Jednostavno objašnjen jezik za pametne ugovore
Svojstva DAML-a
Pruža sredstva za pisanje ugovora
Kao i drugi jezici koje programeri koriste za pisanje pametnih ugovora, DAML omogućava vršnjacima da sklapaju i poštuju sporazume. Značajno je da jezik opisuje postupak formiranja ugovora, ključne strane u sporazumu i stranke s delegiranim pravima na ugovor.
Osim što definira postupak formiranja ugovora, jezik se brine i o kodiranju ideja poput ugovora, prava, stranaka, ovlaštenja i obveza, jer se programer mora baviti samo logikom svog poslovanja; svako dizanje teškog tereta koje se odnosi na stvari poput heširanja u kriptografiji i algoritmi konsenzusa apstrahiraju se i njima se rutira.
Ovaj izravni izraz elemenata ugovora kao značajki maternjeg jezika podrazumijeva da DAML arhitektura može automatski provjeriti sistemski kod za probleme i ranije u razvojnom ciklusu. Nadalje, sustav ima sposobnost samostalnog rasuđivanja o poslovnoj logici.
Otvoreni je izvor
Dana 4. travnja 2019., Digital Asset, tvrtka koja stoji iza DAML-a objavila je da će izvorni kod programa biti slobodno dostupan svim programerima. Ovaj otvoreni izvor projekta značio je da će različite strane moći koristiti DAML za modeliranje i izvršavanje ugovora putem blockchain tehnologije bez straha od zaključavanja dobavljača.
Prema najavi, programeri i ostale zainteresirane strane moći će pristupiti DAML jeziku, izvornom kodu, softveru za razvoj softvera (SDK) i radnom vremenu pod vrlo dozvoljenom licencom Apache 2.0.
Upotrebljiv u privatnom okruženju izvršenja
Nedostatak javno distribuiranih knjiga je taj što svaki čvor na platformi može vidjeti podatke koji su prisutni u pametnim ugovorima. Kao takvi, vršnjaci koji trebaju čuvati detalje svog posla privatnim smatraju nemogućim transakcije putem javne blockchain mreže.
Konkretno, ovo je jedan od glavnih kamena spoticanja koji sprečava potpuno usvajanje poduzetničkog blockchaina. Zbog toga su, kao što je ranije spomenuto, privatni DLT-ovi porasli u popularnosti.
Kombinacija DAML-a i privatne DLT platforme pruža lijek za ovaj slučaj. Valja istaknuti da je tim koji stoji iza ovog izražajnog jezika DAML-a optimiziran jer savršeno funkcionira u privatnom okruženju izvršenja. To znači da podaci koji se prenose u ugovorima ostaju privatni tako da im mogu pristupiti samo ovlaštene strane.
Čitljivo ljudima i strojevima
DAML je revolucionaran u više od samo jednog smisla. Važno je reći da je dizajn sustava na način da strojevi i ljudi mogu razumjeti informacije sadržane u ugovoru.
Implikacija ove sposobnosti je ogromna. Profesionalci koji su uključeni u formiranje ugovora lako će se snaći u detaljima jer je DAML vrlo prilagođen ljudima.
Na primjer, odvjetnik može lako razumjeti značenje ugovora čitajući i procjenjujući DAML kodiranje tog ugovora. Istodobno, DAML pruža pravi stupanj specifičnosti programerima za izračunavanje važnih aspekata ugovora poput novčanog tijeka, profila kupaca i izloženosti riziku.
Kako DAML radi? Kratki funkcionalni vodič za DAML
DAML djeluje gotovo kao i svi drugi jezici za pisanje pametnih ugovora. Jezik posebno djeluje na dvije glavne razine, gdje postoji sam jezik i vrijeme izvođenja.
Jezik je kao glavni dio tehnologije. To je ono što omogućuje programerima da rade sav posao koji trebaju obaviti u smislu pisanja sporazuma i olakšavanja transakcija.
Budući da između jezika i vremena izvođenja postoje vrlo čisti i apstrahirani API-ji, vrijeme izvođenja može se prilagoditi izvođenju na raznim blockchain-ima, DLT-u i drugim platformama.
To pruža fleksibilnost za DAML aplikacije za prijenos na platforme koje pružaju podršku za DAML. Ovo je analogno JVM-u koji omogućava Java programima da se nepromijenjeno izvode na bilo kojoj platformi koja podržava JVM.
Nakon instalacije softverskog paketa za razvoj (SDK), programeri trebaju pokrenuti samo nekoliko određenih datoteka kako bi uređaj mogao biti u mogućnosti podržavati radnje.
Modeliranje podataka
Jedan od glavnih i najvažnijih zadataka koje treba obaviti prilikom pisanja pametnog ugovora je modeliranje podataka koji će se koristiti s tim ugovorom. Funkcija modeliranja podataka obično je složena i može dovesti do vrlo složenih struktura podataka, ovisno o tome koliko su ugovori složeni i koliko je strana uključeno.
Za razliku od ostalih jezika pametnih ugovora, DAML omogućuje programerima da u hodu odrede svoju podatkovnu shemu, izravno je ugrađujući u jezik izvršenja ugovora. To uvelike pojednostavljuje zadatak modeliranja podataka i smanjuje mogućnost uvođenja pogrešaka zbog neusklađenosti podatkovne sheme i aplikacijske logike.
Čitaj više: Vodič za DAML: Početak rada s DAML-om
Struktura obrasca predloška
Razvojni programer DAML navodi ugovor kroz jednostavnu i dobro definiranu strukturu koja se naziva „predložak”, koja sadrži i podatkovni model i parametre ugovora.
Parametri uključuju, na primjer, potpisnike određenog ugovora (oni sudionici koji moraju odobriti radnje na ugovoru) i promatrači (oni sudionici u sporazumu koji su upravo tu da vide ugovor i što on čini, ali nisu ovlašteni poduzimati radnje). Drugi aspekt strukture predloška uključuje sporazum, koji je u osnovi detalj sporazuma i prikaz onoga o čemu se radi u ugovoru.
Predlošci mogu navesti jedan ili više preduvjeta koji osiguravaju stvaranje ugovora samo ako je kreator ugovora postigao određeni prag. Posljednji element strukture obrasca predloška su “izbori”. Ovo definira raspon izbora koje izvršitelj ugovora može izvršiti.
Struktura izbora
Glavna struktura u predlošku je struktura izbora koja detaljno opisuje izbore koje ugovorne strane mogu odabrati u smislu prirode predloška.
Struktura izbora identificira kontrolora ili stranku koja je odgovorna za izvršavanje izbora. Ostali elementi ove strukture uključuju potrošnju, ime, vrstu povrata, argumente izbora i tijelo izbora.
Čitaj više: Vodič za DAML trening
Usporedba DAML-a i pametnih ugovora
Razumijevanje pametnih ugovora
Kao što je ranije objašnjeno, pametni ugovori su vitalna komponenta tehnologije raspodijeljene knjige (DLT). U javnim blockchainima dvije anonimne stranke mogu stvoriti pametni ugovor kako bi olakšale određenu transakciju, ali podaci ostaju pohranjeni u javnoj knjizi. To znači da svi sudionici mreže mogu pregledati detalje posla kako bi utvrdili njegovu autentičnost. Kao takvo, izvršenje povjerenja je moguće.
U privatnom ili odobrenom DLT-u sve su strane poznate, ali samo one strane uključene u određenu transakciju imaju pristup podacima te transakcije. Povjerenje se i dalje održava kroz mehanizme koji sudionicima omogućuju potvrđivanje svih transakcija kojima imaju pristup.
Pametni ugovori imaju prepoznatljive karakteristike koje ih također čine revolucionarnima.
Na primjer, pametni ugovori mogu imati mehanizam za samoizvršavanje koji pokreće znak iz postavljenih rokova (koji se nazivaju i pokretački događaji). U javnim mrežama bilo koja zainteresirana strana može analizirati aktivnost pametnih ugovora tako da se može utvrditi bilo kakva anomalija.
Također, trgovci mogu koristiti pametne ugovore kako bi dobili puls na tržištu. To uključuje sposobnost predviđanja trendova i neizvjesnosti na tržištu.
Pametni ugovori imaju brojne pogodnosti koje uključuju nepromjenjivost podataka. U osnovnim pojmovima, nepromjenjivost se odnosi na nemogućnost promjene podataka u izvornom stanju. To znači da se podaci ne mogu izbrisati ili izmijeniti na bilo koji mogući način.
Nepromjenjivost podataka čini pametne ugovore uvijek točnim. Treće, u nekim slučajevima pametni ugovori omogućavaju vršnjacima izravne transakcije bez potrebe za posrednikom. Stoga su takve transakcije vrlo jeftine, ponekad ne koštaju ni centa.
Svojstva pametnih ugovora
Dokaz o obvezama i pravima
Jedna kritična značajka koju pametni ugovori moraju posjedovati jest ta da se ne mora obavljati transakcija, a da se ne osjeća ugodno s cijelim postupkom. U osnovi je pristajanje na sklapanje ugovora potpuno dobrovoljno, ali posljedice su obvezne. Stoga korisnik mora pouzdano i vješto razmotriti buduće implikacije ugovora na koji se potpisuje. Pametni ugovor mora jamčiti da je to uvijek slučaj, nešto što može biti vrlo teško ispraviti.
Provjera valjanosti transakcije
Kao i ranije raspravljano, podaci o pojedinostima ugovora lako se mogu pratiti iz glavne knjige. Stoga ovo ispunjava uvjet za ugovore kojima se može provjeriti njihova autentičnost i valjanost.
Čitaj više: Slučajevi korištenja pametnog ugovora
Usporedba s DAML-om
U osnovi, iz prethodnog je očito da DAML proizvodi podskup pametnih ugovora na taj način što je u stanju ispraviti nedostatke postojećih jezika. Kao što je ranije spomenuto, činjenica da pametni ugovori na javnim mrežama pohranjuju svoje podatke na javnim knjigama čini pametne ugovore neprivlačnim za povjerljive transakcije.
Međutim, DAML, kada se koristi zajedno s privatnim mrežama, osigurava da pristup ugovornim informacijama mogu imati samo one strane koje odobravaju ugovor, uz one kojima je dodijeljeno odobrenje za pregled detalja. To je jedan od razloga zašto upućeni promatrači vjeruju da je ovaj jezik ubojita funkcija za financijske institucije i druge kojima je potrebna povjerljivost transakcija.
Unatoč tome, DAML se kao jezik pametnih ugovora razlikuje od tradicionalnih pametnih ugovora kada je riječ o dijeljenju pisanih ugovora. Jezici pametnih ugovora kao što je Solidity dijele informacije javno, stoga cijela mreža ima pristup detaljima. Zato ljudi raspravljaju o DAML-u protiv solidnosti.
Naprotiv, ugovori napisani u DAML-u dostupni su samo na osnovi potrebe za znanjem. To znači da nepoželjne treće strane nemaju pristup detaljima. Jezik posebno koristi dodatni sloj sigurnosti pri čemu podaci nisu dostupni ni nepoželjnim stranama.
Prednosti DAML-a
Otvoreni izvor
Blockchain platforma možda je stara samo 10 godina, ali brzo raste. Danas tehnologija revolucionira industrije neviđenim brzinama. Razlog ovog brzog rasta je činjenica da je blockchain otvoreni izvor i svaki programer može s njim petljati kako bi došao s najboljim rješenjem za određeni problem.
Zanimljivo je da je DAML također otvoren s otvorenim kodom od 4. travnja 2019. To znači da programeri imaju dovoljno mogućnosti da modificiraju DAML kôd kako bi stvorili najinovativnija rješenja kada su u pitanju pametni ugovori i blockchain ekosustav općenito.
Čitaj više: Je li blockchain budućnost?
Omogućuje privatne transakcije
Tradicionalni jezici pametnih ugovora ne sadrže izvorne značajke s čvrstim ograničenjima gdje se ugovori mogu učiniti privatnima. U osnovi, podaci u ugovorima dostupni su svim sudionicima, uključujući nepoželjne treće strane.
Međutim, kao što je prethodno spomenuto, DAML uključuje dodatni nivo zaštite tamo gdje su takve informacije dostupne samo ovlaštenim stranama.
Ubrzava usvajanje Enterprise Blockchaina
Kako blockchain prelazi na slučajeve uporabe u poduzeću, jedno od problema koje zadržava tehnologiju je distribuirana priroda informacija. Kao što je već spomenuto, već postoje napori poput stvaranja privatnih blockchain platformi gdje svi sudionici moraju steći dozvolu prije ulaska.
Međutim, poduzeća se i dalje suočavaju s prijetnjom da konkurenti uvide njihovu strategiju. Međutim, ulazak DAML-a potencijalno je rješenje tog problema. Jezik posebno ograničava podatke sporazuma samo na one čvorove koji su ovlašteni pristupiti njima, a informacije u vezi s ugovorima nisu dostupne drugim korisnicima. Kao takva, poduzeća nemaju izgovor nego uskočiti i iskoristiti poduzetnički blockchain potencijal.
Čitaj više: Poduzeća koja implementiraju blokchain tehnologiju
Ugrađena podrška za provjeru ispravnosti modela
S obzirom na neskrivenu prirodu blockchaina, većina operacija i modela su eksperimentalni i novi. Stoga postoji potreba za stalnim provjeravanjem ispravnosti modela. Srećom, DAML dolazi s ugrađenom podrškom gdje je provjera ispravnosti modela automatska.
Apstrakcija skladišta
DAML runtime je robustan i izvodi vitalne operacije kako bi jezik učinio superiornijim od postojećih alternativa. Na primjer, vrijeme izvođenja apstrahira detalje glavne knjige tako da se programer može usredotočiti na logiku ugovora.
Usporedba DAML-a s drugim alternativnim jezicima pametnog ugovora
Blockchain ekosustav još uvijek raste i to implicira da ne postoje standardni sustavi rada. To također znači da ne postoji niti jedan jezik koji dominira u pisanju pametnih ugovora. Kao takvi, postoje brojne druge alternative osim DAML-a.
DAML vs Solidnost
Solidnost je jedan od prvih jezika za pisanje pametnih ugovora Ethereum koji je stekao popularnost. Ova popularnost rezultat je Ethereum blockchain platforme koja je preferirana mreža za pametne ugovore.
Kao programski jezik, Solidity dominira Ethereum platformom. Ovaj jezik koristi sintaksu i skriptu na visokoj razini koja je slična JavaScript-u. Jezik je osobito važan za poboljšanje virtualnog stroja Ethereum. Nekoliko drugih privatnih blockchaina poput Hyperledger Burrow i Monax koristi jezik za primarni razvoj.
Nadalje, programeri Ethereuma koristili su Solidity za pisanje verzije 0.4.0 softvera. Ljepota ovog jezika je u tome što ne narušava funkcionalnost blockchain mreže.
Uz to, jezik je presudan za stvaranje pametnih ugovora koji se izvode na virtualnom stroju Ethereum (EVM). Jezik poboljšava sposobnost aplikacija da samoosnaže poslovnu logiku koja je svojstvena pametnim ugovorima. Kao rezultat toga, strane u ekosustavu Ethereum ostavljaju vjerodostojnu evidenciju svojih transakcija kako bi olakšale provjerljivost.
Za razliku od DAML-a čiji je jezik sličan jeziku Haskella, Solidity koristi sintaksu koja je bliska ECMAScriptu. Međutim, Solidity ima dodatne mogućnosti poput varijabilnih vrsta povratka i mogućnost statičkog tipkanja. Također, ugovori napisani u Solidity podržavaju više nasljeđivanja koja su olakšana C3 linearizacijom.
Jezik za modeliranje Actulusa
Otkad je blockchain počeo poduzeti smjer poduzeća, razni jezici specifični za financijsku domenu riješili su neke probleme identificirane u početnim jezicima.
Pored DAML-a i Solidity-a, Actulus Modeling Language (AML) osmišljen je da pomogne u rješavanju računskih problema u mirovinskom i osiguranju. AML je višestranački pothvat koji uključuje Edlund A / S i IT sveučilište u Kopenhagenu.
Za razliku od jezika poput Jave i C / C ++, između ostalih koji su općenito primjenjivi u raznim postavkama, AML je specifičan za domenu. To znači da je jezik koristan za određenu svrhu ili može stvoriti programe koji se izvode na određenoj platformi. Kao takav, jezik ne može stvoriti samostalne programe, sučelja i aplikacije.
Ugovori o povjerenju BOScoin
Ovo je još jedno alternativno rješenje koje koristi web Ontology Language (WOL) za stvaranje pametnih ugovora. BOScoin uvijek koristi Temal Automata Language (TAL) kako bi povećao povjerenje i robusnost ugovora. Jezik posebno stvara ugovore o povjerenju koji olakšavaju stvaranje decentraliziranih aplikacija (DApps). U osnovi, pametni ugovor osnažuje prirodu DAppsa, kojoj se vjeruje.
Saznajte više: Što je dApp?
Slično DAML-u, BOScoin nije Turing-Complete. Umjesto toga, o jezicima se može odlučiti što ih razlikuje od Turing-Complete prirode Ethereum Smart Contracts. Za razliku od pametnih ugovora Ethereum, BOScoin Trust Contracts koriste sveobuhvatan i sveobuhvatniji jezik ontologije. To je posebno zbog potrebe da tim stvori platformu na kojoj programeri mogu sklopiti pouzdane ugovore.
Što donosi budućnost za DAML?
Kako stvari stoje, blockchain okruženje preplavljeno je pametnim ugovornim jezicima. Mnogi jezici otežavaju interakciju blockchain aplikacija i time odgađaju masovno usvajanje blockchaina.
Zanimljivo je da samo Hyperledger platforma koristi više od šest jezika, uključujući DAML koji stvara pametne ugovore u Hyperledger Sawtooth.
Međutim, sposobnost apstrakcije DAML vremena izvođenja pomaže u rješavanju mnoštva problema s programskim pogreškama u pametnim ugovorima stvorenima u cijeloj ploči. Također čini DAML aplikacije prijenosnim na druge platforme. Uz platformu Digital Asset, najavljena je i DAML podrška za VMware Blockchain i Sawtooth, što ukazuje da bi je mogle usvojiti i druge platforme.
Stoga je vjerojatno da bi jezik DAML mogao postati univerzalni jezik pametnih ugovora u narednim desetljećima.
Ako želite saznati više o sličnim temeljnim temama u vezi s blockchain tehnologijom, provjerite naš besplatni tečaj za blockchain za poduzetništvo.