這是博主挖礦科普專輯的第二篇內容,承接上一篇“比特幣交易的過程”,繼續通過分析比特幣交易從發起到確認的全過程來一睹比特幣挖礦的全貌。
比特幣交易的過程實質上是一堆UTXO消耗和產生的過程,這些過程由交易發起方按照比特幣協議規定的方式構造交易信息,并由比特幣網絡產生的新區塊記錄和確認,一旦交易信息由比特幣區塊記錄并確認,交易便完成了,比特幣網絡也就實現了價值的轉移。
在“比特幣交易的過程”一文中,我們已經知道比特幣的交易信息是如何構造的,但是這些信息又是如何進入比特幣新區塊的呢?
接下來博主將通過比特幣新區塊產生的過程來具體說明比特幣區塊是如何記錄并確認交易信息的。
這里需要先安利幾個知識點:
交易池,英文名稱:mempool,又叫內存池,是用來存儲待確認交易的地方,每個比特幣挖礦節點均有自己獨立的交易池,因交易池體積,最低交易費比例限制等不同,各節點的交易池也不相同。礦工在構造預備區塊時,需要從交易池中選擇要打包的交易。由于交易池經常被調用,它的數據被存放在節點服務器的RAM中,這就意味著交易池的體積不會太大。
王繼軍:河南將利用區塊鏈等技術完善河南省金融服務共享平臺:河南官方13日對外通報稱,省級金融服務共享平臺——河南省金融服務共享平臺,自上線運行一年多來已為13429家企業放款20834筆、放款總額593.23億元。河南省大數據管理局黨組書記、局長王繼軍表示,下一步,河南將緊扣疫情防控期間企業融資需求,利用大數據、人工智能、云計算、區塊鏈等技術持續完善平臺功能,加強數據治理,優化系統連接,加快產品開發,讓數據成為企業融資增信的“真金白銀”,將更多金融“活水”引向實體經濟。(中國新聞網)[2020/4/13]
挖礦節點,在比特幣網絡中,參與記錄和驗證比特幣交易和區塊的是一個個保存比特幣數據的節點。其中有一部分節點,不僅參與記錄和驗證的工作,還參與比特幣新區塊的創建工作,他們構造新區塊,并通過PoW工作量證明競爭記賬權,進而獲得創建新區塊的權限,這部分節點是挖礦節點。早期的挖礦節點有礦工,也有礦池,但當前由于比特幣挖礦難度太高,單個礦工很難贏取記賬權,創建新區塊。目前主要的比特幣挖礦節點,是各家礦池,如F2Pool,Poolin,BTC.com,Antpool,Slushpool等。
行情 | 美股區塊鏈概念股普漲:今日美股開盤,美股區塊鏈概念股普漲。柯達平盤,埃森哲上漲0.56%,overstock.com上漲1.14%;Riot Blockchain上漲0.42%,Marathon Patent上漲6.78%,Square上漲0.91%。[2018/11/1]
UTXO庫,比特幣節點通過掃描節點所有交易信息,構建的UTXO集群。它包含所有未被消耗的UTXO。每當新區塊產生后,UTXO庫會將新區塊中消耗掉的UTXO從自己的列表中刪除,將新產生的UTXO加入到自己的列表中。
Coinbase獎勵,又叫創幣交易。比特幣協議規定,每產生一個新的比特幣區塊,比特幣網絡就會產生N個比特幣,作為維護比特幣網絡的獎勵支付給創建這個區塊的礦工。同時,此區塊中Coinbase獎勵之外的其他交易包含的所有交易費,也會合并在Coinbase獎勵中,一起支付給創建這個區塊的礦工。其中,N的數值在比特幣誕生時為50,此后大約每4年減半一次,目前為6.25,比特幣網絡以這種減半的方式來控制比特幣的總量。Coinbase獎勵是每個區塊記錄的第一筆交易。
聲音 | 中國電子技術標準化研究院區塊鏈研究室主任李鳴:整體來看,區塊鏈是技術體系的組件:在7月19日上午舉行的2018中國創業創新博覽會“區塊鏈技術應用大賽”上,中國電子技術標準化研究院區塊鏈研究室主任李鳴表示,整體來看,區塊鏈是技術體系的組件;技術發展越來越快,給區塊鏈標準化帶來了很大壓力;脫離技術支撐和應用實踐,其他想象都是空洞的。[2018/7/19]
待確認的交易會先進入交易池中
當我們要發起一筆比特幣交易時,交易發起方構造好交易信息,此時的交易信息是待確認的交易,它包含交易輸入信息和交易輸出信息。
待確認交易在經過驗證后,由交易發起方向比特幣網絡廣播,比特幣網絡中的節點,均可驗證和收錄廣播的信息。其中,挖礦節點會在收到廣播后,驗證待確認交易信息,驗證通過后,挖礦節點會將待確認交易加入到自己的交易池中。
圖1待確認交易進入交易池
Unicorn正式上線區塊鏈瀏覽器UIC-Explorer:Unicorn也將在2018年4月17日正式上線區塊鏈瀏覽器UIC-Explorer。Unicorn每筆交易都可以在UIC-Explorer中找到相對應的記錄,保證了所有交易的透明性。據了解,通過使用UIC-Explorer區塊鏈瀏覽器可查詢到以下信息:1、區塊上的出塊時間、出塊高度等整條區塊鏈基礎信息2、區塊詳情查詢3、區塊上的交易記錄查詢(地址、資金動向)4、區塊上的合約執行情況查詢此外,區塊鏈瀏覽器UIC-Explorer可以讓大家直接看到區塊上記錄的數據,同時地址和個人信息不掛鉤,保證用戶的個人隱私。[2018/4/16]
需要驗證的交易信息包括:
交易是否包含有效的輸入和輸出錢包地址;
交易體積是否小于區塊的最大體積;
輸入的UTXO是否合法;
行云數字科技將做區塊鏈+跑步機,垂直各家知名連鎖健身房展開合作:行云數字科技今日宣布,公司將進軍智能電子設備行業,要在“區塊鏈+整個電子設備全領域+體育運動”領域將區塊鏈技術落地應用。目前,行云數字科技第一步將要做的是區塊鏈+跑步機,垂直各家連鎖健身房展開合作。[2018/1/18]
交易輸入總額和輸出總額是否合理;
判斷交易的輸入是否有來自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月10日完成云平臺遷移工作,以下為相關注意事項:1、盡快完成交易和提幣撤單,并將所有資產劃轉至幣幣賬戶,7月8日24:00交易和提幣功能將停服,屆時未撤銷訂單.
1900/1/1 0:00:00尊敬的LBank用戶: 為回饋LBK社區用戶,LBank將開啟「LBK周四GO」8折ETH售賣。本次售賣將于7月9日啟動,共打折出售200ETH.
1900/1/1 0:00:00強勢突破9300后目前交投于9400上方運行,短周期上方關注9480-9520一線壓力,不破位可以做個空單,手里有空單或者把握不好行情的聯系我實時分析指導.
1900/1/1 0:00:00:大家好,我是持幣者,專注幣市市場分析,爭取為廣大幣友傳遞最有價值的幣市信息。持幣者團隊以技術分析為中心,注重實戰交易技巧,波段抓取,趨勢現貨布局,超短線合約交易,合理資金投資配比,旨在為幣友們.
1900/1/1 0:00:00目前,按照官方計劃安排,7月20日將開啟大礦工測試獎勵計劃。這次大礦工測試總獎勵400萬FIL,并且,該測試是對Filecoin測試網做最后也是最大的壓力測試,測試結束,Filecoin主網也面.
1900/1/1 0:00:00前言大家好,我是你們的朋友「七月」,專注于BTC、以太坊等主流數字貨幣走勢預判和行情分析,注重實戰交易技巧,趨勢現貨布局,超短線合約交易,合理資金投資配比.
1900/1/1 0:00:00