区块链存储优化——从MPT树到KV存储

这篇具有很好参考价值的文章主要介绍了区块链存储优化——从MPT树到KV存储。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MPT树存储的优缺点

区块链如果采用MPT树存储,大概会有以下优点:

  1. 可用全局数据的根哈希做共识,数据篡改会被立即发现;
  2. 可以查询任意历史区块对应时刻的所有数据;
  3. 方便从指定区块开始同步数据,因为正如上面所说每个区块包含当时的所有数据;
  4. 方便区块回滚和重演,这在发生分叉和修正最长链时很有帮助。

大概就是因为这些优点,以太坊用一棵账户树记录所有账户的信息,账户下面挂接一棵存储树记录该账户的合约信息,这便是以太坊MPT存储的全部。

区块链存储优化——从MPT树到KV存储

以太坊MPT存储

那么这种存储结构就没有什么缺点吗?

当然有。其中一个问题是,随着数据量的增大,查询延时越来越大。这对性能压力较高的区块链服务是个不得不面对的问题,你会看到随着数据量的增长,TPS越来越低,合约执行性能的降低尤其明显。通过分析发现,时间主要花在levelDB的读取上。


性能问题的原因分析

下图就是MPT树在内存中的大致结构,真实的环境因为key-value字符串比较长所以树要深很多。应用层读一个key,会触发底层读取一系列的节点构建MPT树最终找到存储在叶子节点中的value。如果key对应的value被修改,对应叶子节点到根节点路径上所有节点都要更新并写到磁盘。说白了,MPT树存在读写放大的问题。文章来源地址https://www.toymoban.com/news/detail-465179.html

到了这里,关于区块链存储优化——从MPT树到KV存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在k8s中,使用DirectPV CSI作为分布式存储的优缺点

    DirectPV 提供了一种直接将物理卷(Physical Volumes)与 Kubernetes 集群中的 Pod 绑定的机制。 利用 DirectPV,你可以将相应的 PV 直接与节点上的物理存储设备(如磁盘)进行绑定,而无需通过网络存储服务(如 NFS 或 Ceph)来提供存储。这种直接访问物理卷的方式,有助于提高性能和

    2024年02月19日
    浏览(40)
  • K8s 持久化存储有几种方式?一文了解本地盘/CSI 外接存储/K8s 原生存储的优缺点

    当今云原生环境中,Kubernetes(K8s)已成为既定的容器编排工具。随着 K8s 的普及,存储也成为 K8s 用户关注的一个重要问题:为了满足不同的场景需求,K8s 可以支持基于不同架构的多种存储方案。这些方案间有什么区别?用户应如何选择? 本文将从架构角度出发,详细介绍本

    2024年02月10日
    浏览(44)
  • springcloud 的优缺点:

    优点: 服务拆分粒度更细,有利于资源重复利用,有利于提高开发效率 可以更精准的制定优化服务方案,提高系统的可维护性 微服务架构采用去中心化思想,服务之间采用Restful等轻量级通讯,比ESB更轻量 适于互联网时代,产品迭代周期更短 缺点: 微服务过多,治理成本高

    2023年04月08日
    浏览(63)
  • SwiftUI的优缺点

    2019年WWDC大会上,苹果在压轴环节向大众宣布了基于Swift语言构建的全新UI框架——SwiftUI,开发者可通过它快速为所有的Apple平台创建美观、动态的应用程序。推荐大量使用struct代替类。 SwiftUI 就是⼀种声明式的构建界面的用户接口工具包。 SwiftUI使用声明式的语法构建UI,我们

    2024年02月13日
    浏览(53)
  • 量化交易的优缺点

       量化交易其实就像 《物种起源》 里的物种一样,随着计算机与 智能 机器人的发展 , 投资量化是时代 发展 的必然产物 。 所谓 能者为先 适 者生存,这是 放诸四海 皆为本 的 生存法则 。在 现代 科技欣欣向荣的发展 环境下 , 量化交易 所 表现出 的 种种 优势 , 使 全

    2023年04月08日
    浏览(100)
  • CentOS 系统的优缺点

    CentOS (社区企业操作系统的缩写)是一个基于红帽企业 Linux (RHEL)的免费开源发行版, 旨在为服务器和工作站提供稳定、可靠和安全的平台。 不应将其与CentOS Stream 混淆,后者是即将发布的 RHEL 版本的上游开发平台。 CentOS Linux 源自 RedHat 发布的源代码,它是红帽停止支持其付

    2024年04月27日
    浏览(54)
  • ChatGPT插件的优缺点

    虽然西弗吉尼亚大学的研究人员看到了最新的官方ChatGPT插件——名为“代码解释器”( Code Interpreter)的教育应用潜力,但他们也发现,对于使用计算方法处理针对癌症和遗传疾病的定向治疗的生物数据的科学家来说,这款插件的使用存在限制。 “代码解释器是一项很有潜力

    2024年02月10日
    浏览(58)
  • 敏捷开发发展和优缺点

    2023年07月07日
    浏览(63)
  • 48、MyBatis的优缺点

    基于 SOL 语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL 写在 XML里,解除 sql 与程序代码的合,便于统一管理,提供 XML 标签,支持编写动态 SQL 语句,并可重用。 与JDBC 相比,减少了 50%以上的代码量,消除了JDBC 大量冗余的代码,不需要手动开

    2024年02月16日
    浏览(52)
  • 决策树的优缺点

    决策树优点 1. 易于理解和解释,因为树木可以画出来被看见 2. 需要很少的数据准备。其他很多算法通常都需要数据规范化,需要创建虚拟变量并删除空值等。但请注意, sklearn中的决策树模块不支持对缺失值的处理。 3. 使用树的成本(比如说,在预测数据的时候)是用于训

    2024年02月06日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包