Bitcoin Assignment
Bitcoin Assignment
Abstract:
1. Introduction
Commerce on the Internet has come to rely almost exclusively on financial
institutions serving as trusted third parties to process electronic payments. Since
financial institutions cannot avoid mediating disputes. With the possibility of
reversal, the need for trust spreads, but no mechanism exists to make payments over
a communications channel without a trusted party.
What is needed is an electronic payment system based on cryptographic proof
instead of trust, allowing any two willing parties to transact directly with each other
without the need for a trusted third party. Transactions that are computationally
impractical to reverse would protect sellers from fraud, and routine escrow
mechanisms could easily be implemented to protect buyers.
2. Transactions
Each owner transfers the coin to the next by digitally signing a hash of the previous
transaction and the public key of the next owner and adding these to the end of the
coin. A payee can verify the signatures to verify the chain of ownership.
1
The problem of course is the payee can't verify that one of the owners did not
double-spend the coin. A common solution is to introduce a trusted central
authority, or mint, that checks every transaction.
3. Proof-of-Work
To implement a distributed timestamp server on a peer-to-peer basis, we will need
to use a proofof-work. The proof-of-work involves scanning for a value that when
hashed, such as with SHA-256, the hash begins with a number of zero bits. The
average work required is exponential in the number of zero bits required and can
be verified by executing a single hash.
Block Block
Tx Tx ... Tx Tx ...
2
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.
Block Block
Block Header (Block Hash) Block Header (Block Hash)
Transactions Hashed in a Merkle Tree After Pruning Tx0-2 from the Block
Hash01 Hash23
Hash2 Hash3
Tx3
As such, the verification is reliable as long as honest nodes control the network, but
is more vulnerable if the network is overpowered by an attacker.
3
Combining and Splitting Value
Transaction
In Out
In ...
...
Trusted
Identities Transactions Counterparty Public
Third Party
8. Conclusion
We have proposed a system for electronic transactions without relying on trust. We
started with the usual framework of coins made from digital signatures, which
provides strong control of ownership, but is incomplete without a way to prevent
double-spending. To solve this, we proposed a peer-to-peer network using proof-
of-work to record a public history of transactions that quickly becomes
computationally impractical for an attacker to change if honest nodes control a
majority of CPU power. The network is robust in its unstructured simplicity.
Nodes work all at once with little coordination. They do not need to be identified,
since messages are not routed to any particular place and only need to be delivered
on a best effort basis.