'從“可組合度”看區塊鏈計算的 4 個時代'

"

編者按:本文來自以太坊愛好者,原文來自:a16z crypto,作者:Jesse Walden,譯者:曾汨 & 閔敏;Odaily星球日報經授權轉載。

編者注:在區塊鏈世界裡,“可組合性(Composability)” 一詞最早被用來說明免許可智能合約平臺的長處,即同一平臺上的組件可以相互組合,產生出新的產品和服務。本文作者意識到了,可組合性不是 0 與 1 的區別,而是程度的區別,因有此文。作者對 Cosmos 等項目的分析可謂別開生面,但對所謂 “雲時代” 的描述則多少有些異想天開了。應當承認的是,演化之路的神祕與優越,正在於其不可完全控制;而取得了這一點認識,就沒有必要總把眼前事物附會成演化的必由之路了。

"

編者按:本文來自以太坊愛好者,原文來自:a16z crypto,作者:Jesse Walden,譯者:曾汨 & 閔敏;Odaily星球日報經授權轉載。

編者注:在區塊鏈世界裡,“可組合性(Composability)” 一詞最早被用來說明免許可智能合約平臺的長處,即同一平臺上的組件可以相互組合,產生出新的產品和服務。本文作者意識到了,可組合性不是 0 與 1 的區別,而是程度的區別,因有此文。作者對 Cosmos 等項目的分析可謂別開生面,但對所謂 “雲時代” 的描述則多少有些異想天開了。應當承認的是,演化之路的神祕與優越,正在於其不可完全控制;而取得了這一點認識,就沒有必要總把眼前事物附會成演化的必由之路了。

從“可組合度”看區塊鏈計算的 4 個時代

在 a16z crypto 網站上的一個視頻中,我們談論了許多關於密碼學網絡和城市之間相似性的問題,因為二者都通過共享基礎設施來實現自下而上的發展。

通常來說,傳統商業的最佳模式是,把店鋪開設在一個人口密集、公共設施完善、法律完備、治安良好,且充滿市場活力的地方。對於開發者來說也是如此,在共享現有用戶群、數據、安全性和代碼等資源的基礎上進行構建會獲益不少。

我們稱之為可組合性。 如果一個平臺上的現有資源能夠用來構建更高級別的應用程序,那麼這個平臺就具備了可組合性。

可組合性非常重要,它能讓開發者花費更少的資源做更多的事情,繼而加快創新的速度並增強其複合性。

區塊鏈計算機的免信任特性是其實現可組合性的一大重要條件,因為它能讓開發者在共享的基礎設施上進行構建,同時不必擔心底層被突然叫停。這是真的,因為區塊鏈既是無准入門檻的(這就是開源的偉大之處)又是富狀態的(這就是像 Twilio 和 Stripe 之類的 API 的偉大之處)。

在研究區塊鏈計算的發展時,我勾勒了一個由四個不同時代組成的心理模型,每個時代在架構和可組合性方面的優先級上各不相同:

  • 計算器時代——面向特定應用,可組合性有限

  • 大型機時代——圖靈完備,可組合性高

  • 服務器時代——面向特定應用,不具備可組合性

  • 雲時代——圖靈完備,具備可擴展的可組合性

我將逐步展開介紹每個時代,以及在我眼中它們各自的優缺點。但是我先聲明,這個領域中的很多研究問題是沒有明確答案的,而且事物的發展方向並不明朗。每一個問題都需要實驗。

計算器時代

比特幣是區塊鏈計算的鼻祖。它是一個面向特定應用問題的全棧解決方案:健全貨幣或者說數字黃金。除了具備追蹤餘額和轉賬等簡單的功能之外,比特幣還提供了一種腳本語言,可以用來構建更復雜的功能。

許多項目已經使用了比特幣腳本語言來構建更高級的應用程序。舉例來說,存在證明( Proof of Existence )利用 OP_RETURN 數據存儲來創建一個證明,以此證實某個人在特定時間內擁有一份數字文件。像 Colored Coins 和 Counterparty 這樣的項目可以基於比特幣區塊鏈的集中安全性創建自定義代幣。但是,由於比特幣的腳本語言在設計上有意留下了一些限制,其他一些企圖進一步擴展比特幣功能或代幣功能的嘗試就無法實現了。

許多人認為,對於一個去中心化的貨幣系統來說,最重要的屬性是安全性,而非可編程性,因此有限制的腳本語言是一個特性,而非一個 bug 。由此我們可以看出,比特幣更像是計算器而非計算機(我是認真地在誇!)。它是針對特定目的構建的,並且擅長處理目標任務,但對於熱衷改進和構建新型應用程序的開發者來說,需要向新的架構演進。

大型機時代

以太坊是構建在由比特幣開創的核心理念上的,並納入了圖靈完備的虛擬機來使區塊鏈計算機變得更加通用。這意味著開發者可以在去中心化的機器網絡中部署和運行任何程序。

如今,網絡中每一個節點都必須執行每一個程序功能,以便確保其準確性。這就造成了以太坊效率低下且成本高昂的問題,但是它有一個方面是無敵的:它的計算不依賴於人的主觀信任。每個程序都會如我們所期望那樣按部就班地執行(並通過驗證),並且它的輸出或狀態可供他人查看。因此,以太坊上的程序可以充當可靠且中立的基本構成要素,供開發者用來編寫更高級的應用程序。於是,我們看到了下面這些項目:

Marble 提供的是通過快速借貸實現交易套利的服務:“交易者可以通過 Marble [智能合約]銀行借款,到一個去中心化交易所(DEX)上購買代幣,再到另一個去中心化交易所上以更高的價格賣出代幣,然後還清借款,將套利所得的利潤收入囊中,所有這一切都通過一筆小小的交易達成。” Marble 之所以能做到這點,是因為它利用以太坊虛擬機跨越不同的獨立項目來執行一系列功能,最終構建出了一個人人都能使用的簡單實用程序。

Primotif 是一個可以追蹤現實世界指數(比如標準普爾 500 指數)的金融衍生品。它使用 Augur 上的預測市場來追蹤標的指數的價格, 然後利用 dYdX 的沽空代幣來對衝 ETH 的波動性, dYdX 使用的是 Maker 發行的穩定幣 Dai 來作為報價貨幣。這個僅僅花費一個週末就構建完成的項目是個很好的例子,體現了可組合性是如何帶來複合式創新和強大的開發者網絡效應的。

通過可組合性帶來網絡效應不是一種新的現象。這是 Twitter 的創始人 Biz Stone 早在 2007 年就(在 AVC 網站上)發表過對 Twitter API 的可組合性的看法:

“我們在 Twitter 的 API 上的投入可以說(或者無疑)是我們做過意義最重大的一件事。首先,這可以讓我們以非常簡單的方式來服務用戶,並創建一個簡單的 API 以便開發者可以在我們的基礎架構之上進行構建,提出比我們更好的想法,並構建像 Twitterrific 這樣的程序,它由一個非常小的團隊開發,為 Twitter 用戶帶來了絕佳體驗,這是我們根本做不到的。因此,API 很容易就能帶來比網站多 10 倍的流量,它對我們來說非常重要。”

遺憾的是,可組合性並不適合 Web 2.0 時代的場景。問題在於,你既不能 “通過 API 匯款” ,也沒有一種有效公平的方式來控制平臺的規則,比如廣告展示的規則。這就造成了開發者和平臺之間激勵失調,從而導致數據的重新集中化和第三方創新的缺失。

我的合作伙伴 Chris 曾經寫過一篇文章來講述密碼學代幣是如何能夠更好激勵可持續開放式網絡的。如今的問題在於,兼顧激勵協調和可組合性的網絡無法擴展。

這就是區塊鏈的大型機時代。儘管可組合性確實帶來了早期的網絡效應——集中安全性、用戶群、數據和代碼,但是由於大型機的吞吐量限制,採用量的增加會造成邊際收益遞減。這反過來會驅高每一位新增用戶和開發者的成本。繪製成圖表則如下所示:

"

編者按:本文來自以太坊愛好者,原文來自:a16z crypto,作者:Jesse Walden,譯者:曾汨 & 閔敏;Odaily星球日報經授權轉載。

編者注:在區塊鏈世界裡,“可組合性(Composability)” 一詞最早被用來說明免許可智能合約平臺的長處,即同一平臺上的組件可以相互組合,產生出新的產品和服務。本文作者意識到了,可組合性不是 0 與 1 的區別,而是程度的區別,因有此文。作者對 Cosmos 等項目的分析可謂別開生面,但對所謂 “雲時代” 的描述則多少有些異想天開了。應當承認的是,演化之路的神祕與優越,正在於其不可完全控制;而取得了這一點認識,就沒有必要總把眼前事物附會成演化的必由之路了。

從“可組合度”看區塊鏈計算的 4 個時代

在 a16z crypto 網站上的一個視頻中,我們談論了許多關於密碼學網絡和城市之間相似性的問題,因為二者都通過共享基礎設施來實現自下而上的發展。

通常來說,傳統商業的最佳模式是,把店鋪開設在一個人口密集、公共設施完善、法律完備、治安良好,且充滿市場活力的地方。對於開發者來說也是如此,在共享現有用戶群、數據、安全性和代碼等資源的基礎上進行構建會獲益不少。

我們稱之為可組合性。 如果一個平臺上的現有資源能夠用來構建更高級別的應用程序,那麼這個平臺就具備了可組合性。

可組合性非常重要,它能讓開發者花費更少的資源做更多的事情,繼而加快創新的速度並增強其複合性。

區塊鏈計算機的免信任特性是其實現可組合性的一大重要條件,因為它能讓開發者在共享的基礎設施上進行構建,同時不必擔心底層被突然叫停。這是真的,因為區塊鏈既是無准入門檻的(這就是開源的偉大之處)又是富狀態的(這就是像 Twilio 和 Stripe 之類的 API 的偉大之處)。

在研究區塊鏈計算的發展時,我勾勒了一個由四個不同時代組成的心理模型,每個時代在架構和可組合性方面的優先級上各不相同:

  • 計算器時代——面向特定應用,可組合性有限

  • 大型機時代——圖靈完備,可組合性高

  • 服務器時代——面向特定應用,不具備可組合性

  • 雲時代——圖靈完備,具備可擴展的可組合性

我將逐步展開介紹每個時代,以及在我眼中它們各自的優缺點。但是我先聲明,這個領域中的很多研究問題是沒有明確答案的,而且事物的發展方向並不明朗。每一個問題都需要實驗。

計算器時代

比特幣是區塊鏈計算的鼻祖。它是一個面向特定應用問題的全棧解決方案:健全貨幣或者說數字黃金。除了具備追蹤餘額和轉賬等簡單的功能之外,比特幣還提供了一種腳本語言,可以用來構建更復雜的功能。

許多項目已經使用了比特幣腳本語言來構建更高級的應用程序。舉例來說,存在證明( Proof of Existence )利用 OP_RETURN 數據存儲來創建一個證明,以此證實某個人在特定時間內擁有一份數字文件。像 Colored Coins 和 Counterparty 這樣的項目可以基於比特幣區塊鏈的集中安全性創建自定義代幣。但是,由於比特幣的腳本語言在設計上有意留下了一些限制,其他一些企圖進一步擴展比特幣功能或代幣功能的嘗試就無法實現了。

許多人認為,對於一個去中心化的貨幣系統來說,最重要的屬性是安全性,而非可編程性,因此有限制的腳本語言是一個特性,而非一個 bug 。由此我們可以看出,比特幣更像是計算器而非計算機(我是認真地在誇!)。它是針對特定目的構建的,並且擅長處理目標任務,但對於熱衷改進和構建新型應用程序的開發者來說,需要向新的架構演進。

大型機時代

以太坊是構建在由比特幣開創的核心理念上的,並納入了圖靈完備的虛擬機來使區塊鏈計算機變得更加通用。這意味著開發者可以在去中心化的機器網絡中部署和運行任何程序。

如今,網絡中每一個節點都必須執行每一個程序功能,以便確保其準確性。這就造成了以太坊效率低下且成本高昂的問題,但是它有一個方面是無敵的:它的計算不依賴於人的主觀信任。每個程序都會如我們所期望那樣按部就班地執行(並通過驗證),並且它的輸出或狀態可供他人查看。因此,以太坊上的程序可以充當可靠且中立的基本構成要素,供開發者用來編寫更高級的應用程序。於是,我們看到了下面這些項目:

Marble 提供的是通過快速借貸實現交易套利的服務:“交易者可以通過 Marble [智能合約]銀行借款,到一個去中心化交易所(DEX)上購買代幣,再到另一個去中心化交易所上以更高的價格賣出代幣,然後還清借款,將套利所得的利潤收入囊中,所有這一切都通過一筆小小的交易達成。” Marble 之所以能做到這點,是因為它利用以太坊虛擬機跨越不同的獨立項目來執行一系列功能,最終構建出了一個人人都能使用的簡單實用程序。

Primotif 是一個可以追蹤現實世界指數(比如標準普爾 500 指數)的金融衍生品。它使用 Augur 上的預測市場來追蹤標的指數的價格, 然後利用 dYdX 的沽空代幣來對衝 ETH 的波動性, dYdX 使用的是 Maker 發行的穩定幣 Dai 來作為報價貨幣。這個僅僅花費一個週末就構建完成的項目是個很好的例子,體現了可組合性是如何帶來複合式創新和強大的開發者網絡效應的。

通過可組合性帶來網絡效應不是一種新的現象。這是 Twitter 的創始人 Biz Stone 早在 2007 年就(在 AVC 網站上)發表過對 Twitter API 的可組合性的看法:

“我們在 Twitter 的 API 上的投入可以說(或者無疑)是我們做過意義最重大的一件事。首先,這可以讓我們以非常簡單的方式來服務用戶,並創建一個簡單的 API 以便開發者可以在我們的基礎架構之上進行構建,提出比我們更好的想法,並構建像 Twitterrific 這樣的程序,它由一個非常小的團隊開發,為 Twitter 用戶帶來了絕佳體驗,這是我們根本做不到的。因此,API 很容易就能帶來比網站多 10 倍的流量,它對我們來說非常重要。”

遺憾的是,可組合性並不適合 Web 2.0 時代的場景。問題在於,你既不能 “通過 API 匯款” ,也沒有一種有效公平的方式來控制平臺的規則,比如廣告展示的規則。這就造成了開發者和平臺之間激勵失調,從而導致數據的重新集中化和第三方創新的缺失。

我的合作伙伴 Chris 曾經寫過一篇文章來講述密碼學代幣是如何能夠更好激勵可持續開放式網絡的。如今的問題在於,兼顧激勵協調和可組合性的網絡無法擴展。

這就是區塊鏈的大型機時代。儘管可組合性確實帶來了早期的網絡效應——集中安全性、用戶群、數據和代碼,但是由於大型機的吞吐量限制,採用量的增加會造成邊際收益遞減。這反過來會驅高每一位新增用戶和開發者的成本。繪製成圖表則如下所示:

從“可組合度”看區塊鏈計算的 4 個時代

-由於資源限制,每新增一位用戶會帶來更高的邊際成本並最終超過可組合性的邊際值(共享資源和開發者網絡效應)-

進入“服務器時代”

為了尋求可擴展性,一些開發者已經放棄了前面提到的可組合性和共享網絡效應,轉而採用面向特定應用的架構。像 Polkadot 和 Cosmos 這類項目的願景就是構建一條多重的異構鏈——其中每條鏈都會進行個性化調整來打造定製化應用程序。 Polkadot 的 Substrate 和 Cosmos SDK 都是模塊化的區塊鏈構建工具包,用於構建你自己的全棧 “應用程序鏈(app chain)”。

全棧開發的工作量要遠超出整合現有的網絡資源進行開發所需的工作量。對於開發者而言,這意味需要構建下至狀態機、上至應用程序接口的所有部分,為網絡帶來最低程度的可行安全性,並與生態系統中的其他項目實現互操作性。

但從歷史上看,全棧策略在推動未來發展和將早期技術推向市場方面已經取得了成功。早在 PC 應用達到標準之前,Wang Technologies 就推出了一個非常實用的文字處理軟件作為軟硬件捆綁的解決方案。在這之後,AOL 捆綁了一個網絡服務提供商,一個內容分發系統和一個郵件和即時通訊工具——為正處於建設中的早期網絡帶來了卓越的用戶體驗。RIM 為了促進智能手機的採用,將移動設備、操作系統和類似 BBM 和電子郵件推送等早期應用捆綁在了一起。

"

編者按:本文來自以太坊愛好者,原文來自:a16z crypto,作者:Jesse Walden,譯者:曾汨 & 閔敏;Odaily星球日報經授權轉載。

編者注:在區塊鏈世界裡,“可組合性(Composability)” 一詞最早被用來說明免許可智能合約平臺的長處,即同一平臺上的組件可以相互組合,產生出新的產品和服務。本文作者意識到了,可組合性不是 0 與 1 的區別,而是程度的區別,因有此文。作者對 Cosmos 等項目的分析可謂別開生面,但對所謂 “雲時代” 的描述則多少有些異想天開了。應當承認的是,演化之路的神祕與優越,正在於其不可完全控制;而取得了這一點認識,就沒有必要總把眼前事物附會成演化的必由之路了。

從“可組合度”看區塊鏈計算的 4 個時代

在 a16z crypto 網站上的一個視頻中,我們談論了許多關於密碼學網絡和城市之間相似性的問題,因為二者都通過共享基礎設施來實現自下而上的發展。

通常來說,傳統商業的最佳模式是,把店鋪開設在一個人口密集、公共設施完善、法律完備、治安良好,且充滿市場活力的地方。對於開發者來說也是如此,在共享現有用戶群、數據、安全性和代碼等資源的基礎上進行構建會獲益不少。

我們稱之為可組合性。 如果一個平臺上的現有資源能夠用來構建更高級別的應用程序,那麼這個平臺就具備了可組合性。

可組合性非常重要,它能讓開發者花費更少的資源做更多的事情,繼而加快創新的速度並增強其複合性。

區塊鏈計算機的免信任特性是其實現可組合性的一大重要條件,因為它能讓開發者在共享的基礎設施上進行構建,同時不必擔心底層被突然叫停。這是真的,因為區塊鏈既是無准入門檻的(這就是開源的偉大之處)又是富狀態的(這就是像 Twilio 和 Stripe 之類的 API 的偉大之處)。

在研究區塊鏈計算的發展時,我勾勒了一個由四個不同時代組成的心理模型,每個時代在架構和可組合性方面的優先級上各不相同:

  • 計算器時代——面向特定應用,可組合性有限

  • 大型機時代——圖靈完備,可組合性高

  • 服務器時代——面向特定應用,不具備可組合性

  • 雲時代——圖靈完備,具備可擴展的可組合性

我將逐步展開介紹每個時代,以及在我眼中它們各自的優缺點。但是我先聲明,這個領域中的很多研究問題是沒有明確答案的,而且事物的發展方向並不明朗。每一個問題都需要實驗。

計算器時代

比特幣是區塊鏈計算的鼻祖。它是一個面向特定應用問題的全棧解決方案:健全貨幣或者說數字黃金。除了具備追蹤餘額和轉賬等簡單的功能之外,比特幣還提供了一種腳本語言,可以用來構建更復雜的功能。

許多項目已經使用了比特幣腳本語言來構建更高級的應用程序。舉例來說,存在證明( Proof of Existence )利用 OP_RETURN 數據存儲來創建一個證明,以此證實某個人在特定時間內擁有一份數字文件。像 Colored Coins 和 Counterparty 這樣的項目可以基於比特幣區塊鏈的集中安全性創建自定義代幣。但是,由於比特幣的腳本語言在設計上有意留下了一些限制,其他一些企圖進一步擴展比特幣功能或代幣功能的嘗試就無法實現了。

許多人認為,對於一個去中心化的貨幣系統來說,最重要的屬性是安全性,而非可編程性,因此有限制的腳本語言是一個特性,而非一個 bug 。由此我們可以看出,比特幣更像是計算器而非計算機(我是認真地在誇!)。它是針對特定目的構建的,並且擅長處理目標任務,但對於熱衷改進和構建新型應用程序的開發者來說,需要向新的架構演進。

大型機時代

以太坊是構建在由比特幣開創的核心理念上的,並納入了圖靈完備的虛擬機來使區塊鏈計算機變得更加通用。這意味著開發者可以在去中心化的機器網絡中部署和運行任何程序。

如今,網絡中每一個節點都必須執行每一個程序功能,以便確保其準確性。這就造成了以太坊效率低下且成本高昂的問題,但是它有一個方面是無敵的:它的計算不依賴於人的主觀信任。每個程序都會如我們所期望那樣按部就班地執行(並通過驗證),並且它的輸出或狀態可供他人查看。因此,以太坊上的程序可以充當可靠且中立的基本構成要素,供開發者用來編寫更高級的應用程序。於是,我們看到了下面這些項目:

Marble 提供的是通過快速借貸實現交易套利的服務:“交易者可以通過 Marble [智能合約]銀行借款,到一個去中心化交易所(DEX)上購買代幣,再到另一個去中心化交易所上以更高的價格賣出代幣,然後還清借款,將套利所得的利潤收入囊中,所有這一切都通過一筆小小的交易達成。” Marble 之所以能做到這點,是因為它利用以太坊虛擬機跨越不同的獨立項目來執行一系列功能,最終構建出了一個人人都能使用的簡單實用程序。

Primotif 是一個可以追蹤現實世界指數(比如標準普爾 500 指數)的金融衍生品。它使用 Augur 上的預測市場來追蹤標的指數的價格, 然後利用 dYdX 的沽空代幣來對衝 ETH 的波動性, dYdX 使用的是 Maker 發行的穩定幣 Dai 來作為報價貨幣。這個僅僅花費一個週末就構建完成的項目是個很好的例子,體現了可組合性是如何帶來複合式創新和強大的開發者網絡效應的。

通過可組合性帶來網絡效應不是一種新的現象。這是 Twitter 的創始人 Biz Stone 早在 2007 年就(在 AVC 網站上)發表過對 Twitter API 的可組合性的看法:

“我們在 Twitter 的 API 上的投入可以說(或者無疑)是我們做過意義最重大的一件事。首先,這可以讓我們以非常簡單的方式來服務用戶,並創建一個簡單的 API 以便開發者可以在我們的基礎架構之上進行構建,提出比我們更好的想法,並構建像 Twitterrific 這樣的程序,它由一個非常小的團隊開發,為 Twitter 用戶帶來了絕佳體驗,這是我們根本做不到的。因此,API 很容易就能帶來比網站多 10 倍的流量,它對我們來說非常重要。”

遺憾的是,可組合性並不適合 Web 2.0 時代的場景。問題在於,你既不能 “通過 API 匯款” ,也沒有一種有效公平的方式來控制平臺的規則,比如廣告展示的規則。這就造成了開發者和平臺之間激勵失調,從而導致數據的重新集中化和第三方創新的缺失。

我的合作伙伴 Chris 曾經寫過一篇文章來講述密碼學代幣是如何能夠更好激勵可持續開放式網絡的。如今的問題在於,兼顧激勵協調和可組合性的網絡無法擴展。

這就是區塊鏈的大型機時代。儘管可組合性確實帶來了早期的網絡效應——集中安全性、用戶群、數據和代碼,但是由於大型機的吞吐量限制,採用量的增加會造成邊際收益遞減。這反過來會驅高每一位新增用戶和開發者的成本。繪製成圖表則如下所示:

從“可組合度”看區塊鏈計算的 4 個時代

-由於資源限制,每新增一位用戶會帶來更高的邊際成本並最終超過可組合性的邊際值(共享資源和開發者網絡效應)-

進入“服務器時代”

為了尋求可擴展性,一些開發者已經放棄了前面提到的可組合性和共享網絡效應,轉而採用面向特定應用的架構。像 Polkadot 和 Cosmos 這類項目的願景就是構建一條多重的異構鏈——其中每條鏈都會進行個性化調整來打造定製化應用程序。 Polkadot 的 Substrate 和 Cosmos SDK 都是模塊化的區塊鏈構建工具包,用於構建你自己的全棧 “應用程序鏈(app chain)”。

全棧開發的工作量要遠超出整合現有的網絡資源進行開發所需的工作量。對於開發者而言,這意味需要構建下至狀態機、上至應用程序接口的所有部分,為網絡帶來最低程度的可行安全性,並與生態系統中的其他項目實現互操作性。

但從歷史上看,全棧策略在推動未來發展和將早期技術推向市場方面已經取得了成功。早在 PC 應用達到標準之前,Wang Technologies 就推出了一個非常實用的文字處理軟件作為軟硬件捆綁的解決方案。在這之後,AOL 捆綁了一個網絡服務提供商,一個內容分發系統和一個郵件和即時通訊工具——為正處於建設中的早期網絡帶來了卓越的用戶體驗。RIM 為了促進智能手機的採用,將移動設備、操作系統和類似 BBM 和電子郵件推送等早期應用捆綁在了一起。

從“可組合度”看區塊鏈計算的 4 個時代"

編者按:本文來自以太坊愛好者,原文來自:a16z crypto,作者:Jesse Walden,譯者:曾汨 & 閔敏;Odaily星球日報經授權轉載。

編者注:在區塊鏈世界裡,“可組合性(Composability)” 一詞最早被用來說明免許可智能合約平臺的長處,即同一平臺上的組件可以相互組合,產生出新的產品和服務。本文作者意識到了,可組合性不是 0 與 1 的區別,而是程度的區別,因有此文。作者對 Cosmos 等項目的分析可謂別開生面,但對所謂 “雲時代” 的描述則多少有些異想天開了。應當承認的是,演化之路的神祕與優越,正在於其不可完全控制;而取得了這一點認識,就沒有必要總把眼前事物附會成演化的必由之路了。

從“可組合度”看區塊鏈計算的 4 個時代

在 a16z crypto 網站上的一個視頻中,我們談論了許多關於密碼學網絡和城市之間相似性的問題,因為二者都通過共享基礎設施來實現自下而上的發展。

通常來說,傳統商業的最佳模式是,把店鋪開設在一個人口密集、公共設施完善、法律完備、治安良好,且充滿市場活力的地方。對於開發者來說也是如此,在共享現有用戶群、數據、安全性和代碼等資源的基礎上進行構建會獲益不少。

我們稱之為可組合性。 如果一個平臺上的現有資源能夠用來構建更高級別的應用程序,那麼這個平臺就具備了可組合性。

可組合性非常重要,它能讓開發者花費更少的資源做更多的事情,繼而加快創新的速度並增強其複合性。

區塊鏈計算機的免信任特性是其實現可組合性的一大重要條件,因為它能讓開發者在共享的基礎設施上進行構建,同時不必擔心底層被突然叫停。這是真的,因為區塊鏈既是無准入門檻的(這就是開源的偉大之處)又是富狀態的(這就是像 Twilio 和 Stripe 之類的 API 的偉大之處)。

在研究區塊鏈計算的發展時,我勾勒了一個由四個不同時代組成的心理模型,每個時代在架構和可組合性方面的優先級上各不相同:

  • 計算器時代——面向特定應用,可組合性有限

  • 大型機時代——圖靈完備,可組合性高

  • 服務器時代——面向特定應用,不具備可組合性

  • 雲時代——圖靈完備,具備可擴展的可組合性

我將逐步展開介紹每個時代,以及在我眼中它們各自的優缺點。但是我先聲明,這個領域中的很多研究問題是沒有明確答案的,而且事物的發展方向並不明朗。每一個問題都需要實驗。

計算器時代

比特幣是區塊鏈計算的鼻祖。它是一個面向特定應用問題的全棧解決方案:健全貨幣或者說數字黃金。除了具備追蹤餘額和轉賬等簡單的功能之外,比特幣還提供了一種腳本語言,可以用來構建更復雜的功能。

許多項目已經使用了比特幣腳本語言來構建更高級的應用程序。舉例來說,存在證明( Proof of Existence )利用 OP_RETURN 數據存儲來創建一個證明,以此證實某個人在特定時間內擁有一份數字文件。像 Colored Coins 和 Counterparty 這樣的項目可以基於比特幣區塊鏈的集中安全性創建自定義代幣。但是,由於比特幣的腳本語言在設計上有意留下了一些限制,其他一些企圖進一步擴展比特幣功能或代幣功能的嘗試就無法實現了。

許多人認為,對於一個去中心化的貨幣系統來說,最重要的屬性是安全性,而非可編程性,因此有限制的腳本語言是一個特性,而非一個 bug 。由此我們可以看出,比特幣更像是計算器而非計算機(我是認真地在誇!)。它是針對特定目的構建的,並且擅長處理目標任務,但對於熱衷改進和構建新型應用程序的開發者來說,需要向新的架構演進。

大型機時代

以太坊是構建在由比特幣開創的核心理念上的,並納入了圖靈完備的虛擬機來使區塊鏈計算機變得更加通用。這意味著開發者可以在去中心化的機器網絡中部署和運行任何程序。

如今,網絡中每一個節點都必須執行每一個程序功能,以便確保其準確性。這就造成了以太坊效率低下且成本高昂的問題,但是它有一個方面是無敵的:它的計算不依賴於人的主觀信任。每個程序都會如我們所期望那樣按部就班地執行(並通過驗證),並且它的輸出或狀態可供他人查看。因此,以太坊上的程序可以充當可靠且中立的基本構成要素,供開發者用來編寫更高級的應用程序。於是,我們看到了下面這些項目:

Marble 提供的是通過快速借貸實現交易套利的服務:“交易者可以通過 Marble [智能合約]銀行借款,到一個去中心化交易所(DEX)上購買代幣,再到另一個去中心化交易所上以更高的價格賣出代幣,然後還清借款,將套利所得的利潤收入囊中,所有這一切都通過一筆小小的交易達成。” Marble 之所以能做到這點,是因為它利用以太坊虛擬機跨越不同的獨立項目來執行一系列功能,最終構建出了一個人人都能使用的簡單實用程序。

Primotif 是一個可以追蹤現實世界指數(比如標準普爾 500 指數)的金融衍生品。它使用 Augur 上的預測市場來追蹤標的指數的價格, 然後利用 dYdX 的沽空代幣來對衝 ETH 的波動性, dYdX 使用的是 Maker 發行的穩定幣 Dai 來作為報價貨幣。這個僅僅花費一個週末就構建完成的項目是個很好的例子,體現了可組合性是如何帶來複合式創新和強大的開發者網絡效應的。

通過可組合性帶來網絡效應不是一種新的現象。這是 Twitter 的創始人 Biz Stone 早在 2007 年就(在 AVC 網站上)發表過對 Twitter API 的可組合性的看法:

“我們在 Twitter 的 API 上的投入可以說(或者無疑)是我們做過意義最重大的一件事。首先,這可以讓我們以非常簡單的方式來服務用戶,並創建一個簡單的 API 以便開發者可以在我們的基礎架構之上進行構建,提出比我們更好的想法,並構建像 Twitterrific 這樣的程序,它由一個非常小的團隊開發,為 Twitter 用戶帶來了絕佳體驗,這是我們根本做不到的。因此,API 很容易就能帶來比網站多 10 倍的流量,它對我們來說非常重要。”

遺憾的是,可組合性並不適合 Web 2.0 時代的場景。問題在於,你既不能 “通過 API 匯款” ,也沒有一種有效公平的方式來控制平臺的規則,比如廣告展示的規則。這就造成了開發者和平臺之間激勵失調,從而導致數據的重新集中化和第三方創新的缺失。

我的合作伙伴 Chris 曾經寫過一篇文章來講述密碼學代幣是如何能夠更好激勵可持續開放式網絡的。如今的問題在於,兼顧激勵協調和可組合性的網絡無法擴展。

這就是區塊鏈的大型機時代。儘管可組合性確實帶來了早期的網絡效應——集中安全性、用戶群、數據和代碼,但是由於大型機的吞吐量限制,採用量的增加會造成邊際收益遞減。這反過來會驅高每一位新增用戶和開發者的成本。繪製成圖表則如下所示:

從“可組合度”看區塊鏈計算的 4 個時代

-由於資源限制,每新增一位用戶會帶來更高的邊際成本並最終超過可組合性的邊際值(共享資源和開發者網絡效應)-

進入“服務器時代”

為了尋求可擴展性,一些開發者已經放棄了前面提到的可組合性和共享網絡效應,轉而採用面向特定應用的架構。像 Polkadot 和 Cosmos 這類項目的願景就是構建一條多重的異構鏈——其中每條鏈都會進行個性化調整來打造定製化應用程序。 Polkadot 的 Substrate 和 Cosmos SDK 都是模塊化的區塊鏈構建工具包,用於構建你自己的全棧 “應用程序鏈(app chain)”。

全棧開發的工作量要遠超出整合現有的網絡資源進行開發所需的工作量。對於開發者而言,這意味需要構建下至狀態機、上至應用程序接口的所有部分,為網絡帶來最低程度的可行安全性,並與生態系統中的其他項目實現互操作性。

但從歷史上看,全棧策略在推動未來發展和將早期技術推向市場方面已經取得了成功。早在 PC 應用達到標準之前,Wang Technologies 就推出了一個非常實用的文字處理軟件作為軟硬件捆綁的解決方案。在這之後,AOL 捆綁了一個網絡服務提供商,一個內容分發系統和一個郵件和即時通訊工具——為正處於建設中的早期網絡帶來了卓越的用戶體驗。RIM 為了促進智能手機的採用,將移動設備、操作系統和類似 BBM 和電子郵件推送等早期應用捆綁在了一起。

從“可組合度”看區塊鏈計算的 4 個時代從“可組合度”看區塊鏈計算的 4 個時代"

編者按:本文來自以太坊愛好者,原文來自:a16z crypto,作者:Jesse Walden,譯者:曾汨 & 閔敏;Odaily星球日報經授權轉載。

編者注:在區塊鏈世界裡,“可組合性(Composability)” 一詞最早被用來說明免許可智能合約平臺的長處,即同一平臺上的組件可以相互組合,產生出新的產品和服務。本文作者意識到了,可組合性不是 0 與 1 的區別,而是程度的區別,因有此文。作者對 Cosmos 等項目的分析可謂別開生面,但對所謂 “雲時代” 的描述則多少有些異想天開了。應當承認的是,演化之路的神祕與優越,正在於其不可完全控制;而取得了這一點認識,就沒有必要總把眼前事物附會成演化的必由之路了。

從“可組合度”看區塊鏈計算的 4 個時代

在 a16z crypto 網站上的一個視頻中,我們談論了許多關於密碼學網絡和城市之間相似性的問題,因為二者都通過共享基礎設施來實現自下而上的發展。

通常來說,傳統商業的最佳模式是,把店鋪開設在一個人口密集、公共設施完善、法律完備、治安良好,且充滿市場活力的地方。對於開發者來說也是如此,在共享現有用戶群、數據、安全性和代碼等資源的基礎上進行構建會獲益不少。

我們稱之為可組合性。 如果一個平臺上的現有資源能夠用來構建更高級別的應用程序,那麼這個平臺就具備了可組合性。

可組合性非常重要,它能讓開發者花費更少的資源做更多的事情,繼而加快創新的速度並增強其複合性。

區塊鏈計算機的免信任特性是其實現可組合性的一大重要條件,因為它能讓開發者在共享的基礎設施上進行構建,同時不必擔心底層被突然叫停。這是真的,因為區塊鏈既是無准入門檻的(這就是開源的偉大之處)又是富狀態的(這就是像 Twilio 和 Stripe 之類的 API 的偉大之處)。

在研究區塊鏈計算的發展時,我勾勒了一個由四個不同時代組成的心理模型,每個時代在架構和可組合性方面的優先級上各不相同:

  • 計算器時代——面向特定應用,可組合性有限

  • 大型機時代——圖靈完備,可組合性高

  • 服務器時代——面向特定應用,不具備可組合性

  • 雲時代——圖靈完備,具備可擴展的可組合性

我將逐步展開介紹每個時代,以及在我眼中它們各自的優缺點。但是我先聲明,這個領域中的很多研究問題是沒有明確答案的,而且事物的發展方向並不明朗。每一個問題都需要實驗。

計算器時代

比特幣是區塊鏈計算的鼻祖。它是一個面向特定應用問題的全棧解決方案:健全貨幣或者說數字黃金。除了具備追蹤餘額和轉賬等簡單的功能之外,比特幣還提供了一種腳本語言,可以用來構建更復雜的功能。

許多項目已經使用了比特幣腳本語言來構建更高級的應用程序。舉例來說,存在證明( Proof of Existence )利用 OP_RETURN 數據存儲來創建一個證明,以此證實某個人在特定時間內擁有一份數字文件。像 Colored Coins 和 Counterparty 這樣的項目可以基於比特幣區塊鏈的集中安全性創建自定義代幣。但是,由於比特幣的腳本語言在設計上有意留下了一些限制,其他一些企圖進一步擴展比特幣功能或代幣功能的嘗試就無法實現了。

許多人認為,對於一個去中心化的貨幣系統來說,最重要的屬性是安全性,而非可編程性,因此有限制的腳本語言是一個特性,而非一個 bug 。由此我們可以看出,比特幣更像是計算器而非計算機(我是認真地在誇!)。它是針對特定目的構建的,並且擅長處理目標任務,但對於熱衷改進和構建新型應用程序的開發者來說,需要向新的架構演進。

大型機時代

以太坊是構建在由比特幣開創的核心理念上的,並納入了圖靈完備的虛擬機來使區塊鏈計算機變得更加通用。這意味著開發者可以在去中心化的機器網絡中部署和運行任何程序。

如今,網絡中每一個節點都必須執行每一個程序功能,以便確保其準確性。這就造成了以太坊效率低下且成本高昂的問題,但是它有一個方面是無敵的:它的計算不依賴於人的主觀信任。每個程序都會如我們所期望那樣按部就班地執行(並通過驗證),並且它的輸出或狀態可供他人查看。因此,以太坊上的程序可以充當可靠且中立的基本構成要素,供開發者用來編寫更高級的應用程序。於是,我們看到了下面這些項目:

Marble 提供的是通過快速借貸實現交易套利的服務:“交易者可以通過 Marble [智能合約]銀行借款,到一個去中心化交易所(DEX)上購買代幣,再到另一個去中心化交易所上以更高的價格賣出代幣,然後還清借款,將套利所得的利潤收入囊中,所有這一切都通過一筆小小的交易達成。” Marble 之所以能做到這點,是因為它利用以太坊虛擬機跨越不同的獨立項目來執行一系列功能,最終構建出了一個人人都能使用的簡單實用程序。

Primotif 是一個可以追蹤現實世界指數(比如標準普爾 500 指數)的金融衍生品。它使用 Augur 上的預測市場來追蹤標的指數的價格, 然後利用 dYdX 的沽空代幣來對衝 ETH 的波動性, dYdX 使用的是 Maker 發行的穩定幣 Dai 來作為報價貨幣。這個僅僅花費一個週末就構建完成的項目是個很好的例子,體現了可組合性是如何帶來複合式創新和強大的開發者網絡效應的。

通過可組合性帶來網絡效應不是一種新的現象。這是 Twitter 的創始人 Biz Stone 早在 2007 年就(在 AVC 網站上)發表過對 Twitter API 的可組合性的看法:

“我們在 Twitter 的 API 上的投入可以說(或者無疑)是我們做過意義最重大的一件事。首先,這可以讓我們以非常簡單的方式來服務用戶,並創建一個簡單的 API 以便開發者可以在我們的基礎架構之上進行構建,提出比我們更好的想法,並構建像 Twitterrific 這樣的程序,它由一個非常小的團隊開發,為 Twitter 用戶帶來了絕佳體驗,這是我們根本做不到的。因此,API 很容易就能帶來比網站多 10 倍的流量,它對我們來說非常重要。”

遺憾的是,可組合性並不適合 Web 2.0 時代的場景。問題在於,你既不能 “通過 API 匯款” ,也沒有一種有效公平的方式來控制平臺的規則,比如廣告展示的規則。這就造成了開發者和平臺之間激勵失調,從而導致數據的重新集中化和第三方創新的缺失。

我的合作伙伴 Chris 曾經寫過一篇文章來講述密碼學代幣是如何能夠更好激勵可持續開放式網絡的。如今的問題在於,兼顧激勵協調和可組合性的網絡無法擴展。

這就是區塊鏈的大型機時代。儘管可組合性確實帶來了早期的網絡效應——集中安全性、用戶群、數據和代碼,但是由於大型機的吞吐量限制,採用量的增加會造成邊際收益遞減。這反過來會驅高每一位新增用戶和開發者的成本。繪製成圖表則如下所示:

從“可組合度”看區塊鏈計算的 4 個時代

-由於資源限制,每新增一位用戶會帶來更高的邊際成本並最終超過可組合性的邊際值(共享資源和開發者網絡效應)-

進入“服務器時代”

為了尋求可擴展性,一些開發者已經放棄了前面提到的可組合性和共享網絡效應,轉而採用面向特定應用的架構。像 Polkadot 和 Cosmos 這類項目的願景就是構建一條多重的異構鏈——其中每條鏈都會進行個性化調整來打造定製化應用程序。 Polkadot 的 Substrate 和 Cosmos SDK 都是模塊化的區塊鏈構建工具包,用於構建你自己的全棧 “應用程序鏈(app chain)”。

全棧開發的工作量要遠超出整合現有的網絡資源進行開發所需的工作量。對於開發者而言,這意味需要構建下至狀態機、上至應用程序接口的所有部分,為網絡帶來最低程度的可行安全性,並與生態系統中的其他項目實現互操作性。

但從歷史上看,全棧策略在推動未來發展和將早期技術推向市場方面已經取得了成功。早在 PC 應用達到標準之前,Wang Technologies 就推出了一個非常實用的文字處理軟件作為軟硬件捆綁的解決方案。在這之後,AOL 捆綁了一個網絡服務提供商,一個內容分發系統和一個郵件和即時通訊工具——為正處於建設中的早期網絡帶來了卓越的用戶體驗。RIM 為了促進智能手機的採用,將移動設備、操作系統和類似 BBM 和電子郵件推送等早期應用捆綁在了一起。

從“可組合度”看區塊鏈計算的 4 個時代從“可組合度”看區塊鏈計算的 4 個時代從“可組合度”看區塊鏈計算的 4 個時代

-全棧平臺,推動未來前行。-

在網絡發展的早期,每個網站都有一臺定製的服務器在某個機房裡運行。為了獲得端對端的體驗,開發者也需要擁有一部分基礎設施。等到了區塊鏈計算的第三個時代,情況可能相同。這就是我所說的 “服務器時代”。

“服務器時代” 的區塊鏈為了獲得一定的控制權明確放棄了可組合性。這涉及到兩個方面:對終端用戶體驗的控制,以及對網絡供給端資源經濟更為精細的控制。“服務器時代”架構的設想是諸如安全性、存儲空間和算力之類的網絡資源都受到需求的約束。也就是說,隨著應用程序得到越來越多的採用,它們可以按照需求擴展。這與 “大型機時代” 架構形成了對比,在 “大型機時代” 的架構中,資源成本會隨著網絡上所有其他流量的變化而變化。從理論上講,全棧的 “服務器時代” 架構可以降低像 “大型機時代” 構架那樣的優化風險。

“服務器時代” 的區塊鏈與之前的全棧平臺不同,因為它們仍然是區塊鏈!雖然 Wang、AOL 和 RIM 是封閉式平臺,但“服務器時代”的區塊鏈仍然是可驗證的開放式數據結構,具有可編程的激勵機制。這個屬性使得它們能夠構成中心(hubs)(這就是 Cosmos 和 Polkadot 所做的)。一條區塊鏈可以是另一條區塊鏈的輕客戶端,開發者可以構建原子交換,並擴展功能。

這意味著即使是 “服務器時代” 的區塊鏈仍然具有可組合性,但是與 “大型機時代” 的區塊鏈不在同一個維度上。這些區塊鏈計算機不再運行單個虛擬機,而是需要新的標準來進行相互通信,以便於實現跨應用程序的組合。這些通信接口是現行研究和標準化的主體,並且無疑會讓開發人員在可組合性方面的體驗變得更加複雜。但是,儘管存在這個缺點,捆綁的種種優點或將催生新一波區塊鏈架構,我預計短期內將出現更多采用全棧開發的項目。

“雲時代”

“雲時代” 的目的是調用可擴展的通用底層架構(substrate)來進行無需信任的計算。這是一片應許之地,只要創造力跟得上,可組合性要多高就有多高,不受規模大小和通信複雜度的限制,同時可以在不損害收益的前提下增強創新的複合性。

關於 “雲時代” 區塊鏈的運作方式有很多開放式研究。“服務器時代” 架構的支持者認為,實現了異構區塊鏈之間跨鏈通信的標準化和抽象化之後,我們將迎來 “雲時代”。另外像是以太坊 2.0(Serenity)和 Dfinity 等項目正在集中打造同質的、圖靈完備的分片鏈。你可以將 “雲時代” 視為一個由許多“大型機”組成的世界,這些 “大型機” 共享一個安全池,但是它們的狀態和計算分別由不同的同質虛擬機來處理。還有一些人正在研究將計算轉移至鏈下的全新架構。

考慮到研究社區的規模和這種解決方案的潛在獎勵,如果 “雲時代” 的區塊鏈計算在所謂的 “服務器時代” 將盡之時大熱,我不會感到驚訝。我們已經鋪設了電纜且建立了數據中心 —— “雲時代”的區塊鏈計算主要是軟件創新。等 “雲時代” 到來之時,無需信任的可組合性顯然將成為開發者新的超能力,當開發人員可以使用更少的資源做更多的事時,互聯網會帶來更多協作、創造力和選擇,我們都將成為受益者。

"

相關推薦

推薦中...