区块链入门笔记

区块与哈希的一一对应:
区块与哈希的一一对应

一个区块分为两大部分:

在这里插入图片描述

1.区块头

区块头里面存储着区块的头信息,包含上一个区块的哈希值(PreHash),本区块体的哈希值(Hash)【也就是区块体的Hash】,以及时间戳(TimeStamp)等等。

2.区块体

区块体存储着这个区块的详细数据(Data),这个数据包含若干行记录,可以是交易信息,也可以是其他某种信息。

区块与Hash是一一对应的,Hash可以当做是区块的唯一标识。只要原始内容不同,对应的哈希一定是不同的。

区块链的形成(为什么要计算区块的哈希值呢?)【2】

既然区块链是一个链状结构,就必然存在链条的头节点(第一个区块)和尾节点(最后一个区块)。一旦有人计算出区块链最新数据信息的哈希值,相当于对最新的交易记录进行打包,新的区块会被创建出来,衔接在区块链的末尾。

新区块头的Hash就是刚刚计算出的哈希值,PreHash等于上一个区块的Hash。区块体的Data存储的是打包前的交易记录,这部分数据信息已经变得不可修改。(不一定准确,需要考究)

在这里插入图片描述

为什么区块链是不可篡改的?【1】

在这里插入图片描述

  1. 区块内防篡改的措施

区块主体中是一颗默克尔树,就是要将树上的节点(树的最下层称为叶子节点,区块链中叶子节点就是交易;其它节点都是为了计算默克尔树根而形成的冗余节点,没有实际的数据)的哈希值两两哈希后形成新的节点,重复哈希直到只存在一个哈希值为止。这个最终的哈希值就是默克尔树根。由于哈希值是全局唯一的,可以相见,如果一个交易(树的叶子节点)发生变化,就要修改一整条哈希路径,直到修改掉默克尔树根为止。

  1. 区块间防篡改的措施

关注下区块头,里面有一项叫做“前一区块的哈希值”。这个值就是对前面的区块进行哈希得到的全局唯一值。如果之前的区块被修改了,那么它对应的哈希值就会变化,它的后继区块中“前一区块的哈希值”也会变化,导致后续区块的哈希值变化……通过的链的传导,就需要将被修改区块之后的所有区块都做出相应的修改。

参考:
【1】https://www.solves.com.cn/hlw/qkl/2019-10-28/6824.html
【2】http://www.kepuchina.cn/wiki/ct/201803/t20180324_561012.shtml

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值