Difference between revisions of "Bitcoin"

From P2P Foundation
Jump to navigation Jump to search
Line 8: Line 8:
 
=Definition=
 
=Definition=
  
From the Wikipedia:
+
'''1.''' Bitcoin is a leader in distributed [[P2P Currency]].  Each participant can be part of a network as wide as they can reach, or as small as they choose to make it.  The only drawback of Bitcoin is the necessity to use the Bitcoin currency.  This is offset for many by the fact that, because the currency is 'in force' and widely used, a number of exchanges have popped up, allowing users to trade coins for other currencies.  Bitcoin may be useful for a [[P2P Network]] as an immediate replacement for cash with low infrastructure requirements for implementation.
 +
 
 +
 
 +
 
 +
'''2. From the Wikipedia:'''
  
 
"Bitcoin is an open source peer-to-peer electronic cash system developed by Satoshi Nakamoto. The system is decentralized with no central server or trusted parties. Bitcoin relies on cryptographic principles to create unique, unreproducible, and divisible tokens of value. Users hold the cryptographic keys to their own money and transact directly with each other, with the help of the network to check for double-spending."
 
"Bitcoin is an open source peer-to-peer electronic cash system developed by Satoshi Nakamoto. The system is decentralized with no central server or trusted parties. Bitcoin relies on cryptographic principles to create unique, unreproducible, and divisible tokens of value. Users hold the cryptographic keys to their own money and transact directly with each other, with the help of the network to check for double-spending."
Line 48: Line 52:
  
 
To try Bitcoin, download the Bitcoin software, then once it's running, click 'Generate Coins' which will pay you bitcoins in exchange for your computer working to validate bitcoin transactions. Check the exchange rate to calculate how many bitcoins need to be sent. The payer can purchase additional bitcoins if needed. The payer's previously generated bitcoins allow for a lower out of pocket payment. The payer then sends the bitcoins to the receiver using the Bitcoin software. The receiver can then sell their bitcoins for dollars. The receiver's previously generated bitcoins allow a higher dollar payout."
 
To try Bitcoin, download the Bitcoin software, then once it's running, click 'Generate Coins' which will pay you bitcoins in exchange for your computer working to validate bitcoin transactions. Check the exchange rate to calculate how many bitcoins need to be sent. The payer can purchase additional bitcoins if needed. The payer's previously generated bitcoins allow for a lower out of pocket payment. The payer then sends the bitcoins to the receiver using the Bitcoin software. The receiver can then sell their bitcoins for dollars. The receiver's previously generated bitcoins allow a higher dollar payout."
====Bitcoin as a [[P2P Currency Systems | P2P Currency System]]====
+
(source?)
<onlyinclude>[[Bitcoin]] is a leader in distributed [[P2P Currency]]. Each participant can be part of a network as wide as they can reach, or as small as they choose to make it. The only drawback of Bitcoin is the necessity to use the Bitcoin currency. This is offset for many by the fact that, because the currency is 'in force' and widely used, a number of exchanges have popped up, allowing users to trade coins for other currencies. Bitcoin may be useful for a [[P2P Network]] as an immediate replacement for cash with low infrastructure requirements for implementation.</onlyinclude>
+
 
 +
=Interview=
 +
 
 +
Excerpted from a more detailed interview:
 +
 
 +
"Klint Finley: Could you give us a brief overview of what Bitcoin is for the unfamiliar?
 +
 
 +
Gavin Andresen: Sure. Bitcoin is the first peer-to-peer currency - it is money created by people instead of by a central bank or government.
 +
 
 +
 
 +
'''And how does it work?'''
 +
 
 +
Everybody trying to create bitcoins and everybody trading bitcoins is connected by a peer-to-peer network. And the code everybody is running makes sure nobody else is cheating - nobody else is creating more bitcoins than are allowed, nobody is trying to spend their bitcoins more than once, and that bitcoins are only being spent by their rightful owners.
 +
 
 +
The really novel idea is a mechanism for preventing bitcoins from being spent more than once WITHOUT relying on a central authority.
 +
 
 +
The other mostly new idea is limiting the supply of bitcoins without relying on a central authority.
 +
 
 +
 
 +
 
 +
'''How do you accomplish these things without a central authority? And how do Bitcoin clients and servers find each other?'''
 +
 
 +
 
 +
Let me tackle the easy one first - how do Bitcoin clients find each other:
 +
 
 +
All p2p networks have "the bootstrapping problem" - without central servers, nodes (machines) on the network need to be able to find each other. Bitcoin solves it using three mechanisms:
 +
 
 +
1. By default, Bitcoin clients join an IRC chat channel and watch for the IP addresses and ports of other clients joining that channel. The name of that channel (and the name of the IRC chat server) is hardcoded into the Bitcoin software.
 +
 
 +
2. There is a list of "well known" Bitcoin nodes compiled into the software in case the IRC chat server is unreachable for some reason.
 +
 
 +
3. You can manually add (via configuration file or command-line option) IP addresses of other machines running Bitcoin to connect.
 +
 
 +
 
 +
Once you're connected to the Bitcoin p2p network, other machines send you messages containing IP addresses (and ports) of other machines they know about, so after bootstrapping you find other Bitcoin nodes via the Bitcoin network itself.
 +
 
 +
There is a lot of discussion about alternative bootstrapping mechanisms, so I wouldn't be surprised if alternative Bitcoin implementations that use something else pop up in the next year or so.
 +
 
 +
 
 +
'''I'm guessing you can also change the IRC server and channel manually as well?'''
 +
 
 +
No, actually, you can't - you'd have to recompile Bitcoin to do that."
 +
(http://www.readwriteweb.com/hack/2010/12/interview-bitcoin.php)
 +
 
 +
 
  
 
=More Information=
 
=More Information=

Revision as of 11:08, 11 January 2011

Satoshi Nakamoto has developed a new open source P2P e-cash system called Bitcoin.

Download Bitcoin v0.1 at http://www.bitcoin.org

Design paper at http://www.bitcoin.org/bitcoin.pdf


Definition

1. Bitcoin is a leader in distributed P2P Currency. Each participant can be part of a network as wide as they can reach, or as small as they choose to make it. The only drawback of Bitcoin is the necessity to use the Bitcoin currency. This is offset for many by the fact that, because the currency is 'in force' and widely used, a number of exchanges have popped up, allowing users to trade coins for other currencies. Bitcoin may be useful for a P2P Network as an immediate replacement for cash with low infrastructure requirements for implementation.


2. From the Wikipedia:

"Bitcoin is an open source peer-to-peer electronic cash system developed by Satoshi Nakamoto. The system is decentralized with no central server or trusted parties. Bitcoin relies on cryptographic principles to create unique, unreproducible, and divisible tokens of value. Users hold the cryptographic keys to their own money and transact directly with each other, with the help of the network to check for double-spending." (http://en.wikipedia.org/wiki/Bitcoin)


Description

1. Satoshi writes:


"It’s completely decentralized, with no central server or trusted parties, because everything is based on crypto proof instead of trust.

The root problem with conventional currency is all the trust that’s required to make it work. 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. We have to trust them with our privacy, trust them not to let identity thieves drain our accounts. Their massive overhead costs make micropayments impossible.

A generation ago, multi-user time-sharing computer systems had a similar problem. Before strong encryption, users had to rely on password protection to secure their files, placing trust in the system administrator to keep their information private. Privacy could always be overridden by the admin based on his judgment call weighing the principle of privacy against other concerns, or at the behest of his superiors. Then strong encryption became available to the masses, and trust was no longer required. Data could be secured in a way that was physically impossible for others to access, no matter for what reason, no matter how good the excuse, no matter what.

It’s time we had the same thing for money. With e-currency based on cryptographic proof, without the need to trust a third party middleman, money can be secure and transactions effortless.

One of the fundamental building blocks for such a system is digital signatures. A digital coin contains the public key of its owner. To transfer it, the owner signs the coin together with the public key of the next owner. Anyone can check the signatures to verify the chain of ownership. It works well to secure ownership, but leaves one big problem unsolved: double-spending. Any owner could try to re-spend an already spent coin by signing it again to another owner. The usual solution is for a trusted company with a central database to check for double-spending, but that just gets back to the trust model. In its central position, the company can override the users, and the fees needed to support the company make micropayments impractical.

Bitcoin’s solution is to use a peer-to-peer network to check for double-spending. In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle. For details on how it works, see the design paper here at http://www.bitcoin.org/bitcoin.pdf.

The result is a distributed system with no single point of failure. Users hold the crypto keys to their own money and transact directly with each other, with the help of the P2P network to check for double-spending."


2. Aran explains:

Bitcoin is an open source peer-to-peer (a.k.a "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 already has a number of exchanges for converting to and from other currencies; BitcoinFX, New Liberty Standard, Bitcoin Exchange and Bitcoin Market.

Bitcoin may last for years and become a popular global currency, or it could be just a flash in the pan, but either way I think this is an important sign of the times to come. This is one of the first truly decentralised currencies and has paved the way for hundreds more to compete together in the new arena of 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 The Sovereign Individual.

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 Bitcoin Whitepaper for more detail about how it works.

To try Bitcoin, download the Bitcoin software, then once it's running, click 'Generate Coins' which will pay you bitcoins in exchange for your computer working to validate bitcoin transactions. Check the exchange rate to calculate how many bitcoins need to be sent. The payer can purchase additional bitcoins if needed. The payer's previously generated bitcoins allow for a lower out of pocket payment. The payer then sends the bitcoins to the receiver using the Bitcoin software. The receiver can then sell their bitcoins for dollars. The receiver's previously generated bitcoins allow a higher dollar payout." (source?)

Interview

Excerpted from a more detailed interview:

"Klint Finley: Could you give us a brief overview of what Bitcoin is for the unfamiliar?

Gavin Andresen: Sure. Bitcoin is the first peer-to-peer currency - it is money created by people instead of by a central bank or government.


And how does it work?

Everybody trying to create bitcoins and everybody trading bitcoins is connected by a peer-to-peer network. And the code everybody is running makes sure nobody else is cheating - nobody else is creating more bitcoins than are allowed, nobody is trying to spend their bitcoins more than once, and that bitcoins are only being spent by their rightful owners.

The really novel idea is a mechanism for preventing bitcoins from being spent more than once WITHOUT relying on a central authority.

The other mostly new idea is limiting the supply of bitcoins without relying on a central authority.


How do you accomplish these things without a central authority? And how do Bitcoin clients and servers find each other?


Let me tackle the easy one first - how do Bitcoin clients find each other:

All p2p networks have "the bootstrapping problem" - without central servers, nodes (machines) on the network need to be able to find each other. Bitcoin solves it using three mechanisms:

1. By default, Bitcoin clients join an IRC chat channel and watch for the IP addresses and ports of other clients joining that channel. The name of that channel (and the name of the IRC chat server) is hardcoded into the Bitcoin software.

2. There is a list of "well known" Bitcoin nodes compiled into the software in case the IRC chat server is unreachable for some reason.

3. You can manually add (via configuration file or command-line option) IP addresses of other machines running Bitcoin to connect.


Once you're connected to the Bitcoin p2p network, other machines send you messages containing IP addresses (and ports) of other machines they know about, so after bootstrapping you find other Bitcoin nodes via the Bitcoin network itself.

There is a lot of discussion about alternative bootstrapping mechanisms, so I wouldn't be surprised if alternative Bitcoin implementations that use something else pop up in the next year or so.


I'm guessing you can also change the IRC server and channel manually as well?

No, actually, you can't - you'd have to recompile Bitcoin to do that." (http://www.readwriteweb.com/hack/2010/12/interview-bitcoin.php)


More Information

Explanatory paper at http://www.bitcoin.org/sites/default/files/bitcoin.pdf

Other Anonymous Internet Banking services are:

  1. eCache: an anonymous bank operating over the Tor network.
  2. Pecunix: an (optionally?) anonymous digital gold currency.