「迅搜區塊鏈科普系列06」邁向3.0:區塊鏈技術前沿發展
區塊鏈的3.0講述的是在2.0版本之後,對2.0各種問題的解決,包含性能擴展、隱私匿名、跨鏈
性能擴展
區塊擴容
我們知道比特幣的1個區塊大小限制爲1M,10分鐘出1個區塊,折算的TPS(每秒交易數)大概是7。以太坊區塊大小動態變化,現在維持在0.02M以內,15秒出1個區塊,TPS與比特幣差不多。
區塊廣播給節點、接受節點驗證都需要時間,一個區塊越大,則對網絡和硬件的要求越高,廣播、驗證需要的時間也越久。如果提高區塊大小而出塊時間不變,可能礦工來不及及時聽到新區塊廣播而造成大量分叉。BCH由BTC硬分叉而來,區塊大小改爲32M,BSV由BCH硬分叉而來,區塊大小改爲2G。在它們的壓力測試中,BCH16%的全節點掉線,BSV則由於算力節點無法及時驗證與廣播過大的區塊,造成6個區塊重組的嚴重問題。
解決方案
隔離見證
將驗證交易合法性的數據從交易信息中抽離出來單獨存放。
隔離見證不僅解決擴容,同時也能解決交易延展性問題。交易延展性:區塊的簽名一定程度上可以被改變而不影響交易的合法性,交易的輸入輸出都不會變,僅僅簽名有些變化,但是該交易的哈希值(即交易ID)就會發生巨大差異。隔離驗證通過將簽名部分從交易中分離出來,放入到一個新添加的witness字段中,來解決相關延展性問題。
如果節點改變收到的交易簽名,生成一筆交易輸入輸出相同但是交易ID不同,在廣播中與原交易爭搶進入區塊,形成一定的迷惑作用,來達到欺騙的目的,如:根據原始交易ID無法查詢到交易,讓對方誤以爲交易沒有發出,而再發起一筆交易。
樹圖
每個區塊不僅有個指針指向父區塊,還有一種指針指向引用區塊且需要引用多個區塊,表達不同區塊間的先行發生關係。樹圖可以將分叉區塊加入到賬本,定義了分叉上區塊的執行順序,讓所有區塊都能貢獻到系統的吞吐率上,因此區塊的大小,出塊速度都能大幅提升。
代表項目:Conflux
閃電網絡
比特幣之外的交易通道,把比特幣網絡作爲結算網絡,兩個節點間在建立通道後,大量交易放在比特幣區塊鏈之外進行,繞過比特幣1秒7筆交易的容量限制,通過與比特幣區塊鏈交互的複雜腳本完成小額高頻快速支付。具體操作如下:
1)交易雙方打開支付通道
2)建立多籤錢包,雙方打入初始資金
3)發起快速交易,更新雙方的餘額狀態
4)交易雙方關閉支付通道,將餘額廣播到區塊鏈
雖然閃電網絡是建立在比特幣之上,但是根據其理論,幾乎適用所有的區塊鏈,以太坊上類似的稱爲雷電網絡,一般我們將比特幣、以太坊視作“Layer1”,而將閃電網絡稱爲“Layer2”技術,但是現在我們將Layer2更加泛化,統稱爲性能的擴展技術。
分片
將網絡分區,不同節點處理不同問題。比如數據庫分片、區塊鏈分片,代表就是以太坊2.0。
數據庫分片:將數據庫分成碎片化存儲在不同服務器上
區塊鏈分片:將網絡交易分成碎片,不同節點(不同記賬者)只用處理小部分交易,使得更多交易可以被同時處理和驗證
分片的特點是,網絡的吞吐量可以隨挖礦網絡的擴展而增加,即節點越多,吞吐量越大。但是分片技術也有其難點,如圖
分片技術難點
隱私匿名
區塊鏈上賬戶擁有者雖然匿名,但是所有交易的對象、時間、金額全網公開可查、可追溯,交易不具有隱私性,通過交易大數據分析、特殊交易以及一些實際信息,有可能追蹤到現實擁有者,所以我們將比特幣定義成僞匿名幣。解決方法是隱去賬戶、交易、餘額,具體實現技術有混幣技術、環形簽名法、零知識證明、Mimble-Wimble。
混幣法
將多比交易合併,使人難以分辨哪筆輸入對應哪筆輸出,從而難以追蹤某個地址的資金的來源或去向。
代表:DASH
環形簽名法
環形簽名技術可以簡單理解爲發送人在簽名前,臨時拉了網絡中的其他人組成一個“羣”。發送人利用自己的私鑰和羣中所有人的公鑰,對交易的信息進行簽名。只能知道這筆交易出自這個羣中的某個人,至於具體是誰則無從得知。
代表:門羅幣
零知識證明(zero-knowledge proof)
證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。驗證者基於一定的隨機性示證者提出問題,如果都能給出正確回答,則說明示證者大概率擁有他所聲稱的“知識”。
跨鏈
我們知道不同區塊之間是很難實現價值傳遞的,這就需要涉及到跨鏈來解決,多鏈結構技術也更符合複雜價值的實際應用,每條鏈都有特定功能、適應特定場景的需求,在不同的鏈之間實現數據交互是非常有必要的,能夠充分的發展區塊來的價值。比如比特幣是一個賬本,以太坊是另外一個賬本,這兩個賬本上的賬戶是沒有關聯的,如果比特幣的持有者想要將其交易換成以太幣,他可以通過中心化交易所撮合下實現,從我的比特幣賬戶劃扣到他的比特幣賬戶,然後從他的以太坊賬戶向我的以太坊賬戶劃轉以太幣,這就引入了第三方中介,有違區塊鏈的去中心化。所以跨鏈技術的出現,是從交易的角度解決這個問題。
同時,從性能角度來說,我們知道“難以兼顧的三角”,並沒有被定理證實。每個區塊鏈只能兼顧其中的兩條,而需要捨棄另外一條。有區別於CAP定理,不一樣。實現的方法是中間件,即共同遵循的數據接口,既實現標準化,也確保鏈本身設計的靈活性。
難以兼顧的三角
代表項目:Cosmos、Polkadot
以上是這篇文章介紹的內容,希望大家共同討論。