nayrnayr1, on 15 February 2016 - 05:56 PM, said:
Krist - Minable currency that works across servers (paste updated)
#1221
Posted 15 February 2016 - 05:58 PM
#1222
#1224
#1225
Posted 15 February 2016 - 06:05 PM
#1226
Posted 15 February 2016 - 06:10 PM
bauen1, on 15 February 2016 - 06:05 PM, said:
Suggest this at the KLottery thread.
#1227
Posted 15 February 2016 - 06:22 PM
Tron, on 15 February 2016 - 05:42 PM, said:
Edit: Forgot to mention I got 8 MA/S when I used a 32 core AWS server.
GPUs are very good at doing the same thing on a lot of data. For example, if you have a list of numbers and you want to add 1 to each item in the list, on a CPU you would have to iterate over the entire array and add 1 each time. On a GPU, you can simply add 1 to the entire array almost simultaneously - each of the 1000+ cores on the GPU will add 1 to a specific item in the array.
One limitation, however, is that the cores have to be doing the same thing, just on different data. One core cannot be adding while the rest are multiplying. This is fine for things like mining, you're doing the exact same operations each time, on different data.
However, when generating krist addresses, there are variable length loops. This means that, for some addresses, it will take more iterations of the loops than others. This is VERY bad on a GPU - if one core needs to loop extra times, ALL the cores must stop and wait for it before moving on to the next address.
Additionally, graphics cards are EXTREMELY slow (compared to CPUs) when you are performing comparisons or branching - so if statements are very slow. And generating a v2 address requires 2 if statements and multiple comparisons.
And don't forget about double vaults either - they are much more secure than regular addresses.
Creator, on 15 February 2016 - 05:43 PM, said:
Well, you'd have to create the chips yourself and everything. Have fun with that.
Edited by apemanzilla, 15 February 2016 - 06:22 PM.
#1228
Posted 15 February 2016 - 06:31 PM
apemanzilla, on 15 February 2016 - 06:22 PM, said:
GPUs are very good at doing the same thing on a lot of data. For example, if you have a list of numbers and you want to add 1 to each item in the list, on a CPU you would have to iterate over the entire array and add 1 each time. On a GPU, you can simply add 1 to the entire array almost simultaneously - each of the 1000+ cores on the GPU will add 1 to a specific item in the array.
One limitation, however, is that the cores have to be doing the same thing, just on different data. One core cannot be adding while the rest are multiplying. This is fine for things like mining, you're doing the exact same operations each time, on different data.
However, when generating krist addresses, there are variable length loops. This means that, for some addresses, it will take more iterations of the loops than others. This is VERY bad on a GPU - if one core needs to loop extra times, ALL the cores must stop and wait for it before moving on to the next address.
Additionally, graphics cards are EXTREMELY slow (compared to CPUs) when you are performing comparisons or branching - so if statements are very slow. And generating a v2 address requires 2 if statements and multiple comparisons.
And don't forget about double vaults either - they are much more secure than regular addresses.
Secondly, until the protein is created all the GPU cores would do the same thing, and almost all addresses can be discarded after this step, any remaining addresses can be safely and quickly calculated by the CPU.
Edited by Tron, 15 February 2016 - 06:34 PM.
#1229
Posted 15 February 2016 - 06:43 PM
So if the work goes low enough that its better to mine for addresses (using cpu or gpu) we are gonna have a problem
Edited by bauen1, 15 February 2016 - 06:46 PM.
#1230
Posted 15 February 2016 - 06:50 PM
Tron, on 15 February 2016 - 06:31 PM, said:
apemanzilla, on 15 February 2016 - 06:22 PM, said:
GPUs are very good at doing the same thing on a lot of data. For example, if you have a list of numbers and you want to add 1 to each item in the list, on a CPU you would have to iterate over the entire array and add 1 each time. On a GPU, you can simply add 1 to the entire array almost simultaneously - each of the 1000+ cores on the GPU will add 1 to a specific item in the array.
One limitation, however, is that the cores have to be doing the same thing, just on different data. One core cannot be adding while the rest are multiplying. This is fine for things like mining, you're doing the exact same operations each time, on different data.
However, when generating krist addresses, there are variable length loops. This means that, for some addresses, it will take more iterations of the loops than others. This is VERY bad on a GPU - if one core needs to loop extra times, ALL the cores must stop and wait for it before moving on to the next address.
Additionally, graphics cards are EXTREMELY slow (compared to CPUs) when you are performing comparisons or branching - so if statements are very slow. And generating a v2 address requires 2 if statements and multiple comparisons.
And don't forget about double vaults either - they are much more secure than regular addresses.
Secondly, until the protein is created all the GPU cores would do the same thing, and almost all addresses can be discarded after this step, any remaining addresses can be safely and quickly calculated by the CPU.
The 'password' for double vaults is much longer than a normal address, however.
Additionally, on a GPU you would be generating somewhere in the realm of ~2000 krist addresses per cycle. The problem is that if any one of those addresses takes more loops than usual, ALL of the other cores have to stop and wait for it to finish. Not to mention there are a lot of comparisons and branching, which also slow down generation a lot.
There's also no 'string' object for GPUs. Minor inconvenience.
And finally, GPU code is an absolute pain in the arse. Difficult to write, difficult to debug, difficult to use, and extremely verbose. I would know as I had to write, from scratch, a SHA256 implementation in OpenCL. You're more than welcome to try to write an address cracker for the GPU, but I highly doubt you will get anything out of it. And in the end, it's just Krist.
Edited by apemanzilla, 15 February 2016 - 06:51 PM.
#1231
Posted 15 February 2016 - 07:00 PM
apemanzilla, on 15 February 2016 - 06:50 PM, said:
Additionally, on a GPU you would be generating somewhere in the realm of ~2000 krist addresses per cycle. The problem is that if any one of those addresses takes more loops than usual, ALL of the other cores have to stop and wait for it to finish. Not to mention there are a lot of comparisons and branching, which also slow down generation a lot.
There's also no 'string' object for GPUs. Minor inconvenience.
And finally, GPU code is an absolute pain in the arse. Difficult to write, difficult to debug, difficult to use, and extremely verbose. I would know as I had to write, from scratch, a SHA256 implementation in OpenCL. You're more than welcome to try to write an address cracker for the GPU, but I highly doubt you will get anything out of it. And in the end, it's just Krist.
Secondly, and I've mentioned this before, when brute forcing and address I'd assume you will not find the original password, but one that makes a collision with the real one, I've demonstrated a few posts back the collisions do exist with v2 addresses. Once your password is beyond ~20 characters the original doesn't really matter for brute forcing, what collides with the address does.
Finally, the GPU code would not really do more loops, the same code would be executed, an address cracker would likely save the final loop that determines placement of characters for addresses with a protein containing only characters that are in the address being cracked for the CPU.
Edited by Tron, 15 February 2016 - 07:08 PM.
#1232
Posted 15 February 2016 - 07:02 PM
Tron, on 15 February 2016 - 07:00 PM, said:
apemanzilla, on 15 February 2016 - 06:50 PM, said:
Additionally, on a GPU you would be generating somewhere in the realm of ~2000 krist addresses per cycle. The problem is that if any one of those addresses takes more loops than usual, ALL of the other cores have to stop and wait for it to finish. Not to mention there are a lot of comparisons and branching, which also slow down generation a lot.
There's also no 'string' object for GPUs. Minor inconvenience.
And finally, GPU code is an absolute pain in the arse. Difficult to write, difficult to debug, difficult to use, and extremely verbose. I would know as I had to write, from scratch, a SHA256 implementation in OpenCL. You're more than welcome to try to write an address cracker for the GPU, but I highly doubt you will get anything out of it. And in the end, it's just Krist.
Secondly, and I've mentioned this before, when brute forcing and address I'd assume you will not find the original password, but one that makes a collision with the real one, I've demonstrated a few posts back the collisions do exist with v2 addresses. Once your password is beyond ~20 characters the original doesn't really matter for brute forcing, what collides with the address does.
Finally, the GPU code would not really do more loops, the same code would be executed, an address cracker would likely save the final loop that determines placement of characters for addresses with a protein containing only characters that are in the address being cracked for the CPU.
Just want to point out that you said a GPU miner will never be created...
#1233
Posted 15 February 2016 - 07:08 PM
apemanzilla, on 15 February 2016 - 07:02 PM, said:
Tron, on 15 February 2016 - 07:00 PM, said:
apemanzilla, on 15 February 2016 - 06:50 PM, said:
Additionally, on a GPU you would be generating somewhere in the realm of ~2000 krist addresses per cycle. The problem is that if any one of those addresses takes more loops than usual, ALL of the other cores have to stop and wait for it to finish. Not to mention there are a lot of comparisons and branching, which also slow down generation a lot.
There's also no 'string' object for GPUs. Minor inconvenience.
And finally, GPU code is an absolute pain in the arse. Difficult to write, difficult to debug, difficult to use, and extremely verbose. I would know as I had to write, from scratch, a SHA256 implementation in OpenCL. You're more than welcome to try to write an address cracker for the GPU, but I highly doubt you will get anything out of it. And in the end, it's just Krist.
Secondly, and I've mentioned this before, when brute forcing and address I'd assume you will not find the original password, but one that makes a collision with the real one, I've demonstrated a few posts back the collisions do exist with v2 addresses. Once your password is beyond ~20 characters the original doesn't really matter for brute forcing, what collides with the address does.
Finally, the GPU code would not really do more loops, the same code would be executed, an address cracker would likely save the final loop that determines placement of characters for addresses with a protein containing only characters that are in the address being cracked for the CPU.
Just want to point out that you said a GPU miner will never be created...

Edited by Tron, 15 February 2016 - 07:13 PM.
#1234
Posted 15 February 2016 - 07:21 PM
Addresses which are generated using KVanity can also get generate again using KVanity, making it faster because it only uses some characters. (This is for addresses like yours (Your funds still "have" to go through your real address using a double vault, so an attacker could automatically check and transfer any money that gets in there.))
Edited by bauen1, 15 February 2016 - 07:23 PM.
#1235
Posted 15 February 2016 - 07:28 PM
bauen1, on 15 February 2016 - 07:21 PM, said:
Addresses which are generated using KVanity can also get generate again using KVanity, making it faster because it only uses some characters. (This is for addresses like yours (Your funds still "have" to go through your real address using a double vault, so an attacker could automatically check and transfer any money that gets in there.))
#1236
Posted 15 February 2016 - 07:33 PM
It also only uses A-Z and 0-9 for the password in the generation process.
Now use KVanity with
java -jar kvanity.jar -p k5ztameslfIt should produce the same results (and the same cpu cycle used).
Example explaining the above:
-- The Programm uses no random gen and when given a number for arg it will always produce the same output for the same argument print (arg + 1) -- This Programm uses a random generator and 'should' output different results for the same number for arg print (arg + math.random ())
For the geeks:
This also applies to most random generators, give it a seed and the output of the next random calculation is always the same
Edited by bauen1, 15 February 2016 - 07:39 PM.
#1237
Posted 15 February 2016 - 07:39 PM
Feeling generous:
k38gq88ehl
#1238
Posted 15 February 2016 - 07:45 PM
#1239
Posted 15 February 2016 - 07:53 PM
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











