# Bitcoin

 The content of this article requires cleaning up to meet OD's quality standards. Check the wiki best practices for guidelines on improving article and categorisation quality.
Bitcoin is an open source peer-to-peer (P2P) electronic cash system that's completely decentralised, with no central server, trusted authorities or middle men. The availability of bitcoins can't be manipulated by governments or financial institutions.

Bitcoin is the first truly decentralised currency and has paved the way for hundreds more to compete together in Cipherspace over the coming years. This is one of the key factors in the transition of global society into the post-nation-state economy talked about in books like The Sovereign Individual and which is coming to be known by agorists as The Second Realm.

The value of the bitcoin approximately depends on the size of the network, and essentially gives you a 1 / 21000000 share in the value that can come out of this network and its ability to facilitate trade. When gold was the dominant currency, it seemed that it represented physical value while bitcoin is a looking glass that shows us what money really is: social value.

Bitcoin is the first online currency to solve the so-called “double spending” problem without resorting to a third-party intermediary. The key is distributing the database of transactions across a peer-to-peer network. This allows a record to be kept of all transfers, so the same cash can’t be spent twice–because it’s distributed (a lot like BitTorrent), there’s no central authority. This makes digital bitcoins like cash dollars or euros: Hand them over directly to a payee, and you don’t have them any more, all without the help of a third party.

You can find a couple of good introductions to bitcoin are here and here.

Organic Design statement on Bitcoin (2014):

...yeah! what he said!
Recently Bitcoin has been receiving a lot more attention from the mainstream media and is in fact starting to become a mainstream service in many ways. This has been causing the price to rise a lot which in turn has been leading to a lot of heated debate on both the positive and negative side. Organic Design fully supports Bitcoin and the entire cryptocurrency movement, and has therefore been receiving some negative feedback from those who feel that Bitcoin is not a solution, is not "sound money", is "just another fiat currency" or is a bubble that will crash at any time. I'll address each of these issues in this section, and conclude with the positive side; why Bitcoin is so important and so deserving of full support. [more]

## How it works

In a p2p computer network there are no servers, the entire network is composed of users running instances of the application on their computers. Each running instance offers a small amount of processing and storage resource to the network so that it can deliver the services it was designed for such as redundant storage, anonymity or voice-over-IP applications.

In the case of a p2p currency system, some of the services the network is designed to offer are privacy, verification, authentication, currency creation and transfer of ownership. To ensure a reliable and tamper-proof system requires a lot of resource, and that amount is proportional to the amount of coins in the network. The network is able to pay the users for the resource they offer by making the coin-creation process part of the network protocol itself instead of being handled by a central trusted authority. This creates a natural and incorruptible link between the supply of currency in the network and the demand for it.

Even aside from the ability to exchange bitcoins for other currencies, it still makes a very useful tool for independent organisations and groups because it allows them to trade and settle accounts amongst themselves independently and privately. It effectively gives them a "bank" that has a trustworthy system of accounts that can't be tampered with and requires no corruptible central authority to operate. See the following links for more detailed information about how it works.

Bitcoin was born on January 3rd, 2009, at 6:15PM Greenwich Mean Time, which is when Satoshi Nakamoto mined the first 50 coins, known as the "genesis block."

### The Bitcoin Wallet

The term "wallet" is actually a little bit misleading because the information representing coins and transactions are actually stored throughout the entire network (in the blockchain), not in the wallets. The wallet actually stores private keys that give the wallet-holder the ability to spend coins in the network that are confirmed as being currently associated with one of your private keys. A bitcoin address that you show to other people in order for them to send you money is the public half of one of the private keys in your wallet.

Note: these days there are deterministic wallets available which allow you to backup your wallet with a single password or phrase, and you don't need to create a new backup even when new addresses are created in your wallet.

### The 21 Million Coin Limit

Many people are concerned about this "21 million coin limit" for example this blog post about Why Bitcoin Will Fail as a Currency is based on this belief. But it's not actually a problem because Bitcoins are divisible into eight decimal places (and future versions of the protocol could easily be designed to divide it further if there becomes demand for that) so even if there were only a few Bitcoins in existence, the entire Bitcoin economy could still operate properly.

### Inflation and Transaction Fees

By convention, the first transaction in a block is a special transaction that starts a new coin owned by the creator of the block. This adds an incentive for nodes to support the network, and provides a way to initially distribute coins into circulation, since there is no central authority to issue them. The steady addition of a constant of amount of new coins is analogous to gold miners expending resources to add gold to circulation. In our case, it is CPU time and electricity that is expended.

The incentive (for nodes to support the network) can also be funded with transaction fees. If the output value of a transaction is less than its input value, the difference is a transaction fee that is added to the incentive value of the block containing the transaction. Once a predetermined number of coins have entered circulation, the incentive can transition entirely to transaction fees and be completely inflation free.

With the network having reached capacity in early 2017 the setting of fees for a transaction has become very important. The BitcoinFees21.co site has a good table to help in setting the optimal fee amount.

## Bitcoin exchange sites

Buying Bitcoins is more difficult than expected considering that there's so many people trying to buy them. The reason is because Bitcoins more closely resemble cash than they do credit. This is because the transactions are irreversible whereas credit cards, Paypal and many other electronic forms of credit can be reversed up to six months later. To make matters worse, PayPal and most credit card company's have reversed many Bitcoin transactions because they consider Bitcoin to be a fraudulent operation. So the bottom line is that buying Bitcoins needs to be done with a solid irreversible form of currency such as cash in person or posting a cheque. Following are some exchanges offering various means of buying and selling Bitcoins. I find the easiest method is to use a wire transfer from a bank account which many exchanges accept (even though wire transfers can actually be reversed, but it's quite a procedure). These are our current favourite exchanges:

• LocalBitcoins - very effective in some countries such as Brazil, crap in others such as NZ
• Bittrex
• Cryptopia - not really an NZ exchange, doesn't deal in fiat directly, but great diverse coin support
• Kraken - only primary coins supported, but very high volume and excellent reputation, good for large trades

## New Zealand exchanges

• NZBCX
• Coined - no-signup bitcoin purchases, about 10% above ticker though
• BitNZ - bank account closed 22-11-2015 :-(

## Other projects on the blockchain

It has been a hot debate for years amongst the bitcoin developers as to whether or not the blockchain should allow the storage of data not related specifically to bitcoins. Even Satoshi himself weighed in on this debate saying that,

 Piling every proof-of-work quorum system in the world into one dataset doesn't scale. Bitcoin and BitDNS can be used separately. Users shouldn't have to download all of both to use one or the other. BitDNS users may not want to download everything the next several unrelated networks decide to pile in either. — Satoshi Nakamoto

Eventually projects started to store custom data in the blockchain in exotic ways which began to bloat the blockchain, so the developers in mid 2014 added the OP_RETURN opcode to the official set of executable codes which allows 40 bytes of custom data to be added to transactions. With OP_RETURN, Bitcoin's long-running debate over acceptable uses of the block chain has received some much needed clarity. Applications can now inexpensively add a 40 byte data payload to transactions using the OP_RETURN script function. On a technical level, OP_RETURN doesn't enable anything that wasn't previously possible. Instead, OP_RETURN provides a standard interface through which new services can potentially be layered onto the block chain, and a central point of focus for future work on integration tools.

Here's a list of various projects and ideas that extend the functionality available in the blockchain.

## Related projects

• Namecoin
• Litecoin
• NodeBitcoin - Communicate with bitcoind via JSON-RPC
• BitWasp - anonymous bitcoin marketplace built for use in conjunction with hidden services such as .onion websites and eepsites
• Open Transactions
• Bitcoin 2.0? - Jed McCaleb's initial post about Ripple, more here
• Gliph - Secure Texting + Bitcoin Payments
• MasterCoin
• DAC - Digital Autonomous Corporations
• Dark Wallet - Decentralised bitcoin mixing
• TumbleWallet - decentralised bitcoin mixing wallet
• CoinJoin - a protocol for decentralised mixing (used by Dark Wallet I believe)
• PyBitcoinTools
• Twister - a decentralised version of Twister
• Reality Keys - facts about the future, cryptographic proof when they come true
• BitPhone - phone calls using bitcoin payment, no registration required

## Craig Wright throws in the towel

 I’m Sorry I believed that I could do this. I believed that I could put the years of anonymity and hiding behind me. But, as the events of this week unfolded and I prepared to publish the proof of access to the earliest keys, I broke. I do not have the courage. I cannot. When the rumors began, my qualifications and character were attacked. When those allegations were proven false, new allegations have already begun. I know now that I am not strong enough for this. I know that this weakness will cause great damage to those that have supported me, and particularly to Jon Matonis and Gavin Andresen. I can only hope that their honour and credibility is not irreparably tainted by my actions. They were not deceived, but I know that the world will never believe that now. I can only say I’m sorry. And goodbye. — Dr. Craig Wright

## User Activated Soft Fork (UASF)

UASF is a means by which the network can have the power shifted back into the hands of the users. It was introduced a long time ago, but has been made very popular recently by the core-developer Shaolin Fry from his BitcoinDev discussion post which lead to a number of mainstream articles such as this and this.

To run your own bitcoin node that signals segwit-UASF, install the pre-compiled binary for your OS from BitcoinUASF.org, or clone the correct branch from the bitcoin repo and compile/install it, for example:

git clone --branch 0.14-BIP148 https://github.com/UASF/bitcoin.git
cd bitcoin
./autogen.sh
./configure
make
sudo make install

The dependencies can be a bit of a mission to install, here's some info for installing them on Debian and on Ubuntu. The main issues are with the BerekelyDB library which needs to be an old version to ensure the wallet format is compatible with old wallet backups. If you just want to signal for UASF and don't need to use the wallet you can disable it and not worry about the BerekelyDB at all by using the following configure line instead.

./configure --disable-wallet