区块链世界和现实世界的不相兼容,使得我们必须提供一个预言机才能使他们之间的双向沟通成为可能。
关于区块链的项目应用,很多人的印象停留在“可信任”和“不可更改”,但是这些可信任的前提是所有数据已经在链上,如果不能保证上链前数据的真实性,那上链带来的“信任感”可能只是助纣为孽的“弄假成真”。
为了解决信任问题,我们常能想到食品安全问题,常想到可能在食品溯源的区块链应用。
按照区块链的分布式逻辑,食品上链后,它的所有信息不可更改,食品来源和情况一目了然。可是,万一上链的数据参数本身就是假的呢?即便保证数据是真的,食品总是要吃的,上链数据是他的一个说明,怎样保证物理世界的食品和链上的数据说明能够一一对应,不被人为做手脚,货不对板呢?
这恰恰反映了区块链的确定线形世界和现实的离散不确定世界,两个世界形式上是有根本区别的。区块链是是一个接一个发生的特定事件的反映,亦即一系列顺序特定且具有因果关系的“交易”。区块链的固有特性赋予了它不变性,但也减少了灵活性和可扩展性。
然而,在链外访问的信息并不是如此,他们可以是不连续的,因此这些信息在区块链里无法被信任或使用。由于区块链本身是一个去中心化系统的世界,区块链对外界信息不了解,外面的信息如何输入到区块链里,众多区块链节点如何接入外部信息,是否变成中心化方案,这个都会有很多变数。
说那么久,简单说,区块链项目的业务核心逻辑在智能合约。
先来看近期挺多人讨论的“预言机”。智能合约的参数输入来源在预言机。预言机就是区块链世界链接物理世界与信息世界的桥梁,一边是链内,一边是链外。
区块链世界和现实世界的不相兼容,使得我们必须提供一个预言机才能使他们之间的双向沟通成为可能。
比特币core组成员Peter Todd提及:“从智能合约讨论中得到的结论:没有人理解智能合约究竟是什么,如果我们要实施智能合约,应该需要预言机。”
预言机之所以可以提供一个可证明的诚实从外部世界安全获取信息的能力,是依赖于TLS证明技术(TLSnotary)。除此以外,预言机(oracle)还提供了其他两种证明机制:Android SafetyNet证明、IPFS大文件传送和存储证明。
在整个传输中,TLS的master key可以分成三个部分:服务器方、受审核方和审核方。在整个流程中,互联网数据源作为服务器方,预言机(oracle)作为受审核方,一个专门设计的,部署在云上的开源实例作为审核方,每个人都可以通过这个审计方服务对预言机(oracle)过去提供的数据进行审查和检验,以保证数据的完整性和安全性。
目前,预言机有三种类型,分别是软件预言机、硬件预言机及共识预言机。
它们的数据从哪来?
1.软件预言机,即通过API从第三方服务商或者网站获取数据,来作为智能合约的输入数据。最常用的如天气数据、航班数据、证券市场数据等等。
2.硬件预言机,通常表现形式是物联网上的数据采集器。 比如前面举例的溯源系统,安装在各个设备上的传感器就是硬件预言机。区块链技术在物联网领域的广泛应用将催生出大量的“硬件预言机”,“硬件预言机”的核心技术与区块链无关,表现形式更多是传感器和数据采集器。
3.共识预言机,区别于前面两种预言机的中心化,通常又被称为去中心化预言机,这种预言机通过分布式的参与者进行投票。
由于预言机的存在,其实对区块链的更精准的定义应该是:“维持信任的机器”。区块链本身并不产生信任,信任的输入来自于“预言机”。
预言机作为区块链的基础设施,仍在发展中,面对物理世界多样化情景的处理仍是一个主要的挑战,从某种程度上,这缩小了区块链的适用范围,成了区块链落地的瓶颈。
这就不难理解,为什么在当前公认最适合区块链的三个领域是金融审计、内容版权以及游戏。因为这三个领域所受外部变量的影响是最小的,也是最容易上链的数据,真正可做到诞生即上链。
划重点!
信任的输入来自于“预言机”,那么信任的输出来自哪里呢?答案是:智能合约!
事实上,智能合约概念的出现时间远在区块链兴起之前。最初由法学家尼克·萨博在1995年提出。他提出智能合约的定义是:“一个智能合约是一套以数字形式定义的承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议。”
简单说,智能合约是一个在计算机系统上,当一定条件被满足的情况下,可以被自动执行的合约。
既然早在上世纪90年代已经提出智能合约,为何至今才有实现的可能?重点就在于这需要是一个可信任的可编程合约,于是直到区块链技术兴起,智能合约的实现才成为可能。
智能合约之所以可以称为智能合约,肯定于传统合约不同。
人们之所以要建立合约,主要原因在于他们不能完全信任合作的双方,简单的口头协议不具备法律效益,只有合约才能证明双方之间的交易是合法的。
传统合约的语义是由两个要素组成:一个是操作语义,用来对合约操作进行解释;另一个是指称语义,是对合约的非操作性法律进行解释。智能合约通常是将操作语义部分进行编程,将合约双方的精确行动进行解释,至于指称语义,智能合约并不囊括此项内容。
区块链的项目的业务逻辑往往就写在智能合约上,所以说智能合约是区块链项目的业务逻辑核心。
可能有人会混淆智能合约与电子合同的概念,二者的共同点在于同为数字载体下的合约,区别则在于智能合同可编程,电子合同则不可,前者无疑在适用范围和灵活性上高出后者不少。
智能合约作为新生事物,由于某些程度上与电子合同的类似性,电子合同在法律实践上的成功经验,将为智能合约在法律适用之路上提供不少便利。
尽管区块链的概念自上个世纪便已提出,但实际上到2011年比特币首次出现,区块链才真正开始被重视。就发展阶段而言,区块链还是个婴儿,还在成长。最初的比特币里是没有智能合约的。那时的比特币只是一个点对点的支付手段。而在随后的发展中,智能合约开始被人重视,引入到区块链,随后又提出要与现实结合,于是预言机又加入进来。可见,这是一个不断发展的过程。
不可否认,智能合约和预言机目前都有着各种各样的问题,在落地方面也受着各种诟病,但正如7年前谁也不会想到比特币从一个只是小众极客圈里的产物变成世界性话题一样,谁知道智能合约和预言机以后能发展到什么地步呢?今天的我们或许都是历史的见证者,我们在见证未来。