什么是储备金证明?
Proof of Reserves(PoR)是一种由第三方进行的独立审计。PoR的目的是验证保管人是否实际拥有其声称代表客户保留的资产。该审计师将所有客户的余额信息汇编成一个 默克尔树这是一个尊重客户隐私权的数据结构,它包含了所有已被匿名的客户余额的快照。
然后,审计员获得一个Merkle Root,这是一种加密指纹的形式,为快照产生时这些余额的组合提供一个独一无二的标识符。
然后,审计师将收集由加密货币交易所产生的数字签名。这些签名被用来证明对链上地址的所有权,这些地址的余额是可以公开观察的。在最后一步,审计员进行比较,检查这些余额是否大于或等于反映在Merkle树上的客户余额。这证实了客户资产是在利用整个储备的基础上存储的。
通过将特定的数据位与Merkle根进行比较,每一位客户都有能力独立验证他们的金额在Proof of Reserves审计期间被考虑在内。对其余数据所做的任何改动,无论多么微小,都会对根部产生影响,这将使任何篡改变得清晰。
为什么Proof of Reserves如此重要?
银行受到监管,并被政府当局强制要求在年度报告中报告他们有多少资产,以便客户资金不受损害。然而,由于加密货币交易所和托管人不受政府监管,用户怎么能对他们的服务有信心?
目前,绝大多数集中式交易所和其他CeFi加密货币平台,如贷款人和托管人,将其资产信息存储在机密的专有数据库中。因此,他们能够声称属于其用户的现金在他们那里是安全的,但不可能验证这些说法。
客户在使用储备金证明时,不必只相信他们的话,因为他们对这一承诺有不可否认的确认。这又回到了密码学的基本原则,即 "不要相信,要验证"。
使用储备证明有助于保证加密货币托管人、交易所和贷款人不会秘密参与金融交易,这可能会使其客户的资金面临危险。
储备证明保证了加密货币贷款人贷出的资金不会超过其拥有的抵押品,这使得其贷款人在发生任何意外情况时能够得到全额偿还。
储备证明保证了被包裹的token的保管人,比如说 WBTC (包裹Bitcoin),真正拥有比特币的储备。同样地,它确保 稳定币 发行人,如Circle,真正拥有美元来支持其发行的所有USDC。
默克尔树的储备证明是如何工作的?
默克尔树",有时也被称为 "哈希树",是确保储备证明协议成功的组件。储备资产的验证可以通过使用梅克尔树(Merkle Tree),采用防篡改和加密安全的方法进行(关于其工作原理的更详细解释,见下文)。
由于它是一种基于哈希值的数据结构,它对即使是最微小的变化也非常敏感,因此可用于保护数据欺诈和操纵。
如前所述,一个不相干的第三方负责进行Merkle Tree储备证明(PoR)。该操作如下。
1. 独立审计师在拍摄了所有用户余额的快照后,开始将保存在加密货币交易所的所有用户余额编入梅克尔树。
2. 加密哈希函数被用于这个巨大的数据收集。加密哈希函数是一种计算机算法,它对数据进行扰乱,并将其作为一个单一的、64个字符的字符串吐出,例如以下内容。3537fkhjtyti67182njkaurghcryrgsjakektio9101sjrrlgekb1644afffnd25.
3. 审计员将从交易所收集揭示其总余额的数字签名,然后检查它们是否与记录在Merkle树上的用户余额相符。"储备证明 "这一短语来自于这样一个事实:这表明所有的用户资产都储存在交易所的储备中,因此所有用户的交易资金也都储存在那里。
4. 用户随后可以使用唯一的记录ID并与Merkle根进行比较,来验证他的资产在Proof of Reserves审计中是否被计入。
5. 如果他的资产余额有任何变化,无论多么小,或者是一个假的余额,都会导致一个变化,这个变化在树上级联到Merkle根,并完全改变价值。
6. 随后,用户可以通过Proof of Reserves的审计来验证他的资产是否已经入账。
默克尔树是一个单一的值,它通过使最微小的篡改都显而易见,从而确立了所有交易的完整性。因此,Merkle树是一个证明所有交易完整性的数值。
储备金证明的局限性
这里的目标是向更广泛的公众,更具体地说,向那些在你那里存款的人证明,你的加密货币的存款额与用户余额是一致的。当然,当你把这一点付诸现实时,你会发现这并不那么容易。要证明你掌管着链上的某些现金并不困难;尽管如此,如果你在短期内需要这些资金,你总是可以借到它们。正因为如此,时间点的证明并不具有很大的分量。此外,交易所有隐瞒债务或债务人要求优先于存款人的风险,特别是如果他们没有在其运营的平台上合法地分离客户资产。
在审计和核实资金的过程中,拥有储备金的证明确实能确保一些透明度。然而,它有几处可以改进的地方,储备金确实确保了透明度。然而,它也有一些可以改进的地方。即使储备证明能够证明对链上数据以及被保存的现金的控制,它也不能验证个人是私钥的唯一所有者。
审计师和被审计人也有可能共同进行欺诈。另一方面,保持公开性的义务同样由双方承担。差异也可能表现为钥匙的丢失和现金的被盗。Proof of Reserves方法也无法确定一个交易所是否为了通过审计而借用了资金。这可能反映了核查过程中出现的不一致。为了准确描述全貌,Proof of Reserves最好与某种形式的负债证明相结合。
Proof of Reserves+责任证明=偿付能力证明
什么是负债证明?
与Proof of Reserves相比,负债证明是一个复杂得多的概念。然而,这两种证明的结合可以提供所谓的偿付能力证明,至少对于某个token来说是如此。
按照与Proof of Reserves相同的思路,交易所可以选择公布某个时间点存在的所有负债的清单。理论上,这份清单可以包括账户余额以及每个债权人的姓名(关于因隐私问题而不可行的原因的进一步解释,见下文)。然而,交易所可能很容易从清单中排除一些债务,给人的印象是该公司是有偿付能力的,尽管事实上它确实处于无偿付能力的状态。
有人建议,每一个债权人都应该翻阅公开的债务清单,检查自己是否被列入其中,以此来减轻这个问题的影响。如果哪怕只有一个债权人宣称他们没有被列入名单,公众就有可能将交易视为欺诈行为。当然,有些债权人不核实名单的事实是令人担忧的。然而,这种方法可能是相当有弹性的,这意味着与完全不进行这一程序的平台相比,消费者可能对交易所的偿付能力有更大的确定性。这与完全不进行这一程序的平台形成对比。
上述方法显然非常不利于用户的隐私权,因为一般人都会知道每个用户的名字和他们账户余额的历史。在这项研究发布之前,有两种方法,如果相互配合使用,可能会大大增加用户维护自己隐私的能力。大约在2014年,格雷格-麦克斯韦是第一个阐明这两种方法的人。 这些概念.
1. 混淆已公布的余额和用户身份之间的关系--用户的账户名称可能会从列表中省略;取而代之的是,列表中可能包含一个用户名称或电子邮件地址的哈希值,该值与发给每个用户的随机nonce结合。个人用户将有能力保证他们被列入名单,而他们的名字不会以这种方式透露给公众。
2. 公布用户余额的一部分 - 负债的全部清单不被公开;相反,负债以Merkle树结构中排列的叶子形式呈现。交易所的总负债显示在Merkle树的顶端,而Merkle树顶端的哈希值是公开的。之后,从用户的账户余额到Merkle树的开头所需的最低限度的信息会呈现给用户。因此,每个用户都可以高度信任他们的余额包括在总数中,而同时获得关于系统中其他用户的极少信息。