DAML – Språket för smarta kontrakt

Den här artikeln erbjuder en omfattande bild av DAML – språket med öppen källkod för smarta kontrakt. Du lär dig också fördelarna med DAML och jämförelse med andra språk. 

I takt med att blockchain-tekniken utvecklas finns det ett behov av förbättrade system genom vilka användare fungerar och interagerar. Det händer redan många förbättringar, särskilt eftersom företagets blockchain fortsätter att bli populärt. Bland de senaste utvecklingen i den snabbt föränderliga blockchain-miljön är DAML.

Sedan internetets början är dataföränderlighet en egenskap som undvek många utvecklare. Som sådan utnyttjade dåliga aktörer inom online-ekosystemet möjligheten att ändra data för att begå olika brott.

Blockchain visade sig dock vara viktigare när utvecklare visade förmågan att genomföra transaktioner i en miljö utan en central aktör som det händer i den äldre finansvärlden..

Förutom dessa offentliga huvudböcker har också en stor marknad för privata, tillåtna huvudböcker tagit fart. Oavsett om det kontrolleras av ett lagligt auktoriserat centralt parti eller ett konsortium av ömsesidigt misstroande aktörer som har ett gemensamt mål, ger privata huvudböcker samma framtidssäkerhet och oföränderlighet som offentliga huvudböcker med den extra förmågan att upprätthålla dataskyddet.

Oavsett om en viss huvudbok är offentlig eller privat, är den klass av applikation som vanligtvis kallas smarta kontrakt som understödjer möjligheten för kamrater i ett blockchain-ekosystem att interagera med integritetsgarantier..

Den här artikeln kommer att diskutera senare i detalj vad smarta kontrakt är och deras betydelse i samband med DAML.

Anmäl dig nu: Enterprise Blockchains Fundamentals Course

Vad är DAML?

I tekniska termer står DAML för Digital Asset Modelling Language (DAML full form) – ett markeringsspråk för Semantic Web. Det tekniska jargongen kan dock förvirra. Så för enklare DAML-mening, tänk på det som öppen källkodsspråk för smarta kontrakt.

I huvudsak är DAML ett smart kontraktspråk som gör det möjligt för utvecklare att exakt koda flerpartsavtal för en mängd blockchain-, DLT- eller till och med standarddatabasarkitekturer.

Ursprunget av Digital Asset, blåser nytt liv i denna applikationsgenre (smarta kontrakt) som gör det möjligt för kamrater att handla i en miljö av förtroende. I grund och botten är detta ett programmeringsspråk som hämtar inspiration från Haskell och som underlättar skapandet av smarta kontrakt för distribuerade affärsflöden.

Speciellt gör språket det möjligt för utvecklare att minska tiden för att hantera muttrar och bultar i kryptering och blockchain. Istället fokuserar utvecklarna sin tid på att utveckla programmeringslösningar för affärsprocesser.

DAML – Språk för smarta kontrakt förklaras helt enkelt 


Egenskaper hos DAML

Ger ett sätt att skriva kontrakt

Liksom andra språk som programmerare använder för att skriva smarta kontrakt, gör DAML det möjligt för kamrater att göra och respektera avtal. I synnerhet beskriver språket processen för bildandet av ett kontrakt, de viktigaste parterna i avtalet och de parter som har delegerade rättigheter till kontraktet.

Förutom att definiera bildandet av ett kontrakt, tar språket hand om kodning av idéer som kontrakt, rättigheter, parter, auktorisation och skyldigheter genom att utvecklaren bara behöver hantera logiken i deras verksamhet alla tunga lyft relaterade till saker som hashing i kryptografi och konsensusalgoritmer abstraheras bort och hanteras av körtiden.

Detta direkta uttryck för kontraktselement som modersmålsfunktioner innebär att DAML-arkitekturen kan kontrollera systemkoden för problem automatiskt och tidigare i utvecklingscykeln. Dessutom har systemet förmågan att själv resonera om affärslogiken.

Det är öppen källkod

Den 4 april 2019 meddelade Digital Asset, företaget bakom DAML, att källkoden för programmet skulle vara fritt tillgänglig för alla utvecklare. Denna open-sourcing av projektet innebar att olika parter skulle kunna använda DAML för att modellera och genomföra kontrakt genom blockchain-teknik utan rädsla för leverantörslås.

Enligt tillkännagivandet kommer utvecklare och andra intresserade att få tillgång till DAML-språket, källkoden, Software Development Kit (SDK) och runtime under den mycket tillåtna Apache 2.0-licensen..

Användbar i en privat utförandemiljö

En brist på offentligt distribuerade huvudböcker är att varje nod på plattformen kan se data som finns i smarta kontrakt. Som sådan tycker kamrater som behöver hålla detaljerna i deras affär privata att det är omöjligt att göra transaktioner via ett offentligt blockchain-nätverk.

I synnerhet är detta en stor snubblar som förhindrar fullständig antagande av företagets blockchain. Det är därför, som tidigare nämnts, privata DLT: er har ökat i popularitet.

Kombinationen av DAML och en privat DLT-plattform ger ett botemedel mot detta fall. I synnerhet optimerade teamet bakom detta uttrycksfulla språk DAML genom att det fungerar perfekt i en privat exekveringsmiljö. Det vill säga att information som transporteras i kontrakten förblir privat så att endast auktoriserade parter har tillgång till den.

Läsbar av människor och maskiner

DAML är revolutionerande i mer än bara en mening. Framför allt är utformningen av systemet på ett sätt som maskiner och människor kan förstå informationen i kontraktet.

Konsekvensen av denna förmåga är enorm. De yrkesverksamma som är involverade i upprättandet av ett kontrakt kommer att ha en lätt tid att komma runt detaljerna eftersom DAML är väldigt mänsklig.

Till exempel kan en advokat enkelt förstå innebörden av ett kontrakt genom att läsa och bedöma DAML-kodningen för det kontraktet. Samtidigt ger DAML rätt grad av specificitet för utvecklare att beräkna viktiga aspekter av ett kontrakt som kassaflöde, kundprofiler och riskexponering.

Hur fungerar DAML? En snabb funktionell DAML-handledning

DAML fungerar ungefär som alla andra smarta skrivspråk för kontrakt. I synnerhet fungerar språket på två huvudnivåer där det finns själva språket och körtiden.

Språk är som den viktigaste delen av tekniken. Det är detta som gör det möjligt för utvecklare att göra allt arbete de behöver göra när det gäller att skriva avtal och underlätta transaktioner.

Eftersom det finns mycket rena och abstrakta API: er mellan språket och körtiden kan körtiden anpassas för att köras på en mängd blockchain, DLT och andra plattformar.

Detta ger flexibilitet för DAML-applikationer att överföras över plattformar som ger stöd för DAML. Detta är analogt med en JVM som gör att Java-applikationer kan köras oförändrade på alla plattformar som stöder JVM.

Efter installationen av Software Development Kit (SDK) behöver utvecklare bara köra några specifika filer så att enheten kan vara i stånd att stödja operationerna.

Datamodellering

En av de viktigaste och viktigaste uppgifterna man behöver utföra när man skriver ett smart kontrakt är modelleringen av data som ska användas med det kontraktet. Normalt är datamodelleringsfunktionen komplicerad och kan leda till mycket komplexa datastrukturer beroende på hur komplicerade kontrakten är och hur många parter som är involverade.

Till skillnad från andra smarta kontraktspråk, gör DAML det möjligt för utvecklare att specificera sitt dataskema i farten och direkt bädda in det i kontraktets exekveringsspråk. Detta förenklar kraftigt uppgiften med datamodellering och minskar risken för att fel införs på grund av felaktiga matchningar mellan dataskema och applikationslogik.

Läs mer: DAML-handledning: Komma igång med DAML

Mall disposition struktur

DAML-utvecklaren specificerar ett kontrakt genom en enkel och väldefinierad struktur som kallas en “mall”, som innehåller både datamodellen och parametrarna för kontraktet.

Parametrarna inkluderar till exempel undertecknarna av ett visst kontrakt (de deltagare som måste godkänna handlingar på kontraktet) och observatörerna (de deltagare inom avtalet som bara är där för att se kontraktet och vad det gör men inte är auktoriserat att vidta åtgärder). En annan aspekt av mallstrukturen inkluderar avtalet, som i grunden är detaljerna i avtalet och en representation av vad kontraktet handlar om.

Mallar kan ange en eller flera förutsättningar som säkerställer att kontraktet skapas endast om en viss tröskel uppnås av skaparen av kontraktet. Det sista elementet i mallens konturstruktur är “val”. Detta definierar de valmöjligheter som utföraren av kontraktet kan utöva.

Valstruktur

En viktig struktur inom mallen är valstrukturen, som beskriver de val som avtalsparterna kan välja med avseende på mallens karaktär.

Valstrukturen identifierar den registeransvarige eller den part som är ansvarig för att utöva valet. Andra delar av denna struktur inkluderar förbrukningsbarhet, ett namn, en returtyp, valargument och en valstruktur.

Läs mer: DAML Training Tutorial

Jämföra DAML mot smarta kontrakt

Förstå smarta kontrakt

Som tidigare förklarats är smarta kontrakt en viktig del av den distribuerade huvudtekniken (DLT). I offentliga blockkedjor kan två anonyma parter skapa ett smart avtal för att underlätta en viss transaktion men uppgifterna förblir lagrade på den offentliga huvudboken. Det vill säga att alla deltagare i nätverket kan se detaljerna i affären för att fastställa dess äkthet. Tillförsel av förtroende är som sådan möjlig.

I privata eller tillåtna DLT är alla parter kända men endast de parter som är inblandade i en given transaktion har tillgång till transaktionens data. Tillit upprätthålls fortfarande genom mekanismer som gör det möjligt för deltagare att validera alla transaktioner som de har tillgång till.

Smarta kontrakt har särskiljande egenskaper som också gör dem revolutionerande.

Exempelvis kan smarta kontrakt ha en självkörande mekanism som startar i kön från fastställda tidsfrister (kallas även utlösande händelser). I offentliga nätverk kan alla intresserade parter analysera aktiviteten i smarta kontrakt så att eventuella avvikelser kan identifieras.

Handlare kan också använda smarta kontrakt för att få pulsen på marknaden. Detta inkluderar förmågan att förutsäga trender och osäkerheter på marknaden.

Smarta kontrakt har ett antal fördelar som inkluderar oföränderlighet av data. I grundläggande termer avser oföränderlighet omöjligheten att ändra data från dess ursprungliga tillstånd. Det vill säga att uppgifterna inte kan raderas eller ändras på något tänkbart sätt.

Datans oföränderlighet gör att smarta kontrakt alltid är korrekta. För det tredje: i vissa fall gör smarta kontrakt det möjligt för kamrater att göra transaktioner direkt utan behov av en mellanhand. Därför är sådana transaktioner mycket billiga, ibland kostar de inte en krona.

Egenskaper hos smarta kontrakt

Bevis på skyldigheter och rättigheter

En kritisk funktion som smarta kontrakt måste ha är att man inte behöver transaktioner utan att vara bekväm med hela processen. I grund och botten är det helt frivilligt att komma överens om att ingå ett kontrakt men konsekvenserna är obligatoriska. Därför måste användaren på ett tillförlitligt och skickligt sätt överväga de framtida konsekvenserna av kontraktet som man skriver på. Det smarta kontraktet måste garantera att detta alltid är fallet, något som kan vara mycket svårt att få rätt.

Verifiering av transaktionsgiltighet

Som tidigare diskuterats kan information om detaljerna i kontraktet lätt spåras från huvudboken. Därför uppfyller detta kravet på kontrakt där man kan verifiera deras äkthet och giltighet.

Läs mer: Smarta kontraktsanvändningsfall

Jämförelse med DAML

I huvudsak framgår det av det föregående att DAML producerar en delmängd av smarta kontrakt genom att man kan rätta till bristerna i befintliga språk. Som tidigare diskuterats, gör det faktum att smarta kontrakt i offentliga nätverk lagrar sina data på offentliga finanser smarta kontrakt oattraktiva för konfidentiella transaktioner.

DAML säkerställer dock, när det används i samband med privata nätverk, att endast de parter som auktoriserar avtalet, tillsammans med de med delegerat tillstånd att se detaljerna, kan få tillgång till kontraktsinformationen. Det här är en anledning till att kunniga observatörer tror att detta språk är en mördarefunktion för finansinstitut och andra som kräver sekretess för transaktioner.

Ändå skiljer sig DAML som språk för smarta kontrakt från traditionella smarta kontrakt när det gäller att dela de skriftliga avtalen. Smarta kontraktsspråk som Solidity delar informationen offentligt, så hela nätverket har tillgång till detaljerna. Det är därför människor debatterar om DAML vs soliditet.

Tvärtom är avtal skrivna i DAML endast tillgängliga på ett behov-att-veta-basis. Det vill säga att oönskade tredje parter inte har tillgång till detaljerna. I synnerhet använder språket ett extra säkerhetsskikt där informationen inte ens är tillgänglig för oönskade parter.

Fördelar med DAML

Öppen källa

Blockchain-plattformen kan vara bara tio år gammal men den växer snabbt. Idag revolutionerar teknologin industrier i enastående takt. Anledningen till den här snabba tillväxten är det faktum att blockchain är öppen källkod och alla utvecklare kan tippa med det för att komma med den bästa lösningen för ett visst problem.

Intressant är att DAML också är öppen källkod sedan 4 april 2019. Det vill säga att utvecklare har latitud för att ändra DAML-koden för att skapa de mest innovativa lösningarna när det gäller smarta kontrakt och blockchain-ekosystemet i allmänhet.

Läs mer: Är Blockchain framtiden?

Aktiverar privata transaktioner

Traditionella smarta kontraktsspråk innehåller inte inbyggda funktioner med robusta begränsningar där avtal kan göras privata. I huvudsak är informationen i avtalen tillgänglig för alla deltagare, inklusive oönskade tredje parter.

Som tidigare diskuterats innehåller DAML emellertid ett extra säkerhetsskikt där sådan information endast är tillgänglig för auktoriserade parter.

Accelererar Enterprise Blockchain Adoption

Eftersom blockchain-övergångar till företagsanvändningsfall är ett av problemen som håller tillbaka tekniken den distribuerade typen av information. Som nämnts tidigare finns det redan ansträngningar som skapandet av privata blockchain-plattformar där alla deltagare måste skaffa tillstånd innan de går in.

Företagen står emellertid fortfarande inför hotet att konkurrenterna får syn på sin strategi. DAML: s inträde är dock en potentiell lösning på det problemet. I synnerhet begränsar språket avtalsdata till endast de noder som har behörighet att komma åt det, och information om avtal är inte tillgänglig för andra användare. Som sådan har företag ingen ursäkt för att hoppa ombord och utnyttja företagets blockchain-potential.

Läs mer: Företag som implementerar Blockchain-teknik

Inbyggt stöd för att validera modellens korrekthet

Med tanke på blockkedjans tuffa natur är de flesta operationer och modeller experimentella och nya. Därför finns det ett behov av konstant validering av modellernas riktighet. Lyckligtvis kommer DAML med inbyggt stöd där validering av modellernas riktighet är automatisk.

Lagringsabstraktion

DAML-körningen är robust och utför viktiga åtgärder för att göra språket överlägset de befintliga alternativen. Exempelvis drar runtime upp detaljerna i storboken genom att utvecklaren kan fokusera på kontraktets logik.

Jämföra DAML med andra alternativa smarta kontraktspråk

Blockchain-ekosystemet växer fortfarande och det innebär att det inte finns några standardoperationssystem. Detta innebär också att det inte finns något enda språk som dominerar när man skriver smarta kontrakt. Som sådan finns det många andra alternativ förutom DAML.

DAML vs Solidity

Soliditet är ett av de allra första språken för att skriva smarta Ethereum-kontrakt som blev populär. Denna popularitet var ett resultat av att Ethereum blockchain-plattformen var ett föredraget nätverk för smarta kontrakt.

Som programmeringsspråk dominerar Solidity Ethereum-plattformen. Detta språk använder syntax och skript på hög nivå som liknar JavaScript. Speciellt är språket avgörande för förbättringen av Ethereum Virtual Machine. Flera andra privata blockkedjor som Hyperledger Burrow och Monax använder språket för primär utveckling.

Vidare använde Ethereum-utvecklarna Solidity för att skriva version 0.4.0 av programvaran. Skönheten i detta språk är att det inte bryter blockchain-nätverkets funktionalitet.

Dessutom är språket avgörande för att skapa smarta kontrakt som körs på Ethereum virtual machine (EVM). Språket förbättrar applikationsförmågan att självförstärka den affärslogik som ligger i smarta kontrakt. Som ett resultat lämnar transaktionsparter i Ethereum-ekosystemet ett auktoritärt register över sina transaktioner för att underlätta verifierbarhet.

Till skillnad från DAML vars språk liknar Haskells språk använder Solidity en syntax som ligger nära ECMAScript. Soliditet har emellertid extra funktioner som varianter av återgivningstyper och möjligheten för statisk typning. Kontrakt skrivna i Solidity stöder också flera arv som underlättas med C3-linearisering.

Actulus modelleringsspråk

Sedan blockchain började ta företagsriktningen kom olika finansiella domänspecifika språk fram för att lösa några problem som identifierats på de ursprungliga språken.

Förutom DAML och Solidity kom Actulus Modelling Language (AML) upp för att lösa beräkningsfrågor inom pensions- och försäkringssektorn. I synnerhet är AML ett satsning med flera partier som innehåller Edlund A / S och IT-universitetet i Köpenhamn.

Till skillnad från språk som Java och bland annat C / C ++ som i allmänhet är tillämpliga i olika inställningar är AML domänspecifikt. Det vill säga att språket är användbart för ett visst syfte eller kan skapa applikationer som körs på en viss plattform. Som sådant kan språket inte skapa fristående program, gränssnitt och applikationer.

BOScoin-förtroendekontrakt

Detta är en annan alternativ lösning som använder Web Ontology Language (WOL) för att skapa smarta kontrakt. BOScoin använder alltid Timed Automata Language (TAL) för att öka förtroendet och robustheten i kontrakten. I synnerhet skapar språket förtroendekontrakt som underlättar skapandet av decentraliserade applikationer (DApps). I grund och botten uppmuntrar det smarta kontraktet DApps betrodda natur.

Läs mer: Vad är dApp?

I likhet med DAML är BOScoin inte Turing-Complete. Istället är språken avgörbara vilket skiljer dem från Turing-Complete-karaktären hos Ethereum Smart Contracts. Till skillnad från smarta Ethereum-avtal använder BOScoin Trust Contracts ett omfattande och mer inneslutet ontologispråk. Detta beror särskilt på behovet av teamet att skapa en plattform där utvecklare kan komma med tillförlitliga kontrakt.

Vad håller framtiden för DAML?

Som saker ser ut är blockchain-miljön överflödig med smarta kontraktsspråk. De många språken gör det svårt för blockchain-applikationer att interoperera och därmed fördröja massanpassningen av blockchain.

Intressant är att Hyperledger-plattformen ensam använder över sex språk inklusive DAML som skapar smarta kontrakt i Hyperledger Sawtooth.

Abstraktionskapaciteten för DAML-körningen hjälper dock till att lösa en mängd felproblem i smarta kontrakt som skapas över hela linjen. Det gör också DAML-applikationer bärbara till andra plattformar. Förutom Digital Assets plattform har DAML-stöd meddelats för VMware Blockchain och Sawtooth, vilket indikerar att andra plattformar kan använda det.

Därför är det troligt att DAML-språket kan bli det universella språket för smarta kontrakt de närmaste decennierna.

Om du vill lära dig mer om liknande grundläggande ämnen angående blockchain-teknik, se till att kolla in vår gratis blockchain-kurs för företag.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map