Smart kontrakt - Smart contract

En smart kontrakt er et computerprogram eller en transaktionsprotokol, der har til formål automatisk at udføre, kontrollere eller dokumentere juridisk relevante begivenheder og handlinger i henhold til vilkårene i en kontrakt eller en aftale. Formålet med smarte kontrakter er at reducere behovet for betroede mellemmænd, voldgift og håndhævelsesomkostninger, tab af bedrageri samt reduktion af ondsindede og utilsigtede undtagelser.

Automater nævnes som det ældste stykke teknologi, der svarer til smart kontraktimplementering. 2014's hvidbog om kryptokurrency Ethereum beskriver Bitcoin -protokollen som en svag version af det smarte kontraktkoncept som defineret af datalog, advokat og kryptograf Nick Szabo . Siden Ethereum understøtter forskellige kryptokurver scriptsprog, der giver mulighed for mere avancerede smarte kontrakter mellem ikke -betroede parter. Smarte kontrakter bør skelnes fra smarte juridiske kontrakter . Sidstnævnte refererer til en traditionelt naturligt sprog juridisk bindende aftale, der har visse vilkår udtrykt og implementeret i maskinlæsbar kode.

Etymologi

Smarte kontrakter blev først foreslået i begyndelsen af ​​1990'erne af Nick Szabo , der opfandt udtrykket og brugte det til at referere til "et sæt løfter, specificeret i digital form, herunder protokoller, inden for hvilke parterne opfylder disse løfter". I 1998 blev udtrykket brugt til at beskrive objekter i rettighedsstyringsservicelaget i systemet The Stanford Infobus , som var en del af Stanford Digital Library Project .

Juridisk status for smarte kontrakter

En smart kontrakt er ikke nødvendigvis en gyldig bindende aftale ved lov. Nogle juridiske akademikere hævder, at smarte kontrakter ikke er juridiske aftaler, men snarere midler til at udføre forpligtelser, der stammer fra andre aftaler, såsom teknologiske midler til automatisering af betalingsforpligtelser eller forpligtelser, der består i overførsel af tokens eller kryptokurver. Derudover har andre forskere hævdet, at programmeringssprogs imperative eller deklarative karakter kan påvirke den juridiske gyldighed af smarte kontrakter.

Siden lanceringen af Ethereum blockchain i 2015 er udtrykket "smart kontrakt" mere specifikt blevet anvendt i retning af begrebet almen beregning, der finder sted på en blockchain eller distribueret hovedbog. Det amerikanske nationale institut for standarder og teknologi beskriver en "smart kontrakt" som en "samling af kode og data (undertiden omtalt som funktioner og tilstand), der implementeres ved hjælp af kryptografisk signerede transaktioner på blockchain -netværket". I denne fortolkning, f.eks. Brugt af Ethereum Foundation eller IBM, er en smart kontrakt ikke nødvendigvis relateret til det klassiske koncept for en kontrakt, men kan være enhver form for computerprogram. En smart kontrakt kan også betragtes som en sikret lagret procedure, da dens udførelse og kodificerede effekter som overførsel af en vis værdi mellem parter håndhæves strengt og ikke kan manipuleres, efter at en transaktion med specifikke kontraktoplysninger er gemt i en blockchain eller distribueret hovedbog . Det skyldes, at den faktiske udførelse af kontrakter kontrolleres og revideres af platformen, ikke af nogen vilkårlige programmer på serversiden, der opretter forbindelse til platformen.

I 2017, ved at gennemføre dekret om udvikling af digitale økonomi , Hviderusland er blevet det første nogensinde land at legalisere smarte kontrakter. Hviderussisk advokat Denis Aleinikov anses for at være forfatter til et smart kontrakt juridisk koncept indført ved dekretet.

I 2018 sagde en amerikansk senatsrapport : "Selvom smarte kontrakter måske lyder nye, er konceptet forankret i grundlæggende kontraktret. Normalt dømmer retssystemet kontraktlige tvister og håndhæver vilkår, men det er også almindeligt at have en anden voldgiftsmetode, især for internationale transaktioner. Med smarte kontrakter håndhæver et program den kontrakt, der er indbygget i koden. " En række stater i USA har vedtaget lovgivning om brug af smarte kontrakter, såsom Arizona, Nevada, Tennessee og Wyoming. Og i april 2020 vedtog Iowas Repræsentanternes Hus et lovforslag, der lovligt anerkender smarte kontakter i staten.

I april 2021 offentliggjorde UK Jurisdiction Taskforce (UKJT) Digital Dispute Resolution Rules (Digital DR Rules) for at hjælpe med at muliggøre hurtig løsning af blockchain og krypto juridiske tvister i Storbritannien.

Arbejde

I lighed med en værdioverførsel på en blockchain sker implementering af en smart kontrakt på en blockchain ved at sende en transaktion fra en tegnebog til blockchain. Transaktionen inkluderer den kompilerede kode for den smarte kontrakt samt en særlig modtageradresse. Denne transaktion skal derefter inkluderes i en blok, der føjes til blockchain, på hvilket tidspunkt smartkontraktens kode vil blive udført for at fastslå den oprindelige tilstand af den smarte kontrakt. Byzantinske fejltolerante algoritmer sikrer den smarte kontrakt på en decentral måde fra forsøg på at manipulere med den. Når en smart kontrakt er implementeret, kan den ikke opdateres. Smarte kontrakter på en blockchain kan gemme vilkårlig tilstand og udføre vilkårlige beregninger. Slutklienter interagerer med en smart kontrakt gennem transaktioner. Sådanne transaktioner med en smart kontrakt kan påberåbe sig andre smarte kontrakter. Disse transaktioner kan resultere i at ændre staten og sende mønter fra en smart kontrakt til en anden eller fra en konto til en anden.

Den mest populære blockchain til drift af smarte kontrakter er Ethereum . På Ethereum skrives smarte kontrakter typisk i et Turing-komplet programmeringssprog kaldet Solidity og kompileres til et lavt niveau bytecode, der skal udføres af Ethereum Virtual Machine . På grund af stopproblemet og andre sikkerhedsproblemer anses Turing-fuldstændighed for at være en risiko og undgås bevidst af sprog som Vyper . Nogle af de andre smarte kontraktprogrammeringssprog, der mangler Turing-fuldstændighed, er Enkelhed, Scilla, Ivy og Bitcoin Script. Imidlertid viste målinger ved hjælp af regulære udtryk , at kun 35,3% af 53,757 Ethereum -smarte kontrakter omfattede rekursioner og sløjfer - konstruktioner forbundet med stopproblemet.

Flere sprog er designet til at muliggøre formel verifikation : Bamboo, IELE, Simplicity, Michelson (kan verificeres med Coq ), Liquidity (compiles to Michelson), Scilla, DAML og Pact.

Bemærkelsesværdige eksempler på blockchain -platforme, der understøtter smarte kontrakter, omfatter følgende:
Navn Beskrivelse
Bitcoin Giver et Turing-ufuldstændigt scriptsprog, der tillader oprettelse af brugerdefinerede smarte kontrakter oven på Bitcoin som multisignaturkonti , betalingskanaler, escrows, tidslåse, atomkædehandel , orakler eller flerpartilotteri uden operatør.
Cardano En blockchain -platform til smarte kontrakter, der bruger bevis for indsats
Ethereum Implementerer et Turing-komplet sprog på sin blockchain, en fremtrædende ramme for smart kontrakt
EOS.IO En blockchain -platform til smarte kontrakter
Tezos En blockchain-platform, der ændrer sit eget regelsæt med minimal afbrydelse af netværket gennem en on-chain governance-model

Processer på en blockchain er generelt deterministiske for at sikre byzantinsk fejltolerance. Ikke desto mindre kræver anvendelse af smarte kontrakter i den virkelige verden, såsom lotterier og kasinoer , sikker tilfældighed. Faktisk reducerer blockchain -teknologien omkostningerne ved at gennemføre et lotteri og er derfor fordelagtigt for deltagerne. Tilfældighed på blockchain kan implementeres ved at bruge blokhasher eller tidsstempler, orakler, forpligtelsesordninger, særlige smarte kontrakter som RANDAO og Quanta samt sekvenser fra blandet strategi Nash -ligevægt .

Ansøgninger

I 1998 foreslog Szabo, at smart kontraktinfrastruktur kan implementeres ved replikerede aktivregistre og kontraktudførelse ved hjælp af kryptografiske hashkæder og byzantinsk fejltolerant replikation. Askemos implementerede denne tilgang i 2002 ved hjælp af Scheme (senere tilføjelse af SQLite ) som kontraktscript -sprog.

Et forslag til brug af bitcoin til replikeret aktivregistrering og kontraktudførelse kaldes "farvede mønter". Replikerede titler til potentielt vilkårlige ejendomsformer sammen med replikeret kontraktudførelse implementeres i forskellige projekter.

Fra 2015 eksperimenterede UBS med "smarte obligationer", der bruger bitcoin blockchain , hvor betalingsstrømme hypotetisk kunne være fuldt automatiseret, hvilket skabte et selvbetalt instrument.

Arv ønsker kunne hypotetisk implementeres automatisk ved registrering af en dødsattest ved hjælp af smarte kontrakter. Fødselsattester kan også fungere sammen med smarte kontrakter.

Smart kontrakter kan også bruges til at håndtere fast ejendom transaktioner (dvs. via propyl , ...) og blockchain løsninger også prolifererende på området for titlen optegnelser og i offentlige register .

Smarte kontrakter kan også bruges i ansættelseskontrakter , især midlertidige ansættelseskontrakter, der tilbyder fordele for både arbejdsgiver og medarbejder.

Sikkerhedsspørgsmål

En blockchain-baseret smart kontrakt er synlig for alle brugere af blockchain. Dette fører imidlertid til en situation, hvor fejl, herunder sikkerhedshuller, er synlige for alle, men måske ikke bliver løst hurtigt. Et sådant angreb, der var svært at løse hurtigt, blev vellykket udført på DAO i juni 2016 og dræbte Ether på omkring 50  millioner dollars på det tidspunkt, mens udviklere forsøgte at komme frem til en løsning, der ville opnå konsensus. DAO -programmet havde en tidsforsinkelse på plads, før hackeren kunne fjerne midlerne; en hård gaffel af Ethereum -softwaren blev udført for at tilbagelægge midlerne fra angriberen, inden tidsfristen udløb. Andre højtprofilerede angreb omfatter angreb fra Parity-multisignatur-tegnebøger og et heltal underflow/overløbsangreb (2018) på i alt over 184 millioner dollars.  

Spørgsmål i Ethereum smarte kontrakter omfatter især uklarheder og let-men-usikre konstruktioner i sit kontraktsprog Solidity, compiler bugs, Ethereum Virtual Machine-bugs, angreb på blockchain-netværket, fejls uforanderlighed og at der ikke er nogen central kildedokumentation kendte sårbarheder, angreb og problematiske konstruktioner.

Forskel fra smarte juridiske kontrakter

Smarte juridiske kontrakter adskiller sig fra smarte kontrakter. Som nævnt ovenfor er en smart kontrakt ikke nødvendigvis lovligt eksigibel som en kontrakt. På den anden side har en smart juridisk kontrakt alle elementer i en lovligt eksigibel kontrakt i den jurisdiktion, hvor den kan håndhæves, og den kan håndhæves af en domstol. Selvom hver smart juridisk kontrakt vil indeholde nogle elementer i en smart kontrakt, vil ikke hver smart kontrakt være en smart juridisk kontrakt.

Der er ingen formel definition af en smart juridisk kontrakt i den juridiske industri.

En Ricardiansk kontrakt er en slags smart juridisk kontrakt.

Se også

Referencer