Delivery-date: Thu, 02 Oct 2025 09:17:28 -0700 Received: from mail-oo1-f63.google.com ([209.85.161.63]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1v4Lzj-0007iD-H6 for bitcoindev@gnusha.org; Thu, 02 Oct 2025 09:17:28 -0700 Received: by mail-oo1-f63.google.com with SMTP id 006d021491bc7-6448ae9de5bsf1255767eaf.0 for ; Thu, 02 Oct 2025 09:17:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1759421841; x=1760026641; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:sender:from :to:cc:subject:date:message-id:reply-to; bh=ag7Rx93r5D/G+zqPYV224euvTde8KkSo/kfBIrVaYv8=; b=n5kDyp/+vBSqcHV06j9/ZNW2KBcNiwV/G5YBeETJZEzU0DDaf/RPzEEGQ+7Of//J96 egWUDA6Xubi8EcTIwAVWvpcNxUPGyR2FlhtG0ZKrORW2UD5wsjeWDZxQ8SZvERU9ZIdO imE0sS3+R5kn0F1i0RCbIDrNn4h2pZ1orkIU0rhM5oBd2TReEtuiMQUmJouxcgG9en0b Q4AxGLx4XrPMHIZF068zqUdxTA3V9pasTC8zgpPg1+RAo7lSKcAAYF2J+R06od4Y/Z2U bjZAmQfSmCHPmaEc8qq0kNJPlX39ZPzzwbeNefsPrErhaffsenMxQtUgMMePZW7GTIEf 6ECg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759421841; x=1760026641; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=ag7Rx93r5D/G+zqPYV224euvTde8KkSo/kfBIrVaYv8=; b=G7TDhGdJhZkxUQqrtUygdSiPLB1QgR5KxivizLn3Nc7uBd9CMTAEaQ4BPRay4KC0dH bzzRHQO1Fjjp2UpTLI50ME+q3F1B3d1w3vyBLLJ4JYqqRNZDT+cqTIN50bd2Odx48/Eg +wQZrMzmlo0eYyueelt5FZdwED2DHxDEKmXXVPQGGJk57QQnmdpEgDh5lxy2viYYfcwc Z8Ga5xolO2HgC7sdAqInoX4peFpRp3AYves2ZS4NuyJt/5thgeTUdZlQH8CibCtdM+qV 3jyUX41Z68nUYj7rgad+vCFHLLQNwCUGN21qEAgHGCSaDxaQsCitzvTojII1lCFFvNZM XENg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759421841; x=1760026641; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=ag7Rx93r5D/G+zqPYV224euvTde8KkSo/kfBIrVaYv8=; b=iqguje8FrTM7Izyourz3N96AbAnrLcJb0+q7H1KugQLdNM3z8/0dzoPkuYhV+28Yb4 ulDjssfmkPe+ft/j8pKWRyzCDtpZWeipuMoxvS2qkOEUgYIHFUdiFEtndacxIFPezmRF 3NBrF0s9IebzNmcWpQQrTLBFDnkiPeETncvGmwMzJZcEkHMkdfV3qUtsI+BRnTTrbX5B U07PO3PGS+j9G9rAW4zYxcs9+kUcCJ88hu5MDEv20abFYGPkrTqqAasVXrkPaBtZhY2u sd29QE8dVk5epR8KGOQ3bAYHzWYf67KpN7Ou9QdVWkZVG3IaeIqmyDnp3tUDKwHEkYvK ZhHw== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=1; AJvYcCUP+kC0mbusKaFu1jZxvyBdPRhg7+2Cp2wdEF+WqtCbUwOG69wxSlfMttwWuJReZdJib1D3vJvX5MRk@gnusha.org X-Gm-Message-State: AOJu0Yyc9479zY9q+FAwmnMiyTfaJtumQ6jTjlXbOwwkd1Lp+5YQErbB uQnrJ5nE4nJ1Xu5/xD+CzZt17CGG87n4bWJ+QBzJFfAuO4BwhwRGeuyT X-Google-Smtp-Source: AGHT+IH3JX3Y+ldjzHNnrLfYYPB943x7LUqbDjFXk6viw5jenm20Tua8JE6aMe1CRB5mAAkKF6pC6Q== X-Received: by 2002:a05:6870:a18b:b0:356:a211:e445 with SMTP id 586e51a60fabf-3b0f470a2b9mr107281fac.18.1759421840591; Thu, 02 Oct 2025 09:17:20 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h="ARHlJd4RaHjZKJ83h67l7NmGpvQexgqa8T5kJWyQViUueeKeGA==" Received: by 2002:a05:6871:a219:b0:34c:97cf:52e with SMTP id 586e51a60fabf-3ad2826644bls305746fac.2.-pod-prod-02-us; Thu, 02 Oct 2025 09:17:14 -0700 (PDT) X-Received: by 2002:a05:6808:1710:b0:43f:9c1d:ae82 with SMTP id 5614622812f47-43fa40be4a3mr3573097b6e.2.1759421834778; Thu, 02 Oct 2025 09:17:14 -0700 (PDT) Received: by 2002:a05:690c:3383:b0:720:768:1935 with SMTP id 00721157ae682-77f9419d23cms7b3; Thu, 2 Oct 2025 08:56:02 -0700 (PDT) X-Received: by 2002:a05:690c:2608:b0:739:b67c:fcc6 with SMTP id 00721157ae682-77f942b14e2mr1201007b3.17.1759420561636; Thu, 02 Oct 2025 08:56:01 -0700 (PDT) Date: Thu, 2 Oct 2025 08:56:01 -0700 (PDT) From: waxwing/ AdamISZ To: Bitcoin Development Mailing List Message-Id: In-Reply-To: <2e366b25-f789-4c9d-acf9-b87149d6a796n@googlegroups.com> References: <0f6c92cc-e922-4d9f-9fdf-69384dcc4086n@googlegroups.com> <2e366b25-f789-4c9d-acf9-b87149d6a796n@googlegroups.com> Subject: Re: [bitcoindev] On (in)ability to embed data into Schnorr MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_295280_39685520.1759420561201" X-Original-Sender: ekaggata@gmail.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) ------=_Part_295280_39685520.1759420561201 Content-Type: multipart/alternative; boundary="----=_Part_295281_1049530429.1759420561201" ------=_Part_295281_1049530429.1759420561201 Content-Type: text/plain; charset="UTF-8" > > 12% embedding rate > Where do you get that number from? 33% for embedding 256 bits in (P, R, s) (but as per this discussion, according to me, at the cost of key leakage). If we include the other bytes in a (taproot anyway) utxo that's not much less, I guess 30% ish. I could try to guess but it'd be easier if you told me :) Thinking about it again: to publish data, you have to publish a transaction! I guess the most economical, paying taproot to taproot, is about 192 bytes with script path plus the posited extra 64 for the (R,s) in the output, so yeah that'd be 32 out of 256, 12.5%. Isn't the figure a bit different for key path though, because no control block? Well it hardly matters, it's some small fraction in that range. An interesting mechanical detail in this near-absurd scenario is that if you wanted to repeatedly publish off the same (presumably a few multiples of dust level) output, you couldn't also do the leak single key thing, since you'd lose control to re-spend. So that'd place us in the "explicit multisig" scenario that Greg mentioned, which I think would only make sense with legacy script? Kind of a different scenario, also it would be really weird to update legacy script to take into account a new "you must sign the pubkeys" rule. Though I guess in this fictional scenario, it might happen like that. If you did do it with legacy, you'd be publishing bare 2 of 2 multisig. If you did it with taproot due to how that works, the script is not published until the output is spent, so I think that's outside what I was considering ("data in utxo set"). (I guess you could also use something like a hash lock which might be more efficient). So anyway if you wanted to do this repeatedly and minimize cost, for whatever strange reason, you'd be adding another 50-100 bytes each time bringing that % down to like 10% or less. But that all became way too hypothetical to even analyze properly :) Anyway just to reemphasize I certainly wasn't advocating this sig-attaching system, but it seems important to know what the result of it would be: we would still not have changed the obvious reality that embedding data in witness gives more space for data, and is more economical, and we would only reduce by a big factor how much can be embedded in outputs (anything from 8% to 15% embedding rate seems possible depending on the hypothetical details), while having to screw up much of Bitcoin's functionality in the process. Cheers, AdamISZ/waxwing -- 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/cf15c24e-18d0-4221-a3d4-4177c82a6381n%40googlegroups.com. ------=_Part_295281_1049530429.1759420561201 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > >=C2=A0=C2=A012% embedding rate
> Where do you get that numb= er from? 33% for embedding 256 bits in (P, R, s) (but as per this discussio= n, according to me, at the cost of key leakage). If we include the other by= tes in a (taproot anyway) utxo that's not much less, I guess 30% ish. I cou= ld try to guess=C2=A0but it'd be easier if you told me :)

<= /div>
Thinking about it again: to publish data, you have to publish a t= ransaction! I guess the most economical, paying taproot to taproot, is abou= t 192 bytes with script path plus the posited extra 64 for the (R,s) in the= output, so yeah that'd be 32 out of 256, 12.5%. Isn't the figure a bit dif= ferent for key path though, because no control block? Well it hardly matter= s, it's some small fraction in that range.

An in= teresting mechanical detail in this near-absurd scenario is that if you wan= ted to repeatedly publish off the same (presumably a few multiples of dust = level) output, you couldn't also do the leak single key thing, since you'd = lose control to re-spend. So that'd place us in the "explicit multisig" sce= nario that Greg mentioned, which I think would only make sense with legacy = script? Kind of a different scenario, also it would be really weird to upda= te legacy script to take into account a new "you must sign the pubkeys" rul= e. Though I guess in this fictional scenario, it might happen like that. If= you did do it with legacy, you'd be publishing bare 2 of 2 multisig. If yo= u did it with taproot due to how that works, the script is not published un= til the output is spent, so I think that's outside what I was considering (= "data in utxo set"). (I guess you could also use something like a hash lock= which might be more efficient). So anyway if you wanted to do this repeate= dly and minimize cost, for whatever strange reason, you'd be adding another= 50-100 bytes each time bringing that % down to like 10% or less.

But that all became way too hypothetical to even analyze = properly :)

Anyway just to reemphasize I certain= ly wasn't advocating this sig-attaching system, but it seems important to k= now what the result of it would be: we would still not have changed the obv= ious reality that embedding data in witness gives more space for data, and = is more economical, and we would only reduce by a big factor how much can b= e embedded in outputs (anything from 8% to 15% embedding rate seems possibl= e depending on the hypothetical details), while having to screw up much of = Bitcoin's functionality in the process.

Cheers,<= /div>
AdamISZ/waxwing

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoind= ev/cf15c24e-18d0-4221-a3d4-4177c82a6381n%40googlegroups.com.
------=_Part_295281_1049530429.1759420561201-- ------=_Part_295280_39685520.1759420561201--