Andre Cronje:解读预言机发展历史与未来方向
丰富的数据源是互联网发展的基础。由于API (预言机),静态页面变成了动态数据。随着API (预言机)在传统网络中的发展,它们催生了以前不可能出现的全新的应用程序。这是网络从web1.0(静态)进化到web2.0(动态)背后的关键。
个人说明:3-4年前,我对这个主题的看法是比较二元的。我相信有传统的中心化网络(web2.0)和去中心化网络(web3.0 [虽然我不喜欢这个名称,但我会在文章中使用它,我认为deweb1.0可能是一个更好的标签] )。我认为,这两者需要完全分开,不能混为一谈。当时的去中心化网络类似于web1.0早期的静态页面,它们可以独立存在。在过去的4年里,去中心化的网络已经演变成一个更具交互性的系统。接收“链下”数据(天气、航班、供应链等)的Web2.0并没有削弱它的力量,而是使其呈指数级增长。web3.0也是如此。
预言机v1:链上请求,链下提供商;例如Oraclize
用户向智能合约发起链上交易(存款/提款/买入/卖出/清算等)
智能合约向预言机智能合约提交链上HTTP请求
链下中心化服务接收HTTP请求事件并解析链下的HTTP请求,接收数据
中心化批准服务将接收到的数据写回到链上的智能合约
优点:
可以获取任意的预言机数据
数据只在要求时提供(没有不必要的数据存储或gas费用)
缺点:
中心化服务
响应异步延迟(应用程序响应性)
费用(需支付启动交易及回调的gas费用)
预言机v2:链上提供商;例如Chainlink
Dapp从预言机(链下)请求数据源(主要是价格)
分布式网络将数据源添加到其节点
中心化授权器定期在链上写入数据
优点:
数据可用性(数据在需要时在链上,无响应延迟)
缺点:
无任意数据
请求预先批准的数据源和访问
中心化授权器(信任)
成本(对每次链上写入所需的gas提供补贴)
预言机v3:链下数据,链上验证者,例如Chainlink(alpha版)
Dapp/用户向授权服务请求链下可证明的数据
中心化验证者请求链下数据并签名(通过他们自己的授权密钥);返回值、时间戳、数据源
Dapp发起链上交易(存款/提款/买入/卖出/清算等),作为交易的一部分,它包括签名数据
智能合约验证签名者是预期的证明者,验证数据的来源,验证时间戳,并验证数据。如果全部验证了,数据集就会用新的数据进行更新,并执行交易的其余部分
优点:
可以请求任意数据
只在请求时提供数据
数据可用性(在处理交易时可用)
低成本(只需为额外的签名验证和SSTORE支付费用)
缺点:
中心化授权/证明者(信任)
合约需要预先知道证明者的公钥
预言机v4:零知识可证明数据,待定
Dapp/用户从证明者程序请求链下可证明的数据
一个任何人(包括dapp本身)都可以运行的证明者程序(为TCP定制的zk电路 [注意:我们离这个很远] ),它将目标端点(HTTP/SSL/TCP/等)作为参数,并提供证明和输出;返回数据集、时间戳和数据源(目标端点)
Dapp发起链上交易(存款/提款/买入/卖出/清算等),作为交易的一部分,它包括证明和数据
智能合约验证证明,验证数据来源,验证时间戳,并验证数据。如果全部验证了,数据集就会用新的数据进行更新,并执行交易的其余部分
优点:
可以请求任意数据
只在请求时提供数据
数据可用性(在处理交易时可用)
成本低(只需为证明验证和SSTORE支付费用)
无中心化实体(去信任)
缺点:
合约需要预先了解证明者程序
高度复杂的电路,短期内不太可能实现
Scan QR code with WeChat