Review Index:
Feedback

Bitcoin Currency and GPU Mining Performance Comparison

Author: Ryan Shrout
Manufacturer: General

Bitcoin Mining

With bitcoin, all transactions are publicly recorded; however, the public details only lead to a public key/wallet, not an actual person. People can generate as many wallets/addresses as needed. This is in contrast to the traditional system where anonymity is achieved by the public trusting a third party who in turn trusts its users and controls their information for them. Further, the identity of the user is not necessarily needed as only the public/private key pair is required to complete the transaction. By cutting out the third party “middle men” in the form of Paypal and credit card companies, the user is able to better control their personally identifiable information on the Internet. In the wake of numerous Internet attacks in which financial institutions and merchant websites were hacked and their customers’ information was leaked to the public, being able to control what information (if any) businesses get is a good thing. Stolen databases and outdated security on even the most well respected companies has proven that they cannot be fully trusted to protect one’s information; therefore, the inherent ability of bitcoin to put the user in control of their private information is positive.

View Full Size

The Bitcoin pdf outlines how coins are transferred from one user to another using public and private key encryption. The hashes build upon each other to create a chain that is stored as public record.

The public record of transactions across the bitcoin network is known as the block chain. As transactions are made within the network, the coins are signed and the network is notified of the change. The bitcoin wallet will then display the transaction as unconfirmed. Within a few hours; however, the bitcoin network will pick up these transactions and verify them. The transactions are confirmed once they have been verified by at least six computers on the network and have been added to the block chain. This block chain is the culmination of every transaction across the bitcoin network and is composed of blocks which are then composed of transactions. These transactions are sequentially identified by the network and are incorporated into a chained proof of work system which secures the transactions from being modified. The longest block chain on the bitcoin network is the record of transactions that the bitcoin wallets trust and query to confirm a transactions'  status. This method is very secure as an attacker would have to harness more computing power than the entire bitcoin network, and generate a new block chain from scratch, and then catch up to and surpass the ever growing honest chain, which is an extremely unlikely scenario as the computational power of the bitcoin network currently rivals that of the world's fastest super computers. The attacker would have to do this because of the chained proof of work aspect mentioned above.  This property requires that every transaction builds upon the previous one. If even a single transaction in block chain is modified, the hashes from that point on would not match the honest chain and would then cause that chain to be discarded. This property of the block chain is the reason why it becomes more trusted the longer it becomes, and why bitcoin wallets only trust the longest chain.

The programs that perform these proof of work calculations to confirm transactions and incorporate all of the known transactions into a new block (which is further incorporated into a block chain) are known as miners. Mining programs use brute force methods to find and verify pending transactions by increasing a number such as 1 until that number in addition to the transaction data will match certain special properties when hashed using SHA2. While the correct result is relatively easy to verify, it is computationally intensive to calculate. Only a single call is required to determine that the specific nonce, or number, that the miner has paired with the transaction data is correct; however, the trial and error of, for example, starting with the so called payload data and sequentially increasing that number until the correct one is found is very computationally intensive, and takes much longer than it does to verify the correct result (which is unknown to the miner until it is discovered by trial and error). The miner is able to determine a correct result when the hash of the nonce and payload data have certain specific properties, most notably a certain number of zeros. Graphics cards and specialized hardware are especially suited for the highly parallel brute force mining calculations and are many times faster and cheaper to run from a hashing power per kilowatt hour cost standpoint than even the fastest consumer grade CPUs. The “hashing power” is reported by the mining programs as mhash/s, and represents the raw processing power of the hardware in calculating a million hashes per second.

View Full Size

8-bit-coin.  Get it?

In addition to securing the network and verifying pending transactions by generating the longest honest block chain, mining is also the method that is used to place Bitcoin into circulation. Bitcoins, of which there will only ever be 21 million, are given as a reward to the first miner to find a block and verify the transactions. Currently that reward is 50 BTC (bitcoin) plus any transaction fees, and will decrease over time until all bitcoins are in circulation. At that point, miners will be rewarded with the transaction fees included in the transactions they are verifying. Due to the need to control the number of bitcoins that enter circulation so that they are released over time and not all at once (and are allowed to grow with the adoption rate of BTC and the network size), the difficulty of finding a block is adjusted every 2016 blocks to either increase or decrease difficulty according to the current hashing power of the entire bitcoin network. The network adjusts the difficulty such that these 2016 blocks are found within a two week time frame, which amounts to 6 blocks per hour. These difficulty increases have made GPUs the only viable and cost-conscious decision as CPUs simply do not have enough hashing power to justify the electricity cost of running them.

View Full Size

GRAPHIC: Diagram of pool mining made up of individual contributors

As competition between miners began to rise as they attempted to amass the most processing power so that they would be more likely to find a block first, pool mining was born. Pool mining consists of many individuals contributing their computational power to a pool, which then allows them to work together to find blocks. The reward for finding that block is then distributed among everyone who contributed to the pool based on varying methods; the most common distribution methods being a proportional percentage, a flat pay per share payment, or a score based percentage. Mining in a pool allows individuals a smaller, more steady stream of bitcoin then mining solo which has a higher payoff (as one gets to keep the entire 50 BTC reward instead of only a percentage of it) but is much more sporadic. Both solo miners and pools are both susceptible to “luck” which is a representation of the total number of blocks found during that day versus the number that they found and thus were rewarded for. Due to the much higher computational power of the pooled resources of the mining pools, they have a better chance of finding a block.

July 12, 2011 | 05:26 PM - Posted by Adster (not verified)

Any reason the AMD 6950 & 6970 cards was left out of the experiment? As the flagship AMD single GPU cards, I think this data would be really salient. Is there another card on the list from which we could easily extrapolate 6950/6970 performance?

July 12, 2011 | 07:06 PM - Posted by Tim Verry

In my personal testing, the 6950 gets somewhere around 340 mhash/s with a few optimizations. Overclocking and unlocking can get you around 400. You can get the 6950/70 performance by dividing the results of the 6990 GPU results in the graph.

My understanding of the GPUs used were based on what was available in house for testing.

July 12, 2011 | 07:12 PM - Posted by Tim Verry

More specific results (please keep in mind that I am using different settings than Ken so they are not necessarily comparable):

My 6950 unlocked to 6970 shaders at 840 core gets 372.7 mhash/s using GUIMiner, and two kernel tweaks of the poclbm kernel, and AMD Cat 1.7 drivers and whatever version of Stream SDK comes with that. I'm further using the following flags which are gfx card version specific: -k poclbm VECTORS BFI_INT AGGRESSION=9 WORKSIZE=128

Hope it helps :) If you have any questions please feel free to ask.

July 13, 2011 | 04:22 AM - Posted by Adster (not verified)

Hi Tim,

I'd be interested in a little more information. I'm running a Sapphire 6950 2GB with unlocked (6970) shaders (but not flashed to 6970 speeds; I just OC when I need the boost). I'm also sporting a Core2Duo E8400 OC'd to 3.6 Ghz. I started mining last night, following the guides Ryan mentioned, and I'm consistently getting 320 Mhash/s, not the 340 you mentioned was possible with a few "optimizations."

Do you know if the optimizations you mentioned (the flags) should work for my 6950; you said they are gfx card version specific - did you mean vendor specific, or just 6950 specific? Is it possible to use those flags when I'm using the GUIMiner, or do I need to be using a console? Thanks for any input!

July 13, 2011 | 10:22 AM - Posted by Tim Verry

Hi Adster, I am running a XFX 6950 2GB card with an edited BIOS to have unlocked shaders but not 6970 speeds (though the card is capable of running at them, I didn't want to risk running the memory at the higher speed full time).

The flags that I mentioned will work for you 6950, they are specific to the version of card you have, in this case these flags are best used with AMD 6xxx series cards. You can set the flags in the GUIMiner extra flags area; however, you will need to edit the poclbm kernel file for the other optimizations. You can find those by searching the bitcoin forums for kernel optimizations.

I hope it helps, let me know if you need any help in sqeezing all the mhash possible outta that card :)

April 20, 2013 | 01:47 PM - Posted by Anonymous (not verified)

I have Gigabyte 6950 and overclocked at 900mhz it has 370MH/s , sometimes goes over, but constantly is 370MH/s, it is good for cost effective?

July 21, 2011 | 04:20 AM - Posted by Ukprotect (not verified)

My HD 6950 achieves 362 Mhash/s, I use the following config:
The HD6950 is flashed with 6970 bios, GUIMiner, flags: -v -w128 -f1, Core Clock=890, Memory Clock=1580, PCI-E x16.

August 25, 2011 | 05:44 AM - Posted by Doc (not verified)

I am running an Asus 6950 with the shaders unlock but not the 6970 bios. I am achieving 379 Mhash/s.

I am running phoenix miner 1.6.2 from a command line (guiminer's front end eats Mhash/s). My switches are -k phatk2 VECTORS BFI_INT AGGRESSION=13 worksize=128 FASTLOOP=false

Also I am running it OCed to 840MHz and the memory underclocked to 750MHz. It seems odd, but underclocking the memory adds another 1-2 Mhash/s.

July 13, 2011 | 05:27 AM - Posted by Ryan Shrout

Honestly, we just didn't test it because we skipped some cards. Looking back, we should have done one of them. You can see on our screenshot of "The Beast" that we eventually plugged one in and got about ~ 344 Mhash/s.

July 16, 2011 | 04:16 AM - Posted by Touche (not verified)

Try here for a lits of cards and their Bitcoin potential : https://en.bitcoin.it/wiki/Mining_hardware_comparison

July 12, 2011 | 06:08 PM - Posted by undersea

OK, who is doing this?

July 12, 2011 | 07:07 PM - Posted by Tim Verry

who is doing what? mining?

July 14, 2011 | 06:01 AM - Posted by Anonymous (not verified)

The Chilean miners, they are doing this for sure...

July 12, 2011 | 08:12 PM - Posted by Anonymous (not verified)

don't count on unlocking a 6950 to a 6970 unless you get n older one. ATI/AMD is crippling the new ones.

July 13, 2011 | 05:42 AM - Posted by neliz (not verified)

No they're not, whoever gave you that idea? NV?

July 13, 2011 | 07:01 AM - Posted by Adster (not verified)

This is a great article, and pushed me over the edge to start mining. The only big question I have (aside from my earlier question about 6950/6970 performance), is how the cost of electricity factors in.

Obviously we are all subject to different utility rates, so you couldn't give a cost-breakdown that would apply to everyone. However, I am curious how much the average cost of electricity would deduct from the profits in your chart?

July 13, 2011 | 12:30 PM - Posted by Tim Verry

Hi Adster, stay tuned to PC Per for that info ;)

July 13, 2011 | 04:09 PM - Posted by Bolas (not verified)

Is it possible to mine bitcoins in using Windows7 64-bit, or do I have to install Linux?

Does the amount of system memory matter when mining bitcoins, or is the graphics card the only real limiting factor?

July 13, 2011 | 07:43 PM - Posted by Anonymous (not verified)

I have a dedicated mining machine which runs 24/7 in the closet (no, really -- it sits in the closet). It has the cheapest AMD CPU I could find (sempron processor), 1GB of ram, a flash drive used as the hard drive running Ubuntu 10.4 on a headless (monitorless) system. The only thing really going on is the 2x5850 Xtreme graphics cards pumping out ~ 700 MHash. When I bought this rig, it ran me $530 after rebates from Tiger Direct.

July 13, 2011 | 07:45 PM - Posted by Anonymous (not verified)

Linux or Windows doesn't matter. Windows will require a dummy plug on any secondary video cards because the OS won't see it unless it has a monitor plugged in.

July 13, 2011 | 04:18 PM - Posted by Allan (not verified)

I did an analysis of the energy costs, which really should be factored in: http://hardware.slashdot.org/comments.pl?sid=2321814&cid=36755990

July 13, 2011 | 05:35 PM - Posted by Ryan Shrout

We did that today as well!

http://www.pcper.com/reviews/Graphics-Cards/Bitcoin-Mining-Update-Power-...

July 13, 2011 | 04:27 PM - Posted by Anonymous (not verified)

The 5770 is also a pretty glaring lack, because it is the one that would compete the most with the 5830. It is definitely not as good, but it is definitely far easier to obtain a 5770 then a 5830.

July 13, 2011 | 05:36 PM - Posted by Ryan Shrout

Good point - we should try to add it this week.

July 13, 2011 | 07:47 PM - Posted by Anonymous (not verified)

5830s are not really hard to find in stock. I get 219 MHash from my 2x5770s -- Pretty far below (80ish?) what a 5830 gets you and they're not that much cheaper.

July 13, 2011 | 05:27 PM - Posted by Anonymous (not verified)

The way bitcoin distribute it fortune is a waste of our limited energy. Please stop it.

This is also not justly correct that only a few people get access to it and most people of the world is not having a chance

July 13, 2011 | 05:36 PM - Posted by Ryan Shrout

Obviously the hope is they spend it and put it back into circulation, right?

July 13, 2011 | 05:46 PM - Posted by Anonymous (not verified)

There is roughly about 8 megawatts being consumed. A diesel train engine generates 4 so the entire network consumes about the same as a train being pulled by two engines.

Whoop de do.

July 13, 2011 | 05:48 PM - Posted by Anonymous (not verified)

You can find complete mining and overclocking guides @ bitclockers.com

My GTX480 makes me 80 dollars a month right now.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote><p><br>
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.