FTX崩溃后:中心化交易所如何重建用户信任
FTX的崩溃严重削弱了用户对中心化加密货币交易所的信任。大多数投资者终于意识到拥有数字资产密钥的重要性,并将创纪录数量的代币从交易所转移到了非托管钱包中。这些事件促使中心化交易所迫切需要提供可靠的证明,以表明其持有的资产多于负债。
验证交易所偿付能力的技术演进
2011年,Mt. Gox成为首批提供偿付能力证明的交易所之一,它将424,242 BTC从冷钱包转移到一个预先公布的地址。然而,后来发现该交易可能具有误导性,因为转移的资产可能并非来自冷钱包。
2013年,关于交易所如何证明用户存款总额的讨论开始出现。基本思路是,如果交易所能够证明其用户存款总额(即总负债)以及拥有等量资产(即资产证明),就可以证明其偿付能力。换句话说,如果交易所能够证明其持有的资产等于或超过用户存款,就能证明其在用户提现时具有偿付能力。
交易所证明用户存款总额的最简单方法是公布用户名及其账户余额列表。然而,这侵犯了用户隐私,即使交易所只公布哈希值和余额列表。因此,引入了能够验证大数据集的Merkle树技术。
Merkle树技术的应用与局限
在Merkle树技术中,用户余额表被插入到Merkle总和树中,其中每个节点或叶子都是余额和哈希值对。最底层的节点包含单个用户余额和加盐用户名哈希值。随着向上移动,每个节点代表其下两个节点的余额总和以及哈希值总和。
虽然与公开的姓名和余额列表相比,Merkle树的隐私泄露有限,但并不能完全免疫。控制交易所大量账户的黑客可能会获得关于交易所用户的重大信息。
ZK-SNARKs技术的应用前景
交易所可以将所有用户余额放入Merkle树或KZG承诺中,并使用ZK-SNARK证明所有余额均为非负数,且总和等于交易所声称的总存款价值。添加一层哈希值以提高隐私性,可以确保没有交易所用户能够了解其他用户的余额信息。
在更远的未来,这种ZK负债证明不仅可用于交易所的客户存款,还可用于更广泛的借贷领域。换句话说,借款人可以向贷款人提供ZK证明,确保借款人没有过多的未偿贷款。
资产证明的挑战与解决方案
最简单的证明交易所拥有资产的方法是Mt. Gox采用的方法。交易所只需在预先约定的时间转移其资产,或在数据字段指示哪个交易所拥有资产的交易中转移。交易所也可以通过签署链下消息来避免燃气费。
然而,这种技术存在两个主要问题:处理冷存储和抵押品的双重使用。大多数交易所将大部分资产存放在冷存储中以确保安全,这意味着"即使是证明地址控制权的单条额外消息也是一项昂贵的操作!"
为解决这些问题,交易所可以长期使用几个公共地址。交易所可以生成几个地址,证明所有权一次,然后重复使用相同的地址。然而,这在保护隐私和安全方面存在挑战。
作为替代方案,交易所可以拥有多个地址,并证明其对几个随机选择地址的所有权。此外,交易所还可以使用ZK-proofs来确保隐私保护,并提供所有链上地址的总余额。
实时偿付能力证明与法币资产证明
第二个问题是确保交易所不会通过转移抵押品来伪造偿付能力。理想的偿付能力证明应该是实时的,在每个区块更新后提供证明。如果这不切实际,次优方案是不同交易所之间在固定时间表上协调,例如每周二UTC时间14:00证明储备金。
最后一个问题是为法定货币提供资产证明。加密货币交易所同时持有数字资产和法定货币。由于法定货币余额无法通过密码学验证,提供资产证明需要依赖"法定货币信任模型"。例如,持有交易所法币的银行可以证明可用余额,审计师可以证明资产负债表。
未来发展方向
从长远来看,理想解决方案是依赖具有多重签名和社交恢复钱包的自我托管。短期内,用户需要根据自己能够接受的权衡选择中心化或去中心化交易所。
未来,一些中心化交易所可能会通过将余额存储在validium智能合约中来发展,这样交易所就无法窃取用户资金。未来可能还会出现半托管交易所,用户只信任交易所处理法币,而不信任其处理加密货币。
虽然这两种类型的交易所将继续共存,但提高托管交易所安全性的最简单方法是增加储备金证明,这包括资产证明和负债证明的结合。
未来,希望所有交易所都能发展成为非托管的,"至少在加密货币方面"。中心化钱包恢复选项将存在,"但这可以在钱包层完成,而不是在交易所内部"。在法币方面,交易所可以部署类似于USDT和USDC等法币支持稳定币的原生存取流程。但"我们还需要一段时间才能完全实现这一目标"。