Bitcoin Forum
November 13, 2024, 08:36:30 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 6 7 8 »  All
  Print  
Author Topic: SolidCoin v2.0 features new hashing algorithm, faster on CPUs  (Read 12194 times)
steelhouse
Hero Member
*****
Offline Offline

Activity: 717
Merit: 501


View Profile
September 19, 2011, 08:17:20 PM
 #61

This is such a good idea.  Hope this saves electricity.  It is a shame we mine bitcoin to enrich coal companies and public sector unions.  Anything to lower the cost of electricity use is a mandatory switch.
Littleshop
Legendary
*
Offline Offline

Activity: 1386
Merit: 1004



View Profile WWW
September 19, 2011, 09:06:14 PM
 #62

This is such a good idea.  Hope this saves electricity.  It is a shame we mine bitcoin to enrich coal companies and public sector unions.  Anything to lower the cost of electricity use is a mandatory switch.

Please explain how mining bitcoin enriches public sector unions.

Lolcust
Member
**
Offline Offline

Activity: 112
Merit: 11

Hillariously voracious


View Profile
September 19, 2011, 09:08:23 PM
 #63

This is such a good idea.  Hope this saves electricity.  It is a shame we mine bitcoin to enrich coal companies and public sector unions.  Anything to lower the cost of electricity use is a mandatory switch.

Sarcasm detector has suffered a buffer overflow in its firmware, and shall remain offline for the time being.

Geist Geld, the experimental cryptocurrency, is ready for yet another SolidCoin collapse Wink

Feed the Lolcust!
NMC: N6YQFkH9Gn9CTm4mpGwuLB5zLzqWTWFw67
BTC: 15F8xbgRBA1XZ4hmtdFDUasroa2A5rYg8M
GEG: gK5Lx6ypWgr69Gw9yGzE6dsA7kcuCRZRK
Littleshop
Legendary
*
Offline Offline

Activity: 1386
Merit: 1004



View Profile WWW
September 19, 2011, 09:12:06 PM
 #64

The idea of CPU mining is a noble concept but flawed.  Once you get the source code out there, someone will privately figure out how to do it via GPU's faster then on CPU's.  The job of mining splits up very well into parallel tasks and tricks to make it not work on GPUs will not be effective.  In the end someone will end up with HUGE mining power on solidcoin and very few people will know who, why or how they did it if they want to keep it a secret.

Also moving to this model will make solidcoin be quite attractive to standard botnets.  You will have them taking up a huge amount of the mining power as they have cpu's to spare.  

Lolcust
Member
**
Offline Offline

Activity: 112
Merit: 11

Hillariously voracious


View Profile
September 19, 2011, 09:35:21 PM
 #65

The idea of CPU mining is a noble concept but flawed.  Once you get the source code out there, someone will privately figure out how to do it via GPU's faster then on CPU's.

Not necessarily.

There exist numerous tricks and treats that render certain types of hardware relatively inefficient.

It is certainly possible to write a crypto-PoW in a manner that is outright hostile to any modern, and for the immediately foreseeable future, possible, GPU.

Geist Geld, the experimental cryptocurrency, is ready for yet another SolidCoin collapse Wink

Feed the Lolcust!
NMC: N6YQFkH9Gn9CTm4mpGwuLB5zLzqWTWFw67
BTC: 15F8xbgRBA1XZ4hmtdFDUasroa2A5rYg8M
GEG: gK5Lx6ypWgr69Gw9yGzE6dsA7kcuCRZRK
Littleshop
Legendary
*
Offline Offline

Activity: 1386
Merit: 1004



View Profile WWW
September 19, 2011, 09:44:12 PM
 #66

The idea of CPU mining is a noble concept but flawed.  Once you get the source code out there, someone will privately figure out how to do it via GPU's faster then on CPU's.

Not necessarily.

There exist numerous tricks and treats that render certain types of hardware relatively inefficient.

It is certainly possible to write a crypto-PoW in a manner that is outright hostile to any modern, and for the immediately foreseeable future, possible, GPU.

Ok.  It may be possible.  But possible isn't going to happen in this case.  This is simply not a single threaded type of work.  So even if a GPU is bad at it, it still will be possible to break it up.  Use lots of ram?  Ok, so some (or even 3/4's) of the GPU processing units will be idle, but that will still be many times faster then a CPU.  Floating point?   SC miners will switch to nvidia vs ATI.  The profit motive will break this thing. 

Lolcust
Member
**
Offline Offline

Activity: 112
Merit: 11

Hillariously voracious


View Profile
September 19, 2011, 10:35:27 PM
 #67

The idea of CPU mining is a noble concept but flawed.  Once you get the source code out there, someone will privately figure out how to do it via GPU's faster then on CPU's.

Not necessarily.

There exist numerous tricks and treats that render certain types of hardware relatively inefficient.

It is certainly possible to write a crypto-PoW in a manner that is outright hostile to any modern, and for the immediately foreseeable future, possible, GPU.

Ok.  It may be possible.  But possible isn't going to happen in this case.  This is simply not a single threaded type of work.  So even if a GPU is bad at it, it still will be possible to break it up.  Use lots of ram?  Ok, so some (or even 3/4's) of the GPU processing units will be idle, but that will still be many times faster then a CPU.  Floating point?   SC miners will switch to nvidia vs ATI.  The profit motive will break this thing. 

Well, there has been some work (in adjacent fields) on types of cryptographic functions that are hostile to pretty much anything but CPUs and verily complex FPGA designs.

Methinks that making something run way worse on any modern GPU than on CPU is definitely possible, though whether CH will succeed in actually ensuring GPU-hostility is something that has yet to be seen.

Geist Geld, the experimental cryptocurrency, is ready for yet another SolidCoin collapse Wink

Feed the Lolcust!
NMC: N6YQFkH9Gn9CTm4mpGwuLB5zLzqWTWFw67
BTC: 15F8xbgRBA1XZ4hmtdFDUasroa2A5rYg8M
GEG: gK5Lx6ypWgr69Gw9yGzE6dsA7kcuCRZRK
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1078



View Profile
September 20, 2011, 12:55:24 AM
 #68

The idea of CPU mining is a noble concept but flawed.  Once you get the source code out there, someone will privately figure out how to do it via GPU's faster then on CPU's.

Not necessarily.

There exist numerous tricks and treats that render certain types of hardware relatively inefficient.

It is certainly possible to write a crypto-PoW in a manner that is outright hostile to any modern, and for the immediately foreseeable future, possible, GPU.

Ok.  It may be possible.  But possible isn't going to happen in this case.  This is simply not a single threaded type of work.  So even if a GPU is bad at it, it still will be possible to break it up.  Use lots of ram?  Ok, so some (or even 3/4's) of the GPU processing units will be idle, but that will still be many times faster then a CPU.  Floating point?   SC miners will switch to nvidia vs ATI.  The profit motive will break this thing. 

Well, there has been some work (in adjacent fields) on types of cryptographic functions that are hostile to pretty much anything but CPUs and verily complex FPGA designs.

Methinks that making something run way worse on any modern GPU than on CPU is definitely possible, though whether CH will succeed in actually ensuring GPU-hostility is something that has yet to be seen.
Conway's Game of Life is an example. There is a lot of memory access and decision making. Although not a cryptographic hash, it is trivial to do
SHA256(SHA256(header) + CGoL(header))
where CGoL is a certain amount of generations of Conway's Game of Life.
Syke
Legendary
*
Offline Offline

Activity: 3878
Merit: 1193


View Profile
September 20, 2011, 01:39:43 AM
 #69

Great idea. That'll surely never run in OpenCL...

http://vimeo.com/9516301

Buy & Hold
Lolcust
Member
**
Offline Offline

Activity: 112
Merit: 11

Hillariously voracious


View Profile
September 20, 2011, 01:59:14 AM
 #70

But does it run faster than on a CPU of approximately same "price and time range" ?

Geist Geld, the experimental cryptocurrency, is ready for yet another SolidCoin collapse Wink

Feed the Lolcust!
NMC: N6YQFkH9Gn9CTm4mpGwuLB5zLzqWTWFw67
BTC: 15F8xbgRBA1XZ4hmtdFDUasroa2A5rYg8M
GEG: gK5Lx6ypWgr69Gw9yGzE6dsA7kcuCRZRK
k9quaint
Legendary
*
Offline Offline

Activity: 1190
Merit: 1000



View Profile
September 20, 2011, 02:14:30 AM
 #71

But does it run faster than on a CPU of approximately same "price and time range" ?

My guess is that the new hashing algorithm will be ROT26. Any GPU that attempts it will run so fast that it melts, leaving only CPU hash power!

Bitcoin is backed by the full faith and credit of YouTube comments.
Bobnova
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile
September 20, 2011, 04:11:08 AM
 #72

Botnet owners will certainly be happy!
Everybody else?  Not so much.

BTC:  1AURXf66t7pw65NwRiKukwPq1hLSiYLqbP
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
September 20, 2011, 07:09:54 AM
 #73

And yes your excess memory use ideas are still silly in that regard Smiley
How so?
Quote
(I'm still sure you're just messing with him to make him use these ideas ... but hey if you are serious ... that's a worry Tongue)
These are quite sound ideas. If you know something wrong with them, do tell.

A CPU can trivially use 128MB for a split-second to validate a block header. Trying to do that on a GPU would slow you down to a crawl -- it doesn't parallelize well because the GPU doesn't have as many memory paths as it has execution units.

There is really nothing complicated about making a mining algorithm that works much better on a CPU than a GPU. After all, the algorithm -- so long as it is concatenated into a hash -- can be anything at all so long as it's deterministic. If all deterministic computing tasks could be done better on GPUs than CPUs, we wouldn't have any CPUs.


I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
ThiagoCMC
Legendary
*
Offline Offline

Activity: 1204
Merit: 1000

฿itcoin: Currency of Resistance!


View Profile
September 20, 2011, 07:22:57 AM
 #74

/ignore CH
FlipPro
Legendary
*
Offline Offline

Activity: 1764
Merit: 1015


View Profile
September 20, 2011, 08:29:56 AM
 #75

And yes your excess memory use ideas are still silly in that regard Smiley
How so?
Quote
(I'm still sure you're just messing with him to make him use these ideas ... but hey if you are serious ... that's a worry Tongue)
These are quite sound ideas. If you know something wrong with them, do tell.

A CPU can trivially use 128MB for a split-second to validate a block header. Trying to do that on a GPU would slow you down to a crawl -- it doesn't parallelize well because the GPU doesn't have as many memory paths as it has execution units.

There is really nothing complicated about making a mining algorithm that works much better on a CPU than a GPU. After all, the algorithm -- so long as it is concatenated into a hash -- can be anything at all so long as it's deterministic. If all deterministic computing tasks could be done better on GPUs than CPUs, we wouldn't have any CPUs.


Good post.
kano
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
September 20, 2011, 08:32:17 AM
 #76

And yes your excess memory use ideas are still silly in that regard Smiley
How so?
Quote
(I'm still sure you're just messing with him to make him use these ideas ... but hey if you are serious ... that's a worry Tongue)
These are quite sound ideas. If you know something wrong with them, do tell.

A CPU can trivially use 128MB for a split-second to validate a block header. Trying to do that on a GPU would slow you down to a crawl -- it doesn't parallelize well because the GPU doesn't have as many memory paths as it has execution units.

There is really nothing complicated about making a mining algorithm that works much better on a CPU than a GPU. After all, the algorithm -- so long as it is concatenated into a hash -- can be anything at all so long as it's deterministic. If all deterministic computing tasks could be done better on GPUs than CPUs, we wouldn't have any CPUs.
Well you may be able to do a single hash in a 'split second' but the point is to produce a function that can compute many hashes.
And if the resulting function has difficulty doing 1,000 a second because it accesses and processes a large amount of RAM - then that is just plain stupidity.

Also don't forget that the actual process of using memory will not involve transferring it across the PCIe bus.
Unless the block size has suddenly become some totally stupid size and thus the chain takes up ridiculous amounts of disk space, the hash of a block should only require a small amount of memory transfer and then the GPU can deal with the issue of using silly expansion algorithms to generate a large amount of data to hash - though more likely someone would come up with a simplification unless it's done well - note that SC Smiley all these ideas you'll need in your paper Smiley that you can pretend are yours Smiley

Anyway - the bottom line is that wasting that much power on generating a single hash just to attempt (note: attempt - not guarantee) that a GPU cannot do the hash - is as I said before - stupid.

e.g. a 6950 can currently do something like 360 MHash/s on the current algorithm (mine do) and used somewhere under 200Watts of power and costs around $250
To expand this you can add more cards (my MB can take 4x6950 with it's 4 PCIe slots, 2 are 1x and 2 are 16x, and was not at all expensive)
So yeah if someone wants to double/quadruple that middle of the road setup they can with just getting new cards.

Suggesting that people should spend that same amount ($250) on a middle of the road CPU that would also use around 60Watts of power plus the power requirement to have an actual GPU in the computer and use a lot of RAM your really not saving a lot - at BEST maybe a 1/3 of the power
But then to increase performance, you will need a multi-CPU motherboard (expensive and few have them just to get 2 CPU's) or another whole computer.
Then to top it off you can't use the computer easily when it is mining unless you slow mining down to a crawl.

If you GPU mine you can also use the computer and even have VERY little effect on your use
(there are ATI bugs with some versions on window where it will use a whole core in your CPU, but the rest hardly use any CPU - mine uses 2% of a single core with the CPU auto down-clocked to 1200MHz)
With a dual card GPU setup you can actually have mining running at half speed and still have a FULLY functioning computer to use or even play high performance FPS games at the same time.

It just seems ludicrous to even consider and more so is just a waste of a computer to do this.
... and again, if anyone bothers (yeah I don't know if anyone would bother) but if anyone bothers to produce a GPU version of the hash, you suddenly are telling everyone who spent any extra money on whole extra computers so they could hash faster - that they wasted their money - bad luck your hash power is trash.

Bottom line, as I keep saying, its a stupid idea.

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
September 20, 2011, 09:37:36 AM
 #77

Well you may be able to do a single hash in a 'split second' but the point is to produce a function that can compute many hashes.
No. There are two cases. One is mining, the other is validating PoW. In the case of mining, yes, you have to compute many hashes. But it makes no difference how easy or hard that is. If we make it ten times harder, the difficulty will just be ten times less.

The only case where performance matters is validating PoW. That only takes a single hash.

Quote
And if the resulting function has difficulty doing 1,000 a second because it accesses and processes a large amount of RAM - then that is just plain stupidity.
Why is that stupidity? The whole point is to make the mining algorithm difficult. We currently do that by raising the difficulty number, but it's just as reasonable to simply make the algorithm itself difficult to compute. There is no inherent benefit to one method over the other.

Quote
Also don't forget that the actual process of using memory will not involve transferring it across the PCIe bus.
Unless the block size has suddenly become some totally stupid size and thus the chain takes up ridiculous amounts of disk space, the hash of a block should only require a small amount of memory transfer and then the GPU can deal with the issue of using silly expansion algorithms to generate a large amount of data to hash - though more likely someone would come up with a simplification unless it's done well - note that SC Smiley all these ideas you'll need in your paper Smiley that you can pretend are yours Smiley
The GPU can't deal with the expansion problems. The GPU may have a large number of computation units, but its memory bandwidth is only so high, and it's not optimized for the kind of random accesses the algorithm would require. The reason GPU mining works so absurdly well is because the Bitcoin mining algorithm uses so little memory.

Quote
Anyway - the bottom line is that wasting that much power on generating a single hash just to attempt (note: attempt - not guarantee) that a GPU cannot do the hash - is as I said before - stupid.
Look, if GPUs could do everything better than CPUs, why would we have CPUs?

Quote
Bottom line, as I keep saying, its a stupid idea.
You do keep repeating that, but you've yet to form anything resembling an argument. I wonder what you will you say that when some entity makes an ASIC that can mine dozens of times more efficiently than any GPU.

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
September 20, 2011, 09:40:14 AM
 #78

By the way, if you want a good argument to use, it's this: Mining algorithms that work most efficiently on CPUs would tremendously increase the incentive to create bot nets and use malware to mine.

The best counter-argument to that is that we're already starting to see botnets that do GPU mining. But I still think it's a downside.

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
steelhouse
Hero Member
*****
Offline Offline

Activity: 717
Merit: 501


View Profile
September 20, 2011, 09:58:59 AM
 #79

would a ton of botnets protect the network?
gyverlb
Hero Member
*****
Offline Offline

Activity: 896
Merit: 1000



View Profile
September 20, 2011, 11:07:55 AM
 #80

The argument that we still have CPUs instead of GPUs isn't really a good one. ~ two decades ago, all algorithms were faster on Dec Alphas and by quite a margin, not everyone shifted to Alpha workstations...

GPUs have a reputation of being less powerful on some tasks, but I don't buy this argument blindly. For example, GPUs have far more memory bandwidth than CPUs as long as they use local memory (and why shouldn't they : I have 7x more local memory on my rig's GPUs than on its CPU).
I don't think there's any computation it can't do (as long as you have branching, registers for integers and floats even with lower precision and basic math operations on them you should be fine). So you can slow down a GPU thread, but I bet that you can't slow it down *enough* to counteract the sheer number of them. You could make each thread use large amounts of memory to force GPUs to use the PCIE bus but using large amounts of memory is often an implementation detail : you take the risk of someone finding an optimisation trading computing power for memory space and you're toasted.

Not to mention that you'll have to tune the algorithm to work good enough to make running a miner on a used desktop the most attractive solution (so it shouldn't prevent other tasks to run efficiently : not much RAM used, niced CPU threads, ...).

Lets take a look at the advantages listed by the OP :
Quote
1) You can still mine other coins like Bitcoin whilst simultaneously mining SolidCoins on your CPU
2) The amount of coins generated will be the same as the network adjusts difficulty based on number of hashes
3) No more need to run a separate miner, you can connect to your own client and pools from SolidCoin v2.0 itself, much easier to get your friends mining which will bring balance to the network

1) ok a plus, but not so interesting if SolidCoin is the next big thing.
2) don't see how cpu mining gets into that
3) no way you can do that without disturbing other processes or make it GPU friendly

So it seems that this annoucement was just for saying that you can mine SolidCoin while mining BitCoin on your rigs. Not bad, I'll wait and see how CoinHunter makes sure the miner fits in the small amount of RAM left on a rig after the OS is loaded (especially for Windows users) while preventing it from being GPU-friendly... By the way people will appreciate if they can use the 2 or 4 cores of their CPUs (so using what's left of a 1GB stick might not be able to use so much RAM per thread too...).

P2pool tuning guide
Trade BTC for €/$ at bitcoin.de (referral), it's cheaper and faster (acts as escrow and lets the buyers do bank transfers).
Tip: 17bdPfKXXvr7zETKRkPG14dEjfgBt5k2dd
Pages: « 1 2 3 [4] 5 6 7 8 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!