Pages:
Author

Topic: 1 transaction block how its possible? (Read 3956 times)

sgk
legendary
Activity: 1470
Merit: 1002
!! HODL !!
February 16, 2015, 07:15:28 AM
#28

Miners can choose what transactions they want to include. If they don't want to include any transactions other than the one that pays them their 25 BTC, then that's their choice.

Haha what an effective and good answer! Good job.

PS. Why don't we have a tip bot for comments on this forum?

There is no tip bot, but I guess the Bitcoin address of the users are listed on their profile page, so we can tip anyway.

It takes a bit longer than tipbot, but if you really want to tip, that works.
hero member
Activity: 1022
Merit: 500
February 13, 2015, 07:10:21 PM
#27

Miners can choose what transactions they want to include. If they don't want to include any transactions other than the one that pays them their 25 BTC, then that's their choice.

Haha what an effective and good answer! Good job.

PS. Why don't we have a tip bot for comments on this forum?

Or a reward for each post of more than 100 words Wink
full member
Activity: 238
Merit: 100
ROAD TO HEAVEN...
February 13, 2015, 06:31:35 AM
#26

Miners can choose what transactions they want to include. If they don't want to include any transactions other than the one that pays them their 25 BTC, then that's their choice.

Haha what an effective and good answer! Good job.

PS. Why don't we have a tip bot for comments on this forum?
legendary
Activity: 1148
Merit: 1000
February 12, 2015, 05:27:29 PM
#25
Block 343194   4 minutes   1   25.00 BTC   F2Pool   0.25

Two blocks found almost at the same time.
member
Activity: 88
Merit: 12
February 03, 2015, 02:57:31 PM
#24
I've seen 0 sent blocks on blockchain


I thought there was always at least one transaction : the transaction to send the mining reward.

It's a network consensus rule that all blocks have to have at least one transaction (the coinbase transaction), and the first transaction has to be a coinbase transaction (1 input with a Null previous output). The relevant code: https://github.com/bitcoin/bitcoin/blob/v0.10.0rc3/src/main.cpp#L2462-L2465

Also, for anyone interested, I did a writeup on the reasons that miners would be incentivized to only include their reward transaction on the Bitcoin Stack Exchange. The link is below. I found that of recent blocks, 1.3% have only the reward transaction, and 1.6% have fewer than 10 transactions in them.

http://bitcoin.stackexchange.com/questions/34089/how-often-does-a-block-have-only-one-transaction/34098#34098
legendary
Activity: 3416
Merit: 4658
January 25, 2015, 03:05:08 AM
#23
Once all coins get found things change. Miners get rewarded with the fee, so not sure what will happen then (on 2050 approx.).

You are mistaken.  The last block subsidy won't occur until 2140.
sr. member
Activity: 470
Merit: 350
January 25, 2015, 02:56:46 AM
#22
Random algo starts at 0, so we can expect blocks with 0 transactions or just a few transactions with low amounts, yet the reward is still there. Ones all coins get found, things change, miners get rewarded with the fee, so not sure what will happen by then (on 2050 approx.).
hero member
Activity: 1022
Merit: 500
January 23, 2015, 10:59:03 AM
#21
I've seen 0 sent blocks on blockchain


I thought there was always at least one transaction : the transaction to send the mining reward.
legendary
Activity: 1148
Merit: 1000
January 21, 2015, 12:33:34 AM
#20
I've seen 0 sent blocks on blockchain
hero member
Activity: 770
Merit: 500
January 19, 2015, 12:26:31 PM
#19
people need to quit throwing miners around like an individual miner makes a difference in this equation.
They don't.
It's the pool operations who make that decision. If the dozen or so pools that actually solve blocks decide to collude
there isn't a dam thing anyone could do but solo mine or hop to a pool that isn't colluding.
Some pool operations won't even take dust transactions now as they consider it spam.
(at least I have read of the code existing) not sure if it's been fully implemented but it wouldn't surprise me any
full member
Activity: 136
Merit: 100
January 19, 2015, 12:17:22 PM
#18
Accepting transactions get miners the fees associated with the transactions. Why would a miner want to accept no transactions?

Fees currently make up about 0.5% of the total mining reward. To a purely economically rational miner (pool operator) they will try to do the maths for the potential gains of that 0.5% vs the risk that their larger block triggers an orphan race that they lose. If the pool's bandwidth/connectivity is relatively poor then those longer blocks can dramatically increase the risk of an orphan race.

If you look at: http://bitcoinstats.com/network/propagation/ you'll see that historically block propagation could be really slow. Even now it takes about 4 to 5 seconds for half the network to become aware of a new block, so if a large block were to add 3 or 4 seconds to that then you're at the point where the increased risk may well outweigh the benefit.

Of course if your mining pool has some awesome centralised infrastructure with super-fast Gbit+ speed links then they probably don't care and mine everything they can (Discuss Fish/F2Pool now do this, even though they used to be notorious for mining small blocks).
full member
Activity: 136
Merit: 100
January 19, 2015, 12:09:51 PM
#17

That's a hell lot of blocks to only have 1 transaction. And I wouldn't even call it one transaction, I would call it ZERO transactions!

I knew this was possible but I didn't know the number would be this high.


A lot of these are pretty old. In the early network there were very few transactions.

There is a balancing act though for miners, especially any with low bandwidth, because losing an orphan race as a result of transmitting a large block is much more expensive than mining transaction fees (over 200:1). Very few miners (more correctly, pool operators as they select the transactions) allow maximum-sized blocks though; most have run with a limit. I posted an analysis last night in another thread (http://hashingit.com/analysis/39-the-myth-of-the-megabyte-bitcoin-block)
sgk
legendary
Activity: 1470
Merit: 1002
!! HODL !!
January 19, 2015, 07:07:07 AM
#16

That's a hell lot of blocks to only have 1 transaction. And I wouldn't even call it one transaction, I would call it ZERO transactions!

I knew this was possible but I didn't know the number would be this high.
hero member
Activity: 1022
Merit: 500
January 19, 2015, 06:25:43 AM
#15

Miners can choose what transactions they want to include. If they don't want to include any transactions other than the one that pays them their 25 BTC, then that's their choice.
so if they all choose to not include transactions we wouldnt be able to send coins?

Correct. But if miners decide to make Bitcoin useless that way, they're also hurting their own profit. That is why these 1-transaction-blocks are quite rare fortunately.

Accepting transactions get miners the fees associated with the transactions. Why would a miner want to accept no transactions?
legendary
Activity: 952
Merit: 1003
--Signature Designs-- http://bit.ly/1Pjbx77
January 15, 2015, 07:33:10 AM
#14
Miners can include no transactions in their mined blocks if they wanted to. But I believe including transactions in a block have negligible overheads and different transaction combinations gives a different nonce which could help them to solve a block faster. I believe there is no rational reason for them to only mine 1 transaction blocks, except to sabotage the network.
sr. member
Activity: 462
Merit: 250
January 15, 2015, 07:23:23 AM
#13
As long as most miners are greed enough, our transactions will be included, more so, when block rewards are small.
full member
Activity: 137
Merit: 100
January 15, 2015, 07:00:21 AM
#12
so if they all choose to not include transactions we wouldnt be able to send coins?

Correct. But if miners decide to make Bitcoin useless that way, they're also hurting their own profit. That is why these 1-transaction-blocks are quite rare fortunately.

No it actually helps their profit to include very few transactions, since they get less orphaned blocks this way.

(bolded for clarification)
You misunderstand. If all miners were to somehow collude and decide that they're only going to mine 0 transaction blocks (technically 1, the coinbase transaction), which seems to be the doomsday scenario proposed here, they're definitely hurting their own profits. In that scenario it doesn't matter how many blocks they mine or how many of those blocks are orphans. Bitcoin is effectively worth $0 if you can't spend it and you also can't move it to an exchange to sell it because transactions aren't being confirmed. Even if miners colluded and decided to only include their own transactions (so they can spend their hard-earned BTC) it doesn't improve the situation because Bitcoin would still be useless to everybody else in the world and would still be worth $0. To the miners it would be worth less than $0 and they'd actually be taking a loss since they'd be spending money to burn electricity for nothing.

edit: I admit, it is a highly unlikely (and probably near impossible) scenario in reality, but it is the scenario that was being discussed in that post. I'd think most (home and corporate) miners probably have enough greed and/or common sense to avoid crippling Bitcoin that way and would include at least a few transactions in most of their blocks just to keep Bitcoin moving to protect their investment in mining equipment.
legendary
Activity: 1232
Merit: 1001
January 15, 2015, 06:16:12 AM
#11
This is ridiculous.
If all the miners refuse to confirm the transaction, we all can's send any coins.
Some day they will improve the transaction fees, and don't need  our approve.

Every one running a full node (Bitcoin-QT) can also decide which Blocks he considers valid. If for example a huge chunk of miners would decide to only include transactions that pay a tremendous fee, it would be possible to make a Bitcoin Node that for example considers Blocks that don't include at least 20 transactions invalid.

If this client would be manly used all this blocks would not included in the chains of most people and miners who include transactions would get all block rewards (as the other blocks would be orphants).

Miners are not all powerful in Bitcoin. Luckily it hasn't come to such a powerplay, yet.
sr. member
Activity: 462
Merit: 250
January 15, 2015, 06:05:28 AM
#10
This is ridiculous.
If all the miners refuse to confirm the transaction, we all can's send any coins.
Some day they will improve the transaction fees, and don't need  our approve.
legendary
Activity: 3416
Merit: 4658
January 15, 2015, 05:00:37 AM
#9

The protocol allows solo miners (or mining pools) to choose which (if any) transactions they want to confirm.  They can confirm as many or as few as they want, but they must include at least one transaction to pay the block reward, and a block currently cannot exceed 1 megabyte in size.

The protocol also allows users to include a transaction fee with their transaction.  The miner (or pool) that solves a block gets to keep the transaction fees of all the transactions that they include in the block.  This means that miners that choose not to confirm any transactions earn less bitcoins (since they miss out on all the fees), and can't operate as profitably.  Since mining is designed to be a highly competitive market, those with less revenue are likely to eventually be driven out of business by those with more revenue.  Clearly, the larger the fee you voluntarily include with a transaction, the more beneficial it is to the miner to include your transaction in their block.

Miners can choose what transactions they want to include. If they don't want to include any transactions other than the one that pays them their 25 BTC, then that's their choice.
so if they all choose to not include transactions we wouldnt be able to send coins?

Sure, but that would leave a LOT of fees out there for a miner to collect.  That provides a lot of incentive for some miners to include transactions.

If by "they" you mean every single person currently mining bitcoin got together in a dark room...Yep, we're relying on the benevolence of a few in a world full of people motivated by greed.

Well, those that send transactions without a fee are relying on the benevolence of a few.  Those that include a reasonable fee with their transaction are relying on the greed of many.

it actually helps their profit to include very few transactions, since they get less orphaned blocks this way. For example, Discus Fish pool used to only include no more than 42kb worth of transactions in every block they mine. Then the Bitcoin community threatened with action, and Discus fish bowed to the community pressure, and now includes more transactions.

The risk cost of orphan blocks is pretty small.  That cost is significantly reduced even more every 4 years. From what I remember, a reasonable fee of 0.0001 BTC per kilobyte more than compensates for the increased risk of orphan, and provides a profit incentive for the miner or pool.
Pages:
Jump to: