想了解区块链,首先要了解这些
现在区块链技术飞速发展,如果不了解点基础知识,那么你真的要out了。
先让我们介绍几个区块链的核心概念 以后有时间我会一一道来。
一、区块
区块作为区块链的基本结构单元,由包含元数据的区块头和包含交易数据的区块主体构成。
区块头包含三组元数据:
1.用于连接前面的区块、索引自父区块哈希值的数据;
2.挖矿难度、Nonce(随机数,用于工作量证明算法的计数器)、时间戳;
3.能够总结并快速归纳校验区块中所有交易数据的Merkle(默克尔)树根数据。
二、哈希算法
哈希算法是区块链中保证交易信息不被篡改的单向密码机制。
它有两个特点:
1.加密过程不可逆,意味着我们无法通过输出的散列数据倒推原本的明文是什么;
2.输入的明文与输出的散列数据一一对应,任何一个输入信息的变化,都必将导致最终输出的散列数据的变化。
三、公钥和私钥
公钥和私钥就是俗称的不对称加密方式,是对以前的对称加密方式(使用用户名与密码)的提高。
我们用电子邮件加密的模型来简单介绍一下:公钥就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章的。私钥就是自己的,必须非常小心保存,最好加上密码,私钥用来解密/签章,私钥由个人拥有。
四、时间戳
时间戳是直接写在区块链中的,而区块链中已经生成的区块不可篡改,因为一旦篡改,生成的哈希值就会变化,从而变成一个无效的数据。每一个时间戳会将前一个时间戳也纳入其随机哈希值中,这一过程不断重复,依次相连,最后会生成一个完整的链条。
五、Merkle树结构
区块链利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。Merkle树的叶子节点存储的是数据信息的哈希值,非叶子的节点存储的是对其下面所有叶子节点的组合进行哈希计算后得出的哈希值。
这几个概念是区块链的最基础的东西。想要了解区块链,就要先从最基础的开始。
区块链的工作原理
区块链究竟是如何工作的呢,假设A和B之间要发起一笔交易,A先发起一个请求——我要创建一个新的区块,这个区块就会被广播给网络里的所有用户,所有用户验证同意后该区块就被添加到主链上。这条链上拥有永久和透明可查的交易记录。全球一本账,每个人都可以查找。
区块链技术实际上是一个分布式数据库,在这个数据库中记账不是由个人或者某个中心化的主体来控制,而是由所有节点共同维护、共同记账的。所有的单一节点都无法篡改它。
如果你想篡改一个记录,你需要同时控制整个网络超过51%的节点或计算能力才可以,而区块链中的节点无限多且无时无刻都在增加新的节点,这基本上是不可能完成的事情,而且篡改的成本非常高,几乎任何人都承担不起。