Blockchain-Fork
區塊鏈分叉的機率是多少?
是否有任何通用公式可以讓某人計算目前擁有鏈叉的機率是多少?
我知道找到新區塊的機率與難度目標成正比。鑑於可能有
2^256
不同的雜湊值(為了簡化),找到一個nonce
產生的雜湊值低於的target
機率約為P(m) = (2^256 - target)/2^256
.假設一個區塊將在 10 分鐘內被挖出,並且考慮到 2 秒的延遲對於新網路傳播不完整來說足夠小,也就是說,如果兩個節點發現一個區塊相隔 2 秒,則沒有時間通知完整的網路。
這是對我來說變得複雜的時候(統計數據對我來說並不強大)。上述情況發生的機率是多少?
我認為這與正態分佈有關,但我不確定。
我找到分叉機率的理性是:
P(fork) = P(m1) * P(m2) * P(tdse)
P(m1)
節點 1 找到新區塊的機率在哪裡P(m2)
,節點 2 的機率相同,並且兩者P(tdse)
的探勘發生的時間差 s mall足以不傳播到整個網路的機率。
實際上,它根本與難度無關,而只是與找到下一個區塊的預期時間有關。
塊查找是一個Poisson過程。
x
因此,在我們預期區塊發生的時間內,區塊發生的機率λ
是:在理想條件下,我們預計每十分鐘一個塊,即 600 秒。因此,在 2 秒內,我們預計會出現 1/300 個塊。
p(2|1/300)
計算結果約為 5.54*10 -6大約為 0.000554%,即我們預計每 180k 塊或每 ~3.4 年會在兩秒內出現兩個塊。更令人興奮的是 10 秒,其機率約為 0.00014,即我們預計每 7000 個塊(即大約每 7 週)發生一次 10 秒內的兩個塊。