11月28日,在由Odaily星球日報主辦的新區勢
區塊鏈峰會上,徐葳教授帶來了以《區塊鏈與數據融合技術的一些探索》為主題的演講。徐葳教授畢業于賓夕法尼亞大學,后在加州伯克利攻讀碩博,現在清華大學交叉信息研究院擔任博導,主要研究方向是大數據、
人工智能、
金融科技。
以下為徐葳教授的演講內容精編,由巴比特整理。
我過去是做分布式系統的,特別早的時候做了P2P,然后我就對這個東西失望了,所以我是非常典型的反去中心化的思想,我們是一個學術單位,希望能在區塊鏈一些模塊的核心技術方面尋找突破。
區塊鏈為什么有趣?它確實是集計算機科學之大成。包括分布式系統的可靠性和一致性技術、密碼學理論、博弈論和機制設計、P2P網絡、大數據等等。同樣因為它集成了這么多技術,所以很難找到一個人,或者一個研究組把它們統統搞懂。好在區塊鏈大部分是開源的,我們就想大家可以單點突破,做一些科研嘗試,最后把這些東西集合起來。為此,我們主要專注于兩件事,一是提升區塊鏈(
聯盟鏈)的性能,二是保護隱私的數據融合。
我們要做的事情首先是提升區塊鏈的性能,我這里指的是聯盟鏈,暫時不考慮公鏈那種比較復雜的情況。現在很多鏈說自己性能很高,但其實是因為它有多個分區,這是另一回事,我們重點做的事提升單個分區(partition)的性能。
Gosig的基本目標
我們做了一個系統,叫Gosig,這個系統是基于PBFT的,這是一個非常經典的共識協議,它的優點是在集群里即時產生共識,不想
比特幣的POW機制需要幾個區塊后才能共識,因此PBFT的性能比較高。當然相對應的它的安全性不如POW,因為它只能防范小于1/3的節點作惡,壞人可以控制整個網絡,任意造成網絡分割,但是在聯盟鏈里一般不會存在說我今天想攻擊誰就攻擊誰,而是說我來領導這一輪吧,要是不行這個塊就空了。
我們希望既能滿足PBFT的所有假設,但是把它的協議擴展到一個很大的范圍。壞人可以任意瞬時殺掉一些節點,只要仍滿足f<N/3。另外其他的聯盟鏈節點數量一多,性能就不行了,我們希望可以提升它的可擴展性,支持廣域網,這是我們設計時的一個基本目標。
Gosig的設計思路
我們基本沒有改動PBFT,只是簡化了正確性證明。因為分布式系統是個很復雜、很專業的領域,不是拍腦袋就能想出來的。那怎么讓它的效率變高呢?原先是要進行多輪投票,而且每個人都要把消息廣播給所有人,這種方式聽起來就很慢。我們是用Gossip協議邊傳輸數據邊投票,具體怎么實施呢?就是我把消息發出去,不會等別人回復的,通過聚合簽名來避免投票中的雙向通訊,每一輪隨機的秘密選出leader,避免針對leader的攻擊,所以在生成新的leader之前,我不會知道它是誰。它是一個協議層和網絡層的共同優化,我要把所有的操作全部流水線化,充分利用所有的計算和網絡資源(PBFT+BitTorrent),任何人在任何時間都有事做,把網絡填的滿滿的。
Gosig的性能實現
我們測試的性能,如果用280個節點,在14個不同的數據中心里面,在廣域網環境中,就是它是跨全球的,數據中心的那個延遲性還是蠻高的。在這樣一個環境下,我可以實現60MB的block,可以承載單個分區每秒15000筆交易,確認一個塊的時間是16秒。
后來我們又找了1000個節點,仿真5000個節點,限制在20Mbps的帶寬下,在全網共識下,能達到每秒3000筆交易,確認出塊時間是24秒。然后你再觀察一下的話,會發現所有的網絡帶寬全部用上了,平均帶寬使用達到16.8Mbps,也就是說物理網絡帶寬說唯一的瓶頸了,它的物理極限就這么多了。當然我還可以把帶寬再加一些,性能會更高。
這樣極致的性能有什么好處?天下武功唯快不破,你只有把下層做得足夠快,上層應用才能做,這是我做系統設計的一個理念。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。