如何实现区块链(「链动学院」一个故事读懂区块链原理之如何实现)

  如何实现区块链(「链动学院」一个故事读懂区块链原理之区块链如何实现)

今天,小编为大家带来区块链小知识:区块链原理系列篇之二(共5篇)

  

区块链如何实现

张发财的原话絮絮叨叨,我们就不再全部复述了,整理几个关键词,理清关键问题,将更好的理解这个去中心化的分布式记账系统也就是区块链是怎么实现的。

  

区块

区块链顾名思义就是由区块组成的链条,那么区块是什么呢?放到村子里去理解,假设每天记完账以后就把旧帐本存起来,第二天换一本新的 账本继续记账。那么这每天的账本都可以被称为一个区块。比特币交易为了保证从第一个区块到现在都区块保存的信息的都是完整的,和整个区块链的唯一性,区块最少包含了以下三个信息。

  

1。 上一个区块的哈希值,用于连接上一个区块。

  

2。打包可获得奖励,nonce(增加工作量的随机数),时间戳。

  

  

3。 可以总结和校验所有交易记录的merkle树根数据。

  

哈希算法

哈希算法是保证区块链中的交易信息不被篡改的密码机制,哈希算法在接收到一段明文后会将其用一种不可逆的方式转换成一段位数固定的散列数据。它有两个特点:

  

1。 加密不可逆,无法从输出的散列数据倒推输入的明文。

  

2。 输入的明文和输出的散列数据一一对应,明文的任何改变都将造成输出的散列数据的改变。

  

在区块链中,一般使用SHA-256对区块进行加密,输出一段32位的散列数据。区块链上通过该散列数据对该区块进行验证。如果验证失败,则说明这个区块被篡改过。

  

时间戳

就像大家日记本里每天日记抬头的某年某月的某一天一样,在区块链中,每笔交易都会生成一个时间戳,记录什么时候发生过什么交易。在每个区块生成随机哈希值的时候都会生成一个时间戳,证明该时间生成了该区块。在下一个区块生成时间戳时也会引入上一个区块的时间戳。而这些因时间戳的连接着的区块就形成了区块链。

  

Merkle树结构

Merkle树结构时区块链中用于验证该区块记录的交易内容是否未被篡改用的,其原理是使利用Merkle树存放在数据结构中每一个叶子节点的值为基础生成一个统一的哈希值,而叶子结点存放的是该节点存储数据生成的哈希值,非叶子节点存放的是该节点下面的所有叶子节点的哈希值。

  

根据上面介绍的哈希算法我们知道,任何一个节点数据的修改都会导致整个Merkle树结构发生变化,所以我们验证数据,只需要验证Merkle树的哈希值就可以了。

  

广播

刚介绍了一大堆网络世界的技术,现在又说回村里。在王老实垄断记账行业的时期,村民们需要记账都是跑到王老实家或者王老实家里开办的办事处去办理记账业务。现在不行啦,村里一大堆想记账的人,总不能一家家的跑,通知每个人帮忙记账。所以村里给每个村民都发了一个超级大喇叭。有记账需求的时候,就拿起大喇叭对着天空大喊,我陈某某与今年今月今日向杨某某借钱500元。然后村里想参与记账的人赶紧拿起笔在自己的小本本上记下这句话。这就是消息的传播模式,从用户对第三方机构发送变成了在全网中广播的模式。

  
","content_hash"!"5524528d

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论