The reason that we want to specify the number of inputs but not the exact inputs is because if we were to specify the exact inputs it creates a hash cycle. This then prevents the opcode from actually being used.
I don't understand what you mean by "hash cycle". Could you explain that further? It sounds like you're saying that if you specify the exact inputs, it would create hash cycle. Are you saying its *possible* to create this hash cycle, or a hash cycle will always happen if you specify the exact inputs?
Well it's strictly redundant insofar as the sequences commits to the length which transitively commits to the number of inputs.
So committing to the number of inputs is redundant if and only if you commit to the input sequence. But not if you don't want to commit to that sequence. Right? I'm trying to clarify my understanding here.
Well it's strictly redundant insofar as the sequences commits to the length which transitively commits to the number of inputs.
I think it's less so that you want a restriction to a specific number of inputs and more that committing the field lets you programmatically select a number of inputs.
I don't understand the distinction you're making there. Restricting to "a specific number of inputs" and "programmatically selecting a number of inputs" sound identical to me. Could you give an example use case for this?
So are you telling me that, no, this isn't the fee issue Greg mentioned, then? I had already read the BIP. It doesn't seem to properly explain what the half-spend problem is, but seems to expect the reader to know what it is already. What is it? An example would help.
Well so you've said stuff that translates to me as "I want to be able to arbitrarily spend the coins in whatever manner I want".
No. What I said translates to "I want to be able to arbitrarily restrict how the coins can be spent in whatever manner I want."
1. There's a kinda clunky way to do this when the other input is non-segwit.
What mechanism is that?
3. This exists presently as locktime is comitted.
The next transaction's locktime cannot be committed to. I assume that's what op_ctv's locktime commitment is as well.
Recommend you watch my BPASE 17 talk
Interesting. I'll need to watch more of the full video to really understand it.