Bitcoin Network

Below you will find a brief description of how the Bitcoin network works, in order to construct the below I have used Bitcoin founder’s, Satoshi Nakamoto, original manuscript and used wikipedia to help with the more complex word descriptions and diagrams.

Cryptography

It is the practice and study of hiding information. It is the process of converting ordinary information into unintelligible gibberish (called ciphertext). Decryption is the reverse, in other words, moving from unintelligible ciphertext back to plaintext.

Bitcoin Payment

Bitcoin is a payment system based on cryptographic proof instead of banking institutional trust, allowing any two willing parties to transact directly with each other without the need for a third party.

Cryptographic Hash Function

It is a procedure whereby an input (for example a word, sentence) is cryptographically turned into a fixed-sized string, the (cryptographic) hash value.

Bitcoin Hashing

Bitcoin is a chain of digital signatures. To transfer a coin, one must, digitally sign a hash of the previous transaction and the public key of the next owner adding these to the end of the coin.

For example; after three transactions a Bitcoin arrived at John. When John receives the Bitcoin for a service he would have rendered he will have the following code automatically hashed into his coin; ‘A-B-C’, ‘A’ and ‘B’ represent the two previous transactions and finally ‘C’ represents the final destination or in this case John’s wallet.

Double Spending

Traditionally to combat the issue of online double-spending, the common solution has been that after every transaction, the coin would be returned to the mint to issue a new coin, and only the coins issued directly by the mint are trusted not be double-spent. The problem with this is that every one relies on the mint, with every transaction having to go through them, just like a bank.

In the Bitcoin network in order to confirm that the coins are not double-spent and that the earliest transaction is the one that matters, the following system is adopted.

  1. Transactions are publicly announced (look up http://www.blockexplorer.com).
  2. A system for participants to agree on a single history of the order in which they were received.

Timestamp

It is a series of characters, denoting the date and/or time at which a certain event occurred. Each hash is also timestamped thus further adding to the security in the source coding further upending the possibility of allowing the code to be compromised. The timestamp proves that the data must have existed at the time, in order to get the hash.

Proof of Work (POW)

It is an economic measure to deter denial of service attacks and other service abuses on a network by requiring some work from the service requester, usually meaning processing time by a computer. The work must be moderately hard (but feasible) on the requester side but easy to check for the service provider.

Nonce

In security engineering, nonce is an abbreviation of a number used once. It is often random or pseudo random issued in an authentication protocol to ensure that old communication cannot be reused in replay attacks. To ensure nonces are only used once they are timestamped.

Blocks

Data is permanently recorded in the Bitcoin network through blocks. Each block contains all recent transactions, a nonce (random number), and the hash of the previous block. The first transaction in the block is special: it creates new Bitcoins for the person who generated it.

Bitcoin Blocks

Bitcoin makes use of proof of work, processing time by a computer, by offering a benefit, that entails the consumption of certain resources, like bandwidth to the Internet, computational disk space that have a definite cost. Once the CPU effort has been expended to make it satisfy the proof-of-work, the block cannot be changed without redoing the work. As later blocks are chained after it, the work to change the block would include redoing all the blocks after it.

Proof-of-work is essentially one-CPU-one vote. The majority decision is represented by the longest chain, which has the greatest proof-of-work effort invested in it.

If the majority of CPU power is controlled by honest nodes, the honest chain will grow the fastest and outpace any competing chains. 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.

Reusable Proof of Work (RPOW)

Hal Finney took the POW idea a step further creating the RPOW. RPOW is a form of token money, invulnerable to inflation, since a finite number of tokens (or 21 million Bitcoin in this case) will ever be created.

Bitcoin RPOW

An RPOW system differs from a POW system in that after someone has ‘spent’ a POW token at my web site, I have the option of exchanging that ‘spent’ POW token for a new, unspent RPOW token, which I can then spend at a third party’s website. This saves from having to use computational power to mint a new POW token. Thus the Bitcoin have now become reusable.

Remote Attestation

Allows changes to software to be detected by authorized parties.

Bitcoin Qwiki

The anti-counterfeit/anti-inflationary property of the RPOW token is guaranteed by a technique called remote attestation. Since the source code for this software has been published, any sufficiently knowledgeable programmer can, by inspecting this source code, satisfy himself that the software and, by extension, the RPOW server never issue a new token in exchange for spent token of equal value.

Node

It is a connection point, either a redistribution point or a communication end point. A physical network node is an active electronic device that is attached to a network, and is capable of sending, or forwarding information over a communication channel.

How the network works

  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 or creating the next block in the chain, using the hash of the accepted block as the previous hash.

Bitcoin Incentives

The first transaction in a block is a special transaction that starts a new coin owned by the creator (Bitcoin miner) of the block.

This adds an incentive for nodes to support the network, and provides a way to initially distribute coins into circulation. In the Bitcoin miners’ case, it is CPU time and electricity that is expended.

Once a predetermined number of coins have entered circulation, the incentive can transition to transaction fees and be completely inflation free.

Such incentive encourages nodes to stay honest and allows the network to continue expanding.

Can Bitcoin be cracked?

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

We consider the scenario of an attacker trying to generate an alternate chain faster than the honest chain. Even if this is accomplished, it does not throw the system open to arbitrary changes, such as creating value out of thin air or taking money that never belonged to the attacker. Nodes are not going to accept an invalid transaction as payment, and honest nodes will never accept a block containing them. An attacker can only try to change one of his own transactions to take back money he recently spent.

Privacy

The Bitcoin transaction system works like a stock exchange, the public can see that someone is sending the amount to someone else, but without information linking the transaction to anyone.

Bitcoin Fundamentals

  • Bitcoin is a truly peer-to-peer version of electronic cash.
  • No use is made of a financial institution.
  • Digital signatures are used to transfer the payment.
  • Prevents double-spending – timestamping 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.
  • The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power.
  • 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 the attackers.
  • Messages are broadcast on a best effort basis.
  • Nodes can leave and rejoin the network at will, accepting the longest proof-of-work chain as proof of what happened while they were gone.

Bibliography

http://www.bitcoin.org/sites/default/files/bitcoin.pdf

http://www.wikipedia.com

Please feel free to send your feedback to bitcoindummy@gmail.com

Comments
  1. bitcoins says:

    very instructive post, thanks for sharing!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s