今日推荐 | Andre Cronje:预言机演进之路

MarsBit热度: 16606

在过去的4年里,去中心化的网络已经演变成一个更具交互性的系统。

原文来源:medium

原文标题:OracleEvolution

原文作者:AndreCronje

编译:Yvonne,MarsBit

丰富的数据源推动了互联网的发展。由于API (预言机),静态页面变成了动态数据。随着API(预言机)在传统网络中的发展,它们允许出现以前不可能出现的全新应用程序。它是网络从Web1.0(静态)发展到Web2.0(动态)的关键。

另外说一下:3~4年前,我对该话题的看法更加二元化。我相信有传统的中心化网络Web2.0和去中心化网络Web3.0(虽然我不喜欢这个说法,但我将在文章中使用它,我认为deWeb1.0可能是一个更好的标签)。我的信念是,这两者必须完全分开,不能混杂在一起。当时的去中心化网络类似于Web1.0早期的静态页面,它们可以独立存在。在过去的4年里,去中心化的网络已经演变成一个更具交互性的系统。Web2.0接收“链下”数据(天气、航班、供应链等)并没有削弱其能力,反而呈指数级增长。Web3.0也是如此。

Web3.0

预言机 v1:链上请求,链下提供;示例 Oraclize

用户向智能合约发起链上交易(存款/取款/买入/卖出/清算等)。
智能合约在链上向预言机智能合约提交HTTP请求。
链下中心化服务获取HTTP请求事件,并在链下解析HTTP请求,接收数据。
中心化的批准服务将接收到的数据写回链上的智能合约(智能合约可以选择回调初始智能合约)。

优点:

可以获取任意的预言机数据

只应要求提供数据(不收取不必要的数据储存或Gas费)

缺点:

中心化服务
响应异步延迟(应用程序响应能力)
费用(需要支付启动交易费用和回调Gas费用)



预言机 v2:链上提供商;示例 Chainlink

Dapp从预言机(链下)请求数据(主要是价格)
分布式网络将数据源添加至其节点
中心化授权器定期在链上写入数据


优点:

数据可用性(需要时数据在链上,无响应延迟)


缺点:

无任意数据
请求预先批准的数据源和访问权限
中心化授权者(信任)
成本(补贴每次链上写入的Gas费)



预言机 v3:链下数据,链上验证器,示例Chainlink (alpha) <-我们目前的采用

Dapp/用户向授权服务请求链下可证明的数据。
中心化的证明者请求数据链下并签名(通过他们自己的授权密钥);返回值、时间戳、数据源。
Dapp启动链上交易(存款/取款/买入/卖出/清算等),作为交易的一部分,它包括签名数据。
智能合约验证签名者是预期的证明者、验证数据源、验证时间戳,以及验证数据。如果全部验证,则使用新数据更新数据集,并执行交易的其余部分。


优点:

可以请求任意数据
数据只应要求提供
数据可用性(在处理交易时可用)
低成本(只需要支付额外的签名验证和SSTORE)


缺点:

中央权威/证明者(信任)
合约需要预先知道证明者的公钥


预言机 v4:零知识可证明数据,待定

Dapp/用户从证明程序请求链下可证明的数据。
一个证明程序(为TCP定制的zk电路(注意:我们离这一步还很远遥远),任何人都可以运行(包括在dapp本身),它将目标端点(HTTP/SSL/TCP/等)作为参数,并提供证明和输出;返回数据集、时间戳和源(目标端点)。
Dapp启动链上交易(存款/取款/买入/卖出/清算等),作为交易的一部分,它包括证明和数据。
智能合约验证证明,验证数据来源,验证时间戳,验证数据。如果全部验证,则使用新数据更新数据集,并执行交易的其余部分。


优点:

可以请求任意数据
数据只应要求提供
数据可用性(在处理交易时可用)
低成本(只需要支付证明验证和SSTORE费用)
无中心化实体(无信任)


缺点:

合约需要预先了解证明程序
高度复杂的电路,不太可能很快可用
声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:Web3.0预言机