共识算法就是指让区块链内容所有人区块认可新增的区块。目前有两种比较核心的共识算法:异步拜占庭共识模型(BTF共识模型)和比特币共识模型。
BTF共识模型:目前针对于应用在小型网络里的包容恶意节点的共识模型。BFT共识里恶意节点可以一直拒绝相应而诚实节点还需要一直等它(因为不知道它是不是恶意的)。
比特币共识模型:模型中有公认的“价值”,每个节点说话都需要一定代价,诚实节点会受到奖励,而恶意节点由于只付出代价而收不到奖励,变相受到了惩罚。比特币共识算法是可以应用于成千上万个节点,任何人随时都可以加入,不需要预先在网络里注册自己的身份(而BFT算法里,网络中节点的数量和身份都必须是已知的)。比特币共识是最长链共识,是允许分叉。如果出现分叉,那么判定的标准就是看谁的链长谁就是真的。
借用网上的段子:
BFT共识和比特币共识的区别可以这么理解:
BFT共识:来,大家开个会讨论一下集思广益啊,讨论出大家都满意的结果为止。
问题:开会的效率大家都懂,人越多越不容易出结果。只能用于少数节点,用于上千个节点的话……大家想象一下一天开一次人大的场景。
比特币共识:你的诗念得不错,组织已经决定了,今天就你来当领导了,做得好有奖,做不好扣钱。
问题:奖励几千块钱还好,奖励几分钱谁好好干?
以上三篇文章是我学习了区块链后对区块链的初识。认识肯定不够深刻,随着深入理解内容可能还会随之变化。