Transactions

這裡的任何人都可以幫助我了解交易和區塊是如何得到驗證的嗎

  • January 27, 2020

請幫助我了解如何驗證交易以及如何在將區塊附加到規範鏈之前對其進行驗證。

這是一個非常籠統的問題,所以我會給你一個非常籠統的答案,並猜測一兩個關於一些陳述,這些陳述將澄清新手往往難以解決的問題。這不是要完全回答您的問題,而是可能會考慮其他材料。

交易如何得到驗證

乙太坊是一種協議。該協議包括一個虛擬機規範,即乙太坊虛擬機 (EVM)。這台機器,被定義為協議,處理指令。因此,對於每個輸入都有相應的結果,並且每個正常執行的節點都同意必鬚髮生的事情。

每個節點處理每個事務。這些交易可能會被接受並做某事,也可能會因為無效而被拒絕。每個節點自己決定要做什麼正確的事情。由於沒有主觀性,正確的事情總是由對協議的正確解釋來規定的,所有正常執行的節點都同意狀態(儲存、賬戶餘額、契約等)。在任何塊的高度,它是唯一的方法*,*給定到那個點的輸入。

節點就交易順序達成一致至關重要。如果沒有就事件順序達成一致,則不能期望節點自行達到相同的狀態。

區塊是如何得到驗證的

交易塊主要關註消除交易順序的歧義。網路延遲確保節點將聽到不同順序的交易。臨時時間不是確定實際順序的好方法,因為這需要參考外部時間源和/或節點時鐘,這在任何情況下都可能被歪曲。鏈中的交易塊建立了規範的事件順序。

發出一個塊的礦工對於包含什麼以及包含它的順序有相當大的自由度。優先考慮某些交易有財務激勵措施,但優先選擇最佳財務激勵安排不是強制性的。

礦工具有特別有利的作用,因此採礦過程旨在最大限度地降低該優勢的重要性。它被限制在大約 15 秒(平均)的時間跨度內,並且通過工作量證明系統獲得該控制變得困難且不可預測。

每個區塊,大約每 15 秒,一位幸運礦工解決了一個非常繁重的難題,並“贏得”了發出區塊的特權。該塊由其他人驗證,類似於糾錯協議 - 必須包括前一個塊的知識,必須包括一個非常具有挑戰性的難題的解決方案,必須正確形成等。

我大大簡化了規範鏈過程。可以說存在處理邊緣情況(和常見情況)的系統並且出現了規範鏈 - 所有節點都會同意它顯然是歷史的重要版本。

  • 每個區塊都是一組有序的交易。
  • 區塊鍊是一組有序的區塊。
  • 因此,區塊鍊是一組有序的交易。
  • 由所有節點獨立計算的 EVM 狀態是獲得鏈中描述的輸入和協議中描述的 EVM 操作規範的 唯一方式。

希望能幫助到你。

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