節點是否收到資訊,他們可以從中辨別出礦工從發現區塊開始隱瞞了多長時間?
在最近的一篇 Medium 文章中,Joe Kelly 描述了一種他稱之為“壟斷挖礦”的攻擊,在這種攻擊中,獲得多數算力的國家行為者或其他資源充足的一方所做的不僅僅是雙花,他們否認所有其他礦工阻止獎勵,因此破壞網路(<https://joekelly100.medium.com/how-to-kill-bitcoin-part-3-no-can-defend-cd6affe3fc44>)。該攻擊需要提前探勘,但在大多數礦工的秘密鏈遠遠領先於規範鏈的適當時機之前,不要發布正在創建的鏈。然後,多數礦工發布足夠多的區塊來建立新的規範鏈,帶走現在孤立區塊的所有區塊獎勵。然後,當任何其他礦工嘗試添加新區塊時,多數礦工會再釋放兩個保留的區塊,以繼續拒絕任何其他礦工的區塊獎勵。
暫時不考慮進行這種攻擊所需的費用以及任何實體是否可以獲得多數算力並建立足夠長的替代鏈來秘密執行這種攻擊的問題,在我看來,扣留發現的區塊沒有任何用處,並且這種攻擊可以通過軟分叉來處理,該軟分叉忽略適用礦工在發現後一定時間內未發布的任何區塊。但是比特幣節點是否接收到足夠的資訊來確定從發現區塊到發佈區塊所經過的時間量?
一篇 Ivan on Tech 文章描述了 Horizen 協議如何懲罰延遲發佈區塊的節點 ( https://academy.moralis.io/blog/break-down-proof-of-work-mining-and-51-attacks )。比特幣有沒有認真考慮過類似的事情?
原則上,節點知道將新塊中的交易添加到該節點的記憶體池的日期和時間。這提供了該塊可能被扣留的時間的近似上限。
例如,如果節點在 10:00 收到一個包含節點在 9:00 收到的交易的塊,則該塊不太可能被扣留超過一個小時。
但是比特幣節點是否接收到足夠的資訊來確定從發現區塊到發佈區塊所經過的時間量?
沒有可以揭示此資訊的塊的特徵。可以隨時創建一個塊,其中包含任何詳細資訊,只要它通過共識規則,它就會被網路接受為有效。為了使這種事情成為可能,無法對比特幣進行任何更改。