[Paper Reading] Bitcoin

来源:互联网 发布:网络跟踪 编辑:程序博客网 时间:2024/05/19 00:12

Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.

Introduction

Make payments over a communications channel without a trusted party
==> based on cryptographic proof instead of trust
==>

  • transactions that are computationally impractical to reverse would protect sellers from fraud
  • routine escrow mechanisms could easily be implemented to protect buyers

The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes.

Transactions

Define an electronic coin as a chain of digital signatures.

Transfer: digitally signing with

  • the owner’s private key
  • the previous transaction hash
  • the public key of the next owner

Basic Transactions

Problem: the payee can’t verify the double-spending of the coin.

To accomplish without a trusted party, transactions must be publicly announced.

At the time of each transaction, the majority of nodes agreed it was the first received.

Timestamp Server

Taking a hash of a block of items to be timestamped and widely publishing the hash.

Timestamp Server

Each timestamp includes the previous timestamp in its hash.

Proof-of-Work

Scanning for a value that when hashed, the hash begins with a number of zero bits.

Add a nonce to give the block’s hash the required zero bits, the block cannot be changed without redoing the work and that in the following chained blocks.

Proof-of-Work

The majority decision is represented by the longest chain.

Network

  1. New transactions are broadcast to all nodes.
  2. Each node collects new transactions into a block.
  3. Each node works on finding a difficult proof-of-work for its block.
  4. When a node finds a proof-of-work, it broadcasts the block to all nodes.
  5. Nodes accept the block only if all transactions in it are valid and not already spent.
  6. Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash

Incentive

First transaction starts a new coin owned by the creator of the block.

The steady addition of a constant amount of new coins is analogous to gold miners expending resources (CPU time and electricity) to add gold to circulation.

Reclaiming Disk Space

Discard old blocks.

Merkle Tree

Merkle Tree

Simplified Payment Verification

Payment Verification

Combining and Splitting Value

Combining and Splitting Value

Privacy

Keeping public keys anonymous.

Privacy

0 0
原创粉丝点击