Namun, dia menambahkan, proses yang diberikan pengembang Filecoin ke bursa untuk memverifikasi setoran termasuk cacat kritis yang memungkinkan pengguna untuk menyetor koin yang sama berulang kali.
“Hal ini memungkinkan peretas untuk menulis cek tunggal tetapi menyetornya kembali sebanyak yang mereka suka – mirip dengan bagaimana anak-anak, di arcade, biasa mengikat tali ke tempat untuk bermain selamanya menggunakan satu koin,” kata Dettmer. “Kecuali di sini konsekuensinya lebih drastis. Jumlah dana nyata yang tidak terbatas dapat dicuri. “
Kecelakaan ini lebih tepat disebut “setoran ganda” karena bug ini tidak menghasilkan pembelanjaan ganda yang sebenarnya, dan penambang yang menemukannya yakin mereka telah menemukan contoh lain juga.
Bug Filecoin RBF ‘deposit ganda’
Kolektif penambangan Filfox dan FileStar menemukan bug pada hari Rabu setelah secara tidak sengaja mengeksploitasinya. Setelah transaksi 61.000 FIL (senilai kira-kira $ 4,6 juta) ke bursa memakan waktu terlalu lama, tim membengkokkan biaya dengan transaksi “ganti-oleh-biaya” (RBF) untuk mempercepatnya.
Transaksi ganti biaya terjadi saat pengguna menyiarkan transaksi baru untuk menggantikan transaksi lama yang belum dikonfirmasi dan menambahkan biaya penambangan yang lebih tinggi padanya, dengan tujuan untuk mempercepat konfirmasinya.
Namun, transaksi RBF ini menghasilkan setoran yang muncul di akun Binance mereka dua kali, secara efektif mengubah 61.000 FIL menjadi 120.000 FIL. Masalahnya adalah FILK 61k kedua tidak pernah benar-benar masuk ke dompet Binance – Binance ditipu untuk mengkredit setoran dua kali karena bug dalam kode RPC Filecoin. Tim segera memberi tahu Binance dan Protocol Labs.
Pada dasarnya, bug tersebut berarti Binance melihat kedua transaksi tersebut, mengabaikan bahwa keduanya bertentangan dan menerima keduanya (untuk transaksi ganti dengan biaya, biasanya, transaksi dengan biaya kedua yang lebih tinggi dianggap valid sementara yang pertama ditolak).
Setiap pertukaran dengan pasangan perdagangan Filecoin menggunakan kode RPC “StateGetReceipt” yang sama untuk memproses setoran, sehingga bug secara teoritis dapat dieksploitasi pada setiap pertukaran yang memperdagangkan token, kata tim.
“Lab Protokol menyarankan agar pertukaran mengambil tanda terima pesan dari RPC StateGetReceipt, yang memiliki bug serius. Ketika ada dua pesan dengan pengirim yang sama dan nonce on-chain yang sama, (yang berarti pembelanjaan ganda), StateGetReceipt mengembalikan hasil yang sama untuk keduanya, “kata pengembang Filecoin kepada perusahaan pertambangan dalam korespondensi mereka.
Setoran untuk Filecoin di Binance, Huobi dan lainnya telah dihentikan, kata para penambang. CoinDesk telah menghubungi bursa populer Binance, Huobi, dan OKEx untuk memverifikasi klaim ini, tetapi hanya mendengar kabar dari Binance, yang mengatakan bahwa deposit FIL “dilanjutkan pada 19 Maret 2021 pukul 00:45 UTC dan sistem kembali normal”.
Pengembang Filecoin telah membuka masalah GitHub untuk memperbaikinya dan tim telah menerbitkan bedah mayat jika masalah tersebut terjadi . Dalam korespondensi dengan CoinDesk, mereka menyangkal bahwa cacat tersebut disebabkan oleh kesalahan RPC dan sebaliknya mengklaim itu berasal dari “kesalahpahaman” dan “penyalahgunaan” di pihak Binance.
“Tidak ada bug RPC. Masalah ini disebabkan oleh penggunaan API yang salah dari bursa yang dipermasalahkan. Kami tidak tahu ada pertukaran lain yang melakukan kesalahan serupa, ”kata tim Filecoin. “Tim akan bekerja dengan bursa untuk mengaudit mekanisme setoran mereka untuk menghindari masalah di masa mendatang.”
FIL turun 4,5% pada hari itu.
Ini adalah cerita yang berkembang.
Diperbarui Kamis, 18 Maret 2021, 21:57 UTC: Komentar tambahan dari tim Filecoin ditambahkan dan pengeditan dilakukan untuk mengklarifikasi bahwa eksploitasi itu adalah “setoran ganda” di Binance, bukan “pembelanjaan ganda” on-chain.
https://www.coindesk.com/filecoin-double-deposit-on-binance-exploit-open-other-exchanges