An incomplete comparison of cryptosystems

and the consequences for distributed applications

Max Kaye

http://xk.io

Oct 2014

Looking At

  • Bitcoin
  • Ethereum
  • Meta-coins
  • Augmented Bitcoin

Bitcoin

Apps

  • money

Bitcoin

blockchain

yes

programmable A bit..
scalability average
authenticated yes
public consensus yes
existence => validity yes
detectable existence no

Blockchain

Basic platform for decentralised ordering

 

  • distributed non-controversial ordering
  • authenticated (somewhat)
  • validated (optional in general)

Bitcoin

Programmable

User designed scripts & functions

 

  • Limited operations
  • Runs in a virtual machine
  • Low cost, sometimes free

Bitcoin

Scalability

Performance when under load (users) or aged

 

  • Size - grows with transactions and time
  • Single chain
  • Global requirements - grows with size and users
    • everyone knows everything
  • Over all - Average (after block size hard-fork)

Bitcoin

Authenticated

There is proof data is allowed to be included

 

  • Proof of work
  • Rate limiting (via PoW)
  • Requires valid data structure
  • Aids SPV

Bitcoin

Public Concensus

Everyone knows when consensus breaks

 

  • Mutually incompatible forks
    • easily detected
  • Provides confidence, security

Bitcoin

Existence => Validity

If a transaction exists, then it is valid

 

  • Only valid transactions allowed into chain
  • Allows validity testing through existence testing
  • Enables functional SPV, trustless mobile clients

Bitcoin

Detectable Existence

Easy and efficient way to check for transactions (and other things) trustlessly

 

  • Need to search the whole blockchain
  • Incompatible with SPV

 

Bitcoin

Ethereum

Apps:

  • Anything (well, most things)
  • Everything?

Ethereum

blockchain yes
programmable Turing complete
scalability above average
authenticated yes
public consensus yes
existence => validity yes
detectable existence ½

Blockchain

  • Yes, Ethereum has one
  • Microchains?

Ethereum

Programmability

  • Turing Complete
  • Compulsory Fee
  • Dapps not created equal

Ethereum

Dapp limitations

Non-standard crypto (I.E. no dedicated operations) is required to be run inside the VM which is expensive and slow.

 

This means it is unlikely non-standard crypto will ever be used.

Ethereum can run anything,
but will never run everything.

Scalability

  • Microchains
    • Allows for future expansion
    • Can allow raw data to be stored off chain till needed
  • Single chain (currently -- microchains allow for later expansion)
  • Computational burden may hinder dapps

Ethereum

Authenticated

  • Like Bitcoin - PoW, etc

Ethereum

Public Consensus

  • Like Bitcoin, yes

Ethereum

Existence => Validity

  • Yes, data struct is authenticated, like Bitcoin

Ethereum

Detectable Existence

  • ½  (sort of)

  • Account balances can be looked up
  • Cannot disprove a tx took place
  • Cannot prove all txs associated with an account

Ethereum

I could be wrong on these if things have changed recently.

Metacoins

Apps

  • Arbitrary local asset ledger
  • 'distributed' exchange
  • Money

Metacoins are:

  • Hosted on other blockchains
  • Usually involved in arbitrary asset issuance, management, and trading
  • E.G. Mastercoin, Counterparty, Open Assets (coloured coins)

Metacoins cont.

  • Transactions are embedded in host transactions
  • Probably requires full validation of host chain
  • Currently requires full validation of metacoin ledger

Metacoins

Metacoins

blockchain no (hosted)
programmable no (but possible)
scalability bad
authenticated no
public consensus no
existence => validity no
detectable existence no

Metacoins

Blockchain

  • Hosted on another blockchain
  • Have to fit within host's validation rules

Metacoins

Programmable

  • Not currently
  • Possible
    • Dubious utility

Metacoins

Scalability

  • Strictly worse than host chain currently
  • All the regular problems and more
  • On the whole: Bad

Metacoins

Authenticated

  • Not at all
  • Host chain used like notice board

Metacoins

Public Concensus

  • Undetectable

Metacoins

Existence => Validity

  • Validity not assured

Metacoins

Detectable Existence

  • None currently, but possible

Metacoins

Augmented Bitcoin

Apps

  • Anything
  • Everything

Note: Ethereum can be augmented in the same way

Augmentations

  • Sidechains
  • Ultimate Blockchain Compression

Augmented Bitcoin

blockchain yes
programmable yes
scalability high
authenticated yes
public consensus yes
existence => validity yes
detectable existence yes

Blockchain

  • Similar to Bitcoin
  • Sidechains
    • Less secure than main chain

Aug. Bitcoin

Programmable

  • Create arbitrary networks
  • Practically limitless

Aug. Bitcoin

Scalability

  • Medium-High scalability
  • Can move coins between chains
  • Miners have to validate any mined chains
  • Half parallel-isation

Aug. Bitcoin

Authenticated

  • Yes, like Bitcoin
  • Sidechains authenticated in the same way

Aug. Bitcoin

Public Consensus

  • Yes, like Bitcoin

Aug. Bitcoin

Existence => Validity

  • Yes, like Bitcoin

Aug. Bitcoin

Detectable Existence

  • Yes, through ultimate blockchain compression
  • Merged mined chain holds the unspent outputs by address
    • Not a sidechain: no 1:1 peg or coin interaction

Aug. Bitcoin

Applications & Suitability

Voting

Simple:

  • Only need to cast vote publically
  • Essentially need just a notice board
  • Any blockchain
  • Metacoin

 

Complex:

  • Transferable, live voting
  • Need to validate votes and transfers
  • Need to process zero conf and revocation
  • Ethereum

Distributed Exchange

  • Lots of weird crypto operations for SPV
    • Expensive if scripted in a VM
    • Better to use dedicated chain
  • On a dedicated chain only users wanting to trade with that currency execute the code
    • Means it can be free or near-free
  • Sidechain or dedicated network

Custom Assets + Exchange

Shares

  • rarely transferred
  • long term (high security desired)
  • Metacoin

 

Reward Points

  • Often transferred, short term
  • Small, low security transactions
  • Mobile clients
  • Ethereum

Thanks

Questions?

Max Kaye, m@xk.io

cryptosystem comparisons

By Max Kaye

cryptosystem comparisons

  • 1,122