MGT411: Fintech

Enterprise Blockchain

Topic:

Source: "Unlocking the human opportunity:  Future-proof skills to move financial services forward"; PwC report for the Toronto Financial Services Alliance, April 2018

Why should we care?

Comparing Bitcoin and Ethereum

  • first full application of a working public, permissionless blockchain
  • innovation: combines
    • proof of work for consensus with
    • public-private key signatures and
    • storing information in blocks
  • it's not a firm
  • it's not controlled by anyone
  • yes, there is standard software used but
    • no single person forces compliance to standard
    • all is open source
    • changes require a global consensus
  • can't do much other than transfer stickers

Bitcoin

  • Bitcoin = single-use
    • transfer coins
    • (exception: so-called "coloured" coins)
  • Ethereum = Blockchain 2.0:
    • cryptocurrency Ether is a means to an end
    • Example: How do you arrange a true blockchain-only exchange?
      • need an escrow => autoexecuting code that runs on a blockchain
  • create a "virtual computer" for decentralized code execution
  • code execution = require computing power
    • malicious code could "crash" virtual machine
    • pay for GPU cycles =>Ether is the "fuel" 
  • Big message:
    • Ethereum is not a "better" cryptocurrency
    • It is a code execution network that runs on Ether

Ethereum

  • developed and built by a Waterloo-based team around Vitalik Buterin
  • not a firm
  • team had the chance to sell their system to Google, but declined
  • instead built a "Foundation" => Ethereum cannot be "bought" 
  • founders still got wealthy as they did/do have a stake in the coins

Some Ethereum History

  • with this history comes a philosophy
  • Blockchain entities don't strive to be "firms"
  • they form teams for projects, invite everyone, not concerned about IP
  • they don't strive to get high-powered jobs or sell to a large bank
  • but yes, they want to drive Lambos 

Mining concentration

Source: blockchain.info 25/02/2018 

Source: etherscan.io 25/02/2018 

Ether

Bitcoin

Miners

  • have a huge say over changes in the protocol, and

  • they can collectively block changes, force forks, etc., and

  • have incentives that may run counter to the common good

Concerns and Shortcomings of Public, Permissionless Blockchains

  1. Not enterprise grade - runs on people's home computers
  2. Scalability
    • the feasible transaction frequency is much too low
    • Bitcoin: <10 TPS, Ethereum ~30 TPS, VISA: >10K TPS
  3. Energy consumption
    • proof of work = mining => uses way too much electricity
  4. Privacy:
    • all activities and contracts are visible (albeit by anonymous addresses)

Concern 2: Scalability in Bitcoin

  • block limit of 1MB => limits # of transactions per block

Root Problem

  • increase block limit (led to "Bitcoin Cash")
  • decrease content per block (Segwit => eliminate signatures from the blocks)
  • double-signed transactions ("Lightning Network")

Solutions

  • problem:
    • currently, getting on a block is competitive and people are throwing money (fees) at the problem => miners benefit
    • with larger blocks, total fees may decline
    • => Difficult to get miners on board

Concern 2: Scalability in Bitcoin

Source: bitinfocharts

Concern 2: Scalability in Bitcoin

S=1M

S'=8M

\Rightarrow~p*=\frac{a-S}{b}

p

p'

demand=supply

\text{demand}=a-b\cdot p
\text{revenue}=S\cdot p^*=\frac{a}{b}\ S -\frac{1}{b}S^2

revenue maximizing S*:

S^*=\frac{a-2}{b}

Empirical question:

1M vs 8M: which has higher revenue?

Concern 2: Scalability in Ethereum

  • Ethereum blocks have no size limit
  • but: gas limit imposes computation  limit and thus transaction limit
  • note: in contrast to Bitcoin, Ethererum always announced that it would eliminate proof-of-work eventually

Root Problem

  • Side Channels:
    • Keep two-party interactions off the main chain and use chain only for terminal settlement
  • Sharding
    • instead of storing all info on all nodes, break up the blockchain into shards

Solutions

https://blog.stephantual.com/what-are-state-channels-32a81f7accab

Concern 3: Energy Consumption

Root Problem

  • Irrespective of scaling solutions, increasing difficulty will require ever-increasing energy consumption.
  • Should real resources fuel the digital world?

Solution

  • Proof of Stake
    • Idea:
      • select people according to stake in the chain (to avoid Sybil attack)
      • they build blocks based on verified transactions
    • Problem: no working implementation yet
    • CASPER:
      • add punishment for malicious behavior

Key problem of Proof-of-Stake:

How to incentivize support of longest chain?

B3

B1

B2

B4

B5

B6

Where to add a new block B7?

  • PoW: only longest chain
  • PoS: could add both at B3 and  B6 (nothing-at-stake)
    • solution: punish deviations!

My personal problem: I have not yet seen a convincing theoretical model of PoS

Concern 3: Privacy/Secrecy

  • intrinsic feature of public blockchains is that information gets stored by public addresses.
  • logic of smart contracts is visible to all
  • => firms have need of secrecy, individuals have rights to privacy

Root problem

Solutions

  • large numbers of wallets/addresses
  • coinjoin
  • ring signatures
  • zero knowledge proofs

Concern 3: Privacy/Secrecy

  • Note: some tricks like coinjoin aren't enough.
  • See: "When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies" by Goldfeder, Kalodner, Reismany, Narayanan

Zero Knowledge Proof

  • Basic feature of blockchain:
    • public-private key signatures to prove ownership
    • Why? concern that the signatory is fraudulent
  • Idea of Zero knowledge:
    • the verifier may be fraudulent
    • reveal that you are the owner of information without revealing the information
  • Problems
    1. occurence of transaction is still visible
    2. on Ethereum, consumes a lot of "gas"
      • transaction = 21,000 gas
      • ZK Snark = 1,800,000 gas
      • 20 cent transaction => $17 for ZKs

Summary

  • There are real concerns.
  • There are paths to solutions for the problems.
  • The economic foundation of some approaches on public blockchains is weak and not yet well understood.
  • Much work, including conceptual work, is needed, but much work is also being done.

Private/Permissioned Blockchains

  • public:
    • no restrictions on reading blockchain data (which still may be encrypted) and submitting transactions for inclusion into the blockchain.
  • private
    • direct access to blockchain data and submitting transactions is limited to a predefined list of entities.
  • permissionless
    • no restrictions on identities of transaction processors (i.e., users that are eligible to create blocks of transactions).
  • permissioned
    • transaction processing is performed by a predefined list of subjects with known identities.

Terminology

Why private/permissioned?

  1. KYC = Know Your Client
    • private allows operator to check who is using the chain
    • can restrict access to, e.g., investments when not suitable
  2. AML = anti money laundering
    • crypto-currency transactions can be used for money laundering
    • can be prevented when you know users
  3. No need for cryptocurrency
    • private blockchains can operate with monetary coinbase rewards
  4. Scalability/no need for proof-of-work
    • validation roles can be assigned to trusted parties => higher throughput
  5. Data protection
    • higher control over what is shared and how interactions are organized

Why not private/permissioned?

Let's discuss it!

Ethereum Enterprise Alliance

Common Idea:

  • build private blockchains on top of Ethereum
  • use open source tools

Advantages

  • preserve interoperability of systems
  • compatibility and free development
  • best of two worlds? 
  • 150 companies are members of EEA
  • US$400M invested in VC funding (CBInsight)
  • US$900M from tokens since Nov 2016 (Smith and Crown).

Raiden Network

Description Idea:

  • Raiden Network is an off-chain scaling solution for performing ERC20-compliant token transfers
  • no need for global consensus
  • How? This is achieved using digitally signed and hash-locked transfers, called balance proofs, fully collateralized by previously setup on-chain deposits.
  • = "payment channel technology"

Basic idea

  • two parties who plan a regular interaction put money in an Ethereum escrow account
  • they interact and final settlement occurs on the Ethereum blockchain
  • they maintain a hash-secured record of the interactions (both sides sign)
  • can be extended to multi-party interactions/networks of interacters

Quorom (by J.P. Morgan)

  • Idea: a permissioned version of Ethereum
    • known nodes
    • private interactions
    • trustless
  • Design:
    • privacy layer for smart contracts
    • contracts stored locally
    • hashes of encrypted contracts on public chain
  • Key feature: Zero Knowledge tech

Quorom (by J.P. Morgan)

AION

  • Allow creation of custom blockchains that connect via Aion network
    • => customize governance, issuance, and participants.
  • Provide federated inter-chain communication of data and value between all Aion network spokes.
  • Connect with the main Ethereum blockchain, allowing AION tokens to traverse chains between Aion-1 and Ethereum seamlessly

Features

  • high-performance virtual machine (VM) (for smart contracts)
  • scalable database

Premise

  • In the future there will be many blockchains.
  • Enterprises will operate various blockchains in-house
  • mined chains are not suitable for enterprises because they are dependent on entities (miners) outside their control.
  • Aion will combine them and enable interoperability

AION

transaction bridge supported by validator votes

votes ("signatures") get stored on Ethereum 

transaction bridge supported by validator votes; get paid in AION tokens

AION Blockchain

Special Features:

  1. Representative validators
    • like a representative democracy, vote for who should be a validator
    • vote is backed by a stake
    • rewards flow to backers
  2. Consensus protocol
    • "Proof of Intelligence"
  • require participants to train a predefined neural network so that
    • output ~ proposed ground truth
    • e.g., hash of current block | hashes of previous 𝑁 blocks.
  • Parameters of the trained neural network will serve as a proof that computation took place.

Hyperledger Sawtooth

What is Hyperledger?

  • not a blockchain
  • not a company
  • not a cryptocurrency
  • project by the Linux Foundation
  • open-source project

What is Sawtooth?

  • blockchain suite by Intel
  • consensus protocol: 
    • Proof of Elapsed Time (PoeT)
  • written in Python
  • allows permissioned and permissionless application

Hyperledger Sawtooth

What is PoET?

  • uses secure CPU instruction (available in new processors like Intel builds)
  • Instructions
    • => random selection of a  “leader”/scheduler
    • Like Bitcoin: "randomly" become first to solve puzzle and get one-time access to write the blockchain.
  • to be scheduler:  
    • “validator” (=nodes) use the secure CPU instruction to request a wait time.
    • Validator with the shortest wait time will be elected as a leader. 

Hyperledger Sawtooth

My understanding (vastly simplistic)

  • ​main idea: isolate consensus from transaction
  • transactions are send to validators
  • they check and form batches
  • validators send batches to block publishers
  • block publishers allow PoeT winner to validate blocks
  • a chain controller updates the "head of the chain"

Hyperledger Fabric

  • developed by IBM
  • implemented in Go
  • smart contract system: "Chaincode"
  • basic idea:
    • have two-party interactions
    • commit only what's necessary to the public chain
    • => save processing costs
    • => increase speed and privacy
  • Participants usually need to register to get the permission to join and issue transactions on a Fabric based blockchain

Key roles

  • consenter
    • orders the already validated transactions
  • endorser
    • build, validate and propagate transactions and chaincode
  • committer

Hyperledger Fabric

Hyperledger Fabric

Hyperledger Fabric

Hyperledger Fabric

R3 Corda

  • Similar idea as most others:
    • keep transaction details locally
    • rely on direct interactions with record keeping

Key feature

  • digital notaries that settle disputes by reviewing signed transaction data

R3 Corda

My take:

  • translation of the current world into the digital world
  • maintains position or rent-seeking institutions

Web App

(website)

How will smart contracts be used? 

Front end: HTML

Backend

e.g. AWS Ruby

DApp

(decentralized)

Ethererum 

(call to smart contract)

Front end: HTML

We will use remix.ethereum.org

hereafter follows a demo

We will use remix.ethereum.org

https://github.com/blockgeeks/workshop/tree/master/src/contracts

Enterprise Blockchain (MBA)

By Andreas Park

Enterprise Blockchain (MBA)

  • 391