Bitcoin Forum
May 17, 2024, 09:21:33 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How works the ten-minute-block?  (Read 1091 times)
sl3ax (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
August 14, 2012, 02:01:49 PM
 #1

If a block (then a transaction) can be confirmed every about ten minutes, if in these 10 min there're many transactions, how it works? They're put in queue? And if they're put in queue, the transactions will grow up always and it will be impossible to solve all if there's a time limited. Or not?
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
August 14, 2012, 02:03:41 PM
 #2

If a block (then a transaction) can be confirmed every about ten minutes, if in these 10 min there're many transactions, how it works? They're put in queue? And if they're put in queue, the transactions will grow up always and it will be impossible to solve all if there's a time limited. Or not?
Transactions with highest fee are processed first. If the fee is too low, it'll have to wait until there's a block with space.
sl3ax (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
August 14, 2012, 02:17:21 PM
 #3

Yes, but at the end anyone will remain unprocessed!
eb3full
VIP
Full Member
*
Offline Offline

Activity: 198
Merit: 101


View Profile
August 14, 2012, 02:32:24 PM
 #4

Yes, but at the end anyone will remain unprocessed!

It is true that some transactions may be unprocessed, but those transactions will almost definitely be ones which have not paid an adequate transaction fee. This is not a problem now because of block rewards and the general good behavior of miners. Market forces will eventually compel miners to include transactions that benefit them.

"With four parameters I can fit an elephant, and with five I can make him wiggle his trunk." John von Neumann
buy me beer: 1HG9cBBYME4HUVhfAqQvW9Vqwh3PLioHcU
sl3ax (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
August 14, 2012, 02:52:05 PM
 #5

But if for example,all will pay a fee for their transaction, all will be processed with high-priority, but always one every 10 minutes,  and the others?
For example, in the arch of ten minutes there are three transactions:
1.priority 2
2.priority 1
3. priority 0
First,the first will be processed, and the others?
P4man
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile
August 14, 2012, 02:54:02 PM
 #6

a single block can contain a lot of transactions. Im not even sure there is a limit to how many (is there?)

dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
August 14, 2012, 02:57:07 PM
 #7

a single block can contain a lot of transactions. Im not even sure there is a limit to how many (is there?)
Yes. Blocks can currently be up to 10 MO in size. AFAIK, only FAN nodes do not enforce this restriction.
Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


View Profile
August 14, 2012, 09:42:23 PM
 #8

a single block can contain a lot of transactions. Im not even sure there is a limit to how many (is there?)

There is a limit as to how much data can be included in a block (500K).  The client starts to get choose as that block starts to fill, so when there are more transactions than space, the fee starts to become an issue and transactions with higher fees (relative to their transaction size) will be included and others won't. 

Any transactions not included remain in the memory pool to be considered for inclusion in the next block.  There are many transactions whose fees are inadequate or appear spammy (and thus low priority) which will not get included for hours or a full day even.

At current levels, blocks have the ability to include 400% more transactions than they currently are including.  (e.g., only 20% of capacity is being used).  If that becomes a problem for bitcoin, the limit can actually be doubled to 1MB per block, but that would require a new client that implements this to be accepted and adopted.  Further capacity expansion would require a hard fork to the protocol.

As far as the rules as to which transactions are included, each miner or pool has the discretion as to which transactions to include or exclude.  There are defaults to this but customization is common, especially for pools.

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


bitcoinbear
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500


View Profile
August 14, 2012, 10:03:57 PM
 #9

If a block (then a transaction) can be confirmed every about ten minutes, if in these 10 min there're many transactions, how it works? They're put in queue? And if they're put in queue, the transactions will grow up always and it will be impossible to solve all if there's a time limited. Or not?

A large number of transactions can be put into a block. As miners try to solve blocks, they periodically check for new transactions. What this means is if you send out a transaction just before a block is found you will have to wait for the next block, but most transactions do not wait many blocks before getting included.

You can see the queue of transactions waiting to be confirmed, I think, over at blockchain.info or somewhere.

CryptoNote needs you! Join the elite merged mining forces right now here in Fantomcoin topic: https://bitcointalk.org/index.php?topic=598823.0
P4man
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile
August 15, 2012, 01:40:53 PM
 #10

At current levels, blocks have the ability to include 400% more transactions than they currently are including.  (e.g., only 20% of capacity is being used).  If that becomes a problem for bitcoin, the limit can actually be doubled to 1MB per block, but that would require a new client that implements this to be accepted and adopted.  Further capacity expansion would require a hard fork to the protocol.

Hmm.. that sounds like a potentially serious pothole down the road. Well, one that can be solved of course, but a 10 folding of transaction count would still account for precious few transactions in the grand scheme of things. I can also see miners might resist a change here, because a "shortage of transactions" would lead to higher transaction fees, which is in their interest. Could become interesting.

thanks for the elaborate explanation btw.

dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
August 15, 2012, 07:50:13 PM
 #11

At current levels, blocks have the ability to include 400% more transactions than they currently are including.  (e.g., only 20% of capacity is being used).  If that becomes a problem for bitcoin, the limit can actually be doubled to 1MB per block, but that would require a new client that implements this to be accepted and adopted.  Further capacity expansion would require a hard fork to the protocol.

Hmm.. that sounds like a potentially serious pothole down the road. Well, one that can be solved of course, but a 10 folding of transaction count would still account for precious few transactions in the grand scheme of things. I can also see miners might resist a change here, because a "shortage of transactions" would lead to higher transaction fees, which is in their interest. Could become interesting.

thanks for the elaborate explanation btw.
More tx per block = More fees in total.

To solve the hard fork, a solution like FAN nodes is probably needed. FAN nodes avoid most hard-forks.
P4man
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile
August 15, 2012, 09:07:11 PM
 #12

More tx per block = More fees in total.

Not necessarily. If transactions take too long to be included in a block, it will create an incentive to pay higher transaction fees. Right now you can usually get away with paying zero or close to zero transaction fees. Many times (almost) zero is still (almost) zero. Miners can chose to include only the highest paying transactions, so it would be against their interest to include many more, almost free ones, particularly since it would eliminate the incentive to pay higher fees.

Now arguably thats already true today, and miners (/pools) could already refuse more low fee transactions, but it doesnt really matter because there is ample room in the blocks and transaction fees dont account for much anyway. But both those things might change.

dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
August 15, 2012, 09:11:41 PM
 #13

More tx per block = More fees in total.

Not necessarily. If transactions take too long to be included in a block, it will create an incentive to pay higher transaction fees. Right now you can usually get away with paying zero or close to zero transaction fees. Many times (almost) zero is still (almost) zero. Miners can chose to include only the highest paying transactions, so it would be against their interest to include many more, almost free ones, particularly since it would eliminate the incentive to pay higher fees.

Now arguably thats already true today, and miners (/pools) could already refuse more low fee transactions, but it doesnt really matter because there is ample room in the blocks and transaction fees dont account for much anyway. But both those things might change.
The situation is as follows.

If other miners use small blocks, and you mine large ones, then you have a profit. Why? Because people are paying the same high tx fees for all blocks, but you're getting more.

If other miners use large blocks, and you mine small ones, then you have a loss. Why? Because people are paying the same low tx fees for all blocks, but you're getting less.

Eventually, these two processes will force miners to mine small blocks. That is unless either all or all but an insignificant minority of miners agree to mine small blocks, which is unlikely.

Think of it akin to a baking industry. If all bakers sell at high prices, then they may collectively and individually be better off. But as soon as one baker lowers their prices, others will be forced to follow or be individually worse off.
P4man
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile
August 16, 2012, 03:29:49 PM
 #14


If other miners use small blocks, and you mine large ones, then you have a profit. Why? Because people are paying the same high tx fees for all blocks, but you're getting more.

If other miners use large blocks, and you mine small ones, then you have a loss. Why? Because people are paying the same low tx fees for all blocks, but you're getting less.

Yeah, that much is obvious. However, we are talking about a protocol change here. Accepting a protocol change by itself doesnt earn you more, there is no competitive pressure since the change is either adopted or not, and then applied to everyone;  if miners think it through, they will understand it likely reduces everyone's profits. Thats why I said miners are likely to resist a protocol change like that.

dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
August 16, 2012, 04:47:06 PM
 #15


If other miners use small blocks, and you mine large ones, then you have a profit. Why? Because people are paying the same high tx fees for all blocks, but you're getting more.

If other miners use large blocks, and you mine small ones, then you have a loss. Why? Because people are paying the same low tx fees for all blocks, but you're getting less.

Yeah, that much is obvious. However, we are talking about a protocol change here. Accepting a protocol change by itself doesnt earn you more, there is no competitive pressure since the change is either adopted or not, and then applied to everyone;  if miners think it through, they will understand it likely reduces everyone's profits. Thats why I said miners are likely to resist a protocol change like that.
In advance, a release is made to the default client and alternate clients that allows the client to accept larger blocks. Miners continue to have code to reject larger blocks. After everyone upgrades, another release is made that allows miners to mine and accept larger blocks. Miners that continue to reject larger blocks will be dominant, and for a while they will own the longest chain. But as other miners upgrade, eventually 51% of miners will  begin to mine larger blocks. At this point, miners who have not upgraded will be stuck on an isolated chain, while all clients have switched to the long chain.
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!