Bitcoin
Encyclopedia
Bitcoin is a decentralized, peer-to-peer
network over which users make transactions that are tracked and verified through this network. The word Bitcoin also refers to the digital currency
implemented as the currency medium for user transactions over this network. In addition, the name Bitcoin refers to the client software allowing access to this network for conducting transactions.
To track and verify user transactions Bitcoin implements a type of triple-entry accounting system. To maintain a uniform transaction record in this accounting system a "proof-of-work" computer-code algorithm is used as the basis for a user-transaction journaling process that allows a large group of computers across the network to agree on a single consistent currency transaction account ledger without centralized coordination. The design allows the transaction process to work over differences in timing, a varying number of participants, even varying levels of honesty, and differences in perspective among the individual participants.
On January 3rd 2009 the first Bitcoins were generated, and in the same month Bitcoin was released as open-source software
written in C++
.
s. All data necessary to make any valid transaction is recorded in a publicly distributed database called the block chain. The block chain is built using a proof-of-work system
that prevents double-spending
and confirms transactions. Bitcoin transactions requires no centralized payment processing, and consequently are made at low cost.
using Elliptic Curve DSA
. Any user in the Bitcoin network has a digital wallet
containing a number of cryptographic keypairs. The wallet's public keys are transformed into Bitcoin addresses, which act as the receiving endpoints for all payments. Addresses in human-readable form appear as strings of numbers and letters around 33 characters in length, always beginning with the digit 1, as in the example of 175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W. The wallet's private keys are used to authorize transactions from that user's wallet.
is possible either. The resulting bitcoin is broadcast in a message, the transaction, on the peer-to-peer network. The rest of the network nodes validate the cryptographic signatures and the amounts of the transaction before accepting it.
, the network implements what Nakamoto describes as a peer-to-peer distributed timestamp server, which assigns sequential identifiers to each transaction, which are then hardened against modification using the idea of chained proofs of work (shown in the Bitcoin client as confirmations). In his white paper, Nakamoto wrote: "we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions."
Whenever a transaction is made, it is immediately labeled as unconfirmed. The confirmation status is reflective of the likelihood that the transaction could be successfully reversed in the event of a deliberate attempt to do so. Any transaction broadcast to other nodes does not become confirmed until it has been acknowledged in a collectively maintained timestamped-list of all known transactions, the block chain.
value to this previous block and computes the SHA-256 cryptographic hash
of the block and the appended nonce value. The node repeats this process until it adds a nonce that allows for the generation of a hash with a value lower than a specified target. Because the hash function is not reversible, finding such a nonce is hard and requires on average a predictable amount of repetitious trial and error
. When a node finds such a solution, it announces it to the rest of the network. Peers receiving the new solved block validate it by computing the hash and checking that it really starts with the given number of zero bits (i.e., that the hash is within the target). Then they accept it and add it to the chain.
Eventually, the block chain contains the cryptographic ownership history of all coins from their creator-address to their current owner-address. Therefore, if a user attempts to reuse coins he already spent, the network rejects the transaction.
The whole history of transactions must be stored inside the block chain, which grows constantly as new records are added and never removed. Nakamoto conceived that as the database became larger, applications for Bitcoin without the entire database on each user's computer would be desirable. To enable this, a Merkle tree is used to organize the transaction records in such a way that a future Bitcoin client can locally delete portions of its own database it knows it will never need, such as earlier transaction records of bitcoins that have changed ownership multiple times, while keeping the cryptographic integrity of the remaining database intact. Some users will only need the portion of the block chain that pertains to the coins they own or might receive in the future. At the present time however, all users of the Bitcoin software receive the entire database over the peer-to-peer network after running the software the first time.
). The difficulty updates happen every 2016 blocks. The difficulty is set to the value that would have most likely caused the prior 2016 blocks to take two weeks to complete, given the same computational effort (according to the timestamps recorded in the blocks). All nodes perform and enforce the same difficulty calculation.
In addition to the pending transactions confirmed in the block, a generating node adds a "generate" transaction, which awards new bitcoins to the operator of the node that generated the block. The payout of this generated transaction is set according to the inflation schedule programmed into the protocol. The process of solving blocks is often referred to as mining, as in gold mining
, in reference to the coins brought into existence by the generate transactions. The "miner" that generates a block also receives the surplus from any transactions that have input value in excess of the output value, effectively a transaction fee that provides an incentive to give a transaction priority for faster confirmation.
The proof-of-work problems are especially suitable to GPUs
and specialized hardware. Because of the growing computing power behind the system driving the difficulty to high levels, individual contributors with typical CPUs are no longer likely to solve a block on their own but can still receive small portion of the bitcoins generated in a new block by contributing their processing power to a mining pool. This increased difficulty makes it cost prohibitive for an attacker to perform double-spending attacks so it is beneficial to the system.
The number of Bitcoins created per block is never more than 50 BTC, and the awards are programmed to decrease over time towards zero, such that no more than 21 million will ever exist. As this payout decreases, the motive for users to run block-generating nodes is expected to change to earning transaction fees, funding from supporting auxiliary block chains, and simply to improve the security of the public Bitcoin infrastructure they depend on.
warned about the possibility of botnet
s engaging in covert "mining" of bitcoins (unauthorized use of computer resources to generate bitcoins), consuming computing cycles, using extra electricity and possibly increasing the temperature of the computer. Later that month, an employee of the Australian Broadcasting Corporation
was caught after using the company's servers to generate bitcoins without permission. Some malware also uses the parallel processing
capabilities of the GPUs built into many modern-day video card
s. In mid August 2011, bitcoin miner botnets were found; trojans infecting Mac OS X have also been uncovered.
Jeff Garzik, one of the Bitcoin developers, explained as such in an interview and concluded that "attempting major illicit transactions with bitcoin, given existing statistical analysis techniques deployed in the field by law enforcement, is pretty damned dumb". He also said "We are working with the government to make sure indeed the long arm of the government can reach Bitcoin... the only way bitcoins are gonna be successful is working with regulation and with the government"
or hosted on a third-party website. The wallet shows users their available bitcoin balance, transaction history, and the collection of bitcoin addresses they may use to send and receive bitcoins with other users. Because all transactions are added to the transaction log
in the bitcoin block chain, which is a distributed database formed by all the bitcoin participants, a user's bitcoin software does not need to be running for that user to receive bitcoins.
Bitcoin payments are normally displayed to the receiver near-instantly, but they are initially displayed as unconfirmed, because the bitcoin system cannot yet assure that the transaction is permanent. A transaction may be invalidated due to conflicting transactions (such as the same bitcoins being sent to two different receivers). This may happen if a sender malfunctions, or if a sender intentionally attempts to defraud a receiver. When the bitcoin network processes the transaction, an increasing number of confirmations are added every time the chain containing the transaction is extended. Eventually, the bitcoin software displays the transaction as confirmed.
The process of confirming a transaction is accomplished by solving a computationally difficult proof-of-work problem. The problem is based on data from the transactions that must be confirmed, as well as the entire previous transaction history. This process makes it infeasible for an attacker to rewrite the transaction history without having more computing power than the rest of the bitcoin system. Nodes that process blocks of transactions are rewarded by receiving a programmed amount of bitcoin, which arises "out of thin air," as well as any transaction fees associated with the transactions they process. This compensates the operators of these systems for their computational work used to secure bitcoin transactions against reversal, and also accomplishes the initial wealth distribution
for the bitcoin system as a whole. The difficulty of the proof-of-work problems is automatically adjusted by the system so that the average time between new blocks being awarded is ten minutes. All participating systems check the validity of every transaction and of every block and ignore any that violate the rules, such as blocks that bring the wrong amount of new bitcoin into existence, or transactions that would involve one sender spending the same bitcoin twice.
Bitcoin client, there is an open source implementation of the Bitcoin protocol in Java
called BitCoinJ.
Alternative user interface
s include bitcoin-js-remote, a JavaScript
web user interface for Bitcoin wallets, as well as Spesmilo, a PySide
interface more open to a diversity of users, which can run independently of an external wallet.
Anyone can view the block chain and observe transactions in real-time. Currency exchanges also exist between bitcoins and other real and virtual currencies, such as the US dollar and the Linden Dollar.By June 2011, a bitcoin was worth more than twenty-nine USD. By October 2011, the value of a bitcoin had fallen to less than three USD.
Transactions are facilitated directly without the use of a centralized financial processor between nodes, which makes reversal unlikely. Bitcoin transactions can represent many kinds of operations such as pure peer-to-peer escrow
and deposits but user interface software for this advanced functionality is currently underdeveloped. The Bitcoin client broadcasts transactions to surrounding nodes, which propagate them across the network. Corrupted or invalid transactions are rejected by legitimate clients. Transactions are free; however, an optional, often necessary, fee may be paid to other nodes to prioritize transaction processing.
The total number of bitcoins is programmed to approach 21 million over time. The money supply is programmed to grow as a geometric series every 210,000 blocks (roughly every 4 years); by 2013 half of the total supply will be generated, and by 2017, 3/4 will be generated. To ensure sufficient granularity of the money supply
, bitcoins are divisible down to eight decimal places (a total of 2.1 × 1015 or 2.1 quadrillion units).
The diminishing geometric expansion combined with the expansion of Bitcoin users provides an incentive for early adopters, who can obtain bitcoin at preferential exchange rates.
Bitcoin's design allows for pseudonymous ownership
and transfers. Because of this, Bitcoin has anonymity
properties weaker than cash
but stronger than traditional electronic payment systems. Although the complete history of every bitcoin transaction is public, it is not possible in general to associate bitcoin identities with real-life identities. This property makes bitcoin transactions attractive to some sellers of illegal products.
, Freenet
, Pioneer One
, and several others already accept donations in Bitcoin. The Electronic Frontier Foundation
did for a while but stopped doing so, citing concerns about a lack of legal precedent about new currency systems, and because they "generally don't endorse any type of product or service – and Bitcoin is no exception." Gavin Andresen, one of the "core developers", is explicitly advising people "not to make heavy investments in Bitcoins", as it is "kind of like a high risk investment".Jered Kenna, CEO of TradeHill
a major Bitcoin Exchange also cautions eager investors and stated to the The New York Observer that "Bitcoin is still an experiment and not to bet the house". As of July 2011, adoption is limited, while many small businesses have started to do it. LaCie
, a public company, accepts Bitcoin for its Wuala
service. A frequent problem faced by retailers willing to accept Bitcoin is the high volatility of its exchange rate to the US dollar and the absence of futures
and options
permitting to hedge this volatility yet. Further, it has been suggested that hoarding by speculators could impede the adoption of bitcoins.
. Also, different exchanges quote different prices, implying the market is not yet efficient.
On 19 June 2011, a security breach of the Mt. Gox Bitcoin Exchange caused the leaking of usernames, emails and MD5 hashed passwords of over 60,000 users onto the Web. The price of a Bitcoin briefly dropped to $0.01 on the Mt. Gox exchange (but remained unaffected on other exchanges) after a hacker allegedly used credentials from a Mt. Gox auditor's compromised computer to illegally transfer a large number of Bitcoins to himself and sell them all, creating a massive "ask" order at any price. Within minutes the price rebounded to over $15 before Mt. Gox shut down their exchange and canceled all trades that happened during the hacking period. The exchange rate of Bitcoins quickly returned to near pre-crash values.
Dan Kaminsky
, a leading Internet technology security researcher, investigated Bitcoin. His examination reached various conclusions on bitcoin, anonymity and its future scalability. In the area of security the basic model he concluded that bitcoin was well designed. This relates to the underlying bitcoin model rather than any particular attack against a specific client, such as described above.
of New York and Joe Manchin
of West Virginia called for an investigation into Bitcoin and Silk Road. Schumer described the use of Bitcoins at Silk Road as a form of money laundering
. Consequently Amir Taaki
from Intersango (formerly Britcoin), the UK exchange, put out a statement calling for regulation of Bitcoin exchanges by law enforcement. The hacking organization "LulzSec
" accepted donations in Bitcoin, having said that the group "needs bitcoin donations to continue their hacking efforts".
. He would be a thirty-nine-year old man in 2011.
The philosophical underpinnings of Bitcoin stem from a distrust of government-controlled central banks. "The root problem with conventional currency is all the trust that's required to make it work," Nakamoto wrote. "The central bank must be trusted not to debase the currency, but the history of fiat currencies is full of breaches of that trust. Banks must be trusted to hold our money and transfer it electronically, but they lend it out in waves of credit bubbles with barely a fraction in reserve."
Digital money systems:
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...
network over which users make transactions that are tracked and verified through this network. The word Bitcoin also refers to the digital currency
Electronic money
Electronic money is money or scrip that is only exchanged electronically. Typically, this involves the use of computer networks, the internet and digital stored value systems...
implemented as the currency medium for user transactions over this network. In addition, the name Bitcoin refers to the client software allowing access to this network for conducting transactions.
To track and verify user transactions Bitcoin implements a type of triple-entry accounting system. To maintain a uniform transaction record in this accounting system a "proof-of-work" computer-code algorithm is used as the basis for a user-transaction journaling process that allows a large group of computers across the network to agree on a single consistent currency transaction account ledger without centralized coordination. The design allows the transaction process to work over differences in timing, a varying number of participants, even varying levels of honesty, and differences in perspective among the individual participants.
On January 3rd 2009 the first Bitcoins were generated, and in the same month Bitcoin was released as open-source software
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...
written in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
.
Network
The Bitcoin network allows for an amount specified in Bitcoin(s) to be transferred between Bitcoin addresses using digital signatureDigital signature
A digital signature or digital signature scheme is a mathematical scheme for demonstrating the authenticity of a digital message or document. A valid digital signature gives a recipient reason to believe that the message was created by a known sender, and that it was not altered in transit...
s. All data necessary to make any valid transaction is recorded in a publicly distributed database called the block chain. The block chain is built using a proof-of-work system
Proof-of-work system
A proof-of-work system is an economic measure to deter denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer...
that prevents double-spending
Double-spending
Double-spending is a failure mode of digital cash schemes, when it is possible to spend a single digital token twice. Since, unlike physical token money such as coins, electronic files can be duplicated, and hence the act of spending a digital coin does not remove its data from the ownership of the...
and confirms transactions. Bitcoin transactions requires no centralized payment processing, and consequently are made at low cost.
Addresses
Bitcoin is based on public-key cryptographyPublic-key cryptography
Public-key cryptography refers to a cryptographic system requiring two separate keys, one to lock or encrypt the plaintext, and one to unlock or decrypt the cyphertext. Neither key will do both functions. One of these keys is published or public and the other is kept private...
using Elliptic Curve DSA
Elliptic Curve DSA
The Elliptic Curve Digital Signature Algorithm is a variant of the Digital Signature Algorithm which uses Elliptic curve cryptography.-Key and signature size comparison to DSA:...
. Any user in the Bitcoin network has a digital wallet
Digital wallet
A digital wallet allows users to make electronic commerce transactions quickly and securely.A digital wallet functions much like a physical wallet...
containing a number of cryptographic keypairs. The wallet's public keys are transformed into Bitcoin addresses, which act as the receiving endpoints for all payments. Addresses in human-readable form appear as strings of numbers and letters around 33 characters in length, always beginning with the digit 1, as in the example of 175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W. The wallet's private keys are used to authorize transactions from that user's wallet.
Transactions
Any Bitcoin contains its current owner's wallet address. Users can create as many wallets as they wish. When a bitcoin belonging to user A is transferred to user B, then A’s ownership over that bitcoin is relinquished by adding B’s address to it and signing the result with the private key that is associated with A’s address. Because of the asymmetric cryptographic method, nobody else can grant this signature, and the private key cannot be determined based on the signed bitcoin.This statement is made on the assumption that it is infeasible to brute force the keys, and that no side channel attackSide channel attack
In cryptography, a side channel attack is any attack based on information gained from the physical implementation of a cryptosystem, rather than brute force or theoretical weaknesses in the algorithms...
is possible either. The resulting bitcoin is broadcast in a message, the transaction, on the peer-to-peer network. The rest of the network nodes validate the cryptographic signatures and the amounts of the transaction before accepting it.
Confirmations
To prevent double-spendingDouble-spending
Double-spending is a failure mode of digital cash schemes, when it is possible to spend a single digital token twice. Since, unlike physical token money such as coins, electronic files can be duplicated, and hence the act of spending a digital coin does not remove its data from the ownership of the...
, the network implements what Nakamoto describes as a peer-to-peer distributed timestamp server, which assigns sequential identifiers to each transaction, which are then hardened against modification using the idea of chained proofs of work (shown in the Bitcoin client as confirmations). In his white paper, Nakamoto wrote: "we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions."
Whenever a transaction is made, it is immediately labeled as unconfirmed. The confirmation status is reflective of the likelihood that the transaction could be successfully reversed in the event of a deliberate attempt to do so. Any transaction broadcast to other nodes does not become confirmed until it has been acknowledged in a collectively maintained timestamped-list of all known transactions, the block chain.
Target
Every generating node in the Bitcoin network collects all the unacknowledged transactions it knows of in a file called a block, which also contains a reference to the previous valid block known to that node. It then appends a nonceCryptographic nonce
In security engineering, nonce is an arbitrary number used only once to sign a cryptographic communication. It is similar in spirit to a nonce word, hence the name. It is often a random or pseudo-random number issued in an authentication protocol to ensure that old communications cannot be reused...
value to this previous block and computes the SHA-256 cryptographic hash
Cryptographic hash function
A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...
of the block and the appended nonce value. The node repeats this process until it adds a nonce that allows for the generation of a hash with a value lower than a specified target. Because the hash function is not reversible, finding such a nonce is hard and requires on average a predictable amount of repetitious trial and error
Brute-force search
In computer science, brute-force search or exhaustive search, also known as generate and test, is a trivial but very general problem-solving technique that consists of systematically enumerating all possible candidates for the solution and checking whether each candidate satisfies the problem's...
. When a node finds such a solution, it announces it to the rest of the network. Peers receiving the new solved block validate it by computing the hash and checking that it really starts with the given number of zero bits (i.e., that the hash is within the target). Then they accept it and add it to the chain.
Block chain
When a transaction is first acknowledged in a block, it receives one confirmation. The transaction itself is only acknowledged once, but blocks themselves are acknowledged repeatedly as time passes and the chain grows. Each time that first block is acknowledged by future blocks, the transaction is considered to have received another confirmation. After six confirmations, the Bitcoin client switches from showing "unconfirmed" to "confirmed". Although a transaction could be considered "confirmed" after a single confirmation, the client avoids reporting it as such until several further confirmations to ensure that it is overwhelmingly likely that the transactions are part of the main block chain rather than an orphaned one, and more importantly, practically impossible to reverse.Eventually, the block chain contains the cryptographic ownership history of all coins from their creator-address to their current owner-address. Therefore, if a user attempts to reuse coins he already spent, the network rejects the transaction.
The whole history of transactions must be stored inside the block chain, which grows constantly as new records are added and never removed. Nakamoto conceived that as the database became larger, applications for Bitcoin without the entire database on each user's computer would be desirable. To enable this, a Merkle tree is used to organize the transaction records in such a way that a future Bitcoin client can locally delete portions of its own database it knows it will never need, such as earlier transaction records of bitcoins that have changed ownership multiple times, while keeping the cryptographic integrity of the remaining database intact. Some users will only need the portion of the block chain that pertains to the coins they own or might receive in the future. At the present time however, all users of the Bitcoin software receive the entire database over the peer-to-peer network after running the software the first time.
Difficulty
Every 2016 blocks, the Bitcoin protocol reassigns the target. As the target changes, the result is a change in the difficulty of finding a suitable nonce. The difficulty is adjusted such that the distribution mean is λ = 2016 blocks per two weeks, so that there are roughly ten minutes between the creation of new blocks on average (the wait times between events in a Poisson process follow an exponential distributionExponential distribution
In probability theory and statistics, the exponential distribution is a family of continuous probability distributions. It describes the time between events in a Poisson process, i.e...
). The difficulty updates happen every 2016 blocks. The difficulty is set to the value that would have most likely caused the prior 2016 blocks to take two weeks to complete, given the same computational effort (according to the timestamps recorded in the blocks). All nodes perform and enforce the same difficulty calculation.
In addition to the pending transactions confirmed in the block, a generating node adds a "generate" transaction, which awards new bitcoins to the operator of the node that generated the block. The payout of this generated transaction is set according to the inflation schedule programmed into the protocol. The process of solving blocks is often referred to as mining, as in gold mining
Gold mining
Gold mining is the removal of gold from the ground. There are several techniques and processes by which gold may be extracted from the earth.-History:...
, in reference to the coins brought into existence by the generate transactions. The "miner" that generates a block also receives the surplus from any transactions that have input value in excess of the output value, effectively a transaction fee that provides an incentive to give a transaction priority for faster confirmation.
The proof-of-work problems are especially suitable to GPUs
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
and specialized hardware. Because of the growing computing power behind the system driving the difficulty to high levels, individual contributors with typical CPUs are no longer likely to solve a block on their own but can still receive small portion of the bitcoins generated in a new block by contributing their processing power to a mining pool. This increased difficulty makes it cost prohibitive for an attacker to perform double-spending attacks so it is beneficial to the system.
The number of Bitcoins created per block is never more than 50 BTC, and the awards are programmed to decrease over time towards zero, such that no more than 21 million will ever exist. As this payout decreases, the motive for users to run block-generating nodes is expected to change to earning transaction fees, funding from supporting auxiliary block chains, and simply to improve the security of the public Bitcoin infrastructure they depend on.
Covert "mining"
In June 2011, SymantecSymantec
Symantec Corporation is the largest maker of security software for computers. The company is headquartered in Mountain View, California, and is a Fortune 500 company and a member of the S&P 500 stock market index.-History:...
warned about the possibility of botnet
Botnet
A botnet is a collection of compromised computers connected to the Internet. Termed "bots," they are generally used for malicious purposes. When a computer becomes compromised, it becomes a part of a botnet...
s engaging in covert "mining" of bitcoins (unauthorized use of computer resources to generate bitcoins), consuming computing cycles, using extra electricity and possibly increasing the temperature of the computer. Later that month, an employee of the Australian Broadcasting Corporation
Australian Broadcasting Corporation
The Australian Broadcasting Corporation, commonly referred to as "the ABC" , is Australia's national public broadcaster...
was caught after using the company's servers to generate bitcoins without permission. Some malware also uses the parallel processing
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
capabilities of the GPUs built into many modern-day video card
Video card
A video card, Graphics Card, or Graphics adapter is an expansion card which generates output images to a display. Most video cards offer various functions such as accelerated rendering of 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connect multiple monitors...
s. In mid August 2011, bitcoin miner botnets were found; trojans infecting Mac OS X have also been uncovered.
Transaction fees
Miners have no obligation to include transactions in the blocks they try to solve. A transaction fee can be associated with any transaction, giving miners an incentive to put the transaction in a block, as miners collect the transaction fees associated with all transactions included in blocks they solve. Very small transactions, or those that use relatively new coins, have low "priority" and may be assessed a transaction fee to reduce spam. As of version 0.3.23 of the official bitcoin client, the minimum transaction fee for low priority transactions is 0.0005 BTC.Anonymity
Because transactions are broadcast to the entire network, they are inherently public. Unlike regular banking, which preserves customer privacy by keeping transaction records private, transactional anonymity is accomplished in Bitcoin by keeping the ownership of addresses private, while at the same time publishing all transactions. As an example, if Alice sends 123.45 BTC to Bob, a public record is created that allows anyone to see that 123.45 was sent from one address to another. However, unless Alice or Bob make their ownership of these addresses publicly known in some way, it is difficult for anyone else to connect the transaction with them. However, if an address is connected to a user at any point it can be possible to follow back a series of transactions because each participant likely knows who paid them and may disclose that information on request or under duress.Jeff Garzik, one of the Bitcoin developers, explained as such in an interview and concluded that "attempting major illicit transactions with bitcoin, given existing statistical analysis techniques deployed in the field by law enforcement, is pretty damned dumb". He also said "We are working with the government to make sure indeed the long arm of the government can reach Bitcoin... the only way bitcoins are gonna be successful is working with regulation and with the government"
Client
People interact with bitcoin using a "wallet," which may be either stored on their computer by the bitcoin softwareClient (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....
or hosted on a third-party website. The wallet shows users their available bitcoin balance, transaction history, and the collection of bitcoin addresses they may use to send and receive bitcoins with other users. Because all transactions are added to the transaction log
Transaction log
In the field of databases in computer science, a transaction log is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures...
in the bitcoin block chain, which is a distributed database formed by all the bitcoin participants, a user's bitcoin software does not need to be running for that user to receive bitcoins.
Bitcoin payments are normally displayed to the receiver near-instantly, but they are initially displayed as unconfirmed, because the bitcoin system cannot yet assure that the transaction is permanent. A transaction may be invalidated due to conflicting transactions (such as the same bitcoins being sent to two different receivers). This may happen if a sender malfunctions, or if a sender intentionally attempts to defraud a receiver. When the bitcoin network processes the transaction, an increasing number of confirmations are added every time the chain containing the transaction is extended. Eventually, the bitcoin software displays the transaction as confirmed.
The process of confirming a transaction is accomplished by solving a computationally difficult proof-of-work problem. The problem is based on data from the transactions that must be confirmed, as well as the entire previous transaction history. This process makes it infeasible for an attacker to rewrite the transaction history without having more computing power than the rest of the bitcoin system. Nodes that process blocks of transactions are rewarded by receiving a programmed amount of bitcoin, which arises "out of thin air," as well as any transaction fees associated with the transactions they process. This compensates the operators of these systems for their computational work used to secure bitcoin transactions against reversal, and also accomplishes the initial wealth distribution
Distribution of wealth
The distribution of wealth is a comparison of the wealth of various members or groups in a society. It differs from the distribution of income in that it looks at the distribution of ownership of the assets in a society, rather than the current income of members of that society.-Definition of...
for the bitcoin system as a whole. The difficulty of the proof-of-work problems is automatically adjusted by the system so that the average time between new blocks being awarded is ten minutes. All participating systems check the validity of every transaction and of every block and ignore any that violate the rules, such as blocks that bring the wrong amount of new bitcoin into existence, or transactions that would involve one sender spending the same bitcoin twice.
Alternative implementations
Besides the original C++C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
Bitcoin client, there is an open source implementation of the Bitcoin protocol in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
called BitCoinJ.
Alternative user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
s include bitcoin-js-remote, a JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
web user interface for Bitcoin wallets, as well as Spesmilo, a PySide
PySide
PySide is a Python binding of the cross-platform GUI toolkit Qt. It is one of the alternatives for GUI programming in Python to Tkinter, which is bundled with Python. Other popular alternatives are PyGTK, PyQt and wxPython. Like Qt, PySide is free software...
interface more open to a diversity of users, which can run independently of an external wallet.
Currency
, there were over 7 million bitcoins in existence. This figure is algorithmically determined as described in Nakamoto's whitepaper. Because by definition the only spendable Bitcoins in existence are those represented in the block chain database passed around on the peer to peer network, the number is not only easy to determine, but can be quickly determined with precision by all participants.Anyone can view the block chain and observe transactions in real-time. Currency exchanges also exist between bitcoins and other real and virtual currencies, such as the US dollar and the Linden Dollar.By June 2011, a bitcoin was worth more than twenty-nine USD. By October 2011, the value of a bitcoin had fallen to less than three USD.
Monetary differences
Unlike conventional fiat currency, Bitcoin has no centralized issuing authority. There is a limited controlled expansion of the monetary base hardcoded in the Bitcoin software.Transactions are facilitated directly without the use of a centralized financial processor between nodes, which makes reversal unlikely. Bitcoin transactions can represent many kinds of operations such as pure peer-to-peer escrow
Escrow
An escrow is:* an arrangement made under contractual provisions between transacting parties, whereby an independent trusted third party receives and disburses money and/or documents for the transacting parties, with the timing of such disbursement by the third party dependent on the fulfillment of...
and deposits but user interface software for this advanced functionality is currently underdeveloped. The Bitcoin client broadcasts transactions to surrounding nodes, which propagate them across the network. Corrupted or invalid transactions are rejected by legitimate clients. Transactions are free; however, an optional, often necessary, fee may be paid to other nodes to prioritize transaction processing.
The total number of bitcoins is programmed to approach 21 million over time. The money supply is programmed to grow as a geometric series every 210,000 blocks (roughly every 4 years); by 2013 half of the total supply will be generated, and by 2017, 3/4 will be generated. To ensure sufficient granularity of the money supply
Money supply
In economics, the money supply or money stock, is the total amount of money available in an economy at a specific time. There are several ways to define "money," but standard measures usually include currency in circulation and demand deposits .Money supply data are recorded and published, usually...
, bitcoins are divisible down to eight decimal places (a total of 2.1 × 1015 or 2.1 quadrillion units).
The diminishing geometric expansion combined with the expansion of Bitcoin users provides an incentive for early adopters, who can obtain bitcoin at preferential exchange rates.
Bitcoin's design allows for pseudonymous ownership
Ownership
Ownership is the state or fact of exclusive rights and control over property, which may be an object, land/real estate or intellectual property. Ownership involves multiple rights, collectively referred to as title, which may be separated and held by different parties. The concept of ownership has...
and transfers. Because of this, Bitcoin has anonymity
Anonymity
Anonymity is derived from the Greek word ἀνωνυμία, anonymia, meaning "without a name" or "namelessness". In colloquial use, anonymity typically refers to the state of an individual's personal identity, or personally identifiable information, being publicly unknown.There are many reasons why a...
properties weaker than cash
Cash
In common language cash refers to money in the physical form of currency, such as banknotes and coins.In bookkeeping and finance, cash refers to current assets comprising currency or currency equivalents that can be accessed immediately or near-immediately...
but stronger than traditional electronic payment systems. Although the complete history of every bitcoin transaction is public, it is not possible in general to associate bitcoin identities with real-life identities. This property makes bitcoin transactions attractive to some sellers of illegal products.
Conversion to and from other currencies
Conversion to and from other currencies can be done in person at local exchangers, but is more commonly performed online through sites such as Mt. Gox, Intersango (formerly Britcoin), and TradeHill exchange services. , Mt. Gox handles over 80% of all Bitcoin trade volume.Adoption
WikileaksWikileaks
WikiLeaks is an international self-described not-for-profit organisation that publishes submissions of private, secret, and classified media from anonymous news sources, news leaks, and whistleblowers. Its website, launched in 2006 under The Sunshine Press organisation, claimed a database of more...
, Freenet
Freenet
Freenet is a decentralized, censorship-resistant distributed data store originally designed by Ian Clarke. According to Clarke, Freenet aims to provide freedom of speech through a peer-to-peer network with strong protection of anonymity; as part of supporting its users' freedom, Freenet is free and...
, Pioneer One
Pioneer One
Pioneer One is a 2010 American web series produced by Josh Bernhard and Bracey Smith. It is notable both for being funded purely through donations and for being the first series created for and released on BitTorrent networks.-Background:...
, and several others already accept donations in Bitcoin. The Electronic Frontier Foundation
Electronic Frontier Foundation
The Electronic Frontier Foundation is an international non-profit digital rights advocacy and legal organization based in the United States...
did for a while but stopped doing so, citing concerns about a lack of legal precedent about new currency systems, and because they "generally don't endorse any type of product or service – and Bitcoin is no exception." Gavin Andresen, one of the "core developers", is explicitly advising people "not to make heavy investments in Bitcoins", as it is "kind of like a high risk investment".Jered Kenna, CEO of TradeHill
TradeHill
TradeHill is a United States based Bitcoin exchange and the first competitor to Japan based Mt Gox. Founded by Jered Kenna and launched on June 8th of 2011...
a major Bitcoin Exchange also cautions eager investors and stated to the The New York Observer that "Bitcoin is still an experiment and not to bet the house". As of July 2011, adoption is limited, while many small businesses have started to do it. LaCie
LaCie
LaCie is a computer hardware company specializing in external hard drives, RAID arrays, optical drives, Flash Drives, and computer monitors. The company markets several lines of hard drives with a capacity of up to many terabytes of data, with a choice of interfaces...
, a public company, accepts Bitcoin for its Wuala
Wuala
Wuala is a secure online storage, file synchronization, versioning and backup, service, originally developed and run by Caleido Inc., which is now part of LaCie. Service is a combination of:...
service. A frequent problem faced by retailers willing to accept Bitcoin is the high volatility of its exchange rate to the US dollar and the absence of futures
Futures exchange
A futures exchange or futures market is a central financial exchange where people can trade standardized futures contracts; that is, a contract to buy specific quantities of a commodity or financial instrument at a specified price with delivery set at a specified time in the future. These types of...
and options
Option (finance)
In finance, an option is a derivative financial instrument that specifies a contract between two parties for a future transaction on an asset at a reference price. The buyer of the option gains the right, but not the obligation, to engage in that transaction, while the seller incurs the...
permitting to hedge this volatility yet. Further, it has been suggested that hoarding by speculators could impede the adoption of bitcoins.
Initial distribution
The initial bitcoin distribution is advantageous towards early-adopters. As stated, bitcoins are distributed ("generated") as a reward for the solution to a difficult proof-of-work problem. However, the amount of work that must be done for one bitcoin is currently over 500,000 times more than the amount of work at which the first bitcoins were being distributed. As more people join, and also because of a reward function that halves the number of rewarded bitcoins every so many blocks, it becomes harder to generate bitcoins over time, using the same computing power.Prices
Prices fluctuate relative to goods and services more than more widely accepted currencies, since the price of a bitcoin is not yet stickySticky (economics)
Sticky, in the social sciences and particularly economics, describes a situation in which a variable is resistant to change. Sticky prices are an important part of macroeconomic theory since they may be used to explain why markets might not reach equilibrium right away. Nominal wages are often said...
. Also, different exchanges quote different prices, implying the market is not yet efficient.
On 19 June 2011, a security breach of the Mt. Gox Bitcoin Exchange caused the leaking of usernames, emails and MD5 hashed passwords of over 60,000 users onto the Web. The price of a Bitcoin briefly dropped to $0.01 on the Mt. Gox exchange (but remained unaffected on other exchanges) after a hacker allegedly used credentials from a Mt. Gox auditor's compromised computer to illegally transfer a large number of Bitcoins to himself and sell them all, creating a massive "ask" order at any price. Within minutes the price rebounded to over $15 before Mt. Gox shut down their exchange and canceled all trades that happened during the hacking period. The exchange rate of Bitcoins quickly returned to near pre-crash values.
Security
If an attacker can compromise the machine storing a particular Bitcoin wallet, then they can easily transfer any Bitcoins to their own wallet. On June 16, 2011, computer security companies started publishing the discovery of malicious software that locates the wallet file on Windows computers and uploads it to a remote server. This attack could be prevented by encrypting the wallet file; however, this functionality was lacking until version 0.4.0 of the official Bitcoin client.Dan Kaminsky
Dan Kaminsky
Dan Kaminsky is an American security researcher. He formerly worked for Cisco, Avaya, and IOActive, where he was the Director of Penetration Testing...
, a leading Internet technology security researcher, investigated Bitcoin. His examination reached various conclusions on bitcoin, anonymity and its future scalability. In the area of security the basic model he concluded that bitcoin was well designed. This relates to the underlying bitcoin model rather than any particular attack against a specific client, such as described above.
Criminal uses
Bitcoin is the currency used by the Silk Road online marketplace. In a 2011 letter to Attorney General Eric Holder and the Drug Enforcement Administration, senators Charles SchumerCharles Schumer
Charles Ellis "Chuck" Schumer is the senior United States Senator from New York and a member of the Democratic Party. First elected in 1998, he defeated three-term Republican incumbent Al D'Amato by a margin of 55%–44%. He was easily re-elected in 2004 by a margin of 71%–24% and in 2010 by a...
of New York and Joe Manchin
Joe Manchin
Joseph "Joe" Manchin III is the junior United States Senator representing West Virginia. Manchin, a Democrat, was Governor of West Virginia from 2005 to 2010...
of West Virginia called for an investigation into Bitcoin and Silk Road. Schumer described the use of Bitcoins at Silk Road as a form of money laundering
Money laundering
Money laundering is the process of disguising illegal sources of money so that it looks like it came from legal sources. The methods by which money may be laundered are varied and can range in sophistication. Many regulatory and governmental authorities quote estimates each year for the amount...
. Consequently Amir Taaki
Amir Taaki
Amir Taaki is a British video game and computer software developer. Taaki is best known as the chairman of the Bitcoin Consultancy, as a Bitcoin project developer and for pioneering many open source projects.-Early years:...
from Intersango (formerly Britcoin), the UK exchange, put out a statement calling for regulation of Bitcoin exchanges by law enforcement. The hacking organization "LulzSec
LulzSec
Lulz Security, commonly abbreviated as LulzSec, is a computer hacker group that claims responsibility for several high profile attacks, including the compromise of user accounts from Sony Pictures in 2011. The group also claimed responsibility for taking the CIA website offline...
" accepted donations in Bitcoin, having said that the group "needs bitcoin donations to continue their hacking efforts".
Creator
Bitcoin was created by a person, or persons, going by the name Satoshi Nakamoto who began working on the software in 2007. In 2008, Nakamoto self-published a paper outlining his work on the cryptography mailing list and then in January 3, 2009 founded the open source project called Bitcoin. The real identity of "Satoshi Nakamoto" is unknown. In his P2P Foundation profile he said he is from JapanJapan
Japan is an island nation in East Asia. Located in the Pacific Ocean, it lies to the east of the Sea of Japan, China, North Korea, South Korea and Russia, stretching from the Sea of Okhotsk in the north to the East China Sea and Taiwan in the south...
. He would be a thirty-nine-year old man in 2011.
The philosophical underpinnings of Bitcoin stem from a distrust of government-controlled central banks. "The root problem with conventional currency is all the trust that's required to make it work," Nakamoto wrote. "The central bank must be trusted not to debase the currency, but the history of fiat currencies is full of breaches of that trust. Banks must be trusted to hold our money and transfer it electronically, but they lend it out in waves of credit bubbles with barely a fraction in reserve."
See also
- Anonymous Internet bankingAnonymous internet bankingAnonymous Internet banking is the proposed use of strong financial cryptography to make electronic bank secrecy possible. The bank issues currency in the form of electronic tokens that can be converted on presentation to the bank to some other currency...
- Complementary currencyComplementary currencyComplementary currency is a currency meant to be used as a complement to another currency, typically a national currency. Complementary currency is sometimes referred to as complementary community currency or as community currency...
- Digital currency exchanger
- Digital gold currencyDigital gold currencyDigital gold currency is a form of electronic money based on ounces of gold. It is a kind of representative money, like a US paper gold certificate at the time that these were exchangeable for gold on demand. The typical unit of account for such currency is the gold gram or the troy ounce,...
- Ripple monetary systemRipple monetary systemRipple is an open-source software project for developing and implementing a protocol for an open decentralized payment network. In its developed form , the Ripple network would be a peer-to-peer distributed social network service with a monetary honour system based on trust that already exists...
- Crypto-anarchismCrypto-anarchismCrypto-anarchism expounds the use of strong public-key cryptography to bring about privacy and freedom. It was described by Vernor Vinge as a cyberspatial realization of anarchism. Crypto-anarchists aim to create cryptographic software that can be used to evade prosecution and harassment while...
- Economic secessionEconomic secessionEconomic secession has been variously defined by sources. In its broadest sense, it is abstention from the state’s economic system – for instance by replacing the use of government money with barter, Local Exchange Trading Systems, or commodity money .-Variations:Wendell Berry may have coined the...
Digital money systems:
- DigiCashDigiCashDigiCash Inc. was a pioneering electronic currency corporation founded by David Chaum in 1990. DigiCash transactions were unique in that they were anonymous due to a number of cryptographic protocols developed by its founder...
- ecashEcashUsing cryptography, ecash was introduced by David Chaum as an anonymous electronic cash system. He used blind signatures to achieve unlinkability between withdrawal and spend transactions. Depending on the properties of the payment transactions, one distinguishes between on-line and off-line...
- eCacheECacheeCache is an anonymous bank operating through interfaces in the Tor network. The bank issues cryptographic certificates, digital bearer certificates, that can be exchanged among the bank's users. The certificates can be bought and sold for real money through the bank. The owners and operators of...
- PecunixPecunixPecunix is a digital gold currency founded in 2002 by Simon Davis. Similar to competing systems such as e-gold, Pecunix allows for the instant transfer of gold between user accounts....
- VenVen (currency)Ven is a global virtual currency used by members of a social network service Hub Culture to buy, share and trade knowledge, goods and services globally. It can be spent at any Hub Culture Pavilion or used for micropayments on the Internet at large. The value of Ven is determined on the financial...
External links
- Bitcoin website
- Bitcoin Block Explorer (Used to search transactions inside the Bitcoin block chain.)
- The rise and fall of Bitcoin in Wired magazine by Benjamin Wallace, December 2011.