public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: ZmnSCPxj <ZmnSCPxj@protonmail•com>
To: Andrew Melnychuk Oseen <amo.personal@protonmail•com>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Relative txout amounts with a Merkleized Sum Tree and explicit miner fee.
Date: Mon, 21 Nov 2022 23:52:00 +0000	[thread overview]
Message-ID: <Kcqi_Svol1F4H8rGnnECZXRkb5Aa_763DlNUP4froIqLovFk-SrOnWXC5ZPtfRjzHb55_BTe07h6PH5OdaY2zpNPNTix__bqYiBIEw2IbjA=@protonmail.com> (raw)
In-Reply-To: <zKbMpqEqH6Z4p1GE2rlsOky1fMPBsEFGaeNk8WIcbez__-fR3ahnYEWOgExHC8KXAYCqtt4gMa7WBXkNSqL6fO9sjsvyu9AZRPQIQADqthg=@protonmail.com>


Good morning Andrew,

> 
> 
> Can output amounts be mapped to a tap branch? For the goal of secure partial spends of a single UTXO? Looking for feedback on this idea. I got it from Taro.


Not at all.

The issue you are facing here is that only one tap branch will ever consume the entire input amount.
That is: while Taproot has multiple leaves, only exactly one leaf will ever be published onchain and that gets the whole amount.

What you want is multiple tree leaves where ALL of them will EVENTUALLY be published, just not right now.

In that case, look at the tree structures for `OP_CHECKTEMPLATEVERIFY`, which are exactly what you are looking for, and help make `OP_CTV` a reality.

Without `OP_CHECKTEMPLATEVERIFY` it is possible to use presigned transactions in a tree structure to do this same construction.
Presigned transactions are known to be larger than `OP_CHECKTEMPLATEVERIFY` --- signatures on taproot are 64 bytes of witness, but an `OP_CHECKTEMPLATEVERIFY` in a P2WSH reveals just 32 bytes of witness plus the `OP_CHECKTEMPLATEVERIFY` opcode.

Regards,
ZmnSCPxj


  reply	other threads:[~2022-11-21 23:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-18 21:11 Andrew Melnychuk Oseen
2022-11-21 23:52 ` ZmnSCPxj [this message]
2022-11-26  0:12   ` Rijndael

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='Kcqi_Svol1F4H8rGnnECZXRkb5Aa_763DlNUP4froIqLovFk-SrOnWXC5ZPtfRjzHb55_BTe07h6PH5OdaY2zpNPNTix__bqYiBIEw2IbjA=@protonmail.com' \
    --to=zmnscpxj@protonmail$(echo .)com \
    --cc=amo.personal@protonmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox