Blockkedjor.se

Smarta kontrakt

Smarta kontrakt

Smarta kontrakt (smart contracts) är en lösning för elektroniska och automatiska kontrakt och föreslogs för första gången av Nick Szabo redan 1997. Bitcoin har ett enkelt scriptspråk som stödjer multisignaturer och tidslås m.m., men Ethereum var det projekt som för första gången anammade det på allvar.

I korta drag handlar det om att skapa kontrakt som inte kräver tillit till någon part, och som automatiskt triggas när vissa villkor uppfylls. Villkoren finns inbakade i kontraktet, och beviset för att det uppfylls ligger oftast på blockkedjan. Exempelvis om 10 kr sätts in på följande konto, skicka 50% till person X och 50% till person Y.

Orakel

Man kan också använda sig av så kallade orakel, som är decentraliserade kunskapskällor. De fungerar ungefär som ett API som kan berätta om saker som ligger utanför blockkedjan. Exempelvis, om SJs tåg kommer sent i 5% av alla avgångar, skicka 100 Ethereum till följande adresser...

Ett orakel kräver dock tillit till de som äger och hanterar det. I viss mån tar det bort värdet av att kontraktet är självkörande och inte kräver tillit. Även om oraklet integrerar mot en decentraliserad lösning så är ett orakel i sig centraliserat.

Ostoppbar kod

Ett smart kontrakt kan vanligtvis aldrig redigeras och ändras i efterhand. Något som kräver att utvecklaren har tungan rätt i mun när han skickar ut det till blockkedjan. Viss kritik har riktats på grund av detta, men det är också det som gör att man kan lita på ett kontrakt. Upphovsmakaren till kontraktet kan inte upphäva det.

Det ger möjligheter som inte funnits tidigare, och det bidrar starkt till ett Internet som är fritt från censur. Det ger också möjligheten till decentraliserade applikationer (DApps).