Return-Path: <gsanders87@gmail.com>
Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 0B15EC0032
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Mar 2023 14:56:30 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp4.osuosl.org (Postfix) with ESMTP id DA12A41728
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Mar 2023 14:56:29 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org DA12A41728
Authentication-Results: smtp4.osuosl.org;
 dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com
 header.a=rsa-sha256 header.s=20210112 header.b=oU6HjnqI
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level: 
X-Spam-Status: No, score=-1.848 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from smtp4.osuosl.org ([127.0.0.1])
 by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id vw3Dq9C2sBBw
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Mar 2023 14:56:28 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.8.0
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 2C9A041703
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [IPv6:2a00:1450:4864:20::52d])
 by smtp4.osuosl.org (Postfix) with ESMTPS id 2C9A041703
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Mar 2023 14:56:28 +0000 (UTC)
Received: by mail-ed1-x52d.google.com with SMTP id j11so49854205edq.4
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Mar 2023 07:56:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1678719386;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=YUq5U4nNBleNhPeH73Q7qK2yDldkZ621RtkVsB7vPC0=;
 b=oU6HjnqItYwYZemDW1bDnbmr/gFeAjqNnLz0pe2WoW3MSG9lQnMex7K8yg+LJlQ08X
 98FTJ2zopbzRbNswwd80K+ZG1zfPOedziq5MXR0MvYwwWaz7fKBhxFnL35L8QuHHC4z2
 luwAsJ4pUTrbVc1V3DUMiZZ0KHZgaqQhNb4wMn+KVT/49bCGdmbTxFeQZmcxm7uT1AMj
 kEFetzS5+POlA5E+Tziwd045JGs9wc1CmzXS1ldYUMe5A4s/9teQcZ4JM2GvNBrjV9Kz
 5uGw1n6Pc0tvJG53fl8Ulux+P9qf4CfmfIwqK9MIKch6dij64dfM4mqVDuTjfYLWLqnK
 Utyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678719386;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=YUq5U4nNBleNhPeH73Q7qK2yDldkZ621RtkVsB7vPC0=;
 b=4ce512dIfNY3NllDbdY6lJE0d4LU1Mlu22TYuitR+v15eoUi0K58uscQNlmn4Kh/PS
 K7IRRiV7nafUGZvqUrSvcr+s+Q1SPCFkMcBuCTOhnh4rOpvmJLgeQGS5HYHUp5rfnseK
 WWl9OTT9yMT8roFnbqYBCPArhNGqqymaZhU3BnMohy9E+DDB82kEAexy5djMAdPC7/RP
 HbCapN49509mYaUTGLHrAaTVdtoYqrmau151KH8pe5Kp7ZXz6Nnf8EDqLOGNK16lSAd4
 OjsjrIeEnhvT8psiIOQMuYS/S4a4zoxSohLJ6jht/AXiNGeQDKowWhRpZyRrf3n02Ak7
 SATw==
X-Gm-Message-State: AO0yUKVcktkhw/MkLRg8eInIXi8E4q/EfFRRcjYKRJSNhRyW6irbc6R8
 YjEmkwQot4dJIJaNsRAWI3xdBC7yAkTBHQcP26E=
X-Google-Smtp-Source: AK7set+2CS0X8pCVfZHvdyZEOVjRZ5k4kocDZTyerhAnxnj49GTERAt2yhflXhBhuSlG29oQg5gssqMECK50yr8hwSA=
X-Received: by 2002:a17:906:1481:b0:888:6294:a1fd with SMTP id
 x1-20020a170906148100b008886294a1fdmr16350339ejc.2.1678719386208; Mon, 13 Mar
 2023 07:56:26 -0700 (PDT)
MIME-Version: 1.0
References: <CAPfvXfJQKb7i8GBvTEvTTz-3dU_5mH8jOv8Nm4Q8gPt=KxrqLQ@mail.gmail.com>
 <4652dbe8-6647-20f2-358e-be0ef2e52c47@dashjr.org>
 <CAB3F3DtitOkV=KGGJjtet=YHJYbfj0KWVYRNKDWwyecRCBC=2w@mail.gmail.com>
In-Reply-To: <CAB3F3DtitOkV=KGGJjtet=YHJYbfj0KWVYRNKDWwyecRCBC=2w@mail.gmail.com>
From: Greg Sanders <gsanders87@gmail.com>
Date: Mon, 13 Mar 2023 10:56:15 -0400
Message-ID: <CAB3F3DtTD4DeY33UCArRq-iNEt7D8tuT+daA5H-8aCVHz9FP4g@mail.gmail.com>
To: Luke Dashjr <luke@dashjr.org>, 
 Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="000000000000b14bcb05f6c950d6"
Subject: Re: [bitcoin-dev] BIP for OP_VAULT
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Mar 2023 14:56:30 -0000

--000000000000b14bcb05f6c950d6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Didn't finish sentence: but in practice would end up with pretty similar
usage flows imho, and as noted in PR, would take a different wallet
paradigm,
among other technical challenges.

On Mon, Mar 13, 2023 at 10:55=E2=80=AFAM Greg Sanders <gsanders87@gmail.com=
> wrote:

> Hi Luke,
>
> Can you elaborate why the current idealized functionality of deposit ->
> trigger -> withdrawal is too complicated for
> everyday use but the above deposit -> withdrawal ->
> resolve(claim/clawback)  wouldn't be? I admit at a high level
> it's a fine paradigm, but in practice would end
>
> Let's ignore implementation for the discussion, since that's in flux.
>
> Cheers,
> Greg
>
> On Sat, Mar 11, 2023 at 3:53=E2=80=AFPM Luke Dashjr via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> I started reviewing the BIP, but stopped part way through, as it seems
>> to have a number of conceptual issues.
>>
>> I left several comments on the PR
>> (https://github.com/bitcoin/bips/pull/1421#pullrequestreview-1335925575)=
,
>>
>> but ultimately I think it isn't simplified enough for day-to-day use,
>> and would harm privacy quite a bit.
>>
>> Instead, I would suggest a new approach where:
>>
>> 1) Joe receives funds with a taproot output like normal.
>> 2) Joe sends funds to Fred, but Fred cannot spend them until N blocks
>> later (covenant-enforced relative locktime). Ideally, this should
>> use/support a taproot keypath spend somehow. It would be nice to blind
>> the particular relative locktime somehow too, but that may be too
>> expensive.
>> 2b) If Joe's funds were stolen, Joe can spend Fred's UTXO within the N
>> block window to a recovery output.
>>
>> Unfortunately, the implementation details for this kind of setup are
>> non-obvious and will likely require yet another address format (or at
>> least recipient-wallet changes), but certainly seems within the scope of
>> possibility.
>>
>> Thoughts?
>>
>> Luke
>>
>>
>> On 2/13/23 16:09, James O'Beirne via bitcoin-dev wrote:
>> > Since the last related correspondence on this list [0], a number of
>> > improvements have been made to the OP_VAULT draft [1]:
>> >
>> > * There is no longer a hard dependence on package relay/ephemeral
>> >   anchors for fee management. When using "authorized recovery," all
>> >   vault-related transactions can be bundled with unrelated inputs and
>> >   outputs, facilitating fee management that is self contained to the
>> >   transaction. Consequently, the contents of this proposal are in theo=
ry
>> >   usable today.
>> >
>> > * Specific output locations are no longer hardcoded in any of the
>> >   transaction validation algorithms. This means that the proposal is n=
ow
>> >   compatible with future changes like SIGHASH_GROUP, and
>> >   transaction shapes for vault operations are more flexible.
>> >
>> > ---
>> >
>> > I've written a BIP that fully describes the proposal here:
>> >
>> >
>> https://github.com/jamesob/bips/blob/jamesob-23-02-opvault/bip-vaults.me=
diawiki
>> >
>> > The corresponding PR is here:
>> >
>> > https://github.com/bitcoin/bips/pull/1421
>> >
>> > My next steps will be to try for a merge to the inquisition repo.
>> >
>> > Thanks to everyone who has participated so far, but especially to AJ a=
nd
>> > Greg for all the advice.
>> >
>> > James
>> >
>> > [0]:
>> >
>> https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-January/021=
318.html
>> > [1]: https://github.com/bitcoin/bitcoin/pull/26857
>> >
>> > _______________________________________________
>> > bitcoin-dev mailing list
>> > bitcoin-dev@lists.linuxfoundation.org
>> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>

--000000000000b14bcb05f6c950d6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Didn&#39;t finish sentence: but in practice would end up w=
ith pretty similar usage flows imho, and as noted in PR, would take a diffe=
rent wallet paradigm,<div>among other technical challenges.</div></div><br>=
<div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Ma=
r 13, 2023 at 10:55=E2=80=AFAM Greg Sanders &lt;<a href=3D"mailto:gsanders8=
7@gmail.com">gsanders87@gmail.com</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hi Luke,</div><div><=
br></div>Can you elaborate why the current idealized functionality of depos=
it=C2=A0-&gt; trigger -&gt; withdrawal is too complicated for<div>everyday =
use but the above deposit -&gt; withdrawal -&gt; resolve(claim/clawback)=C2=
=A0 wouldn&#39;t be? I admit at a high level</div><div>it&#39;s a fine para=
digm, but in practice would end=C2=A0</div><div><br></div><div>Let&#39;s ig=
nore implementation for the discussion, since that&#39;s in flux.</div><div=
><br></div><div>Cheers,</div><div>Greg</div></div><br><div class=3D"gmail_q=
uote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, Mar 11, 2023 at 3:53=E2=
=80=AFPM Luke Dashjr via bitcoin-dev &lt;<a href=3D"mailto:bitcoin-dev@list=
s.linuxfoundation.org" target=3D"_blank">bitcoin-dev@lists.linuxfoundation.=
org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1e=
x">I started reviewing the BIP, but stopped part way through, as it seems <=
br>
to have a number of conceptual issues.<br>
<br>
I left several comments on the PR <br>
(<a href=3D"https://github.com/bitcoin/bips/pull/1421#pullrequestreview-133=
5925575" rel=3D"noreferrer" target=3D"_blank">https://github.com/bitcoin/bi=
ps/pull/1421#pullrequestreview-1335925575</a>), <br>
but ultimately I think it isn&#39;t simplified enough for day-to-day use, <=
br>
and would harm privacy quite a bit.<br>
<br>
Instead, I would suggest a new approach where:<br>
<br>
1) Joe receives funds with a taproot output like normal.<br>
2) Joe sends funds to Fred, but Fred cannot spend them until N blocks <br>
later (covenant-enforced relative locktime). Ideally, this should <br>
use/support a taproot keypath spend somehow. It would be nice to blind <br>
the particular relative locktime somehow too, but that may be too expensive=
.<br>
2b) If Joe&#39;s funds were stolen, Joe can spend Fred&#39;s UTXO within th=
e N <br>
block window to a recovery output.<br>
<br>
Unfortunately, the implementation details for this kind of setup are <br>
non-obvious and will likely require yet another address format (or at <br>
least recipient-wallet changes), but certainly seems within the scope of <b=
r>
possibility.<br>
<br>
Thoughts?<br>
<br>
Luke<br>
<br>
<br>
On 2/13/23 16:09, James O&#39;Beirne via bitcoin-dev wrote:<br>
&gt; Since the last related correspondence on this list [0], a number of<br=
>
&gt; improvements have been made to the OP_VAULT draft [1]:<br>
&gt;<br>
&gt; * There is no longer a hard dependence on package relay/ephemeral<br>
&gt; =C2=A0 anchors for fee management. When using &quot;authorized recover=
y,&quot; all<br>
&gt; =C2=A0 vault-related transactions can be bundled with unrelated inputs=
 and<br>
&gt; =C2=A0 outputs, facilitating fee management that is self contained to =
the<br>
&gt; =C2=A0 transaction. Consequently, the contents of this proposal are in=
 theory<br>
&gt; =C2=A0 usable today.<br>
&gt;<br>
&gt; * Specific output locations are no longer hardcoded in any of the<br>
&gt; =C2=A0 transaction validation algorithms. This means that the proposal=
 is now<br>
&gt; =C2=A0 compatible with future changes like SIGHASH_GROUP, and<br>
&gt; =C2=A0 transaction shapes for vault operations are more flexible.<br>
&gt;<br>
&gt; ---<br>
&gt;<br>
&gt; I&#39;ve written a BIP that fully describes the proposal here:<br>
&gt;<br>
&gt; <a href=3D"https://github.com/jamesob/bips/blob/jamesob-23-02-opvault/=
bip-vaults.mediawiki" rel=3D"noreferrer" target=3D"_blank">https://github.c=
om/jamesob/bips/blob/jamesob-23-02-opvault/bip-vaults.mediawiki</a><br>
&gt;<br>
&gt; The corresponding PR is here:<br>
&gt;<br>
&gt; <a href=3D"https://github.com/bitcoin/bips/pull/1421" rel=3D"noreferre=
r" target=3D"_blank">https://github.com/bitcoin/bips/pull/1421</a><br>
&gt;<br>
&gt; My next steps will be to try for a merge to the inquisition repo.<br>
&gt;<br>
&gt; Thanks to everyone who has participated so far, but especially to AJ a=
nd<br>
&gt; Greg for all the advice.<br>
&gt;<br>
&gt; James<br>
&gt;<br>
&gt; [0]: <br>
&gt; <a href=3D"https://lists.linuxfoundation.org/pipermail/bitcoin-dev/202=
3-January/021318.html" rel=3D"noreferrer" target=3D"_blank">https://lists.l=
inuxfoundation.org/pipermail/bitcoin-dev/2023-January/021318.html</a><br>
&gt; [1]: <a href=3D"https://github.com/bitcoin/bitcoin/pull/26857" rel=3D"=
noreferrer" target=3D"_blank">https://github.com/bitcoin/bitcoin/pull/26857=
</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; bitcoin-dev mailing list<br>
&gt; <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_bl=
ank">bitcoin-dev@lists.linuxfoundation.org</a><br>
&gt; <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-=
dev" rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.org=
/mailman/listinfo/bitcoin-dev</a><br>
_______________________________________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">=
bitcoin-dev@lists.linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.org/mail=
man/listinfo/bitcoin-dev</a><br>
</blockquote></div>
</blockquote></div>

--000000000000b14bcb05f6c950d6--