Kemungkinan merusak blockchain
Setiap node bagus yang membentuk blockchain secara alami tidak mencoba menangkap transaksi penipuan ke dalam blok.
Oleh karena itu, ada dua jenis aktivitas penipuan yang dilakukan oleh node jahat.
- Memalsukan sejarah masa lalu dan mendapatkan kembali jumlah yang dibayarkan sejauh ini
- Memonopoli koin yang baru dikeluarkan
Karena blockchain menganggap rantai terpanjang sebagai rantai yang benar, penampilan rantai yang benar dan rantai yang salah yang bersaing untuk panjang dapat dianggap sebagai jalan acak.
Jika rantai yang benar diperpanjang satu blok, node yang baik akan selangkah lebih maju, dan jika rantai yang buruk diperpanjang satu blok, node yang buruk akan selangkah lebih maju.
Pada saat ini, kemungkinan bahwa panjang rantai yang salah akan mengejar dan menyalip panjang rantai yang benar mirip dengan masalah kebangkrutan penjudi.
Masalah kebangkrutan penjudi adalah teori bahwa jika Anda terus bertaruh dengan jumlah yang sama pada perjudian, kemungkinan besar Anda akan bangkrut.
Teori ini membuktikan bahwa penjudi dengan dana rendah tidak dapat mengalahkan organisasi yang beroperasi dengan sumber daya keuangan yang besar.
Makalah Bitcoin menyatakan bahwa kemungkinan bahwa panjang rantai palsu akan mengejar panjang rantai yang benar bahkan sekali berkurang secara eksponensial ketika panjang rantai yang benar meningkat (karena jumlah blok meningkat).Saya membuktikan.
Jika P> q (jumlah node yang baik melebihi jumlah node yang buruk), qz akan lebih rendah secara eksponensial karena jumlah blok dalam rantai yang benar meningkat.
Oleh karena itu, node jahat harus menutup celah dengan rantai yang benar sedini mungkin.
Check your achievement
Click the “Tick” button
if you understand the lesson so far.
Finalitas transaksi
Dari sini, kita akan mempelajari berapa lama waktu yang dibutuhkan untuk membawa kemungkinan transaksi dirusak mendekati 0%.
Keadaan di mana kemungkinan gangguan transaksi hampir 0% disebut finalitas.
Sebagai contoh, misalkan pengirim transaksi adalah node yang buruk dan penerima adalah node yang baik.
Node jahat mengirimkan transaksi Bitcoin palsu ke node yang baik, bertujuan untuk situasi di mana sudah terlambat ketika node yang baik menyadarinya setelah jangka waktu tertentu.
Node nakal mulai membentuk blok rantai jahat segera setelah mengirimkan transaksi Bitcoin palsu.
Node yang tepat tidak dapat mengetahui seberapa banyak node yang buruk meregangkan rantai yang buruk.
Pada saat ini, jika rantai yang benar membentuk blok seperti biasa dengan menyesuaikan Tingkat Kesulitan, panjang blok yang dapat diperpanjang oleh simpul ilegal dianggap mengikuti nilai yang diharapkan dari distribusi Poisson di bawah ini.
Probabilitas bahwa rantai nakal akan mengejar rantai yang benar adalah perbedaan antara selisih zk (dari blok yang terhubung ke rantai yang benar) dengan probabilitas bahwa simpul jahat telah selesai membentuk k blok pada saat masing-masing mulai menghasilkan rantai dihitung dengan mengalikan peluang kejar-kejaran dari jumlah-jumlah blok yang terhubung ke rantai yang tidak valid) dan menambahkan hasilnya ke semua k.
Mengubah rumus di atas ke kode C memberikan:
Mari kita coba rumus ini dengan benar-benar menerapkan beberapa angka.
Seperti disebutkan di atas, kita dapat melihat bahwa probabilitas bahwa rantai buruk mengejar rantai kanan berkurang secara eksponensial dengan z meningkat.
Lalu, berapa banyak blok yang sebenarnya harus dalam keadaan finalitas?
Jika probabilitas bahwa rantai yang buruk mengejar rantai yang benar kurang dari 0,1%, itu dalam keadaan final, dan jumlah blok yang diperlukan adalah sebagai berikut.
Dengan kata lain, jika 6 atau lebih blok terhubung ke rantai yang benar, kemungkinan rantai yang salah akan mengejar rantai yang benar dapat ditekan hingga kurang dari 0,1%.
Dengan kata lain, jika enam blok terbentuk setelah blok baru terbentuk, itu dapat dianggap sebagai keadaan finalitas.
Dalam kasus Bitcoin, waktu ketika satu blok terbentuk disesuaikan menjadi sekitar sekali setiap 10 menit oleh Kesulitan, jadi 10 menit x 6 blok = 60 menit setelah blok baru terbentuk. , Status finalitas ditetapkan.
Check your achievement
Click the “Tick” button
if you understand the lesson so far.