Author

Topic: Blockswarm Protocol proposition - solo mining, full node cooperative (Read 1715 times)

legendary
Activity: 1260
Merit: 1008
It's a misunderstanding of the term solo mining.

Solo mining means you are taking on all the variance of block finding.
You are not pooling your mining efforts with anyone else (and thus are not sharing the reward)

p2pool is not in any way solo mining.

yes, I guess the proper phraseology would be "mining on an independent node", as opposed to conventional pool mining, where everyone is submitting shares to solve 1 node's block (the pool operator's node).

but I could have that completely misunderstood as well.
That's how a conventional pool works.  Everyone on the pool is attempting to solve the same block.

word, then its all cleared up. Thanks. Once I have a free weekend, i'll switch over my poor little miner from a lottery pool to p2pool.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
It's a misunderstanding of the term solo mining.

Solo mining means you are taking on all the variance of block finding.
You are not pooling your mining efforts with anyone else (and thus are not sharing the reward)

p2pool is not in any way solo mining.

yes, I guess the proper phraseology would be "mining on an independent node", as opposed to conventional pool mining, where everyone is submitting shares to solve 1 node's block (the pool operator's node).

but I could have that completely misunderstood as well.
That's how a conventional pool works.  Everyone on the pool is attempting to solve the same block.
legendary
Activity: 1260
Merit: 1008
It's a misunderstanding of the term solo mining.

Solo mining means you are taking on all the variance of block finding.
You are not pooling your mining efforts with anyone else (and thus are not sharing the reward)

p2pool is not in any way solo mining.

yes, I guess the proper phraseology would be "mining on an independent node", as opposed to conventional pool mining, where everyone is submitting shares to solve 1 node's block (the pool operator's node).

but I could have that completely misunderstood as well.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
By the way you can imitate the 50% thing on p2pool simply by setting your p2pool share difficulty to half the current network difficulty if you really wanted to do that...
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
It's a misunderstanding of the term solo mining.

Solo mining means you are taking on all the variance of block finding.
You are not pooling your mining efforts with anyone else (and thus are not sharing the reward)

p2pool is not in any way solo mining.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
I mean "solo mining" in the sense that my individual node is determining what goes into the block, not in the sense that I will receive the full block reward.
Yes, that's a correct interpretation, then.  Your node determines what transactions are included as well as the coinbase payout.  That coinbase is typically very similar for all nodes, with the exceptions listed in my previous posts.  So, while the transactions may be wildly different across nodes, the payouts should be virtually identical Smiley.
legendary
Activity: 1260
Merit: 1008
but just to clarify, each miner is still working on blocks created from their private node. The share chain is just a way to distribute the block reward?
Yes, each p2pool node determines what transactions it will include when constructing a block.  The coinbase transaction is built from the share chain.  If you look at a p2pool share, it will contain the payouts for every active p2pool miner that currently has shares on chain.  So, while the included transactions may differ from node to node, the coinbase transaction that is included as part of the block creation is pretty much the same.

I write "pretty much the same" because my node might find a block before it gets the information about a share from another node.  So, that other node would have an extra share that mine doesn't when the block is created.

cool, thanks for the clarification. I just want to make sure that mining in P2pool is essentially solo mining. I think this may have been explained to me before, but sometimes the understanding lapses...
That's an interesting way of describing mining on p2pool.  Sure, if there were no other nodes on the network, then yes, you'd be solo mining.  However, because of the share chain, and every p2pool miner's contributions, you aren't truly solo mining at all.  Every share that you contribute, which satisfies the difficulty of the share chain shares is added to the chain (assuming of course it isn't an orphan or dead share).  Every share you have on the chain that is on the list of shares to be paid out when a block is found will be part of the coinbase transaction of that block.  Basically, every p2pool node says, "hey, here are some number of transactions I'm going to include in my block.  If a miner happens to solve this block, here are all the miners I know of that contributed to the pool and how much they should be paid for their efforts."

I mean "solo mining" in the sense that my individual node is determining what goes into the block, not in the sense that I will receive the full block reward.



legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
but just to clarify, each miner is still working on blocks created from their private node. The share chain is just a way to distribute the block reward?
Yes, each p2pool node determines what transactions it will include when constructing a block.  The coinbase transaction is built from the share chain.  If you look at a p2pool share, it will contain the payouts for every active p2pool miner that currently has shares on chain.  So, while the included transactions may differ from node to node, the coinbase transaction that is included as part of the block creation is pretty much the same.

I write "pretty much the same" because my node might find a block before it gets the information about a share from another node.  So, that other node would have an extra share that mine doesn't when the block is created.

cool, thanks for the clarification. I just want to make sure that mining in P2pool is essentially solo mining. I think this may have been explained to me before, but sometimes the understanding lapses...
That's an interesting way of describing mining on p2pool.  Sure, if there were no other nodes on the network, then yes, you'd be solo mining.  However, because of the share chain, and every p2pool miner's contributions, you aren't truly solo mining at all.  Every share that you contribute, which satisfies the difficulty of the share chain shares is added to the chain (assuming of course it isn't an orphan or dead share).  Every share you have on the chain that is on the list of shares to be paid out when a block is found will be part of the coinbase transaction of that block.  Basically, every p2pool node says, "hey, here are some number of transactions I'm going to include in my block.  If a miner happens to solve this block, here are all the miners I know of that contributed to the pool and how much they should be paid for their efforts."
legendary
Activity: 1260
Merit: 1008
but just to clarify, each miner is still working on blocks created from their private node. The share chain is just a way to distribute the block reward?
Yes, each p2pool node determines what transactions it will include when constructing a block.  The coinbase transaction is built from the share chain.  If you look at a p2pool share, it will contain the payouts for every active p2pool miner that currently has shares on chain.  So, while the included transactions may differ from node to node, the coinbase transaction that is included as part of the block creation is pretty much the same.

I write "pretty much the same" because my node might find a block before it gets the information about a share from another node.  So, that other node would have an extra share that mine doesn't when the block is created.

cool, thanks for the clarification. I just want to make sure that mining in P2pool is essentially solo mining. I think this may have been explained to me before, but sometimes the understanding lapses...
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
but just to clarify, each miner is still working on blocks created from their private node. The share chain is just a way to distribute the block reward?
Yes, each p2pool node determines what transactions it will include when constructing a block.  The coinbase transaction is built from the share chain.  If you look at a p2pool share, it will contain the payouts for every active p2pool miner that currently has shares on chain.  So, while the included transactions may differ from node to node, the coinbase transaction that is included as part of the block creation is pretty much the same.

I write "pretty much the same" because my node might find a block before it gets the information about a share from another node.  So, that other node would have an extra share that mine doesn't when the block is created.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
but just to clarify, each miner is still working on blocks created from their private node. The share chain is just a way to distribute the block reward?
Almost.
Yes they do, but the block they create must have the same coinbase payout as everyone else.
So while each node can include whatever transactions they like (and some people on p2pool make p2pool look bad by mining empty blocks) they all have almost the same coinbase transaction.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
Thanks Kano, I think when i was referring to someone talking about this ages ago, I think it was u...

I was stabbing in the dark in my explanation, Ur's are always much better as they are right 99.9999% of the time..
I'll certainly say they are not right 100% of the time Smiley
hero member
Activity: 676
Merit: 501
Thanks Kano, I think when i was referring to someone talking about this ages ago, I think it was u...

I was stabbing in the dark in my explanation, Ur's are always much better as they are right 99.9999% of the time..
legendary
Activity: 1260
Merit: 1008
but just to clarify, each miner is still working on blocks created from their private node. The share chain is just a way to distribute the block reward?
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
I think u'll find p2pools blockchain is actually slightly different to bitcoins blockchain...

Someone mentioned a while back something about that

Sort of like bitmains mining pool...
The p2pool sharechain is on top of the BTC blockchain.

So - in terms of general understanding, no it's not different.

It's simply a sharechain to track peer 2 peer shares when building blocks on the BTC block chain.
hero member
Activity: 676
Merit: 501
I think u'll find p2pools blockchain is actually slightly different to bitcoins blockchain...

Someone mentioned a while back something about that

Sort of like bitmains mining pool...
legendary
Activity: 1260
Merit: 1008
p2pool

Yeop! I'm an idiot. I didn't realize p2pool could be run as an independent node. When I used p2pool I would connect to someone elses node.

Why is the p2pool lag an issue then? Last I tried p2pool, I remember reading that there's some lag issue due to the sharechain.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
legendary
Activity: 1260
Merit: 1008
based on my googling of that function, I did not explain the protocol well, or its main benefit of increasing full nodes.

As far as I can tell, you can solo mine with cgminer, but in terms of actually functioning like blockswarm, it ends there. Here's how blockswarm would work:

I'm solo mining with 10 TH
You're solo mining with 10 TH

We're in a co-op together. I find a block, I share half the rewards with you. You find a block, you share half the rewards with me. This sharing is executed via the blockswarm protocol.

We're both running full nodes and mining solo. But we've decreased our variance by agreeing to share our rewards.

legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
cgminer --load-balance ...
legendary
Activity: 1260
Merit: 1008
Or maybe it should be called Bloop - for a portmanteau of Block and Co-op. Or flockblock.

The analogy - what makes more sense? Focusing all of your resources and manpower on one hole in the mountain to dig a mine and find the gold? Or dispersing your resources and manpower all over the mountain? Especially when your mountain is made up of random numbers?

The idea is this: wouldn't it be possible to make pool infrastructure that allows multiple individuals to form a mining co-op of full node solo miners?

So instead of the stratum server being the only actual node, and hunting for a solution to a single block and pool members just submitting hashes...

why couldn't the server just function as the manager of the co-op?

So, I find a block, but there are 40 people in the pool, so the block reward is split amongst the 40 people dependent upon their hash contribution.

This could potentially be more efficient as well, due to the fact that the block found event will propagate through 2 networks - the pool co-op and the actual bitcoin network. So if Jack and Jill are in the same co-op and live 3 miles from each other, but the pool server is actually 200 miles away, Jill's node will probably notify Jack's node of the new block before Jill's node notifies the pool server which will then notify Jack's node.

Back to the analogy, you'd have to climb all the way out from the mine to shout the news, whereas with Blockswarm, you just shout to your neighbor.

And on top of that, you know, more full nodes and all that jazz.

Is this possible?
Jump to: