【版本发布】aeternity发布Lima-5.0.0正式版本

请矿池运营方和所有节点运营方务必于2019年10月31日之前升级节点至Lima-5.0.0正式版本。

​​此次发布详情

本次Lima稳定版本引入了FATE VM,同时改进了状态通道。

更改日志:

  • 推出FATE。FATE初始版为VM版本0x05。

  • 链上通道未激活的情况下(已启动通道单独关闭序列,但通道还未关闭的情况),可执行Channel_close_mutual(通道双向关闭)交易。这是Lima版本硬分叉后的突破性共识改变。

  • Lima版本硬分叉后,当通道单方面关闭时,FSM状态通道接受关闭消息。

  • 引入AEVM版本0x06,Lima共识以后可用。此次是Fortuna共识引入的AEVM版本0x04的一次微调。

  • 扩展交易签名——同时支持交易哈希签名。由于交易的序列较长,使用交易哈希签名可以减少加密工作。

  • 删除旧状态通道链下交易类型,这种交易类型包含最新的状态哈希列表。Fortuna硬分叉和FSM生成新交易后,支持新交易类型。新交易将链下协议从链上协议中分离出来,并支持开发单独的链下协议,无需再将数据更新到链上进行排序。

  • 针对那些最新联合身份验证的状态通道,也就是基于旧版本的链下交易,我们建议用新的序列创建一个新联合身份验证交易。

  • 现在可以添加元数据对象(二进制类型)到链下更新传输请求当中。这些元数据类似命令的作用,不包括在签署的交易当中,也不影响链下状态树的发展。这是链下更新序列中的一个不兼容更改,但原来的链下更新可以仍然反序列化。当和运行旧版节点的一方创建通道时,添加version_offchain_update=1作为参数。

  • 删除用于迁移Roma数据库的rename_db迁移命令。

  • 删除自定义docker端口。运行带有额外参数的容器镜像,仍需运行默认命令,例如:docker run aeternity/aeternity bin/aeternity console -noinput -network_id ae_uat。详见相应文档:cat: docs/release-notes/next-lima/PT-168132312-new-name-hash: No such file or directory

  • 合约调用对象中没有错误消息-它们最终将达成共识。运行合约dry-run以获取详细的错误消息。

  • AENS预申明不再允许0用作salt值。

  • 新AENS哈希计算。

  • 新的治理功能,确定AENS是否可以直接声明或进行拍卖。

  • 新的治理功能,确定AENS的初始价格。

  • 新的AENS拍卖机制使用salt等于0。

  • 状态通道:更改配置选项名称,由ws_handlers改为sc_ws_handlers,正确显示SC WebSocket连接的限制应用。

  • 状态通道:现在可以通过返回错误代码来中止签名请求。

  • 状态通道:FSM现在保持活跃状态,直到在链上确认“关闭互助Close Mutual”(关闭)为止。也可以通过拒绝签名请求来中止/拒绝“关闭互助”。参见https://github.com/aeternity/protocol/blob/master/node/api/channel_ws_api.md#signing-error-replies

  • 状态通道:离开/重新建立后,链上tx监视存在中断情况。此问题已解决。

  • 状态通道:通过可选的固定环境增强FSM,以执行链下交易。这是为了改善达成链下共识,因为双方对被视为区块哈希分叉安全的一个共同看法。

  • 状态通道:介绍磁盘上状态缓存加密

o 当用户离开状态通道时,脱链状态将保留在磁盘上并受密码保护。使用state_password 参数打开通道时,用户需提供密码。

o 重新建立通道时, 必须 提供相同的密码,否则操作失败,并显示错误代码invalid_password。

o 密码 必须 至少包含6个字符。提供较短的密码显示错误代码invalid_password。

o 通道打开后,用户可以随时通过Websocket连接更改密码。请查阅文档以获取更多详细信息。仅当建立通道时才允许此操作。如果用户已离开通道,则必须先重新建立通道,然后再更改密码。

o 在Lima硬分叉之前,密码是可选的。如果不提供密码,则使用默认值:correct horse battery staple。Lima硬分叉后,密码将变为强制性。Lima版本之前的脱链状态将使用默认密码进行加密。

o 由于在Lima硬分叉之后用于加密持久状态缓存的密码是强制性的,因此在Lima之前打开的状态通道将使用默认密码。在websocket连接中不提供密码将导致missing_field错误。

o 请记住,具有直接RAM访问该节点的对手仍可能会窃取链下状态。此更改仅可保护状态免受直接磁盘访问的攻击。

  • 添加了用于在Lima版本的硬分叉期间部署合约(使用主网币)的基础结构。这将用于完成代币迁移。

  • 添加了在代币迁移第三阶段中添加的ERC20代币。

  • 根据https://hackmd.aepps.com/s/H1qF1w1j7的Pool D信息,向特定账户迁移初始(ERC20)代币总供应量的1%。

  • 将Lima版本测试网硬分叉高度设置为154300(2019年10月16日,世界标准时间09:00)

  • 将Lima版本主网高度设置为161150(2019年10月30日,世界标准时间13:00)

  • 将AEVM手续费费用与FATE保持一致。

  • 被呼叫合约使用FATE的ContractCallTX具有较低的基本成本(比调用AEVM合约便宜60%)。

  • 状态通道:状态缓存加密(在v5.0.0-rc.2中引入)的支持已被禁用。正在开发一种改进的方法,该方法将大大提高API的可用性。该功能预计将随v5.1.0一起发布。

  • 将顶级域名后缀从 .aet 更改为 .chain。

  • 更妥善地处理一些错误 illegal_salt_value。

  • 从Lima版本开始,在GAMetaTx中处理内部交易时可以捕获崩溃;即使内部交易崩溃,用户也应该为成功的身份验证支付手续费。

新节点能够从v4.*发行版本生成的数据库开始,否则此发行版本将不向后兼容。

原文链接:

https://github.com/aeternity/aeternity/blob/v5.0.0/docs/release-notes/RELEASE-NOTES-5.0.0.md

知乎专栏:Aeternity

微信公众号:Aeternity社群

社区进群请加微信号:abinble

知识星球:Aeternity