北京时间11月12日晚间,QOS核心技术团队作为链圈内翘首以待的Cosmos项目测试网的成员之一,在gaia-9001版本上发现了重大bug,QOS技术团队给这个漏洞命名为XYZ实现代码漏洞(由发现漏洞的核心技术的名字组成),该漏洞导致全网的steak代币流通量翻了10倍,系统风险和破坏性可想而知。
那QOS的技术团队是如何发现XYZ实现代码漏洞的呢?QOS CTO李杰介绍说,主要是基于团队成员对Cosmos 0.26.1-rc1版本源码的熟悉,以及对Cosmos主体逻辑的把握。如下图标记的三个步骤所示,通过构造一定的触发条件,使程序只执行步骤一和步骤二,忽略步骤三,就可以凭空产生代币。
发现bug的源码文件是github.com/cosmos/cosmos-sdk/x/auth/ante.go。
(发现漏洞的代码截图)
事实上,对于任何一个公链生态系统来说,其代币的发行与流通是生态稳定运作的一个重要环节,主要是通过完备的通证经济模型来实现的,此次QOS技术团队发现的这个bug正属于这个范畴。简单来说,这个bug的存在允许各个节点无视系统规则自行发代币,其结果可能导致各个节点上的代币总和大于项目本身预计的代币总数,从而引发系统瘫痪,这对整个项目和生态来说都是致命的打击。
昨晚XYZ实现代码的漏洞一经出现就导致gaia-9001全网瘫痪,在Cosmos社群也引起了极大的关注和热议。
(社区引起热议的截图)
截止目前,gaia-9001测试网仍处于升级状态,项目方原定于今日举行的牛排大赛(Game of Stakes,GoS)也因此次漏洞往后推移。随后,Tendermint实验室负责人、丰元创投(Amino Capital)顾问、可信物联网联盟(Trusted IoT Alliance)执行董事Zaki Manian 先生作为 Cosmos代表,对QOS技术团队的贡献给予肯定,还表示将给予QOS核心技术团队奖励。此外,多位社区开发者也为QOS技术团队的贡献点赞并个人给予代币激励。
(zaki给予肯定的截图)
(社区其他个人技术开发者称赞并奖励的截图,KAUCHY是QOS核心技术团队在Cosmos社区的账号之一)
Cosmos是一个由区块链组成的网络 (Internet of Blockchains),它的创建是为了解决一些区块链社区长久以来存在的问题,Cosmos 网络由不同的独立、平行区块链组成,其中的每条区块链都通过例如 Tendermint 这样的经典拜占庭容错共识运行,在互操作性、可扩展性、可升级性等等方面都有极大的突破。
QOS CTO李杰表示,QOS技术团队深入研究了Cosmos的整个技术架构以及经济模型,也学习和借鉴了很多Cosmos在分区、跨链等问题上的处理方式,虽然QOS和Cosmos都采用了Tendermint共识引擎 ,但QOS在业务场景上跟Cosmos还是有很大的差异。两个项目在技术定位和架构上有不同的特征和侧重,但也有互通、互相值得学习的地方,目前QOS技术团队也在申请成为Cosmos的验证节点,争取在技术层面做更多的沟通与交流。