什么样的经济模型,能够防止预言机作恶? | 三分钟入门Neo3

在Oracle网络中,如果Oracle节点不可信,会直接影响最终结果的信任问题。所以通过去中心化的方式,让每个节点各自独立、互不干扰地服务请求,并最终对结果产生共识,才能防止中心化主体对请求结果的操控,从而提高最终响应结果的可信度,为链上世界提供真实有效的信息。

什么样的经济模型,能够防止预言机作恶? | 三分钟入门Neo3

制定策略合约

为了保证Oracle网络在去中心化的环境下能够正常运行,需要一套策略来规范运作规则和过程中所需的任何数值(例如基本的Oracle请求费用)。在Neo3的开发环境下,Oracle的解决方案是开发一个本地合约来制定Oracle的策略和请求过程中的关键值,以确保所有节点之间的行为一致。

Github上有关于Oracle策略的开放讨论,欢迎浏览并参与我们的讨论。

– Github 讨论地址 –


https://github.com/neo-project/neo/issues/1277

核心开发者们正考虑扩展本地策略合约来满足Oracle请求。但经过核心开发者的投票表明,将创建一个单独的Oracle策略合约。

Oracle策略合约将为与该请求服务有关的重要信息提供单一参考,例如Oracle节点列表,交易费用以及支持的协议或过滤器。策略合约还提供了可以从网络添加或删除Oracle节点的机制。

节点竞选

为了使Oracle服务能够被信任地运行,节点必须以去中心化的形式存在。关于「Neo3中的Oracle节点竞选」的议题讨论,主要有两种实施方案。

第一个方案是将Oracle节点竞选过程与Neo3共识节点系统捆绑。NGD软件开发者刘梦雨认为,这种方法易于实施并可靠,符合Neo本身的去中心化。在这种情况下,每个共识节点需要负责运行或竞选一个或多个Oracle节点。这种方法简化了竞选过程,但赋予了共识节点更多责任。

第二个方案中的Oracle节点分为竞选与限定两种,而这也显示了对独立节点的偏好。NeoSPCC的Stanislav Bogatyrev表示样,由于去中心化节点的分布传播,这种方法的优点是提高了网络的信用和稳固性。

当然,节点的独立竞选也有一些弊端,例如增加复杂性。NGD的王永强强调了另一个潜在的权衡,他指出,尽管Oracle节点的竞选是一个共同的决定,但也有少数投票者可能不希望使用当选的Oracle节点。

此外,增加竞选次数有可能会使用户参与度低下。对于Oracle网络尤其如此,在该网络中很难证明Oracle节点是拜占庭式的,因此应该由用户积极投票。

目前,关于Oracle节点竞选的实施还在讨论中。但是,多种方案之间的投票表明了大多数核心开发者都赞成将Oracle节点竞选委派给共识节点。

经济模型

Oracle系统的经济模型是另一个重要组成部分。如果提供服务的交易费不足,表示节点可能出现作恶现象。为了确保Oracle网络的稳定,必须根据博弈论设计健全的激励模型,该模型将保证在诚实执行请求时最大程度地提高Oracle节点的收益。

刘梦雨提出了关于经济模型的一个简单分配方案,主要涉及费用计算和奖励分配,将费用平均分配给所有Oracle节点。虽然可以有效地实施此操作,但可能会导致部分节点的投机心理,并且不能激励Oracle节点的主动性。还考虑了惩罚系统,该系统理论上将惩罚恶意节点。但是,由于难以证明Oracle返回了不正确的数据,因此实施这种机制可能会非常复杂。

最后,经济模型还必须提供一种防止恶意攻击的机制。例如,必须有一个避免出现免费请求的系统,在该系统中,用户可能会为Oracle执行次数支付不必要的费用。

这可能是由于节点在执行脚本前无法知道脚本中的请求数量而发生的。可能会为一个请求支付费用,但是脚本中可能包含多个请求。尽管在这种情况下执行将以错误结束,但仍将迫使该节点执行无偿工作。

刘梦雨提出的解决方案是利用OracleFee字段,该字段的计算方法是将每个请求的基本费用乘以请求总数。VM可以在执行请求之前记录请求计数,然后在每次请求完成时计数将相应减少。一旦请求计数达到零,Oracle请求将不会执行,并且会出错。

实际上,可以通过OracleFee预先定义最大请求数来防止免费请求的问题。如果支付的费用不足,则根本不会执行Oracle请求。

目前,关于Oracle经济模型的方案还在讨论中。本地Neo Oracle服务,预计将与Neo3主网一起推出。

2020年,让我们一起拭目以待Neo3的精彩上线吧!


关键词: 经济模型  Neo  预言机  

该内容来自于互联网公开内容,非区块链原创内容,如若转载,请注明出处:https://htzkw.com/archives/28206

联系我们

aliyinhang@gmail.com