區(qū)塊鏈技術(shù)落地商業(yè)世界難題之一數(shù)據(jù)大爆炸區(qū)塊鏈
隨著區(qū)塊鏈技術(shù)的普及,大家對(duì)區(qū)塊鏈的技術(shù)特性越來越了解,而區(qū)塊鏈重要的技術(shù)特征之一數(shù)據(jù)的不可篡改性,也廣為人知,但是區(qū)塊鏈?zhǔn)侨绾巫龅竭@一點(diǎn)的呢?
區(qū)塊鏈數(shù)據(jù)的不可篡改性
隨著區(qū)塊鏈技術(shù)的普及,大家對(duì)區(qū)塊鏈的技術(shù)特性越來越了解,而區(qū)塊鏈重要的技術(shù)特征之一數(shù)據(jù)的不可篡改性,也廣為人知,但是區(qū)塊鏈?zhǔn)侨绾巫龅竭@一點(diǎn)的呢?
在計(jì)算機(jī)密碼學(xué)中有一類計(jì)算函數(shù)叫做哈希函數(shù)(Hash Function),也稱為散列函數(shù)或雜湊函數(shù)。而哈希算法就是以哈希函數(shù)為基礎(chǔ)構(gòu)造的,常用于實(shí)現(xiàn)數(shù)據(jù)完整性和實(shí)體認(rèn)證,一般具有以下特點(diǎn):
正向易計(jì)算性:給定明文和 Hash 算法,在有限時(shí)間和有限資源內(nèi)能計(jì)算出Hash值。
單向性:從哈希輸出無法倒推輸入的原始數(shù)值,這是哈希函數(shù)安全性的基礎(chǔ)。。
變動(dòng)敏感性:原始輸入信息修改一點(diǎn)信息,產(chǎn)生的 Hash 值看起來都有明顯不同。
抗碰撞性:在給定的時(shí)間范圍內(nèi),很難找到兩段內(nèi)容不同的明文,使得它們的 Hash 值相同,從而發(fā)生沖突。
下面就是使用 SHA-256 算法的例子:
第一步:輸入明文
SHA256. ComputeHash(“第一塊.”);
第二步:獲得輸出的Hash值
faf37d1f0af753c5b5eea6ab10f2223c5191ec1acd9e23c6a66be2e0ef28d5e5
(為了展示Hash函數(shù)對(duì)輸入明文的變動(dòng)敏感性,去掉第一步明文最后一個(gè)字符,即計(jì)算SHA256. ComputeHash(“第一塊”); 可以看到輸出的Hash值的巨大差異a03b221c6c6eae7122ca51695d456d5222e524889136394944b2f9763b483615)
區(qū)塊鏈就是利用哈希Hash函數(shù)的這個(gè)特性,
Block1Hash = SHA256. ComputeHash(“數(shù)據(jù)塊A”);
Block2Hash = SHA256. ComputeHash(“數(shù)據(jù)塊B” Block1Hash );
Block3Hash = SHA256. ComputeHash(“數(shù)據(jù)塊C” Block2Hash);
。。。。。。
圖1:區(qū)塊鏈簡(jiǎn)易模型
我們可以看到為什么叫鏈, 就是除了創(chuàng)世塊外每一個(gè)區(qū)塊都是依賴之前塊的數(shù)據(jù),例如第3個(gè)區(qū)塊Block3 的Hash值依賴于之前一系列數(shù)據(jù)的內(nèi)容和計(jì)算順序。 假如現(xiàn)在知道了Block3 的Hash值, 別人拿著數(shù)據(jù)塊A,B, C, 無論修改A,B, C的任一點(diǎn)內(nèi)容還是A,B, C的出現(xiàn)順序,都無法再次計(jì)算出正確的Block3的Hash值,這就是區(qū)塊鏈英文 Block Chain概念的由來。
上述只是區(qū)塊鏈的簡(jiǎn)化描述,在實(shí)際比特幣區(qū)塊鏈中要更復(fù)雜,比如使用雙重SHA-2562, 而且實(shí)際Hash計(jì)算要加入隨機(jī)數(shù)Nonce,對(duì)輸出Hash有規(guī)則限制就是前導(dǎo)要有多少個(gè)零,數(shù)據(jù)塊中使用的是梅克爾樹(Merkle)等等。
圖2:區(qū)塊鏈實(shí)際模型
區(qū)塊鏈的去中心化(Decentralization)
而區(qū)塊鏈了另一個(gè)重要的技術(shù)特征之一就是去中心化,與現(xiàn)在主流的中心化系統(tǒng)具有非常大的差異。以太坊創(chuàng)始人Vitalik Buterin于2017年2月發(fā)表的《The meaning of decentralization》一文中,詳細(xì)闡述了去中心化的含義。他認(rèn)為應(yīng)該從三個(gè)角度來區(qū)分計(jì)算機(jī)系統(tǒng)的中心化和去中心化:架構(gòu)、治理和邏輯:
架構(gòu)中心化是指系統(tǒng)能容忍多少節(jié)點(diǎn)的崩潰而可以繼續(xù)運(yùn)行;
治理中心化是指需要多少的個(gè)人和組織能最終控制這個(gè)系統(tǒng);
邏輯中心化是指系統(tǒng)呈現(xiàn)的接口和數(shù)據(jù)是否像是一個(gè)單一的整體;
區(qū)塊鏈?zhǔn)侨W(wǎng)統(tǒng)一的賬本,因此從邏輯上看是中心化的,這一點(diǎn)無可置疑。從架構(gòu)上看,區(qū)塊鏈?zhǔn)腔趯?duì)等網(wǎng)絡(luò)的,因此是架構(gòu)去中心化的。從治理上看,區(qū)塊鏈通過共識(shí)算法使得少數(shù)人很難控制整個(gè)系統(tǒng),因此是治理去中心化的。架構(gòu)和治理上的去中心化為區(qū)塊鏈帶來三個(gè)好處:容錯(cuò)性、抗攻擊力和防合謀。
圖3:傳統(tǒng)中心化和區(qū)塊鏈去中心化對(duì)比
從去中心化的網(wǎng)絡(luò)中可以看出,區(qū)塊鏈?zhǔn)腔趯?duì)等網(wǎng)絡(luò)的,就意味中每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)是平等的而且每個(gè)節(jié)點(diǎn)服務(wù)器都保存的全部數(shù)據(jù),這是區(qū)塊鏈安全性和數(shù)據(jù)不可篡改性的來源和基石,但是這導(dǎo)致一個(gè)很嚴(yán)重的問題,就是數(shù)據(jù)大爆炸。
截止2018年5月14日,比特幣網(wǎng)絡(luò)全數(shù)據(jù)已經(jīng)超過200GB,以太坊超過1.1TB。
圖4:比特幣和以太坊區(qū)塊鏈數(shù)據(jù)增長
以上還僅僅是區(qū)塊鏈自身的增長,當(dāng)我們?cè)噲D將區(qū)塊鏈技術(shù)與現(xiàn)實(shí)商業(yè)世界對(duì)接的時(shí)候,問題就變的更加嚴(yán)重,我們僅僅選取兩個(gè)不同領(lǐng)域和行業(yè)的數(shù)據(jù)做舉例,以下是歷史天貓雙11一天的交易量和歷年中國服裝行業(yè)年生產(chǎn)量。
圖5:天貓歷年支付寶和訂單TPS:萬次
圖6:中國服裝行業(yè)年產(chǎn)量:億件
產(chǎn)品朔源是區(qū)塊鏈目前非常火爆的落地應(yīng)用之一,但是當(dāng)這些數(shù)以百億計(jì)的產(chǎn)品朔源報(bào)告上鏈后會(huì)占用以百萬GB計(jì)的存儲(chǔ)空間,而且是每個(gè)節(jié)點(diǎn)都要重復(fù)保存!
而目前業(yè)界所討論的解決方案,還多在壓縮數(shù)據(jù),擴(kuò)大區(qū)塊大小比如從1MB擴(kuò)大到4MB, 或者建立輕節(jié)點(diǎn)等等,這些方案都治標(biāo)不治本,而且還會(huì)帶來副作用,比如擴(kuò)大區(qū)塊,會(huì)提高產(chǎn)生分叉的概率而且會(huì)延長達(dá)成共識(shí)的時(shí)間從而進(jìn)一步降低TPS,輕節(jié)點(diǎn)會(huì)造成中心化有違區(qū)塊鏈的去中心化的主張。
曌鏈(Mundellian Infrastructure Technology, MIT)的解決方案
曌鏈通過創(chuàng)新的架構(gòu)來解決數(shù)據(jù)大爆炸的問題。
全新的架構(gòu),主鏈 多側(cè)鏈多子鏈節(jié)點(diǎn)群 各行各業(yè)自有的存儲(chǔ)服務(wù)器集群或數(shù)據(jù)云
圖7:曌鏈(MIT)架構(gòu)
主鏈
主鏈的設(shè)計(jì)思想是保持簡(jiǎn)單, 主鏈只負(fù)責(zé)創(chuàng)建側(cè)鏈,通證流轉(zhuǎn)和消息派送,共識(shí)機(jī)制采用我們?nèi)碌腟DWC分片動(dòng)態(tài)權(quán)重共識(shí)算法。
側(cè)鏈
每一個(gè)應(yīng)用開發(fā)DAPP都是對(duì)應(yīng)一個(gè)側(cè)鏈(Sidechain),并且系統(tǒng)提供API來創(chuàng)建側(cè)鏈。側(cè)鏈本身在技術(shù)上是一個(gè)完全獨(dú)立的區(qū)塊鏈,可以選擇自己的共識(shí)機(jī)制,數(shù)據(jù)庫,交易類型以及賬戶系統(tǒng),依據(jù)其業(yè)務(wù)邏輯決定是否發(fā)行自己的token,承載應(yīng)用的全部商業(yè)邏輯,但不保存生產(chǎn)數(shù)據(jù),事務(wù)數(shù)據(jù)。
子鏈
子鏈?zhǔn)荢ubchain,不同于側(cè)鏈,子鏈可以作為保存各種數(shù)據(jù)的倉庫,也可以是公共服務(wù)提供者,比如可以部署IPFS 子鏈,時(shí)間戳子鏈,真隨機(jī)數(shù)子鏈等等。
如果應(yīng)用的數(shù)據(jù)量巨大,比如很多朔源系統(tǒng),需要查詢商品的朔源報(bào)告,但很多商品是有時(shí)效的,例如海鮮、進(jìn)口水果、紅酒等等,而區(qū)塊鏈的特性之一就是不能修改和刪除數(shù)據(jù),所以對(duì)于這類應(yīng)用,MIT區(qū)塊鏈采用區(qū)塊鏈加云端或其他傳統(tǒng)數(shù)據(jù)庫相結(jié)合的方式,即商品的完整朔源報(bào)告保存在傳統(tǒng)數(shù)據(jù)倉庫中,但是對(duì)其進(jìn)行HASH計(jì)算,將HASH值保存在子鏈的區(qū)塊鏈上,當(dāng)需要驗(yàn)證的時(shí)候分三步,一是從外部傳統(tǒng)數(shù)據(jù)倉庫中獲取完整朔源報(bào)告并計(jì)算HASH值;第二步是從子鏈上獲取該商品的HASH值;第三步進(jìn)行比對(duì)并返回驗(yàn)證結(jié)果。
至此,我們?cè)趨^(qū)塊鏈上由于僅僅保存了整個(gè)朔源報(bào)告的Hash值,相比于保存全部數(shù)據(jù),我們的方案可以上萬倍的降低數(shù)據(jù)的存儲(chǔ)空間大小,以中國服裝百億級(jí)別的生產(chǎn)量來說,我們可以將存儲(chǔ)空間從百萬GB降低到幾十個(gè)GB,而且還可以保護(hù)原有企業(yè)對(duì)IT方面的投資,更重要的是可以減少將區(qū)塊鏈落地時(shí)的阻礙,因?yàn)楹芏嗥髽I(yè)并不愿意將自己數(shù)據(jù)外泄,而我們曌鏈不需要他們提供完整數(shù)據(jù),僅僅需要他們計(jì)算出朔源報(bào)告的Hash值上鏈即可。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。