Serangan distorsi waktu Bitcoin: sebuah potensi risiko keamanan
Pada tanggal 26 Maret 2025, pengembang Bitcoin mengajukan proposal soft fork yang disebut "Pembersihan Konsensus Besar". Proposal ini bertujuan untuk memperbaiki beberapa celah dan kelemahan yang telah ada dalam protokol Bitcoin selama ini, termasuk masalah transaksi ganda yang telah kita diskusikan sebelumnya. Celah yang lebih serius dikenal sebagai "Serangan Distorsi Waktu", yang merupakan tema yang akan dibahas lebih dalam dalam artikel ini.
Mekanisme Perlindungan Stempel Waktu Blok Bitcoin
Sebelum membahas serangan distorsi waktu, kita perlu memahami aturan perlindungan manipulasi waktu saat ini:
Aturan waktu median yang telah berlalu (MPT): Cap waktu blok harus lebih baru daripada waktu median dari sebelas blok terakhir.
Aturan waktu blok masa depan: Berdasarkan konstanta MAX_FUTURE_BLOCK_TIME, cap waktu blok tidak boleh lebih dari 2 jam lebih maju dibandingkan waktu median jaringan. Selisih maksimum yang diizinkan antara waktu node dan jam sistem lokal adalah 90 menit, ini merupakan jaminan tambahan.
Aturan MPT memastikan bahwa blok tidak terlalu "kembali ke masa lalu", sementara aturan blok masa depan mencegah mereka "melintasi masa depan". Perlu dicatat bahwa aturan blok masa depan yang serupa tidak dapat diterapkan untuk mencegah blok memiliki cap waktu dari masa lalu, karena ini dapat mempengaruhi proses sinkronisasi blockchain awal. Serangan distorsi waktu dilakukan dengan memalsukan cap waktu yang kembali jauh ke masa lalu.
Kesalahan "kurang satu" dari Satoshi Nakamoto
Periode penyesuaian kesulitan Bitcoin mencakup 2016 blok, yang dihitung berdasarkan waktu target blok 10 menit, sekitar dua minggu. Untuk menghitung penyesuaian kesulitan penambangan, protokol akan menghitung selisih timestamp antara blok pertama dan terakhir dalam jendela 2016 blok yang relevan. Jendela 2016 blok ini sebenarnya mencakup 2015 interval blok (yaitu 2016 dikurangi 1). Oleh karena itu, waktu target yang relevan yang digunakan haruslah 60 detik × 10 menit × 2015 interval, sama dengan 1.209.000 detik. Namun, protokol Bitcoin menggunakan angka 2016 untuk menghitung target. 60 detik × 10 menit × 2016 = 1.209.600 detik. Ini adalah kesalahan "selisih satu", mungkin disebabkan oleh kebingungan antara jumlah blok dan jumlah interval blok.
Kesalahan ini menyebabkan waktu target lebih lama 0,05% dari yang seharusnya. Sebenarnya, interval blok target Bitcoin bukanlah 10 menit, melainkan 10 menit dan 0,3 detik. Perbedaan kecil ini hampir tidak signifikan dalam operasi sehari-hari, terutama mengingat bahwa sejak 2009, karena pertumbuhan daya komputasi yang berkelanjutan, interval blok rata-rata yang sebenarnya selalu berada di bawah 10 menit.
Prinsip Serangan Distorsi Waktu
Serangan distorsi waktu pertama kali ditemukan sekitar tahun 2011, memanfaatkan kesalahan Satoshi Nakamoto dalam perhitungan kesulitan. Ide inti dari serangan ini adalah:
Untuk sebagian besar blok, atur cap waktu untuk maju satu detik dibandingkan dengan blok sebelumnya.
Setiap enam blok baru akan memindahkan cap waktu maju satu detik untuk mematuhi aturan MPT.
Pada blok terakhir dari setiap periode penyesuaian kesulitan, atur cap waktu ke waktu dunia nyata.
Timestamp blok pertama dari siklus berikutnya kembali diatur ke masa lalu.
Tindakan ini menyebabkan waktu blockchain semakin tertinggal dari waktu nyata, yang mengakibatkan peningkatan kesulitan yang terus menerus. Namun, karena blok terakhir di setiap siklus menggunakan cap waktu nyata, perhitungan kesulitan akan menganggap waktu berlalu lebih lambat daripada yang sebenarnya, sehingga mulai secara signifikan menurunkan kesulitan setelah siklus penyesuaian kedua.
Potensi Dampak Serangan
Jika berhasil dilaksanakan, serangan ini dapat menyebabkan:
Kesulitan turun drastis
Kecepatan pembuatan blok meningkat pesat
Menciptakan sejumlah besar Bitcoin dalam waktu singkat
Mungkin memicu kekacauan pasar
Namun, menerapkan serangan ini menghadapi banyak tantangan:
Perlu mengendalikan sebagian besar kekuatan komputasi jaringan
Keberadaan penambang yang jujur akan meningkatkan kesulitan
Proses serangan mungkin dapat terdeteksi tepat waktu dan langkah-langkah dapat diambil.
Solusi
Untuk memperbaiki celah ini, ada beberapa kemungkinan metode:
Menghapus aturan MPT, mengharuskan waktu selalu bergerak maju di setiap blok.
Atur aturan batas baru: mengharuskan waktu blok pertama dari periode kesulitan baru tidak lebih awal dari waktu tertentu sebelum blok terakhir dari periode sebelumnya (misalnya 2 jam).
Proposal "Pembersihan Konsensus Besar" saat ini mengadopsi metode ketiga yang menyarankan penetapan batas waktu 2 jam. Rencana ini tidak hanya dapat secara efektif mencegah serangan distorsi waktu, tetapi juga meminimalkan risiko terjadinya blok tidak valid secara tidak sengaja.
Komunitas Bitcoin sedang aktif mendiskusikan dan menyempurnakan proposal-proposal ini untuk memastikan keamanan dan stabilitas jangka panjang jaringan. Seiring dengan perkembangan teknologi yang terus berlanjut, kita memiliki alasan untuk percaya bahwa jaringan Bitcoin akan menjadi lebih kuat dan dapat diandalkan.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
11 Suka
Hadiah
11
4
Bagikan
Komentar
0/400
LiquidityHunter
· 07-31 13:56
Pagi-pagi sekali muncul celah keamanan lagi, harga plummet, apakah akan mencari peluang arbitrase?
Lihat AsliBalas0
GasWastingMaximalist
· 07-31 13:50
Apa lagi ini, mau ubah aturan lagi?
Lihat AsliBalas0
ZenMiner
· 07-31 13:37
Sambil menggali, tiba-tiba saya tertidur, lagipula kita juga tidak terburu-buru.
Lihat AsliBalas0
faded_wojak.eth
· 07-31 13:32
Bug ini terdengar menakutkan. Sepanjang hari melihatnya.
Serangan distorsi waktu Bitcoin: Analisis kerentanan tersembunyi dan solusi perbaikan
Serangan distorsi waktu Bitcoin: sebuah potensi risiko keamanan
Pada tanggal 26 Maret 2025, pengembang Bitcoin mengajukan proposal soft fork yang disebut "Pembersihan Konsensus Besar". Proposal ini bertujuan untuk memperbaiki beberapa celah dan kelemahan yang telah ada dalam protokol Bitcoin selama ini, termasuk masalah transaksi ganda yang telah kita diskusikan sebelumnya. Celah yang lebih serius dikenal sebagai "Serangan Distorsi Waktu", yang merupakan tema yang akan dibahas lebih dalam dalam artikel ini.
Mekanisme Perlindungan Stempel Waktu Blok Bitcoin
Sebelum membahas serangan distorsi waktu, kita perlu memahami aturan perlindungan manipulasi waktu saat ini:
Aturan waktu median yang telah berlalu (MPT): Cap waktu blok harus lebih baru daripada waktu median dari sebelas blok terakhir.
Aturan waktu blok masa depan: Berdasarkan konstanta MAX_FUTURE_BLOCK_TIME, cap waktu blok tidak boleh lebih dari 2 jam lebih maju dibandingkan waktu median jaringan. Selisih maksimum yang diizinkan antara waktu node dan jam sistem lokal adalah 90 menit, ini merupakan jaminan tambahan.
Aturan MPT memastikan bahwa blok tidak terlalu "kembali ke masa lalu", sementara aturan blok masa depan mencegah mereka "melintasi masa depan". Perlu dicatat bahwa aturan blok masa depan yang serupa tidak dapat diterapkan untuk mencegah blok memiliki cap waktu dari masa lalu, karena ini dapat mempengaruhi proses sinkronisasi blockchain awal. Serangan distorsi waktu dilakukan dengan memalsukan cap waktu yang kembali jauh ke masa lalu.
Kesalahan "kurang satu" dari Satoshi Nakamoto
Periode penyesuaian kesulitan Bitcoin mencakup 2016 blok, yang dihitung berdasarkan waktu target blok 10 menit, sekitar dua minggu. Untuk menghitung penyesuaian kesulitan penambangan, protokol akan menghitung selisih timestamp antara blok pertama dan terakhir dalam jendela 2016 blok yang relevan. Jendela 2016 blok ini sebenarnya mencakup 2015 interval blok (yaitu 2016 dikurangi 1). Oleh karena itu, waktu target yang relevan yang digunakan haruslah 60 detik × 10 menit × 2015 interval, sama dengan 1.209.000 detik. Namun, protokol Bitcoin menggunakan angka 2016 untuk menghitung target. 60 detik × 10 menit × 2016 = 1.209.600 detik. Ini adalah kesalahan "selisih satu", mungkin disebabkan oleh kebingungan antara jumlah blok dan jumlah interval blok.
Kesalahan ini menyebabkan waktu target lebih lama 0,05% dari yang seharusnya. Sebenarnya, interval blok target Bitcoin bukanlah 10 menit, melainkan 10 menit dan 0,3 detik. Perbedaan kecil ini hampir tidak signifikan dalam operasi sehari-hari, terutama mengingat bahwa sejak 2009, karena pertumbuhan daya komputasi yang berkelanjutan, interval blok rata-rata yang sebenarnya selalu berada di bawah 10 menit.
Prinsip Serangan Distorsi Waktu
Serangan distorsi waktu pertama kali ditemukan sekitar tahun 2011, memanfaatkan kesalahan Satoshi Nakamoto dalam perhitungan kesulitan. Ide inti dari serangan ini adalah:
Tindakan ini menyebabkan waktu blockchain semakin tertinggal dari waktu nyata, yang mengakibatkan peningkatan kesulitan yang terus menerus. Namun, karena blok terakhir di setiap siklus menggunakan cap waktu nyata, perhitungan kesulitan akan menganggap waktu berlalu lebih lambat daripada yang sebenarnya, sehingga mulai secara signifikan menurunkan kesulitan setelah siklus penyesuaian kedua.
Potensi Dampak Serangan
Jika berhasil dilaksanakan, serangan ini dapat menyebabkan:
Namun, menerapkan serangan ini menghadapi banyak tantangan:
Solusi
Untuk memperbaiki celah ini, ada beberapa kemungkinan metode:
Proposal "Pembersihan Konsensus Besar" saat ini mengadopsi metode ketiga yang menyarankan penetapan batas waktu 2 jam. Rencana ini tidak hanya dapat secara efektif mencegah serangan distorsi waktu, tetapi juga meminimalkan risiko terjadinya blok tidak valid secara tidak sengaja.
Komunitas Bitcoin sedang aktif mendiskusikan dan menyempurnakan proposal-proposal ini untuk memastikan keamanan dan stabilitas jangka panjang jaringan. Seiring dengan perkembangan teknologi yang terus berlanjut, kita memiliki alasan untuk percaya bahwa jaringan Bitcoin akan menjadi lebih kuat dan dapat diandalkan.