Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMS 486 Iowa State University Introduction to Bitcoin A P2P Electronic Cash System.

Similar presentations


Presentation on theme: "COMS 486 Iowa State University Introduction to Bitcoin A P2P Electronic Cash System."— Presentation transcript:

1 COMS 486 Iowa State University Introduction to Bitcoin A P2P Electronic Cash System

2

3 Bitcoin starts from a simple idea: Creating a “Free Currency” that does not relay on any authority/Banking System. BANK

4 Design a protocol to generate Bitcoin on the network. Everyone must agree on the protocol 1 2 3 The owner of the Bitcoin can use it to buy things from others on the P2P network. It is called a Transaction. The transaction is broadcasted on the whole network such that everyone knows it. 4 Problem: How to safely conduct a transaction ?

5 Use the Public-Private Key technology to ensure Verifiable Transaction Transaction of 1 Bitcoin from A to B: 1.A asks for B’s public key. 2.A add B’s public key at the end of previous transactions, and sign it with his private key. 3.Broadcast the transaction to the whole network. Problem: How to prevent A from Cheating ?

6 We need a mechanism to store all transactions ever happened on the P2P network in a timely manner We can use a simple chain of evidence to store all transactions distributed on the P2P network Problem: The Chain is too easy to fake

7 The Chain of evidence must require significant amount of efforts to build, such that no one can easily fake it. Proof of Efforts? In Computer Science, we usually use solving hard computational problem as a proof of efforts, aka: Proof of Work I This technique can be used to make generating the chain of evidence very hard.

8 Besides all the necessary information, each block of the Chain of evidence need also have a field of Random Number, called Nonce. I Even if we change 1 bit of Nonce, the hash value of the entire block will be totally changed. How to choose Nonce? Requirement for a Valid Block: The hash value of each block MUST start with n Continuous Zeroes. It is very hard to find such a nonce number for large n.

9 Example of Valid Block How can this mechanism prevent an adversary from faking a block? I A Transaction is broadcasted on the P2P network When a valid block is generated, it is broadcasted on the P2P network too. 1 3 EVERYONE on the network starts to compute a valid block to add in the transaction 2 The first valid block will be accepted by the P2P network. 4 To generate a Fake but Valid block, the adversary must be faster than EVERYONE else combined. This mechanism works as long as the power of good guy is larger than cooperated bad guy. Problem: How to motive everyone participate in computing blocks? ?

10 Whoever contributes a Valid Block receives Bitcoin as reward I Bitcoin Mining You can do it too! Problem: If hardware becomes faster and faster, will there be Bitcoin Inflation? 1.Get a Bitcoin Account. (Join the P2P network)Get a Bitcoin Account 2.Download a mining software (Or write your own)Download a mining software 3.Run the software! 4.Pray, or go get a faster machine.

11 The difficulty of computing a Valid Block will be raised if the number of Bitcoin generated grows fast. The faster you mine  The harder it is to mine The overall speed is controlled to 6 blk/hr Requirement for a Valid Block: The hash value of each block MUST start with n Continuous Zeroes. It is very hard to find such a nonce number for large n. Problem: Even speed of issuing new Bitcoin is controllable, the number of existing Bitcoin is still growing always. Is the number of Bitcoin Infinite or Finite?

12 The number of Bitcoin is finite What to do when we run out of Bitcoin? Fractional-reserve Banking. i.e., break down existing Bitcoin into smaller units like 0.1 Bitcoin, 0.01 Bitcoin, etc. Estimated time of running out Bitcoin: 2140

13 Global Transaction MapTransaction ChartsMarket Price

14


Download ppt "COMS 486 Iowa State University Introduction to Bitcoin A P2P Electronic Cash System."

Similar presentations


Ads by Google