区块链中的哈希算法

2023-11-20

区块链中的密码学

密码学在区块链中的应用主要有两个:哈希算法与非对称加密算法。这次主要对哈希算法进行详细的说明。

哈希算法

哈希算法的特点有:
1、输入可以为任意大小的字符串;
2、产生固定大小的输出;
3、可以在合理的时间内算出输出值。

若要满足密码学的安全性,哈希算法还应该具有以下三个特性:
1、碰撞阻力:不同的输入不会产生相同的输出;
2、不可逆性:若y = Hash (x) ,根据y无法倒推出x;
3、谜题友好:若想倒推出x,只能通过暴力枚举破解。

以比特币为例,来看一下哈希算法的具体应用: 在比特币中,使用哈希算法把交易生成数据摘要,当前区块里面包含上一个区块的哈希值(block? header hash),后面一个区块又包含当前区块的哈希值(),就这样一个接一个的连接起来,形成一个哈希指针链表,如下图:

每个区块中的具体内容:
这所有的字段一起就组成了 block header(区块头),然后需要对 block header 进行2次hash计算,计算完成的值就是当前比特币区块的hash值。因为比特币系统要求计算出来的这个hash值满足一定的条件(小于某个数值),因此需要我们不断的遍历Nonce值去计算新的hash值以满足要求,只有找到了满足要求的hash值,那么这就是一个合法区块了(这一系列动作也叫作挖矿)。

Merkle Tree字段:

简单来说Merkle Root就是区块里记录的所有交易的几次Hash(结果组合后再Hash)结果,在比特币区块链和以太坊区块链中,Merkle Root字段的产生略有不同,比特币进行2次计算,以太坊3次。

总结

本次对哈希算法的学习与整理过程中,还有些疑惑,merkle tree的底部若不按照ABCD的顺序进行排列,是否会对整个区块的Block header造成影响,从而影响整个区块链。参考文章地址: cloud.tencent.com/developer/a…
每天进步一点点~!

转载于:https://juejin.im/post/5c067ae8f265da6166243d49

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

区块链中的哈希算法 的相关文章

随机推荐

  • python3.9 安装 pyspider

    安装pyspider pip install pyspider 直接报错 Please specify curl dir path to built libcurl 于是从PythonLibs官网 中获取依赖并自行下载到本地 下载与3 9对
  • iframe设定请求类型为post

    在iframe中 引入其他页面的属性是src src请求的方式都是get get和post的对比大家都晓得 那么怎么设定呢 这就想起了js发送post请求的一些解决方案 那就是使用表单 空参数进行跳转 然后直接对通过js对表单操作即可 lo
  • 西门子S7-1200PLC脉冲控制伺服程序案例 此程序是关于西门子1200PLC以PTO脉冲方式控制伺服电机

    西门子S7 1200PLC脉冲控制伺服程序案例 此程序是关于西门子1200PLC以PTO脉冲方式控制伺服电机 步进电机的功能块程序 包含两套程序 第一套程序是用梯形图写的 第二套程序是用SCL高级编程语言写的 两套程序实现的功能一致 脉冲模
  • 第三章 时序逻辑设计基础

    第三章 时序逻辑设计基础 状态转移图 STG Mealy 状态机的顶点用状态进行标记 有向边用输入信号和输出信号来标记 Moore 状态机的顶点用状态和输出来标记 有向边用输入信号来标记 BCD 码到余3码的转换 如何画出状态图 1 状态就
  • Matlab编写带有随机缺陷的纳米颗粒生成器

    Matlab编写带有随机缺陷的纳米颗粒生成器 近年来 纳米科学与纳米技术在材料科学 生物医药 能源等领域得到广泛应用 其中 制备具有特定形状和结构的纳米颗粒对于实现特定功能至关重要 在实际应用中 许多纳米颗粒样品存在着各种缺陷 这些缺陷有时
  • Tomcat的两种安装方式(zip安装和exe安装)

    注意 安装Tomcat需要先安装jdk 一 zip解压安装 1 我们进入Tomcat官网 http tomcat apache org 此处我们选择Tomcat 9 的64位zip解压式的安装包 2 下载后解压目录如下 3 我们复制tomc
  • android:ems="10"是什么意思

    android ems 10 设置TextView或者Edittext的宽度为10个字符的宽度 当设置该属性后 控件显示的长度就为10个字符的长度 超出的部分将不显示 控件android ems属性 本文地址 http blog csdn
  • Linux系统怎么开机

    要开启 Linux 系统 您需要按一下电脑的电源开关 等待系统启动过程完成 如果您的电脑已经配置好了引导程序 系统就会自动启动到您设置的操作系统 例如 Linux 如果出现了任何问题 您可以通过查看电脑的启动屏幕上的错误信息来解决
  • 服务器安装系统时无法创建新的分区,重装系统出现“我们无法创建新的分区,也找不到现有的分区”...

    今天给朋友的电脑重装系统 本来打算是使用微PE的CGI备份还原工具来给 C 盘重装一个系统 但是装完后重启无法进入系统 不怕 以前也遇到过这种事情 根据经验我再次使用微PE 格式化 C 盘分区 找到系统镜像iso文件 使用其中的 Setup
  • mysql SHOW命令

    文章目录 mysql SHOW命令 概述 SHOW命令 sql脚本 mysql SHOW命令 数据库 表 列 用户 权限等的信息被存储在数据库和表中 MySQL使用MySQL来存储这些信息 可用MySQL的SHOW命令来显示这些信息 MyS
  • 使用 ChatGPT 从 JavaScript 代码生成 React 组件

    欢迎来到我们的教程 了解如何使用 ChatGPT 从 JavaScript 代码生成 React 组件 在本指南中 我们将探讨使用 ChatGPT 完成此任务的好处 并引导您完成分步过程 React 是一个流行的用于构建用户界面的 Java
  • python3.6+wamp配置python脚本环境(Windows)

    最近学到ajax 教程里需要用到wamp 这里就不介绍wamp了 wamp包含了apache服务器 但其默认只支持php脚本 而本人没学过php 所以希望降低学习成本 于是动手修改apache配置文件 网上有很多修改的教程 但我尝试了很多种
  • 5. handle方法详解-handler获取

    文章目录 1 概览 2 handle方法回顾 3 HandlerMappings继承关系 4 getHandlerInternal 4 1 RequestMappingInfoHandlerMapping getHandlerInterna
  • 包管理

    8 包管理 8 1 Go Modules是什么 Go语言通过包管理来封装模块和复用代码 这里我们只介绍Go Modules管理方法 Go Modules于Go语言1 11版本时引入 在1 12版本正式支持 是由Go语言官方提供的包管理解决方
  • VC从系统进程中查找并杀掉指定进程

    写程序的时候 有时候会调用别 别人写的 的程序的EXE 有的时候还会隐藏这个EXE 但是由于你的程序退出时并没有关闭这个EXE 只是隐藏了 所以在系统的进程查看窗口里面还是会看到的 这样当你下次再执行你自己的程序 还要调用这个程序的时候就会
  • [转载]解决PPPOE宽带拨号经常掉线的一种方法(适合刷了第三方固件的无线路由)

    文章作者 姜南 Slyar 文章来源 Slyar Home www slyar com 转载请注明 谢谢合作 最近在进行下载或看视频等大量占用网络带宽的行为时 宽带PPPOE连接非常不稳定 经常自动掉线 严重影响我的下载进程和看视频的乐趣
  • MariaDB数据库的主从配置

    1 前置工作 首先准备两台可以互相ping通的机器 两台机器可以互为主从 示例 10 210 23 77主服务器 10 20 84 183从服务器 2 安装 在两台机器上各自安装数据 解压MariaDB安装包 tar zxvf MariaD
  • 基于深度学习的无人机在室内走廊环境中的视觉导航

    与激光雷达和雷达不同 使用单目摄像头作为无人机传感器的优势之一是它能够检测各种视觉特征 例如颜色 纹理和形状 这种适应性使其能够在各种室内和室外环境中表现良好 将单目摄像头用于无人机的另一个好处是 它允许更轻巧和灵活的设计 该摄像机不需要额
  • 5 个免费的受欢迎的 SQLite 管理工具

    SQLite Expert Personal Edition SQLite Expert 提供两个版本 分别是个人版和专业版 其中个人版是免费的 提供了大多数基本的管理功能 SQLite Expert 可以让用户管理 SQLite3 数据库
  • 区块链中的哈希算法

    区块链中的密码学 密码学在区块链中的应用主要有两个 哈希算法与非对称加密算法 这次主要对哈希算法进行详细的说明 哈希算法 哈希算法的特点有 1 输入可以为任意大小的字符串 2 产生固定大小的输出 3 可以在合理的时间内算出输出值 若要满足密