Wiki¶
This is a loose collection of notes and links created while researching Blockchain and related projects.
Concept¶
Architecture of the World Computer - Ethereum, Swarm, Whisper
Second Wave of Blockchain Innovation (with some history)
Hypercubes (Scalability)
Transaction cost - gas, gas limit, gas price
Light Client
Ethereum on mobile: doublethink.co
State Channels
Lightning - basic and advanced concepts visualized and explained in video
Pecunia olet - What if coins could be permanently tainted on creation?
Vitaliks thoughts about the Blockchain ecosystem: On Silos
Vitalik about stable coins
Decentralized identity: uPort
CAP Theorem (Consistency, Availability, Partition Tolerance - A distributed system can’t provide all three. Well, it's more complicated)
On Accplications and Consensus (what’s the essence of Bitcoin?)
Hierarchical Deterministic (HD) Wallets
Sharding: Ethereum FAQ
Technical¶
- Bloom Filters are space-efficient probabilistic data structures. They allow false positives, but not false negatives. Ethereum uses Bloom filters for events (see Design Rationale) and Whisper (SHH) (see spec). It helps in making Ethereum light client friendly.
- Cryptographic Hash function: Hash functions map arbitrary amounts of data to a fixed length amount of data, called digest. A cryptographic hash function has the property of producing digests which are very dissimilar to each other even for similar input data (seemingly random) and they are one-way functions, meaning that the digest doesn't disclose any information about the input data used to generate it. Used to guarantee data integrity.
- Distributed Hash Tables (DHT) are hash tables distributed across nodes with built-in lookup service, not requiring any central lookup or coordination instance. Important building block for scalable distributed systems. First popularized by Bittorrent (not part of the spec, but integrated into popular clients).
- Kademlia is a popular implementation of a DHT. It uses a hash based distance metric for structuring of the network and routing and communicates via UDP. Ethereum's RLPx (Cryptographic Network & Transport Protocol) uses Kademlia-like routing. Swarm uses something supposedly called forward-Kademlia. Also see Kademlia Peer Selection.
A Merkle Tree is a data structure mapping arbitrary amounts of data to a single, cryptographically secure, hash by putting the digests into a search tree and hash them together pair-wise until only a root hash remains. This is a key ingredient of blockchains since Bitcoin. Ethereum uses a variation called Merkle Patricia Tree which mixes in the concept of the Patricia Tree (or Radix tree or Radix trie), resulting in more space efficiency and better properties regarding the requirements of a state representation. Explained here by Vitalik.
Zero Knowledge Proof (ZKP)
Tools¶
Metamask - browser plugin which allows Dapps to run in regular browser
TLSNotary - proof that communication with an SSL-enabled server took place (also see PageSigner addon). Allows building of decentraliced exchanges (?)
Oraclize - bridge between smart contracts and traditional web APIs. Uses TLSNotary powered honesty proofs. Dapps using it
Eris Industries is a smart contract platform. Probably conceptually comparable with Docker. See eris-db
settlemint - Blockchain middleware. (related: #6). Created a demo voting application: https://us2016.settlemint.io
chainpoint protocol for creating verifiable proof of data (supports Bitcoin, Ethereum).
Dapps¶
StackExchange Bounty (supports MetaMask, uses Oraclize)
Gnosis (GNS) (supports Metamask) - Prediction market framework. See Futarchy concept (explained)
Tokenfactory (support Metamask)
Steemit - Reddit-like platform based on Bitshares. The Steam coin has an inflationary issuance model (doubling every year). Users can get Steem Power, a token which reflects users influence. Can't be sold for 2 years (after issuance). Steem dollars pay 10% interest.
- Steem is created out of thin air daily and distributed like this: 90% to Steem Power holders, 10% to content creators, curators and commenters.
- When creating money earning content, 50% is paid in Steem Power and 50% in Steem Dollars.
- Steem Dollars can be converted. TODO: update
Blockchains / Coins¶
Dcash - my own token on morden testnet, made with Tokenfactory
DDosCoin (HN thread)
Faircoin - distributed equally between everyone who wants them (but no protection against later wealth concentration?)
zcash - Implementation of zerocash - untracable bitcoin, using zero knowledge proof (they name it zk-SNARK) (currently very resource hungry, thus optional. Not yet viable for mobile). Problematic property: the overall amount of currency can’t be determined.
Monero - private, untraceable (using ring signatures). Currently being mined on monero.d10r.net. Not a Bitcoin fork, thus probably more difficult to integrate (e.g. in Wallets).
DASH (DigitalCash) - First privacy enhanced coin (Bitcoin fork). PoW, Coin Mixing. Uses Masternodes for mixing, instant transactions and other features. Masternodes form a 2nd tier network layer. Require 1000 Dash (deposit?). Max. 5700 masternodes.
Shadowcash: PoS, privacy via ring signatures, stealth addresses, Tor. Part of the privacy platform Umbra.
NXT - one of the first Blockchains using Proof of Stake
Iota - Uses a “Tangle” instead of a Blockchain, allowing much faster and cheaper transactions for IoT
Bitshares is a financial Smart Contracts platform, focused on performance, predating Ethereum. It’s based on Graphene, a toolkit for real-time blockchains.
Factom is a Bitcoin based service with the goal to make it easy for businesses to ensure data integrity (record keeping, storing hashes of data in the Blockchain) and use distributed identities. Coin: Factoid
Waves - Focus on tokens
Sia - distributed storage aimed at Enterprises. Used e.g. by Minebox
StorJ - Another approach to distributed storage.
MaidSafe / http://www.maidsafe.net - Started already in 2006 (before Blockchain). Decentralized storage and SAFEcoin, consensus formed by “closed groups” (random groups of 32 nodes). Inspired by Ant colonies.
Comparison between p2p storage proposals.
Nubits - stable coin pegged to USD
Dai - stable coin backed by Makercoin (MKR), pegged to IMF’s Special Drawing Rights (XDR)
Incent - Custom coins with reputation/loyalty mechanism builtin, based on Waves platform.
weusecoins has a list of the more popular coins.
Coins ordered by market cap
Tendermint decouples the consensus engine and P2P layers from the rest, allowing any touring complete programming language to be used for smart contracts (with the important limitation that the programs must be deterministic). The Tendermint Socket Protocol (TMSP) is used for the communication between Core and Application. How it compares to Casper
Colu - Toolbox for local currencies
Omni(Layer) - asset platform on top of Bitcoin. Mastercoin successor. Claim: is to Bitcoin what HTTP is to TCP/IP. MaidSafeCoin is hosted on Omni (see assett overview).
Ethereum¶
Metaphors for describing it:
- Turing complete Blockchain
- Crypto Legal System
- World Computer
- Cryptoeconomic Network
Crazy stuff¶
Philosophy¶
Hypotheses:
- Blockchains create a democratic system where the rule isn’t 1 person => 1 vote, but 1 coin => 1 vote (simplified).
- Blockchains as exist today with PoW and PoS lead to wealth concentration unless inflation is built into the supply mechanism.