1.一种区块链节点本地安全记账方法,其特征在于,包括:
对共识区块的历史状态变化记录进行递归散列,计算累积摘要,生成链式结构IndexList,所述状态变化记录产生自联盟链中任意一次表决生效产生的联盟链状态变化;
所述链式结构IndexList保存了数据状态变化路径;对于链中每个元素Index,都存储本次状态变化记录及上一个索引元素的摘要值;如果所述联盟链一个共识节点投出一个共识输出值,则本时间片内不再投出任何其他共识输出值。
2.根据权利要求1所述的方法,其特征在于,所述链式结构IndexList形成可追溯的有效性状态变化历史轨迹,用于确认上一次状态变化结果,并隐式校验之前所有状态变化记录的完整性。
3.根据权利要求1所述的方法,其特征在于,所述状态变化记录采用二元组
4.根据权利要求3所述的方法,其特征在于,仅当半数以上的成员节点投出一项共识输出值时,该共识输出值才获得本轮记账节点通过。
5.根据权利要求1所述的方法,其特征在于,如果一个时间片内,节点未表决通过或被通知通过一个表决成功的共识,则节点生成一个空的索引元素链接到本地IndexList副本中。
6.根据权利要求2所述的方法,其特征在于,当节点发生故障并重启后,首先计算当前lunt,并计算上一个lunt所映射的表决群组成员,向所述表决群组成员发送请求同步广播,将本地IndexList合并到联盟链主账本。
7.根据权利要求1所述的方法,其特征在于,还包括:
每次新建一个子链,都为其分配对应的首轮记账节点,用于将联盟交易记录打包成区块;在每个子链中设置协调节点,所述协调节点统计来自有效性表决成员关于一项共识的表决结果。