本系列內容包含:基本概念及原理、密碼學、共識算法、錢包及節點原理、挖礦原理及實現。
挖礦
以比特幣網絡為例,比特幣挖礦主要使用到的算法是SHA-256,其具體流程參見下圖。
我們從上往下進行分析:
第一層是:nVersion;
第二層是:hashPrebBlock;
第三層是:hashMerkleRoot,
第四層是:nTime;
第五層是:nBits;
第六層是:nNonce;
第七層是:Hash。
韓國區塊鏈公司Lambda256完成700億韓元B輪融資,韓華集團領投:12月13日消息,韓國區塊鏈公司Lambda256完成700億韓元(約6000萬美元)B輪融資,韓華集團領投100億韓元,其他投資者包括新的私募股權基金VTIPartners、WooriTechnologyInvestment、KBInvestment、BokwangStartupInvestment、DSCInvestment、ShinhanVentureInvestment、NHFinancialGroup和SBIInvestment。該公司高管表示,韓華系統公司將通過Lambda256指定基于區塊鏈的平臺業務計劃,目標是國內和海外市場,但暫時不能透露具體項目的細節。Lambda256是加密交易所Upbit運營商Dunamu的區塊鏈子公司,于2019年3月分拆出來。[2021/12/13 7:36:13]
里面的n代表連續0的個數,該值要小于當前區塊難度目標值m,挖到塊的條件是前n個比特位全部為0,n越大,難度越大。假設最低難度對應最大目標值為M,則區塊難度為:M/m
BitCherry創始人Paul:區塊鏈創新金融將變革全球金融體系:12月10日,BitCherry創始人及CEO Paul在巴黎區塊鏈周PBWS 2020的主題圓桌討論,談及BitCherry在全球區塊鏈金融合規性的問題時表示:“區塊鏈金融合規的問題包括兩個方面:一、利用區塊鏈解決方案后,如何實現原有金融業務合規性的流程要求;二、區塊鏈創新金融業務的合規性問題。現階段,區塊鏈金融主要作為對傳統金融模式的補充或延展,并受到不同國家的金融監管法案的制約,但按照目前的發展趨勢來看,金融監管規定也并非會一成不變,目前已有越來越多的國家意識到區塊鏈金融的重要性。隨著區塊鏈技術的發展,區塊鏈創新金融未來必將變革全球金融體系,各國家應盡早為區塊鏈金融構建完善合理的監管框架。”[2020/12/11 14:53:31]
看過前面課程的朋友應該會有印象,這些全部是區塊頭中的數據字段。
農業農村部信息中心課題組:利用區塊鏈等保障農產品質量安全:4月2日,經濟日報刊發農業農村部信息中心課題組的題為“數字農業的發展趨勢與推進路徑”的文章。文章表示,當前,數字農業正呈現出巨大的發展潛力和廣闊的應用前景。農業數字化轉型是保障農產品質量安全的必然要求,利用區塊鏈、大數據、云平臺等提供精準生產、加工、流通各環節的數據信息,可實現從生產到消費全過程的有效監管和可追溯,保障農產品質量安全。[2020/4/2]
再來看左邊,我們分析一下為什么其中有些是固定而有些是可變的。
1.版本號和前一個區塊哈希是固定的,以比特幣為例,假設當前比特幣區塊高度為N,如果某人想挖接下來N+1區塊的話,那么這個時候版本號必須是固定的,前一個區塊的哈希必須也是固定的。因為在不存在分叉的情況下,當前區塊包含上一個區塊的哈希值;
也就是N-1區塊的哈希值加上N區塊數據算出N區塊哈希值,然后將N區塊哈希值當成N+1區塊的的前一區塊哈希值。這里有點繞,希望大家多理解一下;
金色財經現場報道 騰訊金融科技高級研發總監:區塊鏈在支付領域面對三大挑戰:金色財經現場報道,在2018大數據產業峰會上,騰訊金融科技高級研發總監李茂才表示,目前區塊鏈應用在支付系統方面有著三大挑戰,第一位CAP三角,其性能高可用性、數據一致性、分區容忍度方面存在挑戰;第二挑戰位隱私保護,如何在區塊鏈中保護用戶的隱私是一大挑戰;第三個挑戰為海量存儲,每個節點發生數據增長,其他所有節點都要全部存儲。[2018/4/19]
2.交易Merkle根是可變的,為什么說可變呢?因為在挖礦的時候,肯定會準備一個打包區塊,打包區塊形成的時候,礦工會根據自己的需求或根據利益算法,將交易打包進去,最后整理成一個Merkle根;
3.時間戳是可變的,挖礦有個時間范圍,在這個時間范圍內挖出的礦都為有效,所以在有效時間內的時間是可以任意調節的;
4.難度值在一定周期內是固定的,會隨著周期的改變而變化;
5.Nonce是可變的,這里就不展開講了,忘記的朋友可以翻閱前面的講解。
在挖礦的時候,到Nonce的時候,由于時間戳和Merkle根都已經經過計算固定了,這時只需要改變Nonce就可以了。此時可以把這7個數據看成一個整體,前面6個數據是X,把X放在哈希函數里面,會出來一個值,比如說Y值。
由于比特幣網絡里使用的哈希算法是SHA-256,當Y值出來之后,就會得到一個256個由0和1組成的字符串。這個字符串出來之后,它會和X里面的難度值比較大小。
每計算一次,也就是通過了一個Nonce,就會產生一個Y值,Y值會和難度值比較大小,如果Y值小于難度值,此時就找到了一個有效的Nonce,礦也就挖出來了。
生成地址
地址的生成中也用到了哈希算法。從下圖可以看到從公鑰到比特幣地址生成的流程。
第一層:生成公鑰;
第二層:兩層哈希算法,SHA-265和RIPMD-160;
第三層:然后雙層哈希計算,會產生公鑰哈希;
第四層:Base58Check編碼;
第五層:經過編碼,得到一個編碼串,這個編碼串就是公鑰哈希即比特幣地址。
形成Merkletree和交易Hash
在默克樹樹結構和形成交易哈希里面也使用到了哈希算法。
上圖的默克樹中,最底層有4個葉子節點,最左邊HA下面有個Hash,意思是:Tx表示交易,A表示交易編號。
假設現在使用的哈希算法是SHA-256,那么交易產生時,會對HA、HB分別進行哈希計算,會分別得到2個由256個0和1組成的字符串。同理,HC、HD也會得到相應的字符串,這樣四個交易會形成總的默克爾根。
區塊鏈
大家都知道在區塊鏈中,每個區塊都是一環套一環銜接上去的,就像一個鏈條一樣。我們通過下面的圖片,具體分析一下。
從圖中可以看出鏈的順序是從下往上增長的,最下面塊的高度是277314,這個區塊里面包含上一個區塊的哈希值:0000…0bdf,這里的0000…0bdf是上一個區塊區塊頭的哈希值。
同理,277315區塊里面包含的上一區塊頭哈希值:0000…2249,也是區塊277314的區塊頭哈希值,即:0000…2249。同理277316區塊也是這樣的情況,這也是我們第一節希望大家多理解的問題。
這樣的情況就保證了任何人可以從某一個區塊中,找到這個區塊里面包含的上一區塊的哈希值,也就是其父區塊。
現在我們討論的問題都是針對于區塊鏈沒有分叉的一個情況,到后面我們詳細分析區塊鏈分叉之后情況又是怎樣的。
通過這三個區塊我們能發現,從某種程度上來說區塊鏈就是一個哈希鏈。最新產生的區塊通過哈希值指向上一個區塊,上一個區塊在指向上上一個區塊……一直指向創世區塊。通過這個關系,這些區塊形成了鏈條,也就是我們常說的區塊鏈。
這是哈希算法在區塊鏈中常用到的具體應用,大家可以預先想一下,為什么區塊鏈中會使用哈希算法,而不是其他算法呢?后面的課程我們會給大家進行解答。
下節預告:什么是哈希
Tags:區塊鏈比特幣ENTVEST區塊鏈TEC幣有這種幣嗎萊特幣和比特幣的區別在哪Yearn Finance CenterINVEST價格
流動性挖礦點燃DeFi烈火,火勢燒到去中心化交易所Uniswap。它憑借支持一鍵兌幣、做市可獲手續費分紅,迅速成為最炙手可熱的DeFi應用之一.
1900/1/1 0:00:00轉自:藍狐筆記 YFI?在DeFi領域獲得了巨大關注,不過這只是開局,它已經在籌劃V2。關于YFI可以參考藍狐筆記之前的文章《YFI:DeFi中的BTC?》YFI?V2的目標是V1的延續YFI之.
1900/1/1 0:00:00彭博社首席商品策略師MikeMcGlone表示,認為市值最大的穩定幣Tether與加密貨幣市場的價格之間存在關聯是“非常主觀的”.
1900/1/1 0:00:007月31日,萬向區塊鏈董事長兼總經理肖風博士受邀出席由工信部所屬中國電子技術標準化研究院主辦,萬向區塊鏈協辦的“區塊鏈技術和應用峰會暨第四屆中國區塊鏈開發大賽成果發布會”.
1900/1/1 0:00:00昨日BTC上漲突破1萬美元的關口,市場一片歡聲雀躍。 ???? 朋友圈,隨處可見比特幣破萬的K線圖。畢竟市場被壓抑的太久,急需一場牛市來解救。于是也有聲音說,牛市開啟了.
1900/1/1 0:00:00吳說區塊鏈獲悉,為解決“最大的問題——錢”,詹克團正在籌備賣掉比特大陸此前購買的辦公樓。該辦公樓位于中關村集成電路設計院,總計一棟大樓、四棟小樓.
1900/1/1 0:00:00