DAML- De taal voor slimme contracten

Dit artikel biedt een uitgebreid overzicht van DAML – de open-source taal voor slimme contracten. U leert ook de voordelen van DAML en vergelijking met andere talen.

Naarmate de blockchain-technologie evolueert, is er behoefte aan verbeterde systemen waarmee gebruikers werken en communiceren. Er zijn al veel verbeteringen gaande, vooral nu de blockchain voor bedrijven populair blijft worden. Een van de nieuwste ontwikkelingen in de snel veranderende blockchain-omgeving is DAML.

Sinds de opkomst van internet is de onveranderlijkheid van gegevens een eigenschap die veel ontwikkelaars ontging. Als zodanig maakten slechte actoren binnen het online ecosysteem gebruik van de mogelijkheid om gegevens te wijzigen om verschillende misdrijven te plegen.

Blockchain bleek echter belangrijker toen ontwikkelaars aantoonden dat ze in staat waren om transacties uit te voeren in een omgeving zonder een centrale speler, zoals in de oude financiële wereld..

Naast deze openbare grootboeken is er ook een grote markt voor particuliere, goedgekeurde grootboeken van de grond gekomen. Of ze nu worden gecontroleerd door een wettelijk geautoriseerde centrale partij of een consortium van wederzijds wantrouwende actoren die een gemeenschappelijk doel hebben, private grootboeken bieden dezelfde toekomstbestendigheid en onveranderlijkheid als openbare grootboeken met het extra vermogen om gegevensprivacy te behouden.

Of een bepaald grootboek nu openbaar of privé is, het ondersteunen van de mogelijkheid voor peers in een blockchain-ecosysteem om te communiceren met privacygaranties is de toepassingsklasse die gewoonlijk wordt aangeduid als slimme contracten..

Dit artikel zal later in detail bespreken wat slimme contracten zijn en hun belang in de context van DAML.

Schrijf nu in:Enterprise Blockchains Fundamentals-cursus

Wat is DAML?

In technische termen staat DAML voor Digital Asset Modeling Language (DAML full form) – een opmaaktaal voor het semantische web. Het technische jargon kan echter verwarring veroorzaken. Dus, voor eenvoudigere DAML-betekenis, beschouw het als de open-source taal voor slimme contracten.

In wezen is DAML een slimme contracttaal waarmee ontwikkelaars overeenkomsten met meerdere partijen nauwkeurig kunnen coderen voor een verscheidenheid aan blockchain-, DLT- of zelfs standaard database-architecturen.

Ontstaan ​​door Digital Asset, blaast een nieuw leven in dit applicatiegenre (slimme contracten) dat collega’s in staat stelt transacties uit te voeren in een vertrouwde omgeving. Kortom, dit is een programmeertaal die inspiratie haalt uit Haskell en die het creëren van slimme contracten voor gedistribueerde zakelijke workflows vergemakkelijkt.

Met name stelt de taal ontwikkelaars in staat om de hoeveelheid tijd die ze besteden aan het omgaan met de moeren en bouten van encryptie en blockchain, te verminderen. In plaats daarvan besteden de ontwikkelaars hun tijd aan het ontwikkelen van programmeeroplossingen voor bedrijfsprocessen.


DAML – Taal voor slimme contracten eenvoudig uitgelegd

DAML-infographic

Eigenschappen van DAML

Biedt middelen voor het schrijven van contracten

Net als andere talen die programmeurs gebruiken om slimme contracten te schrijven, stelt DAML peers in staat om afspraken te maken en na te komen. De taal beschrijft met name het proces van contractvorming, de belangrijkste partijen bij de overeenkomst en de partijen met gedelegeerde rechten op het contract.

Naast het definiëren van het totstandkomingsproces van een contract, zorgt de taal voor het coderen van ideeën zoals contracten, rechten, partijen, autorisaties en verplichtingen in die zin dat de ontwikkelaar alleen te maken heeft met de logica van zijn bedrijf; al het zware werk met betrekking tot zaken als hashing in cryptografie, en consensusalgoritmen worden geabstraheerd en afgehandeld door de runtime.

Deze directe uitdrukking van contractelementen als native language features impliceert dat de DAML-architectuur de systeemcode automatisch en eerder in de ontwikkelingscyclus kan controleren op problemen. Verder heeft het systeem de mogelijkheid om zelf te redeneren over de bedrijfslogica.

Het is open source

Op 4 april 2019 kondigde Digital Asset, het bedrijf achter DAML, aan dat de broncode voor het programma gratis beschikbaar zou zijn voor alle ontwikkelaars. Deze open-sourcing van het project betekende dat verschillende partijen DAML zouden kunnen gebruiken om contracten te modelleren en uit te voeren via blockchain-technologie zonder bang te hoeven zijn voor vendor lock-in.

Volgens de aankondiging hebben ontwikkelaars en andere geïnteresseerde partijen toegang tot de DAML-taal, broncode, Software Development Kit (SDK) en runtime onder de zeer tolerante Apache 2.0-licentie.

Bruikbaar in een privé-uitvoeringsomgeving

Een tekortkoming van openbaar gedistribueerde grootboeken is dat elk knooppunt op het platform de gegevens kan bekijken die aanwezig zijn in de slimme contracten. Als zodanig vinden peers die de details van hun deal privé moeten houden, het onmogelijk om transacties uit te voeren via een openbaar blockchain-netwerk.

Dit is met name een groot struikelblok dat de volledige acceptatie van enterprise blockchain verhindert. Dit is de reden waarom, zoals eerder vermeld, privé-DLT’s enorm populair zijn geworden.

De combinatie van DAML en een privé DLT-platform biedt een oplossing voor deze zaak. Met name het team achter deze expressieve taal heeft DAML geoptimaliseerd, omdat het perfect werkt in een privé-uitvoeringsomgeving. Dit wil zeggen dat informatie in de contracten privé blijft, zodat alleen geautoriseerde partijen er toegang toe hebben.

Leesbaar door mens en machine

DAML is revolutionair in meer dan één opzicht. Met name het ontwerp van het systeem is zodanig dat machines en mensen de informatie in het contract kunnen begrijpen.

De implicatie van deze mogelijkheid is enorm. De professionals die betrokken zijn bij de totstandkoming van een contract, zullen het gemakkelijk vinden om de details te doorzoeken, omdat DAML erg mensvriendelijk is.

Een advocaat kan bijvoorbeeld gemakkelijk de betekenis van een contract begrijpen door de DAML-codering van dat contract te lezen en te beoordelen. Tegelijkertijd biedt DAML de juiste mate van specificiteit voor ontwikkelaars om belangrijke aspecten van een contract te berekenen, zoals cashflow, profielen van klanten en risicoblootstelling.

Hoe DAML werkt? Een snelle functionele DAML-zelfstudie

DAML werkt vrijwel net als alle andere talen voor het schrijven van slimme contracten. In het bijzonder werkt de taal op twee belangrijke niveaus, namelijk de taal zelf en de runtime.

Taal is als het belangrijkste onderdeel van technologie. Dit is wat ontwikkelaars in staat stelt om al het werk te doen dat ze moeten doen op het gebied van het schrijven van overeenkomsten en het faciliteren van transacties.

Omdat er zeer schone en geabstraheerde API’s zijn tussen de taal en runtime, kan de runtime worden aangepast om te worden uitgevoerd op een verscheidenheid aan blockchain-, DLT- en andere platforms.

Dit biedt de flexibiliteit voor DAML-applicaties om te worden overgedragen naar verschillende platforms die ondersteuning bieden voor DAML. Dit is analoog aan een JVM waardoor Java-applicaties ongewijzigd kunnen draaien op elk platform dat de JVM ondersteunt.

Na installatie van de Software Development Kit (SDK) hoeven ontwikkelaars slechts een paar specifieke bestanden uit te voeren, zodat het apparaat de bewerkingen kan ondersteunen.

Datamodellering

Een van de belangrijkste en belangrijkste taken die u moet uitvoeren bij het schrijven van een slim contract, is het modelleren van gegevens die bij dat contract moeten worden gebruikt. Normaal gesproken is de datamodelleringsfunctie gecompliceerd en kan dit leiden tot zeer complexe datastructuren, afhankelijk van hoe gecompliceerd de contracten zijn en hoeveel partijen erbij betrokken zijn..

In tegenstelling tot andere slimme contracttalen, stelt DAML ontwikkelaars in staat om hun gegevensschema direct te specificeren en dit rechtstreeks in de uitvoeringstaal van het contract op te nemen. Dit vereenvoudigt de taak van datamodellering aanzienlijk en verkleint de kans dat fouten worden geïntroduceerd als gevolg van mismatches tussen het dataschema en de applicatielogica.

Lees verder: DAML-zelfstudie: aan de slag met DAML

Sjabloonoverzichtsstructuur

De DAML-ontwikkelaar specificeert een contract via een eenvoudige en goed gedefinieerde structuur, een ‘sjabloon’ genaamd, die zowel het datamodel als de parameters van het contract bevat.

De parameters omvatten bijvoorbeeld de ondertekenaars van een bepaald contract (die deelnemers die acties op het contract moeten autoriseren) en de waarnemers (die deelnemers binnen de overeenkomst die er alleen zijn om het contract te zien en wat het doet, maar niet gemachtigd zijn). om acties te ondernemen). Een ander aspect van de sjabloonstructuur omvat de overeenkomst, die in feite de details van de overeenkomst is en een weergave van waar het contract over gaat.

Sjablonen kunnen een of meer randvoorwaarden specificeren die ervoor zorgen dat het contract alleen tot stand komt als een bepaalde drempel wordt bereikt door de maker van het contract. Het laatste element van de sjabloonoverzichtstructuur is “keuzes”. Dit definieert het scala aan keuzes die de uitvoerder van het contract kan uitoefenen.

Keuzestructuur

Een belangrijke structuur binnen het sjabloon is de keuzestructuur, die de keuzes specificeert die de contractpartijen kunnen kiezen in termen van de aard van het sjabloon.

De keuzestructuur identificeert de verantwoordelijke of de partij die verantwoordelijk is voor het uitoefenen van de keuze. Andere elementen van deze structuur zijn onder meer verbruikbaarheid, een naam, een retourtype, keuzeargumenten en een keuzetekst.

Lees verder: DAML-trainingshandleiding

DAML versus slimme contracten vergelijken

Inzicht in slimme contracten

Zoals eerder uitgelegd, zijn slimme contracten een essentieel onderdeel van de gedistribueerde grootboektechnologie (DLT). In openbare blockchains kunnen twee anonieme partijen een slim contract maken om een ​​bepaalde transactie mogelijk te maken, maar de gegevens blijven opgeslagen in het grootboek. Dit wil zeggen dat alle deelnemers in het netwerk de details van de deal kunnen bekijken om de authenticiteit ervan te verifiëren. Zodoende is het afdwingen van vertrouwen mogelijk.

In privé of geautoriseerde DLT’s zijn alle partijen bekend, maar alleen die partijen die bij een bepaalde transactie betrokken zijn, hebben toegang tot de gegevens van die transactie. Het vertrouwen wordt nog steeds gehandhaafd door mechanismen waarmee deelnemers alle transacties waartoe ze toegang hebben, kunnen valideren.

Slimme contracten hebben onderscheidende kenmerken die ze ook revolutionair maken.

Slimme contracten kunnen bijvoorbeeld een zelfuitvoerend mechanisme hebben dat in gang wordt gezet op basis van vastgestelde deadlines (ook wel triggeringgebeurtenissen genoemd). In openbare netwerken kan elke geïnteresseerde partij de activiteit van de slimme contracten analyseren, zodat elke anomalie kan worden geïdentificeerd.

Handelaren kunnen ook slimme contracten gebruiken om de hartslag van de markt te krijgen. Dit omvat het vermogen om trends en onzekerheden in de markt te voorspellen.

Slimme contracten hebben een aantal voordelen, waaronder onveranderlijkheid van gegevens. In fundamentele termen verwijst onveranderlijkheid naar de onmogelijkheid van gegevenswijziging ten opzichte van de oorspronkelijke staat. Dit wil zeggen dat de gegevens op geen enkele manier kunnen worden gewist of gewijzigd.

De onveranderlijkheid van de gegevens maakt de slimme contracten altijd accuraat. Ten derde stellen slimme contracten in sommige gevallen peers in staat rechtstreeks transacties uit te voeren zonder tussenkomst van een tussenpersoon. Daarom zijn dergelijke transacties erg goedkoop, soms kosten ze geen cent.

Eigenschappen van slimme contracten

Bewijs van verplichtingen en rechten

Een cruciaal kenmerk dat slimme contracten moeten hebben, is dat men geen transacties hoeft uit te voeren zonder vertrouwd te zijn met het hele proces. In wezen is instemmen met het aangaan van een contract volledig vrijwillig, maar de gevolgen zijn verplicht. Daarom moet de gebruiker op een betrouwbare en bekwame manier rekening houden met de toekomstige implicaties van het contract waarop hij tekent. Het slimme contract moet garanderen dat dit altijd het geval is, iets dat erg moeilijk kan zijn om goed te krijgen.

Verificatie van transactiegeldigheid

Zoals eerder besproken, is informatie over de details van het contract gemakkelijk te herleiden vanuit het grootboek. Dit voldoet dus aan de eis voor contracten waarbij men hun authenticiteit en geldigheid kan verifiëren.

Lees verder:Slimme contractgebruikssituaties

Vergelijking met DAML

In wezen is het duidelijk uit het voorgaande dat DAML een subset van slimme contracten produceert omdat men in staat is om de tekortkomingen van bestaande talen te corrigeren. Zoals eerder besproken, maakt het feit dat slimme contracten op openbare netwerken hun gegevens opslaan in openbare grootboeken, slimme contracten onaantrekkelijk voor vertrouwelijke transacties.

Wanneer DAML echter wordt gebruikt in combinatie met particuliere netwerken, zorgt het ervoor dat alleen die partijen die het contract autoriseren, naast degenen met gedelegeerde toestemming om de details in te zien, toegang hebben tot de contractinformatie. Dit is een van de redenen waarom goed geïnformeerde waarnemers geloven dat deze taal de dodelijke functie is voor financiële instellingen en anderen die transactie-vertrouwelijkheid vereisen.

Desalniettemin verschilt DAML als taal voor slimme contracten van traditionele slimme contracten als het gaat om het delen van de schriftelijke overeenkomsten. Slimme contracttalen zoals Solidity delen de informatie openbaar, dus het hele netwerk heeft toegang tot de details. Daarom debatteren mensen over DAML versus soliditeit.

Integendeel, overeenkomsten die in DAML zijn geschreven, zijn alleen beschikbaar op need-to-know-basis. Dit wil zeggen dat ongewenste derden geen toegang hebben tot de gegevens. Met name de taal maakt gebruik van een extra beveiligingslaag waardoor de gegevens niet eens beschikbaar zijn voor ongewenste partijen.

Voordelen van DAML

Open source

Het blockchain-platform is misschien pas 10 jaar oud, maar het groeit snel. Tegenwoordig zorgt technologie voor een revolutie in industrieën in ongekende snelheden. De reden voor deze snelle groei is het feit dat blockchain open source is en dat elke ontwikkelaar eraan kan sleutelen om de beste oplossing voor een bepaald probleem te vinden..

Interessant is dat DAML sinds 4 april 2019 ook open-source is. Dit wil zeggen dat ontwikkelaars de ruimte hebben om de DAML-code aan te passen om de meest innovatieve oplossingen te creëren als het gaat om slimme contracten en het blockchain-ecosysteem in het algemeen..

Lees verder:Is Blockchain de toekomst?

Maakt privétransacties mogelijk

Traditionele slimme contracttalen bevatten geen native features met robuuste beperkingen waar afspraken privé gemaakt kunnen worden. In wezen is de informatie in de overeenkomsten toegankelijk voor alle deelnemers, ook voor ongewenste derden.

Zoals eerder besproken, bevat DAML echter een extra beveiligingslaag waarbij dergelijke informatie alleen toegankelijk is voor geautoriseerde partijen.

Versnelt de acceptatie van Enterprise Blockchain

Terwijl blockchain overgaat naar use-cases voor bedrijven, is een van de problemen die de technologie tegenhouden de gedistribueerde aard van informatie. Met name, zoals eerder besproken, zijn er al inspanningen zoals het creëren van privé blockchain-platforms waar alle deelnemers toestemming moeten krijgen voordat ze binnenkomen.

Ondernemingen worden echter nog steeds geconfronteerd met de dreiging dat concurrenten hun strategie in het oog krijgen. De intrede van DAML is echter een mogelijke oplossing voor dat probleem. In het bijzonder beperkt de taal overeenkomstgegevens tot alleen die knooppunten die er toegang toe hebben, en informatie over overeenkomsten is niet beschikbaar voor andere gebruikers. Als zodanig hebben ondernemingen geen ander excuus dan aan boord te springen en het blockchain-potentieel van de onderneming te exploiteren.

Lees verder: Bedrijven die Blockchain-technologie implementeren

Ingebouwde ondersteuning om de juistheid van het model te valideren

Gezien de onvolgroeide aard van blockchain, zijn de meeste bewerkingen en modellen experimenteel en nieuw. Daarom is er behoefte aan constante validatie van de juistheid van de modellen. Gelukkig wordt DAML geleverd met ingebouwde ondersteuning waarbij validatie van de juistheid van modellen automatisch is.

Opslag abstractie

De DAML-runtime is robuust en voert essentiële bewerkingen uit om de taal superieur te maken aan de bestaande alternatieven. De runtime abstraheert bijvoorbeeld de details van het grootboek, zodat de ontwikkelaar zich kan concentreren op de logica van het contract.

DAML vergelijken met andere alternatieve slimme contracttalen

Het blockchain-ecosysteem groeit nog steeds en dat impliceert dat er geen standaard operatiesystemen zijn. Dit betekent ook dat er geen enkele taal is die domineert bij het schrijven van slimme contracten. Als zodanig zijn er naast DAML tal van andere alternatieven.

DAML versus soliditeit

Solidity is een van de allereerste talen voor het schrijven van slimme Ethereum-contracten die aan populariteit hebben gewonnen. Deze populariteit was het resultaat van het feit dat het Ethereum blockchain-platform een ​​voorkeursnetwerk is voor slimme contracten.

Als programmeertaal domineert Solidity het Ethereum-platform. Deze taal maakt gebruik van syntaxis en script op hoog niveau die vergelijkbaar zijn met JavaScript. Met name de taal is van vitaal belang bij de verbetering van de Ethereum Virtual Machine. Verschillende andere private blockchains zoals Hyperledger Burrow en Monax gebruiken de taal voor primaire ontwikkeling.

Verder gebruikten de Ethereum-ontwikkelaars Solidity om versie 0.4.0 van de software te schrijven. Het mooie van deze taal is dat het de functionaliteit van het blockchain-netwerk niet verstoort.

Bovendien is de taal van vitaal belang bij het maken van slimme contracten die worden uitgevoerd op de virtuele machine van Ethereum (EVM). De taal verbetert het vermogen van applicaties om zelf de bedrijfslogica te versterken die inherent is aan slimme contracten. Als gevolg hiervan laten transacterende partijen in het Ethereum-ecosysteem een ​​gezaghebbend record van hun transacties achter om verifieerbaarheid te vergemakkelijken.

In tegenstelling tot DAML waarvan de taal vergelijkbaar is met die van Haskell, gebruikt Solidity een syntaxis die dicht bij ECMAScript ligt. Solidity heeft echter extra mogelijkheden, zoals variadische retourtypen en de mogelijkheid voor statisch typen. Contracten die in Solidity zijn geschreven, ondersteunen ook meerdere overervingen die worden vergemakkelijkt met C3-linearisering.

Actulus-modelleringstaal

Sinds blockchain de bedrijfsrichting begon te nemen, kwamen er verschillende financiële domeinspecifieke talen om enkele problemen op te lossen die in de oorspronkelijke talen werden geïdentificeerd.

Naast DAML en Solidity is Actulus Modelling Language (AML) ontwikkeld om rekenproblemen in de pensioen- en verzekeringssector op te lossen. AML is in het bijzonder een onderneming met meerdere partijen die Edlund A / S en de IT-universiteit van Kopenhagen omvat.

In tegenstelling tot talen zoals Java en C / C ++ die algemeen toepasbaar zijn in verschillende instellingen, is AML domeinspecifiek. Dit wil zeggen dat de taal nuttig is voor een specifiek doel of applicaties kan maken die op een specifiek platform draaien. Als zodanig kan de taal geen zelfstandige programma’s, interfaces en applicaties maken.

BOScoin Trust-contracten

Dit is een andere alternatieve oplossing die Web Ontology Language (WOL) gebruikt om slimme contracten te creëren. BOScoin gebruikt altijd Timed Automata Language (TAL) om het vertrouwen en de robuustheid van de contracten te vergroten. In het bijzonder creëert de taal trustcontracten die het creëren van gedecentraliseerde applicaties (DApps) vergemakkelijken. In wezen moedigt het slimme contract het vertrouwde karakter van DApps aan.

Kom meer te weten: Wat is dApp?

Net als bij DAML is BOScoin niet Turing-compleet. In plaats daarvan zijn de talen beslissend, wat hen onderscheidt van de Turing-Complete aard van Ethereum Smart Contracts. In tegenstelling tot slimme Ethereum-contracten, gebruiken BOScoin Trust-contracten een uitgebreide en meer ingesloten ontologie-taal. Dit komt met name doordat het team een ​​platform moet creëren waarop ontwikkelaars betrouwbare contracten kunnen bedenken.

Wat houdt de toekomst in voor DAML?

Zoals de zaken er nu voorstaan, is de blockchain-omgeving overspoeld met slimme contracttalen. De vele talen maken het moeilijk voor blockchaintoepassingen om samen te werken, waardoor de massale acceptatie van blockchain wordt vertraagd.

Interessant is dat het Hyperledger-platform alleen al meer dan zes talen gebruikt, waaronder DAML, dat slimme contracten creëert in Hyperledger Sawtooth.

Het abstractievermogen van de DAML-runtime helpt echter bij het oplossen van een groot aantal bugproblemen in slimme contracten die over de hele linie zijn gemaakt. Het maakt ook DAML-applicaties overdraagbaar naar andere platforms. Naast het platform van Digital Asset is DAML-ondersteuning aangekondigd voor VMware Blockchain en Sawtooth, wat aangeeft dat andere platforms het zouden kunnen gebruiken.

Daarom is het waarschijnlijk dat de DAML-taal de komende decennia de universele slimme contracttaal kan worden.

Als je meer wilt weten over vergelijkbare fundamentele onderwerpen met betrekking tot blockchain-technologie, bekijk dan zeker onze gratis blockchain-cursus voor bedrijven.

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