Bitcoin protokol perbaikan kerentanan serangan distorsi waktu: analisis usulan pembersihan Konsensus besar

robot
Pembuatan abstrak sedang berlangsung

Kerentanan Serangan Distorsi Waktu Protokol Bitcoin dan Perbaikannya

Pada tanggal 26 Maret 2025, pengembang Bitcoin mengajukan proposal soft fork yang disebut "Pembersihan Konsensus Besar", yang bertujuan untuk memperbaiki beberapa kerentanan dan kelemahan yang telah ada lama dalam protokol Bitcoin. Salah satu kerentanan paling serius dikenal sebagai "Serangan Distorsi Waktu", dan artikel ini akan membahasnya secara mendalam.

Mekanisme Perlindungan Timestamp Blok Bitcoin

Sebelum membahas serangan distorsi waktu, kita perlu memahami aturan perlindungan manipulasi waktu yang ada saat ini:

  1. Aturan waktu median yang telah berlalu (MPT): Stempel waktu blok harus lebih baru daripada waktu median dari 11 blok sebelumnya.

  2. Aturan waktu blok di masa depan: Stempel waktu blok tidak boleh lebih awal dari waktu median rekan sejawat node lebih dari 2 jam. Selisih maksimum yang diizinkan antara waktu yang diberikan oleh node dan jam sistem lokal adalah 90 menit.

Aturan ini bertujuan untuk memastikan bahwa cap waktu blok tidak terlalu terlambat dan tidak terlalu maju. Namun, serangan distorsi waktu dicapai dengan memalsukan cap waktu, membuatnya jauh kembali ke masa lalu.

Bitcoin keamanan kerentanan: serangan distorsi waktu

Kesalahan "kurang satu" dari Satoshi Nakamoto

Periode penyesuaian kesulitan Bitcoin terdiri dari 2016 blok, dihitung dengan target blok 10 menit, atau sekitar dua minggu. Saat menghitung penyesuaian kesulitan penambangan, protokol menghitung selisih cap waktu antara blok pertama dan terakhir dalam jendela 2016 blok yang relevan. Namun, Satoshi Nakamoto melakukan kesalahan kecil saat menghitung waktu target: dia menggunakan 2016 alih-alih 2015 sebagai faktor pengali.

Kesalahan ini menyebabkan waktu target lebih lama 0,05% dari yang seharusnya, sehingga interval waktu target Bitcoin yang sebenarnya adalah 10 menit dan 0,3 detik. Meskipun kesalahan ini tampaknya sepele, namun hal ini menyiapkan dasar untuk kerentanan yang lebih serius.

Bitcoin keamanan celah: serangan distorsi waktu

Prinsip Serangan Distorsi Waktu

Serangan distorsi waktu memanfaatkan kesalahan Satoshi Nakamoto dalam perhitungan kesulitan. Penyerang memanipulasi cap waktu blok, sehingga blockchain berjalan lambat dalam waktu, sambil mematuhi aturan MTP. Secara spesifik, penyerang dapat:

  1. Untuk sebagian besar blok, atur cap waktu hanya satu detik lebih awal dari blok sebelumnya.
  2. Setiap enam blok baru akan memajukan cap waktu satu detik.
  3. Di blok terakhir dari setiap periode penyesuaian kesulitan, atur cap waktu ke waktu dunia nyata.
  4. Timestamp blok pertama dari siklus penyesuaian kesulitan berikutnya kembali ke masa lalu.

Operasi ini menyebabkan waktu blockchain semakin tertinggal dari waktu nyata, sementara kesulitan terus meningkat. Namun, setelah periode penyesuaian kedua, kesulitan akan mulai menurun, dan penyerang dapat membuat blok dengan sangat cepat, berpotensi menciptakan banyak Bitcoin.

Bitcoin keamanan kerentanan: serangan distorsi waktu

Kelayakan dan Batasan Serangan

Meskipun secara teoritis serangan ini memiliki dampak yang merusak, pelaksanaannya menghadapi banyak tantangan:

  1. Perlu mengendalikan sebagian besar daya komputasi.
  2. Keberadaan penambang yang jujur akan meningkatkan kesulitan serangan.
  3. Aturan MTP dan cap waktu penambang jujur membatasi sejauh mana cap waktu jahat dapat ditarik kembali.
  4. Proses serangan dapat diamati secara terbuka, memberikan waktu kepada komunitas untuk melakukan perbaikan darurat.

Bitcoin keamanan kerentanan: serangan distorsi waktu

Solusi

Untuk mencegah serangan distorsi waktu, proposal ini menyarankan untuk menambahkan aturan sederhana saat siklus kesulitan baru dimulai: mengharuskan waktu blok pertama dari siklus baru tidak lebih awal dari periode waktu tertentu sebelum blok terakhir dari siklus sebelumnya. Periode waktu yang sedang dibahas saat ini berkisar antara 10 menit hingga 2 jam.

Dalam proposal pembersihan konsensus besar terbaru, jangka waktu ini ditetapkan selama 2 jam. Batasan ini hanya mencakup 0,6% dari waktu target siklus penyesuaian kesulitan, secara efektif membatasi kemampuan untuk memanipulasi kesulitan ke bawah.

Metode ini lebih sederhana dibandingkan dengan mengubah algoritma penyesuaian kesulitan secara langsung, dan tidak memerlukan hard fork. Ini dapat secara efektif mencegah serangan distorsi waktu, serta meminimalkan risiko blok tidak valid yang tidak terduga, sambil tetap konsisten dengan aturan stempel waktu blok di masa depan yang ada.

Dengan menerapkan perbaikan ini, jaringan Bitcoin akan dapat lebih baik dalam menghadapi potensi serangan manipulasi waktu, yang lebih lanjut meningkatkan keamanan dan stabilitasnya.

Bitcoin keamanan kerentanan: serangan distorsi waktu

Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Hadiah
  • 5
  • Bagikan
Komentar
0/400
JustHodlItvip
· 07-11 01:42
Merasa keamanan semakin kuat, stabil, stabil~
Lihat AsliBalas0
SchrodingerWalletvip
· 07-10 02:19
Vulnerabilitas diperbaiki, sederhana dan brutal.
Lihat AsliBalas0
DefiEngineerJackvip
· 07-10 02:19
*sebenarnya* lagi satu patch keamanan non-trivial yang membuktikan keunggulan pow... pernah melihat eksploitasi yang lebih buruk di pos jujur
Lihat AsliBalas0
ProbablyNothingvip
· 07-10 01:57
btc memperbaiki celah, sekarang sudah stabil kan?
Lihat AsliBalas0
MemecoinResearchervip
· 07-10 01:53
perbaikan protokol berbasis tetapi bisakah kita mendapatkan signifikansi statistik?
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)