DAML – Språket for smarte kontrakter

Denne artikkelen gir en helhetlig oversikt over DAML – språket med åpen kildekode for smarte kontrakter. Du lærer også fordelene med DAML og sammenligning med andre språk.

Etter hvert som blockchain-teknologien utvikler seg, er det behov for forbedrede systemer som brukerne opererer og samhandler gjennom. Allerede er det mange forbedringer som skjer spesielt da bedriftens blockchain fortsetter å bli populær. Blant den siste utviklingen i det raskt skiftende blockchain-miljøet er DAML.

Siden begynnelsen av internett er data-uforanderlighet en eiendom som unngikk mange utviklere. Som sådan utnyttet dårlige aktører innen det elektroniske økosystemet muligheten til å endre data for å begå forskjellige forbrytelser.

Blockchain viste seg imidlertid å være viktigere da utviklere demonstrerte muligheten til å utføre transaksjoner i et miljø uten en sentral aktør som det skjer i den eldre økonomiske verdenen..

I tillegg til disse offentlige hovedbøkene, har et stort marked for private, tillatte hovedbøker også tatt av. Enten kontrollert av et lovlig autorisert sentralt parti eller et konsortium av gjensidig mistroende aktører som har et felles mål, gir private reskontorer samme fremtidssikring og uforanderlighet som offentlige reskontorer med den ekstra muligheten til å opprettholde personvernet.

Enten en gitt hovedbok er offentlig eller privat, er den anvendelsesklassen som vanligvis kalles smarte kontrakter, og som understøtter muligheten for jevnaldrende i et blockchain-økosystem til å samhandle med personverngarantier..

Denne artikkelen vil diskutere senere i detalj hva smarte kontrakter er og deres betydning i sammenheng med DAML.

Meld deg på nå:Enterprise Blockchains Fundamentals Course

Hva er DAML?

I tekniske termer står DAML for Digital Asset Modelling Language (DAML full form) – et kodespråk for Semantic Web. Imidlertid kan teknisk sjargong forvirre. Så for enklere DAML-mening, tenk på det som åpen kildekode for smarte kontrakter.

I hovedsak er DAML et smart kontraktspråk som gjør det mulig for utviklere å nøyaktig kode flerpartsavtaler for en rekke blockchain, DLT eller til og med standard databasearkitekturer..

Opprinnelig av Digital Asset, puster nytt liv i denne applikasjonssjangeren (smarte kontrakter) som gjør det mulig for jevnaldrende å handle i et miljø av tillit. I utgangspunktet er dette et programmeringsspråk som henter inspirasjon fra Haskell og som letter opprettelsen av smarte kontrakter for distribuerte arbeidsflyter.

Spesielt gjør språket utviklere i stand til å kutte ned mengden tid på å håndtere muttere og bolter i kryptering og blockchain. I stedet fokuserer utviklerne tiden sin på å utvikle programmeringsløsninger for forretningsprosesser.


DAML – Språk for smarte kontrakter ganske enkelt forklart

DAML Infographic

Egenskaper for DAML

Gir et middel for å skrive kontrakter

Som andre språk som programmerere bruker for å skrive smarte kontrakter, gjør DAML det mulig for jevnaldrende å lage og respektere avtaler. Spesielt beskriver språket prosessen med å danne en kontrakt, de viktigste partene i avtalen og partene med delegerte rettigheter til kontrakten.

Foruten å definere dannelsesprosessen til en kontrakt, tar språket seg av koding av ideer som kontrakter, rettigheter, parter, autorisasjon og forpliktelser ved at utvikleren bare trenger å forholde seg til logikken i deres virksomhet; noen tunge løft relatert til ting som hashing i kryptografi, og konsensusalgoritmer trekkes bort og håndteres av kjøretiden.

Dette direkte uttrykket av kontraktselementer som morsmålsfunksjoner innebærer at DAML-arkitekturen kan kontrollere systemkoden for problemer automatisk og tidligere i utviklingssyklusen. Videre har systemet muligheten til å resonnere alene om forretningslogikken.

Det er åpen kildekode

4. april 2019 kunngjorde Digital Asset, firmaet bak DAML, at kildekoden for programmet ville være fritt tilgjengelig for alle utviklere. Denne åpen sourcing av prosjektet betydde at forskjellige parter kunne bruke DAML til å modellere og utføre kontrakter gjennom blockchain-teknologi uten frykt for leverandørinnlåsing..

I følge kunngjøringen vil utviklere og andre interesserte få tilgang til DAML-språket, kildekoden, Software Development Kit (SDK) og kjøretid under den meget tillatelige Apache 2.0-lisensen..

Brukbar i et privat utførelsesmiljø

En mangel på offentlig distribuerte hovedbøker er at hver node på plattformen kan se dataene som er til stede i smarte kontrakter. Som sådan synes jevnaldrende som trenger å holde detaljene i avtalen privat, det umulig å handle via et offentlig blockchain-nettverk.

Spesielt er dette en stor snublestein som forhindrer fullstendig adopsjon av enterprise blockchain. Dette er grunnen til, som nevnt tidligere, at private DLT-er har økt i popularitet.

Kombinasjonen av DAML og en privat DLT-plattform gir et middel for denne saken. Spesielt teamet bak dette uttrykksfulle språket optimaliserte DAML ved at det fungerer perfekt i et privat eksekveringsmiljø. Dette vil si at informasjon som blir ført i kontraktene forblir privat slik at bare autoriserte parter har tilgang til den.

Lesbar av mennesker og maskiner

DAML er revolusjonerende i mer enn bare en forstand. Spesielt er utformingen av systemet på en måte som maskiner og mennesker kan forstå informasjonen i kontrakten.

Implikasjonen av denne muligheten er enorm. De profesjonelle som er involvert i dannelsen av en kontrakt vil ha lett for å komme seg rundt detaljene fordi DAML er veldig menneskelig.

For eksempel kan en advokat lett forstå betydningen av en kontrakt ved å lese og vurdere DAML-kodingen av den kontrakten. Samtidig gir DAML den rette grad av spesifisitet for utviklere å beregne viktige aspekter av en kontrakt som kontantstrøm, kundeprofiler og risikoeksponering.

Hvordan fungerer DAML? En rask funksjonell DAML-opplæring

DAML fungerer omtrent som alle andre smarte kontraktsspråk. Spesielt fungerer språket på to hovednivåer der det er språket i seg selv og kjøretiden.

Språk er som hoveddelen av teknologien. Dette er det som gjør det mulig for utviklere å gjøre alt arbeidet de trenger å gjøre når det gjelder å skrive avtaler og legge til rette for transaksjoner.

Fordi det er veldig rene og abstrakte APIer mellom språket og kjøretiden, kan kjøretiden tilpasses til å kjøres på en rekke blockchain, DLT og andre plattformer.

Dette gir fleksibilitet for DAML-applikasjoner som kan porteres på tvers av plattformer som gir støtte for DAML. Dette er analogt med en JVM som tillater Java-applikasjoner å kjøre uendret på alle plattformer som støtter JVM.

Etter installasjon av Software Development Kit (SDK), trenger utviklere bare å kjøre noen få spesifikke filer slik at enheten kan være i stand til å støtte operasjonene.

Datamodellering

En av de viktigste og viktigste oppgavene man trenger å utføre når man skriver en smart kontrakt er modellering av data som skal brukes med den kontrakten. Normalt er datamodelleringsfunksjonen komplisert og kan føre til svært komplekse datastrukturer avhengig av hvor kompliserte kontraktene er og hvor mange parter som er involvert..

I motsetning til andre smarte kontraktspråk, gjør DAML det mulig for utviklere å spesifisere dataskjemaet deres på farta, direkte legge det inn i kontraktens utførelsesspråk. Dette forenkler i stor grad oppgaven med datamodellering og reduserer sjansen for at feil innføres på grunn av uoverensstemmelser mellom dataskjemaet og applikasjonslogikken.

Les mer: DAML Opplæring: Komme i gang med DAML

Mal disposisjon struktur

DAML-utvikleren spesifiserer en kontrakt gjennom en enkel og veldefinert struktur kalt en “mal”, som inneholder både datamodellen og parametrene til kontrakten..

Parametrene inkluderer for eksempel underskriverne av en gitt kontrakt (de deltakerne som må godkjenne handlinger på kontrakten), og observatørene (de deltakerne i avtalen som bare er der for å se kontrakten og hva den gjør, men ikke er autorisert å ta handlinger). Et annet aspekt ved malstrukturen inkluderer avtalen, som i utgangspunktet er detaljene i avtalen og en representasjon av hva kontrakten handler om.

Maler kan spesifisere en eller flere forutsetninger som sikrer at kontrakten bare opprettes hvis en viss terskel oppnås av skaperen av kontrakten. Det siste elementet i malstrukturen er “valg”. Dette definerer rekkevidden av valg som utføreren av kontrakten kan utøve.

Valgstruktur

En hovedstruktur i malen er valgstrukturen, som beskriver valgene som kontraktspartene kan velge når det gjelder malen..

Valgsstrukturen identifiserer kontrolleren eller den parten som er ansvarlig for å utøve valget. Andre elementer i denne strukturen inkluderer forbruksmateriell, et navn, en returtype, valgargumenter og et valgorgan.

Les mer: DAML Training Tutorial

Sammenligning av DAML og smarte kontrakter

Forstå smarte kontrakter

Som tidligere forklart er smarte kontrakter en viktig komponent i den distribuerte hovedboksteknologien (DLT). I offentlige blokkjeder kan to anonyme parter opprette en smart kontrakt for å tilrettelegge for en viss transaksjon, men dataene forblir lagret på den offentlige hovedboken. Dette vil si at alle deltakere i nettverket kan se detaljene i avtalen for å fastslå ektheten. Som sådan er håndhevelse av tillit mulig.

I private eller tillatte DLT-er er alle parter kjent, men bare de partene som er involvert i en gitt transaksjon har tilgang til dataene til transaksjonen. Tillit opprettholdes fortsatt gjennom mekanismer som lar deltakerne validere alle transaksjoner de har tilgang til.

Smarte kontrakter har kjennetegn som også gjør dem revolusjonerende.

For eksempel kan smarte kontrakter ha en selvutførende mekanisme som starter i bevegelse fra angitte tidsfrister (også kalt utløsende hendelser). I offentlige nettverk kan enhver interessert analysere aktiviteten til smarte kontrakter slik at en eventuell avvik kan identifiseres.

Også handelsmenn kan bruke smarte kontrakter for å få pulsen på markedet. Dette inkluderer muligheten til å forutsi trender og usikkerheter i markedet.

Smarte kontrakter har en rekke fordeler som inkluderer uforanderlighet av data. I grunnleggende termer refererer uforanderlighet til umuligheten av dataendring fra sin opprinnelige tilstand. Dette vil si at dataene ikke kan slettes eller endres på noen tenkelig måte.

Uforanderligheten til dataene gjør at smarte kontrakter alltid er nøyaktige. For det tredje, i noen tilfeller gjør smarte kontrakter det mulig for jevnaldrende å handle direkte uten behov for en mellommann. Derfor er slike transaksjoner veldig billige, noen ganger koster de ikke en krone.

Egenskaper for smarte kontrakter

Bevis på forpliktelser og rettigheter

En kritisk funksjon som smarte kontrakter må ha, er at man ikke trenger å gjøre transaksjoner uten å være komfortabel med hele prosessen. I hovedsak er det helt frivillig å godta å inngå en kontrakt, men konsekvensene er obligatoriske. Derfor må brukeren på en pålitelig og dyktig måte vurdere de fremtidige implikasjonene av kontrakten man signerer på. Den smarte kontrakten må garantere at dette alltid er tilfelle, noe det kan være veldig vanskelig å få rett.

Verifisering av transaksjonsgyldighet

Som tidligere diskutert, kan informasjon om detaljene i kontrakten lett spores fra hovedboken. Derfor oppfyller dette kravet til kontrakter der man kan verifisere ektheten og gyldigheten.

Les mer:Smarte kontraktsbrukstilfeller

Sammenligning med DAML

I hovedsak er det åpenbart fra det foregående at DAML produserer en delmengde av smarte kontrakter ved at man er i stand til å rette opp manglene på eksisterende språk. Som tidligere diskutert, gjør det faktum at smarte kontrakter i offentlige nettverk lagrer dataene sine på offentlige hovedbøker, smarte kontrakter lite attraktive for konfidensielle transaksjoner..

Imidlertid sikrer DAML, når det brukes sammen med private nettverk, at bare de partene som godkjenner kontrakten, sammen med de med delegert tillatelse til å se detaljene, har tilgang til kontraktsinformasjonen. Dette er en av årsakene til at kunnskapsrike observatører mener dette språket er drapsmannfunksjonen for finansinstitusjoner og andre som krever konfidensialitet..

Ikke desto mindre skiller DAML seg som et språk for smarte kontrakter fra tradisjonelle smarte kontrakter når det gjelder deling av skriftlige avtaler. Smarte kontrakter språk som Solidity deler informasjonen offentlig, derav har hele nettverket tilgang til detaljene. Derfor debatterer folk om DAML vs soliditet.

Tvert imot er avtaler skrevet i DAML bare tilgjengelige på et behov for å vite. Dette vil si at uønskede tredjeparter ikke har tilgang til detaljene. Spesielt bruker språket et ekstra sikkerhetslag der dataene ikke engang er tilgjengelige for uønskede parter.

Fordeler med DAML

Åpen kilde

Blockchain-plattformen kan være bare 10 år gammel, men den vokser raskt. I dag revolusjonerer teknologien næringer til enestående hastigheter. Årsaken til denne raske veksten er det faktum at blockchain er åpen kildekode, og enhver utvikler kan tukle med det for å komme med den beste løsningen for et bestemt problem..

Interessant nok er DAML også åpen kildekode siden 4. april 2019. Dette vil si at utviklere har breddegraden til å endre DAML-koden for å skape de mest innovative løsningene når det gjelder smarte kontrakter og blockchain-økosystemet generelt.

Les mer:Er Blockchain fremtiden?

Aktiverer private transaksjoner

Tradisjonelle smarte kontraktsspråk inneholder ikke innfødte funksjoner med robuste begrensninger der avtaler kan gjøres private. I hovedsak er informasjonen i avtalene tilgjengelig for alle deltakere, inkludert uønskede tredjeparter.

Som diskutert tidligere, inneholder DAML imidlertid et ekstra sikkerhetslag der slik informasjon kun er tilgjengelig for autoriserte parter.

Fremskynder Enterprise Blockchain Adoption

Når blockchain-overganger til virksomhetsbruk er et av problemene som holder teknologien tilbake, distribuert natur av informasjon. Spesielt, som diskutert tidligere, er det allerede innsats som å opprette private blockchain-plattformer der alle deltakere må skaffe seg tillatelse før innreise.

Imidlertid står bedrifter fortsatt overfor trusselen om at konkurrenter får se strategien. Imidlertid er oppføringen av DAML en potensiell løsning på det problemet. Spesielt begrenser språket avtalsdata til bare de nodene som er autorisert til å få tilgang til det, og informasjon om avtaler er ikke tilgjengelig for andre brukere. Som sådan har bedrifter ingen unnskyldning, men å hoppe om bord og utnytte potensialet for blockchain.

Les mer: Bedrifter som implementerer Blockchain-teknologi

Innebygd støtte for å validere modellkorrekthet

Med tanke på blockchain, er de fleste operasjoner og modeller eksperimentelle og nye. Derfor er det behov for konstant validering av modellene. Heldigvis kommer DAML med innebygd støtte der validering av modellens korrekthet er automatisk.

Lagringsabstraksjon

DAML-kjøretiden er robust og utfører viktige operasjoner for å gjøre språket bedre enn de eksisterende alternativene. For eksempel trekker kjøretiden ut detaljene i hovedboken ved at utvikleren kan fokusere på logikken i kontrakten.

Sammenligning av DAML med andre alternative smarte kontraktspråk

Blockchain-økosystemet vokser fortsatt, og det innebærer at det ikke er noen standard operasjonssystemer. Dette betyr også at det ikke er noe enkelt språk som dominerer i skrivingen av smarte kontrakter. Som sådan er det mange andre alternativer bortsett fra DAML.

DAML vs Solidity

Solidity er et av de aller første språkene for å skrive Ethereum-smarte kontrakter som fikk popularitet. Denne populariteten var et resultat av at Ethereum blockchain-plattformen var et foretrukket nettverk for smarte kontrakter.

Som programmeringsspråk dominerer Solidity Ethereum-plattformen. Dette språket bruker syntaks og skript på høyt nivå som ligner på JavaScript. Spesielt er språket avgjørende for forbedringen av Ethereum Virtual Machine. Flere andre private blokkjeder som Hyperledger Burrow og Monax bruker språket for primær utvikling.

Videre brukte Ethereum-utviklerne Solidity til å skrive versjon 0.4.0 av programvaren. Det fine med dette språket er at det ikke bryter funksjonaliteten til blockchain-nettverket.

I tillegg er språket avgjørende for opprettelsen av smarte kontrakter som kjører på Ethereum virtual machine (EVM). Språket forbedrer applikasjonenes evne til å forsterke forretningslogikken som ligger i smarte kontrakter. Som et resultat etterlater transaksjoner i Ethereum-økosystemet en autoritativ oversikt over sine transaksjoner for å lette verifiserbarheten.

I motsetning til DAML hvis språk ligner Haskell, bruker Solidity en syntaks som er nær ECMAScript. Imidlertid har Solidity ekstra evner som variadiske returtyper og muligheten for statisk skriving. Dessuten støtter kontrakter skrevet i Solidity flere arv som er tilrettelagt med C3-linearisering.

Actulus modelleringsspråk

Siden blockchain begynte å ta virksomhetsretningen, kom ulike økonomiske domenespesifikke språk opp for å løse noen problemer som ble identifisert i de opprinnelige språkene.

I tillegg til DAML og Solidity, kom Actulus Modelling Language (AML) opp for å løse beregningsproblemer i pensjons- og forsikringssektoren. Spesielt er AML et flerselskapsforetak som inkluderer Edlund A / S og IT-universitetet i København.

I motsetning til språk som Java og blant annet C / C ++ som vanligvis er anvendelige i forskjellige innstillinger, er AML domenespesifikk. Dette vil si at språket er nyttig for et bestemt formål eller kan opprette applikasjoner som kjører på en bestemt plattform. Som sådan kan ikke språket lage frittstående programmer, grensesnitt og applikasjoner.

BOScoin tillitskontrakter

Dette er en annen alternativ løsning som bruker Web Ontology Language (WOL) til å lage smarte kontrakter. BOScoin bruker alltid Timed Automata Language (TAL) for å øke tilliten og robustheten til kontraktene. Spesielt skaper språket tillitskontrakter som letter etableringen av desentraliserte applikasjoner (DApps). I hovedsak styrker den smarte kontrakten den pålitelige naturen til DApps.

Lære mer: Hva er dApp?

I likhet med DAML er BOScoin ikke Turing-Complete. I stedet er språkene avgjørbare, som skiller dem fra Turing-Complete-naturen til Ethereum Smart Contracts. I motsetning til smarte kontrakter fra Ethereum, bruker BOScoin Trust Contracts et omfattende og mer inneholdt ontologispråk. Spesielt skyldes dette behovet for teamet å lage en plattform der utviklere kan komme med pålitelige kontrakter.

Hva holder fremtiden for DAML?

Slik ting ser ut, er blockchain-miljøet full av smarte kontraktspråk. De mange språkene gjør det vanskelig for blockchain-applikasjoner å samarbeide, og dermed forsinke masseadopsjonen av blockchain.

Interessant, Hyperledger-plattformen alene bruker over seks språk, inkludert DAML, som skaper smarte kontrakter i Hyperledger Sawtooth.

Imidlertid hjelper abstraksjonsevnen til DAML-kjøretiden til å løse en rekke feilproblemer i smarte kontrakter opprettet over hele linja. Det gjør også DAML-applikasjoner bærbare til andre plattformer. I tillegg til Digital Assets plattform, er DAML-støtte kunngjort for VMware Blockchain og Sawtooth, noe som indikerer at andre plattformer kan vedta det.

Derfor er det sannsynlig at DAML-språket kan bli det universelle smarte kontraktsspråket de neste tiårene.

Hvis du vil lære mer om lignende grunnleggende emner angående blockchain-teknologi, må du sjekke ut vårt gratis blockchain-kurs for bedrifter.

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