Smarta kontrakt är självutförande program som körs på en blockkedja. Smarta kontrakt skrivs i ett programmeringsspråk som är specifikt för den blockkedja de används på. Smarta kontrakt kan som standard inte få tillgång till externa data och information från den verkliga världen.
De viktigaste egenskaperna hos smarta kontrakt är oföränderlighet, transparens och självutförande. Smarta kontrakt och decentraliserade applikationer (Dapps) är olika begrepp, även om de ofta används synonymt.
Smarta kontrakt har potential att revolutionera olika branscher genom att öka effektiviteten, minska kostnaderna och minska riskerna. Även om smarta kontrakt erbjuder många fördelar har de också vissa utmaningar och begränsningar som måste erkännas. Smarta kontrakt har redan visat sin potential att revolutionera branscher.
Innehållsförteckning
Vad är smarta kontrakt?
Smarta kontrakt är självutförande program som körs på en blockkedja. Smarta kontrakt gör det möjligt att automatiskt genomföra transaktioner och avtal mellan parter, utan att det behövs mellanhänder. Även om smarta kontrakt beskrivs som ”smarta” och ”kontrakt” kan dessa termer dock vara missvisande.
För det första innebär termen ”smart” i smarta kontrakt inte inneboende intelligens eller beslutsförmåga. Smarta kontrakt är bara lika smarta som den kod som definierar dem och de regler som de är programmerade att följa. Utförandet av ett smart kontrakt inbegriper ingen subjektiv bedömning.
För det andra, även om smarta kontrakt ofta kallas kontrakt, liknar de inte alltid juridiska kontrakt. Smarta kontrakt är i huvudsak kodstycken som automatiserar utförandet av fördefinierade åtgärder.
Begreppet smarta kontrakt introducerades först av datavetaren Nick Szabo på 1990-talet. Men det var inte förrän utvecklingen av blockkedjetekniken som smarta kontrakt blev en praktisk verklighet.
Blockkedjan Ethereum, som lanserades 2015, var den första plattformen som införde smarta kontrakt som en huvudfunktion. Sedan dess har många andra blockkedjeplattformar följt efter.
Nedan följer en lista över de fem mest populära plattformarna för smarta kontrakt sorterade efter total likviditet (TVL).
Plattform | Token | TVL | Marknadsandel |
---|---|---|---|
Ethereum | ETH | $26,9 miljarder | 57,7 % |
Tron | TRX | $5,7 miljarder | 12,1 % |
BNB Chain | BNB | $4,3 miljarder | 9,2 % |
Arbitrum | ARB | $2,3 miljarder | 4,9 % |
Polygon | MATIC | $1,0 miljarder | 2,1 % |
Optimism | OP | $0,9 miljarder | 1,9 % |
Bitcoin använder också en blockkedja, men har inte samma programmeringsmöjligheter som Ethereum och andra plattformar för smarta kontrakt. Bitcoins skriptspråk är begränsat i sin kapacitet och utformades inte med smarta kontrakt i åtanke.
Hur skapas smarta kontrakt?
Smarta kontrakt skrivs i ett programmeringsspråk som är specifikt för den blockkedja de används på. Därefter förklarar vi hur smarta kontrakt skapas och implementeras på Ethereum-blockkedjan. Processen liknar andra plattformar för smarta kontrakt.
På Ethereum skrivs smarta kontrakt i ett programmeringsspråk som kallas Solidity. Solidity är ett statiskt typat språk på hög nivå som är särskilt utformat för att skapa smarta kontrakt.
Nedan finns ett exempel på en funktion som är skriven i Solidity.
När Solidity-koden är skriven måste den kompileras till bytekod som kan exekveras av Ethereums virtuella maskin (EVM). EVM är en körtidsmiljö inom Ethereum-nätverket som kör smarta kontrakt. Varje nod i Ethereum-nätverket kör en identisk kopia av EVM.
Därefter distribueras det smarta kontraktet på Ethereums blockkedja. Denna distributionsprocess innebär att man skapar en transaktion som innehåller bytekoden för det smarta kontraktet. Transaktionen sänds sedan till Ethereum-nätverket.
Validerare i Ethereum-nätverket inkluderar den skickade transaktionen i ett nytt blockkedjeblock. Det är då som det smarta kontraktet blir tillgängligt för alla deltagare i nätverket. Det smarta kontraktet blir också oföränderligt, vilket innebär att dess kod inte kan ändras.
Vad händer om det finns ett fel i ett smart kontrakt eller om en ny version av koden lanseras? Detta kräver att man skapar ett nytt smart kontrakt. Om det finns medel lagrade i det gamla smarta kontraktet måste de också flyttas till det nya.
Smarta kontrakt behöver orakel
Smarta kontrakt kan som standard inte få tillgång till externa data och information från den verkliga världen. Det är här som orakel kommer in i bilden.
Orakel fungerar som broar mellan smarta kontrakt och den externa världen. Utan orakel skulle smarta kontrakt vara begränsade till att använda data från den blockkedja de är installerade på. Det skulle finnas strikta gränser för vilken typ av applikation som kan byggas.
Här är fem exempel på dataflöden som smarta kontrakt använder.
- Prisuppgifter om kryptovalutor
- Väderdata
- Uppgifter om sport och spel
- IoT-data
- VRF (verifierbar slumpmässig funktion)
Man måste vara medveten om att det finns risker med att använda ett orakel, eftersom ett orakel kan äventyra integriteten hos ett smart kontrakt. Detta kan hända om uppgifterna kommer från en enda betrodd källa.
Chainlink har löst problemet med dataintegritet. Chainlink har byggt upp ett decentraliserat nätverk av orakel för att hämta data från flera oberoende källor. Genom att sammanställa data från olika leverantörer säkerställer Chainlink att uppgifterna är korrekta och minimerar risken för korruption.
Chainlink har blivit den ledande leverantören av Oracle. Mer än tusen decentraliserade applikationer använder Chainlinks decentraliserade orakel-nätverk. Det har blivit en viktig del av DeFi-infrastrukturen. Läs mer om orakel i vår Chainlink-guide.
Viktiga egenskaper hos smarta kontrakt
De viktigaste egenskaperna hos smarta kontrakt är oföränderlighet, transparens och självutförande. Dessa egenskaper skiljer smarta kontrakt från traditionella kontrakt. Låt oss utforska dessa funktioner härnäst.
En av de utmärkande egenskaperna hos smarta kontrakt är deras oföränderlighet. När ett smart kontrakt väl har lagts ut på en blockkedja kan dess kod och logik inte ändras. Denna oföränderlighet garanterar att de villkor som definieras i kontraktet inte kan manipuleras.
Oföränderlighet är en viktig egenskap för DeFi-aplikationer (decentraliserad finans). Nedan finns en bild av Aave, som är en populär DeFi-låneapplikation. Utan immutabiliteten hos smarta kontrakt skulle Aave och andra DeFi-appar inte kunna existera.
Transparens för smarta kontrakt innebär att programkoden och transaktionshistoriken är synliga för alla på blockkedjan. Alla deltagare kan verifiera och granska utförandet av ett smart kontrakt. Detta eliminerar behovet av mellanhänder eller verifieringar av tredje part.
Du kanske har hört talas om revisioner av smarta kontrakt. Dessa avser revisioner av programkoden för det smarta kontraktet innan det distribueras på blockkedjan. Syftet med revisionerna är att hitta kritiska fel och logiska brister.
Smarta kontrakt är utformade för att vara självutförande program som förbinder fördefinierade villkor och åtgärder. När de angivna villkoren är uppfyllda utför det smarta kontraktet automatiskt de överenskomna åtgärderna. Detta eliminerar behovet av manuellt ingripande.
Självutförande minskar mänskliga fel, effektiviserar processer och ökar effektiviteten. DeFi-appar är bra exempel på dessa fördelar. De är helt automatiserade applikationer som inte kräver någon mänsklig inblandning i något skede.
Smarta kontrakt vs. Dapps
Smarta kontrakt och decentraliserade applikationer (Dapps) är olika begrepp, även om de ofta används synonymt. Den största skillnaden mellan smarta kontrakt och Dapps är att smarta kontrakt är fristående kodstycken som utför fördefinierade funktioner. Dapps, å andra sidan, är mer komplexa applikationer som använder smarta kontrakt för sin funktionalitet. Smarta kontrakt kan ses som byggstenarna i Dapps.
Bilden nedan visar populära Dapps som är listade på dappradar.com.
Dapps består vanligtvis av ett användargränssnitt eller front-end som interagerar med smarta kontrakt. Det kan också finnas flera front-end som är byggda för att interagera med samma smarta kontrakt.
Exempel på tillämpningar av smarta kontrakt
Smarta kontrakt har potential att revolutionera olika branscher genom att öka effektiviteten, minska kostnaderna och minska riskerna. I det här kapitlet kommer vi att utforska fyra verkliga exempel på hur smarta kontrakt kan användas.
- Finans
- NFTs
- Fastigheter
- Hantering av leveranskedja
Smarta kontrakt kan användas inom finansbranschen för att automatisera olika processer, t.ex. utbetalning av lån, förvaltning av tillgångar och försäkringar. Ett smart kontrakt kan till exempel automatiskt betala ut ett lån till en låntagare när fördefinierade villkor är uppfyllda, t.ex. en viss kreditvärdighet eller säkerhet. Denna automatisering kan öka effektiviteten och minska de manuella verifierings- och behandlingskostnaderna.
Decentraliserad finansiering (DeFi) är redan en 50 miljarder dollar stor industri som helt bygger på smarta kontrakt. Det finns hundratals decentraliserade finanstjänster som används av miljontals investerare. Läs mer om den här branschen i vår artikel Vad är DeFi?
Nedan finns en lista över de fem mest populära DeFi-kategorierna sorterade efter total likviditet.
Kategori | TVL |
---|---|
Likvid staking | $17,8 miljarder |
Dexes | $17,5 miljarder |
Utlåning | $14,3 miljarder |
Broar | $12,4 miljarder |
CDP | $10,1 miljarder |
Smarta kontrakt används också för att skapa och hantera NFT:er, vilket ger ett säkert och öppet sätt att spåra ägande och överföring av dessa tillgångar. När en NFT skapas, implementeras ett smart kontrakt på blockkedjan som definierar ägande, överföring och annan relevant information om tillgången.
NFT-branschen har användningsområden som digital konst, spel, tokeniserade verkliga tillgångar och till och med biljetter.
Inom fastighetsbranschen kan smarta kontrakt användas för att automatisera försäljning och köp av fastigheter. Ett smart kontrakt kan automatiskt överföra äganderätten till en fastighet till köparen när köpesumman är betald, vilket eliminerar behovet av mellanhänder som advokater och spärrvakter. Denna automatisering kan minska kostnaderna och öka transaktionens hastighet.
Smarta kontrakt kan användas inom hantering av leveranskedja för att förbättra insyn och spårbarhet. Ett smart kontrakt kan spåra varornas förflyttning från ursprungsort till destination, vilket säkerställer att alla parter som är involverade i leveranskedjan har tillgång till samma information. Detta kan minska risken för bedrägerier och fel och öka effektiviteten.
Utmaningar och begränsningar med smarta kontrakt
Även om smarta kontrakt erbjuder många fördelar har de också vissa utmaningar och begränsningar som måste erkännas. Här är fyra exempel på utmaningar och begränsningar med smarta kontrakt.
- Skalbarhet
- Sårbarhet
- Lagar
- Driftskompatibilitet
När blockkedjor blir allt populärare och mer använda blir skalbarhet en stor utmaning. Många plattformar för smarta kontrakt har haft skalbarhetsproblem när det gäller transaktionshastighet och nätverkskapacitet.
Eftersom smarta kontrakt kodas av mänskliga utvecklare kommer de alltid att innehålla fel. År 2022 kostade exploateringar av smarta kontrakt investerare 2,8 miljarder dollar. Säkerhetsrutinerna i branschen måste förbättras i framtiden.
Regelverket kring decentraliserade appar är fortfarande under utveckling i många länder. Att avgöra om smarta kontrakt kan verkställas och lösa tvister är en utmaning inom befintliga rättssystem.
Interoperabilitet avser förmågan hos olika blockkedjor att fungera tillsammans. För närvarande finns det en brist på standardisering och interoperabilitetsprotokoll. Detta har lett till att man har byggt broar för smarta kontrakt, som har visat sig vara sårbara för exploateringar. Driftskompatibiliteten mellan plattformar för smarta kontrakt måste förbättras innan det är möjligt att införa dem i större skala.
Framtiden för smarta kontrakt
Smarta kontrakt har redan visat sin potential att revolutionera branscher. Det finns dock några användningsfall som kan bli ännu mer populära i framtiden. Därefter ska vi utforska fyra potentiella framtida tillämpningar av smarta kontrakt.
- Sakernas Internet (IoT)
- Tokenisering av verkliga tillgångar
- NFTs
- DeFi
Smarta kontrakt kan användas inom IoT-området för att automatisera och effektivisera interaktioner mellan anslutna enheter. Smarta enheter kan självständigt utföra åtgärder utifrån fördefinierade villkor. IoT-branschen har nästan oändliga användningsområden för blockkedjebaserade tillämpningar.
Tokeniseringen av verkliga tillgångar har fått ökad spridning, men dess fulla potential har ännu inte förverkligats. Smarta kontrakt möjliggör delat ägande av tillgångar som fastigheter, konstverk eller immateriella rättigheter. I teorin skulle varje enskild tillgång i världen kunna tokeniseras.
Tillväxten inom sektorn för icke-fungibla token förväntas fortsätta. NFT:er har fått uppmärksamhet inom konst, samlarobjekt och spel. NFT:er kan utvidgas till ännu fler områden, inklusive musik, virtuella världar och licensrättigheter. Smarta kontrakt används för att skapa NFT:er och underlätta deras transaktioner.
DeFi har redan haft en betydande tillväxt, men har potential att ge finansiella tjänster till miljarder människor utan bankverksamhet. Dessa innovationer kan öka den finansiella inkluderingen, minska beroendet av mellanhänder och ge effektivare och öppnare finansiella system. Smarta kontrakt är byggstenarna i varje enskild DeFi-applikation.