亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

比特幣中的網絡和區塊鏈有什么特性

發布時間:2022-01-15 10:39:49 來源:億速云 閱讀:126 作者:iii 欄目:互聯網科技

今天小編給大家分享一下比特幣中的網絡和區塊鏈有什么特性的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

簡介

比特幣的底層就是區塊鏈技術,區塊鏈也是因為比特幣而廣為人知的。和其他的區塊鏈技術相比,比特幣的區塊鏈有什么特征呢?作為去區塊鏈的鼻祖,又有什么與眾不同的特性呢?快來跟我們一起看看吧。

比特幣的網絡

比特幣使用的是P2P(peer-to-peer)網絡,此P2P非彼P2P,這里是點對點的網絡架構,而不是人對人的借錢模式。

P2P是指位于同一網絡中的每臺計算機都彼此對等,各個節點共同提供網絡服務,不存在任何“特殊”節點。每個網絡節點以“扁平(flat)”的拓撲結構相互連通。在P2P網絡中不存在任何服務端(server)、中央化的服務、以及層級結構。

傳統的網絡結構是client-server的模式,所有的client都是和server交互獲取信息, 只要server掛掉了,client也就沒有用了。

而在P2P網絡中,沒有server的概念,每個節點可以作為一個server。對比起來P2P網絡在穩定性方面要比C-S架構的系統要穩定得多。

網絡發現與同步

既然是P2P網絡,那么問題來了,這個P2P網絡是怎么建立起來的呢?節點之間是怎么發現的呢?

有做過P2P下載的同學應該都聽說過種子的概念,這個種子里面保存了其他活躍的節點的地址。通過下載種子就可以連接對應的節點。

而每個節點又保存了最近連接或者活躍的節點,這樣就形成了龐大的P2P網絡。

同樣的,比特幣的P2P網絡也是這樣的。

新節點是如何發現網絡中的對等節點的呢?雖然比特幣網絡中沒有特殊節點,但是客戶端會維持一個列表,那里列出了那些長期穩定運行的節點。這樣的節點被稱為“種子節點(seed nodes)”

節點必須持續進行兩項工作:在失去已有連接時發現新節點,并在其他節點啟動時為其提供幫助。

SPV節點

我們之前介紹了,在比特幣的世界里既沒有賬戶,也沒有余額,只有分散到區塊鏈里的UTXO(Unspent Transaction Outputs)。

那么如果想要驗證交易的話,需要從歷史的交易中查找所有的和該交易有關的交易,從而進行完整,全面的驗證。

這樣做的問題就是,如果下載所有的歷史記錄,那么需要上百G的硬盤空間,這對于手機或者其他輕量級的客戶端是無法想象的。

于是SPV出現了。SPV的全稱是Simplified payment verification,叫做簡單認證支付。

SPV保存的不是整個區塊鏈,而是區塊鏈的頭部,因為每個區塊鏈頭只有80字節,所以即使把所有的區塊頭都下載保存起來也不會很大。

區塊鏈頭

區塊頭由三組區塊元數據組成。首先是一組引用父區塊哈希值的數據,這組元數據用于將該區塊與區塊鏈中前一區塊相連接。

第二組元數據,即難度、時間戳和nonce,與挖礦競爭相關。

第三組元數據是merkle樹根(一種用來有效地總結區塊中所有交易的數據結構)。

Nonce、難度目標和時間戳會用于挖礦過程,Merkle根用來索引和組織該區塊所有的交易信息。

比特幣中的網絡和區塊鏈有什么特性

比特幣中的網絡和區塊鏈有什么特性

上圖是一個區塊鏈頭組成的鏈。

Merkle Tree

Merkle Tree,是一種樹(數據結構中所說的樹),網上大都稱為Merkle Hash Tree,這是因為 它所構造的Merkle Tree的所有節點都是Hash值。Merkle Tree具有以下特點:

  1. 它是一種樹,可以是二叉樹,也可以多叉樹,無論是幾叉樹,它都具有樹結構的所有特點;

  2. Merkle樹的葉子節點上的value,是由你指定的,這主要看你的設計了,如Merkle Hash Tree會將數據的Hash值作為葉子節點的值;

  3. 非葉子節點的value是根據它下面所有的葉子節點值,然后按照一定的算法計算而得出的。如Merkle Hash Tree的非葉子節點value的計算方法是將該節點的所有子節點進行組合,然后對組合結果進行hash計算所得出的hash value。

比特幣中的網絡和區塊鏈有什么特性

有了Merkle Tree,我們只需要知道和要驗證的交易相關的其他Merkle Tree中的信息,就可以計算出整個Merkle Tree的值,這樣就可以直接使用頭部信息進行驗證了。這就是SPV的原理。

比特幣中的區塊鏈

區塊鏈是由包含交易信息的區塊從后向前有序鏈接起來的數據結構。它可以被存儲為flat file(一種包含沒有相對關系記錄的文件),或是存儲在一個簡單數據庫中。

比特幣核心客戶端使用Google的LevelDB數據庫存儲區塊鏈元數據。

它由一個包含元數據的區塊頭和緊跟其后的構成區塊主體的一長串交易組成。區塊頭是80字節,而平均每個交易至少是250字節,而且平均每個區塊至少包含超過500個交易。

比特幣中的網絡和區塊鏈有什么特性

區塊標識符

那怎么表示一個區塊呢?我們使用區塊標志符。

區塊主標識符是它的加密哈希值,一個通過SHA256算法對區塊頭進行二次哈希計算而得到的數字指紋。產生的32字節哈希值被稱為區塊哈希值,但是更準確的名稱是:區塊頭哈希值,因為只有區塊頭被用于計算。

第二種識別區塊的方式是通過該區塊在區塊鏈中的位置,即“區塊高度(block height)”。第一個區塊,其區塊高度為0 和區塊哈希值不同的是,區塊高度并不是唯一的標識符。雖然一個單一的區塊總是會有一個明確的、固定的區塊高度,但反過來卻并不成立,一個區塊高度并不總是識別一個單一的區塊。兩個或兩個以上的區塊可能有相同的區塊高度,在區塊鏈里爭奪同一位置。

創世區塊

區塊鏈里的第一個區塊創建于2009年,被稱為創世區塊。它是區塊鏈里面所有區塊的共同祖先,這意味著你從任一區塊,循鏈向后回溯,最終都將到達創世區塊。

因為創世區塊被編入到比特幣客戶端軟件里,所以每一個節點都始于至少包含一個區塊的區塊鏈,這能確保創世區塊不會被改變。每一個節點都“知道”創世區塊的哈希值、結構、被創建的時間和里面的一個交易。因此,每個節點都把該區塊作為區塊鏈的首區塊,從而構建了一個安全的、可信的區塊鏈的根。

創世區塊的哈希值為: 0000000000 19d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

創世區塊包含一個隱藏的信息。在其Coinbase交易的輸入中包含這樣一句話“The Times 03/Jan/2009 Chancellor on brink of second bailout forbanks.”這句話是泰晤士報當天的頭版文章標題,引用這句話,既是對該區塊產生時間的說明,也可視為半開玩笑地提醒人們一個獨立的貨幣制度的重要性,同時告訴人們隨著比特幣的發展,一場前所未有的世界性貨幣革命將要發生。該消息是由比特幣的創立者中本聰嵌入創世區塊中。

比特幣中的網絡和區塊鏈有什么特性

coinbase的值是:04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73

解碼方法如下:

在python shell下:

"04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73".decode('hex')

輸出:

'\x04\xff\xff\x00\x1d\x01\x04EThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks'

以上就是“比特幣中的網絡和區塊鏈有什么特性”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤城市| 玉山县| 阿巴嘎旗| 昌吉市| 来凤县| 凭祥市| 庆元县| 泰来县| 衡山县| 湖口县| 武宁县| 化隆| 延长县| 谢通门县| 德庆县| 康保县| 留坝县| 舟山市| 峨山| 仙游县| 托克托县| 陆良县| 固镇县| 金昌市| 沾化县| 梧州市| 洞口县| 平乐县| 左贡县| 勃利县| 无为县| 汤阴县| 镇平县| 聊城市| 亳州市| 辽阳市| 侯马市| 日土县| 武鸣县| 邳州市| 岗巴县|