Ett smart kontrakt är kod som körs på en blockkedja. Det exekveras automatiskt när villkoren är uppfyllda. Ingen advokat, ingen notarie, ingen escrow-agent. Koden är avtalet. Om du skickar 1 ETH till ett kontrakt som lovar att skicka tillbaka en token, gör kontraktet antingen det eller så misslyckas transaktionen. Det finns ingen medelväg och ingen att vädja till. Den slutgiltigheten är poängen. Det är också risken. Buggar i smarta kontrakt har förlorat hundratals miljoner dollar. DAO-hacket 2016 dränerade 60 miljoner dollar. Frysningen av Parity-plånboken låste in 150 miljoner dollar. Kod är lag, och lag kan ha buggar.
Ethereum introducerade smarta kontrakt 2015. Soliditet är det vanligaste språket. Utvecklare skriver kontraktet, testar det på ett testnät, granskar det och driftsätter det. När det väl är driftsatt är kontraktet oföränderligt om det inte inkluderar en uppgraderingsmekanism. Den uppgraderingsmekanismen är en centraliseringsrisk. Om en plånbok kan ändra kontraktet är kontraktet inte helt decentraliserat. De flesta större DeFi-protokoll använder multisig-plånböcker eller styrningsröster för att kontrollera uppgraderingar. Avvägningen mellan oföränderlighet och uppgraderingsbarhet är en av de centrala spänningarna i design av smarta kontrakt.
Viktiga saker att veta om smarta kontrakt
- Självkörande — körs automatiskt när villkoren är uppfyllda
- Oföränderlig — kan inte ändras efter driftsättning om den inte är utformad för att vara det
- Transparent — koden är offentlig på blockkedjan
- Granskningsbar — vem som helst kan granska logiken
Läs kontraktet innan du interagerar med det. Om du inte kan läsa koden, hitta någon som kan det. Eller håll dig till protokoll som har granskats och testats i strid.
Comments
No comments yet. Be the first to share a thought.
Leave a comment