What is your opinion on where should a person (as a store owner) draw confirmation lines?
Answer in a type like this.
0 confirmations.....for purchases lower than 100$
1 confirmation.....for purchases 100-1000$
2 confirmations...for purchases of 1000-2000$
etc.
Also, i would like to know why have you choose the lines like you did. For example, how much does it cost for the attacker to double spend after 1 confirmation and arguments like that. I havent added them because i do not know them.
Thanks
First step is to make sure that the transaction is reasonably safe:
- Does it pay a reasonable transaction fee?
- Are all the outputs of reasonable size?
- Do all the inputs already have at least 1 confirmation?
- Are the inputs reasonably aged?
- Is your receiving client well connected to many geographically diverse nodes on the bitcoin network?
- Have any of the nodes that you are connected to seen any other transaction that spends any of the same inputs?
- Are there any indications that the blockchain is forked, a single mining entity controls more than 45% of the global hash power, or that there are any other issues with trusting confirmations?
The next thing to determine is if you have any sort of trust relationship with the sender, or if you have sufficient information to identify them if necessary.
If the transaction passes all of these tests, then I would use the following rules:
- 0 confirmations...for purchases lower than $1000
- 1 confirmations...for purchases $1000-$3000
- 2 confirmations...for purchases $3000-$10000
- 3 confirmations...for purchases $10000-$30000
- 4 confirmations...for purchases $30000-$100000
- 5 confirmations...for purchases $100000-$300000
- 6 confirmations...for purchases $300000-$1000000
- 7 confirmations...for purchases over $1000000
If the transaction fails any of the tests listed above, then I would adjust the number of confirmations according to my risk tolerance and the specific test (or tests) failed.
For example
If a transaction fails any of the following, and I don't have a trust relationship with the sender, or sufficient information to identify them then
I would not accept a 0 confirmation transaction at all:
- Does it pay a reasonable transaction fee?
- Are all the outputs of reasonable size?
- Do all the inputs already have at least 1 confirmation?
- Are the inputs reasonably aged?
- Have any of the nodes that you are connected to seen any other transaction that spends any of the same inputs?
Additional example:
If the transaction is from a regular customer, for whom I have a copy of their current government issued ID (such as a drivers license in the U.S.) and it fails any of the following tests, I'd still accept a 0 confirmation transaction for amounts less than $200:
- Does it pay a reasonable transaction fee?
- Are all the outputs of reasonable size?
- Are the inputs reasonably aged?
- Is your receiving client well connected to many geographically diverse nodes on the bitcoin network?
- Are there any indications that the blockchain is forked, a single mining entity controls more than 45% of the global hash power, or that there are any other issues with trusting confirmations?
There are a LOT of conditions that need to be considered when making a business decision about confirmations. It isn't really a simple X confirmations for Y dollars for all businesses.
Here are just a few things to consider:
- What is the profit margin on the merchandise being sold?
- What is the ability of the business to recover the stolen item or prosecute the thief if the transaction becomes invalid?
- How devastating would it be to the business if a single transaction of X dollars becomes invalid?
- What is the relationship with the customer?
- What is the risk tolerance of the business owner?
- What is the maximum acceptable delay between payment and departure?
- Are the customers or business owner willing to consider alternative interactions (For example: customer makes deposit upon entering & receives change when leaving?)
Very nice answer! Would you mind enlightening me where to get this information about the payment you are about to recieve(unconfirmed);
-Does it pay a reasonable transaction fee?
-Are all the outputs of reasonable size?
-Do all the inputs already have at least 1 confirmation?
-Are the inputs reasonably aged?
-Is your receiving client well connected to many geographically diverse nodes on the bitcoin network?
-Have any of the nodes that you are connected to seen any other transaction that spends any of the same inputs?
-Are there any indications that the blockchain is forked, a single mining entity controls more than 45% of the global hash power, or that there are any other issues with trusting
confirmations?
And are they easy to implement into html/php/javascript so that you can create a seller friendly GUI? So they can see if there is anything wrong and then wait for confirmations.