主要记录个人对区块链的理解与心得,水平有限,如有错误或不准确的地方,欢迎指正
区块链的应用场景很多,账本共享,公正记录,众筹,数字资产等等。现在火热的数字货币只是其中的一个典型场景。
简单来说,区块链是由包含信息的区块从后向前有序链接起来的数据结构。如何保证这个区块链的有序和不可更改,就是区块链最精华的地方;解决方案就是每个区块都保存着上一个区块的Hash值。Hash是一种散列技术,通俗理解,就是将不同的输入散列成固定长度的输出。好好理解一下,是不是感觉设计很精妙,因为每个区块都保存着上一区块的hash,所以本区块的hash不可能和之前的任何区块hash相同,如果我改动链条中间区块的内容,那么区块的hash值必然改变,所有后面区块的hash值也都将改变,这个代价是巨大甚至不可能完成的。
为什么说修改区块的代价是不可能完成的?因为区块链网络是一种去中心化的网络,所有按照指定协议来运行的节点都保存着区块链的完整数据,想要修改一份数据,就得修改全网络节点的数据。
问题来了,如何生成新区快,谁来生成新区块,以及同步新区块?下文理解挖矿与共识;
领取 专属20元代金券
Get大咖技术交流圈