|
samr7
Full Member
Offline
Activity: 140
Merit: 430
Firstbits: 1samr7
|
|
October 24, 2012, 07:35:37 AM |
|
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.
There have been a lot of questions lately about additive vs. multiplicative, and how they work in oclvanitygen/oclvanityminer. I'll try to answer them. Oclvanityminer uses the additive method: - Generate a random partial private key
- Calculate the associated partial public key
- Add the base public key to the partial public key to get the test public key
- Generate a large batch (~1M) of sequential addresses by successively adding the generator point to the test public key, and converting the points to addresses
- If a match is found, report the partial private key plus the number of times the test public key was incremented. Otherwise, repeat the previous step
Sequential public keys in this scheme are generated by successively adding the generator point to the test public key. In the multiplicative method, we would skip adding the base public key to the test key at the start, and use the base public key as the increment instead of the generator point. If anyone really wants to use the multiplicative method instead, it's possible to modify oclvanityminer to do this by changing maybe 5-10 lines of code. The performance difference would be negligible. You are correct that oclvanityminer will search for addresses belonging to a single public key at a time. I'm not sure how additive vs. multiplicative makes a difference in the ability to concurrently search for patterns using different base public keys. For that matter, I'm not quite sure how to efficiently search for multiple patterns with different base public keys in the first place.
|
|
|
|
ThePiachu (OP)
|
|
October 24, 2012, 08:26:14 AM |
|
Thanks for the clarification samr7.
I edited the wiki accordingly.
|
|
|
|
Otoh
Donator
Legendary
Offline
Activity: 3052
Merit: 1110
|
|
October 24, 2012, 09:08:42 AM |
|
@fizzisist many thanks for the 1Private solution link
|
|
|
|
gyverlb
|
|
October 24, 2012, 09:22:56 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? [...] Yes it was.
|
|
|
|
molecular
Donator
Legendary
Offline
Activity: 2772
Merit: 1019
|
|
October 24, 2012, 01:23:45 PM |
|
heyja, cool pool!
I'm mining and I also inserted a job (for '1MoLeCuLaR'). I payed BTC 0.15 to address 193qKiLHKQK3LADCzNea9z26DZnd22rPRC as instructed, tx_id: 71c2b2da04087b03813b79e41f663c9a44f999d04b533aa9f98c0f34add7a2bf
page still says "Status: Work is awaiting payment" (19 confirmations).
what up?
|
PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0 3F39 FC49 2362 F9B7 0769
|
|
|
ThePiachu (OP)
|
|
October 24, 2012, 01:28:37 PM |
|
heyja, cool pool!
I'm mining and I also inserted a job (for '1MoLeCuLaR'). I payed BTC 0.15 to address 193qKiLHKQK3LADCzNea9z26DZnd22rPRC as instructed, tx_id: 71c2b2da04087b03813b79e41f663c9a44f999d04b533aa9f98c0f34add7a2bf
page still says "Status: Work is awaiting payment" (19 confirmations).
what up?
Hmm, that's odd. I think I'll have to fix that after work. Sorry about the inconvenience.
|
|
|
|
molecular
Donator
Legendary
Offline
Activity: 2772
Merit: 1019
|
|
October 24, 2012, 01:31:45 PM |
|
heyja, cool pool!
I'm mining and I also inserted a job (for '1MoLeCuLaR'). I payed BTC 0.15 to address 193qKiLHKQK3LADCzNea9z26DZnd22rPRC as instructed, tx_id: 71c2b2da04087b03813b79e41f663c9a44f999d04b533aa9f98c0f34add7a2bf
page still says "Status: Work is awaiting payment" (19 confirmations).
what up?
Hmm, that's odd. I think I'll have to fix that after work. Sorry about the inconvenience. don't worry, thanks for great service
|
PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0 3F39 FC49 2362 F9B7 0769
|
|
|
molecular
Donator
Legendary
Offline
Activity: 2772
Merit: 1019
|
|
October 24, 2012, 01:51:44 PM |
|
Just saving https://www.bitaddress.org ("save page as") and opening that local file in browser seems to work fine for me.
|
PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0 3F39 FC49 2362 F9B7 0769
|
|
|
fizzisist
|
|
October 24, 2012, 05:45:07 PM |
|
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.
There have been a lot of questions lately about additive vs. multiplicative, and how they work in oclvanitygen/oclvanityminer. I'll try to answer them. Oclvanityminer uses the additive method: - Generate a random partial private key
- Calculate the associated partial public key
- Add the base public key to the partial public key to get the test public key
- Generate a large batch (~1M) of sequential addresses by successively adding the generator point to the test public key, and converting the points to addresses
- If a match is found, report the partial private key plus the number of times the test public key was incremented. Otherwise, repeat the previous step
Sequential public keys in this scheme are generated by successively adding the generator point to the test public key. In the multiplicative method, we would skip adding the base public key to the test key at the start, and use the base public key as the increment instead of the generator point. If anyone really wants to use the multiplicative method instead, it's possible to modify oclvanityminer to do this by changing maybe 5-10 lines of code. The performance difference would be negligible. You are correct that oclvanityminer will search for addresses belonging to a single public key at a time. I'm not sure how additive vs. multiplicative makes a difference in the ability to concurrently search for patterns using different base public keys. For that matter, I'm not quite sure how to efficiently search for multiple patterns with different base public keys in the first place. Thank you for the explanation! I updated the wording on my site so hopefully it is all correct now.
|
|
|
|
|
runeks
Legendary
Offline
Activity: 980
Merit: 1008
|
|
October 24, 2012, 08:31:39 PM |
|
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.
There have been a lot of questions lately about additive vs. multiplicative, and how they work in oclvanitygen/oclvanityminer. I'll try to answer them. Oclvanityminer uses the additive method: - Generate a random partial private key
- Calculate the associated partial public key
- Add the base public key to the partial public key to get the test public key
- Generate a large batch (~1M) of sequential addresses by successively adding the generator point to the test public key, and converting the points to addresses
- If a match is found, report the partial private key plus the number of times the test public key was incremented. Otherwise, repeat the previous step
Sequential public keys in this scheme are generated by successively adding the generator point to the test public key. In the multiplicative method, we would skip adding the base public key to the test key at the start, and use the base public key as the increment instead of the generator point. If anyone really wants to use the multiplicative method instead, it's possible to modify oclvanityminer to do this by changing maybe 5-10 lines of code. The performance difference would be negligible. As far as I can gather, your method is much faster than the method proposed by BurtW. You only do EC point addition (and hashing) in the CL kernel, right? BurtW's proposal looks like it includes public key generation in the kernel/loop, which would involve point multiplication (this is slow). Could you elaborate on what you mean by "successively adding the generator point to the test public key" (step 4)? If "test public key" refers to the key generated in step 3, then repeatedly adding this key to the generator point of the curve would just yield the same point (and address). I assume "test public key" refers to one of the keys in the large batch of sequential public addresses (points)? How do you create the sequential addresses? So you just use the secp256k1 curve equation to isolate y, and then add 1, 2, 3, 4, etc. to the "test public key"'s x coordinate, and calculate y from this equation (using the secp256k1 parameters)? And increment x once for each time you want a new sequential point? You are correct that oclvanityminer will search for addresses belonging to a single public key at a time. I'm not sure how additive vs. multiplicative makes a difference in the ability to concurrently search for patterns using different base public keys. For that matter, I'm not quite sure how to efficiently search for multiple patterns with different base public keys in the first place.
It doesn't make a difference. To the best of this forums knowledge - as far as I can see - this requires non-trivial changes to the protocol, one being that the clients who want a vanity address calculated in the same batch as other client's addresses would need to submit their private key to the vanity miner upon request.
|
|
|
|
bitcoinhu
Newbie
Offline
Activity: 16
Merit: 0
|
|
October 25, 2012, 04:24:49 AM |
|
|
|
|
|
ThePiachu (OP)
|
|
October 25, 2012, 06:32:47 AM |
|
Sorry about that. The system is running on the cloud, meaning that sometimes data synchronisation can be a bother. At the moment there were two instances running, one was displaying correctly, the second one didn't notice the update. I'm already testing a fix for that issue, it should be up on the main version of the Pool in a couple hours. For now, I just had to resort to kicking the system manually so it would behave .
|
|
|
|
gyverlb
|
|
October 25, 2012, 12:04:00 PM |
|
Sorry about that. The system is running on the cloud, meaning that sometimes data synchronisation can be a bother. At the moment there were two instances running, one was displaying correctly, the second one didn't notice the update. I'm already testing a fix for that issue, it should be up on the main version of the Pool in a couple hours. For now, I just had to resort to kicking the system manually so it would behave . Please tell us when it's fixed. I've disabled vanitypool in my configurations: in the current state I lose money on it (0.16BTC for ~6GH/s worth of rigs in 24h...).
|
|
|
|
ThePiachu (OP)
|
|
October 25, 2012, 04:06:22 PM |
|
Please tell us when it's fixed. I've disabled vanitypool in my configurations: in the current state I lose money on it (0.16BTC for ~6GH/s worth of rigs in 24h...).
The fix is live. I hope it will work as intended.
|
|
|
|
fizzisist
|
|
October 25, 2012, 08:13:50 PM |
|
Please tell us when it's fixed. I've disabled vanitypool in my configurations: in the current state I lose money on it (0.16BTC for ~6GH/s worth of rigs in 24h...).
The fix is live. I hope it will work as intended. How many confirmations do you require before a new pattern is available? I submitted this one and the bounty payment has 8 confirmations, but the work is still "awaiting payment." I'm hoping to be watching near the moment the work switches over to "available" because I'm testing out a new feature for oclvanityminer that allows you to set a minimum value to mine for, otherwise put oclvanityminer in a sleeping state. This could make it possible to automatically switch to mining vanity addresses whenever it is more valuable than bitcoin mining (right now it isn't)... If anyone wants to try it out, feel free to try my fork: https://github.com/fizzisist/vanitygen
|
|
|
|
fizzisist
|
|
October 25, 2012, 08:50:30 PM |
|
Please tell us when it's fixed. I've disabled vanitypool in my configurations: in the current state I lose money on it (0.16BTC for ~6GH/s worth of rigs in 24h...).
The fix is live. I hope it will work as intended. How many confirmations do you require before a new pattern is available? I submitted this one and the bounty payment has 8 confirmations, but the work is still "awaiting payment." I'm hoping to be watching near the moment the work switches over to "available" because I'm testing out a new feature for oclvanityminer that allows you to set a minimum value to mine for, otherwise put oclvanityminer in a sleeping state. This could make it possible to automatically switch to mining vanity addresses whenever it is more valuable than bitcoin mining (right now it isn't)... If anyone wants to try it out, feel free to try my fork: https://github.com/fizzisist/vanitygen13 confirmations now... Looks like something went wrong with that fix.
|
|
|
|
|
fizzisist
|
|
October 25, 2012, 10:14:23 PM |
|
Sorry, I updated the url to just api/vanitypool-value after samr7's explanation yesterday. I forgot to set up a redirect for that one, and the old url just points to the old data (which is no longer being updated). Sorry about that!
|
|
|
|
|