Chainlink、Band、NEST、DOS、Tellor哪种预言机更抗攻击?
区块链是一个去中心化的可信系统,对数据的准确性要求非常高,否则区块链就不可信。所以能够为区块链提供可信数据的预言机非常重要,其将支撑起海量的区块链业务。
今天以 Chainlink、 Band 、NEST、DOS、Tellor 为例,对这几个预言机项目进行一个简单的概述。
Chainlink
Chainlink 已经上线了多种虚拟货币、法币和大宗商品的价格数据,每一个报价都有众多使用方。
Chainlink 的节点可以参与多个报价,在 Chainlink Market 中可以看到所有的节点,也可以看到节点参与了多少个报价及提交了多少次报价。下图可以看出参与报价最多的节点参与了 47 个价格的报价,也可以看到不同的报价节点数各有不同。
数据需求方可以设定节点是否需要抵押代币,以及抵押代币的数量及模式,理论上抵押的代币越多安全性越高。
Chainlink 的报价节点要经过考核才能成为正式节点,Chainlink 会确认节点的身份以防止女巫攻击,以及作为对节点的约束,Chainlink 还公布了 15 个经过官方认证节点。
数据需求方可以选择机构节点提供服务,机构节点本身有较高的信誉度,串联造假的信誉成本较高,可以认为安全性相对更高。
风险点:
随着服务业务规模的增长,节点造假获得的潜在收益越来越高,预言机的安全性会逐步降低。
Band
Band 协议内有众多数据集,每个数据集都有对应的代币,数据集代币通过代币池与协议代币 BAND 兑换获得。数据提供者需要抵押数据集代币,数据集代币持有者会对数据提供者进行投票,排名前几的节点才能成为数据提供者。
Band 协议内还有协调者,协调者收集数据提供者提交的数据进行聚合,然后将聚合后的数据发送给数据集内的节点签名,签名比例达到 2/3 以上,协调者会将数据上传到链上,供数据需求方调用。
完成了数据提供,系统会对数据提供者和投票者奖励数据集代币,奖励会大部分分给数据提供者。
从官网公布的合作节点来看,也都是一些知名机构,从源头上提升了可信度。
Band 和 Chainlink 的风险点类似,随着服务规模的扩大,安全性会逐步降低。
NEST
NEST 通过矿工报价,以 ETH/USDT 为例,矿工参与报价必须同时在合约内存入 EHT 和对应报价的 USDT ,比如矿工报价 ETH 价格为 230 USDT,则矿工报价最低需要存入10 ETH 和 2300 USDT(最低报价为10ETH)。报价收取 ETH 规模的 1% 作为手续费,同时获得 NEST 激励,收取的 ETH大部分作为 NEST 持有人的分红分发出去。
如果矿工报价偏离市场价格,比如市场价 230 USDT,矿工报价 200 USDT,则矿工的 ETH 会被验证者(套利者)用 USDT 吃掉,矿工会遭受损失。被吃掉的报价为无效报价,不参与价格生成。
验证者在吃单的同时,需要报出一个新的报价单出来,新的报价单规模要求是自己吃单规模的 beta 倍,当前 beta=2。如果验证者的新报价与前面的生效报价有超过 10% 的价格偏离,那么新报价规模要 x 10 倍。
为防止恶意吃单破坏价格生成,验证者在吃单的同时,需要支付吃单 ETH 数量 0.1% 的交易手续费。
如果报价没有在 25 个以太坊区块时间内被成交,则视为公允价格,会被系统收录参与价格形成。25 个区块时间后矿工可以取回报价资产。
任何人都可以参与报价,任何人也都可以参与验证,NEST 是一个开放的系统。
NEST 系统每个区块都会有一个价格生成,如果某一个区块没有生成新的报价,则使用上一个区块的价格。
从上述分析中我们可以看出,想要对报价进行攻击,需要动用大量的资产。因为每次吃单后都需要提交一个新的报价,新报价规模是吃单规模的 2 倍,这是一个指数级提升的资产规模。
理论上每个区块可以有多个报价,则想要阻止一个区块内的多笔报价,需要对多笔报价进行吃单,以及提交吃单规模 2 倍的新报价。同时新的报价也会被验证者进行吃单,从而快速提升攻击成本。
有一种情况理论上可以比较简单的实行攻击,即报出一个规模非常大的报价,此时验证者可以进行吃单,假如参与验证者不够多,只能吃下一部分规模,则剩余未被吃单部分也会被系统收录参与到价格生成中去。
但事实上现在部分主流资产 DEX 上的交易深度已经比较不错,验证者可以在 DEX 内即时变现,进行循环套利。而如果是在中心化交易所做对冲,提币时间漫长,无法进行循环套利。但如果是小币种,DEX 深度不足,则可能会受到大额报价攻击。
NEST 预言机系统 7 月正式上线,目前已经被原力协议集成,迈出了实际应用的第一步。
风险点:假如报价矿工较少,则攻击成本会降低,报价频次越高,攻击成本越高;
假如验证者较少,则可能会受到大额报价攻击,验证者越多,越安全。
DOS
其每次报价的节点通过 VRF 随机选择,然后通过门限签名在链下达成共识,最后上传到链上验证。
此种方式在节点端更加去中心化,攻击难度更高,但如果节点数量很多,则节点收益可能难以保证。
成为 DOS 节点需要抵押 80 万 DOS 代币,近期刚开放了节点抵押机制,目前只有 14 个节点,也未见到有项目方使用其预言机系统。
值得一提的是 DOS 的博客在 2 月份就已经停止了更新,而在 7 月突然恢复了更新,且宣布了主网上线。
节点数过少的中心化风险;
随着所服务业务规模的增长,节点造假获得的潜在收益越来越高,串通风险会增加。
Tellor
网络每 10 分钟为出价最高的数据请求者提供 1 次数据,矿工以算力竞争提供数据的权利,每次会有 5 名算力竞争胜出者提供数据,系统选择这个 5 个数据的中间值,提供给数据请求者。
矿工需要抵押 1000 个 Tellor 代币,如果对矿工提交的报价有异议,可以在 1 天内抵押代币发起争议,由代币持有人投票表决,胜则获得代币,败则失去代币。
Tellor 矿工需要硬件投入才能挖矿,想要实现和比特币类似的安全性,但 Tellor 如果不能被大量采用,则挖矿收益很可能难以覆盖挖矿成本,则 Tellor 的模型不成立。
Tellor 舍弃了性能,而选择使用 PoW 这种方式来实现更加安全的计算。从利益相关性上说,矿工需要投入金钱购买硬件,以及抵押代币,最终随着算力的增加,硬件成本不断增加,利益相关性逐渐增强,但这要求系统能够提供给矿工足够的回报。
值得一提的是 Tellor 是由 Maker 、Binance Labs 和 ConsenSys 投资的项目。
风险点:
采用不足,系统收益少,矿工没动力增加算力;
随着服务规模的增加,安全性会逐步降低。
总结
预言机对区块链非常重要,现在的区块链发展还离不开预言机,抗攻击性是预言机最重要的特性。从发展来看,数据需求方可能会选择多个预言机来保证数据安全。
从长远来看,预言机还拥有广阔的空间。
https://github.com/vlyl/awesome-chainlink-cn
https://www.chainnews.com/articles/182120869315.htm
https://feeds.chain.link/
https://market.link/search/nodes
https://mp.weixin.qq.com/s/VIay9uU71ABpsie9frCW4Q
https://www.chainnews.com/articles/273935802178.htm
https://medium.com/bandprotocol/partnerships/home
https://www.nestfans.com/wiki/nest_oracle_v3
https://nestprotocol.org/doc/zhnestwhitepaper.pdf
https://dashboard.dos.network/staking
https://docsend.com/view/hjv5kmj
https://medium.com/dos-network
https://www.chainnews.com/articles/329833773541.htm
声明:本文为作者独立观点,不代表区块链研习社(公众号)立场,亦不构成任何投资意见或建议。