I enjoyed listening to episode 107 of the podcast “Epicenter Bitcoin” where Gideon Greenspan, CEO and Founder of Coin Sciences was interviewed about MultiChain. Gideon also writes a great blog. Here are my notes on parts of the podcast that I found particularly interesting. Misunderstandings and paraphrasing errors are mine.
Note: The term ‘miner’ is used frequently in the podcast but I try to refer to them here as block-makers or block-adders.
What does MultiChain do?
A brief history of Coin Sciences
Coin Sciences first built CoinSpark libraries and toolkits, which included a colored coins protocol, to add functionality to The Bitcoin Blockchain, similar to Open Assets. However, financial institutions didn’t like Bitcoin because:
- the technology was too new and immature
- miners are sometimes unknown, and with jurisdiction risk
- bitcoin and tokens are bearer assets, which governments and financial institutions (FIs) don’t like
- and regulatory uncertainties around Bitcoin the cryptocurrency
Large banks were interested in the blockchain technology but not the public chains. Banks were tinkering by taking the Bitcoin Core code and altering it to fit their purposes (which is not a public permissionless censorship-resistant bearer asset database). MultiChain was created to provide an off-the-shelf solution that FIs can take, configure and run. MultiChain is philosophically modelled after MySQL: users can take it, configure it, and run it.
MultiChain creates highly configurable private blockchains
MultiChain was inspired from the way Bitcoin worked, with some optimisations, and importantly users are given the ability to configure how their want their blockchains to behave:
- Everything is configurable (max block size (–> transactions per day), what type of transactions are allowed, metadata, etc)
- Permissioning layer – who can do what? (who can connect, send/receive transactions, who can administrate, issue assets, create blocks)
- The blockchain can create multiple assets rather than just a single asset (cf Bitcoin which can only natively support one coin – BTC).
Initial setup creates roles and permissions for each user, but these can be adjusted in-flight by consensus of a specified number of administrators, eg you can enable a new block-adder if 90% administrators agree. Six types of permissioned actions:
- connecting to a blockchain
- sending assets
- receiving assets
- issuing assets
- being an administrator (and a new ‘activate’ permission, a kind of admin lite, has been added since the podcast)
This allows different entities to perform different roles, eg auditors or regulators could be given connection access only and join the p2p network to monitor transactions.
No ‘core’ native coin
In a MultiChain blockchain you can create coins or digital tokens which have an immutable ownership history, which all nodes track and verify. However by default there is no underlying coin to pay transaction fees and to reward block-adders (cf BTC in bitcoin, NXT in NXT, ETH in Ethereum), although you can configure MultiChain to use one if you want.
Delivery vs Payment is built in
Assets or digital tokens are tracked similarly to Bitcoin: every transaction consumes inputs (where did this asset come from?) and results in outputs (who is the new owner?).
Additionally, a single transaction can reassign ownership of multiple assets in one bundle, which collectively succeed or fail. Furthermore, you can create swaps or exchanges of bundles of assets which are transacted simultaneously, known in the real world as “delivery vs payment” with bundles of multiple different assets being exchanged.
Blocks added via a randomised round-robin
Bitcoin’s computation-intensive Proof-of-Work solves for a Sybil attack in an anonymous network i.e. a small group of entities pretending to be a large group of entities who agree on something in order to spoof the system. With a permissioned blockchain where block creators are known and have to sign blocks that they create, you don’t have this problem so you don’t need a ‘difficult’ or slow mining puzzle.
MultiChain uses a randomised round-robin system for block-adders and a concept of mining diversity which is a configurable strictness on how long a block-adder has to sit out for after he has added a block, before the other nodes will accept another block from him.
- At one extreme of the scale (strictness of zero), any block-adder can add any block meaning it’s very tolerant but also increases the risk that a single block-adder or small group of block-adders can spoof the system.
- At the other extreme of the scale, (strictness of 1) once you have added a block, you have to let every other block-adder add a block before you can add again. This stops single or groups of block-adders from creating forks, but if a node goes offline then at some point no further blocks will be able to be added while the network waits for the offline node to add the next block.
- Strictness lets you adjust the balance between security and technical malfunction risk.
In a blockchain with known participants (asset owners and block-adders), competitive mining and confirmations is less important than in an anonymous public blockchain, because if someone tried to double spend, you know who they are and can take them to court for attempted fraud.
Without proof of work and censorship resistance, do we have anything new?
Yes, the key novelty is the ability to have a database shared by multiple entities who don’t trust each other, who all write to this database, without requiring a central party to manage it.
Public and private blockchains have very different use cases and solve a different set of problems. Bitcoin may end up as a decentralised global general repository of information, accessible to everybody, as a replicated permanent timestamp system. BTC may become the token that fuels this, like a pay to use system, rather than a store of value.
Transparency is a problem for industry blockchains
One of the roles of central entities is to act as a Chinese wall. Blockchains in their current form make the settlement transactions visible, and this is clearly a problem for an industry where you may not want a competitor to see your trade.
Strategies to attempt to fix this include “Confidential transactions” by Blockstream which hides quantities but not from and to addresses. Zero Knowledge Proofs are under investigation by various groups. Other potential solutions involve separating different parts of transactions and using hashes as references. Privacy vs transparency depends on the particular use case and what you need from your shared database.
Many industries could be impacted by blockchains
Any industry where multiple entities need to maintain shared record between them and currently use a central entity can be impacted by this technology:
- Finance, who have been following this for a while, due to Bitcoin as a currency
- Legal profession, as one of the functions of lawyers is to record and timestamp things
- Accountancy, as the auditor role could change
- Supply chain and Trade Finance
Still figuring this out, imagining a world with millions of blockchains, like databases or networks, not just a handful of big public blockchains.
Written with thanks to Gideon Greenspan for providing feedback for this piece.