Hi bitcoin, I'd like feedback on a draft that standardizes the policy a co-signer enforces, not the co-signer itself. A co-signer that signs only when a predicate holds is a known way to emulate covenants today. Towns described the multisig version of this in 2021. Recent work (Halseth's blinded co-signers, Chain Code Delegation, predicate blind signatures, bonded co-signers) and products such as Liquidium and Lendasat each define their own policy. A wallet built for one cannot use a co-signer or oracle built for another. The draft is one policy format for that. It covers open verification, blinded verification, and enclave verification, and conditions taken from the transaction or from external attestations. Co-signers must accept DLC oracle attestations, so existing oracles can be evidence sources unchanged. Anything script can enforce is required to be in script. Every policy keeps a spending path that needs no co-signer. Draft BIP: https://github.com/lukecarriere/bip-cosigner-spending-policies/blob/main/bip-cosigner-spending-policies.md I want to know whether this is the right layer to standardize, and comments on the open questions in the draft: - canonical JSON or TLV for the policy serialization - whether blinded verification can be specified from existing blinded MuSig2 and predicate blind signatures, or should wait - whether the statement attestation format belongs here or in the DLC specifications - whether the output expression language is the right size - whether the fallback path must be timelocked, so it cannot bypass the co-signers early Thank you my brothers, Luke Carriere luke@lukecarriere.com -- You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CAFYm%2BPe8_a568_%3DGtHhHMVZUF8j8JSS_eYJEaTSbJnOn-dkCHw%40mail.gmail.com.