1
0
mirror of https://github.com/bitcoinbook/bitcoinbook synced 2024-11-14 03:48:58 +00:00

more stuff

This commit is contained in:
Andreas M. Antonopoulos 2013-12-03 06:37:05 -08:00
parent e5a2b6a54e
commit 19bb3f2af5

View File

@ -3,3 +3,31 @@
=== What is Bitcoin?
Bitcoin is digital money that operates on the Internet, running as an application on a user's laptop or smartphone. Bitcoin currency units are stored in a digital "wallet" and transmitted instantly and securely from anyone to anyone, anywhere in the world. People can use bitcoin to purchase products online, like a credit card. It can be used to send money across borders, for remittances to family or international business. Bitcoins can be purchased and sold, exchanged for other currencies at a floating exchange rate, at specialized currency exchanges. Bitcoin in a sense is money for the Internet.
Unlike traditional currencies, bitcoins are entirely virtual. There are no physical coins, or even digital coins. The coins are implied in transactions which transfer value from sender to recipient. Users of bitcoin own _keys_ which allow them to prove ownership of transactions in the bitcoin network, unlocking the value to spend it and transfer it to a new recipient. Those keys are stored in a digital wallet on each users computer. Possession of the key that unlocks a transaction is the only prerequisite to spend that transaction, putting the control entirely in the hands of each user.
Behind the scenes, bitcoin is a protocol, a network and a distributed computing innovation. The bitcoin currency is really only the first application of this invention. As a developer, I see bitcoin as akin to the Internet of money, a network for propagating value and securing the ownership of digital assets via distributed computation. There's a lot more to bitcoin than first meets the eye.
Bitcoins are created through a process called "mining", which involves looking for a solution to a difficult problem. Participants in the bitcoin network may operate as miners, using their computer's processing power to attempt to find solutions to this problem. Every 10 minutes on average, a new solution is found by someone who then is able to validate the transactions of the past 10 minutes and is rewarded with brand new bitcoins. Essentially, the currency-issuance function of a central bank is de-centralized and turned into a global competition. The rate at which new bitcoins are created is reduced by half every 4 years, resulting in an exponentially decreasing supply and a fixed total of 21 million coins. As a currency, bitcoin is deflationary and cannot be inflated by "printing" new money above and beyond the expected issuance rate.
In this chapter we'll get started with bitcoin by explaining some of the main concepts and terms, getting the necessary software and using bitcoin for simple transactions. In following chapters we'll start unwrapping the layers of technology that make bitcoin possible and examine the inner workings of the bitcoin network and protocol.
=== History of Bitcoin
Bitcoin was invented in 2008 by Satoshi Nakamoto with the publication of a paper titled "Bitcoin: A Peer-to-Peer Electronic Cash System". Satoshi Nakamoto combined several prior inventions such as b-money and HashCash to create a completely de-centralized electronic cash system that does not rely on a central authority for settlement and validation of transactions. The key innovation was to use a Proof-Of-Work algorithm to conduct a global election every 10 minutes, allowing the de-centralized network to arrive at _consensus_ about the state of transactions. This elegantly solves the issue of double-spend, a weakness of digital money, where a single currency unit can be spent twice.
Satoshi Nakamoto's invention is also a practical solution to a previously unsolved problem in distributed computing, known as the Byzantine Generals problem. As such, it represents a breakthrough in distributed computing science and has wide applicability beyond currency. It can be used to achieve consensus on decentralized networks for provably-fair elections, lotteries, asset registries, digital notarization and more.
Satoshi Nakamoto withdrew from the public in April of 2011, leaving the responsibility of developing the code and network to a thriving group of volunteers. The name Satoshi Nakamoto is an alias and the identity of the person or people behind this invention is currently unknown. However, neither Satoshi Nakamoto nor anyone else exerts control over the bitcoin system, which operates based on mathematical principles. The invention itself is groundbreaking and has already spawned new science in the fields of distributed computing, economics and econometrics.
The bitcoin network started in 2009, based on a reference implementation published by Nakamoto and since revised by many other programmers. During the first four years of operation, the network has grown to include an enormous amount of Proof-Of-Work computation, thereby increasing in security and resillience. As the network has grown, the exchange rate of a bitcoin has also grown dramatically and with quite a lot of volatility. In 2013, the total market value of bitcoin's primary monetary supply measure (M0) is estimated at more than 10 billion US dollars. The largest transaction processed by the network was a staggering $150 million US dollars, transmitted instantly and processed without any fees.
=== Getting Started
To join the bitcoin network and start using the currency, all a user has to do is download an application. Since bitcoin is a standard, there are many implementations of the bitcoin client software. There is also a "reference implementation", also known as the Satoshi Client, which is managed by a team of developers and is derived from the original implementation written by Satoshi Nakamoto.
You can download the Satoshi Client from bitcoin.org. Depending on your operating system, it will be called bitcoin-qt or bitcoind.
The bitcoin client is not just an interface into the bitcoin network, it also contains complete implementations of a wallet, a miner and a transaction validation engine that can independently validate any transaction. The client can operate as a full node on the network, bringing the power of a bank onto your laptop or smartphone. With the full client you can store keys, create and validate complex transactions and interact with the network at the same level as any other node. You become a bitcoin banker, as much as a bitcoin user.