国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一款面向區塊鏈可信數據存儲的技術

jf_WZTOguxH ? 來源:螞蟻鏈 LETUS ? 作者:田世坤 ? 2022-12-02 14:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者 | 螞蟻鏈 LETUS 技術負責人 田世坤

寫在前面 文字產生以前,結繩記事是人類用來存儲知識和信息的主要方式。此后,從竹簡、紙張的發明,到工業時代的磁盤存儲,再到信息時代的數據庫,存儲方式不斷革新,“存力”不斷提高。

11 月 3 日,在 2022 云棲大會上,螞蟻鏈歷經 4 年技術攻關與測試驗證的區塊鏈存儲引擎 LETUS(Log-structured Efficient Trusted Universal Storage)正式發布。
這一款面向區塊鏈可信數據存儲的技術產品,不僅用來解決當前螞蟻鏈及區塊鏈產業的規模化發展問題,也面向 Web3 時代提供“可信存力”支撐。
我們認為,隨著大量的數據和數字資產在數字化世界里流轉,可信數據的“存力”將如同電力網絡的承載力一樣重要。
本文希望通過對 LETUS 的深入技術解讀,回答讀者們普遍關心的關鍵問題:LETUS 是什么?主要解決哪些問題?為什么堅持用“可驗證結構”?為什么要自研?以及未來要走向何處? 背景是什么?

從 2009 年序號為 0 的創世塊誕生至今已過去十多年,“中本聰”依然神秘,但區塊鏈技術的發展卻因為公鏈、token、開源的推動,沒有絲毫神秘感。

經過幾代技術演進,在比特幣的 UTXO 模型基礎上誕生了應用更為廣泛、支持可編程智能合約的區塊鏈技術:通過密碼學、共識算法、虛擬機、可信存儲等技術,多個參與方執行相同的“指令”,來完成同一個業務邏輯,如賬戶轉賬,或者合約調用,維護不可篡改和不可偽造的業務數據。

簡單講,可將這類賬本數據庫,看作一個去中心化防作惡、防篡改的復制狀態機,所執行的是智能合約描述的業務邏輯,而狀態機通過日志 (區塊數據)產生新的狀態(狀態數據):

區塊數據:包括交易、回執、世界狀態 Root Hash 等信息,和數據庫系統中的日志類似,但是塊之間由 Hash 錨定防篡改,并且不會刪除。(區塊數據記錄的是區塊鏈上發生的每一筆交易,如:Alice 向 Bob 轉賬 xx)

狀態數據:記錄賬戶、資產、業務合約數據等狀態信息,和數據庫系統中表數據類似,需要實現可驗證可追溯。(狀態數據記錄的是區塊鏈上每個賬戶或智能合約的當前狀態,如:Bob 賬戶剩余 xx)

鏈上數據的特點可以總結為以下三個:

持續增長:從創世塊開始,賬本數據隨交易持續增長,保留周期長;

多版本:交易修改狀態數據產生新版本,系統提供歷史版本查詢和驗證功能;

可驗證:交易和賬戶狀態通過 Merkle 根哈希(Merkle Root Hash)錨定在區塊頭,通過 SPV(simple payment verification,簡單支付證明)提供存在性證明;

11a2218c-7206-11ed-8abf-dac502259ad0.jpg

區塊鏈應用通過可驗證數據結構(Authenticated Data Structure,如 Merkle tree)實現可驗證和可追溯。我們認為,Web3“存力”一個非常重要的要素是可驗證,而今天我們看到的區塊鏈存儲瓶頸大多來源于可驗證結構 ADS(如 Merkle tree)的低效存取和查詢,這正是螞蟻鏈 LETUS 重點攻克的難題。

我們要什么?

隨著時間推移和鏈上交易的增加,對存儲容量的要求也不斷增長,隨之而來的是區塊數據存儲成本的大幅提升;與此同時,鏈上狀態數據規模也持續增加,可驗證數據結構持續膨脹,導致交易性能隨賬戶規模提升和歷史狀態數據增加而持續下降。

2019 年,螞蟻鏈上線了一個供應鏈金融業務,大家特別興奮。但是,這種興奮并沒有維持多久,隨著程序跑的時間越來越長,問題慢慢暴露出來。

供應鏈金融是面向 ToB 的,不像 ToC 端隨時都有數據,可能會在某個時刻(比如每天晚上)有一筆狀態數據非常大的交易進來,跑了一個星期后發現性能越來越慢。

鏈平臺 TPS 的衰減和存儲直接相關,而與共識、虛擬機都無關,隨著業務合約持續寫入數據,存儲性能大幅衰減。

如果要在技術上長時間支持億級賬戶規模、每天能穩定支撐億級交易量,存儲的規模和性能問題必須要攻克。

期間,團隊也曾試過各種技術方法對他進行優化,得到一些緩解。但多次嘗試之后發現,隨著數量增加而出現的性能衰減,是一個繞不開的瓶頸,需要從本質上解決。

我們需要從問題表象分析背后的原因。

區塊鏈應用通過可驗證數據結構實現可驗證和可追溯,但是可驗證數據結構會帶來讀寫放大(問題 1)和數據局部性(問題 2)。

而存儲系統為了實現數據管理,需要對數據分頁 / 分層、排序,如 KV 數據庫基于 LSM-tree 將數據分層有序存儲,而 MySQL 之類的數據庫將數據分頁,也會基于 B-tree 數據結構來排序索引

11b51580-7206-11ed-8abf-dac502259ad0.jpg

業界現有的實現方式,大多采用基于 LSM 架構的通用 Key-Value 數據庫,在數據庫之上運行一個獨立 Merkle 樹來實現可驗證,如:

以太坊:MPT(Merkle Patricia Tree)+LevelDB

Diem:JMT(Jellyfish Merkle Tree)+RocksDB

背后的核心矛盾為:

01 Merkle 樹每次狀態數據修改,即使只改一個 KV,也需要從葉子節點到根節點,每一層節點都重新編碼后,寫到 KV 數據庫,例如上圖中 Alice 給 Bob 轉賬,需要寫入 Merkle 樹的 2 個葉子節點和 3 個中間節點,最壞情況需要寫入數十個中間節點; 02 Merkle 樹的節點的 key 完全隨機 (如對內容算 hash,再以 hash 為 key),數據局部性(data locality)非常不友好,如 RocksDB 里為了讓 Level 內 sst 文件有序,即使沒有垃圾依然需要層層進行數據壓實(compaction),從而消耗了大部分的磁盤讀寫帶寬; 03 數據規模越大,Merkle 樹本身的層數越多,需要額外寫入的 key-value 越多,DB 里的數據量越多,后臺數據管理的代價越大(如 compaction 流量),消耗大量的磁盤和 CPU 資源。

除此之外,吞吐、延時等存儲性能(問題 3)、持續增長下的存儲成本(問題 4)、單機存儲下的規模瓶頸(問題 5)也都是需要解決的問題。

面臨什么挑戰?

在過去幾年的快速發展中,區塊鏈的業務場景對交易吞吐量和響應時間要求越來越高,很多技術也被推動迭代發展,如 PBFT、HoneyBadger、MyTumbler 等高性能共識算法,BTN 等網絡基礎設施,JIT 加持的 WASM 虛擬機、以及高效的并行執行技術。

但比較而言,存儲的性能對區塊鏈平臺整體性能影響非常大。對面向 2C 場景的數字藏品類業務(如鯨探,需支持秒殺),交易 TPS 與延時要求極為苛刻;而對需要在鏈上保存大量數據的存證類業務,大容量存儲帶來的成本又十分可觀。

要支撐業務的長期可持續發展,我們歸納出區塊鏈存儲面臨的核心挑戰:

規模:業務賬戶規模可達數 10 億,狀態數據和歷史版本規模分別需要支撐到十億、千億級;

性能:轉賬交易需求可達十萬級 TPS、百毫秒級延時,要求性能不能受制于單機瓶頸,數據規模持續增長下性能不衰減;

成本:隨著交易增長,存儲容量持續增加,存儲空間占用、節點間帶寬占用居高不下。業務持續增長要求低成本存儲。

這些問題在行業內很普遍。業界技術路線主要分三條:

路線 A:弱化可驗證可追溯,如 HyperLedger Fabric 1.0 開始不支持可驗證和多版本,保存讀寫集、只持久化最新版本狀態數據;

路線 B:優化 KV 數據庫存儲,如實現鍵值分離、hash 索引的 KV 數據庫等 (BadgerDB、ParityDB),接入通用分布式數據庫 (MySQL) 等;

路線 C:優化 Merkle 樹,交易 ID 作為版本、樹結構稀疏化,如 Diem JMT。

根據公開信息,目前區塊鏈產品中主流的 MPT + LevelDB、JMT + RocksDB、MySQL 等存儲架構,沒有能全部解決上述 5 個問題的方案,難以在支持多版本和可驗證的同時,滿足 10 億級賬戶規模下的高性能、易擴展、低成本的業務要求。

我們做到了什么?

我們自研了一套區塊鏈存儲引擎 LETUS(Log-structured Efficient Trusted Universal Storage),保證完整的可驗證、多版本能力,既滿足區塊數據不可篡改、可追溯、可驗證等要求,也提供對合約數據友好訪問、存儲規模可分片擴展,高性能低成本等特性。同時也滿足通用性,統一管理區塊數據、狀態數據。

11c69a26-7206-11ed-8abf-dac502259ad0.png

4 年前不敢想象的能力現在具備了(以下數據為統一環境下的測試結果)

01 大規模:通過存儲集群擴展支持十億賬戶規模,TPS 超過 12 萬,交易平均時延低于 150ms; 02 高性能:存儲層 IO 吞吐相比以太坊 MPT + LevelDB 等架構提升 10~20 倍,IO 延遲降低 90% 以上。鏈平臺在 7x24 高壓力壓測中,端到端 TPS 不隨數據量增加而衰減;

03 低成本:相比 MPT + LevelDB 架構,磁盤帶寬減少 95%、空間占用減少 60%;相比于 Diem JMT + RocksDB 架構,磁盤帶寬減少約 60%、空間占用降低約 40%; 04 進一步降成本方案,供用戶選用:

a.針對區塊數據容量與成本持續增長,提供智能控溫分層存儲能力,并應用于存證等業務降低約 70% 存儲成本,同時也降低運維成本。

針對狀態數據的歷史版本容量與成本持續增長,提供范圍掃描的批量裁剪能力,實現歷史版本狀態數據的裁剪和后臺空間回收,在十億賬戶規模時,使用鏈原生存儲可以減少近 90% 狀態存儲空間。

但這背后是一個技術架構的跨越,從下圖左邊的可驗證數據結構 +KV 數據庫架構,升級為現在的 LETUS 存儲引擎,架構更簡潔,系統更高效。

11e9f78c-7206-11ed-8abf-dac502259ad0.jpg

如 Alice 給 Bob 轉賬,只需要寫增量數據,不需要寫入 7 個 Merkle 樹節點,數據局部性更友好,如 Alice 和 Bob 的賬戶數據,按區塊號有序,不再 hash 隨機。

怎么做到的?

圖片回顧這四年,主要經歷的三個大的階段。

階段一:開源思路優化

第一年里,為了滿足業務急迫訴求,我們需要在有限時間內,實現億級賬戶規模和交易 TPS。先從已有系統入手,深度優化了狀態樹,基于開源 MPT 到自研 FDMT,同時調優 RocksDB 數據庫、增加并發、提升介質性能。

一系列優化措施緩解了問題,但依然無法根本解決,例如數據規模增加后,寫放大依然有幾十倍,數據在底層存儲里依然隨機分布。

階段二:自研存儲引擎

為了能徹底解決上述所有問題,我們不得不重新思考存儲引擎的設計。

核心設計

針對讀寫放大(問題 1)、數據局部性(問題 2)和性能(問題 3),我們結合區塊鏈特征,如可驗證數據結構的讀寫行為、鏈上數據的多版本訴求、只追加和不可篡改等,重新設計存儲引擎的架構分層、關鍵組件、索引數據結構:

根據區塊鏈特征,我們根據可驗證數據結構的讀寫行為、鏈上數據的多版本訴求,重新設計存儲引擎的架構分層、關鍵組件、索引數據結構:

11f9dada-7206-11ed-8abf-dac502259ad0.jpg

將可驗證特性下推到存儲引擎內部,由內置的 Version-based(區塊號)多版本 Merkle 樹提供可驗證可追溯,并且直接操作文件,從而縮短 IO 路徑;

01 將可驗證特性下推到存儲引擎內部,由內置的 Version-based(區塊號)多版本 Merkle 樹提供可驗證可追溯,并且直接操作文件,從而縮短 IO 路徑; 02 多版本 Merkle 樹的 Node 聚合為 page,提升磁盤友好性,page 存儲采用 Delta-encoding 思想避免 in-place 更新(結合 Bw-tree 思路),狀態數據修改時主要保存增量,定期保存基線,從而減少寫放大,也減少了空間占用; 03 為 page 存儲實現 Version-based 的存儲與檢索,索引 page 都按區塊號有序寫入、在索引文件里有序總局,核心數據結構為 B 樹變種,從而實現有序數據 locality; 04 利用區塊鏈場景數據的追加寫、Immutable 特點,架構上采用 Log-Structured 思想,通過日志文件來組織數據; 05 數據與索引分離,數據按區塊號有序寫入數據文件,通過異步 IO、協程并發等提升系統并發度,索引多模,區塊 & 狀態通用,除 Merkle 樹支持狀態數據,實現有序 B 樹支持區塊數據; 06 當前最新版本 Merkle 樹優先在內存里緩存或者全部緩存,鏈上合約執行時,如果存在則直接讀取,不需要訪問 page 來重放,從而加速合約執行。

基于些核心設計,實現了成本降低的同時性能提升,鏈平臺交易 TPS、延時等性能指標不會隨著數據規模的提升而衰減。

降成本

雖然存儲資源占用大幅降低后,但是鏈上數據依然面臨持續增長帶來的高成本問題(問題 4)。

基于 LETUS 架構的后臺數據治理框架,我們能很方便的擴展實現數據遷移 / 壓縮 / 垃圾回收等治理策略,基于這些策略,為用戶提供進一步降成本能力,并針對自己的業務特點來選擇使用:

(1)智能控溫分層存儲:存儲介質按照性能、成本分層,通過智能控溫調度數據在不同介質的分布量,將冷數據后臺自動遷移到廉價介質(如 NAS),降低存儲整體成本,并實現容量擴展,不受單盤空間限制。

(2)范圍掃描的批量裁剪:對于歷史版本 Merkle 樹和狀態對象,基于版本有序性與內置 Merkle 樹,讓用戶可以指定目標區塊號范圍裁剪,通過 Page 邊界掃描,批量索引與數據裁剪、垃圾回收實現存儲空間釋放,進一步降低狀態數據成本。

規模擴展

針對問題 5,LETUS 采用分布式存儲架構,實現單個共識參與方計算和存儲分離,計算層和存儲層可分別部署獨立集群,通過高性能網絡通訊框架進行數據讀寫訪問。

為了對海量狀態數據進行靈活的數據分片,并且保證各個區塊鏈的參與方 hash 計算的一致性,將數據切片為 256 個最小存儲單元(msu),并將一個或者多個 msu 構成一個狀態數據分片(partition),將所有數據分片調度到多個物理機器。從而實現規模彈性擴展,解決了單機存儲的容量瓶頸和帶寬瓶頸。

階段三:生產落地

為了全面落地鋪開的同時讓業務平穩運行,能夠開著飛機換引擎,在這幾年的研發過程里,我們充分準備、循序漸進的分階段落地:

120af766-7206-11ed-8abf-dac502259ad0.jpg

2021 年 5 月,基于 LETUS 存儲引擎的區塊數據冷熱分層,在版權存證業務灰度上線,存儲成本降低 71%,解決容量瓶頸并降低運維成本。

2021 年 8 月,基于 LETUS 存儲引擎的狀態數據,在數字藏品平臺“鯨探”雙寫灰度上線,并成功支撐秒殺場景;

2022 年 2-6 月,LETUS 引擎的歷史狀態數據裁剪、存儲服務架構升級等生產 ready,在數字藏品和版權存證等業務全面落地,并從灰度雙寫切為單寫;LETUS 單寫意味著對硬件資源要求大幅下降,我們將“鯨探”生產環境的云資源全面降配,降配后鏈平臺性能水位提升 200%,同時存儲成本下降 75%

總結與展望

螞蟻一直堅持“成熟一個開放一個”的技術戰略。同樣的,LETUS 不只為螞蟻鏈定制,也同樣給其他聯盟鏈、公鏈提供高性能、低成本的支持。

螞蟻鏈堅持技術自研,確保在共識協議、智能合約、網絡傳輸、存儲引擎、跨鏈技術、區塊鏈隱私計算等領域處于全球領先水平。我們始終認為,堅持技術自主研發是建立長期可持續競爭力的關鍵。

在“可信存力”這條賽道上,我們也需要為進一步的技術壁壘提前布局,如合約結構化查詢語言,為鏈上合約實現結構化 + 可驗證的查詢能力, 提升開發者體驗;Fast-Sync 與節點多形態,提升組網效率和節點成本靈活性;以及 Web3 等潛在的技術生態。

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據存儲
    +關注

    關注

    5

    文章

    1025

    瀏覽量

    52941
  • 區塊鏈
    +關注

    關注

    112

    文章

    15577

    瀏覽量

    110991

原文標題:如何破解Web3的「存力」難題?

文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入解析Atmel AT24CM01:一款多功能串行EEPROM

    深入解析Atmel AT24CM01:一款多功能串行EEPROM 在電子設計領域,EEPROM(電可擦除可編程只讀存儲器)是種常用的非易失性存儲器,它能在斷電后保留
    的頭像 發表于 02-25 16:40 ?466次閱讀

    微pMLC技術重塑工業存儲標準

    微電子SGM8103J是一款基于pMLC架構的工業級嵌入式存儲芯片,支持-40℃~105℃寬溫工作與32-128GB容量。其高耐用性與數據保護特性,專為工業自動化、車載系統等嚴苛應
    的頭像 發表于 02-09 10:05 ?202次閱讀
    得<b class='flag-5'>一</b>微pMLC<b class='flag-5'>技術</b>重塑工業<b class='flag-5'>存儲</b>標準

    深入解析CD4512B:一款高性能8通道數據選擇器

    電壓特性(額定20V)的CMOS 8通道數據選擇器,在眾多應用場景中展現出了強大的性能。今天,我們就來深入剖析這款器件,探討其特點、參數以及應用。 文件下載: cd4512b.pdf 、CD4512B概述 CD4512B是一款
    的頭像 發表于 01-16 14:20 ?220次閱讀

    物聯網新手小白,求前輩推薦一款學習用開發板

    我是新手小白,想自學物聯網和人工智能技術,希望前輩們能推薦一款適合進行初級到中級知識學習、實驗和項目開發的開發板兼顧性價比,包括具體的品牌和型號。
    發表于 12-25 18:44

    IPv6 × 數據空間,構筑跨境數據可信流通的全路信任底座

    近日,下代互聯網國家工程中心主任劉東教授,在“世界互聯網大會數據治理論壇”發表了《IPv6驅動的跨境數據流通實踐與未來展望》的主題演講。系統闡述了以IPv6為核心的全球數據
    的頭像 發表于 12-02 09:33 ?537次閱讀
    IPv6 × <b class='flag-5'>數據</b>空間,構筑跨境<b class='flag-5'>數據</b><b class='flag-5'>可信</b>流通的全<b class='flag-5'>鏈</b>路信任底座

    靈動微電子最新最火熱的一款芯片推薦

    希望找一款靈動微電子最新最火熱的一款芯片,我們想做個圖形化的界面配置,供大家以后直接創建工程,用國產工具McuStudio做,McuStudio支持任何內核任何廠家的芯片,希望大家有推薦的型號可以發給我
    發表于 10-29 17:15

    曙光存儲推出面向金融的可信AI存儲

    近日,曙光存儲推出面向金融的可信AI存儲,助力金融行業高效、安全、穩定地使用關鍵業務敏感數據。該方案基于全球領先的集中式全閃
    的頭像 發表于 10-23 09:24 ?645次閱讀

    2028 年建成 100 + 可信數據空間,數據要素市場迎來新引擎

    可信數據空間是指在特定范圍內構建的具備安全可信、高效流通、合規應用特性的數據共享與交換環境。其核心目標是解決數據要素市場化配置中的信任缺失和
    的頭像 發表于 10-21 09:56 ?752次閱讀
    2028 年建成 100 + <b class='flag-5'>可信</b><b class='flag-5'>數據</b>空間,<b class='flag-5'>數據</b>要素市場迎來新引擎

    萬里紅推出可信數據空間平臺

    案例,這殊榮不僅彰顯公司在可信數據空間領域的技術實力獲得業界權威認可,更充分展現萬里紅在數據要素市場化建設方面的優勢能力。
    的頭像 發表于 08-28 09:14 ?1972次閱讀

    如何通過技術賦能提高汽車行業設備資產管理的效率和質量?

    技術賦能汽車設備資產管理,核心是通過 “感知(IoT)→分析(大數據 / AI)→仿真(數字孿生)→可信區塊)→協同(移動互聯)” 的
    的頭像 發表于 08-15 10:35 ?680次閱讀
    如何通過<b class='flag-5'>技術</b>賦能提高汽車行業設備資產管理的效率和質量?

    CPM系列核心板,一款存儲靈活的嵌入式核心板

    在嵌入式產品開發中,存儲空間不足是個常見問題。旦硬件設計定型,后期想擴容往往面臨成本飆升、周期拉長、可靠性風險等難題。本文將介紹種創新的解決方案,幫助開發者靈活應對
    的頭像 發表于 08-13 11:34 ?506次閱讀
    CPM系列核心板,<b class='flag-5'>一款</b><b class='flag-5'>存儲</b>靈活的嵌入式核心板

    可信數據空間解鎖數據流新范式

    特定范圍內構建的具備安全可信、高效流通、合規應用特性的數據共享與交換環境。其核心目標是解決數據要素市場化配置中的信任缺失和流通壁壘問題,通過技術創新與制度創新的雙輪
    的頭像 發表于 08-12 09:37 ?2006次閱讀
    <b class='flag-5'>可信</b><b class='flag-5'>數據</b>空間解鎖<b class='flag-5'>數據</b>流新范式

    飛利信推出面向可信數據空間的利智方體機

    數據要素驅動新質生產力的時代,企業資產的核心價值已從“私有封閉”轉向“可信流通”。可信數據空間作為國家數據基礎設施的關鍵組成部分,正是源于
    的頭像 發表于 07-30 15:46 ?1081次閱讀

    兆芯+圖云創智—可信分布式存儲系統解決方案

    圖云創智分布式存儲系統采用全分布式設計與先進的存儲虛擬化技術相結合,由多個獨立的兆芯 x86 服務器作為存儲節點,聯合道熵存儲軟件和思贊博微
    的頭像 發表于 04-23 10:29 ?933次閱讀
    兆芯+圖云創智—<b class='flag-5'>可信</b>分布式<b class='flag-5'>存儲</b>系統解決方案

    設備管理系統新范式:區塊存證+動態權限管理

    企業面對數字化轉型挑戰,設備管理面臨安全與靈活性問題。傳統設備管理方案漏洞頻出,數據易遭篡改,權限管理僵化。企業需構建區塊存證+動態權限管理方案,提升設備管理可信度、靈活性與效率,實
    的頭像 發表于 03-13 10:41 ?1031次閱讀
    設備管理系統新范式:<b class='flag-5'>區塊</b><b class='flag-5'>鏈</b>存證+動態權限管理