Hoppa till innehåll

Vad är ett smart kontrakt? Så fungerar det

Ett smart kontrakt är ett avtal som skrivs i kod och körs automatiskt på en blockkedja. När de förutbestämda villkoren är uppfyllda utförs avtalet av sig självt – utan att en bank, myndighet eller annan mellanhand behöver godkänna det. Här går vi igenom vad ett smart kontrakt är, hur det fungerar, var idén kommer ifrån och hur Cardano använder tekniken. Alla facktermer förklaras på vägen.

Viktiga punkter

  • Ett smart kontrakt är ett program på en blockkedja som automatiskt utför ett avtal när förutbestämda villkor uppfylls – utan mellanhänder.
  • Begreppet myntades av Nick Szabo redan 1994, långt före blockkedjor och Bitcoin.
  • Ethereum (2015) var den första plattformen som gjorde smarta kontrakt praktiskt användbara. Koden skrivs oftast i språket Solidity.
  • Cardano fick smarta kontrakt genom Alonzo-uppgraderingen den 12 september 2021, med språken Plutus och Marlowe.
  • Ett smart kontrakt är bara så säkert som sin kod – fel kan utnyttjas, och kontrakt går sällan att ändra i efterhand.

Vad är ett smart kontrakt?

Ett smart kontrakt (engelska: ”smart contract”) är ett litet dataprogram som ligger på en blockkedja. Programmet innehåller regler av typen ”om X inträffar, gör Y”. När villkoren uppfylls utför kontraktet automatiskt det som är bestämt, till exempel att skicka en betalning eller föra över en digital tillgång.

Eftersom koden ligger på blockkedjan – en gemensam databas som många datorer underhåller samtidigt – kan ingen enskild part ändra villkoren i efterhand. Det gör kontraktet förutsägbart och svårt att manipulera.

En blockkedja förklaras närmare i vår artikel om blockkedjeteknik.

Liknelsen med varuautomaten

Ett enkelt sätt att förstå smarta kontrakt är att tänka på en varuautomat. Du lägger i pengar, väljer en vara och automaten lämnar ut den – helt utan kassör. Reglerna (pris och lager) är förprogrammerade och utförs automatiskt när villkoret, alltså rätt betalning, är uppfyllt.

Just den liknelsen användes av Nick Szabo, mannen som myntade begreppet.

Vem uppfann smarta kontrakt?

Begreppet ”smart contract” myntades av den amerikanska datavetaren och juristen Nick Szabo redan 1994 – långt innan blockkedjor och Bitcoin fanns. Han utvecklade idén vidare i texter 1996 och 1997.

Szabo föreslog också en tidig digital valuta kallad Bit Gold 1998, som ofta beskrivs som en föregångare till Bitcoin. Han har ibland pekats ut som Bitcoins anonyma skapare Satoshi Nakamoto, något han själv förnekar.

Så fungerar ett smart kontrakt steg för steg

  1. Ett kontrakt skrivs som kod, med villkor och utfall.
  2. Kontraktet laddas upp (distribueras) på en blockkedja, där det får en egen adress.
  3. En användare startar kontraktet genom att skicka en transaktion till det.
  4. Nätverkets datorer kontrollerar om villkoren är uppfyllda.
  5. Är villkoren uppfyllda utförs kontraktet automatiskt, och resultatet registreras på blockkedjan.

Ett viktigt särdrag är att ett smart kontrakt normalt inte kan raderas i efterhand, och att genomförda transaktioner inte går att ångra.

Smarta kontrakt och kryptovaluta

Smarta kontrakt är grunden för så kallade dApps (decentraliserade appar) – program som körs på en blockkedja i stället för på en enskild företagsserver. De används bland annat inom DeFi (decentraliserad finans), för NFT:er och i blockkedjebaserade spel.

Ethereum var den första plattformen som gjorde smarta kontrakt praktiskt användbara, efter lanseringen 2015. Kod till Ethereums kontrakt skrivs oftast i programspråket Solidity.

Cardano och smarta kontrakt

Cardano är en blockkedja vars kryptovaluta heter ADA. Läs mer om vad ADA är. Cardano fick stöd för smarta kontrakt genom uppgraderingen Alonzo, som aktiverades på huvudnätet den 12 september 2021. Det markerade början på den så kallade Goguen-eran.

Cardano använder två egna verktyg:

  • Plutus – ett programspråk byggt på Haskell, avsett för utvecklare som skriver smarta kontrakt.
  • Marlowe – ett enklare språk som riktar sig till personer utan programmeringsvana, särskilt för finansiella avtal.

Cardano körs på konsensusmekanismen proof of stake, vilket gör nätverket energisnålt jämfört med äldre lösningar.

Snabbfakta: smarta kontrakt

Vad det ärSjälvutförande avtal skrivet i kod på en blockkedja
Begreppet myntades avNick Szabo, 1994
Första praktiska plattformenEthereum (2015)
Vanligaste språk (Ethereum)Solidity
Smarta kontrakt på Cardano sedan12 september 2021 (Alonzo-uppgraderingen)
Cardanos språkPlutus (utvecklare) och Marlowe (icke-programmerare)
Vanliga användningsområdenDeFi, dApps, NFT, spel, leveranskedjor

Andra blockkedjor med smarta kontrakt

Förutom Ethereum och Cardano stödjer flera andra blockkedjor smarta kontrakt, bland andra Solana, Polkadot, Avalanche, BNB Chain och Stellar. De gör olika avvägningar mellan hastighet, kostnad, säkerhet och grad av decentralisering.

Är smarta kontrakt säkra?

Blockkedjan i sig är svår att manipulera, men ett smart kontrakt är aldrig säkrare än koden det är byggt av. Innehåller koden ett fel kan det utnyttjas, och eftersom kontrakt oftast inte går att ändra i efterhand kan misstag bli kostsamma.

Ett välkänt exempel inträffade 2016, då en bugg i ett smart kontrakt på Ethereum utnyttjades och stora summor fördes bort. Händelsen ledde till att nätverket delades i två. Därför granskas seriösa kontrakt noggrant (så kallad revision eller ”audit”) innan de tas i bruk.

Smarta kontrakt jämfört med vanliga avtal

EgenskapTraditionellt avtalSmart kontrakt
Utförs avMänniskor och mellanhänderKod på en blockkedja
MellanhänderOfta (bank, jurist, myndighet)Inga i själva utförandet
Ändring i efterhandMöjligNormalt inte möjlig
TillgänglighetKontorstidDygnet runt
Kräver förtroende förMotparten och mellanhänderKoden och blockkedjan

Användningsområden

Smarta kontrakt kan användas inom många branscher. Vanliga och framväxande exempel:

  • Finans (DeFi): lån, sparande och betalningar utan traditionell bank som mellanhand.
  • Leveranskedjor: automatisk spårning och utbetalning när en leverans registreras.
  • Fastigheter: hyresavtal och betalningar mellan hyresgäst och värd.
  • Spel och NFT: ägande av digitala föremål och slumpmoment i spel.
  • Media och underhållning: direktbetalning till artister och unika digitala utgåvor.

Det är värt att notera att många av dessa användningsområden fortfarande är under utveckling.

Den här artikeln är enbart avsedd som allmän och faktabaserad information om tekniken bakom smarta kontrakt. Den utgör inte finansiell rådgivning och är ingen uppmaning att köpa, sälja eller investera i någon kryptovaluta. Kryptotillgångar kan svänga kraftigt i värde, och du kan förlora hela det investerade beloppet. Läs mer om riskerna hos Finansinspektionen innan du fattar egna beslut.

Vanliga frågor (FAQ)

Vad är ett smart kontrakt med enkla ord?

Det är ett program på en blockkedja som automatiskt utför ett avtal när förutbestämda villkor uppfylls, utan att någon mellanhand behöver godkänna det.

Är ett smart kontrakt samma sak som ett digitalt kontrakt?

Nej. Ett digitalt kontrakt är ofta bara ett vanligt avtal i digital form, till exempel en pdf med elektronisk signatur. Ett smart kontrakt utför sig självt genom kod på en blockkedja.

Vilket programspråk används för smarta kontrakt?

På Ethereum är Solidity vanligast. Cardano använder Plutus för utvecklare och Marlowe för personer utan programmeringsvana.

När fick Cardano smarta kontrakt?

Genom Alonzo-uppgraderingen den 12 september 2021, som inledde Cardanos Goguen-era.

Är smarta kontrakt säkra?

Blockkedjan är svår att manipulera, men ett kontrakt är bara så säkert som sin kod. Fel i koden kan utnyttjas, vilket är skälet till att seriösa kontrakt granskas noga innan de används.

Kan ett smart kontrakt ändras i efterhand?

I regel inte. När ett kontrakt väl har distribuerats på blockkedjan är det oftast oföränderligt, om det inte byggts med särskilda uppdateringsfunktioner från början.