CoinGeek are launching a contest to shape the next evolution of the Bitcoin Cash blockchain, accelerating it away from a simple cryptocurrency solution into the cornerstone of the globally distributed economy.

This paper defines the scope of the challenge for interested participants.

Background

In the short life of Bitcoin Cash, it has already demonstrated that the vision contained within the original Satoshi white paper can be realised and delivered on the network.  On-chain scaling is possible using today’s technology.

This opens up the opportunity for the blockchain to be used to support a broader range of transactions than simply payments in the native cryptocurrency.

Supporting broader transactions

Two key elements are fundamental to opening up these broader transactions:

  • Tokenising external assets; and
  • Expanding the use of the transaction scripts.

Tokenization

Digital tokens are key to supporting a broader range of transactions as they allow an asset that exists in the real world (or at least not on the blockchain) to be represented within a blockchain transaction.  In turn, this permits those assets to be used within transactions.  On a blockchain, digital tokens are typically executed with attempted forms of smart contracts.

The key point about tokens is that they have a life cycle of their own.  Whilst the details of the life cycle change depending on the nature of the token, in general this can be summarised as:

  • Creation;
  • Issuance;
  • Trading; and
  • Redemption.

Tokens themselves come in a variety of shapes and sizes.  Some may be indivisible – for example the title deeds to a property (at least under the current model of property ownership), whilst others may be capable of being sub-divided (for example 1,000 barrels of oil).

Some tokens could be traded openly (for example 10 ounces of gold) whilst others may have restricted trading (for example the ticket to the Superbowl).

Tokens might be single use (for example a ticket on a train) whilst others might be usable on multiple occasions (for example a season ticket on a train).  Even here, there may be different behaviours where a multiple use token might only permit a single use at a time (for example the season ticket can only be used on a single journey at the same time) whilst another might allow multiple simultaneous uses (for example a streaming subscription that might allow multiple channels open at a time).

All of this behavioural metadata needs to be stored within the token itself, in a secure and unalterable manner, such that other users need only deal with the blockchain (rather than side solutions) in order to manage the usage of such activities.

Expanding the use of the transaction scripts

Most transactions on the blockchain today have very simple locking / unlocking combinations solely based on the presence of the number of signatures supplied.

Even with the current restrictions on the operation codes available (restrictions that the community is actively working on addressing in future protocol upgrades starting from later this year), there is more flexibility in the scripting language than is currently being actively used.

Once tokens are embedded within a transaction, this expanded range of operation codes may be needed to handle some of the tokenisation aspects.

Current state of the art

The current state of the art around tokenisation with regard to the Bitcoin-derived blockchain networks is best captured in the “coloured coins” for which there is significant online material.

Other chains that have been optimised for use with tokenisation (frequently used for Initial Coin Offerings – ICOs) also have a great deal of public material, and typically depend on attempted smart contract solutions.

None of these solutions have yet created the optimal solution with them all struggling with some or more of the following:

  • Poor scalability;
  • Lack of documentation and / or controls;
  • Limited auditablilty;
  • Little transparency; and
  • Prone to token loss.

The challenge

The challenge for participants is to design a generic system, or suite of interacting systems that deliver the following:

  • An Issuer solution that permits an entity to:
    • Securely create tokens;
    • Issue tokens to user’s wallets;
    • Redeem tokens from users; and
    • Securely destroy tokens back into the originating cryptocurrency at the end of that token’s life cycle.
  • A user solution that either plugs into their existing crypto-currency wallet, or sits alongside that wallet, that allows the user to view their current holding, trade their holding (as permitted within the token’s own metadata) and redeem their holding.
  • An audit solution that allows a third party to securely and independently validate the status of all issued tokens on the blockchain.  This solution may require a seed value to be supplied by either a user or the Issuer to permit such an audit to occur.

The solution must be provided with supporting design documentation, as well as working code that shall include source code.   The solution may (but is not required to) involve execution of a smart contract solution on the blockchain.

Use of nChain Intellectual Property Assets

CoinGeek will provide participants in the challenge with access to, and licences (limited for use on the Bitcoin Cash blockchain), to use certain assets from nChain’s patent portfolio for use within their solution.   The list of designated assets from nChain’s patent portfolio will be provided to entering participants, upon completion of the entry registration process and acceptance of the Contest Rules and any competition agreement.

It should be noted that participant’s solutions will be evaluated both on how well their solution meets the stated objectives, and their effectiveness in making use of some or all of nChain’s designated intellectual property assets.  However, CoinGeek encourages creativity and new ideas, such that entrants are not required to use nChain’s designated intellectual property assets.