Proof-of-Stake
PoS 如何選擇“獲勝”鏈
我經常看到 51% 攻擊的描述,如果比特幣有兩條衝突的鏈,它將選擇最長的一條。這似乎是可行的,因為難度只會在特定的區塊間隔重新調整,這意味著更多的雜湊算力可以讓挖礦更快成為可能,至少在難度調整之前。
在 PoS 類型的硬幣上,難度會重新調整每個區塊,所以即使你攜帶更大的槍來獲得更多硬幣或幣齡,理論上,即使在更短的規模上,你也應該鑄造與“主鏈”相同數量的區塊. 那麼如果沒有“更長的鏈”,PoS 在出現分叉的情況下如何選擇一個獲勝的分叉呢?
我得出的結論是,它實際上是與 PoW 相同的“工作量”最多的鏈。“最長”鍊是一個誤稱,來自比特幣中罕見的難度重定向。真正的意思是整個鏈條上難度最高的鏈條。因此,例如,如果您在區塊 1000 並且出現了兩條鏈,即使可能會出現區塊 1001a 和 1001b,並且即使在幾個區塊上存在共識分歧,直到您到達例如區塊 1005a 和 1005b,具有最高區塊的鏈總難度,因為創世塊將是節點將接受的。原因是更高的難度意味著更多的硬幣年齡/每秒更多的雜湊值,這意味著大部分工作都花在了建構該分支上。
通常選擇最長的鏈作為主鏈。另一個條件是如果兩個使用者同時找到兩個塊。網路中最大節點批准的塊將被考慮並添加到最長的鏈中。另一個塊是被視為孤塊並被視為分叉鏈。