区块链的技术核心是什么?
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 区块链技术核心 简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。 或许以上概念过于抽象,我来举个例子,你就好理解了。 你可以想象有100台机器之间的网络是广域网,并且,这100台机器的拥有者互相不信任。那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。区块链就是为了解决上述问题而产生的技术方案。 散列函数 区块链技术的一个重要组件是将哈希函数用于许多操作。哈希是一种将哈希函数应用于数据的方法,其为几乎任何大小的输入(例如,文件,文本或图像)计算相对独特的输出(称为消息digest,或仅仅是digest)。它允许个人独立地获取输入数据、散列数据并得出相同的结果 - 证明数据没有变化。即使对输入的最小改变(例如,改变单个位)也将导致完全不同的输出