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:
Aturan waktu median yang telah berlalu (MPT): Stempel waktu blok harus lebih baru daripada waktu median dari 11 blok sebelumnya.
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.
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.
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:
Untuk sebagian besar blok, atur cap waktu hanya satu detik lebih awal dari blok sebelumnya.
Setiap enam blok baru akan memajukan cap waktu satu detik.
Di blok terakhir dari setiap periode penyesuaian kesulitan, atur cap waktu ke waktu dunia nyata.
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.
Kelayakan dan Batasan Serangan
Meskipun secara teoritis serangan ini memiliki dampak yang merusak, pelaksanaannya menghadapi banyak tantangan:
Perlu mengendalikan sebagian besar daya komputasi.
Keberadaan penambang yang jujur akan meningkatkan kesulitan serangan.
Aturan MTP dan cap waktu penambang jujur membatasi sejauh mana cap waktu jahat dapat ditarik kembali.
Proses serangan dapat diamati secara terbuka, memberikan waktu kepada komunitas untuk melakukan perbaikan darurat.
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.
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.
17 Suka
Hadiah
17
5
Bagikan
Komentar
0/400
JustHodlIt
· 07-11 01:42
Merasa keamanan semakin kuat, stabil, stabil~
Lihat AsliBalas0
SchrodingerWallet
· 07-10 02:19
Vulnerabilitas diperbaiki, sederhana dan brutal.
Lihat AsliBalas0
DefiEngineerJack
· 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
ProbablyNothing
· 07-10 01:57
btc memperbaiki celah, sekarang sudah stabil kan?
Lihat AsliBalas0
MemecoinResearcher
· 07-10 01:53
perbaikan protokol berbasis tetapi bisakah kita mendapatkan signifikansi statistik?
Bitcoin protokol perbaikan kerentanan serangan distorsi waktu: analisis usulan pembersihan Konsensus besar
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:
Aturan waktu median yang telah berlalu (MPT): Stempel waktu blok harus lebih baru daripada waktu median dari 11 blok sebelumnya.
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.
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.
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:
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.
Kelayakan dan Batasan Serangan
Meskipun secara teoritis serangan ini memiliki dampak yang merusak, pelaksanaannya menghadapi banyak tantangan:
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.