时间:2023-08-14|浏览:198
造成这一问题的原因是,当前主要的预言机在以太坊网络上采用链上数据聚合的方式。这样一来,用户在为数据服务支付费用的同时,还需要支付大量的gas费用。
下图是某预言机链上数据聚合的gas费用,每笔交易手续费高达13-25美元。这严重影响了预言机的可用性,并限制了预言机的应用范围。
为了解决这个问题,本文提出了一种新的解决方案。
从较高的层次来看,请求/响应式的预言机工作过程如下所示:
- 用户通过智能合约向预言机网络发出数据请求。 - 预言机网络收到数据请求后,向外部数据源发送请求。 - 预言机网络对数据结果进行聚合。 - 最后将数据响应给用户的智能合约。
针对这种情况,为了更好地发挥预言机对智能合约的潜力,本文提出了一种基于VRF和BBFT的链下数据聚合方案。
工作流程如下:
用户发出请求: 用户在向预言机网络发出请求时,需要部署一个标准模板的智能合约。合约中包含请求的数据类型、具体数据、报价、预言机抵押要求、所需预言机数量、数据聚合方案和请求时间等信息。上述请求信息的哈希值将成为后续工作的凭证。
共识委员会接收请求: 预言机网络启动初期由42个节点组成,其中10个节点组成共识委员会,他们轮流主导数据共识,其他32个节点为普通预言机节点。预言机网络的节点以去中心化的方式产生,具体机制可另行设计。共识委员会将监听奇点网络发出的数据请求。
共识委员会基于VRF分配任务: 共识委员会中的Leader节点根据用户请求随机选择一定数量的预言机节点(可考虑1.2倍冗余),并将数据请求分发给他们。在此过程中,其他共识委员会成员负责验证节点选择的随机性和Leader所广播内容,并在后续的共识过程中表态。具体方案见后续章节。
共识委员会收集响应: 预言机节点在收到数据请求后,向数据源查询数据。建议预言机节点针对同一数据维持不同的数据源并提供相关证明,以提高自身竞争力。获取数据后,预言机节点将采用标准的数据模板将数据及RequestID报告给所有共识委员会成员。
共识委员会聚合数据并达成共识: Leader节点按照用户要求的聚合方案对收集的响应进行聚合,并主导共识委员会对聚合结果达成共识。其他共识委员会成员可以根据自己收集的数据进行验证,并根据对Leader行为的监督对最终的聚合结果进行表态。
奇点网络完成用户请求: 共识委员会将聚合后的唯一数据结果提交给用户的请求合约(多重签名/门限签名),并分配本次服务的报酬。
总结: 在整个工作流程中,共识委员会见证了从数据请求到数据聚合的全过程,每个委员会成员都能够对最终数据结果形成自己的判断。只要不超过1/3的共识节点作恶,通过BBFT机制对数据聚合结果达成共识将是有效的。该方案将大大降低区块链网络对预言机服务的影响,提升数据聚合效率并降低成本。
用戶喜愛的交易所
已有账号登陆后会弹出下载