# 概述
BOS 的预言机(Oracle)希望能够作为区块链与现实世界的数据桥梁。
中心化预言机服务的设计是基于**可信数据源或者权威数据源**这一假设,这样的假设从理论上来说有很大风险,无法保证这种数据源提供数据的真实性。
BOS 的预言机系统从构建之初所遵循的原则就是:
```
不依赖于每一个预言机数据提供者一定会提供真实数据,而是承认其不足进而将其作为博弈的参与方加入到系统中来,以期在博弈中达到整体可信。
```
BOS 预言机将会使得区块链的价值从其货币属性延伸到了**交易和规则**的构建上,这种延伸将会解决或改进许多现实世界的信任问题,从而扩大区块链的应用边界,并最终让区块链技术可以在交易转账以外场景落地。
# 参与者博弈完备
**数据提供方:**提供数据,从数据使用者中获取收益,需要抵押押金作为风控的基础
**数据使用者:**和提供方约定收益,按照约定支付费用
**预言机合约:**用于记录数据提供方和使用者所约定的协议,并提供数据处理和穿透。
**仲裁员:**当数据提供方和数据使用者出现争议和提出申诉时,多轮多个仲裁员参与决策,注册并且需要boswps.io竞选,需要抵押押金作为风控的基础
系统会对最终判定的作恶者进行惩罚。整个系统会形成“数据提供者”、“数据使用者”、“仲裁员”三方的博弈平衡,而整个博弈过程和规则制定可以保证公正是极大概率的事件。
# 正向激励模型
**场景一:**
\1. DApp方为了给用户提供可信数据并作出判断,获取问题需求注册服务,并给该服务所需的价格,和所需的抵押金。
\2. 数据提供方提供稳定可靠的服务,使用抵押金作为保证,收取高昂的费用作为维护成本,并提供收益。
**场景二:**
DApp方提供体育比赛数据,但为了证明DApp方自身不会作假,自身作为提供者和**同时作为使用者**进行注册,当DApp用户有举报问题时进行扣款和抵押。
总之系统的规则对于理性的参与者来说是静态的可预见的,因而诚实公正地进行参与才是其优势策略,对于非理性的参与者系统也能够以极大概率予以惩罚,从而使得整个预言机服务将会正向、健康、高效的运行。
下面我们列出四种通过正向激励,将数据通过可信方式进行数据通信:
# 1. 直接写入数据库
![img](data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==)
#### 数据提者先行写入数据到链上,使用者读取
**应用场景:**
比较适应非标准化的服务,包括特殊证据格式的服务,预言机合约不方便进行穿透的场景
**服务特点:**
标准化服务,服务便于注册,以确定性数据和常规化的非确定性数据为主,在提供方pushdata的过程中,经过oracle穿透,对使用和消费双方简单方便
# 2. 监听+穿透oracle合约推送
![img](https://mmbiz.qpic.cn/mmbiz_png/ic36Rayaict54e6DpdhkDfPsAHKq2zUiaV8nF3GUgEibicepu4lGsZneSq02JuvR1xChK66bRT10CeLAicIUqZL0m4SQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1)
#### 监听调用事件,链上主动推送数据到使用者
**应用场景:**
比较适应非标准化的服务,包括特殊证据格式的服务,预言机合约不方便进行穿透的场景
**服务特点:**
标准化服务,服务便于注册,以确定性数据和常规化的非确定性数据为主,在提供方pushdata的过程中,经过oracle穿透,对使用和消费双方简单方便
# 3. 监听+直接推送DApp合约
![img](https://mmbiz.qpic.cn/mmbiz_png/ic36Rayaict54e6DpdhkDfPsAHKq2zUiaV8mXs7th2KUaBYydghlKRnNbEm0BMC46LVckv3SHdUUhCzSrBkZpO9lw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1)
#### 监**听调**用事件,链下主动推送给数据使用者
在触发阈值逻辑时,经过预言机合约,将发送有效ACTION和用户交互
**应用场景:**
比较适应非标准化的服务,包括特殊证据格式的服务,预言机合约不方便进行穿透的场景
**服务特点:**
可高度定制化,但需提供方和DApp方进行约定,不经过预言机合约
# 4. 链下签名交互数据+链上风控博弈
预言机不再监听数据交易和请求,数据提供方和消费者
1. 提前在预言机合约签订交互协议,包括进行仲裁和抵押
2. 在链下进行签名,**签名确认**数据提供者发出信息,**确认**数据接受者收到信息
3. 在链下进行数据的提供和消费
4. 但当触发转账或有效ACTION时通过触发oracle合约的风控机制进行操作
5. 当出现纷争时,双方即可根据在Oracle约定好的风控规则,即向oracle.bos合约发起仲裁
![img](https://mmbiz.qpic.cn/mmbiz_png/ic36Rayaict54e6DpdhkDfPsAHKq2zUiaV8Yh6L0InLoUKBZkic87gbrCzvx2mZFunsj5dicB8m2icJEj2ibwSolFcOGg/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1)
**应用场景:**
数据量非常大,更新太频繁了,链上太复杂,例如深度学习的训练,数据集和,数据无需上链,但通过签名进行数据记录。
**特点:**
可高度定制化,但需提供方和DApp方进行约定,数据交互直接在数据
# 总结
四种不同的数据提供方式,适应不同的场景,现实世界数据具有的**复杂性、不规整性、零散性以及隐私性**。从公开可方便获取的数据(比如天气)到有限制的数据(比如个人征信)都可以成为 BOS 的预言机服务。任何可以被描述并在一定意义上可以被鉴别的数据服务都可通过 BOS 预言机的来提供服务。
后面我们将展开关于博弈和制约,抵押模型和Demo展示预言机的功能的文章和大家交流讨论。