对预言机来说,立身之本是安全。在解决安全问题的方法中,去中心化是达成安全的重要方式。
文 | 王也 运营 | 盖遥 编辑 | 郝方舟
出品 | Odaily星球日报(ID:o-daily)
2019 年,Chainlink 推出主网,与谷歌、甲骨文合作,上线 Coinbase。种种利好为其代币 LINK 带来十倍暴涨,也让 Chainlink 迎来高光时刻。
因为 Chainlink 非常擅长和区块链企业合作,所以就有投资者为其赐名“万年插头”,LINK 也被大家戏称为“插头币”。
进入 2020 年以来,Chainlink 延续一贯打法,高频宣布与明星公链、DeFi 项目合作的利好消息:2 月 25 日,Polkadot 正式宣布 Chainlink 将成为其 Oracle 网络供应商;2 月 27 日,Chainlink 宣布与 ETC Labs 合作,使得以太坊经典智能合约能够与链下资源进行交互;3 月 3 日,Chainlink 宣布与 DeFi 衍生品平台 DMM 合作,允许用户将真实世界资产作为抵押品;3 月 10 日,宣布曾受闪电贷攻击的 DeFi 借贷协议 bZx 提供喂价服务……
这一连串的好消息也带动了 LINK 的短时暴涨,尤其是在公开与 Polkadot 的合作消息之后,据 BitUniverse 显示,LINK 从 2 月 26 日的 3.5 USDT 一路涨至 4.9 USDT,触及 2019 年历史高位 5.1 USDT。日前跟随整体下行的市场行情,LINK 也出现了一定幅度的回落,现报价 1.79 USDT。
不过,在风光背后,近日海外社区一场“分叉”Chainlink 的运动让我们再次审视去中心化预言机的治理问题。
Chainlink恶搞文化升级:分叉出“绿link”
这几日,Chainlink 在海外讨论社区非常火热,尤其在 4chan 上(海外非常受欢迎的自由讨论社区,以恶搞文化著称,经常有区块链项目在上面喊单),一个自称从 Chainlink 分叉出来的去中心化预言机 NuLINK 横空而出,而且 NuLINK 的 logo 和设计样式与 Chainlink 别无二致,只是颜色变成了绿色,后来被网友调侃为“绿LINK”。
图片来源于 Discord 社区
NuLINK 刚出现的时候,很多投资者认为这是 Chainlink 的又一次恶搞。
币圈的恶搞文化(也称 meme 文化,即用表情包去恶搞项目或项目开发者)可以追溯到币圈 meme 鼻祖——狗狗币。2017年之后,Chainlink 新晋成为币圈的“meme之王”。
恶搞的目的就是为了提高这个项目的知名度,有情怀的同学也可以把它看作是后现代主义的一种象征。
网友对 Chainlink 的恶搞主要分为两类:一类是以 Chainlink 创始人 Sergey Nazarov 为原型的恶搞,包括他本人和他一成不变的格子衫;另一类是以 Chainlink 的 Logo 为原型的恶搞。
譬如把电影《教父》P 成 Sergey 本人。
图片来源亏快链
网友还用悲伤蛙表情包(这也是 Chainlink 社区 meme 里最常见的动画角色)恶搞 NuLINK 的 logo。
图片来源于亏快链
虽说是恶搞,但是这次恶搞付出的成本还不小。
2 月底,NuLINK 发行了自己的代币 NLINK,并在 4chan 上大肆发布空投的消息,以此吸引大家的关注,根据 CoinGecko 的数据,NLINK 现报价 0.00012 USDT,按照官方说法,NLINK 可在 Uniswap 和 ForkDelta 等去中心化交易所上交易,但是 Odaily星球日报在这两个 DEX 上并未找到 NLINK 这个 token。
图片来源于CoinGecko
同时,NuLINK 还搭建了一个简陋的官网,http://nulink.org,并开通了官方推特、Telegram 和 Discord 社区。目前推特已有 102 人关注,Telegram 社区人比较少,不到 30 人,但是 Discord 社区成员已经累计 300 多人了。
图片来源于 NuLINK 官网
从网站上我们找到了 NuLINK 的白皮书 http://nulink.org/whitepaper.pdf,可是白皮书只有 3 页,大意就是介绍因为不满 Chainlink 验证节点日趋中心化和项目开发停滞,所以要分叉代码重新设计 NuLINK。NuLINK 表示要成为 Chainlink 验证节点必须通过官方设定的 KYC 要求,而这个 KYC 要求限制了很多人去竞争 NuLINK 验证节点,这就大大违背了区块链所提倡的无需许可、无需信任的去中心化教旨,所以要分叉代码,重现设计去中心化 Oracle。
也正因如此,有人调侃 NuLINK 是 Chainlink 上的「穷人版 BSV」,要做原旨版本的去中心化预言机。
可疑的是,白皮书中并未介绍团队成员,或公布成员名单。白皮书里只说明了 NuLINK 是由社区驱动的项目,没有明确的创始人及 CEO 头衔。
我们无法确认 NuLINK 团队成员是否来自 Chainlink 团队,Chainlink 中国社区运营负责人条子哥向 Odaily星球日报否认了 NuLINK 团队来自于 Chainlink 团队的说法,至于是否分叉了 Chainlink 这一点还有待考证。
不管是恶搞 Chainlink,还是一些图谋不轨的人想借助 Chainlink 的名声圈钱,NuLINK 确实在海外社区掀起了些许波澜,竟然还有网友在推特上询问 NLINK 是否值得投资。
图片来源于推特
在此,Odaily星球日报提醒各位投资者注意投资风险,谨防诈骗。
换个角度,能成为恶搞对象,也说明了 Chainlink 在预言机领域的“扛把子”地位。事实上,Chainlink 牢牢占据着去中心化预言机的头部位置。我们将在下文重点分析 Chainlink 的设计机制,成为 Chainlink 节点的条件,以及防止其节点运营商合谋作恶的措施,以此阐述去中心化预言机到底是如何运转和治理的。
Chainlink的设计机制
Chainlink 的理想是做一个去中心化的预言机。
根据白皮书的介绍,Chainlink 通过使用 API 将链上和链外联系起来。它通过获取链上资源(如以太坊、比特币和 Hyperledger 等区块链),并通过 API 将其连接到链下资源(如市场数据、银行支付、零售支付、后端系统、事件数据等)来实现链下数据与链上智能合约的交互。
其中,它的链上模块由声誉系统、订单匹配合约、聚合合约三部分组成,负责连接 DApp 开发者的智能合约,接受对链外数据的请求。链下模块则负责监听请求,并向节点运营商获取数据。
在链上智能合约与链下数据交互的过程中,代币 LINK 作为数据需求方与数据提供商之间的交易 token。简单点说,LINK 代币是用于支付数据提供商,Chainlink 节点运营商,支付提供商和其他在线服务提供商,智能合约用户将对使用 LINK 代币的数据提供商进行补偿。所以说,Chainlink 平台使用地越广泛,LINK 的价值也就越高。
在链上,Chainlink 部署了三个合约:声誉合约、订单匹配合约、聚合合约。
声誉合约旨在跟踪预言机服务提供者的信用表现(performance metrics),并根据声誉参数选择最终的预言机,如果存在不当行为将失去自己的保证金。声誉参数的评价标准包括分配的响应请求总数、已完成的响应请求总数、平均响应时间、保证金金额(如果发生差错将处以罚金)。
聚合合约收集预言机提供者的响应,和计算这些 Chainlink 节点查询得到的的结果并进行最终的汇总。它还将预言机提供者的指标反馈给声誉合约。
虽然,大量使用预言机能保障去中心化共识的安全性和可靠性,但是,由于每个节点将外部数据上传到区块链都要支付一定的 gas 费用,所以,在链上做数据聚合不仅成本高昂而且还会造成网络拥堵,并非上上策(除非合约本身具有很高的价值)。
后来 Chainlink 也意识到了在链上聚合数据的缺陷,于是推出了门限签名技术。门限签名可以让预言机之间互相交流,并在链下达成共识,确定链下数据源的真实性。链下预言机通过门限签名技术聚合数据,只需最终向区块链传输一次数据即可,因此也只需支付一次 gas 费用。
自此,每个参与智能合约的预言机都会搜集相关数据(如市场数据),将数据发送至网络中的其他预言机,按照指示将所有数据聚合至单一数据点,并经由统一的预言机一次性发送至链上的智能合约。
在链下,Chainlink 最初由连接到以太坊的 Oracle 节点网络组成,在将来会逐步支持更多领先的智能合约平台。这些节点独立地收集链下请求,多个独立的响应将通过共识机制汇总成一个全局响应,并返回到请求合约中。
节点运营商可以选择添加外部适配器的软件扩展,提供额外的专业链下服务。目前,Chainlink 节点已实现在公链和私有网络中的企业级部署,最终目标是使节点以去中心化的方式运行。
节点运营商是门好生意
根据 https://market.link 网站数据显示,目前在 Chainlink 整个预言机喂价系统中一共有 108 个报价节点,其中 30 个(数据不固定)为 Chainlink 官方认证的节点运营商。
据 Odaily星球日报的了解,成为 Chainlink 预言机报价节点的硬件要求非常低:只需要 1 核 CPU 和 1GB RAM 即可运行,将 RAM 提升到 2GB 可以提高可靠性。但是,节点与主网通信需要连接以太坊客户端。如果运行自己的以太坊客户端,则需要在另一台计算机上运行。以太坊客户端的硬件要求可能会随时间变化。
具体操作方法如下:
1. 自己要先连接一个以太坊客户端节点,可以自己搭建,也可以选择公共的以太坊节点,比如:infura;
2. 在服务器上安装 Chainlink 节点运行环境,启动节点;
3. 申请认证,成为 Chainlink 报价节点,节点名称会在 chainlink 的区块链浏览器中展示,并且具备抵抗女巫攻击的能力;
4. 节点需要缴纳 32LINK 的审计验证费用;
5. 无需抵押 LINK 代币(抵押功能目前还没上线)。
所以,目前来看,成为 LINK 节点主要是服务器成本,无需 LINK 抵押,也没有惩罚机制。节点收益主要来源于数据调用者,单个节点每次报价收益 0.1LINK,不过根据条子哥的介绍,这个收益其实是可以自由设定的,而由Chainlink认证的节点运营商是可以加入这个收益的价格参考合约,目前大部分收益设定的收益都是 0.1 LINK。
想要获得 LINK 代币收益的开发者或机构可以尝试申请一下。
接下来我们重点介绍一下 Chainlink 的节点运营商。根据 Chainlink 白皮书,成为稳定持续向链上智能合约聚合数据的节点运营商会得到官方的 LINK 代币奖励,然而根据公开资料显示,目前还没有具体的激励机制出台,所以也就无法推算成为 Chainlink 的节点运营商的收益如何。
但是我们查阅 ETH/USDT 聚合器的链上数据发现了一个奇怪的现象。
以 ETH/USDT 数据为例,当前有 21 个 Chainlink 节点在提供往预言机合约上传数据;至少采用了其中 14 个节点的数据,通过一个 Quickselect (快速选择)算法得出一个值得信赖的价格:$117.14,写入聚合器合约中。
当链下价格波动超过 0.5% 时,预言机节点会主动向预言机提交新的价格数据,进而更新聚合器合约中的数据;从下图中我们可以看到,大概每隔 1200 秒(20 分钟),聚合器合约就会主动调用预言机来获得新的价格数据进行数据聚合。
但是查看 ERC20 的交易记录,点开其中一笔交易(0x6b4557f8de3c6ee6500c7cceb449e59dbb99844cce07786ff449de674b50c797),我们可以看到这笔交易内有 21 笔转账交易逻辑,也就是系统向 21 个 节点进行 LINK 代币奖励,每个节点获得 0.33 个 LINK 作为奖励,但是现在无法明确这笔奖励究竟是由调用者还是 Chainlink 官方支付。
这里我们做一下简单计算,一个节点每天在 ETH/USDT 这个数据上的收益是:3*24*0.33LINK=23.76LINK,而在 Chainlink 报价系统中像 ETH/USDT 这样的数据对大概有 20 余个,在这个节点参与了所有数据对报价的前提下,我们保守估计一个节点每天可以拿到大概 500 个 LINK 的奖励,再加上每次报价,链上合约至少采用 14 个节点的数据,这么算下来,这些节点运营商一天可以拿到 7000 个 LINK 代币的奖励。以 LINK 1.9USDT 的现价计算,合 10 万人民币左右。
由此看来,LINK 节点运营的收益确实不错,但是我们尚未找到这笔奖励最终由谁支付。
那如何才能成为官方认可的节点运营商呢?
按照 Chainlink 白皮书,节点运营商应当由链上的声誉系统根据节点表现投票选出,但是据 Odaily星球日报的了解,目前声誉系统尚未上线,与声誉系统相关的节点激励和惩罚机制也没有出台,Chainlink 目前有自己的一套逻辑来做节点运营商的 kyc 认证。据业内人士透露,目前 Chainlink 网络已经加入了一些可信节点来防止节点运营商作恶。
我们可以将 Chainlink 的节点运营商机制与 EOS 的 DPoS 共识算法进行比较,Chainlink 的官方认证节点的角色和 EOS 的 21 个超级代表非常相似。EOS 通过社区投票来选出 21 个超级节点来做区块验证者,但是这 21 个节点极有可能遭受贿赂攻击产生合谋。也正因为如此 EOS 的安全性也一直遭到外界的诟病。
Chainlink 的理想是做一个去中心化的预言机,现实则是,Chainlink 在声誉系统、抵押功能和惩罚机制都还未上线的情况下,官方选择可信节点加入网络做数据验证者和聚合者。
如何防止节点运营商合谋?
不管是中心化的还是去中心化预言机,最糟糕的可能就是节点运营商受到贿赂攻击,合谋给链上智能合约故意上报错误价格,进而影响数据调用者的安全。
所以,预言机报价节点以及节点运营商的治理就变得至关重要,尤其是节点运营商的治理。
Chainlink 目前选取节点运营商的方式主要是通过与可信节点合作,然后用 token 激励节点。但是只要智能合约开发者在选择特定的节点运营商,他们就无法达到跟明星公链相同的抗合谋级别。因为一群已知的节点运营商远比从一个池子中随机选择的节点运营商更容易实现合谋。
为缓解 Chainlink 中节点运营商可能合谋的问题,Medium 上的一位区块链技术爱好者、也是 Chainlink 的头号粉丝 Zak Ayesh 曾给出建议:允许智能合约开发者使用安全的随机信标,从无须许可的节点运营商池中随机选择节点。真正安全的随机信标在区块链中很难达成,不过幸运的是,以太坊已提议要实现安全的通用随机信标,即以太坊 2.0 信标链。
以太坊中的信标链会产生不可预测和没有偏见的随机性的前提假设是:至少有一个验证者是诚实的,并且不存在 VDFASIC 硬件的速度快于商品 VDFASIC 硬件速度很多倍的情况。实际上,Zak 的建议本质上是让 Chainlink 系统借鉴以太坊 2.0 的权益证明工作原理。
假设,特定的数据流在不同的智能合约中都有非常高的需求,且数据流之一就是 ETH/USD 价格对。任何人都可以为这个数据流启动节点,并加入网络。你只需加入节点运营商的池子,在这个池中的所有节点都给智能合约提供相同的数据流。
以太坊随机性信标被触发时,节点运营商的新委员会被选出。其中,某个特定节点被选进委员会的概率将与其在池中质押的 Link 代币数量成正比。这些节点将提供数据流,数据会被汇总,并将根据使用服务的智能合约的定义来接受奖惩。
这套方案的强大之处在于,可以与当前所有计划的安全功能叠加使用。但前提是需要足够大的节点运营商池,才能从根本上消除池中已认证节点之外的女巫攻击威胁。在以太坊中,有数以万计的节点,因此很难被少数运营商控制。
结语
作为打通加密世界和现实世界的“中间件”,预言机在加密世界和现实世界架起了一座桥梁,对加密世界的持续发展至关重要,尤其是对 DeFi 领域。
而对预言机来说,立身之本是安全。在解决安全问题的方法中,去中心化是达成安全的重要方式。ChainLink 提出了一系列的解决方案,包括数据来源的去中心化、预言机的去中心化、可信硬件、对数据的签名,以及安全服务措施等。它为在去中心化预言机领域的探索拓宽了道路。
同时,也有人认为 Chainlink 的去中心化程度还不够,认为目前 Chainlink 讲着去中心化的故事,实则在以半中心化的方式在运行,因此在安全性方面也有待考验。也有业内人士认为,Chainlink 这种加入可信节点作为节点运营商的方式,从某种程度上是对去中心化预言机的改进,因为本身去中心化预言机的治理问题就很难解决,至今也没有完美的去中心化预言机解决方案来应对女巫攻击。
分布式资本合伙人黄凌波此前在接受 Odaily星球日报采访时表示十分看好这种加入可信节点的预言机。在她看来,去中心化预言机要等到 machine to machine(通过移动通讯对设备进行有效控制,没有人的参与)成熟后才可能实现,未来的 Oracle 上链,数据是从机器上获取的,而不是从人获取的。因为人参与的很多数据是不可控、不可信和不透明的;机器则不同,机器原生数据是完全透明的、可信的、不带任何私利的。
所以如果是在 machine to machine 的基础上做的 Oracle 的话,只需要验证数据的真伪即可,可能根本不需要设计复杂的治理机制。
PeckShield 品牌总监郝天同样认为,“在区块链世界里,无论链上共识机制多么公平、透明,只要涉及到链下环节就存在一个“黑洞”。这就给去中心化预言机治理提出了挑战,处理好预言机的治理机制,对区块链链上世界是一个有效的补充,如若处理不好,可能会大大削弱区块链链上世界的存在意义。”
链下预言机治理其实也存在一个不可能三角问题,如何在确保链下数据客观、严谨的基础上,又能保证和链上世界接轨的处理效率,最主要的是,链下预言机的“管理者‘本身是安全、可信的。总之,链上区块链运转模型和链下预言机治理就像一个双星系统,二者互相影响又互相依赖。
参考资料:
蓝狐笔记:《如何实现真正的去中心化预言机?》
Chainlink:《深入浅出解析门限签名技术》
Odaily星球日报:《币价涨10倍的Chainlink,凭借什么立足预言机市场?》
工具连接:https://feeds.chain.link/
https://cn.etherscan.com/
原创文章,转载/内容合作/寻求报道请联系[email protected];未经授权严禁转载,违规转载法律必究。
不容错过的往期精彩
优质的推送带来深刻的思考
给 Odaily 标星,让你先与众不同