Wednesday, November 2, 2016

Why is everyone so excited about ZCash?

There has never been a crypto-currency with a launch like ZCash  has had.  It has been in existence for less than a week and it is already making headlines around the world (www.coindesk.com)

It took Bitcoin 4 years to reach a price of US$1216.73 (and it is currently trading well below that).  It took ZCash just a few hours to reach a price of US$2.3 million per coin.  Even now, less than a week after its launch, it is still trading at more than 1 BTC for 1 ZEC.

So what has caused all the hype?  Why are people so interested in this particular crypto-currency?  There are hundreds of others to choose from, why has ZCash risen head and shoulders above the rest?

For a start, the team behind ZCash is not your typical let's-fork-bitcoin-and-create-a-new-crypto-currency team.  Zooko Wilcox-O'Hearn, the founder of ZCash, is a cryptographer with decades of credible experience.  



He is part of the team that developed BLAKE2, a cryptographic hash function that aims to replace the widely used MD5 and SHA-1 algorithms.  He has worked over the years with many of the big names in the crypto-currency world and was working on virtual currencies before Satoshi's seminal whitepaper on Bitcoin.

Zooko has put together a team of dedicated cryptographers and computer scientists who have been working for several years on this currency.  They have had a clear strategy towards the final launch which happened on the 28th October 2016.

While all of that is impressive in itself, it is ZCash's ability to provide confidential transactions on a blockchain using Zero Knowledge Proofs that is the fundamental shift.  This allows the blockchain network to validate a transaction without needing to know all the details of the transaction.

One of the problems with Bitcoin is that every transaction is mapped to its previous transaction.  Every transaction contains provenance, or history.  Each bitcoin or piece of a bitcoin can be traced back to its origin.  If at any point in time, it can be shown that a piece of a bitcoin passed through the hands of a drug dealer, or a money launderer then that piece of a bitcoin becomes tarnished by its history.  

Certain counter-parties don't want the reputational risk of holding tarnished coins in their portfolio and are prepared to pay a premium for newly minted bitcoin with no history.  (Mint exchange).

ZCash provides a mechanism to hide the source of a transaction.  This means that every coin on the ZCash network is equal to every other coin.  No coin can be tarnished by its history.  In the words of the ZCash team - "All coins are created equal".  This is the first fully fungible crypto-currency. 

And that, more than anything else is the reason that ZCash will remain head and shoulders above all other crypto-currencies.  


Tuesday, October 18, 2016

As a banking consortium why did we choose Ethereum over other blockchains


We've always said "You can't spring a blockchain on anyone".  Blockchains by their nature are more secure, more reliable and therefore more useful as more nodes connect to them.

In the consortium space, the same is true.  You can't build a blockchain on your own.  As financial institutions in South Africa, we came together several months ago to start working on a blockchain that we could all use to test concepts, experiment with technology and understand the implications of working across a number of institutions on a distributed shared ledger.

The first question we had to ask ourselves was "What blockchain do we use?"  This is not a trivial question.  There are a number of options that we looked at.  We used various questions to build a filter through which we examined the blockchains on offer.

Is this a "free to use" (i.e. open source) product?


While we as banks generally don't use open source products and look for licensed products because of the support, quality etc that is included with those products, this project was different.

  1. We were not looking to build a production system, we were looking to pilot a number of concepts
  2. The licensing costs become prohibitive as the number of institutions wanting to get involved increased
  3. This is such a new technology that we felt that paying for a product that was still being developed was not ideal

This ruled out a number of solutions that were technically sound but either had prohibitive licensing costs and/or limited access to the source code.

Can this be used for banking transactions?


While bitcoin is the biggest blockchain network out there, the bitcoin protocol is not designed for banking transactions.  The bitcoin network works brilliantly for bitcoins.  It is a single asset blockchain and does payments extremely well.  The problem is that the majority of banking transactions involve more than one asset.

  • Bank 1 purchases a bond from Bank 2 for x million.  
  • Bank 1 places a Treasury Bill with the Central bank on repo for 1 week and then settles with interest on maturity of that repo agreement.
We needed a blockchain that supported contracts and multiple asset types.

There was an option to look at Counterparty style assets on the bitcoin blockchain, or use coloured coins, but these were not ideal solutions and there is limited smart contract support.

Blockchains like MultiChain, while they are simple to use, did not have contract support.

So we ruled out a few blockchain solutions where there was limited support for contracts and/or no multi-asset features.

Are there development tools that support the blockchain?


While there are many blockchains out there, not many have a mature set of development tools to support them.  As a developer, building on top of blockchain, you still need to be able to:
  • Create code (contract code in the case of blockchains)
  • Test that code
  • Put the code into source control
  • Deploy the code (core blockchain code as well as contract code) into a test environment
  • Deploy the code into a production environment
  • Monitor the blockchain and monitor the contracts running on the blockchain
Most blockchains are still new (the bitcoin blockchain has only been running since 2009 and it is the oldest blockchain out there).  The tools supporting those blockchains are even newer and in many cases are non-existent.

Is there a community around the technology?


This was probably the most important question we asked.  Because of the network effect of blockchains, the more people working on a blockchain, the more other people will want to work on that blockchain.

Many blockchains listed on coinmarketcap for example have small teams working on the technology.  Some of the bigger cryptocurrencies have larger teams (bitcoin and litecoin for example).

The one community that has really exploded in the last year is the Ethereum community.  It is also an extremely diverse community.

The Ethereum foundation is focused on the core technology.  There are multiple teams working on multiple client implementations (Geth, Parity, CPP etc).    There are language experts working on JIT compilers and interpreters.  Dr Greg Colvin for example has been working for years on various compilers and is now involved in fine tuning the Ethereum Virtual Machine (EVM) interpreter



Companies like ConsenSys, Monax Industries (Eris) and IPFS are working on applications based on Ethereum.

Banks and banking consortia are using the platform and contributing back to the platform.

The community is vast, specialised and growing and was one of the main reasons why we decided to put Ethereum at the top of our list.

Conclusion

While this technology is still very new, the landscape is already starting to take shape.  In our view, Ethereum ticks all the boxes when it comes to a blockchain technology that can easily be used by a banking consortium.  
  • It is free to use (with full access to the source code)
  • It supports multiple assets
  • It supports contracts
  • It has a great set of tools
  • It has a vast and growing community developing around it