當前位置:首頁 » 區塊鏈知識 » 區塊鏈與圖計算

區塊鏈與圖計算

發布時間: 2024-03-18 23:42:11

Ⅰ 看懂區塊鏈與大數據,雲計算,比特幣的關系

區塊鏈是一種不可篡改的、全歷史的資料庫存儲技術,巨大的區塊數據集合包含著每一筆交易的全部歷史,隨著區塊鏈運用的迅速發展,數據規模會越來越大,不同業務場景,使得區塊鏈的數據融合進一步擴大了數據規模和豐富性。但是區塊鏈提供的是賬本的完整性,數據統計分析的能力比較弱,而大數據具備海量數據存貯技術和靈活高效的分析技術,將極大地提升區塊鏈數據的價值和使用空間。
數字貨幣是區塊鏈1.0為代表的表現形式,主要以比特幣為主;作為一種虛擬貨幣系統,比特幣的總量是以網路共識協議限定的,沒有任何個人或機構可以改變修改供應量以及交易記錄,因此在比特幣網路成功運行多年後,區塊鏈作為支撐比特幣運行的底層技術,其本質是一種極其巧妙的分布式共享賬本及點對點價值傳輸技術。對金融乃至各行各業將帶來非常大的潛在影響。
區塊鏈與雲計算,區塊鏈技術的研就開發、與測試,涉及多個系統,時間與資金成本將阻礙區塊鏈技術的突破,基於區塊鏈技術的軟體開發,依然是高門檻的工作,雲計算服務具有資源彈性伸縮,快速調整低成本、高可靠性的特質,能夠幫助中小企業快速低成本的進行區塊鏈開發部署,兩項技術融合,將加速區塊鏈技術成熟,推動區塊鏈向金融業快速擴展。

Ⅱ 區塊鏈是什麼

區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。簡單來說,區塊鏈就是一種去中心化的分布式賬本資料庫。


數據存儲的意思:

數據存儲是數據流在加工過程中產生的臨時文件或加工過程中需要查找的信息。常用的存儲介質為磁碟和磁帶。存儲組織方式因存儲介質而異。在磁帶上數據僅按順序文件方式存取;在磁碟上則可按使用要求採用順序存取或直接存取方式。

數據存儲方式與數據文件組織密切相關,其關鍵在於建立記錄的邏輯與物理順序間對應關系,確定存儲地址,以提高數據存取速度。在伺服器與存儲的各種連接方式中,DAS曾被認為是一種低效率的結構,而且也不方便進行數據保護。

直連存儲無法共享,因此經常出現的情況是某台伺服器的存儲空間不足,而其他一些伺服器卻有大量的存儲空間處於閑置狀態卻無法利用。

Ⅲ 區塊鏈入門的教程


可是,簡單易懂的入門文章卻很少。區塊鏈到底是什麼,有何特別之處,很少有解釋。
下面,我就來嘗試,寫一篇最好懂的區塊鏈教程。畢竟它也不是很難的東西,核心概念非常簡單,幾句話就能說清楚。我希望讀完本文,你不僅可以理解區塊鏈,還會明白什麼是挖礦、為什麼挖礦越來越難等問題。
需要說明的是,我並非這方面的專家。雖然很早就關注,但是仔細地了解區塊鏈,還是從今年初開始。文中的錯誤和不準確的地方,歡迎大家指正。
一、區塊鏈的本質
區塊鏈是什麼?一句話,它是一種特殊的分布式資料庫。
首先,區塊鏈的主要作用是儲存信息。任何需要保存的信息,都可以寫入區塊鏈,也可以從裡面讀取,所以它是資料庫。
其次,任何人都可以架設伺服器,加入區塊鏈網路,成為一個節點。區塊鏈的世界裡面,沒有中心節點,每個節點都是平等的,都保存著整個資料庫。你可以向任何一個節點,寫入/讀取數據,因為所有節點最後都會同步,保證區塊鏈一致。
二、區塊鏈的最大特點
分布式資料庫並非新發明,市場上早有此類產品。但是,區塊鏈有一個革命性特點。
區塊鏈沒有管理員,它是徹底無中心的。其他的資料庫都有管理員,但是區塊鏈沒有。如果有人想對區塊鏈添加審核,也實現不了,因為它的設計目標就是防止出現居於中心地位的管理當局。
正是因為嫌敗無法管理,區塊鏈才能做到無法被控制。否則一旦大公司大集團控制了管理權,他們就會控制整個平台,其他使用者就都必須聽命於他們了。
但是,沒有了管理員,人人都可以往裡面寫入數據,怎麼才能保證數據是可信的呢?被壞人改了怎麼辦?請接著往下讀,這就是區塊鏈奇妙的地方。
三、區塊
區塊鏈由一個個區塊(block)組成。區塊很像資料庫的記錄,每次寫入數據,就是創建一個區塊。
每個區塊包含兩個部分。
區塊頭(Head):記錄當前區塊的特徵值
區塊體(Body):實際數據
區塊頭包含了當前區塊的多項特徵值。
生成時間
實際數據(即區塊體)的哈希
上一個區塊的哈希
...
這里,你需要理解什麼叫哈希(hash),這是理解區塊鏈必需的。
所謂哈希就是計算機可以對任意內容,計算出一個長度相同的特徵值。區塊鏈的 哈希長度是256位,這就是說,不管原始內容是什麼,最後都會計算出一個256位的二進制數字。而且可以保證,只要原始內容不同,對應的哈希一定是不同的。
舉例來說,字元串123的哈希是(十六進制),轉成二進制就是256位,而且只有123能得到這個哈希。(理論上,其他字元串也有可能得到這個哈希,但是概率極低,可以近似認為不可能發生。)
因此,就有兩個重要的推論。
推論1:每個區塊的哈希都是不一樣的,可以通過哈希標識區塊。
推論2:如果區塊的內容變了,它的哈希一定會改變。
四、 Hash 的不可修改性
區塊與哈希是一一對應的,每個區塊的哈希都是針對區塊頭(Head)計算的。也就是說,把區塊頭的各項特徵值,按照順序連接在一起,組成一個很長的字元串,再對這個字元串計算哈希。
Hash = SHA256( 區塊頭 )
上面就是區塊哈希的計算公式,SHA256是區塊鏈的哈希演算法。注意,這個公式裡面只包含區塊頭,不包含區塊體,也就是說,哈希由區塊頭唯一決定,
前面說過,區塊頭包含很多內容,其中有當前區塊體的哈希,還有上一個區塊的哈希。這意味著,如果當前區塊體的內容變了,或者上一個區塊的哈希變了,一定會引起當前區塊的哈希改彎首變。
這一點對區塊鏈有重大意義。如果有人修改了一個區塊,該區塊的哈希就變了。為了讓後面的區塊還能連到它(因為下一個區塊包含上一個區塊的哈希),該人必須依次修改後面所有的區塊,否則被改掉的區塊就脫離區塊鏈了。由於後面要提到的原因,哈希的計算很耗時,短時間內修改多個區塊幾乎不可能發生,除非有人掌握了全網51%以上的計算能力。
正是通過這種聯動機制,區塊鏈保證了自身的可靠性,數據一旦寫入,就無法被篡改。這就像歷史一樣,發生了就是發生了,從此再無法改變。
每個區塊都連著上一個區塊,這也是區塊鏈這個名字的由來。
五、采礦
由於必須保證節點之間的同步,所以新區塊的添加速度芹鬧顫不能太快。試想一下,你剛剛同步了一個區塊,准備基於它生成下一個區塊,但這時別的節點又有新區塊生成,你不得不放棄做了一半的計算,再次去同步。因為每個區塊的後面,只能跟著一個區塊,你永遠只能在最新區塊的後面,生成下一個區塊。所以,你別無選擇,一聽到信號,就必須立刻同步。
所以,區塊鏈的發明者中本聰(這是假名,真實身份至今未知)故意讓添加新區塊,變得很困難。他的設計是,平均每10分鍾,全網才能生成一個新區塊,一小時也就六個。
這種產出速度不是通過命令達成的,而是故意設置了海量的計算。也就是說,只有通過極其大量的計算,才能得到當前區塊的有效哈希,從而把新區塊添加到區塊鏈。由於計算量太大,所以快不起來。
這個過程就叫做采礦(mining),因為計算有效哈希的難度,好比在全世界的沙子裡面,找到一粒符合條件的沙子。計算哈希的機器就叫做礦機,操作礦機的人就叫做礦工。
六、難度系數
讀到這里,你可能會有一個疑問,人們都說采礦很難,可是采礦不就是用計算機算出一個哈希嗎,這正是計算機的強項啊,怎麼會變得很難,遲遲算不出來呢?
原來不是任意一個哈希都可以,只有滿足條件的哈希才會被區塊鏈接受。這個條件特別苛刻,使得絕大部分哈希都不滿足要求,必須重算。
原來,區塊頭包含一個難度系數(difficulty),這個值決定了計算哈希的難度。舉例來說,第100000個區塊的難度系數是 14484.16236122。
區塊鏈協議規定,使用一個常量除以難度系數,可以得到目標值(target)。顯然,難度系數越大,目標值就越小。
哈希的有效性跟目標值密切相關,只有小於目標值的哈希才是有效的,否則哈希無效,必須重算。由於目標值非常小,哈希小於該值的機會極其渺茫,可能計算10億次,才算中一次。這就是采礦如此之慢的根本原因。
前面說過,當前區塊的哈希由區塊頭唯一決定。如果要對同一個區塊反復計算哈希,就意味著,區塊頭必須不停地變化,否則不可能算出不一樣的哈希。區塊頭裡面所有的特徵值都是固定的,為了讓區塊頭產生變化,中本聰故意增加了一個隨機項,叫做 Nonce。
Nonce 是一個隨機值,礦工的作用其實就是猜出 Nonce 的值,使得區塊頭的哈希可以小於目標值,從而能夠寫入區塊鏈。Nonce 是非常難猜的,目前只能通過窮舉法一個個試錯。根據協議,Nonce 是一個32位的二進制值,即最大可以到21.47億。第 100000 個區塊的 Nonce 值是274148111,可以理解成,礦工從0開始,一直計算了 2.74 億次,才得到了一個有效的 Nonce 值,使得算出的哈希能夠滿足條件。
運氣好的話,也許一會就找到了 Nonce。運氣不好的話,可能算完了21.47億次,都沒有發現 Nonce,即當前區塊體不可能算出滿足條件的哈希。這時,協議允許礦工改變區塊體,開始新的計算。
七、難度系數的動態調節
正如上一節所說,采礦具有隨機性,沒法保證正好十分鍾產出一個區塊,有時一分鍾就算出來了,有時幾個小時可能也沒結果。總體來看,隨著硬體設備的提升,以及礦機的數量增長,計算速度一定會越來越快。
為了將產出速率恆定在十分鍾,中本聰還設計了難度系數的動態調節機制。他規定,難度系數每兩周(2016個區塊)調整一次。如果這兩周裡面,區塊的平均生成速度是9分鍾,就意味著比法定速度快了10%,因此接下來的難度系數就要調高10%;如果平均生成速度是11分鍾,就意味著比法定速度慢了10%,因此接下來的難度系數就要調低10%。
難度系數越調越高(目標值越來越小),導致了采礦越來越難。
八、區塊鏈的分叉
即使區塊鏈是可靠的,現在還有一個問題沒有解決:如果兩個人同時向區塊鏈寫入數據,也就是說,同時有兩個區塊加入,因為它們都連著前一個區塊,就形成了分叉。這時應該採納哪一個區塊呢?
現在的規則是,新節點總是採用最長的那條區塊鏈。如果區塊鏈有分叉,將看哪個分支在分叉點後面,先達到6個新區塊(稱為六次確認)。按照10分鍾一個區塊計算,一小時就可以確認。
由於新區塊的生成速度由計算能力決定,所以這條規則就是說,擁有大多數計算能力的那條分支,就是正宗的區塊鏈。
九、總結
區塊鏈作為無人管理的分布式資料庫,從2009年開始已經運行了8年,沒有出現大的問題。這證明它是可行的。
但是,為了保證數據的可靠性,區塊鏈也有自己的代價。一是效率,數據寫入區塊鏈,最少要等待十分鍾,所有節點都同步數據,則需要更多的時間;二是能耗,區塊的生成需要礦工進行無數無意義的計算,這是非常耗費能源的。
因此,區塊鏈的適用場景,其實非常有限。
不存在所有成員都信任的管理當局
寫入的數據不要求實時使用
挖礦的收益能夠彌補本身的成本
如果無法滿足上述的條件,那麼傳統的資料庫是更好的解決方案。
目前,區塊鏈最大的應用場景(可能也是唯一的應用場景),就是以比特幣為代表的加密貨幣。

Ⅳ 區塊鏈的運行原理和發展,你不得不知!


一、為什麼會有區塊鏈的創新?
第一代互聯網的起點是TCP/IP協議,就是執行一個網路上所有節點統一格式對等傳輸信息的開放代碼。但是這樣一個並不復雜的創新對於人類的影響是劃時代的,她把全球統一市場所需要的基本價值觀:「自由、平等、博愛」,給程序化、協議化、可執行化了。進而派生出STMP郵件協議、HTTP域名協議等,去中心化的實現了全球信息傳遞的低成本高效率。正如阿里巴巴副總裁高紅冰所說:
「互聯網就是消滅那個價值很低、成本很高的(信息)供應鏈——它開放、互聯、對等、全球化、去中心化。」
我們知道:市場的本質也是去中心化的,她自動執行也就是「等價交換」的去中心化協議,就像諾貝爾獎金獲得者羅納德科斯總結的:「市場經濟建立在兩個深厚的認知基礎上:承認無知和包容不確定性。」亞當斯密也形容市場是:「看不見的手」!因此,市場一定需要信息去中心化的低成本流動,互聯網正是適應了全球統一市場形成的大氣候下,橫空出世了。
但是,第一代互聯網去中心化的解決了信息的低成本高效率傳輸的問題,她沒有解決信息的信用問題。因此,第二代互聯網必須突破的是:怎樣去中心化的建立全球信用?讓價值傳遞也低成本高效率進行。
那麼原來的中心化信用體系有什麼問題呢?眾所周知:中心化的信用,如各國法幣,信用價值不同,清算體系也各不兼容,給全球貿易增加了很大成本。目前以美元為中心的全球信用體系,在機制上存在「特里芬悖論」(實質就是一國法幣無法同時兼顧解決本國經濟利益和全球經濟需要的沖突),因此2009年中國央行行長周小川呼籲超主權存儲貨幣的產生,同年,中本聰在網上公開了第一代區塊鏈源代碼————「比特幣」。
二、區塊鏈系統是怎樣運行的?
首先,中本聰很清楚建立一個支付系統的信用必須解決防止「重復支付」問題,也就是不能造假幣。中心化的信用系統是靠國家機器防止造假幣。「比特幣」怎麼辦呢?中本聰的偉大創新是給每一筆交易「蓋時間戳」(timestamp)。每十分鍾一個區塊(block:相當於網路賬簿),把這十分鍾的全網交易都正確的蓋上時間戳。問題是誰來蓋呢?中本聰並沒有假設互聯網上都是雷鋒,他同意亞當.斯密的觀點:市場上的人是貪婪的。他讓所謂自稱「礦工」的人去競爭這十分鍾一個區塊的記賬權,競爭的規則就是正確記賬的同時要去解SHA256難題,誰能證明自己的計算機算力最快(所謂PROOF OF WORK 機制),ta就能競爭到這十分鍾區塊的合法記賬權,並得到二十五個比特幣的獎勵。這就是所謂俗稱的「挖礦」過程,實際是建立一個全網總賬——區塊鏈的去中心化信用過程,所以礦工更本質的職能是「記賬員」!
中本聰在其比特幣白皮書中,比較詳盡的敘述了這個信用系統建立的過程:
第一步:每一筆交易為了讓全網承認有效,必須廣播給每個節點(node:也就是礦工);
第二步:每個礦工節點要正確無誤的給這十分鍾的每一筆交易蓋上時間戳並記入那個區塊(block);
第三步:每個礦工節點要通過解SHA256難題去競爭這個十分鍾區塊的合法記賬權,並爭取得到二十五個比特幣的獎勵(頭四年是每十分鍾五十個比特幣,每四年遞減一半);
第四步:如果一個礦工節點解開了這十分鍾的SHA256難題,ta將向全網公布ta這十分鍾區塊記錄的所有蓋時間戳交易,並由全網其他礦工節點核對;
第五步:全網其他礦工節點核對該區塊記賬的正確性(因為他們同時也在蓋時間戳記賬,只是沒有競爭到合法區塊記賬權,因此無獎勵),沒有錯誤後他們將在該合法區塊之後競爭下一個區塊,這樣就形成了一個合法記賬的區塊單鏈,也就是比特幣支付系統的總賬——區塊鏈。
一般來說,每一筆交易,必須經過六次區塊確認,也就是六個十分鍾記賬,才能最終在區塊鏈上被承認合法交易。以下是比特幣的記賬格式:
所以所謂「比特幣」,就是這樣一個賬單系統:它包括所有者用私鑰進行電子簽名並支付給下一個所有者,然後由全網的「礦工」蓋時間戳記賬,形成區塊鏈。
三、比特幣的區塊鏈金融有哪些創新?
類黃金化,嘗試建立全球互聯網去中心化信用,有可能讓價值在全網高速低費率的流轉(目前每筆轉轉費率是萬分之一);
貨幣總量由密碼學協議約定;
比之於黃金,數字貨幣無限可分;
貨幣價值可以建立在大量的P2P交易之上;
財務管理的完全透明(每筆交易都能在區塊鏈上查到)。
比特幣的區塊鏈全網記賬,在全球互聯網上最高建立了市值100億美元的市值。因此,清華五道口金融學院院長吳曉靈點睛指出:區塊鏈實驗建立了分布式信用,是互聯網TCP/IP的升級版,是從信息傳遞升級到價值傳遞;
四、比特幣的區塊鏈系統有哪些內在缺陷?
比特幣的區塊鏈系統自2009年在互聯網上開源運行以來,有成功的地方,但也顯示出一些難以克服的內在缺陷:
總量不能隨著市場的情況變化,必然暴漲暴跌;
挖礦的高碳,只有不到1%的礦工能夠競爭到沒十分鍾區塊的記賬權,其他參與競爭的99%以上的礦工算力浪費;
每年10%左右的通貨膨脹大大增加了比特幣金融生態的成本,甚至威脅到她的生存;
作為去中心化自組織DAC系統,記賬和發行功能部分運行成本過高。
作為全球支付系統,效率遠遠達不到全球貿易的實際要求。比特幣網路每秒目前最多確認7筆交易,對比之下, Visa的網路系統每秒最快可處理10,000筆交易,支付寶的記錄是2014光棍節每秒鍾80,000筆!
五、區塊鏈技術2.0的發展:
作為區塊鏈的2.0升級發展,首先聚焦在解決比特幣記賬的挖礦高碳上:
在我們討論怎麼克服比特幣挖礦記賬高碳時,清華經濟學研究所的劉濤雄教授指出,挖礦靠算力競爭,最後只有一家競爭到合法記賬權,其他99%的礦工節點都白挖了,浪費了資源,顯然不太合理,如果全網透明的知道下一家區塊的合法記賬權,隨機的在全網產生,就免除了競爭記賬的高碳!我們聽後都大贊劉教授主意高明,因為現在比較成功的二代幣NXT正是這種機制,他們的白皮書叫「透明鍛造」,只是記賬權花落誰家的概率是和每個礦工節點錢包的NXT代幣持有量成正比,這個叫股權證明機制(PROOF OF STOCK)。當然,這也引發了NXT把代幣分發給早期投資開發者不公平的爭論!
RIPPLE是一個區塊鏈半去中心化的方案,利用「可信任網關」(trusted gateways)進行區塊鏈記賬,其信用是建立在這些網關不會同時作惡的共識記賬(consensus ledger)協議上。
最有雄心的嘗試是以太坊(Ethereum),她把區塊鏈的技術和圖靈完備結合起來,期望開發出一套未來滿足各種區塊鏈系統建設的基礎性平台,可以支持各種信用貨幣、數字資產、智能協議甚至金融衍生品的開發.其系統設計是ETHERUM平台統一區塊鏈記賬,為所有開發者共同使用,也許她們的正式版本能在不久地將來發布。
六、區塊鏈的創新在其他領域的可能應用:
現在,區塊鏈在建立去中心化信用的嘗試,已經不限於金融界,而被社會各個領域關注,特別是在中國目前一些中心性信用如「紅會」,處於「塌陷」態勢,區塊鏈更能為社會管理提供一種全新的思路和技術選項,以下是我們了解的一些新進展和相關討論:
區塊鏈和物聯網結合,將數字資產和原子資產統一起來,抹平消費資產和現金資產的區別,擴展大眾的信用,加速價值流通;(IBM-三星)
區塊鏈上建立知識產權保護系統,對知識產權的使用全網記賬,建立全球廣告市場;
區塊鏈是否可以為一帶一路的新興經濟體發行協議型密碼學貨幣提供技術支撐;
區塊鏈+雲計算可以發展成去中心化的自媒體和社區系統;
區塊鏈可以搭建去中心化的股權眾籌體系,讓創新項目提前進入流通領域;
區塊鏈可以發展出全透明的財務管理系統;
區塊鏈支持建立全球去中心化公司組織。
總之,在這個信用已經成為緊缺資源的時代,區塊鏈的技術創新,作為一種分布式信用的模式,為全球市場的金融、社會管理、人才評價和去中心化組織建設等,都提供了一個廣闊的發展前景。

Ⅳ 小白如何秒懂區塊鏈中的哈希計算

​ 小白如何秒懂區塊鏈中的哈希計算

當我在區塊鏈的學習過程中,發現有一個詞像幽靈一樣反復出現,「哈希」,英文寫作「HASH」。

那位說「拉稀」同學你給我出去!!

這個「哈希」據說是來源於密碼學的一個函數,嘗試搜一搜,論文出來一堆一堆的,不是橫式就是豎式,不是表格就是圖片,還有一堆看不懂得xyzabc。大哥,我就是想了解一下區塊鏈的基礎知識,給我弄那麼難幹啥呀?!我最長的密碼就是123456,復雜一點的就是654321,最復雜的時候在最後加個a,你給我寫的那麼復雜明顯感覺腦力被榨乾,僅有的腦細胞成批成批的死亡!為了讓和我一樣的小白同學了解這點,我就勉為其難,努力用傻瓜式的語言講解一下哈希計算,不求最准確但求最簡單最易懂。下面我們開始:

# 一、什麼是哈希演算法

## 1、定義:哈希演算法是將任意長度的字元串變換為固定長度的字元串。

從這里可以看出,可以理解為給**「哈希運算」輸入一串數字,它會輸出一串數字**。

如果我們自己定義 「增一演算法」,那麼輸入1,就輸出2;輸入100就輸出101。

如果我我們自己定義「變大寫演算法」,那麼輸入「abc」輸出「ABC」。

呵呵,先別打我啊!這確實就只是一個函數的概念。

## 2、特點:

這個哈希演算法和我的「增一演算法」和「變大寫演算法」相比有什麼特點呢?

1)**確定性,算得快**:咋算結果都一樣,算起來效率高。

2)**不可逆**:就是知道輸出推不出輸入的值。

3)**結果不可測**:就是輸入變一點,結果天翻地覆毫無規律。

總之,這個哈希運算就是個黑箱,是加密的好幫手!你說「11111」,它給你加密成「」,你說「11112」它給你弄成「」。反正輸入和輸出一個天上一個地下,即使輸入相關但兩個輸出毫不相關。

# 二、哈希運算在區塊鏈中的使用

## 1、數據加密

**交易數據是通過哈希運算進行加密,並把相應的哈希值寫入區塊頭**。如下圖所示,一個區塊頭包含了上一個區塊的hash值,還包含下一個區塊的hash值。

1)、**識別區塊數據是否被篡改**:區塊鏈的哈希值能夠唯一而精準地標識一個區塊,區塊鏈中任意節點通過簡單的哈希計算都可以獲得這個區塊的哈希值,計算出的哈希值沒有變化也就意味著區塊鏈中的信息沒有被篡改。

2)、**把各個區塊串聯成區塊鏈**:每個區塊都包含上一個區塊的哈希值和下一個區塊的值,就相當於通過上一個區塊的哈希值掛鉤到上一個區塊尾,通過下一個區塊的哈希值掛鉤到下一個區塊鏈的頭,就自然而然形成一個鏈式結構的區塊鏈。

## 2、加密交易地址及哈希

在上圖的區塊頭中,有一個Merkle root(默克爾根)的哈希值,它是用來做什麼的呢?

首先了解啥叫Merkle root? 它就是個二叉樹結構的根。啥叫二叉樹?啥叫根?看看下面的圖就知道了。一分二,二分四,四分八可以一直分下去就叫二叉樹。根就是最上面的節點就叫 根。

這個根的數據是怎麼來的呢?是把一個區塊中的每筆交易的哈希值得出後,再兩兩哈希值再哈希,再哈希,再哈希,直到最頂層的數值。

這么哈希了半天,搞什麼事情?有啥作用呢?

1)、**快速定位每筆交易**:由於交易在存儲上是線性存儲,定位到某筆交易會需要遍歷,效率低時間慢,通過這樣的二叉樹可以快速定位到想要找的交易。

舉個不恰當的例子:怎麼找到0-100之間的一個任意整數?(假設答案是88)那比較好的一個方法就是問:1、比50大還是小?2、比75大還是小?3、比88大還是小? 僅僅通過幾個問題就可以快速定位到答案。

2)、**核實交易數據是否被篡改**:從交易到每個二叉樹的哈希值,有任何一個數字有變化都會導致Merkle root值的變化。同時,如果有錯誤發生的情況,也可以快速定位錯誤的地方。

## 3、挖礦

  在我們的區塊頭中有個參數叫**隨機數Nonce,尋找這個隨機數的過程就叫做「挖礦」**!網路上任何一台機器只要找到一個合適的數字填到自己的這個區塊的Nonce位置,使得區塊頭這6個欄位(80個位元組)的數據的哈希值的哈希值以18個以上的0開頭,誰就找到了「挖到了那個金子」!既然我們沒有辦法事先寫好一個滿足18個0的數字然後反推Nounce,唯一的做法就是從0開始一個一個的嘗試,看結果是不是滿足要求,不滿足就再試下一個,直到找到。

找這個數字是弄啥呢?做這個有什麼作用呢?

1)、**公平的找到計算能力最強的計算機**:這個有點像我這里有個沙子,再告訴你它也那一個沙灘的中的一粒相同,你把相同的那粒找出來一樣。那可行的辦法就是把每一粒都拿起來都比較一下!那麼比較速度最快的那個人是最有可能先早到那個沙子。這就是所謂的「工作量證明pow」,你先找到這個沙子,我就認為你比較的次數最多,乾的工作最多。

2)、**動態調整難度**:比特幣為了保證10分鍾出一個區塊,就會每2016個塊(2周)的時間計算一下找到這個nonce數字的難度,如果這2016個塊平均時間低於10分鍾則調高難度,如高於十分鍾則調低難度。這樣,不管全網的挖礦算力是怎麼變化,都可以保證10分鍾的算出這個隨機數nonce。

# 三、哈希運算有哪些?

說了這么多哈希運算,好像哈希運算就是一種似的,其實不是!作為密碼學中的哈希運算在不斷的發展中衍生出很多流派。我看了」滿頭包」還是覺得內在機理也太復雜了,暫時羅列如下,小白們有印象知道是怎麼回事就好。

從下表中也可以看得出,哈希運算也在不斷的發展中,有著各種各樣的演算法,各種不同的應用也在靈活應用著單個或者多個演算法。比特幣系統中,哈希運算基本都是使用的SHA256演算法,而萊特幣是使用SCRYPT演算法,誇克幣(Quark)達世幣(DASH)是把很多演算法一層層串聯上使用,Heavycoin(HAV)卻又是把一下演算法並聯起來,各取部分混起來使用。以太坊的POW階段使用ETHASH演算法,ZCASH使用EQUIHASH。

需要說明的是,哈希運算的各種演算法都是在不斷升級完善中,而各種幣種使用的演算法也並非一成不變,也在不斷地優化中。

**總結**:哈希運算在區塊鏈的各個項目中都有著廣泛的應用,我們以比特幣為例就能看到在**數據加密、交易數據定位、挖礦等等各個方面都有著極其重要的作用**。而哈希運算作為加密學的一門方向不斷的發展和延伸,身為普通小白的我們,想理解區塊鏈的一些基礎概念,了解到這個層面也已經足夠。

熱點內容
比特幣早期佈道者 發布:2024-11-19 23:20:44 瀏覽:367
eth超頻和單卡超頻區別 發布:2024-11-19 23:20:44 瀏覽:546
比特幣獲取地址 發布:2024-11-19 23:00:31 瀏覽:219
2021區塊鏈app 發布:2024-11-19 22:52:32 瀏覽:639
區塊鏈與自動駕駛 發布:2024-11-19 22:44:12 瀏覽:348
普通電腦挖礦算力多少錢 發布:2024-11-19 22:43:17 瀏覽:67
阿里tps秒殺eth 發布:2024-11-19 22:35:02 瀏覽:208
區塊鏈溯源電商 發布:2024-11-19 22:33:32 瀏覽:644
幣圈交流信息 發布:2024-11-19 22:22:06 瀏覽:83
迪肯中國區塊鏈技術有限公司 發布:2024-11-19 21:54:21 瀏覽:772