正是因为区块链由上述技术构成,其所体现出来的技术也具有相应的特点,主要有数据可信及验证去中心化、过程可追溯、多机构协作机制、高可靠性。
区块链是由一系列存储区块组成的,并通过哈希值将各区块构建成链式结构,实现防篡改。区块链中的每个区块头包含了上一个区块数据的哈希值,这些哈希值层层嵌套,最终将所有区块串联起来形成区块链。区块链里包含了自该链诞生以来发生的所有交易信息,因此,要篡改一笔交易,意味着要将其之后的所有区块的父区块哈希值篡改一遍,这需要进行大量的运算。如果想要篡改数值则必须靠伪造交易链实现,即保证在正确的区块产生之前能快速地运算出伪造的区块。同时,在以比特币为代表的区块链系统中要求连续产生一定数量的区块之后,交易才会得到确认,即需要保证连续伪造多个区块。只要网络中节点足够多,连续伪造的区块运算速度都超过其他节点几乎是不可能实现的。还有一种可行的篡改区块链的方式是某一利益方拥有全网超过50%的算力,利用区块链中少数服从多数的特点,篡改历史交易。然而在区块链网络中,只要有足够多的节点参与,控制网络中50%的算力是几乎不可能做到的。即使某一利益方拥有了全网超过50%的算力,则其作为既得利益者其只会更坚定地维护区块链网络的稳定性。
由于区块链系统中的任意节点都包含了完整的区块校验逻辑,因此任意节点都不需要依赖其他节点来完成区块链中交易的查验确认过程,也就是无须额外地信任其他节点。
在区块链中,发生的任何一次数据处理和存储都是有完整记录的,在区块链上发生的整个数据处理和交易过程被以类似“日志”的形式完整记录下来,且这种“日志”是不可更改的。因此,区块链具有过程可追溯的特点。
区块链系统作为一个典型的去中心化系统,避免了中心化系统的权力过于集中、数据难以使用、系统抗攻击能力差等弊端,网络中所有节点对数据的处理都是通过共识机制来实现的,共识算法保证了在所有节点间的一致性,从而协调参与各方的规则,方便多个机构间协作。
在区块链中,每个节点对等地维护一个账本并参与整个系统的共识机制。也就是说,如果其中某一个节点出现故障,整个系统仍能够正常运转,这就是为什么我们可以自由加入或者退出比特币系统网络,而整个系统依然工作正常。区块链系统支持拜占庭容错。传统的分布式系统虽然也具有高可靠性,但是通常只能容忍系统内的节点发生崩溃现象或者出现网络分区的问题,而系统一旦被攻克(甚至只有一个节点被攻克),或者说修改了节点的消息处理逻辑,则整个系统都将无法正常工作。