The Elements Project

a community of innovators

Eric Martindale • La Maison du Bitcoin • July 7th, 2016

Bitcoin

the most well-tested, battle-hardened blockchain

The Bitcoin network

has been functional for

of the time since January 3rd, 2009.

(Bitcoin's genesis block: Jan 3 2009 02:54:25 GMT)

includes 6⅓ hours of downtime on 2013-03-12.

Building a blockchain?

Use Bitcoin's codebase.

(seriously. don't re-invent the wheel!)

Elements

are composable components
that extend the Bitcoin codebase.

They transform Bitcoin's features
into domain-specific solutions.

Sidechains

are bundles of Elements
deployed as a blockchain

on the Bitcoin network.

Sidechain Ecosystems

Blockchain
(Bitcoin)
Sidechaina
Sidechaina1
Sidechainb
Sidechaina2

Reasons to use Sidechains

  • Network Upgrades, without service disruption
  • Experiments, with reversible outcomes
  • Beta releases, for optional improvements
  • ...what else can you imagine?

The 2-way Peg

Sidechain Assets

Issued Assets

are arbitrarily created in a transaction

Bonded Assets

are created & destroyed by a 2-way peg

Both have very different security models!

What can we build?

The Periodic Table of Elements

elementsproject.org/elements

Confidential Transactions Segregated Witness Relative Lock Time Schnorr Signatures
New Opcodes Signature Covers Value Deterministic Pegs Signed Blocks
Asset Issuance Bitmask Sighash Modes

Rootstock

Elements Alpha

is a

Public Sidechain

pegged to Bitcoin's testnet blockchain

Launched on June 1st, 2015

🎆🎂🎆

Segregated Witness

  • 2015, Q2: first prototype built in Elements
  • 2015, June: deployed to the Alpha sidechain
  • 2015, December: proposed to the Bitcoin community at the Scaling Bitcoin conference in Hong Kong (BIP 141)
  • 2016, June 6th: accepted into Bitcoin Core (PR #8149)

OP_CHECKSEQUENCEVERIFY

  • 2015, Q2: first prototype built in Elements
  • 2015, June: deployed to the Alpha sidechain
  • 2015, Aug.: proposed to Bitcoin community (BIP(s) 68, 112, 113)
  • 2016, Feb. 12th: accepted into Bitcoin Core (PR #7524)
  • Block 419328: activated on mainnet! 💥

Ongoing Work

Confidential Transactions

  • Conceals transaction amounts, but not sender or receiver
  • Can be combined with other Elements for better privacy (CoinJoin-like.)
  • Based on Confidential Values, from Adam Back, Greg Maxwell, Pieter Wuille

Contributing

to the Elements Project

www.elementsproject.org

The Elements Project

Discussion & Questions

eric@blockstream.com • @martindale

Presentation & Source Code Available

martindale.github.io/elements-project