BlockChain Operations
John RWilliams, MIT
Transforming the FinTech Revolution
Merkle Tree Locks Transactions and Hashes Chain Blocks
Hash(Prev_Hash + Tx_Root + Nonce) 000000bc9xxx
Merkle Tree
Locks
transactions
©MIT GeoSpatial Data Center, 2017, 2018
Can we build a system where we all agree on the exact same
transactions and their order?
©MIT GeoSpatial Data Center, 2017, 2018
Ethereum Nodes
©MIT GeoSpatial Data Center, 2017, 2018
Transaction sent to one Ethereum node. That node broadcasts it to others who broadcast to others …
Transaction re-broadcast to
Transactions broadcast other miners
Transaction
out to set of miners
sent to an
Ethereum node
©MIT GeoSpatial Data Center, 2017, 2018
Your transaction may or may not be combined into a block. Miners race to form a valid block by solving puzzle
Winning miner broadcasts block to set of other
miners who check solution and re-broadcast it
©MIT GeoSpatial Data Center, 2017, 2018
Mining a Block Workflow
Transactions combined into a
Alice wants to send Bitcoin block and puzzle solved by one Mined Block is broadcast to all
to Bob miner miners for validation
Transaction created
And Broadcast to Miners
Transaction Complete
If validated each
miner adds block
to its chain with id
number
©MIT GeoSpatial Data Center, 2017, 2018
Two mining pools produce different blocks at similar time
I’ve mined Block 81
?
I’ve mined Block 81
?
©MIT GeoSpatial Data Center, 2017, 2018
Two blocks mined at almost same time – actual Ethereum
“orphaned”
block
©MIT GeoSpatial Data Center, 2017, 2018
Blockchain Consensus in BitCoin
Transactions combined into a Mined Block is broadcast to all
Alice wants to send Bitcoin block and puzzle solved by one miners for validation
to Bob miner
Transaction created
And Broadcast to Miners
Transaction Complete
Miners validate
and add to their
blockchain
Miner adds
different block
©MIT GeoSpatial Data Center, 2017, 2018
Ethereum Wallet
Logs – changes are logged and events raised
©MIT GeoSpatial Data Center, 2017, 2018
Client’s apps can monitor events
Ethereum can raise events when log is written
©MIT GeoSpatial Data Center, 2017, 2018