SlideShare una empresa de Scribd logo
1 de 18
Blockchains 102
@blockstrap
#StartingBlock2015
Introduction & Primer
First, some context
These slides are from the #StartingBlock2015 tour by @blockstrap.
6 European countries in 8 days – (Istanbul, Amsterdam, Barcelona, Prague, Berlin
& London). We met lots of great people, answered lots of great questions and had
a great time. We look forward to meeting many of them again in the near future.
These slides might only make perfect sense if you were at the talks and can
remember all the additional points we made whilst discussing the tech.
This deck is 5th
of 6.
Questions? Comments? @MrAdamGiles adam@neuroware.io
Blockchains 102
Refresher
➔ Blocks store records of transactions
➔ Ordered in time, immutable historical records
➔ Measured in block ‘height’ identified by id (hash of metadata)
➔ Tamper evident through hash of hashes, each block contains hash
from the previous block
➔ Blocks are created by Miners
➔ New blocks are added to the chain
Blockchains 102
But...
Like the blockchain miners are distributed, so who gets to make the block?
Blockchains 102
Simultaneously Broadcasting Blocks
➔ Miners are distributed and are in competition with each other.
➔ First to publish/broadcast a block wins.
➔ At the top of the chain multiple miners could create a block at roughly the
same time
➔ Blocks take time to propagate their way round the network
➔ Different nodes will get different blocks at different times
➔ The network needs a way to decide which block it will use as it’s official
record of what happened
➔ Mining doesn’t stop while all this is figured out
Blockchains 102
Recap: How To Build A Block
1. Receive the transaction broadcast
2. Verify the crypto in the transaction
3. Add it to the unconfirmed pool
4. Do some hard maths on all the transactions in the pool
5. Broadcast the Block to the network
6. The Block is added to the blockchain
●
Pretend the green block is at height 0
●
All miners try to solve the next one…
●
A miner solves one at height 1
●
But so does another miner. We don’t know which is official.
●
Block 1a may contain different transactions from 1b.
●
We don’t know which is the accepted block yet
●
So, mining continues, with half the network working on 2a, half on 2b
●
Good idea not to treat any transactions as final yet
●
A miner finds 2b
●
All miners working on 2a stop work, they must work at the highest height
●
All miners work on finding a block at height 3
●
Transactions that were only in 1a, are now back to not-being-in-a-block
●
A miner solves one and broadcasts to the network
●
Other miners abandon their work and start trying to solve a block at height 4
●
A miner solves one at height 4, all is well with the world
●
All miners try to solve a block at height 5
●
But, while this is sorting itself out, another miner solves a block at height 4
●
We now have a fork at height 4.
●
Half the miners will try to solve 5a, half will try 5b
●
We have a race condition, lets pretend that both forks of the chain solve
another block at the same time
●
The miners working on 5b solve a block first. All miners stop what they’re
working on, and try to solve for height 7
●
Blocks 4a and 5a are now accepted as the longest chain
●
Smooth sailing from here on out
Implications
Blockchains 102
➔ Transactions take time to ‘confirm’
➔ Each transaction, once it’s in an accepted block has a height
➔ Each increase in blockchain height is called a confirmation
➔ A transaction 5 blocks below the top of the chain is said to have ‘6
confirmations’
➔ The merchant can decide how many confirmations is sensible to
wait for (cup of coffee, perhaps no confirmations; for a meal, 1 or 2
confirmations; for a restaurant at least 6!)
➔ Current default is to wait for 6 confirmations for anything of value
Other Types Of Fork
Blockchains 102
➔ Upgrades to the protocol can cause problems – but can be managed
➔ Blocks that are created have a version number
➔ New blocks using the new protocol use a different version number
➔ If the upgrade is backwardly compatible, it's a soft fork
➔ If the upgrade isn't backwardly compatible, it's a hard fork
➔ Hard forks are much harder and we try to avoid them
Any Questions?

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Metadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN ExplosionMetadata in the Blockchain: The OP_RETURN Explosion
Metadata in the Blockchain: The OP_RETURN Explosion
 
Information security in private blockchains
Information security in private blockchainsInformation security in private blockchains
Information security in private blockchains
 
Pi network
Pi networkPi network
Pi network
 
gething started - ethereum & using the geth golang client
gething started - ethereum & using the geth golang clientgething started - ethereum & using the geth golang client
gething started - ethereum & using the geth golang client
 
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
 
Bitcoin, Banking and the Blockchain
Bitcoin, Banking and the BlockchainBitcoin, Banking and the Blockchain
Bitcoin, Banking and the Blockchain
 
BCS BISSG Introduction to Blockchain
BCS BISSG Introduction to BlockchainBCS BISSG Introduction to Blockchain
BCS BISSG Introduction to Blockchain
 
Intro to Blockchain Slides
Intro to Blockchain SlidesIntro to Blockchain Slides
Intro to Blockchain Slides
 
Introduction to Blockchain and Ethereum
Introduction to Blockchain and EthereumIntroduction to Blockchain and Ethereum
Introduction to Blockchain and Ethereum
 
Altcoins
AltcoinsAltcoins
Altcoins
 
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksTrick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
 
Lightning Network
Lightning  NetworkLightning  Network
Lightning Network
 
Introduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologiesIntroduction to blockchain and cryptocurrency technologies
Introduction to blockchain and cryptocurrency technologies
 
Sidechains Presentation
Sidechains PresentationSidechains Presentation
Sidechains Presentation
 
Blockchain bootcamp for boards
Blockchain bootcamp for boardsBlockchain bootcamp for boards
Blockchain bootcamp for boards
 
Girl Develop It - Intro To Blockchain And Cryptocurrencies
Girl Develop It - Intro To Blockchain And CryptocurrenciesGirl Develop It - Intro To Blockchain And Cryptocurrencies
Girl Develop It - Intro To Blockchain And Cryptocurrencies
 
A quick introduction to Consensus Models
A quick introduction to Consensus ModelsA quick introduction to Consensus Models
A quick introduction to Consensus Models
 
Ethereum VM and DSLs for Smart Contracts (updated on May 12th 2015)
Ethereum VM and DSLs for Smart Contracts (updated on May 12th 2015)Ethereum VM and DSLs for Smart Contracts (updated on May 12th 2015)
Ethereum VM and DSLs for Smart Contracts (updated on May 12th 2015)
 
Sidechain talk
Sidechain talkSidechain talk
Sidechain talk
 
Boolberry reduces blockchain bloat
Boolberry reduces blockchain bloatBoolberry reduces blockchain bloat
Boolberry reduces blockchain bloat
 

Destacado

Microsoft Office Excel 2007 Top 100 Simplified Tips And Tricks
Microsoft Office Excel 2007 Top 100 Simplified Tips And TricksMicrosoft Office Excel 2007 Top 100 Simplified Tips And Tricks
Microsoft Office Excel 2007 Top 100 Simplified Tips And Tricks
DQue QQ
 
Introduction to bitcoin
Introduction to bitcoinIntroduction to bitcoin
Introduction to bitcoin
Wolf McNally
 

Destacado (20)

CBGTBT - Part 1 - Workshop introduction & primer
CBGTBT - Part 1 - Workshop introduction & primerCBGTBT - Part 1 - Workshop introduction & primer
CBGTBT - Part 1 - Workshop introduction & primer
 
Blockchain: The Information Technology of the Future
Blockchain: The Information Technology of the FutureBlockchain: The Information Technology of the Future
Blockchain: The Information Technology of the Future
 
Blockchain: Developer Perspective
Blockchain: Developer PerspectiveBlockchain: Developer Perspective
Blockchain: Developer Perspective
 
PRP Biologics 3
PRP Biologics 3PRP Biologics 3
PRP Biologics 3
 
Stem Cell Case Study By Dr. Bennett
Stem Cell Case Study By Dr. BennettStem Cell Case Study By Dr. Bennett
Stem Cell Case Study By Dr. Bennett
 
PRP Biologics 3
PRP Biologics 3PRP Biologics 3
PRP Biologics 3
 
Blockchain Consensus Protocols
Blockchain Consensus ProtocolsBlockchain Consensus Protocols
Blockchain Consensus Protocols
 
PRP Biologics 2
PRP Biologics 2PRP Biologics 2
PRP Biologics 2
 
Siliguri Quiz Club, Confluence 2017 by Soumik Choudhury
Siliguri Quiz Club, Confluence 2017 by Soumik ChoudhurySiliguri Quiz Club, Confluence 2017 by Soumik Choudhury
Siliguri Quiz Club, Confluence 2017 by Soumik Choudhury
 
Microsoft Office Excel 2007 Top 100 Simplified Tips And Tricks
Microsoft Office Excel 2007 Top 100 Simplified Tips And TricksMicrosoft Office Excel 2007 Top 100 Simplified Tips And Tricks
Microsoft Office Excel 2007 Top 100 Simplified Tips And Tricks
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
Ppt 2007 tutorial complete
Ppt 2007 tutorial completePpt 2007 tutorial complete
Ppt 2007 tutorial complete
 
Functions and formulas of ms excel
Functions and formulas of ms excelFunctions and formulas of ms excel
Functions and formulas of ms excel
 
Siliguri Quiz Club, Confluence 2017 by Adwitiya Maitry
Siliguri Quiz Club, Confluence 2017 by Adwitiya MaitrySiliguri Quiz Club, Confluence 2017 by Adwitiya Maitry
Siliguri Quiz Club, Confluence 2017 by Adwitiya Maitry
 
State of Bitcoin and Blockchain 2016
State of Bitcoin and Blockchain 2016State of Bitcoin and Blockchain 2016
State of Bitcoin and Blockchain 2016
 
How does a blockchain work?
How does a blockchain work?How does a blockchain work?
How does a blockchain work?
 
Introduction to bitcoin
Introduction to bitcoinIntroduction to bitcoin
Introduction to bitcoin
 
Blockchain demystification
Blockchain demystificationBlockchain demystification
Blockchain demystification
 
MS EXCEL PPT PRESENTATION
MS EXCEL PPT PRESENTATIONMS EXCEL PPT PRESENTATION
MS EXCEL PPT PRESENTATION
 
Bitcoin: The Internet of Money
Bitcoin: The Internet of MoneyBitcoin: The Internet of Money
Bitcoin: The Internet of Money
 

Similar a CBGTBT - Part 5 - Blockchains 102

Similar a CBGTBT - Part 5 - Blockchains 102 (20)

Bitcoin Mining in decentralized blockchain networks
Bitcoin Mining in decentralized blockchain networksBitcoin Mining in decentralized blockchain networks
Bitcoin Mining in decentralized blockchain networks
 
A Quick Start To Blockchain by Seval Capraz
A Quick Start To Blockchain by Seval CaprazA Quick Start To Blockchain by Seval Capraz
A Quick Start To Blockchain by Seval Capraz
 
Introduction to Bitcoin for programmers
Introduction to Bitcoin for programmersIntroduction to Bitcoin for programmers
Introduction to Bitcoin for programmers
 
Blockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesBlockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challenges
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technology
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
 
Blockchain for Beginners
Blockchain for Beginners Blockchain for Beginners
Blockchain for Beginners
 
Blockchain presentation
Blockchain presentationBlockchain presentation
Blockchain presentation
 
Blockchain part 2
Blockchain part 2Blockchain part 2
Blockchain part 2
 
Node.js Blockchain Implementation
Node.js Blockchain ImplementationNode.js Blockchain Implementation
Node.js Blockchain Implementation
 
How to Build Your Own Blockchain
How to Build Your Own BlockchainHow to Build Your Own Blockchain
How to Build Your Own Blockchain
 
Introduction to bit coin
Introduction to bit coinIntroduction to bit coin
Introduction to bit coin
 
How Does Blockchain Work?
How Does Blockchain Work?How Does Blockchain Work?
How Does Blockchain Work?
 
Blockchain, Hyperledger, DeFi, Web 3.0 - understanding and concepts
Blockchain,  Hyperledger, DeFi, Web 3.0 - understanding and conceptsBlockchain,  Hyperledger, DeFi, Web 3.0 - understanding and concepts
Blockchain, Hyperledger, DeFi, Web 3.0 - understanding and concepts
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Bitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptxBitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptx
 
block chain.pptx
block chain.pptxblock chain.pptx
block chain.pptx
 
Introduction to Blockchain & development
Introduction to Blockchain & developmentIntroduction to Blockchain & development
Introduction to Blockchain & development
 
Five Thin's Ye May Nah Be Knowin' 'Bout Bitdoubloons
Five Thin's Ye May Nah Be Knowin' 'Bout BitdoubloonsFive Thin's Ye May Nah Be Knowin' 'Bout Bitdoubloons
Five Thin's Ye May Nah Be Knowin' 'Bout Bitdoubloons
 
"How Blockchains and Bitcoins work" by Ricardo Águas @ Pizza Talks Lisbon 201...
"How Blockchains and Bitcoins work" by Ricardo Águas @ Pizza Talks Lisbon 201..."How Blockchains and Bitcoins work" by Ricardo Águas @ Pizza Talks Lisbon 201...
"How Blockchains and Bitcoins work" by Ricardo Águas @ Pizza Talks Lisbon 201...
 

Último

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 

Último (20)

Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 

CBGTBT - Part 5 - Blockchains 102

  • 2. Introduction & Primer First, some context These slides are from the #StartingBlock2015 tour by @blockstrap. 6 European countries in 8 days – (Istanbul, Amsterdam, Barcelona, Prague, Berlin & London). We met lots of great people, answered lots of great questions and had a great time. We look forward to meeting many of them again in the near future. These slides might only make perfect sense if you were at the talks and can remember all the additional points we made whilst discussing the tech. This deck is 5th of 6. Questions? Comments? @MrAdamGiles adam@neuroware.io
  • 3. Blockchains 102 Refresher ➔ Blocks store records of transactions ➔ Ordered in time, immutable historical records ➔ Measured in block ‘height’ identified by id (hash of metadata) ➔ Tamper evident through hash of hashes, each block contains hash from the previous block ➔ Blocks are created by Miners ➔ New blocks are added to the chain
  • 4. Blockchains 102 But... Like the blockchain miners are distributed, so who gets to make the block?
  • 5. Blockchains 102 Simultaneously Broadcasting Blocks ➔ Miners are distributed and are in competition with each other. ➔ First to publish/broadcast a block wins. ➔ At the top of the chain multiple miners could create a block at roughly the same time ➔ Blocks take time to propagate their way round the network ➔ Different nodes will get different blocks at different times ➔ The network needs a way to decide which block it will use as it’s official record of what happened ➔ Mining doesn’t stop while all this is figured out
  • 6. Blockchains 102 Recap: How To Build A Block 1. Receive the transaction broadcast 2. Verify the crypto in the transaction 3. Add it to the unconfirmed pool 4. Do some hard maths on all the transactions in the pool 5. Broadcast the Block to the network 6. The Block is added to the blockchain
  • 7. ● Pretend the green block is at height 0 ● All miners try to solve the next one… ● A miner solves one at height 1
  • 8. ● But so does another miner. We don’t know which is official. ● Block 1a may contain different transactions from 1b. ● We don’t know which is the accepted block yet ● So, mining continues, with half the network working on 2a, half on 2b ● Good idea not to treat any transactions as final yet
  • 9. ● A miner finds 2b ● All miners working on 2a stop work, they must work at the highest height ● All miners work on finding a block at height 3 ● Transactions that were only in 1a, are now back to not-being-in-a-block
  • 10. ● A miner solves one and broadcasts to the network ● Other miners abandon their work and start trying to solve a block at height 4
  • 11. ● A miner solves one at height 4, all is well with the world ● All miners try to solve a block at height 5
  • 12. ● But, while this is sorting itself out, another miner solves a block at height 4 ● We now have a fork at height 4. ● Half the miners will try to solve 5a, half will try 5b
  • 13. ● We have a race condition, lets pretend that both forks of the chain solve another block at the same time
  • 14. ● The miners working on 5b solve a block first. All miners stop what they’re working on, and try to solve for height 7 ● Blocks 4a and 5a are now accepted as the longest chain
  • 15. ● Smooth sailing from here on out
  • 16. Implications Blockchains 102 ➔ Transactions take time to ‘confirm’ ➔ Each transaction, once it’s in an accepted block has a height ➔ Each increase in blockchain height is called a confirmation ➔ A transaction 5 blocks below the top of the chain is said to have ‘6 confirmations’ ➔ The merchant can decide how many confirmations is sensible to wait for (cup of coffee, perhaps no confirmations; for a meal, 1 or 2 confirmations; for a restaurant at least 6!) ➔ Current default is to wait for 6 confirmations for anything of value
  • 17. Other Types Of Fork Blockchains 102 ➔ Upgrades to the protocol can cause problems – but can be managed ➔ Blocks that are created have a version number ➔ New blocks using the new protocol use a different version number ➔ If the upgrade is backwardly compatible, it's a soft fork ➔ If the upgrade isn't backwardly compatible, it's a hard fork ➔ Hard forks are much harder and we try to avoid them

Notas del editor

  1. Assume familiar with software, just not blockchains Bitcoin can be polizing, quickly decends into conversations/arguments about politics, But as software is eating the workd, that's what we'll be focusing on Simplified first , then circle back round and dive deeper Simplifications can be missleading Tell meif too fast/slow