
三分钟了解区块链常用数据结构「默克尔树」
默克尔树是由哈希值构成的树状数据结构,封装在区块链数据层,用于验证区块链数据的完整准确性。
原文标题:《默克尔树究竟是棵什么树?| 万向区块链小课堂》
本期万向区块链小课堂将为大家讲解区块链中经常提及的一棵树:默克尔树(Merkle Tree)。
来回忆下我们之前小课堂解构的区块链六层模型,默克尔树封装在数据层,说明它是一个密码学技术,用以保护区块链的安全。
默克尔树于 1979 年由美国计算机科学家拉尔夫·默克尔(Ralph Merkle)提出,本质上是一种树状数据结构,由数据块、叶子节点、中间节点和根节点组成。所以,一组合,就叫「Merkle Tree」。
默克尔树各部分的构成关系如下图:
要得到这样一棵默克尔树,首先要对底部数据块进行哈希运算,用每个数据块对应的哈希值生成叶子节点。再对相邻的 2 个叶子节点进行哈希运算,得到的哈希值生成中间节点,最后对相邻的 2 个中间节点进行哈希运算,得到的哈希值生成根节点。由于各类节点都是由哈希值构成,因此默克尔树又被称为哈希树,即储存哈希值的树状数据结构。
看起来是不是很像一棵底下堆满了礼物的圣诞树?
哈希运算和哈希值
生成默克尔树用到的哈希运算是区块链中常用的加密函数。任意大小、长度的数据经过哈希运算后都会得到一个固定大小和长度的数值,即哈希值。就像我们的指纹或签名能帮助鉴别我们的身份,哈希值也可以看成是数据的指纹或签名,用于验证数据的真实准确性,并具有以下特征:
确定性
数据和哈希值之间是确定的一一对应关系,即相同数据经过哈希运算会得到相同的哈希值。
不可逆性
哈希运算的过程是不可逆的,即数据经过哈希运算可以得到哈希值,但不可以通过哈希值推导出原始运算数据,由此保证数据的隐私和安全性。比如 Facebook 等网站会将用户密码计算成哈希值并储存。用户每次输入密码时,密码都会被转换成哈希值与网站记录的版本进行对比,从而验证密码是否正确。由于哈希运算的不可逆性,网站无法从哈希值中推导出用户密码,从而保证用户信息安全。
统一性
即上文提到的任意大小、长度的数据经过哈希运算后会生成大小、长度统一的哈希值,一方面起到压缩数据,减轻数据储存压力的作用,另一方面规整了杂乱无章的原数据,方便后期比对验证。
为什么要用默克尔树?
由于默克尔树本质上是由哈希值构成的树状数据结构,因此也继承了哈希值用于保证数据安全隐私和校验数据准确和完整性的功能,主要应用于点对点下载,例如 BT 下载、开源分布式控制系统 Git、比特币和以太坊区块链等场景中。因为我们难以保证这些去中心化系统中的每个节点都会提供真实可信的数据,也难以避免数据在传输过程中出现丢失、损坏等情况,所以需要引入数据加密和校验机制。
看到这里,你可能已经意识到了默克尔树其实就是将数据分割成多个小块,进行多次哈希运算,搭建出的一个树状数据结构。那为什么要对数据进行拆分,计算出多个哈希值用于校验呢?这不是增加工作量了吗?但其实这样做是为了提高数据验证的灵活性,数据量越大,默克尔树的这一优势会体现得越明显。
试想一下,如果我们不对数据进行拆分,而是将整体计算成一个哈希值,那当数据校验出现问题时,我们很难分辨问题出现在哪里,只能回过头去对整个数据进行排查,如果数据量特别大,那么这个错误排查过程无异于海底捞针。
但在默克尔树里,数据被拆分成多个小块,形成了多个分支,可以根据具体情况对部分数据进行校验,无需校验整个数据,从而提高数据校验的灵活性和效率。
最后总结一下默克尔树的知识要点:
-
由哈希值构成的树状数据结构
-
用于验证验证区块链等去中心化系统中的数据的完整准确性
-
具有灵活高效验证数据的优势
来源:万向区块链
比推快讯
更多 >>- Hash Epoch 平台代币 HEST 将于 7 月 9 日全网上线交易
- Matrixport 近 1 小时从 Binance 提取 1500 万 USDT
- 印度捣毁“最多产的暗网毒品集团”,嫌疑人使用门罗币洗钱
- 观点:因加密禁令没收中国用户 FTX 索赔资金缺乏法律依据,FTX 债权以美元计价并结算
- ZachXBT:不承接 Sui 生态相关案件,在该生态系统未得到支持
- 沉寂两年的鲸鱼向 Kraken 转入 230 枚 ETH,价值约 57.9 万美元
- 某巨鲸清仓 21.6 万枚 HYPE,亏损 29 万美元
- Miller Value Partners 首席投资官 Bill Miller IV 质疑比特币征税合理性
- Binance Alpha 昨日交易量报 4.586 亿美元,BR、KOGE、CARV 分列前三
- 马斯克暗示美国党将参与明年中期选举
- RootData:BB 将于一周后解锁价值约 385 万美元的代币
- 某鲸鱼半小时前从 Binance 提取 3000 枚 ETH,其 6 月 10 日以来累计建仓 7001 枚 ETH
- 3 月以来四次做空 BTC 鲸鱼加仓空单,现浮盈已达 1360 万美元
- 区块链珠宝品牌 Bitring 全球扩张,门店选址 LVMH 旗下商场
- 某聪明钱今晨多转空 ETH,现持有价值 386 万美元 25 倍空单
- 马斯克回应“参选时间”为明年
- SOON、BMT、CHESS 等代币于今晨 1 时同时跳水,现跌幅最大超 37%
- 某鲸鱼近半小时向 Hyperliquid 存入 1000 万 USDC 以买入 HYPE 现货并做多 HYPE
- 世界银行将 2025 年全球 GDP 增速预期下调至 2.3%,为 5 年来最低水平
- James Wynn 曾收费拟为 OnlyFans 女主播 meme 币做推广
- 马斯克回应为何对特朗普由爱转恨:赤字会使美国破产
- 过去 7 天 NFT 交易额环比上涨 10.44%达 1.365 亿美元,其中 Polygon 网络交易额涨超 50%
- 1inch 投资基金 5 小时前购买 965.2 万枚 1INCH,价格 0.18 美元
- 最近 24 小时 LetsBonk.fun 发射代币首次多于 Pump.fun
- 疑似同一实体地址购入 350 万枚 FARTCOIN,价值约 426 万美元
- 马斯克在社交媒体上宣布成立“美国党”
- 分析:美国经济表现强劲,纳斯达克指数领跑全球市场
- 新加坡以 2150 万美元罚款收官 22 亿美元洗钱案,涉加密、现金与房产
- 美国特勤局在过去十年追回价值 4 亿美元的数字资产
- 数据:过去 24 小时全网爆仓 7017.21 万美元,多单爆仓 4639.57 万美元,空单爆仓 2377.64 万美元
- 以太坊 L2 TVL 回升至 330.8 亿美元,7 日涨幅 2.16%
- Coinbase 研究主管:所谓“史上 ETH 最大空头头寸”系严重夸大
- 说唱歌手 Drake 新歌中提及比特币
- 灰度:相信以太坊能够从美国加密货币友好政策转变中受益
- 下周宏观展望:特朗普关税“终审”倒计时
- 以太坊社区基金:致力于推动 ETH 达到 1 万美元,即将发布后续工作详情
- Sonic 空投第一阶段申领将于 7 月 15 日至 22 日期间随机开放
- 欧央行管委:欧元还未准备好挑战美元的全球储备货币地位
- 加密交易平台 NBX 完成 540 万挪威克朗融资,将用于增持比特币
- 1confirmation 创始人:全力支持 ETH,企业建立 ETH 财库或是好事
- 调查:78%的人表示特朗普的关税将使债务管理变得更加困难
- 柬埔寨与美国达成贸易协议,近期将发布对等关税的联合声明
- Vitalik Buterin:很多机构重视以太坊,以太坊将造福后代
- 众安在线完成 39 亿港元配售,旗下业务或将受益香港稳定币新政
- 疑似 Arthapala 的三个关联地址再次向币安充值 6789 枚 ETH
- 香港财库局长:稳定币储备资产只可放于优质、流动性高的资产
- 分析师:对新入场的公司而言,比特币财库策略的红利期或以结束
- 马斯克是否创建美国党投票已经有超 116 万人参与,65%赞成
- 过去 24 小时 CEX 净流入 5965.36 枚 BTC
- 香港财库局:正筹备发行第三批代币债券并推动贵金属等资产及金融工具代币化
比推专栏
更多 >>观点
比推热门文章
- 印度捣毁“最多产的暗网毒品集团”,嫌疑人使用门罗币洗钱
- 观点:因加密禁令没收中国用户 FTX 索赔资金缺乏法律依据,FTX 债权以美元计价并结算
- ZachXBT:不承接 Sui 生态相关案件,在该生态系统未得到支持
- 沉寂两年的鲸鱼向 Kraken 转入 230 枚 ETH,价值约 57.9 万美元
- 某巨鲸清仓 21.6 万枚 HYPE,亏损 29 万美元
- Miller Value Partners 首席投资官 Bill Miller IV 质疑比特币征税合理性
- Binance Alpha 昨日交易量报 4.586 亿美元,BR、KOGE、CARV 分列前三
- 马斯克暗示美国党将参与明年中期选举
- RootData:BB 将于一周后解锁价值约 385 万美元的代币
- 某鲸鱼半小时前从 Binance 提取 3000 枚 ETH,其 6 月 10 日以来累计建仓 7001 枚 ETH