Bitcoin Forum
July 06, 2022, 01:59:04 PM *
News: Latest Bitcoin Core release: 23.0 [Torrent]
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Hardware / Algorithmic optimizations for sale to ASIC vendors (15+% improvement) on: August 24, 2013, 07:58:16 AM

I have developed algorithmic optimizations for Bitcoin mining which reduce the number of calculations needed per hash, resulting in a performance improvement of 15% or more compared with the best publicly known techniques.  I am offering to sell information about these optimizations to ASIC vendors interested in incorporating them into a future chip design.


These techniques are not theoretical.  I have successfully implemented them in my private GPU miner and used them for several years.  For reference, here are some performance numbers from my GPU miner:

  • 5970 @ 725 MHz: 828.4 Mh/s
  • 6990 @ 880 MHz: 965.8 Mh/s
  • 7970 @ 925 MHz: 676.5 Mh/s

If you compare those numbers with other published hash rates, making sure to adjust for clock speed, you'll find that they are 15-20% faster than the best hash rates achieved by other miners.  I estimate that at least a 15% improvement comes from algorithmic optimizations which are not publicly known, and which should be applicable to other technologies like custom ASICs.  The precise performance improvement achievable may be slightly different on a custom ASIC compared with an AMD GPU due to differences in the relative costs of various operations on the two technologies, but I expect it to be in the same ballpark.

I should say up front that these techniques are not without drawbacks.  They are somewhat more complex than the typical well-known mining optimizations, making them more difficult to put into practice.  In particular, changes may be needed to infrastructure like mining software, pools, and protocols.  It is not a drop-in replacement.  Still, it may be worth doing if it results in a 15+% higher hash rate for given hardware and electricity costs.

Also, please don't expect this information to come cheaply.  The ability to increase the performance of a generation of ASIC-based products by 15+% is quite valuable, and I will expect to be well compensated for disclosing these techniques.

If you would like to discuss using these optimizations in your ASIC design, email miningalgorithm at
2  Bitcoin / Development & Technical Discussion / Fee policy proposal: charge for outputs, not inputs on: March 08, 2013, 10:34:55 PM

Fees are typically per KB of transaction size.  The size of a transaction is mostly determined by its inputs and outputs.  I propose that fees should be based only on the outputs.

The intuition is that every output is eventually intended to be redeemed by an input.  It serves no purpose to penalize those inputs.  Rather, the transaction that created the output should include a fee sufficient to pay for both the output and the input that we know will eventually be needed to redeem it.


  • Currently, users are sometimes prompted to include a large fee because their transaction combines many inputs, resulting in confusion.  Charging only for outputs would eliminate that confusion.  Large fees will still be required for transactions with many outputs, but in that case the reason for the fee is clear.
  • Currently, outputs below a certain value can be uneconomical to redeem, resulting in a permanently inflated set of unspent outputs.  Charging only for outputs would allow small outputs to be redeemed.


  • Fee policies are supposedly in the hands of miners, but that is not quite true in the presence of a block size limit.  Assuming there are enough fee-paying transactions to fill the block, a profit maximizing miner must charge fees based on the size of the entire transaction.  If the block size limit is changed in the future, it is worth considering making the limit apply only to outputs.  (For safety, a separate limit could apply to inputs, set high enough that it is unlikely to be reached in practice.)
  • Ideally fees should be based on the total size of outputs and their redeeming inputs, but in general it is not possible to know the size of those inputs ahead of time.  P2SH outputs can require arbitrary scripts to redeem.  Even an ordinary output that pays an address may require a compressed or uncompressed public key to redeem.  One approach is to charge all outputs for a fixed additional number of bytes, and charge inputs if they exceed that size.  Another is to ignore inputs entirely, which may make sense if they are typically pruned anyway.  In practice, the policy may be determined by the block size limit.  If the limit applies only to outputs, the profit maximizing behavior will be to charge per KB of outputs and ignore inputs.

This is just a sketch of an idea.  It could be turned into a concrete proposal if people think it has merit.  Perhaps it should be considered at the time that the block size limit is addressed, though it could also be attempted as a default fee policy before that.
3  Bitcoin / Development & Technical Discussion / Crash in QR code dialog on: March 23, 2012, 11:33:15 PM
I just tried 0.6.0rc4 on Windows.  I was playing around with the QR code dialog, typing/pasting more and more text into the BTC Message field and watching the QR code change.  Eventually the application crashed.
4  Other / Obsolete (selling) / Selling various used PCIe risers on: May 22, 2011, 06:36:43 AM
I am selling a variety of used PCIe risers.  I've listed what I paid for them (in USD).  As a general rule, I'm looking to get about half what I paid (BTC accepted of course), but feel free to make an offer.  Larger orders preferred; for small orders I'll need to charge a little extra to cover shipping.  I'm in the USA.  Buyers from other countries may need to pay a bit more for shipping.

1. PCIe x1 to x16 adapter

Paid $16, 1 available

2. Cheap, low quality 6" PCIe x1 flexible risers

Unmodified: paid $4.50, 5 available
With the end sawed off so it can take an x16 card: paid $4.50, 6 available

3. Expensive, high quality PCIe Gen 2.0 x1 flexible risers

6" unmodified: paid $58.50, 1 available
12" unmodified: paid $73.50, 5 available
12" with the end sawed off so it can take an x16 card: paid $73.50, 2 available

4. 12" PCIe x1 flexible risers with separate power

These risers take their power from a separate connection rather than the slot on the motherboard, which is useful if you have too many cards drawing power from the motherboard.

I have two varieties:

Power from standard ATX power supply: These draw power from a standard floppy connector.

Power from external 12V power supply: These also use a floppy connector, but only the 12V and ground pins are used, allowing a 12V-only power source to be used.  This can be useful if you need to draw power from a power supply rail that only supplies 12V.  I have some adapters that can be used to convert from 6-pin PCIe to floppy (via molex) for this purpose -- see below.

Power from standard ATX power supply: paid $46, 3 available
Power from external 12V power supply: paid $56, 6 available

5. 6-pin PCIe to Molex power adapter

Converts a 6-pin PCIe power source to a Molex connector.  Only 12V is provided, not 5V.  Useful for things that only need 12V, like fans or the powered riser above.

Paid $12.95, 6 available

6. Molex to floppy power adapter

Converts a Molex power source to a floppy power connector.

Paid $2.95, 4 available
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!