最近一些头部加密货币交易所的“暴雷”事件层出不穷,以FTX为例不仅引发了业界对于虚拟资产中心化交易所的信赖危机,造成行业恐慌,也将虚拟资产监管和破产等一直以来被回避的问题放上台面。今天飒姐团队就从技术和法律两个层面来跟大家聊一聊,中心化交易所利用Merkle Tree(默克尔树)来做出储备金证明的相关问题,并澄清一些大家对于该项技术可能存在的误区。

Merkle Tree,一棵加密“树”下的法律乾坤

一、 Merkle Tree的真正用途:负债证明

谈及中心化交易所的问题,我们需要明确一个概念:何为储备金?我们今天谈论的中心化交易所的储备金,指的是由交易所目前实际持有的,可被其完全控制并用于偿付用户存款的资金。目前许多人在谈及储备金证明时,还会将交易所对存款用户等其他主体的资产负债纳入其中。在这里先说结论,Merkle Tree仅仅能用于交易所负债证明,交易所实质掌握的资产无法通过Merkle Tree来验证,如果将储备金和资产负债混为一谈,就会造成某些误解,单纯的Merkle Tree是不能用于证明交易所的偿付能力的

1、储备金证明不涉及MerkleTree

储备金证明其实是一种审计技术,指持有加密货币的托管业务应该创建关于其储备的公开凭证。该凭证的目的是向储户们证明交易所持有的存款,也就是交易所实际控制的资产总量。

中心化加密货币交易所如果将自己持有的钱包地址公开,其实际持有的资金其实是非常容易被查明的,这样一来储备金证明与传统行业并无太多区别甚至更易完成,在公链上的资产公开透明,只需要证明地址所有权归属于交易所,就无需利用Merkle Tree技术。其他链下资产的校验,传统的第三方审计机构对与该类机构的储备金拥有完善流程和丰富的经验。

2、包含资产负债的储备金证明才能生成MerkleTree

如前所述,当业界谈“储备金证明”的时候,往往指的是包含了资产负债的,一种广义的储备金证明(PoR,Proof of Reserves),涉及到偿付能力证明的整个过程,包括了交易所自己的储备金,以及对用户的负债两个部分,我们用一个公式来说明:

平台储备金+资产负债证明=偿付能力

MerkleTree技术只能用于证明交易所的用户存款负债,而不能证明交易所实际持有的资金。一直以来负债证明都较为棘手,交易所易于隐瞒负债,大量数据验证成本高、周期长。交易所的用户体量较大,用户资产类型多样,一个用户账户内的资产往往横跨多个链,交易记录较为频繁,导致待验证数据量大、分散,存在着验证成本高、周期长、技术难度大的问题。且用户数据受到交易所控制,因此平台很容易省略一些用户的负债从而降低负债金额。

另外一个问题是交易所可能存在一些未说明的其他类型债务,该类债务无法从现金流中提现,在当前法律监管部分缺位的情况下,很难保证偿还时该类债务于用户债务的优先性,针对于该类情况需要专业的审计师参与协助。

Merkle Tree,一棵加密“树”下的法律乾坤

二、储备金证明的流程与指南

当前在加密货币交易所中主流的储备金证明方式为“审计师协助,Merkle Tree实现用户自验证,按时间点进行”。

单次证明流程为:

1. 验证地址的所有权。用于验证储备的资产,确保钱包的所有权属于交易所(包括冷钱包和热钱包)。

2. 用户余额快照。系统根据快照时用户账户下各钱包中的资产持有量计算出用户当时资产数量。

3. 生成Merkle tree。总体思路上,通过每个用户的哈希UID和余额来生成基础数据块,然后根据每个用户的数据快生成默克尔树。如果子节点中的任何账户ID或余额发生变化,默克尔树根都将发生变化。每个用户都可以验证他们的资产是否包含在子节点中。可由审计机构或是交易所自身生成Merkle Tree。

4. 第三方审计机构和用户验证。

具体而言,如果用户想要自行校验,只需要完成以下两步:

1. 自行统计资产信息,调用Hash函数生成Merkle Leaf,验证自生成的Merkle Leaf结果与报告中的结果是否一致。

2. 下载并验算报告中二叉树叶子节点到根节点路径上相关的hash值,逐层检验计算,最后得到自生成的Merkle Root并与验证报告给出的值相对应。相较于全量数据的下载,用户仅仅需要下载二叉树一条路径上所有的值,指数级降低了数据传输量。

Merkle Tree,一棵加密“树”下的法律乾坤

三、 Merkle Tree的优势:克服全量传输和隐私泄露

Merkle Tree是一种数据结构,也是一种验证数据的可信度的方式。在POR机制中用户可以自行验证自己的资产是否被本次证明涵盖,保证了验证的公开性。POR中负债证明的方式是多样的,最为直接的用户可以直接下载伴随着证明公布的数据块,包含自生资产信息的数据库是否在其中,但是这对数据传输的压力较大,且用户资产信息明文公式后,存在着隐私泄露的风险,因此需要“精简数据”、“转换数据”。

1、MerkleTree的可信度源自于审计和集体监督

Merkle Tree较为精简地“封存”了校验时的数据,用户无需下载全量数据便可检验数据的存在。其可信度来自于两个方面,一方面是对于生成Merkle Tree的主体的信任,包括第三方审计机构或是交易所本身,另一方面,Merkle Tree的可信来自于其包含了所有用户的信息,所有用户都可以验证自身是否Merkle Tree之中,若是有一个用户验证失败,那么Merkle Tree建立起来的信任便会被完全推翻,因此这种集体的监督机制大大降低了在这个阶段欺诈的可能性。

2、MerkleTree有限但必要

了解了技术之后,我们还是要回到这个基本的问题,当一个交易所提供了所谓的储备金证明,真的能完全证明其偿付能力,用户真的可以高枕无忧了吗?答案当然是否定的,交易所在多个环节存在多种欺诈的方式。第一部分中我们明确指出了在储备金证明过程中,多个部分需要由中心化机构的参与,包括交易所资产存量的证明(即平台储备金),非用户负债的证明等。这类需要中心化机构参与的行为仍然存在着欺诈的可能性,交易所可以拆借资金来在储备金证明阶段补足储备金,也可以通过数据优势对审计机构进行欺诈或是选择不可信的第三方审计机构进行审计。

Merkle Tree,一棵加密“树”下的法律乾坤

四、在法律上,我们可以用Merkle Tree做什么?

先给结论:自有资产证明

Merkle Tree给一般用户到底带来了什么?实际上这项技术可能在法律上的意义更大,通过Merkle Tree,可以使得用户以一种低成本、可信度高的方式,自行验证资产(传统公证价格高昂)。利用这种技术,显著降低了平台对存款用户欺诈的可能,交易所面临着“集体验证”的监督,不得不公开包括所有用户负债情况的Merkle Tree。

在很多情况下,我们都需要自己的资产提供可信的证明,例如在传统破产案件中,我们一般需要向破产管理人或法院提交自己的债权凭证,这种凭证可以是存款证明、可以是书面合同,也可以是以其他形式存在的,可以证明自身债权的各种凭证。但是在现实中,由于时间长、未妥善保管等种种原因,权利凭证容易丧失,特别是电子证据还因其具有可篡改性,难以被法院认可其权力凭证的真实性

如今,Merkle Tree为虚拟资产破产提供了债权证明的新思路,用户可以自行验证后向法院提交,以快速、低成本、可信度高的方式主张自身的破产债权,不仅方便了债权人实现债权,也帮助破产管理人和司法机关节约了办案成本。飒姐团队认为,将Merkle Tree技术纳入监管固然可以在很大程度上实现对中心化虚拟资产平台的监管,而尝试将其纳入虚拟资产破产程序也未尝不可,特别在处理虚拟资产交易所破产案件时可能有奇效

Merkle Tree,一棵加密“树”下的法律乾坤

写在最后

飒姐团队需要提示,Merkle Tree不是万能的,其并不能直接揭露交易所实际的储备金数量和偿付能力。这是由于现阶段加密货币交易所提供的POR证明是不完全的,往往只有一个Merkle Tree,只能保证使用Merkle Tree技术的用户负债部分证明的可信性,其他部分的证明理论上存在着和传统交易所证明工作中一样的风险。且因为对于加密货币交易所的监管远不如对于传统交易所的监管来的严苛,因此实际上用户将资产托管于加密货币交易所仍然存在较大的风险。

即便对于加密货币交易所的储备金证明存在种种问题和难点,但是储备金证明仍然是必要的且有效的。暴雷事件的频繁发生使得用户对于交易所的信任度降低,交易所本身也逐渐开始重视资产整理,定期的储备金证明能增加用户信任程度。并且在当前监管并不是特别明确的情况下,作为一种行业的自我监管手段,有利于行业自生的健康发展。