1 技术特性
区块链其实是一种分布式 KV 数据库。
1.1 去中心化
去中心化只是一个理想化的状态。现阶段来说区块链去中心化本质上是相对去中心化。
1.2 可追溯性
对单个节点来说,区块链可以被认为是一个时序数据库.
单个区块链节点中的数据是按时间的先后顺序串联存储的,而串联的关键就利用了密码学中的哈希算法。
哈希算法可以把一段数据变换成固定长度的数据指纹。将前一时间段的数据指纹与后一时间段数据整合在一起。周而复始,后一时间段内的数据永远都会包含前一时间段的数据指纹,这样就形成了一条由数据指纹串联的信息链条。

如果有一个作恶者想要修改中间某一时间段的数据,那么依照哈希算法原理,其对应的数据指纹则会改变。因此他不得不依次修改后续的每一个时间段的数据,否则数据链条就会在他修改的这一刻断掉,不再具备可追溯性。
1.3 不可篡改
所谓篡改,就是私自的不被认可的修改,而不是不能修改。
在区块链中,实现不可篡改需要两种技术来保障:密码学 & 共识算法
共识算法: 保证整个系统的数据不被篡改。所谓共识,就是在一个分布式系统中保持数据的一致性,而如果出现数据不一致,大多数共识算法都遵循少数服从多数的原则。区块链网络中的每一个节点的数据都是一致的,作恶者只是篡改了自己维护的单个节点,从整个网络的维度来看,依旧是以大多数节点的数据为正确数据。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223313.html原文链接:https://javaforall.net
