Lompat ke konten

Timelock: transaksi dan tindakan tata kelola yang ditunda

Timelock mewajibkan transaksi atau tindakan kontrak menunggu blok, stempel waktu, atau interval tertentu. Pelajari siapa yang menegakkan penundaan dan jalur apa yang dapat melewatinya.

Diperbarui

Hanya untuk tujuan edukasi; bukan merupakan saran investasi. Investasi dapat menyebabkan kerugian.

Jawaban langsung

Timelock adalah aturan yang ditegakkan blockchain atau smart contract untuk mencegah transaksi, pembelanjaan, atau tindakan administratif menjadi sah atau dapat dijalankan sebelum tinggi blok, stempel waktu, atau interval tertentu tercapai. Aturan ini mengubah kapan tindakan dapat terjadi, bukan menentukan apakah tindakan itu benar.

Istilah ini mencakup mekanisme berbeda. Timelock tingkat transaksi dapat membuat koin tidak dapat dibelanjakan atau membuat transaksi belum final sampai kondisi jaringan terpenuhi. Timelock tata kelola memasukkan panggilan kontrak yang sudah disahkan ke antrean dan mensyaratkan penundaan minimum sebelum pelaksana dapat mengirimnya. Jam, transisi status, dan pola kegagalannya berbeda.

Nilai keamanannya berasal dari penundaan yang dapat ditegakkan. Dalam tata kelola, jeda ini memberi pemantau dan pengguna waktu untuk memeriksa payload dalam antrean, memberi peringatan, membatalkan atau menjeda melalui jalur resmi, atau keluar bila jalur keluar memang tersedia. Manfaat ini hilang jika ada jalur istimewa yang dapat mengubah sistem yang sama tanpa melewati timelock.

Cara kerja

  1. Mekanisme menentukan jam. Ambang dapat memakai tinggi blok, stempel waktu yang berasal dari jaringan, atau waktu sejak peristiwa on-chain sebelumnya. Ini adalah nilai protokol, bukan janji waktu kalender yang tepat.
  2. Tindakan terkunci diikat pada kondisi. Timelock absolut menetapkan tinggi atau waktu masa depan. Timelock relatif mengukur interval sejak suatu peristiwa, seperti konfirmasi output yang akan dibelanjakan. Pengendali tata kelola mencatat operasi terjadwal dan waktu siapnya.
  3. Lapisan terkait menegakkan penantian. Aturan konsensus dapat menolak transaksi atau pembelanjaan skrip yang terlalu dini. Smart contract dapat menolak panggilan fungsi awal. Hitung mundur situs web bukan timelock karena antarmuka dapat dilewati.
  4. Kematangan mengubah kelayakan, bukan niat. Setelah kondisi terpenuhi, tindakan dapat menjadi sah atau siap, tetapi belum tentu disiarkan atau dijalankan otomatis. Seseorang tetap harus mengirimnya, dan semua pemeriksaan otorisasi serta keabsahan lain tetap berlaku.
  5. Cakupan bergantung pada kewenangan. Dalam tata kelola, timelock harus memegang kepemilikan atau peran yang diperlukan pada kontrak sasaran, dan setiap jalur istimewa yang setara juga harus ditunda. Izin pengusul, pembatal, pelaksana, dan administrator menentukan siapa yang dapat menjadwalkan, menghentikan, menjalankan, atau mengubah konfigurasi operasi.

Bitcoin menunjukkan perbedaan pada tingkat transaksi. BIP 65 menetapkan CHECKLOCKTIMEVERIFY, yang dapat membuat output tidak dapat dibelanjakan sampai kondisi tinggi blok atau waktu absolut tercapai. BIP 68 memberi nomor urut input yang memenuhi syarat makna timelock relatif yang ditegakkan konsensus, diukur dari usia output yang dibelanjakan. Aturan ini bukan antrean kontrak tata kelola.

TimelockController OpenZeppelin menggambarkan penundaan tata kelola. Pengusul menjadwalkan operasi teridentifikasi dengan penundaan setidaknya sebesar batas minimum. Setelah timer berakhir, statusnya berubah dari menunggu menjadi siap; pelaksana kemudian harus menjalankannya. Pembatalan dan pengelolaan peran mengikuti aturan kontrak, dan perubahan penundaan minimum juga harus melalui timelock.

Contoh

Peningkatan protokol dalam antrean

DAO menyetujui peningkatan, lalu governor menjadwalkan alamat sasaran, nilai, data panggilan, dependensi, dan salt yang tepat dalam timelock. Selama penundaan, alat pemantauan dapat membandingkan payload dengan proposal dan menyimulasikan dampaknya. Setelah operasi siap, pelaksana resmi mengirimnya.

Perlindungan hanya nyata jika timelock mengendalikan kewenangan peningkatan. Jika pemilik lain, administrator proksi, dewan keamanan, atau modul dapat langsung memasang peningkatan yang sama, jalur pintas itu harus dinilai terpisah. Penundaan juga hanya berguna bila pemantauan tepat waktu dan penarikan atau migrasi dapat selesai sebelum eksekusi.

Jalur transaksi tertunda

Skrip dapat menyediakan jalur pembelanjaan sebelum tenggat dan jalur pengembalian dana sesudahnya. Jaringan menegakkan kondisi saat memvalidasi pembelanjaan. Mencapai ambang tidak memindahkan dana: pihak yang berhak harus membuat dan menyiarkan transaksi sah, sedangkan konfirmasi tetap bergantung pada biaya dan penyertaan dalam blok.

Risiko dan daftar pemeriksaan

  • Kewenangan pintas: pemilik, peran, modul, kunci peningkatan, atau jalur darurat lain dapat melakukan tindakan terlindungi tanpa menunggu.
  • Jam atau batas keliru: tinggi blok, waktu jaringan, dan waktu berlalu tidak dapat dipertukarkan; kesalahan satu unit dapat membuat pembelanjaan sah lebih awal atau lebih lambat.
  • Penundaan tidak memadai: waktu tunggu dapat lebih singkat daripada waktu untuk mendeteksi, menganalisis, mengomunikasikan, dan menanggapi tindakan.
  • Tidak ada jalan keluar praktis: penarikan dijeda, keterlambatan bridge, likuiditas rendah, unbonding, atau kemacetan dapat menghalangi tindakan dalam jendela nominal.
  • Peran dibajak atau kebuntuan: pengusul atau administrator jahat dapat memasukkan panggilan berbahaya; hilangnya pelaksana atau hak pembatalan terlalu luas dapat memblokir operasi sah.
  • Payload tidak cocok: judul proposal yang mudah dibaca tidak membuktikan sasaran, nilai, data, dependensi, dan salt terjadwal menerapkan hal yang disetujui.
  • Perbedaan implementasi: kedaluwarsa, pembatalan, batch, dependensi, eksekusi terbuka, dan perubahan penundaan berbeda menurut kontrak dan versi.
  • Kesalahan penguncian: stempel waktu, tinggi, urutan, cabang skrip, atau kunci yang salah dapat membuat aset tidak dapat diakses lebih lama dari rencana.

Kesalahpahaman umum

Apakah timelock berjalan otomatis saat waktunya habis?

Biasanya tidak. Kematangan umumnya hanya membuat tindakan layak dijalankan. Transaksi masih harus disiarkan, atau pelaksana harus memanggil kontrak tata kelola.

Apakah timelock membuat tata kelola aman?

Tidak. Timelock menyediakan waktu reaksi, tetapi tidak memvalidasi payload, melindungi kunci istimewa, menjamin pembatalan, atau memastikan pengguna dapat keluar. Kewenangan paralel tanpa penundaan dapat meniadakan kontrol.

Apakah semua timelock memakai waktu kalender?

Tidak. Sebagian memakai tinggi blok, sebagian stempel waktu jaringan, dan sebagian usia relatif. Interval blok yang diharapkan dan stempel waktu bukan jadwal pasti.

Apakah timelock transaksi dan tata kelola dapat dipertukarkan?

Tidak. Keduanya menunda kelayakan, tetapi aturan transaksi konsensus, kondisi skrip, dan antrean tata kelola melindungi tindakan berbeda dan harus ditinjau berdasarkan spesifikasinya masing-masing.

Topik terkait

Sumber

Navigasi

Cari di wiki...