加密货币交易的区块数量庞大,而且它们的数量还在不断增加。这意味着维护区块链完整历史记录的存储需求不断增加,给计算机(又称节点)带来了沉重的负担。下载和保存完整的交易历史记录对于确保网络安全、透明度和去中心化至关重要,但随着加密货币规模的扩大,这一过程对效率的挑战越来越大。

为了让节点能够管理这些不断增长的数据需求,区块链开发人员创建了可以汇总交易数据的系统,而不会引入中心化或牺牲安全性。Merkle 树是使用最广泛的加密技术之一,旨在优化区块链数据存储以实现最高效率。
在本指南中,我们将分解 Merkle 树,了解它们如何为比特币和以太坊(ETH)等区块链提供支持,以及它们如何帮助Web3分支发展。
加密货币中的 Merkle 树是什么?
Merkle 树,也称为哈希树,是一种用于组织、汇总和加密加密货币区块链上的交易数据的数据结构技术。计算机科学家 Ralph Merkle 于 1979 年提出并获得专利的这一想法,此后它已成为使用加密技术在网络上处理和安排信息的流行方法。
顾名思义,Merkle 树具有分层树状结构,其基础是 Merkle 根,然后是 Merkle 分支和 Merkle 叶。在此模型中,叶包含单个交易的唯一 ID,分支包含组合叶交易的数据,而根包含每个区块中所有交易信息的摘要。
所有这些数据都是相互关联的,Merkle 根代表单个空间中的数据。这使得 Merkle 树可以减轻节点的内存存储负担,因为只要它们有根,它们就不需要记录每笔交易。Merkle 根的清晰组织结构也使节点运营商和加密货币交易者更容易搜索交易数据并精确定位单个交易。
Merkle 树在区块链中如何发挥作用?
在深入了解 Merkle 树的工作原理之前,让我们先回顾一下加密哈希函数的基础知识。
哈希函数是一种不可逆、唯一且固定的字母数字字符串,用于表示相关的数字数据(又称输入值)。对于加密货币而言,输入是区块链上的交易,这意味着每次有人发送加密货币时,它都会经过哈希函数并收到一个不同的哈希值。
Merkle 树利用加密哈希函数的确定性和可靠性来汇总每笔交易,方法是不断组合传输信息并创建新的哈希,直到它们到达 Merkle 根。在这个自下而上的系统中,区块链首先为每个单独的交易创建哈希(即 Merkle 叶)。然后,这些树将叶值组合起来以创建 Merkle 分支的哈希,并继续此 Merkle 哈希过程,直到它们为区块中的每笔交易达到一个哈希值(即 Merkle 根)。
区块链中的 Merkle 树有什么好处?
加密货币主要使用 Merkle 树来利用数据压缩,使节点运营商更容易验证交易。但除了提高区块链的效率之外,Merkle 树还为去中心化协议引入了一些安全功能。以下是其中一些:
为大型数据集创建紧凑文件:由于每个 Merkle 根哈希都是一个区块中多个交易的完整表示,因此存储和共享最新的网络活动记录所需的内存空间要少得多。较低的数据负担使更多区块链节点更容易参与验证,从而增强了加密网络的去中心化、可扩展性和效率。
提供篡改检测: Merkle 树中的每个哈希值都与早期的交易值相关,因此无法在不改变整个网络的情况下更改与叶子、分支或根相关的信息。Merkle 树中哈希值的复杂相互关系使节点能够轻松发现数据篡改的迹象并保持其网络无错误。
通过抗碰撞增强安全性:除了防篡改功能外,Merkle 树中的加密哈希函数还具有抗碰撞功能,这意味着任何两个输入值都不可能产生相同的哈希值。此功能进一步增强了区块链的完整性,确保 Merkle 树中包含的所有数据都具有唯一且可通过加密验证的标识符。
什么是 Merkle 树储备证明?
Merkle 树通常与处理比特币等区块链上的交易有关,但它们也已成为验证加密货币交易所和去中心化应用程序(dApps) 上的资金的流行工具。
在加密货币中,储备证明 (PoR) 是指加密货币业务或 Web3 协议的资产和负债的透明报告。交易所通常会使用每个客户的帐户数据作为叶子来创建 Merkle 树,以构建其负债的 Merkle 树根。由于 Merkle 树上的哈希函数具有防篡改功能,第三方审计人员可以轻松证明 PoR 索赔的合法性并验证其报告的现有资产是否符合流动负债。
这种方法还为加密货币交易者提供了在总体根函数中识别其交易数据(或叶子)的路径。交易所还使用其他技术来证明 PoR(例如定期截屏),但由于 Merkle 树的透明度和缺乏第三方中介,它已成为一种更标准的方法。
Merkle 树 与 Verkle 树:有什么区别?
Verkle 树由计算机科学家 John Kuszmaul 于 2018 年首次提出,是 Merkle 树的最新版本,旨在进一步提高可扩展性。为了减少 Merkle 树使用的带宽,Verkle 树的开发人员建议使用一种称为向量承诺的技术,从叶子而不是加密哈希函数生成加密安全的分支。该模型的预期好处是它需要更少的节点数据来证明交易的有效性,因为它们只需要扫描相对较小的证明,而不是使用 Merkle 树模型中的相关哈希值。
Verkle 树旨在为区块链提供更大的可扩展性,以太坊等项目正在将其纳入重大更新中,但它们是加密货币领域更具实验性的技术之一。开发人员可能需要数年时间才能完全掌握 Verkle 树部署的复杂性,并测试该模型与传统 Merkle 树相比的优缺点。