A Maintenance Release, Proof of Fraud Improvements and Better Consensus

Last week’s release was primarily a maintenance one, but the dev team managed to also work on Bitcoin-NG. Many improvements, fixes and better consensus!

In last week’s release, æternity’s team of developers fixed a number of bugs, improved the efficiency of the sync, added patches to improve the resistance of our consensus algorithm against DoS attacks and further enriched the API.

More specifically, the following features were implemented and merged into æternity’s master:

Added on-chain forcing of progress for channel off-chain contracts. This impacts consensus. [ref], [ref]

Enriched HTTP API for fetching contract proof of inclusion with including contract’s account as well. [ref]

Improved stability of HTTP API [ref], [ref]

Fixed coinbase instruction in AEVM. This impacts consensus. [ref]

Made it possible to use absolute TTLs in the Sophia oracle API. [ref]

Improved channels’ WebSocket client stability. [ref]

Enriched channel WebSocket client opening with the functionality of the initiator giving the responder a certain amount of tokens in the initial channel state. This is an act of a good will and can as well be 0. [ref]

Clarified in the user HTTP API that the oracle extension TTL must be relative. [ref]

For better usability, we replaced $ prefix delimiter in addresses with “_” with “$” character. A double-click will not select the whole address. [ref]

Improved checking and validation of gossiped light micro blocks. [ref]

Changed /key-blocks/pending endpoint — the pending key block is returned even when the node is not mining. [ref]

Removed pow and nonce from pending key block and genesis block returned from HTTP API. [ref]

Added /key-blocks endpoint for posting mined key blocks. [ref]

Simultaneously, we have been finalizing Proof of Fraud for Bitcoin-NG, which we put a lot of thought, work and testing into to make sure that it works as expected. It’s particularly important that this innovative implementation of Bitcoin-NG functions well, as it must safeguard the æternity blockchain from attempts to cheat consensus.