一分钟了解区块链

区块链源于比特币,用于分布式记账。那么什么是区块链?

a、以区块为基本单位的链式数据结构

b、去中心化的分布式数据库

c、防篡改机制。

d、共识算法

以区块为基本单位的链式数据结构如下图:其中第一个块叫做创世区块。是一个简单的单向链表。

去中心化的分布式数据库,如下图每个节点都是对等的,每个节点拥有全量的一模一样的数据资源。

那么每一个区块的数据结构是什么,如下图所示:index标识区块的索引号,timestamp区块生成的时间,hash代表区块的id,pre-hash上一区块的hash值,data区块存储的数据,nonce值,表示一个增量随机值,不同的区块链实现机制,数据结构不一致,但是大体相同。

挖矿

比特币中的挖矿就是计算一个区块的hash值,hash值的计算就如图上所示的函数f(index+pre_hash+time……)计算而成,有的采用sha256计算而成。比特币每个一段时间有一个生成hash值的要求,比如要求生成的hash值前5位是0,0的个数越多,则难度越大,那么生成hash的过程就是nonce值从1不断+1最终生成满足的hash值,就挖到了矿,生成了区块。而data里面是比特币一行一行的交易转账数据。而找hash的过程就是一个工作量证明,pow。

注:bitcoin的hash生成值是有规定的,其他的比如以太坊,fabric等等则不一定是这种要求,比特币之所以这么要求是因为他内部要求这样的工作量证明,而其他实现则是有共识算法的。

共识算法

共识算法是决定产生区块的规则,而上面的pow则是共识算法的一种,常用的共识算法有pos,dpos等等。这里不细解说。不同的区块链实现采用的是不同的共识算法。

区块链防篡改

前面我们介绍了,hash的生成包含了data和上一区块的值,如果我们更改了某一区块的data,那么他的hash就已经变了,而它的下一个区块的hash则跟这个区块的hash有关系,则下一个区块的hash也得变,这样篡改一个数据需要把该区块随后的数据都得篡改,成本太高,同时,即使你篡改成功,你只篡改了一台服务器节点,也无法生效,必须篡改全网51%的节点,整个区块链才算篡改完成。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();