goatpig
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 02:56:08 PM |
|
You still need a way to get work at a specific difficulty and for a specific public key
You'd be feeding that work to yourself. The public key and difficulty are broadcasted by the pool.
|
|
|
|
BitterTea
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:05:40 PM |
|
But currently there is no way to tell bitcoind to give you work of a specific difficulty and for a specific public key.
|
|
|
|
goatpig
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:27:04 PM |
|
But currently there is no way to tell bitcoind to give you work of a specific difficulty and for a specific public key.
This is why it would be better to come up with a class independent of bitcoind, that will create the block header and provide the work on its own. This prevents modifications to the core elements while it allows to: 1) Skip bitcoind entirely for pool miners as it is done right now. Keeping things simple is always a plus. It also ensures miners aren't nodes in the network, as it is now. 2) Simply have the miners getwork() from that class, let's say as a COM object. Then as said before, the class can determine pool version and outright bypass its main functions if it is dealing with a classic pool, or provide the work as a modded pool would need it to. This allows miner developers to easily implement the change, while keeping it independent from further improvement related to pure number crunching.
|
|
|
|
cuddlefish (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:29:03 PM |
|
But currently there is no way to tell bitcoind to give you work of a specific difficulty and for a specific public key.
This is why it would be better to come up with a class independent of bitcoind, that will create the block header and provide the work on its own. This prevents modifications to the core elements while it allows to: 1) Skip bitcoind entirely for pool miners as it is done right now. Keeping things simple is always a plus. It also ensures miners aren't nodes in the network, as it is now. 2) Simply have the miners getwork() from that class, let's say as a COM object. Then as said before, the class can determine pool version and outright bypass its main functions if it is dealing with a classic pool, or provide the work as a modded pool would need it to. This allows miner developers to easily implement the change, while keeping it independent from further improvement related to pure number crunching. then who collects the transactions?
|
|
|
|
goatpig
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:30:32 PM |
|
But currently there is no way to tell bitcoind to give you work of a specific difficulty and for a specific public key.
This is why it would be better to come up with a class independent of bitcoind, that will create the block header and provide the work on its own. This prevents modifications to the core elements while it allows to: 1) Skip bitcoind entirely for pool miners as it is done right now. Keeping things simple is always a plus. It also ensures miners aren't nodes in the network, as it is now. 2) Simply have the miners getwork() from that class, let's say as a COM object. Then as said before, the class can determine pool version and outright bypass its main functions if it is dealing with a classic pool, or provide the work as a modded pool would need it to. This allows miner developers to easily implement the change, while keeping it independent from further improvement related to pure number crunching. then who collects the transactions? The pool, who else? The header is created with the pool's address.
|
|
|
|
cuddlefish (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:35:01 PM |
|
But currently there is no way to tell bitcoind to give you work of a specific difficulty and for a specific public key.
This is why it would be better to come up with a class independent of bitcoind, that will create the block header and provide the work on its own. This prevents modifications to the core elements while it allows to: 1) Skip bitcoind entirely for pool miners as it is done right now. Keeping things simple is always a plus. It also ensures miners aren't nodes in the network, as it is now. 2) Simply have the miners getwork() from that class, let's say as a COM object. Then as said before, the class can determine pool version and outright bypass its main functions if it is dealing with a classic pool, or provide the work as a modded pool would need it to. This allows miner developers to easily implement the change, while keeping it independent from further improvement related to pure number crunching. then who collects the transactions? The pool, who else? The header is created with the pool's address. /sigh/ the whole point of this is to allow TX selection (and headers to an extent) by individual miners.
|
|
|
|
kjj
Legendary
Offline
Activity: 1302
Merit: 1026
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:38:47 PM |
|
Here are the things that need to be done to get this idea working in the real world:
1) The standard client must be modified to accept an address for the generation transaction. 2) Mining clients (and/or the flex proxy) must be modified to send another copy of each found block (share) to a second server. 3) New pool software (or a mod of an existing pool) to accept these block copies.
|
17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8 I routinely ignore posters with paid advertising in their sigs. You should too.
|
|
|
kjj
Legendary
Offline
Activity: 1302
Merit: 1026
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:45:42 PM |
|
1) The pool posts an address to be used for generation. This could be on the website, or through RPC. 2) A node takes that address, and forms a block using it as the generation address. 3) The miner gets that work from the local node and starts working. 4) The miner gets a candidate, and sends it to the local node, plus another copy to the pool server. 5) The pool verifies that the generation address is the one published, and assigns credit to the miner. 6) When the block is found, it goes out through the local node as usual, and the pool notices it, and pays the miners.
|
17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8 I routinely ignore posters with paid advertising in their sigs. You should too.
|
|
|
goatpig
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 23, 2011, 03:49:29 PM |
|
the whole point of this is to allow TX selection (and headers to an extent) by individual miners.
I thought you were referring to the 50BTC reward. The independent class makes the transaction list upload to the pool simpler since you have dedicated code to maintain and access this information. Naturally the pool needs to know which transactions the users have included in their block in order to verify the hash. The TX ID communication thing will work fine for this. The pool needs extra memory to maintain this transaction list, but it can be reduced to a certain extent: 1) only maintaining TX per ID, and per non included TX. 2) the class can send a "worker" group ID to the pool to put all the workers running from the same COM object (same machine or even same IP if you link your miners to one IP within your own LAN) under the same list in order to maintain a single TX list per machine and/or IP. Lastly using IDs ensures the TX have been broadcasted to the network before hand. No shady business that way.
|
|
|
|
|
PRCman
Newbie
Offline
Activity: 42
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 01, 2011, 08:29:13 AM |
|
2. no more pools being able to decide what transactions to include or not (see eligius and its policy of charging fees for all tx), or to try to create blockchain forks for double spending if they get too powerful (this hasn't happened yet, but it /could/, theoretically.)
Why they can't now?
|
|
|
|
gene
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 03, 2011, 11:50:37 AM |
|
Any progress on this? Seems to be one of the most important outstanding issues.
|
*processing payment* *error 404 : funds not found* Do you want to complain on the forum just to fall for another scam a few days later? | YES | YES |
|
|
|
goatpig
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 03, 2011, 12:06:07 PM |
|
Any progress on this? Seems to be one of the most important outstanding issues.
I've got other stuff on the works right now, but if by the time I've got some time no one has implemented it, I'll give it a try.
|
|
|
|
lizthegrey
Newbie
Offline
Activity: 56
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 03, 2011, 12:42:27 PM |
|
Any progress on this? Seems to be one of the most important outstanding issues.
I am waiting for permission from my employer before I proceed. Nearly have it, but bureaucracy bureaucracy.
|
|
|
|
gene
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 05, 2011, 02:02:18 PM |
|
I wish I had the skills to do this, myself. Any progress on this? Seems to be one of the most important outstanding issues.
I am waiting for permission from my employer before I proceed. Nearly have it, but bureaucracy bureaucracy. Just curious, but do you mind sharing who your employer is?
|
*processing payment* *error 404 : funds not found* Do you want to complain on the forum just to fall for another scam a few days later? | YES | YES |
|
|
|
grue
Legendary
Offline
Activity: 2058
Merit: 1434
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 06, 2011, 12:19:32 AM |
|
Any progress on this? Seems to be one of the most important outstanding issues.
I am waiting for permission from my employer before I proceed. Nearly have it, but bureaucracy bureaucracy. you need your employer to work on a private project? wtf?
|
|
|
|
Ixipixi
Newbie
Offline
Activity: 5
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 06, 2011, 09:36:22 AM |
|
First comment and a new user to bitcoins.. I'm very intrigued by this pool solution, hope it gets solved eventually.
|
|
|
|
BitterTea
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 06, 2011, 02:50:40 PM |
|
Any progress on this? Seems to be one of the most important outstanding issues.
I am waiting for permission from my employer before I proceed. Nearly have it, but bureaucracy bureaucracy. you need your employer to work on a private project? wtf? I think she works for Google, and is planning on working on this project during her 20% time.
|
|
|
|
lizthegrey
Newbie
Offline
Activity: 56
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 06, 2011, 03:23:16 PM |
|
Any progress on this? Seems to be one of the most important outstanding issues.
I am waiting for permission from my employer before I proceed. Nearly have it, but bureaucracy bureaucracy. you need your employer to work on a private project? wtf? I think she works for Google, and is planning on working on this project during her 20% time. Correct. I actually was planning to do it outside work originally, but if Google is trying to get copyright on it anyways, I may as well use 20% time rather than my non-work time http://www.leginfo.ca.gov/cgi-bin/displaycode?section=lab&group=02001-03000&file=2870-2872 (1) Relate at the time of conception or reduction to practice of the invention to the employer's business, or actual or demonstrably anticipated research or development of the employer; or
|
|
|
|
Sukrim
Legendary
Offline
Activity: 2618
Merit: 1007
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 06, 2011, 03:52:31 PM |
|
Some things to consider:
Transaction fees would also go to the pool, right?
How about the "I find a solution but don't post it" attack, aka. "withholding winning shares"? As miners might have to be adapted for this pooling scheme anyways, please also implement "oblivious shares"!
Can the pool require it's miners to always include some special transactions (for free), like payouts?
|
|
|
|
|