引言
随着PlatON生态的发展,开发者们将会面临一个很难取舍的问题:到底是开发一个高性能应用,还是开发一个完全去中心化的应用。为解决这个问题,急需设计构建一个云图区块链索引器,索引器可以减小节点查询的开销,提高应用性能,也能使PlatON生态更容易出现出色的区块链应用。
PlatON索引器出现的必然性
在我们这个信息时代,人们存储,查找,管理和共享信息的方式直接定义了社会结构和每个人的生活体验。目前网络大多都是客户端-服务器的结构体系,这赋予了任何运行服务器的人巨大的权利。服务器管理员享有单方面的权利来设置规则,授予和撤消访问权限以及控制数据,用户没有数据的所有权,信息是不对称的,并导致了权力失衡、数据滥用。这也是为什么现在少数公司运行着世界上大多数软件的原因。
PlatON 是基于区块链和密码学技术的、面向未来的隐私计算与分布式经济体基础设施。它的目标是在保护数据所有权和隐私的前提下促进数据使用权的交易,并基于区块链建立数据和算力流通市场。就是金融基础设施,其目标就是为实现资产和数据可以在全球范围内自由流通,实现跨ID、跨账户、跨机构、跨行业的“超级清算方”,为数据估值和数据服务定价提供基础。
以PlatON的定位来说,几乎每个PlatON生态应用都需要查询和处理链上数据。以大家接触的最多的应用PlatScan为例,他需要ElasticSearch集群、Redis集群、MySQL数据库,还需要多个节点提供RPC查询支持,由这些数据库中间件整合成一个浏览器后台服务才能使我们区块链浏览器达到目前如此流畅的体验。
索引器的实现形式
区块链索引器的实现无非两种,一种是以BisonTrails为代表的基础设施服务商提供的中心化区块链索引,以他们的代表产品Polkadot Indexer
为例,开发者通过API直接访问结构化的数据,可以更有效地提取数据和信息,而对节点的请求数量则大大减少,使在Polkadot和Kusama等其他Substrate网络之上构建出色的应用程序变得更加容易。
另一种是以The Graph为代表的去中心化索引协议。它对Web3的查询层和API层进行了去中心化,开发人员构建和发布称为子图的开放API,应用程序可以使用GraphQL查询这些子图。TheGraph系统交互由多个角色保证了协议的正常运行,消费者(Comsumer)使用索引器进行查询,索引器(Indexer)为TheGraph运行节点,策展人(Curator)指明那些子图是值得索引的,委托人(Delegator)赚取通胀奖励,渔夫(Fisherman)检查查询响应是否正常以保护网络,仲裁员(Arbitrator)决定是否对索引器进行罚没。当然,在PlatON上落地一个去中心化索引不需要这么复杂角色设计。
个人判断,未来区块链索引器将是向全栈去中心化的目标发展的,开发人员要在他们的去中心化应用中放心地查询并使用整理后的数据,可能会经历一段中心化和去中心化索引器并存的开发阶段,随着信任需求的升级,去中心化索引逐步覆盖所有PlatON生态应用场景。
============
目前还在补充完善阶段,大家多提意见哈,应用生态组会定期选择一批优质反馈者授予生态达人称号-(应用生态组贡献专属),论坛专属称号限量100个,后续应用生态组其他研究类文章,也希望大家多多关注。