100% found this document useful (1 vote)
159 views4 pages

Bitcoin Assignment

Bitcoin is an electronic payment system that allows digital transfers of value between parties without relying on a central trusted authority. It uses a peer-to-peer network and cryptographic proof instead of trust to verify transactions. Transactions are recorded in a public ledger called the blockchain, which is maintained through a process called mining that requires powerful computers to solve complex math problems. This process secures the network and allows people to spend funds only if the chain of ownership is verified.

Uploaded by

Nirmal C 4015
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
159 views4 pages

Bitcoin Assignment

Bitcoin is an electronic payment system that allows digital transfers of value between parties without relying on a central trusted authority. It uses a peer-to-peer network and cryptographic proof instead of trust to verify transactions. Transactions are recorded in a public ledger called the blockchain, which is maintained through a process called mining that requires powerful computers to solve complex math problems. This process secures the network and allows people to spend funds only if the chain of ownership is verified.

Uploaded by

Nirmal C 4015
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Bitcoin

Abstract:

A purely peer-to-peer version of electronic cash would allow online


payments to be sent directly from one party to another without going
through a financial institution. Digital signatures provide part of the
solution, but the main benefits are lost if a trusted third party is still required
to prevent double-spending. The network timestamps transactions by
hashing them into an ongoing chain of hash-based proof-of-work, forming
a record that cannot be changed without redoing the proof-of-work. As
long as a majority of CPU power is controlled by nodes that are not
cooperating to attack the network, they'll generate the longest chain and
outpace attackers. The network itself requires minimal structure.

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

Prev Hash Nonce Prev Hash Nonce

Tx Tx ... Tx Tx ...

The proof-of-work also solves the problem of determining representation in


majority decision making. If the majority were based on one-IP-address-one-vote,
it could be subverted by anyone able to allocate many IPs. To modify a past block,
an attacker would have to redo the proof-of-work of the block and all blocks after
it and then catch up with and surpass the work of the honest nodes.
4. Network
The steps to run the network are as follows:

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.

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.

5. Reclaiming Disk Space


To facilitate this without breaking the block's hash, transactions are hashed in a
Merkle Tree [7][2][5], with only the root included in the block's hash. Old blocks
can then be compacted by stubbing off branches of the tree. The interior hashes do
not need to be stored.

Block Block
Block Header (Block Hash) Block Header (Block Hash)

Prev Hash Nonce Prev Hash Nonce

Root Hash Root Hash

Hash01 Hash23 Hash01 Hash23

Hash0 Hash1 Hash2 Hash3 Hash2 Hash3

Tx0 Tx1 Tx2 Tx3 Tx3

Transactions Hashed in a Merkle Tree After Pruning Tx0-2 from the Block

A block header with no transactions would be about 80 bytes. If we suppose


blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year.
With computer systems typically selling with 2GB of RAM as of 2008, and Moore's
Law predicting current growth of 1.2GB per year, storage should not be a problem
even if the block headers must be kept in memory.
6. Simplified Payment Verification
Longest Proof-of-Work Chain

Block Header Block Header Block Header

Prev Hash Nonce Prev Hash Nonce Prev Hash Nonce

Merkle Root Merkle Root Merkle Root

Hash01 Hash23

Merkle Branch for Tx3

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 ...

...

It should be noted that fan-out, where a transaction depends on several


transactions, and those transactions depend on many more, is not a problem here.
There is never the need to extract a complete standalone copy of a transaction's
history.
7. Privacy
The traditional banking model achieves a level of privacy by limiting access to
information to the parties involved and the trusted third party. The necessity to
announce all transactions publicly precludes this method, but privacy can still be
maintained by breaking the flow of information in another place: by keeping public
keys anonymous
Traditional Privacy Model

Trusted
Identities Transactions Counterparty Public
Third Party

New Privacy Model

Identities Transactions Public

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.

You might also like