比特派钱包官网下载app正版|区块链中的默克尔树:它是什么,它是如何工作的以及好处
比特派钱包官网下载app正版|区块链中的默克尔树:它是什么,它是如何工作的以及好处
哈希树,也称为默克尔树,是一棵树,其中每个叶节点都用数据块的密码哈希标记,每个非叶节点都用其子节点标签的密码哈希标记。大多数哈希树实现是二元的(每个节点有两个子节点),但它们也可以有更多的子节点。
但是区块链中的默克尔树到底是什么,它是如何在区块链中使用的?因此,如果你想知道所有这些问题的答案,那么你来对地方了。
什么是默克尔树?
- Merkle 树,也称为二进制哈希树,是计算机科学中一种流行的数据结构。
- 在比特币和其他加密货币中,它们用于更有效、更安全地加密货币区块链数据。
- 它是一种数学数据结构,由各种数据块的哈希组成,汇总了一个块中的所有交易。
- 它还可以跨大数据集实现快速、安全的内容验证,并验证数据的一致性和内容。
什么是节点提供商?
2Ethers.js 和 Web3.js 的区别
什么是默克尔根?
- Merkle 根是一种简单的数学方法,用于确认 Merkle 树上的事实。
- 它们用于加密货币,以确保通过点对点网络发送的数据块是完整的、未损坏的和未更改的。
- 它们在保持比特币和以太币等加密货币运行所需的计算中发挥着非常关键的作用。
加密货币哈希函数
- 散列函数将任意长度的任意类型的任意数据映射到固定大小的输出。它通常用于密码学,因为它是一种密码功能。
- 它们是高效的,并且以一个特性而闻名:它们是不可逆的。这是一种单向功能,仅适用于一个方向。
- 一些可用的 Hash 系列是 Message Direct (MD)、Secure Hash Function (SHF) 和 RIPE Message Direct (RIPEMD)。
现在,举个例子,如果你使用SHA256 哈希算法并传递 101Blockchains 作为输入,你将得到以下输出
fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9
总之,这些是哈希函数的以下关键属性:
- 确定性
- 预图像抗性
- 计算效率高
- 无法逆向工程
- 防撞
默克尔树的工作
Merkle 树将一个区块中的所有交易汇总并生成整个操作集的数字指纹,允许用户验证它是否包含该区块中的交易。
- 默克尔树是通过重复散列节点对直到只剩下一个散列而形成的;这个散列称为 Merkle Root 或 Root Hash。
- 它们是从底层构建的,使用的是交易 ID,交易 ID 是单个交易的哈希值。
- 每个非叶节点是其先前哈希的哈希,每个叶节点都是事务数据的哈希。
现在,看一个区块链中默克尔树的小例子,以帮助你理解这个概念。
考虑以下场景:A、B、C 和 D 是四个事务,都在同一个块上执行。然后对每笔交易进行哈希处理,为你留下:
- 哈希 A
- 哈希 B
- 哈希 C
- 哈希 D
哈希配对在一起,导致:
- 哈希 AB
和
- 哈希光盘
因此,你的 Merkle Root 是通过组合这两个哈希值形成的:哈希 ABCD。
实际上,Merkle 树要复杂得多(尤其是当每个事务 ID 为 64 个字符时)。尽管如此,此示例仍可帮助你很好地了解算法的工作原理以及它们为何如此有效。
区块链中默克尔树的好处
Merkle 树提供了四个显着优势 –
- 验证数据的完整性:可用于有效地验证数据的完整性。
- 占用磁盘空间小:与其他数据结构相比,Merkle 树占用的磁盘空间非常小。
- 跨网络的微小信息:Merkle 树可以分解成小块数据进行验证。
- 高效验证:数据格式高效,验证数据完整性只需片刻。
为什么它对区块链至关重要?
想一想没有 Merkle 树的区块链,以了解它们对区块链技术的重要性。让我们拥有一个比特币,因为它使用默克尔树对于加密货币来说是必不可少的并且更容易掌握。
- 如果比特币本身不包括默克尔树,那么网络上的每个节点都必须保留曾经进行过的每笔比特币交易的完整副本。可以想象会有多少信息。
- 比特币上的任何身份验证请求都需要通过网络传输大量数据:因此,你需要自己验证数据。
- 为了确认没有修改,用于验证的计算机需要大量计算能力来比较分类帐。
Merkle Trees 是解决这个问题的方法。他们在会计中对记录进行哈希处理,从而将数据证明与数据本身分开。
- 证明通过网络提供少量信息是交易有效所需要的一切。
- 此外,它使你能够证明两种分类帐的变化在标称计算机功率和网络带宽方面是相同的。
区块链中 Merkle 树的用例
还有更多的 Merkle 树实现。
- Git是一种分布式版本控制系统,是使用最广泛的系统之一。它用于处理来自世界各地的程序员的项目。
- 星际文件系统是一种对等分布式协议,是另一种合适的实现方式。它也是开源的,允许计算机加入和使用中心化文件系统。
- 它是生成可验证证书透明度日志的技术的一部分。
- Amazon DynamoDB 和 Apache Cassandra 在数据复制过程中使用它。这些No-SQL分布式数据库使用 Merkle 树来控制差异。
Merkle Tree 是区块链技术的重要基础,使其能够在 IT 世界中成长。