
2 安全模型和目标
去中心化预言机网络是一个独特的分布式系统,我们预计最初将通过基于委员会的共识协议典型地(尽管不一定)实施并由一组预言机节点运行。DON主要旨在通过预言机报告和其他服务来增强主链上智能合约的功能,但它可以为其他非区块链系统提供相同的支持服务,因此不需要与特定的主链相关联。
因此,我们考虑的模型和属性在很大程度上独立于DON的特定应用程序的使用。
2.1 当前的架构模型
需要强调的是,今天的Chainlink不是一个单一的服务,而是一个无需许可的框架,可以在其中启动不同的、独立的预言机节点网络[77]。网络具有异构的节点运营商和设计集。它们还可能在提供的服务类型方面有所不同,其中可能包括例如数据馈送、储备证明、可验证的随机性等。其他差异可能包括去中心化程度、网络规模(就其支持的锁定值而言)以及各种服务级别参数,例如数据频率和准确性。
Chainlink的无许可模式鼓励生态系统的发展,在该生态系统中,供应商专注于他们最能提供给社区的服务。与要求所有节点和网络提供全方位服务的模式相比,这种模式可能会为用户带来更低的成本和更高的服务质量,这种方法可以很容易地转化为在系统范围内采用代表最不常见的服务的方法,节点可用资源的分母。
随着Chainlink在Chainlink 2.0中向基于DON的设计发展,我们将继续支持无许可、开放框架的模型,并着眼于为用户提供一系列服务选择的目标,从而在全球范围内实现与特定应用程序需求的最佳匹配。
2.2 共识假设
我们使用去中心化预言机网络这个术语来涵盖我们描述的预言机系统的全部功能:预言机节点维护的数据结构和在其之上分层的核心API。
我们使用L表示的术语账本(小写)来表示由DON维护并用于支持其提供的特定服务的底层数据结构。我们强调我们的DON框架并没有将L视为像区块链那样的独立系统:它的目的是支持区块链和其他系统。区块链当然是实现可信账本的一种方式,但还有其他方式。我们希望DON在许多情况下使用拜占庭容错 (BFT) 系统来实现其底层账本,这大大早于比特币等区块链[174]。为了方便起见,我们在整篇论文中使用BFT类型的符号和属性,尽管我们强调DON可以使用无需许可的共识协议来实现。
从概念上讲,账本L是一个公告板,上面的数据是线性排序的。我们通常认为分类帐具有一些通常归因于区块链的关键属性[115]。分类帐是:
- 仅附加:数据一旦添加,就不能删除或修改。
- 公开:任何人都可以阅读其内容,在所有用户看来,这些内容在时间上是一致的。
- 可用:账本始终可以由授权的作者写入,任何人都可以及时阅读。
当由委员会实现时,DON的分类账中可能有其他属性。例如,分类帐的写入权限可能仅限于某些用户,就像某些应用程序的读取权限一样,即分类帐不需要像上面定义的那样是公开的。同样,分类帐规则可能允许修改或编辑数据。然而,我们没有在本文中明确考虑此类变体。
DON的模块化设计可以支持各种现代BFT协议中的任何一种,例如Hotstuff [231]。确切的选择将取决于预言机节点之间的信任假设和网络特征。原则上,DON可以替代地使用高性能的无许可区块链作为其分类帐,以支持同样可扩展的第2层或区块链系统。同样,混合也是可能的:原则上,DON可以由作为现有区块链中的验证者的节点组成,例如,在选择委员会执行交易的股权证明系统中,例如[8,81,120 , 146, 204]。这种特定的操作模式要求节点以双重用途的方式运行,即既作为区块链节点又作为DON节点运行。(参见第8.2节,讨论确保改变委员会连续性的技术,附录F中关于随机委员会选择的一些注意事项。)在实践中,在现代BFT算法中,节点对账本上的消息进行数字签名。
为方便起见,我们假设具有关联的公钥pkLpk_L,并且其内容由相应的私钥签名。即使在使用阈值签名对L上的数据进行签名时,这种通用符号也适用。阈值签名很方便,因为即使运行它的节点中的成员资格发生变化,它们也可以为DON提供持久的身份(参见附录B.1.3。)因此,我们假设对于某些安全参数,skLsk_L以(k,n)\left(k,n\right)阈值方式秘密共享,例如k=2f+1k=2f+1和n=3f+1n=3f+1 ,其中ff是潜在故障节点的数量。(通过以这种方式选择,我们确保故障节点既不能学习skLsk_L,也不能发起拒绝服务攻击来阻止它的使用。)LL上的消息采用M=m,zM=m,z的形式,其中mm是字符串,zz是唯一的顺序索引号。在适用的情况下,我们以m=<MessageType:payload>m=<MessageType:payload>的形式编写消息。消息类型MessageType是表示特定消息功能的语法。
2.3 符号
我们用O={Oi}ni=1O=\left\{O_i\right\}{{n\atop i=1}}来表示运行账本的n个预言机节点的集合。这样的一组节点通常称为委员会。为简单起见,我们假设实现DON功能的预言机集,即在LL之上的服务与维护LL的预言机相同,但它们可以不同。我们让pkipk_i表示玩家的公钥,并对应的私钥。
大多数BFT算法至少需要n=3f+1n=3f+1个节点,其中ff是潜在故障节点的数量;其余节点是诚实的,因为它们完全按照指定的协议。如果委员会OO满足此要求,即具有大于2/3的诚实节点,我们将其称为诚实的委员会。除非另有说明,否则我们假设是诚实的(并且是腐败的静态模型)。我们根据context将pkO/skOpk_O/sk_O与pkL/skLpk_L/sk_L互换使用。
我们让σ=Sigpk[m]σ=Sigpk[m]表示消息mm上关于pkpk的签名,即使用相应的私钥sksk。令verify(pk,σ,m)→{false,true}verify\left(pk,σ,m\right)→\left\{false,true\right\}表示对应的签名验证算法。(我们在整篇论文中都隐含了密钥生成。)我们使用符号SS表示数据源,使用符号SS表示给定context中的完整nSn_S个源集。我们用MAINCHAIN表示由DON支持的启用智能合约的区块链。我们使用术语依赖合约来表示 MAINCHAIN上与DON通信的任何智能合约,并使用符号SC来表示这样的合约。
我们通常假设一个DON支持单个主链MAINCHAIN,尽管它可以支持多个这样的链,正如我们在第4节中的示例中所示。一个DON可以并且通常将支持MAINCHAIN上的多个依赖合约。(如上所述,DON可以替代地支持非区块链服务。)
2.4关于信任模型的说明
如上所述,DON可能建立在基于委员会的共识协议之上,我们预计他们将普遍使用此类协议。有许多强有力的论点认为,基于委员会或无需许可的区块链这两种替代方案中的一种提供了比另一种更强的安全性。
重要的是要认识到,基于委员会的去中心化系统与无需许可的去中心化系统的安全性是无法比较的。通过51%攻击破坏PoW或PoS区块链需要攻击者临时且可能匿名获得多数资源,例如通过在PoW系统中租用哈希算力。在实践中,此类攻击已经影响了多个区块链 [200, 34]。相比之下,破坏基于委员会的系统意味着破坏其节点的阈值数量(通常为三分之一),其中节点可能是众所周知的、资源充足且值得信赖的实体。
另一方面,基于委员会的系统(以及支持委员会的“混合”无许可系统)可以支持比严格无许可系统更多的功能。这包括维护持久机密的能力,例如签名和/或加密密钥——这是我们设计中的一种可能性。
我们强调,原则上DON可以建立在基于委员会或无需许可的共识协议之上,并且DON部署者最终可能会选择采用任何一种方法。
支持信任模型:如今Chainlink的一个关键特性是用户能够根据其性能历史的分散记录来选择节点,如第3.6.4节所述。我们在第9节中介绍的质押机制和隐式激励框架共同构成了一个范围广泛且严格的机制设计框架,它将赋予用户极大扩展的衡量DON安全性的能力。同样的框架也将使DON本身可以对参与节点执行各种安全要求,并确保在强信任模型内运行。
也可以使用本文中描述的用于DON的工具来强制执行特殊的信任模型要求,例如遵守法规要求。例如,使用第4.3节中讨论的技术,节点可以提供节点运营商特征的证据,例如运营区域,这可用于帮助强制遵守例如通用数据保护条例 (GDPR) 第3条 (“领土范围”)[105]。否则,在分散式系统中满足这种合规性可能具有挑战性 [45]。
此外,在第7节中,我们讨论了通过它们支持的主链上的信任最小化机制来增强DON稳健性的计划。
原文链接:https://chain.link/whitepaper
---煤油灯科技victorlamp.com翻译整理---