In distributed environment , there need a way to
come to consensus All financial transactions need to agreed by a community Unless community agrees on that transaction, possibility exist that someone is doing some kind of false transactions e.g. with 100rs it’s not possible to do two transactions 1. Rs. 60/ -& 2. Rs.80/- Same node is used multiple times : double spending Distributed Consensus Need to ensure that : double spending does not happen This is done through a consensus mechanism among all participants A way to verify that person who initiated transaction has solved some kind of puzzle. Other participants can see, verify this transaction by checking whether puzzle is solved correctly Major requirement of crypto currency: open network Requirements of cryptocurrency Any one can use for financial transaction Free from central authority like bank, govt. All transactions should be valid Challenging Problem!! • Nobody to monitor that financial transactions are correct • Network is open Consensus algorithm is based on message passing – Need identity of others(works only within closed system) – As network is open, don’t know identity of others, message passing does not work Bitcoin proof of work: open consensus • Bitcoin: A peer to peer electronic cash system – White paper by Satoshi Nakamoto – Idea of how to reach consensus without message passing • Financial transaction are possible in open market without govt., bank How it is done?? • Transaction verification need to be done in decentralized/ distributed manner • Need a leader to tell that transaction is valid, you add transaction to your list Consensus in open network: puzzle solving Consensus in open network: puzzle solving • A person who solves this puzzle will be the leader • Properties of the puzzle – Very difficult solve – Easy to verify • Other persons will verify easily that this puzzle is solved correctly • Different persons may solve puzzle in different rounds • Good puzzle can be generated with cryptograhic hash function Consensus in open network: puzzle solving
– Where x & y are known priori, it’s difficult to find k
– K is nonce here.. – Once k is found, = y1; y1<=y • Set of valid transactions are added to a public ledger • This particular algorithm is known a “proof of work” in bitcoin – (certain work is done to find out a solution, that solution act as a proof) Bitcoin proof of work : open consensus • Proof of Work: Nakamoto Consensus • More emphasis is given on “liveness” than “safety” Liveness (o/p will be produced within certain amount of time after running a consensus algorithm) Safety: correct processes will yield the correct output • Participants may agree on transaction, that is not the final one in a chain • consensus Finality over an open network – Not present in Proof of Work/ Nakamoto consensus From cryptocurrency to Blockchain 2011: Litecoin 2015: Ethereum 2016 blockchain becomes popular
Why should someone solve this puzzle??
Hard puzzle Needs more computing power to solve it Bitcoin mining: The key to consensus • Mining is a process to solve the complex puzzle • Special nodes are called miners – Task is propose new blocks – solve the puzzle – Find the nonce corresponding to a target block hash – Add solution as a proof of solving a challenge to be the leader – Solving a challenge needs some work to be done - Proof of Work • Miners collect transactions from different participants combine them together and form a block • Multiple different miners (as open network) • (just run the miner application on your system ) Bitcoin mining: The key to consensus Each miner solves puzzle independently and individually The miner who solves the puzzle first, his block (valid) is added to the blockchain first. Proof is also added to the block In different rounds, diff. miners are able to solve the puzzle. o/p hash value is given, miners have to find the nonce that will produce this hash. Bitcoin mining: The key to consensus • Miner has to show the proof of Work to become a successful miner. Why someone would want to be a leader? (Earn money(bitcoin) by solving this puzzle ! ) Bitcoin mining: The key to consensus • This incentive mechanism attract people to participate in mining • It produces new bitcoin in the system • Bicoin network work like a reserve bank to regulate a flow of money(bitcoin) in the market but without explicit governance • Don’t have any control of any bank, don’t have control of any governance operation • But still successful financial through which people can make transactions with each other • They can participate in business in open market Bitcoin mining: The key to consensus • It controls (regulates) the flow of new currency (bitcoin) in the network • Hashing makes the data tamper proof, thus making blockchain immutable Public Ledger • Where you can put the financial transactions that everyone can verify • Blockchain 1.0: Distributed Ledger Technology (DLT) • Anyone can verify the ledger and it’s correctness of content • DLT: money for the internet – it gives generation of not only bitcoin but other cryptocurrencies