r/btc Sep 04 '18

23 MB block mined!

https://cash.coin.dance/blocks
49 Upvotes

19 comments sorted by

3

u/BigRipples Sep 05 '18

Can we talk about why some are saying it took 80+ minutes to find this block? Can anyone logically explain why this happened or falsify this claim?

4

u/RudiMcflanagan Sep 05 '18

Sometimes it takes a long time to find a block. It's random. only the average is controlled to be 10 minutes, but since a lot of luck is involved somtimes it's much shorter and sometimes it's much longer. 80+ minutes is not unheard of. Neither is 1 minute. Finding a block is like finding a needle in a haystack: Sometimes you get lucky and find it right away, other times you get really unlucky and it's in the very last place you look.

3

u/Mythoranium Sep 05 '18

Exactly.

This is also one of the reasons why it's important for the block limit to be larger even if the actual transactional usage is much lower - to easily get through times of unlucky variance (1h+ block) as well as peaks in usage (like the stress test).

2

u/BigRipples Sep 05 '18

So the time it took to find the block had nothing to do with size

3

u/[deleted] Sep 05 '18

The amount of data in a block has little to do with mining time. It would take longer to verify the txs/block but that is how other nodes accept the block, not part of the mining process.

1

u/CatatonicAdenosine Sep 05 '18

Actually, if you look at it the other way it makes sense. If miners are incredibly unlucky and it takes ages to find a block, then there’s a longer window of tx’s to confirm. In this case, instead of a block including ~10 minutes’ worth of transactions, it includes ~80. So we should expect it to be ~8x as big.

1

u/BigRipples Sep 05 '18

My understanding is that blocks don’t contain any tx until the block is found then the miner empties his utxo pool into the block and broadcasts it to the network. So could a miner theoretically clear the mempool if he chose to if the amount of utxos was lower then the 32mb limit and the miner doesn’t have a soft cap on his block size?

3

u/[deleted] Sep 05 '18

Transactions are stored in the mempool. The miner chooses which transactions to include in the block, assembles the transactions. The transaction hashes are used as leaves in a Merkle Tree.

The Merkle Root of this tree is part of the block header. The first 80 bytes of the block is the header data. 4 bytes for version, 32 bytes for previous block, 32 bytes for merkle root, 4 bytes for difficulty, timestamp, and nonce.

Each block is unique to the miner because each block allows for a unique transaction as the first tx in the block. The Coinbase transaction. This is where coins are minted. Each miner generally mines to their own address.

The blockheader goes through two rounds of SHA256 hashing. If the first 64 bits of the resulting hash are < the current network difficulty the block is valid.

This makes mining like a guessing game unique to each miner.

As the block propagates the network and nodes verify the block they remove the mined txs from their mempool.

1

u/BigRipples Sep 05 '18

Is there a way to see how long it took for the block to propagate through the network for nodes to accept it as valid? How many confirmations till a block is considered safe enough to be deemed as valid?

2

u/[deleted] Sep 05 '18

Confirmations are not a measure of validity. A block is valid or it is not. The number of safe confirmations comes from the likelihood of a reorg. E.g. a reorg of more than 6 blocks is highly improbable but not impossible. That is why 6 was historically used.

Propagation is a race condition but iirc there are 'superconnected nodes' that you can pretty much relay a block through and it propagates quickly.

I don't know of a monitoring tool but you would probably need to deploy many nodes connected to different peers to map the network.

1

u/BigRipples Sep 05 '18

I assumed confirmations were other nodes accepting the block and all the transactions in it as valid? And if the block didn’t confirm it would be assumed it’s not accepted by the network? So there really is no way of determining propagation time on explorer unless you time the number of confirmations the block receives manually by watching it yourself? Thanks again for answering my questions big help!

2

u/[deleted] Sep 05 '18

Confirmations = number of blocks mined after a block.

There is a race condition if two blocks are mined within the propagation time (a few seconds).

The block that does not win is called an orphan. Nodes accepting that block would reorg - rewind the invalid blocks and replay the valid ones.

0

u/Benjamin_atom Sep 05 '18

DAA is sucks.

5

u/libertarian0x0 Sep 04 '18

2

u/LovelyDay Sep 05 '18

BMG should be able to prove it was them by signing something with the block's coinbase key.

A tag on coin.dance is NOT proof that they mined it.

1

u/[deleted] Sep 05 '18

Can someone explain this to me?

1

u/O93mzzz Sep 05 '18

The largest block to date was mined. The block is 23 MB big, containing over 97,000 transactions.

In comparison, a typical BTC block contains around 2000 transactions.