天天看點

區塊鍊項目 | ArcBlock CEO 冒志鴻:所謂區塊鍊3.0的真正所指跨協定相容,降低開發試錯風險區塊鍊3.0:選擇雲節點設計,對抗區塊鍊“原教旨主義”區塊鍊3.0的理想和風險ArcBlock的實作細節開發者培育:無傾向性一個同時經曆過區塊鍊2.0和3.0濫觞的技術人對照網際網路:區塊鍊是站在前人的肩膀之上做服務

區塊鍊項目 | ArcBlock CEO 冒志鴻:所謂區塊鍊3.0的真正所指跨協定相容,降低開發試錯風險區塊鍊3.0:選擇雲節點設計,對抗區塊鍊“原教旨主義”區塊鍊3.0的理想和風險ArcBlock的實作細節開發者培育:無傾向性一個同時經曆過區塊鍊2.0和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就是一種最典型的分布式計算。是以,區塊鍊、雲計算都和分布式計算有着千絲萬縷的聯系。

原文釋出時間為:2018-02-16

本文作者:溫曉桦

本文來源:

雷鋒網

。如需轉載請聯系原作者。