信息来源自jumpcrypto,略有修改,作者Nihar Shah
导语
在FTX倒闭之后,许多著名的加密交易所都宣布了围绕“偿付能力证明”的计划。事实上,像Binance、BitMEX、ByBit、Gate.io、Kraken、OKX等交易所已经推出了支持此类检查的基础设施。通过专业和用户驱动的审计的某种组合,交易所正使用偿付能力证明来证明他们持有用户托管的资金。
但是,偿付能力证明并不完美。加密社区已经了解了其中的一些缺陷。从可验证性的角度来看,交易所可能无法控制他们声称的链上地址。从财务角度来看,偿付能力证明并不能保证实际的公司偿付能力,因为交易所的资产负债表上还有其他资产和负债。从技术角度来看,偿付能力的证明不一定是即插即用的,需要谨慎地选择适当的方法。这些都是社区正在努力解决的问题。
本文探讨了一个较少被讨论的问题:偿付能力证明机制有可能会被恶意交易所以统计方式所破坏。关键是,如果交易所能够预测未来的证明或对失败的证明播下怀疑的种子,他们就可以成功地挪用消费者的资金。理论上偿付能力证明背后的强大概率保证在实践中是非常脆弱的。
意图良好的交易所可以实施一些解决方案来缓解这个问题。事实上,大多数简单的解决方案解决了问题的一部分,但实际上会恶化问题的其他部分——恶意的交易所可以利用这一点为自己带来好处。最终,要由加密社区让交易所对其路线图的周密性负责。而意图良好的交易所肯定会欢迎这些标准。

在理论上,偿付能力证明的强度
从技术角度来看,有大量关于偿付能力证明的文献,所以我们在这里不再赘述。我们的重点是该流程的“责任证明”部分,即交易所报告客户存款的总额。
为了操作和证明这一点,交易所通常有两种方式选择。他们可以向外部审计师提供匿名的存款列表,也可以发布匿名的存款树(如Merkle树或Verkle树)。它们具有不同的信任假设和技术规格,但对于我们的目的来说,它们是等效的。
只要用户检查他们的存款并确保它们被包含在总金额中,这个系统就可以运作。恶意的交易所可能会试图排除或少报一部分客户的存款,然后挪用这些资金。审计员和树本质上都不会知道Alice在交易所持有5个BTC,除非Alice自己检查她的包含情况。因此,从表面上看,对交易所的成功检查需要每个用户检查其存款是否包含在内。
当然,大多数用户不会检查。中等程度的加密用户不知道如何与默克尔树交互,这涉及一些技术复杂性。检查审计师名单的门槛较低,但仍然不是非常简单。而且更普遍的是,由于外部性问题,我们应该期望较少的用户进行检查。一个检查自己存款的用户通过保持交易所的诚实,来为社区提供分散的利益,并为此付出了集中的成本(他们的时间)。
但从理论上讲,这并不重要。乍一看,责任证明背后的数学原理似乎非常强大,只要有几个良好公民监督交易所,它就能很好地运行。交易所以某种形式挪用存款而逃脱惩罚的概率就是这些储户都不去检查的概率。相比之下,从理论上讲,只要有一个被挪用的储户检查他或她的存款,交易所就能被抓住。为了正式地说明这一点,如果我们将随机用户检查的概率表示为\(\pi\),对于挪用\(n\)存款的交易所,这可以简化为以下表达式。
\P(P(\text{Not Caught}) = \prod_{i=1}^n P(\text{Depositor $i$ doesn’t check}) = (1 – \pi)^n\] 。
例如,如果一个交易所挪用了69个用户的存款,而每个用户检查的概率是1%,那么它被抓和逃脱的概率是50-50。当一个交易所的目标是500个用户时,它基本上没有机会逃脱惩罚。对于拥有数百万用户的交易所来说,这些目标微不足道,不值得冒险。

偿付能力脆弱性的实践证明
尽管这一框架很诱人,但在实践中却明显不那么有效。有两个关键问题:
- 交易所可能能够预测哪些客户可能会检查他们的存款。在最简单的形式中,交易所可以使用一些基本的人口统计数据来区分精通加密货币的用户(他们习惯于下载默克尔树并验证包含的内容)和不熟悉加密货币的用户(他们不懂)。
- 一次失败的认证不太可能立即引发行动,原因有二。首先,由于用户的错误,会有一些假阳性率。其次,单个用户可能没有足够的影响力来提醒社区,特别是如果交易所迅速补救或混淆问题。
因此,我们在几个关键方面增强了上面的模型。首先,我们将客户划分为两种类型:一种是足够聪明,可以检查他们的余额(由\(\theta_1\)表示)的客户,另一种则相反(由\(\theta_2\)表示).第一种类型以一定的概率 \(\pi\) 检查他们的存款,而第二种类型从不检查。
其次,交易所积极地试图预测哪些消费者是哪种类型。交易所只想挪用第二种类型的存款,因为如果成功的话,他们可以做到零风险。为了表示这种知识,我们引入了参数\(\phi \in[0,1]\),交换使用该参数来获得给定目标消费者类型的更新概率。
\[P(\theta_1 | \phi) = P(\theta_1) (1 – \phi)~~~\text{and}~~~P(\theta_2 | \phi) = P(\theta_2) (1 – \phi) + \phi\]
注意,当\(\phi = 0\)时,交易所没有预测能力,因此他们对给定消费者类型的条件猜测只是这两种类型的基线概率。当\(\phi = 1\)时,交易所完全知道消费者的类型,因此可以保证他们只是挪用了第二种类型的存款。
第三,只有当超过一定数量的人没有通过认证时,交易所才会被发现。一个失败的认证可能不足以让交易所陷入困境,因此我们将参数泛化为需要\(j\)个失败的认证。
有了这三个复杂因素,我们可以将交易所摆脱挪用\(n\)存款的概率更新为下面的公式。
\[P(\text{Not Caught}) = \ \sum_{k = 0}^{j – 1} {n \choose k} \left[\pi P(\theta_1) (1 – \phi)\right]^k \left[(1 – \pi) P(\theta_1) (1 – \phi) + P(\theta_2) (1 – \phi) + \phi\right]^{n – k}\]
这从根本上改变了数学计算。为了说明这一点,我们将方程参数化,并计算出90-10点,即交易所可能挪用的存款人的数量,他们有90%的机会逃脱,只有10%的机会被抓住。在这个模拟中,我们设置\(\pi = 0.2\)和\(P(\theta_1) = 0.05\),即精明的人数占总人数的5%,并且在20%的时间进行检查,总共有1%的人检查。我们尝试了\(\phi\)和\(j\)的各种值,并为目标数量\(n\)个消费者计算以下值。

我们可以在下面直观地看到这些相同的结果。我们在对数尺度上绘制了90%阈值所需的消费者数量。

研究结果表明,围绕偿付能力证明机制的强大理论保障在实践中很快失效。在理论模型的最强版本中,交易所在面临被抓到的不小机会之前只能挪用十个账户。相比之下,在实践中最极端的情况下,如果交易所能够很好地预测用户类型并压制间歇性报告,它们可能会出于同样的风险挪用近50万个账户。虽然我们不声称这种特定参数化的合理性,但这个表格显示,无论是检查人员的可预测性还是失败证明的临界质量,都可以削弱偿付能力证明所提供的任何理论上的安全性。两者结合在一起,就会使它在功能上毫无用处。
现状中的风险
这篇文章中的担忧可能看起来很学术,但事实上,交易所目前处于有利地位,可以在两方面削弱偿付能力的证明。围绕偿付能力证明的现有设计使其具有异常强的可预测性和不透明的失败证明判定形式。
首先考虑检查类型的可预测性。交易所当然可以像前面提到的那样,利用人口统计信息来提高预测能力。但实际上他们可以做得更好。交易所清楚地知道哪些人可能会进行检查:用户与偿付能力证明的初始交互总是在交易所的平台上开始,这是一个高度暴露的信号,而收集这些对于交易所来说是微不足道的。
其次,考虑裁决机制。交易所的现状实施通常假设偿付能力证明检查成功。如果检查失败,通常没有官方机制来升级或核实,只能让用户在Twitter或其他社交渠道上公开。这有两个问题。首先,用户自然会有很高的错误率,因为存款是在特定的时间点报告的,用户可能会忘记从那时起进行的交易。由于缺乏官方的裁决策略,很难纠正这些误报,从而混淆了真正的问题。其次,少数在Twitter上争论的声音很容易被误认为是FUD。同样,恶意的交流所可以很容易地靠拢这种说法,批评这些用户并说服他们的用户群忽略他们。
请注意,目前许多交易所与外部审计师合作,这对这两个问题略有帮助。但是,审计人员并不能完全解决这两个问题,特别是在检查和裁决工作流程不透明的情况下。

没有简单的解决方案
有多种潜在的解决方案可以阻止交易所预测哪些用户进行检查,并可靠地处理失败的认证,但并非所有解决方案都是理想的。事实上,许多改善一个问题的解决方案会恶化第二个问题,或者带来新的问题或自身的复杂性。
不过,交易所至少应该采取两项直接措施。首先,他们应该将尽可能多的机制移出其原生平台。其次,他们应该为失败的认证建立明确的裁决程序。这些步骤目前可能依赖于审计人员或其他集中的第三方,但在许多情况下,它们至少比当前的设计更具透明度和清晰度。平台外流程可以对交易所隐藏明显的信号。明确的裁决程序可以消除明显的误报,并进一步调查其余案件。
但是,本文概述的两个问题将持续存在,需要更有创造性的解决方案才能将其完全解决。我们将在这里讨论五种假设的修复方法。它们并不完美,但为未来的工作指明了一些潜在的方向:
- 交易所可以在检查偿付能力证明时引导用户(许多交易所已经这样做了)。这提高了用户检查的基准率,从而更容易发现问题。但由于本文中提到的两个核心原因,这里存在问题。该流程越广泛,交易所从用户身上获得的信号就越多。此外,编写糟糕的流程可能会混淆不了解加密货币的用户,这增加了误报的频率。
- 交易所可以为找到正确的失败认证的用户提供奖励。同样,这提高了用户检查的基准率。然而,如果激励机制过于强大,这可能会极大地增加误报率,并使任何裁决者不堪重负。
- 交易所可以自动将特定用户的证明推送给所有用户,这几乎完全阻止了其预测哪些用户检查的能力。然而,这将增加误报率,也可能会不必要地吓到新用户。
- 交易所可以更快、更频繁地生成树或证明。这将降低误报率,因为这些列表将更准确地反映当前余额(因此用户将不太容易误解结果)。然而,更快的生成可能是一把双刃剑,因为它也使交易所在可疑的消费者开始调查后更容易生成“更正的”证明和树。
- 交易所可以要求审计公司或监管机构雇佣“卧底”审计师,即伪装成普通消费者的审计师。这可能会有效,因为这些人不太容易出现误报,并且即使在一两次失败的证明后也有能力调查交易所。他们也可能更善于掩盖自己的踪迹。然而,总体而言,消费者可能不会信任那些严重依赖交易所和另一个中心化机构之间公平关系的程序。
从短期来看,最好的解决方案可能包括所有这些方法的某种组合。本文中介绍的两个问题都不能完全消除,但是最优解决方案将在合理的程度上减轻这两个问题(围绕预测检查者和处理失败认证)。
不过,从长远来看,加密社区确实可以在解决方案领域发挥创造性。例如,Jump Crypto的团队已经将浏览器扩展等工具理论化,这些工具可以在后台自动执行偿付能力检查证明。这种假想的工具还可以跟踪给定账户的交易,因此可以自动将高验证率(包括用户检查的数量和用户检查的频率)与低误报率配对。这只是许多潜在想法中的一个,随着时间和技术的发展,这些问题可能会消失。

结论
这篇文章并不是对交易所的批评,它们正在迅速建立自己的偿付能力基础设施证明。我们预计这些机制将随着时间的推移变得更加普遍和成熟。
但是,偿付能力证明也不是灵丹妙药。我们已经了解了该机制在财务健康、技术安全性和可验证性方面留下的差距。这篇文章指出,当偿付能力证明背后的技术嵌入到与用户交互的劣质机制中时,可能会出现差距,从而进一步加剧了一系列问题。恶意交易所可以利用这一点发起统计或概率攻击,并在中度至严重程度上损害该技术。
因此,交易所有责任开发强大的机制,破坏其预测信号并处理失败的认证。用户也有责任让交易所达到这一标准。事实上,我们相信诚实的交易所可能会欢迎这种努力,因为这让他们更容易可信地将自己与恶意交易所区分开。通过这些和并行的努力,偿付能力证明可以成为在这个加密寒冬恢复对交易所信任的工具。
所有评论