Version 1 witness programs (first draft)



Summary:

The author argues that the clean stack should not be eliminated in order to allow for the possibility of recursive tail-call for general computation capability in the future. However, committing to the number of witness elements is fully sufficient and eliminates problems of not knowing the actual size in bytes at the time of signing. The clean stack must still exist as policy for future soft-fork safety, but being a consensus requirement was only to avoid witness malleability, which committing to the size of the witness also accomplishes. Other future extensions might also have variable-length proofs. Dashjr suggests that committing to the length of the serialized witness data would be possible since signatures are no longer variable-length. Although CLEANSTACK wouldn't have been checked until after the tail-call in the first draft, eliminating it for other possible future purposes is still useful.


Updated on: 2023-06-12T21:26:33.622285+00:00