Lompat ke konten

Serangan dust

Serangan dust mengirim output atau aset bernilai rendah yang tidak diminta ke alamat tertentu. Transfer itu sendiri tidak mengungkap kunci privat, tetapi pembelanjaan atau interaksi berikutnya dapat membocorkan privasi atau menimbulkan risiko phishing.

Diperbarui

Hanya untuk tujuan edukasi; bukan nasihat investasi. Aset yang tidak diminta dapat menimbulkan risiko privasi, phishing, dan transaksi, serta tindakan on-chain mungkin tidak dapat dibatalkan.

Jawaban langsung

Serangan dust mengirim output atau aset bernilai rendah yang tidak diminta ke alamat tertentu. Pada chain UTXO, penyerang dapat mengamati apakah dompet kemudian membelanjakan output tersebut bersama koin lain dan menggunakan bukti itu untuk mengelompokkan alamat. Pada chain berbasis akun, token atau NFT yang tidak dikenal lebih sering berupa spam atau umpan agar pengguna mengunjungi situs, menyetujui kontrak, atau menyalin alamat yang menipu.

Menerima dust tidak dengan sendirinya mengungkap seed phrase, kunci privat, atau wewenang penandatanganan. Paparan timbul dari tindakan berikutnya: pemilihan koin otomatis dapat menciptakan hubungan publik antar-UTXO, sedangkan mengeklik, menandatangani, menyetujui, menukar, atau mengembalikan aset yang tidak dikenal dapat menimbulkan konsekuensi keamanan atau privasi.

“Dust” memiliki arti kebijakan yang lebih sempit di Bitcoin Core. GetDustThreshold memperkirakan apakah biaya membelanjakan output pada dustRelayFee akan melebihi nilai output tersebut. Hasilnya bergantung pada skrip output dan input pembelanjaan yang diperkirakan, sehingga tidak ada jumlah koin universal yang mendefinisikan dust pada setiap chain atau untuk setiap jenis output.

Kebijakan relay dan konsensus merupakan lapisan yang berbeda. Node standar dapat menolak meneruskan output dust menurut kebijakan lokalnya, meskipun output yang sudah disertakan dalam blok valid tetap menjadi bagian dari set UTXO dan dapat dibelanjakan jika transaksi berikutnya membayar biaya yang dapat diterima.

Cara kerja

Transaksi Bitcoin menggunakan output sebelumnya sebagai input dan biasanya membuat output kembalian. Heuristik kepemilikan input bersama memperlakukan input yang dibelanjakan bersama sebagai bukti kendali bersama. Penyerang dapat mengirim output kecil ke beberapa alamat yang diketahui atau dicurigai, memantau chain, dan memperkuat klaster alamat jika transaksi berikutnya memilih output tersebut secara bersamaan.

Kesimpulan itu bersifat probabilistik, bukan fakta protokol. CoinJoin dan transaksi kolaboratif lainnya sengaja memungkinkan peserta berbeda menyumbangkan input ke satu transaksi, dan kustodian dapat menyusun transaksi untuk banyak pelanggan. Karena itu, suatu transaksi dapat memperlemah atau membatalkan heuristik tersebut; transaksi itu tidak membuktikan pemilik sah atau identitas dunia nyata dari setiap input.

Chain berbasis akun tidak menggabungkan UTXO dengan cara ini. Siapa pun tetap dapat mengirim mata uang native, mentransfer token, mencetak NFT, atau menyebabkan kontrak memancarkan event yang menyesatkan. Dompet atau pengindeks mungkin menampilkan hasilnya, tetapi nama, simbol, ikon token, atau saldo yang ditampilkan tidak mengautentikasi kontrak ataupun membuktikan nilai ekonomi. Pertanyaan defensifnya adalah apakah pengguna mengizinkan panggilan, tanda tangan, atau allowance berikutnya.

Gunakan alur respons berikut:

  1. Jangan mengeklik URL, membalas, mengembalikan, menukar, membakar, atau menyetujui item yang tidak dikenal hanya untuk menghilangkannya dari tampilan.
  2. Catat chain, hash transaksi, indeks output atau kontrak aset, pengirim, jumlah, dan tampilan dompet sebelum mengubah apa pun.
  3. Bedakan UTXO dari transfer native, token, NFT, persetujuan, atau catatan khusus event; masing-masing memiliki status dan penanganan berbeda.
  4. Untuk UTXO, periksa pemilihan koin dan gunakan fitur coin control atau penguncian pada dompet tepercaya agar output tidak dipilih otomatis. Di Bitcoin Core, lockunspent dapat mengecualikan output tertentu; persistensinya bergantung pada opsi yang digunakan.
  5. Untuk dompet berbasis akun, sembunyikan spam bila memungkinkan dan verifikasi chain serta alamat kontrak lengkap sebelum memberi harga atau mengambil tindakan apa pun.
  6. Jika situs, tanda tangan, atau kontrak sudah digunakan, periksa persis data yang ditandatangani dan allowance saat ini, cabut izin berbahaya melalui antarmuka tepercaya, dan pindahkan aset tersisa hanya jika kompromi kunci atau wewenang yang masih berlangsung membenarkannya.
  7. Dapatkan setiap alamat tujuan pembayaran dari sumber yang terautentikasi dan bandingkan alamat lengkap pada layar tepercaya; riwayat transaksi bukan buku alamat.

Contoh

  • Seorang pengguna menerima donasi publik di alamat A dan menyimpan tabungan di alamat B. Pengamat sudah mengetahui bahwa A milik pengguna tersebut, tetapi tidak mengetahui siapa yang mengendalikan B.
  • Penyerang mengirim 600 sats ke A dan 600 sats ke B. Kemudian, dompet memilih 20,000 sats milik A, 50,000 sats milik B, dan kedua output kecil dalam satu transaksi yang membayar 60,000 sats ditambah biaya.
  • Pola input bersama memberi pengamat bukti bahwa A dan B mungkin dikendalikan bersama, sehingga mengekspos riwayat tabungan yang terkait dengan B. Pola ini tetap tidak membuktikan secara kriptografis bahwa satu orang memiliki kedua alamat tersebut.
  • Jika dompet mendukung coin control, pengguna dapat memberi label dan mengunci kedua output 600 sats tersebut. Membekukannya tidak menghapus transaksi; tindakan itu mencegah pemilihan otomatis selama kunci masih berlaku.

Risiko

  • Pemilihan koin otomatis menghubungkan alamat publik dengan alamat tabungan privat.
  • Penggunaan ulang alamat mempermudah pengelompokan berikutnya dan memperluas riwayat yang terlihat.
  • Mengembalikan dust mengonfirmasi bahwa penerima dapat membelanjakan output sasaran.
  • Pengguna menganggap klaster probabilistik sebagai atribusi identitas yang pasti.
  • Dompet tidak memiliki coin control, atau kunci sementara hilang setelah dimulai ulang.
  • Transaksi kolaboratif atau kustodial menciptakan klaster positif palsu.
  • Nama token atau gambar NFT yang tidak dikenal memuat tujuan phishing.
  • Pengguna memberikan allowance atau menandatangani data yang tidak jelas ketika mencoba mengeklaim, menjual, atau menyembunyikan spam.
  • Token palsu memakai nama atau simbol yang sama dengan aset yang dikenal.
  • Pengindeks memberi harga pada kontrak tidak dikenal dan mencemari laporan portofolio atau akuntansi.
  • Transaksi kecil menanam alamat mirip yang kemudian disalin dari riwayat.
  • Respons insiden memindahkan dana secara tergesa-gesa dan menandatangani tindakan berbahaya lainnya.

Untuk sistem treasury dan akuntansi, identifikasi aset fungible berdasarkan chain dan alamat kontrak, bukan ticker saja. Biarkan aset tidak dikenal tanpa harga secara default, pisahkan event yang diamati dari perubahan saldo yang dikonfirmasi, dan wajibkan peninjauan sebelum kontrak baru masuk ke sistem valuasi, perutean, atau agunan.

Penerimaan pasif saja bukan bukti bahwa dompet telah disusupi. Eskalasikan berdasarkan wewenang atau perilaku aktual: tanda tangan, allowance, atau panggilan kontrak yang tidak dikenal, perangkat yang berubah, recovery phrase yang bocor, atau transaksi keluar tanpa izin sangat berbeda dari catatan masuk yang tidak diminta.

Kesalahpahaman umum

  • Menerima dust otomatis membuat dompet dicuri. Transfer masuk tidak mengungkap kunci privat; pembelanjaan berikutnya atau interaksi yang dipancinglah yang menciptakan paparan terkait.
  • Setiap output kecil berada di bawah ambang dust Bitcoin. Ambang tersebut merupakan perhitungan kebijakan relay yang bervariasi menurut skrip dan asumsi biaya; “serangan dust” juga digunakan secara lebih luas untuk transfer bernilai rendah yang tidak diminta.
  • Memindahkan atau membakar token spam selalu lebih aman daripada mengabaikannya. Tindakan apa pun dapat memanggil kontrak yang tidak tepercaya, membuat allowance, atau mengungkap lebih banyak keterkaitan. Menyembunyikan item sering kali merupakan respons dengan interaksi lebih rendah.
  • Input yang digunakan bersama selalu dimiliki satu orang. Kepemilikan input bersama merupakan heuristik yang berguna, tetapi CoinJoin dan penyusunan transaksi kustodial menjadi contoh tandingan yang jelas.

Topik terkait

Sumber

Navigasi

Cari di wiki...