簡體   English   中英

區塊鏈共識如何驗證交易?

[英]How blockchain consensus verify the transaction?

很多區塊鏈文檔都說區塊鏈使用共識來驗證交易。 但據我所知,共識只生成 hash 來創建新塊。 我不知道為什么文檔說在為新塊創建新的 hash 的共識運行之前創建(制作)交易時共識驗證交易。 共識流不關心輸入(交易組),它不知道交易組是否有效。 為什么區塊鏈文檔這么說?

在進入細節之前,我想設置一些上下文。

首先,什么是區塊鏈——區塊鏈是一組塊,其中每個下一個塊都依賴於前一個塊。 只要從系統的角度來看每個新塊都是正確的,我們就可以擴展鏈。

一個區塊鏈的例子(從一個特殊的創世區塊開始):A->B->C->D

除了 A 之外的每個區塊都依賴於前一個區塊——通常這是基於哈希和一些其他規則; 但是區塊鏈創建者可以選擇任何一組規則。

其次,我們需要就什么是共識達成一致。 在區塊鏈世界中,共識是對區塊鏈達成共識的過程。 它可能是幾條鏈,但系統將就哪一條是正確的達成共識。

這就是為什么這很重要:假設我們有上面的鏈,最后一個塊是 D。在分布式環境中,完全有可能同時生成多個 VALID 塊; 由於系統是分布式的,因此可能會出現幾個新的鏈:

  • A->B->C->D->E1
  • A->B->C->D->E2

區塊鏈中的共識允許整個網絡同意這條鏈中的哪一條是有效的。 共識的兩個重要屬性:

  • 最終,每個節點都需要一段時間才能到達同一頁面; 這與:如果您同時詢問不同的節點關於哪條鏈是正確的 - 您可能會得到不同的答案; 但最終,.network 將就同一個問題達成一致
  • 有許多不同的方法可以如何選擇正確的鏈,例如在比特幣中,系統最終會就最長的有效鏈達成一致。

現在我們可以解決最初的問題:“區塊鏈使用共識來驗證交易”。 區塊鏈(分布式區塊鏈)使用共識來就鏈條達成一致,並使用一組規則來驗證每個塊是否正確。 由於每個節點都運行具有相同規則集的軟件,因此節點將對每個塊的正確性做出相同的決定。 但是在分布式區塊鏈的情況下,可能會出現不止一條鏈……如上所述。

為了驗證交易,區塊鏈正在使用本地應用的一組規則來接受或拒絕新塊。

您提到的文檔對我來說聽起來不正確。 這是一個文檔示例: https://www.investopedia.com/terms/c/consensus-mechanism-cryptocurrency.asp - 我真的很喜歡他們的第一個要點:“共識機制指的是使用的任何數量的方法在分散的計算機網絡中實現協議、信任和安全。” - 而且,正如我提到的 - 總是值得一問 - 什么是共識 - 在分布式區塊鏈中,共識是關於鏈本身的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM