ThePiachu (OP)
|
|
October 23, 2012, 05:39:48 AM |
|
VanityPool still lists 1Private but refuses to accept solutions (one of my rig found the solution and all of the ones I pointed at VanityPool tried to submit new ones several times).
I am sorry to hear that. Did you double check that the solution is correct? There have been cases of the miner coming up with incorrect answers. You can check your answer here: gobittest.appspot.com . I will look into the issue.
|
|
|
|
ThePiachu (OP)
|
|
October 23, 2012, 06:14:33 AM |
|
I wrote a "bounty calculator" to help users decide what bounty to set on a new piece of work. The idea is that the value of your new work should be just higher than the current highest valued work, but not higher than it needs to be, in order to put it at the front of the line. I explained it on the page:
Looks promising! A question for ThePiachu, what is the lowest bounty you can set for new work?
0.1BTC, and please keep in mind that the Pool keeps 20% of the bounties, so the final reward will be 80% of the initial reward.
|
|
|
|
DeaDTerra
Donator
Legendary
Offline
Activity: 1064
Merit: 1000
|
|
October 23, 2012, 09:02:29 AM |
|
I wrote a "bounty calculator" to help users decide what bounty to set on a new piece of work. The idea is that the value of your new work should be just higher than the current highest valued work, but not higher than it needs to be, in order to put it at the front of the line. I explained it on the page:
Looks promising! A question for ThePiachu, what is the lowest bounty you can set for new work?
0.1BTC, and please keep in mind that the Pool keeps 20% of the bounties, so the final reward will be 80% of the initial reward. According to the bounty calculator almost all off the current work is under priced by a lot, does this mean that it's not actually worth "mining" for keys at the moment? //DeaDTerra
|
|
|
|
ThePiachu (OP)
|
|
October 23, 2012, 09:25:23 AM |
|
According to the bounty calculator almost all off the current work is under priced by a lot, does this mean that it's not actually worth "mining" for keys at the moment? //DeaDTerra
Well, a lot of the work has a low bounty in comparison to its complexity, but since there is a lot of work for a single public key, the expected reward is higher. I will be addressing the pricing issue probably within a week or two. I'm planning to give the users three prices: one to put their work on top, one that is fair, and one that is minimal and is some fraction of fair. The last option is mainly for people submitting more than one work. Please test it out and let me know how it works for you!
A quick question - how do you calculate the difficulty? For example, pattern 12 has a difficulty of 23, while 1a - 1353 . Is there any reason for that?
|
|
|
|
slush
Legendary
Offline
Activity: 1386
Merit: 1097
|
|
October 23, 2012, 10:51:35 AM |
|
Feature request:
Possibility to request more prefixes for one public key and do not offer one price for every prefix, but one price for any solution (which comes first). For example I want some nice personal address and it can be 1slush or 1marek, but I don't need both of them. When pool is able to stop searching for other prefix when one has been already found, user can offer higher reward per GKey...
Afaik this can be done pretty easily; miner search for more prefixes with the same pubkey already. So it's "only" change of the pool, to hide other works when first one has been solved, plus use shared reward per pubkey, not per prefix.
Please correct me if it won't work for some reason...
|
|
|
|
ThePiachu (OP)
|
|
October 23, 2012, 11:14:16 AM |
|
Feature request:
Possibility to request more prefixes for one public key and do not offer one price for every prefix, but one price for any solution (which comes first). For example I want some nice personal address and it can be 1slush or 1marek, but I don't need both of them. When pool is able to stop searching for other prefix when one has been already found, user can offer higher reward per GKey...
Afaik this can be done pretty easily; miner search for more prefixes with the same pubkey already. So it's "only" change of the pool, to hide other works when first one has been solved, plus use shared reward per pubkey, not per prefix.
Please correct me if it won't work for some reason...
I guess it would work, but the implementation could be a bit more tricky. Then again, you can put both requests up, offer each of them half of the reward and proceed anyway. The miners will look for both anyway, and they will prioritise the pair just the same. And on the plus side, you will (eventually) get both of the addresses. I'm not sure if I my logic is 100% correct, but I think the answer is about right.
|
|
|
|
slush
Legendary
Offline
Activity: 1386
Merit: 1097
|
|
October 23, 2012, 11:57:28 AM |
|
Except that total BTC per GKey for miners will be lower, because miners need to keep hashing to get whole reward; although that user don't care about next results. But it was just an idea and I understand it may be a bit tricky to implement.
|
|
|
|
ThePiachu (OP)
|
|
October 23, 2012, 12:29:26 PM |
|
Except that total BTC per GKey for miners will be lower, because miners need to keep hashing to get whole reward; although that user don't care about next results. But it was just an idea and I understand it may be a bit tricky to implement.
Hmm, I guess you are right. The apparent reward would be twice as big in your scenario. I guess I might implement it down the road as some regular expression thing. Then you would specify two patterns as alternatives and yeah. But that will probably be somewhere down the road from now.
|
|
|
|
gyverlb
|
|
October 23, 2012, 12:58:18 PM |
|
VanityPool still lists 1Private but refuses to accept solutions (one of my rig found the solution and all of the ones I pointed at VanityPool tried to submit new ones several times).
I am sorry to hear that. Did you double check that the solution is correct? There have been cases of the miner coming up with incorrect answers. You can check your answer here: gobittest.appspot.com . I will look into the issue. I don't have traces left, but I got paid for 3 solutions yesterday and I think one of them was 1Private (at least it was shown accepted in the miner's output).
|
|
|
|
fizzisist
|
|
October 23, 2012, 04:30:27 PM |
|
A question for ThePiachu, what is the lowest bounty you can set for new work?
0.1BTC, and please keep in mind that the Pool keeps 20% of the bounties, so the final reward will be 80% of the initial reward. Ok, thank you. I didn't know that the pool kept 20% of the bounty. That certainly needs to be included in the bounty calculator. Any plans to lower the bounty? This would be especially good in light of the discussion about multiple patterns for a single public key. Speaking of, I don't think this statement is correct: Except that total BTC per GKey for miners will be lower, because miners need to keep hashing to get whole reward; although that user don't care about next results. But it was just an idea and I understand it may be a bit tricky to implement.
The "value" of the work being done is still the sum of the values of all work being simultaneously searched for. The difficulty of the work is reduced when you add additional acceptable patterns. Imagine a dice game where the house will pay if you roll a specific number. Put in terms of the vanity address search, here is a possible "piece of work:" Goal: roll a 5 Difficulty: 6 Reward: 1 BTC Value: 1/6 = 0.1667 BTC/roll Now, imagine they offer two rewards: Goal A: roll a 5 Difficulty A: 6 Reward A: 0.8 BTC Value A: 0.8/6 = 0.1333 BTC/roll Goal B: roll a 2 Difficulty B: 6 Reward B: 0.2 BTC Value B: 0.2/6 = 0.0333 BTC/roll The total value of rolling the die at any time is equal to Value A + Value B = 0.1337 BTC/roll. You can calculate it another way, if you don't believe that: Goal: roll a 2 or a 5 Difficulty: 3 Reward: 0.8/2 + 0.2/2 (50% chance you'll get either one of the rewards in 3 rolls) = 0.5 BTC Value: 0.5/3 = 0.1667 BTC/roll In fact, you could add a third goal with zero reward and it would still be worth your time to roll the die! In reality, though, adding that third goal adds slightly more difficulty to the problem, because you need to add that to the list of patterns to be checked, and submitting the solution isn't free. For this reason I would impose some minimum bounty for a new pattern, albeit much less than 0.1 BTC. In summary, adding an additional pattern lowers the total difficulty of the work. The miner does not need to keep hashing to get the full reward: they found the reward earlier since the difficulty was lower.
|
|
|
|
fizzisist
|
|
October 23, 2012, 04:41:17 PM |
|
Please test it out and let me know how it works for you!
A quick question - how do you calculate the difficulty? For example, pattern 12 has a difficulty of 23, while 1a - 1353 . Is there any reason for that? The difficulty is calculated with the same algorithm oclvanityminer uses. I first used a simple command line tool I built that just calls the vg_prefix_get_difficulty() function from vanitygen. Then, BkkCoins released a nice python wrapper for the function, so I switched over to that. I believe the discrepancy here has to do with the intricacies of bitcoin's funky base58 encoding. I haven't looked into it closely, but whatever the reason, the number of valid keys that must be searched in either case is different. I'm tempted to look into it, but I really should be working on other things.
|
|
|
|
fizzisist
|
|
October 23, 2012, 05:04:08 PM |
|
I updated the calculator to take into account the 0.1 BTC minimum and the 20% fee. The Piachu, I'm surprised to see these so high. Any plans to lower them? I would also suggest saying something about the fee on the "request a vanity address" page.
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
October 23, 2012, 05:15:50 PM |
|
What is the difference in performance is on average? We should probably be calculating both of these options, with another ratio factor. The client should decide which method to use. This could become important when scaling up, if there is a lot of available work from different pubkeys.
I have no idea what the difference in performance is, as I don't think anyone has implemented the other method yet. However, I'm afraid it might be dependant on the amount of keys to check. I will add the columns in. Cool. I added mine to the table. If anyone has data for their hardware and doesn't feel like editing the wiki, please at least post here! I've added my 5770 to the wiki page. Shouldn't all our key-speeds be in the "Additive" column though? As far as I've understood (public key point) addition is what's in use now, and (private key) multiplication hasn't been implemented (but should be faster): There are two ways to do this but one takes less steps inside the time critical loop so would take less time to compute each trial:
Public key addition (described above) steps
1) Generate new key pair 2) Add the generated public key to the provided public key 3) Hash and test 4) If not the vanity address match go to step 1)
Private key multiplication (described elsewhere) steps
0) Set the starting point of all key generation to the provided public key (instead of the normal point G) 1) Generate new key pair 2) Hash and test 3) If not the vanity address match go to step 1)
See how method 1) requires a larger modification to the vanity generation loop and adds a large computational step, point (public key) addition defined over the eliptical curve, into the time critical loop?
I believe that method 2) would run much faster.
After the vanity address is found the only difference between the two methods is that in method 1) the final private key is the modulo sum of the two private keys where as in method 2) is is the modulo product of the two private keys.
|
|
|
|
ThePiachu (OP)
|
|
October 23, 2012, 05:45:09 PM |
|
I updated the calculator to take into account the 0.1 BTC minimum and the 20% fee. The Piachu, I'm surprised to see these so high. Any plans to lower them? I would also suggest saying something about the fee on the "request a vanity address" page. I do plan to lower it once the Pool has a proper bounty system proportional to the complexity and some traffic. For now I'm still operating at a loss. Shouldn't all our key-speeds be in the "Additive" column though?
I guess I might be wrong, but as far as I remember the oclvanityminer was using the multiplicative method. Guess I'll have to look into that.
|
|
|
|
fizzisist
|
|
October 23, 2012, 07:19:18 PM |
|
I updated the calculator to take into account the 0.1 BTC minimum and the 20% fee. The Piachu, I'm surprised to see these so high. Any plans to lower them? I would also suggest saying something about the fee on the "request a vanity address" page. I do plan to lower it once the Pool has a proper bounty system proportional to the complexity and some traffic. For now I'm still operating at a loss. Ok, looking forward to it! A side note: I think you should avoid the terms complexity and lavishness and instead stick with difficulty and value. These terms have already been established by vanitygen and users are accustomed to them at this point. I don't think it would be worth it to try to redefine them. Furthermore, in my opinion, difficulty and value are perfectly descriptive of the quantities they represent, and complexity and lavishness are less descriptive.
|
|
|
|
fizzisist
|
|
October 23, 2012, 08:34:31 PM |
|
Shouldn't all our key-speeds be in the "Additive" column though?
I guess I might be wrong, but as far as I remember the oclvanityminer was using the multiplicative method. Guess I'll have to look into that. I'm 100% sure oclvanityminer is searching for patterns belonging to only a single public key at once, and this implies the multiplicative method (if I understand correctly). Still, I don't know if it is actually using that method.
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
October 23, 2012, 09:37:10 PM |
|
I'm not sure either, I don't understand the code. I see references to both EC_POINT_add, BN_mul, and EC_POINT_mul, and I can't quite figure which is used for what. The method that is described in the first post of this thread is addition, at least. I just assumed that BurtW's post later in the thread was a suggestion on how to speed up the generation. Here he suggests multiplication of the private keys as a speedup. [...] A person takes with looking for the vanity address is required to brute force random ECDSA private keys, get their corresponding public keys, add them to the provided public key, and proceed normally with SHA, RIPEMD and base58 until they receive the desired pattern. [...]
There are two ways to do this but one takes less steps inside the time critical loop so would take less time to compute each trial:
Public key addition (described above) steps
1) Generate new key pair 2) Add the generated public key to the provided public key 3) Hash and test 4) If not the vanity address match go to step 1)
Private key multiplication (described elsewhere) steps
0) Set the starting point of all key generation to the provided public key (instead of the normal point G) 1) Generate new key pair 2) Hash and test 3) If not the vanity address match go to step 1)
See how method 1) requires a larger modification to the vanity generation loop and adds a large computational step, point (public key) addition defined over the eliptical curve, into the time critical loop?
I believe that method 2) would run much faster.
After the vanity address is found the only difference between the two methods is that in method 1) the final private key is the modulo sum of the two private keys where as in method 2) is is the modulo product of the two private keys.
|
|
|
|
gyverlb
|
|
October 23, 2012, 09:44:10 PM |
|
VanityPool still lists 1Private but refuses to accept solutions (one of my rig found the solution and all of the ones I pointed at VanityPool tried to submit new ones several times).
I am sorry to hear that. Did you double check that the solution is correct? There have been cases of the miner coming up with incorrect answers. You can check your answer here: gobittest.appspot.com . I will look into the issue. I don't have traces left, but I got paid for 3 solutions yesterday and I think one of them was 1Private (at least it was shown accepted in the miner's output). Transaction 9ac1cabecb652a8d74569a8ba2413e7b75b3083a1c9ac90c39dc6d83eb57cd45 just paid for the 1vanity bounty (seeing it accepted in the HTML on the miner's output right now). But 1vanity from 1CXUwsY6pcMAV3iqwovq4Vesh24bBeecTp is still listed as available for 0.0796 BTC on vanitypool and http://fizzisist.com/mining-value/api/vanitypool-value-mult seems to see it too as the expected value matches what my miners are reporting.
|
|
|
|
Otoh
Donator
Legendary
Offline
Activity: 3108
Merit: 1166
|
|
October 23, 2012, 09:53:57 PM |
|
VanityPool still lists 1Private but refuses to accept solutions (one of my rig found the solution and all of the ones I pointed at VanityPool tried to submit new ones several times).
I am sorry to hear that. Did you double check that the solution is correct? There have been cases of the miner coming up with incorrect answers. You can check your answer here: gobittest.appspot.com . I will look into the issue. That's one of my bounties & hasn't been sent to me as solved as yet.
|
|
|
|
fizzisist
|
|
October 24, 2012, 01:48:17 AM |
|
VanityPool still lists 1Private but refuses to accept solutions (one of my rig found the solution and all of the ones I pointed at VanityPool tried to submit new ones several times).
I am sorry to hear that. Did you double check that the solution is correct? There have been cases of the miner coming up with incorrect answers. You can check your answer here: gobittest.appspot.com . I will look into the issue. I don't have traces left, but I got paid for 3 solutions yesterday and I think one of them was 1Private (at least it was shown accepted in the miner's output). Transaction 9ac1cabecb652a8d74569a8ba2413e7b75b3083a1c9ac90c39dc6d83eb57cd45 just paid for the 1vanity bounty (seeing it accepted in the HTML on the miner's output right now). But 1vanity from 1CXUwsY6pcMAV3iqwovq4Vesh24bBeecTp is still listed as available for 0.0796 BTC on vanitypool and http://fizzisist.com/mining-value/api/vanitypool-value-mult seems to see it too as the expected value matches what my miners are reporting. Yep, that work has been solved, but it is still listed (I submitted this pattern, in fact). Something is definitely wrong. An interesting clue in the add/mult question: that page lists it as an additive solution. Was that solved with oclvanityminer? Am I just totally misunderstanding the method? Could oclvanityminer be using the additive method but still not searching the entire set of available work? Does the method even limit the number of patterns it could be searching for at the same time? We need someone who understands the method more clearly to come explain this. Unfortunately, I probably need to dig into the math...
|
|
|
|
|