Hi,

That's an excellent question, but note that answering such questions is not the primary function of this mailing list. Places like Bitcoin Stack Exchange or even IRC are probably better for that!

Specific to your question: in Taproot Q = P + hash(P||m)*G. The fact that P is hashed together with the message, makes it a commitment. If you try to change m to e.g. m2, then Q - hash(P||m2) will never result in P (unless the hash function is broken).

The original Taproot thread can be found here:
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015614.html

Cheers,
Ruben

On Sun, May 23, 2021 at 7:10 PM vjudeu via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
As far as I know, P2TR address contains 32-byte public key. It can be used directly by creating Schnorr signature or indirectly, by revealing tapscript. Does it mean that any taproot output could be modified on-the-fly after being confirmed without changing an address? I mean, if we have base point as the private key with P2TR address tb1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqqzj3dz, then the owner of that key can modify spending conditions without moving on-chain coins?
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev