麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

周迅:智能合約數據存儲的三種解決方案區塊鏈

標準共識 ?|?07月18日, 2018 2018-07-18 18:55
分享到:
導讀

2018 年 7 月 14 日,標準共識成功舉辦了首期線上技術分享會,主講人周迅就「智能合約的數據存儲」與標準共識技術評審團成員及 20 位嘉...

2018 年 7 月 14 日,標準共識成功舉辦了首期線上技術分享會,主講人周迅就「智能合約的數據存儲」與標準共識技術評審團成員及 20 位嘉賓成員分享了技術經驗。

周迅是一家區塊鏈公司的 CEO,對以太坊有著深刻的理解。目前團隊核心目標是做一個工程師易上手的實用版以太坊。以下整理自周迅的分享內容。

只發 Token 無意義

我之前在一家媒體分享過我認為 DApp 開發平臺的共識機制應該是什么樣子。我說我們核心解決的問題是:如何讓開發者把業務也放到鏈上,而不只是發個 Token,把「積分」上鏈了。

今天我們就先不討論邏輯上鏈的必要性,我們從技術上考慮怎么讓邏輯上鏈。

既然是區塊鏈的數據存儲,默克爾證明就必不可少。默克爾證明保證了數據的可驗證性和永久保存性。可驗證就是提供一個根,就可以得到一個 key 對應的 value,永久保存性就是每次對默克爾樹進行更新的時候,舊的樹根都是可以讀取所有的數據的。

雖然默克爾的功能非常強大,但是默克爾證明有個很大的問題:只能存儲 Key-Value 類型的數據,雖然可以在數據序列化和反序列化的時候做一些擴展,但是功能非常有限。

數據儲存的三種解決方案

我們團隊就在想:是否可以讓 DApp 的開發者可以使用 SQL、Mongo 這樣的數據庫進行 DApp 的開發呢?

然后調研了三個方案:

1、類似于 EOS 的 MySQL 插件和 Mongo 插件,這種實現起來是最簡單的,所有的工作都是交給開發者去做,自己這邊只需要做一個連接管理就可以了。

2、對默克爾字典樹進行更新,葉子節點可以存儲多列數據(List<Object>)、可以存儲 Map,也可以存儲簡單的 value,這種情況下如果 len(list)特別大的情況下,不會像只存儲一個 byte,然后反序列化為 list 有特別大的內存和 CPU 開銷。

3、默克爾樹只存儲簡單 KV,在上層封裝一層 SQL layer。

三種解決方案的思考路徑

我下面先說第三種方案:不知道大家聽說過 pingcap 沒有,我們主要研究的方案就是他們的 tikv 和 tidb,我們使用默克爾字典樹替代 tikv,tidb 就可以直接使用了,只需要修改底層數據讀取的相關邏輯即可,因為 tidb 讀取 tikv 的時候其實也是有多個 tikv 服務器的,所以默克爾樹的讀取效率可以說不受太大的影響。

但是,第三種方案有一個特別大問題,對于開發者來說,我們封裝的 SQL layer 只是個 SDK,對于輕客戶端來說,無法驗證數據的有效性。

因為輕節點還是要把對應的默克爾樹讀一遍才知道數據是否是正確。

第三種方案是我們研究的時間最長的一種方案,但最后發現,對于輕客戶端來說這個基本上沒有太大的意義的,所以選擇了放棄。

第二種方案對默克爾樹的修改比較簡單,也比較能實現復雜邏輯的方案。

這種方案對于開發者來說也是非常友好的,它可以很方便的讓開發者把一個可能有很多條數據的 list 拆分開去存儲。

當然,它的問題在于在根據非主鍵查找/更新 list 的時候效率會比較低。對于這一方案,我們團隊目前一直在研究。

接下來講第一種方案。它就是直接使用 MySQL、Mongo 這種數據庫的方案,我們考慮過使用網絡數據庫,但是可能是有很大問題的。

比如某一個節點對數據庫服務器的網絡中斷了,可能就會出現一些問題。所以,我們在前期考慮的是使用嵌入式的 SQL 數據庫,比如 sqlite。

對于第一種方案,我們也在考慮的原因是,我們是把 sql 這種類型的數據庫當成了一個節點的「私有空間」,在一些數據不方便公開的時候(比如斗地主的隨機數),是不方便寫到默克爾樹里去的,這個時候就可以放在SQL 里面,當適合更新到默克爾樹里面的時候(一局斗地主結束),再把數據從 SQL 中讀出來,寫到第二種方案的默克爾字典樹里面。

總結

1、更新后的默克爾字典樹用于存儲可校驗的公開透明的數據;

2、嵌入式的 sql 數據庫用于作為私有的存儲空間,讓開發者存儲一些不適合公開的數據或者帶有條件查找的數據,帶有條件查找的數據可以指向默克爾根,方便輕節點對數據進行校驗;

這些其實是業務邏輯的數據存儲。當然,除了業務邏輯的數據存儲,可能還會有一些文件的存儲需求;這個時候可能就需要一些第三方的存儲了,比如 IPFS。

需要說明的是,IPFS 雖然做了很多工作,但是無法實現文件的分區高可用,我認為可能適合存儲一些不是那么重要的數據,電子合同之類的肯定是不能存儲在 IPFS 里面的(雖然文件丟失的可能性基本為 0,但是某一個時間內不可用的可能性還是有的)。

預告:標準共識技術分享會②

本周六(7 月 21 日)21 時-22 時,標準共識將進行第二期技術分享會,分享人為梁培利。

梁培利目前是一家區塊鏈公司的核心工程師、知乎專欄「全棧區塊鏈」作者。所在公司為國內最早實現跨鏈技術的區塊鏈公司。本期分享的主題為「基于 JavaScript 開發 DApp」。

愿意在區塊鏈行業扎根的技術人員,請掃描下方二維碼,經我們運營人員審核后入群。

標準共識技術分析會2期

數據 存儲 方案 默克爾 技術
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


專題報道

主站蜘蛛池模板: 国内在线观看 | 国内精品免费一区二区三区 | 日本最新免费二区 | 亚洲欧美一区二区三区在饯 | 青青草成人在线观看 | jazz欧美人免费xxxxxx | 日本韩国在线 | 国产偷窥女洗浴在线观看亚洲 | 国产无限制自拍 | 青青国产成人久久激情91麻豆 | 国产在线步兵一区二区三区 | 香蕉eeww99国产在线观看 | 欧美日韩亚洲第一区在线 | 催眠白丝舞蹈老师小说 | 欧美综合精品一区二区三区 | 草草在线视频 | 亚洲人成毛片线播放 | 日韩一卡2卡3卡新区网站 | 色老板免费在线观看 | 第一次做m被调教经历 | 四虎最新免费网址 | 热剧库| 欧美在线一级视频 | 91麻豆精品国产自产在线 | seetube18日本第一次 | 羞羞私人影院可以直接免费观影吗 | 啪啪导航| 朝鲜女人free性hu | 日本小视频免费 | 免费国产成人高清视频网站 | 日韩 欧美 国产 亚洲 中文 | 99热这里只有精品久久免费 | 国产盗摄美女嘘嘘视频 | 我在厨房摸岳的乳HD在线观看 | 啪啪艹| 日本高清视频一区二区 | 色yeye在线观视频 | 国产精品午夜剧场 | 青柠影视在线播放观看高清 | 国产梦呦精品 | 国产免费色视频 |