以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > BNB價格 > Info

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

Author:

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

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

挖礦

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

我們從上往下進行分析:

第一層是:nVersion;

第二層是:hashPrebBlock;

第三層是:hashMerkleRoot,

第四層是:nTime;

第五層是:nBits;

第六層是:nNonce;

第七層是:Hash。

聲音 | 馬小峰:區塊鏈將作為數字經濟基礎設施引發產業鏈重構:12月30日,在2019年新經濟年會上,同濟大學區塊鏈研究院院長馬小峰分享了對“區塊鏈創新模式與應用案例”的思考,他認為,基于解決數據隱私保護等痛點,區塊鏈將成為數字經濟的基礎設施。

他還指出: “區塊鏈最大一個作用是能使傳統行業享受金融服務,解決過去難以根治的信用,風控和監管問題。”馬小峰指出,基于信任機制的區塊鏈創造出的新范式,將解決由于機密性、完整性、可用性以及數據身份而產生的問題。(證券日報)[2019/12/31]

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

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

聲音 | 迅雷陳磊:區塊鏈用戶增加到10億 才能體現真正價值:迅雷集團CEO陳磊日前表示,區塊鏈市場具有令人難以想象的潛在價值空間,只有當區塊鏈產業整體用戶規模增加到10億時,才能完全體現真正價值。同時他還表示,在此之前區塊鏈必須實現一些客觀條件:一是區塊鏈底層主鏈所需要達到的100萬/秒交易處理數量,這是區塊鏈大規模落地應用的硬性前提。二是是指區塊鏈主鏈的確認速度、響應時間要低于1秒,并且建立一個統一的監管框架。三是單個區塊鏈應用所突破的1000萬用戶數,這時區塊鏈技術最終將進入一個完全不同的發展階段。[2018/12/3]

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

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

金色財經現場報道 中國社科院博士特聘教授王彬生:區塊鏈是用來相信的:金色財經現場報道,在4月3日舉辦的2018年世界區塊鏈峰會現場,中國社科院博士特聘教授王彬生表示,我個人認為比特幣實際上就是區塊鏈世界的應用,他直接對傳統的金融體系展開了一場變革,比特幣是用來相信的,不是拿來用的,有一天我們斗地主,我們不需要用比特幣,上一個茅臺幣就行了,你家樓下有全聚德,有肯德基,他發了餐券,只要你相信一百年都存在,這個券就是錢,你拿一萬塊錢的券就行了,所以2018年以后,我個人隨著物聯網和人工時代的到來,這一步會非常的明顯,物聯網就是物和物之間連起來,他要展開資源的協作,不是簡單的拉手協議,所以這一步都會在2018年逐步體現出來。[2018/4/3]

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

新加坡航空公司推出世界首個使用區塊鏈技術的數碼皮夾:新加坡航空公司將推出世界首個使用“區塊鏈”(blockchain)技術的“數碼皮夾”(Digital Wallet),讓飛行獎勵計劃“KrisFlyer”的會員能以累積的里數積分,在零售店購物。[2018/2/5]

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:區塊鏈比特幣NCEONC區塊鏈MOVEZ幣杭州女子花300萬買比特幣Yfive Financemedallioncoin

BNB價格
三分鐘學習以太坊神器:etherscan區塊鏈瀏覽器_以太坊

作者:利牧羊 以太坊是當前除了比特幣以外,最知名的公鏈,其生態極其豐富,被稱為區塊鏈2.0的代表.

1900/1/1 0:00:00
教程 | 一文教你上手Compound和Uniswap_COM

今年5月底,去中心化借貸平臺Compound公布了治理代幣COMP的分配方案,推出了“流動性挖礦”激勵機制.

1900/1/1 0:00:00
比特幣如期上漲,火力全開_比特幣

作者|哈希派分析團隊 動態 | 報告:比特幣多頭在Bitfinex的表現強于空頭 但看漲信號尚未確定:據AMBcrypto 9月14日消息,根據datamish.com最近的一份報告.

1900/1/1 0:00:00
Chainalysis:復盤推特被黑事件,分析被盜資金近一周去向_加密貨幣

作者:ChainalysisTeam 翻譯:Liam 7月15日周三,據稱黑客獲得了Twitter一個內部內容管理工具的權限,導致拜登、奧巴馬、馬斯克等知名人士的Twitter賬戶被黑.

1900/1/1 0:00:00
龐氏經濟學:怎么讓代幣價格不斷上漲?以YFI為例_YFI

本文來源:金色財經 作者:Maxwell DeFi很火。最新數據顯示,DeFi中鎖定的代幣總市值已經突破35億美元。YearnFinance是最新的DeFi寵兒,其YFI代幣正獲得大量關注.

1900/1/1 0:00:00
CFTC主席:對DeFi非常感興趣,未來大部分金融系統可能以區塊鏈的形式存在_CFT

美國商品期貨交易委員會主席HeathTarbert認為,未來的金融系統可能大部分都是以區塊鏈的形式存在.

1900/1/1 0:00:00
ads