比特幣的交易確認過程是怎樣的?

在看過“比特幣白皮書”並且查過一些資料之後依然很疑惑,比特幣區塊鏈中,當交易信息在全網進行廣播後,進行的“投票”環節具體是怎樣的過程?在這個過程中,其他節點要怎樣確認此交易的合法性?確認的過程是系統自動進行的,還是“礦工”手動進行的?
比特幣的交易確認過程是怎樣的?
1 個回答
frank60
2017-05-05

比特幣沒有所謂的“投票”環節,每個礦工都在其本地最長鏈上進行工作(礦池也是基於此原則,但是還需要協調所有礦工的協作),當一個新塊產生後,也會像交易一樣進行全網廣播,每個接收到新塊的全節點都會驗證區塊的合法性:

主要包括區塊的prehash是否為其本地的tip塊hash,難度是否符合預期,時間簽名是否正常範圍,梅克爾根是否正確,區塊中每筆交易是否合法,區塊獎勵(包括交易小費)是否正確等。

交易的合法性主要包括:

交易輸入輸出是否平賬,交易來源output是否合法,交易發送者簽名是否合法。每個接收到區塊的節點執行相同的規則檢查,所有檢查通過則加入本地最長鏈,當然如果後面有更長符合規則的鏈,程序會自動切換到最長鏈,理論上當一個塊被確認六次基本不會在被丟棄。比特幣賬本就是所有節點維護一致的一條最長鏈。當交易被打包的進的區塊加入到這條鏈中,交易也即被全網確認了。

相關推薦

推薦中...