Consensus

共識與信任

  • January 15, 2022

因此,在比特幣工作量證明機制中,誰最快地解決了數學方程,誰就可以挖出這個區塊。如果是這樣的話,這個礦工在新挖交易的方向上有很大的發言權。就像優先考慮某些使用者發送的交易一樣。另外,既然這個礦工是第一個挖礦的,那他/她不能是個壞演員嗎?其他礦工如何確保他們不是壞演員?在第一個礦工完成後,是否還需要其他礦工來處理該區塊?

在以下來自網站的文本

“如果網路中的任何成員試圖廣播虛假資訊,網路上的所有節點都會立即將其辨識為客觀無效並忽略它。因為每個節點都可以驗證比特幣網路本身的所有資訊,因此無需信任其他成員網路,使比特幣成為一個無需信任的系統。”

我只是對其他礦工如何能夠驗證和確認一個連續解決數學方程的壞演員感到困惑。而在上面的陳述中,當它說所有節點都可以驗證時,這是什麼意思?你如何定義有效的經文無效?

  1. 為了被認為是正確的,一個區塊和其中包含的交易必須遵守某些規則:
  • 必須正確解決找到“快樂”雜湊的任務
  • 該塊必須引用正確的父塊
  • 塊中包含的交易必須使用先前交易的未使用輸出
  • 等等任何節點都可以自行檢查所有這些
  1. 如果礦工認為一個新區塊不正確,他只需提供他的新區塊作為任何其他正確區塊的延續。
  2. 在不同礦工提出的繼續鏈的所有可能選項中,較長的選項屬於主要選項。此外,這個決定可能會隨著競爭鍊長度的變化而變化。

@user1234440 你的問題一步一步:

  1. 引用正確的父塊對遊戲來說是微不足道的,只要壞演員連續最快地獲得快樂雜湊,他就可以繼續告訴世界,他的塊是正確的。

是的,這被稱為“5​​0% 攻擊”,除了增加網路雜湊率之外,沒有任何方法可以對抗 PoW 共識。 2. 就您而言,任何節點都可以檢查這一點,節點是否會返回並檢查某些內容是否有效?

PoW共識下,節點必然會檢查新區塊,但檢查結果不會報告給任何人——每個節點自己決定這個區塊是否正確。通過網路中的PoS共識,可以實施一種機制,通過撤銷其權益來懲罰不正確區塊的創建者。在BFT共識中使用直接收集有關塊的正確性的答案以進行後續投票,但它們不用於公共網路。 3. 他們會花時間檢查並錯過探勘新區塊,沒有激勵對嗎?

與搜尋“快樂”雜湊相比,檢查在全域範圍內花費的時間和資源更少。但是,如果我們考慮的不是PoW,而是PoS共識,那麼,比如說,Polkadot有一個特殊的角色“漁夫”,它會因檢測到錯誤的區塊而獲得獎勵。 4. 對於你的第二點,提供他自己的區塊是如何工作的?

只是礦工提供了自己的區塊,將這個礦工選擇的區塊作為父區塊。它被其他節點視為所有其他提議中新塊的等效候選者。 5. 如果 2 個礦工說他們自己的區塊是正確的,整個系統將如何決定?

在使用 PoW 的網路中,共識不是由“系統”決定的——每個單獨的礦工決定。他通過從他認為“最正確”的區塊繼續鏈(形成新區塊的候選者)來表達他的“聲音”。 6. 到你的第三點,那麼如果一個礦工連續擊敗所有人以最快的速度計算雜湊,他將不斷能夠更快地產生塊

是的,見問題 1。 7. 這又回到了我的問題——能夠以最快的速度解決區塊的礦工似乎在系統的去向方面有很多發言權,甚至可以玩弄它並扮演壞角色,對嗎?

是的,如果這很關鍵,那麼有必要在網路中使用 PoW(PoS,BFT)以外的共識算法。 8. 這是我理解的極端情況,但理論上可行,對嗎?

對於具有低雜湊率的“年輕”網路來說這是非常現實的,並且是它們的安全問題之一。例如,在一定程度上,Polkadot項目致力於解決這個問題。

引用自:https://ethereum.stackexchange.com/questions/118599