Fenomena Penyalinan Transaksi Bitcoin: Sebuah Kasus Khusus yang Menarik namun Berisiko Rendah
Transaksi Bitcoin biasanya menggunakan output yang belum terpakai dengan merujuk pada ID transaksi sebelumnya. Output ini hanya dapat digunakan sekali, jika tidak, akan menyebabkan masalah pembayaran ganda. Namun, di dalam sistem Bitcoin terdapat dua set transaksi yang sepenuhnya identik. Situasi ini terjadi karena transaksi coinbase tidak memiliki input, melainkan menghasilkan koin baru. Oleh karena itu, dua transaksi coinbase yang berbeda mungkin mengirimkan jumlah yang sama ke alamat yang sama, dengan cara membangun yang juga sepenuhnya identik, sehingga menghasilkan transaksi yang sepenuhnya sama. Karena konten transaksi identik, ID transaksi mereka juga akan cocok, karena ID transaksi adalah nilai hash dari data transaksi. Kecuali jika terjadi tabrakan hash, tidak mungkin ada ID transaksi yang duplikat, dan tabrakan hash tidak pernah terjadi dalam Bitcoin atau sistem lain mana pun.
Dua set transaksi yang berulang ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Set transaksi berulang pertama (d5d2....8599) meskipun muncul di blockchain setelah set lainnya, tetapi dianggap sebagai salinan pertama.
Dari tangkapan layar penjelajah blok dapat dilihat bahwa transaksi berulang pertama muncul di dua blok yang berbeda. Menariknya, perilaku default dari penjelajah blok yang berbeda dalam menampilkan transaksi berulang ini berbeda. Dari empat blok yang relevan, hanya satu blok yang berisi transaksi lain.
Jumlah total Bitcoin yang terlibat dalam transaksi berulang ini adalah 200 BTC, tetapi sebenarnya hanya 100 BTC yang benar-benar ada. Hingga saat ini, 200 BTC ini belum digunakan. Secara teoritis, jika seseorang memiliki kunci pribadi yang relevan, mereka mungkin dapat menggunakan Bitcoin ini. Namun, setelah digunakan, 50 BTC yang berulang tidak akan dapat digunakan lagi. Mengenai dari blok mana pengurangan akan dilakukan saat digunakan, mungkin tidak dapat dipastikan.
Transaksi yang berulang dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta dapat digunakan untuk serangan penipuan. Untuk mengatasi masalah ini, soft fork BIP30 diterapkan pada Maret 2012, melarang penggunaan ID transaksi yang berulang, kecuali transaksi sebelumnya telah digunakan. Pada bulan September tahun yang sama, aturan ini dimodifikasi lebih lanjut, berlaku untuk semua blok, tetapi mempertahankan dua transaksi berulang awal sebagai pengecualian.
BIP34 yang diaktifkan pada Maret 2013 mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang sebagian besar menyelesaikan masalah transaksi ganda. Namun, pada beberapa blok sebelum diaktifkannya BIP34, byte pertama dari scriptSig transaksi coinbase kebetulan cocok dengan tinggi blok yang valid di masa depan, yang berarti masih ada kemungkinan duplikasi yang potensial.
Blok berikutnya yang kemungkinan dapat mengalami transaksi ganda adalah 1,983,702, yang diperkirakan akan muncul sekitar Januari 2046. Biaya untuk memanfaatkan celah ini sangat tinggi, mungkin melebihi 15 juta dolar AS, dan praktis tidak ada manfaat nyata bagi penyerang. Blok celah potensial setelahnya tidak akan muncul hingga 2078.
Mengingat kesulitan dan biaya untuk memanfaatkan celah ini, serta kelangkaan kesempatan, masalah transaksi ganda tidak menjadi ancaman keamanan utama bagi Bitcoin. Namun, mengingat rentang waktu yang terlibat dan keunikan masalah ini, ini tetap menjadi topik yang menarik untuk dipikirkan. Para pengembang Bitcoin mungkin akan mencari solusi menyeluruh untuk masalah ini sebelum tahun 2046, yang mungkin memerlukan implementasi melalui soft fork. Salah satu solusi yang mungkin adalah penegakan 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.
Transaksi berulang yang jarang terjadi dalam sejarah Bitcoin: diskusi tentang risiko potensial di masa depan dan solusinya.
Fenomena Penyalinan Transaksi Bitcoin: Sebuah Kasus Khusus yang Menarik namun Berisiko Rendah
Transaksi Bitcoin biasanya menggunakan output yang belum terpakai dengan merujuk pada ID transaksi sebelumnya. Output ini hanya dapat digunakan sekali, jika tidak, akan menyebabkan masalah pembayaran ganda. Namun, di dalam sistem Bitcoin terdapat dua set transaksi yang sepenuhnya identik. Situasi ini terjadi karena transaksi coinbase tidak memiliki input, melainkan menghasilkan koin baru. Oleh karena itu, dua transaksi coinbase yang berbeda mungkin mengirimkan jumlah yang sama ke alamat yang sama, dengan cara membangun yang juga sepenuhnya identik, sehingga menghasilkan transaksi yang sepenuhnya sama. Karena konten transaksi identik, ID transaksi mereka juga akan cocok, karena ID transaksi adalah nilai hash dari data transaksi. Kecuali jika terjadi tabrakan hash, tidak mungkin ada ID transaksi yang duplikat, dan tabrakan hash tidak pernah terjadi dalam Bitcoin atau sistem lain mana pun.
Dua set transaksi yang berulang ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Set transaksi berulang pertama (d5d2....8599) meskipun muncul di blockchain setelah set lainnya, tetapi dianggap sebagai salinan pertama.
Dari tangkapan layar penjelajah blok dapat dilihat bahwa transaksi berulang pertama muncul di dua blok yang berbeda. Menariknya, perilaku default dari penjelajah blok yang berbeda dalam menampilkan transaksi berulang ini berbeda. Dari empat blok yang relevan, hanya satu blok yang berisi transaksi lain.
Jumlah total Bitcoin yang terlibat dalam transaksi berulang ini adalah 200 BTC, tetapi sebenarnya hanya 100 BTC yang benar-benar ada. Hingga saat ini, 200 BTC ini belum digunakan. Secara teoritis, jika seseorang memiliki kunci pribadi yang relevan, mereka mungkin dapat menggunakan Bitcoin ini. Namun, setelah digunakan, 50 BTC yang berulang tidak akan dapat digunakan lagi. Mengenai dari blok mana pengurangan akan dilakukan saat digunakan, mungkin tidak dapat dipastikan.
Transaksi yang berulang dapat menyebabkan kebingungan pada dompet dan penjelajah blok, serta dapat digunakan untuk serangan penipuan. Untuk mengatasi masalah ini, soft fork BIP30 diterapkan pada Maret 2012, melarang penggunaan ID transaksi yang berulang, kecuali transaksi sebelumnya telah digunakan. Pada bulan September tahun yang sama, aturan ini dimodifikasi lebih lanjut, berlaku untuk semua blok, tetapi mempertahankan dua transaksi berulang awal sebagai pengecualian.
BIP34 yang diaktifkan pada Maret 2013 mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang sebagian besar menyelesaikan masalah transaksi ganda. Namun, pada beberapa blok sebelum diaktifkannya BIP34, byte pertama dari scriptSig transaksi coinbase kebetulan cocok dengan tinggi blok yang valid di masa depan, yang berarti masih ada kemungkinan duplikasi yang potensial.
Blok berikutnya yang kemungkinan dapat mengalami transaksi ganda adalah 1,983,702, yang diperkirakan akan muncul sekitar Januari 2046. Biaya untuk memanfaatkan celah ini sangat tinggi, mungkin melebihi 15 juta dolar AS, dan praktis tidak ada manfaat nyata bagi penyerang. Blok celah potensial setelahnya tidak akan muncul hingga 2078.
Mengingat kesulitan dan biaya untuk memanfaatkan celah ini, serta kelangkaan kesempatan, masalah transaksi ganda tidak menjadi ancaman keamanan utama bagi Bitcoin. Namun, mengingat rentang waktu yang terlibat dan keunikan masalah ini, ini tetap menjadi topik yang menarik untuk dipikirkan. Para pengembang Bitcoin mungkin akan mencari solusi menyeluruh untuk masalah ini sebelum tahun 2046, yang mungkin memerlukan implementasi melalui soft fork. Salah satu solusi yang mungkin adalah penegakan komitmen SegWit.