Blockchain
A Technical Overview
Marc Stephenson
Technical Director, Metataxis
Blockchain
• Blockchain is
• A concept
• A framework
• A technology
• And has implementation instances
• It is also
• Powerful
• Simple
• Subtle
• Difficult to understand!
Blockchain vs. Bitcoin
• Bitcoin is implemented using Blockchain
• Bitcoin is the largest user of Blockchain (so far)
• Blockchain has numerous other implementations
• E.g.The Ethereum computing platform
Blockchain Bitcoin
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically.
https://en.wikipedia.org/wiki/Blockchain
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are "an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically."
It’s a massively distributed
database. There are many full
copies of over many servers,
in many organisations, in
many countries, in many
jurisdictions. Like DNS.
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are "an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically."
It’s a continuously growing,
ordered list which means you
only ever add records, and
only at the end of the chain.
Currently 122 GB.
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are "an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically."
Blocks are timestamped and
encrypted to ensure they are
not tampered with (ensures
block integrity).
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are "an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically."
The timestamp is linked to
other blocks and encrypted
which further ensures block
integrity.
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are "an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically."
The blocks cannot be
changed once created, even if
you created the block.
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically.
It’s peer to peer – there is no
central server/s.
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically.
It’s managed autonomously –
no single entity, person,
organisation or country in
control.
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically.
All blocks can be
independently verifiable, by
anyone.
A Definition of Blockchain
A blockchain […] is a distributed database that maintains
a continuously growing list of ordered records called
blocks. Each block contains a timestamp and a link to a
previous block. By design, blockchains are inherently
resistant to modification of the data — once recorded, the
data in a block cannot be altered retroactively.Through
the use of a peer-to-peer network and a distributed
timestamping server, a blockchain database is managed
autonomously. Blockchains are an open, distributed
ledger that can record transactions between two parties
efficiently and in a verifiable and permanent way.The
ledger itself can also be programmed to trigger
transactions automatically.
Blocks can be more than just
data – they can be
automatically actionable. They
they can “do” something with
no user control or mediation,
so can be trusted.
To recap, Blockchain is…
• Distributed
• Timestamped and linked
• Encrypted
• Continuously growing
• Unalterable
• Decentralised
• Verifiable
• Automatically actionable
Key Blockchain Concepts
• Encryption
• Hashing
• Mining
Blockchain Encryption
• Blockchain uses public-key encryption
• Public key = disseminated widely
• Private key = owner only
• Encrypted transactions embedded in each block
• SHA-256 encryption (≈ 1037) permutations
• Deemed almost unbreakable
• But…quantum computing is coming…
Blockchain Hashing
• Blockchain uses hashing extensively
• Hashing is a mathematical operator (a function)
• Takes an input, produces an output (the hash)
• E.g.The bits that constitute a document to a hash
• The hash is one way
• The hash appears random, irrespective of input
• Only reversible with a vast amount of computation
Some text in
a document.
Hash function
5c504ed432cb51138bcf09aa5e8a410d
d4a1e204ef84bfed1be16dfba1b22060Encryption Key
+
Blockchain Hashes
• Identify every block – like a identifier
• Verify integrity
• Are quick to create
• Are quick to compare
• Have a fixed size
• Contain an encryption key
• Very “collision” resistant
• Different data = different hash (nearly all the time)
• Bitcoin has 10,000,000,000,000,000,000,000,000 hashes
• 10 septillion
Bitcoin “Mining”
• Using Bitcoin as an example of Blockchain mining
• Creation and verification are done in the same step
• Done via finding a “Proof-of-work” number (a “nonce”)
• Only way to find a nonce is to guess (create hashes)
• Testing the nonce simultaneously verifies other hashes
• Bitcoin is mathematically defined to only ever produce
so many nonces over time (a Bitcoin every 10 minutes )
• Once you’ve found the nonce – it’s yours!
• That’s £1999! (as of 5 July 2017)
Part of a Blockchain
Block: N
Timestamp: 17:15 01/01/2017
Data: Any data at all
Previous Hash: 0x67ea7b60 d0
Hash: 0xea34ad5c
Block: N+1
Timestamp: 17:17 01/01/2017
Data: Any data at all
Previous Hash: 0xea34ad5c
Hash: 0xf6e1da92 de
Block: N+2
Timestamp: 17:19 01/01/2017
Data: Any data at all
Previous Hash: 0xf6e1da92 de
Hash: 0xea3401sd
What’s good about Blockchain?
• Truly distributed
• Across any boundary – legal or commercial
• Hence the use of Bitcoin in the DarkWeb
• The hash is a very goodGUID
• Globally unique persistent identifier
• Internet-of-things and more
• Secure and private
• Uses strong encryption
What’s bad about Blockchain?
• Storing data is not efficient
• Store the hash and the “rest” is elsewhere
• Mining is exponentially expensive – by design
• Many servers, much energy, much time
• Blockchains only ever grow – by design
• Many servers, much energy, much time
• No single authority to mediate or govern
• What if it goes wrong?!
• Is the encryption good enough?
An actual block
https://blockchain.info/block/0000000000000000062
e8d7d9b7083ea45346d7f8c091164c313eeda2ce5db11
Questions?
marc.stephenson@metataxis.com

Blockchain Technical Overview

  • 1.
    Blockchain A Technical Overview MarcStephenson Technical Director, Metataxis
  • 2.
    Blockchain • Blockchain is •A concept • A framework • A technology • And has implementation instances • It is also • Powerful • Simple • Subtle • Difficult to understand!
  • 3.
    Blockchain vs. Bitcoin •Bitcoin is implemented using Blockchain • Bitcoin is the largest user of Blockchain (so far) • Blockchain has numerous other implementations • E.g.The Ethereum computing platform Blockchain Bitcoin
  • 4.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically. https://en.wikipedia.org/wiki/Blockchain
  • 5.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically." It’s a massively distributed database. There are many full copies of over many servers, in many organisations, in many countries, in many jurisdictions. Like DNS.
  • 6.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically." It’s a continuously growing, ordered list which means you only ever add records, and only at the end of the chain. Currently 122 GB.
  • 7.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically." Blocks are timestamped and encrypted to ensure they are not tampered with (ensures block integrity).
  • 8.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically." The timestamp is linked to other blocks and encrypted which further ensures block integrity.
  • 9.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically." The blocks cannot be changed once created, even if you created the block.
  • 10.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically. It’s peer to peer – there is no central server/s.
  • 11.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically. It’s managed autonomously – no single entity, person, organisation or country in control.
  • 12.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically. All blocks can be independently verifiable, by anyone.
  • 13.
    A Definition ofBlockchain A blockchain […] is a distributed database that maintains a continuously growing list of ordered records called blocks. Each block contains a timestamp and a link to a previous block. By design, blockchains are inherently resistant to modification of the data — once recorded, the data in a block cannot be altered retroactively.Through the use of a peer-to-peer network and a distributed timestamping server, a blockchain database is managed autonomously. Blockchains are an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.The ledger itself can also be programmed to trigger transactions automatically. Blocks can be more than just data – they can be automatically actionable. They they can “do” something with no user control or mediation, so can be trusted.
  • 14.
    To recap, Blockchainis… • Distributed • Timestamped and linked • Encrypted • Continuously growing • Unalterable • Decentralised • Verifiable • Automatically actionable
  • 15.
    Key Blockchain Concepts •Encryption • Hashing • Mining
  • 16.
    Blockchain Encryption • Blockchainuses public-key encryption • Public key = disseminated widely • Private key = owner only • Encrypted transactions embedded in each block • SHA-256 encryption (≈ 1037) permutations • Deemed almost unbreakable • But…quantum computing is coming…
  • 17.
    Blockchain Hashing • Blockchainuses hashing extensively • Hashing is a mathematical operator (a function) • Takes an input, produces an output (the hash) • E.g.The bits that constitute a document to a hash • The hash is one way • The hash appears random, irrespective of input • Only reversible with a vast amount of computation Some text in a document. Hash function 5c504ed432cb51138bcf09aa5e8a410d d4a1e204ef84bfed1be16dfba1b22060Encryption Key +
  • 18.
    Blockchain Hashes • Identifyevery block – like a identifier • Verify integrity • Are quick to create • Are quick to compare • Have a fixed size • Contain an encryption key • Very “collision” resistant • Different data = different hash (nearly all the time) • Bitcoin has 10,000,000,000,000,000,000,000,000 hashes • 10 septillion
  • 19.
    Bitcoin “Mining” • UsingBitcoin as an example of Blockchain mining • Creation and verification are done in the same step • Done via finding a “Proof-of-work” number (a “nonce”) • Only way to find a nonce is to guess (create hashes) • Testing the nonce simultaneously verifies other hashes • Bitcoin is mathematically defined to only ever produce so many nonces over time (a Bitcoin every 10 minutes ) • Once you’ve found the nonce – it’s yours! • That’s £1999! (as of 5 July 2017)
  • 20.
    Part of aBlockchain Block: N Timestamp: 17:15 01/01/2017 Data: Any data at all Previous Hash: 0x67ea7b60 d0 Hash: 0xea34ad5c Block: N+1 Timestamp: 17:17 01/01/2017 Data: Any data at all Previous Hash: 0xea34ad5c Hash: 0xf6e1da92 de Block: N+2 Timestamp: 17:19 01/01/2017 Data: Any data at all Previous Hash: 0xf6e1da92 de Hash: 0xea3401sd
  • 21.
    What’s good aboutBlockchain? • Truly distributed • Across any boundary – legal or commercial • Hence the use of Bitcoin in the DarkWeb • The hash is a very goodGUID • Globally unique persistent identifier • Internet-of-things and more • Secure and private • Uses strong encryption
  • 22.
    What’s bad aboutBlockchain? • Storing data is not efficient • Store the hash and the “rest” is elsewhere • Mining is exponentially expensive – by design • Many servers, much energy, much time • Blockchains only ever grow – by design • Many servers, much energy, much time • No single authority to mediate or govern • What if it goes wrong?! • Is the encryption good enough?
  • 23.
  • 25.