Published on: 2017-09-13T10:03:28+00:00
In a bitcoin-dev email thread, Gregory Maxwell raised the issue of pool inputs being non-reorg safe and whether there is a solution to this problem without implementing a maturity limit for shielded to unshielded. The problem arises from the fact that CT signatures do not sign which pool input they're using. One possible solution suggested was to have miners add the exact CT pool input, which would reduce the reorg risk to double-spends. However, this approach may not be practical as wallets would randomly select the input. The current best solution proposed is to support unshielded coins in the shielded space as well. This means that users can "use" CT even with unshielded outputs, ensuring that the non-reorg safety issue is not a problem. The proposal suggests transitioning out of the pool only when paying to a legacy wallet. If this support is gradually phased in and the pool is only used after wallets have adopted it, the occurrence of transitioning out of the pool would be rare, making a maturity limit less significant.In a related bitcoin-dev thread, Peter Todd discussed spending CT-shielded outputs to unshielded outputs and addressed the issue of pool inputs being gratuitously non-reorg safe. To compensate for the zero value of the CT-shielded outputs, one or more outputs from the CT pool are spent, with any change assigned to a CT-pool output. However, this approach poses a problem as the pool inputs are not reorg safe.The proposed solution, once again, is to support unshielded coins in the shielded space. By doing so, the transition out of the pool would only occur when paying to a legacy wallet. It is suggested that if support for this transition is gradually introduced and the pool is only utilized long after wallets have adapted to receiving payments in it, the need for a maturity limit would be minimized.Both discussions conclude with the question of whether there is a better solution to the problem at hand, indicating that further exploration and brainstorming are needed in order to find the most effective resolution.
Updated on: 2023-08-01T21:52:21.715677+00:00