Thank you for the producing and publishing this paper (sent you a donation).
Thank you.
Are you considering to publish this elsewhere, submitting it as a conference paper?
Are you associated with a university or an old graduate like myself?
I'm not currently associated with any university, but I originate from the Weizmann Institute of Science, so if I push this forward it may be done in collaboration with them. My thesis advisor is a member of a group that is interested in Bitcoin.
I've never published any papers so I don't know what the procedure would be, and for now I'm sticking to myself and maybe ArXiv.
So assuming that the attacker has no hashing power at all, how easy would it be to mount a double-spending attack against a zero-confirmation accepting merchant? And what can you do to detect a zero-confirmation double spend attack or avoid to accept the transaction if a double-spend is happening?
If the attacker has some minimal hashrate, he can double spend quite easily with the Finney attack.
If not and the attack is based purely on propagation, I should point out that there is already a paper on this subject,
Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin. I haven't studied it in depth.
I agree with your analysis, but would like to add that the client can be modified to respond to queries "Do you know of a transaction that conflicts with T1?". This way, if a peer hears about T1 and then T2, he will not forward T2 to the merchant, but he may respond that he is aware of it, giving the merchant another chance at detecting a possible double-spend.
However, the above raises some questions:
- On a network of N nodes, how many nodes should you be connected to in order to have probability P of getting both T1 and T2?
- How long time should I listen to the network for approach 1 and 2?
- Within what margin should the "propagation-level" be for me to have probability P that the transaction is not a double-spend?
So here is my suggestion: If you write a paper of the same quality on this topic and answer some of the above questions I'll donate 5 BTC to you for your effort. I could imagine that BitPay and others would be interested in your analysis as well.
I think these questions can be answered with some modeling assumptions (and this may have been done in the linked paper). If more is required I'm open to solicitations for further research.
I'll donate 5 BTC to you for your effort.
Thank you again for your generosity. I should point out though that (assuming this is relevant) more pledges would be needed for me to undertake entirely new research at this point.
Interesting... the conclusions presented in the paper seem valid.
I wonder if the devs are already working on this, because it seems serious.
This is out of the scope of the devs, it's a core protocol issue. I think defending against casual double-spenders is certainly feasible. The real problem is with well-funded entities trying to harm Bitcoin with majority attacks.
There are some proposals for alternative systems (e.g. proof of stake), but they are fairly controversial. I think the solution to DoS attacks is a DAG system as was described once by Maged.