Een smart contract is code die op een blockchain draait. Het wordt automatisch uitgevoerd wanneer aan de voorwaarden is voldaan. Geen advocaat, geen notaris, geen tussenpersoon. De code is de overeenkomst. Als je 1 ETH naar een contract stuurt dat belooft een token terug te sturen, dan voert het contract de transactie uit of mislukt deze. Er is geen middenweg en niemand om je tot te wenden. Die definitieve aard is het punt. Het is ook het risico. Fouten in smart contracts hebben al honderden miljoenen dollars gekost. De DAO-hack in 2016 kostte $60 miljoen. De blokkering van de Parity-wallet legde $150 miljoen vast. Code is wet, en wetten kunnen fouten bevatten.
Ethereum introduceerde slimme contracten in 2015. Solidity is de meest gebruikte programmeertaal. Ontwikkelaars schrijven het contract, testen het op een testnet, controleren het en implementeren het. Eenmaal geïmplementeerd is het contract onveranderlijk, tenzij het een upgrademechanisme bevat. Dat upgrademechanisme vormt een centralisatierisico. Als één wallet het contract kan wijzigen, is het contract niet echt gedecentraliseerd. De meeste grote DeFi-protocollen gebruiken multisig wallets of governance-stemmen om upgrades te beheren. De afweging tussen onveranderlijkheid en upgradebaarheid is een van de belangrijkste spanningspunten in het ontwerp van slimme contracten.
De essentie van slimme contracten
- Zelfuitvoerend — wordt automatisch uitgevoerd wanneer aan de voorwaarden is voldaan.
- Onveranderlijk — kan na implementatie niet worden gewijzigd, tenzij dit zo is ontworpen.
- Transparant — de code is openbaar beschikbaar op de blockchain.
- Controleerbaar — iedereen kan de logica beoordelen.
Lees het contract voordat je ermee aan de slag gaat. Als je de code niet kunt lezen, zoek dan iemand die dat wel kan. Of houd je aan protocollen die gecontroleerd en in de praktijk getest zijn.
Comments
No comments yet. Be the first to share a thought.
Leave a comment