vtxPrev [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2011-10-05T13:44:08+00:00


Summary:

In an email exchange on October 5, 2011, Michael Grønager and Gregory Maxwell discussed the code for AddSupportingTransactions. Grønager initially misread the code, thinking that vtxPrev (which stores supporting confirmations) only contains a list up to three confirmations back. He believed that transactions needed seven blocks to maturity before they could be considered respendable. However, Maxwell corrected him, explaining that the software can use older inputs if available, but if not, it will use what it has. The system is also prone to respending its own outputs quickly, trusting that it won't double spend its own transactions.Grønager raised a concern about vtxPrev storing transactions that are three blocks back, questioning its necessity. He argued that transactions becoming invalid after seven confirmations is unlikely. However, it was clarified that transactions do not need to mature for seven blocks before they become respendable. While there is a possibility of deep splits where inputs may have been spent differently in a new split, it is not particularly likely. In such cases, Maxwell suggested retransmitting one of the transaction's parents if it was dropped but not yet impossible.Apart from this discussion, Michael was also exploring the possibility of enabling a split between thin clients holding the wallet and servers holding blocks and transaction database. During his attempt to simplify WalletTx, he came across vtxPrev in the code. He found that vtxPrev stores three transactions back, which he considered excessive since it guards against transactions more than 21 confirmations back. Additionally, there is no guarantee that the transaction owner will be online, and the money could have already been respent. This led Michael to question whether or not vtxPrev is actually needed in the system.


Updated on: 2023-08-01T02:32:44.205644+00:00