Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 41E75C002D for ; Sat, 23 Apr 2022 19:31:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 3EA82408C7 for ; Sat, 23 Apr 2022 19:31:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=blockstream-com.20210112.gappssmtp.com 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 ITEzLZ6daKKn for ; Sat, 23 Apr 2022 19:31:09 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com [IPv6:2607:f8b0:4864:20::72a]) by smtp4.osuosl.org (Postfix) with ESMTPS id E18F5408CB for ; Sat, 23 Apr 2022 19:31:08 +0000 (UTC) Received: by mail-qk1-x72a.google.com with SMTP id a186so8184419qkc.10 for ; Sat, 23 Apr 2022 12:31:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=blockstream-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YbLEYlmWI7NWwpVyioK8oI6deWzrb0e1V+9P4EXIiU0=; b=FD1YLpDokAw06mPThoxKeNsEhjzDadF/dykz3HLRxesTTgfdVy00XjxFQ93yvF/5lt jibLH+WMRWn7So260gu13whWA5JxriLat/MBy9djaoCSkxcISk9Vtt2kZjyYAgk+8XWg SLEbjkQB86wkpb/1rsdNLn0j5sI2QD7AsJtzNS/YI3WFFMsPMDlfRMQTo3tl64zSxpki rop2f5PO8pvgRs5vD9S0CsTl/6AYBPvD3bbwvnvgx6kLcFHNDVBtOpByWyGifWuW9czV GZOSaOx4RtuWW50gtdOJRfZMb+F+oN97QKVfpYFvYdWBkhm7gzTvDqsK/iz0Cecwi0A2 Znag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YbLEYlmWI7NWwpVyioK8oI6deWzrb0e1V+9P4EXIiU0=; b=GCY/TZg4mAa6WLExV0SI9wjNl1Ba8jdRExqHjzShzorqo0KqfDdcTZKN1FXfTbxr42 VcixiuJ9JqTHQTD0x11+iXpewWSRBQfXfMNlcBvtDPIQlYHtnw2HzxOVmu2Zqo+w+q38 S0IXofqqWf9xFnQmmaiVlfvfwWNOI/8rJam5uDIJkLvUTnxcYFzdJchmweU63iKdsP3J D0EGeaEZQNSm23aeTktWoCch9Ws5N5uEM6PaauBmpJzNkiormvqexW6dkH/NsikWNVpe OHNoxNcSNO+cvkd0cqbkNsa1DD+ECmYzQNXczALWkABsV+R+HRafmOQnxW0zM6q8tl18 LVKg== X-Gm-Message-State: AOAM531j05/81BIqcYg9OE+5N71JdsLO5XdUR3PCpjYPfy3njv/DecTv 74gzSnp8qY4rnMA+Y4o0/vN0kyJdL9n2/1iouVpvfc6pDnA= X-Google-Smtp-Source: ABdhPJz69S0HbsPsOJsypF712Oq3T2gvz9bu3tfqNfUTGW7jexdxSkyHGdKZ3ZtFWgfH3VY+NwUSvHCAD3CFXLyQySs= X-Received: by 2002:a05:620a:2484:b0:69e:e4d0:ca35 with SMTP id i4-20020a05620a248400b0069ee4d0ca35mr6204358qkn.548.1650742267660; Sat, 23 Apr 2022 12:31:07 -0700 (PDT) MIME-Version: 1.0 References: <64a34b4d46461da322be51b53ec2eb01@dtrt.org> <4b252ef6f86bbd494a67683f6113f3fe@dtrt.org> <48a4546c-85b3-e9ff-83b5-60ba4eae2c76@mattcorallo.com> In-Reply-To: <48a4546c-85b3-e9ff-83b5-60ba4eae2c76@mattcorallo.com> From: "Russell O'Connor" Date: Sat, 23 Apr 2022 15:30:56 -0400 Message-ID: To: Matt Corallo Content-Type: multipart/alternative; boundary="0000000000007ae28c05dd5762ef" Cc: Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] Vaulting (Was: Automatically reverting ("transitory") soft forks) X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Apr 2022 19:31:10 -0000 --0000000000007ae28c05dd5762ef Content-Type: text/plain; charset="UTF-8" Okay, Matt explained to me the intended application of CTV vaults off list, so I have a better understanding now. The CTV vault scheme is designed as an improvement over the traditional management of hot-wallets and cold-wallets. The CTV vault is logically on the "cold-side" and lets funds be sent from the "cold" side to *one's own* the hot wallet after the unvaulting delay. In this case, the hot wallet funds are always at risk, so it isn't unexpected that those funds could be stolen. After all, that is how hot wallets are today. The advantage is that funds can be moved from the "cold" side without needing to dig out the cold keys. The MES vault scheme applies to a different scenario. In the MES case it is the hot funds are inside the vault, and it is the hot key that unvaults the funds and sends them to *customer's addresses* after a delay. If the hot-key is used in any unauthorised way, then funds can be sent to the address of the cold key (the MES vault actually does something fancy in case of recovery, but it could be adapted to simply send funds to a cold wallet). The MES vault lie somewhere between "better" and "different" when compared to the CTV vault. If one is unwilling to use the MES vault on the hot side and have every withdrawl vetted, then, while you could use the MES design on the cold side like the CTV vault, it wouldn't really offer you any advantages over a CTV vault. However, if you are interested in managing all your payments through a vault (as I've been imagining) then the CTV vault comes across as ineffective when compared to an MES style vault. On Sat, Apr 23, 2022 at 2:24 PM Matt Corallo wrote: > Still trying to make sure I understand this concern, let me know if I get > this all wrong. > > On 4/22/22 10:25 AM, Russell O'Connor via bitcoin-dev wrote: > > It's not the attackers *only choice to succeed*. If an attacker steals > the hot key, then they have > > the option to simply wait for the user to unvault their funds of their > own accord and then race / > > outspend the users transaction with their own. Indeed, this is what we > expect would happen in the > > dark forest. > > Right, a key security assumption of the CTV-based vaults would be that you > MUST NOT EVER withdraw > more in one go than your hot wallet risk tolerance, but given that your > attack isn't any worse than > simply stealing the hot wallet key immediately after a withdraw. > > It does have the drawback that if you ever get a hot wallet key stole you > have to rotate all of your > CTV outputs and your CTV outputs must never be any larger than your hot > wallet risk tolerance > amount, both of which are somewhat frustrating limitations, but not > security limitations, only > practical ones. > > > And that's not even mentioning the issues already noted by the document > regarding fee management, > > which would likely also benefit from a less constrained design for > covenants. > > Of course I've always been in favor of a less constrained covenants design > from day one for ten > reasons, but that's a whole other rabbit hole :) > --0000000000007ae28c05dd5762ef Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Okay, Matt explained to me the intended application o= f CTV vaults off list, so I have a better understanding now.

=
The CTV vault scheme is designed as an improvement over the trad= itional management of hot-wallets and cold-wallets.=C2=A0 The CTV vault is = logically on the "cold-side" and lets funds be sent from the &quo= t;cold" side to *one's own* the hot wallet after the unvaulting de= lay.=C2=A0 In this case, the hot wallet funds are always at risk, so it isn= 't unexpected that those funds could be stolen.=C2=A0 After all, that i= s how hot wallets are today.=C2=A0 The advantage is that funds can be moved= from the "cold" side without needing to dig out the cold keys.

The MES vault scheme applies to a different sce= nario.=C2=A0 In the MES case it is the hot funds are inside the vault, and = it is the hot key that unvaults the funds and sends them to *customer's= addresses* after a delay.=C2=A0 If the hot-key is used in any unauthorised= way, then funds can be sent to the address of the cold key (the MES vault = actually does something fancy in case of recovery, but it could be adapted = to simply send funds to a cold wallet).

The MES va= ult lie somewhere between "better" and "different" when= compared to the CTV vault.=C2=A0 If one is unwilling to use the MES vault = on the hot side and have every withdrawl vetted, then, while you could use = the MES design on the cold side like the CTV vault, it wouldn't really = offer you any advantages over a CTV vault.=C2=A0 However, if you are intere= sted in managing all your payments through a vault (as I've been imagin= ing) then the CTV vault comes across as ineffective when compared to an MES= style vault.

On Sat, Apr 23, 2022 at 2:24 PM Matt Corallo <lf-lists@mattcorallo.com> wrote= :
Still trying t= o make sure I understand this concern, let me know if I get this all wrong.=

On 4/22/22 10:25 AM, Russell O'Connor via bitcoin-dev wrote:
> It's not the attackers *only choice to succeed*.=C2=A0 If an attac= ker steals the hot key, then they have
> the option to simply wait for the user to unvault their funds of their= own accord and then race /
> outspend the users transaction with their own.=C2=A0 Indeed, this is w= hat we expect would happen in the
> dark forest.

Right, a key security assumption of the CTV-based vaults would be that you = MUST NOT EVER withdraw
more in one go than your hot wallet risk tolerance, but given that your att= ack isn't any worse than
simply stealing the hot wallet key immediately after a withdraw.

It does have the drawback that if you ever get a hot wallet key stole you h= ave to rotate all of your
CTV outputs and your CTV outputs must never be any larger than your hot wal= let risk tolerance
amount, both of which are somewhat frustrating limitations, but not securit= y limitations, only
practical ones.

> And that's not even mentioning the issues already noted by the doc= ument regarding fee management,
> which would likely also benefit from a less constrained design for cov= enants.

Of course I've always been in favor of a less constrained covenants des= ign from day one for ten
reasons, but that's a whole other rabbit hole :)
--0000000000007ae28c05dd5762ef--