~1 confirm is like a magic number.
it may look like a magic number but there is a good reason for it. it is decided based on how
Proof
of
Work works, when a new block is found and added to the blockchain, in order to "reverse" the transactions inside that block (the transactions that currently have 1 confirmation) you need to have more than 51% of the hashrate. with current total hashrate it will cost you millions of dollars worth of equipment and electricity to create a longer chain orphaning that block and building your own longer blockchain. which is why we consider a transaction with 1 confirmation to be very safe in bitcoin.
in comparison, in other altcoins the same number is a much higher one depending on how their PoW state is (difficulty, hashrate, orphan rate,...).
Well let's talk about the consumer for a moment. He does need to know what a transaction SHOULD cost. How much? I'm guessing that wallet software calculates fee averages based upon recent transactions to suggest what to use.
correct.
Back to transaction confirmations - I understand we are talking about the number of confirmations that a consensus of nodes having been polled agreed that this block (let's call it "B") is the next block on the blockchain (a long list of blocks ending with "A").
nodes don't come to an agreement (if that's what you meant) when it comes to blocks. a block is either valid or not and the blockchain that a node accepts is the longest one.
That should take at least 8-10 minutes per confirm (although I see videos of it taking much less than that such as on blockchain.info - how?)
The other concern I have is with is the potential for network latency, such as dealing in a country which doesn't have the greatest of network infrastructure (and perhaps a large number of bad acting nodes). If a consensus was reached that block B is the next block (...A-B) it's possible that nodes in a certain region may not see that another miner has presented A-C-D and my transaction, which was contained in B but not in C and D, can be tossed back to the mempool to start the cycle again and this situation can repeat itself. Thanks again very much.
let me try to explain how mining works, maybe that answers these questions:
mining is like a competition. let say person 1, 2 and 3 are all mining bitcoin. what they do is that they perform a hash (SHA256) repeated times until they come up with a correct hash that satisfies some conditions (don't get into that). that takes time. the first person to find that solution "wins", then they have to send it out to the rest of the network, which they do. so lets say person 2 found the solution and sent it out. now in matter of seconds (you are sending about 1.2 MB of data) most nodes find out about it and so do person 1 and 3. so they immediately give up the work and start working on the next block to try and "win" the next race. but if they continue working on the same solution they can come up with the answer (a different one) and create a different block which they can send out to the network. (to address your last two statements: person 1 and 3 were working on the same problem so the block they found contains nearly the same transaction, so your tx didn't get tossed back to mempool, there is a good chance they also have your tx in their block) but the problem is that now that they are sending the solution out to the network, the nodes already have a block and this new block is going to be rejected by them.
we don't need to reach any consensus to decide whether this new block should be accepted or not, this block has been too late, and if anybody continues building on it they will end up with a "shorter" blockchain because they started it late and the rest of the network that received the block found by person 2 are already ahead and have the longest chain which is the one everyone should follow.
now the thing about less than 10 minute is that as i said process of mining is to hash some data and find a solution. so this is somewhat based on chance. so sometimes you find that solution so much faster which is why there is sometimes blocks that are found sooner than 10 minutes. this is not common because the hash size is 256 bit (SHA256) and the chances of it are small.