我认为是这样的,不晓得对不. 交易是广播给全网,但只有100个当前获得记账权限的节点NODE1- NODE100才接收交易清单,如当前轮到NODE 5 记账,记完块一发布,如果发现和其余51个节点对不上.
1.NODE5 发布的区块被否决;
2.NODE 5 被记大过 ,被踢出代表队伍.
3 NODE X马上生成新区块.
对上了把区快全网发布。
以上算法问题是,
1.51%攻击仍然有效.
2.如果实际控制了31% 节点.让别的40% 机器被DDOS攻击,是可以30台机器联合造假的. 实际概率很小(无IP记录,HASH值)。但时间久了,长期轮守的NODE,获取这些NODE IP是可能的。
我觉得系统还是应该有套应急机制, 建立分级候选代表制度(500NODE),这些代表平时可以接收交易清单缓存,记录但不记帐,对效率没有影响。一、随时进入100代表。二、是应急情况启动扩大代表投票(牺牲效率)。
1.新区块产生了60:40,或者80:20等反常情况。
2.10个以上的代表NODE无响应.
3.记帐记录3个以上节点出现相互混乱。
4 .连续轮换3个代表,多长时间,均不能产生新区快。
以上的阀值,触发应急系统,100个代表,扩大到600,替补代表参与区块产生,直到大于51% 达成一致。