目前,预言机主要有以下三种类型:
一、软件预言机(Software Oracle)
即通过API从第三方服务商或者网站获取数据,来作为智能合约的输入数据。
最常用的如天气数据、航班数据、证券市场数据等等。
还有一种特殊但非常重要的预言机,就是随机数。目前,要在区块链上即时地产生随机数是个技术难点,于是很多项目采取了中心化的随机数发生器,如从random.org上获取随机数。随机数发生器作为一种预言机,对游戏、彩票类应用非常重要。
二、硬件预言机(Hardware Oracle)
绝大多数物联网上的数据采集器就是硬件预言机,最常见的硬件预言机就是高速路口的检测仪器,可以快速获取车辆数据并迅速上传网络(目前还没有上到区块链)。
再比如溯源系统中,安装在各个设备上的传感器;交通卡刷卡设备;银行卡POS机;采集各种医疗数据的医疗设备等等,都属于硬件预言机。
区块链技术在物联网领域的广泛应用将催生出大量的“硬件预言机”,“硬件预言机”的核心技术与区块链无关,而是传感器和数据采集器。
三、共识预言机(Consensus Oracle)
以上两类预言机很明显是中心化的,近些年,出现了很多通过分布式共识机制达成的预言机,我称之为“共识预言机”。
这种预言机通过分布式的参与者进行投票,来决定输入到区块链的数据。这方面的案例有:Augur、Gnosis和国内的天算Delphy项目。
区块链技术非常伟大,但随着资本的疯狂涌入,区块链的功能被夸大化,神话了。很多项目绕不开预言机这个问题,但有些项目却在有意无意的对“预言机”避而不谈。
由于预言机的存在,其实对区块链的更精准的定义应该是:“维持信任的机器”。区块链本身并不产生信任,信任的输入来自于“预言机”。