Bitcoin Forum
April 20, 2024, 02:35:45 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Block Lifecycle (Solo vs. Pooled vs. Private pool type question)  (Read 1492 times)
Hands (OP)
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
June 13, 2011, 10:49:27 PM
 #1

Howdy all,
   I've been mining in pools for about a month now and will be at about 3.5 GHash by the end of the week.. But one thing I don't quite understand is the lifecycle of a block... We all talk about "working on a block" and "shares for a block" but what I don't understand is the actual lifecycle? Does a block get "checked out" by a miner or pool? or is the entire network working on the same block at any given point in time and 1 miner solves that block (by chance) and the entire pool moves on to another block?

I guess what I am trying to understand is if I go solo with a predicted "solve" rate of ~1 block per week am I really working on my own block for a week (so no one else is touching that block) or am I really still part of the whole network and we are all working on the same block?

If I understood that, it would help me make a more informed decision on how I want to handle my mining op.

Thanks!
~Hands
(here is the ubiquitous "donate" wallet ID 13d46unynPiuspsND1fC3kuPeb8szgWv4T)

Ask me about cloud hashing (it doesn't suck) or click here
---------------------------------------------------------------------------------
ubiquitous donation address:1KSUGdoL4PPkaLcoJ3Ny9yenQcMQcsentY
1713580545
Hero Member
*
Offline Offline

Posts: 1713580545

View Profile Personal Message (Offline)

Ignore
1713580545
Reply with quote  #2

1713580545
Report to moderator
1713580545
Hero Member
*
Offline Offline

Posts: 1713580545

View Profile Personal Message (Offline)

Ignore
1713580545
Reply with quote  #2

1713580545
Report to moderator
1713580545
Hero Member
*
Offline Offline

Posts: 1713580545

View Profile Personal Message (Offline)

Ignore
1713580545
Reply with quote  #2

1713580545
Report to moderator
"There should not be any signed int. If you've found a signed int somewhere, please tell me (within the next 25 years please) and I'll change it to unsigned int." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
June 13, 2011, 11:07:32 PM
 #2

There is no progress, just a repeated number of tiny chances.

Each mining client asks a network node for a piece of work to do.  That work is unique to the miner, to the node, and across the entire network.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
Hands (OP)
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
June 14, 2011, 12:04:43 AM
 #3

ok so is an accurate description that all miners across the entire BitCoin cloud is working on the same block at the same time?

So my miners on BTCMine are in actuality trying to solve the same Block as those miners at Deepbit.. And when that block gets solved the entire Bitcoin Network moves on to the next block?

Thanks for the reply :-)
~Hands
(here is the ubiquitous "donate" wallet ID 13d46unynPiuspsND1fC3kuPeb8szgWv4T)

Ask me about cloud hashing (it doesn't suck) or click here
---------------------------------------------------------------------------------
ubiquitous donation address:1KSUGdoL4PPkaLcoJ3Ny9yenQcMQcsentY
kitsura
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
June 14, 2011, 12:12:37 AM
 #4

There is no life cycle. Solving a block is like hashrate lottery. The fastest or luckiest person usually gets it.
NothinG
Hero Member
*****
Offline Offline

Activity: 560
Merit: 500



View Profile
June 14, 2011, 12:41:26 AM
 #5

I think what Hands is asking is:
Is the whole bitcoin community (solo/group) working on 1 block at a time, or does each community (solo/group) have it's own block they are working on?

mrjoebruno
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
June 14, 2011, 01:13:56 AM
 #6

I'd like to know the answer to this as well. It seems that a bigger pool has a better chance somehow which is why deepbit is so large but I'm not making any money on Deepbit right now and was thinking of joining a diff pool - not if I'm going to make less there tho.

Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
June 14, 2011, 01:35:46 AM
 #7

The FAQ answers many questions:
https://en.bitcoin.it/wiki/FAQ#Mining

Also, there is no true next block. Stop thinking in terms of people trying to solve the same thing.
I'd like to know the answer to this as well. It seems that a bigger pool has a better chance somehow which is why deepbit is so large but I'm not making any money on Deepbit right now and was thinking of joining a diff pool - not if I'm going to make less there tho.
Yes, a bigger pool has a higher chance of finding a block, but all that does is decrease the variance in your income. If you flip a coin 10 times, there may be 6 heads and 4 tails; if you flip a coin 10,000 times, it'll be closer to 50-50. Any pool that solves at least a few blocks per week should have a low enough variance to beat the difficulty increases.

Hands (OP)
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
June 14, 2011, 02:42:40 AM
 #8

So lets say I am CPU mining, each share I solve has just as much a chance to find a block as anyone else.. So if I leave my CPU miner running for 6 years when it does finally solve a block its not like it solved a 6 year old block that is no longer valid.. It means it solved the current block and finally (after 6 years) got lucky...

Is that correct?

By the way, I have read that wiki page.. I read it a few weeks ago, but the lifecycle is still kinda murky... I understand a group of transactions are bundled into a block, then the block has to get hashed into the chain.. And somewhere in there a block is solved and someone (after 120 confirmations) wins 50 BTC.... What I don't understand is the path from bundle of transactions to 50 BTC, and the queing the network uses to apportion work..

I am trying to understand so that I can decide if I want to spin up a private pool (of about 10GHs between me and some friends) or stick with my current pool. I am less concerned with variance as I am winning a block but it becoming invalid due to how long we went before solving a block. (after all variance levels out over the long term)

Thanks
~Hands

Ask me about cloud hashing (it doesn't suck) or click here
---------------------------------------------------------------------------------
ubiquitous donation address:1KSUGdoL4PPkaLcoJ3Ny9yenQcMQcsentY
Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
June 14, 2011, 03:11:03 AM
 #9

So lets say I am CPU mining, each share I solve has just as much a chance to find a block as anyone else.. So if I leave my CPU miner running for 6 years when it does finally solve a block its not like it solved a 6 year old block that is no longer valid.. It means it solved the current block and finally (after 6 years) got lucky...

Is that correct?
Yes. However, keep in mind that difficulty is adjusted roughly every 2 weeks, so if it take longer then one difficulty adjustment to solve a block, you'd be better off being in a pool.

By the way, I have read that wiki page.. I read it a few weeks ago, but the lifecycle is still kinda murky... I understand a group of transactions are bundled into a block, then the block has to get hashed into the chain.. And somewhere in there a block is solved and someone (after 120 confirmations) wins 50 BTC.... What I don't understand is the path from bundle of transactions to 50 BTC, and the queing the network uses to apportion work..
You bundle whatever transactions you want along with a 50 + fees BTC transaction to yourself. The transactions change as some are put into blocks by other nodes and new ones are received. They aren't locked until you find a block hash that meets the required difficultly and submit the block to the network.

I am trying to understand so that I can decide if I want to spin up a private pool (of about 10GHs between me and some friends) or stick with my current pool. I am less concerned with variance as I am winning a block but it becoming invalid due to how long we went before solving a block. (after all variance levels out over the long term)

Thanks
~Hands
The network doesn't assign you work, you make your own. The network only cares about the result. A block can only be made invalid if someone else finds one around the same time as you, and your node didn't know about that block (the blocks link together in a chain).

Hands (OP)
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
June 14, 2011, 03:40:44 AM
 #10

Ok I think I am getting it..

My bitcoind takes a random group of unlocked transactions that its received off the networks bundles them all up and starts trying to create a hash that is complex enough.. if it finds one before another block is created then it can submit the block it was creating for confirmation, if someone else makes a block before I get done then I remove the transactions from my block that were locked by the "new block" and start over with a few new transactions and re calculated "winners" transaction of 50 BTC + fees..

This process of try to solve or lock my group of transactions before any other new blocks gets created keeps happening over and over again until I finally get a good hash of "recent" transactions before anyone else.. That becomes a block and gets submitted to the network for confirmation..

So the lifecycle is
* Transactions float in the cloud
* Bitcoind picks some transactions and bundles them
* Bitcoind adds 50btc + fees as a transaction to itself (bitcoind's wallet)
* try to create a hash of attiquit difficulty for the group of transaction (given the current difficulty at the current point in time).
* If I succeed before another block is created submit the new block to the cloud for confimation
* If I fail, bundle a new set of transactions and try again.

Ok so if that is accurate, then the next question is why does it take a few days for a change in difficulty to result in a slowdown in blocks? Or is that random happen stance?  BTCMine was solving 20ish blocks a day until the recent difficulty increase.. It kept the same pace for about 5 more days then it slowed down.. Now with more GHs of bandwith its solving fewer blocks...  Does it take time for blocks to "wash" through the system when the difficulty changes?

Thanks again, this has been quite enlightening.
~Hands


Ask me about cloud hashing (it doesn't suck) or click here
---------------------------------------------------------------------------------
ubiquitous donation address:1KSUGdoL4PPkaLcoJ3Ny9yenQcMQcsentY
Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
June 14, 2011, 04:08:48 AM
 #11

Ok I think I am getting it..

My bitcoind takes a random group of unlocked transactions that its received off the networks bundles them all up and starts trying to create a hash that is complex enough.. if it finds one before another block is created then it can submit the block it was creating for confirmation, if someone else makes a block before I get done then I remove the transactions from my block that were locked by the "new block" and start over with a few new transactions and re calculated "winners" transaction of 50 BTC + fees..

This process of try to solve or lock my group of transactions before any other new blocks gets created keeps happening over and over again until I finally get a good hash of "recent" transactions before anyone else.. That becomes a block and gets submitted to the network for confirmation..

So the lifecycle is
* Transactions float in the cloud
* Bitcoind picks some transactions and bundles them
* Bitcoind adds 50btc + fees as a transaction to itself (bitcoind's wallet)
* try to create a hash of attiquit difficulty for the group of transaction (given the current difficulty at the current point in time).
* If I succeed before another block is created submit the new block to the cloud for confimation
* If I fail, bundle a new set of transactions and try again.
Just about. It'll rebundle transactions periodically as well (whenever your miner asks for more work).

Ok so if that is accurate, then the next question is why does it take a few days for a change in difficulty to result in a slowdown in blocks? Or is that random happen stance?  BTCMine was solving 20ish blocks a day until the recent difficulty increase.. It kept the same pace for about 5 more days then it slowed down.. Now with more GHs of bandwith its solving fewer blocks...  Does it take time for blocks to "wash" through the system when the difficulty changes?

Thanks again, this has been quite enlightening.
~Hands
Most likely, that's just the result of bad statistics being reported. If not, they were either lucky or they received more miners right after the increase that dropped out again. The difficulty goes into effect immediately.

Hands (OP)
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
June 14, 2011, 11:30:33 AM
 #12

Great, thanks.... Hopefully this thread will help demystify block creation for other newbies (both miners and consumers).

~Hands

Ask me about cloud hashing (it doesn't suck) or click here
---------------------------------------------------------------------------------
ubiquitous donation address:1KSUGdoL4PPkaLcoJ3Ny9yenQcMQcsentY
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!