In a nutshell: Eris (Epicenter Bitcoin interview – Jan 2016)
I enjoyed listening to episode 112 of the podcast “Epicenter Bitcoin” where Casey Kuhlman, CEO of Eris Industries was interviewed. Here are my notes on parts that I found particularly interesting. Misunderstandings and paraphrasing errors are mine.
If this is hard to follow, it may be helpful to read my introductions to blockchains, bitcoin, digital tokens, and smart contracts first.
Eris is a platform for building blockchain applications
Eris is some open source software that developers can run on their computers which makes it easy for them to interact with blockchains (start, stop, connect, disconnect and create from scratch etc) in a standardised way, so they don’t have to learn new commands when switching from one blockchain to another. Eris manages the complexity of each individual blockchain type, letting developers focus on building their app.
When you run Eris, you can connect it to existing public or private blockchains, including The Bitcoin Blockchain, The Ethereum Blockchain, Zcash, and others. If you want to make your own private or internal blockchain, Eris also has its own blockchain-management component called Eris:db which can create permissionable blockchains at your command.
Eris:db is a smart contract-enabled permissionable blockchain management tool
Eris:db can create smart contract-enabled blockchains where read and write access can be controlled and limited to certain users.
The component which executes the smart contracts is the Ethereum Virtual Machine (ie eris:db understands the same smart contracts that run on the public Ethereum blockchain).
The block-adding-rights mechanism (ie who gets to add the next block?) is based on Tendermint, a proof-of-stake model. (cf Bitcoin which uses proof-of-work which can result in an arms race of electricity consumption, however this is not necessary or useful in a private-blockchain environment).
Eris:db differs from other blockchain clients (eg bitcoin, ethereum) as the code has been re-engineered, teasing apart the various functions to make it more modular, perhaps making upgrades easier in future. The modules are:
- The virtual machine (the interpreter of the smart contract code)
- The consensus mechanism (the procedures around how blocks are added and how the network comes to agree on a state)
- The cryptographic components (the signing of transactions, data, and blocks)
Legal contracts can use smart contracts for execution of processes
Some definitions:
- Legal contract = A document which a court can understand (and includes an offer, acceptance, consideration).
- Smart contracts = Scripts or code saved on a blockchain. Nothing necessarily to do with the legal system.
You may be able to build a smart contract to fulfil some of the requirements of a legal contract. However a legal contract will probably still win in case of dispute.
Concept of “Dual integration” where a legal contract points to a blockchain and says this part of the agreement is being tracked and executed on blockchain x with smart contract y.
Blockchains are useful for business process improvement
Existing technology solutions are fully under the control of one enterprise (whether that’s an entity, a business, or a company). Business process software’s challenge is that it can’t be run on metal outside of the control of the organisation, meaning the verifiability of anything going on is called into question, and each organisation in a chain needs to verify facts independently. The automation stops at the door of the enterprise, and entities can only automate the processes relevant to them, so there needs to be inter-entity reconciliation which is a cost.
With smart contracts, for the first time, you can build business process automation software that cuts across different stakeholders, and can be relied on by all. Blockchain technology can get everyone looking at the same core data set.
Clearing and settlement is a difficult first use-case
Banks sharing a blockchain and optimising clearing and settlement is a difficult first use-case:
- Performance challenges – slow cf traditional solutions; speed is important for trading systems
- Cost of change to implement solution: does the benefit exceed the cost of change?
- Onboarding multiple entities – challenge with privacy (blockchains are transparency machines)
Public sector use cases are more interesting
In the longer term, public sector use cases are interesting. Why? Multiple entities (public sector, and sometimes also private sector) pool their money, administered by an accountancy firm, distributed to general contractors, who hire sub-contractors. Money flows down, reporting flows back up.
The process can make use of the notary, transparency, and business process logic in blockchains. This makes use of positive aspects of transparency, rather than trying to solve for privacy (eg “bond chains”). Benefits to transparency in public projects.
Business opportunities are mostly in the application layer
Blockchains (consensus, database, and virtual machine) are infrastructure-level technology, and open-sourced infrastructure tends to be more successful. Monetising open source can be done, and usually falls into two categories: “pay-for-convenience” eg Red Hat and “pay-for-privacy” eg Github.
However, the real business opportunities will be in building the applications, which sit on top of the infrastructure and contain business-useful logic targeted for particular use cases. These can be closed sourced and is where the greater opportunities lie.
Eris sits in between the infrastructure and the application layers making it easier for application developers to access the infrastructure.
Acknowledgments
Written with thanks to Casey Kuhlman for providing feedback for this piece.