免費下載使用!趣鏈新一代區塊鏈平臺首次深度解析

區塊鏈大本營 2021-11-25 08:08:52 阅读数:615

使用 新一代 一代 首次 深度

d5b8874d49a43ec6c2e33f7f6bc4a40c.gif

作者 | 張珂傑

  本文系趣鏈科技2021產品發布會深度解析系列

  張珂傑,趣鏈區塊鏈平臺研發負責人

關鍵詞:聯盟鏈、新基建、可信基礎設施、隱私保護、易用性、可信數據

文章框架速讀:

d75170bb60291d10dc67805833bb077a.png

454ea659519f4be58410c374e82db0ef.png

點擊文末閱讀原文即可免費下載使用

區塊鏈作為數字經濟的可信基礎設施,為實現數據可信、資產可信、合作可信發揮了至關重要的作用。隨著區塊鏈技術被寫入“十四五”規劃,國家明確了以聯盟鏈為重點發展區塊鏈服務平臺的目標。更多場景的深度探索和應用,對區塊鏈這項新興技術提出了更高維度的要求與挑戰。

對於聯盟鏈的需求以及未來發展趨勢可以分為以下幾類:

◆三大一小:組網數量大,存儲數據量大,合約規模大,交易延遲小

此類需求都是由於區塊鏈作為可信基礎設施衍生出來的,隨著“新基建”的不斷深入探索,用於承載可信數據的區塊鏈平臺的業務模式也會更加複雜,導致智能合約邏輯多且複雜,業務數據量呈指數級增加。更為重要的一點是,聯盟鏈是一個多方協作的網絡,參與的機構和企業會越來越多,由此造成區塊鏈節點網絡部署將會更加複雜,網絡延遲以及丟包率也會進一步擴大,從而導致區塊鏈性能大幅度降低。因此,“組網數量大,存儲數據量大,合約規模大,交易延遲小”是對下一代聯盟鏈最基礎的要求之一。

一高一低:易用性高,接入成本低

對於區塊鏈而言,現在最大的問題就是,接入成本過高,且易用性不强。目前大量的非區塊鏈應用程序均采用傳統的關系型數據庫,以及傳統基於JDBC相關的JavaWeb相關技術,並且現在大量的軟件開發工程師也已經擁有這樣的技術棧。現有的利用Solidity,Go,Rust等進行業務邏輯編碼的相關區塊鏈虛擬機在編碼邏輯,數據存儲方式上都不是特別貼近現有的軟件開發思維。這也是導致現有“區塊鏈+”難以開展的原因之一。

高强保護:安全性高,强隱私保護

區塊鏈作為一個多中心化的分布式系統,在普遍情况下,都存在多家機構同時參與整個應用生態構建的情况,對於數據安全與隱私保護也有十分高的要求。隱私安全以細粒度級別為標准劃分為鏈級別,合約級別,交易級別,且需要分別從網絡、執行、存儲等幾個維度去考慮區塊鏈系統的隱私保護能力。

軟硬結合:硬件數據自動采集,軟件可信數據處理

數據真實的第一公裏問題,是困擾區塊鏈的最大問題之一。對於區塊鏈作為“可信基礎設施”的定比特,不少人會質疑上鏈數據真實性的問題。因此,對於區塊鏈而言,結合IoT等硬件設備進行數據自動化采集與校驗也是未來必不可少的一環。另外,對於區塊鏈節點本身而言,充分發揮區塊鏈軟件的靈活性、硬件的極速計算以及軟硬件的高安全特性是至關重要的,在設計實現區塊鏈專用硬件與軟硬協同體系時,也能讓區塊鏈本身的性能與安全性提昇到一個更高的層次。

因此,區塊鏈作為未來的可信基礎設施與下一代價值互聯網的基石,需要面臨更大的挑戰,趣鏈區塊鏈平臺也需要做更多的技術昇級與迭代來滿足未來“新基建”提出的重大需求。

3e234ef8d10641744aa942450c16b878.png

全新的區塊鏈網絡架構:多層級异構區塊鏈並行網絡模型

6f3e8cdaf631f370eb21543244d8ad6b.png

區塊鏈作為一個龐大的可信數據基礎設施,需要支持大規模組網模型。我們認為,整個區塊鏈網絡需要同時支持“橫向”與“縱向”的擴展。

在此網絡模型與架構下,能够實現多級异構(同構)子鏈的擴展與管理,實現多鏈之間的互聯互通,更加合適去做業務的拓展以及隔離,更加符合“基礎設施”的相關需求。另外,針對每條平臺節點,可以做到按照節點種類進行劃分,實現多類型區塊鏈節點的分層組網模型,形成一個大規模可治理的區塊鏈網絡。因此從這兩個維度來看,我們能够實現“橫向與縱向”的擴展方式,形成一個新的多鏈异構並行的架構。

這樣做的最大的好處是,在“新基建”的擴展方案中,我們可以靈活的實現“新鏈”的接入與管理,並且不同業務鏈之間完全有可能實現鏈與鏈之間的可信互通,實現多鏈模型下的監管與治理;同時,針對業務擴展過程中的“新夥伴”加入,也能够依據節點類型提供相應的准入模型,實現更細粒度的權限管理與控制,有利於做業務的大規模擴展。

所以,我們認為未來發展過程中一定是多元化的技術並存,區塊鏈要發揮價值,也必須實現不同業務場景的互動,更重要的是需要有更多的合作夥伴加入才能够實現“價值互聯網”的構建。區塊鏈也不會只是單單的一條鏈,而是一個基礎網絡的載體,能够具備更强的可擴展性與兼容性。

b03b443a5089de9987fc76563583833d.png

專用的區塊鏈存儲引擎:新一代高效混合存儲模型

與公鏈不同的是,聯盟鏈的業務開展速度、業務數據量、業務複雜程度相對更加複雜。比如之前我們做的公積金的相關業務,目前的累積數據已經達到了200億條,這個其實對於區塊鏈本身的壓力也是相當之大,傳統單一化的區塊鏈存儲模型,利用通用的單機RocksDB、LevelDB之類的也無法滿足這一數據庫模型,但如果直接采用像TiKV、Aerospike等分布式數據庫,雖然能解决數據量存儲的問題,但是在讀寫十分頻繁的情况下會擴大交易延遲,由此也會大大的降低區塊鏈的執行性能。

經過分析,我們認為區塊鏈本身存在較為獨特的存儲模型,可以為其設計更為專用的存儲架構來適應存儲需求。所以,從2019年開始,我們就已經開始對趣鏈區塊鏈平臺的存儲架構進行了迭代昇級。

8e9fdde72b6fede92d79f1cba44c7814.png

迭代昇級的基本思路還是參照傳統數據庫的優化思路“分庫分錶”的模型進行展開,按照本身的數據特征進行分庫倉儲,但更為重要的是,在分庫存儲之後也需要針對其數據特征進行數據庫的設計與研發,從數據庫層面就應該能够適配其本身的存儲模式,打造區塊鏈專用的存儲引擎。

我們在趣鏈區塊鏈平臺的混合存儲模型中,單獨設計了幾個重要的組件與引擎:

基於文件的連續型數據存儲引擎Filelog


適用於區塊、交易回執、交易Journal等連續型數據存取的存儲數據庫,能够實現高效的數據讀寫、回滾、歸檔等服務。

狀態數據的多級緩存

面向於讀寫均衡且隨機性很强的區塊鏈狀態數據的多級緩存,集讀寫緩存於一體,能够幫助區塊鏈實現异步的批量的狀態數據寫入,能够實現快速的不同類型的數據庫快速接入。

◆狀態數據專用存儲引擎VIDB

針對狀態數據讀寫較為均衡的情况,設計了基於對存儲優化好的新型默克爾樹結構的存儲模型,進行“存儲和計算的融合”,减少讀寫放大,能够實現更為平衡的狀態數據存取,同時更容易實現分布式擴展。

353c9b1973fe6716fffd9f8f67720ee3.png

一鍵鏈改:易用的區塊鏈執行引擎

眾所周知,區塊鏈作為一個基礎軟件,跟業務最耦合就是智能合約,而讓使用者能够直觀感受到區塊鏈是否易用的也是智能合約部分,所以,作為智能合約的載體虛擬機就顯得尤為重要。

我們始終認為,一個好的虛擬機不僅僅是擁有很好的性能、可擴展,更為重要的是它的易用性,它需要對業務開發者和使用者更加友好。經過總結分析,所謂的易用性主要有幾個方面:

1.編程語言的通用性,對於開發而言,不需要額外的學習一種新的語言,並且這種語言要有很好的生態;

2.數據存儲結構的多樣性,能够按照業務邏輯提供更為多樣的數據結構,使其更貼近業務;

3.對於業務系統框架對接的便利性,希望能够實現快速的業務系統的對接,降低業務系統開發的成本。

因此,在趣鏈區塊鏈平臺的之前版本中,很早就已經推出過我們的自研的基於Go實現的Java虛擬機,性能較EVM也得到了較大的提昇,另外利用Java語言本身的開發生態,為開發者提供便利,對於存儲的數據結構方案,也提供了Map,List以及Table等多種類型的數據存儲架構。

069a8eb018cbb1dbad9db5bbf26ce410.png

基於此,近期我們也將對我們的虛擬機做進一步昇級,主要會聚焦在對於已有業務系統的對接成本降低方面。基於已有K/V的狀態數據庫存儲模型,借鑒Google的《F1:A Distributed SQL Database That Scales》的思路,在區塊鏈上實現高效的SQL解析和執行,我們會在區塊鏈上實現SQL的編譯處理以及將SQL轉化到鍵值對存儲引擎的技術組件,在保證原有的Merkle Tree計算情况下,提供了對業務更加易用的調用模式。但是需要注意的是,並不是所有的需求都適合於區塊鏈,例如基於非索引的查詢在目前的區塊鏈系統中就顯得很不合理,這也需要存儲引擎的配合。

更進一步,對於業務系統而言,單單的支持SQL執行以及錶數據存儲結構是遠遠不够的,需要能够支持更便捷的業務系統對接,例如如何在傳統的SSH、SSM等 JavaWeb框架中快速對接區塊鏈,一般在Mybatis或者Hibernate中實現對於SQL語言的封裝和執行,然後再通過JDBC實現數據庫的訪問和調用,而我們也需要實現類似的區塊鏈JDBC接口幫助開發者實現快速的數據存取,實現更加友好的業務調用模式。

因此,趣鏈區塊鏈平臺能够在一定程度上實現對於業務系統的“一鍵鏈改”,大幅度降低區塊鏈的開發的門檻和使用成本。

5bc10d93a7c52e7996919dd57e40f954.png

天然的隱私保護與並行計算模型

近年來,隱私保護也是區塊鏈領域最熱的話題之一,不少的區塊鏈平臺也推出了自己獨有的隱私方案,不論是基於密碼學算法的,還是基於TEE的,各類的方案都是比較完善的。在趣鏈區塊鏈平臺的舊版本裏,我們也推出過不同類型的隱私保護方案,基於TEE的,基於分區共識的等等,但此類方案,在使用層面還是開發層面還是有比較大的限制。我們認為,造成這種情况的根本原因是,現有的區塊鏈的共識-執行-存儲的計算架構,不適合去做隱私保護,所有的共識節點都需要冗餘的計算存儲,也是造成隱私保護難的原因之一。

所以,只有做到執行、驗證、存儲分離,才可能做到更好的隱私保護,實現數據“可用可驗不可見”,而在做到了執行驗證存儲分離之後,也更容易做到區塊鏈的並行計算。如下圖所示,平臺在未來會實現,區塊鏈的計算與驗證分離,充分發揮基於TEE或ZKP的可驗證計算能力,實現鏈下計算,鏈上驗證,在架構層面做到鏈上鏈下的高效協同。

9cc1eb98e18bcdb5177c566c5ad7f113.png

同時,更為重要的是,借助趣鏈區塊鏈平臺的分片架構,能够實現鏈上驗證的並行處理,實現共識節點的橫向擴展,更適合未來區塊鏈的對於高性能的要求。我們認為,在此種計算模型下,區塊鏈能够同時兼顧可擴展性、隱私性與高性能。新一代趣鏈區塊鏈平臺也將能實現複雜業務情况下性能的進一步提昇。

8a28543dd621d35f811b4a3f1bafa033.png

全鏈路的軟硬一體化方案

軟硬一體化方向,是我們從Hyperchain面世以來始終貫徹的理念,我們認為應當充分的發揮硬件的高安全與極速計算的能力,結合區塊鏈軟件本身的特性打造區塊鏈的專用硬件,實現安全性、隱私性、性能的進一步突破。主要的方向我們認為有三個:

區塊鏈專用芯片/模組:區塊鏈小型化、芯片化,形成分布式存儲與計算的軟硬件基礎設施 ,加速網絡轉發能力、共識計算能力、高效存儲能力,整個區塊鏈數據的采集、分發、計算、存儲形成了完整的安全生態閉環;

一體機設備:符合政務領域對安全性有嚴格要求的場景下軟硬一體機設備,集成區塊鏈密碼卡、網絡共識加速器、可信執行環境等硬件設備與技術,實現軟硬件一體化的安全自主可控;

區塊鏈加速設備:提供區塊鏈專用硬件加速整體解决方案,充分挖掘SSD、FPGA、網卡等硬件潜力,提昇計算效率實現並行多核高效運算,突破區塊鏈性能瓶頸;

去年,我們發布了與中科曙光合作的區塊鏈一體機,實現了多個專用設備的聯動,助力驗簽、網絡、存儲等多個維度的加速。此外,依賴於硬件本身的可信執行服務,能够實現細粒度的隱私保護策略,保證數據在執行、存儲、傳輸過程中的全方比特加密。

d2570ce894fd3246bfe35d4c0d8ffde2.png

最後,我們認為區塊鏈軟硬一體化不應只局限於在服務器端,更需要考慮的是全鏈路數據可信,這也是我們一直在做的事情。未來,我們將會秉持更加開放的生態觀,持續開放趣鏈區塊鏈全功能試用版本供更多開發者開發區塊鏈應用,構建出一個更具活力的區塊鏈生態。

版权声明:本文为[區塊鏈大本營]所创,转载请带上原文链接,感谢。 https://netfreeman.com/2021/11/20211125080449093y.html