She Knows訪談 |開年超強硬核對話,創新工廠王嘉平萬字探討公鏈效能
She knows:She knows是巴位元旗下首檔社群互動訪談欄目,邀請資深區塊鏈人士犀利作答:技術趨勢,行業現狀,熱點事件。無所不談,言無止境。想了解有關區塊鏈的一切?與巴位元小姐姐們一起,探索區塊鏈邊界。
She Knows第四期對話嘉賓:王嘉平博士,創新工場執行董事,投資方向為區塊鏈和人工智慧。原為微軟總部雷德蒙研究院主管研究員,專注分散式系統,計算機圖形學和視覺以及用於機器學習的GPU叢集等領域的研究。
對話人:小喵MiaBao,《喵懂區塊鏈》負責人,巴位元直播間負責人。擅長無死角全天候深度對話全球區塊鏈創業者。
神祕觀察員:灑脫喜,巴位元學術向文章譯者,潛藏於區塊鏈舞臺背後冷靜旁觀的資深觀察者。
“區塊鏈不可能三角”是指區塊鏈網路很難同時兼顧擴充套件性(Scalability)、安全性(Security)、去中心性(Decentralization),三者至多隻能取其二。以太坊創始人Vitalik和巴位元創始人長鋏在這方面的理論論述頗有影響力。
近日,王嘉平提出Monoxide“非同步共識組”方案,嘗試解決區塊不可能三角問題。王嘉平如何看待不可能三角?Monoxide方案又將如何挑戰不可能三角?本篇文章為巴位元She knows主持人小喵、灑脫喜與王嘉平2小時的深度訪談全文,現摘錄部分精華觀點如下:
1、伸縮性現在的核心瓶頸在於要求每一個節點負責整個網路的交易,導致沒有辦法被伸縮。所以從當前幾個不同的研究方向來看,分片技術是最靠譜的解決方案。對於1000TPS以上的系統來講共識技術已不是瓶頸,不管你用什麼樣的共識機制,它的瓶頸一定是在通訊頻寬上面。
2、全節點的壓力不僅僅只是頻寬,但為什麼要強調頻寬?因為唯獨頻寬會嚴重影響去中心化程度。它不是說花錢就能買到,它會限制你的地理位置,如果你要1G頻寬,那麼你唯一的選擇就是找到一個大型的資料中心,把節點部署在裡面。
3、主鏈的伸縮性基本上就靠分片,側鏈可以根據垂直業務去做各個業務上的優化,未來,大家可以看到一個主鏈上應該會部署不同型別的好多側鏈,服務於不同的垂直業務。
4、所有分片專案考察的核心點就是兩個。一是如何有效處理跨片交易,第二是如何有效解決算力分散問題。
5、大家現在看漲看跌基本上都是在幾個月尺度的上面,如果這麼看,那麼跟產業、技術、業務都沒有關係,你就看誰比較能忽悠就可以了。
注:本次訪談中王嘉平對共識演算法等概念進行了深度剖析,所有觀點僅為個人看法,不代表其就職單位觀點。
轉型:從不同的角度看同一件事情
She Knows:問題1,您何時瞭解到比特幣?為何會對比特幣、區塊鏈產生濃厚興趣?大概是2013年,我正在研究一些分散式系統相關的專案,用GPU挖了一陣子LTC,也做了一些量化交易相關的事情。這個過程中就看到越來越多的人蔘與其中,也就更著重去觀察到底發生了什麼?
She Knows:問題2,從微軟亞洲研究院轉戰創新工場是換了一條不一樣的路嗎?轉換得契機和吸引點是什麼?王嘉平:中間有段時間在美國的研究院。當時基本上生活的壓力沒有了,就想去看一看象牙塔之外的世界,除學術之外的世界。非常感謝開復老師賞識,讓我有一個機會從不同的角度去看同一件事情,我認樣為這不是一條截然不同的路。
分片技術帶來破局:不可能三角可以打破?
She Knows:問題3,大家普遍認為“區塊鏈不可能三角”是由Vitalik提出,但Vitalik在和經濟學家Nouriel Roubini的互懟中曾公開回應道 “我從來沒說過區塊鏈三角是不可能的,我只是說很難罷了。而且解決方案也已經完成設計,目前已經到了實踐的階段。”Vitalik這裡說的解決方案就是我們熟知的分片技術。
而除了分片技術,很多研究工作都圍繞如何在“不可能三角”上取得一個優美權衡而努力,而這些努力大致可分為三個大類: 1. 從共識機制出發,比如DPoS,Algorand等;2.從區塊結構出發,比如DAG等;3.是從系統實現出發,比如多鏈並行、側鏈、分片技術等。
您認為上述哪幾類方案比較靠譜可行?各自實現的難點在哪?
王嘉平:首先,我認為不可能三角其實是挺奇怪的一個定義。因為如果我們不需要這種去中心化的安全,不需要去中心化,這個伸縮性(scalability,我們常理解為可擴充套件性,效能)好像自然就有了,事實上並非如此。
我像現在說到伸縮性的核心瓶頸是在於現在的單鏈系統要求每一個節點負責整個網路裡面的交易,這件事情導致了系統沒有辦法被伸縮,即使他不做安全驗證,也一樣沒有辦法伸縮。如果區塊鏈系統要能夠有伸縮性必須就要改變一件事情,這可能是唯一出路,就是要使得不同的節點能夠負責網路的不同部分,然後大家一起來維護整個網路的安全和效能。
所以,當前看得到的幾個不同的研究方向裡,分片技術是最靠譜的解決方案。當前,不斷有人提出一些新的共識機制去解決伸縮性的問題,其實對於現在1000TPS以上的系統來講,共識機制本身已不是瓶頸,不管你用什麼樣的共識機制,它的瓶頸一定是在通訊頻寬上。
剛剛講到區塊結構,DAG(有向無環圖)的方法其實是除分片以外的另一種可能性,它也可以使得不同的節點去負責網路的不同部分,這是一個辦法,一個有益的方向。我也曾跟蹤過這個方向的進展,但至今並沒有很好的方案出來。
然後說側鏈,我們看到很多側鏈專案出來,它要攻克的難點看上去跟Layerone的技術是一模一樣的,都是我要擴容,我要做伸縮性。這是個挺奇怪的事情,因為如果我們對系統分了層,不同層的解決方案一定是針對不同的需求,攻克不同的問題,不會說我把系統分成了兩層,然後它們分解的是同一個問題。
那側鏈有意義嗎,我想是非常有意義的,側鏈最重要的意義在於Layerone解決不了的問題。因為Layerone設計出來後,它上面的演算法必須適用於主鏈上所有的應用,它不能去利用單獨某個特定應用裡面的一些交易結構,一些可以優化的地方它沒法用,因為Layerone必須做到最廣泛的通用性。
而Layertwo的側鏈不一樣,一個主鏈上可以部署多個側鏈,每個側鏈可以針對不同的垂直業務,垂直應用,側鏈可以利用這些應用自身的交易結構做優化。另外還有一個問題,延遲這件事情很有可能是需要依賴側鏈來解決,那真正的業務對延遲的要求可能是幾百毫秒的級別,像這樣的延遲基本上只有側鏈才能達到。
總結一下,主鏈的伸縮性基本上就靠分片,側鏈可以根據垂直業務去做各個業務上的優化,大家可以看到屆時一個主鏈上應該會部署不同型別的好多側鏈,服務於不同的垂直業務。
She Knows:問題4,您近日提出的突破不可能三角方案——Monoxide(非同步共識組)就是屬於上面提到的多鏈並行架構。Monoxide被計算機頂級學術會議 NSDI 2019 收錄,並即將於 2 月底在波士頓正式公開發表。另一明星專案圖靈獎得主、麻省理工學院教授的Silvio Micali 的 AlgoRand 專案也曾受其收錄,您在上個問題當中講到通過改善共識機制型別的專案,它的硬頂是通訊頻寬上,那麼是否可以認為algorand的硬頂目前是幾千tps?這個頻寬限制影響了去中心化程度,因為你可以把頻寬要求提高,礦場是有能力連線很高的頻寬的,但普通人在部署全節點時就出了問題,因為他即使什麼都不幹,僅接收確認過的交易都會把他的本地頻寬消耗殆盡,它沒有辦法趕上整個網路的出塊速度。這也是當時BCH分叉時雙方對出塊大小爭論的由來。
She Knows:問題5,您在Monoxide一文中曾用“一箇中心”“兩個基本點”來概括Monoxide,跟大家科普一下Monoxide到底如何打破“區塊鏈不可能三角”?王嘉平:為什麼要強調頻寬這件事情呢?因為全節點的壓力不僅是頻寬。計算記憶體、磁碟等都是都是負擔,但唯獨頻寬會嚴重影響去中心化程度,它會限制你的地理位置,如果你要1G頻寬,那麼你唯一的選擇就是找到一個大型的資料中心,把節點部署在裡面。而不是說在世界各地任何一個地方去部署全節點。
所以Monoxide的核心設計理念是說我做分片,每個片有自己獨立的一個鏈,讓這個鏈去處理整個網路裡一部分的交易和地址狀態。等我有很多很多分片時,全網的效能和容量也就上去了。
但對於所有的分片設計和分片系統都有兩大問題,也就是我說的兩個基本點。其一,每個片本質上跟其它分片一定是相關的,因為它們要處理跨片交易。比如支付場景裡兩個使用者在不同的分片裡,怎麼辦?第二個問題就算力分散帶來的安全性的問題。
在Monoxide之前也有一些分片解決方案,也是一個多鏈系統,讓每條鏈獨立工作,但比較坑的是你如何有個有效的方案去處理跨片交易,最初以太坊提出過一些動態的分配方案,去儘量減少分片交易出現的可能性,但這是不切實際的。因為系統性能提升需要更多分片,這一定會帶來更高概率的跨片交易。在我們論文裡面有個實驗,當分片在64片以上時,跨片交易比例高達95%,這是我們根據以太坊的歷史交易進行分片所得到的結果。如果我們試圖迴避跨片交易,一定會使得這個系統出現這樣內在的矛盾。
所以在Monoxide的系統裡我們不迴避,且允許任意比例的分片交易。如何切分是完全隨機的,遵守非常簡單的原則。即便一個輕錢包都可以自己獨立的去算出來,這個地址和交易應該屬於哪個分片。
在安全性這個問題上,我們知道所有區塊鏈系統都依賴於一個可信的大多數。比如POW的大多數代表了算力,POS的大多數就代表了抵押的資產。那麼,分片後每個分片是獨立出塊,那意味著每個分片都有獨立的共識系統,上面的礦工需要分散算力,對於POW來講,單個分片的防禦算力會是分片總數分之一,這是非常大的降低。這種情況下我們需要保障任何一個分片都很難被攻擊,才能保障整個網路的安全性。
總結一下,所有分片專案考察的核心點就是兩個。一是如何有效處理跨片交易,第二是如何有效解決這個算力 分散問題。
She Knows:問題9,以太坊在實施Sharding分片之前將會從PoW轉向PoS,而Algorand的共識機制也是PoS的變種,您明確提出Monoxide是適用多種共識機制,它們不同會影響到分片等擴容方案的實施嗎?王嘉平:我聊一下共識演算法吧,這純粹是我個人的一些看法,可能存在偏見。
從技術上講,只有POW演算法才是真正純粹的無需許可的共識演算法,它對進入沒有壁壘,是個人就可以參與。POS大家都熟悉,但其真正的共識演算法並不是POS,是BFT等。這些共識演算法要依賴於一個權重,POW裡面是算力,BFT裡面是抵押的代幣。
在BFT這個共識演算法裡面,它其實本身是一個需要許可的演算法,早被廣泛用在中心化的分散式系統之中。為什麼這麼說,因為它的系統裡存在N個驗證者。這個N就確定了共識開始前有幾個人才有資格參與共識。POW里根本沒有這個N。
在BFT共識演算法裡,它需要一個公式把它轉換成一個無需許可的演算法,這個轉換過程就是所謂的要選舉出一個委員會出來。這件事情才是那些不同的共識演算法在比拼研究改善的地方。它涉及的不僅僅是技術,也是整個經濟模型,整個生態圈,它是大家互相利益的權衡。
說回Monoxide,我們的演算法框架對於底下的共識演算法是完全中立的,也就是說不管是POW還是POS,它們都可以利用這個框架來做跨片交易。
但在算力分散這個事情上,我們只有研究了票POW演算法下面的抵禦措施,如果你是個POS演算法,同樣也會存在一個分散的問題,我相信應該不難解,但我們的論文裡並沒有涉及到那個部分。
深度解讀:Monoxide協議在分片的跨片交易和算力分散上的應對之道
神祕觀察員灑脫喜:問題6,最近閱讀王嘉平博士撰寫的兩篇介紹Monoxide協議的文章,我們可以瞭解到,這是一種並行、非同步並獨立工作的多鏈架構,其中每個共識組都是一條單獨但又通過連弩挖礦技術進行安全共享(使得單個共識組的防禦壁壘回升到 51%)的鏈,連弩挖礦非常有意思,它和此前已經存在的合併挖礦(例如狗狗幣和萊特幣就是典型的合併挖礦)概念有點類似,但又不同,能否介紹下其中的核心技術思想。王嘉平:POW的算力攻防比拼的是出塊速度,並不是物理上計算雜湊的算力。在單鏈系統裡它兩是完全等效的,但在分片系統裡它們可以不一樣。
分片系統裡的攻擊模型是這樣子的:所有礦工把算力分散的貢獻到不同的分片裡,它的挖礦收益可以最大化,也使得每個分片的算力比較平均,分片數量分之一的算力。攻擊者它會集中所有算力去攻擊某一特定分片,假設該分片被攻擊者控制,則裡面的非法交易可以通過跨片交易汙染其它分片,因此一個分片系統必須要保證每個分片的安全性。
連挖礦的概念就讓那些正常的礦工可以把算力貢獻到不同的共識組裡出塊。同時它的算力不分散。因為,當它計算出一次滿足難度的雜湊後,它不像以前那樣只出一個塊,它可以為多個共識組都出塊,把出塊速度放大N倍,N就是分片數量,這個放大後的出塊速度沒有辦法聚集起來作用在一個分片上,必須分散到不同的分塊裡,它沒有辦法聚集算力。
對比一個沒有分片的系統,對一個礦池來講,給它再多的機器也沒有辦法把吞吐量和容量提上去。伸縮性並不是說這些工作量可以被節省掉,伸縮性使得你可以用很多普通的機器集中到一起把大的任務分攤掉。
補充一點,如果有大量的礦工只參與少量的共識組,整個網路的理論攻擊壁壘就會比50%來的低。但我們通過激勵的方式來驅使礦工一定會參與到所有的分片裡去。因為當它花了同樣的電力,同樣數量的礦機獲得一次出塊機會時,如果在多個共識組出多個塊就能獲得多個共識組裡的獎勵。
神祕觀察員灑脫喜:問題7,您說該方案已經過現實環境的測試,其中2048個共識組(並行、非同步並獨立工作的鏈)可以讓layer 1層協議實現近1000倍的吞吐量提升。而理論上Monoxide的伸縮性天花板是千萬TPS的吞吐量和幾百TB的狀態容量,這種伸縮性非常恐怖!不過前提要求節點數達百萬數量級!在目前的環境下這個理論值顯然是不太現實的,您認為目前現實的節點數能夠達到多少,效能擴充套件能實現多少?應用這種方案後,是否會引入新的攻擊向量的可能?王嘉平:對,這是一個理論的推演。首先達到幾百萬這個數量級節點得要求其實並不高,因為如果我們要求那麼高的TPS就意味著這個業務已經非常巨大,在時候要求全網有幾百萬的節點存在並不是一個不可能的事情。
我當時做這個推延只是想說大規模的這個吞吐量以及大的整個狀態、容量這件事不僅是個技術問題,同時也是跟一個社群大小相匹配的問題。
我們跟很多其它分片方案不一樣,我們儘量避免引入新的實體,實際上也沒有,它和大家熟悉的鏈本質上沒有區別,也就沒有引入新的攻擊面。唯一需要考量的安全問題就是在分片系統裡存在的安全問題(算力分散問題)。
神祕觀察員灑脫喜:問題8,您是側重於計劃和其它公鏈合作應用Monoxide協議(比如比特幣或者以太坊),還是計劃自己發行Token?王嘉平:這實際上是產品化和落地的事情,我做為一個做技術的人當然希望技術能夠最大限度最大範圍的被應用,但說到如何使它更好得被用起來取決於到時具體的市場情況。
熊市,投資人如何投資和看趨勢?
She Knows:問題11,熊市是否會影響到創新工場或傳統投資機構對區塊鏈企業的投資熱忱和意向?您比較看好區塊鏈哪幾個細分領域的發展?
王嘉平:我在這裡不能代表創新工場,我代表自己談談對幣圈投資的看法。
現在是熊市,投資預期回報率下降了,我相信所有人對區塊鏈方向的投資都要比之前謹慎得多。當前這個階段,我比較看好兩個大方向,一個是整個區塊鏈本身的基礎設施,公鏈是最明顯的,其它包括礦機、交易所,使用者入口也是,比如錢包、瀏覽器。
另外一個可能跟很多人角度有點不一樣,它並不是區塊鏈本身,而是有了區塊鏈之後可能出現的一些全新的方向,它可能跟區塊鏈沒有直接關係,但受益於區塊鏈。
2006年左右,Bittorrent作為一個去中心化應用佔據了網際網路約百分之六七十的流量,無人能及。但BitTorrent整個業務完全不賺錢。有些業務它完全以去中心化的方式來開展,這樣的業務本身很難建立我們在網際網路上看到的盈利方式,比如說廣告推薦,導流。但有了區塊鏈以後,可以利用區塊鏈的經濟模型為去中心化應用建立一些商業模式。所以當時孫宇晨買了BitTorrent我還是蠻震驚的。
She Knows:問題12,您曾經表示看過無數花式白皮書,漏洞百出的技術架構,自說自話的經濟模型,荒誕鬼扯的應用場景。您覺得公眾最易採坑的有幾種區塊鏈專案模型或套路?王嘉平:我講講跟技術有關的套路吧。當時有蠻大一批專案,尤其是公鏈,出場都是以技術獨特性為賣點。這就落實到我們如何去評價一個技術是不是靠譜。最直接的方式就是去讀白皮書,看是不是有問題。但有些專案方的白皮書很複雜,什麼技術都放上去了,分層又分片,主鏈又側鏈。有一類相對比較優秀的專案會有很簡潔的技術白皮書,講清楚它的技術是怎麼回事兒,怎麼實現,有什麼樣的架構。
但所有白皮書都有一個通病。在工業界,白皮書在產品成熟甚至開賣了才會出現在使用者手裡,它用來幫助使用者使用產品。這些白皮書通常不會介紹說我為什麼這麼做,為什麼這麼設計。論文就不一樣了,你提出新的方法就要講清楚為什麼提出這個方法,好處壞處在哪裡,設計動機是什麼。這是論文和白皮書最本質的區別。
另外,我們說如果一個公鏈專案,做效能的,那這個論文就應該發在分散式系統,網路系統上面,這些頂級會議或者其它上面去,那些地方才是真正評價這一類系統的地方。
再說一下專利,有些專案說有很多專利,那首先要看講的是什麼東西。專利在稽核的時候最核心的是稽核這個專利有沒有跟其他專利相同,有沒有重複性。那就意味著,我寫一個不正確或扯淡的東西一樣可以申請專利,給錢,然後不跟原來的專利重複就可以。
大家現在看漲看跌基本上都是在幾個月尺度的上面,如果這麼看,那麼跟產業、技術、業務都沒有關係,你就看誰比較能忽悠就可以了。
開春市場起波瀾,2019年區塊鏈可以迎來春天?
She Knows:問題13,昨天沉寂良久的市場迎來一波小高潮,您認為這波熊市什麼時候才會結束?未來春天又會可能以什麼引爆呢?
有時候確實有些事情會引爆市場,但這些引爆出來的短期大幅的暴漲,一定會在某一天跌下來,真正整個行業的推進是一個非常緩慢的過程,沒那麼快。
She Knows:問題14,您覺得,區塊鏈到底能為現在或者未來的數字世界帶來哪些重大變革?王嘉平:我相信這裡是會有重大變革,區塊鏈所扮演的角色可能會更底層,到時候大家所看到的帶來重大變革的是那些被區塊鏈賦能之後的去中心化應用,這些去中心化應用會是什麼呢,我們可以看看現在網際網路當中剩下的問題。
我在《區塊鏈到底有什麼了不起》一文裡講到,在我眼裡區塊鏈最核心的一件事情是它使得計算這件事情、過程、這件事情可以不掌握在一個特定的人手上,這樣,它的計算結果才是可信的,建立的規則是可信的。
按照現在的技術發展,搜尋引擎這樣規模的應用還沒有辦法被去中心化架構所代替。但有些應用今天也許可以。只這些應用大家去看未來的變革時千萬不要僅僅把視野放在區塊鏈上,它們很可能一開始跟區塊鏈一點關係都沒有,但當它需要建立商業模式的時候會仰賴區塊鏈。如果它不需要盈利的話完全可以脫離區塊鏈獨立運作。所以,這些應用很可能來自於區塊鏈外面,而不是誕生於區塊鏈。
哪些應用適合放在區塊鏈上?在我看來有一個非常清晰的邊界,那就是應用裡所發生的行為是不是需要向第三方證明。
以支付舉例。每個人的餘額是需要向第三方任何一個匿名方證明,這需要區塊鏈。一個郵件系統呢?除非你要在上面收個手續費什麼的,否則它可以跟區塊鏈一點關係都沒有。因為發個郵件不需要向第三方證明,雙方之間驗證就可以了。
我們看BitTorrent整個的發展,因為BitTorrent一直是個工具,它沒有把自己發展成一個平臺,有使用者,不能盈利。現在大家在開發去中心化應用時區塊鏈是唯一平臺,但這個平臺其實提供的不僅僅是去中心化能力,它還提供了共識能力。很多應用它想要去中心化,但其實它並不需要共識,這一類其實沒有必要放在區塊鏈上。同時也是個期待吧,未來應該是有去中心化平臺出現,這個所謂的去中心化平臺會滿足一些在去中心化場景當中的通訊,計算,和儲存,但是它不需要共識。
She Knows:問題10,為了DAPP的效率,適當捨棄去中心化,比如EOS,這樣的方案您預測是否會成為未來一段時間的主流方案?短期來講,我們為了DAPP效率捨棄掉去中心化這件事情,但未來的DAPP一定不是現在的規模,它會和當前主流的網際網路應用同等規模。這意味著效能、容量都非常重要,它的去中心化也會非常重要。一個業務如何可以用中心化的方式來完成,可以選擇雲端計算,它和和區塊鏈沒有關係。