I have been reading a lot about this 10 minute block in the Bitcoin network. I'm slightly confused because I thought mining was a somewhat random process, mostly based on how powerful your mining facilities are.
Correct, and because its random, its theoretically possible to mine the next block within seconds, it could even be the first hash you try. Its just probability, the 10 minutes is the average block time.
So if I had a quantum computer and could really churn through calculations, couldn't I mine a block faster than 10 minutes? Or is there something in the network taht would prevent me from submitting my mined block until 10 minutes had passed since the last mined block?
This is somewhat unrelated to the randomness, because a more powerful computer can try more hashes anyway so is more likely to find a valid block sooner, yes. But this is the purpose of the mining difficulty. The difficulty changes once every 2016 blocks to keep the time roughly 10 minutes average. If blocks are mined too quickly, the difficulty will increase so it again takes 10 minutes on average.
Also note that quantum computers are a very unlikely threat to bitcoin mining. Quantum computers aren't just better at everything, there is quite a lot of hype around them without foundation :)
Can you please share the statistical assumptions of that time? I guess the 10 minutes is a mean right? What is the rule to update the difficulty? – user_Lee – 2018-01-06T00:18:36.650
The time between blocks follows a negative exponential distribution, with mean 10 minutes. – Pieter Wuille – 2018-01-06T07:38:17.620
Where does the difficulty target come from? Is that set by the Bitcoin algorithm, kind of like how the number of Bitcoins given as a reward halves every so often? – Dave – 2018-01-07T18:30:06.613
@Dave: Yes, it's set by the algorithm. It is calculated by a prescribed formula from the timestamps of previous blocks, which provide an estimate on the hash rate of the entire network. – Nate Eldredge – 2018-01-07T18:35:46.577