乙太坊區塊鏈節點和區塊術語
我正在研究基本的區塊鏈術語,對節點和塊的觀點感到困惑。在某些連結中,兩者看起來相似,而在某些連結中,兩者的解釋不同。我不完全了解節點或塊。以下是我的擔憂 -
- 什麼是節點和塊?兩者都是不同的,還是我們可以互換使用這兩個術語?
- 我們可以在區塊鏈中創建一個節點嗎?如果是這樣,那麼我們該如何進行?
- 根據我的假設,每當創建新交易時,它將遍布區塊鏈節點。這裡應該使用什麼術語節點或塊?(通過區塊或節點傳播的交易)
- 隨機數位是如何定義的?當我瀏覽一些連結時,我發現它是在探勘完成後定義的。礦工解決了某些問題並生成了一個塊。我的假設正確嗎?如果是這樣,根據這種情況,如果新事務已插入塊中,那麼隨機數位是否更新?
- 新交易如何插入到所有區塊鏈節點或區塊中?
- 區塊難度如何定義?
什麼是節點和塊?兩者都是不同的,還是我們可以互換使用這兩個術語?
不,您不能互換使用它們,Block是交易的集合,其標頭包含指向區塊鏈中最後一個Block****的雜湊指針。而Node是在電腦上執行的軟體(實施乙太坊協議規則)。該節點軟體(實施乙太坊協議規則)可以用多種不同的語言編寫。因此,我們有 Geth 節點(用 Go 編寫)、Parity 節點(用 Rust 編寫)等。
我們可以在區塊鏈中創建一個節點嗎?如果是這樣,那麼我們該如何進行?
不,在區塊鏈中不會創建節點,只會創建塊。
根據我的假設,每當創建新交易時,它將遍布區塊鏈節點。這裡應該使用什麼術語節點或塊?(通過區塊或節點傳播的交易)
是的,交易將傳播到整個乙太坊網路(乙太坊使用DevP2P,這是一種發現和連接節點的通用協議),隨後一些將其包含到新區塊中的礦工被開採(包含交易的區塊將獲得包含在區塊鏈中)。某些區塊已被開采的資訊將再次在乙太坊網路上傳播。
隨機數位是如何定義的?當我瀏覽一些連結時,我發現它是在探勘完成後定義的。礦工解決了某些問題並生成了一個塊。我的假設正確嗎?如果是這樣,根據這種情況,如果新事務已插入塊中,那麼隨機數位是否更新?
探勘(工作證明)是一個過程,其中每個人都在解決一個難題以計算小於目標數的塊雜湊(例如,在一個 256 位數字中,前 65 位應該為零)。無論誰先解決這個問題,都會將具有計算塊雜湊的塊廣播到整個網路的節點,由節點根據協議規則進行驗證。如果發現一切都符合協議規則,節點接受它,礦工獲得乙太幣獎勵,每個人都開始在區塊鏈中開發新區塊。
Nonce是 Block header 中的一個特殊欄位,有助於計算 Block hash,看看它是如何幫助的:礦工從交易池中挑選交易,並根據協議規則建構 Block header 和 Block hash。現在如上所述,這個塊雜湊必須小於目標數,如果不是,礦工開始增加 Nonce 值直到他們找到匹配。
新交易如何插入到所有區塊鏈節點或區塊中?
已經回答
區塊難度如何定義?
乙太坊協議定義塊之間的時間間隔為 12 秒,因此大約每 12 秒發現一個新塊。這可以通過一個稱為塊難度的數字來實現。根據乙太坊協議,如果最後一個區塊在 12 秒內被挖出,它會調整區塊難度,使新區塊在 12 秒內被挖出。(意味著節點更難找到區塊雜湊)反之亦然。
我試圖以更籠統的方式回答上述問題,如果您想了解詳細資訊,可以下載並閱讀乙太坊黃皮書