Sampeyan ngerti: Wektu samesthine antarane rong blok Bitcoin rata-rata \(10\) menit. Saiki sampeyan nggawe transaksi Bitcoin sing penting lan ngenteni kanthi semangat kanggo ndeleng yen lan nalika katon ing blok sabanjure:
e50bfacc95975a4e7545d83d8954645f
Amarga sampeyan durung mriksa nalika pamblokiran sadurunge rampung, sampeyan pancene ngarepake rata-rata \( \frac{t}{2} = \frac{10}{2} = 5 \) menit wektu tunggu. Sawise \(5\) menit suwene wis liwati, priksa manawa pamblokiran pungkasan wis rampung:
e50bfacc95975a4e7545d83d8954645f
Blok pungkasan wis rampung \(7\) menit kepungkur. Saiki sampeyan ngerti informasi iki, wektu samesthine diganti saka \(5\) menit dadi total \(10\) menit. Tegese: Kira-kira \(3\) menit bisa uga adoh. Sampeyan ngetokake prentah bola-bali. Lan ngenteni. Sawise maneh \(10\) menit, sampeyan rumangsa ana sing salah.
Nanging banjur sampeyan kelingan Nunggu paradoks:
Yen bis mlaku rata-rata saben \(t\) menit, wektu nunggu wektu tekan acak ing halte bis ora cocog karo \(\frac{t}{2}\) menit, nanging ing kasus distribusi eksponensial. jarak \(t\) .
Kedadeyan pamblokiran Bitcoin minangka proses Poisson lan mulane disebarake sacara eksponensial. Wiwit pangolahan Poisson ora duwe memori, blok sabanjure uga rampung ing rata-rata \(10\) menit. Sing mesthi ditrapake - ora preduli suwene kita ngenteni. Kualitas tanpa memori ditrapake kanthi mundur lan maju ing wektu.
Kepiye carane bisa?
Kanggo nindakake iki, kita nimbang rong statement ing ngisor iki:
- A) Wektu tunggu rata-rata ing antarane rong blok yaiku \(10\) menit, dudu \(20\) menit.
- B) Yen titik acak ing wektu dipilih, kita nyana sing pemblokiran sadurungé \(10\) menit ing sasi lan pamblokiran sabanjuré \(10\) menit ing mangsa. Supaya kita bisa nyana wektu nunggu \(20\) menit antarane pamblokiran.
We mriksa loro statements.
Kanggo nindakake iki, pisanan kita extract data sing cocog, khusus wektu nalika pamblokiran rampung, menyang file TXT (kanggo dileksanakake kanthi simpul lengkap sing mlaku sacara lokal adhedhasar bitcoind ):
e50bfacc95975a4e7545d83d8954645f
Iki menehi file teks ing ngisor iki, sing saiki diproses lan disimpen ing /time.txt . Program Rust ing ngisor iki digunakake kanggo file /Cargo.toml:
e50bfacc95975a4e7545d83d8954645f
File /src/main.rs ngandhut logika test nyata:
e50bfacc95975a4e7545d83d8954645f
Kita nginstal dependensi, mbangun program lan miwiti:
e50bfacc95975a4e7545d83d8954645f
Pancen, loro statement kasebut bener nalika kita nganalisa output:
e50bfacc95975a4e7545d83d8954645f
Iki uga bisa diterangake kanthi intuisi kaya ing ngisor iki: Yen wektu pamblokiran beda-beda sacara signifikan, wektu tunggu tartamtu beda-beda - yen kita nindakake transaksi kanthi acak ing wektu, kemungkinan luwih dhuwur yen kita bakal mungkasi ing interval sing wektu nunggu luwih saka 10 menit amarga interval iki uga njupuk luwih akeh papan ing timeline amarga wektu maneh.