【区块链学习】Merkle Patricia Tree (MPT) 以太坊中的默克尔树

2023-11-17

本篇博文是自己学习mpt的过程,边学边记录,很多原理性内容非自己原创,好的博文将会以链接形式进行共享。

一、什么是mpt

MPT是以太坊中的merkle改进树,基于基数树,即前缀树改进而来,大大提高了查找效率。

二、前缀树

MPT中的P,就是前缀树,也叫trie或字典树。trie每个节点是一个确定长度的数组,每个节点的值指向子节点的指针,最后还有一组标志位,用来标志到此是否是一个完整的字符串,并且有几个这样的字符串。
如下图是一个常见的用来存英文单词的trie:(图转自http://blog.csdn.net/zslomo/article/details/53434883)
传统trie树也存在一些不足:
1.当某一字符串很长或者与其他字符串没有相同前缀,构造的树会极其不平衡;
2.传统trie是由内存指针链接,且字符串的值没有编码,明文直接显示,安全系数低。

三、以太坊的改进

针对传统trie的不足,以太坊进行了一些改进,http://www.cnblogs.com/fengzhiwu/p/5584809.html 这篇博文对于原理的讲解详细易懂,GitHub的文章https://github.com/ethereum/wiki/wiki/Patricia-Tree也很好,该篇文章的翻译http://me.tryblockchain.org/Ethereum-MerklePatriciaTree.html


下文进行简单的阐述:

1.以太坊增加了两个节点,叶子结点和扩展节点,所以MPT中共存在四类节点:空节点、叶子节点、扩展节点和分支节点。

标准的叶子结点,形式为[key,value]的列表,其中key是

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【区块链学习】Merkle Patricia Tree (MPT) 以太坊中的默克尔树 的相关文章

  • Pentaho Report Designer 入门教程(三)

    Pentaho Report Designer 入门教程 三 采用Pentaho Report Designer5 1版本 也是最新的版本 一 安装和介绍 介绍部分内容略 首先安装jdk 并配置java相关环境变量 下载pentaho re
  • 服务器简要维护,服务器维护简要流程

    1 服务器环境梳理 对于专业级别的服务器维护管理工作 环境梳理是第一步 清晰完整的统计出每台服务器的具体型号配置以及安装的各类软件 系统信息 准确全面的记录下服务器的使用数据 同时给每台设备打上资产标签 让您对所有服务器信息一目了然 后续服
  • U盘打不开或者不显示

    U盘打不开修复方法和工具 我们最为常见的情况如下 插上U盘或移动硬盘后 磁盘是显示的 但就是不能显示磁盘的所用和总空间 如下图 双击打开该磁盘后 提示是否将其格式化 如果格式化后就肯定能打开了 但是你的数据就不见了 有时双击打开U盘或移动硬
  • GFS chunk块大小为什么选择64M

    GFS chunk块大小为什么选择64M 优点 减少master存储的元数据信息 因为元数据要放到内存以提供快速访问 如果太小元数据就会太多 减少客户端与master的交互次数 客户端可以与master保持较长的连接 不足 chunk si
  • maven项目引入本地jar包,打war包无法包含本地jar的解决方法

    参照的以下文章 直接在 maven war plugin 插件中进行设置 指定webResources https blog csdn net whhmkj article details 89671713

随机推荐

  • python反转单链表

    原始单链表 反转后单链表 思路 对于每个节点来说 把她的下一个节点 改为他的上一个节点 然后把下一个节点继续变换 建两个临时变量 上一个节点pred 下一个节点next 初始化为None 第1步 开始计算节点1 当前节点为1 1 next为
  • Interceptor拦截器的使用

    1 创建配置类 Configuration public class WebConfig implements WebMvcConfigurer Autowired private AuthInterceptor authIntercept
  • 51单片机按键控制数码管0~9_单片机电子时钟的设计

    单片机电子时钟的设计 摘 要 单片机自20世纪70年代问世以来 以其极高的性能价格比 受到人们的重视和关注 应用很广 发展很快 单片机体积小 重量轻 抗干扰能力强 环境要求不高 价格低廉 可靠性高 灵活性好 开发较为容易 由于具有上述优点
  • Qt实现引导界面UITour

    介绍 最近做了一款键鼠自动化 想第一次安装打开后搞一个引导界面 找了好多资料没啥参考 偶然发现qt有引导界面如下图 Qt整挺好 但是未找到源码 真的不想手撸 源码找到了但是Qt整起来太复杂 没法拿来直接用 还是得撸 地地址 下图是仿照qt实
  • sql行转列三个方法

    1 行转列sum if case when 由多行变一行 group by聚合 由一列变多列 衍生提前 select uid sum if course 语文 score NULL as 语文 sum if course 数学 score
  • [网络安全自学篇] 八十八.基于机器学习的恶意代码检测技术详解

    这是作者网络安全自学教程系列 主要是关于安全工具和实践操作的在线笔记 特分享出来与博友们学习 希望您喜欢 一起进步 前文分享了传统的恶意代码检测技术 包括恶意代码检测的对象和策略 特征值检测技术 校验和检测技术 启发式扫描技术 虚拟机检测技
  • 服务器网站iis如何关闭,IIS7如何关闭WebDAV扩展服务

    在上一篇文章中 介绍了开启WebDAV扩展服务的危害性 必须关闭 不过那篇文章是针对IIS6 0的配置 对于IIS7来说 道理也是一样的 一般网站无需用到WebDAV扩展服务 强烈建议关闭 那么IIS7如何关闭WebDAV扩展服务呢 其实方
  • element-plus Vue 3.0 Beta来了

    GitHub地址 ElementUi Beta版本文档 又要秃头一波了
  • 学渣的刷题之旅 leetcode刷题 14.最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 输入 flower flow flight 输出 fl 示例 2 输入 dog racecar car 输出 解释 输入不存在公共前缀 说明 所有输入只包含小写
  • 设计模式(八)----创建型模式之建造者模式与工厂模式区别

    1 工厂方法模式VS建造者模式 工厂方法模式注重的是整体对象的创建方式 而建造者模式注重的是部件构建的过程 意在通过一步一步地精确构造创建出一个复杂的对象 我们举个简单例子来说明两者的差异 如要制造一个超人 如果使用工厂方法模式 直接产生出
  • The package needs to be reinstalled,but I can't find an archive for it

    转自 http cache baiducontent com c m 9d78d513d99456ae28fa950d1a16a620430397634d9583442687c61f84642a1d1031b5fa302261428ed27
  • 云网络丢包故障定位

    引言 本期分享一个比较常见的 络问题 丢包 例如我们去 Ping 个 站 如果能 Ping 通 且 站返回信息全 则说明与 站服务器的通信是畅通的 如果 Ping 不通 或者 站返回的信息不全等 则很可能是数据被丢包了 类似情况想必 家都不
  • 2019年数学建模国赛A题

    前几天中秋节比完了 选的A题 我们学校好多组都选了A题 C题的很少 大家都怕找不到数据 我们组刚开始觉得A B都能做 就是C题可能没有数据无法下手 加上之前做小区道路的时候 用了仿真软件解题 我觉得很不靠谱 我主要是写论文的 然后一起建了数
  • WSUS服务器的详细配置和部署-转载

    WSUS服务器的详细配置和部署 一 WSUS 安装要求1 硬件要求 对于多达 500 个客户端的服务器 建议使用以下硬件 1 GHz 的处理器 1 GB 的 RAM2 软件要求 要使用默认选项安装 WSUS 必须在计算机上安装以下软件 Mi
  • 西瓜+南瓜-task1 模型评估与选择

    题外话 南瓜书是西瓜书公式的进一步深入 机器学习研究什么 对历史经验的归纳总结 预测 比如 早霞不出门晚霞行千里 通过历史累计 经验 预测第二天是晴天还是雨天 此处的 经验 类似于历史数据 通过学习数据 或者训练数据 提前预判 这就是机器学
  • 详细版mongodb下载安装教程----windows版

    一 详细下载过程 1 官网选择需要的版本 Download MongoDB Community Server MongoDB 2 然后得到这个 双击它 3 打开第一个就是这个界面 点next即可 4 第二个界面 点同意 点next 5 点c
  • 世界杯十大巨星

    随着南非世界杯开幕日期一天天临近 近日 英媒 泰晤士报 评选出了世界杯历史上10名最伟大的球星 马拉多纳力压贝利排名榜首 现役球员中 仅罗纳尔多入选并排名第八 一 马拉多纳 在这个地球上 几乎没有球员 可以让其职业生涯 甚至人生 在短短3分
  • 数字万用表的使用

    参考 连3岁小孩子都能看懂的万用表使用方法 地址 https www bilibili com video BV1Gx411z7x2 p 1 vd source cc0e43b449de7e8663ca1f89dd5fea7d 目录 万用表
  • IDEA中使用UT测试过程中的一些小问题

    当查看代码覆盖率结果 快捷键Ctrl Alt F6 当运行测试查看代码覆盖率的时候 出现如下图所示的界面 No coverage results Click Edit to fix configuration settings 解决办法就是
  • 【区块链学习】Merkle Patricia Tree (MPT) 以太坊中的默克尔树

    本篇博文是自己学习mpt的过程 边学边记录 很多原理性内容非自己原创 好的博文将会以链接形式进行共享 一 什么是mpt MPT是以太坊中的merkle改进树 基于基数树 即前缀树改进而来 大大提高了查找效率 二 前缀树 MPT中的P 就是前