主链分叉
从block hash算法我们知道,合理的block并不是唯一的,同一高度存在多个block的可能性。那么,当同一个高度出现多个时,主链即出现分叉(Fork)。遇到分叉时,网络会根据下列原则选举出Best Chain:
1、不同高度的分支,总是接受最高(即最长)的那条分支
2、相同高度的,接受难度最大的
3、高度相同且难度一致的,接受时间最早的
4、若所有均相同,则按照从网络接受的顺序
5、等待Block Chain高度增一,则重新选择Best Chain
按照这个规则运作的节点,称为诚实节点(Honest Nodes)。节点可以诚实也可以不诚实。