Pages:
Author

Topic: CPU friendly Altcoin in development - page 4. (Read 8218 times)

donator
Activity: 1218
Merit: 1079
Gerald Davis
July 30, 2013, 10:37:23 PM
#29
So you're categorising Ripple as a centralised ledger? Maybe a store-and-forward network or other distribution network of a centralised ledger, but in essence a centralised ledger?

I would call it a distributed centralaised ledger.  This may seem an oxymoron but the point is that there is a redundant network of ripple "servers" (not be be confused with client nodes) however the server source code remains closed source and only OpenCoin or agents of OpenCoin run the servers.

I would liken in to a private content distribution system being distributed but still under centralized control.  The advantages are no need for mining, no need for proof of work.  What the centralized network says is the status of coins is the status with no appeals or overrides.

There is no need for "proof" because all servers are trusted authorities.  They are all run by the same entity and there is no reason or scenario where they will provide conflicting ledgers.   At a high level one could say the purpose of "proof of work/stake/etc" is to resolve conflicts in the consensus.  There will never be conflicts in a distributed centralized network.
full member
Activity: 210
Merit: 100
July 30, 2013, 10:32:08 PM
#28
Some of you like to see an altcoin that is truly GPU,FGPA,ASIC resistant. We would like to see such a coin too so we have started experimenting. We are working on the hashing function right now. It's radix sort based. We use 64 random numbers between 10000 and 75536 (16^4+10k). This 512 char long decimal number is the 'key'. (If we subtract the 10k on each number block and convert it to hex, it's a 256 long hex string in total [or in other words: 1024 bits].) We then change each number block with a specific simple math function and radix sort them by LSD. This gives us a 'hash' (same structure as 'key'). Using a difficulty is already in place. The above explained process for getting a hash out of a key is also depending on the difficulty. The higher the difficulty the more often the hashing has to be done before getting back a hash (simply said). Validating a hash is based on simple math functions depending on the difficulty. The higher the difficulty the less hashes are valid (simply speaking).

I just want to make sure we are on the right track with this.

Possible improvements: I would like to implement tacotime's mentioned tree search algorithm in topic 64239. But it has to be implemented in a way the search is mandatory and that's very hard to do. We may also should use radix sort MSD and LSD instead of LSD only. What do you think?

Do you have any idea what we should change/add to the hashing function?
I think Primecoin looks to be a very CPU friendly coin. 
sr. member
Activity: 274
Merit: 250
July 30, 2013, 10:23:16 PM
#27
I doubt botnet resistance is possible, unless you make it such that normal people can't take part with their PC. You want broader participation for a coin to have better chance of success.

The 1% are only 1%, that is not broad.

Appeal to the starving, the children, the outcaste, make it unappealing to the rich, the well fed, the well-to-do at first, so that its appeal to them ends up coming from how many millions of people they can sell their howerver they got rich well fed etc to by adopting this currency that all those potential customers, who are currently ignored due to having no money, can become customers by means of once they have been given money by this method of giving money only to those who so desperately need it that they are willing to sit down 16 hours a day doing Turing Tests, or whatever...

-MarkM-


I said "broader". That's a implicit comparison of 2 scenarios where in one, most PC today can take part, and the other where more specialized hardware is necessary. An advantage of CPU friendly coin would be more people can get decent mining results with the PC they already have, hence more people can take part easily.

Besides, what does "the starving" have to do with this topic?
legendary
Activity: 2940
Merit: 1090
July 30, 2013, 09:53:17 PM
#26
The securing part should be as low energy as possible, maybe do it like Ripple claims to, if nothing else maybe you'll help discover a flaw in Ripple's proposed method.

The lowest cost method is a centralized ledger.  That is the PayPal/Ripple/Federal Reserve method.  Securing a blockchain in a decentralized will always involve a cost.  Maybe it won't be an electrical cost, maybe it will be a different kind of cost but a cost is inevitable.

So you're categorising Ripple as a centralised ledger? Maybe a store-and-forward network or other distribution network of a centralised ledger, but in essence a centralised ledger?

I am not disagreeing just seeking clarity.

Where is the line between a centralised ledger and any consensus, once it has been reached?

Cannot one simply consider the aggregate of contributors to the consensus as a centralisation?

Like, if consensus is reached so certainly by ASICs that GPUs etc really cannot sway it, it is really a centralised ledger whose centre lies in the ownership/control of ASICs?

-MarkM-
donator
Activity: 1218
Merit: 1079
Gerald Davis
July 30, 2013, 09:49:21 PM
#25
The securing part should be as low energy as possible, maybe do it like Ripple claims to, if nothing else maybe you'll help discover a flaw in Ripple's proposed method.

The lowest cost method is a centralized ledger.  That is the PayPal/Ripple/Federal Reserve method.  Securing a blockchain in a decentralized will always involve a cost.  Maybe it won't be an electrical cost, maybe it will be a different kind of cost but a cost is inevitable.
donator
Activity: 1218
Merit: 1079
Gerald Davis
July 30, 2013, 09:47:30 PM
#24
From what I heard scrypt miners use the L3 cache of the GPU/CPU, not the RAM. Could it be possible that if enough memory has to be used the performance difference between GPUs and CPUs disappears?
Also, an algo favoring lots of RAM could be interesting, if one exists.

exactly!
I made somewhere point on this forum that there should be coin that uses for example 16GB of RAM so that we cant implement this in gpu ?
Or more likely cant do ASICs hmmmm or meaby not Cheesy

Anyway coin that would require at least 8GB memory would be nice alternative Smiley
Based od AES ? (i7 have hardware acceleration) ?

You wouldn't need 6GB.  The latency on main memory for a GPU is horribly bad so bad that any process which needs random access to GPU main memory will be annihilated by a CPU in terms of performance.  GPU memory is designed to stream textures and as such it couples massive bandwidth with extreme latency.  Scrypt was designed to fill the L3 cache of a CPU.  The developers of alt-coins had to intentionally lower the memory requirements by 99% to make GPU competitive.  Yes Litecoin and clones use about 128KB of cache.  The MINIMUM memory requirement for Scrypt is 12MB.  It doesn't take 16GB.  Try it out yourself or check out various hacking forums the OpenCL performance for Scrypt (2^14, 8, 1) is beyond pathetic.  A cheap CPU will run circles around it.  

Of course this makes it optimal for botnets so maybe a higher memory requirement (say 4GB/8GB) may be an idea so that it requires a relatively high end computer.  Scrypt is configurable you can make the scratchpad as large as you want (even up to TB of space required). It would be trivial for enthusiast to add more memory/disk but I imagine the average botnet node is a relatively weak/older system.  The % which have 4/8GB or more of main memory are probably small.  One could even design the algorithm to become more memory hard over time (i.e. double memory requirement every 2 block years).
legendary
Activity: 2940
Merit: 1090
July 30, 2013, 09:46:51 PM
#23
I doubt botnet resistance is possible, unless you make it such that normal people can't take part with their PC. You want broader participation for a coin to have better chance of success.

The 1% are only 1%, that is not broad.

Appeal to the starving, the children, the outcaste, make it unappealing to the rich, the well fed, the well-to-do at first, so that its appeal to them ends up coming from how many millions of people they can sell their howerver they got rich well fed etc to by adopting this currency that all those potential customers, who are currently ignored due to having no money, can become customers by means of once they have been given money by this method of giving money only to those who so desperately need it that they are willing to sit down 16 hours a day doing Turing Tests, or whatever...

-MarkM-
sr. member
Activity: 274
Merit: 250
July 30, 2013, 09:40:57 PM
#22
I doubt botnet resistance is possible, unless you make it such that normal people can't take part with their PC. You want broader participation for a coin to have better chance of success.
legendary
Activity: 2940
Merit: 1090
July 30, 2013, 09:36:02 PM
#21
Separate securing the network/ledgers/transactions from handing out minted coins.

The securing part should be as low energy as possible, maybe do it like Ripple claims to, if nothing else maybe you'll help discover a flaw in Ripple's proposed method.

For handing out coins, employ people. Rich folk can hire people, true, but at least that creates jobs.

Because really the whole CPU vs GPU vs FPGA vs ASIC is rooted in people, not in hardware at all. It is all about the politics sociology etc of who profits from the hardware, who has easy access to it and such, not about the hardware itself per se.

-MarkM-
member
Activity: 99
Merit: 10
July 30, 2013, 09:28:16 PM
#20
I sympathize with the concept, but making things harder just for the sake of it seems counterproductive. So many wasted cycles & electricity. Id like to see more coins that do useful work, like Primecoin, creating a social value while doing work. I don't care if it's just calculating a big fractal or something, but I'd like to see all these resources devoted to something real.
Seems counterproductive in your explained view. Don't get me wrong: I like the idea of actually producing anything 'useful' with the hashing power like your mentioned primecoin is doing (i'm mining XPM btw). But besides that it's still about getting coins out of mining and we don't want certain people to have an advantage against others in that game. Therefore a CPU friendly (and of course 'botnet/server farm' resistant) coin may is the right way to go. We would love to include calculations in the proof of work algorithm that brings what you have called 'a social value' but we don't want to loose the mentioned focus in it. If it somehow can be combined, just let me know..
newbie
Activity: 15
Merit: 0
July 30, 2013, 08:42:10 PM
#19
I sympathize with the concept, but making things harder just for the sake of it seems counterproductive. So many wasted cycles & electricity. Id like to see more coins that do useful work, like Primecoin, creating a social value while doing work. I don't care if it's just calculating a big fractal or something, but I'd like to see all these resources devoted to something real.
full member
Activity: 231
Merit: 100
July 30, 2013, 08:18:43 PM
#18
It's new to me that with the default values it's truly GPU resistant. As far as I understand, it's not that the operations aren't hard to be done by GPUs itself, it's just that enough memory is necessary for a certain scrypt hashing (depending on the used values of course). So with enough RAM a GPU should outperform CPUs like they do it on SHA256, no matter what variable values are used. Correct me if I'm wrong.

Unless people start making custom boards for their GPUs (and RAM for GPUs is very expensive), high RAM usage is the way of making parallelization difficult.

Scrypt's RAM usage grows linearly with the number of rounds. Each round requires roughly 128 bytes of RAM (with block size parameter and parallelization
 parameters set to 1), so Litecoin's 1024 rounds require 128 KiB. Bump the number of rounds to 10478576 and it will require 128 MiB. A 7970 video card with 2048 shaders but only 3 GiB of RAM could only use 24 of its shaders.

Most important question is WHY? Why would you design a coin that would be botnet friendly and ASIC resistant?
Every coin so far is botnet friendly. Read this: http://www.reddit.com/r/IAmA/comments/sq7cy/iama_a_malware_coder_and_botnet_operator_ama/
I imagine a botnet resistant coin to be a big success.
+1 GPU coins aren't resistant to botnets so this is nothing different. I hope that the coin has rather unique things that will make it stand out from the rest  Cool

Meh. Every computer has a CPU, but only a tiny fraction of them have dedicated GPUs.

Anyway: I think you guys are missing the point here. For getting a pure proof of work mechanism done there is no need for an enc/dec function like scrypt. It can be done with simple hashing (what we are looking for). Of course it's interesting to see how scrypt makes the processing cache intense and it may be something we should include in our hashing function too.

While scrypt uses Salsa20/8 (an encryption algorithm), scrypt itself is not reversible and, therefore, not encryption. Scrypt is designed as a key derivation function and can be used as a deliberately slow hashing function.
member
Activity: 99
Merit: 10
July 30, 2013, 07:34:39 PM
#17
Right, the lcache is used in scrypt. Reading to and writing from the RAM would be too time intense. So forcing the process to use enough memory does it make harder for GPUs,FPGAs,ASICs to outperfom the lower processors. Anyway: I think you guys are missing the point here. For getting a pure proof of work mechanism done there is no need for an enc/dec function like scrypt. It can be done with simple hashing (what we are looking for). Of course it's interesting to see how scrypt makes the processing cache intense and it may be something we should include in our hashing function too. The GPU resistance should not only depend on simply high memory usage. We should have a hashing function that includes several different ways to make it CPU friendly. The question is still the same: Anything else than radix sort we should include?

Related to the botnet and co resistance I've already mentioned that this is a topic for later. Having a good enough hashing function has to be done first. It's about getting this done step by step. Don't expect another useless altcoin that just clones an existing one with little changes in it.
donator
Activity: 1274
Merit: 1060
GetMonero.org / MyMonero.com
July 30, 2013, 03:06:07 PM
#16
You could make it a QtGui only app which would eliminate running from a console (as much as I hate the sound of that).
Of course, someone competent could just code in a daemon after the fact...

Most botnets have complete access to Windows machines; running a windowed application completely hidden is a trivial exercise.
sr. member
Activity: 826
Merit: 250
CryptoTalk.Org - Get Paid for every Post!
July 30, 2013, 02:38:56 PM
#15
While bot nets are a moral issue (other people are having their electricity bills increased and their hardware lifespans shortened), this is really no difference on a macro-monetary scale.  Bot nets have a defined cost per Mega Hash and owning your own mining equipment has an amortized cost per Mega Hash.  So your still expending USD resource to create coins which is all that the economics of mining care about.
full member
Activity: 186
Merit: 100
July 30, 2013, 02:34:52 PM
#14
Some of you like to see an altcoin that is truly GPU,FGPA,ASIC resistant. We would like to see such a coin too so we have started experimenting. We are working on the hashing function right now. It's radix sort based. We use 64 random numbers between 10000 and 75536 (16^4+10k). This 512 char long decimal number is the 'key'. (If we subtract the 10k on each number block and convert it to hex, it's a 256 long hex string in total [or in other words: 1024 bits].) We then change each number block with a specific simple math function and radix sort them by LSD. This gives us a 'hash' (same structure as 'key'). Using a difficulty is already in place. The above explained process for getting a hash out of a key is also depending on the difficulty. The higher the difficulty the more often the hashing has to be done before getting back a hash (simply said). Validating a hash is based on simple math functions depending on the difficulty. The higher the difficulty the less hashes are valid (simply speaking).

I just want to make sure we are on the right track with this.

Possible improvements: I would like to implement tacotime's mentioned tree search algorithm in topic 64239. But it has to be implemented in a way the search is mandatory and that's very hard to do. We may also should use radix sort MSD and LSD instead of LSD only. What do you think?

Do you have any idea what we should change/add to the hashing function?

Hash, LSD... MSD I never heard of but presumably you should throw a crack | into the mix or something. Will this be traded on sr? Not sure I like this.
legendary
Activity: 2674
Merit: 2965
Terminated.
July 30, 2013, 02:14:16 PM
#13
Most important question is WHY? Why would you design a coin that would be botnet friendly and ASIC resistant?
Every coin so far is botnet friendly. Read this: http://www.reddit.com/r/IAmA/comments/sq7cy/iama_a_malware_coder_and_botnet_operator_ama/
I imagine a botnet resistant coin to be a big success.
+1 GPU coins aren't resistant to botnets so this is nothing different. I hope that the coin has rather unique things that will make it stand out from the rest  Cool
hero member
Activity: 802
Merit: 1003
GCVMMWH
July 30, 2013, 12:48:52 PM
#12
Just throwing it out there: what about server farm resistant or bot net resistant?
We are aware of that but it's difficult to truly achieve it. You can't just implement some IP restrictions and think it's done. There is much more about this to do. It's a point for later. First of all we want to get the hash function CPU 'friendly'. Any other 'restrictions' will be included after that.

You could make it a QtGui only app which would eliminate running from a console (as much as I hate the sound of that).
Of course, someone competent could just code in a daemon after the fact...
hero member
Activity: 756
Merit: 501
July 30, 2013, 11:47:39 AM
#11
Most important question is WHY? Why would you design a coin that would be botnet friendly and ASIC resistant?
Every coin so far is botnet friendly. Read this: http://www.reddit.com/r/IAmA/comments/sq7cy/iama_a_malware_coder_and_botnet_operator_ama/
I imagine a botnet resistant coin to be a big success.
full member
Activity: 166
Merit: 100
July 30, 2013, 11:45:56 AM
#10
Most important question is WHY? Why would you design a coin that would be botnet friendly and ASIC resistant?
Pages:
Jump to: