OUR WORK

展現最真實的美麗

曾經的案例不是籌碼而是與您一起的新起點

區塊鏈基礎知識

發布者:admin         時間:2018-10-09 11:41:38

區塊鏈是很多現有技術交叉融合在一起的集成創新。因此,要了解區塊鏈,首先要了解區塊鏈到底集成了哪些技術。

QQ截圖20181009120022.png

P2P網絡

P2P網絡分為結構化和非結構化的P2P網絡。比特幣的區塊鏈采用的是非結構化P2P網絡,整個網絡沒有中心化的硬件或管理機構,任一節點既是服務端,也是客戶端。任何節點只要安裝相應的客戶端軟件,就能接入P2P網絡,參與區塊鏈的記錄和驗證,不超過1/3節點的損壞、退出甚至被植入惡意代碼,都不會影響整個系統的運作。

加密算法和數字簽名

加密技術分為對稱、非對稱和哈希加密。對稱加密是指用同樣的密鑰來進行加密和解密,非對稱加密是指用一個密鑰對來進行加密和解密,哈希加密主要是通過對數據進行哈希運算,用固定的哈希結果值驗證信息是否被篡改。

數字簽名

基于數字簽名的通信機制工作原理,發送報文時,發送方用一個哈希函數從報文文本中生成文件摘要,然后用自己的私鑰對摘要進行加密,加密后的摘要將作為報文的數字簽名和報文一起發送給接收方。接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要,接著再用發送方的公鑰來對報文附加的數字簽名進行解密,如果得到的明文相同,那么接收方就能確認傳輸的文件并未受到篡改,是安全可信的。

哈希加密

安全哈希算法是由美國國家安全局研發,由美國國家標準與技術研究院發布的一系列密碼哈希函數,包括SHA-0、SHA-1、SHA-2和SHA-3等系列。比特幣的區塊鏈使用的是SHA-256哈希加密算法,于2001年發布,屬于SHA-2分支。由于SHA256偽隨機性的特點,只要是相同的數據輸入,一定會得到相同的結果,如果輸入數據稍有變化,將得到一個千差萬別的結果。

運行機制

接入網絡和驗證

節點通過安裝相應的軟件,接入區塊鏈。節點啟動以后,主要是在P2P網絡上發現鄰居節點、鏈接鄰居節點、傳遞P2P消息和下載區塊鏈驗證。節點可以選擇下載全量的區塊鏈進行驗證,或者是只下載區塊頭,通過Merkle樹節點來進行簡單支付驗證。

錢包軟件可以分為移動錢包、桌面錢包、互聯網錢包和紙錢包,都支持保存用戶的私鑰,錢包也可以根據私鑰是否是種子產生的,而分為決定性錢包和非決定性錢包,關鍵區別在于私鑰的備份和易恢復性。

區塊鏈的存儲和接受

比特幣的區塊鏈使用Berkeley DB作為錢包數據庫,使用LevelDB存儲區塊的索引和UTXO。節點在啟動的時候,將整個區塊鏈的索引從LevelDB加載入內存。當收到一個新區塊時,節點對新區塊中的所有交易進行檢測,驗證交易格式、交易大小、交易簽名、UTXO是否匹配、交易簽名、腳本合規等方面。

如果驗證成功,檢查上一區塊頭與鏈頭區塊哈希值是否一致,如果是一致,則更新UTXO數據庫和回滾交易數據庫,如果不是,則將該區塊放在孤兒區塊池中 。當節點發現網絡中存在另一條更長的區塊鏈時,就需要斷開現有的區塊并對區塊鏈進行重組。如果驗證不成功,會拋棄該區塊,繼續等待新區塊的到來(礦工會繼續計算新區塊的數學難題)。

區塊鏈的工作量證明計算機制

“礦工”角色的節點一直收集網絡中廣播的交易記錄,并致力于計算新區塊的數學難題,即工作量證明。如果其他節點發來的新區塊驗證成功,節點除了更新UTXO數據庫和回滾交易數據庫,節點會立即開始下一個新區塊的計算。新區塊的構建優先選取交易內存池中優先級高的交易記錄。優先級的計算方式為:

如果自己的工作量證明計算成功,節點會第一時間將這個區塊廣播至整個網絡中,其他節點收到該新區塊,如上所述,會進行相應的驗證和存儲。

其他相關

腳本語言

區塊鏈采用的腳本語言并不是圖靈完備的語言,不支持循環,只能進行堆棧式操作。這種腳本語言的好處是,不允許礦工提交一個死循環的腳本,更注重的是安全方面的考量,但其擴展能力有限。從以太坊為首的區塊鏈編程平臺支持圖靈完備的編程語言,引領區塊鏈跨入2.0時代。由于支持循環等復雜操作,以太坊用Gas機制來防止死循環的出現,確保系統的安全。

消息隊列

比特幣區塊鏈采用Zero MQ作為消息分發和消息隊列管理工具。與很多人熟悉的RabbitMQ相比,ZMQ不像傳統意義的消息服務器,更像一個底層的網絡通信庫,在多個線程、內核和主機盒之間彈性伸縮,在Socket API之上將網絡通信、進程通信和線程通信抽象為統一的API接口。

挖礦設備和算法演進

挖礦設備從支持復雜指令、適合串行計算的CPU礦機時代,經由基于眾核體系、適合并行簡單計算的GPU挖礦和低功耗卻價格昂貴的FPGA挖礦,逐漸向集約高速的ASIC礦機和規模效應的礦池演進。

基于工作量證明機制的算法,容易導致礦工算力集中的問題。有人將這種“中心化”的責任歸咎于SHA256算法。此時,基于SCRYPT算法的萊特幣進入了人們視線,其占用內存多、計算時間長、并行計算困難的特點,限制了礦工的“軍備競賽”。萊特幣的成功催生了更多算法的交叉融合,衍生出串聯算法、并聯算法和多用途算法。

中國互聯網資深服務商

聯系捷森,免費獲得專屬《策劃方案》及報價
咨詢相關問題或預約面談,可以通過以下方式與我們聯系:

400-681-9511 / 0531-88909511在線咨詢

現在就與捷森客服交流

400-681-9511

您也可進行在線咨詢或預約項目顧問

立即免費通話
德州扑克翻牌前概率