欧意交易所-欧意app官方下载平台_数字货币交易所

欧意交易所-欧意app官方下载平台_数字

在一个典型的区块链系统里面,比如比特币,如果修改了第二个区块的数据,是否影响前

时间:2024-12-02 19:21来源: 作者:admin 点击: 4 次
文章浏览阅读2.4k次。区块链入门一:什么是区块链在上一篇中,简单介绍了什么是区块链。这一篇主要介绍区块链的不可篡改的特性。首先我们来了解下哈希(Hash)算法这是百度的描述,简单来说就是一种不可逆的摘要算法,哈希算法的目的就是为了验证原始数据是否被篡改。常用的哈希算法有根据碰撞概率,哈希算法的输出

区块链入门一:什么是区块链
在上一篇中,简单介绍了什么是区块链。这一篇主要介绍区块链的不可篡改的特性。

首先我们来了解下哈希(Hash)算法

在这里插入图片描述


这是百度的描述,简单来说就是一种不可逆的摘要算法,哈希算法的目的就是为了验证原始数据是否被篡改。常用的哈希算法有

在这里插入图片描述

根据碰撞概率,哈希算法的输出长度越长,就越难产生碰撞,也就越安全,区块链采用的是SHA-256。

那么区块链是怎么保证不可篡改的呢,下面将一步步分析。

区块分为区块头和区块体,区块体其实就是一个账本,里面是一条条的交易记录。

在这里插入图片描述


上图可以看到,就是一个区块体,记录的都是交易信息,第一条coinbase是个“旷工”的奖励。“挖矿”后续再了解。

那首先就要保证区块体的每条交易信息都是真实可信的,这里用到的是非对称加密算法对交易进行签名,这个说起来也不是一两句,后续再了解。这里只要知道,每条交易记录都是真实可信、不可造假的就行。

区块体所有的交易按一定规则汇总进行Hash,记录在区块头里。区块有个Merkle,就是记录区块体的Hash。这样区块体确认后就无法更改了,因为任何变动都会导致Merkle跟着变动。

在这里插入图片描述


区块头信息确认后,再对区块头进行Hash,形成Block Hash,这样整个区块的内容就确定了,并且不能做任何修改。区块头包含很多内容,其中有当前区块体的哈希,还有上一个区块的哈希。这意味着,如果当前区块体的内容变了,或者上一个区块的哈希变了,一定会引起当前区块的哈希改变。

那么区块和区块之间是怎么连接在一起形成区块链的呢?

在这里插入图片描述


如上图,Block Hash就是当前区块的哈希,而Pre Hash就是上一个区块的Block Hash。就是这样一个区块指向上一个区块形成了区块链。第一个区块由于没有前一个区块,所以它的Pre Hash是00…0000。

那么你可能会问了,不就是计算Hash嘛,计算机算出结果不是很快嘛,这怎么保证不可篡改?别急,接下来要说到一个概念,工作量证明机制。什么意思呢?

就是这个哈希不是随意算出一个哈希就可以的,它有一个规定。区块链协议规定,使用一个常量除以难度系数,可以得到目标值。显然,难度系数越大,目标值就越小,满足条件的哈希就越难算出。简单来说就是算出来的哈希必须是多个0打头的字符串,如:00000000000000000002bafbc1df86a30304852794f792ff95403e542566536b。随着难度增加,0的个数也相应增多,难度成指数级上升。

这一点对区块链意义重大。区块的Block Hash一旦得出,对区块的任何修改都会使哈希变动。而区块链是一个个区块紧密相连的,任何变动都会使区块连接断裂。正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2024-12-04 16:12 最后登录:2024-12-04 16:12
栏目列表
推荐内容