Pages:
Author

Topic: DESIGNING the next generation FAST CRYPTO CURRENCY MINING MACHINE (Read 22988 times)

legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
1 BTC already reached $1000. Of course, it crashed down and is now somewhere in between. When 1 BTC = $100,000, then I wouldn't mind mining 1 BTC per year either.

That is, if I can still do it at home.
sr. member
Activity: 378
Merit: 250
I think ASICs may actually help decentralize mining just as the development of ICs and PCs brought centralized mainframes to the "periphery" (the consumer). ASICs make the mining rigs smaller, more attractive, more efficient, less expensive. The key is acceptance... as market capitalization increases, BTC will become more valuable and people will not mind being able to only mine .1 - 1 BTC per year (when 1BTC = $100,000). Mining units will become more user friendly requiring minimal setup - maybe plug and play
hero member
Activity: 714
Merit: 500
The cash is not a problem, I'm going to make it back with my superminer in a day an a half anyway, right?


Send me a link to your favorite board and tell me what you like about it as an FPGA scrypt miner.


not really.  the performance gain from an FPGA like this will be nominal.  You are stuck between many rocks and a hardplaces.  The larger the memory the further away from the processor it is.  If you want to scrypt mine with it you will have to code as many threads to run concurrently as possible.  That eats up a lot of RAM.  Using DDR RAM it has the most space and plenty of bandwidth but to run concurrently its slow.  Using QRD or SRAM you get faster processing but it is fractionally smaller so you won't be able to run as many threads.  You can't physically get the amount of SRAM available to you.

If you want to play aroudn with the just get any Stratix dev board.  Bitware and Nallatech are good choices.

http://www.altera.com/products/devkits/kit-dev_platforms.jsp
hero member
Activity: 924
Merit: 501
The cash is not a problem, I'm going to make it back with my superminer in a day an a half anyway, right?


Send me a link to your favorite board and tell me what you like about it as an FPGA scrypt miner.

hero member
Activity: 714
Merit: 500
So does anyone have any feelings about the dev board at the top of the page for a scrypt miner?

good luck.  I'm assuming you are buying it for the onboard DDR RAM.  You will not be able to get and FPGA that will match a GPU using DDR.  You need to utilize on die memory.  On die memory is very small,  your next best bet would be to get a board with  QDR or SRAM but the price points on those would make a marketable unit useless.

If this is for academic reasons then it should work fine.  If you have cash to burn and want to work with QDR or SRAM you can get one of the Altera Stratus V boards.  ($10k to $12k each).
hero member
Activity: 924
Merit: 501
So does anyone have any feelings about the dev board at the top of the page for a scrypt miner?
hero member
Activity: 798
Merit: 1000
Instead of building a better miner... why not build a better coin.

Someone rang?

Quote
First flaw...
- Rewards are a gamble. They should be directly related to actual work provided, not a pot-luck. ... Your reward would be a direct fraction of the processing reward at the difficulty. Not a set reward, that excludes others actual work. That is just dumb, and as stated, already countered, thus, just leading to ASICs dominance. Eventually leading to one singular controller with the biggest asic-factory.)

In the Decrits proposal, people only create currency when it is profitable to produce the currency--there is high demand. The security of the network is separate from the monetary system. Security is paid for by tx fees. Coins are created as a block amount based on network activity, with each person wanting to mine part of the block "bidding" for it by producing small proofs-of-work. To reduce the "hardware tax" of the incentive to create ever more efficient hardware that ends up being more costly in the end (as explained by this thread), many coins are given freely away as a result of minting, via tx activity and account interest.

As these coins are given away, the incentive to continue creating coins quickly diminishes. Producing ASICs would quickly ramp up the difficulty so that ASICs are no longer profitable, and unlikely to ever see a return on the initial investment to create them, rather than the sunk costs of using a GPU. And new blocks of coins cannot be created unless there has been sufficient tx activity, so ASICs attempting to inflate the supply will quickly run into a wall where they can no longer mint until tx activity catches up.

It requires people to embrace the idea that using wasteful proof-of-work can not be the security of the system.

Quote
Second flaw...
- Poorly structured "tree branching", leading to 51% attacks. Though it can be corrected, it can not be avoided, and thus, 50% of this effort is wasted, and can lead to reversed transaction confusion, as "invalid transactions" get removed by the "corrected blocks". At minimum, no single entity/pool should be able to reach 33.333333% of the load. At the current time, pools are allowed to expand to 100% if desired. There should be a MINIMUM of 3x 33.333333% sections available for pool polling. Thus, always 3 separate entities, that can be confirmed, and can not "merge" works to become a 66.666666% pool, by obtaining two portions of the workload.

There is no competition in Decrits for who decides the network view. Shareholders stake the ability to create the network view with decrits. If they create a malicious view, their decrits can be destroyed, thus making it difficult to repeat the action. Each shareholder has a 10 second window where it can add transactions to be added to the chain. As long as the chain is relatively unbroken, small transactions can be reliably confirmed within 5-15 seconds.

Quote
Third flaw...
- Poor database structure and management. The "user", will eventually be burdened by a 385TB DB of transactions that only contain 1MB of transactions that relate to them. What are we at now, 9GB+ after 4.5 years, and growing exponentially with each transaction. (Users should only have to download transactions that pertain to them, and no more. Starting from the point at which they get that first transaction, and ignoring any other blocks that do not have transactions that do not pertain to them.)...

Decrits uses an account ledger that is updated by the consensus of shareholders every 10 days or so. Transactions after a set time are no longer necessary to maintain the state of the network. This limits the size on disk to the number of accounts times the number of bytes for an account. Somewhere on the order of 100 bytes. So even 1 billion accounts is only about 100GB. Additionally, because of the consensus system, "lite" clients can verify small blocks of accounts with only 50-100MB of data transferred per week in a network with millions of participants.

Quote
Fourth flaw...
- Lost accounts. There is no method of recovery for lost accounts. There are tools to assist with a recovery of a partial loss, if you have data to recreate it... but that only helps recover up to 100 keys beyond the point of where it can restore. Since, for some reason, new keys ask the network for the next 100 keys, instead of generating them sequentially, and selecting valid ones from YOUR selection, not asking the network for 100 more keys that you could never "guess", once a wallet is recovered. If it is ever recovered.

This is a software problem, not a network problem. Deterministic wallet addresses created by using personal information that is hard to obtain (good security questions) plus a sufficiently long password that must be securely kept, no one could lose their money due to a hard drive crash. Strongly enforcing this provision in the software is key to making this work.

Quote
Fifth flaw...
- Burden of load that does not expand, will only diminish in time. A diminished burden of load will result in failure of the network, as machines become fast enough to handle all transactions at once. Thus, leaving only one operator running the whole show. In the advent of ASIC's, it will turn the 30,000 GPU load-balanced network into 1,000 ASIC operators, which will fade into 10 Super-ASIC operators, which will end-up as 1 Super-Super-ASIC operator running the trillions of micro-transactions, and thus, not be able to "keep-up" the burden of the load, while manipulating the entire market that still exists.

"Handling" transactions is only a matter of bandwidth and CPU time. ASICs do not handle anything regarding transactions, only finding a nonce for proof of work. It is not required at all to secure the network. In decrits, as transaction volume increases, transaction fee receipts increase which encourages decentralization because to get paid, you only need to invest decrits into the security of the network, or you can also get paid by being a transmitting node. The Decrits proposal, coupled with its account ledger, will be highly bandwidth efficient, and the CPU time required to verify transactions can easily scale with home PC processing power.

Quote
Conclusion... Build a better coin. Otherwise you are just adding to the future problem, creating a super-asic.

See my signature for a link to the decrits proposal.
hero member
Activity: 924
Merit: 501
I'm ready to design a prototype scrypt mining FPGA.  I need a development board.   I was thinking of this:
www.xilinx.com/products/boards-and-kits/EK-K7-KC705-G.htm

Are there better choices?



hero member
Activity: 924
Merit: 501
I'm ready to design a prototype scrypt mining FPGA.  I need a development board.   I was thinking of this:
www.xilinx.com/products/boards-and-kits/EK-K7-KC705-G.htm

Are there better choices?

hero member
Activity: 924
Merit: 501
full member
Activity: 219
Merit: 100
Instead of building a better miner... why not build a better coin.


Fifth flaw...
- Burden of load that does not expand, will only diminish in time. A diminished burden of load will result in failure of the network, as machines become fast enough to handle all transactions at once. Thus, leaving only one operator running the whole show. In the advent of ASIC's, it will turn the 30,000 GPU load-balanced network into 1,000 ASIC operators, which will fade into 10 Super-ASIC operators, which will end-up as 1 Super-Super-ASIC operator running the trillions of micro-transactions, and thus, not be able to "keep-up" the burden of the load, while manipulating the entire market that still exists.

Conclusion... Build a better coin. Otherwise you are just adding to the future problem, creating a super-asic.

NOTE on the 4th flaw...
Eventually the "fixed coinbase" will be dwindled down to nothing, as more and more coins become lost forever, if they are not recoverable, destroyed on purpose, or stolen and can not be used. Thus, the fixed level of coins is already inaccurate, as many funds have been reported as unrecoverable and lost and destroyed.

Flaw #5 is only serious one as with centralization of mining resources the whole point of network currency fails as ultimately there is no network. On top of that thinks about this: what is the point of paying a block fee in the first place?

Well the point is to achieve the initial currency distribution so that many people have it and will spend it and therefore start an economy. Having most of the newly issued currency end up in the hands of handful big asic operators goes against that principle. And will consequently work against developing Bitcoin economy.

Fees should pay for mining not block reward. Block reward serves the purpose of initial currency distribution.

Other points regarding gamble, chain forking, lost wallets cannot be efficiently mitigated unless one gives up some of the privacy and this is a no go tradeoff. I'm struggling myself to find more efficient ways of doing things. Those that you mentioned I don't know if they are fixable.

There was a guy (not a very pleasant type) who would at this point say: oh, just one more thing (tm) :

Initial Bitcoin paper calls for distributed = non centralized peer-to-peer currency. There is little of "crypto" in Bitcoin design other than public/private key scheme for wallets which I guess any serious e-currency had and will have. However Bitcoin and it's derivatives are sometimes commonly known as crypto-currencies solely for a reason that they use some or the other cryptographic hashing function as proof of work.

It is a choice of convenience not fundamental design corner stone. Crypto functions are well studied and have properties which make them suitable for proof of work. Namely it is hard or impossible to fake it. There is no known way today to solve a block other than to simply try out billions of noonces and hopefully finding one that matches the criteria, that is difficulty.

But at the same time some crypto functions like SHA256 can be efficiently computed with custom hardware, those are ASICS. Unfortunately these ASICS are not available at any local store with undesirable consequence that average Bitcoin user has no practical way to mine Bitcoins.

However the protocol itself can be modified to use some other proof of work algorithm which would not allow for ASICS to have such and advantage over general purpose computer. Litecoin is an attempt to do just that.
full member
Activity: 140
Merit: 101
The position of the decimal is arbitrary since bitcoin is based on whole numbers of satoshi (the atom of the bitcoin universe).

Our scale of dimensions reference is colored by the block reward as being 25 "units" which we are calling 1xBTC.  In the future when the block reward is significantly less... our frame of reference may have matched (if bitcoin appreciates like many hope it will).  Maybe folks will still mine when the reward is significantly less than 1xBTC because the frame of reference will be significantly different.  The question is... what will a block reward buy in terms of real good (or currency) in 20 years (assuming 5 more currency halfings - and the reward is .78125).  Will we be thinking that the reward is really 781.25 uBtcs?

I find it interesting that when I bought it last year my BFL single made $3 per day.
I asked my wife to check it today, it still makes about $3 per day.
Value of bitcoins went up from $10 to $100 as the difficulty went up and the reward was halved.
No one could have predicted ASICs hitting within a 1 year period of the block reward being cut in half.

This tells me that there is actually far more money missing in BTC than people currently realize.  Otherwise common sense would kick in and you would see these older wallets being spent.  Fact is they aren't.

So many of us in the beginning saw it as a fun experiment then walked away and forgot.  We wiped our drives, sold our computers, upgraded or just got bored and deleted the little client and it's wallet. 

There will be a time in the future where it will be worth while to invest a million or more dollars in simply breaking bitcoin keys for these older wallets.  When they fall, someone will have an overwhelming majority of coins.

If I were a bad actor, I would actually create a botnet and task it with generating random keys and comparing it to those older wallets, as time goes on the keyspace decreases, eventually with enough bots you are going to hit one or two of these old dusty keys and literally strike gold. 

I'm not a bad actor, I have no plans to do it, but it is one attack against bitcoin no one really considers because they look at it as intractably safe.  It is and if you are looking for a single key your odds are astronomically against.  But the required keyspace divides in half for each key you are looking for.  There becomes a point at probably 2^32 where this is no longer an intractable problem.  You would in the space of a year with a botnet the size of say Srizbi, be all but guaranteed of hitting at least 1 key of value within the space of a year once there are that many keys in play.

Also several keygen algo's use the current unix time as their random seed when generating keys.  (I know mine did anyways).  Thus if you posses the same random generator and use the same seed factor you can reduce the key search space a bit by picking a number between the creation of the genesis block and today and using it as a seed to random.  Good chance you would hit a key again because you have restricted the search space. (This fact is probably arguable, but I do see this as a potential attack vector)

Mining for keys, is unfortunately one thing that bitcoin cannot guard against.  Even if they change the keysign algo, they do have to honor all the old keys generated since the beginning of time and there is no difference between the key and it's owner by design. 
hero member
Activity: 504
Merit: 500
Instead of building a better miner... why not build a better coin.

These coins have a horrible setup that cripples them, the more they are used. Many design flaws, that we just live with, at a cost to the network they run on, and to those who actually use them. (As opposed to hoarding them, keeping them off the network.)

First flaw...
- Rewards are a gamble. They should be directly related to actual work provided, not a pot-luck. This has been reduced by pooling, thus making the programming of the "gamble", a useless component. (Wasted processing and effort. Overhead.) Blocks should have difficulty that increases with "transactions", not processing loads. More transactions = more processing = more payouts = equal distribution of work, not a fight for work. You take any available transaction that is not claimed, and build until it hits a target difficulty. Your reward would be a direct fraction of the processing reward at the difficulty. Not a set reward, that excludes others actual work. That is just dumb, and as stated, already countered, thus, just leading to ASICs dominance. Eventually leading to one singular controller with the biggest asic-factory.)

Second flaw...
- Poorly structured "tree branching", leading to 51% attacks. Though it can be corrected, it can not be avoided, and thus, 50% of this effort is wasted, and can lead to reversed transaction confusion, as "invalid transactions" get removed by the "corrected blocks". At minimum, no single entity/pool should be able to reach 33.333333% of the load. At the current time, pools are allowed to expand to 100% if desired. There should be a MINIMUM of 3x 33.333333% sections available for pool polling. Thus, always 3 separate entities, that can be confirmed, and can not "merge" works to become a 66.666666% pool, by obtaining two portions of the workload.

Third flaw...
- Poor database structure and management. The "user", will eventually be burdened by a 385TB DB of transactions that only contain 1MB of transactions that relate to them. What are we at now, 9GB+ after 4.5 years, and growing exponentially with each transaction. (Users should only have to download transactions that pertain to them, and no more. Starting from the point at which they get that first transaction, and ignoring any other blocks that do not have transactions that do not pertain to them.) Adding note: Using an online service exposes the users to additional risks, and REMOVES the many "distributing blocks", that individual users would be distributing on the network. Thus, leaving 20 "wallets" for servers (from the wallet services), which limits transactions, and places ALL users of that servers single wallet at risk of being lost or stolen, and potentially unrecoverable.

Fourth flaw...
- Lost accounts. There is no method of recovery for lost accounts. There are tools to assist with a recovery of a partial loss, if you have data to recreate it... but that only helps recover up to 100 keys beyond the point of where it can restore. Since, for some reason, new keys ask the network for the next 100 keys, instead of generating them sequentially, and selecting valid ones from YOUR selection, not asking the network for 100 more keys that you could never "guess", once a wallet is recovered. If it is ever recovered.

(NOTE: It is suggested that brute-force should be used to recover a partial known lost wallet. However, the fact that brute-force can be used on a users wallet, indicates that it can also be used to open any other users wallet that is on the network. Which it can, because the entire transaction history of events are there, on the network, which can confirm the "cracked" wallet contents, when it is cracked.)

Fifth flaw...
- Burden of load that does not expand, will only diminish in time. A diminished burden of load will result in failure of the network, as machines become fast enough to handle all transactions at once. Thus, leaving only one operator running the whole show. In the advent of ASIC's, it will turn the 30,000 GPU load-balanced network into 1,000 ASIC operators, which will fade into 10 Super-ASIC operators, which will end-up as 1 Super-Super-ASIC operator running the trillions of micro-transactions, and thus, not be able to "keep-up" the burden of the load, while manipulating the entire market that still exists.

Conclusion... Build a better coin. Otherwise you are just adding to the future problem, creating a super-asic.

NOTE on the 4th flaw...
Eventually the "fixed coinbase" will be dwindled down to nothing, as more and more coins become lost forever, if they are not recoverable, destroyed on purpose, or stolen and can not be used. Thus, the fixed level of coins is already inaccurate, as many funds have been reported as unrecoverable and lost and destroyed.
sr. member
Activity: 490
Merit: 255
The position of the decimal is arbitrary since bitcoin is based on whole numbers of satoshi (the atom of the bitcoin universe).

Our scale of dimensions reference is colored by the block reward as being 25 "units" which we are calling 1xBTC.  In the future when the block reward is significantly less... our frame of reference may have matched (if bitcoin appreciates like many hope it will).  Maybe folks will still mine when the reward is significantly less than 1xBTC because the frame of reference will be significantly different.  The question is... what will a block reward buy in terms of real good (or currency) in 20 years (assuming 5 more currency halfings - and the reward is .78125).  Will we be thinking that the reward is really 781.25 uBtcs?
sr. member
Activity: 406
Merit: 250
Here is the problem as I see it in regards to all of the digital currencies that have sprung up over the past couple of years, BTC included.

[1]The current world population of ~5 Billion people aged 18+ all have a need/desire to make and receive goods and services; The easiest method invented so far beyond barter is to use a fiat type system of physical or digital currency (cash, debit card included but excluding BTC and the like).

All nations have some type of currency, but now we are speculating on a world currency, to me this means that the total amount of currency in the system needs to be larger than the actual population, No? and if not then why?

I did not major in economics but this right here seems to be the biggest overlooked fact of wide spread and immediate adoption throughout the world of a truly digital currency ala BTC.

Can any economists in here please join in on this thought?

This is why we are seeing people hoarding their BTC because it has a tiny tiny float of only 21MM, to me this is clearly not enough to sustain a global economy.

Using the above numbers:
5 Billion people able to earn and save BTC / 21 Million BTC == 0.0042 per person.

This is clearly not enough currency to go around and we haven't even begun to include corporations...

[1] http://www.census.gov/population/international/data/idb/worldpop.php

In the future we well not see BTC as the standard unit, people will talk in Millibits or whatever the correct terms are. Essentially one day we could be talking about 0.001 as if it were 1BTC, i think once Bitcoin starts to hit 1k people people will be requesting lesser amount making BTC requests rarer and perceived as large transaction then they are now. I do agree though, having to move into decimals will take some getting used to.
sr. member
Activity: 392
Merit: 250
♫ A wave came crashing like a fist to the jaw ♫
Here is the problem as I see it in regards to all of the digital currencies that have sprung up over the past couple of years, BTC included.

[1]The current world population of ~5 Billion people aged 18+ all have a need/desire to make and receive goods and services; The easiest method invented so far beyond barter is to use a fiat type system of physical or digital currency (cash, debit card included but excluding BTC and the like).

All nations have some type of currency, but now we are speculating on a world currency, to me this means that the total amount of currency in the system needs to be larger than the actual population, No? and if not then why?

I did not major in economics but this right here seems to be the biggest overlooked fact of wide spread and immediate adoption throughout the world of a truly digital currency ala BTC.

Can any economists in here please join in on this thought?

This is why we are seeing people hoarding their BTC because it has a tiny tiny float of only 21MM, to me this is clearly not enough to sustain a global economy.

Using the above numbers:
5 Billion people able to earn and save BTC / 21 Million BTC == 0.0042 per person.

This is clearly not enough currency to go around and we haven't even begun to include corporations...

[1] http://www.census.gov/population/international/data/idb/worldpop.php
member
Activity: 89
Merit: 10
Another, perhaps more philosophical question. Should we really be using "mining operations" that require wasted energy? It just doesn't seem to make sense to make zillions upon zillions of calculations, just to be able to create a quasi-physical (here crypto) currency to put into circulation... Is there really no other alternatives or ideas how to go about this?


Don't want to steal the thread just referring to a new idea below: Bitcoin is the first real competitor to the banking system but there will be others. I am collecting support and you can join the group https://www.facebook.com/groups/creditsystem/doc/580888151936183/



Overview / Executive Summary / One sentence explanation
==================================================
The Credit system is the complete opposite of the Banking System where a single entity, the banks, create money. In the "credit system" proposed herein, whenever new money is created to the “Credit” Money Supply, all new money is equally distributed to all participants in the system, avoiding inflation, debt and money-monopoly.  The initial money creation is assigned to every person that is born according to the current volume of money supply.

In the beginning of the system, everybody participating in the system, on a national or global level is assigned 1000 Credits. An initial exchange rate to the banking system is created at 1 Credit equals 15 EUR. Therefore everyone of us who is born, immediately is now assigned 15 000 Euros in “Credit Money”.  ( NOTE, I AM NOT SURE IF THERE WILL BE CONVERSION TO FIAT MONEY, CONVERSIONS HERE ARE GIVEN FOR REFERENCE AND REPRESENTATION ONLY)

The actual conversion rate between credits and EUR/USD/GBP/etc. doesn’t matter because it will be adjusted on marketing principles when trading houses are opened later in the process. In fact considering the current levels of bank money printing and the lessons from Bitcoin, it is safe to assume, that within 2 years of  starting up the credit system, 1000 Credits can easily be worth 150 000 EUR since the starting of the System. And that is credit you get “immediately”.  The system is therefore “anti-debt” and a democratic one.
sr. member
Activity: 406
Merit: 250
It sure is a very interesting website..
sr. member
Activity: 392
Merit: 250
♫ A wave came crashing like a fist to the jaw ♫
sr. member
Activity: 392
Merit: 250
♫ A wave came crashing like a fist to the jaw ♫
I am a C# developer and would like to get involved with this, I have *NOT* read the entire thread yet but will do so now.
Pages:
Jump to: