当下,区块链大火,简单记录一下自己学到的知识。
区块链,简单来说就是一种特殊的分布式数据库。区块链的主要作用就是存储信息,这一点就像数据库。但是任何人都可以架设自己的服务器加入区块链网络从而成为其中的一个节点,所有节点都是平等的。你可以向任何一个节点中写入数据,所有节点最后会同步记录保持一致。
区块链是无中心的,没有管理员。所有不可能被任何人任何公司控制。
区块链由若干个区块组成,就像数据库中记录的数据一样。每个区块包含区块头和区块体,区块头包含生成时间,实际数据的哈希,上一个区块的哈希等等,区块体则存放具体信息。
由于所有区块的信息必须保持同步,所以新区块的添加速度不能太快,不能一个新区块正在生成中而另一个新的区块已经生成,这样他就必须停下来先同步信息再重新开始。所以区块链的发明者故意使添加新区块变得特变困难,平均约10分钟才能生成一个新区块。只有通过极其大量的计算,才能得到当前区块的有效哈希,从而把新区块添加到区块链中。这个过程就叫做采矿(mining)。因为计算有效哈希的难度,好比在一片海滩中找到唯一一粒符合条件的沙子。计算哈希的机器叫做矿机,操作矿机的人叫做矿工。