白皮書計算部分可能出現錯誤?
第 11 節給出了雙花機率 P(z, q) 的計算,給定攻擊者的相對雜湊率q和塊計數z。
只有準確地知道 z 代表什麼,才能理解 P(z, q)。從計算部分:
*接收者一直等到交易被添加到一個塊中並且z個塊已經連結到它之後。*他不知道攻擊者取得的確切進展量,但假設誠實塊花費了每個塊的平均預期時間,那麼攻擊者的潛在進展將是具有預期值的Poisson分佈…… [我的重點]
顯然,交易有一個確認。交易“已添加到一個區塊”,並且在其後連結了零個區塊。換句話說,交易由活動鏈的尖端託管。
然而,無論攻擊者的雜湊算力如何,這筆交易被雙花的機率是 100%。事實上,即使沒有主動攻擊者,機率也是 100%。
中本聰給出的等式強化了這一矛盾:
當 z = 0 時,P = 1.0。
我錯過了什麼?
這個問題至少有一個答案聲稱 z=0 意味著交易未確認。這與我引用的段落不一致。
計算部分的某處似乎存在錯誤,導致矛盾。我正在尋找一個可以指出錯誤或解釋我誤解的答案。
編輯
一個回應提出中本聰可能一直在談論芬尼攻擊。換句話說,攻擊者在嘗試雙花之前已經預挖了一個區塊。假設攻擊者可以比網路更快地傳播塊,那麼成功的機會將是 100%。在這種情況下,攻擊者和網路在 z=0 處綁定,並且給定更快的塊傳播,優勢屬於攻擊者。
但是,計算部分明確禁止 Finney 攻擊。特別是,攻擊者在攻擊之前沒有開採任何區塊:
接收方生成一個新的密鑰對,並在簽名前不久將公鑰提供給發送方。這可以防止發送者提前準備一個區塊鏈,通過不斷地處理它,直到他足夠幸運地領先足夠遠,然後在那個時刻執行交易。一旦交易被發送,不誠實的發送者就開始在包含他的交易的替代版本的平行鏈上秘密工作。
我相信至少部分問題是數學問題。具體來說,Satoshi 給出 λ 的值:
當z =0時,λ=0。
回顧中本聰對雙花機率 P(z, q) 的原始推導:
λ=0 表示每一項都為零,與雜湊率無關。換句話說,攻擊者永遠不能雙花。
這與方程的“重新排列”形式相矛盾,如上所述,它給出了 100% 的機率。
我不是數學專家,但據我所知,中本聰給出的 P(z, q) 的兩種形式對於z =0是不等價的。事實上,他們給出了相反的答案:
- 在一種情況下,攻擊者總是失敗,P(z, q) = 0
- 在另一種情況下,攻擊者以 100% 的機率成功,P(z, q) = 1。
無論哪種方式,當z = 0時,攻擊者的相對雜湊率都不會影響分析。
我意識到已經出現了針對此問題的其他治療方法。目前,我只想解決白皮書中z = 0 分析的明顯問題。
這可能嗎,如果可以,我該怎麼做?
解釋這一點的一種方法是,確實存在一個錯誤。
更仁慈的解釋是有兩個未說明的假設:
- 攻擊者正在執行類似Finney 的攻擊——也就是說,他甚至在嘗試交易之前就已經預挖了一個區塊。因此,雖然 z=0 意味著誠實網路有 1 個區塊,但攻擊者也是如此。
- 攻擊者贏得傳播競賽。因此,如果雙花交易存在葉子攻擊者區塊,並且與原始交易存在相同高度的葉子誠實區塊,則攻擊者的交易將被接受。
如果只有 1 次確認,這些加在一起為攻擊者提供了 100% 的成功機會。
在我自己關於該主題的論文中,我已經明確說明了攻擊者已經擁有一個塊的假設(同時刪除了一個不同的簡化假設)。
z = 0 是否表示交易尚未確認,或者表示已確認但其區塊尚未擴展?
Z = 0 表示交易尚未確認。機率為 1,因為在為這些計算所做的假設下,未經確認的交易總是被攻擊者認為是不安全的並且可以雙花,而不管其雜湊率如何。