How to understand a BLOCKCHAIN?
Let's find out!
What people mean when they say “blockchain”?
1. Particular Bitcoin (Ethereum etc) blockchain
2. Blockchain as a technology
3. Implementation of a technology in a certain use case or coin
Blockchain is a shared database that is
securely synchronised between parties
who don’t trust each other.
Blockchain on a technical level
Can use any database
Blocks are constructed from transactions
Transaction is a digital receipt that transfers ownership from one account to
Each account is represented by a public key
In order to initiate a transaction digital signature is needed
In order to connect blocks secure cryptographic function is used (hash
When it worth applying?
When it stores a scarce digital asset:
3. objective history of facts
Myths about blockchain
Because of the hype in the media, people believe that blockchain can do following things:
1. blockchain can verify any data
2. blockchain enables instant transactions
3. blockchain is immutable
4. blockchain is encrypted
5. blockchain can replace enterprise servers
How do blockchains differ?
People use different criteria:
1. Public & private
2. Permissioned & permissionless
3. Consensus used
Public vs Private
usually means that everybody can view all transactions and participate in their validation
usually means that only specific preselected parties can view all transactions and validate
Permissionless vs Permissioned
usually means that everybody is able to become a validator for a blockchain
usually means that only specific preselected parties can validate transactions
What is consensus?
It is a process of reaching an agreement
between parties that don’t trust each other.
Parties could be fully equal or have different
voting power. The only thing matters is that
in the end of the process everybody knows
what decision has been reached.
Consensus types. Proof of work
Proof of work assumes that:
1. amount of validators (miners) is unknown
2. validators are anonymous and have no reputation
3. in order to vote, proof of work needs to be
presented, which requires hard computations
4. consensus is reached if parties that control
majority (usually 51%) of computational power
Examples: Bitcoin, Monero, Ethereum (currently)
Consensus types. Proof of stake
Proof-of-stake (PoS) assumes that:
1 . validator of the next block is chosen in a
2. chance that a validator is chosen depends on its
3. validator loses its stake if it commits an attack
4. as a result, consensus is reached if parties that
control majority of wealth agree
Examples: Ethereum (in the future), NXT, Peercoin.
Consensus types. BFT
The Byzantine Fault Tolerance (BFT) assumes
1. amount of validators is known upfront
2. validators know each other
3. adding or removing of a validator requires
approval of the rest
Examples: Hyperledger (as an option)
Consensus types. FBA
Federated Byzantine agreement (FBA) assumes:
1. validators are equal, not anonymous, their
amount is not fixed
2. validators select other validators that they
trust and don’t care about the rest
3. validators form groups that reach a
consensus on transactions
4. as soon as groups intersect, a consensus is
reached within the whole set of validators
Relationships between consensus mechanisms
Using the two criteria:
- anonymity of the validators
- trust to a particular validator
blockchains can be viewed like on the picture.
* Proof of stake requires ownership of coins -
that’s why it belongs to permissioned.
* FBA doesn’t require any particular join
mechanism, that’s why it belongs to
Ideal blockchain use-cases
Decentralized reconciliation between banks
Decentralized land registry
Decentralized DNS (domain name service)
Decentralized reputation management
Preconditions for blockchain usage
Usage of cryptography
Digitization of all processes
Establishing uniform rules for participants
Transparent decision making
Satisfying all these preconditions requires a lot of efforts. Usually startups underestimate their complexity and fail
during integration phase.
Blockchain itself is a technology (like cloud computing) and can’t be really
regulated. Only particular business application can be regulated (like putting
private data of the bank customers to the cloud).
In case of blockchain, the biggest challenge is to define the rules, risks and
responsibilities of each party in a decentralized environment.
What are the functions of a token in the blockchain?
Inherent challenges of blockchain projects
Privacy - how to store all the transactions in a shared database but not to reveal the
sensitive commercial information
Performance - how to ensure sufficient speed of transaction processing if everybody is
involved in the validation
Governance - how to change the rules in a way that everybody agrees on in a
Storage - how to store only minimum necessary amount of information
Responsibility - how to define who is to blame in case of an error
Challenges of public & permissionless blockchain projects
Decentralization - how to prevent a situation when a small group of
validators controls the majority of voting power
Self-regulation - how to reach a social consensus in an anonymous
group that contains bad actors
Manipulation of the market - how to deal with inside trading, fake
news, fraud in a fully anonymous market