The presentation on the history and emergence of distributed consensus and the contemporary aspects of Blockchain Governance presented for the Global FinTech and Blockchain Forum organised by Pyramid Learning Platforms.
4. Slide
Engage
Educate
Excel
Blockchain Design Principles
â˘Blockchain is a distributed ledger system
â˘As it is distributed across all of the nodes,
âblockchain technologyâ is often swapped with
âdistributed ledger technologyâ
â˘As it is distributed across all the nodes, distributed
consensus algorithms come to the prominence
2
7. Blockchain as a self
auditing system
The blockchain network automatically verifies
itself at certain intervals, creating a self-
auditing system that guarantees the accuracy of
the data it holds.
8. Why is it called
a Blockchain ?
The group of data automatically verified in a defined
interval is called blocks.
These blocks are cryptographically chained together,
making them hard to manipulate.
Altering any piece of data on the Blockchain would
require a huge amount of computing power.
9. A Mutual distributed
ledger !
An idea dating back to 1976, published by Diffie and
Hellman in the paper âNew Directions in
Cryptographyâ
A ledger is an invention of the Italian Renaissance
originally developed to support double-entry book
keeping.
10. Fault Tolerant Algorithms
The algorithms that maintain
ledgers must be fault tolerant,
ensuring the ledger remains secure
even if some parties misbehave,
whether accidentally or maliciously
11. Wait Free synchronisation
Universal Construction for lock free data structures
Wait free implementation of a concurrent data object is
one that can guarantee that any process can complete
any operation in finite number of steps
Constructing a wait free implementation of one data
object from another lies at the heart of much recent
work in concurrent algorithms, concurrent data
structures, and multiprocess architectures
12. Wait Free synchronisation
â˘An in-memory table where concurrent data from
multiple channels are indexed for retrieval
â˘Using a lock to synchronise concurrent access to
the table
â˘Every now and then, the thread holding the lock
would take a page fault or a scheduling interrupt
â˘Thus the concurrent data is inaccessible for long
â˘Need for eliminating lock based vulnerabilities
13. Lock Free data structure
implementation Approach
â˘Implementation of a ledger as a LinkedList
â˘Each list entry includes the data and the
link to the entry before it
â˘When the data arrives, it is placed in a
shared pool
â˘A set of dedicated threads, collectively run
a repeated protocol called consensus
â˘This is to select which data gets appended
to the ledger
14. Consensus Problem
⢠A set of processes each start with an input value
from some domain D and communicate with each
other by applying operations on shared objects.
They must eventually agree on a common input
value and halt.
⢠A consensus protocol is required to be
⢠Valid: common decision value was an input value
⢠Consistent: never decided on distinct values
⢠Wait-free: finite number of steps
15. Consensus protocol
⢠Each thread creates a list entry
⢠Then calls a compare and swap instruction
⢠This attempts to make the entry the new
head of the list
16. Querying the Blockchain
⢠A thread scans the linked list ledger
⢠To add a new block, a thread adds a new
block to the shared pool
⢠Then waits for the threads to append it to
the ledger
17. Consensus Models
⢠A consensus protocol involves a collection of
parties, some of whom are honest, and follow
the protocol, and some of whom are
dishonest, and may depart from the protocol
for any reason.
⢠Crash failure is when dishonest parties might
simply halt arbitrarily
⢠Byzantine Failure is when some dishonest
parties behave maliciously
18. Consensus Outcomes
⢠Agreement : all honest parties agree on
which transaction was selected
⢠Termination : all honest parties eventually
learn the selected transaction
⢠Validity : The selected transaction was
actually proposed by some party
19. Ledgers and consensus
⢠As ledgers are long lived, they require the
ability to do repeated consensus to append
the stream of transactions to the ledger
⢠Consensus is usually organised in discrete
rounds, where parties start round r+1 after
round r is complete
20. Advantages of Blockchain Approach
for the wait synchronisation
⢠It is universal: it can be implemented for
any type of data structure
⢠All questions of concurrency and fault
tolerance are compartmentalised in the
consensus protocol
21. Private Blockchain Ledgers
â˘Byzantine fault tolerant consensus protocols are used
â˘It uses several rounds of voting to ensure that data cannot be
distorted by a small number of faulty or corrupt nodes or
members. At regular intervals the nodes reach consensus on
the required data value.
â˘The ordering nodes time stamp the data and hash of the
previous data so that any attempt to tamper with the earlier
records will be detected when the hashes do not match.
â˘The validating nodes sign the record to establish the
authenticity and they append the record to the list of records
29. Blockchain Best Practices
â˘Secure today does not mean secure tomorrow
â˘Never store large files on Blockchain
â˘If you donât want the data to be be public, use a
permissioned blockchain
â˘Create a governance structure for the blockchain
â˘Decide on performance and scalability
requirements
30. Blockchain Success Factors
â˘Digital Business Models
â˘Convergence of Blockchain and
Messaging Technologies
â˘Increasing use and importance of
cloud based services
31. Enterprise Blockchain Roadmap
â˘Choose a platform
â˘Start experimenting
â˘Get security and scalability right
â˘Build a legal framework for engagement
â˘Set up smart contracts
â˘Understand value exchange and gamification
â˘Model out network ecosystems
32. .
â˘Assurance
â˘Users need to be assured that blockchain will keep their data protected
â˘Timing
â˘Users should be notified that average Blockchain transaction takes
longer than the centralised networks and databases. It is important to
get their feedback
â˘Hashes
â˘Enable users to copy the hash in the easiest way possible
â˘Password
â˘Losing private key could be a serious issue in mainstream blockchain
platforms. Let the users be aware of this constraint.
33. Blockchain Scalability :
Factors and Constraints
â˘Size of transactions
â˘Size of a block
â˘How many transactions in a block
â˘How often blocks get added to the chain
â˘How nodes collaborate in the chain
â˘How nodes add transactions to the chain
35. Blockchain Scalability
Measures and Metrics
â˘Maximum throughput
â˘Rate at which the blockchain can confirm
transactions
â˘Latency
â˘Time for the transaction to be confirmed
â˘Bootstrap time
â˘The time it takes for a new computer node to
download the history to validate a new transaction
36. Blockchain Scalability
Dimensions
â˘Node identity management
â˘Consensus finality
â˘Node scalability
â˘Client scalability
â˘Performance throughput
â˘Performance latency
â˘Power consumption
â˘Tolerated power of an adversary
â˘Network synchrony
â˘Correctness proofs
39. Governance Models
Best Practices
â˘In cross chain projects, multiple governance models can be used
â˘Malign changes are inevitable; thus having a roll back process in place is crucial
â˘A Blockchain token is very useful in incentivising good behaviour
â˘Liquid democracy can prevent voting centralisation but still includes many
votes
â˘Governance models can be improved through algorithmic decisions
â˘Requirement based governance is useful for refining the governance model
â˘Governance models can range from zero to full automation and have all kind of
variations in between
â˘Governance models can start as off-chain and move on-chain over time
â˘Off chain governance model can be complex