這是博主挖礦科普專輯的第二篇內容,承接上一篇“比特幣交易的過程”,繼續通過分析比特幣交易從發起到確認的全過程來一睹比特幣挖礦的全貌。
比特幣交易的過程實質上是一堆UTXO消耗和產生的過程,這些過程由交易發起方按照比特幣協議規定的方式構造交易信息,并由比特幣網絡產生的新區塊記錄和確認,一旦交易信息由比特幣區塊記錄并確認,交易便完成了,比特幣網絡也就實現了價值的轉移。
在“比特幣交易的過程”一文中,我們已經知道比特幣的交易信息是如何構造的,但是這些信息又是如何進入比特幣新區塊的呢?
接下來博主將通過比特幣新區塊產生的過程來具體說明比特幣區塊是如何記錄并確認交易信息的。
這里需要先安利幾個知識點:
交易池,英文名稱:mempool,又叫內存池,是用來存儲待確認交易的地方,每個比特幣挖礦節點均有自己獨立的交易池,因交易池體積,最低交易費比例限制等不同,各節點的交易池也不相同。礦工在構造預備區塊時,需要從交易池中選擇要打包的交易。由于交易池經常被調用,它的數據被存放在節點服務器的RAM中,這就意味著交易池的體積不會太大。
河南省區塊鏈產業園區正式揭牌:金色財經消息,8月6日上午,為深入推動河南省區塊鏈產業快速集聚發展,由河南省工業和信息化廳、鄭州市人民政府舉辦的河南省區塊鏈產業園區揭牌儀式在鄭州中原科技城舉行。河南省區塊鏈產業園區揭牌后,將重點開展區塊鏈核心技術研發、大力拓展區塊鏈技術應用場景,推動區塊鏈產業融合創新發展。預計到2025年,培育10家龍頭企業,培育具有上市潛力企業3-5家,孵化初創型企業30-50家。引進和培養高端技術人才200人以上,相關產業從業人員3000人以上。將河南省打造成為國內區塊鏈創新策源地、區塊鏈融合應用示范區、產業發展高地,力爭建成國家級區塊鏈發展先導區。[2022/8/10 12:13:51]
挖礦節點,在比特幣網絡中,參與記錄和驗證比特幣交易和區塊的是一個個保存比特幣數據的節點。其中有一部分節點,不僅參與記錄和驗證的工作,還參與比特幣新區塊的創建工作,他們構造新區塊,并通過PoW工作量證明競爭記賬權,進而獲得創建新區塊的權限,這部分節點是挖礦節點。早期的挖礦節點有礦工,也有礦池,但當前由于比特幣挖礦難度太高,單個礦工很難贏取記賬權,創建新區塊。目前主要的比特幣挖礦節點,是各家礦池,如F2Pool,Poolin,BTC.com,Antpool,Slushpool等。
美股開盤:在美上市區塊鏈中概股漲跌各異:美股開盤,三大股指均出現上漲,在美上市區塊鏈中概股漲跌各異。嘉楠科技上漲1.56%,人人網平盤,寺庫下跌4.69%,迅雷上漲0.29%,獵豹移動下跌0.51%,蘭亭集勢上漲5.26%,中網載線下跌0.21%。[2020/4/23]
UTXO庫,比特幣節點通過掃描節點所有交易信息,構建的UTXO集群。它包含所有未被消耗的UTXO。每當新區塊產生后,UTXO庫會將新區塊中消耗掉的UTXO從自己的列表中刪除,將新產生的UTXO加入到自己的列表中。
Coinbase獎勵,又叫創幣交易。比特幣協議規定,每產生一個新的比特幣區塊,比特幣網絡就會產生N個比特幣,作為維護比特幣網絡的獎勵支付給創建這個區塊的礦工。同時,此區塊中Coinbase獎勵之外的其他交易包含的所有交易費,也會合并在Coinbase獎勵中,一起支付給創建這個區塊的礦工。其中,N的數值在比特幣誕生時為50,此后大約每4年減半一次,目前為6.25,比特幣網絡以這種減半的方式來控制比特幣的總量。Coinbase獎勵是每個區塊記錄的第一筆交易。
行情 | A股開盤:區塊鏈板塊漲0.02%,文化長城跌停:A股開盤,上證指數報2977.70點(+0.07%),深證成指9885.02點(+0.17%),區塊鏈板塊漲0.02%。205只概念股中,88只上漲,76只下跌,41只平盤。其中,華揚聯眾領漲(+9.14%),涉嫌信息披露違法違規的文化長城跌停。[2019/11/5]
待確認的交易會先進入交易池中
當我們要發起一筆比特幣交易時,交易發起方構造好交易信息,此時的交易信息是待確認的交易,它包含交易輸入信息和交易輸出信息。
待確認交易在經過驗證后,由交易發起方向比特幣網絡廣播,比特幣網絡中的節點,均可驗證和收錄廣播的信息。其中,挖礦節點會在收到廣播后,驗證待確認交易信息,驗證通過后,挖礦節點會將待確認交易加入到自己的交易池中。
圖1待確認交易進入交易池
需要驗證的交易信息包括:
中高會區塊鏈產業聯盟與NULS達成深度戰略合作:5月7日,中國高科技產業化研究會區塊鏈產業聯盟(簡稱聯盟)與NULS項目在北京達成戰略合作。聯盟理事長朱濤和NULS聯合發起人王小莉出席簽約儀式,雙方將攜手共建區塊鏈技術研究院,并且就區塊鏈人才培訓、技術普及、應用落地等領域展開以下合作:NULS基金會出任任聯盟理事會單位,NULS基金會理事楊霖擔任聯盟理事;聯盟與NULS合作成立區塊鏈技術研究院,為NULS項目提供代碼檢驗服務;NULS入駐聯盟打造的海南區塊鏈產業特色小鎮,雙方將共同利用商務、技術、法律、學術等資源組織區塊鏈培訓課程,培訓區塊鏈高級人才;朱濤出任NULS項目顧問,為NULS項目在應用落地、專家團隊社群組建工作上提供專業咨詢與指導;NULS主網正式上線后,聯盟將參與NULS全球節點競選,旗下的“鑰匙圈”DAPP將接入NULS主鏈。[2018/5/8]
交易是否包含有效的輸入和輸出錢包地址;
英格蘭銀行正測試可支持本國支付的區塊鏈技術:英格蘭銀行上周表示,目前正在研究“概念證據”,以確定實時總額結算(RTGS)服務是否將受益于區塊鏈技術。該銀行行長馬克卡尼在2017年4月披露了這些計劃,稱證券結算需要創新,而區塊鏈技術(又名分布式賬本技術)可以在平臺穩定性,效率,準確性和安全性方面產生“重大”收益。實時總額結算(RTGS)系統是將資金從一家銀行轉移到另一家銀行的手段。[2018/4/3]
交易體積是否小于區塊的最大體積;
輸入的UTXO是否合法;
交易輸入總額和輸出總額是否合理;
判斷交易的輸入是否有來自Coinbase的獎勵,該獎勵對應的幣需至少有100個區塊確認才能可以使用;
確認交易池中沒有重復交易;
交易設置的交易費高于mempool的交易費比例限制,以及其他驗證。
挖礦節點從交易池中選擇交易,構造預備區塊
當挖礦節點要構造預備區塊,準備生成新區塊時,會按照優先級排序,從交易池中取待確認交易。預備區塊通常會預留一定空間給高優先級的交易,剩下的空間會按照交易費比例由高到低順序一直把區塊加滿或者把交易池的交易用光。
但比特幣區塊中不僅僅包含從交易池中取的待確認交易。按照比特幣協議規定,比特幣的區塊主要包括五個部分:魔數,區塊大小,區塊頭,交易計數器和交易信息。如下圖:
圖2比特幣區塊的結構
其中,“魔數”是一個值為0xD9B4BEF9的常數;“區塊體積”是本區塊所有數據的總體積;“區塊頭”是可以看作是整個區塊的縮略信息,挖礦用到的區塊信息就是區塊頭;“交易計數器”用來記錄區塊中交易的數量;“交易數據”是區塊所包含的所有交易信息,包括Coinbase獎勵部分,一般來說,這部分數據占了整個區塊絕大部分空間。
在比特幣區塊中,區塊頭是最為關鍵的一個信息。它包含整個區塊的所有特征信息:
區塊版本號。創建區塊的比特幣節點的版本信息,用于追蹤比特幣協議的升級和更新情況;
前一個區塊的哈希值。又叫做父區塊哈希,用來定位上一個區塊。每一個區塊都包含它的上一個區塊的哈希值,針對任何一個區塊的任何一個微小的改動,都會使后續區塊的哈希值產生巨大的變化,如此環環相扣,確保比特幣所有區塊形成一條單一的鏈式結構,可以有效防止惡意篡改比特幣區塊數據的行為。
MerkleRoot哈希。在區塊的交易數據列表中,取所有交易數據的哈希值,構建Merkle樹,這個Merkle樹的根哈希值,即為MerkleRoot哈希。如下圖:
圖3交易數據的Merkle樹結構
由于哈希算法的敏感性,整個交易的Merkle樹中任何一個交易數據有微小的改動,都會產生聯動效果,導致Merkle樹的根哈希值出現巨大變化。因此交易數據的Merkle樹根哈希值可以看作是整個交易的指紋,用來指代區塊中的交易數據。
時間戳。創建預備區塊的時間。
當前目標哈希值。比特幣協議規定,礦工創建的預備區塊的哈希值小于目標哈希值時,這個區塊才算有效。目標哈希值由挖礦難度確定,當挖礦難度變大時,目標哈希值變小,礦工要找到符合比特幣網絡要求的哈希值就越困難。按照當前的挖礦難度,要找到低于目標哈希值的哈希值,理論上需要一臺S17礦機連續工作42年時間。因此,現在基本不存在個人自建節點挖比特幣的情況。
隨機數。又叫Nonce。我們可以發現,區塊頭信息中,區塊版本號,前一個區塊的哈希值,MerkleRoot哈希值,時間戳,以及當前目標哈希,都是已知信息,相對固定,不便隨意更改。因此,如果要調整預備區塊的哈希值,就需要引入一個可變的數據——隨機數。修改隨機數,就可以調整預備區塊的哈希值。
挖礦節點構建好預備區塊后,就會將區塊頭信息下發給礦工,礦工通過不斷調整區塊頭中的隨機數來變更預備區塊的哈希值,當預備區塊的哈希值低于比特幣網絡當前目標哈希值時,這個區塊就是一個合法新區塊。
挖礦節點會及時地向比特幣網絡廣播新區塊,比特幣網絡中其他比特幣節點在接到廣播信息后,對新區塊進行驗證,驗證通過后,將新區塊加入本地,并延長節點的區塊鏈。此時,新區塊創建并確認完畢,對應交易也完成了。
參考資料:比特幣源碼分析比特幣區塊頭比特幣目標哈希值比特幣區塊結構精通比特幣
本文鏈接:https://www.8btc.com/media/619219
轉載請注明文章出處
據相關7月8日數據顯示,比特幣和以太坊期貨月度交易量均在6月下降,均回落至2019年末和2020年初的水平.
1900/1/1 0:00:00?宸浩論幣:比特幣多單布局收獲200點,你手上的空單怎么辦?晚間的行情相信大家也是看到了,震蕩了一天的時間,晚間終于迎來了突破,午間的行情布局中,宸浩就講過的,現在的行情依舊是處于多頭的.
1900/1/1 0:00:00行情回顧:首先我們回顧下昨日的行情,昨日早間上漲到9377之后日內走出了一波回落,一直是在9350下方震蕩,價格在9250一線徘徊,前日強勢反彈的一個多頭情緒未能延續.
1900/1/1 0:00:00尊敬的用戶:CEO全球站將舉辦開通合約免費領“價值百萬ETH”活動,活動詳情如下:活動時間:2020年7月10日9:00-2020年8月1日21:00活動規則:用戶領取ETH數量最少0.02枚.
1900/1/1 0:00:00用長遠的心態,用穩健的操作,讓未來的自己感謝今天你的選擇,讓未來的收益見證此刻的決定。你的選擇多明智,決定你的投資多自如。聰明的人玩市場,跟風的人博市場.
1900/1/1 0:00:00公告編號2020070703各位關心ZBG的項目方和投資者們:為感謝和回饋一如既往支持ZBG和AREC項目的用戶,ZBG兩周年來臨之際,ZBG將攜手AREC項目方舉辦空投福利活動.
1900/1/1 0:00:00