比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

區塊鏈深度學習系列|密碼學基礎之哈希算法的應用_區塊鏈

Author:

Time:1900/1/1 0:00:00

本系列內容包含:基本概念及原理、密碼學、共識算法、錢包及節點原理、挖礦原理及實現。

挖礦

以比特幣網絡為例,比特幣挖礦主要使用到的算法是SHA-256,其具體流程參見下圖。

我們從上往下進行分析:

第一層是:nVersion;

第二層是:hashPrebBlock;

第三層是:hashMerkleRoot,

第四層是:nTime;

第五層是:nBits;

第六層是:nNonce;

第七層是:Hash。

金融壹賬通與SFA共同成立區塊鏈協會新加坡分會:中國金融科技云平臺金融壹賬通(NYSE: OCFT)今日宣布,已經與新加坡金融科技協會(“SFA”)共同成立區塊鏈協會新加坡分會(“BAS”)。該協會將成為通過使用區塊鏈和可擴展技術推動業務互動和合作的中心,以推動業務增長和轉型,并為數字經濟構建可持續的區塊鏈人才流水線。據悉,BAS是由新加坡區塊鏈協會(“SBA”)和區塊鏈,企業及可擴展技術協會(”BEST”)合并而成。兩個協會都成立于2018年,其共同目標是通過技術融合來實現數字經濟。除此之外,兩個協會都認為區塊鏈是可擴展技術的核心,并在構建數字經濟中發揮著關鍵作用。此次合并將使人們能夠更有效地利用資源并擴大地域范圍,從而用協作和透明的方式來促進行業內的最佳實踐。[2020/4/21]

里面的n代表連續0的個數,該值要小于當前區塊難度目標值m,挖到塊的條件是前n個比特位全部為0,n越大,難度越大。假設最低難度對應最大目標值為M,則區塊難度為:M/m

動態 | 巴西完成首筆基于區塊鏈技術的房地產交易:據chepicap消息,巴西建筑巨頭Cyrela和創業公司Growth Tech在巴西完成了首筆使用區塊鏈技術的房地產交易。據悉,該服務以IBM區塊鏈技術為基礎,可使用戶能夠請求和跟蹤公證服務,并將房地產銷售時間大幅縮短至最多20分鐘,通常需要一個月左右。[2019/7/16]

看過前面課程的朋友應該會有印象,這些全部是區塊頭中的數據字段。

再來看左邊,我們分析一下為什么其中有些是固定而有些是可變的。

1.版本號和前一個區塊哈希是固定的,以比特幣為例,假設當前比特幣區塊高度為N,如果某人想挖接下來N+1區塊的話,那么這個時候版本號必須是固定的,前一個區塊的哈希必須也是固定的。因為在不存在分叉的情況下,當前區塊包含上一個區塊的哈希值;

也就是N-1區塊的哈希值加上N區塊數據算出N區塊哈希值,然后將N區塊哈希值當成N+1區塊的的前一區塊哈希值。這里有點繞,希望大家多理解一下;

動態 | 日本加密貨幣交易所bitFlyer成立區塊鏈子公司,重點關注區塊鏈技術:據Finance Magnates消息,加密貨幣交易所bitFlyer的母公司bitFlyer Holdings, Inc.宣布,已成立一家新的全資子公司bitFlyer Blockchain, Inc,該公司的重點是區塊鏈技術,領導新子公司的是bitFlyer CEO兼聯合創始人Yuzo Kano,他現在將作為CEO和代表董事領導子公司。[2019/5/24]

2.交易Merkle根是可變的,為什么說可變呢?因為在挖礦的時候,肯定會準備一個打包區塊,打包區塊形成的時候,礦工會根據自己的需求或根據利益算法,將交易打包進去,最后整理成一個Merkle根;

3.時間戳是可變的,挖礦有個時間范圍,在這個時間范圍內挖出的礦都為有效,所以在有效時間內的時間是可以任意調節的;

聲音 | FairX創始人:星巴克與微軟合作的區塊鏈項目令人困惑:據Cointelegraph消息,針對星巴克將實施微軟的Azure區塊鏈服務來追蹤咖啡生產的消息,金融服務公司FairX首席執行官、前IBM區塊鏈分公司首席技術官Michael Dowling表示,在星巴克看來,微軟的區塊鏈平臺可能比Quorum更有聲望。然而,Dowling不確定星巴克為什么首先需要一個區塊鏈。他表示,這可能是一種潛在的有效方法,可以跟蹤哪個農民在采購客戶“投票”選出的最佳豆類,但他想不出區塊鏈技術可以實現的任何其他實際應用。“說實話,正如媒體所解釋的那樣,我覺得整個項目非常令人困惑,我不確定他們在試圖解決什么問題。為什么需要去中心化?為什么這個程序——我想是為咖啡豆投票的人——需要應用公鑰/私鑰和分布式數據庫?”[2019/5/13]

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:區塊鏈NCE比特幣BIT怎么做區塊鏈DogPad Finance比特幣交易所有哪些SHIBIT幣

fil幣價格今日行情
DeFi在創新下高速生長,快速發展帶來6大改良需求_EFI

Amber?Group作為一家堅持長期價值的加密金融智能服務提供商,始終關注加密市場動態并向全球客戶提供有價值的資訊和服務.

1900/1/1 0:00:00
諾貝爾經濟學獎獲得者羅伯特:數字貨幣對經濟的重要性可能不達預期,比特幣是流行敘事_LIB

轉自:原子智庫·騰訊新聞小滿工作室 作者:羅伯特·希勒 為什么從1890年到現在的130年里,美國的房價只是在21世紀之后價格波動才開始加劇?為什么從1997年到2006年.

1900/1/1 0:00:00
冰河實驗室與比特大陸AI芯片提供方96boards達成合作_CRE

北京時間8月5日,冰河分布式存儲實驗室與全球頂尖的開放芯片平臺標準化組織96boards達成合作.

1900/1/1 0:00:00
以太坊“不是成品”?費用過高和可擴展性問題造成網絡瓶頸_以太坊

據外媒7月28日報道,以太坊生態系統的主要參與者和區塊鏈研究人員表示,不斷上漲的費用和擴容問題給以太坊網絡帶來了主要問題.

1900/1/1 0:00:00
觀點:Defi提高的是融資效率_RES

Overview概述 使用更先進的技術,提高金融行業的生產效率是去中心化金融的核心。金融領域一直是區塊鏈從業者想要進入的領域,無論使用哪種方法進入.

1900/1/1 0:00:00
9大維度,4大誤區,一文參破Filecoin云算力投資_OIN

作者:Mark 來源:DeepChain深鏈二十條朋友圈動態有十條廣告,其中七條和Filecoin相關.

1900/1/1 0:00:00
ads