LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 去中心化的预言机:全面概览(二)

去中心化的预言机:全面概览(二)

2019-12-10 Chainlink 来源:区块链网络

【原文】

https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841

【翻译】团长


III.女巫攻击和去中心化系统的其他漏洞

创建预言机系统很容易。但是缺乏信任的组件,会引起许多令人头疼的问题。

主要风险:依赖智能合约的各方和无法被追究责任的匿名预言机之间的激励机制。当利用多个预言机时,他们必须达成共识,因为智能合约只需要一个输入。因此,为了防止攻击,需要一种机制来确保预言机:

无法识别对方

无法相互交流:具有重要投票权的预言机(例如40%)可以广播其答案,但是不必说服许多节点确保其投票占多数。如果其他预言机知道这个节点确实具有如此强大的投票权,那么他们自己的投票权相对而言就没那么重要了。

没有办法证明他们所声明的内容:像上一条一样,必须设计一种机制来隐藏提交的答案,(当其他节点提交答案之后)预言机仍在取得他们自己的答案,并且只有在所有人全部参与之后才能揭示答案。

以下攻击机制或漏洞适用于去中心化预言机网络。

多数攻击(51%攻击):网络中存在大量节点由单个实体所控制或形成卡特尔的风险,会使得节点提供错误的数据并且仍然属于大多数。在去中心化的预言机网络项目中,预防这种风险至关重要,这通常依赖于信誉和所涉及的节点数量。

镜像:这是分去中心化预言机网络中一种特殊的女巫攻击。为了降低运营成本,节点可以决定一次收集数据,然后与其可能控制的其他节点进行链下共享。虽然这种类型的攻击如果传播的信息是正确的并不会带来危险,但它错失了通过多次查询来纠正的错误的机会,从而严重降低安全性。

Freeloading(吃白食、抄袭)是指一个预言机恶意复制另一个预言机的答案。这通常使用提交-解密(commit-reveal)方案来解决,其中每个预言机提交其加密的答案,并在足够的预言机提交答案时解密。

预言机抄袭 — 来源:《憨豆先生》

数据损坏很难被检查出来,尤其是当只有一个数据源(单点故障)时。该方法通常使用多个来源和多个预言机,以降低数据损坏的风险。

链上数据机密性:如果数据请求是隐私敏感的,即使请求可能被加密,但是由预言机组报告的数据也可能会不由自主地显示请求的内容。可能的解决方案是强制节点在TEE安全区内解密的请求,而不是发布客户端和节点都能看懂的区块链的一般答案。例如,对于智能飞行保险,用户可能不希望公开地广播他在伦敦到纽约的航班。预言机必须知道我们正在谈论航班,但是他们可以通过另一个问题的答案进行广播,例如“航班是否已经延误?”,对于是/否答案就足够了,没有在链上进一步的暴露信息。

IV.致力于去中心化预言机的项目

目前有多个项目致力于通过不同程度的去中心化来解决这些挑战,通过制定不同的激励机制来减少单一中介依赖,并引入复杂的攻击预防机制。对每个项目的深入分析超出了本文的范围,我们仅提供了简单的介绍。

这些项目分为两类:提供预言机服务的网络和网络内部化预言机服务。

1.预言机即服务(Oracle-as-a-Service, OaaS)

ChainLink

Chainlink - Official Channel (@chainlink) | TwitterThe latest Tweets from Chainlink - Official Channel (@chainlink). The Chainlink network provides reliable tamper-proof…twitter.com

Chainlink旨在构建一个完全去中心化的预言机节点网络,与以太坊,比特币和Hyperledger兼容,并考虑到模块化:ChainLink系统的每个部分都是可升级的。 ChainLink主要思想是为客户端和节点连接的预言机建立一个值得信赖的市场。 因为历史和声誉是公开的,良好的行为会得到激励,不良行为将受到处罚。 他们最初是从链上的预言机汇总数据,但他们希望通过一个有趣的设计将其转移到链外。

Chainlink演示图

任何系统的安全性都取决于其最薄弱的环节。这里的去中心化可以确保可用性,但为了应对故障节点提供不良数据的风险,ChainLink提出了两种可能的解决方案。

链上聚合(来源)

初始解决方案:链上聚合

合约聚合所有链上节点的结果,可以公开审计,使用提交-解密,以避免节点观察其他预言机的响应和抄袭结果。因此,一旦有足够的公开结果响应,最终结果就会在链上确定,但这具有显著的计算成本:每个节点一个事务,达成共识需要一个事务,以及在以太坊上部署的一个或多个聚合合约。

中期策略:链下聚合

链下聚合提供了一种更省成本的方式来达成共识。可惜的是这无法避免抄袭结果的问题。

ChainLink建议的解决方案是使用Schnorr签名:参与工作的每个预言机都会收到特定于该项工作的[公钥,私钥]组合。他们可以使用他们的私钥生成部分签名,其中包含他们对数据查询的解决方案(加密)。一个签名本身是不够的,但如果组合了足够的签名(如下图所示),它会产生一个集体签名,相当于单个事务中所有答案的聚合。

链外聚合(来源)

这里的关键是足够的签名,因为当某些节点不响应查询时,这提供了缓解机制。这种方法的缺点是,如果一个诚实的节点花费太长时间来发送它的答案,它们将不会得到奖励,从而导致节点对时间依赖性。这确实可以解决抄袭的问题,因为一旦得出答案,就不会再接受其他的提交。

您可以在此处找到有关ChainLink的更多信息。插图来自他们的白皮书。

Witnet

Witnet - Decentralized Oracle Network (@witnet_io) | TwitterThe latest Tweets from Witnet - Decentralized Oracle Network (@witnet_io). Building Witnet: the Decentralized Oracle…twitter.com

Witnet是一个基于信誉的(reputation-based)去中心化预言机网络:运行Witnet软件的节点在正确或错误地满足数据请求时会赢得或失去声誉 — 正确性由分析节点答案的一致性算法定义。不同意共识的节点会失去声誉(通过离线或恶意动作的方式),这和诚实节点之间是区别开的。如果达成共识是超时,只要节点同意共识,它仍然不受惩罚。

称为证人的预言机节点随机选择作业并根据其网络声誉挖块,使得多数攻击更加困难。诚实的参与者因此将迅速提高他们的声誉,并在网络中获得更多的责任,而不活跃和恶意的参与者将迅速失去所有网络信誉,同样它们有权为网络做出贡献,这会使它们获得信誉。

由于声誉在Witnet中非常有价值,除了在预言机工作之后在好节点和坏节点之间传递声誉之外,还在所有活动节点之间的每个块(90秒)处不断重新分配声誉以防止A.声誉集中化在最早的诚实节点和B.退出诈骗(节点停止履行工作只收集采矿奖励)。

重新分配由每个块的逾期函数执行:活动节点的声誉以对数指数的速度衰减,并且在该块中表现良好的节点获得该声誉的相等份额。换句话说,声誉在任何时候都处于抵押状态,声誉最大的人的损失最大。因此,为了保持预言机在Witnet上的地位,您必须始终表现良好

Witnet是拥有自己独立的区块链,因此可以通过桥接节点在任何地方提供去中心化预言机服务。这可能与交互操作解决方案的不太一致,但在此之前,它提供了可扩展的解决方案,降低了链上运营费用,并允许在需要时修复关键漏洞。

你可以在https://witnet.io上找到更多信息,或者您可以在此处阅读他们的白皮书。

Oraclize

Oraclize (@oraclizeit) | TwitterThe latest Tweets from Oraclize (@oraclizeit). World's most widely adopted style="box-sizing: inherit; display: block; margin-top: 12px;">twitter.com

Oraclize是一家总部位于伦敦的网络安全公司,拥有9人团队,为区块链预言机提供集中解决方案。它们拥有运行时间最长和应用最广泛的区块链预言机服务。虽然它可以在多个区块链平台(比特币,以太坊,Monax,Rootstock,Corda和私有链)上使用,但他们的大多数客户都在使用以太坊。

他们的方法是利用所有TEE环境提供商来减少漏洞。这就是所谓的沙盒。Oraclize利用IT提供商和制造商(包括亚马逊的EC2,Google的SafetyNet,高通的QSEE,Ledger的Nano S和英特尔的SGX)的产品作为其自身核心服务(Oraclize技术上)的关键组件。它们在一个独特的环境中进行分组并结合在一起使用:Oraclize为所有TEE设计了特殊的自定义应用程序以及软件层连接,使它们可以互相操作。通过从多个TEE恢复数据,这会使得即使一项技术受到诸如英特尔SGX的Spectre之类的漏洞的影响,整体聚合的结果会忽略受损的数据点。(假设漏洞是特定于体系结构的,而不是对所有处理器的通用漏洞)

为了实现分布式信任和数据的完整性,Oraclize一直依靠TLSNotary算法对来自https网站的TLS数据进行数字签名。这需要付出代价:Oraclize理论上只能提供网站上显示的数据,没有链下的处理过程,但这已经可以涵盖许多应用场景了。这里的主要风险仍然是,如果太多数据源发送故障,就无法阻止错误数据的传播,但这种风险也存在于其他更“去中心化”的解决方案中。

你可以在此处找到有关Oraclize的更多信息

Town Crier

该学术提案背后的团队由5名康奈尔大学博士和本科生组成。

Town Crier充当任何区块链和支持https的网站上智能合约之间的桥梁,通过TLS处理握手进行安全通信,以提供源身份验证数据。采用的方法与TLS-notary(仅在软件级别的安全性)不同,允许更多可定制的数据中继。

这些数据由运行在英特尔SGX上的节点恢复(软件和硬件级别的安全性)。这个经过验证的数据从安全区传递到区块链,完全依靠SGX保护来证明节点确实按预期运行了软件。

为了保护机密性,消息仅在可信执行环境的安全区内解密,因此不仅可以用于安全数据传输,还可以用于提取加密的用户凭证(例如:私有API)。此外,支持潜在的多个Web抓取目标的自定义请求。

他们解决单点故障的方法是聚合数据源以及多个SGX平台上的数据预言机。该软件已被证明相对具有可扩展性,吞吐量为15–65个事务/秒。

你可以在这里找到更多关于Town Crier的信息。据报道,2014年11月1日ChainLink CEO Sergey Nazarov在Devcon 4期间收购了Town Crier。

Cornell's Town Crier Acquired By Chainlink To Expand Decentralized Oracle NetworkToday,>t.co

2.内部化预言机服务

A.预测市场

预测市场就像投注市场一样。你对某些结果下注,这些结果的价格反映了结果发生的可能性。 — Stefan George,Gnosis

Augur和Gnosis是两个最着名的去中心化预测市场,因为它们都可以追溯到2015年。它们利用人们的智慧和无摩擦的去中心化网络来创建精妙的预测市场。两者都仔细设计激励措施,以确保市场得到正确结果。我们将仔细研究Augur如何处理这个问题。

Augur(LIVE)

Augur (@AugurProject) | TwitterThe latest Tweets from Augur (@AugurProject). An open-source, decentralized, peer-to-peer oracle and prediction market…twitter.com

Augur是一个无信任的去中心化预言机和预测市场平台,允许分布式个体推测并报告任何事件的客观结果。创建分散的预测市场平台是Augur的“简单”部分;关键因素是市场的完整性,确保理性的Augur参与者最佳选择是诚实的。

Augur有一个名为Reputation(REP)的原生token,必须用它来创建新的市场,并报告结果或提出反对意见 — 在确认无误后,这些行为获得一部分平台费用作为补偿。对市场的推测不以REP计价。

预测市场的生命周期展示(来源)

Augur允许任何人创建任何即将到来的事件的市场。市场创建者设置事件结束时间并选择指定的报告者来报告事件的结果。这一结果可能受到社区的挑战。

这些是Augur必须采取的一系列保护措施,以保护诚实的参与者:

市场创建者抵押有效保证金:如果市场没有明确定义,或没有客观明确结果,保证金则会被没收。

由市场创建者抵押的未到期押金:如果市场指定的报告者在3天内没有报告事件的结果,该押金将被没收。如果无人认领,任何人都可以提交他们的暂定事件结果。

一旦报告了暂定结果,则有7天的期限,任何REP持有人都有机会对暂定结果提出挑战。成功的挑战要求最小的争议资金大小与市场上的资金成比例。如果挑战不成功,则将押注的REP返还给其所有者,市场结算。

如果第一个暂定结果成功受到挑战,那么下一步将取决于对该轮进行挑战的抵押数量。如果争议中所有REP的利率低于2.5%(按今天的利率为150万美元),或者将进入分叉状态(如果> 2.5%),市场将要经历另一轮纠纷。

分叉状态是60天冻结期的最后手段,所有市场暂时冻结,直到它们迁移到“新的Augur宇宙”。如果产生所有这些挑战的市场是两个选项市场(是/否,当选/未选,赢/未赢……),将创建3个宇宙,即3个可能的选项:其中一个肯定,一个否定,一个无效。在每个宇宙中,市场将各自地得到解决。用户需要将他们的REP令牌迁移到这些Universe中的一个且只有一个。在60天内迁移其REP令牌的用户承诺此结果,并获得5%的额外REP以承担该风险。如果他们利用错误的宇宙,那么他们的REP就会被困在那里(宇宙A / B / C中的REP是不可替代的)。对于不希望承担这种风险的用户,他们可以在60天后的任何时间根据普遍的共识决定迁移到该市场的肯定结果。虽然并行的Augur宇宙可以暂时共存(例如Ether / Ether Classic),但人们期望一个人将成为明显的赢家,重新获得大多数市场活动,并成为公认的Augur。

我们希望读者能够明白,在创建一个市场时,模棱两可是多么危险,让去中心化预言机来控制一个会带来财务影响的结果是多么棘手。

当Augur 预言机在报告现实生活事件的结果以稳定Augur市场时,我们可以想象,如果这些激励措施强大且Augur不断增长,那么Augur的市场一旦稳定就可能成为可靠的预言机。换句话说,人们可以假设最终Augur的市场将(可能)确定实际的真实结果,因此它可以作为另一个智能合约的输入。

在此处了解有关Augur的更多信息。

B.支付服务

Ramp

Ramp Network (@RampNetwork) | TwitterThe latest Tweets from Ramp Network (@RampNetwork). Using open banking APIs to connect crypto with fiat. Warsaw, Polandtwitter.com

在过去,银行账本很难获取,但随着越来越多的司法管辖区采用开放式银行业务框架,这种情况正在迅速改变。例如,在欧洲,PSD2指令是欧洲银行有义务向获得许可的第三方提供商提供API访问银行账户,而Ramp已申请成为其中一个。

12091.png

Ismail Chaib 和OpenBankProject示意图

Ramp正在构建一种金融模型,用于最小化现有金融机构与公共区块链之间的交互。在实践中,他们使用PSD2提供p2p、fiat-to-crypto原子交换(Ramp交换)。

过程如下:

卖家创建一个智能合约,将数字资产锁定在第三方托管中。数字资产将被释放给买家,买家在适当的时候发送正确的法币,或者在不成功的情况下返还给卖家。

买家向卖家发送直接电汇。

付款预言机验证买家的付款并向网络发送付款证明(PoP)。预言机可以访问买方和卖方的账户,并且可以分别看到发送和接收的款项。

智能合约解锁托管中的资产并将其发送给买方。

存储在金融机构账本中的数据显然是敏感的,因此与报告公开信息(例如商品价格或运动结果等)相比,报告此类数据时存在明显的挑战:

数据由单一事实来源提供 — 例如:银行。

转账的信息不是一成不变的,因为金融机构可能会恢复某些交易。

数据不公开,也不易验证。

有关特定帐户(身份和交易历史)的信息应保密。

账本的可访问性各不相同,始终取决于用户的同意。

有时可以进行双向通信 — 这可以通过智能合约启动交易。

数据是结构化的 — 它形成了一个带账户的账本,但结构可能因机构而异。

由于隐私要求,人们不能简单地将从银行获得的信息传递给区块链。原始信息需要从公开可识别的信息中删除,并与区块链事务相匹配。由于这些原因,数据需要在链外进行处理并作为简单的布尔值传递给网络,以回答二进制问题(例如,是否进行了特定付款?):

Ramp目前正致力于进一步下放其技术并将其提供给更多司法管辖区。Ramp还在探索使用安全区作为额外的保护层,最终允许更多授权的第三方成为区块链上银行交易的预言机。这些发展将消除最大的集中点:法币网关。如果您想了解更多关于Ramp的信息,请查看他们的网站。

C.去中心化的保险业

我们现在可以信任代码驱动而不是利润驱动的保险公司,但如果预言机不能被信任,这一切就毫无意义。 — Hugh Karp, NexusMutual

12092.png

Etherisc上提供的去中心化保险产品

参数保险是一种特殊的保险,具有参数触发和支付条件(如果Y发生,支付$ X),例如航班延误或中心化加密货币交易所攻击。这些产品非常适合智能合约。他们需要预言机服务来为事件是否发生提供可靠的数据,要么通过良好的内部(通过投票流程定义数据输入的EtherRisk或Nexus Mutual)经济激励,要么尽可能通过去中心化的预言机即服务(Oracle-as-a-Service)提供商。

人们可以期待看到更多的保险产品由智能合约处理,Flyingcarpet就利用了复杂的物联网(IoT)传感器,无人机和卫星(来获取数据)。例如,农民可以通过智能合约购买保险,其中气象卫星通过Flyingcarpet提供数据,并使用在平台上开发的AI模型进行分析。

然而,在有些情况下,如果没有输入信息的局部调整,将无法实现自动检测和处理索赔的情况。这些案例要求本地的预言机作为独立的索赔代理人,例如:量化汽车的损坏。这些代理商由保险公司使用,可以轻松地将智能合约添加到其潜在雇主的名单中。这是EtherRisk和Nexus Mutual的路线图,他们正在使用类似的抵押设计,即良好的行为可以赚取利润,但经过证明的恶意行为将受到严重惩罚。由于欺诈一直是保险的最大损失,因此不能指望该系统不被欺骗,但如果它的可靠性与中心化保险相匹配,那么通过智能合约节约下来的成本可以惠及客户。

最终,这些索赔代理人也可以在去中心化的自治组织中合作,例如使用Aragon或Colony来协调他们的专门业务。

V.结论

与去中心化网络一样,与其本质属性相关的挑战和机遇可以用一个词来概括:激励。去中心化的网络通过精心设计的经济激励机制实现前所未有的全球合作,以确保理性参与者通过利益参与到网络中。

消除对可信第三方的依赖是一项挑战,因为任何事物和任何人理论上都是可能作恶的,但必须将风险降低到可容忍的水平。实际上,虽然总是存在短期攻击的风险,但不应该破坏网络维护者的长期激励,以维持成为他们可能的重要收入来源。

作为一个整体的比特币矿工代表了一个受信任的“实体”,他们保护比特币账本的安全。有些矿工可能利用漏洞获取短期收益,但他们理性地进行了长期收益,从而使得他们的ASIC投资和未来的区块奖励变得收益更高。此外,以太坊经常受到批评,因为它过度依赖Infura或Metamask等服务。即使这些服务通过Consensys进行了重新变成了中心化的服务,但它们在以太坊中占有重要地位,因此它们没有动机去作恶。这些中间解决方案在更广泛的去中心化道路上所带来的风险是可以容忍的。

逻辑上,与外部世界的交互是智能合约的下一个方向,同样,为了防止攻击,必须设计合理的激励措施。这里的主要挑战是潜在的强大经济诱因,诱使人们做出不当行为。随着这些网络的发展,它们将成为其贡献者重要的收入来源。将会有越来越多的预言机服务提供商出现,在这些网络中占有大量的份额。这意味着它们将不再依赖于单一的一方,而是对服务质量有着极高的信心。

胡萝卜加大棒的经济激励是非常有效的,我们期待看到所有这些项目的发展。ChainLink通过使用token抵押和声誉系统,在拥有可靠的预言机服务方面处于有利地位。当我们拥有被证明有效的预言机时,就会出现很多应用案例,我们对去中心化的保险产品,金融产品和预测市场感到非常兴奋。

Chainlink官方渠道

QQ群: 6135525

微博:https://weibo.com/chainlinkofficial

币乎:https://bihu.com/people/1869894547

合作联系:[email protected]

GitHub:https://github.com/smartcontractkit/chainlink

Gitter:https://gitter.im/smartcontractkit-chainlink/Lobby

Twitter:https://twitter.com/chainlinkofficial

Telegram:https://t.me/chainlinkofficial

—-

编译者/作者:Chainlink

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

LOADING...
LOADING...