Closed nathan-at-least closed 8 years ago
We had a discussion about this just now. There are some subtle user-facing impacts here:
Reorg-Triggered Invalidation: We already have a similar issue whenever re-orgs invalidate JoinSplit anchors, in which case the user experience is transaction reversal where funds are 'returned to original senders' at the reorg point. In the additional case that reorg > coinbase maturity, not only do some of the funds get returned to senders, but some 'evaporate' (although other miners have received a similar amount of funds). In some cases, such as the reversion of a single step of JS xfer, a friendly business may reissue a transfer to make some prior economic trade whole. In the case of longer chains, it's much less clear. I don't see the coinbase maturity making much of a difference compared to the invalidation of JoinSplits.
Wallclock Time as Security Parameter: The maturity level should not only be measured in blocks, because the wall-clock time has two crucial features:
Again, because JoinSplit invalidation exists, this complicates the utility of the coinbase maturity for me.
I've put this in the rc1 release, even though I'm uncertain about it's priority. I'm at least certain that many items in Beta 2 are higher priority.
Document this as we did not change coinbase maturity in beta 2.
@nathan-at-least was this issue satisfied by #1499 or is there more to do?
Documentation in #1499 is sufficient for this purpose.
The longest Bitcoin reorg I know of was this six-hour one in 2012.