Nodes

節點如何就哪些交易包含在區塊中達成一致?

  • October 6, 2020

我知道使用gas價格和nonce。但是如果不同的客戶使用不同的交易順序呢?數千個節點如何就包含在下一個區塊中的確切交易達成一致?以及交易是如何通過網路傳播的?你怎麼能有這樣的一致性?

他們輪流。通過競爭。誰被授權發佈區塊由共識機制決定。這種機制如何通過多數共識與電腦程序達成一致,解決*“節點如何就哪些交易包含在區塊中達成一致?”* ,是中本聰在 2008 年發明的。這項發明解決了一個社會問題,這就是“區塊鏈”在社會上變得如此之快、如此之大的原因。這類似於在民主制中通過在 4 年的“區塊”中與政黨在該時期授權的方式來發明多數共識,這是另一項變得非常大並影響您日常生活的發明。

交易是如何通過網路傳播的?

要將交易發送到區塊鏈,您必須訪問一個節點。在這個前景中,您可以:

  • 使用 Geth 或 Parity 等客戶端執行您自己的節點。
  • 使用 Infura 等服務信任公共節點。
  • 相信一個可以為你完成所有工作的錢包。

收到您的交易後,您的節點將根據 P2P 協議將其傳播給其對等方,然後再將其傳播給對等方等。

如果不同的客戶使用不同的交易順序怎麼辦?數千個節點如何就包含在下一個區塊中的確切交易達成一致?

每個礦工獨立建構自己的區塊,這意味著礦工 A 和礦工 B 不必在各自的區塊中包含相同的交易。但是,他們都會以較高的汽油費為交易提供特權。

一旦礦工找到共識算法的解決方案,他就會將其候選塊廣播到其他節點,這些節點驗證解決方案的有效性並執行該塊的每個事務。如果大多數礦工同意,新提議的區塊將被添加到區塊鏈中。

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