Pages:
Author

Topic: Why 6 comfirmation? (Read 292 times)

legendary
Activity: 1064
Merit: 1228
June 14, 2024, 04:33:07 PM
#25
-snip-
Crypto casinos can afford that luxury because they are in total control of the coins on their platform and you are just gambling with digits on a screen. Some casinos accept 0-confirmation transactions. You can play as soon as their system recognized the receiving transaction. It doesn't need to be confirmed. But if you get lucky and win, your deposit transaction has to confirm before you can withdraw your winnings. They can't lose their own money by accepting unconfirmed transactions. Only the players can lose.
Honestly - I've heard of casinos that operate their service like that, but forget what the name of the casino is. Of course - when a casino or certain service has allowed its customers to see the balance in the wallet before the transaction is confirmed, then they have prepared terms and conditions before the customer withdraw their money. Casinos don't want to lose - every feature should benefit them from a business perspective.
legendary
Activity: 2730
Merit: 7065
June 14, 2024, 11:49:24 AM
#24
I remember that years ago it was 6 confirmations and then slowly people started to accept 3 confirmations and then some businesses, mostly casinos risked accepting transactions with 1 confirmation. I personally think that 3 confirmations is enough and 6 only delays the access to funds.
Crypto casinos can afford that luxury because they are in total control of the coins on their platform and you are just gambling with digits on a screen. Some casinos accept 0-confirmation transactions. You can play as soon as their system recognized the receiving transaction. It doesn't need to be confirmed. But if you get lucky and win, your deposit transaction has to confirm before you can withdraw your winnings. They can't lose their own money by accepting unconfirmed transactions. Only the players can lose.
legendary
Activity: 2380
Merit: 5213
June 10, 2024, 10:41:09 AM
#23
So, If I understood correctly, Foundry USA can remove block that they mined. There might be a case when they mine two blocks in a row and they'll be able to remove both blocks from the blockchain, right?
No, you didn't understand it correctly. It doesn't matter who has mined the block and it's not that a mining pool can remove the blocks mined by themselves.

Keep in mind that the winning chain is always the one that has the most work. To remove a block from the blockchain, the dishonest mining pool have to create a new chain that doesn't have that block and has the most work.
Read my previous post, please.
hero member
Activity: 882
Merit: 792
Watch Bitcoin Documentary - https://t.ly/v0Nim
June 10, 2024, 10:29:06 AM
#22
Just need clarity, can big players like Foundry USA actually alter transactions on the blockchain? Is this really possible?
Foundry USA or any other mining pool can try to remove a block from the blockchain and they will be able to do so, if they are lucky enough.
Take note that even if they manage to remove a block, that doesn't mean they can steal the fund you sent to someone. Your transaction will be included in another block.

Is there any chance any of mining pools try to do so?
That's very unlikely. They won't do something that can damage their reputation. Also, it's very expensive to perform such an attack and it's more profitable to be a honest miner.
So, If I understood correctly, Foundry USA can remove block that they mined. There might be a case when they mine two blocks in a row and they'll be able to remove both blocks from the blockchain, right? So, technically, 6 confirmation means that there is a very low chance that any miner or pool will mine 6 blocks in a row and that's why 6 confirmation is considered to be a safe choice. Am I right here? If this is the case, then should Bitcoin have beeen made in a way that it will 100% prevent one miner/pool to mine, discover 6 blocks in a row? For better security?
I agree with you that it would be very stupid if any mining pool, especially large one decides to perform such an attack.

jr. member
Activity: 26
Merit: 10
June 10, 2024, 05:37:37 AM
#21
Just need clarity, can big players like Foundry USA actually alter transactions on the blockchain? Is this really possible?
Foundry USA or any other mining pool can try to remove a block from the blockchain and they will be able to do so, if they are lucky enough.
Take note that even if they manage to remove a block, that doesn't mean they can steal the fund you sent to someone. Your transaction will be included in another block.

Is there any chance any of mining pools try to do so?
That's very unlikely. They won't do something that can damage their reputation. Also, it's very expensive to perform such an attack and it's more profitable to be a honest miner.
Okay, this makes sense to me now. I don't think a large mining pool would want to tarnish their reputation as the chances of succeeding with the attack is still very slim.

The blockchain is a system of verification not trust.
Oh! Got this one now. Thanks for the correction.
legendary
Activity: 3612
Merit: 2506
Evil beware: We have waffles!
June 09, 2024, 12:39:43 AM
#20
It should be added that new coins generated by mining require a full 100 confirmations before they can be spent.
100 confirmations exclusively for miners? This is something new for me. I don't understand why there is such a difference between mined and transacted coins.
It is to be 100% certain that the new coins are and will remain valid. Having coins invalidated by a reorg caused by orphan races or other event would quickly snowball into untold number of tx's using them becoming invalid as well. Because they are buried so deep before they can be spent they are in theory 100% safe from all even remotely foreseeable chain reorganizations. Considering only pools and solo miners have to deal with the ~1000 minute wait before coins can be distributed (pools) or used (solo) it is not a problem.

Same 100% safety of course applies to normal tx's as well but most folks/businesses feel comfortable with 3-6 confs because it is of course faster and reorgs due to orphan races stretching deeper than that is extremely rare: As I recall, possibly only happened once a very long time ago? Plus of course any invalidated tx's will just be put into other blocks to be confirmed later. Newly minted coins do not have that backup mechanism as they are a 1-time event.
hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
June 08, 2024, 06:04:52 PM
#19
Does that mean they wasted all the resources that they dedicated to mine that block?
Yes, exactly, they wasted energy for hashing, they lost around 6.25+x bitcoins per block that they could've gained if their blocks haven't been invalid.

Invalid blocks 783426 and 784121 were mined by F2pool with little too many SigOps, bummer! See interesting discussion here: https://b10c.me/observations/11-invalid-blocks-783426-and-784121/

Invalid block 809478 was mined by MARA pool and was invalid due to faulty transaction ordering. Very uncommon. See interesting analysis here: https://b10c.me/observations/07-invalid-block-809478/
legendary
Activity: 2380
Merit: 5213
June 08, 2024, 04:17:56 PM
#18
How exactly can they remove transactions from the blockchain? I thought it wasn't possible.
Let's say your transaction has been included in block number n and that's the most recent block.
A dishonest mining pool mine a new block on top of block number n-1 without including your transaction. Now we have two chains. Chain A has your transaction and chain B doesn't have your transaction.
If the dishonest mining pool manage to mine a new block and add it into chain B, it would the winning chain and your transaction would no longer be in the blockchain.
hero member
Activity: 2268
Merit: 870
June 08, 2024, 04:08:28 PM
#17
There is a lot of very good information. I remember that years ago it was 6 confirmations and then slowly people started to accept 3 confirmations and then some businesses, mostly casinos risked accepting transactions with 1 confirmation. I personally think that 3 confirmations is enough and 6 only delays the access to funds.

At the time I am writing this post, Foundry USA is the biggest mining pool with 26% of the total hash power. Assume that Foundry USA turn evil and decide to remove a transaction from the blockchain.
How exactly can they remove transactions from the blockchain? I thought it wasn't possible.

It should be added that new coins generated by mining require a full 100 confirmations before they can be spent.
100 confirmations exclusively for miners? This is something new for me. I don't understand why there is such a difference between mined and transacted coins.

There are even invalid blocks recorded where the miner's software fucked up and assembled and mined a block with too many SigOps rendering the block invalid and discarded by other nodes. Very rare and shouldn't happen, but software and bugs...
Does that mean they wasted all the resources that they dedicated to mine that block?
hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
June 07, 2024, 06:44:16 PM
#16
~~~
Have a look at https://fork.observer/ (you might need to drag the graph or zoom out a bit to see recent reorgs).

Occasionally two miners or rather mining pools find a new block at roughly the same time. Each pool broadcasts its new block but block propagation isn't instant. Some mining pools see new block1 first, other pools see new block2 first and the other new block little later. Which new block "survives" will depend at which of these chain forks the next new block will be connected.

The chain with the most cumulative work wins. The mostly one block leaves that loose are ignored, but nodes can still record them in their blockchain data, only that such "abandoned" blocks and their transactions are not accounted to the coinstate.

If you run your own Bitcoin node, you can request details of all chaintips and leaves with the RPC command getchaintips.

One of my longer running nodes gives this output:
Code:
$ bitcoin-cli getchaintips | jq
[
  {
    "height": 846946,
    "hash": "00000000000000000001261cae018c5aa025ccfd52de0a74afb225a4d498a8bc",
    "branchlen": 0,
    "status": "active"
  },
  {
    "height": 845627,
    "hash": "0000000000000000000011018adf88550ea5d3e90ed0cfba89976aebc4e7f098",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 829613,
    "hash": "0000000000000000000357088139cba6dc295875d7d3b2dd1fd764705727e451",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 827853,
    "hash": "00000000000000000002c7de4016a0d09a47c19075cb73947e7f66e3461efd27",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 826152,
    "hash": "00000000000000000000d4e6d4c176163b6c0608aee462ada8dd95b2e694dea1",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 823226,
    "hash": "0000000000000000000365e705dbbea406f6e383f510d400fa23e40eae71e056",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 822941,
    "hash": "00000000000000000003aaaacecbebd40417c2e6c39b5774a8a212d5b324052b",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 822261,
    "hash": "00000000000000000003cc5fcca883d8474fe09d4d5fbbaaf526a201c61be2fb",
    "branchlen": 1,
    "status": "headers-only"
  },
  {
    "height": 819343,
    "hash": "0000000000000000000262af3fb1dd3bc62ad5a119c48a57267a3b96145ce82c",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 818038,
    "hash": "000000000000000000029afbc6cbd660df5548a90ca9202e80866c5c680f29e4",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 816358,
    "hash": "00000000000000000001d5f92e2dbbfcbc1e859873117e7983dd574857da5e14",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 815202,
    "hash": "0000000000000000000093917031004a140b6db5c6adec217f814db98d7f0bde",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 813210,
    "hash": "000000000000000000021c9f203786c0adcd7ae9a68a25d5e430d2a3dba613d5",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 811703,
    "hash": "0000000000000000000270d5eed2457bf394e45f5035c1d721f4f3ccecbb2ba5",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 809478,
    "hash": "000000000000000000006840568a01091022093a176d12a1e8e5e261e4f11853",
    "branchlen": 1,
    "status": "invalid"
  },
  {
    "height": 804900,
    "hash": "00000000000000000004c20bfe0ed1a9b714fbc07710531b8252dc998f9ccd67",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 803389,
    "hash": "00000000000000000002ea858e57fc91ec34ae26a1d2a53720d7d4e08334fba2",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 800786,
    "hash": "000000000000000000020e419bbdd75f21609d5a050a24bafe45b73a1574127d",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 792379,
    "hash": "000000000000000000032956cbfd8721abe0572d81542e75e38e6185312bee09",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 789603,
    "hash": "00000000000000000002cf6c7ae527fb21ce7721a7772c1da2998aa866b8a37a",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 789147,
    "hash": "000000000000000000044390f8c5e9cfec8b27ba6d876d3cb7986b961f0eb30d",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 789135,
    "hash": "0000000000000000000271e983f5999ee41b8fada533ffeb77a750e7d3a47c31",
    "branchlen": 1,
    "status": "headers-only"
  },
  {
    "height": 788837,
    "hash": "00000000000000000002f51100fafb5c60b2dc9623554c219afef3cf398cecbe",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 788805,
    "hash": "0000000000000000000313dae7541b4c58e93832ddeaf96f8d6a5b5f8157d494",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 784121,
    "hash": "000000000000000000046a2698233ed93bb5e74ba7d2146a68ddb0c2504c980d",
    "branchlen": 1,
    "status": "invalid"
  },
  {
    "height": 783830,
    "hash": "0000000000000000000366d2c12772a350f507879a5325203424e58ec440249b",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 783478,
    "hash": "0000000000000000000446f7d3093688ae697386fed3f52a63812678ea6b251d",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 783426,
    "hash": "00000000000000000002ec935e245f8ae70fc68cc828f05bf4cfa002668599e4",
    "branchlen": 1,
    "status": "invalid"
  },
  {
    "height": 782129,
    "hash": "000000000000000000036f461ab63c78f08401d3907a67fd2237166d8a373193",
    "branchlen": 1,
    "status": "headers-only"
  },
  {
    "height": 781487,
    "hash": "0000000000000000000125e5d7c0d2e1b83982e5284ea21e08f5a73b8109d41b",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 781277,
    "hash": "0000000000000000000388f42000fa901c01f2bfae36042bbae133ee430e6485",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 772981,
    "hash": "0000000000000000000682990a0dae862b48e0451d619938215dd47ed9560200",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 763445,
    "hash": "000000000000000000065d0f6847466feeeaffa9663895cedde33aa12c262e00",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 759781,
    "hash": "000000000000000000025edbf5ea025e4af2674b318ba82206f70681d97ca162",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 733430,
    "hash": "00000000000000000006ead1cff09f279f7beb31a7290c2a603b0776d98dc334",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 730848,
    "hash": "000000000000000000029ec31578132d01696910f299f8d104f29b8f8bbdc24f",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 723102,
    "hash": "00000000000000000006a970fdd8e537521747aff917d909bf3a78b4b68143e1",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 714637,
    "hash": "00000000000000000009f819d004fea5bcb77bda25f4906d0a39e79c9ba19590",
    "branchlen": 1,
    "status": "valid-fork"
  },
  {
    "height": 705970,
    "hash": "00000000000000000002328fe71f98eff128c9566bbf344d76234570b4a96e69",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 697008,
    "hash": "000000000000000000077247c3ca9bae18511418667c4562fc6f92477b5d339e",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 696145,
    "hash": "00000000000000000007c8948e5a89cd01804b7e5c6f454597c49d5b3b368b66",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 694157,
    "hash": "00000000000000000006e24bdc5c1875fa40909ace270fb2b8756ac652ede82d",
    "branchlen": 1,
    "status": "valid-headers"
  },
  {
    "height": 693118,
    "hash": "00000000000000000011563e0ffef300d61465d69c92875e510050fc332bbe99",
    "branchlen": 1,
    "status": "valid-headers"
  }
]

There are even invalid blocks recorded where the miner's software fucked up and assembled and mined a block with too many SigOps rendering the block invalid and discarded by other nodes. Very rare and shouldn't happen, but software and bugs...
legendary
Activity: 2030
Merit: 2174
Professional Community manager
June 07, 2024, 11:14:00 AM
#15
I thought once a transaction is recorded on the blockchain (which is a system of trust), it becomes impossible for it to be altered or removed as the case may be.
The blockchain is a system of verification not trust. But once a transaction is confirmed in the blockchain it is still possible for a pool with a large enough percentage to attempt to remove it. The more confirmation, the more the block gets buried under other confirmed blocks which were created with proof of work and the more computing power a malicious power will need to attempt a reorg.

We're talking in terms of a humongous amount of money and the obvious risk to your reputation for no guarantee that the malicious attempt will be successful. It's a no brainier to work honestly on the network.
hero member
Activity: 714
Merit: 537
June 07, 2024, 09:29:24 AM
#14
In most of the exchanges, a transaction must have 3-6 comfirmation before your transaction can be consider deposit. They don't release Bitcoin you deposit until that comfirmation is reach before they allow you to do anything with that Bitcoin, you may be allow to trade it with one comfirmation but you can't withdraw it unless that comfirmation is complete. Why?

Second question, is a transaction with 1 confirmation reversible? What are the chances of 1 confirmation Bitcoin reversible?

Well under normal circumstances no, a transaction is not reversible. But this is done to avoid loss in case a pool decides to act up.
It's just that as the number of confirmations increase, the probability of a transaction getting reversed goes down.

Keep in mind that the 2 biggest mining pools control a good chunk of the hashrate. So exchanges would rather just wait for 6.
And also, the 6 confirmations concept has been around for the longest of time that crypto users just got used to it as the norm and no one bats an eye. 
legendary
Activity: 2380
Merit: 5213
June 07, 2024, 09:25:28 AM
#13
Just need clarity, can big players like Foundry USA actually alter transactions on the blockchain? Is this really possible?
Foundry USA or any other mining pool can try to remove a block from the blockchain and they will be able to do so, if they are lucky enough.
Take note that even if they manage to remove a block, that doesn't mean they can steal the fund you sent to someone. Your transaction will be included in another block.

Is there any chance any of mining pools try to do so?
That's very unlikely. They won't do something that can damage their reputation. Also, it's very expensive to perform such an attack and it's more profitable to be a honest miner.
jr. member
Activity: 26
Merit: 10
June 07, 2024, 09:12:02 AM
#12
Second question, is a transaction with 1 confirmation reversible? What are the chances of 1 confirmation Bitcoin reversible?
The more confirmations a transaction receives, the less probablity it has to be removed from the blockchain.

At the time I am writing this post, Foundry USA is the biggest mining pool with 26% of the total hash power. Assume that Foundry USA turn evil and decide to remove a transaction from the blockchain.

If the transaction has only 1 confirmation, there would be a probability of 54% that Foundry USA manage to remove the transaction from the blockchain. The probablity would be 34%, if the transaction has 2 confirmations and 22%, if it has 3 confirmations.
If the transaction receives 6 confirmations, the probablity would be 6%.

I thought once a transaction is recorded on the blockchain (which is a system of trust), it becomes impossible for it to be altered or removed as the case may be.

From your reply, it's obvious there's more I need to know about blockchain and confirmations of bitcoin transactions. Just need clarity, can big players like Foundry USA actually alter transactions on the blockchain? Is this really possible?
legendary
Activity: 3612
Merit: 2506
Evil beware: We have waffles!
June 06, 2024, 08:58:24 PM
#11
It should be added that new coins generated by mining require a full 100 confirmations before they can be spent.

per https://en.bitcoin.it/wiki/Confirmation
Quote
There is nothing special about the default, often-cited figure of 6 blocks. It was chosen based on the assumption that an attacker is unlikely to amass more than 10% of the hashrate, and that a negligible risk of less than 0.1% is acceptable. Both these figures are arbitrary, however; 6 blocks are overkill for casual attackers, and at the same time powerless against more dedicated attackers with much more than 10% hashrate.[1]

Freshly-mined coins cannot be spent for 100 blocks. It is advisable to wait some additional time for a better chance that the transaction will be propagated by all nodes. Some older bitcoin clients won't show generated coins as confirmed until they are 120 blocks deep.
sr. member
Activity: 378
Merit: 519
Math + Code = Blockchain 😁
June 06, 2024, 07:19:10 PM
#10
Just like hosseinimr93 mentioned, as the number of confirmations of a particular transaction increases, the probability of having that particular transaction dropped from the block chain gets thinner and thinner. The reason is because the Bitcoin block chain is more like data including transactions, POW etc being stacked with a particular chain pattern from the genesis block at the base or foundation level to the latest block at the peak or top level.

As newer transactions are confirmed and new blocks are added to the block chain it becomes more and more difficult to alter older blocks since the most recent ones have to also be altered consecutively to be able to alter an older block. 6 confirmations puts a transaction on a safer side.
staff
Activity: 3374
Merit: 6530
Just writing some code
June 06, 2024, 06:45:51 PM
#9
The number of 6 confirmations comes from Satoshi. When the original Bitcoin client was released, it would only show a transaction as being settled when it had 6 confirmations. Since then, everyone has basically used this as the bar for acceptance of a transaction.

The value of 6 confirmations comes from a probability calculation. Since Bitcoin allows for the entire blockchain to be reorged and replaced with a different one if the replacement has more work than the original, the question becomes what is the probability of a reorg of N blocks by a malicious miner. This entirely depends upon the hashrate of the malicious miner and how lucky they are. You can read Satoshi's calculations in the white paper for this, and he ultimately concluded that 6 was good enough and that's what was implemented.
legendary
Activity: 1820
Merit: 2162
The Alliance Of Bitcointalk Translators - ENG>SPA
June 06, 2024, 02:11:15 PM
#8
Very interesting information. I was aware that 1 confirmation was not enough to be sure because, as you said, there is some unwritten rule about the 6 confirmations that are the standard in the industry. But I didn't know that even 6 confirmations weren't enough to be 100% sure.

For the average Joe's everyday transactions even one confirmation could be enough, but imagine if one of these multi-million dollar transactions between exchanges or very big players was reversed.
hero member
Activity: 728
Merit: 897
June 06, 2024, 11:55:27 AM
#7
I have always wondered and asked myself this question too, so my guess is that they use that method to prevent whatever they can, maybe the risk of double spending, which I don't even think is possible as long as the deposit has undergone one confirmation.
 
And as far as I know, any bitcoin that has at least 1 confirmation can't be reversed back to the sender or double spend. This is what I know, and if I'm wrong, I stand to be corrected.

Yes you’re right a transaction that has already been confirmed cannot be reversed or double spend except on a rare occasion if there is a chain reorganization. This is when the network takes the long chain of work or the chain with most work power over the other. If your transaction already happens to be in the shorter chain then it can be reversed if it’s dropped for the longer chain.

There is also the issue of higher hash power attack which its probability grows as per number per of confirmation. Check the posts above.
full member
Activity: 420
Merit: 120
June 06, 2024, 11:44:18 AM
#6
Some questions like what is chance of reverse transactions after 10 confirmation, how many confirmations is needed to be sure 99.9% that your transaction wil not be reverse, and answers for you.

[Quiz] Answer the Bitcoin question and earn merits! #1
[Quiz] Answer the Bitcoin question and earn merits! #3
Pages:
Jump to: