ZmnSCPxj [ARCHIVE] on Nostr: š
Original date posted:2019-05-08 š Original message:Good morning Luke, > Is ...
š
Original date posted:2019-05-08
š Original message:Good morning Luke,
> Is there any way to use the Taproot construct here while retaining external
> script limitations that the involved party(ies) cannot agree to override?
> For example, it is conceivable that one might wish to have an unconditional
> CLTV enforced in all circumstances.
Perhaps this can be enforced offchain, by participants refusing to sign a transaction unless it has an `nLockTime` of the agreed-upon "unconditional CLTV".
Then the CLTV need only be on branches which have a strict subset of the participants as signers.
>
> It may be useful to have a way to add a salt to tap branches.
Would not adding `OP_PUSH(<salt>) OP_DROP` to the leaves work?
If you enforce always salting with a 32-byte salt, that "only" saves 3 bytes of witness data (for the `OP_PUSHDATA1+size` and `OP_DROP` opcodes).
Or do you refer to always salting every node?
(I am uncertain, but would not adding a salt to every leaf be sufficient?)
(in any case, if you use different pubkeys for each contract, rather than reusing keys, is that not enough randomization to prevent creating rainbow tables of scripts?)
>
> Some way to sign an additional script (not committed to by the witness
> program) seems like it could be a trivial addition.
It seems to me the annex can be used for this, by having it contain both the script and the signature somehow concatenated.
Regards,
ZmnSCPxj
Published at
2023-06-07 18:18:00Event JSON
{
"id": "a168dea4bcea18896aa9c9adf9c48c5859a8786b5687fc38a02134ef110bbb10",
"pubkey": "4505072744a9d3e490af9262bfe38e6ee5338a77177b565b6b37730b63a7b861",
"created_at": 1686161880,
"kind": 1,
"tags": [
[
"e",
"529e6716629ef4dd1bd1d9c3d84f71d38c914b08c03dc5a4b202d3977e8e4410",
"",
"root"
],
[
"e",
"04056526fd28a59be6aaf5df2f8c2db19d0df7e8f8d25f089d6a4be678bf4560",
"",
"reply"
],
[
"p",
"4505072744a9d3e490af9262bfe38e6ee5338a77177b565b6b37730b63a7b861"
]
],
"content": "š
Original date posted:2019-05-08\nš Original message:Good morning Luke,\n\n\n\u003e Is there any way to use the Taproot construct here while retaining external\n\u003e script limitations that the involved party(ies) cannot agree to override?\n\u003e For example, it is conceivable that one might wish to have an unconditional\n\u003e CLTV enforced in all circumstances.\n\nPerhaps this can be enforced offchain, by participants refusing to sign a transaction unless it has an `nLockTime` of the agreed-upon \"unconditional CLTV\".\nThen the CLTV need only be on branches which have a strict subset of the participants as signers.\n\n\u003e\n\u003e It may be useful to have a way to add a salt to tap branches.\n\nWould not adding `OP_PUSH(\u003csalt\u003e) OP_DROP` to the leaves work?\nIf you enforce always salting with a 32-byte salt, that \"only\" saves 3 bytes of witness data (for the `OP_PUSHDATA1+size` and `OP_DROP` opcodes).\nOr do you refer to always salting every node?\n(I am uncertain, but would not adding a salt to every leaf be sufficient?)\n\n(in any case, if you use different pubkeys for each contract, rather than reusing keys, is that not enough randomization to prevent creating rainbow tables of scripts?)\n\n\u003e\n\u003e Some way to sign an additional script (not committed to by the witness\n\u003e program) seems like it could be a trivial addition.\n\nIt seems to me the annex can be used for this, by having it contain both the script and the signature somehow concatenated.\n\nRegards,\nZmnSCPxj",
"sig": "fe58ea5c7443d1c373f9fbe20c49831c1e1970a3e6765ec7f983f81a0472c887f7b57ce94d232d983bc742140155c634bc068565ad793194d61b2f67bc4e4557"
}