Hvordan lage en smart kontrakt, hvilke fordeler og ulemper de har. topplabs.org svarer på alle spørsmål om en lovende ny teknologi
En smart kontrakt er et dataprogram som oppfyller avtaler inngått mellom to eller flere parter, som et resultat av at visse handlinger finner sted når visse betingelser er oppfylt. Det vil si at når en tidligere programmert tilstand er aktivert, utfører smartkontrakten automatisk den tilsvarende avtalen. Hvis vi vurderer en vanlig kontrakt og en smart kontrakt, kan vi med sikkerhet si at de begge er avtaler der to eller flere parter er enige om å overholde en rekke betingelser. Deres grunnleggende elementer er de samme: frivillig samtykke fra alle parter, gjenstanden for kontrakten (varer eller tjenester) og et enkelt mål. Imidlertid er begge forskjellige på tre faktorer: måten å skrive på, dens juridiske implikasjoner og begrepet samsvar.
Historien om smarte kontrakter
Begrepet "smarte kontrakter" ble laget av programvareforsker Nick Szabo, sannsynligvis i 1993, for å forklare hensikten med å implementere det han kalte "svært avansert" kontraktsrett og relaterte forretningspraksis innen e-handel i protokollutvikling. Szabo, inspirert av forskere som David Chaum, mente også at utvikling av smarte kontrakter ved å utføre kryptografiske protokoller og andre digitale sikkerhetsmekanismer kan være en betydelig forbedring i forhold til tradisjonelle juridiske kontrakter.
Szabo brukte ordet "smart" i anførselstegn og uttalte at kunstig intelligens ikke ville være involvert. Han ga et klassisk eksempel på en smart kontrakt: en salgsautomat. Hvis vilkårene i "kontrakten" passer kjøperen (det vil si at han legger penger i maskinen), overholder maskinen automatisk vilkårene i den uskrevne avtalen og gir kjøpet.
Flere formelle språk er nå utviklet og har blitt foreslått for å definere vilkårene for en kontrakt. For øyeblikket er det mange arbeidsgrupper som spesialiserer seg på smarte kontrakter, som bidrar til å fortsette denne forskningen i fremtiden. Før bruken av blockchain fantes det ingen plattform som kunne gjøre smarte kontrakter til virkelighet, så det ble kun definert konseptuelt.
Hvordan fungerer smarte kontrakter?
Smarte kontrakter er helt digitale og skrevet på et programmeringsspråk. I tillegg til å sette forpliktelser og konsekvenser på samme måte som i et vanlig fysisk dokument, kan kode kjøres automatisk. Følgelig kan han motta og behandle informasjon knyttet til forhandlinger, allerede iverksette tiltak i samsvar med reglene i kontrakten. BTC er begrenset i bruken av tokens for økonomiske overføringer.
Ethereum-plattformen erstatter det mer begrensede BTC-språket (et skriptspråk på rundt hundre) med et språk som lar utviklere definere sine egne skript. Ethereum lar utviklere programmere sine egne smarte kontrakter. Språket er "Turing complete", som betyr at det støtter et bredere sett med beregningsinstruksjoner.
Ethereum-plattformen har blitt brukt til å distribuere desentraliserte applikasjoner (DApps). I stedet for mange applikasjoner administrert av mange protokoller, lar Ethereum alle applikasjoner administreres over en enkelt protokoll.
Ethereum er en plattform som lar utviklere lage et hvilket som helst program og kjøre det på hovedfunksjonene til blokkjeden, ved å bruke smarte kontrakter for å automatisk utføre handlingene sine ved å bruke forhåndsdefinerte forhold innebygd i algoritmen. Hvis betingelsene er oppfylt, avsluttes den angitte funksjonen automatisk uten at det er nødvendig å foreta seg noe.
Fordeler med smarte kontrakter
Ved å bruke smarte kontrakter trenger du ikke lenger ty til hjelp fra en tredjepart, for eksempel en advokat eller en notarius, som i tillegg til mulige feil medfører betydelige kostnader. Blockchain er i stand til å beskytte informasjon på et kryptert nettverk som kan nås fra hvor som helst i verden, så hastighet og sikkerhet er åpenbare. De viktigste fordelene med kontrakter er:
Autonomi
Disse kontraktene inngås alltid mellom en eller flere fysiske eller juridiske personer, men uten mellomledd. En advokat er ikke pålagt å bekrefte kontrakten. Derfor reduserer partene og kan til og med eliminere enhver overflødig person som ikke deltar i kontrakten.
Reduserte kostnader
Siden kontrakter ikke er avhengige av en tredjepart, reduseres kostnadene. Mindre menneskelig inngripen gir lavere kostnader.
Hastighet
Smarte kontrakter bruker kode for å automatisere oppgaver som ellers ville blitt gjort manuelt. Derfor øker de hastigheten på forretningsprosesser og er mindre utsatt for manuelle feil.
Sikkerhet
Ved å basere kontrakter på Ethereum-blokkjeden kan de ikke gå tapt. Alt er uforanderlig. Ingenting og ingen kan få det til å forsvinne, og du har alltid tilgang til dem.
Den desentraliserte styringsprosessen eliminerer risikoen for manipulasjon, siden utførelse automatisk administreres av hele nettverket, ikke en eneste del.
Ulemper med smarte kontrakter
På den annen side har programmer av denne typen også visse ulemper. Den viktigste er hovedsakelig i bruken av teknologier den bruker: tingenes internett og blokkjeden.
IoT kan gi tilkobling til eiendeler, men det har fortsatt en lang vei å gå innen sikkerhet. IoT-enheter er enkle å hacke. Blokkjeden er mer enn sikker, men den er uforanderlig. Når vilkårene er avtalt, kan de ikke endres senere, noe som er ufordelaktig for en av partene.
Hvordan lage en smart kontrakt?
Kontrakten er utviklet på et spesifikt språk (Solidity, Serpent eller Mutan), kompilert i EVM og følger, med noen unntak, standard ERC-20-grensesnitt. Solidity er et språk som er basert på JS, Python og C++.
For å nærme deg å lage en smart kontrakt, må du kjenne til Solidity. Akkurat som papirkontrakter lages av folk som kjenner hele det juridiske miljøet rundt seg, trenger smarte kontrakter å kunne datakode kalt Solidity.
Advokatens introduksjon til smarte kontrakter-dokumentet beskriver to «nivåer» for smarte kontrakter: Smart contract-plattformen (SCP), som er infrastrukturen som gjør at de kan opprettes og administreres på blokkjeden, og smart contract management-systemet (SCMS). Denne protokollen er lagt til denne infrastrukturen for å gjøre det enklere for brukeren å samhandle med kontraktene. Det vil si at det er et grafisk grensesnitt.
Kontrakten utføres på nettverket, inne i Ethereum Virtual Machine (EVM). Denne ytelsen er ikke gratis, men betales i form av "gass", en liten mengde etervaluta som er bidratt med en eller flere parter i kontrakten. En viktig detalj er at utførelsen er desentralisert og foregår på alle noder i nettverket. Dette er en av grunnene til at EVM er så treg og kan bare behandle rundt 15 transaksjoner per sekund.
Hvordan er prosessen med registrering av smarte kontrakter
Infrastrukturen til smarte kontrakter kan implementeres ved hjelp av replikerte poster, og utførelse av kontrakter kan gjøres ved hjelp av Merkle-treet, som opererer gjennom kryptografiske hashfunksjoner og Byzantine Generals Task (BFT) replikering, som er en generalisert oppgave for to generaler. Hver node i peer-to-peer-nettverket fungerer som et tillits- eller forsikringsregister, som gjør endringer i kontraktseierne og sjekker automatisk reglene som pålegges av transaksjonen, samt verifiserer driften av andre noder for det samme. Kryptovalutaer som BTC har implementert spesielle tilfeller for de postene eller nodene der penger er eiendommen og kjernen i transaksjonen. BTC og mange av dets derivater inneholder mer generaliserte mekanismer for eiendomsrett og kontraktsutførelse. Kodevedlikehold er en veldig viktig og del av BTC-protokollen, basert på replikering av tilstandsmaskiner.
Hvordan kan smarte kontrakter brukes?
I det tjueførste århundre er det en mulighet til å oversette alle typer papirkontrakter til digitale smarte kontrakter, og derfor dukker det opp et bredt spekter av potensielle anvendelser.
Betalingsautomatisering: Kontrakten kan programmeres for å sikre at det forespurte beløpet kommer til spesifiserte personer eller organisasjoner på det angitte tidspunktet.
Registrering og eierskifte: Nødvendige dokumenter kan registreres på blokkjeden for å etablere eierskap fra start og endre eierskap gjennom smarte kontrakter.
Energitransaksjoner: Dette antas å skape et digitalt økosystem for utveksling av energi. Dermed vil kildene til elektrisitet eller drivstoff være forbundet med smarte kontrakter inngått kun mellom enkeltpersoner eller med involverte organisasjoner, som igjen kan tilpasse forbruket til hver klient.
Immaterielle rettigheter: Du kan bygge inn en smart kontrakt i ethvert objekt som er digitalt kontrollert. Det er her smart eiendom blir født som kan assimileres med nettverksbaserte IoT-objekter. De kan variere fra hjem til biler. På denne måten kan for eksempel utleie av disse eiendommene automatiseres.
Dessuten kan kryptovalutaer som Bitcoin sees på som et sett med smarte kontrakter som håndhever eiendomsloven. Kryptografiske teknikker brukes for å sikre at bare eieren av det digitale tokenet kan bruke dem. Flere desentraliserte aktivamarkeder eksisterer allerede, så mange forskjellige digitale aktiva kan handles på samme blokkjede. Det samme prinsippet kan utvides til fysiske produkter med elektronisk kontroll eller innebygde mikrobrikker.
Finansielle tjenester: Kryptovalutaer åpner åpenbart for et bredt spekter av forskjellige bruksområder for smarte kontrakter som ellers ikke ville vært mulig. For eksempel kan systemer som det som brukes av BurstCoin kjøre auksjoner som automatisk sjekker den høyeste prisen på et gitt tidspunkt og automatisk overfører inaktive midler.