Bitcoin Protokol dan Celah Waktu: Analisis Mendalam Serangan Distorsi Waktu
Ringkasan
Baru-baru ini, komunitas pengembang Bitcoin mengajukan proposal soft fork baru yang bertujuan untuk memperbaiki beberapa celah dan kelemahan yang telah lama ada dalam protokol Bitcoin. Salah satu celah yang cukup serius disebut "serangan distorsi waktu", yang merupakan tema yang akan dibahas lebih dalam dalam artikel ini.
Mekanisme Perlindungan Timestamp Blok Bitcoin
Sebelum membahas serangan distorsi waktu, kita perlu memahami mekanisme perlindungan manipulasi waktu dalam protokol Bitcoin saat ini:
Waktu median sebelumnya (MPT) aturan: Cap waktu blok baru 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 node jaringan lebih dari 2 jam. Selain itu, 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 membatasi cap waktu yang terlalu maju. Perlu dicatat bahwa tidak mungkin menerapkan mekanisme serupa dengan aturan blok masa depan untuk sepenuhnya mencegah cap waktu masa lalu, karena ini dapat mempengaruhi proses sinkronisasi blockchain awal.
Kesalahan "kurang satu" dari Satoshi Nakamoto
Periode penyesuaian kesulitan Bitcoin terdiri dari 2016 blok, dengan waktu pembuatan blok 10 menit, yang kira-kira adalah dua minggu. Dalam menghitung penyesuaian kesulitan penambangan, protokol akan menghitung selisih stempel waktu antara blok pertama dan terakhir dalam jendela 2016 blok yang relevan.
Namun, Satoshi Nakamoto membuat kesalahan kecil tetapi signifikan dalam kode aslinya. Dia menggunakan 2016 alih-alih 2015 untuk menghitung waktu target, yang menyebabkan waktu target 0,05% lebih lama dari yang seharusnya. Ini berarti interval blok target aktual untuk Bitcoin adalah 10 menit dan 0,3 detik, bukan 10 menit yang tepat.
Meskipun kesalahan 0,3 detik ini tampak sepele, namun ia terkait dengan masalah lain yang lebih serius. Perhitungan kesulitan didasarkan pada blok pertama dan terakhir dalam setiap jendela 2016 blok, bukan pada perbedaan antara blok terakhir jendela sebelumnya dan blok terakhir jendela saat ini. Cara perhitungan ini menciptakan kemungkinan untuk serangan distorsi waktu.
Prinsip Serangan Distorsi Waktu
Serangan distorsi waktu memanfaatkan kesalahan Satoshi Nakamoto dalam perhitungan kesulitan. Dalam serangan ini, penambang jahat memanipulasi timestamp blok untuk mempengaruhi penyesuaian kesulitan. Langkah-langkah serangan adalah sebagai berikut:
Untuk sebagian besar blok, penambang mengatur cap waktu satu detik lebih awal dari blok sebelumnya.
Untuk meminimalkan percepatan waktu, penambang dapat mempertahankan cap waktu yang sama untuk 6 blok berturut-turut, kemudian menambah waktu 1 detik pada blok berikutnya.
Pada blok terakhir dari setiap periode penyesuaian kesulitan, penambang akan mengatur cap waktu ke waktu dunia nyata.
Timestamp blok pertama untuk jendela penyesuaian kesulitan berikutnya diatur kembali ke masa lalu, hanya 1 detik lebih awal dari blok kedua terakhir di jendela sebelumnya.
Mode serangan ini menyebabkan waktu blockchain semakin tertinggal dari waktu nyata, sedangkan kesulitan akan terus meningkat. Namun, mulai dari siklus penyesuaian kedua, kesulitan akan mulai disesuaikan ke bawah. Ini memungkinkan para penambang untuk menghasilkan sejumlah besar blok dalam waktu singkat, berpotensi menciptakan Bitcoin yang melebihi kecepatan penerbitan normal.
Kelayakan dan Tantangan Serangan
Meskipun secara teori serangan ini memiliki dampak yang merusak, pelaksanaannya menghadapi beberapa tantangan:
Perlu mengendalikan sebagian besar daya komputasi jaringan.
Keberadaan penambang yang jujur akan meningkatkan kesulitan serangan.
Jika penambang yang jujur menghasilkan blok pertama dari jendela penyesuaian kesulitan, serangan pada siklus tersebut akan gagal.
Proses serangan adalah terlihat publik dan mungkin akan memicu perbaikan soft fork darurat.
Solusi
Ada beberapa cara untuk memperbaiki kerentanan ini:
Mengubah algoritma penyesuaian kesulitan, menghitung rentang waktu antara jendela blok 2016 yang berbeda.
Menghapus aturan MPT, yang mengharuskan stempel waktu setiap blok meningkat secara ketat.
Atur aturan batas baru: Waktu blok pertama dari periode kesulitan baru tidak boleh lebih awal dari jumlah menit tertentu dari blok terakhir periode sebelumnya ( seperti 2 jam ).
Saat ini, pengembang cenderung mengadopsi solusi ketiga, dengan batas waktu ditetapkan selama 2 jam. Solusi ini tidak hanya dapat secara efektif meredakan serangan distorsi waktu, tetapi juga meminimalkan risiko munculnya blok tidak valid secara tidak sengaja.
Kesimpulan
Serangan distorsi waktu mengungkapkan potensi kerentanan keamanan dalam protokol Bitcoin. Meskipun penerapan serangan ini menghadapi banyak tantangan di dunia nyata, hal ini mengingatkan kita akan perlunya terus-menerus meninjau dan memperbaiki infrastruktur teknologi blockchain. Dengan solusi perbaikan soft fork yang diusulkan, komunitas Bitcoin secara aktif menghadapi ancaman potensial ini, semakin meningkatkan keamanan dan stabilitas jaringan.
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.
Diskusi tentang Analisis dan Rencana Perbaikan Kerentanan Distorsi Waktu dalam Protokol Bitcoin
Bitcoin Protokol dan Celah Waktu: Analisis Mendalam Serangan Distorsi Waktu
Ringkasan
Baru-baru ini, komunitas pengembang Bitcoin mengajukan proposal soft fork baru yang bertujuan untuk memperbaiki beberapa celah dan kelemahan yang telah lama ada dalam protokol Bitcoin. Salah satu celah yang cukup serius disebut "serangan distorsi waktu", yang merupakan tema yang akan dibahas lebih dalam dalam artikel ini.
Mekanisme Perlindungan Timestamp Blok Bitcoin
Sebelum membahas serangan distorsi waktu, kita perlu memahami mekanisme perlindungan manipulasi waktu dalam protokol Bitcoin saat ini:
Waktu median sebelumnya (MPT) aturan: Cap waktu blok baru 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 node jaringan lebih dari 2 jam. Selain itu, 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 membatasi cap waktu yang terlalu maju. Perlu dicatat bahwa tidak mungkin menerapkan mekanisme serupa dengan aturan blok masa depan untuk sepenuhnya mencegah cap waktu masa lalu, karena ini dapat mempengaruhi proses sinkronisasi blockchain awal.
Kesalahan "kurang satu" dari Satoshi Nakamoto
Periode penyesuaian kesulitan Bitcoin terdiri dari 2016 blok, dengan waktu pembuatan blok 10 menit, yang kira-kira adalah dua minggu. Dalam menghitung penyesuaian kesulitan penambangan, protokol akan menghitung selisih stempel waktu antara blok pertama dan terakhir dalam jendela 2016 blok yang relevan.
Namun, Satoshi Nakamoto membuat kesalahan kecil tetapi signifikan dalam kode aslinya. Dia menggunakan 2016 alih-alih 2015 untuk menghitung waktu target, yang menyebabkan waktu target 0,05% lebih lama dari yang seharusnya. Ini berarti interval blok target aktual untuk Bitcoin adalah 10 menit dan 0,3 detik, bukan 10 menit yang tepat.
Meskipun kesalahan 0,3 detik ini tampak sepele, namun ia terkait dengan masalah lain yang lebih serius. Perhitungan kesulitan didasarkan pada blok pertama dan terakhir dalam setiap jendela 2016 blok, bukan pada perbedaan antara blok terakhir jendela sebelumnya dan blok terakhir jendela saat ini. Cara perhitungan ini menciptakan kemungkinan untuk serangan distorsi waktu.
Prinsip Serangan Distorsi Waktu
Serangan distorsi waktu memanfaatkan kesalahan Satoshi Nakamoto dalam perhitungan kesulitan. Dalam serangan ini, penambang jahat memanipulasi timestamp blok untuk mempengaruhi penyesuaian kesulitan. Langkah-langkah serangan adalah sebagai berikut:
Untuk sebagian besar blok, penambang mengatur cap waktu satu detik lebih awal dari blok sebelumnya.
Untuk meminimalkan percepatan waktu, penambang dapat mempertahankan cap waktu yang sama untuk 6 blok berturut-turut, kemudian menambah waktu 1 detik pada blok berikutnya.
Pada blok terakhir dari setiap periode penyesuaian kesulitan, penambang akan mengatur cap waktu ke waktu dunia nyata.
Timestamp blok pertama untuk jendela penyesuaian kesulitan berikutnya diatur kembali ke masa lalu, hanya 1 detik lebih awal dari blok kedua terakhir di jendela sebelumnya.
Mode serangan ini menyebabkan waktu blockchain semakin tertinggal dari waktu nyata, sedangkan kesulitan akan terus meningkat. Namun, mulai dari siklus penyesuaian kedua, kesulitan akan mulai disesuaikan ke bawah. Ini memungkinkan para penambang untuk menghasilkan sejumlah besar blok dalam waktu singkat, berpotensi menciptakan Bitcoin yang melebihi kecepatan penerbitan normal.
Kelayakan dan Tantangan Serangan
Meskipun secara teori serangan ini memiliki dampak yang merusak, pelaksanaannya menghadapi beberapa tantangan:
Perlu mengendalikan sebagian besar daya komputasi jaringan.
Keberadaan penambang yang jujur akan meningkatkan kesulitan serangan.
Jika penambang yang jujur menghasilkan blok pertama dari jendela penyesuaian kesulitan, serangan pada siklus tersebut akan gagal.
Proses serangan adalah terlihat publik dan mungkin akan memicu perbaikan soft fork darurat.
Solusi
Ada beberapa cara untuk memperbaiki kerentanan ini:
Mengubah algoritma penyesuaian kesulitan, menghitung rentang waktu antara jendela blok 2016 yang berbeda.
Menghapus aturan MPT, yang mengharuskan stempel waktu setiap blok meningkat secara ketat.
Atur aturan batas baru: Waktu blok pertama dari periode kesulitan baru tidak boleh lebih awal dari jumlah menit tertentu dari blok terakhir periode sebelumnya ( seperti 2 jam ).
Saat ini, pengembang cenderung mengadopsi solusi ketiga, dengan batas waktu ditetapkan selama 2 jam. Solusi ini tidak hanya dapat secara efektif meredakan serangan distorsi waktu, tetapi juga meminimalkan risiko munculnya blok tidak valid secara tidak sengaja.
Kesimpulan
Serangan distorsi waktu mengungkapkan potensi kerentanan keamanan dalam protokol Bitcoin. Meskipun penerapan serangan ini menghadapi banyak tantangan di dunia nyata, hal ini mengingatkan kita akan perlunya terus-menerus meninjau dan memperbaiki infrastruktur teknologi blockchain. Dengan solusi perbaikan soft fork yang diusulkan, komunitas Bitcoin secara aktif menghadapi ancaman potensial ini, semakin meningkatkan keamanan dan stabilitas jaringan.