由于大數(shù)據(jù)的迅猛發(fā)展,數(shù)據(jù)正在呈指數(shù)級增長。隨著越來越多的個人數(shù)據(jù)被泄露,數(shù)據(jù)存儲和獲取的方式也受到了質(zhì)疑。 全面數(shù)字化時代的個人信息應(yīng)該如何被管理以發(fā)揮效能并降低濫用的風(fēng)險,不僅是各類企業(yè),更是各國政府必須解決的監(jiān)管難題。
就數(shù)據(jù)管理方式的技術(shù)變革而言,區(qū)塊鏈技術(shù)正在獲得動力。全球研究公司 Gartner 預(yù)測,到 2025 年,區(qū)塊鏈的商業(yè)價值將達(dá)到近 2000 億美元,其中很大一部分將用于數(shù)據(jù)存儲。與云存儲不同的是,區(qū)塊鏈?zhǔn)侨ブ行幕挠嬎愫痛鎯夹g(shù),提供存儲能力的節(jié)點可以分布在不同位置。
現(xiàn)在,大多區(qū)塊鏈公鏈?zhǔn)艿搅藬U(kuò)展性的限制。區(qū)塊鏈技術(shù)最大的特征就是去中心化,這就要求網(wǎng)絡(luò)中的所有賬本都需要處理記賬流程。分布式記賬的安全性高,誤操作率低,還具有政治中立性和正確性。但是區(qū)塊鏈技術(shù)在擁抱了這些特性的同時,犧牲掉了擴(kuò)展性,無法滿足個性化監(jiān)管,在保護(hù)數(shù)據(jù)隱私方面略顯不足。而且,隨著的賬本數(shù)量的增長,交互延遲會呈指數(shù)式增長,也就是說區(qū)塊鏈網(wǎng)絡(luò)中的賬本越多延遲就會越高。
令人頭疼的問題越來也多,以下內(nèi)容可能有你想要的答案。2018 年 11 月 24 日,在上海的迅雷鏈技術(shù)沙龍現(xiàn)場,來自:
迅雷鏈開放平臺研發(fā)負(fù)責(zé)人 張慧勇
迅雷鏈底層研發(fā)工程師 張小剛
復(fù)旦大學(xué)計算機(jī)學(xué)院教授、博士生導(dǎo)師 趙運(yùn)磊
迅雷鏈開放平臺產(chǎn)品負(fù)責(zé)人 馬雙陽
分別就區(qū)塊鏈底層架構(gòu)、數(shù)據(jù)存儲、加密技術(shù)、DApp 現(xiàn)狀進(jìn)行深入淺出的主題分享。我們從具體案例的角度,聊聊區(qū)塊鏈如何改變數(shù)據(jù)的存儲和管理。
區(qū)塊鏈的通用的技術(shù)架構(gòu):包括應(yīng)用層連接服務(wù),核心層的共識算法、密碼學(xué)、塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),基礎(chǔ)層的 P2P 網(wǎng)絡(luò)、存儲、計算。其中,共識機(jī)制是區(qū)塊鏈技術(shù)的核心,不同類型的共識算法應(yīng)用于不同類型的場景;而存儲模型更是決定了區(qū)塊鏈項目管理數(shù)據(jù)的能力,優(yōu)質(zhì)的數(shù)據(jù)模型會使數(shù)據(jù)庫更簡單易用,并且方便擴(kuò)展和查詢。
區(qū)塊鏈的特性天生可以降低信任成本,即利用區(qū)塊鏈的技術(shù)的可回溯、不可篡改、共識算法、P2P 節(jié)點以及智能合約可以達(dá)成低成本信任。但同時,需要保證鏈上的高并發(fā)性和商業(yè)化高可用性,還需要隱私保護(hù)。那么,能滿足低成本、高可用、高并發(fā)的迅雷鏈,在架構(gòu)設(shè)計方面有哪些特點?
1、「采用同構(gòu)多鏈架構(gòu)」可以動態(tài)擴(kuò)鏈,達(dá)到按需供應(yīng)降成本的目的;
2、「支持平行擴(kuò)展」對未來需求有擴(kuò)展能力,同時保證損耗較??;
3、「合約上鏈審核機(jī)制」保護(hù)整個鏈生態(tài)的安全,保證 DApp 為實體企業(yè)或?qū)嵜_發(fā)者所做,方便事后追查和管控;也可以通過限制外界對有安全漏洞的合約進(jìn)行訪問,降低安全漏洞的影響。
4、「接口級的安全管控」避免不良信息上鏈,保護(hù)開發(fā)者免受不良信息產(chǎn)生的影響。
5、「DPoA+PBFT 共識算法」使用 DPoA 選擇性地利用迅雷百萬級的共享節(jié)點,保障 PBFT 算法的穩(wěn)定性;使用 PBFT 可以達(dá)成秒級確認(rèn),同時提供區(qū)塊的確定性,有效避免回滾和分叉,進(jìn)而提供商業(yè)級的服務(wù)。
6、「豐富的外圍系統(tǒng)」降低企業(yè)開發(fā)成本與難度,讓企業(yè)更容易將業(yè)務(wù)上鏈;其中包含訂單系統(tǒng)、事件訂閱系統(tǒng)、合約標(biāo)準(zhǔn)、模板庫等都可以幫助合作伙伴更好的使用智能合約;還提供迅雷鏈文件系統(tǒng)(TCFS),將不適合放在區(qū)塊鏈系統(tǒng)上的超大數(shù)據(jù)統(tǒng)一存儲,只將摘要信息上鏈,同樣可以達(dá)到不可篡改和可回溯的目的,同時可以通過分區(qū)存儲保證數(shù)據(jù)的安全性。
傳統(tǒng)數(shù)據(jù)庫的安全,靠的是企業(yè)信任、數(shù)據(jù)管理員和其他安全策略,但這些在很多場景下并不可靠。如果你擔(dān)心數(shù)據(jù)丟失、篡改等數(shù)據(jù)安全問題,就可以使用區(qū)塊鏈來進(jìn)行存儲。
區(qū)塊鏈?zhǔn)欠植际降拇鎯?,用戶可以隨時隨地建立節(jié)點,加入?yún)^(qū)塊鏈網(wǎng)絡(luò)同步數(shù)據(jù)。甚至可以貢獻(xiàn)自己的存儲和算力獲得獎勵。共識機(jī)制能夠防止作惡,使數(shù)據(jù)都公開透明。同時由于分布式存儲,它的鏈?zhǔn)浇Y(jié)構(gòu)配合哈希算法的應(yīng)用,使得區(qū)塊數(shù)據(jù)幾乎無法篡改。如果要篡改需要改掉足夠多的數(shù)據(jù)才能使篡改生效,這樣的高成本使得篡改幾乎不可能。另外,數(shù)據(jù)可回溯。
數(shù)據(jù)層是最底層的技術(shù),主要實現(xiàn)了兩個功能:數(shù)據(jù)存儲、賬戶和交易的實現(xiàn)與安全。
數(shù)據(jù)層的一大功能是存儲,存儲模型的選擇原則是性能和易用性。一個網(wǎng)絡(luò)系統(tǒng)的整體性能,主要取決于網(wǎng)絡(luò)或本地數(shù)據(jù)存儲系統(tǒng)的 I/O 性能,比如比特幣用的是谷歌的 LevelDB,這個數(shù)據(jù)庫寫性能非常好,但是當(dāng)數(shù)據(jù)量大時的讀性能會明顯下降,而且其只是單機(jī)單盤存儲,當(dāng)數(shù)據(jù)量大時不具備擴(kuò)展性。迅雷鏈的同構(gòu)多鏈框架在設(shè)計上支持任何 KV 存儲,在框架的使用時可以針對不同場景采用不同的數(shù)據(jù)庫模型,解決海量數(shù)據(jù)下的數(shù)據(jù)庫性能和擴(kuò)展能力的同時也保證了極大的靈活性。
區(qū)塊鏈底層大致存儲三種類型的數(shù)據(jù),分別是區(qū)塊與交易數(shù)據(jù)、狀態(tài)數(shù)據(jù)、索引數(shù)據(jù)。區(qū)塊與交易數(shù)據(jù)是區(qū)塊鏈系統(tǒng)總最核心的數(shù)據(jù)。狀態(tài)數(shù)據(jù)可以用來快速驗證新塊的交易是否合法。而索引數(shù)據(jù)則用來提高查詢的效率。由于共識算法的不同,可能有些區(qū)塊鏈還會單獨存儲共識數(shù)據(jù),用于節(jié)點之間進(jìn)行共識。
隨著時間的推移、交易量的增大,占用的存儲依舊會越來越大。迅雷鏈采用同構(gòu)多鏈架構(gòu),將整個系統(tǒng)劃分為多個分區(qū),對于賬戶按賬戶地址做分區(qū),每個賬戶屬于一個分區(qū)。同構(gòu)多鏈結(jié)構(gòu)既可以有效提高并發(fā)交易性能,又可以分散存儲數(shù)據(jù),就相當(dāng)于提升存儲空間。當(dāng)某個分區(qū)需要更高的性能或者更大的存儲空間,可以執(zhí)行平滑擴(kuò)鏈方案,將這個分區(qū)平滑的切分為更多分區(qū),來達(dá)到提升性能和提升存儲空間的目的。
此外,還可以將大數(shù)據(jù)大文件存儲在迅雷鏈文件系統(tǒng) TCFS 中,將對應(yīng)的 Hash 存儲上鏈,這樣能既能保證大數(shù)據(jù)大文件的安全與高可用,又能有效減少區(qū)塊鏈的存儲空間壓力。迅雷鏈文件系統(tǒng)將文件經(jīng)過冗余編碼分成若干片,分別保存在不同節(jié)點上,讀取時只要把部分切片組合到一起,就能還原出整個原文件,所以任何一個單一節(jié)點無法還原整個文件,保證了安全和可靠性??赡苣阒?IPFS,2017 年,這個項目在區(qū)塊鏈資本市場上創(chuàng)造了史上最強(qiáng)募資記錄,募到了 2.52 億美元。但迅雷鏈文件系統(tǒng)比 IPFS 更適合區(qū)塊鏈應(yīng)用作為存儲平臺
據(jù)了解,除此之外迅雷鏈還在持續(xù)優(yōu)化鏈上的存儲方案,以更好的支持區(qū)塊鏈大數(shù)據(jù)存儲。
在當(dāng)今的加密技術(shù)中,隱私是一個很重要的話題。無論是公司還是個人都不希望將自己的所有信息發(fā)布到公共區(qū)塊鏈上,不受任何限制,被本國政府、外國政府、家庭成員、同事或商業(yè)競爭對手隨意讀取。密碼學(xué)在區(qū)塊鏈中的應(yīng)用很多,這里著重探討零知識證明和聚合簽名。
用區(qū)塊鏈實現(xiàn)隱私保護(hù)逐漸成為各類應(yīng)用的重要賣點之一。雖然我們知道鏈上的每一筆交易,但卻不知道是誰來操作的這筆交易。這種匿名特性在一定程度上保護(hù)了個人的隱私,它是如何實現(xiàn)的呢?這要從零知識證明說起。
零知識證明是保護(hù)證明者隱私的一種證明,其中證明者知道問題的答案,他需要向驗證者證明“他知道答案”這一事實,但是要求驗證者不能獲得答案的任何信息,而驗證者的驗證擁有隨機(jī)性。
一個典型的零知識證明示例是阿里巴巴和強(qiáng)盜的故事:
阿里巴巴知道打開藏著財寶的山洞的咒語。強(qiáng)盜抓住他,讓他說出咒語。如果阿里巴巴說出咒語,就會因為沒有利用價值而被殺死。如果阿里巴巴堅持不說,強(qiáng)盜不會相信他真的掌握咒語,也會殺死他。但阿里巴巴想了一個好辦法,他對強(qiáng)盜說:“你們離我一箭之地,用弓箭指著我,你們舉起右手我就念咒語打開石門,舉起左手我就念咒語關(guān)上石門,如果我做不到或逃跑,你們就用弓箭射死我?!?/span>
也就是說無論是個人還是機(jī)構(gòu),不想讓第三方看到的“東西”景可以用是零知識證來解決點。零知識證明,如何用,怎么用,怎么最貼近實際的應(yīng)用場,些就需要具體的分析和策劃。例如下圖所示,是一個這是關(guān)于離散對數(shù)的驗證,根據(jù) h 求 w 是很難的。以下驗證 w 的過程,用到的就是 Schnorr 數(shù)字簽名算法
后來,美國國家安全局基于 Schnorr 重做了一種新的簽名方案 DSA,這也是目前比特幣、以太坊等絕大多數(shù)密碼貨幣里用到的數(shù)據(jù)證明。
區(qū)塊鏈經(jīng)過了 10 年的高速發(fā)展,一直在不斷完善來嘗試適應(yīng)工業(yè)產(chǎn)品化需求。但是仍然存在許多亟待解決的困難,例如:吞吐量過低、區(qū)塊鏈體積龐重、可擴(kuò)展性差、交易費過高、延展攻擊等。
目前,比特幣的交易吞吐量是每秒大約 7 筆。這無疑加劇了:過長時間的交易確認(rèn)延遲、過高的手續(xù)費,且很容易受到垃圾數(shù)據(jù)攻擊 (spam attacks )。也為交易延展攻擊創(chuàng)造了條件。
聚合簽名 (Aggregate signature) 是一種減少“數(shù)據(jù)傳輸所需帶寬、數(shù)據(jù)存儲所需容量” 的有效手段,對于區(qū)塊鏈這種“通信與存儲比計算更加昂貴” 的技術(shù),尤其有吸引力。但是通常算法的聚合簽名或是實現(xiàn)復(fù)雜,或是安全性弱。
基于此,圖靈獎得主姚期智院士與趙運(yùn)磊教授提出的 Gamma 簽名,能更好地構(gòu)造一般群模型下的聚合簽名。實踐發(fā)現(xiàn),將基于 Gamma 簽名的聚合簽名應(yīng)用到比特幣后:簽名的存儲體積將減少一半;簽名的驗證時間提升 4-5 倍。
聚合 Gamma- 簽名的優(yōu)點是:通過將一個區(qū)塊內(nèi)的多個簽名,壓縮到一個簽名,來達(dá)到區(qū)塊鏈容量擴(kuò)展的目的。因此,會有更多的體積來存儲交易;簽名者可以離線預(yù)處理,并且可以存儲一些列中間過程,來加速簽名與驗證的過程;減少了驗證交易的壓力,通過每個區(qū)塊僅需要驗證一個簽名,從而得到了一個更快的確認(rèn)速度。
存儲技術(shù)創(chuàng)新可以更好地提升 DApp 的開發(fā)效率。與傳統(tǒng) App 不同,DApp 運(yùn)行在去中心化的網(wǎng)絡(luò)上,網(wǎng)絡(luò)中不存在中心化的節(jié)點可以完整的控制 DApp,所以基本不會出現(xiàn)數(shù)據(jù)丟失、被盜、篡改的情況出現(xiàn)。DApp 上所有的數(shù)據(jù)進(jìn)行加密后存儲在去中心化的區(qū)塊鏈應(yīng)用平臺上,數(shù)據(jù)的安全性能更高,能夠有效防止信息篡改和偽造,同時很大程度上提高了項目的穩(wěn)定性,降低了宕機(jī)風(fēng)險和運(yùn)營成本。
但是,我們也遇到了棘手問題:區(qū)塊鏈典型用戶是非常少,在產(chǎn)品設(shè)計過程中可參考的用戶畫像比較稀缺;性能方面有很大瓶頸;行業(yè)分布比較雞肋;企業(yè)信息公開正在經(jīng)歷陣痛期;區(qū)塊鏈的專業(yè)人才非常稀缺。
開發(fā)者需要一個強(qiáng)大的數(shù)據(jù)基礎(chǔ)和管理模式,提高 DApp 開發(fā)的安全和效率。而市場中的底層平臺,能為 DApp 開發(fā)提供哪些幫助和支持呢有興趣的朋友可以參考下以迅雷,迅雷鏈?zhǔn)抢?150 萬 + 云計算節(jié)點打造的存儲系統(tǒng),擁有百萬級 TPS 和秒級確認(rèn)能力,可以它提括鏈克兌換、合約接入、TCFS、鏈克商等功能,可以很好的彌補(bǔ)工聯(lián)系統(tǒng)在商業(yè)化運(yùn)用上的天然缺陷城。開源文檔見鏈接
https://open.onethingcloud.com/site/docode.html
同時,迅雷正在不斷完善針對在各行的業(yè)解決方上不斷優(yōu)化數(shù)據(jù)存儲技術(shù),希望能幫助區(qū)塊鏈開發(fā)者做出更豐富、優(yōu)秀的 DAPP,早日實現(xiàn)區(qū)塊鏈技術(shù)的商用落地。
來源:infoq
網(wǎng)上經(jīng)營許可證號:京ICP備18006193號-1
copyright?2005-2022 czderi.com all right reserved 技術(shù)支持:杭州高達(dá)軟件系統(tǒng)股份有限公司
服務(wù)熱線:010-59231580