5. Enterprise Blockchain
• Immutable record of transactions
• Shared between participants
• Trusted between enterprises
• Cryptographically signed
• Distributed consensus
13. Corporate and Government Capital
~$2.9B in Blockchain investment in 2019
https://forbes.com/sites/michaeldelcastillo/2019/04/16/blockchains-billion-dollar-babies
17. #1 Proof of Work - PoW
• Expend energy to solve a problem (miners)
• Problem solver is the “winner” and writes the next block
• Miners verify the block and get rewarded for work
• Math makes taking over the chain expensive (51% attack)
• Bitcoin problems
• 61.4 TWh ~ Ireland
• 454 KWh per transaction ~ 15 US households
• Slow ~7 tps
• Short term forks
https://www.forbes.com/sites/shermanlee/2018/04/19/bitcoins-energy-consumption-can-power-an-entire-country-but-eos-is-trying-to-fix-that/#480e9c
18. #2 Proof of Elapsed Time - PoET
• Each node gets a random wait time
• Node whose wait time expires first writes the next block
• Wait time is signed and verifiable by other nodes
• For BFT, requires Intel Software Guard Extensions (SGX)
• Code execution enclave inaccessible by remaining system
• Wait timer is executed in the enclave
• Node verification tests:
• Z Test – node isn’t winning too often
• C Test – new node must wait C blocks before winning
• K Test – node can publish K blocks before recertifying
19. #3 Proof of Stake - PoS
• Ownership of something: cryptocurrency units, votes, etc.
• Nodes put up their stake on a proposed block
• If that block is fraudulent, they lose their stake
• Blocks are “forged” not “mined”
Want to know who is on the chain
Permissions for users
Identification
Faster algorithms
4-5k/s on hyperledger
Privacy
Permissions for data to other participants
This is not a blockchain primer, but we’ll hit on a few of the major topics
This is not a talk on cryptocurrencies
The key to establishing an enterprise blockchain is that it is done with multiple parties.
Creating a blockchain that’s completely internal to a company is a good starter, but the blockchain doesn’t add anything.
To use blockchain in the enterprise, you need two or more companies to participate
Bring data transparency to opaque systems (supply chains)
Contract automation (remove EDI) often called smart contracts
Providence (Food, Airplane parts, pharmaceuticals)
Centralization (stock trades, certifications, audits)
Being able to track food as it flows through the supply chain.
Mangoes, leafy green vegetables, pork, and turkeys.
Solidity is a framework to create smart contracts on Ethereum
Buying parts took days or weeks to source and verify
Provenance and documentation stored on a blockchain is available immediately
Can buy parts online now
From the enterprise standpoint, this is what matters the most
The Consensus algorithm is actually the most important consideration
Computational agreement on who writes the next block (“winner”)
You can decide you want a DLT, but how transactions are written, how long they take, what they cost will
Actually decide how your application works in the future
Byzantine Fault Tolerant or Crash Fault Tolerant
The most important decision for your enterprise blockchain
Byzantine Fault Tolerant or Crash Fault Tolerant
51% attack is a symptom of the Consensus Algorithm, not a property of Blockchains
Need incentives to create miners
Forkable
Biggest problem is the algorithm uses tons of electricity
42 TW, about the size of electricity used by Peru
454KWh per transaction, 15 households in US/day
SGX – can attest that its code is authentic
Sawtooth uses this type of consensus algorithm
Ethereum hard fork occurred Feb 28, 2019
Since you are putting up your stake and can lose it, you’re incentivized to pick the right transactions
Multi-party shared transactions are the only reason to use a Blockchain to share and exchange data with other entities.
Building a consortium of companies that want to share transactions:
Examples: Certification specification organizations and certification auditors
Provenance of food chain (growers, movers, retailers)
Universal information (products) (product producers, distributors, retailers)
For an enterprise shared blockchain application:
Allow anyone to join?
Or only allow selected participants
Enterprise Blockchains:
Who can write transactions?
Who can add new participants?
Who can administer the system?
What data is stored in the chain?
Who can see what data?
If we’re doing something like purchase orders on a blockchain, Each company will want their purchases, quantities and price private.
But they also want an automated contract execution
How do you decide?
In one of Target’s first POCs, we wanted to input a purchase order into the blockchain, and immediately everyone started asking questions on whether we should do that at all, if we did, what data, etc.
Enterprise considerations:
Who decides the architecture?
Who maintains the blockchain code?
How does it get paid for?
When do you do updates?
Do you archive data?
What does a transaction cost?
How many TPS?
We are implementing this at Target, here’s what we learned in the past year
Target has recently opensourced a blockchain project
We just joined this effort
We are just getting started, but we believe Open Source based Industry consortiums are the future for blockchain applications.