買以太坊 買以太坊
Ctrl+D 買以太坊
ads

區塊鏈:區塊鏈深度學習系列|密碼學基礎之哈希算法的應用_開發區塊鏈數字貨幣

Author:

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

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

挖礦

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

我們從上往下進行分析:

第一層是:nVersion;

第二層是:hashPrebBlock;

第三層是:hashMerkleRoot,

第四層是:nTime;

第五層是:nBits;

第六層是:nNonce;

第七層是:Hash。

動態 | HiCoin榮獲“區塊鏈百強企業”獎項:2019年12月27日,由金色財經主辦的“與時共創”頒獎盛典在京舉行。HiCoin榮獲“區塊鏈百強企業”獎項。

HiCoin是全球領先的區塊鏈錢包解決方案提供商,一直致力于區塊鏈錢包技術解決方案的開發與行業的推動。除了提供資產托管、支付、全功能錢包等行業解決方案之外,已與多家傳統企業達成共識,在數字身份及數據溯源等方面展開了深度的合作。

據了解,金色財經“與時共創”頒獎盛典邀請40余名資深行業專家作為專業評選團,結合網絡投票進行綜合評審,通過不同的獎項,對各個企業對實現賦能實體創新引領行業未來發展的努力進行表彰。[2019/12/27]

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

政策 | 最高人民法院:加大執行業務中以區塊鏈技術為代表的新技術的應用和轉化:6月11日,最高人民法院發布 《關于深化執行改革健全解決執行難長效機制的意見——人民法院執行工作綱要(2019-2023)》,其中表示,加大執行業務中以區塊鏈技術為代表的新技術的應用和轉化,提高執行效率,增強人民群眾獲得感。[2019/6/11]

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

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

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

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

行情 | 在美上市區塊鏈中概股全線下跌:今日美股開盤,在美上市區塊鏈中概股全線下跌。人人網下跌3.95%,寺庫下跌3.11%,中網載線下跌12.86%,迅雷下跌1.33%,獵豹移動下跌2.59%,蘭亭集勢平盤,優點互動下跌10.06%。[2018/10/23]

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

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

4.難度值在一定周期內是固定的,會隨著周期的改變而變化;

5.Nonce是可變的,這里就不展開講了,忘記的朋友可以翻閱前面的講解。

動態 | 金融科技初創公司使用區塊鏈記錄資產支持證券:據福布斯報道,與IBM合作的金融科技初創公司全球債務登記處(Global Debt Registry)正在使用區塊鏈技術,防止在組建資產支持證券(ABS)投資組合時對抵押資產進行重復計算。據報道,該公司開發了一個私有區塊鏈,旨在確保貸款資產的完整性,并保護網絡上的抵押資產免于在未來出現錯誤或失實陳述。[2018/9/13]

在挖礦的時候,到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:區塊鏈比特幣ONCNCE開發區塊鏈數字貨幣比特幣sv今日最新價格美元DonationChainHakka Finance

比特幣價格實時行情
人工智能:河北省出臺區塊鏈專項行動計劃:到2020年末,培育20家區塊鏈領軍和龍頭企業_區塊鏈幣圈

來源:邯鄲新聞網 為加快推動河北省區塊鏈技術和產業創新發展,推進區塊鏈技術與經濟社會深度融合,日前,省委網信辦印發《河北省區塊鏈專項行動計劃》提出,加強區塊鏈理論研究和技術研發.

1900/1/1 0:00:00
以太坊:以太坊五周年:從翩翩少年到百億資產_DAO

五年前,以太坊被一位翩翩少年帶到這個世界上,如今已變成一個百億資產級別加密項目,五年后以太坊又會是什么樣子呢?就讓我們拭目以待吧.

1900/1/1 0:00:00
ETH:ETC今日再次遭受嚴重51%攻擊,V神建議ETC轉向PoS_Ethereal對應情侶名

8月6日,Bitfly官方發推稱,今日ETC又遭遇了一次大規模51%攻擊。攻擊已導致4000多個區塊發生重組。Bitfly提醒稱,除非官方有進一步通知,否則當前礦池支付是無效的.

1900/1/1 0:00:00
okex:投研 | BTC暫時“熄火”小憩,EOS扭轉頹勢博上位_ETHO幣

免責聲明:本專欄內容概不構成任何投資意見,內容亦并非就任何個別投資者的特定投資目標、財務狀況及個別需要而編制。投資者不應只按本專欄內容進行投資.

1900/1/1 0:00:00
YFII:暴漲、分叉、被封殺,YFII們是DeFi界的比特幣,還是高門檻的資金盤?_YFIN價格

來源:DeepChain深鏈 作者:YFBoys 一個幣被大家關注到,多半是因為它的價格,要么漲得“出類拔萃”,要么跌得“鬼斧神工”.

1900/1/1 0:00:00
ALL:觀察 | 庚子變天,比特幣起舞?_FNK wallet

文︱Vincent 時至今日,談到比特幣暴漲暴跌的瘋狂一日,Allen的心情仍難以平復。8月2日,比特幣上演了一波“坐山車”般的行情,著實驚險刺激.

1900/1/1 0:00:00
ads