
三分钟了解区块链常用数据结构「默克尔树」
默克尔树是由哈希值构成的树状数据结构,封装在区块链数据层,用于验证区块链数据的完整准确性。
原文标题:《默克尔树究竟是棵什么树?| 万向区块链小课堂》
本期万向区块链小课堂将为大家讲解区块链中经常提及的一棵树:默克尔树(Merkle Tree)。
来回忆下我们之前小课堂解构的区块链六层模型,默克尔树封装在数据层,说明它是一个密码学技术,用以保护区块链的安全。
默克尔树于 1979 年由美国计算机科学家拉尔夫·默克尔(Ralph Merkle)提出,本质上是一种树状数据结构,由数据块、叶子节点、中间节点和根节点组成。所以,一组合,就叫「Merkle Tree」。
默克尔树各部分的构成关系如下图:
要得到这样一棵默克尔树,首先要对底部数据块进行哈希运算,用每个数据块对应的哈希值生成叶子节点。再对相邻的 2 个叶子节点进行哈希运算,得到的哈希值生成中间节点,最后对相邻的 2 个中间节点进行哈希运算,得到的哈希值生成根节点。由于各类节点都是由哈希值构成,因此默克尔树又被称为哈希树,即储存哈希值的树状数据结构。
看起来是不是很像一棵底下堆满了礼物的圣诞树?
哈希运算和哈希值
生成默克尔树用到的哈希运算是区块链中常用的加密函数。任意大小、长度的数据经过哈希运算后都会得到一个固定大小和长度的数值,即哈希值。就像我们的指纹或签名能帮助鉴别我们的身份,哈希值也可以看成是数据的指纹或签名,用于验证数据的真实准确性,并具有以下特征:
确定性
数据和哈希值之间是确定的一一对应关系,即相同数据经过哈希运算会得到相同的哈希值。
不可逆性
哈希运算的过程是不可逆的,即数据经过哈希运算可以得到哈希值,但不可以通过哈希值推导出原始运算数据,由此保证数据的隐私和安全性。比如 Facebook 等网站会将用户密码计算成哈希值并储存。用户每次输入密码时,密码都会被转换成哈希值与网站记录的版本进行对比,从而验证密码是否正确。由于哈希运算的不可逆性,网站无法从哈希值中推导出用户密码,从而保证用户信息安全。
统一性
即上文提到的任意大小、长度的数据经过哈希运算后会生成大小、长度统一的哈希值,一方面起到压缩数据,减轻数据储存压力的作用,另一方面规整了杂乱无章的原数据,方便后期比对验证。
为什么要用默克尔树?
由于默克尔树本质上是由哈希值构成的树状数据结构,因此也继承了哈希值用于保证数据安全隐私和校验数据准确和完整性的功能,主要应用于点对点下载,例如 BT 下载、开源分布式控制系统 Git、比特币和以太坊区块链等场景中。因为我们难以保证这些去中心化系统中的每个节点都会提供真实可信的数据,也难以避免数据在传输过程中出现丢失、损坏等情况,所以需要引入数据加密和校验机制。
看到这里,你可能已经意识到了默克尔树其实就是将数据分割成多个小块,进行多次哈希运算,搭建出的一个树状数据结构。那为什么要对数据进行拆分,计算出多个哈希值用于校验呢?这不是增加工作量了吗?但其实这样做是为了提高数据验证的灵活性,数据量越大,默克尔树的这一优势会体现得越明显。
试想一下,如果我们不对数据进行拆分,而是将整体计算成一个哈希值,那当数据校验出现问题时,我们很难分辨问题出现在哪里,只能回过头去对整个数据进行排查,如果数据量特别大,那么这个错误排查过程无异于海底捞针。
但在默克尔树里,数据被拆分成多个小块,形成了多个分支,可以根据具体情况对部分数据进行校验,无需校验整个数据,从而提高数据校验的灵活性和效率。
最后总结一下默克尔树的知识要点:
-
由哈希值构成的树状数据结构
-
用于验证验证区块链等去中心化系统中的数据的完整准确性
-
具有灵活高效验证数据的优势
来源:万向区块链
比推快讯
更多 >>- Derive 联创提议将 DRV 代币供应量增加 50%,现有持有者权益预计稀释 33%
- Shibarium 跨链桥遭到闪电贷攻击,损失超 240 万美元
- SharpLink Gaming 以太坊财库未实现利润达 9.76 亿美元
- Pump.fun 联创:直播流数量已超 Rumble,正加速抢占市场份额
- 两年前建仓 ETH 的鲸鱼向 OKX 转入 3000 枚,累计浮盈超 3700 万美元
- PUMP 涨破 0.0072 美元创历史新高,日内涨幅超 13%
- 数据:过去 24h Binance 净流入 2.01 亿 USDT
- 以太坊提币放缓,过去 24 小时 CEX 净流入 7627.44 枚 ETH
- 巴西金融科技公司 Meliuz 推出新策略以增持其比特币储备
- CryptoQuant 分析师:ETH 正处于最强周期之一
- 美联储 9 月降息 50 个基点概率为 6.6%
- USDH 竞标战况:Native Markets 当前获 71.18%质押份额支持,获胜概率升至 98.1%
- Balaner:MKR 迁移至 SKY 拟于 9 月 18 日截止,逾期或将引发损失
- X Layer 过去 24 小时链上交易量达 7745 万美元,环比上涨 116%
- Binance Alpha 新一期 ZEUS 空投单号收益约 48 美元
- USAT 官网声明:非美国法定货币,不受任何政府机构的保险保障
- 美国国会预算办公室下调美国今年经济增长预测
- Tether 新稳定币 USAT 计划于年底前推出
- 央行数研所所长:应该对数字人民币的计量框架进行升级
- 网信办公开征求意见,鼓励金融机构探索使用数字人民币等新型支付方式开展跨境支付
- DDC 与 Wintermute 达成合作,以获取现货及衍生品领域场外流动性
- DefiLlama 创始人:因质疑 Figure 数据遭到施压,其大多贷款流程几乎找不到链上支付交易
- 下周宏观重要事件,周四 2:00 美联储 FOMC 将公布利率决议
- 数据:17 家实体 SOL 财库储备已超当前总供应量的 2%,持仓突破 1170 万枚
- 分析:Gemini 为散户投资者预留 30%IPO 份额或使其避免“首日暴涨但难以维持”市场风险
- Vitalik:以太坊计划明年扩展 10 倍,同时保持去中心化和安全性
- 下周宏观展望:“超级央行周”来临,美联储降息周期重启在即
- 某巨鲸高杠杆做多 BTC、DOGE 等代币,目前浮盈超 900 万美元
- Binance:今日 22 时起将有 Alpha 空投可领取,门槛 200 积分
- Circle 高管:USDC 锚定资产储备约 90%由贝莱德托管
- 美国前财长萨默斯:特朗普会意识到抨击美联储风险极高,稳定币不会让市场对美债净需求大增
- 香港投资推广署于外滩大会探讨数字资产与通证化发展
- 比特币市占率降至 57.35%,接近年内最低水平
- 赵长鹏:银行需要采用 BNB,愿意协助整合
- Kame Aggregator 今晨遭黑客攻击,后者已退还 185 枚 ETH
- SOL 中期目标价为 360 美元
- Galaxy Digital 研究主管:美国很有可能建立战略比特币储备
- 分析:已实现 BTC 矿工流入交易平台价值于 8 月 13 日达到历史峰值,预示潜在抛售压力
- Bitdeer 比特币总持仓量突破 1935 枚,本周挖矿产出 106.2 枚 BTC
- 某钱包斥资 1891 万枚 DAI 购入 3956 枚 ETH
- 萨尔瓦多近 7 日共增持 28 枚 BTC,总持仓达 6,317.18 枚
- 周六福战略投资高盈证券以探索香港数字资产市场
- ether.fi 基金会:本周使用协议收入购入 24.7 万枚 ETHFI,sETHFI 持有者分发量增至约 10.9 万枚
- WORLD 3 参投 Hash Global BNB 分红基金,建立长期战略储备
- Ark Invest 于 9 月 11 日增持约 177 万美元 Bullish 及 453 万美元 Figma 股票
- [从 Coinbase 用户处窃取资金的黑客]过去半小时买入 3,976 枚 ETH
- 币安将调整多个 U 本位永续合约杠杆与保证金层级
- Arthur Hayes:预计牛市可持续至 2026 年,特朗普将在 2026 年中刺激经济
- Arthur Hayes:比特币持有者要保持耐心,无需因黄金和股市创新高而焦虑
- 数据:当前加密恐慌贪婪指数为 53,处于中性状态
比推专栏
更多 >>观点
比推热门文章
- Derive 联创提议将 DRV 代币供应量增加 50%,现有持有者权益预计稀释 33%
- Shibarium 跨链桥遭到闪电贷攻击,损失超 240 万美元
- SharpLink Gaming 以太坊财库未实现利润达 9.76 亿美元
- Pump.fun 联创:直播流数量已超 Rumble,正加速抢占市场份额
- 两年前建仓 ETH 的鲸鱼向 OKX 转入 3000 枚,累计浮盈超 3700 万美元
- PUMP 涨破 0.0072 美元创历史新高,日内涨幅超 13%
- 【比推一周web3新闻精选】纳斯达克向美国 SEC 提交提案拟允许交易代币化证券;美国最高法院审理特朗普关税案,辩论安排在11月初;Tether将在美国推出合规稳定币USAT,任命Bo Hines为首席执行官
- 数据:过去 24h Binance 净流入 2.01 亿 USDT
- 以太坊提币放缓,过去 24 小时 CEX 净流入 7627.44 枚 ETH
- 巴西金融科技公司 Meliuz 推出新策略以增持其比特币储备