In this article, I’ll be detailing a design for a pool that will:
1. Be Fast
2. Be Scalable to almost ∞
3. Support Merged Mining
4. Have Edge Servers
This pool is the first (I know about) to have a PDN. The pool will consist of edge servers that:
1. Have bitcoind
2. Compose Blocks
3. Accept shares from miners
4. Submit found blocks
Essentially, the edge servers are self-contained pools, the only thing they don’t do is keep users details. A central server keeps users details, balances and share logs. The edge servers send details of shares to the central server every 30 seconds or so.
The advantage of this design is that the central server has minimal load, only edge updates and user website logins. As an example, edge updates might look like this:
{
"shares" : {
"bardiharborow.worker1" : 7,
"bardiharborow.worker2" : 2,
"fred.myworker" : 1
},
"shares_sha256checksum" : "e474fa61530658da14aa33f22294e75b7e1de3181e54424b2b4036db285efd40",
"load" : 18
}
Having a PDN has two advantages:
1. Spreads share verifying, bitcoind and connection overhead
2. Increases speed to miners by connecting to local server
I’m currently developing this under the name CoinForge. Help is appreciated (contact me).
A couple of things I'd like to add to that:
1. Scrypt mining as well
2. Support for all cryptocurrencys (I mean *all*)
If anyone would like to help with this, I *need* your help. Reply or PM.