BTC -0.34%
$54,449.35
ETH -0.34%
$2,289.41
USDT 0.10%
$1.00
BNB 0.86%
$500.23
SOL 1.49%
$129.51
USDC 0.08%
$1.00
XRP -0.46%
$0.52
DOGE 0.13%
$0.095

Hva er en smart kontrakt?

Thomas Kinkaj-Groenvold
| 12 lesetid

Smarte kontrakter har blitt en sentral komponent i blokkjedeteknologien, særlig etter lanseringen av Blockchain 2.0 i 2014, som utvidet anvendelsen av blokkjeder utover sin opprinnelige bruk i Bitcoin. Til tross for deres tekniske natur, kan smarte kontrakter være forholdsvis enkle å forstå. I denne guiden vil vi utforske det essensielle om smarte kontrakter. Vi vil forklare hva de er, avdekke deres arbeidsmekanismer, utforske deres potensielle bruksområder og tilby en innføring i hvordan man kan lage en.

Smarte Kontrakter Forklart

I den enkleste forstand er smarte kontrakter programmerte versjoner av vanlige kontrakter. Formålet er å automatisk utløse en tidligere avtalt kontrakt når alle forutsetninger er oppfylt. Hver betingelse må programmeres manuelt for å utføres, noe som kan redusere muligheten for små skrift som favoriserer en part på bekostning av den andre.

Historie og utvikling

Smarte kontrakter ble fremtredende med programmerbare blokkjedeimplementeringer, men konseptet er mye eldre. Dataforsker, advokat og kryptograf Nick Szabo foreslo smarte kontrakter på 90-tallet. Han beskrev dem som «et sett med løfter, spesifisert i digital form, inkludert protokoller der partene oppfyller disse løftene.»

Juridisk status

Til tross for navnet er smarte kontrakter ikke nødvendigvis gyldige, bindende avtaler i lovens øyne som tradisjonelle kontrakter. I blokkjede-implementering trenger de imidlertid ikke være det. Ifølge US National Institute of Standards and Technology er smarte kontrakter en «samling av kode og data (noen ganger referert til som funksjoner og tilstand) som distribueres ved hjelp av kryptografisk signerte transaksjoner på blokkjedenettverket.»

Funksjon i blokkjede

I et desentralisert miljø, hvor ingen har betydelig makt, er det ingen plass for mellommenn og tredjeparter som håndterer samsvar og konsensus. Konsensus oppnås gjennom forhåndsinnstilte mekanismer uten menneskelig innblanding. Smarte kontrakter er programmerte implementeringer av disse mekanismene, som fjerner behovet for menneskelig makt i overholdelse og gjennomføring av avtaler. Les mer om hva en blokkjede er.

Hvordan fungerer smarte kontrakter?

smarte kontrakter, to mennesker, en klode, kontrakter

Smarte kontrakter er selvutførende kontrakter med vilkår og betingelser direkte skrevet inn i koden. De opererer på blokkjeder, som Ethereum, og automatiserer kontraktsutførelser når forhåndsdefinerte betingelser er oppfylt. Slik fungerer de:

  1. Koding av kontrakt: En smart kontrakt kodes med spesifikke vilkår og betingelser. For eksempel kan det være en kontrakt som utløser en betaling når en bestemt oppgave er fullført.
  2. Distribusjon på blokkjeden: Når kontrakten er kodet, distribueres den på blokkjeden. Dette betyr at den lagres på et desentralisert nettverk av datamaskiner, noe som sikrer immutabilitet og sikkerhet.
  3. Automatisert utførelse: Når de forhåndsdefinerte betingelsene i kontrakten er oppfylt, utføres handlingene automatisk. For eksempel, hvis en smart kontrakt er programmert til å utbetale midler når en vare er levert, vil betalingen automatisk bli overført når leveringsbekreftelsen registreres.
  4. Sikkerhet og gjennomsiktighet: Siden smarte kontrakter er lagret på en blokkjede, er de transparente og kan ikke endres etter distribusjon. Dette reduserer behovet for mellommenn og øker tilliten mellom partene.
  5. Eksempler på bruk: Smarte kontrakter kan brukes i mange sammenhenger, inkludert finansielle tjenester (for automatiske betalinger), forsikring (for automatiserte skadeoppgjør), eiendom (for automatiserte eiendomstransaksjoner), og mye mer.

Smarte kontrakter revolusjonerer måten avtaler utføres på ved å tilby sikkerhet, effektivitet og pålitelighet gjennom automatisering og blokkjede-teknologi.

Hva kan smarte kontrakter brukes til?

En av de største fordelene med smarte kontrakter er at de kan brukes til så å si alt, så lenge det kan programmeres. Selvfølgelig er noen brukstilfeller mer vanlige enn andre. Noen av de beste eksemplene inkluderer:

  • Digital identitet: i en tid med tvilsomt personvern på internett, er det bekymring for hvilke data du deler med selskaper hvis nettsteder du har tilgang til. Dette kan enkelt digitaliseres gjennom smarte kontrakter, der de kan dele dine preferanser for innholdskureringsformål uten faktisk å avsløre din personlige informasjon.
  • Verdipapirer: finanssektoren som helhet lider av mye friksjon mellom ulike parter, spesielt når det gjelder å holde og handle verdipapirer. Ved å automatisere alt gjennom smarte kontrakter kan mellomledd fjernes helt. Programmet vil da ta over, utbetale utbytte og/eller andre automatiske utbetalinger, administrere ansvar og effektivisere arbeidsflyten.
  • Lån: dette er ofte kilden til frustrasjon for mange. Implementering av smarte kontraktsbetalinger vil bety å redusere de totale kostnadene som vanligvis går til tredjeparten, opprettholde en fordelaktig rente og sikre at det ikke er noe i liten skrift som kan utnyttes. I tillegg kan det å sette opp automatiske månedlige betalinger forenkle hele prosessen ytterligere for alle deltakere.
  • Forsyningskjede: som en av de mest kjente brukssakene for blokkjede, er smarte kontrakter også uvurderlige når det gjelder forsyningskjedestyring. Fra lagersporing til automatiske oppdateringer til alle berørte parter, kan implementering av smarte kontrakter forbedre åpenheten og redusere muligheten for potensiell svindel betydelig.
  • Escrow: som med andre aktiviteter som krever tredjepartsinvolvering, er escrow også en av de som vil ha nytte av automatisering. Med smarte kontrakter holdes midler på et trygt sted inntil alle vilkår for frigjøring er oppfylt. Dette kan nesten eliminere risikoen for tyveri og svindel samtidig som det holder alt fullstendig transparent og kanskje mest av alt rimelig.
  • Helsesystemer: medisinske data er svært sensitive, og de fleste jurisdiksjoner har lover som beskytter dem mot uautorisert tilgang. Bruk av smarte kontrakter kan ikke bare beskytte disse dataene, men lar også enkeltpersoner bestemme hvem som kan få tilgang til dem. Til syvende og sist kan folk gi medisinske forskere tilgang til dataene sine mot en avgift, og eliminere en betydelig mengde etiske bekymringer for alle involverte parter.
  • Lønn: bedrifter som beholder funksjonærer kan spare betydelige summer ved å betale dem ut automatisk. Selv om de må ta hensyn til fridager, kan disse endringene justeres raskt og enkelt. Konseptet kan fungere for timeansatte også.

Listen over brukstilfeller for smarte kontrakter ovenfor er langt fra uttømmende. Imidlertid er eksemplene med på å vise fram det brede spekteret av brukstilfeller utover det mange tenker på når de hører om teknologien. Med riktig infrastruktur kan smarte kontrakter gå langt utover brukstilfellene som er skissert her.

Fordeler med smarte kontrakter

Mange av fordelene smarte kontrakter gir for måten du driver virksomheten din på kan utledes av det vi har vist nå. På den annen side går noen fordeler utover det som kan være åpenbart i begynnelsen. La oss se nærmere på dem.

  • Tillit: eller, kanskje mer nøyaktig, tillitsløshet – som betyr at man ikke implisitt trenger å stole på noen om at betingelsene man har satt vil bli utført. Siden en smart kontrakt ikke har noen egen autonomi, kan du være trygg på at alt vil skje akkurat som det er skrevet.
  • Sikkerhet: kryptografi, konseptet som blokkjeder (og smarte kontrakter, i forlengelsen) er bygget på, holder alt mye sikrere enn mange andre teknologiske løsninger.
  • Hastighet: bruk av smarte kontrakter er et betydelig steg opp fra å håndtere alt som kan automatiseres manuelt. Spesielt når det gjelder mellommenn, som kan ta sin tid avhengig av deres egen praksis, kan det å flytte alt til smarte kontrakter være akkurat den tidsbespareren virksomheten din trenger.
  • Besparelser: ved å følge samme logikk som med hastighetsaspektet, sparer du også pengene du betaler for deres tjenester ved å fjerne forstyrrelser fra tredjeparter.
  • Autonomi: å ikke måtte stole på mellommenn gir deg mer makt til å bestemme, selv eller sammen med en annen interessert part, nøyaktig hva din smarte kontrakt skal gjøre. I tillegg er sjansen for at noen gjør feil (eller til og med manipulerer) betydelig redusert med færre deltakere.
  • Nøyaktighet: med mindre en feil er forhåndsprogrammert i den smarte kontrakten, er den fysisk ute av stand til å gjøre noe annet enn det som er skrevet i koden.
  • Åpenhet: ikke bare vil du kunne lese den smarte kontrakten og se om den er skrevet i henhold til det du ønsket eller trengte, men det at den er lagret på blokkjeden gjør at all relevant data også vil være synlig for ettertiden. For bedrifter kan dette fremskynde revisjonsprosesser.
  • Enkel å forstå (og bruke): det er sant at kode kan skrives på utrolig forvirrende måter. Kode av høy kvalitet vil imidlertid være lett å forstå og bruke, noe som betyr at det vil være mye enklere enn å gå gjennom lange juridiske dokumenter.

Andre fordeler ved å bruke smarte kontrakter vil avhenge av din personlige brukssituasjon. Det viktigste er at alle har én ting til felles: de gjør alt enklere.

Potensielle ulemper

Selvfølgelig er ingen teknologi et universalmiddel. Dette gjelder spesielt for blokkjede og smarte kontrakter. Siden de fortsatt er relativt nye teknologier som løser langvarige problemer i mange bransjer, forventes de ofte å være i stand til å gjøre mye mer enn de realistisk kan. Her er noen utfordringer som smarte kontrakter kan by på:

  • Ikke juridisk bindende: til tross for navnet deres, er ikke smarte kontrakter nødvendigvis faktiske kontrakter. Det kan hende de ikke holder stand i en domstol, men dette kan variere fra sak til sak.
  • Regulatorisk usikkerhet: på samme måte, siden teknologien er så ny, er det ofte ingen myndighetsbestemmelser på plass. Avhengig av typen transaksjon er de kanskje ikke nødvendige – men de kan også være kritiske, så det kan være en oppgave å navigere i disse juridiske spørsmålene.
  • Skattlegging: på samme måte dukker spørsmålet om hvordan skattesmarte kontraktstransaksjoner opp. Mens noen kan ha sin presedens innen tradisjonell finans, har fremgangen av kryptovalutaer brakt noen nye faktorer inn i bildet.
  • Adressering av feil: ingen kode er perfekt, og feil oppstår, selv for de beste kodere. Noen av dem blir kanskje ikke lagt merke til før det er for sent, og transaksjoner på blokkjeden er irreversible. Med andre ord kan feil være kostbare.
  • Heving av kontrakter: ettersom smarte kontrakter er ganske bokstavelige, er det ofte ingen måte å si dem opp på slik du ville gjort med en tradisjonell kontrakt, dvs. i retten.
  • Ikke alle kan lese koder: enkelt forklart, vet ikke alle det grunnleggende om koding. Selv om smarte kontrakter teoretisk sett burde være enklere å forstå enn dokumenter på papir, siden de ikke tillater tillegg i liten skrift, hjelper det ikke om man ikke forstår selve språket. Hvis du ikke kan lese koden, kan hvem som helst skrive hva de vil uten at du blir noe klokere.
  • De kan ikke få informasjon fra den virkelige verden: smarte kontrakter kan ikke få tilgang til informasjon fra utenfor blokkjeden fordi det kan sette konsensus i fare. Såkalte orakler brukes for å overvinne denne hindringen.

Betydningen av hver av disse ulempene, akkurat som fordelene vi listet over, avhenger av hva du faktisk bruker smarte kontrakter til. Likevel vil det å være klar over disse fordelene og ulempene kunne hjelpe deg med å ta en informert beslutning hvis du vurderer å bruke smarte kontrakter.

Hva er et orakel?

Når vi snakker om blokkjeder og smarte kontrakter, nevner vi ofte at et av målene er å eliminere avhengigheten av tredjeparter. Det finnes imidlertid situasjoner hvor dette ikke kan unngås, spesielt når det er behov for informasjon fra den virkelige verden.

Blokkjede-orakler

Blokkjede-orakler fungerer som bindeledd mellom data på kjeden (blokkjeden) og av kjeden (den virkelige verden). De utvider omfanget av smarte kontrakter ved å levere ekstern informasjon som disse kontraktene trenger for å fungere optimalt. Uten orakler ville smarte kontrakter kun kunne bruke informasjon som allerede finnes på blokkjeden, noe som er begrenset.

Desentralisering av orakler

For å unngå manipulering av data, er orakler ofte desentralisert. Dette innebærer at flere orakler sender samme data, og den informasjonen som flertallet av oraklene sender, blir ansett som korrekt. Orakler som viser seg å være inkonsistente med resten for ofte, kan bli antatt å være ondsinnede og straffes deretter.

Typer orakler

Det finnes mange forskjellige typer orakler, og valg av type avhenger av nettverkets og brukernes behov. Hver type orakel er tilpasset spesifikke formål og krav i ulike smarte kontrakter og blokkjede-applikasjoner.

Hvordan skrive smarte kontrakter

For å skrive en smart kontrakt, må du være kjent med minst ett programmeringsspråk som brukes til dette formålet. På Ethereum blokkjeden har du valget mellom to utviklervennlige språk: Solidity og Vyper. Du vil også trenge gass: jo mer kompleks en transaksjon i den smarte kontrakten, jo mer gass trenger den. Hver transaksjon spesifiserer mengden gass den trenger til å betale for å kjøre en eller annen kode, så den totale avgiften som betales kommer opp til den totale gassen som brukes ganger gassprisen.

Hvordan du skriver en smart kontrakt vil mest avhenge av hva du vil at den skal gjøre. Jo enklere det er, jo raskere kan du gjøre det, selv om programmeringskunnskapen din er ganske grunnleggende. Det finnes myriader av opplæringsprogrammer på nettet for å hjelpe deg i gang. Kontrakten må kompileres før den distribueres på blokkjeden. Kompilering vil også hjelpe med å finne ut om du har skrevet alt riktig og om det fungerer slik det skal.

Konklusjon

Som denne guiden viser, er smarte kontrakter en måte å automatisere ting som ellers måtte gjøres manuelt, med all sikkerheten, åpenheten og uforanderligheten som alltid tilbys med blokkjedeteknologi. Selv om de har noen ulemper, løser smarte kontrakter fortsatt ekte problemer. Dette betyr at det å vite hvordan du bruker en (eller til og med skriver en selv!) kan være en uvurderlig ferdighet. Imidlertid er bare det å forstå hvordan de fungerer et utmerket utgangspunkt. Har vi gått glipp av noe du ville vite? Har du andre forslag til denne oppføringen? Gi oss beskjed.