時間:2023-06-15|瀏覽:266
在講這個內容之前,我們先理解幾個基本概念:
1. 區塊:比特幣的交易記錄會保存在數據區塊中,大約每10分鐘產生一個區塊。每一個區塊由區塊頭(Header)和區塊體(Body)組成。區塊頭封裝了當前版本號(Version)、前一區塊地址(Prev-block)、時間戳(Timestamp)、隨機數(Nonce)、當前區塊的目標哈希值(Bits)、Merkel樹根值(Merkel-root)等信息。
2. Merkel樹:比特幣的每一筆有效交易產生都需要使用私鑰進行數字簽名得到一個哈希值。Merkel樹中,將每一筆交易的哈希值兩兩進行哈希運算,最終得到一個哈希根值保存在區塊頭中,而Merkel樹本身屬于區塊體。
3. 挖礦:挖礦即礦工爭奪區塊記賬權,從而獲得相應的比特幣獎勵的過程。
4. 哈希算法:將任意長度的消息壓縮到某一固定長度的消息摘要的函數,是區塊鏈可靠性的基礎。
5. P2P網絡:peer-to-peer的簡稱,即計算機對等網絡。
6. 數字簽名:使用公鑰加密技術的一種數字信息鑒別技術。
以上概念在理解區塊鏈形成過程中都非常重要。區塊鏈形成的過程如下:
1. Alice要轉給Bob5個比特幣,她創建交易單,寫上"我要轉給Bob5個比特幣",并輸入自己的私鑰將賬戶中的5個比特幣解鎖。
2. 技術后臺將"我要轉給Bob5個比特幣"進行哈希運算,并將Alice的私鑰使用密碼學技術進行加密,得到Alice的數字簽名。
3. 技術后臺將Alice的數字簽名、公鑰發送給智能合約。
4. 技術后臺將這個交易單發送到智能合約。
5. 技術后臺使用Alice的公鑰對數字簽名進行解密,得到哈希值a。
6. 技術后臺對交易單信息進行哈希運算得到哈希值b。
7. 后臺驗證哈希值a、b是否一致,若一致對該交易使用P2P網絡進行全網廣播,若不一致則交易駁回。
8. 后臺根據當前挖礦難度系數設置下一區塊的目標哈希值,礦工進行挖礦,爭奪記賬權。
9. 當一名礦工挖到合法區塊后,對區塊頭上信息進行完善,包括時間戳,版本號、上一區塊的哈希值、Merkel樹根等,并通過P2P網絡進行全網廣播,其他礦工便不再進行該區塊的挖礦動作,而轉向驗證該區塊的合法性。
10. 通過驗證區塊合法后(UTXO和數字簽名),挖到該區塊鏈的礦工獲得代幣獎勵,其余礦工將該區塊納入自己的區塊鏈頂端,形成更長的主鏈,接著競爭下一區塊的記賬權。
以此往復,保證了比特幣系統的運行,也是其能夠維持至今的原因。區塊鏈形成過程中離不開后臺技術的支持,也需要礦工的算力貢獻,在最終將交易記錄真實、唯一、可追溯、不可篡改的寫入區塊鏈,實現了在虛擬網絡中的價值交換。
下期內容我們將為大家講解"什么是挖礦?全球排名前五的大礦池有四家在中國是不是國人的驕傲?"敬請期待。