Author

Topic: What happens if 2 miners start solo mining at the same time with the same hard (Read 191 times)

legendary
Activity: 2268
Merit: 18748
Incredibly unlikely? It's impossible, unless
I was thinking along the far more plausible lines of "Miner One assembles a candidate block, sends that candidate block to Miner Two to work on as well, and for some reason they both start at the exact same nonce/timestamp/extra nonce, with the same algorithm for changing these fields between hashing attempts". Entirely possible and easily done, but it would be unusual for two separate parties to mine to the same Coinbase address, and would be completely pointless for two separate parties to knowingly duplicate the same work.
legendary
Activity: 4424
Merit: 4794
seeing as he said

If 2 miners start solo mining at the same time with the same hardware and firmware :
Suppose that they get the same work

"suppose they get the same work"
meaning he sent his friend the same block header details..
meaning both worked on same block. with same coinbase

then its technically not solomining but 2party pool mining
but as in my previous post i explained all the effects and after effects of friends wasted efforts and angers at doing this with both starting at the same nonce beginning
legendary
Activity: 2268
Merit: 18748
Thank you for detailed answer . I understand that a pool will not send the same work, and now I understand that even 2 solo miners with the same conditions will not get the same work .
My question is if it is the case what happens?
All blocks include a Coinbase transaction, which is where the miner creates new bitcoin and sends it to their own address (along with the fees gathered from all the transactions in the block) as their block reward. Even in the very unlikely case that two different miners include the exact same transactions from the mempool in the exact same order, their Coinbase transactions would be different since they would both be sending the block reward to their own address. Because of that Coinbase transaction being different, then their Merkle root will be different, and so too will their block header, meaning their two blocks will be be entirely different and require different amounts of work to successfully mine.

In the incredibly unlikely scenario that two individual miners both chose all the same transactions in the same order, and generated the same Coinbase transaction sending the same coins to the same address, and used the same timestamp, and started at the same nonce, and so on, then they would simply duplicate the work needed to mine that block.
copper member
Activity: 821
Merit: 1992
Quote
Will their shares be the same ?
No, because their addresses are different. Each solo miner generates an address. That address is different for each miner. So, even if everything else is the same, the address of each miner will be different, so their shares will be different.

Quote
My question is if it is the case what happens?
If you force using exactly the same data by both nodes, then both nodes will have an access to that coins. That would mean they will waste their computing power to calculate exactly the same things twice. Then, it will be no difference which miner will be first, because the second one will have the same private key, so the same public key and the same address, and that will cause both miners having access to the same coins.
legendary
Activity: 4424
Merit: 4794

Thank you for detailed answer . I understand that a pool will not send the same work, and now I understand that even 2 solo miners with the same conditions will not get the same work .
My question is if it is the case what happens?


..
however if you are a solo miner. making your own block and you had a friend who you want to work on YOURBLOCK well.
you can do any pattern or splitting you like.. and yes you can tell your friend to start at the same sequence as you..
.. but why would you want to.. your doing double work and just wasting each others time..
.

In this case for example...

bitcon is not some AI that magically tells you some work..
your the solo miner. YOUR setting the parameters. so YOU are the one setting the work sequences you and friend will work on

in this case
you are. as said. being silly by YOU choosing to set your mining script to both do the same work. and waste your friends time.
your friend will probably get angry at you for wasting his time, and tell you to change your silly mining script to offer him a split of the sequence your not working on, for the next time you both want to work on the same next block..

solution would be you and him agree
person A sets his mining algo to do: N0000001EN001 to N9999999EN499
person B sets his mining algo to do: N0000001EN500 to N9999999EN999

and you both flip a coin to decide who is A and who is B. and you both set your parameters in your scripts
then your increasing your odds of getting a solution by 2x
and if one of you finds the solution number that a hash meets the difficulty of.
then you both can broadcast it. and get the reward. and then fight over who gets what % of the win

..
if your question was about
person A sets his mining algo to do: N0000001EN001 to N9999999EN499
person B sets his mining algo to do: N0000001EN500 to N9999999EN999
where both had the same amount of possible attempts. same hard ware, same block. same everything will you both finish each's possible sequences at the same time..
kinda yes. but technically no
by you being the blockbuilder and parameter setter you get the head start. because sending him the parameter and him entering it and him then starting. means you get a head start on him and you finish your attempts ahead of him
newbie
Activity: 28
Merit: 4

Thank you for detailed answer . I understand that a pool will not send the same work, and now I understand that even 2 solo miners with the same conditions will not get the same work .
My question is if it is the case what happens?


..
however if you are a solo miner. making your own block and you had a friend who you want to work on YOURBLOCK well.
you can do any pattern or splitting you like.. and yes you can tell your friend to start at the same sequence as you..
.. but why would you want to.. your doing double work and just wasting each others time..
.

In this case for example...
legendary
Activity: 4424
Merit: 4794
lets make it simple

imagine a pool makes a block
it has for simple maths a nonce range of 0000001-9999999  and an extra nonce range of 001-999
what a POOL would do is not get all miners to start at
N0000001EN001 and all try every possible option upto
N9999999EN999
thats a waste of time everyone doing the same work

instead if it had say 10 workers, would split the possible work up
worker 1: N0000001EN001 to N999999EN099
worker 2: N0000001EN100 to N999999EN199
worker 3: N0000001EN200 to N999999EN299
..
worker 10: N0000001EN900 to N999999EN999

so that they are all doing separate stages of all possible work, increasing the odds of finding a solution faster
(the sequence splitting allotments(shares) are more complex then this. but im making it simple)
..
however if you are a solo miner. making your own block and you had a friend who you want to work on YOURBLOCK .. well.
you can do any pattern of splitting you like.. and yes you can tell your friend to start at the same sequence as you..
.. but why would you want to.. you/him doing double work is just wasting each others time..

..
if you were however making your own block. and your friend was solo mining his own different block
then no both of you are not wasting time by both starting at
N0000001EN001
because you both have different blocks. meaning different hashes. meaning different results.
but those attempts cannot be shared

EG if his attempt

N00056701EN150 got him a result that met the network difficulty.
him telling you he solved a block at N00056701EN150 does not mean your block will have a result at the same N00056701EN150
your result with a solution that meets the difficulty minimum will be found at a different nonce/extra nonce
because you and him are doing separate work on separate pieces of data that are not interchangable
legendary
Activity: 4508
Merit: 3425
Solo miners will generate different hashes because their coinbase transactions are different.
Pool miners will generate different hashes because the pool will give them different work.
legendary
Activity: 3822
Merit: 2703
Evil beware: We have waffles!
Oh, instead of opening another new thread about it, you can just move this thread to the other area. At the bottom-left of the webpage for any topic create is a button "Move Topic" to do that.
newbie
Activity: 28
Merit: 4
Quote
In solo mining : miner try to find the block itself , he tries all nonces. so the work is all possibilities
another solo miner will do the same , so he will try all possibilities .
What's wrong with that ?
If you are talking about a different miner on the planet mining to a different node/pool that is an entirely different matter. Is it possible they may get the same work at the same time? Sure.

It is also bloody unlikely because the work sent to them is completely random and is defined by the node they get the work from. Not only can/will the work ID's be different but the underlying data itself will be as well because the node/pool picks what Tx's to process and again that results in different work being sent. Also keep in mind that even the fastest hardware cannot sequentially process all possible values before someone, somewhere, finds a block and forces new work to be started. 232 is a huge, huge number...

Sorry to be bouncing you around the Forum but since you are inquiring about the nuts and bolts of how mining works you might want to move this discussion to the Development & Technical area of the Forum where you will get more eyeballs looking at your questions.

Thanks I will try to find answers there
newbie
Activity: 28
Merit: 4
This is again one of those threads, in which I don't understand the most relevant question asked. Why open such messy threads?

Hölpölöpöpööpöööö question jiberrish joo ..

This is BITCOIN TALK  FOR ALL PEOPLE, ALL BACKGROUND LEVELS!
I you don't like the question and if you cant stay humble just be quiet and don't reply!
legendary
Activity: 2464
Merit: 1710
Electrical engineer. Mining since 2014.
This is again one of those threads, in which I don't understand the most relevant question asked. Why open such messy threads?

Hölpölöpöpööpöööö question jiberrish joo ..
legendary
Activity: 3822
Merit: 2703
Evil beware: We have waffles!
Quote
In solo mining : miner try to find the block itself , he tries all nonces. so the work is all possibilities
another solo miner will do the same , so he will try all possibilities .
What's wrong with that ?
If you are talking about a different miner on the planet mining to a different node/pool that is an entirely different matter. Is it possible they may get the same work at the same time? Sure.

It is also bloody unlikely because the work sent to them is completely random and is defined by the node they get the work from. Not only can/will the work ID's be different but the underlying data itself will be as well because the node/pool picks what Tx's to process and again that results in different work being sent. Also keep in mind that even the fastest hardware cannot sequentially process all possible values before someone, somewhere, finds a block and forces new work to be started. 232 is a huge, huge number...

Sorry to be bouncing you around the Forum but since you are inquiring about the nuts and bolts of how mining works you might want to move this discussion to the Development & Technical area of the Forum where you will get more eyeballs looking at your questions.
newbie
Activity: 28
Merit: 4
Quote
So in solo mining, all miners will get the same work , right?
No. As explained before the software feeding work to a miner DOES NOT ALLOW THAT. All miners pointed at the same pool or private node get different work unless you screw with the code on your experimental node. If a pool does it (sends same work) then whoever operates it is a idiot.

So there is something i dont understand :
To validate a block , a nonce must be found . Miners try to compute a maximum amount of hashes to find it .
In pool mining : the pool dispatches all nonces ( and extra nonces ) to all pools members . The pool gives works ( range of possibilities ) to all pools members . So it's logical that no two members will get the same work
In solo mining : miner try to find the block itself , he tries all nonces. so the work is all possibilities
another solo miner will do the same , so he will try all possibilities .
What's wrong with that ?
legendary
Activity: 3822
Merit: 2703
Evil beware: We have waffles!
Quote
So in solo mining, all miners will get the same work , right?
No. As explained before the software feeding work to a miner DOES NOT ALLOW THAT. All miners pointed at the same pool or private node get different work unless you screw with the code on your experimental node. If a pool does it (sends same work to multiple miners) then whoever operates it is a idiot.

All solo mining means is that you and you alone get the block reward regardless of you mining to your own private node or a pool allowing solo mode such as Kano's or -ck's. The work mechanisms sending/receiving work are the same as mining at a regular pool. The difference between Solo vs shared (pool) mining is more of just an accounting thing. This Help topic from Kano's site may help you understand.
newbie
Activity: 28
Merit: 4
As Kano and I have said in 2 other threads you started: NO!
Solo or otherwise the pool software assigns different ID's and therefore work to the miners. If you are talking about their speed - still no because a miner's hashrate varies quite a bit. Even any given single miner will have different hash rates and results each time it gets new work.

Thanks, the last thread was about pools and you said that is a non existent question ( I agree but I said "suppose that"). I'm new on this stuff and I just want to understand

So in solo mining, all miners will get the same work , right?
if yes then 2 similar miners starting at the same time , their shares will be different because even if they are both similar, there are still same hardawre difference ( tolerance of components may be )

So , if a solo miner REDO ( I know it's not possible) the same work as before, it will get the same results as before ?
legendary
Activity: 3822
Merit: 2703
Evil beware: We have waffles!
As Kano and I have said in 2 other threads you started: NO!
Solo or otherwise the pool software assigns different ID's and therefore work to the miners. If you are talking about their speed - still no because a miner's hashrate varies quite a bit as it is running. Even any given single miner will have different hash rates and results each time it gets new work.

The only possible way multiple miners would have overlapping results would be if you setup your own BTC node for experimenting and hacked it to not assign different ID's. Which by the way would be a terrible thing to do on the BTC main net. If you decide to screw around like that - use TestNet, that is what it is for...
newbie
Activity: 28
Merit: 4
Hello

If 2 miners start solo mining at the same time with the same hardware and firmware :
Suppose that they get the same work ( It's impossible I agree but suppose this ) Will their shares be the same ? 

thanks
Jump to: