Bitcoin Kerentanan Keamanan: Serangan Distorsi Waktu
Baru-baru ini, seorang pengembang Bitcoin mengajukan proposal soft fork baru, yang bertujuan untuk memperbaiki beberapa celah dan kelemahan yang telah ada lama dalam protokol Bitcoin. Salah satu celah yang cukup serius disebut "serangan distorsi waktu", dan artikel ini akan membahasnya secara rinci.
Mekanisme Perlindungan Timestamp Blok Bitcoin
Sebelum membahas serangan distorsi waktu, mari kita tinjau aturan perlindungan manipulasi waktu saat ini:
Waktu median lalu (MPT) aturan: Stempel waktu blok harus lebih baru daripada waktu median dari sepuluh blok terakhir.
Aturan waktu blok di masa depan: Timestamp blok tidak boleh lebih dari 2 jam lebih awal dari waktu median rekan node. Selisih maksimum yang diizinkan antara waktu node dan jam sistem lokal adalah 90 menit.
Aturan MPT mencegah cap waktu blok terlalu mundur, sementara aturan blok masa depan mencegah cap waktu terlalu maju. Perlu dicatat bahwa tidak mungkin menerapkan mekanisme serupa dengan aturan blok masa depan untuk mencegah blok memiliki cap waktu di masa lalu, karena ini dapat mempengaruhi sinkronisasi blockchain awal. Serangan distorsi waktu memanfaatkan cap waktu yang dipalsukan, membuatnya jauh kembali ke masa lalu.
Masalah Perhitungan Periode Penyesuaian Kesulitan
Periode penyesuaian kesulitan Bitcoin mencakup 2016 blok, dihitung dengan target blok 10 menit, sekitar dua minggu waktu. Dalam menghitung penyesuaian kesulitan penambangan, protokol menghitung selisih cap waktu antara blok pertama dan terakhir dalam jendela 2016 blok yang relevan. Jendela 2016 blok ini sebenarnya mencakup 2015 interval blok, sehingga secara teoritis waktu target yang digunakan harus 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 "satu kurang", yang mungkin disebabkan oleh kebingungan antara interval blok.
Kesalahan ini menyebabkan waktu target lebih lama 0,05% dari seharusnya. Oleh karena itu, interval waktu target Bitcoin yang sebenarnya adalah 10 menit dan 0,3 detik, bukan 10 menit tepat. Meskipun kesalahan ini tampak sepele, namun berkaitan dengan masalah lain yang lebih serius.
Prinsip serangan distorsi waktu
Serangan distorsi waktu memanfaatkan kesalahan ini dalam perhitungan kesulitan. Dalam kondisi ideal, anggap penambangan sepenuhnya terpusat, penambang dapat menetapkan cap waktu apa pun yang diizinkan oleh protokol. Penyerang akan mengambil strategi berikut:
Untuk sebagian besar blok, atur stempel waktu untuk maju satu detik dari blok sebelumnya.
Untuk memperlambat kemajuan waktu sebanyak mungkin, penambang dapat mempertahankan cap waktu yang sama selama enam blok berturut-turut, lalu menambah satu detik pada blok berikutnya.
Pada blok terakhir dari setiap periode penyesuaian kesulitan, atur cap waktu ke waktu dunia nyata.
Stempel waktu blok pertama dari siklus berikutnya kembali ke masa lalu, satu detik lebih awal dari blok kedua terakhir di siklus sebelumnya.
Operasi ini sesuai dengan aturan MTP karena satu anomali tidak akan mempengaruhi median dari 11 blok. Dengan cara ini, blockchain akan secara bertahap tertinggal dari waktu nyata, dan kesulitan akan terus meningkat. Namun, mulai dari periode penyesuaian kedua, kesulitan akan mulai disesuaikan ke bawah, memungkinkan para penambang untuk membuat blok dengan kecepatan yang sangat cepat, berpotensi menghasilkan banyak Bitcoin.
Kelayakan dan Tantangan Serangan
Meskipun secara teori serangan semacam ini memiliki dampak yang menghancurkan, pelaksanaannya menghadapi beberapa tantangan:
Mungkin perlu mengontrol sebagian besar daya komputasi.
Kehadiran penambang yang jujur akan meningkatkan kesulitan serangan.
Aturan MTP dan stempel waktu yang jujur dapat membatasi tingkat pengembalian stempel waktu yang jahat.
Jika penambang yang jujur menghasilkan blok pertama dari jendela penyesuaian kesulitan, serangan pada siklus tersebut akan gagal.
Proses serangan dapat dilihat secara publik, sehingga mungkin memberi waktu bagi komunitas untuk meluncurkan perbaikan darurat.
Solusi Potensial
Ada beberapa cara untuk memperbaiki kerentanan ini:
Mengubah algoritma penyesuaian kesulitan, menghitung rentang waktu antara blok dalam jendela 2016 yang berbeda.
Hapus aturan MTP, yang mengharuskan waktu selalu bergerak maju di setiap blok.
Atur aturan batasan baru: Memastikan waktu blok pertama dari periode kesulitan baru tidak lebih awal dari jumlah menit tertentu sebelum blok terakhir dari periode sebelumnya.
Saat ini, proposal pembersihan konsensus besar menyarankan untuk menggunakan metode ketiga, dengan batas waktu ditetapkan selama 2 jam. Periode waktu ini adalah sekitar 0,6% dari waktu target siklus penyesuaian kesulitan, yang dapat secara efektif membatasi kemampuan manipulasi kesulitan ke bawah.
Tentang berapa lama tenggang waktu yang harus digunakan, terdapat berbagai pandangan di industri. Batas 10 menit dan batas 2 jam masing-masing memiliki kelebihan dan kekurangan yang perlu dipertimbangkan. Terlepas dari solusi mana yang akhirnya diadopsi, memperbaiki celah ini akan secara signifikan meningkatkan keamanan dan stabilitas jaringan Bitcoin.
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.
14 Suka
Hadiah
14
8
Posting ulang
Bagikan
Komentar
0/400
MintMaster
· 08-12 04:11
Ada yang masih memikirkan untuk terjun ke dunia kripto ya
Lihat AsliBalas0
consensus_whisperer
· 08-11 04:51
Celah baru muncul, saatnya untuk memperbaiki.
Lihat AsliBalas0
liquidation_surfer
· 08-09 19:16
Sekali lagi harus mengeluarkan uang untuk memperbaiki celah, tsk tsk.
Lihat AsliBalas0
MeaninglessApe
· 08-09 17:34
Lagi-lagi ada celah, tidak bisa berkata apa-apa fam.
Lihat AsliBalas0
GhostAddressHunter
· 08-09 17:34
Ada yang menemukan celah? Katakan saja hitam, ya hitam.
Lihat AsliBalas0
GasWaster
· 08-09 17:31
Serangan adalah serangan, toh saya tidak mengerti jadi selesai.
Lihat AsliBalas0
MEVHunter
· 08-09 17:11
heh, menemukan eksploitasi lezat lainnya... waktu hanyalah variabel lain yang bisa dimanipulasi sejujurnya. sudah memantau kerentanan ini sejak hari-hari testnet
Bitcoin menghadapi serangan distorsi waktu, kerentanan protokol menimbulkan risiko keamanan
Bitcoin Kerentanan Keamanan: Serangan Distorsi Waktu
Baru-baru ini, seorang pengembang Bitcoin mengajukan proposal soft fork baru, yang bertujuan untuk memperbaiki beberapa celah dan kelemahan yang telah ada lama dalam protokol Bitcoin. Salah satu celah yang cukup serius disebut "serangan distorsi waktu", dan artikel ini akan membahasnya secara rinci.
Mekanisme Perlindungan Timestamp Blok Bitcoin
Sebelum membahas serangan distorsi waktu, mari kita tinjau aturan perlindungan manipulasi waktu saat ini:
Waktu median lalu (MPT) aturan: Stempel waktu blok harus lebih baru daripada waktu median dari sepuluh blok terakhir.
Aturan waktu blok di masa depan: Timestamp blok tidak boleh lebih dari 2 jam lebih awal dari waktu median rekan node. Selisih maksimum yang diizinkan antara waktu node dan jam sistem lokal adalah 90 menit.
Aturan MPT mencegah cap waktu blok terlalu mundur, sementara aturan blok masa depan mencegah cap waktu terlalu maju. Perlu dicatat bahwa tidak mungkin menerapkan mekanisme serupa dengan aturan blok masa depan untuk mencegah blok memiliki cap waktu di masa lalu, karena ini dapat mempengaruhi sinkronisasi blockchain awal. Serangan distorsi waktu memanfaatkan cap waktu yang dipalsukan, membuatnya jauh kembali ke masa lalu.
Masalah Perhitungan Periode Penyesuaian Kesulitan
Periode penyesuaian kesulitan Bitcoin mencakup 2016 blok, dihitung dengan target blok 10 menit, sekitar dua minggu waktu. Dalam menghitung penyesuaian kesulitan penambangan, protokol menghitung selisih cap waktu antara blok pertama dan terakhir dalam jendela 2016 blok yang relevan. Jendela 2016 blok ini sebenarnya mencakup 2015 interval blok, sehingga secara teoritis waktu target yang digunakan harus 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 "satu kurang", yang mungkin disebabkan oleh kebingungan antara interval blok.
Kesalahan ini menyebabkan waktu target lebih lama 0,05% dari seharusnya. Oleh karena itu, interval waktu target Bitcoin yang sebenarnya adalah 10 menit dan 0,3 detik, bukan 10 menit tepat. Meskipun kesalahan ini tampak sepele, namun berkaitan dengan masalah lain yang lebih serius.
Prinsip serangan distorsi waktu
Serangan distorsi waktu memanfaatkan kesalahan ini dalam perhitungan kesulitan. Dalam kondisi ideal, anggap penambangan sepenuhnya terpusat, penambang dapat menetapkan cap waktu apa pun yang diizinkan oleh protokol. Penyerang akan mengambil strategi berikut:
Operasi ini sesuai dengan aturan MTP karena satu anomali tidak akan mempengaruhi median dari 11 blok. Dengan cara ini, blockchain akan secara bertahap tertinggal dari waktu nyata, dan kesulitan akan terus meningkat. Namun, mulai dari periode penyesuaian kedua, kesulitan akan mulai disesuaikan ke bawah, memungkinkan para penambang untuk membuat blok dengan kecepatan yang sangat cepat, berpotensi menghasilkan banyak Bitcoin.
Kelayakan dan Tantangan Serangan
Meskipun secara teori serangan semacam ini memiliki dampak yang menghancurkan, pelaksanaannya menghadapi beberapa tantangan:
Solusi Potensial
Ada beberapa cara untuk memperbaiki kerentanan ini:
Saat ini, proposal pembersihan konsensus besar menyarankan untuk menggunakan metode ketiga, dengan batas waktu ditetapkan selama 2 jam. Periode waktu ini adalah sekitar 0,6% dari waktu target siklus penyesuaian kesulitan, yang dapat secara efektif membatasi kemampuan manipulasi kesulitan ke bawah.
Tentang berapa lama tenggang waktu yang harus digunakan, terdapat berbagai pandangan di industri. Batas 10 menit dan batas 2 jam masing-masing memiliki kelebihan dan kekurangan yang perlu dipertimbangkan. Terlepas dari solusi mana yang akhirnya diadopsi, memperbaiki celah ini akan secara signifikan meningkatkan keamanan dan stabilitas jaringan Bitcoin.