Themis 一种分布式预言机解决方案

2020-08-21 11:39 栏目:经验之谈 来源:网络整理 查看()

Oracle (Oracle)是一个可以为链上的智能合同提供链外数据源的系统。“神谕”这个词来自希腊的神话,代表能与神交流的人,他们能看到未来的景象。在区块链的背景下,甲骨文是一个可以回答区块链外部问题的系统,并实现了链上和链外数据之间的桥梁。理想情况下,预测机器是不受信任的系统,这意味着它们不需要受信任,因为它们是根据分散化原则运行的。Themis也来自正义女神神话。我们希望通过Themis解决方案为供应链中的智能合同提供公平、公正、准确、及时的数据服务。

1.你为什么需要一台预测机器?

预测机一般是指将区块链以外的信息写入区块链的机制,可以理解为打开现实世界与区块链世界之间的桥梁,将外部信息写入区块链,完成区块链与现实世界之间的数据交换。它允许某些智能合同应对不确定的外部世界,这是智能合同与外部世界互动的唯一途径,也是区块链与现实世界的接口。

为什么我们需要预测机器?

在区块链,只能获得链上的数据,但不能访问链外的真实世界数据。这意味着区块链世界对外界是封闭的,而区块链本身是循环的,但不能与外界联系。当一些函数或智能契约需要读取外部信息时,它们不能接收信号,也就是说,智能契约不能主动获取链外的数据,而只能被动接收数据,这是预测机诞生的主要原因。

如果满足什么条件,会触发什么结果,这就是智能合同执行的过程。然而,智能契约不能自己读取链外的数据,只有当外部数据源告诉它发生了什么时,它才能执行相应的内容。例如,如果我们想根据智能合同中的全球人口m进行一些计算。那么这就是系统外的信息,这是不确定的。通过从不同节点获取该数据M而获得的结果可能不同,甚至同一节点在不同时间获得的结果也可能不同。因此,节点无法验证彼此的正确性。

此外,随着越来越多的节点加入网络,新节点需要重放先前区块链中的所有事务。此时,获取全局总人口m可能完全不同,新节点无法确认链中的原始数据是否正确。这样,区块链的共识机制就会崩溃。因此,区块链无法打开这个活动的同步网络端口来获取外部数据。

预测机的功能是为链提供真实世界数据的中介,其最重要的特点是确保预测机本身的中介没有做坏事和篡改数据。智能契约只有在相应的条件下才会达到触发状态。也就是说,智能契约的触发和操作不能没有数据源,下一步操作只能在智能契约接收到这些确定性数据时进行。因此,如果没有预测,区块链将与外界隔绝。所有需要与外部世界交互的应用场景都无法实现。这将极大地限制区块链生态的发展。

2.当前预测机的主要应用场景

理想情况下,预言机器提供了一种不信任或者至少近乎不信任的方式来获取真实世界的信息,比如以太网平台上的智能契约。它们还可以用来安全地将数据直接转发到前端。因此,预测机器可以被视为一种弥合链外世界和智能合约之间差距的机制。允许智能合同基于真实世界的事件和数据来强制执行合同关系极大地扩展了它们的范围。

Themis 一种分布式预言机解决方案

甲骨文可能提供的其他数据包括:

物理随机数源或熵源(如量子现象或热现象):例如,在彩票智能合同中,中奖者是公平选择的。

汇率数据:例如,准确地将密码货币与法定货币联系起来。

资本市场数据:例如,一篮子象征性资产或证券的定价。

指标引用的数据:例如,利率包含在智能金融衍生品合约中。

时间和间隔数据:基于精确国际单位制时间测量的事件触发。

天气数据:例如,基于天气预报的保险费计算器。

预测市场趋势和运动菠菜相关合同。

其他区块链事件:互操作功能。

以太市场价格:例如,燃气价格预测机。

Themis主要关注随机数预测机、多资产价格预测机、计算预测机等应用场景。

3.Themis解决方案

Themis提供了一整套技术解决方案,主要针对随机数预测机,多资产价格主要针对随机数预测机,多资产价格主要针对随机数预测机,多资产价格,身份验证,防攻击算法,可验证随机函数VRF,仲裁协议等模块,形成了一个完整的Themis -Protocol。

Themis 一种分布式预言机解决方案

3.1主题信息系统的参与者定义如下

数据提供者:在协议中提供各种数据的参与者,包括可验证的随机数、多资产价格和可验证的计算能力提供者。任何持有一定数量Themis的人都可以成为数据提供者,数据提供者在提供数据时需要保证一定数量的Themis (ERC-20)。如果提供的数据最终有效,数据提供商将获得Themis (ERC-20)奖。

验证者:如果数据提供者提供数据,验证者可以挑战数据。验证者可以通过VRF、可验证的计算工具、标准链中的资产价格等来验证所识别的数据。验证结果被提交给仲裁节点,仲裁节点仲裁该挑战。如果仲裁成功,验证者将获得对方承诺的Themis(ERC-10),从而获得利润。

验证者需要在识别数据后提供新的数据。如果验证者未能提出质疑,验证者承诺的Themis(ERC-20)将按一定比例分配给数据提供者和仲裁节点。数据调用者:调用Themis的预测机器合同,并支付一定数量的Themis(ERC-20)作为费用。任何合同和账户都可能成为价格的调用者。数据调用者支付的费用也将按一定比例分配给数据提供者。

3.2数据提供和数据验证

根据不同的应用场景,数据提供者提供数据的方式略有不同。

可验证的随机数

数据提供者使用可验证的随机函数(VRF)生成可验证的随机数,并将随机数和承诺的Themis(ERC-20)传输到智能合同中。数据验证器可以验证上传的随机数,并将验证结果发送给仲裁节点。

仲裁节点仲裁验证结果。如果证明上传的随机数不能通过验证,本次交易中数据上传者承诺的Themis(ERC-20)将作为奖励分发给数据验证者和仲裁节点。

如果数据提供者提供的数据没有问题,Themis(ERC-20)将作为数据被授予,并且承诺的Themis(ERC-20)将在一定时间间隔后返回给数据提供者。

要了解VRF的工作原理,我们首先应该了解散列函数,如SHA256、SHA3等。没有详细讨论。理想散列函数的取值范围应该是离散且均匀分布的。给定不同的输入值,其输出值应该是不规则的,并且在值范围内随机分散和分布。

同时,散列函数有一个简单的变体,即散列函数与秘密相结合,例如结果=SHA256(秘密,信息)。要得到结果,光有信息是不够的,你必须知道计算的秘密。这是一个带秘密的散列函数。

一个可验证的随机函数(VRF)。简而言之,它是一个结合了非对称密钥技术的散列函数,例如result=VRF _散列(SK,info),SK是一个保密的私钥,与SK配对的PK是一个公钥,需要向验证者公开。

具体操作流程如下:

1.数据提供者生成一对密钥PK和sk;

2.数据提供者计算结果=VRF _哈希;

3.数据提供者计算证明=VRF证明;

4.数据提供者将结果和证据提交给数据验证者;

5.数据提供者向验证者提交主键和信息;

6.数据验证器计算结果=VRF P2H(证明)是否为真,如果是,继续以下步骤,否则,停止;

7.数据验证器计算真/假=vrf _ verify (pk,info,proof),其中真表示验证通过,假表示验证失败。

所谓验证通过,即证明是否是由信息生成的,结果是否可以通过证明来计算,从而推断出信息和结果是否对应匹配,证明者给出的材料是否有问题。在整个操作过程中,证明者从来没有出示过他的私钥,但是验证者可以推断出信息和结果是否对应和匹配。

您还可以从哈希函数的演变历史的角度进行总结:

原始散列函数:信息-结果

带密钥的散列函数:(信息,秘密)-结果

公钥版本的哈希函数(即vrf):(信息,sk)-(证明,通过主键验证)

-结果

多重资产价格

以BTC/USDT为例,一个数据提供者打算报价1 1BTC=10000USDT,他需要将报价的资产类别“BTC”、10,000USDT的资产价格(这里,10,000 USDT只是作为一个价格导入,并没有转移到智能合同)和质押的Themis(ERC-20)作为参数导入到预测机器合同中。整个过程是完全开放的,任何人都可以成为数据提供者,价格和承诺规模由他们自己设定。

在数据提供者的资产、价格和质押Themis(ERC-20)被提交到报价合同后,任何验证者都认为价格有问题,并且可以识别价格。之后,仲裁节点将进行仲裁。仲裁节点根据报价块确定报价时间,然后根据时间查询当前主交易所此时的实际价格。如果数据提供商提供的价格和实际价格之间的偏差大于阈值,数据提供商将失去承诺的Themis(ERC-20)。这种机制确保报价在市场上是公平的。

可验证的计算能力

1.计算任务的发起者,上传要执行的代码,并提供佣金。

2.数据提供者发现该任务,认为佣金是可接受的,执行计算任务,并将计算结果和承诺的Themis(ERC-20)传输到智能合同中。

3.验证器重新执行任务。如果发现数据提供者有欺诈行为,他可以发送自己的计算结果,并向仲裁节点提交Themis(ERC-20)。

4.仲裁节点将重新执行计算任务或实际计算结果,伪造者承诺的Themis(ERC-20)将按一定比例分配给验证者和仲裁节点。

5.如果没有人能提供证据证明数据提供者在一定时间内伪造,数据提供者将获得任务发起者提供的Themis(ERC-20)佣金。

数据有效期和验证期

任何数据的有效期从数据被提交到预测机器的时间开始受到限制。

在提交的数据的事务被记录在块中之后,系统在30个块之后暂时失效。对于链中的资产价格,将根据一定的算法计算有效期内的数据,生成可以查询的价格,并对外提供价格查询服务。

为了防止用户恶意生成错误数据,每条数据都有很长的验证周期,暂定为40小时。在此期间,验证者可以对数据提出质疑。经过验证期后,未被成功挑战的数据称为有效数据,有效数据将因挖掘而得到奖励。

反攻击算法

如果大规模调用Themis,可能会有攻击者。攻击者篡改某些正常数据,或者攻击者恶意挑战,希望数据永远不会被更新(因为一旦被挑战,数据将不会被采用和更新)。攻击者愿意牺牲承诺的Themis(ERC-20)来换取更大的利润。

我们通过增加攻击者的成本来防止攻击:

首先,当验证者挑战时,他必须保证一笔Themis(ERC-20)。验证者在挑战时必须留下新的数据和资产。这意味着在验证者挑战之后,他要么留下正确的数据,要么失去更多的Themis(ERC-20),市场上将会有其他的验证者来套利和修正数据。

其次,为了扩大攻击者的成本,所有验证者的承诺规模安排如下:

如果数据提供者的承诺等级是n1,那么验证者的承诺等级n2=m*n1,其中m1意味着验证者必须以两倍以上的承诺等级进行挑战。让我们以m=2为例,最初的保证是n=100 Themis(ERC-20)。挑战不断,n1=200,n2=400,n3=800,依此类推。攻击者需要花费大量的金钱在一段时间内扭曲市场价格。

生态设计

数据提供者通过支付连锁费用和保证一定的themis (ERC-20)获得Themis(ERC-20)。当验证者通过挑战获得利润时,如果它不是恶意的挑战,那么验证者将不会有任何风险。因此,对于验证者来说,成本效益是相对清晰的。对于数据提供者来说,其承诺的规模决定了获得的收入。

仅依靠回报的Themis(ERC-20)不足以完成逻辑的闭环,这又回到了构建价格预测机器的初衷:链外数据是各种智能合同的刚性需求和最重要的基础设施。因此,任何智能合同开发者或用户在调用Themis时都应该支付相应的费用,这部分利润将按比例分配给数据提供商。

由于Themis的惩罚机制,大多数数据提供者将提供正确的数据,这将导致验证者无利可图的结果。验证者是保证整个生态安全的重要组成部分。如果没有人愿意扮演这个角色,那将会破坏整个系统的安全性。

为了确保生态,Themis设计了一种叫做累积奖金的机制。基本原则是仲裁节点将随机选择一些建议作为数据提供者来给出错误的数据(称为强制错误)。当验证者提出质疑时,数据提供者将不会受到惩罚,验证者将获得累积奖金作为奖励。

4.themis的应用

当我们拥有可验证的随机数时,就可以设计依赖于随机数的产品,例如:

1)社会公共服务:随机数应用在日常社会生活中随处可见,如彩票、汽车彩票、住房彩票等。所有这些都需要一个公平透明的随机数机制来降低社会管理成本。

2)抽奖:我们看到的几乎所有电子抽奖都将使用随机数,生成可验证的随机数非常重要。不可预测的不可攻击的随机数生成机制是保证彩票活动的底层核心。

3)菠菜产品:通过真实的随机数字,你可以设计各种连锁菠菜游戏,如彩票、中奖珍宝、777等。并以分散的方式推广菠菜。使整个过程更加公平透明,避免黑客攻击、人为作弊等行为。

3)分散游戏:各种在线象棋和纸牌游戏都依赖于随机数的生成。有效的随机数机制可以在更大程度上保证游戏的随机性,避免系统攻击。

当我们有多种资产价格时,更多的DeFi产品可以依赖Themis进行应用,例如:

1)分散交易:目前的分散交易主要是点对点报价匹配交易,而新的自由做市商制度的分散交易更符合用户的需求,做市商提供报价并双向参与交易。分散的交易所需要获得客观和公平的连锁资产价格,然后才能平衡自己的报价系统。

2)自行结算抵押贷款:这也是目前使用最广泛的DeFi服务。由于价格链,涉及清算或自动结算的贷款合同可以参照该价格触发,从而贷款行为系统可以自动完成。

3)期货和期权产品:与贷款产品类似,一般意义上的期货和期权产品需要集中机构进行强制清算等。分散平台具有连锁价格预测机制,可以实时捕捉连锁价格,从而自动实现产品合同,而不承担集中化的风险。

当我们拥有可验证的计算能力时,就可以设计依赖于计算能力的产品,例如:

1)计算任务超过链费上限。以以太网为例,以太网中单笔交易的额度是有上限的,这意味着当智能合同的计算量超过上限时,智能合同就不能完全执行。在天然气的限制范围内,天然气的成本更高,这将导致单次调用智能合同的交易费用过高,费用被浪费。可验证的链外计算能力将完美地解决这个问题。一个例子是Doge Ethereum桥,它验证了Dogecoin的工作量证明算法Scrypt,Dogecoin是一个内存需求强、计算量大的函数,不能在Etherium块的气体上限内计算。

2)迭代计算,消耗大量计算时间。一些迭代操作,例如SPV证明,将花费很多时间。如果所有操作都在链上执行,所有节点必须操作一次才能完成一致性。这将导致整个链条的效率降低。如果将这些操作从链中取出,并通过事件监控机制调用,上述问题将得到解决。

3)由于链上的存储容量有限,不可能计算链上的大量数据。例如,有些操作需要大量的数据支持,由于以太网存储容量的限制,这些数据无法存储在以太网中。将操作和操作数据从链中取出,并通过可验证机制进行验证,将有效地解决这些问题。

更多信息:https://www.themisoracle.com

更多区块链项目介绍:http://www.qukuaiwang.com.cn/news/xiangmu

风险警示:区块链投资风险大,项目披露可能不完整或具有欺骗性。在尝试投资之前,请确定您承受上述风险的能力。Blocknet只介绍项目,但不审核项目的真实性和价值!

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发