@jtoomim my people is doing simillar works. check our wechat.
I would say focus on GPU miner. Heavily optimizing a CPU miner will only (well mostly) lead to botnet mining at a larger scale and in my opinion possibly even be detrimental to the community.
I understand if people wants to ‘hobby mine’ on CPU, but I don’t think it’s worth the trade-off of allowing millions of drone computers running a competitive miner and reaping a large part of Zcash.
Interesting reading, just a quick question: Will your miner support nvidia cards or you recon z-cash will be all about amd for now?
hi.
amd card.
do you run mining reg?or just invest?
thanks.
There are other developers working on nVidia miner. Check Zcash slack. Toomim is working on possibly CPU, and AMD GPU miner.
At what point can other people expect to see an impact on difficulty due to the miraculous efficiency gains of your implementation?
At what point can other people expect to see an impact on difficulty due to the miraculous efficiency gains of your implementation?
Most likely, day 0, unless my company is the only one using it.
There are other GPU miners that are privately held that are currently about 2x to 4x slower, but which will have deployment on the >= 1000 GPU scale. The difficulty will rise like a rocket during day 0 regardless of whether everyone uses my code. With my code, though, you will have an equal playing field for mining, and your GPU will be just as profitable as one GPU in a professional farm.
Performance update: 88 ms on the R9 290. That should mean around 21 Sol/s.
Aren’t you planning to demonstrate these claims on the testnet?
We haven’t written the code yet to connect to zcashd for actual mining, so we are incapable of demonstrating anything on testnet at the moment. We will not accept any money or begin the crowdfunding without having provided evidence. Right now, I’m just keeping people appraised of our progress, expecting everyone to take my words on a pseudonymous internet forum as just words.
84 ms on the R9 290.
This is great work, congratulations. You are presumably coding in C for the GPU implementation?
Javascript, actually. But we might change that later so that we can publish easy-to-use binaries. We almost did Python, but Greg likes javascript better.
(You can’t run C on a GPU. You have to send OpenCL kernels to the GPU and enqueue jobs from another language running on the CPU such as C, but the performance of that language does not matter.)
I’m starting work on adding getblocktemplate and submitblock support to the GPU miner. I hope we won’t have to spend the next few days debugging our code to figure out why zcashd rejects our solutions…
OK great, thanks for the info! Amazed to find out it’s Javascript, not Python or C etc. Your explanation makes sense though. Cheers!
I actually think an optimized CPU miner would be good for the community. It would allow a few orders of magnitude more people to participate in mining. This helps with decentralization.
Consider, even if the GPU miner were 100X as fast as a CPU miner – there are probably 10,000 people willing to CPU mine for every 1 person able to GPU mine.
Once we get an optimized CPU miner we can run it on basic android phones (and bring on a huge amount of participation from developing nations).
Botnet concerns aside (I think the botnet concerns are inflated, but I’ll leave that for another post), an optimized CPU miner will, IMHO, be a much greater boon for zcash than a GPU miner (in the long run).
You will hear many more “focus on a GPU miner” responses in this forum because there a ton of people ready to plop down tens of thousands of dollars to GPU mine this coin. It’s the typical short-sighted thinking we see from well-off western investors. Pump the coin, make a killing, then move on to the next new coin.
An open sourced, optimized GPU miner is important for the short term success of zcash. An open sourced, optimized CPU miner is important for the long term success of zcash.
Also, thank you for your work.
Blah blah blah. Do you already have a gpu miner? I know the answer ![]()
@Austin-Williams, thank you for your input. I do, however, disagree with your reasoning.
The measure of decentralization should not be in terms of how many people are contributing, but rather the maximum proportion of the hashrate for any one person. If you have 1000 people contributing 1 CPU each, and 1 person contributing 1000 GPUs, the GPU miner will have around 90% of the total solutionrate. This is extremely insecure and terribly centralized. On the other hand, if you have 10 people with 1000 GPUs each, then each miner will have 10% of the total solutionrate. This is decentralized enough to be secure, in my opinion, although it’s not ideal.
I think that running on smartphones is a worse idea. The network difficulty will increase to the point where the most efficient hardware type (e.g. GPUs, FPGAs, or ASICs) will make a modest profit, producing revenue around 1.5x-10x their electricity cost in low-cost datacenters like mine. If you try to run the same algorithm on less efficient hardware (e.g. a smartphone with a 50% efficient battery charging circuit and 50% of the power going to peripherals), there will be no profit margin left. Add to this the fact that mining with the CPU will drain the battery within a couple of hours, and the fact that the ARM CPU will be only about 0.1-1.0% as fast as a GPU, and you have a quantitatively unfeasible plan. A smartphone might cost around $300 for 0.1-1.0 Sol/s, whereas a midrange GPU costs under $300 for 22 Sol/s with our software.
@LoLiK Yes, we do. If you knew the answer, why did you ask?
@jtoomim I think we are reasoning similarly but using different numbers/assumptions. Here’s where I’m coming from:
Let’s set aside electricity requirements for just a minute and focus at the up front capital investment. You are thinking:
A smartphone might cost around $300 for 0.1-1.0 Sol/s
Which gives us about 0.003 Sol/s for each $1 of initial capital investment. Compared to about 0.073 Sol/s for each $1 of initial capital investment. A difference of about 24X in favor of GPUs, which is huge! Of course you think smartphones can’t compete. Looking at those numbers, I’d think the same.
But I’m thinking about the $3.60 smartphone that India is rolling out to it’s population of 1.3 billion people. That gives us 0.278 Sol/s per $1 of capital investment. That makes these cheap smartphones almost 4X cheaper per Sol/s than GPUs (if we just look at initial capital investment).
$300 smartphones are a luxury device for first-world folks like you and me. But make no mistake about it, the developing world will be drowning in budget smartphones within 5 years.
From this perspective, the only reason GPUs may be more profitable than smartphones is due to (as you mentioned) the electricity costs.
And while I’ll agree that if all users had to pay for their own electricity, then GPUs (and even desktops) would crush smartphones w.r.t. operating costs, a huge number of people don’t pay for the electricity used to power their smartphones. (Rent often includes fixed utilities cost, phones can be plugged in at work / in public, etc). Most small miners operate at a short-term loss anyway – as a form of speculation (they’re banking on the cost/coin to increase).
Here is another place where we have the same reasoning but are using different numbers:
If you have 1000 people contributing 1 CPU each, and 1 person contributing 1000 GPUs…
You are estimating that for every 1 person who can spin up 1000 GPUs there are 1000 people who can spin up 1 CPU.
I estimate that (on the low end) for every 1 person that can spin up 1000 GPUs there are nearly 250,000 people who can spin up 1 CPU.
Finally, (and I know I’m focusing a lot on India here, but substitute whatever developing country you like), the average income in India is the USD-equivalent of $4.10 - $14.66 per day. The motivation to leave a government subsidized $3.60 cellphone plugged into a free electrical outlet all day couldn’t possibly be much higher for this group of people.
@jtoomim
I purchased a bunch of R9 295 X2s for mining this coin and would like to lend hardware to your endeavor for testing (if you don’t have what I have already in your arsenal).
I’m not a developer and don’t know how this looks, but I can set up machines with any OS and give you remote access.
(Assuming you can set an expiration of some sort on your miner, so I can’t steal it, like every software company does with their trial software)
I am also willing to assist in any way you need. I’m a Network Engineer, Systems Engineer (which seems to hold little weight in the stage we’re in with Zcash) and interested investor.
Regards, Brian.