以太坊最基础的数据结构 - Merkle 树

🌲什么是默克尔树

  1. 一种二叉树的变种,称为哈希二叉树。
  2. 所有节点存储hash值,父节点是对所有子节点的hash。

image.png

❀ 默克尔树的特性

  1. 高效:可以实现不遍历整棵树,验证数据是否在树中。
  2. 不可篡改:只要有一个节点被篡改,root节点hash就会发生改变。
  3. 节省存储:不保存真实数据,仅保存数据的hash值。

🔨默克尔树的应用

  1. 空投白名单:将所有的空投地址构建一颗hash树,链上仅保存root根哈希。验证时,通过路径构建出root hash,和链上的root hash进行验证即可。
  2. 资产证明:构建资产的merkle tree,保存资产的root hash即可完成验证。
  3. 文件校验:构建文件的merkle tree,保存文件的root hash即可完成验证。

🍡默克尔验证

image.png 空投白名单是使用默克尔验证的方式进行校验白名单的: 具体流程如下: 1. 从地址=张三,构建hash--> H4 2. 获得H4的兄弟节点hash H5, 构建父节点H2 3. 获取H2的兄弟节点H3,构建root hash H1 4. 和链上(合约中)保存好的root hash进行比较,如果H1 = root hash,则地址张三有效。如果不等,则说明树被篡改或者张三不在此树中。

全部评论(0)
推荐文章
Pectra 升级的核心:EIP-7702的原理分析和实操
来 The Web3, 学习史上最全面的区块链教程,挑战高薪
TON钱包签名、私钥导入与发送交易
Rust 实战:构建高效的异步 P2P 网络节点
深入理解solana-keygen
solana账户总结
以太坊POS工作原理详解:Epoch、Slot 与信标区块
以太坊发币 - 超简单发行 ERC-20 代币并上线到 holesky 上
NFT发行 - 超简单发行 NFT 到 holesky 上(包含 ERC165、ERC721Receiver 的含义)
更安全的签名 - EIP712 结构化签名
The Web3 社区--区块链运维课程大纲
wrapped SOL 与 naive SOL 互相转换
以太坊代理模式的天花板 - 信标代理
带你手搓一个预言机 - 极简版的 ChainLink VRF 随机数生成
DeFi 项目的基石 - ERC4626 代币金库协议的实现
The Web3 区块链钱包教程大纲
Uniswap价格批量查询与ws订阅行情
智能合约的身份保证 - 数字签名
SOL合约部署调用与销毁
ERC20授权的更优方案 - ERC20Permit 签名授权
事件监听 - 合约事件监听的方案汇总
Solana USDC 转账交易的细节
The Web3 社区 Move 共学招募
abigen 工具和 sol! 宏生成智能合约 ABI 数据结构
代币集大成者 - 手搓一个ERC1155合约并上线 holesky
监听合约事件 -- 手把手带你在线、离线部署 The Graph
MPC托管系统工作原理
The Web3 社区第三期区块链技术培训课程火热招生中--四个月高强度挑战,成为区块链技术高手
如何成为一名专业的 Web3 产品经理 ——Web3 产品经理课程招募!
Solana ts/rs 代码 nonce-account 签名