本系列內容包含:基本概念及原理、密碼學、共識算法、錢包及節點原理、挖礦原理及實現。
挖礦
以比特幣網絡為例,比特幣挖礦主要使用到的算法是SHA-256,其具體流程參見下圖。
我們從上往下進行分析:
第一層是:nVersion;
第二層是:hashPrebBlock;
第三層是:hashMerkleRoot,
第四層是:nTime;
第五層是:nBits;
第六層是:nNonce;
第七層是:Hash。
報告:2022年區塊鏈獨角獸達103家,創歷史新高:12月7日消息,根據區塊鏈投資平臺Blockchain Coinvestors發布的行業報告《遇見區塊鏈獨角獸》,截至2022年底,區塊鏈獨角獸(即市值10億美元以上公司)數量達到103家,創下歷史新高。
其中排名前五的分別是Binance(450億美元)、Blockchain.com(140億美元)、Ripple(113億美元)、OpenSea(106億美元)和Alchemy(102億美元)。
此外,四家曾經的獨角獸因市值下滑而跌出排名,分別是Deribit、BlockFi、FTX和Genesis Digital Assets。在地域方面,北美區塊鏈獨角獸數量最多,總計58家,其次是亞洲19家和歐洲14家。[2022/12/7 21:26:43]
里面的n代表連續0的個數,該值要小于當前區塊難度目標值m,挖到塊的條件是前n個比特位全部為0,n越大,難度越大。假設最低難度對應最大目標值為M,則區塊難度為:M/m
杭州推出首個區塊鏈技術質檢聯盟平臺:10月12日,浙江中科院應用技術研究院下屬中科評測,聯合螞蟻鏈在杭州市推出了首個質檢聯盟平臺。該平臺利用區塊鏈技術將質檢報告上鏈,并用消費者可以讀懂的標簽形式呈現,預計未來一年將為5000多種商品提供區塊鏈認證標簽,幫助消費者快速做出最優選擇。(中國青年報)[2021/10/14 20:27:02]
看過前面課程的朋友應該會有印象,這些全部是區塊頭中的數據字段。
再來看左邊,我們分析一下為什么其中有些是固定而有些是可變的。
1.版本號和前一個區塊哈希是固定的,以比特幣為例,假設當前比特幣區塊高度為N,如果某人想挖接下來N+1區塊的話,那么這個時候版本號必須是固定的,前一個區塊的哈希必須也是固定的。因為在不存在分叉的情況下,當前區塊包含上一個區塊的哈希值;
也就是N-1區塊的哈希值加上N區塊數據算出N區塊哈希值,然后將N區塊哈希值當成N+1區塊的的前一區塊哈希值。這里有點繞,希望大家多理解一下;
動態 | 《審計理論與實務》系統地探討了審計的未來變革趨勢,包括區塊鏈審計等:近日,由對外經濟貿易大學陳漢文教授和浙江大學韓洪靈教授主編的《審計理論與實務》正式出版,在“大智移云物區”時代,審計環境與審計客體都將發生深刻的變化,這必然會引發審計技術、方法與模式的重大變革。為此,本書以專門的一章較為系統地探討了審計的未來變革趨勢,包括信息系統審計、數據審計、區塊鏈審計以及人工智能審計等,以為學生從理論和實踐層面全方位透視數據時代的未來審計提供前瞻性的洞察。(中證網)[2019/12/26]
2.交易Merkle根是可變的,為什么說可變呢?因為在挖礦的時候,肯定會準備一個打包區塊,打包區塊形成的時候,礦工會根據自己的需求或根據利益算法,將交易打包進去,最后整理成一個Merkle根;
3.時間戳是可變的,挖礦有個時間范圍,在這個時間范圍內挖出的礦都為有效,所以在有效時間內的時間是可以任意調節的;
安永區塊鏈主管:無止盡的分叉將導致公鏈失去競爭優勢:安永區塊鏈主管在接受采訪時提及區塊鏈將面臨的風險,對此安永區塊鏈主管作出回應,“幾個主要的區塊鏈不斷被分叉的現象以及未來出現的分叉分裂大型區塊鏈的可能性,一旦公鏈分裂成不同陣營,其就會失去部分關鍵優勢,而這類優勢是私鏈網絡所沒有的。區塊鏈與現實世界資產所有權的聯系越來越緊密,核實資產與代幣之間的聯系非常有助于贏得投資者的信任”。[2018/5/7]
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區塊也是這樣的情況,這也是我們第一節希望大家多理解的問題。
這樣的情況就保證了任何人可以從某一個區塊中,找到這個區塊里面包含的上一區塊的哈希值,也就是其父區塊。
現在我們討論的問題都是針對于區塊鏈沒有分叉的一個情況,到后面我們詳細分析區塊鏈分叉之后情況又是怎樣的。
通過這三個區塊我們能發現,從某種程度上來說區塊鏈就是一個哈希鏈。最新產生的區塊通過哈希值指向上一個區塊,上一個區塊在指向上上一個區塊……一直指向創世區塊。通過這個關系,這些區塊形成了鏈條,也就是我們常說的區塊鏈。
這是哈希算法在區塊鏈中常用到的具體應用,大家可以預先想一下,為什么區塊鏈中會使用哈希算法,而不是其他算法呢?后面的課程我們會給大家進行解答。
下節預告:什么是哈希
注:原文作者是DragonflyCapital的管理合伙人HaseebQureshi。今天的以太坊非常擁擠,甚至比ICO泡沫鼎盛時期還要擁擠,這令人印象深刻,但也令人擔憂!我們距離迎來以太坊2.
1900/1/1 0:00:00免責聲明:本專欄內容概不構成任何投資意見,內容亦并非就任何個別投資者的特定投資目標、財務狀況及個別需要而編制。投資者不應只按本專欄內容進行投資.
1900/1/1 0:00:00作者:Tony 來源:IPFS原力區 導言: 在符合市場經濟規律、Filecoin商業落地的前提下,理論上,隨著N天凍結期、M天線性釋放期時間越長,Filecoin價格會相應增漲.
1900/1/1 0:00:00來源:區塊律動BlockBeats 作者:?0x66 類似波卡這樣的明星項目,不用愁冬天沒有余糧.
1900/1/1 0:00:00DeFi還能火多久?自6月起,DeFi迎來井噴式發展,DeFi通證總市值和DeFi總鎖倉價值暴漲,點燃了市場情緒。但目前,DeFi仍存在智能合約安全性差、可擴展性較差、Gas費用過高等問題.
1900/1/1 0:00:007月24日,Polkadot拿出30萬DOT開啟第三輪公募。不到3天,公募結束,募資地址中收到了3791枚BTC,折合約4070萬美元.
1900/1/1 0:00:00