Lompat ke konten

Jeda darurat protokol DeFi

Jeda darurat dapat menghentikan tindakan kontrak pintar tertentu saat insiden diselidiki. Pelajari cara memverifikasi cakupan, kewenangan, bukti on-chain, jalur keluar, dan syarat pembukaan kembali.

Diperbarui

Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.

Jawaban langsung

Jeda darurat adalah kontrol kontrak pintar yang memblokir tindakan tertentu saat operator menyelidiki atau membatasi insiden. Jeda tidak dengan sendirinya membuktikan dana hilang, membuat dana dapat dipulihkan, atau menghentikan semua fungsi. Kode yang diterapkan menentukan apakah setoran, penarikan, pinjaman, pembayaran, likuidasi, swap, transfer, pencetakan, atau peningkatan terdampak.

Utilitas Pausable OpenZeppelin menyediakan status jeda, modifier whenNotPaused dan whenPaused, serta peristiwa Paused(account) dan Unpaused(account). Protokol tetap harus menghubungkan pemeriksaan itu ke fungsi tertentu dan melindungi jalur jeda serta pembukaan jedanya. Protokol khusus dapat memakai beberapa flag, pembekuan per pasar, batas, atau mesin status.

Anggap jeda sebagai alat respons insiden sekaligus kekuasaan istimewa. Verifikasi kontrak dan jaringan yang tepat, status kini, transaksi pemicu, pemanggil, pemegang peran, fungsi yang tersedia, akuntansi selama jeda, serta syarat pembukaan. Tombol situs yang dinonaktifkan bukan bukti on-chain yang berwenang.

Cara kerjanya

  1. Pemicu terdeteksi. Pemantauan, kontributor, auditor, atau pengguna dapat menemukan cacat kode, kegagalan oracle, perubahan saldo abnormal, serangan tata kelola, atau gangguan pasar.
  2. Akun berwenang mengirim transaksi. Pemanggil dapat berupa pemilik, guardian, multisig, peran kontrol akses, pelaksana tata kelola, atau kontrak lain. Label bukan izin; periksa jalur otorisasi dan administrator proxy yang diterapkan.
  3. Kontrak mengubah status. Sakelar global dapat memblokir semua fungsi yang dilindungi; kontrol terperinci dapat menjeda satu pasar atau tindakan saja. Fungsi tanpa pemeriksaan terkait tetap berjalan.
  4. Status dan peristiwa menjadi bukti. Baca variabel atau getter jeda, input dan tanda terima transaksi, peristiwa, waktu blok, dan pemanggil. Peristiwa merekonstruksi riwayat, tetapi penyimpanan kini menentukan status sekarang.
  5. Akuntansi dapat berlanjut. Indeks bunga, funding, imbalan, pembaruan oracle, antrean penarikan, atau waktu likuidasi dapat berlanjut, membeku, atau menyusul kemudian. Tidak ada perilaku jeda universal.
  6. Respons dan perbaikan berlangsung. Operator dapat menyelidiki, berkomunikasi, mencabut peran, mengubah parameter, meningkatkan kode, menutup kekurangan, atau menawarkan penarikan darurat. Setiap tindakan perlu kewenangan dan verifikasi tersendiri.
  7. Pembukaan adalah tindakan istimewa terpisah. Pastikan siapa yang dapat membuka jeda, apakah ada timelock atau pemungutan suara, perubahan kode dan konfigurasi, cakupan pengujian atau audit, serta risiko persetujuan atau kontrak lama.

Gunakan penjelajah blok dan sumber atau bytecode terverifikasi untuk membuat matriks: tindakan, alamat kontrak, syarat jeda, ketersediaan kini, pemanggil berwenang, dan dampak pada saldo atau utang. Cocokkan pengumuman melalui domain resmi lama, forum tata kelola, dan akun resmi; jangan mengandalkan balasan atau iklan yang muncul saat insiden.

Contoh

Misalkan protokol pinjaman mendeteksi oracle agunannya berbeda 30% dari pasar acuan. Guardian menjeda pinjaman baru dan likuidasi, tetapi membiarkan pembayaran serta penambahan agunan. Ini membatasi eksposur baru dan mencegah likuidasi pada harga yang diperdebatkan, tetapi tidak membuktikan penarikan, akrual bunga, atau semua pasar lain dijeda.

Pengguna harus memverifikasi transaksi guardian, alamat pasar, flag jeda, status oracle, cadangan, indeks utang, dan pemberitahuan resmi. Jika antarmuka hanya menampilkan “Protokol dijeda”, pesan itu belum mengungkap seluruh matriks fungsi.

Jika tata kelola kemudian memasang oracle baru dan membuka pasar, verifikasi perubahan implementasi dan parameter, cakupan audit, pemanggil pembukaan, dan status sesudah transaksi. Pembukaan tidak membuktikan likuiditas, solvabilitas, atau kedalaman pasar normal telah kembali.

Risiko

  • Kewenangan terlalu luas. Kunci jeda mungkin juga dapat meningkatkan kode, mengganti oracle, mencetak aset, memindahkan cadangan, atau memberikan peran. Daftar tiap izin; jangan berasumsi guardian hanya dapat menjeda.
  • Penanda tangan disusupi atau tidak tersedia. Kunci curian dapat menghentikan layanan; penanda tangan multisig yang tidak tersedia atau berkorelasi dapat menghambat jeda atau pembukaan tepat waktu.
  • Jalur pintas tersembunyi. Administrator proxy, modul, jalur masuk lain, pelaksana lintas rantai, atau fungsi tanpa perlindungan dapat melewati kontrol.
  • Jalur keluar terblokir dan kewajiban berlanjut. Penarikan dapat berhenti sementara bunga, funding, posisi antrean, atau kewajiban lain berubah. Baca aturan akuntansi sebelum bertindak.
  • Pembukaan tidak aman. Jeda dapat dibuka sebelum akar masalah, identitas penerapan, konfigurasi oracle, cadangan, dan integrasi dependen diverifikasi penuh.
  • Phishing saat insiden. Halaman “pemulihan” atau “migrasi” palsu dapat meminta frasa seed, kunci privat, tanda tangan, atau persetujuan tanpa batas. Jangan ungkap rahasia pemulihan dan verifikasi tiap alamat serta persetujuan secara mandiri.
  • Rasa aman palsu. Jeda hanya mengurangi jalur yang benar-benar dilindungi. Jeda bukan bukti solvabilitas, audit, asuransi, atau jaminan pemulihan kerugian.

Sebelum berinteraksi lagi, arsipkan transaksi dan pengumuman, bandingkan kode terverifikasi dengan proxy dan implementasi aktif, periksa perubahan peran dan timelock, cabut persetujuan usang bila perlu, lalu uji tindakan penting dengan jumlah yang sanggup hilang. Panggilan kontrak langsung dapat melewati antarmuka rusak, tetapi juga pemeriksaan keselamatannya; jangan mencoba tanpa memahami calldata dan status.

Kesalahpahaman umum

  • “Dijeda berarti semua aset hilang.” Jeda mungkin bersifat pencegahan; pastikan saldo, kewajiban, cadangan, dan fungsi terdampak.
  • “Antarmuka nonaktif berarti kontrak tak dapat digunakan.” Ketersediaan frontend dan status kontrak terpisah. Lakukan panggilan langsung hanya jika target, fungsi, argumen, dan akibatnya dapat diverifikasi.
  • “Guardian hanya dapat menjeda.” Label itu tidak memiliki izin standar. Baca peran, pemilik, modul, dan kewenangan peningkatan on-chain.
  • “Waktu berhenti selama jeda.” Akuntansi ekonomi dan antrean dapat terus berjalan atau berlanjut dengan perubahan terakumulasi.
  • “Dibuka berarti sudah diperbaiki dan aman.” Pembukaan hanya perubahan status; perbaikan, audit, solvabilitas, persetujuan, dan likuiditas tetap perlu pemeriksaan mandiri.

Topik terkait

Sumber

Navigasi

Cari di wiki...