Loki's Blockchain Notes

Posted on Mar 08, 2023Read on Mirror.xyz

掘第二个墓:重构Venus资产负债表

1.引言:从Venus的资金使用率说起

Defi借贷的业务很像银行,用户存入资金构成defi平台的负债,defi平台的剩余资金+放出去的贷款构成资产,资产=负债,如果有金库,那么金库也会并入负债表,使得资产>负债。

Venus前端数据

首先我们来看一下Venus资产负债表的构成。按照Venus前端信息,用户一共存入了价值$12.85亿的资产,借出约$5亿元,剩余流动性$7.84亿,金库还有$425万,一切看起来很正常。

Venus存贷资产构成

虽然高使用率本身不是问题,但它应该引起我们的警觉,因为这代表着Venus上有着超强的稳定币借贷需求,我们需要搞清楚这些借贷需求是哪里来的。从利率上看也是如此,AAVE和Compound的USDC借款利率分别为3.41%和3.47%,而Venus的三种稳定币均超过5%,USDT达7%。

Venus稳定币数据

这么高的借款使用率会带来一个问题:Venus上的稳定币流动性占比过低,很容易造成挤兑。当然这并不是一个大问题,因为使用率的上升会推高利率,形成动态平衡。(在今天的早些时候Venus官方成员也向我阐述了这一点)

Venus剩余流动性构成

相对的,BTC、ETH、BNB合计占到了84%。这一比例对任何一个借贷平台而言都是一个正常的数值,但Venus除外,因为这很容易让人联想到Venus的两次安全事件。

2.BNB增发事件带来的连锁债务问题

第一件事情是BNBChain被攻击导致增发,其中90.2万枚BNB被质押在Venus上,并且借出了5000 万 USDT、6250 万 BUSD 和 3500 万 USDC(合计1.475亿美元)。毫不意外的是,BNBChain采取了我们最熟悉的解决方案——什么也不做。

此后通过了一个提案,这90.2万枚BNB只能由BNBChain来清算。公平地来说,应该为此事负责的应该是BNBChain,那么这里形成了一个如下图所示的多重债务关系。Venus欠用户1.475亿。考虑到黑客只转移走了9000万美元,准确地说这笔债务应该是9000万或1.475亿。(为了表述便捷,后文我们假设这笔债务是1.475亿美元。)

BNB增发后的连环债务问题

而Venus的1.475亿营收账款对应90.2万枚BNB的抵押物。BNBChain获得了90.2万枚BNB的所有权,相对于地,BNBChain也应该承担9000万的责任,因为BNBChain和黑客才是责任方,用户和Venus是无辜的。而BNB的持有人也不应该为此承担BNB增发的恶果。

这里有一个分歧点是能否将90.2万枚BNB卖出并偿还1.475亿美元债务。我的答案是NO,因为这属于增发出来的BNB,要么黑客主动或被动还钱,要么BNBChain(或者它们背后的Binance)应该偿还债务并销毁90.2万枚BNB。

基于此,我们可以将这笔复杂债务从Venus的资产负债表中剥离。价值2.6亿的BNB同时从资产负债表中减去。并且应收账款(借款)中有1.475亿美元应当归属于BNBChain。这笔借款应当被视为无抵押借贷,因为它的抵押物理应被销毁。

Venus资产负债表构成

3.CANN和XVS价格攻击的后果真的解决了吗?

第二件事情是2021年5月,有大户(也有说法称是项目团队)注入大量XVS价格充当抵押品后拉高XVS价格并借出了几千个BTC和几万个ETH,随后该账户被清算,系统留下近亿美元的负债。

在此之后,项目在给出了一个VIP-29的“解决方案”以后再也没有任何声音,那么在这里我们**得到了另一个关键问题:XVS攻击产生的坏账(ETH和BTC)被解决了么?然而,**通过查找公告、新闻,我们无法找到任何信息。

那么我们只能尝试从链上数据入手。在BSCscan上我们可以找到一个叫vBTC的合约,可以看出,用户存款的过程就是将BTC转入vBTC合约,合约再返回一个vBTC的凭证。Venus vBTC合约的BTC余额代表着借贷池的余额,vBTC则代表Venus欠用户多少个BTC。

用户存款的链上交互信息

ETH也是采用了类似的方法。另外,我们可以在官网上找到vBTC的铸造量和汇率。按照这些数据计算,用户一共在Venus上存了11960个BTC和73210个ETH,这与Venus前端数据完全一致。进一步计算出来的ETH/BTC余额也与Venus一致。

VBTCB的发行量与汇率

那么现在的关键问题就是现存的债务人是否还包含黑客,如果包含,那价值超过1亿美元的BTC和ETH将成为坏账。尽管我们从BSCscan上只能查询到存款分布而差不多贷款分布,但一个在Defi Summer以后几乎被大家遗忘的数据平台——Debank可以查询到账户的贷款情况。

继续追踪攻击者地址0xef044206db68e40520bfa82d45419d498b4bc7bf可以发现,该地址在安全事件以来,在持续清算XVS并且偿还债务。该过程大概在6个月前停止,账面目前剩余价值16万美元的XVS,另外仍有价值4258万美元的负债,而ETH的坏账已经偿还完成。

账户1:XVS攻击者坏账情况

除此以外,在XVS之前的Venus曾被相同的首发操纵CAN价格攻击,据官方称该时间以供给者偿还资金结束。但链上数据显示,0x33df7a7f6d44307e1e5f3b15975b47515e5524c0地址仍有约332万美元的负债。

账户2:CAN攻击者坏账情况

此外,另外一个关联地址0x7589dd3355dae848fdbf75044a3495351655cb1a也有约681万美元的坏账。另外,一个匿名账户此前就已经在Medium曝光了这三个地址互为关联地址,并且与Venus原官方团队有着千丝万缕的联系。

账户3:关联地址坏账情况

https://medium.com/@venus.insider/venus-io-disclosure-an-inside-job-f8ef195fe78d

那么对于前面的关键问题我们终于得到了一个答案——两次价格攻击后Venus陆续解决了一部分问题,但没有完全解决,已知的三个地址总计产生了1902个BTC和6448个ETH的坏账。合计约5200万美元。

4.重构Venus资产负债表

基于上述内容,Venus的资产负债表会变得更加复杂,调整后如下。可以看出,5200万美元的坏账和1.475美元的连环债务严重影响了Venus资产负债表的健康程度.

5.谁应该为此事负责?

需要明确的是,以上内容论证了BNB增发的连环债务和XVS/CAN价格攻击带来的坏账问题,但受制于笔者自身水平和掌握的信息有限,以及第三方数据(如Debank)可能存在偏差,以上分析都有可能是错的,欢迎各方指正。

在责任划分上是很明确的,BNB的问题责任人是BNBChain,ETH和BTC的问题责任在Venus,非常希望Venus团队能够对以下两个关键问题做出回答,因为这是我和每一个用户关心的内容:

1.连环债务问题是否存在? 除了搁置以外还有什么解决方案?

2.以上列出的三个地址是否存在坏账?如果存在坏账,Venus希望如何解决这一问题?

此外,Binance或者BNBChain也存在非常大的问题。一方面,尽管Binance不断否认与Venus的关系,也在不断强调BNBChain和Binance的区别,但如果Venus自己的问题不解决,那些无法提取ETH和BTC的用户仍然可以选择借出BNB,而那些BNB本来不应该存在,最终BNB的持有者会为此买单,因此BNBChain必须要为1.475亿美元和90.2万枚BNB的问题负责。

另一方面,在Venus出现如此多问题的时候,Binance仍然选择继续支持Venus,甚

为Venus开通了小程序和站内Defi挖矿的通道。对于用户来说,这显然是一种背书。而且与此同时,Binance站内用户投入的资金成为了Venus的TVL,只要有足够的TVL在,Venus的问题就不会被暴露,Binance成为了Venus的帮凶,甚至牺牲了用户的利益。如果我们怀揣善意去思考,这可能是一次失职事件,Binance没有尽到审核义务,但内部串通作恶的可能性同样存在。在此也呼吁BNBChain/Binance:

1.正面面对BNB仍存在90.2万枚增发的事实,拿出真正的解决方案而不是搁置问题?

2.在小程序和站内defi挖矿下线Venus功能,并确保用户的资产不受到任何损失。

最后的最后,建议所有用户在Venus和Binance正面回应以前停止使用Venus,取出所有资金,虽然Venus问题没有FTX那么大,资产缺口的规模也相对可控,考虑到Binance的因素后最坏情况也大概率能够刚性兑付,但中国有句古话,叫做:“我妈不让我和傻子玩”。