GIF演示:最简单易懂的区块链知识介绍与理解

GIF演示:最简单易懂的区块链知识介绍与理解

区块链相关的文章相当多,而且处处都是高水平的内容

今天我将通过一个例子来简单解释一下原理。对于有技术的你,绝对能搞定干货

本文重点是帮助理解区块链的工作原理,不是严谨的教学,不要太认真

你能从这篇文章中学到什么?使用SHA256算法获取哈希值。挖矿的作用是什么?字符串本质上是一些数字数据指纹;也就是说,每一个不同的(文本)内容都有一个对应的不同的指纹(哈希值)

我们来看看下图中的演示。我们在数据区输入任意内容,下方的哈希区会自动实时计算出对应的哈希值;而data区的内容只有1个字符,或者你输入整个库的内容,hash永远是一串64个字符的hash值,你永远猜不到是什么您的输入将获得的哈希值

使用此功能我们可以散列并保存您要保护的内容,

在此基础上,我们把它扩展成一个叫做BLOCK的东西,它至少包含

块- 在这种情况下它只是一个序列号,每个块都有不同的序列号

Nonce——随机数,后面会提到

数据-内容区

通常的做法是先把这些数据累加起来,可以理解为区块头:区块号+Nonce(随机值)+数据(需要保护的内容区域)

虽然正式应用中数据会比较多,比如添加key、timestamp,但是基本原理是一样的

然后用SHA256运算对这些内容进行加密,得到一串64位的哈希值。如果内容被篡改,哈希值的字符串必然会发生变化

了解hash值是如何产生的,再看下一步:挖矿

必要的步骤:也是挖矿。仔细耐心地观察下图。点击【挖矿】按钮后,经过长时间的计算,我们得到了4个从0开始的哈希值

这是一个比较少见的散列(hash)值,我们可以确定它是这个区块的指纹,如果这时候你尝试去修改数据区的内容,你会发现散列值发生了变化,而且它不再以4个0开头,证明该块已被篡改

如下图,如果内容被修改,hash不是以4个0开头,背景变成红色就可以知道这个块的内容不再有效或者没有签名,已经被篡改了是的,它不再安全了。

这时,再次Mine,稍等片刻,又得到4个0开头的hash值;

请注意,Nonce 发生了变化!这就是Nonce 在这里原因

不同的内容需要匹配不同的Nonce,得到4个0开头的hash值。Mine的过程其实就是算法寻找一个合适的随机数来匹配内容,这样4个0开头的hash值就可以了再次获得。

寻找Nonce的过程就叫做挖矿!

现在明白为什么要挖矿了,然后把上面的知识连起来,形成一个链条

生成区块并将其链接最简单的区块链中,对每个区块头进行SHA256加密散列,生成散列值。通过这个哈希值,可以识别出区块链中对应的区块。同时,每个区块都可以通过其区块头的“父区块哈希值”字段来引用前一个区块(父区块)。也就是说,每个区块头都包含其父区块的哈希值。这个将每个块链接到其各自父块的哈希序列创建了一条链,该链一直返回到第一个块(创世块)。

看下图是由4个区块组成的链,每个区块负责记住前一个区块的prevhash,和自己的hash,一个串一个,组成一个链

这条链上,如果中间区块的数据被恶意修改会怎样?

从下图的演示可以看出,如果第二个区块的数据被恶意修改,第二个区块的哈希值(指纹)的变化会导致它和后面的哈希值出现问题,这是安全的验证会检测到区块有问题!

进一步阅读接下来如何解决这个问题

会涉及到分布式存储的问题,这条链(数据)应该存储在各个终端-----去中心化!

并加入投票机制,当链的数据出现问题时,用最正确的链接替换链,以保存数据的正确性

这也是我们常说除非你能破解51%的数据(链),否则你真的可以篡改数据的真正原因!

以上只是对区块链的一些基本运行原理的简单介绍。如果你真的想掌握它,你需要深入研究它

但是对于只想知道区块链是怎么工作朋友来说,应该就够了吧,不是吗

如果想了解更多网络编程知识,请关注本头条号,谢谢

暂无评论

暂无评论...