數(shù)據(jù)上鏈的原則與方式_第1頁
數(shù)據(jù)上鏈的原則與方式_第2頁
數(shù)據(jù)上鏈的原則與方式_第3頁
數(shù)據(jù)上鏈的原則與方式_第4頁
數(shù)據(jù)上鏈的原則與方式_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)上鏈的原則與方式由于區(qū)塊鏈技術(shù)眾所周知的不可篡改的特性,很多人就將區(qū) 塊鏈作為一個數(shù)據(jù)庫來使用,在傳統(tǒng)項目進(jìn)行區(qū)塊鏈改造的過程 中,將所有本來存入傳統(tǒng)RDBMS (關(guān)系數(shù)據(jù)庫)的數(shù)據(jù),全部改 成存入?yún)^(qū)塊鏈中,以為這就是區(qū)塊鏈項目了。實際上,在對傳統(tǒng) 項目進(jìn)行鏈改的過程中,由于區(qū)塊鏈的特殊特性,并不能作為傳 統(tǒng)數(shù)據(jù)庫使用,而是要將關(guān)系數(shù)據(jù)庫、區(qū)塊鏈結(jié)合,進(jìn)行業(yè)務(wù)分 析,將能上鏈的,有必要上鏈的數(shù)據(jù)進(jìn)行區(qū)塊鏈上鏈改造。那么到底哪些數(shù)據(jù)適合上鏈,哪些數(shù)據(jù)不適合上鏈,到底用 什么方式上鏈?一、哪些數(shù)據(jù)不適合直接上鏈1、大文件不直接上鏈比如視頻、圖片等。主要是因為區(qū)塊鏈作為一種分布式賬本 技術(shù),在多

2、個節(jié)點(甚至所有節(jié)點)都在本地存儲了區(qū)塊鏈完整 的歷史數(shù)據(jù)。如果將1GB的視頻直接上鏈,那么這個視頻將會在 每個節(jié)點都占用1GB的磁盤空間,而且一旦上鏈?zhǔn)菬o法刪除該交 易的,所以還不能去刪除該數(shù)據(jù),強行刪除將會導(dǎo)致區(qū)塊鏈數(shù)據(jù) 不完整,新節(jié)點加入同步并檢查歷史賬本數(shù)據(jù)時將會因為數(shù)據(jù)丟 失而校驗失敗。所以一般來說區(qū)塊鏈都會限制交易的大小和區(qū)塊 的大小,比如要求每個交易不能超過1 MB,每個區(qū)塊不能超過 8MB,從而杜絕大文件直接上鏈導(dǎo)致的磁盤急劇膨脹的問題。如 果的大文件有上鏈的需求,可以采用哈希上鏈的方式,要么直接 計算哈希值,然后將哈希上鏈,要么結(jié)合IPFS去中心化存儲技 術(shù),將大文件存儲到I

3、PFS網(wǎng)絡(luò)中,然后IPFS會給出一個特殊的 哈希值,將該哈希值上鏈。2、機密、敏感數(shù)據(jù)不直接上鏈比如合同內(nèi)容、訂單內(nèi)容。因為的區(qū)塊鏈賬本是分布式存儲 在各個節(jié)點的,所以如果將機密敏感的數(shù)據(jù)直接上鏈了,那么所 有節(jié)點都會同步到上鏈的數(shù)據(jù),在他們本地節(jié)點就可以查看上鏈 后的敏感機密信息。如果有上鏈的需求,可以將數(shù)據(jù)存儲在私有 的數(shù)據(jù)庫或者IPFS中,然后哈希上鏈,也可以通過密碼學(xué)的方 法進(jìn)行加密,然后密文上鏈。3、大量、冗余重復(fù)的數(shù)據(jù)不直接上鏈比如系統(tǒng)日志。一般系統(tǒng)日志如果開到DEBUG級別,每秒幾 千幾萬筆日志記錄是很正常的,而且這些日志的價值信息很低, 基本都是很細(xì)節(jié)的,冗余重復(fù)的日志。而區(qū)塊

4、鏈本身是一個性能 有限的網(wǎng)絡(luò),一般TPS都是在千級別,能做到上萬TPS的都已經(jīng) 是很厲害的了。而如果將大量冗余重復(fù)的數(shù)據(jù)上鏈,那么將會占 用大量帶寬,導(dǎo)致真正有價值的數(shù)據(jù)淹沒在日志交易中,排隊等 待打包,從而影響正常業(yè)務(wù)的運行。而且大量日志上鏈也會導(dǎo)致 區(qū)塊鏈磁盤占用快速膨脹,對所有節(jié)點的存儲也是挑戰(zhàn)。如果有 日志上鏈的需求,一般可以按批次,將日志進(jìn)行IPFS存儲、計 算哈希,或者通過一種叫KSI (無密鑰簽名基礎(chǔ)設(shè)施)的方式, 對批量日志建立哈希樹,將哈希根上鏈。二、哪些數(shù)據(jù)適合上鏈1、有價值含義的數(shù)據(jù)上鏈比如積分、票據(jù)、禮品卡、游戲金幣、游戲道具等。區(qū)塊鏈 天然可用于構(gòu)建價值網(wǎng)絡(luò),在區(qū)塊鏈

5、中可以很容易的支持通證 (Token)的創(chuàng)建、流轉(zhuǎn)、銷毀等操作。一般通證分為兩種:同 質(zhì)化通證(fungible Token)和非同質(zhì)化通證(NFT全稱是non- fungible Token)o通證并不是公有鏈獨有的技術(shù),在聯(lián)盟鏈 中,也可以通過合約實現(xiàn)這兩種通證。同質(zhì)化通證用于表示同一種類型的,彼此沒有區(qū)分的價值符 號,比如你有1000個國航里程積分和我有1000個國航里程積分 是沒有區(qū)別的,都可以去兌換相同的禮品,其價值是一樣的。所 以某商家的積分、某游戲金幣都可以用同質(zhì)化通證在區(qū)塊鏈上實 現(xiàn)。非同質(zhì)化通證用于表示彼此之間有區(qū)別,具有唯一性的符 號。比如游戲道具,不同的道具可能具有不同的

6、屬性,從而在游 戲中具有不同的表現(xiàn)。對于這些有價值,而且可以看得出來是有流通需求的數(shù)據(jù), 就可以用通證來表示。2、有共享需求的數(shù)據(jù)上鏈比如黑名單共享。行業(yè)中經(jīng)常有數(shù)據(jù)共享的需求,比如在銀 行之間希望能夠共享信用黑名單,如果在一個人在某個銀行失 信,進(jìn)入了銀行的黑名單,那么其他銀行肯定也不愿意貸款給這 個人。于是銀行之間可以建立區(qū)塊鏈,每個銀行將黑名單共享到 區(qū)塊鏈中,利用區(qū)塊鏈共享賬本的特點,所有上鏈數(shù)據(jù)同步到每 個銀行的區(qū)塊鏈節(jié)點中。當(dāng)然出于隱私保護(hù)和法律法規(guī)的要求, 不會直接明文上鏈,可以通過一些密碼學(xué)的方法,將黑名單數(shù)據(jù) 在各個銀行之間共享,同時也保證不泄露更多隱私信息。3、有協(xié)同處理需

7、求的數(shù)據(jù)上鏈比如商品溯源。一件商品從生成出廠到后面經(jīng)過總經(jīng)銷商、 分銷商、各個物流公司、零售商才會到達(dá)消費者手中,如果是跨 境貿(mào)易,那么中間還會經(jīng)過海運、海關(guān)等環(huán)節(jié),中間經(jīng)手的環(huán)節(jié) 多,參與方又是獨立的不同的公司和政府部門,所以想要知道每 件商品到底經(jīng)過了哪些環(huán)節(jié),每個環(huán)節(jié)花費了多久的時間,從而 進(jìn)一步的優(yōu)化流程;消費者想要知道購買的商品是否是仿冒品, 中間經(jīng)過哪些環(huán)節(jié),那么就需要將物品的溯源做好。商品溯源的 一大難點就在于中間經(jīng)手的環(huán)節(jié)太多,而且是不同的公司,所以 一個中心化的系統(tǒng)很難處理。而區(qū)塊鏈分布式賬本的特點,可以 為每個環(huán)節(jié)的公司和政府部門建立節(jié)點,他們只需要將自己的系 統(tǒng)對接本地的

8、區(qū)塊鏈節(jié)點,在業(yè)務(wù)流轉(zhuǎn)過程中,通過區(qū)塊鏈實現(xiàn) 各個環(huán)節(jié)公司的協(xié)同。4、有審計要求的數(shù)據(jù)上鏈比如核心數(shù)據(jù)操作日志。在傳統(tǒng)中心化系統(tǒng)中,將商家評 分、消費者評價、企業(yè)信用評估分等存儲到數(shù)據(jù)庫中,平臺系統(tǒng) 根據(jù)數(shù)據(jù)庫中的數(shù)據(jù)決定是否優(yōu)先展示,是否給予批貸款等,所 以這些數(shù)據(jù)是非常核心,非常重要的。真是由于這些數(shù)據(jù)的重要 性,所以也帶來了一種黑產(chǎn):修改信用評分、刪除差評等。究其 原因是因為中心化數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)是可以被修改,可以通過 系統(tǒng)漏洞或者行賄數(shù)據(jù)庫管理員,由管理員修改了核心數(shù)據(jù)。而 采用區(qū)塊鏈技術(shù),將核心數(shù)據(jù)上鏈,基于區(qū)塊鏈不可篡改的特 點,即使是IT管理員也無法篡改這些上鏈數(shù)據(jù)。所有修改都

9、會 留痕,并被審計,所有黑客攻擊篡改行為和內(nèi)部人員的數(shù)據(jù)修改 行為都無所遁形。三、數(shù)據(jù)上鏈的方式1、原文上鏈這種主要適用于只上鏈一個字段的情況,比如做了一個許愿 的DAPP,就是用戶將自己的心愿寫到區(qū)塊鏈上,而這個心愿可能 就是幾個字,也可能是長篇大論,但不管怎么樣,他可以認(rèn)為就 是一個文本字符串,而的上鏈操作就是將整個字符串直接上鏈存 儲。2、格式化后上鏈這種主要適用于業(yè)務(wù)數(shù)據(jù)上鏈的場景,比如企業(yè)要將自己生 成的所有產(chǎn)品上鏈,而產(chǎn)品本身具有很多屬性,比如:材質(zhì)、總 量、類型等等。企業(yè)可以將產(chǎn)品的所有要上鏈的屬性構(gòu)建成XML 對象或者JSON對象(個人更推薦使用JSON對象),然后將格式 化(

10、序列化)后的產(chǎn)品對象上鏈。不推薦使用protobuf、rlp等 數(shù)據(jù)庫不支持的序列化方法,一般很多NoSQL數(shù)據(jù)庫是支持JSON 對象的索引的,所以如果存入的是JSON對象,那么還可以直接 對存入的對象進(jìn)行各種條件的檢索。3、哈希摘要上鏈這種主要用于文件上鏈的場景。前面說到,區(qū)塊鏈不適合將 大文件直接上鏈,而哈希算法可以將大文件計算出一個固定長度 的摘要。(比如SHA256算法,算出來32字節(jié)的摘要)使用哈希 摘要可以保證原始數(shù)據(jù)不會被篡改,因為文件一旦被篡改,那么 算出來的哈希值和鏈上的哈希值不匹配。而為了預(yù)防文件存儲在 某個服務(wù)器硬盤上,萬一服務(wù)器硬盤壞了,那么數(shù)據(jù)就永遠(yuǎn)丟失 了這種情況,

11、可以采用IPFS這種分布式存儲技術(shù)IPFS負(fù)責(zé)將 大文件切割成很多個小塊,然后將小塊分散存儲在多臺服務(wù)器 中,從而避免了單機故障造成文件丟失的可能。同時IPFS在文 件分割和存儲的同時,也會計算出一個哈希摘要,可以將該哈希 摘要上鏈(可能還需要對哈希進(jìn)行加密),在獲得文件準(zhǔn)確的哈 希值,就可以通過IPFS獲得原始文件。4、加密后上鏈這種上鏈方式好主要適用于不希望其他方看到的機密敏感數(shù) 據(jù)。加密一般采用對稱加密,而加密的密鑰每個文件都不一樣, 可以將密鑰用上鏈方的公鑰進(jìn)行加密,這樣只有私鑰持有方才能 解密出對稱密鑰,然后再用對稱密鑰解密鏈上數(shù)據(jù)。為什么不直 接用數(shù)據(jù)持有者的公鑰加密呢?因為一方面

12、對稱加密的性能遠(yuǎn)遠(yuǎn) 高于非對稱加密,另一方面,如果希望將某個鏈上數(shù)據(jù)共享給另 一方,那么他只需要解密對稱密鑰,然后將該密鑰用對方的公鑰 加密上鏈,這樣對方就可以使用自己的私鑰解密出對稱密鑰,然 后用對稱密鑰解密出文件。四、數(shù)據(jù)上鏈為帶來什么安全優(yōu)勢1、所有上鏈數(shù)據(jù)基于密碼學(xué)數(shù)字簽名,上鏈數(shù)據(jù)不可被第三 方篡改,不可抵賴這是基于區(qū)塊鏈交易的基本特性,數(shù)據(jù)要上鏈就得通過交 易,而交易要被廣播和打包到區(qū)塊中,就必須要有數(shù)字簽名。而 數(shù)字簽名保證了交易數(shù)據(jù)無法被第三方篡改,也保證了上鏈數(shù)據(jù) 必然是私鑰持有者簽名的,不可偽造,不可抵賴。2、基于多參與方的共識算法,防止單方面作惡,修改自己鏈 上歷史數(shù)據(jù)區(qū)

13、塊鏈作為分布式賬本,在記賬時,需要多方進(jìn)行共識,只 有共識通過才會被記賬,而無論采用哪種共識算法,都需要保證 單方或者少數(shù)節(jié)點的作惡行為不會影響整個鏈的數(shù)據(jù)。而基于區(qū) 塊鏈的鏈?zhǔn)綌?shù)據(jù)和區(qū)塊頭中包含區(qū)塊所有交易的默克爾根的特 點,保證了歷史數(shù)據(jù)無法被篡改。這里的無法篡改和基于簽名的 無法篡改是兩種情況。數(shù)字簽名保證的是原始數(shù)據(jù)不會被第三方 篡改,但是如果一個文件只是由我用自己的私鑰簽名了,那么我 是可以修改文件的內(nèi)容,然后再用我自己的私鑰重新簽名,生成 一個新的合法的簽名文件的。而區(qū)塊鏈的共識算法就是如果我已 經(jīng)把A文件簽名并上鏈了,那么我自己都不能把A文件改成A1后重新簽名,神不知鬼不覺的把A替換成新的A1。3、基于分布式技術(shù),每個節(jié)點具有完整全賬本,防止單機故 障和數(shù)據(jù)丟失因為上鏈的數(shù)據(jù)具有多個副本,每個全賬本節(jié)點都保留了完 整的區(qū)塊鏈數(shù)據(jù),所以不存在單機故障導(dǎo)致整個區(qū)塊鏈網(wǎng)絡(luò)無法 正常運行或者因為硬盤故障導(dǎo)致鏈上數(shù)據(jù)丟失的可能性。4、基于聯(lián)盟鏈的節(jié)點準(zhǔn)入、TLS加密通訊、通道隔離等技術(shù),保證了數(shù)據(jù)的傳播范圍可控,防止數(shù)據(jù)被竊取這里主要說的是聯(lián)盟鏈技術(shù),聯(lián)盟鏈屬于許可鏈,和開發(fā)的 任何人都可以訪問的公有鏈相比,聯(lián)盟鏈?zhǔn)鞘芟拊L問的,即使聯(lián) 盟鏈節(jié)點部署在互聯(lián)網(wǎng)中,但是由于節(jié)點準(zhǔn)入的限制,并不是任 何人下載了節(jié)點運行的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論