LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 一文了解去中心化预言机,及其在DeFi领域的应用

一文了解去中心化预言机,及其在DeFi领域的应用

2020-05-03 洁sir 来源:区块链网络

随着加密经济和DeFi的发展,智能合约和预言机已被证明是重要的。许多预言机平台都在尝试将真实世界的信息桥接到区块链上。重点将放在当前正在进行的项目上,同时注意相关的路线图信息,集中化,共识和技术将是整个分析的关键主题。加密货币领域中的预言机是必不可少的变量。本文将定义智能合约和预言机,以及它们之间的关系,同时确定理想的区块链预言机协议的最佳实践。

什么是智能合约?

智能合约是一种自动化程序,即使从其创建者那里部署到区块链,也无法对其进行篡改或关闭。它接收输入,执行一些逻辑,并相应地更新区块链状态。智能合约可实现价值交换,而无需完全经过代码运行的中间人或中介方。智能合约的工作方式与自动售货机的工作方式相似,但具有防篡改的附加功能。同时,智能合约需要区块链分类账本的代币。一旦设置了参数,就会触发智能合约输出,这过分简化了智能合约的工作方式。



一个简单的智能合约用例是针对某人押注比特币的价格是否可以在今年年底之前超过100,000美元。然后将这些参数部署到区块链上。到今年年底过去后,根据比特币的价格到年底是否超过100,000美元的结果,资金将从双方的帐户中存入或提取。


上面的示例进一步演示了智能合约的出色用例。它是完全去中心化的,自动化的并且是防篡改的,因此没有人可以作弊。在执行智能合约时不涉及中间人,也不涉及第三方。但是请稍等一下,如果应该将区块链系统与外界完全隔离,那么智能合约如何得知比特币的价格呢?这就是预言机的来历。如果你将智能合约视为普通人,则区块链分类帐就是该人所居住的宇宙。因此,预言机是一个可以突破空间障碍并知道例如传统互联网等其他领域正在发生什么的实体。

什么是预言机?


现在该探讨一下预言机的角色及其工作原理。尽管智能合约是完全自主运行的程序,但它们首先需要的是输入。该输入首先触发要执行的智能合约。在上面的示例中,此输入为比特币的价格。但是,如何精确检索比特币的价格,谁负责将价格数据发送到智能合约?那是预言机的工作。它从跟踪比特币价格的网站上提取一些数据,然后将其发送到智能合约。无论智能合约多么安全, 预言机仍然是其最薄弱的环节。智能合约无法完全去中心化,除非它可以使用能够抵抗任何操纵的去中心化机制将数据导入其中。


区块链上的智能合约无法确定性地验证由预言机提供的外部输入。基于这一事实, 预言什么在确定智能合约的真正安全性方面起着至关重要的作用。这并不意味着所有智能合约都需要外界的界入。但是,如果不合并现实世界的数据,则智能合约的使用将降至最低,并且在去中心化金融,保险,贷款等部门中也不会出现更复杂的用例。

通过这种方式,智能合约的可信赖程度在许多实际情况下,都涉及某种预言。每个应用程序可能在智能合约的操作中拥有不同类型的股份,因此一个合约要接收的数据与想要接收另一数据的另一合约相比可能有所不同。每个应用程序可能需要不同类型的数据,其中最直接的数据,例如比特币价格。因此,尽管许多平台竞争成为预言机的解决方案,但这可能永远不会发生,因为每个应用程序可能具有不同的用例,并且具有不同程度的成本效益。

预言机的潜在问题

预言机将区块链世界连接到现实世界,没有它们,区块链平台将像一个围墙式的花园,无法与外部数据进行互操作。因此,没有预言,智能合约仅限于将代币从一个帐户转移到另一个帐户。如果要使用 预言机来连接这两个世界,那么无论智能合约的安全性如何,都会给其带来严重的风险。这个难题是著名的预言机问题。我们如何确保并保证预言机提供的数据是合法的?

集中式预言机需要他们的智能合约才能信任第三方来检索数据。一些预言机依靠某些声誉和惩罚机制来防止操纵。相比之下,其他预言机使用多个数据源并汇总数据,取数据的中位数,然后再将其提供给智能合约。


预言机问题源于信息是真还是假的简单前提。如果提供的信息正确无误,如何证明或不证明呢?数据的有效性不是一个容易解决的问题,研究仍在进行中。尽管如此,仍有许多预言机项目决定解决此问题,以便为智能合约提供最可靠的数据。一旦预言机将一些数据放到区块链上,谁能验证这些数据是绝对正确?是否有任何动机来验证某些任务的正确性?激励难题就是验证者的两难境地。 预言机的问题和验证者的困境密不可分,而且没有防故障系统。但是,最佳实践包括使用多个数据源,各种预言,放样和惩罚机制以及受信任的执行环境。所有这些都有其优点和缺点,因为尽管创建一个预言机系统非常容易,但是创建一个完全不信任的预言机系统却颇具挑战性。


以下是在预言机系统上可能发生的一些主要攻击:


1. 51%的攻击:当一个实体拥有大量的预言机节点时,它们可以控制要发送的数据和要声明某些内容的数据。节点越分散,它们的状态越好。不过,在没有严格KYC指导的情况下,很难确定单个实体是否控制着大多数节点。


2. 镜像攻击: 预言机节点可以获取数据并将其与控件中的其他节点共享。这种攻击有可能传播虚假信息,从而降低安全性。当不同的节点复制其他节点的答案时,可能会发生镜像攻击,也称为自由加载。


3. 数据处理:即使预言机节点从外部源获取了准确的数据,这些外部源也有可能对数据进行了处理。因此,预言机最终在不知情的情况下获取了错误的值。当系统使用特定的交换而不是允许节点本身从所需的任何地方检索数据时,这个问题就变得尤其普遍。


4. 活动性问题:在某些情况下,可能没有任何节点将数据推送到链上。尽管这不太可能一直发生,但恶意行为者可能会这样做,目的是有意地停止预言机运行。


预言机系统真正去中心化意味着什么?


端到端去中心化的预言机系统是系统中组成部分的每个组件都以某种方式,形状或形式分散的东西。当查看其中的大多数当前预言机解决方案提供商时,无论他们声称要分散多少,它们都不会通过此测试。我们可以查看当前市场上所有可用的预言机系统,并应用以下检查来确定它们是真正的去中心化还是仅声称是去中心化的:


应该没有给系统开发人员预挖或预挖的令代币。第三方很难以这种集中化的形式在任何时候都对市场上的代币抛售产生恐惧,因此很难获得对项目的信任。这是否是一个好方法还是存在争议的。主要问题是项目在预开采/铸造硬币之后是否实施适当的分配机制。


任何人都应该能够参与该系统。在某些节点上引入某种对其他节点的许可或偏好会丢失所述系统的无许可因素。它进一步使数据提供者有更多的动机去站在原始作者的向好方面,以便他们巩固其作为可信赖来源之一的地位。由于担心智能合约的用户可能只想使用系统原始作者的首选节点列表,因此新节点将很难加入网络。


预言机系统必须具有适当的机制来基于数据差异启动和解决争议。解决这些争端必须是一个去中心化的过程,而又不损害安全性。系统的所有升级和更改都必须以分散的方式进行,在可升级性方面,任何一方都不应该是权威人士。

对于完全去中心化的系统,没有一个万能的共识算法。基于潜在的51%攻击的高可能性,PoW(工作量证明)有其缺点。 PoS(权益证明)使得拥有最大数量代币的人可以完全控制共识机制,从而导致51%的攻击不同。可能是不同共识算法的组合,具体取决于其用法,也许是解决此问题的理想方案。


如果满足以上所有条件,就可以说预言机是去中心化的。请记住,可能还有其他功能可以确定系统的不信任度,但是这些功能可以最佳地逼近理想的预言机系统。

在预言机基础架构上的项目


当前有许多项目正在构建自己的预言机平台,并且每个项目都以不同方式解决臭名昭著的预言机问题。无论如何,每个人都在努力建立一个完全去中心化的预言机平台,因为它将是最终用户最信任的平台。有些是部分去中心化的,有些则开始集中化,并逐步进行去中心化。相反,其他人则更多地关注共识协议,而另一些人则在不同的激励和惩罚机制上付出了更多的努力。无论如何,目标都是要减少对中介机构的依赖,从而致力于建立一个不受信任的端到端的去中心化基础架构。


本文将详细阐述排名前五的MakerDao加密预言机项目,以了解它的真正去中心化程度以及白皮书中描述的所有内容是否都已生效。在白皮书中写有关平台如何工作是一回事。但是,仅分析白皮书并不是判断项目的最佳方法。项目的当前状态很少能反映白皮书中实际概述的内容。


此外,根据项目明确解决以下问题:
1. 项目如何处理潜在的预言机问题,例如镜像攻击?当预言机节点获取数据并将其与控制中的另一个节点共享数据时,这会导致链上添加错误的值,从而引发这种攻击。
2. 当没有节点将数据推送到链上时,项目如何处理问题?尽管这种情况不太可能发生,但相反的,参与者仍然有可能希望停止并降低系统的完整性。
3. 如果在链上增加了不良价值,项目如何实施争议机制?
4. 如何选择数据提供者?
5. 该项目在主网上进行了多长时间?如果不是,当前状态是什么?
6. 目前该项目的代币分配模型是什么?
7. 白皮书中概述的所有内容都已经存在于主网上吗?

MakerDAO的预言机

MakerDAO是一个去中心化组织,其协议(称为Maker协议)采用两代币系统-MKR(管理代币)和DAI(稳定硬币)。他们的平台使用以太坊或任何基于以太坊的资产作为抵押来向世界上任何人释放去中心化金融的力量。我们将检查他们的预言机堆栈,它们将用来为用作抵押的数字资产提供价格。


Maker对于每种抵押品都有一个预言机智能合约模块, 预言机节点在其中输入价格数据。 预言机堆栈处理提要或数据提交者。作为预言机堆栈的一部分,还有所谓的全局定居者,或紧急预言机。在Maker系统中,所有数据提交者,或预言机节点都是具有特殊权限的外部参与者,因此首先需要将其列入系统白名单。 MKR选民选择了一组受信任的预言机节点。同样,价格输入本身也从其中馈送到所谓的预言机安全模块(OSM),它充当预言机节点与Maker协议之间的防御机制。这种动态性使价格传递被延迟了一个小时,因此在紧急情况下,如果已知某个预言机被泄露,紧急预言机可以冻结该预言。 MKR选民选择紧急预言。 Medianizer智能合约采用不同价格的中位数,如果没有问题,则将其用作官方价格提供数据。


最常见的问题

尽管MakerDAO的预言机体系结构不受镜像攻击的影响,因为每个节点都计算自己的数据,但它不能抵抗Sybil攻击。尽管运行节点的组织是众所周知的,但运行节点的个人是匿名的,以保护自己免受勒索和勒索的风险,因此该平台无法在罕见的情况下有效地处理Sybil攻击。


此外,由于受信任的节点的数量有限,因此,如果大型团体与大多数Feed协作以发起预言机攻击,那就不会超出范围。预言机安全模块(OSM)可以缓解此问题,以延迟预言机价格。如果发现某些节点没有推动任何价值,则可以启动紧急治理投票以消除行为不正确的节点。但是,在某些情况下,甚至OSM也可能无法正常工作。例如,可能存在授权攻击和配置错误,从而可以撤消对核心合约的访问,从而由于价格无法更新而造成混乱。没有自动系统可以处理此类情况。因此,唯一的解决方案是尽职调查,并依靠整个社区来尽自己的一份力量来确保系统安全,这可能给用户带来负担。


最后但并非最不重要的一点是,就代币分配模型而言,MKR的总供应量设计为不超过1,000,000;但是,截至2020年4月,目前为1,005,576。这种供应差异是由于系统的双重代币机制所致,其中还包括DAI(一种稳定的硬币,固定在1美元)。如果系统债务超过盈余,则MKR代币供应将通过债务拍卖增加以对系统注资。 MKR的循环供应量也为1,005,576,这表明到目前为止所有代币都在市场上流通。

在其预言机堆栈的第2版中,MakerDao在链外进行大部分计算,而在链上,Medianizer与预言机安全模块和Maker协议一起使用。尽管Maker的预言机堆栈只是Maker系统的一小部分,但它起着不可或缺的作用。但是,Maker实施其预言机堆栈的方式存在一些缺陷,因为其中之一是预言机的数量最少,而添加更多需要MKR选民对提案进行投票,从而仅生成受信任的预言机列表。选民也极有可能只选择市场上最受欢迎的预言机节点,从而使新手几乎不可能加入预言机堆栈。

MakerDao的预言机堆栈是专为Maker系统设计的,因此限制了其功能,超出以太坊。此外,如果没有适当的安全措施,则拥有多数代币的人有可能劫持整个网络。代币接管问题不是Maker独有的,许多其他仅使用其代币作为权益或治理机制手段的区块链项目也是如此。

结论


本文简要介绍了智能合约的运行方式,预言机的重要性以及为什么必须要有一个经过深思熟虑,安全且去中心化的系统才能将数据带入区块链世界。没有错误的余地,因为它破坏了所依赖的区块链系统的整体安全性。对于健壮的预言机基础架构而言,它并不总是与速度有关,而是与一天结束时其可靠性如何相关。

我们在本文中没有讨论其他的预言机项目,因此,对于任何应用程序来说,理想的解决方案是,如果要检索的数据具有高价值且非常敏感,则使用多个预言机平台是可取的。相比之下,如果数据不是最重要的话,可能可以使用单个预言机平台。总会有权衡取舍,而且不存在任何一种适用于所有预言机的预言机系统。

——感谢阅读,全文完——

原文链接:https://medium.com/kuucrypto/will-the-real-decentralized-oracles-please-stand-up-2b936a2349c7

—-

编译者/作者:洁sir

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...