飛鳥社群分享:如何加速進入區塊鏈 3.0 時代?

【飛鳥社群·區塊鏈價值投資系列課程】第 27 期

嘉賓: 冒志鴻
ArcBlock 創辦人,連續創建天擇軟體、北極星軟體、優友地帶三家公司,是國內最早的 VoIP 通訊系統和社交網路服務創造提供者。此後加入了微軟歐洲研發中心和微軟美國研究院,從事社會化運算研究。 2017 年,在美國創立 ArcBlock,為區塊鏈 3.0 時代的到來奠定堅實的基礎。
時間: 6 月 20 日 20~21
地點: 飛鳥社群直播群

區塊鏈應用是區塊鏈 3.0 時代的代表,而目前區塊鏈應用有哪些問題?區塊鏈應用開發者正在面臨哪些問題以及該如何解決? ArcBlock 創辦人冒志鴻為我們帶來精彩的分享。全文包括四部分:
一. 區塊鏈時代的界定
二. 區塊鏈應用目前存在的問題
三. 開發區塊鏈應用的門檻
四. 如何降低區塊鏈開發門檻
以下是分享全文:
大家好!我是 ArcBlock 老冒,非常高興有機會跟大家分享。今天我們談的話題是《區塊鏈 3.0 時代的基礎架構》。
區塊鏈時代的界定
區塊鏈 1.0、2.0、3.0 的定義比較模糊,沒有非常明確的界定。最早的界定來自於一本叫做《區塊鏈新經濟藍圖》的書,書中認為 區塊鏈 1.0 以比特幣為代表, 是一個分散式的帳本,帳本上所承載的資料都是交易記錄;區塊鏈 2.0 以以太坊為代表, 最大的特點是加入了智能合約,它的分散式帳本不僅有數據,還可以跑程式碼;區塊鏈 3.0 更強調的是應用,這是這本書中最初的劃分。而今天關於 區塊鏈 3.0 基本的共識是應用。
簡單介紹一下 ArcBlock。 ArcBlock 不只是一個區塊鏈項目,也是一個雲端服務平臺,專門為開發和部署區塊鏈應用而設計研發。和傳統的雲端運算平臺不同,ArcBlock 提供了一系列獨特的服務,讓開發者存取區塊鏈、開發區塊鏈應用更容易。
區塊鏈應用目前存在的問題
區塊鏈 3.0 核心圍繞應用,最主要的目的是讓用戶能更方便使用。
接觸過區塊鏈和數位貨幣的人都能體會到現在的區塊鏈應用很不友好,即使是最方便的錢包,比如 imToken,美國的 Coinbase 已經在如何讓用戶使用更容易上考慮很多,但它的使用體驗與銀行系統、支付寶或微信支付相比,卻要難用很多。
一些基於以太坊優化的 DApp 提供的服務讓人非常失望,這些 DApp 就像網頁,打開速度很慢,跟今天微信小程序以及移動 APP 的體驗是天上和地下的區別,可以說這些 DApp 仍處於非常原始的狀態,更不用談它的性能。

現在的區塊鏈無論是以太坊還是比特幣,效能是所有人心中的痛。常用的朋友都有這種體會,用錢包打幣遇上以太坊堵塞或者其它莫名其妙的錯誤,你打了半天仍然不確定交易是否成功......從某種角度講,如果不是數字貨幣可以變成錢,這樣的應用請你用你可能也不一定用。
雖然各種各樣的問題一大堆,但並不意味著今天存在的問題將來還會存在。實際上,區塊鏈在應用性、效能、開發者不友善等每一個問題都代表著巨大機會,只要能改善這些問題,即使只是一點點,都可能帶來一個全新的市場和一個全新的機會。
開發區塊鏈應用的門檻
作為一個開發過區塊鏈應用的開發者,我們會意識到光是初始開發已經相當不容易。
以以太坊為例,目前以太坊有區塊鏈領域最齊全的技術,無論是開發環境還是 SDK,以及它的文檔也寫得非常好,容易上手,但要想真正把一個基於以太坊的區塊鏈應用開發出來:首先需要安裝一個本地節點,同步節點數據就要花很長時間;然後它有若干個不同的 SDK,你要選擇其中一種 SDK 做開發,但每一個 SDK 都需要進行基本的學習。也就是說,想在以太坊上開發一個應用程式是有進入門檻的,第一步就要折騰很久,需要克服不少問題才能寫出第一行程式碼。
如果想在比特幣這樣早期的區塊鏈上做開發,需要找一個第三方的 SDK 或 Library(庫),因為比特幣就不是為開發者設計的,光是建立開發環境就要大費周章。
更糟的是,一開始選型是非常頭痛的。如果你沒想清在哪一條鏈上做應用,這意味著你一旦選錯輪子,接下來會走很多彎路,在前面輪子上投入了很多成本,切換又要很多新的學習成本。
所以區塊鏈目前存在的問題跟早年的資料庫一樣,群雄割據,不同的區塊鏈有不同的基礎架構、不同的協定、不同的 SDK、不同的開發環境,這使得開發區塊鏈應用有一個很高的進入門檻。
如何降低區塊鏈開發門檻
為瞭解決區塊鏈對開發者不友善的問題,ArcBlock 設計之初首先解決的就是技術問題。 開發者如何存取區塊鏈?如何讀取區塊鏈資料來編程式?如何查詢資料?如何發送交易?如何把區塊鏈合理的作為應用的一部分?哪些計算應該在鏈上、哪些應該在鏈下?我們把這些問題簡化後,開發者可以把更多精力花在做應用程式上,而不是花在怎麼裝節點、選擇 SDK,如何學習區塊鏈開發之上。
在這個設計思想指導下,ArcBlock 有一個非常重要的部件,叫做“開放鏈存取協定(Open Chain Access Protocol)”,簡稱為 OCAP。目的就是設計出一個抽象的中間層,開發者可以透過這個中間層有效的存取和操作不同的區塊鏈系統,我們同時設計出不同區塊鏈的適配器來實現這個功能。這個月剩下的十天之內,ArcBlock 將會按照計畫發布第一個應用,這是一個基於「開放鏈存取協定」的應用,我們稱它為 OCAP Playground。
顧名思義,Playground 可以翻譯成“遊樂場”或“操場”,這是一個針對開發者的應用,開發者可以透過這樣的 Playground 隨時和底層區塊鏈打交道,查詢數據,發送交易,而且非常輕鬆、容易。如果開發者想在以太坊、比特幣或其它區塊鏈上做一些基礎操作,例如查詢某一個地址有哪些交易,不需要安裝節點、SDK,只需打開 Playground 輸入 OCAP 所支援的查詢語句,就可以立刻獲得資料。類似的,透過 OCAP 發出一些交易的指定,也可以把這些交易透過 OCAP Playground 廣播到區塊鏈上去。

為了讓查詢語言變得簡單和標準,我們最終選擇了 GraphQL 作為 OCAP 的查詢語言,GraphQL 是 Facebook 發明並且貢獻到開源社區的一個查詢語言,它對前端工程師非常友好,除了得到 Facebook 支持,也得到了不少大公司的支持,但離主流還有一些距離。
簡單的總結 OCAP 所幹的事就是提供了一個非常簡單、規範而且標準化的開發接口,讓更多前端的工程師可以參與到區塊鏈的開發之中來,大幅度降低區塊鏈應用開發的門檻,使越來越多聰明才智的開發者可以一起來把區塊鏈應有在各種有趣的應用之上。這對區塊鏈應用的繁榮是一個非常重要的貢獻。
再過幾天,大家都可以在 ArcBlock 上看到和實驗 OCAP Playground,這是一個看起來非常簡單的介面,但背後隱藏著相當多的複雜性。首先我們開發了比特幣和以太坊的適配器,有不少懂技術朋友,曾經在跟我們私下討論過這個問題,認為適配器就是把比特幣以及以太坊的 API 重新包裹一下,看起來很簡單。實際上要想做出一個好的“開放鏈存取協議”,把適配器做好,今天的區塊鏈技術的底層資料儲存是一個巨大的挑戰。
底層的資料儲存大部分都不是為查詢而優化的,例如以太坊提供的 SDK,雖然每人都可以獲得區塊鏈完整的數據,但要做一些簡單的查詢相當困難。 OCAP 為了適應比特幣和以太坊,除了幫開發者運行比特幣和以太坊節點,還做了一個區塊鏈數據的搜尋引擎,可以飛快的查找各種數據,這個數據需要不斷地跟區塊鏈同步和 index(索引),透過 index 出來的數據,可以隨時進行校驗保證數據真實性。
顧名思義,適配器的目的就是讓老一輩的區塊鏈適配新一代的開發協議。隨著區塊鏈技術的發展,未來區塊鏈將提供更強大的功能,可能是更強大的 API 支持,甚至可能有更好的數據存儲的結構,使得 OCAP 的適配器越來越容易開發,以及讓更多開發者意識到 GraphQL 也是一個非常適合於開發區塊鏈應用的查詢語言,可能會出現更多的區塊鏈項目。

ArcBlock 究竟是什麼?
花這麼多時間講 OCAP,一方面 OCAP 是第一個提供區塊鏈開發服務的應用,另一方面是因為 OCAP 具有非常重要的意義。不少人都會問 OCAP 是不是一個跨鏈存取的協定?一個工具?大家都很關心。
ArcBlock 的“開放鏈存取協定”,首先並不是傳統意義的跨鏈協定。開發者可以透過 OCAP 的一個相同的介面存取背後支援的所有區塊鏈項目。舉個例子,例如一個透過 ArcBlock 開發的鏈,可以同時跟多個鏈打交道,但是它並不是一個區塊鏈協議,並不試圖讓資產在不同鏈間轉移或保證不同鏈之間資產的一致性,這一點和現在常見的區塊鏈很不同。

從應用場景場景來說,OCAP 的目標是把開發者從多種區塊鏈協議,不同區塊鏈技術這些細節之中解放出來,並不是讓跨鏈變得更容易,而是為瞭解放開發者;另外一方面是從應用適用角度出發,一個應用跨越多個鏈時,大多數情況在應用層面都可以解決,只有很少數的一種情況需要用到現在的跨鏈機制。
分散式資料庫:
電腦科技日新月異,每過一段時間都有新的概念出現。當我們看一個新概念比較困惑,看不清楚它的未來時,可以去類比過去有沒有類似的技術?它們過去曾經發生過什麼事?歷史是驚人相似的。我建議把區塊鏈類比資料庫,從某個角度來講兩者有非常多共性,區塊鏈的核心是一個分散式的帳本,這個分散式帳本和分散式資料庫有非常多的連結。
大家談區塊鏈就會談共識機制,共識演算法,像是 PoW、PoS、DPoS、PBFT。分散式資料庫也有共識演算法,最重要的共識機制是分散式資料庫裡不同的資料分散在不同的節點上時要形成一個共識,這個共識就是資料一致。在區塊鏈裡面,從某個角度來講區塊鏈和資料庫的儲存機制是非常類似的,底層也非常相似。
資料庫的日誌是資料庫非常重要的東西,跟區塊鏈的帳本非常相似。區塊鏈的智慧合約容易讓人聯想到資料庫的發展過程,這個儲存過程曾經引起了非常大的關注,直到現在儲存過程仍然是資料庫裡一個非常重要的效能。
今天儲存過程作為資料庫裡的一個基礎的服務,它的重要性也沒那麼大了。今天開發一個資料庫應用,基於 java 或基於微軟的應用伺服器,往往是一個完整的基於資料庫應用的非常重要的部分。在這樣一個重要的應用系統之中,資料庫非常重要,它處於中心位置,雖然它很重要,但是大部分的投資和開發其實都花在應用程式伺服器上。再例如區塊鏈分片技術主要是解決區塊鏈效能問題,分片就是從資料庫基礎裡面發展過來的,也是在資料庫發展到一定程度,出現的大量的技術之一。
所以當我們去看過去的歷史,如果能找到一些比較好的類比對象,就可以用這些歷史來分析思考區塊鏈未來的發展。
今天非常感謝有這樣一個機會,恰好在我們這個產品即將發布的時候,讓我有時間深入的給大家介紹我們是如何看待區塊鏈 3.0 的走向以及如何用自己的解決方案幫助更多的開發者和我們一起邁向區塊鏈 3.0 時代。今天的區塊鏈就像是未開發的西部,大家都在忙著跑馬圈地,究竟你走的路也不正確?你代表的方向是不是未來的趨勢?誰也是說不清,但是你可以充分發揮自己的創造力,去做自己想做的事。
區塊鏈 3.0 時代“得應用者得天下”,也就是“得開發者得天下”,只有越來越多應用開發者形成共識,才能創造一個更好的區塊鏈 3.0 的明天。我相信區塊鏈技術本身有成長空間,加密貨幣、交易所等都有繼續成長的空間。但更大、更廣闊的機會來自於區塊鏈的應用,我們願意和大家一起找到區塊鏈 3.0 未來最佳的時間路徑。
飛鳥回答
Q1:怎樣才能進入區塊鏈 3.0 時代(區塊鏈應用大規模可用,需要哪些條件)
- 對開發者友善
- 對使用者友善/不可見
- 性能滿足要求
- ……
冒志鴻:毫無疑問,對開發者友好是非常關鍵的,只有把開發者解放了,將開發者的能量發揮起來,貢獻各種各樣的智慧和想法,這個生態才能繁榮,才能百花齊放。 如果大家都在做新鏈,開發者沒有被解放,大家仍然是在很一些瑣碎的事情,做到應用的繁榮就很難。
開發者的問題解決了,對使用者友善的問題自然也解決了。 使用者友善一方面是講使用者體驗,另一方面是說應用程式能不能解決使用者的實際問題。在解決用戶實際問題時,區塊鏈有沒有起到創新、革命性、決定性的作用,這不是區塊鏈設計者關心的問題,而是應用開發者關心的問題。所以只有讓應用程式開發者有精力專心致志的思考應用問題,才能解決對使用者友善的問題。
效能也非常重要,任何一個服務,沒有好的效能,沒有足夠快的速度,更不用談使用者體驗。我對區塊鏈性能是非常樂觀的,最早出現的計算機,體積像一間房子那麼大但性能還比不上一個 iPhone,可能連 MP3 裡面的一個晶片都比不上。今天的區塊鏈處於早期,效能有問題很正常,這些問題都會解決。

要真正進入區塊鏈 3.0 時代,就要有統一的標準。 區塊鏈的最大的問題是區塊鏈體系架構還沒有統一,從上層表現出來就有很多問題,例如區塊鏈的開發語言以及 SDK 非常混亂。以太坊開發了 Solidity 語言是因為在區塊鏈上實現虛擬機器必須保證只要輸入相同的語句,無論什麼情況都應該得出相同的結果。而 hyperledge 的想法就跟以太坊完全不一樣,設計想法差異相當大。
還有一個問題來自於應用程式開發者,究竟怎樣才是一個區塊鏈應用?如何開發一個區塊鏈應用?整個產業並沒有共識,沒有最佳的實踐。很多應用都要做鏈,做個打車應用就要做打車鏈,做個房產應用就要做房產鏈。還有一些其它思路,比如以太坊要做一個全世界的計算機,計算機的事情都在可以在以太坊搞定,以太坊供應鏈上可以承載各種各樣的應用。
對於這種不同的思路和想法,從好的角度來講,可以說是百花齊放;從壞的角度來講,今天還沒有形成一個最佳的實踐,業界沒有共識。
這就好比在網路早期,寫一個 Web 伺服器或應用,有人用 C 和 C++,有人用 Java,有人發明 PHP 的新語言,用 PHP 的腳本去寫。在網路時代想開發一個 Web 應用,一度也是百花齊放,沒有最佳實踐,但在今天再去開發一個 Web 應用,這個輪子就沒有那麼多了。區塊鏈 3.0 還處於一個早期,越來越多人意識到要讓區塊鏈繁榮,就需要在它裡面開發出各種各樣的應用,這個顯然還屬於非常早期的階段,不同的開發者都有不同的想法。
ArcBlock 作為業界的先驅,開發出像 OCAP 這樣開放標準應用,不用重新發明輪子就能把 GraphQL 社群結合進來統一區塊鏈開發的中間層是非常有意義的。如果這個方向正確,它可能對整個區塊鏈的發展,尤其是對區塊鏈應用發展都會產生深遠的影響。

比較資料庫跟區塊鏈,只要看看當年資料庫發展的過程,它曾經走過了哪些彎路,最終是發生了什麼事,再拿它過來思考區塊鏈的發展,是非常有啟發和有意義的。當年的資料庫也是百花齊放,每種不同的資料庫都有自己的 SDK、API,都有不同的函式庫,但是最終查詢語言都被 SQL 統一了,資料庫的連結也被一個連結中間件給統一了,最早就是 ODBC,後來 Java 更是把 ODBC 的思路採納進去,變成了 JDBC。
今天開發資料庫應用,幾乎沒有人會考慮用哪一個原生的 API 或者原生的庫去存取資料庫了,通常都會採用一個連接的中間件,例如 JDBC 或 ODBC。進行資料查詢、資料操作都會採用 SQL 語言。 OCAP 非常接近 ODBC 和 JDBC 在資料庫界的地位,而我們採用的 GraphQL,它就非常像 SQL 在資料庫查詢之中所處於的地位。
ArcBlock 在技術白皮書裡不止提出了“開放鏈訪問協議”,還提出了“基石程序(Blocklet)”以及去中心化訂閱網關(Decentralized Pub/Sub Gateway)等部件,這些部件後續都會一一開發出來,這一系列步驟可以大幅度降低開發難度,並且提升用戶的使用體驗。這些事情還需要時間,軟體開發是一個非常漫長的過程,有些東西講起來很容易,但要實現它有非常多的路要走,有非常多的坑要去踩的,所以希望大家能對我們有更多的耐心。
Q2: 亞馬遜的 AWS 上也提供區塊鏈服務,它們的服務和 ArcBlock 有什麼本質差異?
冒志鴻:最早提供 Blockchain 服務並不是 AWS,而是微軟的 Windows Azure 和 IBM 的 Bluemix。無論 Windows Azure、Bluemix 或亞馬遜提出的 Blockchain service,他們主要目的都是幫你快速的部署區塊鏈的節點。以 AWS 為例的話,它提供的工具可以讓開發者更快的部署一個以太的節點,這對開發者來說是非常基本的事情。
ArcBlock 所做的事情比部署一個節點要多得多。除了幫助開發者部署好節點,ArcBlock 也能讓你透過統一的方法去開發區塊鏈。如果在 AWS 上部署了一個以太坊的節點,還是得拿以太坊自己的 RPC 跟它進行通信,如果部署比特幣的話,還是得自己想辦法做比特幣的工作。固然是幫開發者省了一些事情,但是距離幫他更容易的做開發還很遙遠。 IBM Bluemix 基本上是獨家的,為自己的 Hyperledger(超級帳本)做了不少部署工作。 Windows Azure 也是差不多這樣的一個設計。
Q2 追問:想請問下資料儲存方面是連接微軟,阿里雲之類,不自己做雲端伺服器麼?
ArcBlock 本身就是雲端服務,但 ArcBlock 的想法一個叫做雲端上雲的概念,它部署區塊鏈服務的想法跟以太坊、比特幣非常不同。
今天的以太坊、比特幣以及其他一系列區塊鏈的設計基本上都是 P2P 的發展思路,它的每個節點都是一個伺服器。 ArcBlock 首次提出了雲端節點的概念,這個節點有可能不是一臺實體機器,而是由多臺雲端服務的節點組成的。從這個角度上,我們認為雲端運算已經逐漸成為基礎服務,尤其在區塊鏈時代,區塊鏈應用成了一個非常高層的,不像 TCP/IP 的協議,它是一個底層的通訊協定。而區塊鏈的協議,即使比特幣底層的協議也是相當高的應用存在協議。隨著雲端服務變成一種普遍且逐漸標準化的服務,完全有可能在雲端服務之上建立一個新的層次,這個層次它建立在雲端服務之上,但卻是跨雲端存在的。

在電腦科學裡有一句經典的話,它既是一個經典的玩笑,也是一個經典的事實,就是說在電腦科學裡面,任何問題都可以透過增加一個新的抽象層來解決。隨著雲端服務的普遍,可以預見不久的將來,在雲端服務上增加新的 level 是非常現實可行的。
ArcBlock 採用的就是這個思路,今天的雲端服務其實是在過去些基礎上面增加了一個新的 level,因為雲端服務下面都有一堆虛擬機跑在多個資料中心上,把這些實體資料資源變成雲端之間的服務,今天的電腦裝在一個盒子裡,倒退到多年前,電腦是由很多資料中心構成的,而再往前的電腦則是往前走ArcBlock 走上雲端節點時,在外面展示的不是一個實體設備,而是跨進了雲端服務之上的一個邏輯上的節點,這個設計是非常不一樣的,我們在白皮書中專門指出了這個設計區別。
Q3: ArcBlock 本身的 Token 經濟體係是怎麼設計的?如何用它形成良好的生態體系。
冒志鴻:ArcBlock Token 的設計和比特幣以及以太坊都不一樣,比特幣區塊鏈技術是一個非常專用的區塊鏈,這個鏈上只跑著比特幣這個應用。在比特幣這個區塊鏈上,作為獎勵的 token 就叫做比特幣,所以比特幣其實是一個功能專注、單一化的一個區塊鏈的技術和應用。
以太坊往前邁進了很大一步,以太坊出現之前很多人想擴散比特幣裡面的空白數據來做一些應用。例如彩色幣技術,首席科學家 Flavien Charlon 是染色幣時代非常重要的創新者。但是彩色幣技術是基於比特幣本身擴展,比特幣核心開發組並不喜歡彩色幣擴散的方法的思路,在技術上對他們進行了限制,他們沒有獲得非常好的發展。這時以太坊應運而生,它的設計定位叫做「世界的電腦」。以太坊的願景是做“世界的電腦”,這個願景非常偉大、非常了不起,但要實現非常困難。今天以太坊最大的應用是 ICO,也就是在以太坊發各種各樣的 token,例如著名的 ERC20 token,現在無數的 ICO 的項目都是依賴於以太坊能夠支持 ERC20 這種方式來發 token。但是在以太坊上發 ERC20 token 只是以太坊裡面一個非常小的應用,因為以太坊目標是要做一個圖靈完整的計算環境,提供一個通用的計算機。
從這個角度來講,以太坊如果能實現這個願景是非常了不起的,然而要實現非常困難。到今天,大家遇到了一系列問題,例如效能低下,比如說前一段時間爆出的各種各樣的智能合約的漏洞問題。這些都導致以太坊距離實現這個宏大願景越來越遠。

在以太坊的 ERC20 token 機制裡,ERC20 是一個簡單的 token。首先 ERC20 創建的 token 和以太坊上面的以太幣完全是不同層級的,它相當於是「二等公民」。而 ArcBlock 有一套自己的 ABT 鏈,它的設計的思路和比特幣、以太坊徹底不同,我們準備自己走一條不同的方向,並將這個定位定義成“可編程的 token”,一切的核心技術都是一個可編程的 token。所以我們不是要做一個圖靈完備的通用的運算環境。
ABT 鏈支援的是特定領域語言,目的是能實現一個高效能的 token 並在 token 上做可程式化的運算。 ABT 上面的 token 和 ABT 本身一樣,都是“一等公民”,也就是說在 ABT 鏈上所產生的 token,無論是我們自己原生的 ABT,還是應用開發者發行的 token,它的性質和地位是同等的。
另外 ABT 所提供的不只像 ERC20 提供一個 token 的接口,這個接口就好比在編程式時定義了一個變數一樣,只是定義了一個變量,這個變數如何操作?能帶來什麼樣的應用?這一切什麼都是沒有的,都是空白的,還需要做一連串的工作去實現。 ABT 圍繞著這個 token 機制,提供了 token service,把一個 token 經濟體系之中,幫助用戶實現一些最基本的,最常用的功能。要形成 token 經濟最基礎的部分,比如說 token 的轉移、token 的性質本身、token 上面的一些合約以及 token 的服務,比如 token 的儲存轉賬等一系列的工作,都有基礎的服務幫開發者做好,不像 ERC20 只是定義了一個抽象的接口,而沒有任何實現。
另外,ArcBlock 計畫年底主鏈上線,如果一切順利的話才會上線。吸取一些 EOS 主網上線沒多少小時就全面崩潰的教訓,任何一個新的區塊鏈,即使有自己的原生 token,還是需要多花時間好好測試。 ArcBlock 主鏈上線的時間直接取決於測試的表現。
Q4: BaaS 能否理解成是一個區塊鏈開發者、創業者的孵化器?
冒志鴻:Blockchain as a Service 能讓區塊鏈開發者和創業者更容易,孵化一個完整的應用需要考慮很多面向。 Blockchain as a Service 只是讓開發和部署更簡單、更有效率,例如微軟對亞馬遜。 Blockchain as a Service 對於 ArcBlock 相當於是為開發者提供一個完整的開發和部署應用的環境,對區塊鏈的開發者和創意者有更好的支援作用。但是孵化一個項目,包括從想法的驗證到孵化,需要做的早期投資,或是幫開發者找資金和客戶,是一系列的工作。
ArcBlock 的目標是幫助開發者更好的建立起開發者的社區和生態,所以除了提供技術支持,我們還計劃為開發者提供一系列服務,更好的扶持開發者。從一個 idea 的亮相到孵化,提供資金和各方面的支持直到產品變成應用。
Q5: 區塊鏈 3.0 時代基礎設施除了公鏈,跨鏈,應用服務平臺,還有什麼?
冒志鴻:在區塊鏈 3.0 時代做好一個應用,除了公鏈、跨鏈服務、應用服務平臺,還需要很多零件。例如分散式儲存,直到今天它還有相當大的市場,以 Filecoin 為代表。
從應用角度來講,除了鏈、應用平臺、儲存,還有很多其它的需要,這都是開發者的機會。透過區塊鏈能讓全世界的開發者聯合起來建立起一個互相協作、利益共享、利益分配的機制,這個機制建立在區塊鏈基礎之上能讓有技術的出技術、有資源的出資源、有底層能力的人出底層能力、有應用想法的人專門去做應用、有做共享部件的人做共享部件,可以形成軟體開發的人。

除了分散式儲存,如何解決去中心化的 ID、去中心化的使用者資料以及使用者身分和資料可攜帶性等問題,都是目前沒有解決但是在未來可能會需要用到的服務,對開發者來說,有非常多的機會。
從另一個角度來講,當區塊鏈的技術服務變成主流之後,現有企業軟體都可能為適配區塊鏈、數位貨幣以及其他新業務而改變。多年前電腦產業遇到的「千年蟲」問題就為軟體開發、軟體諮詢企業提供了巨大的機會。拿「千年蟲」問題比較區塊鏈、數位貨幣會為整個軟體產業帶來多麼龐大的新機會。
Q6: 不同基礎架構如何與公鏈互動?
冒志鴻:舉個例子,例如一種分散式儲存的基礎應用,它本身跟區塊鏈沒有必然聯繫,但是分佈式儲存裡儲存的某些內容和公鏈之間有關係。例如將來出現可以對學歷、數位憑證進行管理的比較典型的服務的應用,在區塊鏈上儲存大量數據是不合適的,假設學歷這塊需要保存比較多的數據,證書部分數據就需要分佈式儲存,並設置一些校驗碼或者數字簽名保存在鏈上。這也是現在比較典型的、常見的做知識產權、內容溯源的一種方法,即鏈上保存簽名,鏈下保存資料。許多鏈下資料的保存都仍然是採用中心化的設計做的,如果有一個更好的分散式儲存能把這些資料保存在分散式儲存系統之上,而用區塊鏈對這個簽章進行校驗,這是典型的鍊跟鏈下的技術服務之間的交互。
Q7: OCAP 本身是中心化的架構嗎,比特幣其實是沒有資料庫的,本質是 UTXO,OCAP 是中心化的查詢索引嗎?
冒志鴻:OCAP 可以被多個節點部署,也就是說 OCAP 可以由多方共同運行,可以由他人來運作。從某個角度來講,OCAP 是一個去中心化,可以分佈的設計。比特幣本身沒有資料庫,它的底層是基於 Key Value 資料庫。
比特幣查詢是基於 UTXO 的,每次查詢都需要重新計算。當資料量變大,查詢效能降低,直接從比特幣的底層資料結構做比較特殊的查詢非常耗幾乎不可能實現。所以 OCAP 其實是對比特幣所有的資料重新 index,目的是讓查詢更容易。今天大家所用到的比特幣、以太坊的各種區塊瀏覽器,Etherscan 區塊瀏覽器,它們都需要在現有的區塊鏈基礎上對資料進行重新 index,才能滿足查詢的要求。
本頁涉及
活動
-
社群節目客席
confirmed
2018 年 2 月到 2019 年 9 月,我們在十檔中文加密社群節目裡做過客 —— 公開課、微信群系列、講座課程。每一檔都是別人的常設節目,我們上的是其中一期;下面每一條都寫著是誰的節目、第幾期。