甲骨文公司,或者为什么智能合约仍然没有改变世界?

对于那些对智能合约这个主题感兴趣的人,表面上对这个问题的答案是表面上的:迄今为止,合约还没有关于真实世界中正在发生的事情的可靠和完整的信息来源。 结果是,出现了一种可怕的情况:我们可以在智能合约中描述复杂的逻辑,而区块链将为我们提供无条件的执行。 现在看来,我们与订立合同时消除第三方的需要相距仅一步之遥,这就是标题中“改变世界”一词的含义。 但是,任何描述现实世界过程的逻辑都需要知道这个世界正在发生的事情。 因此,最后一个障碍使我们与“信心革命”分开了,因为缺乏信息提供者或预言家 ,这在智能合约世界中被称为。 解决此问题将极大地推动智能合约的普及和适用性。 否则,这项技术将永远冒着仅作为实施ICO平台的风险。



找不到应用程序的能力什么都没有。
斯滕·纳多尼(Sten Nadolny)

神谕者


Oracle是信息的提供者,根据合同的要求,Oracle从世界各地的脱机链中提供了正确执行合同所需的可靠数据。 oracle的主要要求是所提供信息的可靠性完整性 。 在这里,可靠性意味着确认/验证数据有效性的能力,而完整性则意味着能够提供来自现实世界的各种事件的数据。 我们单独指出,oracle不是信息源,它是区块链的供应商。 因此,信息源的选择是oracle的关键参数之一,因为要使oracle可靠且完整,源也必须可靠且完整(我们将在下一节中讨论源)。



让我们从oracle confidence属性开始。 如今,有两种主要方法可以实现甲骨文的可靠性。 首先是神谕共识 。 顾名思义,这种方法使用了几个独立验证者的共识。 这种方法的主要问题(就可靠性而言)是建立独立验证者网络。 一方面,如果我们选择/任命共识参与者(oracle),那么他们将取决于选择/任命机制。 因此,集中化将继续进行,尽管当然程度较小且以不同的方式出现。 另一方面,如果任何人都可以成为共识参与者,则该系统将容易受到Sybil攻击 。 另外,有一种观点认为,损害(达成一致)几个小共识参与者比损害一个大验证者要容易,因为主要参与者的安全措施要严重得多,信誉成本也要高得多。

Oraclize提供了oracle共识解决方案的替代方法:用户选择Internet上的信息源。 为了证明oracle的正确操作,使用了TLSNotary-证明。 这是加密证据,表明从选定源接收的数据以不变的形式传输到智能合约。



目前,您可以使用以太坊网络监视器在Internet上验证此证据(在撰写本文时该信息不稳定)。 将来,计划实现通过以太坊网络上的合同直接检查TLSNotary证据的可能性。

重要的是要注意,这两种方法都存在一个信任信息源/ -kam的问题:这两种方法在某种程度上都保证了我们将数据从源传输到合同的诚实性,但它们并不能保证源的诚实性(即使我们自己选择)。

信息来源


在本节的开头,我们介绍了oracle提供的数据的完整性。 实现完整性意味着扩大信息来源的范围,这给数据的可靠性带来了更大的疑问。 让我们考虑两个简单的示例:如果您的合同需要有关当前ETH / USD汇率的信息,那么您可以考虑将大型加密货币交易所作为来源,其共识将非常可靠。 而且,如果合同需要知道您卧室的灯是否打开,那么很难找到独立的目击者。 您可以使用物理源,例如卧室中的相机,但是如果您愿意,很容易被欺骗:将一个袋子放在相机上,它在您的卧室中总是很暗。 因此,随着由oracle提供的信息的完整性的增加,寻找可靠来源的问题更加严重。

最自然的信息来源是集中的 。 我们在日常生活中已经习惯了这种方法:我们在自己喜欢的网站上了解新闻,在中央银行网站上了解美元汇率。 我们大多数人都盲目地相信这些集中的资源,并且这种信念通常是有道理的,因为此类大公司的声誉成本超过了通过向您提供虚假信息可获得的潜在利益。 有两个屁股。 首先,可靠性:即使在处理可靠的集中式资源时,我们仍然是凭着信念而不是知识来运作。 其次,更重要的是完整性:仅在共振事件的狭窄范围内,使用集中式源才可以被视为可靠的方法。

克服集中来源缺点的第一种方法是使用共识来源 。 当我们谈论甲骨文的共识时,我们已经在上面讨论了类似的方法。 与oracle一样,这种方法可以提高所提供信息的可靠性和完整性,但是其积极作用是有限的,并且有其缺点(请参见上一节)。

解决信息源问题的另一种方法是间接方法 。 这个想法是从间接来源中提取有关我们感兴趣的事件的信息。



对于每种类型的事件,这些来源都将有所不同:莫斯科的温度-带有适当地理位置和日期的Instagram照片,比赛结果-带有相应标签和日期的社交网络上的帖子等。 近年来在机器学习领域的成功可能使我们能够从间接来源以合理的准确性确定过去事件的结果。 什么样的机器学习模型适用于此,准确性如何,间接来源是否独立-对于每个特定事件都应单独考虑所有这些问题,其可解决性的事实将成为此事件间接方法适用性的标准。

对于相对简单的任务,例如通过充分选择体育迷的帖子来确定比赛结果,这些问题似乎已经解决。 假定合同将引用在其上执行计算的节点(从间接来源中提取预测)。 提议计算的可靠性以加密方式确认,例如在Golem项目中实现的那样。



此方法是实现Oracle完整性的第二步。 这不是关于卧室的光线,而是关于天气,关于选举结果,关于“ 猎鹰重型导弹的成功发射。

为了完整起见,我们将涉及诸如Augur 之类的预测市场的话题。 市场使用“人群的智慧”来预测未来事件。 用户可以通过购买一定比例的报酬来预测这些事件的可能结果,以获得正确的猜测结果(获胜者将根据其下注的大小来分享奖池)。 因此,此方法对预测的参与者意味着经济动机:对于正确的预测,用户将获得奖励,而在预测不正确的情况下,则会损失投资资金。 在这种情况下,预测是所有用户的加权平均期望。 预测市场的使用极大地提高了所提供信息的完整性,因为您可以预测任何事情(如果愿意的话),而可靠性则为预测的参与者提供了经济动力。

但是,并不是所有的事物都乍看起来看起来像是那么红润。 首先,预测只是市场参与者的期望(可以举出许多事件的例子,没有人期望发生)。 其次,在这种模型中,如果通过错误更改预测的成本小于合同错误操作的利润,则可以操纵预测。 例如,如果合同在事件A的情况下承担了大笔支出,并且此事件的起源决定了资金流失量较小的预测市场,那么攻击者可以伪造事件A,仅将获得的收益的一部分用于操纵预测。

结论


甲骨文对于智能合约技术的重要性很难高估。 Oracle是从源头到合同的信息提供者。 并且,如果今天的现有解决方案能够相当可靠地传输此信息,那么其原始可靠性问题仍然无法解决。 创建/选择可靠和完整的信息源是将智能合约与无处不在的分发区分开的最后一个领域。 鉴于区块链技术的积极发展,我们可以指望在未来几年至少部分克服这一里程碑。

Source: https://habr.com/ru/post/zh-CN418791/


All Articles