Fenomena Transaksi Duplikat Bitcoin: Sebuah Kekurangan Sistem yang Jarang Terjadi
Ringkasan
Transaksi Bitcoin biasanya menggunakan output yang tidak terpakai dengan merujuk pada ID transaksi sebelumnya. Output ini hanya dapat dibelanjakan sekali, jika tidak, akan muncul masalah pembayaran ganda. Namun, dalam sistem Bitcoin memang terdapat dua set transaksi yang sepenuhnya identik. Situasi ini terjadi karena transaksi coinbase tidak memiliki input, melainkan langsung menghasilkan koin baru. Oleh karena itu, dua transaksi coinbase yang berbeda mungkin mengirimkan jumlah yang sama ke alamat yang sama, dengan cara yang sepenuhnya identik, sehingga menghasilkan ID transaksi yang sama. Selain itu, satu-satunya kemungkinan ID transaksi yang sama adalah tabrakan hash, tetapi ini hampir tidak mungkin terjadi dengan teknologi kriptografi saat ini.
Dua set transaksi berulang ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Set transaksi berulang pertama (d5d2....8599) terletak di antara set kedua, meskipun waktu kemunculan pertamanya di blockchain lebih lambat.
Detail Transaksi Duplikat
Penampil blok menunjukkan bahwa transaksi duplikat pertama muncul di dua blok berbeda. Penampil blok yang berbeda memiliki beberapa perbedaan dalam menampilkan transaksi duplikat ini, beberapa secara default menampilkan blok yang lebih awal, sementara yang lain menampilkan blok yang lebih baru.
Di antara empat blok yang terlibat, hanya satu blok (,812) yang berisi transaksi lain, menggabungkan 1 BTC dan 19 BTC menjadi 20 BTC.
Penanganan Output yang Berulang
Karena ada dua set ID transaksi yang sama, transaksi yang duplikat ini total melibatkan 200 BTC, atau dapat dipahami sebagai 100 BTC. Hingga saat ini, 200 BTC ini belum dibelanjakan. Secara teori, orang yang memiliki kunci pribadi terkait dapat membelanjakan Bitcoin ini, tetapi setelah dibelanjakan, 50 BTC yang duplikat tidak akan dapat digunakan dan akan hilang, sehingga sebenarnya hanya 100 BTC yang mungkin dapat dipulihkan. Mengenai dari blok mana koin ini akan dikurangkan setelah dibelanjakan, saat ini masih belum dapat dipastikan.
Masalah Transaksi Berulang
Transaksi yang berulang dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta dapat mengaburkan asal-usul Bitcoin. Ini juga dapat digunakan untuk menyerang, misalnya dengan membayar seseorang dua kali dengan dua transaksi yang berulang, tetapi sebenarnya hanya setengah dari dana yang tersedia. Ini dapat digunakan untuk menyerang bursa, mencoba membuat kesalahan pada dananya.
Solusi
Untuk menyelesaikan masalah transaksi ganda, pada Maret 2012, soft fork BIP30 diterapkan, melarang penggunaan ID transaksi yang berulang, kecuali transaksi sebelumnya telah dibelanjakan. Pada bulan September tahun yang sama, aturan ini dimodifikasi lebih lanjut, berlaku untuk semua blok.
Pada Maret 2013, soft fork BIP34 mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang pada dasarnya menyelesaikan masalah transaksi ganda. Setelah itu, node menghentikan pemeriksaan BIP30, karena pemeriksaan yang mahal ini tidak lagi diperlukan.
Masalah Potensial di Masa Depan
Meskipun BIP34 telah menyelesaikan sebagian besar masalah, tetapi pada beberapa blok sebelum aktivasi, byte pertama dari scriptSig transaksi coinbase kebetulan cocok dengan tinggi blok yang akan datang. Ini berarti bahwa pada ketinggian blok tertentu di masa depan, masih mungkin terjadi transaksi yang duplikat.
Blok berikutnya yang mungkin mengalami transaksi duplikat adalah 1.983.702, yang diperkirakan akan dihasilkan sekitar Januari 2046. Memanfaatkan celah ini membutuhkan miner mengeluarkan biaya yang sangat besar, yang berdasarkan harga Bitcoin saat ini bisa melebihi 15 juta dolar AS, dan hampir tidak ada keuntungan nyata.
Risiko potensial setelahnya adalah blok 169985, diperkirakan dapat direplikasi pada tahun 2078. Begitu pula, biaya untuk memanfaatkan celah ini juga bisa sangat tinggi.
Kesimpulan
Mengingat kesulitan, biaya, dan kelangkaan peluang untuk menyalin transaksi, celah ini tidak merupakan ancaman utama terhadap keamanan Bitcoin. Meskipun demikian, para pengembang masih berupaya mencari solusi, yang mungkin memerlukan perbaikan masalah ini melalui soft fork. Salah satu pendekatan yang mungkin adalah penegakan komitmen SegWit.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
17 Suka
Hadiah
17
4
Bagikan
Komentar
0/400
rugpull_survivor
· 19jam yang lalu
Lihat bug ini cukup bagus! Kami yang miskin hanya bisa menikmati sedikit kesenangan ini.
Lihat AsliBalas0
ZenChainWalker
· 19jam yang lalu
Bug penambangan ini sudah ada 13 tahun. Ingat saat itu saya tidak tidur untuk melihat hal ini.
Lihat AsliBalas0
ImpermanentPhilosopher
· 19jam yang lalu
Kecelakaan ini terlalu cepat, ya?
Lihat AsliBalas0
ser_we_are_ngmi
· 19jam yang lalu
2010 bug... benar-benar sejarah kelam dunia kripto
Analisis Kerentanan Transaksi Ulang Bitcoin: Penyebab Historis, Risiko Potensial, dan Tantangan Masa Depan
Fenomena Transaksi Duplikat Bitcoin: Sebuah Kekurangan Sistem yang Jarang Terjadi
Ringkasan
Transaksi Bitcoin biasanya menggunakan output yang tidak terpakai dengan merujuk pada ID transaksi sebelumnya. Output ini hanya dapat dibelanjakan sekali, jika tidak, akan muncul masalah pembayaran ganda. Namun, dalam sistem Bitcoin memang terdapat dua set transaksi yang sepenuhnya identik. Situasi ini terjadi karena transaksi coinbase tidak memiliki input, melainkan langsung menghasilkan koin baru. Oleh karena itu, dua transaksi coinbase yang berbeda mungkin mengirimkan jumlah yang sama ke alamat yang sama, dengan cara yang sepenuhnya identik, sehingga menghasilkan ID transaksi yang sama. Selain itu, satu-satunya kemungkinan ID transaksi yang sama adalah tabrakan hash, tetapi ini hampir tidak mungkin terjadi dengan teknologi kriptografi saat ini.
Dua set transaksi berulang ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Set transaksi berulang pertama (d5d2....8599) terletak di antara set kedua, meskipun waktu kemunculan pertamanya di blockchain lebih lambat.
Detail Transaksi Duplikat
Penampil blok menunjukkan bahwa transaksi duplikat pertama muncul di dua blok berbeda. Penampil blok yang berbeda memiliki beberapa perbedaan dalam menampilkan transaksi duplikat ini, beberapa secara default menampilkan blok yang lebih awal, sementara yang lain menampilkan blok yang lebih baru.
Di antara empat blok yang terlibat, hanya satu blok (,812) yang berisi transaksi lain, menggabungkan 1 BTC dan 19 BTC menjadi 20 BTC.
Penanganan Output yang Berulang
Karena ada dua set ID transaksi yang sama, transaksi yang duplikat ini total melibatkan 200 BTC, atau dapat dipahami sebagai 100 BTC. Hingga saat ini, 200 BTC ini belum dibelanjakan. Secara teori, orang yang memiliki kunci pribadi terkait dapat membelanjakan Bitcoin ini, tetapi setelah dibelanjakan, 50 BTC yang duplikat tidak akan dapat digunakan dan akan hilang, sehingga sebenarnya hanya 100 BTC yang mungkin dapat dipulihkan. Mengenai dari blok mana koin ini akan dikurangkan setelah dibelanjakan, saat ini masih belum dapat dipastikan.
Masalah Transaksi Berulang
Transaksi yang berulang dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta dapat mengaburkan asal-usul Bitcoin. Ini juga dapat digunakan untuk menyerang, misalnya dengan membayar seseorang dua kali dengan dua transaksi yang berulang, tetapi sebenarnya hanya setengah dari dana yang tersedia. Ini dapat digunakan untuk menyerang bursa, mencoba membuat kesalahan pada dananya.
Solusi
Untuk menyelesaikan masalah transaksi ganda, pada Maret 2012, soft fork BIP30 diterapkan, melarang penggunaan ID transaksi yang berulang, kecuali transaksi sebelumnya telah dibelanjakan. Pada bulan September tahun yang sama, aturan ini dimodifikasi lebih lanjut, berlaku untuk semua blok.
Pada Maret 2013, soft fork BIP34 mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang pada dasarnya menyelesaikan masalah transaksi ganda. Setelah itu, node menghentikan pemeriksaan BIP30, karena pemeriksaan yang mahal ini tidak lagi diperlukan.
Masalah Potensial di Masa Depan
Meskipun BIP34 telah menyelesaikan sebagian besar masalah, tetapi pada beberapa blok sebelum aktivasi, byte pertama dari scriptSig transaksi coinbase kebetulan cocok dengan tinggi blok yang akan datang. Ini berarti bahwa pada ketinggian blok tertentu di masa depan, masih mungkin terjadi transaksi yang duplikat.
Blok berikutnya yang mungkin mengalami transaksi duplikat adalah 1.983.702, yang diperkirakan akan dihasilkan sekitar Januari 2046. Memanfaatkan celah ini membutuhkan miner mengeluarkan biaya yang sangat besar, yang berdasarkan harga Bitcoin saat ini bisa melebihi 15 juta dolar AS, dan hampir tidak ada keuntungan nyata.
Risiko potensial setelahnya adalah blok 169985, diperkirakan dapat direplikasi pada tahun 2078. Begitu pula, biaya untuk memanfaatkan celah ini juga bisa sangat tinggi.
Kesimpulan
Mengingat kesulitan, biaya, dan kelangkaan peluang untuk menyalin transaksi, celah ini tidak merupakan ancaman utama terhadap keamanan Bitcoin. Meskipun demikian, para pengembang masih berupaya mencari solusi, yang mungkin memerlukan perbaikan masalah ini melalui soft fork. Salah satu pendekatan yang mungkin adalah penegakan komitmen SegWit.