主页 > imtoken钱包劫持 > 区块链基础介绍

区块链基础介绍

imtoken钱包劫持 2023-03-22 06:08:29

记账时,区块链会将账单信息(包括账单号、账单时间、交易记录)作为原始信息进行哈希处理,得到一个Hash值,如:787635ACD,表示为:

Hash(序号0,记账时间,交易记录)=787635ACD

在比特币系统中比特币通讯地址并不代表个人,每10分钟记录一次账户,即每10分钟左右产生一个区块

在记录第二张票据时,会使用前一个区块的Hash值和当前的票据信息作为Hash的原始信息,即:

Hash(上一个区块的Hash值,序号1,交易时间,交易记录)=456635BCD

这样,第二个区块不仅包含了这个账户页面的信息,还间接包含了第一个区块的信息。 依次按照这个方法继续记账,最新的块总是间接包含了之前所有的账页信息。

所有这些区块组合起来形成一个区块链,这样一个区块链构成了一个易于验证的(只要最后一个区块的哈希值被验证就相当于验证了整个账本),它是不可更改的(任何交易信息的改变会导致后续所有区块的Hash值发生改变,从而无法通过验证)总账。

哈希函数的补充知识

例子:

hash(张三借给李四100万,利息1%,1年后还本付息...)=AC4635D34DEF,AC4635D34DEF记录在账本中。

哈希函数

区块链工作量证明(挖矿原理)

比特币系统记账需要对上一个区块的交易记录、交易时间、账本序号、哈希值等信息进行Hash计算和打包。 它需要消耗一定的计算资源和存储资源,需要付出成本。 因此,为了让网络运行起来,需要一定的激励措施。 当节点完成记账工作时,系统会给予一定的奖励。 这个奖励就是比特币的发行过程,所以记账的过程就叫挖矿。

坐标簿记

由于记账工作会有利,会有很多人竞争记账,但是这样会造成记账不一致,所以引入比特币工作量证明来解决这个问题,规则如下

在工作量证明之前,记账节点首先会做以下准备工作:

如果节点争夺记账权成功,则可以获得相应数量的比特币

工作证明

从记账方式来说比特币通讯地址并不代表个人,每次记账我们只需要计算一个Hash值即可。 我们只要知道前一个区块的哈希值,根据待挖区块的交易信息,就可以快速计算出哈希值。 这样一来,就没有办法去争夺记账权了。 为了保证十分钟左右只出一个块(这与密码学的难度有关),必须提高记账难度。

现在采取的措施是要求生成的hash值前有若干个连续的0。 目前的区块链系统需要18个0。 计算hash时,加上一个随机数,使hash值符合要求。 但是这个随机数不能直接计算出来,没有捷径,只能从0开始一个一个的尝试,直到哈希值满足要求。第一个找到满足要求的随机数的节点将有权簿记

核实

节点成功找到满意的哈希值后,会立即将打包好的区块广播给全网,全网节点收到广播的打包好的区块后会立即进行验证。

如果验证通过,则说明部分节点已经成功解谜,不再竞争当前区块的打包,而是选择接受这个区块,记录在自己的账本中,然后进行竞争猜测下一个区块。

只有网络中解谜速度最快的区块才会被添加到账本中,其他节点复制它,从而保证了整个账本的唯一性。

如果节点有作弊行为,将导致网络节点验证失败,打包区块将直接丢弃。 这个块不能记入总账,作弊节点的成本就白白浪费了。 因此,在巨大的挖矿成本下,也使得矿工自愿遵守比特币系统的共识协议,从而保证了整个系统的安全性。

共识机制

在挖矿过程中,每个人都想通过争夺记账权来获得收益。 为了保证收益的合法性,只有当一个节点的工作量证明被其他节点认可时,才会通过验证,该节点才会获得收益。 ,即只有遵守协议才能得到其他节点的认可。 这样一来,数以万计的节点被提示去遵守一个简单的规则,那么这个规则就是一个共识,一个大家都遵守的协议规范

没有中心化服务器,所有节点如何达成共识?

事实上,比特币的共识机制是由所有节点的4个独立进程交互产生的:

前三项在工作证明和簿记工作中已经提到。 对于第四项,累计工作量最大的区块链就是最长的区块链。 节点将数据与其相邻节点进行比较。 如果数据不一致,则必须进行冲突解决,最终得到与邻居节点链上数据一致的结果。 当然,该节点的每个邻居节点也会做同样的操作,最终实现在网络上存储相同的账本

冲突解决可以分为以下几类:

共识机制第四项保证链的增长只在最长的链上进行。