Open bitkevin opened 6 years ago
8 bytes is more than enough nonce space, you need 2^64 operations to grind through it, and world class theoretical ASICs would still take days to grind through the full nonce space.
8 Bytes is not enough at all, for mining pool, extra nonce1 is 4 bytes. Only left 4 bytes for asic miner, that's far from enough.
Innosilicon S11 SiaMaster Specifications: – Hashrate: 3.83 TH/s
Getblocktemplate is something that would need to be implemented by the mining pool, not by the sia daemon.
The Sia team does not run or maintain any mining pool. Do you believe there is some functionality required in the Sia daemon that is missing?
FYI: @nitronick600, @siamining
getblocktemplate
should be provided by the daemon which is a core implementation.
@bitkevin does the pool need a full 32 bits for extra nonce 1? The pool internally can roll the arb data, any decent server is going to give you at least tens of thousands of starting points per second. Then you take 2 bytes that you use to distinguish between different miners, that gives you close to 1 billion different jobs you can pass to miners per second.
Then the miner itself gets 6 bytes, which is more than a minute of mining at 4 TH/s. The miner should be getting new headers every few seconds anyway, to update what transactions its mining.
That's plenty of space. And if your mining pool gets over 1 billion machines doing 4 TH/s, you can just buy a few more servers, you'll be able to afford it at that point.
@DavidVorick
There are potential problems:
So the best way for mining pool is Siad return the candidate block with fully data by json-RPC, let the pool handle the arb tx and merkle root hash. Just like bitcoin.
Right now, most device mining Sia are ASIC miners, and almost all asic miners using stratum protocol, https://github.com/SiaMining/Stratum, I am wondering when will Sia support GetBlockTemplate?
https://siamining.com/stratum https://github.com/SiaMining/Stratum
https://github.com/NebulousLabs/Sia/issues/2400