Pahami serangan loop transaksi penggantian Jaringan Petir dengan cepat

Baru-baru ini (akhir Oktober 2023) komunitas Bitcoin mengungkapkan bahwa Jaringan Petir mungkin memiliki kelemahan besar, memungkinkan pengguna untuk membangun metode serangan untuk mencuri uang, yang disebut "Serangan Bersepeda Penggantian Petir".

Saya membaca prinsipnya, dan nama Cina dapat diterjemahkan sebagai "Serangan Transaksi Penggantian Siklik Jaringan Petir".

Prinsip serangannya adalah sebagai berikut.

Pertama, jelaskan cara kerja Lightning Network:

  1. Alice dan Bob membuka saluran pembayaran, yaitu, bersama-sama membuka alamat tanda tangan 2-2, masing-masing memegang kunci pribadi.

Alice dan Bob mengisi ulang 0,5BTC dan 0,6BTC ke alamat tanda tangan 2-2 ini masing-masing (jumlahnya dapat dipilih secara sewenang-wenang, saya hanya sebuah contoh), keduanya terjadi pada rantai Bitcoin utama, dan penambang harus mengonfirmasi. Dengan cara ini, keadaan awal saluran pembayaran ini adalah bahwa 0,5BTC milik ALICE, 0,6BTC milik BOB, kami mencatat (ALICE: 0,5BTC; bob:0.6BTC)。

Dengan cara ini, dalam alamat tanda tangan 2-2 ini, Alice dan Bob dapat saling membayar, misalnya, Alice dapat membayar BOB 0.1BTC, sehingga keadaan saluran negara menjadi 0.4BTC milik Alice, 0.7BTC milik BOB, (ALICE: 0.4BTC; bob:0.7BTC)。 Dan transaksi semacam itu tidak perlu dikemas pada rantai Bitcoin utama, tetapi hanya terjadi antara Alice dan Bob, yang disebut saluran pembayaran.

Transfer sewenang-wenang antara Alice dan Bob tidak perlu diselesaikan ke rantai utama, yang menghemat banyak biaya penambang dan dapat diterima secara real time, menghilangkan kebutuhan untuk 10 menit konfirmasi blok.

Tetapi jika Anda hanya dapat mentransfer transaksi antara dua orang, itu tidak berguna.

  1. Saluran pembayaran juga dibuka antara Bob dan Carol, dan keadaan awalnya adalah bahwa Bob memiliki 1.0BTC, carol0BTC, yang dicatat sebagai (BOB: 1.0BTC; lagu:0BTC)。

  2. Saat ini, Anda melihat bahwa ada saluran pembayaran antara Alice dan Bob, dan ada juga saluran pembayaran antara Bob dan Carol.

Alice kemudian dapat membayar bitcoin ke Carol melalui Bob.

Proses pembayaran adalah sebagai berikut: Alice membayar Carol 0.1BTC, dan perubahan status berikut terjadi di dua saluran pembayaran di atas

  1. Perubahan status antara Alice dan Bob adalah (Alice: 0.3BTC; BOB: 0.8BTC)

  2. Perubahan status antara BOB dan CAROL adalah (BOB: 0.9BTC; CAROL: 0.1BTC)

  3. Ini menyelesaikan transaksi transfer 0,1BTC dari Alice ke Carol.

  1. Ketika semakin banyak pihak membuka saluran pembayaran dan mewujudkan interkoneksi timbal balik, maka terbentuklah jaringan pembayaran, yang kita sebut Jaringan Petir.

Tentu saja, penjelasan teknis detailnya terlalu rumit, dan di atas adalah penjelasan yang paling ringkas.

Berikut ini menjelaskan proses umum serangan transaksi penggantian siklik Jaringan Petir, dan saya tidak mengerti detail teknis detailnya, dan opcode, kontrak, dan fungsi tersebut agak rumit.

  1. Penyerangnya adalah Alice dan Carol, yang bersekongkol untuk menyerang Bob, dan Bob adalah korbannya.

Alice membayar 0,3BTC ke Carol.

  1. Saluran status awal adalah sebagai berikut (ALICE: 0.3BTC; BOB: 0.8BTC) dan (BOB: 0.9BTC; CAROL: 0.1BTC)

  2. Saluran negara antara Alice dan Bob harus diubah menjadi (Alice: 0; Bob:1.1BTC)

  3. Saluran negara antara BOB dan CAROL harus diubah menjadi (BOB: 0.6BTC; CAROL: 0.4BTC)

Alice dan Carol memutuskan untuk bermitra untuk menipu 0,3BTC Bob

  1. Carol belum mengklaim untuk mengkonfirmasi bahwa dia telah menerima 0,3BTC dari Alice, yaitu, Carol tidak mengirim informasi tanda terima Lightning Network ke BOB. Akibatnya, Bob tidak akan dapat secara legal mengklaim 0,3BTC Alice dalam Jaringan Petir.

  2. Pada waktu tertentu, Alice memainkan trik dan langsung memulai transaksi kliring TX1 pada rantai Bitcoin utama, mengklaim bahwa ia masih memiliki 0,3BTC, sementara Bob hanya memiliki 0,8BTC di saluran negaranya.

Dalam kesepakatan tx1, 0,3BTC dikirim ke alamat Alice sendiri (tanda tangan tunggal), jadi Alice mencoba mencuri 0,3BTC yang bukan miliknya.

  1. Karena Bob tidak mendapatkan tanda terima Carol, Bob tidak dapat membuktikan (Alice; bob) di saluran negara bagian ini harus diubah menjadi (Alice:0BTC; Bob:1.1BTC)

  2. Setelah TX1 dikemas secara on-chain, yaitu Alice mencuri 0,3BTC, Carol akan segera mengumpulkan 0,3BTC di Jaringan Petir dan mengirimkan tanda terima ke BOB.

  3. Dengan cara ini, Alice tidak benar-benar mengirim 0,3BTC ke BOB, tetapi Carol sebenarnya menerima 0,3BTC dari BOB. Jadi Bob dicuri 0.3BTC oleh Alice dan Carol dalam kemitraan.

  4. Perhatikan bahwa ketika Alice memulai transaksi pencurian koin TX1 di rantai utama, Bob memiliki tindakan pencegahan, yaitu memulai transaksi ke rantai utama TX2 membuktikan bahwa Alice curang, tetapi karena Bob tidak mendapatkan tanda terima Carol, transaksi TX2 masih cukup merepotkan, tetapi dapat dilakukan secara teoritis.

Setelah Alice melihat TX2, dia akan menggunakan metode biaya penambang yang lebih tinggi lagi untuk mengatur ulang TX1 untuk mendorong penambang mengemas TX1 dan menolak TX2, yang disebut "penggantian".

  1. Saat ini, pengembang mengatakan bahwa kolusi antara Alice dan Carol memang dapat membuatnya tampak lebih sulit untuk melegitimasi TX2 BOB pada penambang rantai utama Bitcoin, dan untuk membuktikan lebih jelas bahwa TX2 adalah sah, protokol perlu dimodifikasi, dan itu adalah garpu lunak untuk rantai utama, yang sulit.

Di atas adalah proses umum serangan transaksi penggantian siklik Jaringan Petir, prinsip teknis spesifiknya terlalu rumit, saya tidak mengerti, saya hanya berasumsi bahwa detail teknis yang diposting oleh pengembang yang saya lihat di Internet sudah benar.

Metode serangannya adalah dengan mengapit salah satu dari keduanya, dan pertukarannya wajar dan semua pengguna telah membuka saluran pembayaran, sehingga pertukaran akan menderita.

Pada akhirnya, saya merasa ini bukan masalah besar, tidak ada bug dalam perangkat lunak, akan ada cara untuk memperbaikinya.

Lihat Asli
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.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)