区块链技术以去中心化、维护共同帐本的方式,在不安全的网络中建立出信任关系,从而实现了价值传递。智能合约,可以理解为将规则/合同进行数字化,实现了自动执行。听起来,这两者便可以将俗世中繁杂的事务升级到链上,只需要事前讨论好规则,事后便可高枕无忧?
理论上是可以的,只是操作起来还存在重重困难。
因为在目前的智能合约平台中,区块链应用能获取到的数据,仅仅包括区块链上的数据。区块链和真实世界是割裂的,任何线下的真实世界信息,如果没有办法输入到链上,区块链是不可能会知道的。而脱离了真实世界数据的应用,除了游戏外,其合同以智能合约形式搬到链上后,是无法按真实世界中的情况触发的。
现在问题变成了:如果可靠地、安全地将现实世界的信息输入到区块链上。答案是预言机。
预言机是可信任的实体,它签署关于外部世界状态的信息。因为签名确认可以很明确地实现,预言机允许确定的智能合同对不确定的外部世界作出反应。
那么如何设计可靠的先知系统呢?
先知机制不一定只有一个。从目前区块链技术的发展方向来看,可能会针对不同类型的应用,出现不同的先知实现方式。但这些Oracle的机制都有一些类似的地方。比如多数据源互相认证,通过投票和惩罚的机制来减弱撒谎的动机,通过事前投资获得验证权的方式减少“僵尸粉”(Sybil Attack)的影响,当有少于一半的人是坏人的时候,数据可以保证最终是可靠的等等类似的思想和性质。
近期完成ICO并上币交易的欧链项目,根据白皮书来看,使用了上述策略中的“奖惩机制”
OracleChain 将使用一个有效的奖惩机制,鼓励数据源节点(data feeder) 提供有效的data feed服务,所有正常参与data feed的节点都将会得到声誉提升, 同时获得 OracleChain 的代币 OCT(Oracle Chain Token),反之,非正常的数据源 节点会同时失去声誉和抵押给 OracleChain 平台的 OCT 风险金。通过这种我们称 之为 Proof-of-Reputation&Deposit(PoRD) 的双效机制。