bitcoin-dot-org / Bitcoin.org

Bitcoin.org Website
https://bitcoin.org/
Other
1.58k stars 2.04k forks source link

Content request: zero-conf transactions #1216

Open kanzure opened 8 years ago

kanzure commented 8 years ago

Bounty: 25,000 bits / ~$250 USD

There is a brief section here that mentions zero-confirmation transactions, but it may not sufficiently cover the topic: https://bitcoin.org/en/developer-guide#verifying-payment and https://bitcoin.org/en/you-need-to-know#instant

I would expect the content to cover topics like: mempools and their relevance to zero-conf transactions, how there is no mempool consensus, chain-committed double spends versus zero-conf double spending, "stuck transactions", risks associated with zero-conf transactions, benefits from CLTV and CSV that can constrain the permissible behavior of some subset of zero-conf transactions, impossibility of instantaneous consensus, ...

... I am sure that I am missing a bunch of topics in this list.

harding commented 8 years ago

I like this idea, but I want to explain why it's not here now and why it probably won't be part of the documentation for a while: the Bitcoin.org developer documentation was originally written for application developers. We've been pretty successful there---I've seen application code that has comments that link to our descriptions of various things.

On the other hand, a lot of the people reviewing the documentation have been Core developers and they've quite reasonably requested more things like this that go into theory so that people can understand the fundamental limitations that influence various design decisions. I love writing that stuff, but I increasingly feel like the existing Bitcoin.org developer documentation doesn't provide the right framework to hold that documentation. I have a better framework in mind, but I haven't had time to start populating it with content (and if I did, it'll take at least 3 months before I had something usable).

luke-jr commented 8 years ago

Note that unconfirmed transactions are unconfirmed, not "zero-conf[irmed]". That being said, I agree it would be nice to have more information on off-chain transactions (including both unconfirmed and Lightning instant-confirmed).