Smarta kontrakt är program som körs på en blockkedja och genomför en överenskommelse automatiskt när på förhand bestämda villkor uppfylls – utan att en bank, mäklare eller annan mellanhand behöver godkänna något. På Ethereum är smarta kontrakt själva byggstenen som gör det möjligt att skapa allt från kryptovalutor och digitala samlarföremål till hela finansiella tjänster. Den här guiden förklarar vad ett smart kontrakt är, hur det fungerar rent tekniskt och vad det används till – på ett sätt som är begripligt även om du är helt ny inom krypto.
Viktiga punkter
- Ett smart kontrakt är kod på en blockkedja som körs automatiskt när bestämda villkor uppfylls – utan mellanhand.
- Begreppet myntades av Nick Szabo 1994; Ethereum gjorde det praktiskt möjligt i stor skala från 2015.
- Koden körs av Ethereum Virtual Machine (EVM) och varje beräkning betalas i en avgift som kallas gas, i ether (ETH).
- Publicerade kontrakt är i regel oföränderliga – en styrka för tilliten men en risk om koden innehåller fel.
- Vanliga användningsområden: DeFi, token och stablecoins, NFT:er, DAO:er och decentraliserade appar.
Vad är ett smart kontrakt?
Ett smart kontrakt (engelska: smart contract) är ett datorprogram som lagras på en blockkedja och som körs exakt som det är programmerat. Tanken är enkel: i stället för att skriva ett avtal på papper och lita på att motparten håller sitt ord, skriver man villkoren som kod. När villkoren uppfylls utför programmet handlingen automatiskt, till exempel att flytta pengar från en adress till en annan.
Begreppet är äldre än blockkedjor. Datavetaren och juristen Nick Szabo myntade uttrycket redan 1994 och beskrev det ofta med en varuautomat som liknelse: du stoppar i rätt mynt, och automaten lämnar ut varan – ingen kassör behövs, och ”avtalet” verkställs av maskinen själv. Det som saknades på Szabos tid var en säker, gemensam plattform att köra sådana program på. Den kom först i och med Ethereum, som lanserades 2015 och byggde in stöd för smarta kontrakt direkt i sin blockkedja.
En viktig detalj: ett smart kontrakt är inte ett juridiskt avtal i lagens mening. Det är kod. Det ”tvingar” inte fram efterlevnad via domstol, utan gör det tekniskt omöjligt att kringgå villkoren när koden väl är på plats.
Så fungerar smarta kontrakt på Ethereum
På Ethereum är ett smart kontrakt ett program som en utvecklare publicerar (”deployar”) till nätverket. När kontraktet väl finns på blockkedjan har det en egen adress, precis som en vanlig plånbok, och vem som helst kan skicka en transaktion till det för att köra dess funktioner.
Kod, EVM och bytecode
Smarta kontrakt skrivs oftast i ett programmeringsspråk som kallas Solidity (ett språk skapat särskilt för Ethereum). Koden översätts sedan till bytecode – ett lågnivåformat som datorer kan köra. Denna bytecode körs av Ethereum Virtual Machine (EVM), en slags gemensam ”dator” som varje nod i nätverket kör identiskt. Eftersom alla noder utför exakt samma beräkningar blir resultatet deterministiskt: samma indata ger alltid samma utdata, oavsett vem som kör kontraktet eller var.
EVM är en så kallad sandlåda, vilket betyder att kontraktets kod är isolerad från resten av datorn och nätverket. Det gör körningen förutsägbar och säker på systemnivå – men det skyddar inte mot fel i själva koden, vilket vi återkommer till.
Gas och transaktionsavgifter
Att köra kod kostar datorkraft, och på Ethereum betalas den kostnaden i en enhet som kallas gas. Varje instruktion som EVM utför har ett bestämt gaspris, och ju mer beräkning ett kontrakt kräver, desto mer gas kostar det. Användaren betalar gasavgiften i Ethereums valuta ether (ETH).
Gassystemet fyller två syften. Det hindrar att nätverket överbelastas av oändliga eller slösaktiga program – allt kostar något att köra. Och det ersätter dem som validerar och säkrar nätverket. Om en transaktion får slut på gas innan den är klar avbryts den, och eventuella ändringar rullas tillbaka (men avgiften för det utförda arbetet betalas ändå).
Oföränderlighet och ”trustless” logik
När ett smart kontrakt väl har publicerats kan koden i regel inte ändras. Denna oföränderlighet (immutability) är en styrka: ingen kan i efterhand mixtra med reglerna, och alla kan läsa koden och se exakt vad den gör. Det är detta som menas med att kontrakt är trustless – du behöver inte lita på en motpart, du kan lita på koden och att den körs likadant för alla.
Baksidan är att om koden innehåller ett fel går det ofta inte att rätta i efterhand. Därför bygger seriösa projekt in uppgraderingsmekanismer och testar noggrant innan lansering.
Vad används smarta kontrakt till?
Smarta kontrakt är byggstenen bakom nästan allt som händer på Ethereum utöver enkla överföringar. Några av de vanligaste användningsområdena:
- Decentraliserad finans (DeFi): tjänster för lån, sparande, växling och handel utan bank – hela logiken sköts av kontrakt.
- Kryptovalutor och token: de flesta token som handlas på Ethereum är i praktiken smarta kontrakt som håller reda på vem som äger vad.
- Stablecoins: token vars värde är kopplat till exempelvis US-dollar, som utfärdas och administreras via kontrakt.
- Digitala samlarföremål och NFT:er: unika digitala tillgångar som bevisar ägande av konst, musik, biljetter eller medlemskap.
- DAO:er (decentraliserade autonoma organisationer): organisationer där regler för omröstning och kassa är inbyggda i kod.
- Decentraliserade appar (dApps): spel, marknadsplatser och sociala tjänster som körs på smarta kontrakt i stället för på en enskild företagsserver.
Token-standarder: ERC-20, ERC-721 och ERC-1155
För att token och appar ska fungera ihop med plånböcker och handelsplatser följer de gemensamma regelverk som kallas ERC-standarder (Ethereum Request for Comments). En standard beskriver vilka funktioner ett kontrakt måste ha, så att andra program vet hur de ska prata med det. De tre vanligaste:
| Standard | Typ av token | Vanlig användning |
|---|---|---|
| ERC-20 | Utbytbara (fungibla) token – varje enhet är identisk | Kryptovalutor, stablecoins, styr- och nyttotoken |
| ERC-721 | Unika (icke-fungibla) token – varje enhet är särskild | NFT:er för konst, samlarföremål, biljetter, medlemskap |
| ERC-1155 | Blandad standard – både fungibla och icke-fungibla i ett kontrakt | Spel och plattformar med många tillgångar samtidigt |
Tack vare standarderna kan en utvecklare skapa en token som direkt fungerar i tusentals plånböcker och tjänster, utan att varje aktör måste anpassas för sig.
Så skapas ett smart kontrakt – steg för steg
Att bygga ett smart kontrakt kräver programmeringskunskap, men själva flödet är begripligt:
- Skriv koden: utvecklaren skriver kontraktet i Solidity eller ett liknande språk (till exempel Vyper).
- Kompilera: koden översätts till bytecode som EVM kan köra.
- Testa: kontraktet testas noggrant, ofta på ett testnät där man använder värdelösa test-ETH i stället för riktiga pengar.
- Publicera (deploy): kontraktet skickas till Ethereum, får en permanent adress och blir tillgängligt för alla.
- Interagera: användare anropar kontraktets funktioner via transaktioner från sin Ethereum-plånbok, och betalar gasavgift för körningen.
Säkerhet och vanliga misstag
Eftersom smarta kontrakt ofta hanterar stora värden och sällan kan ändras i efterhand är säkerhet helt avgörande. De flesta problem beror inte på att blockkedjan är osäker, utan på fel i kontraktets egen kod.
Det mest kända exemplet är The DAO-hacket 2016. En investeringsfond byggd som smart kontrakt drabbades av ett så kallat reentrancy-angrepp: en funktion för uttag skickade ut ether innan den uppdaterade saldot, vilket lät angriparen anropa uttaget om och om igen i en loop och tömma kontraktet på ether till ett värde av runt 60 miljoner dollar. Händelsen ledde till en hård delning (”hard fork”) av nätverket, och därav uppstod dagens Ethereum (ETH) och Ethereum Classic (ETC).
Vanliga fallgropar och skyddsåtgärder:
- Reentrancy: uppdatera alltid interna saldon innan pengar skickas ut ur kontraktet.
- Oåterkallelig kod: ett publicerat kontrakt kan sällan lagas – därför är noggrann testning och granskning innan lansering avgörande.
- Granskning (audit): seriösa projekt låter oberoende säkerhetsföretag granska koden innan den går live.
- Beroenden och behörigheter: kontrakt som styrs av en enda nyckel eller är kopplade till andra kontrakt kan ärva deras svagheter.
För dig som användare är den viktigaste lärdomen att bara interagera med kontrakt och appar som är väl etablerade och granskade, och att vara försiktig med att godkänna okända kontrakt åtkomst till dina token.
Fördelar och begränsningar
Smarta kontrakt löser vissa problem elegant men passar inte för allt. En balanserad bild:
- Fördelar: automatik utan mellanhänder, transparent kod som alla kan läsa, snabb och global körning dygnet runt, samt regler som inte kan ändras godtyckligt.
- Begränsningar: kod som inte kan rättas vid buggar, gasavgifter som varierar med belastningen, oförmåga att på egen hand hämta information utanför blockkedjan (det kräver särskilda tjänster kallade oracles), och juridisk osäkerhet i många länder.
Smarta kontrakt jämfört med traditionella avtal
För att sätta tekniken i sammanhang hjälper det att ställa smarta kontrakt mot vanliga, skriftliga avtal. De löser samma grundproblem – att få två parter att lita på en överenskommelse – men på helt olika sätt.
Jämförelse
| Egenskap | Traditionellt avtal | Smart kontrakt |
|---|---|---|
| Form | Text på papper eller digitalt | Programkod på en blockkedja |
| Verkställs av | Parterna, ombud och ytterst domstol | Nätverket, automatiskt via kod |
| Mellanhänder | Ofta bank, mäklare eller jurist | Inga – logiken körs av kontraktet självt |
| Insyn | Endast för parterna | Koden är offentlig och läsbar för alla |
| Ändra i efterhand | Möjligt om parterna kommer överens | I regel omöjligt när det är publicerat |
| Tillgänglighet | Beror på kontorstider och land | Global och dygnet runt |
Vill du utforska ekosystemet vidare kan du läsa mer om hur du köper Ethereum, som är den valuta du behöver för att betala gas och interagera med smarta kontrakt.
Friskrivning
Den här artikeln är enbart en faktabaserad beskrivning av hur smarta kontrakt fungerar och utgör inte finansiell, juridisk eller investeringsrådgivning. Kryptovalutor och tjänster byggda på smarta kontrakt är förknippade med hög risk, och värdet kan både stiga och falla kraftigt. Gör alltid din egen research och investera aldrig mer än du har råd att förlora. Mer information om konsumenträttigheter finns hos Konsumentverket, och information om finansiella risker och tillsyn finns hos Finansinspektionen.
Referenskällor
Vanliga frågor (FAQ)
Vad är ett smart kontrakt med enkla ord?
Det är ett datorprogram på en blockkedja som automatiskt genomför en överenskommelse när bestämda villkor uppfylls, utan att någon mellanhand behöver godkänna det. En vanlig liknelse är en varuautomat: rätt insats ger automatiskt rätt resultat.
Kostar det pengar att använda ett smart kontrakt?
Ja. Att köra ett kontrakt på Ethereum kräver beräkningskraft, som betalas i en avgift som kallas gas och erläggs i ether (ETH). Hur mycket det kostar beror på hur avancerad körningen är och hur hårt belastat nätverket är just då.
Kan ett smart kontrakt ändras eller stoppas i efterhand?
I regel inte. När ett kontrakt har publicerats är koden oföränderlig och körs likadant för alla. Vissa projekt bygger in särskilda uppgraderings- eller pausfunktioner, men grundtanken är att reglerna inte ska kunna ändras godtyckligt.
Är smarta kontrakt säkra?
Själva blockkedjan och körningsmiljön är robusta, men ett kontrakt är bara så säkert som koden bakom det. Fel i koden har lett till stora förluster, som The DAO-hacket 2016. Granskning, testning och att bara använda etablerade tjänster minskar risken.
Behöver man Ethereum för att använda smarta kontrakt?
På Ethereum-nätverket behöver du ether (ETH) för att betala gasavgifter, och en plånbok för att signera transaktioner. Smarta kontrakt finns även på andra blockkedjor, men Ethereum är den mest använda plattformen för dem.

