在DeFi生态中,借贷、衍生品,甚至交易都离不开预言机。没有预言机,DeFi生态就无法维系。但目前DeFi的火热让以太坊网路异常拥堵,反而使得预言机的使用成本非常高昂,可用性持续下降。
究其原因,目前主要的预言机在以太坊网络上采用了链上数据聚合的方式,使得用户在为数据服务支付费用的同时,还需要承担大量的gas花销。
上图是某预言机链上数据聚合的gas花销,每笔交易的手续费高达13~25美元,严重影响了预言机的可用性,压缩了预言机的应用空间。
针对该问题,本文提出一种解决方案。
从较高的层次看,请求/响应式的预言机工作过程如上所示:
-有链外数据需求的用户通过智能合约发出数据请求
-预言机在收到数据请求后再向外部数据源发出请求
-预言机对数据结果进行聚合
-最后将数据响应给用户的智能合约
针对这种情况,为了使预言机更好地释放智能合约的潜力,本文提出一种基于VRF和BBFT的链下数据聚合方案。
工作流程
用户发出请求
用户在向预言机网络发出请求时,需要部署一个标准模板的智能合约。
合约中将包含所请求的数据类型、具体数据、报价、预言机抵押要求、所需预言机数目、数据聚合方案、请求时间等信息。
上述请求信息的哈希值将作为RequestID成为后续工作的凭证。
共识委员会接收请求
预言机网络在启动初期由42个节点组成,其中的10个节点组成共识委员会,他们轮流主导数据共识;另外32个为普通预言机节点。预言机网络中的普通节点和共识委员会节点均以去中心化的方式产生,具体机制可另行设计。
预言机网络的共识委员会将监听各区块链上对奇点网络发出的数据请求。
共识委员会基于VRF分配任务
共识委员会中的Leader节点将根据用户请求随机选择一定数量的预言机节点,并将数据请求分发给他们。在此过程中,共识委员会的其他成员负责验证节点选择的随机性和Leader所广播内容,并在后续的共识过程中表态。具体方案见后续章节。
共识委员会收集响应
预言机节点在收到数据请求后,向数据源查询数据。这里可以建议预言机节点针对同一数据维持不同的数据源并提供相关证明,这将可以提高其自身的竞争力。
获取数据后,预言机节点将采用标准的数据模板将数据及RequestID报告给所有共识委员会成员。
共识委员会聚合数据并达成共识
Leader节点将按照用户要求的聚合方案对所收集的响应进行聚合,并主导共识委员会对聚合结果达成共识。
共识委员会的其他成员可以根据各自收集的数据自行计算,对聚合结果进行验证,同时根据在前面步骤中对Leader行为的监督对最后的聚合结果进行表态。
###奇点网络完成用户请求
共识委员会最后将聚合后的唯一数据结果提交给用户的请求合约,并分配本次服务的报酬。
总结
在整个工作流程中,共识委员会见证从数据请求到数据聚合的全过程,每个委员会成员对最终数据结果都能够形成自己的判断,因此,只要不超过1/3的共识节点作恶,最终通过BBFT的机制对数据聚合结果达成共识也会是有效的。
该方案将大大降低区块链本身的网络状况对语言及服务的影响,在提升数据聚合效率同时降低数据聚合的成本。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。