文章閱讀頁通欄

河南22选5好运3有复试:百度區塊鏈整體架構

來源: 百度白皮書 作者:
百度作為中國在尖端科學核心技術領頭的高科技企業,秉承“用科技讓復雜的世界更簡單”的使命,積極配合國家戰略層面的指引方針,以公平開放、技術......
百度作為中國在尖端科學核心技術領頭的高科技企業,秉承“用科技讓復雜的世界更簡單”的使命,積極配合國家戰略層面的指引方針,以公平開放、技術賦能、生態聯盟為準則,致力于構建行業河南22选5第202期开奖應用生態,將區塊鏈的價值賦能給包括政府、企業及個人用戶的社會各個層面,為降成本、提效率、優化產業誠信環境、價值重新分配等方面貢獻力量。百度區塊鏈實驗室,全面布局區塊鏈生態的各個領域,包括 XuperChain 底層基礎設施建設,企業級的解決方案 BaaS (Blockchain-As-A-Service),以及服務于創造數字經濟和改善社會生活的一系列區塊鏈應用等。

百度將在數字技術創新、安全可控、自主研發等方面持續推動區塊鏈的社會價值和經濟價值,建設“網絡強國、數字中國、智慧社會”,為我國產業結構邁向全球價值鏈中高端,實現經濟高質量發展貢獻力量。

百度區塊鏈整體架構

1.區塊鏈行業痛點

1.1 當前區塊鏈技術的性能制約

自區塊鏈技術誕生以來,區塊鏈的性能問題一直是倍受業界關注和討論的核心問題,同時也可能是成為區塊鏈行業發展的壁壘。當前,影響區塊鏈性能的直觀指標可總結為四點:

(1) 出塊時間:區塊產生的時間間隔;
(2) 區塊大?。旱ジ鑾櫚氖導蝕媧⑷萘?;
(3) 事務執行速度:單個請求的處理時間。對于包含智能合約的請求,執行速度還受智能合約的執行時間影響;
(4) 事務大?。菏攣袷荽媧⒃誶榱蠢锏氖導蝕笮?。

回顧區塊鏈 1.0 時代的比特幣交易系統,性能的制約因素可歸納為區塊大小和出塊時間。區塊鏈 2.0 時代的以太坊系統,由于支持通用智能合約,除了區塊大小和出塊時間之外,只能利用單核 CPU 的串行計算的低效率同樣是制約整體性能的因素。同時,POW 機制以較慢的出塊時間來降低分叉概率的機制,也是影響區塊鏈整體性能的因素之一。

1.2 智能合約的痛點

以太坊的出現,讓人們注意到用智能合約可以構建豐富多彩的價值網絡。但以太坊本質是一個基于單鏈架構的通用智能合約系統,所有的智能合約都在一條鏈上運行。所以以太坊的合約之間沒有隔離能力,性能也差強人意。除此之外,以太坊提供的 Solidity語言設計上存在欠缺,也缺乏實用的編程庫支持,無法跟主流編程語言比較。

深挖智能合約的潛力,我們認為豐富的智能合約可以完整的構建一款基于區塊鏈的應用程序,我們叫 DApp(Decentralized App)。DApp 能夠傳遞有價值可信的信息和服務。區別于現在的 App,現在的移動 App 提供的信息和服務需要主體公司的信用做背書,而在 DApp 中,背書是由區塊鏈完成的,因此 DApp 比 App 具備巨大的優勢。DApp 取代 App,標志著區塊鏈技術 3.0 時代的到來。為了迎接新的時代,兩個技術問題亟待解決:

(1) DApp 運行的獨立性:每個 DApp 都可以跑在一條或者多條鏈上,DApp 內部的智能合約相互可以訪問,DApp 之間的數據通過跨鏈通訊來實現;

(2) DApp 開發的便利性:智能合約的編程語言,短期內應該向當前的軟件開發生態靠齊,支持主流編程語言包括 C++,JAVA,Go 等。但是從長期來看,區塊鏈的智能合需要有更符合自己特點的原生編程語言。

1.3 共識機制的痛點

共識機制本質上是一套博弈系統:共識的產生需要付出一定的代價,礦工努力工作后能獲得有效的獎勵,通過一獎一罰的博弈保證系統穩定實施。現存的共識機制,在應用層面比較專注于某一特定場景并存在一定程度的短板。比如 PBFT 比較適用于聯盟網絡的共享賬本技術,POW 能耗較高、POS 存在中心惡意干涉的可能性等。

在當前的技術背景下,功能過于全面的共識算法無法真正可用。在新一代區塊鏈共識機制的設計過程中,根據實際應用場景,有的放矢的選擇去中心化、節能、安全等設計原則,對一些原則支持強弱進行取舍,將一定程度上提升系統的整體運行效率。因此,在新一代的區塊鏈系統設計中,可插拔的共識機制可能是未來發展的主要方向:在區塊鏈解決方案中,應該實現兼容多種共識算法,在實際業務落地中有選擇性的使用一種最合適的共識機制,甚至整個網絡具備讓開發者自定義共識機制的能力。

1.4 計算和存儲的痛點

在當前的區塊鏈技術方案中,始終無法突破單機的存儲和計算瓶頸,甚至連單機的多核計算和多盤存儲都不能很好的利用。整體性能和擴展性存在一定局限。性能支撐是用戶體驗的基礎,因此區塊鏈支撐 DApp 的良好運轉,必須解決計算和存儲的彈性擴展問題。

1.5 網絡建設的痛點

(1) 平臺化技術的難點

1) 基于比特幣等公鏈平臺實現 DApp 的難點

目前公鏈的技術,如比特幣,如果想直接用比特幣的區塊鏈網絡做自己的事情,有兩種模式:

① 將數據寫到比特幣的 Script 區里面,業務端理解數據并實施;
② Fork 比特幣的代碼并進行修改,從頭開始搭建自己的區塊鏈網絡。

通過這些模式創建自己的 DApp 對網絡構建、技術實施的門檻非常高,一定程度上限制了 DApp 生態的快速發展。

2) 基于以太坊公鏈的平臺化難點

基于以太坊的平臺化主要面臨兩方面問題:

① Solidity 這門語言相對較弱,在構建復雜應用的時候,會面臨軟件工程的問題;
② 以太坊的整體網絡性能,不足以支撐一款高頻 DApp 的執行,所以根本無力去支撐整個 DApp 生態。

(2) 區塊鏈建設的難度

公鏈的建設難度極大,利益糾紛明顯。在傳統比特幣和以太坊的區塊鏈公鏈建設過程中,需要大量的礦機和電力加入。而 EOS 的網絡建立,需要強大的社區運營以及資源支持。如果每一個 DApp 的出現,都要自己去建設公鏈,對開發者來說將是一個巨大的挑戰。

為解決上述痛點,百度發布 XuperChain,作為操作系統級別的區塊鏈解決方案。

2.XuperChain 網絡介紹

2.1 運行結構

XuperChain 簡稱超級鏈,是一個支持平行鏈和側鏈的區塊鏈網絡。在 XuperChain網絡中,有一條特殊的鏈——Root 鏈。Root 鏈管理 XuperChain 網絡的其它平行鏈,并提供跨鏈服務。其中基于 Root 鏈誕生的超級燃料是整個 XuperChain 網路運行消耗的燃料。Root 鏈有以下功能:

(1) 創建獨立的一條鏈;
(2) 支持與各個鏈的數據交換;
(3) 管理整個 XuperChain 網絡的運行參數。

XuperChain 是一個能包容一切區塊鏈技術的區塊鏈網絡,其平行鏈可以支持XuperChain 的解決方案,也同時支持其它開源區塊鏈網絡技術方案。

2.2 共識機制

(1) 可插拔共識機制

在當前的技術背景下,沒有哪一種共識機制是完美無缺的,每一種共識機制都有其優點和缺點,不同的應用場景可能需要不同共識機制。為了應對不同的應用需求,XuperChain 設計了一套可插拔的共識機制,所謂可插拔主要體現在兩個方面:一方面,XuperChain 不同的平行鏈允許采用不同的共識機制,以此來滿足不同的共識應用需求,用戶可以通過 API 創建自己的區塊鏈,并指定初始的共識機制。另一方面,XuperChain 還支持在任意時刻通過投票表決機制實現共識的升級,從而實現共識機制的熱升級。

XuperChain 的共識機制包括但不限于 POW、POS、PBFT、中心化共識(Raft)等。

(2) DPOS 共識算法創新—TDPOS 共識

基于 POS 基礎上衍生出了很多改進算法,DPOS 就是其中一種。DPOS 算法是用戶通過投票選出代表進行區塊的生產。

XuperChain 自主研發實現了一套 DPOS 共識,我們稱之為 TDPOS。依據這種算法,全網持有通證的人都可以給候選人投票。

TDPOS 的參數包括每輪的 proposer 個數、出塊間隔、節點每輪出塊個數等,在創建平行鏈的時候可以指定,也可以通過提案機制升級。通過 GPS 和原子鐘保證時鐘同步。例如,如果配置的參數為每輪 21 個節點、出塊間隔為 3s、每個節點每輪出塊個數為 200 個,則每輪的時間為 3.5h。

(3) 自定義共識機制

如果 DApp 開發者覺得系統默認的共識機制都無法滿足自身的業務需求,可以通過智能合約和共識機制的編程接口,編寫自己的共識,并以智能合約的形式發布到XuperChain 中。XuperChain 在啟動用戶創建的這條鏈的時候,會注入自定義共識(需要取一個唯一名字),成為該鏈的共識機制。

2.3 超級節點

超級節點是一種分布式計算技術,保證每個節點的存儲和計算是可以擴展的。從而
為區塊鏈網絡提供源源不斷的存儲和計算支持。

(1) 存儲支持

超級節點會存儲所有的歷史事務的完整信息,如何支撐 PB 級別的容量非常具有挑戰。

XuperChain 底層 KV 存儲引擎主要有以下幾個特點:

1) 事務性表格系統:通過前綴編碼的平展化,支持多鏈 + 多表,且能保證跨鏈事務的原子性;
2) 多盤技術:實現 KV 存儲引擎到底層文件系統的虛擬映射層,支持單機多盤存儲,從而支撐大容量數據存儲;
3) 混盤技術:實現冷熱數據自適應調度,將低頻數據存儲在 SATA 介質或者云存儲,高頻數據存儲在 SSD 介質;
4) 云優化:實現 DFS 適配層,支持分布式文件系統,存儲容量理論上可以擴展到PB 級別。結合混盤調度,保證性能最優。

(2) 計算支持

在非 POW 的共識機制下,超級節點的主要計算量為交易上鏈和合約執行。很多區塊鏈軟件對交易的執行以及合約的執行都是串行執行的,優化到極致也只能使用單核,對硬件的利用率很低。超級節點采用多核并行計算與分布式計算相結合的方式以提升計算效率。

1) 多核并行計算:XuperChain 通過智能合約的依賴關系將待打包的事務構造出 N個 DAG。每個 DAG 的交易和合約執行都是并行跑在多個 CPU 核上, DAG 內部無路徑依賴的節點也可以并行執行,從而可以最大化 CPU 的利用率,突破系統吞吐瓶頸。平行鏈和可回歸側鏈技術也能有效的利用多核并發;

2) 分布式計算:XuperChain 未來構建事務執行的分布式調度集群,鏈內并行事務和多鏈事務可分發給調度集群執行,從而利用分布式計算的擴展能力。

2.4 智能合約

(1) UTXO Base 的智能合約模型

我們認為 UTXO(Unspent Transaction Output)相對于 Account 余額模型,并發性能更好,對熱門賬戶的性能也更優秀。超級鏈底層是基于 UTXO 模型,因此任何針對比特幣系統的優化都適用于 XuperChain。

XuperChain 在 UTXO 的基礎上做了智能合約的擴展,在擴展區可加載各種不同的合約虛擬機,每個合約機需要實現運行合約和回滾合約兩個接口?;毓齷剖俏擻Ω斗植嬪杓頻?,我們在合約回滾方面進行三個方面的優化,用戶可以選擇其中之一去實現:

1) 自定義回滾邏輯;
2) 利用區塊鏈數據操作日志,生成反向回滾日志,自動生成回滾邏輯;
3) 引入 MPT,分叉無需回滾支持,但是暫時只有 KV 存儲能力。

(2) 智能合約兼容

1) XuperChain 內嵌合約機制

內嵌合約機制,規定智能合約編寫的接口,可直接用當前語言(Go,C++,Java等)編寫智能合約放到 XuperChain 里面。當前 XuperChain 的 Kernel API 和共識機制算法都是用這種方式實現的。

開發者可以直接寫新的智能合約,放入到 XuperChain 網絡中,XuperChain 給予一定的安全隔離和?;?。一般這種模式只建議聯盟鏈部署的時候使用,因為公開的節點會因為安全問題拒絕為該鏈提供算力。

未來會引入智能合約 Store 和對智能合約的安全審計,保證發布的智能合約是安全的,從而讓公開節點放心支持。

2) 第三方兼容

XuperChain 直接支持以太坊的 Solidity 語言。以太坊的智能合約代碼可以在XuperChain 部署和執行。XuperChain 同時支持 WebAssembly,并通過其支持任意語言。理論上 XuperChain 支持任何虛擬機的運行。

2.5 立體網絡技術

河南22选5第202期开奖 www.lyedr.com (1) 鏈內并行技術

當下區塊鏈技術的實現是將所有事物打包后順序執行。隨著智能合約越來越復雜,如果順序執行智能合約,高并發度將難以實現,而且也不能充分利用多核和分布式的計算能力。

為了讓區塊里面的智能合約能夠并行執行,XuperChain 將依賴事務挖掘形成 DAG圖,并由 DAG 圖來控制事務的并發執行。

(2) 可回歸側鏈技術


在很多場景下,并不需要把所有的事務都集中在主鏈上運行。比如一個運營活動,完全可以把資源放到一個側鏈上去,然后通過智能合約執行邏輯,執行完成后一次性合并回主鏈。通過把復雜的智能合約在側鏈執行,可以實現利用其它的并行計算資源去執行而不消耗主鏈的資源。當滿足側鏈回歸條件的時候,主動引發側鏈合并。

(3) 平行鏈技術


在 XuperChain 的立體網絡里面,有大量的區塊鏈存在。這些鏈通過 Root 鏈管理起來,這些鏈就是平行鏈,從而形成一個真實、獨立存在的區塊鏈體系。我們把這個網絡叫做立體網絡。立體網絡上通過 Root 鏈創建的平行鏈,可以選擇是公開鏈,也可選擇是聯盟鏈(僅成員可見)。

2.6 輕量級節點技術

XuperChain 在設計的時候就支持輕量級節點技術。輕節點僅同步少量數據就可以完成數據的訪問和校驗。輕量級客戶端可以部署在 PC、手機、嵌入式設備等設備上,不需要算力和存儲支撐就能有效的訪問區塊鏈網絡數據。

2.7 可升級系統

(1) 提案和投票機制


提案和投票機制是區塊鏈系統實現自我進化的關鍵。系統首次上線后難免遇到很多問題,我們提供提案/投票機制為區塊鏈的社區治理提供便利的工具,以保證未來系統的可持續發展。具體實現方法如下:

Step1:提案者(proposer) 通過發起一個事務聲明一個可調用的合約,并約定提案的投票截止高度,生效高度;
Step2:投票者(voter) 通過發起一個事務來對提案投票,當達到系統約定的投票率并且賬本達到合約的生效高度后,合約就會自動被調用;
Step3:為了防止機制被濫用,被投票的事務需要凍結參與者的一筆燃料,直到合約生效后解凍。

(2) 共識可升級


XuperChain ?供可插拔共識機制,通過?案和投票機制,升級共識算法或者參數。圖 5 簡要說明了如何使用 XuperChain 的?案機制進行共識升級。

(3) 系統參數可升級

通過?案和投票機制,區塊鏈自身的運行參數也是可升級的。包括:block 大小、
交易大小、挖礦獎勵金額和衰減速度等。

2.8 隱私?;ず桶踩?/span>

超級鏈支持多種主流的隱私?;ず桶踩?,包括但不限于:

(1) 通過獲取用戶設備上產生的隨機熵,來生成隨機數種子,再通過密鑰衍生推導函數來加強隨機性,最后生成 ECC 的公鑰私鑰對;
(2) 引入分層加密技術來降低密鑰被泄露和破解的可能性。也防范了通過交易記錄猜測個人隱私的可能;
(3) 為了防止地址碰撞和輸入錯誤,使用高強度的散列和摘要算法以及校驗碼來保證地址合法性;
(4) 引入語言親和性的助記詞技術,用戶只要記住助記詞,就可以恢復自己的數字錢包。


3.XuperChain 網絡生態和基礎設施

3.1 網絡生態

(1) 商業化能力

通過 XuperChain 網絡創建區塊鏈需要凍結超級燃料。

在系統穩定運行一段時間后,凍結的超級燃料會按照一定比例分給為該區塊鏈?供資源和服務的節點。平行鏈持有者,為了保證區塊鏈正常運作,應該定期補充凍結一定比例的超級燃料。Root 鏈是管理平行鏈和解決跨鏈的關鍵,Root 鏈的每一次 API 調用,都要消耗超級燃料。因此,超級燃料將作為 XuperChain 使用者支付使用費用的途徑,也是當下 XuperChain 的主要商業化途徑。

(2) 開源計劃

1) XuperChain 已經在 Xuper 聯盟內部開源;
2) 2019 年上半年向全社會開源。

3.2 超級鏈 App


XuperChain 構建未來 DApp 運行的基礎網絡。一個完整的區塊鏈生態體系需要提供一個窗口,以連接用戶和區塊鏈網絡。因此推出基于百度區塊鏈生態的超級鏈 App。

超級鏈 App 是 DApp 的終端運行平臺,是用戶發現并使用 DApp 的入口??⒄嚦梢醞ü讀純⒄咂教燜俅唇ê頭⒉甲約旱?DApp 并發行到超級鏈 App 中,用戶無需下載即可在超級鏈 App 中使用所有的 DApp 提供的服務。

生態內的 DApp,可以借助百度流量優勢獲得流量。通過內容與服務推薦,精準的連接開發者與用戶,致力于打造自治共榮的區塊鏈分發生態服務。

基于區塊鏈的 DApp 無法簡單直連服務器,因為單獨一個網絡節點無法被客戶端信任。所以在XuperChain上運行的DApp都是通過輕量級節點實現去中心運行。XuperChain提供 DApp 運行的最基本的輕量級節點支持,以實現讓開發者像開發 Web 程序一樣開發 DApp。

4.結語

區塊鏈技術作為技術迅猛發展大背景下的新興產物,旨在通過其去中心化、開放性、自治性、防篡改性及可追溯性等特質,解決信任問題,意義重大。XuperChain 作為百度操作系統級區塊鏈解決方案,旨在通過搭建底層生態,打造業務閉環,以賦能 DApp 開發者,使其充分擁抱區塊鏈能力。百度 XuperChain 正以兼容并包的姿態,廣納全世界DApp 開發者,與百度 XuperChain 一起在區塊鏈的豐沃土壤中生根、發芽、開花、結果。


更多區塊鏈信息:www.qukuaiwang.com.cn/news

關鍵詞: 百度區塊鏈  XuperChain  
0/300
?