原標題:《萬向區塊鏈蜂巢研習社|深度對話波卡生態基礎設施:SubQuery、Subscan、zCloakNetwork》

Web3.0訓練營二期的培訓一直在穩步進行中,萬向區塊鏈蜂巢研習社第61期舉行了Web3.0訓練營二期基礎設施專場直播分享,邀請了Parity 亞洲負責人Yaoqi(主持人),以及訓練營二期入營團隊代表:Subquery首席執行官Sam Zou、Subscan負責人Yakio Liu、zCloak Network創始人Xiao Zhang進行了深度討論和分享。

添加小助手微信號:fengchaoxueyuan,或B站關注“萬向區塊鏈”,可獲取每週蜂巢研習社直播時間和入口。

以下為分享全文,僅代表嘉賓觀點,不代表萬向區塊鏈立場。

Yaoqi:

各位萬向區塊鏈B站直播間的朋友們,大家晚上好!這裡是由萬向區塊鏈實驗室和新鏈空間舉辦的蜂巢研習社線上公開課,本期是第六十一期。

本期的主題是Web3.0 Bootcamp二期基礎設施專場,深度對話波卡生態基礎設施項目:SubQuery、Subscan、zCloak Network。

今天非常榮幸可以邀請到SubQuery CEO Sam、Subscan負責人Yakio,以及zCloak創始人Xiao Zhang。我是今天的主持人Yaoqi,也是Parity亞洲負責人。

直接進入主題,首先請三位分別介紹下SubQuery、Subscan、Zcloak Network這三個項目。同時具體一點,你們的項目解決了什麼樣的場景需求?運用了什麼特色區塊鏈技術?要不從SubQuery Sam開始。

Sam Zou:

感謝Yaoqi,大家好!我叫Sam Zou,感謝能有機會參加這次Panel,下面我介紹一下SubQuery。

SubQuery的使命是讓去中心化的數據更容易訪問,每個區塊鏈的團隊都要處理和查詢數據,但是區塊鏈上的數據是一種雜亂的格式存儲,無法讀取和查詢,便令整個區塊鏈以獲取所需的信息可能需要花費很長的時間。

SubQuery的目的是讓這種查詢更快更容易,應用SubQuery可以使Blockchain開發者團隊專注於他們的核心業務邏輯和前端,而無須浪費時間搭建後端基礎設施。

SubQuery主要分為兩部分:

第一部分:中心化服務。搭建了中心化平台,目的是服務於波卡生態的開發團隊和DApp developers。

第二部分:去中心化協議。去中心化協議是激勵更多基礎設施服務商加入SubQuery生態系統,提供更多去中心化數據服務。去中心化協議是接下來工作的主要重點。

Yakio Liu:

大家好!我是Subscan瀏覽器負責人Yakio。 Subscan是一個聚合Substrate生態的多鏈瀏覽器。

由於區塊鏈去中心化的特質,如果做到公開透明,讓用戶看到鏈上實時信息、歷史信息沒有那麼容易,因為區塊鏈本身不是以可視化形式存在的,需要較高的技術門檻才能獲取和使用。

我們做的區塊鏈瀏覽器就是解決了這個問題,用戶不再需要了解區塊鏈底層技術,可以通過可視化的方式讓用戶更加方便地獲取區塊鏈上的數據信息,為用戶提供區塊鏈信息瀏覽查詢功能。

在區塊鏈瀏覽器裡面,只需要輸入某筆交易的哈希,或者account的索引,就可以查詢到它們的詳細信息和參數了。

當然,區塊鏈信息的查詢還有索引是區塊鏈瀏覽器的基礎功能,基於這些數據資源,我們也會在數據整合分析、數據API,或者根據業務進行數據精細化處理方面進行發展。

未來數據可視化,提高用戶的使用體驗會成為區塊鏈瀏覽器的主要競爭點,也是Subscan正在做的事情。

Xiao Zhang:

大家好!我是zCloak創始人Xiao Zhang。我簡單講一下我們做這個項目的初衷和使用的技術。

對很多人來說,在大數據時代存在一個數據使用上的困境,大家經常需要分享自己的數據獲得各種各樣的互聯網服務,放在區塊鏈世界裡,你要把你的數據寫到鏈上去,才能獲得鏈上的服務。

但是在這個過程中很容易暴露個人隱私,很多個人信息會被別人拿走。最安全的保護數據隱私的頒發就是就是不對外分享任何數據,這樣別人就沒法去偷走你的隱私了。

困境在於,你不分享數據,就沒法獲得鏈上各種各樣的服務了。 zCloak Network針對這樣的問題,使用零知識證明技術,幫助大家在不分享自己數據的情況下還能把自己的數據使用起來,獲得各種鏈上服務。

使用的主要技術是零知識證明,基於zk-STARK的零知識證明虛擬機,還使用了Substrate區塊鏈的offchain-worker技術,可以方便地跟鏈下數據交互。還有在波卡生態中致力於成為“零知識證明即服務”的商業模式,所以使用跨鏈技術,通過跨鏈技術為其他平行鏈提供零知識證明服務。

這就是關於我們項目的基本信息。

Yaoqi:

大家在搭建自己對應的項目,或者搭建自己所做的Web3.0基礎設施的時候,有沒有面臨一些挑戰以及難點。與此同時,針對你的項目面臨的比較獨特的挑戰和難點,你們是如何克服的?

Xiao Zhang:

我們在做項目的過程中,像零知識證明技術出來已經挺長時間的了,但是在真正商業應用上現在我們能看到的相關項目並不是特別多。其中主要原因也是因為零知識證明技術所涉及的密碼學和數學要求會很多,雖然很多項目方在想要使用技術的時候需要專業的人才支持才能做類似的開發。這個問題一直是困擾很多項目的難點。

從zCloak Network項目來講,使用了比較獨特的技術——零知識證明虛擬機。最大的好處就是可以把零知識證明電路生成的部分抽像出來,用戶或者開發者只需要專注於自己的業務邏輯就可以了。

在這樣的情況下,不需要開發者懂關於零知識證明相關的知識,他只要用類似於Solidity這樣的代碼,把業務邏輯描述清楚,就可以在虛擬機上自動生成證明的電路,就可以拿著證明電路服務他的業務場景。

另外零知識證明雖然問世的時間比較久了,但運行效率是瓶頸,尤其是在證明生成這部分。可以看到有一些現在已經在行業內以生產狀態運行的項目,在證明生成部分都是要用服務器級別的集群做證明態生成,所以消耗的算力還是比較大的。

在這一點上我們走了跟其他零知識證明項目不太一樣的一條路。我們知道零知識證明現在有兩條主要的技術路線,一個zk-SNARK、一個zk-STARK。

現在行業內大部分零知識證明項目使用的都是zk-SNARK技術,因為零知識證明的大小比較小,比較適合在鏈上使用。但是對我們來說,我們是用的zk-STARK,好處是證明生成的效率會比較高。

最近才做了一個實測的實驗,佈置在瀏覽器裡,把Rust零知識證明虛擬機編譯成可以在瀏覽器裡運行的Wasm庫。在瀏覽器裡進行了零知識證明生成實驗,實測結果可以在幾十個或者十幾個毫秒數量級完成一次零知識證明的生成,所以現在的效率還是比較高的。

另外,用zk-STARK技術可以擺脫zk-SNARK一直要做的Trusted setup過程,去中心化和安全性會更好一些。這是我們最近在做的一些工作,跟大家交流一下。

Yakio Liu:

我們做多鏈瀏覽器的初期,最大的難點可能就是要支持很多不同的基於Substrate的平行鏈,它們可能有共性,也有一些各自的特點。我們為了便捷地支持各種Substrate的網絡做了很多努力。

在前端方面,我們統一整理了不同網絡配置項的白名單,更好地實現單個網絡的自定義需求,並為不同的網絡的提供符合open search 標準的XML,自動集成搜索引擎。

在後端服務上,我們為subscan開發網絡支持腳手架,對所有基礎的平行鏈都進行了大量兼容性適配,只需要更新節點和types就能啟動一個簡單的Subscan 瀏覽器服務。利用GitHub Actions,Kubernetes,Helm 等工具鏈實現批量、自動化地部署,增加資源監控報警提醒,保證服務穩定性。這對Subscan 這種支持數十個網絡的產品來說,節省的時間和人力成本都是巨大的。

其實對於Subscan這種現在已經支持了數十個網絡的產品來說,節省的時間成本、人力成本都是很大的。

Sam Zou:

其實這裡面我們主要有兩點。

第一點,技術的不確定性,比如說Substrate的Polkadot,不同的Parachain也在經常迭代,導致了code也要經常更新跟著迭代走。現在有很多Parachain基於Substrate項目在SubQuery上運行。

就像Subscan講的,很難讓團隊維護本身的迭代。基於這一情況開發了Part portal,Part portal主要解決的問題就是讓每一個跟我們engage的Blockchain團隊,邀請參加Part portal,在Part portal裡,他們可以自己維護自己的chain版本。

舉個例子,Acala的Chain有升級的時候,就不需要和我們團隊來溝通,他們自己就可以管理自己Chain的升級。比如說我們還有OnFinalidy的產品。有一個node marketplace,從社區角度,社區的每個人如果想起自己的Fullnode或者Validate node或者collected,從項目方的角度,從Parachain的角度就可以自己定義一些參數。比如說node的大小,或者default默認的一些值,或者recommended的storage的side,從項目方的角度都可以自定義,這樣大大節省了我們團隊自己維護不同Chain的成本。

第二點,訪問量,比如說OnFinalidy平台過去大概一兩個月,每天的訪問量Polkadot和Kusama加一起大概能有One Hundred fifteen million Request,大概就有一億五千個訪問量,每天有這麼多。

我們怎麼處理的呢?我們做了一些智能路由,因為我們是基於Cubernatives基礎架構的。這樣在不同的國家,不同的region,比如說在亞洲的東京,在北美,在歐洲都有不同的cluster,cluster不僅僅在AWS上,在GCP上也建了基礎。

比如說這個requset是從北美request進來,我們自動把request導到北美的cluster地進行服務,就近的cluster服務request。即使北美cluster宕掉了之後,我們也會自動導入到別的cluster,服務於request。這樣就保證了平台的reliable或者穩定性。

而且我們還支持跨雲,不僅僅支持AWS,也支持GCP,即使AWS都宕掉了也不要緊,GCP還活著,只要GCP活著還會去serve這些request。這是我們做的solution,解決這種scale的challenge。

另外一個問題就是人才,我們現在也遇到很大的問題,很難找到有經驗的開發人員,是非常非常難的一件事,所以說我們也花了一些精力來培養一些新人,這是很重要的,要有不同的人才加入我們的團隊。大概是這樣。

Yaoqi:

謝謝Sam分享。除了剛剛您講到的因為流量還是不同鏈有不同的需求,可能我們得提供一個更加自定義的方式,更方便於項目方去使用。同時像這種跨多個雲務平台來保證可以防止單點故障的情況,與此同時我們都知道SubQuery在未來希望做到相對比較去中心化的底層基礎設施。在之後如何打算在某種程度上相對把底層基礎設施去中心化,同時兼顧更好的效率?

Sam Zou:

SubQuery是一個開源的項目,每個開發人員都可以下載代碼來搭建自己的SubQuery服務。所以說,SubQuery協議的主要目標就是來激勵更多更優質的基礎設施服務商加入生態,提供更多樣的更穩定的數據服務。

現在我們也在跟世界一些頂級諮詢公司設計經濟模型,最終的經濟模型就像所有SubQuery生態參與者都得到相應的回報,大概是這樣。

Yaoqi:

Subscan目前支持了大概有20多條基於Substrate的平行鏈,不管是測試網還是主網。之後你們打算如何更加便捷地、方便地支持更多的平行鏈?

目前來講我已知的波卡生態里大概有200多個項目都在使用Substrate進行開發。未來如果完全支持這些的話工程鏈路是比較大的,你們有沒有一些優化的是更加便捷地支持各種各樣的平行鏈,或者Substrate的區塊鏈?

Yakio Liu:

除了前面講的,我們在前端、後端、運維方面已經有一套成熟的方案了。從前期和一些有需求的項目方對接,到前端把所有配置項都做成白名單,再到後端自動部署和運維監控,可以實現網絡的快速的配置。

另外,我們開源了一個基礎版本的subscan,並保持著周期性維護,項目方還可以通過插件的方式,支持一些標準化的自定義功能。一些處於早期階段的項目或個人開發者可以根據自身業務需求,基於這個版本自己跑一個瀏覽器。這樣一來,項目將不只依賴我們團隊的人力,大家都可以加入到瀏覽器的開發中,為更多基於substrate 開發的鏈服務。

Yaoqi:

Xiao Zhang,剛剛你也提到了關於零知識證明的證明生成是比較慢的,你們也做了很多優化。其中對於在瀏覽器裡生成證明也可以達到很快的速度,這部分可以詳細講一下嗎?

據我所知,確實當你的計算比較複雜的時候,因為電路門也比較多,通常電路門比較多的時候你的生成證明的速度整體來講還是受限於硬件的。像你提到的各種各樣的產品都需要很龐大的服務器,有很強的CPU、GPU去支持零知識證明生成。

能不能詳細地跟大家分享一點關於虛擬機還是一些比較有意思的優化,讓你們的證明生成相對更加快速。

Xiao Zhang:

在優化的角度來講,像Yaoqi剛剛提到的零知識證明生成速度和它所要進行的計算複雜度是直接相關的,如果是針對比較複雜或者大型計算的話,無論怎麼優化,花的時間肯定都比簡單的計算進行些上升。

在這方面我們做了幾項工作:

第一,零知識證明虛擬機,從虛擬機體系結構設計的角度正在採用支撐比較複雜計算的指令集,在指令級上會做升級。已知的比較複雜的運算進來後可以用比較精簡比較快速的方法生成證明,相當於把計算的工作做在前面了。

第二,另外在證明生成的過程中也正在做一件事情,把計算機多核的優勢發揮出來,現在演示系統正在做,從原理上來講已經跑通了,如果能把多核處理器的威力發揮出來的話,1個核、4個核、8個核同時跑計算的話,多核計算效率肯定高很多,花費的時間也會少很多。

第三,在應用場景的角度來講,很多時候要獲取服務或者使用零知識證明技術的時候,並不是說像咱們現在必須帶現場刷一個二維碼的情景,很有可能服務可以提前獲取我要進行的計算,或者是從運營商、第三方那裡得到我需要進行的計算,提前把證明生成好。生成好之後提供了一系列附加的存儲,幫助用戶保存已有的零知識證明機制,可以讓他把已經證明過的證明在下一次類似的場景裡直接復用起來。

舉個很簡單的例子,比如說我在這個場景裡證明過我自己的年齡和我來自的國家是符合某個項目KYC的要求。可能很多項目的KYC需求都是差不多的,在類似其他項目再對我提出這樣子證明要求的時候,我可以直接把以前做過的證明直接進行複用,在這種情況下可以大量節省讓用戶臨時去做對零知識證明的實踐。現在的主要思路是類似這樣的幾點。

作為稍微遠期一點的目標,我們也在考慮維度單獨FPGA加速的形式,如果真正碰到性能瓶頸的話,會用FPGA加速的形式做零知識證明計算工作,但現在還在規劃過程中。

Yaoqi:

你們怎麼看你們做自己基礎設施產品時,相對於以太坊上已經有的項目有哪些優勢,與此同時在未來,特別是在多鏈、Web3.0的生態裡,從某種程度上能不能做到我們有的他們沒有,但他們有的我們同時也可以做的更好呢?

Xiao Zhang:

交易隱私包括轉賬、DEX隱私也是挺重要的話題。據我了解,現在波卡上也有相關的項目方也在往這個方向去做。但現在zCloak做的方向和直接交易隱私還不是完全一樣,但是交易隱私也是我們計劃中要的一件事。現在和競品相比有更迫切的方向,可能會更值得做一些,就是現實世界真實的身份信息或者和個人相關的隱私信息,怎樣能夠在鏈上把它使用起來。

zCloak Network現在為大家做的事情是想在身份合規方面做類似於隱私身份預言機的服務,無論對普通的DeFi項目還是對隱私交易的服務來說,我們可以作為入口,作為入口所能做的事情是幫項目把關,進入項目的用戶可以幫你保證他們都是合規的用戶,他們都經過了中心化交易所、銀行級別KYC的檢驗。當然,用戶的直接身份信息、KYC信息你是不可能直接發送到鏈上的,因為這樣會涉及到隱私的洩露。

我們能實現的目標是在保護你身份隱私的情況下,不透露你是誰,也不會透露任何跟你具體有關的信息,還能夠讓用戶去證明他自己是合法合規的用戶,到DeFi樂高里來玩,這樣子會把幫助項目方分擔來自現實世界的監管壓力,這是我們現在在業務角度比較聚焦的方面。

Yakio Liu:

從我們項目開始被大家認識之後,把我們和以太坊上的Etherscan瀏覽器相比較的也越來越多了。

Etherscan是以太坊生態,甚至可以說是目前區塊鏈行業最具影響力的瀏覽器項目,經過了很多年的發展,現在在方方面面都可以看到它非常強大的功能,也在保持著不斷的迭代,不斷地推新功能,是我們尊敬的一個項目,也是我們學習的榜樣。

Subscan從立項到現在一年多,不到兩年,目前還是處於比較初級的階段。相比Etherscan,我們還是有很多不足,需要時間來發展。但我們的目標是想成為Substrate生態中的Etherscan,我們會朝這個目標來努力。

如果一定說是優勢的話,剛才Yaoqi也提到了Etherscan不光是做以太坊生態,也會給EVM生態,比如說BSC網絡提供瀏覽器。

Subscan是多鏈的瀏覽器,但我們支持的是Substrate的生態網絡,支持的網絡更多,目前已支持了二十多個網絡。我們接入新網絡,更加兼顧成本與效率。當然,這和Substrate 框架本身的優勢是分不開的。

Sam Zou:

Yaoqi剛才你也提到了在以太坊上跟我們做類似的一些項目,比如說The Graph前一段時間很火,還有Infura,Infura大家都知道MetaMask後面訪問都是訪問Infura。

我們最大的優勢是基於Substrate和Polkadot的解決方案,給我們提供了先天多Chain的支持。我們都知道,Kusama、Polkadot、Parity都是基於Substrate開發的。理論上講,當我們支持一個Parachain的時候,其他的Parachain就非常容易去支持,可能就是改幾個參數就可以去支持了。 Kusama和Polkadot都是一套代碼,所以支持Polkadot自然而然也支持Kusama。

從SubQuery和OnFinalidy兩個項目來講,我們是提供一整套Infrastructure solution,服務於Substrate的開發團隊。從最底層的dedicated node節點服務,Manager的節點服務,到節點服務上的API服務。 API上面又build一個SubQuery的data provider,提供一整套Full Stack Infrastructure solution,我想這是我們非常非常強大的優勢。

如果The Graph想去支持波卡生態,或者支持別的生態,這樣他需要有底層基礎設施來幫助它。比如說在以太坊生態用The Graph爬一個Chain數據,這樣你也要提供Public EndPoint和API,讓你爬,需要Reliable和穩定的Public API的EndPoint讓你去爬數據。

優勢是我們提供一整套的Full Stack的Solution,幫助波卡生態的團隊Network,我想這是我們很大的優勢。

Yaoqi:

在各位看來,未來Web 3.0基礎設施都由哪些部分組成。與此同時,目前不管是SubQuery、Subscan、zCloak。我們自己的項目如何幫助現在的生態去實現未來Web 3.0的願景?

Sam Zou:

未來Web 3.0的基礎設施應該更有效率,更去中心化。 SubQuery的願景就是讓去中心化的數據更容易訪問,讓Web 3.0的開發更容易實現,所以很大的願景,比如Web 2.0開發一個Application的時候可能用到很多AWS的雲服務加速開發進程,所以在Web 3.0的願景就是提供AWS去中心化的Solution,這樣讓更多地DApp developer更容易地開發他們的DApp,這就是我們的願景。

Yakio Liu:

Web 3.0大家談了很多年,在我看來Web 3.0的時代已經是互聯互通、合作共贏的,當然基礎設施賽道也不例外。

一方面Subscan會通過一些插件的方式支持一些非標準化的自定義功能,外部開發者可以通過提交插件的方式參與到Subscan的開發中來,這其實是一種更加自由、更加開放的合作模式。

另外一方面我們將整合很多優秀的服務,利用不同項目的優勢更好地為生態服務。比如說Subscan即將發布一個小工具,是一個多籤的工具,裡面整合了SubQuery的一些服務。

Subscan的治理模塊已經鏈接到了Polkassembly治理平台,未來還會進行更多這類的合作和探索。

Xiao Zhang:

我們作為項目方進入到波卡生態,從最開始因為受到Polkadot Web 3.0大旗的吸引,在我們看來這是未來互聯網發展所不可避免的趨勢,一定會朝著更去中心化、個人數據民主化的方向發展。

Web 3.0提出很基本的概念,希望每個人的數據歸自己所有,能讓每個人在數字時代握住自己的數據主權,這是我們認為非常好的理想。但是現在來看,大家習慣了中心化的服務,在思想意識還沒有意識到自己拿到數據主權這件事的重要性。

另外在工具的角度來講,現在已經看到有些在做一些事情。類似於自我主權身份、自我主權數據、DID的進展,已經有一些工具和項目幫大家拿到自己的數據,把它保存起來。

但是在基礎設施的角度講,還非常欠缺服務,就是我把數據保存到本地,那是很好的起點。如果想獲取互聯網的服務或者鏈上的服務,怎麼可以在保護數據隱私的情況下,或者不需要分享數據,就可以把數據使用起來。

zCloak Network一直致力於完成的願景,就是幫大家把隱私數據使用起來,可以讓你在不需要分享自己數據的情況下,還能夠用你的數據獲得各種金融、互聯網或者其他各行各業的服務,這塊也會是我們一直努力的目標。

Yaoqi:

謝謝三位的分享,非常感謝大家的觀看。今天的直播就到這裡結束,謝謝大家!

2021上海區塊鏈國際週·第七屆區塊鏈全球峰會“區塊鏈新經濟·數字化轉型”將於9月10日-15日舉行。點擊閱讀原文,現在報名峰會,可享受早鳥票優惠。

國際周詳細介紹:2021上海區塊鏈國際週主題發布,第七屆萬向峰會報名啟動!

2021上海區塊鏈國際週

報名參會

https://9424105689699.huodongxing.com/event/1597838435000

演講嘉賓申請

http://wxblockchain.mikecrm.com/T7hQqtQ

商務合作,請聯繫

summit@blockchainlabs.org

▼點擊【閱讀原文】,報名參會!

閱讀原文