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