Difficulty
加密貨幣真的需要時間戳嗎?
比特幣本身應該是一個時鐘,所以我總是覺得引用外部時間很粗略。比特幣能否通過諸如叔塊率之類的東西知道它自己的塊間隔?能不能不參考外界時間做難度調整?
我認為問題不在於這是否可能,而在於這是否可取。
塊速率限制有幾個功能:
- 將陳舊塊率保持在較低水平,以便合謀攻擊者所做的努力不會比誠實的礦工高多少(每個塊)。
- 保持對非探勘完整節點的驗證可行。
這些目標中的第二個在沒有時鐘的情況下本質上很難實現(它可以通過根據實現的塊速率調整塊大小來集成到您的提案中,但這又會引入對時鐘的需求)。
但是,第一個也是不兼容的。共謀攻擊者(只在自己的區塊上挖礦,而忽略其他人的),或與其他人串通的礦工卡特爾,可以將區塊率設置為任意高,同時保持叔塊率為零(或任何想要的速度)。如果這樣的攻擊者將出塊率提高到足夠高,那麼誠實的其他礦工就更難參與,即使攻擊者的雜湊率低於 50% - 其他礦工天生就處於劣勢,因為只能看到延遲的區塊(即延遲和塊間隔之間的比率會影響它們的盈利能力)。
所以這完成的是它為一組能跟上預期的叔叔率的礦工自我選擇,這可能是任意小的。所需的屬性略有不同:*當一組可接受分佈的非信任礦工可以參與時,*保持低分叉率。
不。如果沒有時間戳以某種方式成為區塊鏈的一部分,新節點就不可能與已經線上的節點同步和收斂相同的網路難度。除了所有過時的塊都需要保存和中繼(這將是大量重複和無用的數據)這一事實之外,這些塊還需要附加時間戳,或者指示這些塊的速率的東西,這本質上需要對實時的引用。
此外,網路如何就陳舊塊的比率達成一致?由於外部因素,節點在不同時間接收塊,因此所有節點不太可能就陳舊塊的比率達成一致。同意將需要在塊中的時間戳。