Comparison of Blockchains

This document assumes the reader is familiar with the basics of Bitcoin and Ethereum. As one approach to introducing the architecture let’s compare the characteristics of Bitcoin, Ethereum, and RChain as currently planned.

  Bitcoin Ethereum RChain
Semantic Data Structure Blockchain – a chain of blocks. Each block contains a header that points at the previous block, a list of transactions, and other data. Blockchain – a chain of blocks. Each block contains a header that points at the previous block, a transaction list, and a ommers (uncles) list. Blockchain – a graph of blocks. Each block contains a header that points at one or more previous blocks, a list of transactions, and other data. For details, see Blockchain Data Semantics, below.
Consensus Algorithm Proof of work Current: Proof of work.Future: Proof of Stake – stake-based betting on blocks. Proof of Stake: Stake-based betting on logical propositions.
Finality Probability of transaction reversal diminishes over time, at each new block confirmation. Probability of transaction reversal diminishes over time, at each new block confirmation. Probability of transaction reversal diminishes over time, at each new block confirmation.
Visibility Global Private, consortium, or public depending on deployed nodes. Private, consortium, or public depending on namespace and/or deployed nodes.
Revision Mechanism Soft and hard forks Current: Soft and hard forks. Future: Block revisions in case of temporary network isolation. Block revisions in case of temporary network isolation.
Sharding Heterogeneity Homogeneous, i.e., not sharded Current: Homogeneous, i.e., not shardedFuture: two-level Sharding of address space allows clients to subscribe to selected address namespaces without downloading the entire blockchain. Able to impose different policies on different address namespaces.
Basis for sharding N/A Address range Dynamic composable sharding based on namespace interaction
Number of levels N/A Future: two levels: cluster + leaves Unbounded number of levels
Concurrency N/A Current: No Future: Yes Yes. Allows for concurrent betting on propositions and committing of blocks that don’t conflict.
Contracts Computational power Stack-based language with few instructions Turing complete Turing complete
Runtime architecture Script runs on Bitcoin Core, Libbitcoin, and other native implementations Ethereum Virtual Machine implemented on multiple platforms RhoVM implemented on multiple platforms
Programming language Script Solidity, Serpent, LLL and any other languages that get implemented on the EVM. Rholang and any other languages that get implemented on the RhoVM.
Block Size 1MB Dynamic Dynamic
Max Transaction or Contract Size 100KB Dynamic based on gas limit Dependent token type and its per-namespace policies.
Scalability -Transaction Throughput 7 tx/s 15 tx/s Target is 40,000 - 100,000 tx/sec
Protocol Token Bitcoin, plus tokens such as provided by Omni Layer Ether (ETH), plus tokens issued by contracts. Multiple tokens issued by system contracts or application contracts.
Concurrent VM N/A. Bitcoin’s stack-based language does not have or require its own VM. No. The EVM is single-threaded. Yes. RhoVM is multithreaded. This makes concurrent shards easier to implement since there are no assumptions on synchrony.
Privacy Low at base protocol layer. Pseudononymous. Low at base protocol layer. Pseudononymous. Namespaces can be arbitrarily obscure. Agent Service channels can be encrypted.