Smart contracts är kontrakt som bygger på dataprotokoll. Det är digitala kontrakt som är baserade på blockchain-teknologi. Smart contracts är jämförbara med konventionella kontrakt, till exempel de som ingås när du köper en bil eller accepterar ett jobb. Men de kostar mindre pengar att utföra och är mer effektiva. Den mänskliga faktorn är praktiskt taget eliminerad. Den mest kända blockchain-plattformen som erbjuder smart contracts är Ethereum, men många andra plattformar erbjuder nu även funktionen.
[br]
[br]
[br]
[br]
[br]
Smart contracts – Definition
Smart contracts är själv-utförande kontrakt, där villkoren i avtalet mellan köpare och säljare skrivs direkt i koden. Avtalen tillsammans med koden existerar på ett distribuerat och decentraliserat blockchain-nätverk. Smart contracts möjliggör utförandet av pålitliga transaktioner och avtal mellan olika anonyma parter, utan behov av en central myndighet, ett rättssystem eller en extern verkställighetsmekanism. Smart contracts gör alla transaktioner spårbara, transparenta och irreversibla.
Hur fungerar smart contracts
Smart contracts beskrevs först 1993 av datorvetenskapsmannen Nick Szabo, han insåg att smart contracts kan drivas inom en blockchain. Kontrakt är avtal mellan flera parter som innehåller nedskrivna rättsligt bindande överenskommelser. Vanliga icke-digitala kontrakt formuleras skriftligt och innehåller information om avtalsslutande parterna, samt vilka krav respektive part måste uppfylla för att uppnå konsensus.
Smart contracts innehåller samma information som konventionella kontrakt, men kontraktsinformationen anges i koden med följande princip: Kod är lag. Till exempel kan företag A använda ett smart contract för att sälja en tjänst till kund B, där tjänsten blir tillgänglig för kund B om ett betalningskrav uppfylls. Så här fungerar smart contracts: de innehåller if-then regler. Om ett villkor som anges i avtalet är uppfyllt kommer motsvarande part automatiskt genomföras. Det betyder att definierade aktiviteter för att förverkliga avtalets vilja automatiskt utförs när en nödvändig händelse inträffar. Samtidigt informeras samtliga avtalsslutande parter om statusförändringar i realtid. Den decentraliserade arkitekturen för en blockchain kräver att alla datorer i nätverket har den senaste informationen tillgänglig så att den förblir säker.
Ethereum är ett exempel på en blockchain-plattform som erbjuder smart contracts. Plattformen bygger på Bitcoins peer-to-peer transaktionssystem. Bitcoin-nätverket fungerar genom ett decentraliserat nätverk av datorer som alla är anslutna till varandra i realtid. Datorerna i Bitcoin-nätverket har delvis eller hela blockkedjan sparad. När en bitcoin-transaktion genomförs skickas denna information automatiskt till och sparas av alla datorer i nätverket. Ethereum gör samma sak med smart contracts, vilket gör dem särskilt säkra. Solidity är programmeringsspråket som används för smart contracts på Ethereum-nätverket.
Fördelar med smart contracts
Blockchain-baserade smart contracts har ett antal fördelar jämfört mot traditionella kontraktsformer. Några av fördelarna är:
Pålitlighet: Om ett smart contract är korrekt programmerat är det praktiskt taget omöjligt att missuppfatta kontraktsvillkoren. Det betyder även att dokument inte försvinner.
Säkerhet: Om ett smart contract är programmerat på en blockkedja skyddas det från hackare genom kryptografiska funktioner. Ingen kan i efterhand ändra de förhandlade avtalsvillkoren.
Effektivitet: Att programmera ett smart contract tar mindre tid än motsvarande byråkratiska bearbetning, vilket sparar både tid och pengar.
Oberoende: Smart contracts kräver inte en tredje part, såsom advokater, notarier eller bankirer. Den oföränderliga blockkedjan används för att verifiera kontrakt och av denna anledning gäller principen “Kod är lag”. Programkoden för kontraktet avgör om kontraktsvillkoren uppfylls korrekt eller inte.
Dessutom finns möjligheten att implementera en kryptovaluta i de digitala kontrakten. Det innebär att kontraktet kan uppfyllas direkt i en kryptovaluta.
Vill du köpa kryptovalutor?
I vår stora kryptovaluta guide hittar du allt du behöver för att komma igång!
Nackdelar med smart contracts
Konceptet för digitala kontrakt är ännu inte fullt utvecklat. De kan också orsaka problem, exempelvis om programkoden är felaktig. Eftersom informationen på en blockkedja inte kan ändras, kan inte fel i programkoden revideras. Ett kostsamt fel inträffade i det komplexa digitala kontraktet i form av en DAO, vilket gjorde det möjligt för hackare att stjäla mer än 50 miljoner dollar i ether den 17 juni 2016. Det resulterade att Ethereum utförde en hard fork och skapade kryptovalutan Ethereum Classic.
Digitala kontrakt med blockchain-tekniken är starkt beroende på förmågan hos programmeraren. En annan begränsning av tillämpningen är att alla inte har en internetåtkomst eller en anslutande enhet.
Exempel på smart contracts
Teoretiska tillämpningsexempel på smart contracts inkluderar:
Supply chains: Varuförsörjningskedjan består främst av flera parter. Från konsumenten, via återförsäljaren, grossisten, företaget, leverantören och tillverkaren. Digitala kontrakt på en blockchain kan erbjuda alla involverade parter ett gemensamt kontrakt. Alla berörda parter kan sedan följa vilket skede produkten är i realtid.
Sjukvård: Patientdata kan kartläggas i ett digitalt avtal för patienten såväl som för läkare och försäkringsbolag. Det skulle vara möjligt för varje part att se alla nödvändig data på ett ögonkast. Patienterna kan också bestämma individuellt vilken information de vill uppge.
Fastigheter: Digitala kontrakt kan reglera hyresavtal, men gör det även möjligt att lättare köpa eller sälja mark.
Regeringar: Regeringar kan genomföra ett val genom digitala kontrakt. Grunden för detta kan vara ett avtal som ingås mellan regering och medborgare i landet. Det skulle göra det möjligt för regeringen att se vem som röstade och samtidigt underlätta processen för medborgarna.
Licensiering: Programvarutjänster kan tilldelas effektivt via digitala kontrakt. På detta sätt kan programutvecklare föreskriva i kontraktet att programvaran automatiskt inaktiveras när obehöriga får åtkomst till den.
Utöver teoretiska exempel används digitala kontrakt redan på marknaden. Elleverantören RWE erbjuder sina kunder digitala kontrakt via Ethereum-plattformen, så att de enkelt kan betala vid en laddningsstation. Ett annat exempel är kortspelet Spells of Genesis som använder digitala kontrakt för att tilldela spelare rättigheter för enskilda kort.
Blockchains med stöd för smart contracts
Bitcoin – begränsade alternativ
Bitcoin Side Chains – lite fler alternativ
Ethereum – den mest avancerade kodnings- och processtekniken
NXT – erbjuder ett begränsat urval av smart contracts mallar
Ripple – Med Codius-systemet (XRP)
EOS – påminner om Ethereum-blockkedjan (EOS)
Programmera smart contracts
Det kontraktsorienterade programmeringsspråket Solidity används för att skriva smart contracts. Solidity används för att implementera smart contracts på olika blockchain-plattformar och utvecklades av tidigare Ethereum-anställda – ursprungligen endast för Ethereum-blockkedjan. Kan nu användas på andra blockchains.
Smart contracts sammanfattning
Digitala kontrakt är en innovation jämfört med konventionella kontrakt och kan ingås mellan många olika parter över hela världen. Med hjälp av ett smart contract kan de avtalsslutande parterna inte bara använda programkoden för att definiera vilka avtalsvillkor de samtycker till, utan också bestämma vad avtalet automatiskt ska göra om villkoren är uppfyllda. Det är möjligt att integrera kryptovalutor som betalningsmedel i smart contracts. Digitala kontrakt kan ge morgondagens form av kontrakt.