當前位置:
首頁 > 新聞 > ArcBlock CEO 冒志鴻:所謂區塊鏈3.0的真正所指

ArcBlock CEO 冒志鴻:所謂區塊鏈3.0的真正所指

在現有雲計算的平台之上,抽象出一層專門為區塊鏈來做的服務平台。這是我們對區塊鏈3.0的設計和實現。

技術與行業資源積累到一定程度時,轉折點也如期而至。經過一系列技術建設者的持續投入,區塊鏈3.0進入了公眾視域,蓄勢待發。

雷鋒網AI金融評論報道,經過2017年中旬各區塊鏈項目圍繞底層設施建設的技術產品宣布的更新後,如今區塊鏈行業中圍繞3.0即應用落地階段的更多技術建設正逐步完善,比如資料庫、跨鏈價值交換協議、面向數字交易所的第三方清算、PaaS服務等。

定位於降低去中心化應用(Dapp)開發門檻的區塊鏈創新項目「區塊基石」(ArcBlock),就是在這樣的大環境下推出的。該項目於2018年2月4日,在美國,19分鐘之內完成ICO的公售。

據介紹,本質上來說,ArcBlock是一個專門用於開發和部署去中心化區塊鏈應用的服務平台,類似如今雲計算的PaaS平台,其通過搭建一個去中心化的區塊鏈應用的開發框架,為開發者提供開發工具、分享自身開發的應用的功能模塊,來實現降低Dapp開發門檻的作用。開發者以支付代幣的方式獲取使用平台上的資源。

跨協議兼容,降低開發試錯風險

要知道,目前區塊鏈要成為大規模應用的技術,還面臨著很多困難,除了性能限制、交易費用高昂等擺在應用開發者面前的門檻,比如,ArcBlock白皮書指出:

「平台鎖定」。由於區塊鏈技術尚未制定統一的標準,目前底層設施也還處於角逐「主鏈」的階段,所以Dapp開發面臨著較高的平台「鎖定」風險:開發者一開始就面臨支持哪種區塊鏈技術的艱難選擇,應用的設計和代碼被底層平台「鎖定」,未來難以更換,且無法支持多種不同底層鏈技術來提供最佳用戶體驗。

除此之外,用戶使用門檻也高。由於幾乎所有區塊鏈應用都需要用戶在自己的計算機端運行一個「節點」或至少安裝一個「輕節點」才能使用, 學習使用成本高昂導致大部分區塊鏈應用都局限在極客範圍。舉個簡單的例子,目前虛擬貨幣投資者千千萬,但會用數字錢包的有多少呢?冒志鴻指出,「要實現普及,區塊鏈應用必須降低用戶門檻,讓用戶感覺不到區塊鏈的存在。」

因此,ArcBlock平台的開發主要針對上述困難做支持:讓應用可以連接多種不同的區塊鏈協議,一定程度降低或消除現存區塊鏈技術的「平台鎖定」風險;架構微服務化和採用無伺服器計算,提高開發效率和體驗;打通鏈上和鏈下的連接,提高區塊鏈運行效率……

具體的平台實現手段,冒志鴻向雷鋒網AI金融評論介紹稱,ArcBlock平台的核心部件和體系包括去中心化訪問協議 (雲節點)、開放鏈訪問協議、基石程序和構件(Blocklet Components),還有代幣經濟服務體系:

「開放鏈訪問協議」(Open Chain Access Protocol)——這使得應用可以通過它連接多種不同的區塊鏈協議,比如以太坊(Etheruem)、超級賬本(Hyperledger)等。這是一個開源的協議,作為訪問下層區塊鏈的抽象介面層,類似於在數據應用中的 ODBC或JDBC在和各種不同資料庫之間的關係一樣,讓各種應用可以在不同的區塊鏈上工作。在切換不同的底層區塊鏈、或者使用多條不同協議的區塊鏈的時候,開發者甚至不需要更改業務邏輯代碼。

也就是說,理想狀態下,你還可以將同一套應用方案部署在不同的底層協議之上。基於這個特性,開發者將擁有方便評估不同區塊鏈協議的自由。到那時候,底層的優劣將高下立見。

基石程序是由社區成員受代幣激勵創建貢獻的主要服務或部件,是運行各種應用的無伺服器計算架構組件。 你可以採用Blocklet來實現區塊鏈上的智能合約、外部事務觸發器,訪問外部的資源,如文件、資料庫等其他數據源,以及完全和鏈無關的業務邏輯。通過「開發鏈訪問協議」,Blocklet可以和區塊鏈通信。

值得一提的是,Blocklet不止是連接區塊鏈協議,也可以訪問任何外部數據源,因此它能完成鏈上和鏈下的兩種計算方式並且將它們聯繫起來。

此前,為了解決區塊鏈應用性能底下的困境,有人提出將數據於鏈下處理,交易和決策環節放在鏈上。Blocklet的通信功能,不僅能夠提高區塊鏈應用可行性,還使得傳統企業利用區塊鏈做數據交易提供了便捷直觀的手段。

最後一點是ArcBlock的內在激勵機制驅動的功能模塊和應用市場,該平台憑藉此機制來形成一個生態體系。ArcBlock里的「礦工」可以提供的,不僅僅是計算資源,而且可以提供的是可重用的模塊、新的服務甚至是可以直接部署使用的應用。這些提供功能和應用的「礦工」在自己的服務被使用時就會獲得代幣獎勵,從而形成一個能夠不斷完善、自我成長的服務平台。

冒志鴻強調,「ArcBlock服務平台並不只是我們單獨創建的,而是由整個社區一起來開發創建的,我們只是最初推動的一群人而已。」

區塊鏈3.0:選擇雲節點設計,對抗區塊鏈「原教旨主義」

據介紹,ArcBlock被設計成雲計算環境原生平台。當然,在測試和開發環境下,它也可以運行在單機上。

在ArcBlock中,一個區塊鏈節點是一個「邏輯上的計算機」,它可能是一台或多台虛擬機,或者一組雲計算資源共同組合形成的「邏輯上的計算機」。

但這種設計看起來有點分散式,但也有點集中。

「這種設計使得ArcBlock和很多『原教旨主義』的區塊鏈平台有些格格不入,然而這才是我們認為的未來。」

按照冒志鴻的說法,在計算機科學裡面有一個像笑話一樣的定理——任何計算機科學的事情都可以通過增加一個抽象的layer來實現。「你可以認為ArcBlock就是建立在Cloud computer以上的Layer上來考慮區塊鏈,這也是我們對區塊鏈3.0的設計和實現。」冒志鴻表示,「我們認為在過去、早期的區塊鏈的時候,更多是一個P2P的設計,其中每一個節點都是物理上比較相對獨立的機器。」

其實物理上說它是個獨立的機器,其實也已經被打破,現在的礦場雖然有很多台機器,有可能是成千上萬台機器,但實際上它可能代表的只有幾個節點,你可以認為礦場是某種形式的雲計算,只不過它是專門為挖礦而生的一個雲計算服務。

所以,ArcBlock3.0相當於選擇在現有雲計算的平台之上,抽象出一層專門為區塊鏈來做的服務平台。「這種設計使得ArcBlock把區塊鏈技術、去中心化應用的概念推向一個新高度。」

「一個完整的應用服務,最典型的或者是最容易、最合適的設計就是雲計算的提供方式,因為這些應用的提供商、開發商不需要去關心機器、節點放在哪裡,如何去維護這些機器和節點,這些事情本來都不是開發者需要或者願意擔心的。」

冒志鴻解釋稱,「另外,從最終用戶的角度來講,用戶不需要知道什麼是節點,以及更加不應該讓最終用戶需要運行一個節點才能使用區塊鏈,這些事情我們都應該幫他們搞定。」

「我相信這也是未來的主流設計的方式,我們只是最早宣布用這種方式來設計的人。即便今天開起來不符合原教旨主義的想法,但我認為這符合未來趨勢。」

區塊鏈3.0的理想和風險

「我們試圖建一個是被社區運維的平台,而不是被一家大公司控制的平台。」冒志鴻稱,未來,通過一系列模塊支持,ArcBlock目標要讓企業通過區塊鏈開發,將現有業務的數據、用戶、商業邏輯等應用在區塊鏈驅動的新應用之中。

但當下,高興之餘冒志鴻也指出了ArcBlock面臨的潛在風險,「我們最大的風險是能不能得到社區的支持,也就是我們是不是能真正跟開發者社區建立起來形成一個完整的生態系統。」這是指,「比較懂行、懂技術的開發者了解ArcBlock,覺得一看就明白,但是不一定能做出來。」

這與整個區塊鏈行業的技術鏈條、工程化能力相關。有開發者也對雷鋒網AI金融評論表示,ArcBlock這樣的平台,大規模應用也許要在5年之後。

不過,對此冒志鴻表示:「Arcblock第一階段的開發進度已經超過80%,在2018年上半年就能落地。」

在公售開始前一晚,雷鋒網AI金融評論與ArcBlock CEO 冒志鴻進行了一次越洋對話。關於平台的特性、實現細節,我們可以從對話中找到更多答案:

ArcBlock的實現細節

AI金融評論:開放鏈訪問協議的運行,它和跨鏈技術相比有什麼不一樣呢?

冒志鴻:開放鏈訪問協議目的就是提供一個區塊鏈的訪問抽象層,這個抽象層因為足夠抽象,可以訪問多種不同底層區塊鏈的協議。所以,通過這個開放鏈訪問層,我們可以在一定程度的時間應用這一層的跨鏈,也就是說應用可以通過開放鏈訪問層去訪問多種不同的區塊鏈協議。

但是現在市場上還有一些更加底層的跨鏈技術,它們讓兩個區塊鏈之間直接進行綁定或者直接進行比較底層的數據交換或者調用,而開放鏈訪問協議不考慮兩個不同的區塊鏈或者兩個不同的區塊鏈協議之間的溝通,當然一切都是從應用這個角度來處理。

如果要類比,比如把區塊鏈類比成一種資料庫,開放鏈訪問協議就好比是一個應用,可以連接兩個不同的資料庫,但這兩個資料庫之間並不兼容和通訊,一致性完全靠應用維護。

如果要做跨鏈,就相當於在歷史上曾經談過的異構資料庫,不過在學術上做了很多研究之後,我們可以這樣說——異構資料庫在商業上幾乎完全失敗了。因為今天沒有看到任何一個異構資料庫擴散,它是一種技術理想主義。

不是說一個完全的跨鏈底層協議可能最終會失敗,但是從類比的角度來講,難度非常高,挑戰非常大,開放鏈訪問協議是實用主義設計,它能解決90%以上的問題。

AI金融評論:開發者應用具體綁定到一個區塊鏈協議上的時候,不同的區塊鏈有不同的技術特性,在ArcBlock的開放鏈訪問協議上實現應用,既能體現某個區塊鏈的技術特性,又能滿足在跨鏈之間的部署,是怎麼樣能夠做到的呢?

冒志鴻:比如說在開放鏈訪問協議裡面有定了三個不同層次的API。

其中最基礎的是level 1的API,它其實是個非常小的子集,因為區塊鏈有些最基礎的特點可以被抽象出來。

level 2比較有趣,我們並沒有從今天的區塊鏈來考慮,而是從做一個區塊鏈的應用需要什麼來考慮。所以,level 2的API是一個完全站在應用角度考慮的API集,這樣的話不同的區塊鏈就需要能適配level 2定義的介面,這就必然會導致level 2的介面由於某一些區塊鏈實現不了。不過這個也不要緊,因為API裡面就設計了能讓你查詢這個結構,下面的鏈不能實現。

level 3就是讓程序可以繞過API的限制直接訪問底層提供的介面,所以level3是底層不同的,看起來都是level 3,但是可能實現會區別很大。

一個應用如果確保只用level 1或者是level 2的話,那這個應用得就特別好,幾乎不修改就可以換各種底層鏈。但是level 3的介面用得越多的話,就意味著你的上層協議還是會越多綁定在下面具體鏈的基礎上。

如果用level1和level2的話,還需要做定製化設計。因為鏈式配器的這層已經幫你把這個事情處理了。如果用了level 3,毫無疑問,用了具體原生的特性,這個應用必然會跟下層區塊鏈的距離會有一定程度的綁定。

AI金融評論:Blocklet運行應用的無伺服器計算架構組建,怎麼理解它作為這個平台的核心基礎所發揮的作用呢?

冒志鴻:它是個微服務的架構,而同時又支持Serverless方式來開發Blocklet。這兩者沒有必然聯繫,但是略有點區別——微服務是一對功能單一的服務,不是把一堆功能放在一個服務裡面。所以,一個完整的應用通常會有很多服務來協調。

舉個例子,比如說用ArcBlock來設計,一個最終的應用可能在背後有好多個甚至十幾個、幾十個服務,每個服務基本上只干一件事情。我們的設計原則是—— 一次只做一個事情,但是把這個事情做好。

Serverless有相當多的服務是短暫型服務,而且負荷可能很不均衡。舉個例子,假設用區塊鏈做一個知識分享相關的應用,那麼其中一些操作是非常少發生的,比如修改密碼、名稱、圖標;但是給文章點贊,給文章支付小費等行為可能會不斷地發生。

所以,在這樣的情況下,有些服務的運行量就可能非常大,另外一些運行量就很小,而且有很多服務運營很短暫。無伺服器的設計,使得開發者以函數的形式或者一小片任務的形式來觸發一件事情,就像微信用完即走。

這種設計對開發者來說,首先是更低的成本,如果你的計算資源是以毫秒級來計費的,當一些功能不需要運行時,就不需要付費了。

AI金融評論:無服務計算興起的時候,就有人說它運行代碼以毫秒級計費的方式會有很高的經濟成本,那麼ArcBlock在這方面的收費手段是什麼樣的?消費水平是什麼樣的呢?

冒志鴻:說它有很高的經濟成本其實這句話不是完全正確,它對相對來講規模不大的應用,對小規模的應用是更經濟的,但是對超大規模的應用,我相信其實是不夠經濟或者是最多是一樣經濟的。因為任何無伺服器的系統後面有一個框架來支持,那個框架仍然帶著服務,只不過就是無伺服器這個框架做了更合理的調度,讓你的應用不是那麼繁忙的時候,就把你置換出去,讓別的應用來運行。如果說你的應用非常開放,每時每刻都在運行你的運用的話,那麼這種情況下,通常來說應該是更貴的。

我們自己的計費模式和礦工利益分配機制將在我們基礎服務全部推出後的下一階段才推出,因此現階段無法透露會便宜到什麼程度。另外可以肯定的是,這些服務費用一定也是一個市場驅動的動態機制,生態越繁榮就會越便宜。。

開發者培育:無傾向性

AI金融評論:那其實現在公鏈平台都意識到要為開發者考慮,降低開發者的門檻,不過做法都不一樣,你怎麼評估這個市場現象呢?

冒志鴻:我相信任何一個公鏈,每一個區塊鏈技術,他們都必然會提供各種程度的開發者企業的支持和周邊的支持,但區別就在於具體某一個公鏈技術往往帶有自己很強的原生特性,這可能是出於戰略的考慮,所以這個恰恰也是我們ArcBlock給自己的定位,我們不去做一條新的公鏈,而是非常清楚地把自己定位在一個對開發者有好開發工具的角度。

因為我們處於這樣一個相對獨立的狀態,而不是站在底層某一個特定的技術,而這個技術要跟另外一個類似的技術去競爭的角度出發的。

舉個具體的例子,像以太坊和EOS他們在競爭的時候,他們就會出現相對尷尬的局面,比如說以太坊的智能合約一種方法做,EOS是用另外一種方法做,每家都有自己非常明確的戰略性的意義,因為它在考慮這個開發工具,首先要考慮戰略上是不是對自己有利,其次才是考慮能不能提高開發者的利益。

而站在我們的角度來講,我們就沒有任何因為戰略而綁定企業的問題,我們一切都是考慮怎樣讓開發者更容易使用,就是這個區別。

一個同時經歷過區塊鏈2.0和3.0濫觴的技術人

AI金融評論:說起「區塊鏈3.0」的概念,是什麼樣的技術自信,讓你們覺得你們可以創造區塊鏈3.0時代呢?

冒志鴻:區塊鏈是1.0、2.0、3.0,其實並不是我們發明的,而是在一、兩年之前,最早提出這個概念的是一本書,叫《區塊鏈技術:新經濟的藍圖》,這本書第一次提出了1.0、2.0、3.0籠統的劃分。這個劃分出來之後,越來越多人往這個概念裡面添磚加瓦。

現在被大家普遍認可的認為區塊鏈1.0屬於區塊鏈本身的設計,即只為承載數字貨幣而設計,舉個例子,就是比特幣。區塊鏈2.0通常是指這上面開始開發除了承載貨幣之外的屬性,獲得一些額外的代碼,典型的例子是染色幣,被認為是第一個區塊鏈2.0。現在典型的代表就是以太坊,它在區塊鏈上面放代碼,這個代碼是(智能)合約。

區塊鏈3.0最初的定義專註的是一個完整的應用,現在從我們的角度來看,我們認為區塊鏈3.0一個標誌性的變化應該是區塊鏈行業應用的落地,也就是區塊鏈應用能被普通的用戶、廣泛的大眾所接受。直到區塊鏈3.0技術出現之前,雖然媒體、公眾都已經對數字貨幣熱火朝天,但是真正我可以說90%或者是95%以上的人都不知道究竟數字貨幣是什麼,也無法掌握如何去使用和合理地來管理自己的數字資產。

區塊鏈3.0上各種各樣的玩家,無論是在做什麼,最本質的區別是能把區塊鏈的應用真正落到讓普通用戶也能使用的狀態。

AI金融評論:順著這個話題,剛才提到染色幣是區塊鏈2.0的開始,那麼現在到了3.0,作為一個2.0和3.0的見證者,你是如何判斷技術的節點以及怎麼去認識這個轉折性意義的呢?

冒志鴻:如果說2.0,其實是ArcBlock的首席科學家Flavien Charlon,他是染色幣技術的最主要的推動者,我代他講一下。染色幣的轉折點非常明顯,因為在染色幣之前,染色幣核心的概念非常簡單,就是在比特幣的網路上,利用比特幣區塊鏈的特點,在上面把空餘的欄位定義成數據的格式,這樣使得比特幣區塊鏈可以不但用於支持比特幣支撐,還可以用於一些其他的應用。

這個節點非常清晰,有了染色幣這個技術之後,比特幣一下子就可以承載一系列的業務。雖然染色幣出現得比較早,當時還比較原始,但是其實在染色幣時代他們所聯想到的各種區塊鏈可以開展的業務,我可以說現在80%、90%都在染色幣時代都已經想過了。

包括像現在的ICO——發行自己新的代幣,用代幣來處理各種各樣的場景,那都是在染色幣時代的想法。

對照互聯網:區塊鏈是站在前人的肩膀之上做服務

問:關於ArcBlock組件是面向雲計算時代設計的這一點,這個設計和今天的分散式計算有什麼區別和聯繫呢?

冒志鴻:有非常大的聯繫,因為本質上來講,分散式計算是一個談了幾十年的概念,今天的ArcBlock都是建立在前人的基礎之上。比如說比特幣,它就是建立在P2P的網路之上,今天所謂的區塊鏈,基礎都是P2P,P2P就是一種最典型的分散式計算。所以,區塊鏈、雲計算都和分散式計算有著千絲萬縷的聯繫。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

比特幣跌破8000美元;A站融資未完成,拖欠員工工資被迫關停;樂視56.19億債務將於2018到期 | 雷鋒早報
OKEx推出「市商計劃」

TAG:雷鋒網 |