Timelock controller adalah smart contract yang ditempatkan antara kontrak tata kelola dan kontrak protokol yang mereka kelola — setelah proposal tata kelola lulus, alih-alih langsung dieksekusi, tindakan yang diusulkan ditambahkan ke antrian timelock, dan hanya setelah penundaan timelock berakhir — biasanya 24 jam hingga 7 hari — tindakan tersebut dapat dieksekusi, memberikan jendela kritis bagi pengguna yang tidak setuju untuk keluar, peneliti keamanan meninjau calldata, dan guardian keamanan membatalkan proposal jika terdeteksi serangan tata kelola.
Serangan tata kelola Beanstalk yang menghancurkan senilai $181 juta pada April 2022 — di mana penyerang meloloskan proposal berbahaya melalui serangan tata kelola flash loan dan mengeksekusinya segera tanpa timelock — mengukuhkan timelock sebagai persyaratan keamanan yang tidak dapat dikompromikan. TimelockController OpenZeppelin telah menjadi standar de facto, digunakan oleh Compound, Uniswap, Aave, dan ratusan protokol lainnya.
Cara Kerja Timelock Controller
“`
Vote Tata Kelola Lulus
↓
TimelockController.schedule(target, value, data, delay)
↓
[Penundaan Wajib: 48 jam – 7 hari]
↓
Siapa pun memanggil TimelockController.execute(target, value, data)
↓
Tindakan dieksekusi pada kontrak protokol
“`
Peran kunci dalam TimelockController:
- PROPOSER_ROLE — Dapat menjadwalkan (mengantri) transaksi baru — biasanya kontrak governor DAO
- EXECUTOR_ROLE — Dapat mengeksekusi transaksi yang di-antri setelah penundaan — biasanya terbuka (siapa pun) atau guardian
- CANCELLER_ROLE — Dapat membatalkan transaksi yang di-antri — biasanya dewan keamanan / guardian multisig
- TIMELOCK_ADMIN_ROLE — Dapat memodifikasi timelock itu sendiri (biasanya self-administered)
Desain Penundaan
| Protokol | Penundaan Timelock |
|---|---|
| Compound | 48 jam |
| Uniswap | 48 jam |
| Aave | 24 jam (pendek) hingga 7 hari (panjang) |
| MakerDAO | 48 jam hingga 28 hari (per kategori) |
| Optimism | 7 hari (kritis) |
Pelajaran dari Serangan Beanstalk (2022)
Pada April 2022, Beanstalk Protocol mengalami serangan tata kelola:
- Penyerang meminjam miliaran dolar melalui flash loan untuk sementara mendapatkan mayoritas suara tata kelola
- Meloloskan proposal berbahaya yang mentransfer semua dana protokol ke wallet penyerang
- Karena tidak ada timelock, proposal dieksekusi dalam transaksi yang sama
- $181 juta dikuras dalam satu transaksi
Dengan timelock 48 jam, serangan ini tidak mungkin terjadi — flash loan tidak dapat mempertahankan kepemilikan token selama 48 jam; pengguna dan tim keamanan akan mendeteksi proposal berbahaya dan membatalkannya.
Kritik
- Risiko CANCELLER_ROLE terpusat — Jika CANCELLER_ROLE dipegang oleh entitas tunggal, mereka dapat membatalkan proposal tata kelola yang sah, menciptakan titik sentralisasi.
- Penundaan menghambat respons darurat — Dalam insiden keamanan aktif, 48-jam timelock dapat berarti protokol tidak dapat menerapkan perbaikan darurat cukup cepat.
- Tidak berlaku untuk semua tindakan — Banyak protokol mengecualikan tindakan darurat tertentu dari timelock, membuat perlindungan tidak lengkap.
Sentimen Media Sosial
Di X/Twitter, timelock controller sering muncul dalam audit keamanan protokol DeFi dan laporan insiden pasca-eksploitasi. Di komunitas DeFi Indonesia, topik ini semakin dikenal seiring meningkatnya kesadaran keamanan. Terakhir diperbarui: 2026-04
Istilah Terkait
Lihat Juga
Sumber
- OpenZeppelin dokumentasi
TimelockController: implementasi standar industri dengan penjelasan peran dan fungsi (https://docs.openzeppelin.com/contracts/4.x/governance#timelock) — referensi teknis utama untuk implementasi timelock controller. - Rekt.news: analisis mendalam serangan tata kelola Beanstalk $181 juta April 2022 (https://rekt.news/beanstalk-rekt/) — studi kasus definitif mengapa timelock wajib ada.
- Trail of Bits: panduan audit keamanan DeFi dengan bagian tentang persyaratan timelock (https://blog.trailofbits.com/2023/08/14/can-you-trust-a-smart-contract/) — perspektif firma audit keamanan terkemuka.