Since the alpha release of the testnet, we have been working on a number of things and have two new exciting items to share:

  • Successful early experiment in settlement agent infrastructure where we sent the current testnet’s CRO tokens and received testnet ETH;
  • Hierarchical, deterministic wallet implementation and the registered coin type for hardened derivation.

Testnet CRO-ETH Settlement

The concept of “settlement agents” was introduced in earlier published materials on Chain (e.g., Chain general whitepaper and technical whitepaper). To recap, settlement agents act as intermediaries that facilitate payments across different currencies (fiat or cryptocurrencies). Simple as it may sound, being a settlement agent captures a lot of complex functionalities, including but not limited to:

  • sending payments on different networks other than Chain;
  • receiving payments on different networks other than Chain;
  • mapping concepts such as amounts or addresses across different ledgers;
  • providing a token exchange for an agreed rate;
  • providing a price discovery functionality.  

This type of settlement functionality is also relevant for Pay, our mobile & desktop crypto payment solution (see Pay home page for more information). In the short-term, Pay will provide settlement via its ad-hoc, off-chain payment processing. In the long term, Pay aims to switch to Chain network and replace this settlement-related functionality with more robust and scalable alternatives.

In our search for viable alternatives, we have found that Interledger Protocol offers some of the desired functionalities:

  • Open and standardized, not tied to any specific currency: Coin (CRO) can be easily used as a medium of value exchange; anyone can easily add their currency by implementing a settlement engine that works with payloads of the same standardized schema.
  • Operable with both cryptocurrencies and centralized ledgers: this feature is key in helping Chain interoperate with fiat to build a holistic ecosystem.
  • Simple tools with broad applicability: Instead of having a plethora of ad-hoc ways and tools for sending and receiving payments, one could use the same tools with plugins that work on standardized Interledger payloads.
  • While Interledger does not specify dedicated exchange functionality (e.g. order books), it has a pluggable mechanism for setting exchange rates, so different exchange infrastructures could be tried and developed.

To illustrate this functionality, we have implemented a proof of concept demonstration where we successfully exchanged testnet CRO tokens for Ethereum. You can find the code here:

HD Wallet

We have enhanced the client with the implementation of the hierarchical deterministic (HD) wallet. The implementation is BIP44-compatible, similar to most wallet software, bringing the following new features on board:

  • Abstracting over common operations: the client could further be enhanced with supporting hardware wallets etc. in the future.
  • Wallet backup and restoration possible using BIP39 mnemonic codes.
  • The registered coin type index for Coin (CRO) has this constant: 394 (0x8000018a).

The client user interface has related updates:

  1. provides additional HD wallet-related commands and,
  2. requires an extra argument in wallet creation to specify the wallet type.

Coming Up Next

We have been working on improvements and functionalities for the next alpha version release of the public testnet, which we plan to deliver by the end of this year. These updates include:

  • Experimenting with incentive mechanisms related to staking operations;
  • Multi-party operation of the council nodes, so that the existing and new partners can start testing their setups.