以太坊预言机与WEB API(原创,转载请说明原址)
什么是预言机?
从链外获得数据,提供区块链与现实世界事件之间的连接,提供外部信息的平台
预言机自身也是一种智能合约,它允许区块链连接到任何现有的API
是这个预言机去调用各种 WEB API的接口
这个接口提供各种各样的接口,如:
提供时刻的温度数据,市场的价格变化等
比如昨天 BTC 对 USD 的交换比率(根据价格最高的 5 笔交易)?
或是,明天你的航班会不会准时着陆?
这就是需要用到预言机的地方。智能合约需要预言机来获得那些在编写合约时无法准确知道的细节信息。
传统的web api
在传统的web api接口中,就有很多很多,随便上百度上一搜,就有很多做web接口的公司和平台
比如haoservice平台
做 最新VIN(车辆识别码)解析,空号检测的平台等等.
这些接口有的是付费的,有的是免费的.
这些接口有些是和存萃的软件相关,有的还和硬件进行了关联.
既然说到web api ,我觉得可以稍微多说一些:
服务器Web API是一个编程接口,由一个或多个公开公开的端点组成,这也就是说,web api后面是一个很大的生态群,一个web服务可以看成是一个集合了各种各样服务接口的集合,几乎有些名气的公司都会提供自己的服务接口,网络上也有各种各样的免费的接口平台.(https://www.showapi.com/)等等.
现在最常见的是通过基于HTTP的方式网络服务器。通常是用常见的JSON和XML表示的.
简而言之,Oracle介于外部世界数据或API与智能合约之间。 正如在Oraclize(这是一个专门做预言机的)网站上看到的:
怎么去使用预言机?
上面提预言机的时候说了,预言机是什么?预言机本质是个智能合约,什么样的智能合约呢? 是一个能够调用WEB API的智能合约.
1. 既然是智能合约,那就可以在自己编写的代码中调用该智能合约,然后根据API文档中描述的方法进行相关的调用即可;
2. 如果是用以太坊技术搭建了自己的私有链或者联盟链,预言机在Github上提供数据服务的开源智能合约代码,通过自己部署后,一样可以像公有链一样调用.
预言机的背后有多种数据源服务器,包括Url访问、数据搜索引擎、区块链内容数据、IPFS文件访问等等.
其中Url访问和区块链内容数据提供了基于TLSNotary的可信证明技术(安全传输层协议TLS的进一步改进,此证明不在本文的讨论范围内)或者其他的安全证明技术,是常见的数据访问需求。
来解释一些,这里的原因:
IPFS是一种分布式网络,但是分布式网络已经存在了很多年,使用分布式网络实现预言机的想法也存在很长时间了.
但是怎的呢?在其上找到共识很难,谁也不愿意没什么好处的去做这件事情.所以愿意加入该网络的人很少.没有一个比较好的激励机制.
个人以为:
预言机主要做了两件主要的事情:
- 调用接口
- 加验证给验证者(这个验证其实也是第三方提供的,比如TLSNotary),以保证安全性
参考目录:
[1]. 什么是预言机
[2]. 金色百科
[3]. 引介 | 预言机:让智能合约起飞
[4]. 各种wiki