万向区块链蜂巢研习社|深度对话波卡生态基础设施:SubQuery、Subscan、zCloak Network

万向区块链

共 9509字,需浏览 20分钟

 · 2021-07-28

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

点击【阅读原文】,报名参会!

浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报