Race Attack

Tingkat Menengah
Diperbarui Aug 14, 2026

Apa Itu Race Attack?

Race attack adalah jenis pengeluaran ganda ketika penyerang membuat dua transaksi yang saling bertentangan yang mengeluarkan dana yang sama pada saat yang sama, lalu menyiarkannya dengan cara yang dirancang untuk menipu penerima. 

Tujuannya adalah membuat merchant percaya bahwa mereka telah dibayar, sementara transaksi kedua yang saling bertentangan mengirim koin yang sama kembali kepada penyerang atau ke alamat lain.

Race attack secara khusus menargetkan penerima yang menganggap transaksi yang belum dikonfirmasi sebagai final yang sering disebut sebagai pembayaran tanpa konfirmasi. 

Karena jaringan belum mencatat transaksi yang valid secara permanen, ada jangka waktu singkat ketika hasilnya dapat dipengaruhi. Hal ini membuat serangan tersebut paling relevan dalam situasi checkout cepat ketika penjual segera menyerahkan barang atau layanan.

Bagaimana Cara Kerja Race Attack?

Dalam skenario umum, penyerang mengirim satu transaksi kepada merchant dan, hampir pada saat yang sama, menyiarkan transaksi pesaing yang membelanjakan koin yang sama kepada diri mereka sendiri. Kedua transaksi tersebut masuk ke pool memori (mempool) dari node yang berbeda pada jaringan. 

Karena node dapat menerima kedua transaksi tersebut dalam urutan yang berbeda, node tersebut untuk sementara tidak sepakat tentang transaksi yang sah.

Pada akhirnya, hanya satu transaksi yang dapat dimasukkan ke dalam blok. Jika miner mengonfirmasi transaksi yang mengembalikan koin kepada penyerang, pembayaran kepada merchant menjadi tidak valid.

Penyerang dapat meningkatkan peluangnya dengan terhubung langsung ke node merchant untuk mengirimkan transaksi pembayaran, sambil menyiarkan transaksi yang saling bertentangan secara lebih luas ke seluruh jaringan. Jika merchant menerima pembayaran sebelum ada konfirmasi apa pun, mereka bisa tidak mendapatkan apa-apa.

Cara Mengurangi Risiko Race Attack

Cara paling efektif untuk mengurangi eksposur terhadap race attack adalah menunggu satu atau beberapa konfirmasi blok sebelum menganggap pembayaran sebagai final. Setelah transaksi dimasukkan ke dalam blok dan blok tambahan dibangun di atasnya, membatalkannya menjadi makin sulit dan mahal.
Merchant yang menangani jumlah yang lebih besar sering kali menunggu beberapa konfirmasi untuk menurunkan probabilitas pembalikan. Perlu diperhatikan bahwa race attack berbeda dari serangan 51% yang memerlukan kendali atas mayoritas daya mining jaringan dan dapat menulis ulang transaksi yang sudah dikonfirmasi. Race attack tidak memerlukan tingkat sumber daya tersebut, tetapi umumnya hanya berhasil terhadap penerimaan tanpa konfirmasi.

Dalam praktiknya, menunggu konfirmasi, memantau transaksi yang saling bertentangan, dan menghindari penerimaan instan atas pembayaran yang belum dikonfirmasi dapat secara signifikan mengurangi kemungkinan keberhasilan race attack.

Pelajari selengkapnya: Penjelasan Pengeluaran Ganda