前言:
区块链技术在众多领域中都有成功的应用,
比特币只是其中一种。本文将着重从
比特币的角度解读
区块链的底层技术,探讨
区块链对
加密货币的影响。
区块链是采用
密码学、
共识机制等方式,
去中心化地实现
集体维护数据运转的数据管理模式。简单地说,
区块链就是一个人人可以参与记账的
账本,通过设定的规则来确保每个人记录的数据都是真实的,并实时进行数据更新,保持
区块链内
账本的一致。
区块链如何保证存储信息的真实可靠:
除了所有数据公开透明,人人可查询之外,我们可以在
区块链的构成上去逐步解析。
每个
区块都可以分为
区块头、
区块体两部分。
区块体包含的内容很好理解,就是
区块内所有的交易记录信息。
下面我们来重点说说
区块头。
区块头分为三部分:
第一部分是父块
哈希值,也就是上一个
区块的
哈希值,通过这个
哈希值我们可以找到父
区块的位置,下一个
区块也会存储这个
区块的
哈希值为父块
哈希值。从
创世区块开始,每个
区块之间都通过这种方式进行
链接,从而形成了
区块链。
第二部分的数据包含了
难度值、
时间戳和
随机数。
难度值决定了
挖矿的速度,
比特币规定了挖出每个新
区块的时间在10分钟左右,这是根据全网
算力来调整
难度值进行把控的。
时间戳代表的是
区块创立的时间,由
区块网络自动生成;
随机数是
挖矿过程中需要调整的数字,是0开始的32位
随机数。
第三部分为
默克尔树的树根数据,即该
区块的
哈希值,数据归纳了
区块内所有的交易信息。
三部分信息整合在一起,形成了80字节的数据信息。将这一数据信息带入
哈希函数,不断调整
随机数计算得出符合要求的
哈希值,并通过其他
节点的
验证,即代表
挖矿成功,新的
区块会被添加到
链上。
挖矿成功的
节点,享有
区块记账权,并可获得
区块奖励和交易手续费。有时也会由于多个旷工同时挖出新
区块,所以出现多个新
区块并存,
区块链
分叉现象。但这种
分叉是暂时的,因为
节点默认最长的
链为合法。最新的
区块被添加到其中一条
链上组成最长的
链条,则该
链条被视为有效,其他
分叉的
区块将被取消。
例如,同时挖出了区块2和区块3,两个
区块都会被添加在区块1后面。当最新区块4出现时,如果区块4被添加在了区块2后面,则组成了最长的
链:区块1 — 区块2 — 区块4,那么区块3会从
区块链中被移除。
从上述信息,我们可以总结出篡改信息的
难度很大。首先,如果A区块的交易记录被篡改了,
默克尔树计算出的该
区块的
哈希值将会发生变化,那么它的下一个
区块,区块B中存储的父块
哈希值同样需要修改。区块B的
区块头被修改了父块
哈希值后,数据发生变化,之前通过B的
区块头数据计算得出的区块C也有问题,区块C也需要修改。以此类推,后续的
区块数据全部需要更改。更改
区块记录只能通过
工作量证明的方式,期间耗费的电量和时间远远超过修改记录所能获得的收益。而且在更改数据、制造出
区块链
分叉的同时,其他诚实的
节点也在
挖矿,源源不断的将新
区块加入到真实合法的
链中,假的
链条很容易因为不够长而被抛弃。更难的是,即使能够修改一个
节点的数据,也是无效的。只有将
区块链网络里51%
节点存储的数据都修改,才能通过
节点之间的数据互相
验证。
综上所述,篡改
区块链数据的
难度很大,成本很高。而
挖矿等诚实行为不但在
难度和成本上都比篡改记录要小很多,还能获得额外奖励。相比之下,通过破坏
区块数据来获益就显得非常不划算。这样也就可以保证
区块链数据的真实可靠。
非对称加密算法:
区块链中又是怎么在交易双方身份不明的情况下,确保交易安全的呢?这就靠
非对称加密算法来实现了。
非对称
加密可以理解为
加密、解密的钥匙不可以是同一把。于是衍生出了
区块链中
私钥与
公钥的概念,一个人私钥
加密的信息,只可以用同一个人的
公钥解密。同样,用一个人
公钥加密的信息,也只可以用同一个人的
私钥解密。
在
区块链网络中,
公钥对外公开,而
私钥只有本人持有,用于对交易进行签名。所以,非对称
加密在
区块链交易中是这样运作的:当A向B发出交易时,先用自己的
私钥对信息进行
加密,再用B的
公钥进行二次
加密。当B收到
加密后的信息时,先用自己的
私钥进行解密,再用A的
公钥进行解密,如果解密成功,说明信息确实是A发送过来的。在信息传输过程中,即使信息被截获了,但由于没有B的
私钥,信息将无法被破解。
以上内容仅解释了
区块链的一些基本概念及整体的原理,随着技术的发展,
区块链技术在不断进步,相关新概念层出不穷。由于
区块链具有的
去中心化的模式和数据
不可篡改的优势,目前已经在多个领域有了良好的应用。相信在未来,
区块链会获得更多国家的认可,在各领域的应用也将会变得越来越广泛。