Bitcoin Transaksi Duplikat: Sebuah Kerentanan Menarik tetapi Berpengaruh Terbatas
Ada celah menarik dalam jaringan Bitcoin - transaksi ganda. Dalam kondisi normal, transaksi Bitcoin menggunakan output yang belum digunakan dengan merujuk pada ID transaksi sebelumnya. Output ini hanya dapat dibelanjakan sekali, jika tidak, akan menyebabkan masalah pembayaran ganda. Namun, dalam sejarah Bitcoin, memang terjadi dua set transaksi yang sepenuhnya 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 Bitcoin yang sama ke alamat yang sama, sehingga membangun transaksi yang sepenuhnya identik. Karena konten transaksi sama, ID transaksinya (TXID) juga sama.
Dua set transaksi duplikat ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Set transaksi duplikat pertama memiliki ID d5d2....8599, dan set kedua adalah e3bf....b468. Menariknya, d5d2....8599 meskipun lebih dulu menjadi salinan, tetapi muncul di blockchain setelah e3bf....b468.
Transaksi berulang ini masing-masing bernilai 50 BTC, total melibatkan 200 BTC. Dari sudut pandang tertentu, 100 BTC di antaranya sebenarnya tidak ada. 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 berulang akan hilang, sehingga sebenarnya hanya 100 BTC yang dapat diambil kembali.
Transaksi yang berulang jelas akan membingungkan dompet dan penjelajah blok, dan juga dapat dimanfaatkan untuk melakukan serangan. Misalnya, penyerang dapat menyetor dana ke bursa dengan dua transaksi yang berulang, lalu segera menariknya, berusaha membuat bursa bangkrut.
Untuk mengatasi masalah ini, komunitas Bitcoin telah mengambil berbagai langkah:
Maret 2012, BIP30 soft fork melarang penggunaan TXID yang sama untuk transaksi, kecuali TXID sebelumnya telah digunakan.
Pada September 2012, Greg Maxwell mengubah aturan sehingga pemeriksaan BIP30 berlaku untuk semua blok, tetapi mempertahankan dua transaksi duplikat yang disebutkan sebelumnya.
Pada bulan Maret 2013, soft fork BIP34 mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang pada dasarnya menyelesaikan masalah transaksi ganda.
Pada November 2015, Bitcoin Core menghentikan pemeriksaan BIP30, karena BIP34 telah memperbaiki masalah ini.
Namun, dalam beberapa blok sebelum aktivasi BIP34, byte pertama dari scriptSigs transaksi coinbase kebetulan cocok dengan tinggi blok yang akan datang yang valid. Ini berarti masalah transaksi ganda belum sepenuhnya teratasi. Blok berikutnya yang mungkin mengalami transaksi ganda adalah 1.983.702, yang diperkirakan akan dihasilkan sekitar Januari 2046.
Namun, biaya untuk memanfaatkan celah ini sangat tinggi. Misalnya, untuk blok 1,983,702, penyerang perlu membakar biaya sekitar 170 BTC, yang jika dihitung dengan harga saat ini sekitar 15 juta USD. Selain itu, dana ini kemungkinan besar tidak dapat dipulihkan. Selain itu, sejak peningkatan SegWit pada tahun 2017, transaksi coinbase juga mencakup komitmen terhadap semua transaksi dalam blok, yang semakin meningkatkan kesulitan serangan.
Mengingat tingkat kesulitan dan biaya untuk menyalin transaksi, serta kelangkaan kesempatan yang ada, celah ini tidak merupakan ancaman keamanan utama bagi Bitcoin. Meskipun demikian, para pengembang masih berusaha mencari solusi perbaikan, yang mungkin perlu dilakukan melalui soft fork. Salah satu metode yang mungkin adalah penegakan komitmen SegWit.
Secara keseluruhan, meskipun celah transaksi berulang sangat menarik, dampak sebenarnya sangat terbatas. Ini lebih mencerminkan kompleksitas jaringan Bitcoin dan upaya pengembang untuk terus menyempurnakan sistem.
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.
10 Suka
Hadiah
10
7
Bagikan
Komentar
0/400
DeadTrades_Walking
· 1jam yang lalu
Bug ini juga cukup konyol? Hahaha
Lihat AsliBalas0
ArbitrageBot
· 20jam yang lalu
Ada bug berarti ada uang yang bisa dihasilkan.
Lihat AsliBalas0
LiquidationSurvivor
· 20jam yang lalu
Kamu perbaiki bug, saya naikkan posisi~
Lihat AsliBalas0
PebbleHander
· 20jam yang lalu
Sudah diperbaiki sampai sekarang belum selesai?
Lihat AsliBalas0
ShibaMillionairen't
· 20jam yang lalu
Chang'an tidak terlalu baik, masih ada masalah.
Lihat AsliBalas0
ImpermanentTherapist
· 20jam yang lalu
Node mengalami masalah, orang-orang sudah memprediksinya.
Bitcoin duplikasi transaksi kerentanan: Kisah sejarah dan tantangan masa depan
Bitcoin Transaksi Duplikat: Sebuah Kerentanan Menarik tetapi Berpengaruh Terbatas
Ada celah menarik dalam jaringan Bitcoin - transaksi ganda. Dalam kondisi normal, transaksi Bitcoin menggunakan output yang belum digunakan dengan merujuk pada ID transaksi sebelumnya. Output ini hanya dapat dibelanjakan sekali, jika tidak, akan menyebabkan masalah pembayaran ganda. Namun, dalam sejarah Bitcoin, memang terjadi dua set transaksi yang sepenuhnya 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 Bitcoin yang sama ke alamat yang sama, sehingga membangun transaksi yang sepenuhnya identik. Karena konten transaksi sama, ID transaksinya (TXID) juga sama.
Dua set transaksi duplikat ini terjadi antara 14 hingga 15 November 2010, dengan rentang waktu sekitar 16 jam. Set transaksi duplikat pertama memiliki ID d5d2....8599, dan set kedua adalah e3bf....b468. Menariknya, d5d2....8599 meskipun lebih dulu menjadi salinan, tetapi muncul di blockchain setelah e3bf....b468.
Transaksi berulang ini masing-masing bernilai 50 BTC, total melibatkan 200 BTC. Dari sudut pandang tertentu, 100 BTC di antaranya sebenarnya tidak ada. 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 berulang akan hilang, sehingga sebenarnya hanya 100 BTC yang dapat diambil kembali.
Transaksi yang berulang jelas akan membingungkan dompet dan penjelajah blok, dan juga dapat dimanfaatkan untuk melakukan serangan. Misalnya, penyerang dapat menyetor dana ke bursa dengan dua transaksi yang berulang, lalu segera menariknya, berusaha membuat bursa bangkrut.
Untuk mengatasi masalah ini, komunitas Bitcoin telah mengambil berbagai langkah:
Maret 2012, BIP30 soft fork melarang penggunaan TXID yang sama untuk transaksi, kecuali TXID sebelumnya telah digunakan.
Pada September 2012, Greg Maxwell mengubah aturan sehingga pemeriksaan BIP30 berlaku untuk semua blok, tetapi mempertahankan dua transaksi duplikat yang disebutkan sebelumnya.
Pada bulan Maret 2013, soft fork BIP34 mengharuskan transaksi coinbase untuk menyertakan tinggi blok, yang pada dasarnya menyelesaikan masalah transaksi ganda.
Pada November 2015, Bitcoin Core menghentikan pemeriksaan BIP30, karena BIP34 telah memperbaiki masalah ini.
Namun, dalam beberapa blok sebelum aktivasi BIP34, byte pertama dari scriptSigs transaksi coinbase kebetulan cocok dengan tinggi blok yang akan datang yang valid. Ini berarti masalah transaksi ganda belum sepenuhnya teratasi. Blok berikutnya yang mungkin mengalami transaksi ganda adalah 1.983.702, yang diperkirakan akan dihasilkan sekitar Januari 2046.
Namun, biaya untuk memanfaatkan celah ini sangat tinggi. Misalnya, untuk blok 1,983,702, penyerang perlu membakar biaya sekitar 170 BTC, yang jika dihitung dengan harga saat ini sekitar 15 juta USD. Selain itu, dana ini kemungkinan besar tidak dapat dipulihkan. Selain itu, sejak peningkatan SegWit pada tahun 2017, transaksi coinbase juga mencakup komitmen terhadap semua transaksi dalam blok, yang semakin meningkatkan kesulitan serangan.
Mengingat tingkat kesulitan dan biaya untuk menyalin transaksi, serta kelangkaan kesempatan yang ada, celah ini tidak merupakan ancaman keamanan utama bagi Bitcoin. Meskipun demikian, para pengembang masih berusaha mencari solusi perbaikan, yang mungkin perlu dilakukan melalui soft fork. Salah satu metode yang mungkin adalah penegakan komitmen SegWit.
Secara keseluruhan, meskipun celah transaksi berulang sangat menarik, dampak sebenarnya sangat terbatas. Ini lebih mencerminkan kompleksitas jaringan Bitcoin dan upaya pengembang untuk terus menyempurnakan sistem.