https://tests.bitcoin.it/w/api.php?action=feedcontributions&user=Sawzall&feedformat=atomBitcoin Wiki - User contributions [en]2024-03-28T10:02:56ZUser contributionsMediaWiki 1.30.0https://tests.bitcoin.it/w/index.php?title=Tor&diff=4848Tor2011-03-04T03:40:12Z<p>Sawzall: </p>
<hr />
<div>'''Tor''' is a distributed 'onion' network, that makes it more difficult for an adversary to track any one peer on the network. Tor also is very useful to access the 'uncensored' internet in countries such as China and Iran. Preserving privacy means not only hiding the content of messages, but also hiding who is talking to whom (traffic analysis). Tor provides anonymous connections that are strongly resistant to both eavesdropping and traffic analysis.<br />
<br />
Bitcoin can run easily on the Tor network. <br />
<br />
=Tor installation & use=<br />
''todo explain: onion routing (how tor network helps to anonymize), encryption used, exit nodes, routers''<br /><br />
<br />
Please follow the instructions provided with installation files and read the [http://www.torproject.org/download/download.html.en#warning list of warnings]. ''Tor doesn't magically anonymize all your traffic just because you install it.''<br /><br />
Down the page you can find examples how to configure applications to use Tor to anonymize the origin of your traffic.<br /><br />
[http://www.torproject.org/docs/tor-doc-windows.html.en This] is a detailed installation guide for Windows. Before you setup Bitcoin or mIRC to use Tor, please install Tor and start in.<br /><br />
[[{{ns:file}}:20110109-tor-running.png]] On the taskbar of your compute you'll see a small green onion when Tor is running.<br />
[[{{ns:file}}:20110109-bitcoin-mirc-vidalia.png]]<br />
<br />
=GUI=<br />
Once you have your Tor client up & running, you can configure your Bitcoin client to use it.<br /><br />
Select in menu Settings -> Options<br /><br />
[[{{ns:file}}:20110108-btc-options.png]]<br /><br />
<br />
Check "Connect through socks 4 proxy" with the address 127.0.0.1 and port 9050 (the Tor default port number)<br /><br />
[[{{ns:file}}:20110108-btc-client-tor-as-proxy.png]]<br /><br />
Configuring an application to use Tor is also called to torify it.<br />
(needs a brief howto here)<br />
<br />
''the note about bitcoin-otc promote on a more appropriate place in this page? reference to trading and IRC''<br />
Conducting business using [[bitcoin-otc]] can be done more anonymously when directly connected to a Freenode IRC hidden service.<br />
<br />
=bitcoind=<br />
<br />
Run bitcoind with -proxy=127.0.0.1:9050 (or whatever your SocksPort is).<br />
<br />
=Hidden services=<br />
These services are running within the tor network. You can connect to them for example using the -connect= parameter to bitcoind. Note that you do not need to use them - tor can also anonymize your normal internet traffic, including bitcoin connections. There are some technical reasons why hidden services may be beneficial, see the tor documentation if you're really interested.<br />
<br />
Please add your service here if you run a stable bitcoin node under a tor hidden service.<br />
* iy6ni3wkqazp4ytu.onion<br />
* bxfna6fhddpzduck.onion<br />
<br />
=mIRC=<br />
<br />
mIRC is a popular IRC client. This is a guide how to connect to Freenode IRC using Tor + SASL + mIRC.<br /><br />
==Register your nick with freenode nickserv<br />==<br />
Freenode only allows SASL authenticated users to connect to the onion IRC server. SASL authentication works only with a registered nickname.<br /><br />
Connect to Freenode IRC without using tor & execute<br /><br />
/msg nickserv register <password> <email><br /><br />
<br /><br />
You will see something like this<br /><br />
-NickServ- An email containing nickname activation instructions has been sent to <email><br /><br />
-NickServ- If you do not complete registration within one day, your nickname will expire.<br /><br />
<br /><br />
To finish your nick registration go the provided email and copy/paste the command from e-mail to irc.<br /><br />
<br />
==Add SASL support to your mIRC installation<br />==<br />
Download the SASL.dll and sasl.mrc files and copy them to your mIRC installation directory<br /><br />
Load sasl.mrc script (Alt + R to open script editor, Ctrl + L to load file, browse to sasl.mrc, press OK or "save & exit").<br /><br />
[[{{ns:file}}:20110109-sasl-script-loaded.png]]<br /><br />
Type /dialog -m SASL.main SASL.main to open the SASL connection manager.<br /><br />
[[{{ns:file}}:20110109-sasl-dialog.png]]<br /><br />
Add Freenode entry.<br /><br />
[[{{ns:file}}:20110109-sasl-manager.png]][[{{ns:file}}:20110109-sasl-manager-network.png]]<br /><br />
Network is Freenode.<br /><br />
Username and NS Password must match your nickserv reservation.<br /><br />
Auth Type can be PLAIN<br /><br />
<br />
==setup mIRC to use Tor<br />==<br />
Add the entry for Freenode onion IRC server<br /><br />
[[{{ns:file}}:20110109-onion-irc-add.png]]<br /><br />
Configure mIRC to use a Proxy (your local Tor proxy)<br /><br />
[[{{ns:file}}:20110109-mirc-proxy.png]]<br /><br />
<br /><br />
Now you should be able to connect.<br /><br />
[http://www.bitcoin.org/smf/index.php?topic=2602 Bitcoin forum where this topic is discussed]<br />
<br />
=How Tor works=<br />
Unlike Freenet, I2P, etc., Tor's security is very well-defined. While weaknesses do exist (described below), they have been known since Tor was created, and new weaknesses of significance are not expected.<br />
<br />
Tor sends TCP packets over 3 (normal) or 7 (hidden services) Tor relays. This is why it is so slow: your packet might have to go through 100 computers (counting Internet routers) before it reaches its destination. Tor uses multiple ''layers'' of encryption that are ''pulled away'' for each node. Hence the name '''T'''he '''O'''nion '''R'''outer, which is always capitalized as '''Tor''', and never TOR or t.o.r.<br />
<br />
Say that I want to connect to bitcoin.org through Tor. I first select three Tor relays that I know about. Then, I send a message to my ISP that looks like this:<br />
Send to this IP: <IP of Relay1><br />
<Encrypted data for Relay1><br />
When Relay1 receives this, he decrypts the payload using his private key. The payload contains this:<br />
Send to this Tor node: <Relay2><br />
<Encrypted data for Relay2><br />
Relay2 decrypts his payload:<br />
Send to this Tor node: <Relay3><br />
<Encrypted data for Relay3><br />
Relay3 receives the real TCP payload, which he sends to the destination:<br />
Send to this IP: <IP of destination><br />
<Unencrypted payload><br />
The payload is not and can not be further encrypted by Tor. However, if the protocol itself uses encryption (HTTPS, SSH, etc.), the data will be encrypted. This means that the last node (the ''exit node'') can see everything you do on HTTP sites, and can steal your passwords if they are transmitted unencrypted. Many people become exit nodes just so they can view this information -- Tor is much more dangerous than open WiFi for snooping!<br />
<br />
The encryption arrangement described above ensures that no single Tor node knows both the sender and the destination. Relay1 and your ISP know that you are using Tor and sending a packet at a certain time, but they don't know what you're sending or who you're sending to. Relay3 knows exactly what you're sending, but he can't determine who is sending it because Relay2 and Relay1 are blocking him. All three relays need to work together in order to conclusively connect the sender and the destination.<br />
<br />
However, Tor is weak to a ''timing attack'' that allows only two participants in certain positions to determine the sender with high accuracy. Consider this Tor connection:<br />
Sender <-> S-ISP <-> Relay1 <-> Relay2 <-> Relay3 <-> D-ISP <-> Destination<br />
If the sender's ISP (S-ISP) and the destination are working together, they can record the size and times of packets sent and received. Over a large number of packets, they can determine with very high accuracy that the sender is, in fact, the person sending packets to the destination. This requires active surveillance or detailed logging by both sides. Relay1 can also perform the same role as S-ISP.<br />
<br />
Additionally, more configurations are possible if the underlying connection is not encrypted (normal HTTP, for example):<br />
*S-ISP & Relay3<br />
*Relay1 & Relay3<br />
*S-ISP & D-ISP<br />
*Relay1 & D-ISP<br />
This second set can always see that the sender is connected to the destination, but they can only see what the sender is doing on the site if the connection is not encrypted. (Pathnames are encrypted in HTTPS.)<br />
<br />
Because the first relay (the ''entry node'') is a weak point in the connection, Tor takes certain defensive measures. When you first start Tor, it chooses three ''entry guards'' that don't change for the entire time that you run Tor. You will always use one of those three unless one goes down. If all of those nodes are safe and your ISP is safe, then you are OK.<br />
<br />
These timing attacks are of special importance to Bitcoin because anyone can be the "destination" in a connection. Packets are broadcast to every peer in the Bitcoin network. This might allow your ISP alone to associate your transactions to you without much difficulty. However, a timing attack relies on receiving at least several dozen packets from the sender, so the "destination" might actually have to be one of your direct Bitcoin peers. It's not too difficult to flood the Bitcoin network with peers, though. Because of this attack, it is wise to use an [[EWallet]] instead of the Bitcoin client when using Tor.<br />
<br />
To discover Tor relays, Tor uses a centralized directory server model. There are nine authoritative directory servers. To become a relay, you register with one of these. The directory servers share their data and produce a ''network status consensus'' document every so often containing all Tor nodes. Tor clients don't connect directly to the authoritative directory servers -- they connect to one of many ''directory mirrors'', which have a copy of the network status consensus. Since there is no peer-to-peer bootstrap mechanism in Tor, the entire network can be destroyed if half of the authoritative directory servers are destroyed, and the entire network can be subverted if half of the authoritative directory servers become evil.<br />
<br />
Hidden services allow both the sender and destination to remain anonymous. A hidden service connection is made like this:<br />
*The destination tells several Tor relays to act as ''introduction points'' for the hidden service. The destination stays connected to all of these introduction points through a regular three-node Tor circuit.<br />
*The destination registers these introduction points on a Tor DHT. The introduction points are associated with the first 16 characters of an encoded SHA-1 hash of the destination's key. This is the information in .onion addresses. The use of SHA-1 is a possible weakness.<br />
*The sender creates a four-node Tor circuit. The fourth node is called the ''rendezvous point''.<br />
*The sender searches the DHT for the introduction points of the desired hidden service. The sender connects to one through a regular three-node Tor circuit and, through the introduction point, tells the destination about the rendezvous point he has chosen.<br />
*The destination connects to the rendezvous point over a three-node Tor circuit. The sender and destination are now in contact over a seven-node connection.<br />
<br />
For clients, hidden services are more secure than encrypted Tor HTTPS connections because:<br />
*If the destination remains anonymous, they are less likely to become controlled by an evil party.<br />
*The destination's ISP isn't involved as they are in the HTTPS case. Only these configurations are possible for a timing attack:<br />
**S-ISP & Destination<br />
**Relay1 & Destination<br />
<br />
Running a hidden service is more dangerous, however. A simple intersection attack can be performed by the hidden service's ISP alone:<br />
*Your Internet service is cut off.<br />
*If the hidden service went down at that exact moment, you are unmasked.<br />
The same sort of timing attacks as above are also possible.<br />
<br />
See the [http://www.usenix.org/events/sec04/tech/full_papers/dingledine/dingledine_html/index.html Tor design paper] for more info.<br />
<br />
=External Tor Hidden Services=<br />
<br />
* [http://xqzfakpeuvrobvpj.onion MyBitcoin] ([[MyBitcoin|info]]) <br />
* [http://vms43o4cqysakvyb.onion Bitcoin 4 Cash] ([[Bitcoin 4 Cash|info]])<br />
* [irc://p4fsi4ockecnea7l.onion Freenode hidden service]<br />
* [http://lbrmvt4plqojaulx.onion CoinTumblr] ([[CoinTumblr|info]])<br />
<br />
=External links=<br />
<br />
* [http://tor.eff.org/ Tor project]<br />
* [http://www.torproject.org/docs/tor-doc-windows.html.en Tor installation guide - Windows]<br />
* [https://trac.torproject.org/projects/tor/wiki/TheOnionRouter/TorFAQ Tor FAQ]<br />
* [http://www.torproject.org/about/overview.html.en how Tor works - overview]<br />
* [http://freenode.net/irc_servers.shtml#tor Freenode over Tor info]<br />
* [http://wiki.honk-honk.org/wiki/SaslServ#mIRC howto enable SASL in mIRC]<br />
* [http://honk-honk.org/SASL/SASL.dll SASL.dll library for mIRC]<br />
* [http://honk-honk.org/SASL/sasl.mrc sasl script for mIRC]<br />
* [http://freenode.net/sasl/ Freenode resources on SASL]</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=User:Sawzall/Tor&diff=1277User:Sawzall/Tor2011-01-05T16:32:21Z<p>Sawzall: </p>
<hr />
<div>[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor]<br />
== Explanation of Tor ==<br />
Bitcoin operates without a central authority. However, this means that Bitcoin clients must connect to each other directly. Bitcoin transactions can probably be traced to a sending or recieving IP address, especially for a government agency. To actually make Bitcoin anonymous, using it over Tor is a good idea.<br />
<br />
From Tor's website:<br />
Instead of taking a direct route from source to destination, data packets on the Tor network take a random pathway through several relays that cover your tracks so no observer at any single point can tell where the data came from or where it's going. <br />
To create a private network pathway with Tor, the user's software or client incrementally builds a circuit of encrypted connections through relays on the network. The circuit is extended one hop at a time, and each relay along the way knows only which relay gave it data and which relay it is giving data to. No individual relay ever knows the complete path that a data packet has taken. The client negotiates a separate set of encryption keys for each hop along the circuit to ensure that each hop can't trace these connections as they pass through. <br />
<br />
In a nutshell, using Tor is like using a series of secure proxies distributed across the world and randomly changing them every ten minutes.<br />
== Bincoin, mIRC, and Firefox over Tor ==<br />
=== Get a copy of Tor ===<br />
The fastest way to use Tor on Windows is to get one of the Bundles.<br />
All are available at [http://www.torproject.org/download/download.html.en]<br />
The Browser Bundle contains a copy of Firefox already configured to use Tor.<br />
The .exe's are self-extracting archives. You can install wherever you want.<br />
=== Configure Bitcoin ===<br />
Configuring Bitcoin is straightforward. Open the Settings menu and click Options. Check the box labeled Connect though socks4 proxy. The default proxy IP and port are the correct settings for using Tor.<br />
=== Configure mIRC ===<br />
In mIRC, go to Tools > Options > Firewall<br />
Change firewall support to "both," and the protocol to Socks5. Change the Hostname to 127.0.0.1 or "localhost" and change the port to 9050.<br />
=== Start Tor ===<br />
In the Tor Browser folder that you installed Tor in earlier, there should be a file called Start Tor Browser.exe<br />
Run it. The Vidalia Control Panel will open, displaying the status of the Tor connection. It will connect to Tor. When it's done, it will launch its copy of Firefox<br />
'''Important: If you exit the copy of Firefox that it launches, Vidalia will automatically shut down.'''<br />
=== Restart Bitcoin and mIRC ===<br />
To ensure that these programs are actually connecting via Tor, close and reopen them.<br />
=== Freenode ===<br />
Guide to using tor with freenode: http://blog.freenode.net/2010/01/connecting-to-freenode-using-tor-sasl/<br />
Tor exit nodes are banned from connecting to Freenode directly, so Freenode's Tor hidden service address must be used: irc://p4fsi4ockecnea7l.onion/</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=User:Sawzall/Tor&diff=1276User:Sawzall/Tor2011-01-05T16:20:14Z<p>Sawzall: </p>
<hr />
<div>[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor]<br />
== Bincoin, mIRC, and Firefox over Tor ==<br />
=== Get a copy of Tor ===<br />
The fastest way to use Tor on Windows is to get one of the Bundles.<br />
All are available at [http://www.torproject.org/download/download.html.en]<br />
The Browser Bundle contains a copy of Firefox already configured to use Tor.<br />
The .exe's are self-extracting archives. You can install wherever you want.<br />
=== Configure Bitcoin ===<br />
Configuring Bitcoin is straightforward. Open the Settings menu and click Options. Check the box labeled Connect though socks4 proxy. The default proxy IP and port are the correct settings for using Tor.<br />
=== Configure mIRC ===<br />
In mIRC, go to Tools > Options > Firewall<br />
Change firewall support to "both," and the protocol to Socks5. Change the Hostname to 127.0.0.1 or "localhost" and change the port to 9050.<br />
=== Start Tor ===<br />
In the Tor Browser folder that you installed Tor in earlier, there should be a file called Start Tor Browser.exe<br />
Run it. The Vidalia Control Panel will open, displaying the status of the Tor connection. It will connect to Tor. When it's done, it will launch its copy of Firefox<br />
'''Important: If you exit the copy of Firefox that it launches, Vidalia will automatically shut down.'''<br />
=== Restart Bitcoin and mIRC ===<br />
To ensure that these programs are actually connecting via Tor, close and reopen them.<br />
=== Freenode ===<br />
Guide to using tor with freenode: http://blog.freenode.net/2010/01/connecting-to-freenode-using-tor-sasl/<br />
Tor exit nodes are banned from connecting to Freenode directly, so Freenode's Tor hidden service address must be used: irc://p4fsi4ockecnea7l.onion/</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=User:Sawzall/Tor&diff=1273User:Sawzall/Tor2011-01-05T14:52:21Z<p>Sawzall: </p>
<hr />
<div>[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor]<br />
== Bincoin, mIRC, and Firefox over Tor ==<br />
=== Get a copy of Tor ===<br />
The fastest way to use Tor on Windows is to get one of the Bundles.<br />
All are available at [http://www.torproject.org/download/download.html.en]<br />
The Browser Bundle contains a copy of Firefox already configured to use Tor.<br />
The .exe's are self-extracting archives. You can install wherever you want.<br />
=== Configure Bitcoin ===<br />
Configuring Bitcoin is straightforward. Open the Settings menu and click Options. Check the box labeled Connect though socks4 proxy. The default proxy IP and port are the correct settings for using Tor.<br />
=== Configure mIRC ===<br />
In mIRC, go to Tools > Options > Firewall<br />
Change firewall support to "both," and the protocol to Socks5. Change the Hostname to 127.0.0.1 or "localhost" and change the port to 9050.<br />
=== Start Tor ===<br />
In the Tor Browser folder that you installed Tor in earlier, there should be a file called Start Tor Browser.exe<br />
Run it. The Vidalia Control Panel will open, displaying the status of the Tor connection. It will connect to Tor. When it's done, it will launch its copy of Firefox<br />
'''Important: If you exit the copy of Firefox that it launches, Vidalia will automatically shut down.'''<br />
=== Restart Bitcoin and mIRC ===<br />
To ensure that these programs are actually connecting via Tor, close and reopen them.<br />
=== Freenode ===<br />
Guide to using tor with freenode: http://blog.freenode.net/2010/01/connecting-to-freenode-using-tor-sasl/</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=User:Sawzall/Tor&diff=1258User:Sawzall/Tor2011-01-05T02:44:28Z<p>Sawzall: </p>
<hr />
<div>[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor]<br />
== Getting Started with Bincoin over Tor ==<br />
=== Get a copy of Tor ===<br />
The fastest way to use Tor on Windows is to get one of the Bundles.<br />
All are available at [http://www.torproject.org/download/download.html.en]<br />
The Browser Bundle contains a copy of Firefox configured to use Tor. The Browser Instant Messaging Bundle contains Firefox and Pidgin, both configured to use Tor.<br />
The .exe's are self-extracting archives. You can install wherever you want.<br />
=== Configure Bitcoin ===<br />
Configuring Bitcoin is straightforward. Open the Settings menu and click Options. Check the box labeled Connect though socks4 proxy. The default proxy IP and port are the correct settings for using Tor.<br />
=== Start Tor ===<br />
In the Tor Browser folder that you installed Tor in earlier, there should be a file called Start Tor Browser.exe<br />
Run it. The Vidalia Control Panel will open, displaying the status of the Tor connection. It will connect to Tor. When it's done, it will launch the other programs in the bundle, Firefox and Pidgin (if you chose the IM Bundle).<br />
'''Important: If you exit the copy of Firefox that it launches, Vidalia will automatically shut down.'''<br />
=== Restart Bitcoin ===<br />
To ensure that Bitcoin is connecting through Tor, exit Bitcoin and reopen it.<br />
=== Live happily and anonymously ever after ===<br />
Whenever you need the Bitcoin client, just make sure to start Tor first.</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=User:Sawzall/Tor&diff=1257User:Sawzall/Tor2011-01-05T02:40:09Z<p>Sawzall: </p>
<hr />
<div>[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor]<br />
== Getting Started with Bincoin over Tor ==<br />
=== Get a copy of Tor ===<br />
The fastest way to use Tor on Windows is to get one of the Bundles.<br />
All are available at [http://www.torproject.org/download/download.html.en]<br />
The Browser Bundle contains a copy of Firefox configured to use Tor. The Browser Instant Messaging Bundle contains Firefox and Pidgin, both configured to use Tor.<br />
The .exe's are self-extracting archives. You can install wherever you want.<br />
=== Configure Bitcoin ===<br />
Configuring Bitcoin is straightforward. Open the Settings menu and click Options. Check the box labeled Connect though socks4 proxy. The default proxy IP and port are the correct settings for using Tor.<br />
=== Start Tor ===<br />
In the Tor Browser folder that you installed Tor in earlier, there should be a file called Start Tor Browser.exe<br />
Run it. The Vidalia Control Panel will open, displaying the status of the Tor connection. It will connect to Tor. When it's done, it will launch the other programs in the bundle.</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=User:Sawzall/Tor&diff=1256User:Sawzall/Tor2011-01-05T02:31:33Z<p>Sawzall: </p>
<hr />
<div>[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor]<br />
== Getting Started with Bincoin over Tor ==<br />
=== Get a copy of Tor ===<br />
The fastest way to use Tor on Windows is to get one of the Bundles.<br />
All are available at [http://www.torproject.org/download/download.html.en]<br />
The Browser Bundle contains a copy of Firefox configured to use Tor. The Browser Instant Messaging Bundle contains Firefox and Pidgin, both configured to use Tor.<br />
The .exe's are self-extracting archives. You can install wherever you want.</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=User:Sawzall/Tor&diff=1255User:Sawzall/Tor2011-01-05T02:31:13Z<p>Sawzall: Created page with "[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor] == Getting Started with Bincoin over Tor == # Get a copy of Tor :The fastest way to use Tor on Wind..."</p>
<hr />
<div>[http://www.torproject.org/about/overview.html.en In-depth explanation of Tor]<br />
== Getting Started with Bincoin over Tor ==<br />
# Get a copy of Tor<br />
:The fastest way to use Tor on Windows is to get one of the Bundles.<br />
:All are available at [http://www.torproject.org/download/download.html.en]<br />
:The Browser Bundle contains a copy of Firefox configured to use Tor. The Browser Instant Messaging Bundle contains Firefox and Pidgin, both configured to use Tor.<br />
:The .exe's are self-extracting archives. You can install wherever you want.</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=Mining_hardware_comparison&diff=1159Mining hardware comparison2011-01-03T02:10:15Z<p>Sawzall: /* Nvidia */ Been getting about 25Mhps on slush's pool using 8800gt and cuda rpc client</p>
<hr />
<div>{{stub}}<br />
<br />
Below are some statistics about the mining performance of various hardware. The GPU lists were originally compiled by ArtForz.<br />
<br />
The table shows stock clock numbers. 10-20% performance improvement can be achieved via overclocking.<br />
<br />
=Graphics cards=<br />
<br />
==Nvidia==<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Model !! Mhash/s !! Mhash/W !! W !! Clock !! SP <br />
|-<br />
| 8600GT || 5.66 || - || - || 1188 || 4<br />
|-<br />
| 8800GT || 25 || - || - || 1300 || 8<br />
|-<br />
| 9300GE || 1.57 || - || - || 1300 || 8<br />
|-<br />
| 9300GS || 1.69 || - || - || 1400 || 8<br />
|-<br />
| 9400GT || 3.37 || 0.067 || 50 || 1400 || 16<br />
|-<br />
| 9500GT || 6.75 || 0.135 || 50 || 1400 || 32<br />
|-<br />
| 9600GSO || 19.88 || 0.237 || 84 || 1375 || 96<br />
|-<br />
| 9600GSO512 || 11.75 || 0.131 || 90 || 1625 || 48<br />
|-<br />
| 9600GT || 15.66 || 0.165 || 95 || 1625 || 64<br />
|-<br />
| 9800GT || 30.36 || 0.289 || 105 || 1800 || 112<br />
|-<br />
| 9800GTX || 32.54 || 0.232 || 140 || 1688 || 128<br />
|-<br />
| 9800GTX+ || 35.39 || 0.251 || 141 || 1836 || 128<br />
|-<br />
| 9800GX2 || 57.83 || 0.294 || 197 || 1500 || 256<br />
|-<br />
| G210 || 3.38 || 0.111 || 30.5 || 1402 || 16<br />
|-<br />
| GT220 || 9.83 || 0.170 || 58 || 1360 || 48<br />
|-<br />
| GT240 || 19.37 || 0.281 || 69 || 1340 || 96<br />
|-<br />
| GTS250 || 35.39 || 0.244 || 145 || 1836 || 128<br />
|-<br />
| GTX260 || 35.91 || 0.178 || 202 || 1242 || 192<br />
|-<br />
| GTX260c216 || 40.40 || 0.236 || 171 || 1242 || 216<br />
|-<br />
| GTX275 || 50.75 || 0.232 || 219 || 1404 || 240<br />
|-<br />
| GTX280 || 46.84 || 0.198 || 236 || 1296 || 240<br />
|-<br />
| GTX285 || 53.35 || 0.262 || 204 || 1476 || 240<br />
|-<br />
| GTX295 || 89.78 || 0.311 || 289 || 1242 || 480<br />
|-<br />
| GT430 || 20.24 || 0.413 || 49 || 1400 || 96<br />
|-<br />
| GTS450 || 45.28 || 0.427 || 106 || 1566 || 192<br />
|-<br />
| GTX460SE || 56.39 || 0.376 || 150 || 1300 || 288<br />
|-<br />
| GTX460 || 68.31 || 0.427 || 160 || 1350 || 336<br />
|-<br />
| GTX465 || 64.41 || 0.322 || 200 || 1215 || 352<br />
|-<br />
| GTX470 || 81.98 || 0.381 || 215 || 1215 || 448<br />
|-<br />
| GTX480 || 101.28 || 0.405 || 250 || 1401 || 480<br />
|-<br />
| GTX570 || 105.83 || 0.483 || 219 || 1464 || 480<br />
|-<br />
| GTX580 || 119.06 || 0.488 || 244 || 1544 || 512<br />
|-<br />
|}<br />
<br />
==ATI==<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Model !! Mhash/s !! Mhash/W !! W !! Clock !! SP <br />
|-<br />
| 4350 || 6.93 || 0.346 || 20 || 575 || 80 <br />
|- <br />
| 4550 || 7.23 || 0.289 || 25 || 600 || 80 <br />
|- <br />
| 4650 || 31.33 || 0.653 || 48 || 650 || 320 <br />
|- <br />
| 4670 || 36.14 || 0.613 || 59 || 750 || 320 <br />
|- <br />
| 4730 || 72.29 || 0.657 || 110 || 750 || 640 <br />
|- <br />
| 4770 || 72.29 || 0.904 || 80 || 750 || 640 <br />
|- <br />
| 4830 || 55.42 || 0.583 || 95 || 575 || 640 <br />
|- <br />
| 4850 || 75.30 || 0.685 || 110 || 625 || 800 <br />
|- <br />
| 4860 || 67.47 || 0.519 || 130 || 700 || 640 <br />
|- <br />
| 4870 || 90.36 || 0.602 || 150 || 750 || 800 <br />
|- <br />
| 4890 || 102.41 || 0.539 || 190 || 850 || 800 <br />
|- <br />
| 4850X2 || 150.60 || 0.602 || 250 || 625 || 1600 <br />
|- <br />
| 4870X2 || 180.72 || 0.632 || 286 || 750 || 1600 <br />
|- <br />
| 5450 || 11.99 || 0.631 || 19 || 650 || 80 <br />
|- <br />
| 5550 || 40.59 || 1.041 || 39 || 550 || 320 <br />
|- <br />
| 5570 || 59.96 || 1.538 || 39 || 650 || 400 <br />
|- <br />
| 5670 || 71.49 || 1.117 || 64 || 775 || 400 <br />
|- <br />
| 5750 || 116.24 || 1.352 || 86 || 700 || 720 <br />
|- <br />
| 5770 || 156.83 || 1.452 || 108 || 850 || 800 <br />
|- <br />
| 5830 || 206.64 || 1.181 || 175 || 800 || 1120 <br />
|- <br />
| 5850 || 240.77 || 1.595 || 151 || 725 || 1440 <br />
|- <br />
| 5870 || 313.65 || 1.668 || 188 || 850 || 1600 <br />
|- <br />
| 5970 || 535.06 || 1.820 || 294 || 725 || 3200 <br />
|- <br />
| 6850 || 171.59 || 1.351 || 127 || 775 || 960 <br />
|- <br />
| 6870 || 232.47 || 1.540 || 151 || 900 || 1120 <br />
|- <br />
|}<br />
<br />
=CPUs=<br />
<br />
A lot of nice data can be pulled from [http://www.bitcoin.org/smf/index.php?topic=1628.0 this thread] to seed this section. Also from [https://www.bitcoin.org/wiki/doku.php?id=bitcoin_miners this page on the old wiki].<br />
<br />
==AMD==<br />
<br />
==Intel==<br />
<br />
[[Category:Mining]]</div>Sawzallhttps://tests.bitcoin.it/w/index.php?title=API_reference_(JSON-RPC)&diff=1158API reference (JSON-RPC)2011-01-03T02:01:54Z<p>Sawzall: added list of rpc commands</p>
<hr />
<div>== Controlling Bitcoin ==<br />
<br />
If you run Bitcoin with the -server argument or bitcoind, you can control it via the command-line or by HTTP-JSON-RPC commands.<br />
<br />
Under Linux create ~/.bitcoin/bitcoin.conf. Under Windows create bitcoin.conf in the Bitcoin data directory.<br />
<br />
bitcoin.conf:<br />
rpcuser=myusername<br />
rpcpassword=secretpassword<br />
<br />
Now run:<br />
$ ./bitcoind<br />
bitcoin server starting<br />
$ ./bitcoind help<br />
<br />
The following list of RPC calls will be shown:<br />
<br />
backupwallet<destination><br />
<br />
getaccount<bitcoinaddress><br />
<br />
getaccountaddress<account><br />
<br />
getaddressesbyaccount<account><br />
<br />
getbalance [account] [minconf:1]<br />
<br />
getblockcount<br />
<br />
getblocknumber<br />
<br />
getconnectioncount<br />
<br />
getditficulty<br />
<br />
getgenerate<br />
<br />
gethashespersec<br />
<br />
getinfo<br />
<br />
getnewaddress[account]<br />
<br />
getreceivedbyaccount<account> [minconf:1]<br />
<br />
getreceivedbyaddress<bitcoinaddress> [minconf:1]<br />
<br />
gettransaction <id><br />
<br />
getwork[data]<br />
<br />
help [command]<br />
<br />
Iistreceivedbyaccount [minconf:1] [includeemptyzfalse]<br />
<br />
Iistreceivedbyaddress [minconf:1] [includeemptyzfalse]<br />
<br />
listtransactions<account> [count:1G]<br />
<br />
move <fromaccount> <toaccount> <amount> [minconf:1][comment]<br />
<br />
sendfrom <fromaccount> <tobitcoinaddress> <amount> [minconf:1][comment] [comment-to]<br />
<br />
sendtoaddress <bitcoinaddress> <amount> [comment] [comment-to]<br />
<br />
setaccount<bitcoinaddress> <account><br />
<br />
setgenerate <generate> [genproclimit]<br />
<br />
stop<br />
<br />
validateaddress<bitcoinaddress><br />
<br />
== JSON-RPC ==<br />
<br />
Running Bitcoin with the -server argument (or running bitcoind) tells it to function as a [http://json-rpc.org/wiki/specification|HTTP JSON-RPC] server, but <br />
[http://en.wikipedia.org/wiki/Basic_access_authentication|HTTP Basic access authentication] must be used when communicating with it, and, for security, by default, the server only accepts connections from other processes on the same machine. If your HTTP or JSON library requires you to specify which 'realm' is authenticated, use 'jsonrpc'.<br />
<br />
Bitcoin supports SSL (https) JSON-RPC connections beginning with version 0.3.14. See the [[Enabling SSL on original client daemon|rpcssl wiki page]] for setup instructions and a list of all bitcoin.conf configuration options.<br />
<br />
To access the server you should find a [http://json-rpc.org/wiki/implementations|suitable library] for your language.<br />
<br />
== Python ==<br />
<br />
For Python, [http://json-rpc.org/wiki/python-json-rpc python-jsonrpc] is perfect. Python-jsonrpc auto-magically generates Python methods corresponding to the functions above. For example:<br />
<br />
<source lang="python"><br />
from jsonrpc import ServiceProxy<br />
<br />
access = ServiceProxy("http://user:password@127.0.0.1:8332")<br />
access.getinfo()<br />
access.listreceivedbyaddress(6)<br />
access.sendtoaddress("11yEmxiMso2RsFVfBcCa616npBvGgxiBX", 10)<br />
</source><br />
<br />
== PHP ==<br />
<br />
The [http://jsonrpcphp.org/ JSON-RPC PHP] library also makes it very easy to connect to Bitcoin. For example:<br />
<br />
<source lang="php"><br />
require_once 'jsonRPCClient.php';<br />
<br />
$bitcoin = new jsonRPCClient('http://user:pass@127.0.0.1:8332/');<br />
<br />
echo "<pre>\n";<br />
print_r($bitcoin->getinfo()); echo "\n";<br />
echo "Received: ".$bitcoin->getreceivedbylabel("Your Address")."\n";<br />
echo "</pre>";<br />
</source><br />
<br />
== Java ==<br />
<br />
The easiest way to tell Java to use HTTP Basic authentication is to set a default Authenticator:<br />
<br />
<source lang="java"><br />
final String rpcuser ="...";<br />
final String rpcpassword ="...";<br />
<br />
Authenticator.setDefault(new Authenticator() {<br />
protected PasswordAuthentication getPasswordAuthentication() {<br />
return new PasswordAuthentication (rpcuser, rpcpassword.toCharArray());<br />
}<br />
});<br />
</source><br />
<br />
Once that is done, any JSON-RPC library for Java (or ordinary URL POSTs) may be used to communicate with the Bitcoin server.<br />
<br />
== Perl ==<br />
<br />
The JSON::RPC package from CPAN can be used to communicate with Bitcoin. You must set the client's credentials; for example:<br />
<br />
<source lang="perl"><br />
use JSON::RPC::Client;<br />
use Data::Dumper;<br />
<br />
my $client = new JSON::RPC::Client;<br />
<br />
$client->ua->credentials(<br />
'localhost:8332', 'jsonrpc', 'user' => 'password' # REPLACE WITH YOUR bitcoin.conf rpcuser/rpcpassword<br />
);<br />
<br />
my $uri = 'http://localhost:8332/';<br />
my $obj = {<br />
method => 'getinfo',<br />
params => [],<br />
};<br />
<br />
my $res = $client->call( $uri, $obj );<br />
<br />
if ($res){<br />
if ($res->is_error) { print "Error : ", $res->error_message; }<br />
else { print Dumper($res->result); }<br />
} else {<br />
print $client->status_line;<br />
}<br />
</source><br />
<br />
== .NET (C#) ==<br />
The communication with rpc service can be achieved using the standard httprequest/response objects.<br />
A library for serialising and deserialising Json will make your life a lot easier:<br />
<br />
* JayRock for .NET 4.0<br />
* Json.Net for .NET 2.0 and above <br />
<br />
The following example uses Json.Net:<br />
<br />
<source lang="csharp"><br />
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://localhost.:8332");<br />
webRequest.Credentials = new NetworkCredential("user", "pwd");<br />
/// important, otherwise the service can't desirialse your request properly<br />
webRequest.ContentType = "application/json-rpc";<br />
webRequest.Method = "POST";<br />
<br />
JObject joe = new JObject();<br />
joe.Add(new JProperty("jsonrpc", "1.0"));<br />
joe.Add(new JProperty("id", "1"));<br />
joe.Add(new JProperty("method", Method));<br />
// params is a collection values which the method requires..<br />
if (Params.Keys.Count == 0)<br />
{<br />
joe.Add(new JProperty("params", new JArray()));<br />
}<br />
else<br />
{<br />
JArray props = new JArray();<br />
// add the props in the reverse order!<br />
for (int i = Params.Keys.Count - 1; i >= 0; i--)<br />
{<br />
.... // add the params<br />
}<br />
joe.Add(new JProperty("params", props));<br />
}<br />
<br />
// serialize json for the request<br />
string s = JsonConvert.SerializeObject(joe);<br />
byte[] byteArray = Encoding.UTF8.GetBytes(s);<br />
webRequest.ContentLength = byteArray.Length;<br />
Stream dataStream = webRequest.GetRequestStream();<br />
dataStream.Write(byteArray, 0, byteArray.Length);<br />
dataStream.Close();<br />
<br />
<br />
WebResponse webResponse = webRequest.GetResponse();<br />
<br />
... // deserialze the response<br />
</source><br />
<br />
== Command line (curl) ==<br />
<br />
You can also send commands and see results using //curl// or some other command-line HTTP-fetching utility; for example:<br />
<br />
<source lang="bash"><br />
curl --user user --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo", "params": [] }' <br />
-H 'content-type: text/plain;' http://127.0.0.1:8332/<br />
</source><br />
<br />
You will be prompted for your rpcpassword, and then will see something like:<br />
<br />
<source lang="javascript"><br />
{"result":{"balance":0.000000000000000,"blocks":59952,"connections":48,"proxy":"","generate":false,<br />
"genproclimit":-1,"difficulty":16.61907875185736,"error":null,"id":"curltest"}<br />
</source></div>Sawzall