Smart Contracts: Vad är det?

Nick Szabo introducerade idén om smarta kontrakt på 1990-talet men de fick inte uppmärksamhet förrän årtionden senare. Idag är det mer aktuellt och närvarande än någonsin så varför inte gräva lite djupare i detta ämne? 

Om - Så

Smarta kontrakt är kontrakt som utför exempelvis transaktioner när vissa förutbestämda kriterier uppnås. Detta låter inte som något speciellt, snarare som vanlig automation men kruxet är att smart contracts är byggda på blockkedjor. Man kan förklara smart contracts simpelt genom två meningar, en som börjar med “Om” och en som börjar med “Så”. Exempelvis “Om du stake:ar din NFT” “Så får du en airdrop av token X”. I verkligheten är dock smart contracts mycket mer komplexa och för att förklara “Om” och “Så” delen av smart contracts krävs betydligt mer än två meningar. När man bygger in dessa kontrakt i en blockkedja tar man bort behovet av mellanhänder som kontrollerar “Om” något är uppfyllt. Allt är spårbart på blockkedjan och teknologin faciliterar även “Så”, det vill säga vad som ska ske om kriteriet/kriterierna är uppfyllda. 

Dex vs Cex

I tidigare artiklar har vi gått igenom vad en dex (decentralized exchange) och en cex (centralized exchange) är. Skillnaden med dessa är att decentraliserade marknadsplatser inte har några mellanhänder, istället har dem smart contracts som hjälper till att facilitera transaktioner av kryptovalutor. På centraliserade marknadsplatser måste man lägga över rollen som smart contracts har på själva marknadsplatsen och det blir deras ansvar att se så att kriterierna för transaktionen stämmer och att den blir genomförd. Då måste man därmed lita på en mellanman, och hur mycket du litar på en mellanman beror ofta på vilken tillit du har för företaget som faciliterar transaktionen. Med smarta kontrakt tar du bort behovet av mellanhänder och du sätter din tillit i teknologin. Detta kan dock också kännas olustigt om man inte förstår teknologin. 

6 Attribut som är typiska smart contracts

  1. Distruberad - Varje nod i en bloickkedja sparar data i en blockkedja, och hela tiden har de kommunikation mellan varandra för att uppdatera så att informationen i blockkedjan är likadan och sanningsenlig på hela nätverket. Informationen eller datan som finns sparad på blockkedjan kan vara just smart contracts, finns smart contracts i alla noder som driver en blockkedja faciliterar det att smart contracts fungerar när man använder dem.  

  2. Deterministisk - Smarta kontrakt ger A om B uppfylls, detta är bestämt sedan innan och det spelar ingen roll vem på en blockkedja som försöker utföra smart contracts, “Om” och “Så” är samma för alla. 

  3. Autonoma - De behöver inte styras utan de sköter sig själva efter att de implementerats på en blockkedja. De sköter sig själva tills en användare på blockkedjan interagerar med dem. Om ingen interagerar med smart contracts så gör de oftast ingenting alls. 

  4. Oföränderlig - När ett smart kontrakt implementeras i en blockkedja kan det inte längre ändras. Detta gäller dock endast om det smarta kontraktet inte innehåller en kod som ger kontraktet möjlighet att raderas i framtiden så att utvecklaren kan ersätta det med ett nytt smart kontrakt. 

  5. Anpassningsbara - Smart contracts kan bli kodade så att de skapar dApps (decentraliserade applikationer). Detta ger stor möjlighet till vad man kan uppnå med smart contracts. 

  6. Transparent - Eftersom blockkedjor är publika (iallafall de flesta) så innebär det att smart contracts är tillgängliga för dig att granska. Även fast du själv kanske inte kan avgöra om ett smart kontrakt är skadligt eller innehåller en bugg så finns det massvis med företag och andra användare som kan granska och styrka att smart contracts är tillförlitliga. 

Nackdelarna med smart contracts

En stor nackdel med smart contracts har med oss människor att göra eftersom att vi är de som programmerar smart contracts (snart löser antagligen AI det på egen hand). Det innebär att det finns utrymme för imperfektion och buggar eller misstag i programmen kan göra kontrakten sårbara, se bara artikeln HÄR som exempel. 

Sammanfattning

Smart contracts har många fördelar om de implementeras på ett bra sätt. Trots detta har de även nackdelar och sårbarheter som kan utnyttjas i skadliga syften. Utöver detta finns det en ständigt pågående debatt om decentralisering eller centralisering är bättre, svaret på den frågan skiljer sig åt inom olika områden. Men, smarta kontrakt används redan på flera olika företag och har möjligheten att sprida sig in i vår vardag. Hur tror du smart contracts påverkar dig och din vardag?

Previous
Previous

DeFi: Vad är det?

Next
Next

NFTs: På vilka blockkedjor finns dem?