Bitcoin Forum
May 11, 2024, 01:51:05 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Blocks with no transactions - 498218  (Read 246 times)
miguelmorales85 (OP)
Hero Member
*****
Offline Offline

Activity: 544
Merit: 506


View Profile
December 08, 2017, 11:14:10 AM
 #1

In times like these of network congestion and theres still blocks mined with no transaction i.e. 498218

How could this be possible?

Thanks
1715435465
Hero Member
*
Offline Offline

Posts: 1715435465

View Profile Personal Message (Offline)

Ignore
1715435465
Reply with quote  #2

1715435465
Report to moderator
1715435465
Hero Member
*
Offline Offline

Posts: 1715435465

View Profile Personal Message (Offline)

Ignore
1715435465
Reply with quote  #2

1715435465
Report to moderator
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
aplistir
Full Member
***
Offline Offline

Activity: 378
Merit: 197



View Profile
December 08, 2017, 11:30:02 AM
 #2

Wow!
That is interesting.

I don't think any mining pool would leave the block empty losing bitcoins in doing it.

Could it be possible that some hobbyist just got lucky and succeeded in mining a block?

Edit: It was apparently mined by: Z/BTPOOL https://btc.com/stats/pool/BTPOOL and they are pros. Wonder why they decided to not take ~4BTC transfer fees

My Address: 121f7zb2U4g9iM4MiJTDhEzqeZGHzq5wLh
LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16636


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
December 08, 2017, 04:33:41 PM
 #3

How could this be possible?
Miners can do whatever they want, it's entirely up to them. They decide.

There are usually two reasons for this to happen:
1. Fees are low, and miners are trying to force people to pay more by skipping all transactions with low fees (with current high fees this is very unlikely).
2. The previous block was found shortly before this one, and miners don't want to risk orphaning their block, so they quickly complete it without transactions. Block 498218 was mined 10 seconds after block 498217, so I think this is the reason.

This makes me curious though: how long does it take the mining pool to select transactions to put into a new block? I would expect this to take only a few seconds, which makes "12.5BTC now" an odd choice if they can get "12.5BTC + 4BTC" a few seconds later.

jnano
Member
**
Offline Offline

Activity: 301
Merit: 74


View Profile
December 08, 2017, 04:49:30 PM
 #4

This makes me curious though: how long does it take the mining pool to select transactions to put into a new block? I would expect this to take only a few seconds
They're all already sitting in memory, and I assume verified. Wouldn't it be more like a ms rather than a few seconds?

Anyway, a short article about it:
https://bitcoinmagazine.com/articles/decline-empty-blocks-has-increased-bitcoins-transaction-capacity/

DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4653



View Profile
December 08, 2017, 05:04:50 PM
 #5

This makes me curious though: how long does it take the mining pool to select transactions to put into a new block? I would expect this to take only a few seconds, which makes "12.5BTC now" an odd choice if they can get "12.5BTC + 4BTC" a few seconds later.

12.5 BTC now is much better than 0 BTC later because someone else solved that block during the few seconds (or few milliseconds) that you were busy building a block full of transactions.

Note that a pool typically has MANY participants.  They need to get hundreds, or thousands, or hundreds of thousands of block headers out to all their participants as fast as possible so those participants aren't sitting idle waiting for the pool to build a block for them.

When a solved block is received, the pool needs to verify that the block and all the transactions in it are valid, then they need to remove all those confirmed transactions from their mempool. Then they can build a new block (or set of blocks) from the remaining transactions in the mempool. It can be faster to instantly send out an empty block to all participants, then while those participants are being kept busy build the full blocks for them to work on next.  Many of those participants will complete their work within a second or two and may receive a full block to work on next.  However, some of those participants may not have as much hash power.  They may take 10 seconds or more before they finish working on their empty block and request a new block (so the pool can give them a full block).  During that time, one of those participants could get lucky and actually solve the empty block they were given.

If you are a pool operator, and one of these slower participants solves a block with 12.5 BTC, are you going to just throw that block away and hope that some other participant will solve a block with transactions before any other pool does?  Or are you going to immediately collect your 12.5 BTC and start the process over to try and get an ADDITIONAL 12.5BTC+fees?
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!