Bitcoin dalam transaksi berulang: sebuah cacat yang menarik dan berisiko rendah
Ringkasan
Transaksi Bitcoin biasanya menggunakan output yang tidak terpakai dengan mengacu pada ID transaksi sebelumnya. Output ini hanya dapat digunakan sekali, jika tidak, akan menyebabkan masalah pembayaran ganda. Namun, dalam sejarah Bitcoin, memang ada dua set transaksi yang benar-benar identik. Situasi ini mungkin terjadi karena transaksi coinbase tidak memiliki input, melainkan langsung menghasilkan koin baru. Oleh karena itu, dua transaksi coinbase yang berbeda dapat mengirimkan jumlah yang sama ke alamat yang sama, dengan cara yang sepenuhnya identik, sehingga menghasilkan ID transaksi yang sama.
Dua kelompok transaksi berulang ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. ID untuk kelompok transaksi berulang pertama adalah d5d2....8599, meskipun waktu kemunculannya di blockchain lebih lambat dibandingkan dengan transaksi berulang lainnya e3bf....b468.
Detail Transaksi Berulang
Dua kelompok transaksi yang berulang ini muncul di empat blok yang berbeda. Penjelajah blok akan memiliki perilaku default yang berbeda saat menampilkan transaksi ini, beberapa akan menunjukkan blok yang lebih awal, sementara yang lain akan menunjukkan blok yang lebih baru.
Dalam empat blok terkait ini, hanya satu blok (91,812) yang mengandung transaksi lain, menggabungkan 1 BTC dan 19 BTC menjadi satu output 20 BTC.
Apakah output ini dapat digunakan?
Setiap nilai transaksi berulang adalah 50 BTC, total terlibat 200 BTC( atau 100 BTC, tergantung pada cara pemahaman). Sampai saat ini, 200 BTC ini belum digunakan. Secara teori, orang yang memiliki kunci privat yang relevan dapat menggunakan Bitcoin ini, tetapi setelah digunakan, 50 BTC yang berulang tidak dapat digunakan lagi dan akan hilang, sehingga sebenarnya hanya 100 BTC yang mungkin dapat dipulihkan.
Masalah Transaksi Berulang
Transaksi yang berulang dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta dapat menyebabkan sumber Bitcoin tidak jelas. Ini juga dapat digunakan untuk beberapa serangan dan eksploitasi, seperti setoran yang menipu pada bursa.
Solusi
Untuk mengatasi masalah transaksi duplikat, pada bulan Maret 2012 dilaksanakan soft fork BIP30, yang melarang penggunaan ID transaksi yang duplikat, kecuali jika transaksi sebelumnya telah digunakan. Pada bulan September tahun yang sama, aturan ini dimodifikasi lebih lanjut, berlaku untuk semua blok.
Pada Maret 2013, BIP34 fork lunak mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang secara efektif menyelesaikan masalah transaksi ganda. Setelah itu, perangkat lunak inti Bitcoin menghentikan pemeriksaan BIP30, karena sudah tidak diperlukan lagi.
Masalah Potensial di Masa Depan
Meskipun BIP34 menyelesaikan sebagian besar masalah, tetapi dalam beberapa blok sebelum aktivasi BIP34, byte pertama dari scriptSig transaksi coinbase kebetulan cocok dengan tinggi blok yang valid di masa depan. Ini berarti bahwa pada tinggi blok tertentu di masa depan, masih mungkin terjadi transaksi duplikat.
Blok berikutnya yang mungkin mengalami transaksi yang berulang adalah 1,983,702, diperkirakan akan dihasilkan sekitar bulan Januari 2046. Namun, biaya untuk memanfaatkan celah ini sangat tinggi, memerlukan pembakaran sejumlah besar Bitcoin, dan hampir tidak memberikan manfaat nyata bagi penyerang.
Kesimpulan
Mengingat kesulitan, biaya, dan kelangkaan peluang untuk menyalin transaksi, celah ini tidak merupakan ancaman keamanan utama bagi Bitcoin. Namun, karena keunikannya dan kemungkinan keberadaan jangka panjang, ini tetap menjadi masalah teknis yang menarik. Para pengembang mungkin akan mencari solusi menyeluruh untuk masalah ini sebelum tahun 2046, mungkin melalui soft fork. Salah satu solusi potensial 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.
14 Suka
Hadiah
14
2
Bagikan
Komentar
0/400
SmartMoneyWallet
· 07-22 07:33
Data on-chain tidak pernah berbohong, 97% risiko telah dikunci oleh BIP34.
Lihat AsliBalas0
AltcoinOracle
· 07-22 07:28
menarik bagaimana protokol berkembang... metrik kepemilikan saya menunjukkan probabilitas 0,0021% dari eksploitasi sebenarnya sejujurnya
Vulnerabilitas transaksi berulang dalam sejarah Bitcoin: penyebab, dampak, dan analisis risiko di masa depan
Bitcoin dalam transaksi berulang: sebuah cacat yang menarik dan berisiko rendah
Ringkasan
Transaksi Bitcoin biasanya menggunakan output yang tidak terpakai dengan mengacu pada ID transaksi sebelumnya. Output ini hanya dapat digunakan sekali, jika tidak, akan menyebabkan masalah pembayaran ganda. Namun, dalam sejarah Bitcoin, memang ada dua set transaksi yang benar-benar identik. Situasi ini mungkin terjadi karena transaksi coinbase tidak memiliki input, melainkan langsung menghasilkan koin baru. Oleh karena itu, dua transaksi coinbase yang berbeda dapat mengirimkan jumlah yang sama ke alamat yang sama, dengan cara yang sepenuhnya identik, sehingga menghasilkan ID transaksi yang sama.
Dua kelompok transaksi berulang ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. ID untuk kelompok transaksi berulang pertama adalah d5d2....8599, meskipun waktu kemunculannya di blockchain lebih lambat dibandingkan dengan transaksi berulang lainnya e3bf....b468.
Detail Transaksi Berulang
Dua kelompok transaksi yang berulang ini muncul di empat blok yang berbeda. Penjelajah blok akan memiliki perilaku default yang berbeda saat menampilkan transaksi ini, beberapa akan menunjukkan blok yang lebih awal, sementara yang lain akan menunjukkan blok yang lebih baru.
Dalam empat blok terkait ini, hanya satu blok (91,812) yang mengandung transaksi lain, menggabungkan 1 BTC dan 19 BTC menjadi satu output 20 BTC.
Apakah output ini dapat digunakan?
Setiap nilai transaksi berulang adalah 50 BTC, total terlibat 200 BTC( atau 100 BTC, tergantung pada cara pemahaman). Sampai saat ini, 200 BTC ini belum digunakan. Secara teori, orang yang memiliki kunci privat yang relevan dapat menggunakan Bitcoin ini, tetapi setelah digunakan, 50 BTC yang berulang tidak dapat digunakan lagi dan akan hilang, sehingga sebenarnya hanya 100 BTC yang mungkin dapat dipulihkan.
Masalah Transaksi Berulang
Transaksi yang berulang dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta dapat menyebabkan sumber Bitcoin tidak jelas. Ini juga dapat digunakan untuk beberapa serangan dan eksploitasi, seperti setoran yang menipu pada bursa.
Solusi
Untuk mengatasi masalah transaksi duplikat, pada bulan Maret 2012 dilaksanakan soft fork BIP30, yang melarang penggunaan ID transaksi yang duplikat, kecuali jika transaksi sebelumnya telah digunakan. Pada bulan September tahun yang sama, aturan ini dimodifikasi lebih lanjut, berlaku untuk semua blok.
Pada Maret 2013, BIP34 fork lunak mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang secara efektif menyelesaikan masalah transaksi ganda. Setelah itu, perangkat lunak inti Bitcoin menghentikan pemeriksaan BIP30, karena sudah tidak diperlukan lagi.
Masalah Potensial di Masa Depan
Meskipun BIP34 menyelesaikan sebagian besar masalah, tetapi dalam beberapa blok sebelum aktivasi BIP34, byte pertama dari scriptSig transaksi coinbase kebetulan cocok dengan tinggi blok yang valid di masa depan. Ini berarti bahwa pada tinggi blok tertentu di masa depan, masih mungkin terjadi transaksi duplikat.
Blok berikutnya yang mungkin mengalami transaksi yang berulang adalah 1,983,702, diperkirakan akan dihasilkan sekitar bulan Januari 2046. Namun, biaya untuk memanfaatkan celah ini sangat tinggi, memerlukan pembakaran sejumlah besar Bitcoin, dan hampir tidak memberikan manfaat nyata bagi penyerang.
Kesimpulan
Mengingat kesulitan, biaya, dan kelangkaan peluang untuk menyalin transaksi, celah ini tidak merupakan ancaman keamanan utama bagi Bitcoin. Namun, karena keunikannya dan kemungkinan keberadaan jangka panjang, ini tetap menjadi masalah teknis yang menarik. Para pengembang mungkin akan mencari solusi menyeluruh untuk masalah ini sebelum tahun 2046, mungkin melalui soft fork. Salah satu solusi potensial adalah menegakkan komitmen SegWit.