默克尔认证树:从数字签名改进到区块链应用,大幅节省存储空间!
从一颗种子到千片树叶——默克尔认证树2026年8月3日一个小型默克尔树Merkle Tree的实现可在指定仓库找到。那王国御玺是皇家批准标志普通人的签名就像“平价印章”其独特性源于书写时的笔压、速度等组合。但时代发展普通签名易复制粘贴要是有人伪造签名让你损失股票和投资那可就糟了。数字签名的起源不过早在1979年拉尔夫·查尔斯·默克尔提出数字签名概念并在论文中阐述。其实数字签名概念并非他首创他改进了兰波特 - 迪菲一次性签名而兰波特 - 迪菲一次性签名又是对拉宾签名的改进。兰波特 - 迪菲一次性签名是什么默克尔用爱丽丝和鲍勃的例子解释。爱丽丝持有股票想出售她购买股票时用单向函数计算并发送给鲍勃还签了含F和y但不含x的合同约定出售时透露x值因F不可逆所以可认为消息经过认证。爱丽丝想发送更长消息怎么办很多人不是一次性出售全部股票比如爱丽丝想出售11股。她要选j个私钥x并计算公钥值与鲍勃共享j表示可签名消息的比特长度。她把消息转换为二进制因j值限制只能对100位签名可通过单向函数映射和零填充处理。对消息签名时她把值为1的位对应的x_j发送给鲍勃。消息安全了吗实际上并非完全安全鲍勃可篡改消息将1改为0。为避免兰波特和迪菲建议在消息末尾附加m’m的补码这样鲍勃若篡改就需透露未获得的私钥。但这种一次性签名需大量存储空间所以拉尔夫·默克尔决定改进。默克尔如何改进兰波特 - 迪菲一次性签名默克尔的第一个解决方案是减少受保护消息的实际长度。兰波特用m的补码防止篡改使消息长度翻倍默克尔在消息m末尾添加0的数量只需⌈log₂j⌉个额外比特比兰波特方法所需比特数少。0的数量以二进制存储100位消息最多100个0需7位存储。可以存储1的数量而不是0的数量吗不行因为这样无法防止签名被篡改。鲍勃只能将1改为0不能将0改为1若存储1的数量鲍勃可轻松伪造消息。必须存储那些占用大量空间的公钥吗如果使用兰波特 - 迪菲一次性签名就得存储不然鲍勃无法确认是爱丽丝发送的密钥。但存储公钥会占大量空间所以默克尔提出“树认证”解决方案。树认证是如何工作的整个结构像二叉树叶子节点是Y_i值公钥内部节点和根节点用单向函数H归纳计算。从叶子节点开始计算再向上计算到根节点。爱丽丝想发8条签名消息先计算8个向量Y再算叶子节点、内部节点最后得到根值R这是鲍勃和爱丽丝需达成一致且鲍勃需存储的唯一公钥。爱丽丝究竟是如何签署消息的通过爱丽丝和鲍勃的对话来看8条可用消息中的第一条消息m₁的签名过程。爱丽丝依次提供相关值鲍勃进行验证若答案肯定则继续下一步若最后验证通过消息确实来自爱丽丝可按兰波特 - 迪菲方法透露私钥。爱丽丝用完8个可用签名后要更改根值R并重新计算二叉树。树认证真的解决了存储空间过大的问题吗当然。兰波特 - 迪菲一次性签名中压缩和签名的两个哈希函数产生100位输出若鲍勃收到1000条消息存储公钥需2.5MB若有1000个客户需约2.5GB。而使用默克尔的改进方法鲍勃只需存储100位的根值R差距很大。但爱丽丝仍然需要存储所有这些认证路径不是吗并非如此。认证路径删除重复项后存储内容减少且它实际上就是默克尔树只是内部节点顺序颠倒。爱丽丝在下次更改根值前可删除不再用于认证的节点如签署消息m₁、m₂和m₃后可删除四个内部节点。但爱丽丝可能仍然需要存储所有未使用的私钥X_i和公钥Y_i对吧不对。爱丽丝只需存储200位的种子密钥就能恢复所有私钥向量。私钥有两个索引通过密码C生成。没有种子密钥无法生成私钥只有爱丽丝能为消息生成有效私钥。既然能从种子密钥恢复私钥也能计算出Y_i且从种子密钥计算密钥所需时间和能量不多所以值得。这是否意味着默克尔认证树至今仍在使用是的。默克尔树是区块链的基本组成部分叶子节点包含交易的哈希值。区块链由一个个区块组成每个区块包含与前一个区块的连接和一棵默克尔树。比特币就将默克尔树作为简化支付验证的解决方案购买比特币时验证单个交易只需相关认证路径与鲍勃验证单个消息类似。那些单向函数H和F就是哈希函数默克尔树节点存储哈希值证明哈希函数可对大型结构进行认证是密码学重要一步。

相关新闻

TCRT5_pre_tcrdb训练数据大公开:14M CDR3β序列与780k肽-MHC对的幕后故事

TCRT5_pre_tcrdb训练数据大公开:14M CDR3β序列与780k肽-MHC对的幕后故事

NEO存储与持久化架构:高性能数据缓存与状态管理终极指南 【免费下载链接】neo NEO Smart Economy 项目地址: https://gitcode.com/gh_mirrors/ne/neo NEO区块链作为智能经济的基础设施,其存储与持久化架构是实现高性能、可扩展性的关键。本文深入…

2026/8/8 17:59:29 阅读更多 →
rosenbridge项目揭示x86 CPU硬件后门,提供检测与修复工具

rosenbridge项目揭示x86 CPU硬件后门,提供检测与修复工具

导航菜单 登录、外观设置。 平台 AI代码创作 GitHub Copilot:借助 AI 编写更优质代码;GitHub Copilot 应用:从问题到合并,实现直接代理;MCP 注册表:集成外部工具。 开发者工作流 Actions:自动化…

2026/8/8 17:59:29 阅读更多 →
Synology NAS硬盘兼容性终极指南:轻松解锁所有第三方硬盘

Synology NAS硬盘兼容性终极指南:轻松解锁所有第三方硬盘

Synology NAS硬盘兼容性终极指南:轻松解锁所有第三方硬盘 【免费下载链接】Synology_HDD_db Add your HDD, SSD and NVMe drives to your Synologys compatible drive database and a lot more 项目地址: https://gitcode.com/GitHub_Trending/sy/Synology_HDD_db…

2026/8/8 17:58:29 阅读更多 →

最新新闻

揭秘Grayskull的高效算法:嵌入式设备上的ORB特征提取与匹配

揭秘Grayskull的高效算法:嵌入式设备上的ORB特征提取与匹配

终极 .NET MAUI 导航指南:8种导航模式实战详解 【免费下载链接】maui-samples Samples for .NET Multi-Platform App UI (.NET MAUI) 项目地址: https://gitcode.com/gh_mirrors/ma/maui-samples .NET MAUI(多平台应用 UI)是微软推出的…

2026/8/8 18:54:55 阅读更多 →
Karmem vs Protobuf vs Cap‘n‘Proto:三大二进制序列化格式全方位对比分析

Karmem vs Protobuf vs Cap‘n‘Proto:三大二进制序列化格式全方位对比分析

Karmem vs Protobuf vs CapnProto:三大二进制序列化格式全方位对比分析 【免费下载链接】karmem Karmem is a fast binary serialization format, faster than Google Flatbuffers and optimized for TinyGo and WASM. 项目地址: https://gitcode.com/gh_mirrors/…

2026/8/8 18:54:55 阅读更多 →
高性能在线文件预览架构解析:kkFileView工厂模式与缓存队列实现原理

高性能在线文件预览架构解析:kkFileView工厂模式与缓存队列实现原理

高性能在线文件预览架构解析:kkFileView工厂模式与缓存队列实现原理 【免费下载链接】kkFileView Universal File Online Preview Project based on Spring-Boot 项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView kkFileView是一款基于Spring B…

2026/8/8 18:54:55 阅读更多 →
从信号到智能:RuView WiFi Sensing技术如何通过8维特征实现128维空间感知嵌入

从信号到智能:RuView WiFi Sensing技术如何通过8维特征实现128维空间感知嵌入

如何快速掌握PaddleDetection:飞桨目标检测开发套件零基础入门指南 【免费下载链接】PaddleDetection PaddleDetection - 一个基于 PaddlePaddle 的目标检测开发套件,提供丰富的模型和工具,适用于进行计算机视觉和深度学习研究的程序员。 项…

2026/8/8 18:54:55 阅读更多 →
OrcaSlicer 3D打印速度优化深度解析:从基础参数到极限性能的进阶实战指南

OrcaSlicer 3D打印速度优化深度解析:从基础参数到极限性能的进阶实战指南

OrcaSlicer 3D打印速度优化深度解析:从基础参数到极限性能的进阶实战指南 【免费下载链接】OrcaSlicer G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.) 项目地址: https://gitcode.com/GitHub_Trending/orc/OrcaSlicer …

2026/8/8 18:54:54 阅读更多 →
Emacs-Elisp-Programming实战案例:用Elisp解决日常编辑难题

Emacs-Elisp-Programming实战案例:用Elisp解决日常编辑难题

Ignite多架构支持:在ARM和x86平台上运行微虚拟机的完整指南 【免费下载链接】ignite Ignite a Firecracker microVM 项目地址: https://gitcode.com/gh_mirrors/igni/ignite Ignite是一款创新的容器化Firecracker微虚拟机管理工具,能够在ARM和x86…

2026/8/8 18:53:54 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/8 17:02:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/8 8:58:26 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/8 17:02:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/8 17:02:44 阅读更多 →