对于Web3的建设和发展,能够有一个可靠的基础设施来将区块链数据传输到Apps上是极为重要的。
在跨链中,我们需要一个高效且便捷的方法从各个不同的链上获取以及使用区块链数据,同时这个过程也必须足够去中心化。
这篇文章中,我们将会阐述两个项目 The gragh 以及 Pocket network,是如何解决上述问题的。
同时我们也将这两个项目和中心化的解决方案提供商如Infura和Alchemy进行比较,以此来突出他们的优缺点。
Web3的整体模型其实就是Web2的一个水平拓展,它让用户对自己的数据有更高的所有权,让数据更加可验证化,同时也让整个交互过程更加去中心化。Web2就是让各种数据流储存在中心化的服务器上,而Web3则是储存在去中心化服务器上(如下图所示):

我们接下来重点要描述的就是各种运用和Web3基建中去中心化数据服务器的关系,向大家说明区块链上的数据如何被传输到大家手中的Apps。
Web3的未来依赖于去中心化的、安全的、永久存储的多条公链上的数据,要实现这些数据的顺利获取有以下几大挑战:
a、如何高效的把链上数据传输到apps
b、如何便捷的从多条链上获取数据
c、如何以去中心化的方式实现a、b两点
在去中心化的网络结构中,去中心化计算需要可靠的节点基础设施,去中心化计算可以拆分成以下几个关键部分:
1、应用,就是向公开或加密的数据节点提交API需求的软件;
2、节点,是指用来存储数据检索,向app发送消息,为提交api需求的app服务,以及展示网络状态(钱包余额、工作报告)的去中心化服务器;
3、网络层协议,用来维护去中心化协议的治理职能,以及在经济激励系统中所起到的作用;
如下图所示,中继器或者说检索节点处于各类apps和他们需要汲取数据的区块链节点之中,当他们获得相关数据后,就会发送给中心化或者去中心化的app服务器:

接下来,我们将从The gragh和pocket network中具体说明以上流程。
web3的应用可以通过过滤或者搜索的方式从区块链上查询数据,这一过程相对缓慢,因为区块链自身并不会检索数据,他们只能存储数据并处理数据状态的切换。(数据检索可以使得查找相关数据更快,对计算的要求更低。
在The gragh出现之前,dapp的开发者们需要为他们的用户先把数据目录做好,但是这一过程需要在中心化的数据库中完成,降低了dapp自身的可信任度,同时这一过程也增加了开发团队的负担。
有了The gragh协议之后,开发者允许使用查询语言 GraphQL 查询不同的网络,例如以太坊或 IPFS。 GraphQL 允许指定我们感兴趣的字段以及想要应用的搜索条件。
可查询的数据以子图的形式组织,一个去中心化应用程序可以使用一个或多个子图。一个子图也可以由其他子图组成,并提供应用可能感兴趣的数据的合并视图。The Graph 提供了一个资源管理器,可轻松查找最流行协议(如 Uniswap,Compound,Balancer 或 ENS)的子图。Uniswap 子图提供对许多有用数据的访问,例如,自协议启动以来所有交易对的总交易量,每个交易对的交易量数据以及有关特定代币或交易的数据。
下面我们来看看The gragh协议中不同参与方和参与方式:
索引器是 The Graph 的节点运营方。他们可以通过抵押 GRT 代币并运行 The Graph 节点来加入网络。它们的主要功能是索引相关子图。索引器会为索引子图提供奖励,并为在这些子图上提供查询服务而收取费用。他们还为服务定价。为了控制价格,每个索引器在确保最高数据质量的基础上与其他索引器竞争。这基本上为索引器提供的服务创建了一个市场。目前索引器还是由The gragh官方运作的,但是今年早些时候团队已经表明要将这部分的服务器迁移到去中心化主网上,届时任意一个Gragh 节点都可以来决定索引器的运营方。
**委托人(Delegators)**是另一个网络参与者。他们代表索引器质押 GRT,以赚取索引器的部分奖励和费用。委托人不必运行 The Graph 节点。
**策展人(Curators)**是其他重要的网络参与者。他们使用自己的 GRT 代币来表示哪些子图值得索引。策展人可以是希望确保其子图被索引器索引的开发人员,也可以是发现特定子图有价值且值得索引的最终用户。策展人会受到经济上的激励,因为他们获得的奖励与特定子图的受欢迎程度成正比。
渔民(Fishermen)和仲裁员(Arbitrators)。如果发生争执,例如当索引器向消费者提供不正确的数据时,它们将会发起冲裁并作出判决。
目前,在The gragh网络中一共有7306个委托人,2266个策展人,160个索引器。
由于缺乏足够的经济激励机制,市场上没有足够多的可靠第三方运营的区块链数据节点,Pocket network就是致力于让更多的个体和公司在足够大的激励下,为了任何有运用需求的区块链运行全节点。
Pocket network和The gragh之间最大的不同在于前者使用了session model,使得其不需要像The gragh一样依赖于储存了检索条目的节点。
Session指的是网络用来规范app和节点之间交流的机制,是一种能够运用pocket network的网络状态,伪随机的将运用需求和5个节点提供方进行品牌的数据结构,
在Pocket Network中,存在着两个主要角色,数据中继服务的需求者——web3 apps,以及数据中继服务的提供者——节点服务商,两者都需要Pokt才能参与到网络中。
对于应用来说:要获得系统服务,需要质押至少1个Pokt来获得数据中继的服务,而每质押一个1Pokt可以获得的中继处理数量,是由系统参数“BaseRelay Per POKT”决定的,目前该系统参数为13.3684211,这意味着应用质押一个Pokt,可以在一个会话周期(根据系统定义,每4个区块为一个会话周期,也就是一个小时)中使用13.3684211次中继服务。
对于提供全节点处理中继请求的节点运营商来说:成为一个能够处理中继请求的服务节点所需的最低质押数量是15,000 POKT。此外,当质押数量进入全网络节点的前1000(该参数可以由DAO治理修改),节点还可以作为Pocket Network主网验证节点参与PoS共识,对区块进行打包,获得额外的出块奖励,即1%的区块奖励。
Pokt代币是随实际业务产出的,Pocket Network每处理和验证一笔中继数据请求,就会铸造0.01Pokt代币**,**
89%用于用于奖励正确处理了这笔数据请求的验证节点
10%分配给Pocket Network的DAO基金会,
1%奖励给在Pocket Network中打包区块的验证节点(质押数量前1000的验证人才有资格参与打包,数量越高参与打包的概率越大)。
在we3的构建中,中心化和去中心化的基建解决方案有不同的用例和发展领域。例如,如果面对的是某个项目的测试原型机或者某个开发工具部分,中心化的解决方案诸如Infura或者Alchemy无疑是更好的选择;但如过面对的是项目中无需信任许可运行环境的部分,去中心化的The gragh和Pocket netwokr将会是第一选择。
