07.14 跨鏈問題、性能“弱雞”,以太坊把公鏈都帶歪了嗎?

ArcBlock CEO 冒志鴻:區塊鏈應該做回它應該做的事,不應該做通用計算。

跨鏈問題、性能“弱雞”,以太坊把公鏈都帶歪了嗎?

文 | 盧曉明

會不會目前大部分人努力的區塊鏈方向,都是錯的?

比如跨鏈、比如所有人都在談的”區塊鏈3.0“。

Odaily星球日報最近跟 ArcBlock 創始人 CEO 冒志鴻討論了一下相關的問題。上述兩個問題基於圈內對區塊鏈領域所面臨的痛點的判斷——鏈與鏈之間無法互聯互通,公鏈性能無法滿足大規模商業應用。如果從根本上否認這兩個痛點——都是偽需求,那是不是目前的無數項目顯得毫無意義?

對標數據庫,區塊鏈也需通用訪問工具

在開始聊這個話題之前,先來更新一下 ArcBlock 的最新進展。這個將會涉及到我們討論的前兩個話題:對標區塊鏈,區塊鏈是不是需要通用查詢工具?是不是需要 interledger 級別的跨鏈?

Odaily星球日報在今年1月時對 ArcBlock 做了報道,ArcBlock 最主要的目標是降低區塊鏈應用的開發門檻,加速區塊鏈應用的落地。ArcBlock 類似 PaaS 平臺,搭建一個去中心化的區塊鏈應用的開發框架,6 月 30 日,ArcBlock 區塊基石平臺上線了它的第一個應用:開放鏈訪問協議實驗臺(OCAP Playground)。

ArcBlock 介紹,這是一個直接面向開發者、構建於開放鏈訪問協議(Open Chain Access Protocol,簡稱 OCAP)之上的開發工具,構建了一個區塊鏈應用開發環境,開發者無需任何下載安裝,只要有瀏覽器就能開始區塊鏈的測試和應用開發。目前公測版 OCAP 支持比特幣、以太坊等底層區塊鏈。

這個工具對於開發者的作用,就是可以在只懂一種語言的情況下,就能把自己的應用部署在不同的鏈上。這就降低了開發者的學習門檻,不需要因為語言而綁定公鏈。OCAP 採用的 Facebook 主導和開源的 GraphQL 語言,冒志鴻認為這也有利於吸引原來 GraphQ 的開發者群體支持 OCAP。

開發者友好不僅需要體現在語言。

冒志鴻還舉例了節點部署成本。“以太坊的全節點是用來挖礦,開發者跑應用依然要自己部署一個節點。就像你自己用電一樣,電網到處都有電,你也需要有一個配電箱。以太坊基金會也意識到這個問題,因此孵化了一個名為 Future 的雲節點服務,部署好之後賣給開發者,開發者依然需要對雲節點付費。OCAP 也幫開發者部署全節點。”

“現在大家都意識到一個事情:就是得開發者得天下。區塊鏈很像數據庫,本身非常很底層,必須要有開發者支持。”

另一方面,對於某些行業型或者應用類公鏈而言,如果他們支持了 OCAP,可以快速接入社區和開發者,不用重新發明工具。

先看一下以太坊的發展,光有公鏈和智能合約是不足以讓開發者開發應用的,還需要有很多工具,因此以太坊基金會本身也孵化了不少項目去幫助開發者訪問鏈和開發應用。冒志鴻表示,作為一條通用型公鏈,以太坊也許可以這麼做,但對 CyberMiles(電商公鏈)和 Eloncity(微電網電力結算)這類應用鏈來說,並不希望把精力放在這裡,他們就可以選擇做一個鏈適配器適配 OCAP 協議。

冒志鴻認為,類似通用工具未來會是公鏈的標配。他再次類比數據庫,查詢 SQL 數據庫,需要有查詢工具,“之前所有的廠商都有自己的查詢工具,現在是通用,因為所有的數據庫都用 SQL 語言,都用 ODBC 和 JDBC Driver”。

ODBC(Open Database Connectivity,開放數據庫互連)是微軟開放服務結構(WOSA,Windows Open Services Architecture)中有關數據庫的一個組成部分,它建立了一組規範,並提供了一組對數據庫訪問的標準 API(應用程序編程接口)。

JDBC(Java DataBase Connectivity)與 ODBC 類似,也是一個面向對象的應用程序接口(API), 通過它所有 Java 程序可訪問各類關係數據庫,是 java 核心類庫的一部分。

OCAP 是從 ODBC 獲得的靈感。“今天數據庫的廠商都會把自身的 ODBC 和 JDBC 驅動開發好,否則沒有人來用你的數據庫。”冒志鴻認為公鏈世界也會出現類似的地位的工具,ArcBlock 希望未來社區或者公鏈的開發者自己去開發鏈適配器。

Interledger 級別的跨鏈是偽需求?

ArcBlock 做的事情某種程度上跟跨鏈相關,因為其開發平臺希望支持開發者將自身的應用部署在不同的區塊鏈上,這就涉及到不同鏈上資產的交互。然而,今天的跨鏈機制依然非常不成熟。大部分提到資產“跨鏈”的團隊,實際上做的都是“區塊鏈版 Visa 和 MasterCard ”的事,做了一箇中間商去兌換兩個幣種之間的匯率——不就是今天幣幣交易所錢包。

當 Odaily星球日報直接問冒志鴻 ArcBlock 的跨鏈如何實現鏈上數據的保真時,冒志鴻也非常直接地表示要實現這個技術實際上非常難。現在的跨鏈,包括他們自身,都是沒有實現鏈上數據的保真,本質上都像交易所一樣,根據匯率,在兩條鏈上開賬戶,一增一減。他稱這為應用級跨鏈,每個鏈並不不知道自己在“跨鏈”。

另外一種“鏈自己是知道”的思路,他稱為 interledger 思路,試圖將兩鏈之間的資產雙向錨定起來。比如公有鏈項目 Cosmos;閃電網絡在他看起來不算跨鏈(有主側鏈之分)。他解釋,極度簡化的鏈,就是一個應用。“目的是要做到雙向錨定,從A上面發出了交易,是從 Transaction 的角度,在 B 鏈上到賬,一旦出現問題,就會回滾,這個安全性更好。”

如果拿著這種技術跟上面的“區塊鏈版跨境匯款”相比,這時候做鏈間價值轉移,就可以直接對接。“如果有一邊出現問題,比如分叉了,應用級跨鏈中,另一邊是不知道的;interledger 情境中,則是相互知道的。”

因此,他認為兩者確實有“很大區別”。可是,他認為這個方案很可能“得不償失”:

從一方面來說 interledger 的難度非常高,“interledger 就是建起橋樑,兩條鏈的東西還得是一致的,但是兩條鏈確實是不一樣的”;一方面實際應用需求很少,“99% 都只需要應用級的跨鏈,只有很少需要 interledger 級別的跨鏈,比特幣和以太坊為了安全性,可能要這種”。

這個判斷,同樣是他以“數據庫歷史”為鑑得出。他介紹,在 80、90 年代,曾經有一個概念叫聯邦分佈數據庫,願景是:兩家企業用的數據庫供應商不同,該技術希望數據庫的角度讓交易保證數據交易的原子性,難度極其高,但是後來證明在現實中根本不需要。“既然可以通過應用層保證一致性,為什麼一定要在底層做呢?因此我們其實在整體設計上比較實用主義。”

如果要預測誰先做成這種級別的跨鏈技術,他認為第一個能落地可能是 Cosmo。

很可能以太坊把大家都帶歪了

聊完跨鏈,我問及公鏈領域的變化、還有以太坊和 EOS 的智能合約漏洞問題。這個背景是智能合約漏洞頻現,為了規避這些問題,某些公鏈甚至選擇將智能合約做成圖靈不完備,以此保證公鏈的安全性。

作為一個致力整合公鏈開發框架的創業者,冒志鴻的看法簡直是要否定以太坊大方向的節奏。

他認為,這半年以來市場沒有發生很大的變化,大部分公鏈都是想做一個更好的以太坊。“凡是想在新公鏈上做一個虛擬機,都是以太坊的追隨者。我有一個大膽的判斷:很有可能以太坊都把大家帶歪了。以太坊想做全世界的通用計算機,社會需要區塊鏈,但是不一定需要計算機。”

以太坊的智能合約多次出現漏洞,業界普遍認為與智能合約太過靈活有關,即以太坊想把智能合約做成圖靈完備。冒志鴻總結,以太坊智能合約漏洞,一是因為太過靈活了;二是由於虛擬機和語言是新做的,不太成熟。“前段時間發出溢出的問題(美圖幣的問題,都是整數溢出導致的),本來應該在語言層面就解決 。”

“這些都是因為以太坊想做通用計算,願景太大。”

至於 EOS,在冒志鴻看來“走得更歪”:目標方向是更好的以太坊,實際上只是把以太坊做得更中心化,在虛擬機語言的選擇上似乎也有問題。

“以太坊之所以選擇寫一套新語言 Solidity,就是為了能實現智能合約代碼的一致性。為什麼不能用現有的語言,而要用一個 VM 來實現?這就要看第三方能不能審計。”他認為,EOS 所選擇的虛擬機語言 WebAssembly(WASM) ,本質上底層是 JavaScript,能不能做一致性是一個巨大的問題。

Diss 畢兩家“現象級別”的通用型公鏈,他的想法是,公鏈應該承載更多價值傳遞的事情。“公鏈可能應該把更多的東西專注在 Token 上,未來我們想做可編程 Token。”

他將此稱為公鏈除了比特幣和以太坊之外的第三種方向,這條鏈所有的東西都是圍繞 tokenise 來實現,專門為 token 服務,不是圖靈完備。

ERC20 沒有得到足夠關注,以太坊只是在這個語言中實現 interface,其實作為一個 Token,它簡陋得不可思議。“只能用 token 來表徵,比如 token 的智能合約,現在都是當某條件發生的時候,token 會從某地址轉到某地址,會如何被分掉。”

“現在是一張白紙,token 只定義了 interface,只是一個接口,我認為它應該要做服務。”

他希望構建一個非常完善的 token 公開賬戶體系。“這就是迴歸到本質,就像一個數據庫服務器,有人也提供 web 接口,但是數據庫就應該把查詢搜索等做好。區塊鏈應該做回它應該做的事,不應該做通用計算。”


分享到:


相關文章: