Oracle攻击是什么,为何它能成为诸多Defi项目的通病( 四 )

改进oracle的解决方案

虽然Synthetix的问题已经解决,并且正在实施额外的措施来防止将来发生类似事件,但是它提醒我们,使用oracle的应用程序在其使用和设计中所面临的潜在敏感性。而这次事件提出的一些重要问题是:redundancy的重要性

从Synthetix事件中可以看出,由于oracle是故障的中心点,因此一个数据源显然需要使用多个oracle。API数据源常常会离线,产生不正确的值或被操纵(例如,来自低流动性交易对的价格)。

对于Synthetix来说,很明显,每个数据提要使用三个单独的oracle可能还不够。相反,Maker为其价格feed使用了14个oracle,但是这会产生更多的成本和设计复杂性,这些成本可能会影响应用程序的性能。同样重要的是要注意,这些oracle中的大多数使用相同的脚本,这意味着这些oracle并不是完全独立的。如果oracle脚本有一个关键的bug,那么所有的oracle都可能同时失败。

但毫无疑问,从redundancy的角度来看,如果能降低使用多个oracle的复杂性和解决成本问题,那么将允许以更大的redundancy构建分散的应用程序。

推荐阅读