Skip to content

Releases: OpenST/mosaic-contracts

Mosaic 0.10.0

03 Apr 12:31
91af118
Compare
Choose a tag to compare

[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

OpenST-Gateway v0.9.3-rc1

18 Jul 01:27
7e915cf
Compare
Choose a tag to compare
Pre-release

OpenST Protocol 0.9.3 further decentralizes the OpenST Protocol and improves the usability of the Protocol, as described below.

We introduce the concept of a gateway between the Ethereum value chain and OpenST utility chains. It consists of 3 elements:

  • A gateway contract on the value chain, also referred to as the “origin chain”.
  • A corresponding co-gateway contract on a utility chain or the auxiliary chain.
  • An ERC20 contract on the utility chain that mints and burns utility tokens for an equivalent value of ERC20 tokens staked and unstaked on the value chain in the gateway contract.

This release includes the gateway and usability enhancements.

To achieve atomicity when transposing tokens across a gateway, the Protocol combines a 2-phase commit-structure on the value chain (Ethereum) and the utility chain (OpenST) with a hash-timelock (HTL) in the contract.

The gateway relies only on Merkle proofs of the OpenST contract state the remote blockchain to prove user intentions. It enables any user to transfer (staking/unstaking) information between blockchains without relying on the signature of a trusted party in the gateway process. This is a decentralization improvement from the earlier versions.

We also introduce the concept of a “facilitator” to relieve the end-user from the requirement to be online and act on multiple blockchains. The facilitator stakes a “bounty” in order to act on behalf of the user. This bounty acts as an economic incentive that ensures compliance with the process, which obviates the facilitator from being a trusted party. A staked facilitator can complete a user’s request (and earn a fee upon completion - part of 0.9.4) This actor may be any third-party machine running an OpenST node, once the fee market is introduced. Currently OST KIT user interface and APIs function as a facilitator by handling staking and minting on behalf of OST KIT’s users on Ropsten testnet.

Detailed changelog here.

v0.9.2

28 Mar 17:41
62a46e7
Compare
Choose a tag to compare
v0.9.2 Pre-release
Pre-release

OpenST-Protocol v0.9.2 improves usability to facilitate application by the OpenST-Platform and other services. Additionally, this release increases test coverage, with additional unit and integration tests, and adds continuous integration with Travis CI.

For further details on changes in this release, please see the CHANGELOG.

v0.9.1 First deployment on Ethereum mainnet

21 Dec 16:27
d1b28e4
Compare
Choose a tag to compare

OpenST v0.9.1 is the first release deployed on Ethereum mainnet combined with the
activation of Simple Token to power the OpenST platform. The OpenST platform
allows Ethereum smart contracts to runs faster and cheaper while leveraging
the security properties of Ethereum's Proof-of-Work. In this release we implement
the first corner stone of the protocol: the ability to stake value on Ethereum
mainnet and mint a new representation of that value on a utility chain,
effectively increasing the computational throughput of Ethereum smart contracts
by allowing parallel execution across chains.

OpenST smart contracts have been restructured to store value separately from
the logic that implements the protocol. v0.9.1 is not yet protocol complete
as the validators are whitelisted and not yet open with stake put forward on
Ethereum mainnet. However, by splitting the protocol implementation into
these two logically separate problems, we can already start working with
member companies and developers to fine-tune the APIs and the developer
experience to build mainstream applications on Ethereum.

  Ethereum mainnet (value)   |  OpenST platform (utility)
  ---------------------------------------------------------------------
      Core - - - - - - - - - - - (Core)
      /                      |      \
     /                       |       \
  Registrar                  |  Registrar
    |                        |        |
  OpenSTValue                |  OpenSTUtility
    \_ SimpleStake           |    \_ UtilityTokenAbstract
                             |         \_ SimpleTokenPrime (base token)
                             |         \_ BrandedToken

OpenST protocol v0.9.0

08 Nov 00:16
Compare
Choose a tag to compare
Pre-release

Initial release of the OpenST protocol smart contracts as used in the demonstration video.