[has had external security assessment]
Mosaic 0.10 significantly improves the atomic message bus. It removes any time-out logic when sending atomic messages between Ethereum mainnet and a side chain, making it fully asynchronous; instead a revocation message can be sent to attempt to intercept the message before it is executed on the target chain.
Notable changes:
- Gateways rely on StateRootProvider and are compatible with both Anchors and a PoS Metablockchain contract
- MessageBus now operates on a finite, a-cyclical state-machine, ensuring message delivery on the target chain
- Messages are now hashed following EIP-712 structured data
- OST is the base coin on the side-chain and can be wrapped to ERC20, so that the same gateway logic is used for the the base coin, as for all ERC20 tokens
- Facilitators can be rewarded for completing message transfers
- Lacking knowledge of the hashlock secret, messages can now be progressed using multiple Merkle Patricia trie proofs only
- Merkle Patricia Proof can now verify valid proof with extension nodes
- Anchor uses circular buffer (L=200) to optimise storage of historic state roots
for more details on changes see CHANGELOG