【9月末技术周报】状态通道、VM、Mempool和性能改进


#1

上周,GitHub更新了最新的测试版本0.23.0。该版本专注于Bitcoin-NG防欺诈证明。

正如我们在上一篇文章中所报道的那样,此版本的最大贡献是防欺诈证明(PoF)协议,该协议负责报告在区块中创建分叉的恶意挖矿领导者。

此外,此版本还实现了与状态通道、mempool、虚拟机和性能相关的众多功能。这些更新包括:

  • 将难度从浮点数更改为整数值,如P2P消息PING和节点状态所示;
  • 每个微块添加固定的Gas燃料费限制;
  • 向所有交易添加固定Gas燃料费(合约创建和合约调用交易使用执行所需的固定Gas燃料费);
  • 修改mempool以选择最高达每个微块的Gas燃料费限制的事务;
  • 通过将版本字段缩小到32位,并通过引入32位的标志字段来重构标头的序列化格式;
  • 更新状态通道的有限状态机(也称为FSM),以便在检测到有人试图关闭链上通道时立即终止它;
  • 为Sophia字符串添加内置函数String.length和String.concat;
  • 修复一个Sophia错误,其中None与Some(x)模式匹配;
  • 将VM生成的事件(日志)添加到调用状态树;
  • 如果当前正在执行的帐户的余额未涵盖操作数,则修复AEVM CALL指令以在堆栈上放置0(而不是1);
  • 修复Sophia AEVM原语操作,检查当前正在执行的帐户的余额是否覆盖了指定的值 - 无论原始操作是否使用该值;
  • 修复影响大代(> 64K)同步的错误;
  • 将Sophia值编码/解码从AEVM字节码移动到Erlang代码。这会影响共识;
  • 在合同中更有效地执行一些与链相关的指令;
  • 通过使用当前微块的时间戳使TIMESTAMP指令具有确定性;
  • 通过使用前一个键块的难度使DIFFICULTY指令具有确定性;
  • 使oracle VM原语操作的Gas燃料费成本与状态树上的对象(oracles,查询,响应)的TTL成比例;
  • 提高用户HTTP API的稳定性;

请一如既往地关注Pivotal Tracker的开发进度,下一个测试版本0.24.0预计在10月11日。