Bitcoin Transaksi Duplikat: Sebuah Kerentanan Sistem yang Menarik dan Sangat Rendah Risiko
Ada fenomena unik dalam jaringan Bitcoin: dua set transaksi yang sepenuhnya identik. Situasi ini mungkin terjadi karena transaksi coinbase tidak memerlukan input transaksi, melainkan langsung menghasilkan Bitcoin baru. Oleh karena itu, dua transaksi coinbase yang berbeda dapat mengirimkan jumlah Bitcoin yang sama ke alamat yang sama, dan dibangun dengan cara yang sepenuhnya identik, sehingga menghasilkan transaksi yang sepenuhnya sama. Karena konten transaksi ini identik, ID transaksi mereka (TXID) juga akan cocok, karena TXID adalah ringkasan hash dari data transaksi.
Dua kelompok transaksi yang sama ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Kelompok transaksi yang pertama terjepit di antara kelompok yang kedua. Kami mengklasifikasikan d5d2....8599 sebagai transaksi yang pertama diulang, karena itu menjadi salinan terlebih dahulu, meskipun itu pertama kali muncul di blockchain setelah transaksi yang lain e3bf....b468.
Menariknya, berbagai penjelajah blok memiliki perilaku yang berbeda saat menampilkan transaksi yang berulang ini. Beberapa penjelajah secara default menampilkan blok yang lebih awal, sementara yang lain menampilkan blok yang lebih baru.
Jumlah total Bitcoin yang terlibat dalam transaksi berulang ini adalah 200 BTC, atau dapat dipahami sebagai 100 BTC. Hingga saat ini, semua Bitcoin ini belum digunakan. Secara teoritis, jika seseorang memiliki kunci pribadi yang terkait dengan keluaran ini, mereka mungkin dapat menggunakan Bitcoin ini. Namun, setelah digunakan, 50 BTC yang berulang tidak dapat digunakan lagi dan hilang, sehingga sebenarnya hanya 100 BTC yang mungkin dapat dipulihkan.
Transaksi yang berulang jelas akan membawa beberapa masalah. Mereka dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta menyulitkan untuk menentukan asal nyata Bitcoin. Selain itu, ini juga dapat digunakan untuk beberapa serangan dan eksploitasi.
Untuk menyelesaikan masalah ini, pengembang Bitcoin mengajukan skema soft fork BIP30 pada tahun 2012, yang melarang penggunaan TXID yang duplikat untuk transaksi, kecuali jika TXID sebelumnya telah digunakan. Kemudian, aturan ini diubah untuk berlaku untuk semua blok, dan tidak hanya untuk blok setelah 15 Maret 2012.
Pada bulan Juli 2012, proposal soft fork BIP34 diajukan dan diaktifkan pada bulan Maret 2013. Perubahan ini mengharuskan transaksi coinbase mencakup tinggi blok, yang tampaknya sepenuhnya menyelesaikan masalah transaksi ganda. Namun, ternyata ada beberapa transaksi coinbase dalam blok sebelum aktivasi BIP34, di mana byte pertama scriptSigs-nya kebetulan cocok dengan tinggi blok yang akan datang yang valid.
Blok berikutnya yang mungkin mengalami transaksi duplikat adalah 1,983,702, yang diperkirakan akan dihasilkan sekitar Januari 2046. Jika penambang ingin melakukan serangan semacam ini, mereka tidak hanya perlu cukup beruntung untuk menemukan blok ini, tetapi juga harus mengeluarkan biaya yang sangat besar. Berdasarkan harga Bitcoin saat ini, ini akan menghabiskan lebih dari 15 juta dolar.
Mengingat sulitnya dan mahalnya menyalin transaksi, serta kesempatan untuk melakukannya sangat jarang, celah ini tidak dianggap sebagai masalah keamanan utama untuk Bitcoin. Meskipun demikian, para pengembang telah menghabiskan banyak waktu selama bertahun-tahun untuk masalah ini, dan tanggal 2046 mungkin menjadi batas waktu terakhir untuk beberapa pengembang dalam memperbaiki masalah ini. Ada banyak cara untuk memperbaiki kesalahan ini, yang mungkin memerlukan soft fork. Salah satu kemungkinan solusi adalah menegakkan komitmen SegWit.
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.
16 Suka
Hadiah
16
7
Bagikan
Komentar
0/400
SighingCashier
· 07-29 18:40
Blockchain mencatat hal kecil ini juga bisa gagal?
Lihat AsliBalas0
GasFeeCryer
· 07-29 06:00
Bug ini memang bikin pusing ya
Lihat AsliBalas0
RooftopReserver
· 07-29 06:00
200枚?这波 Rekt
Lihat AsliBalas0
YieldChaser
· 07-29 06:00
Menambang celah untuk kaya dalam semalam ya
Lihat AsliBalas0
ChainWallflower
· 07-29 05:59
Bug ini hanya ketakutan belaka
Lihat AsliBalas0
TokenSherpa
· 07-29 05:51
sebenarnya, pola data menunjukkan kerentanan protokol yang parah... cukup mengkhawatirkan sejujurnya
Dekripsi sejarah transaksi Bitcoin yang terulang: Kerentanan sistem yang jarang dan tantangan potensial di tahun 2046
Bitcoin Transaksi Duplikat: Sebuah Kerentanan Sistem yang Menarik dan Sangat Rendah Risiko
Ada fenomena unik dalam jaringan Bitcoin: dua set transaksi yang sepenuhnya identik. Situasi ini mungkin terjadi karena transaksi coinbase tidak memerlukan input transaksi, melainkan langsung menghasilkan Bitcoin baru. Oleh karena itu, dua transaksi coinbase yang berbeda dapat mengirimkan jumlah Bitcoin yang sama ke alamat yang sama, dan dibangun dengan cara yang sepenuhnya identik, sehingga menghasilkan transaksi yang sepenuhnya sama. Karena konten transaksi ini identik, ID transaksi mereka (TXID) juga akan cocok, karena TXID adalah ringkasan hash dari data transaksi.
Dua kelompok transaksi yang sama ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Kelompok transaksi yang pertama terjepit di antara kelompok yang kedua. Kami mengklasifikasikan d5d2....8599 sebagai transaksi yang pertama diulang, karena itu menjadi salinan terlebih dahulu, meskipun itu pertama kali muncul di blockchain setelah transaksi yang lain e3bf....b468.
Menariknya, berbagai penjelajah blok memiliki perilaku yang berbeda saat menampilkan transaksi yang berulang ini. Beberapa penjelajah secara default menampilkan blok yang lebih awal, sementara yang lain menampilkan blok yang lebih baru.
Jumlah total Bitcoin yang terlibat dalam transaksi berulang ini adalah 200 BTC, atau dapat dipahami sebagai 100 BTC. Hingga saat ini, semua Bitcoin ini belum digunakan. Secara teoritis, jika seseorang memiliki kunci pribadi yang terkait dengan keluaran ini, mereka mungkin dapat menggunakan Bitcoin ini. Namun, setelah digunakan, 50 BTC yang berulang tidak dapat digunakan lagi dan hilang, sehingga sebenarnya hanya 100 BTC yang mungkin dapat dipulihkan.
Transaksi yang berulang jelas akan membawa beberapa masalah. Mereka dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta menyulitkan untuk menentukan asal nyata Bitcoin. Selain itu, ini juga dapat digunakan untuk beberapa serangan dan eksploitasi.
Untuk menyelesaikan masalah ini, pengembang Bitcoin mengajukan skema soft fork BIP30 pada tahun 2012, yang melarang penggunaan TXID yang duplikat untuk transaksi, kecuali jika TXID sebelumnya telah digunakan. Kemudian, aturan ini diubah untuk berlaku untuk semua blok, dan tidak hanya untuk blok setelah 15 Maret 2012.
Pada bulan Juli 2012, proposal soft fork BIP34 diajukan dan diaktifkan pada bulan Maret 2013. Perubahan ini mengharuskan transaksi coinbase mencakup tinggi blok, yang tampaknya sepenuhnya menyelesaikan masalah transaksi ganda. Namun, ternyata ada beberapa transaksi coinbase dalam blok sebelum aktivasi BIP34, di mana byte pertama scriptSigs-nya kebetulan cocok dengan tinggi blok yang akan datang yang valid.
Blok berikutnya yang mungkin mengalami transaksi duplikat adalah 1,983,702, yang diperkirakan akan dihasilkan sekitar Januari 2046. Jika penambang ingin melakukan serangan semacam ini, mereka tidak hanya perlu cukup beruntung untuk menemukan blok ini, tetapi juga harus mengeluarkan biaya yang sangat besar. Berdasarkan harga Bitcoin saat ini, ini akan menghabiskan lebih dari 15 juta dolar.
Mengingat sulitnya dan mahalnya menyalin transaksi, serta kesempatan untuk melakukannya sangat jarang, celah ini tidak dianggap sebagai masalah keamanan utama untuk Bitcoin. Meskipun demikian, para pengembang telah menghabiskan banyak waktu selama bertahun-tahun untuk masalah ini, dan tanggal 2046 mungkin menjadi batas waktu terakhir untuk beberapa pengembang dalam memperbaiki masalah ini. Ada banyak cara untuk memperbaiki kesalahan ini, yang mungkin memerlukan soft fork. Salah satu kemungkinan solusi adalah menegakkan komitmen SegWit.