如果說,比特幣相當于計算器時代、以太坊相當于大型機時代的話,如今區塊鏈技術正在快速走入服務器時代、云時代,定于本月底發布的 ABT 節點、ABT Network 是 ArcBlock 區塊基石為區塊鏈服務器時代、云時代貢獻的代表技術。
在 a16z 旗下加密投資基金 a16z crypto 內部,我們討論了很多加密貨幣背后的區塊鏈技術與城市的類比,譬如,區塊鏈和城市都會從在基礎設施共享為前提的自下而上成長中獲益。
對一個傳統商家打算開辟新店而進行選址時,成熟居民區還有那些基礎設施、法律、安全性和充滿活力的市場經濟都比較健全的地點是比較理想的選擇。與此類同,開發人員也會從共享的資源中獲益,譬如已經趨于成熟的用戶群、數據、安全性和已經在運行的代碼等。
我們稱之為「可組合性 composability」。如果一個平臺的現有資源可以被用于打造區塊,可以被編碼成更高階的應用,這個平臺被稱為擁有「可組合性」的平臺。可組合性是非常重要的,因為它可以讓開發者以更少的資源進行更多開發,相應的,又會帶動更為迅速、更全面的創新。
區塊鏈電腦網絡擁有無需信任 trustless 的本質,這極大的釋放了可組合性的潛力,因為開發者可以在共享的基礎設施上進行開發工作,無需擔心他們下一層級的依附之物會被挖墻腳。這是千真萬確,因為區塊鏈既有無需許可的特性 這對于開源軟件開發重要性不言而喻,又具有狀態持續性 對于 Twilio 和 Stripe 等公司的 API 而言非常重要。
審視區塊鏈計算的演變史,我個人簡單總結出四個迥然不同的時代,每個時代有著不同的基礎設施架構,在「可組合性」這個問題上有著不同的優先選項:
· 計算器時代 – 特定問題計算,可組合性有限
· 大型機時代 – 圖靈完備,可組合性高
· 服務器時代 – 特定問題計算, 重磅押注可組合性
· 云時代 – 圖靈完備,具備可擴展性的組合性
我會在下文中對上述的每個時代的利弊、正面反面逐一剖析。但我有言在先,在這一領域有很多結果尚不確定的研究,對于劃時代變革的具體成因還有很多懸而未解的問題。對每個時代的剖析,都只是一個值得嘗試的試驗。
計算器時代
比特幣是區塊鏈計算的先驅。它對「堅挺的貨幣還是數字黃金」這個具體的應用問題,提供了全棧式解決方案。除了追蹤賬戶余額和貨幣流動軌跡的簡單功能外,比特幣區塊鏈還提供了可以用于建設更為復雜功能的編碼語言。
有多個項目采用了比特幣腳本來編寫更高階的應用:
譬如, 在線服務 Proof of Existence 利用了 OP_RETURN 數據庫來創建證據,讓某位特定用戶在特定時間享有相應的數字文檔;像 Colored Coins 和 Counterparty 這樣的項目,使開發者在比特幣區塊鏈的合并安全性基礎上定制代幣成為可能。
但也有其它一些項目試圖更進一步延展比特幣區塊鏈的性能,或者代幣的功能,但因為比特幣腳本語言的故意約束,而被捆綁住手腳。
很多人辯稱:去中心化貨幣系統最為彌足珍貴的資產是安全性,而不是可編程性,自縛手腳的腳本語言也是去中心化貨幣系統的特性之一,并不是個漏洞。
我們把這個問題放大看,可以發現比特幣區塊鏈更像計算器,而不是更像電腦 必須申明,我這句話是褒義!!比特幣區塊鏈是被有意設計成這樣的,而且它很好的完成了任務,但對于迫切希望對其進行修補、開發新的應用的開發者而言,迫切需要演變出來新的區塊鏈架構。
大型機時代
在比特幣的先鋒理念基礎上,以太坊隨之誕生,包括了圖靈完備的虛擬機,而將區塊鏈計算機普及化。這意味著開發者可以在去中心化的區塊鏈計算機網絡上部署和運行任何程序。
在今天的區塊鏈網絡中,為了確保準確性,區塊鏈網絡中的每個節點必須運行每個程序功能,這導致區塊鏈網絡運行緩慢、使用成本極為昂貴。但以太坊在一個維度是無可匹敵的:它的計算是無需信任的。每個程序都能被按照指令運行,其產出成果,或者稱「狀態」,對其它所有節點而言都是可見的。以太坊的一個程序可以作為可依靠的、中立的積木模塊,供開發者組合成更高階的應用。
今天我們已經見證了這種發展:
Marble 這個項目讓用戶可以極快借款,用于在交易所進行套利交易:「交易者可以通過僅僅一單交易就實現:從 Marble 智能合約銀行借款,在去中心化交易所上買幣、在另一家交易所以更高價格賣出代幣,然后還款給智能合約銀行,將保證金交易的利潤收入囊中。」為實現這一功能,Marble 充分利用了以太坊的單例虛擬機,通過不同的獨立項目間按順序執行一系列動作,結果就是實現了一鍵式傻瓜功能,人人都可以輕松使用。
Primotif 是一個金融衍生品項目,可以追蹤現實世界的金融指數,譬如標普 500 指數。它利用以太坊預測市場平臺 Augur 上的股票交易來追蹤相關指數的價格, dYdX 做空代幣來對沖以太坊代幣 ETH 的波動性,背后普通人看不到的是,dYdX 利用的是 Maker 推出的 Dai 穩定幣。僅僅一個周末就打造出的 Primotif 項目,是可組合性會帶來更復雜的創新和強大的開發者網絡效應的絕佳例證。
可組合性帶來的網絡效應不是什么新鮮事了。下面是 Twitter 創始人 Biz Stone 2007 年就他們的 API 可帶來的網絡效應的說法:
API 是最為至關重要的,甚至可以說我們對 Twitter 做出的最重要的事情。最關鍵的是,它讓我們在保持設備非常簡單的情形下,僅僅創建一個 API 接口,開發者就可以在 Twitter 的基礎設施上進行開發,推出一些比我們自己更出色的創意理念,推出像 Twitterrific 那樣的產品。Twitterrific 是一種非常優雅漂亮的 Twitter 使用方式,是我們在最初團隊人數寥寥情況下沒能推出的出色產品。所以 API 能輕松吸引到比網站高出 10 倍的流量,而這對我們而言非常重要。
不幸的是,可組合性在 Web 2.0 時代沒能得到延續。一個問題是「沒有辦法通過 API 完成金錢交易」,也沒有公平有效的辦法對平臺的治理規則予以監督,廣告展示領域就是一個例證。這造成了開發者和平臺利益的錯配,導致數據重新中心化,造成第三方創新的衰落缺失。
我的投資合作伙伴、 a16z crypto 管理合伙人 Chris Dixon 曾專門撰文指出了,加密貨幣如何能更好得圍繞可持續的、公開的網絡實現激勵配置。現在的問題是,能實現激勵配置、具有可組合性的網絡不具備可擴展性。
這就是區塊鏈的「大型機時代」。
毫無疑問,由于區塊鏈的可組合性:安全性、用戶基數、數據和在運行的代碼,帶來一定的早期網絡效應,不過隨著用戶的增多逼近大型機的吞吐量限制,邊際回報不斷下滑。這同時也不斷推高爭取每個新、用戶和開發者的成本。通過圖表體現出來,大體像是這樣:
鑒于資源有限,新用戶的邊際成本不斷增加,最終超過了可組合性的邊際價值,即共享資源和開發者網絡效應
進入「服務器時代」
在可擴展性問題的探索中,部分開發者徹底撅棄可組合性和共享網絡效應,轉而追求「為應用定制區塊鏈」的架構。
像 Polkadot 和 Cosmos 這些項目的理念,就是打造多條混合區塊鏈,每條區塊鏈對應一個應用。Polkadot 的 Substrate 和 Cosmos 的 SDK 都是模塊化的區塊鏈搭建工具包,幫助你推出自己的全棧式「應用鏈」 。
進行全棧式開發比起在現有網絡資源基礎上進行開發,工作量要大很多。對開發者而言,意味著要打造下至狀態機、上到應用交互,要為網絡部署最小化可行安全措施,估算出與生態中其他成員的協同工作能力。
但在歷史上,全棧式開發策略已經被證明大獲成功:將初期技術推到市場上、讓用戶更早擁抱未來。
在個人計算機 PC 大規模普及應用之前,王安科技 Wang Technologies 就提供了功能非常強大的文字處理服務,作為軟硬件捆綁式解決方案。后來美國在線 AOL 同時捆綁了互聯網接入服務商 ISP、內容提供商、電子郵件服務商和即時通訊服務商等多重角色,為早期的互聯網用戶提供了不俗的用戶體驗。黑莓手機制造商 RIM 也同時捆綁了移動設備、操作系統、BBM 等早期應用和郵件推送等功能,以推動智能手機的普及。
全棧式平臺,讓用戶更早擁抱未來
在互聯網發展的初期,每家網站都有服務器在運行。為了擁有端對端的體驗,開發者也需要在硬件設施中有自己的一小塊天地。而在未來的區塊鏈新時代中,也同樣是這種情況。這就是我所謂的區塊鏈「服務器時代」。
「服務器時代」的區塊鏈明確地用可組合性換取控制權。這會通過兩個維度呈現:對用戶端體驗的控制,以及對網絡供給側資源的經濟狀況進行更為精密的控制。
一個假設是,「服務器時代」的區塊鏈基礎設施,譬如安全、存儲和運算,是需求受到抑制的狀態。那就是說,隨著應用的普及,它們可以被按需擴容。這與「大型機時代」的基礎設施是截然相反的,「大型機時代」資源成本隨網絡上所有其他流量的變化而變化。具體理論依據是:全棧式「服務器時代」區塊鏈架構可以減輕優化「大型機」區塊鏈的風險。
「服務器時代」區塊鏈與之前的全棧式平臺是不同的:它首先是區塊鏈!
王安的文字處理系統、美國在線和 RIM 都是封閉式平臺,而「服務器時代」區塊鏈依然是能證實的、數據開放的架構,配置有可編程的激勵機制。這種特性讓「服務器時代」區塊鏈能被打造成數據集散中心,比如 Cosmos 和 Polkadot 兩個項目都是在爭取實現這一目標。一條區塊鏈可以成為另一條區塊鏈的「輕客戶端」,開發者可以打造自動交換,藉此延展其性能。
這意味著,即使「服務器時代」的區塊鏈依然具有可組合性,但是在與「大型機時代」區塊鏈不同的維度上。
與「大型機時代」區塊鏈運行單一的虛擬機不同,「服務器時代」的區塊鏈計算機需要新的可以彼此通訊的標準,以實現跨應用的組合。這種通訊界面是當前正在進行的研究和實現標準化的主題,毫無疑問,這在可組合性方面會讓開發人員的體驗更加復雜。
但是盡管有這個缺點,捆綁的好處可能會成為新一波區塊鏈架構的催化劑,我預期在短期內會看到更多的項目采用全棧式的方式。
「云時代」
「云時代」意味著實現可擴展、可以普遍應用的無需信任運算。這是區塊鏈發展的理想目的地,屆時組合工作只受創造力的限制,而不是受制于擴展性或通訊復雜性的限制,屆時創新不會遇到邊際收益不斷下滑的尷尬,而會大量涌現。
「云時代」究竟是怎樣的具體場景?這正是當前很多研究所探索的問題,目前尚未有清晰的答案。
「服務器時代」架構的支持者認為,通過區塊鏈跨鏈通信的標準化和抽象化,將催生出「云時代」的體驗。其他人,譬如以太坊 2.0 的開發者和 Dfinity 團隊,則正在融合分片版的圖靈完整的區塊鏈。你可以將此視為一個擁有許多「大型機」的世界,這些「大型機」共享一個安全池,但在同構虛擬機之間分離狀態和計算。還有很多人正在研究將運算轉至鏈下的全新架構。
考慮到研究社區的規模之大,以及這種解決方案的潛在回報巨大,如果有人說「服務器時代」接近尾聲,「云時代」區塊鏈計算正緊隨而來,我不會感到驚訝。
我們已經鋪設好光纜,打造好數據中心,「云時代」區塊鏈計算主要關乎軟件創新。
無論我們何時迎來這個時代,可以清楚的一點是:無需信任的可組合性將成為開發者的新型超級武器,當開發者能以較少資源提供較大產出時,我們就能成為更強的協同性、更多的創造性、更多選擇性的互聯網的受益者。
評論
查看更多