Smart kontrakt - Smart contract

En smart kontrakt er et dataprogram eller en transaksjonsprotokoll som er ment å automatisk utføre, kontrollere eller dokumentere juridisk relevante hendelser og handlinger i henhold til vilkårene i en kontrakt eller en avtale. Målet med smarte kontrakter er å redusere behovet hos pålitelige mellommenn, voldgift og tvangskostnader, tap av svindel, samt å redusere ondsinnede og utilsiktede unntak.

Salgsautomater nevnes som den eldste teknologien som tilsvarer smart kontraktimplementering. 2014 er stortingsmeldingen om kryptovaluta Ethereum beskriver Bitcoin-protokollen som en svak versjon av smart kontrakten konseptet som er definert av en datamaskin vitenskapsmann, advokat og kodeknekkeren Nick Szabo . Siden Ethereum støtter forskjellige kryptokurver skriptspråk som gir mulighet for mer avanserte smarte kontrakter mellom upålitelige parter. Smarte kontrakter bør skilles fra smarte juridiske kontrakter . Sistnevnte refererer til en tradisjonelt naturlig språk juridisk bindende avtale som har visse vilkår uttrykt og implementert i maskinlesbar kode.

Etymologi

Smarte kontrakter ble først foreslått på begynnelsen av 1990 -tallet av Nick Szabo , som skapte begrepet og brukte det til å referere til "et sett med løfter, spesifisert i digital form, inkludert protokoller som partene utfører på disse løftene". I 1998 ble begrepet brukt til å beskrive objekter i tjenestelaget for rettighetshåndtering av systemet The Stanford Infobus , som var en del av Stanford Digital Library Project .

Juridisk status for smarte kontrakter

En smart kontrakt utgjør ikke nødvendigvis en gyldig bindende avtale ved lov. Noen juridiske akademikere hevder at smarte kontrakter ikke er juridiske avtaler, men snarere midler til å utføre forpliktelser som følger av andre avtaler, for eksempel teknologiske midler for automatisering av betalingsforpliktelser eller forpliktelser som består i overføring av tokens eller kryptokurver. I tillegg har andre forskere hevdet at programmeringsspråks imperative eller deklarative karakter kan påvirke den juridiske gyldigheten av smarte kontrakter.

Siden lanseringen av Ethereum blockchain i 2015 har begrepet "smart kontrakt" blitt mer spesifikt brukt mot begrepet beregning av generelle formål som finner sted på en blockchain eller distribuert hovedbok. Det amerikanske nasjonale instituttet for standarder og teknologi beskriver en "smart kontrakt" som en "samling av kode og data (noen ganger referert til som funksjoner og tilstand) som distribueres ved hjelp av kryptografisk signerte transaksjoner på blockchain -nettverket". I denne tolkningen, for eksempel brukt av Ethereum Foundation eller IBM, er en smart kontrakt ikke nødvendigvis relatert til det klassiske konseptet med en kontrakt, men kan være et hvilket som helst dataprogram. En smart kontrakt kan også betraktes som en sikret lagret prosedyre, da dens utførelse og kodifiserte effekter som overføring av verdi mellom parter håndheves strengt og ikke kan manipuleres etter at en transaksjon med spesifikke kontraktsdetaljer er lagret i en blockchain eller distribuert hovedbok . Det er fordi den faktiske gjennomføringen av kontrakter kontrolleres og kontrolleres av plattformen, ikke av noen vilkårlige programmer på serversiden som kobles til plattformen.

I 2017, ved å implementere dekretet om utvikling av digital økonomi , har Hviterussland blitt det første landet noensinne som har legalisert smarte kontrakter. Hviterussisk advokat Denis Aleinikov anses å være forfatteren av et smart kontraktskonsept som ble introdusert ved dekretet.

I 2018 sa en amerikansk senatrapport : "Selv om smarte kontrakter kan høres nye ut, er begrepet forankret i grunnleggende kontraktsrett. Vanligvis dømmer rettssystemet kontraktsmessige tvister og håndhever vilkår, men det er også vanlig å ha en annen voldgiftsmetode, spesielt for internasjonale transaksjoner. Med smarte kontrakter håndhever et program kontrakten som er innebygd i koden. " En rekke stater i USA har vedtatt lovgivning om bruk av smarte kontrakter, for eksempel Arizona, Nevada, Tennessee og Wyoming. Og i april 2020 vedtok Iowas representanthus et lovforslag som lovlig anerkjente smarte kontakter i staten.

I april 2021 publiserte UK Jurisdiction Taskforce (UKJT) Digital Dispute Resolution Rules (Digital DR Rules) for å gjøre det mulig å raskt løse blockchain og krypto juridiske tvister i Storbritannia.

Arbeid

I likhet med en verdioverføring på en blockchain, skjer distribusjon av en smart kontrakt på en blockchain ved å sende en transaksjon fra en lommebok for blockchain. Transaksjonen inkluderer den kompilerte koden for den smarte kontrakten samt en spesiell mottakeradresse. Denne transaksjonen må deretter inkluderes i en blokk som legges til blockchain, på hvilket tidspunkt smartkontraktens kode vil utføres for å etablere den opprinnelige tilstanden til smartkontrakten. Bysantinske feiltolerante algoritmer sikrer den smarte kontrakten på en desentralisert måte fra forsøk på å tukle med den. Når en smart kontrakt er implementert, kan den ikke oppdateres. Smarte kontrakter på en blockchain kan lagre vilkårlig tilstand og utføre vilkårlige beregninger. Sluttklienter samhandler med en smart kontrakt gjennom transaksjoner. Slike transaksjoner med en smart kontrakt kan påberope seg andre smarte kontrakter. Disse transaksjonene kan resultere i å endre staten og sende mynter fra en smart kontrakt til en annen eller fra en konto til en annen.

Den mest populære blockchain for å kjøre smarte kontrakter er Ethereum . På Ethereum skrives smarte kontrakter vanligvis på et Turing-komplett programmeringsspråk kalt Solidity , og kompileres til en lavt nivå bytekode som skal utføres av Ethereum Virtual Machine . På grunn av stoppeproblemet og andre sikkerhetsproblemer, anses Turing-fullstendighet som en risiko og unngås bevisst av språk som Vyper . Noen av de andre programmeringsspråkene for smarte kontrakter som mangler Turing-fullstendighet, er Enkelhet, Scilla, Ivy og Bitcoin Script. Imidlertid viste målinger ved hjelp av vanlige uttrykk at bare 35,3% av 53,757 Ethereum smarte kontrakter inkluderte rekursjoner og sløyfer - konstruksjoner knyttet til stoppeproblemet.

Flere språk er designet for å muliggjøre formell verifisering : Bambus, IELE, Enkelhet, Michelson (kan verifiseres med Coq ), Likviditet (kompilerer til Michelson), Scilla, DAML og Pakt.

Viktige eksempler på blockchain -plattformer som støtter smarte kontrakter inkluderer følgende:
Navn Beskrivelse
Bitcoin Tilbyr et Turing-ufullstendig skriptspråk som gjør det mulig å opprette egendefinerte smarte kontrakter på toppen av Bitcoin som multisignaturkontoer , betalingskanaler, escrows , tidslåser , atomkryssing , orakler eller flerpartilotteri uten operatør.
Cardano En blockchain -plattform for smarte kontrakter, ved bruk av bevis på innsats
Ethereum Implementerer et Turing-komplett språk på blockchain, et fremtredende rammeverk for smart kontrakt
EOS.IO En blockchain -plattform for smarte kontrakter
Tezos En blockchain-plattform som endrer sitt eget sett med regler med minimal forstyrrelse av nettverket gjennom en kjedestyringsmodell

Prosesser på en blockchain er generelt deterministiske for å sikre bysantinsk feiltoleranse. Likevel krever virkelig bruk av smarte kontrakter, for eksempel lotterier og kasinoer , sikker tilfeldighet. Faktisk reduserer blockchain -teknologien kostnadene for å gjennomføre et lotteri og er derfor gunstig for deltakerne. Tilfeldighet på blockchain kan implementeres ved å bruke blokk -hash eller tidsstempler, orakler, forpliktelsesordninger, spesielle smarte kontrakter som RANDAO og Quanta samt sekvenser fra blandet strategi Nash -likevekt .

applikasjoner

I 1998 foreslo Szabo at smart kontraktinfrastruktur kan implementeres ved replikerte eiendomsregistre og kontraktutførelse ved bruk av kryptografiske hashkjeder og bysantinsk feiltolerant replikasjon. Askemos implementerte denne tilnærmingen i 2002 ved å bruke Scheme (senere legge til SQLite ) som kontraktskriptspråk.

Ett forslag om bruk av bitcoin for replikert eiendomsregistrering og kontraktutførelse kalles "fargede mynter". Replikerte titler for potensielt vilkårlige eiendomsformer, sammen med replikert kontraktutførelse, implementeres i forskjellige prosjekter.

Fra 2015 eksperimenterte UBS med "smarte obligasjoner" som bruker bitcoin- blokkeringen der betalingsstrømmer hypotetisk kan være fullt automatisert, og skaper et selvbetalt instrument.

Arvelønsker kan hypotetisk implementeres automatisk ved registrering av dødsattest ved hjelp av smarte kontrakter. Fødselsattester kan også fungere sammen med smarte kontrakter.

Smarte kontrakter kan også brukes til å håndtere eiendomstransaksjoner (dvs. via Propy , ...) og blockchain -løsninger sprer seg også på tittelfeltet og i det offentlige registeret .

Smarte kontrakter kan også brukes i arbeidskontrakter , spesielt midlertidige arbeidskontrakter, og tilbyr fordeler for både arbeidsgiver og arbeidstaker.

Sikkerhetsproblemer

En blockchain-basert smart kontrakt er synlig for alle brukere av blockchain. Dette fører imidlertid til en situasjon der feil, inkludert sikkerhetshull, er synlige for alle, men kanskje ikke blir løst raskt. Et slikt angrep, vanskelig å fikse raskt, ble vellykket utført på The DAO i juni 2016, og tappet omtrent 50  millioner dollar på Ether den gangen, mens utviklere forsøkte å komme frem til en løsning som ville oppnå konsensus. DAO -programmet hadde en tidsforsinkelse på plass før hackeren kunne fjerne midlene; en hard gaffel med Ethereum -programvaren ble gjort for å tvinge tilbake midlene fra angriperen før fristen gikk ut. Andre høyprofilerte angrep inkluderer angrepene Parity multisignature wallet og et heltall underflow/overflow-angrep (2018), til sammen over 184  millioner dollar.

Spørsmål i Ethereum smarte kontrakter inkluderer spesielt uklarheter og enkle, men usikre konstruksjoner i sitt kontraktspråk Solidity, compiler bugs, Ethereum Virtual Machine bugs, angrep på blockchain-nettverket, immutability of bugs og at det ikke er noen sentral kildedokumentasjon kjente sårbarheter, angrep og problematiske konstruksjoner.

Forskjell fra smarte juridiske kontrakter

Smarte juridiske kontrakter er forskjellige fra smarte kontrakter. Som nevnt ovenfor er en smart kontrakt ikke nødvendigvis lovlig håndhevbar som en kontrakt. På den annen side har en smart juridisk kontrakt alle elementene i en lovlig håndhevbar kontrakt i jurisdiksjonen der den kan håndheves, og den kan håndheves av en domstol. Selv om hver smart juridisk kontrakt vil inneholde noen elementer i en smart kontrakt, vil ikke hver smart kontrakt være en smart juridisk kontrakt.

Det er ingen formell definisjon av en smart juridisk kontrakt i den juridiske industrien.

En Ricardiansk kontrakt er en type smart juridisk kontrakt.

Se også

Referanser