Delivery-date: Fri, 22 Mar 2024 17:39:34 -0700 Received: from mail-oo1-f55.google.com ([209.85.161.55]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rnpQ5-0001As-S5 for bitcoindev@gnusha.org; Fri, 22 Mar 2024 17:39:34 -0700 Received: by mail-oo1-f55.google.com with SMTP id 006d021491bc7-5a482b7c715sf2255728eaf.3 for ; Fri, 22 Mar 2024 17:39:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711154367; cv=pass; d=google.com; s=arc-20160816; b=A6Svpd+H+5v/VLidHSrzj1oxZGatysxyym3MOycrDcS7klge2J5KxhBnx3hQGJre1b ncsb14UImFp6ZXlG0u0Xnqnu73DycAzCq9ze/ggDQyUJ2v3yu3Dc2fTpw5zzxRRL6rPR OHI6b9a3gFr0z6evJhMEi34Nx6wOxVYkcElBRkVbrxywvitdHI9b0g/BFyRdXWGOeAfo SfQ6mj9OEeB5eS4RcB6NgKe6C9oiSIokZ/vUjFo075kS+5XbtvAFluV9leB0dA5Ot8SR kqfKcrKyKk/7OANTtT3H7gES+lFcNZ0ERlL2KHgp37G3UX7ywPwWRUaaYkUE2VxrY3vW sT4Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-transfer-encoding:cc:to :subject:message-id:date:from:in-reply-to:references:mime-version :sender:dkim-signature:dkim-signature; bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=; fh=tNagOCzUcbceOSy/r7BO3NnwTwRCeq02PHkAESdjO5E=; b=KWXGmgcAPQuEfQh6IhL74JJS8GMBbTyjkoE44EjZVA1mKkPMTDrBlg5/REpNHxy6iL BIeUIp8IO+yET8XB2cmoRzaazQyqJovCgiZX0EMUBsTdVWj7Jhe2bftJgcYlwpfUM3Vm ONDrsFgc5+L6w+78qGkn85JZpsUF4+VqLn7nmqwvhdnnoYj1bAfSGs3qQMq2mCloxipe 9+IF/HhjeW+AygCVe7jq8vSJV3xipzovFQhKMFXuMrHmzVmXowF6avoYVjnElIii6FG+ 5HAiID6QnywmHaVgTaywAX2nR6bbaQGoLTOSghvFMi8Ms74y0gC2Tq8rkbi+u2cjYatR tOiA==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=bIojgVqo; spf=pass (google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) smtp.mailfrom=bnagaev@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1711154367; x=1711759167; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version:sender :from:to:cc:subject:date:message-id:reply-to; bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=; b=FMR/TLFlmcJlt+f5+nxPdBxp4Ub08/fU0IABdly+G4+rsbQu0m5nol0IYL2rWYbIfG g1r6jLh4TFeobeWABA+uF5pCix9jNmOkum0LJMQ+ssn2qBrour6htddBOElskTX9O1TN r8E68t7gaO7BUirYLXNBGmnuhd68oNv41RA71tERpo3YST8jfMcYtaDTVNG0oLFryYYc Y4zMFwfK4nodsuSxwY7083HqnewYi/Qzv3PR4i0qQcliCpyNNbn9OdEAXP2zlGV92ZOs M5Hb8osm9ro+39yIQMifTfpBZHYqhHwBsGLhBAyBbofT5plRb+XfgVMJoer/2EUgElUN pQ+Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711154367; x=1711759167; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version:from:to:cc :subject:date:message-id:reply-to; bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=; b=hH6tJ2L1Y9ARCCda8Yi61x4uvmTohp6nC+IkPGHnTq1FNfgFXnhkBoba1YQvZEWDUK 0OvaoSSpPdPqTYCM4eSAT13BlOxojR040Ek5E3Sl6tjci2FzMcmy/XgV5cbzZl3/TEbT 23bCQSVa87msiTm0z26vTcFxrUbMrfyTyTZKT7AFyOncnah/K0HgBBl5r4qUCcnF+nkc bdLCXo9rk/aqrqtHWQySLHPZRpkqlwSk1/NqHNfW4TJ+YUnhfbCaCsJdiYZvGP++JPi+ 0wzi0wtmWJIoB7eux+9qKEz95n2RGprLlj2oLuiIhkuIOVUIX6UagJJYwugyz2f4CNKt YuEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711154367; x=1711759167; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=12fEpuFjmYIZocVtMoeWurtq3laRllm47qz4bwRkEJo=; b=AmlJCHYGP9rkGQxH8BKjmZ2lqFEokAteR6UToeGbjOjzikL9xL8Dy/nHLDIdPAkzvn azQqFJuAwhTQuStCmyVvwEC8vcbu5gqV7b7MAQF4X0dxu0A55vVUx3HU+tZEq538tGdu t9OG7EqeHfQaOQwqe2u7g0BXBtPHD9/bFjl4e3iv/bMRHXbjy2pdI2vXcRGNl3rlRvCS ksMHVfC0AgwRvNsNB9E7/ZjwH0/4ZfCpqJxNLhMtG6306ni6Pyxjk3UjZo20XTgOdL2G Xbxb+o1FDsTUGI2FOHiHZN6ITKgJO3NCYPVu+HLf1HZrYyGae24miOUt618PkNdQNobe QOcw== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCWBOm6DxLJ52LpJoVvc6fTru35BZtPVJEVLPdr38IJYy4L39Qz+fzbTOS2TFiMePcogKscqqMkAfc2EiNdfE/MMqeIxd5M= X-Gm-Message-State: AOJu0YxgZup6eZX/Zb/AvC5Z7JrFRm3Ml5foKlKK1h5jGXmWQOHdh7KZ iHMFn6Aa2RGQ5h7/4yWFecdpyDDT19/Sv3ChLyRsEo+7tNLIyo3b X-Google-Smtp-Source: AGHT+IFITVNw9TWGvxuxILhzadjsJbMcpnNP0j1xwSsd66DtkRtlq9AUL8F3dP4oNr/ZfzNN+rgEQA== X-Received: by 2002:a05:6820:3087:b0:5a1:bb9d:56a7 with SMTP id eu7-20020a056820308700b005a1bb9d56a7mr1308233oob.8.1711154367368; Fri, 22 Mar 2024 17:39:27 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com Received: by 2002:a05:622a:19aa:b0:431:2587:2b2d with SMTP id u42-20020a05622a19aa00b0043125872b2dls1184276qtc.1.-pod-prod-09-us; Fri, 22 Mar 2024 17:39:26 -0700 (PDT) X-Received: by 2002:a05:622a:2989:b0:431:3463:84d5 with SMTP id hd9-20020a05622a298900b00431346384d5mr80212qtb.9.1711154366487; Fri, 22 Mar 2024 17:39:26 -0700 (PDT) Received: by 2002:a05:620a:468e:b0:78a:3a27:faa with SMTP id af79cd13be357-78a3a271024ms85a; Fri, 22 Mar 2024 17:30:39 -0700 (PDT) X-Received: by 2002:a05:6102:1627:b0:476:a58f:736c with SMTP id cu39-20020a056102162700b00476a58f736cmr1450731vsb.4.1711153838417; Fri, 22 Mar 2024 17:30:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711153838; cv=none; d=google.com; s=arc-20160816; b=VmY/9G/BIkeWm7XLZRa6ugIKWHa0G1aYRGYSZVzfGeVnZzeCdRyRs/NxBDJ7vcfgHo To3y2Bi3K2i2HUZMfueA0tWpgW8yqPRzsAotM/DHqq0+NBW/HFkesitJvAvbLxdIFHjI ysrlbN5Gie+3tYutl//5SKTiBX82Z3rzqU1ASfnSv9Sw12JxAA7HMCLSCWEWlSqUcHiX 9obj+bVIMwbQJLUPN6K0UtcryIOq7Rexn7OvQ7J0XmxHSX8nX/IXJO1dpY8xWO7hVsDV kdJOT6JmIZLsEzd/ABB3h/aRiUFRb5NhXnBBH5WtXqTr+nkXmqL2sP5gq5iVnsNMWVB3 FUdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=+qi2dRrXaa2SZVF2ZUbWVUOAsvmtHiQ7NY1BQR27WvY=; fh=psWP3UCtCzzPEOUoUzVM9ZZK8adYsTeWDAKCd6L5Zok=; b=SLCO2G8o7liqbA6db6hE6v8JH7kbtzuL9sUtj/fGjSYStZe1hAerGolnSY0v0WXmcj QT8d7oHEgNM9AWyDxA4g0+4hfVxjizjc/Zqz7B4oPkiehLixkXEfga7Ix/GuaU9ACO84 ZrtzDuDtcB19LOVSXTiYSgf9WPKSIO4osxllmgj10fE26xc74BOdUGymBjc36nh/jTPF ifjR5fpTvkUOUaD1PCkN3vV0P841bvct6/wTl2m2Of5adEDYXZA6Od8UYnjUDq39bZ1n B4028wSPtabpuDWMRjgEtKs03ge+0OB5Xy6h1ps4aIq7GUcZ6QluPp2g6g5OShW+1uMA ZJrQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=bIojgVqo; spf=pass (google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) smtp.mailfrom=bnagaev@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-il1-x12e.google.com (mail-il1-x12e.google.com. [2607:f8b0:4864:20::12e]) by gmr-mx.google.com with ESMTPS id q5-20020ab07585000000b007e06f112964si300229uap.2.2024.03.22.17.30.38 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Mar 2024 17:30:38 -0700 (PDT) Received-SPF: pass (google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) client-ip=2607:f8b0:4864:20::12e; Received: by mail-il1-x12e.google.com with SMTP id e9e14a558f8ab-368602c9ed0so13569025ab.2 for ; Fri, 22 Mar 2024 17:30:38 -0700 (PDT) X-Received: by 2002:a92:cf43:0:b0:368:4808:69a7 with SMTP id c3-20020a92cf43000000b00368480869a7mr880275ilr.16.1711153837688; Fri, 22 Mar 2024 17:30:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nagaev Boris Date: Fri, 22 Mar 2024 21:29:59 -0300 Message-ID: Subject: Re: [bitcoindev] A Free-Relay Attack Exploiting RBF Rule #6 To: Peter Todd Cc: bitcoindev@googlegroups.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Original-Sender: bnagaev@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=bIojgVqo; spf=pass (google.com: domain of bnagaev@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) smtp.mailfrom=bnagaev@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=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 (/) On Tue, Mar 19, 2024 at 10:46=E2=80=AFAM Peter Todd wr= ote: > > On Tue, Mar 19, 2024 at 09:37:59AM -0300, Nagaev Boris wrote: > > Hi Peter, > > > > On Mon, Mar 18, 2024 at 10:24=E2=80=AFAM Peter Todd wrote: > > > Rule #6 creates a path dependency: the order in which replacement tra= nsactions > > > are received determines which transactions are ultimately accepted. > > > > I'd like to share my thoughts regarding RBFR rules and propose somethin= g. > > > > The proposed RBFR rule is also path-dependent. Two transactions can > > conflict with each other, but their fee rates can be too close for one > > of them to eliminate the other from nodes' mempools. The first > > transaction a node sees is kept in its mempool. > > It's not really fair to say that "the proposed RBFR rule is also > path-dependent". What you're describing is a property of Bitcoin Core's m= empool > in general, for all transaction acceptance rules. We've *always* had the > property that two essentially identical transactions, differing only in a > trivial way, will be accepted on a first seen basis. Achieving consensus > requires bandwidth, and since you can generate an essentially infinite nu= mber > of almost identical transactions, you'll always be able to find cases wit= h path > dependency. > > > Is it possible to have a rule that is completely path-independent? The > > eviction rules are path-independent iff, for each pair of conflicting > > transactions A and B, it is always known which of them should be > > preferred over the other, and this relation is transitive. Having such > > a property would be very beneficial in preventing any attacks on the > > mempool. This property of the mempool can also be seen as the eventual > > consistency of all the mempools of the nodes. A good property, isn't > > it? > > I'd suggest that you should argue concretely *why* this is a good propert= y. The > RBF Rule #6 issue isn't strong evidence, as it's only related to a specif= ic > type of meaningful path dependency, where fees/size differ meaningfully. = You're > talking about all forms of path dependency, including trivial differences= where > fees/size are the same and only a txid differs due to a trivial change. I rethought it and I think I'm wrong. The proposed solution of delaying and skipping won't fix the replacement attack, because the preimage could be a skipped transaction, so the attacked node could miss it. For my proposal to work it should be changed to guarantee that any transaction is spread to all the nodes eventually, i.e. no skipping. This means broadcasting all transactions eventually. But this is impossible to implement without creating DoS vectors either in bandwidth or in memory (the later - in case transactions to be broadcasted are accumulated in a buffer by a node). -- Best regards, Boris Nagaev --=20 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 e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/= bitcoindev/CAFC_Vt5kHtRj%2BypoxGKZUD1-NdSnbC9m%3DzwWnjVSTcROp7aLow%40mail.g= mail.com.