区块的单向链接性和最长链原则
区块的单向链接性
在比特币系统的区块设计中,除了创世区块外,其它区块里的区块头都含有上一个区块的哈希值(即父区块哈希值),比如一号区块的标识值就是创世区块的哈希值。因此,只有区块的标识值对上了上一个区块的哈希值,两区块才会链接在一起,区块之间的链接就这样非常有秩序地、按照前后顺序持续下去。
最长链原则
比特币系统采用工作量证明的共识机制,把区块链接成最长的链就意味着最大的工作量,也就是获得大多数人的认可。所以节点始终视最长的链条为正确的链条,并持续工作和延续它,只有在最长的链条上挖矿的矿工才能获得比特币奖励。
另一方面,如果有两个矿工同时挖出区块,其它节点会到最先收到的区块上进行工作,这样就存在暂时保留的两个链条。当下一个新区块产生,链上其中一个链条使其变长,系统就会根据最长链原则进行取舍,那么在另一条分支链上工作的节点就转移阵营,到较长的链条上继续挖矿工作。最长链原则有利于维护比特币系统账本的唯一性。
不可篡改性与不可伪造性
不可篡改特性
工作量证明、UTXO账户模型等,不仅使得每一笔交易的数据都真实地记录在区块里,还设置了巨大的篡改门槛。如果有人想做假账,那他必须挑战整个比特币系统,进行共识攻击,即把大部分矿工的算力掌握在自己手里(至少51%以上的算力),才能让篡改的区块替换正确的区块。而这样的51%攻击,所付出的金钱代价是非常巨大的,也是得不偿失的做法,所以谁都不会去做、也无法做到这种篡改比特币账本的事情。
*51%攻击
所谓51%攻击,就是说在比特币网络里,有人的算力超过全网的51%,从而具有了篡改系统交易的能力。如果某个居心叵测的节点想发起51%的攻击,他要么是一个超级大矿池,聚集了全网绝大多数的算力;要么是一个超级富豪,愿意花巨资购买足够多的设备来掌管整个网络。
但这样的条件在现实中几乎没有人能做到,就算有人做到了,使得比特币系统可以篡改交易或发动“双花”现象,但整个系统就会让用户失去信心,比特币的价值将一落千丈、最终一文不值。那么这样的51%攻击就变得没意义了,还不如之前的收益大,所以有理性的人是不会发动51%攻击的。
不可伪造特性
比特币是通过算力竞争的挖矿产生,然后通过UTXO结构在系统中流动起来,致使每一枚比特币都可以追溯到其诞生时候的那个区块。这样完美的设计完全确保了比特币的不可伪造性,使得所有比特币的来源都必须来自某一个或几个交易的UTXO,从来不会在系统中途安插进来一个比特币。