Een timelock is een smart contract dat tussen de beheerders van een protocol en het protocol zelf zit. Elke gevoelige wijziging, zoals een upgrade, een feewijziging of een nieuwe admin, wordt eerst openbaar ingepland en kan pas na een vaste wachttijd worden uitgevoerd, bijvoorbeeld 48 uur. In die periode kan iedereen zien wat er aankomt, en gebruikers die het er niet mee eens zijn, kunnen vertrekken.
Waarom een timelock?
- Vertrouwen: gebruikers hoeven er niet op te vertrouwen dat beheerders zich goed gedragen; zij zien elke wijziging voordat die ingaat.
- Bescherming tegen gestolen sleutels: krijgt een aanvaller controle over een adminsleutel of multisig, dan geeft de wachttijd het team ruimte om dit op te merken en te reageren voordat de kwaadaardige wijziging wordt uitgevoerd.
- Governance: in een DAO voert de timelock voorstellen uit die een stemming hebben gehaald, na een wachtperiode.
Zo richten wij het in
- Wat via de timelock gaat: upgrades, rolwijzigingen, fee- en parameterwijzigingen, en treasurytransacties boven een drempel. Niet alles heeft een wachttijd nodig.
- Wat niet: een noodpauze moet snel zijn. Een aparte guardian-rol die alleen kan pauzeren en niets kan wijzigen, regelt dat.
- De wachttijd: lang genoeg voor gebruikers en monitoring om te reageren, kort genoeg om urgente problemen op te lossen. 24 tot 72 uur is een gangbare bandbreedte.
- Proposers en executors: meestal stelt een multisig voor, en is de uitvoering na de wachttijd open of beperkt, afhankelijk van de opzet.
- Monitoring: meldingen bij elke ingeplande operatie, zodat uw team en community wijzigingen zien zodra ze in de wachtrij staan.
Meestal bouwen wij op de TimelockController van OpenZeppelin en verbinden wij die met uw toegangscontrole en upgrade-opzet.
Veelgestelde vragen over timelock contracts
Vertraagt een timelock elke actie?
Alleen de acties die u erdoor laat lopen. Dagelijkse operaties en noodpauzes kunnen snel blijven; de timelock is voor wijzigingen die het geld of de rechten van gebruikers raken.
Kan een ingeplande wijziging worden geannuleerd?
Ja. Accounts met de canceller-rol kunnen een operatie in de wachtrij annuleren voordat die wordt uitgevoerd, precies wat u nodig heeft als er een kwaadaardige of foutieve wijziging is ingepland.
Hoe lang moet de wachttijd zijn?
Dat hangt af van hoe snel uw gebruikers en team kunnen reageren en hoe urgent reparaties doorgaans zijn. Wij helpen u kiezen, en de wachttijd zelf kan alleen via de timelock worden gewijzigd.
Wie is eigenaar van de code?
Het eigendom van de broncode wordt contractueel vastgelegd, en de code kan volledig van u zijn, inclusief documentatie en tests.
Onderdeel van onze smart contract ontwikkeling. Audit gepland? Zie smart contract audit ondersteuning.
Maak wijzigingen transparant
Vertel ons hoe uw protocol nu wordt bestuurd. Wij ontwerpen een timelock-opzet die gebruikers beschermt zonder uw team te blokkeren.