幣探索:OCAP Playground 如期發佈,讓區塊鏈開發變得更友好

作者: 衛海豔
媒體: 幣探索
日期: 2018 年 7 月 13 日
時隔半年,ArcBlock 區塊基石逐步從理論走向落地,第一款應用“開放鏈訪問協議實驗臺( OCAP Playground )” 已如期正式發佈。一系列相關的 Hackathon 也即將舉辦,直面開發者,讓區塊鏈應用開發變得簡單、友好。
關於團隊
1.目前團隊的主要精力是在哪方面?
老冒: 今年的主要精力會放在兩方面:
一方面是產品開發,按照我們今年的計劃,ArcBlock 平臺到今年年底要正式推出和推廣,讓更多的開發者能在平臺上開發應用。
另一方面是社區活動,從這個季度開始,我們會舉辦大量的 Hackathon (黑客馬拉松) 活動。因為我們的用戶群主要是開發者,所以我們的策略是準備舉辦大量的 Hackathon 活動。
2.在產品開發和社區活動方面,團隊的顧問會提供一些額外的幫助嗎?
老冒: 不同的顧問能提供不同性質的幫助。我們的顧問團隊是比較多樣全面的,比如丹華資本的張教授,他屬於 VC 和科學家,在當前階段給我們的幫助可能會相對少一些。而我們還有幾位顧問是做市場相關的,他們在這段時間對我們的幫助就特別大。
我們和顧問會一起討論用人計劃,甚至有時候我們的非技術相關的人員招聘,也會請他們來幫助我們一起面試。
每個顧問都有各自的專長,某些時候他們可能特別有幫助,有時候他們可能暫時幫不上忙。但是長期來講,需要組建一個顧問團隊,讓你在各個不同的階段都可以找到合適的人來幫助你。
關於 OCAP
1. 您很多時候拿數據庫的 ODBC 來比喻和比較 ArcBlock ,這次是否可以換個角度分享一下,您認為區塊鏈和數據庫有哪些不同?
老冒: 我一直認為數據庫和區塊鏈在整個系統架構上有非常近似的地方,在地位上比較接近。 ArcBlock 的開放鏈訪問協議( Open Chain Access Protocol ,簡稱 OCAP )也是受到 ODBC 的啟發而設計。
區塊鏈和數據庫不同的地方非常明顯,數據庫的最大特點是查詢,它的查詢系統特別好用,並且大部分的數據庫都是可以靈活修改的。
區塊鏈追求的是成為一個公開透明的賬本。數據庫非常容易進行一些修改的操作,對區塊鏈來說,增加的時候需要通過共識才能實現增加,刪除和修改都是不可以的。
數據庫大部分作用都是用來查詢的,具有非常強的查詢能力。而現有的區塊鏈,在查詢支持上非常弱,甚至現有的區塊鏈在數據結構的設計上,數據組織方式上都是非常不利於查詢的。
2. 開放鏈訪問協議 OCAP 和 ODBC 有哪些不同?
老冒: 這是完全不同的兩個東西。 ODBC 主要是解決連接問題,用一個統一的接口來連接不同的數據庫。 OCAP 主要是通過一個統一的方式來訪問不同的區塊鏈。從邏輯上和設計思路它們很接近,但是是兩個完全不同的概念,一個是連接數據庫,一個是連接區塊鏈。
3. OCAP 協議的制定完成了多少?
老冒: OCAP 協議本身是比較簡單的,已經全部完成。 OCAP 選擇的是 Graph QL 查詢語言, GraphQL 是 Facebook 實現的,從這個角度來說,我們直接採用了一個輪子,這部分我們不需要重新定義了。
所以 OCAP 本身的設計應該說基本上完成了。但是從完成協議,到把所有的服務全面部署到各個鏈上,中間還是有很大距離的。在現階段,我們實現了部分鏈,比如比特幣、以太坊,接下來會支持更多的鏈,還需要整個社區來和我們一起完成。
4. 目前發佈的開放鏈訪問協議實驗臺中的 API 就是 OCAP 協議的所有接口嗎?
老冒: 實驗臺中的 API 是所有的接口,另外我們採用的 GraphQL 本身的語法和能夠支持的內容是與後端實現相關的,也就是說,實驗臺能支持多少東西,不僅僅取決於實驗臺本身,還取決於後端支持多少個鏈。
可以理解成實驗臺支持多少種協議,支持哪一類數據結構,不是固定寫死的,可以通過開放鏈訪問協議 OCAP 向後端詢問,需要支持哪些數據,支持哪些操作,然後後端告訴它,實驗臺再去準備。所以 OCAP 協議有一部分是詢問性的 API 。
每個鏈的功能不一樣,支持的東西也不一樣,在這種情況下,不可能在前端就把它完全寫死,需要有這種查詢性功能,就是在調用之前,可以通過查詢 API 來了解可以支持哪些操作。
5. OCAP 實驗臺目前好像只支持 Bitcoin ,預計什麼時候會發布支持以太坊的版本?
老冒: 支持以太坊的版本我們短暫開放了一下,但是後來研發人員覺得還沒有足夠準備好,所以臨時在現在的版本上去掉了,但是過幾天還會再開放。比特幣、以太坊基本都已經支持,最近會全面開放。
6. 從我們體驗 OCAP 實驗臺來看,目前的功能主要是封裝了比特幣的幾個區塊鏈查詢接口,而且封裝的數據結構類型也是參考的比特幣區塊鏈結構,比如其 UTXO 模型就是以太坊沒有的,那麼, ArcBlock 在之後集成多個鏈時,對於這些基礎結構的差異會如何處理呢?
老冒: 這就是 GraphQL 設計非常厲害的地方。它不同於傳統的東西,傳統 Restful 定義 API 時,反饋的結果就被固定了。我們現在採用的這種設計,返回的數據結構是隨著輸入的變化可以隨時變化的,這是 GraphQL 非常重要的特性。
舉個例子,當你在區塊鏈上查詢兩三個字段,在你查詢的時候就可以指定,返回的數據結果就是你需要的結果,不會把不相關的信息都返回。
如果你查詢的時候,需要的結果是一個比較複雜的嵌套型的數據,你在訪問的時候,定義查詢數據管理嵌套返回,出來的結果就是嵌套的。所以,這樣來看, GraphQL 就有特別大的好處,返回的數據結果和你正在訪問的區塊鏈有非常密切的關係。
如果返回的是一個比特幣,返回的數據結果就是完全 1 映射的比特幣本身的數據結構,而不是去制定一個中間的數據結構。如果你要返回的是一個中間的數據結構,要不就是一個子集,子集就會導致一些東西的遺漏,要不就會是超集,超集意味著這個數據結構非常稀疏,很多層次都沒有。
無論是超集還是子集,對於開發者都非常不利,因為開發者拿到一堆數據結構,不知道哪些字段是有效的,哪些字段是無效的。採用我們現在的這種設計方法非常清晰,返回的數據就是產品開發者定義的需要的數據。
如果使用開放鏈訪問協議想在以太坊的鏈上指定去獲得比特幣的數據結構,直接在查詢建立的時候系統就會報錯,這相當於是一個強類型的設計,可以減少程序員犯錯。
7. 目前實驗臺可以算作一個去中心化應用嗎?
老冒: 是不是去中心化其實很難去判定。因為這個實驗臺可以被部署在任何地方,被部署很多套。我們現在是部署了一個網頁版本,將來開發者可以把試驗檯跑在本地,我們也會提供移動版本,在產品的架構設計上完全是去中心的。現在大家訪問的是網頁版,是其中的一個中心。
關於 ArcBlock 區塊鏈
1. ArcBlock 會有自己的區塊鏈嗎?
老冒: 對,我們會有自己的鏈。 ArcBlock 區塊鏈的主要目標是成為 ArcBlock 平臺的記賬和支持系統,同時 ArcBlock 這條鏈能夠幫助將來在我們平臺上發佈的各種應用來產生它們自己的通證。
2. ArcBlock 的區塊鏈算是公有鏈嗎?
老冒: 肯定不是我們現在定義的公有鏈,當前對公有鏈的定義是任何人都可以參與,比如說挖比特幣,誰都可以參與,而且鏈上的驗證者也是比較自由的,誰都可以成為驗證者,關鍵就看你挖不挖得出,挖的快不快。
但是在 ArcBlock 的設計裡面,我們的主要參與者不是任何人,而是系統中的資源礦工。只有資源礦工提供資源,比如組件礦工最終是通過資源礦工提供出來的,相當於是我們鏈上所有的記賬人是資源礦工。但是有可能(會)有些資源礦工要加入鏈,但是他不願意做記賬人。
所以從記賬的角度,可能只有有限的人參加,但是從驗證和查賬的角度來講,又是一個完全公開透明的,任何用戶都是可以查的。
所以我把我們這種鏈的設計定義成一種公開的但是帶有權限的鏈,它不符合今天所說的公鏈的定義,也不符合今天所說的聯盟鏈或者私有鏈的定義,我認為這是一種新形態的公共服務的鏈。
3. 關於區塊鏈的開發進度和開源計劃是什麼樣的?
老冒: 我們計劃在這個季度或者下個季度出一個測試鏈。我們和別的鏈不同的是,我們的測試鏈是比較嚴肅的,不像以太坊是兩條鏈,測試鏈的數據全是沒有用的假數據,我們的測試鏈上的數據會盡可能的真實有效。
我們現在的目標是爭取能在這個季度讓測試鏈先上,最差也要在今年讓測試鏈跑起來,因為我們的基本業務支撐系統需要它先跑起來。
關於 ABT
1. ABT 會從 ERC20 轉到 ArcBlock 鏈上嗎?
老冒: ABT 目前是 ERC20 映射的 Token ,但是最終 ABT 必須跑在自己的鏈上,我們的 Token 都是原生的 Token。所以當我們的測試鏈上線的時候,就能夠支持把 ERC20 的 Token 都轉到原生鏈,如果用戶願意的話或者用戶願意嘗試用我們業務,那就可以把他持有的 ERC20 Token 轉為原生 Token ,但不是強制性的。
等我們整個系統完全上線後,我們會要求用戶把 ERC20 的 Token 全部轉到 ArcBlock 鏈上。
關於社區建設
1. ArcBlock 是一個面向開發者的平臺,除了吸引開發者在 ArcBlock 上面開發應用之外, ArcBlock 項目本身是不是也會更加社區化?有什麼樣計劃?
老冒: 我們項目本身的確需要更加的社區化,需要更多的開發者跟我們一起來開發一些東西。我們現在做了不少基礎工作,就是為了能讓開發者跟我們一起來做這些事,不僅僅是開發,還包括文檔本地化,比如現在我們只有中文和英文的文檔,將來我們可能還會有日文、韓文等國家的語言版本。
另外我們會組織一系列的 Hackathon 活動,這些活動是希望社區能夠有更多的人接觸到我們的平臺,然後有更多的人能把自己有趣的想法進行交流和實現。同時,這些 Hackathon 活動本身也能夠催生出一系列有趣的想法來。
2. 最近一期的 Hackathon 活動預計在什麼時候舉辦?
老冒: 這些活動我們準備先和外部的合作商一起合作,現在有一個正在討論之中,想爭取在 7 月份先小試牛刀做一次。
我們的目標是想通過幾次嘗試,逐漸找到一個套路,能把活動方式變得像標準流程一樣,在各個地方複製,這樣能夠做更多的活動。
3. 您近期是在國外做活動嗎?
老冒: 我現在是在日本,明天( 7 月 6 日)去越南,最近這段時間比較密集地去世界各地和開發者見面,和潛在的合作伙伴洽談合作的可能性。
過去我們產品沒有出來,儘管講的再好,也只能在 PPT 階段,現在階段不一樣,我們可以拿出東西去展示了,所以要開始緊鑼密鼓的聯繫合作伙伴,同時,社區活動也要開始推進起來。
4. 最後一個問題,距離上次幣探專訪將近半年了,您對 ArcBlock 的發展現狀還滿意嗎?
老冒: 我覺得我們的發展還是挺不錯的,甚至有一些地方超出我們的預期。對我們來說主要的挑戰還是招人,但在整個產品的開發進度上,我覺得我們做的非常不錯。
我們的人才招聘沒有按照計劃完成的那麼快,但是我們的產品進度沒有落下,這也說明了我們的人才質量相當高。

本頁涉及
產品
-
OCAP
active
一個用統一介面查詢鏈上資料的協定,不必每條鏈配一個客戶端。ArcBlock 持有相關專利。