基于EOS平台的去中心化Oracle技术平台介绍

区块链

580人已加入

描述

OracleChain(欧链)作为全球第一个在 EOS 生态圈上构筑的应用,将直面该生态的 Oracle(预言机)需求,将区块链技术服务和现实生活中的多种需求场景直接高效对接,深耕这个百亿美金估值的巨大市场。作为一个基于 EOS 平台的去中心化的 Oracle 技术平台,我们采用自主的 PoRD 机制,将现实世界数据引入区块链,并将此作为基础设施为其他区块链应用提供服务。除了在区块链上提供现实世界数据的 Oracle 服务,同时还可以提供跨链数据的 Oracle 服务。基于OracleChain 除了能实现 Augur、Gnosis 等预测市场(Prediction Market)应用的功能之外,还能支撑对链外数据有更高频率访问需求的智能合约业务,比如智能投顾等场景。OracleChain 将改变当前区块链应用的开发模式,建立全新的生态圈,培育并服务真正能改变现实世界的区块链应用。我们的使命是“让世界与区块链互联”,立志成为链接现实世界与区块链世界的基础设施,通过把外部数据引入区块链来实现链内链外的数据互通,打造未来区块链世界中最高效的获取链外数据的服务提供平台。

OracleChain 技术架构

1 平台模型

OracleChain 平台主要由两个层次组成:核心层和服务层。核心层基于 EOS 框架搭建 OracleChain 的基础服务和运作机制,服务层则在核心层的基础上将 Oracle平台包装成 API 接口对外提供 Oracle 服务。

核心层

OracleChain 核心层提供 Oracle 实例的创建,实例数据输出令牌的管理,DataFeeder 节点的管理等基础服务。在这一层,OracleChain 实现了对 Oracle 实例和Data Feeder 节点的管理。Data Feeder 节点将根据 Oracle 的需求读取数据并和其他 Data Feeder 节点共同完成此 Oracle 答案。特别的,OracleChain 引入了声望(Reputation)的奖惩机制、风险金(Deposit)的惩罚机制和 Oracle 费用的奖励机制来完成 data feed 过程,最终回答 Oracle 答案。

Data Feeder 节点通过相互协作来完成一次 Oracle 并共享此次收益,并能通过自组织的方式发现那些异常的 Data Feeder,并触发惩罚机制。同时举报者可以举报 Data Feeder 节点那些不易被发现的不诚实行为。

为了防止恶意的 Data Feeder 节点组织(不会自我惩罚组织成员)和恶意的举报者,OracleChain 特别设置了长老会(Presbyteria)机制,由全网声望最高的Data Feeder 节点组成最终裁判团,对恶意 data feed 和举报行为进行裁决,并触发惩罚机制。

服务层

OracleChain 服务层提供 Oracle 实例平台、状态通道和服务 API 等对外服务。在这一层,OracleChain 实现了对 Oracle 服务的撮合、计费等对外服务,真正实现了 OracleChain 的基础设施能力。

Oracle 平台将会撮合 Oracle 需求方和 Data Feeder 组织。Data Feeder 组织有可能是松散的临时团体,也可能是提供专业服务的组织。每一个 Oracle 实例里面会申明该实例的费用,需要的 Data Feeder 组织方式以及参与门槛,例如需要 100个高声望的 Data Feeder 并在其中 80 个节点达成共识的情况下完成 data feed。Services API 将被设计得更加通用,既符合 EOS 跨链的设计理念,也符合便捷开发的使用需求。

在 OracleChain 的平台模型上,任何的 EOS 应用都可以使用 Oracle 服务。无论是高频次的预测市场,还是低频次的农业保险,都可以借助 OracleChain 的服务变成可能,真正将区块链技术服务于现实生活中。

2 data feed 机制

在传统的集中式系统中,数据通常直接从数据源(Data Source)以数据输入(Data Input)的方式获得。这个数据源既可能是来自于集中式系统内部,也可能来自于第三方,系统的运行信任且依赖于数据源所输入的数据。此时数据源是作为一个正直、不带偏见、永不犯错的法官一样的角色,因为或者这个数据源是系统内部可以严密控制的模块,或者是由绝对可信的第三方来担任,系统在数据源的驱动下实现有效运转。

回到去中心化的区块链环境下,这个简单的问题变得非常复杂,会引发诸多问题,比如“谁有资格得到区块链上的所有人的信任担当这个信息源?”、“谁有资格来判断参与者是否可信?”等等。而且信任的可持续性也存在着问题,一个之前持续遵守规则的参与者在逐步累积信用,从而获得较大权力后其实也存在着作恶的可能。

为了解决区块链在去中心化的大背景下完成数据采集和取信的过程,OracleChain 提出了一种 data feed 机制。这种机制将使用一个有效的奖惩手段,旨在鼓励数据源节点(Data Feeder)提供有效的 data feed 服务,所有正常参与data feed 的节点都将会得到声望提升,同时获得 OracleChain 的代币 OCT(OracleChain Token),反之,非正常的数据源节点会同时失去声望和抵押给 OracleChain平台的 OCT 风险金。通过这种我们称之为 Proof-of-Reputation&Deposit(PoRD) 的双效机制,OracleChain 将有效抵御怀有敌意的数据源节点通过恶意 data feed,影响 Oracle 的实际结果。而用户需要支付 OCT 来获得 Oracle 服务,从此实现 OCT在 OracleChain 上的闭环流动。

在 PoRD 机制中,每个 Oracle 实例对应一个智能合约。对每个 Oracle 实例,会存在一个声望(Reputation)和保证金(Deposit)的阈值,OracleChain 区块链网络的活动节点只有声望和保证金超过这一阈值,才能参与该 Oracle 实例的 datafeed 服务。然后当指定条件触发 Oracle 实例进入结算阶段时,Oracle 实例所对应的智能合约会依据其处理逻辑和参数设置,评判出善意的 data feed 和恶意的 datafeed,对善意 data feed 节点提供声望提升和 OCT 代币奖励,对恶意 data feed 节点进行声望减值和 OCT 保证金扣除,以该双效机制保证整个体系的 data feed 工作可以正常运行。

3 技术优势

OracleChain 平台具有四大技术优势,分别是高效、兼容、参与和便利。

高效

借助于基层区块链基础设施的对区块数据的细粒度控制和良好的并行处理优化,通过 OracleChain 的架构可支持秒级的确认时间和强大的事务处理吞吐率。

兼容

基于基层区块链基础设施的的跨链机制,OracleChain 可以面向整个 EOS 生态圈提供数据服务,实现链内链外数据转移和互通。

参与

用户可以通过data feed参与全球范围内的Oracle共识体系和OCT生态运转。独特的治理策略可以促使节点遵守社区规则,并利用 PoRD 双效机制保证OracleChain 的正常运行。

便利

OracleChain 提供更高效实用的 Service API,方便其他区块链应用来使用Oracle 服务。

OracleChain 应用

1 预测市场

OracleChain 可应用于预测市场。基于 OracleChain 基础服务去构建的预测市场类应用,将为本地和全球经济提供独特的价值发现功能。在区块链领域,涉及了链外链内数据打通主要有 Augur 和 Gnosis 两个项目。这两个项目均采用预测市场的架构,这就意味着为了把一个链外数据导入链内,需要经过社区的投票等一系列过程才能在区块链上形成一个公允数据。预测市场的架构足以支撑那些与链外数据交互频次很低的场景里,比如对一场足球赛事比赛结果的对赌智能合约。

但在那些交互频次很高的场景里,对链内链外数据通道的实时性提出了更高的要求。OracleChain 既可以以传统的方式支持低频预测市场的运作,也可以支持由众多节点实时从线下抓取链外数据,并根据节点们所提供的喂价数据折中选择出一个结果同步到区块链上。在一个包含了各种应用场景的 EOS 区块链生态圈里,需要一个更高效的策略来替代低效的线下监督。瞄准这一问题 OracleChain 会基于PoRD 机制的自治架构,来保证链内链外数据打通服务的实时和准确。

2 保险市场

OracleChain 可用于组织去中心化的农产品价格和收入保险市场,响应国家号召服务四农。

在传统的保险行业中,保险公司承担着吸收风险、消费风险的中介身份。区块链的出现让大家看到大规模的互助保险成为了一种可能。但是这种自组织的保险模式受困于效率和定险,很难推广。OracleChain 提供一种对事件定险的可能,尤其是在农产品价格和收入方面。

2017 年 6 月 1 日,中共中央办公厅、国务院办公厅印发《关于加快构建政策体系培育新型农业经营主体的意见》(下称《意见》)。《意见》提出,积极开展天气指数保险、农产品价格和收入保险、“保险+期货”、农田水利设施保险、贷款保证保险等试点。对于农产品价格这种集中式风险,保险公司很难使用传统的“空间+时间”的风险分担模式降低自己的风险,只能采用“时间”的风险分担模式,缺很难找到对应的风险分销机构。

基于 OracleChain 可以开发专门针对农产品价格的各类智能保险种类,直接将承包人和风险承担者对接,基于智能合约的购买、赔付方式将大大降低保险的成本,也将保险公司的集中风险直接分摊到风险承担者个人身上。

3 智能投顾

区块链的预言机有不少应用场景,在智能合约能够真正自动地执行现实生活中的业务逻辑判断之前,首要的工作是能够获取外部数据,其后才能用基于区块链上智能合约的自动执行代替传统社会通过人为参与执行逻辑事务。智能投顾又称机器人理财,是虚拟机器人基于客户自身理财需求,通过算法和产品来完成以往人工提供的理财顾问服务。在区块链领域,智能投顾的功能主要通过智能合约来实现。利用 Oracle 智能合约机制,OracleChain 可用于链内和链外投资标的价格的发现与处理,可以建立起去中心化的智能投顾应用,投资目标既可以是传统金融标的,也可以是区块链资产。

代币机制

OracleChain 代币(OCT)的流转主要是为了激励 data feeder 在 OracleChain 上面提供 Oracle 服务。在 OracleChain 网络中,OCT 代币是保障整个预言机服务能够持续运转的基础。OCT 代表着 OCT token 的持有者在 OracleChain 网络上使用Oracle 服务的权益,在 OracleChain 网络上用户需要支付 OCT 才能获得 Oracle 服务。

1 OracleChain 代币机制简介

OralceChain 是一个支持多个 Oracle 实例的系统。在该系统中,数据需求方根据需求选择对应的 Oracle 实例,提交数据申请;然后由数据提供者提交数据到该Oracle 中,并由 Oracle 收集整理后输出给数据需求方,以完成一次 Oracle 服务。在 OracleChain 中,OCT 作为购买数据服务、奖励数据提供者的代币在系统中流转。数据需求方购买数据服务所支付的 OCT 将根据所提供的数据质量分发给数据提供者们。

OracleChain 中的每一个 Oracle 将承担不同的数据服务,也会有不同的收费价格和奖励方式,将根据不同的行业场景需求分别进行设计。每个人都可以根据自己对行业的理解等发布一个 Oracle 用来组织数据服务。

例如在一个“艾泽拉斯体感温度”的 Oracle 实例中,温度应用方将需要温度的时间段发布到 Oracle 中,并设定一个提交窗口期,同时向该 Oracle 支付一定的 OCT(例如 1000 个),在此窗口期内,所有的人都可以提交自己对艾泽拉斯温度的数据。在窗口期后,Oracle 将所有搜集到的温度数据进行处理,排除掉方差过大的数据,然后将剩下的数据求平均输出给温度应用方,并将之前收到的 1000个 OCT 平均分发给剩下的数据提交者(假设 120 人提交了温度数据,其中 20 人因方差过大被排除,则剩下的 100 人每人获得 10 个 OCT)。

又例如在一个“有偿调查问卷”的 Oracle 实例中,调查方根据自己的实际需求编写调查问卷,发送到该 Oracle 中,同时向该 Oracle 支付一定的 OCT(例如1000 个 OCT),并设定调查问卷结束时间。在调查问卷结束之前,所有的数据提供者均可以向该 Oracle 提交调查内容。在调查问卷结束之后,Oracle 将统计所有用户的问卷结果输出给调查方,同时将之前收到的 1000 个 OCT 平均分发给提交过调查问卷的数据提交者(假设有 100 人提交了调查问卷,则每人获得 10 个OCT)。

2 OracleChain 业务流转机制

OracleChain 的业务流转机制指 OracleChain 上预言机服务实际发生过程中的数据交换过程。

该过程各步骤如下所示:

1.DAPP 向 Oracle 提出数据需求;

2.DateFeeder 根据需求向 Oracle 提交数据(根据需求可能有多个 Feeder 向Oracle 提交数据);

3.Oracle 将获得的数据整理后输出给 DAPP。

3 OCT 代币流转机制

OCT 代币流转机制指 OracleChain 上预言机服务实际发生过程中的代币流转过程。

该过程各步骤如下所示:

1.DAPP 根据数据需求将 OCT 打入到 Oracle 合约;

2.在 Oracle 完成数据输出后,根据 Data Feeder 提交的数据的质量,将收到的OCT 分发给不同的 Data Feeder。

OracleChain 治理架构

基于区块链系统的治理一直是一个比较困难的问题。每当需要升级系统时,都需要实施硬分叉,这通常会导致所有区块链利益关联方之间的大量争论和博弈。即使是像修改源代码中任意设定的变量这样简单的事情,由于没有明确的升级路径,比如在比特币社区对区块大小和隔离见证机制的争论不决。尤其在最终使用用户和决策决定者的利益并不一致的情况下,要达成这样的一致会变得更加困难。事实上也存在着一些更为复杂的治理决策,比如在“The DAO”中修复单一的智能合约错误,这甚至会导致更大的问题,引起社区的分裂。

引起这些问题的最大原因是协议升级或更改的决策过程定义不够明确,缺乏透明度。为解决这一问题,OracleChain 把其自身的管理作为其整体共识的一部分。它使用 OracleChain 自身提供的 Oracle 机制尽可能让争议和协商的过程有效和透明地运作。此外,OracleChain 的共识机制可以由多个变量来定义,这些变量决定了系统的功能,或者对系统某个参数的调整,比如使用 Oracle 服务的基础成本等等。

OracleChain 对社区治理的一个基本认识是治理的策略是将权力交给OracleChain 网络上的高声望节点(用户)。也就是不同重要程度的治理活动需要节点达到不同的声望级别才能参与,即用户会根据不同的声望级别对 OracleChain实施不同的影响。对于最高阶的节点,可能被授予有限的和被监督的权限来冻结帐户,更新有缺陷的应用程序,甚至提出对底层协议的变更。

通过把待协商的变量设置为 Oracle 并在全社区分级别进行投票协商,OracleChain 用户也可以学习如何有效地改进协议。OracleChain 的治理策略,可以促使节点遵守社区的 data feed 规则,尽可能保证维持更高的声望值,以保持对社区治理更大的话语权。通过对潜在的难题进行构建 Oracle 实例进行运行,我们可以帮助社区就选择哪个版本代码进行使用达成一致。每个用户会为自己选择寻求优化的度量,但是简单的默认策略将是最大化其持有价值,众多用户借由每个用户的理智决策会为整个 OracleChain 社区提供正确的演进方向。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分