summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--44/f57af6dbf8fcd05c87b8b5448a2c472fa561c5286
1 files changed, 286 insertions, 0 deletions
diff --git a/44/f57af6dbf8fcd05c87b8b5448a2c472fa561c5 b/44/f57af6dbf8fcd05c87b8b5448a2c472fa561c5
new file mode 100644
index 000000000..5563b8348
--- /dev/null
+++ b/44/f57af6dbf8fcd05c87b8b5448a2c472fa561c5
@@ -0,0 +1,286 @@
+Delivery-date: Fri, 21 Feb 2025 02:18:42 -0800
+Received: from mail-oo1-f61.google.com ([209.85.161.61])
+ by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
+ (Exim 4.94.2)
+ (envelope-from <bitcoindev+bncBDD5RM5R7QJRB6NF4G6QMGQE7MGPI7A@googlegroups.com>)
+ id 1tlQ7F-00007P-Kg
+ for bitcoindev@gnusha.org; Fri, 21 Feb 2025 02:18:42 -0800
+Received: by mail-oo1-f61.google.com with SMTP id 006d021491bc7-5f6e2ef3190sf1834439eaf.1
+ for <bitcoindev@gnusha.org>; Fri, 21 Feb 2025 02:18:41 -0800 (PST)
+ARC-Seal: i=2; a=rsa-sha256; t=1740133116; cv=pass;
+ d=google.com; s=arc-20240605;
+ b=IKfjUOgrLybxHf0w9EJgo363UhHprmbY6Y7z0VzgYmBQdF+cviqdSii8edCaWAPcih
+ 5MTMQPF+Oh5b1kMcgCWIVKT0YtA4KUD0w3n+u+2ZuGYPhRyzHauqw3sK+5fB3frGMOqr
+ SpaFXjW73xfClTJZjPItsK1fg7mZ4HJRbVXT1EmDusu7g2UhsQtZLV6iKVDn0tM6TLWc
+ VV2y5tgpEJpH3ukjdY4eq2xT7SR4PDYCqQ0W25ovyuGMypVVvv1YnWGzJ6Tf3vANV3Ym
+ f/Iu1X8Q9oqAKlaNalbl8jtyAMSA+A3FeH/2aGMUWQ1NbEtkx3Jn85KZm3ULB2RJFR3Y
+ 1SxA==
+ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
+ h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
+ :list-id:mailing-list:precedence:in-reply-to:from:content-language
+ :references:to:subject:user-agent:mime-version:date:message-id
+ :sender:dkim-signature;
+ bh=f7TABnqojRBHldbdRBPugUODAEcUdHnZ3lqnHFLkW+c=;
+ fh=u0bBXao5BN7zaYlF6jJbvTcJZTp39rRJTyUU84Tel1o=;
+ b=Oy4qS1PgES9OabEGHdJuYeQlzkzFR0ikyVWZ2T+p8kXJL0HH9nHdGpxs9WZLmkdb1Q
+ rRohYPR926qdkwiwvkchPUe8cY/Zzi9JoDA3bZdSnfluoWL7yYZwCpi6AEf2/1JKFM8J
+ VQuI9CO/3JFLRCc8XdmPi6oLRf/wHYr0X9n3O3LKhlZf4blGh5BRLt9NV/NIJvJLirhC
+ uWxDsS2GCdo+BPIXkYIuRMeJwD9+AdZxb0rQmmDnF+tw7VwCqIYcxEqasEjszTJguCu1
+ 4OKQ9HbxsEt3JwlQe6zaHNAkveRYhb1aqDNqPkgFy9SEcDc74q2vIxCksYLrobH8wVDr
+ BvlQ==;
+ darn=gnusha.org
+ARC-Authentication-Results: i=2; gmr-mx.google.com;
+ dkim=pass header.i=@gmail.com header.s=20230601 header.b=Iuziu6H2;
+ spf=pass (google.com: domain of jonasd.nick@gmail.com designates 2a00:1450:4864:20::534 as permitted sender) smtp.mailfrom=jonasd.nick@gmail.com;
+ dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
+ dara=pass header.i=@googlegroups.com
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=20230601; t=1740133116; x=1740737916; 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:in-reply-to:from:content-language:references:to
+ :subject:user-agent:mime-version:date:message-id:sender:from:to:cc
+ :subject:date:message-id:reply-to;
+ bh=f7TABnqojRBHldbdRBPugUODAEcUdHnZ3lqnHFLkW+c=;
+ b=m1Ajx6j4Ksr6PmjIDbXcPJSPw5M5E/83m5fDuIXvgndWiDo23hJoAIg3+RyQtmZX9V
+ eYvJxKXUN1H+BT2L7lBItsYjE6bOmCmgCF4VOZpi6F0fYo6CihZ+lcJHwpCdZodxNmC0
+ Czw3XZ2s+Uj5f2NniJ/sZW2b02WGJHfxXwy95eu7IKRVmvLa5It83sDSjMl/RUhRCUA6
+ AytqGQ8I3bz9qQtZ2v70szFgatczqO3N7ByoZW1guVuKaKGB+Q8bZxqEfwNi+ppSRzPk
+ DiNg/1YrzOgxEhd9NK6NKNtyyF8yxWeKCSw0fuYyfYCb+jzYfP6t/GMQ8rpyt3jnajx9
+ b7tw==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20230601; t=1740133116; x=1740737916;
+ h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post
+ :list-id:mailing-list:precedence:x-original-authentication-results
+ :x-original-sender:in-reply-to:from:content-language:references:to
+ :subject:user-agent:mime-version:date:message-id:sender:x-beenthere
+ :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
+ bh=f7TABnqojRBHldbdRBPugUODAEcUdHnZ3lqnHFLkW+c=;
+ b=RaAs6s5DHxo2JjHMdBp5xjVKiMX2ZY4ElDBeUpTsGUq9vGtnMCk05+5uYcmu7h5J6X
+ DZk60vJn40NAIjQNo3/FrKoYbjsaODyLxzqBArr4CYsx0xKWMokCYHNyQKeOKlqau8ki
+ nBcwcgHShDlhJGzfYik5cHNFtYB/lVQsgibTfyArvqxRrS6UzBBea64xXcnRPPIz2gjS
+ oTmg7VshPDwMTeIYw7q+Jgz+Q2HMoC+sKIdTZ++pmuxu+7p3XlfTSwoZ8oaRFXrtTElf
+ cl+Raa0FAUroAOFbXGYh4LtILc2M0KM3cqAGzIeyL77vnKaY9PBVI+K/v/oc2GdkKh4V
+ UXNA==
+X-Forwarded-Encrypted: i=2; AJvYcCWC3c8xwW+OwfVHVIhcfGrj0vPcNgsVDFccVIUQwCJPzUkj0mRiwkjRcjdAfcUpVZ4DGSwgnRX4MgqI@gnusha.org
+X-Gm-Message-State: AOJu0Yz6UbqAzwpZpDVBkvaV6GBL45/5yaFkf20c7oJAK71yrRkl7GE5
+ QQe+gPjEId95kRZIdUqcGJrfGZfi+Kzjr5YrkuBazZP4wOXY7sxL
+X-Google-Smtp-Source: AGHT+IGZ5xfS2aQ823fhTzEUEzXed51dRNrFgdLtdVF7lB8cvOCy4oA1jPb9N8vwOqz75gt9jCnfew==
+X-Received: by 2002:a05:6820:8ca:b0:5fc:f9b4:7f46 with SMTP id 006d021491bc7-5fd199ade92mr2016672eaf.0.1740133115641;
+ Fri, 21 Feb 2025 02:18:35 -0800 (PST)
+X-BeenThere: bitcoindev@googlegroups.com; h=Adn5yVHl9ZGwB4yVXEYXF5jIqJPc66vTmZV++IhQa5jEEp4YKw==
+Received: by 2002:a05:6820:3d5:b0:5fc:f5f4:d806 with SMTP id
+ 006d021491bc7-5fd0b0f6611ls810411eaf.1.-pod-prod-00-us; Fri, 21 Feb 2025
+ 02:18:33 -0800 (PST)
+X-Received: by 2002:a05:6808:238e:b0:3f3:d291:f12b with SMTP id 5614622812f47-3f424cf2549mr1571033b6e.18.1740133113525;
+ Fri, 21 Feb 2025 02:18:33 -0800 (PST)
+Received: by 2002:a05:600c:3c9c:b0:439:a596:e64 with SMTP id 5b1f17b1804b1-439ae26b648ms5e9;
+ Fri, 21 Feb 2025 00:54:08 -0800 (PST)
+X-Received: by 2002:a5d:5988:0:b0:38f:4a0b:e764 with SMTP id ffacd0b85a97d-38f6e97a74amr2318430f8f.28.1740128046324;
+ Fri, 21 Feb 2025 00:54:06 -0800 (PST)
+ARC-Seal: i=1; a=rsa-sha256; t=1740128046; cv=none;
+ d=google.com; s=arc-20240605;
+ b=CSBVfSZK8xbpgiG2+YbG93y71N4s2pu9oDazAInjEPd9e+JaoT9vXP3kEEf8BsBk9D
+ wcVXsGZrZIEHv5neEQg24pC5jSnuQWU0BoDBk19ZjcAzfdW2sSRHt96TzMnPZPKHsnP8
+ QqGJcAaqvHzk5aBE4liBUVvuWshqMg9tejvZCjKUQCUPK7eSV1c4d3iC6I0Etxk9b+wE
+ QrJRq29iIqTXGNzq8NpXe1XbwfUAAA4ylxumfTHCK5HKtovkL2WG3FgnVi18wv0DnyCr
+ Xfhj6TCxAOCkDTyJOk1e9S64bdzNw2owuAklzxaCZfTyfEwxx8qf674jcFmj6aHAzkUM
+ NXkg==
+ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
+ h=content-transfer-encoding:in-reply-to:from:content-language
+ :references:to:subject:user-agent:mime-version:date:message-id
+ :sender:dkim-signature;
+ bh=auQYy0oJ6+FD9OVThTo2fM7zXNhidX3qtDISdyiUCP0=;
+ fh=VcGcg+Zjs9gw1uDcHbxsAILhBAcecnbJzZRdxgKVDIc=;
+ b=lV5TSMHZ7gTZb/2B4wxh2Akv9+ffDMVcXyrtWFrGC3BCxPU5bn9V5ZlRBpSe6c371f
+ fsaqxUKhwsqn26/8P5qRJJuPVQS8cZvfDWeEN1gVAUcHVkAHkhlI6xewbp553sn6PPnH
+ KZtU+2+Qu6wgWo4ZEHmzYMT7+B91o51uMuN0sIKI0XswLbUBk2mO0Qvy9gtOZC04RdTf
+ afQ2iqKAg7pdB9d5egmODfGSP/+E/FYp/hW1Q2m8Kr4DPpv0CQNrxYJdebG7FbxWksU+
+ INdQC6Rx3U1iRQpVGS5lgtpfOjgp/Jqs2jCRrj1NlQhSqcBw01wa4PmqSeJJogBDFVYd
+ D9Rg==;
+ dara=google.com
+ARC-Authentication-Results: i=1; gmr-mx.google.com;
+ dkim=pass header.i=@gmail.com header.s=20230601 header.b=Iuziu6H2;
+ spf=pass (google.com: domain of jonasd.nick@gmail.com designates 2a00:1450:4864:20::534 as permitted sender) smtp.mailfrom=jonasd.nick@gmail.com;
+ dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com;
+ dara=pass header.i=@googlegroups.com
+Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com. [2a00:1450:4864:20::534])
+ by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-4399c51ec18si2323915e9.1.2025.02.21.00.54.06
+ for <bitcoindev@googlegroups.com>
+ (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
+ Fri, 21 Feb 2025 00:54:06 -0800 (PST)
+Received-SPF: pass (google.com: domain of jonasd.nick@gmail.com designates 2a00:1450:4864:20::534 as permitted sender) client-ip=2a00:1450:4864:20::534;
+Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-5e0373c7f55so2775246a12.0
+ for <bitcoindev@googlegroups.com>; Fri, 21 Feb 2025 00:54:06 -0800 (PST)
+X-Gm-Gg: ASbGnctDOy02Xz1MmynYtTX6Cs2BY4RSlc9WMVXwc+OW/ftbC4+4ABRHMOhJJQwP4EB
+ pLy6Ya8UIsJhWyEiv093//AubVSKiLSCrxyFuUbLUxOx8ZorNBSGTr31J/q6nLvAYRmO49cYet8
+ Vi9mgp3itz/vxQCCHYBQ2vHt2knDfivPDqq5Sw0VvhvCp3MfQNQA3Y5wPLBwNV3l9SYismCw/RX
+ a4f4tktww5JFEgKa++icCYgYOGYCcx+nIFCWygXQjxQKP8ZEP8IWxYJiV2SuPM+r5ClCf02C4dq
+ BKNFVYAREU4BKxs4YuUyxYj2SrfRfPwZ/7fnBSFvTMOu2e6+IX5B9sNAlnpudnpY09GwhHqV
+X-Received: by 2002:a05:6402:27d0:b0:5e0:5605:211a with SMTP id 4fb4d7f45d1cf-5e0b7108b2fmr1993317a12.18.1740128045486;
+ Fri, 21 Feb 2025 00:54:05 -0800 (PST)
+Received: from [192.168.1.55] (91-115-48-225.adsl.highway.telekom.at. [91.115.48.225])
+ by smtp.googlemail.com with ESMTPSA id 4fb4d7f45d1cf-5dece287cebsm13288456a12.74.2025.02.21.00.54.03
+ for <bitcoindev@googlegroups.com>
+ (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
+ Fri, 21 Feb 2025 00:54:04 -0800 (PST)
+Sender: Jonas Nick <jonasdnick@gmail.com>
+Message-ID: <5667eb21-cd56-411d-a29f-81604752b7c4@gmail.com>
+Date: Fri, 21 Feb 2025 08:54:02 +0000
+MIME-Version: 1.0
+User-Agent: Mozilla Thunderbird
+Subject: Re: [bitcoindev] P2QRH / BIP-360 Update
+To: bitcoindev@googlegroups.com
+References: <8797807d-e017-44e2-b419-803291779007n@googlegroups.com>
+Content-Language: en-US
+From: Jonas Nick <jonasd.nick@gmail.com>
+In-Reply-To: <8797807d-e017-44e2-b419-803291779007n@googlegroups.com>
+Content-Type: text/plain; charset="UTF-8"; format=flowed
+X-Original-Sender: jonasdnick@gmail.com
+X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass
+ header.i=@gmail.com header.s=20230601 header.b=Iuziu6H2; spf=pass
+ (google.com: domain of jonasd.nick@gmail.com designates 2a00:1450:4864:20::534
+ as permitted sender) smtp.mailfrom=jonasd.nick@gmail.com; dmarc=pass
+ (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com
+Precedence: list
+Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com
+List-ID: <bitcoindev.googlegroups.com>
+X-Google-Group-Id: 786775582512
+List-Post: <https://groups.google.com/group/bitcoindev/post>, <mailto:bitcoindev@googlegroups.com>
+List-Help: <https://groups.google.com/support/>, <mailto:bitcoindev+help@googlegroups.com>
+List-Archive: <https://groups.google.com/group/bitcoindev
+List-Subscribe: <https://groups.google.com/group/bitcoindev/subscribe>, <mailto:bitcoindev+subscribe@googlegroups.com>
+List-Unsubscribe: <mailto:googlegroups-manage+786775582512+unsubscribe@googlegroups.com>,
+ <https://groups.google.com/group/bitcoindev/subscribe>
+X-Spam-Score: -0.5 (/)
+
+Hi Hunter,
+
+Thanks for your work on BIP 360. I think now is a good time to develop and
+discuss concrete PQ proposals. I have a few questions and comments regarding
+some aspects of the proposal:
+
+Selective disclosure
+---
+
+From, the output contains a root of a Merkle tree of public key hashes and
+spending from this output requires revealing the public keys and their
+corresponding valid signatures. More concretely, if the user creates root
+
+R = MerkleRoot([hash(public_key_falcon_1024), hash(public_key_secp256k1)]),
+
+they can spend from R by revealing both public keys and corresponding signatures.
+
+The BIP also mentions that the public keys can be selectively disclosed:
+
+ > When spending, if a public key hash is provided in the attestation with an
+ > empty signature, that hash will be used directly in the merkle tree computation
+ > rather than hashing the full public key.
+
+What prevents an quantum adversary, upon observing a spend from R, from breaking
+public_key_secp256k1 and then spending from R by providing
+
+[
+ hash(public_key_falcon_1024),
+ empty string,
+ public_key_secp256k1,
+ a secp256k1 signature forgery
+]?
+
+
+Attestation structure
+---
+
+The BIP proposes to an attestation structure alongside the witness which is
+supposed to contain BIP 360 public keys and signatures (instead having them in
+the witness). The purpose of this structure is to assign a higher weight
+discount than the witness. The "Rationale" and "Output Mechanics" sections the
+BIP describe that, since the attestation structure only contains public keys and
+signatures, storage of arbitrary data ("inscriptions") is prevented.
+
+Leaving aside that there may be creative ways to embed arbitrary data in public
+keys and signatures as well, selective disclosure of the Merkle tree appears to
+allow embedding arbitrary data. For instance, a user can create root
+
+R = MerkleRoot(data, hash(public_key_secp256k1)]),
+
+where data is an arbitrary 256-bit string. What prevents the user from
+pretending that data is the hash of a public key and providing
+
+[
+ data,
+ empty string,
+ public_key_secp256k1,
+ a secp256k1 signature forgery
+]
+
+in the attestation structure to spend from R?
+
+
+Multi-signature 256-bit security
+---
+
+The BIP briefly discusses multi-signature scenarios in the script validation
+section, but the details seem incomplete. From what I can infer, the current
+specification fails to achieve the claimed 256-bit security.
+
+The potential attack would work as follows:
+1. The victim provides their public key pk to the adversary.
+2. The adversary finds two public keys pk' and pk'' such that
+ MerkleRoot(MultiSig[pk, pk']) = MerkleRoot([pk''])
+3. The adversary convinces the victim to send coins to MerkleRoot(MultiSig[pk,
+ pk']) and then steals the coins by opening the Merkle tree root to [pk''] and
+ providing a signature for pk''.
+
+Since the Merkle root is the 256-bit output of SHA256, the adversary can find
+this collision with about 2^128 operations.
+
+If I remember correctly, this attack was discussed on the mailing list in the
+context of segwit and it's the reason why P2WSH (unlike P2PKH) requires 256-bit
+hashes.
+
+
+General comments
+---
+
+I think one of the main questions that the BIP does not currently address is how
+it affects the worst-case validation cost of a block.
+
+Regarding your question:
+ > But if the intention was for 256 bits of security, should level V security be
+ > the default?
+
+I don't know what Satoshi's intentions were, but the secp256k1 specification
+clearly indicates 128-bit "strength" ([0], Table 1). I believe that's fairly
+well known in the technical Bitcoin space.
+
+I am not quite convinced that adding three PQ schemes to the Bitcoin consensus
+protocol is a great solution to the problem of not being sure which exact scheme
+to pick. Offloading this decision to users does not really solve this problem.
+Moreover, this adds massive complexity and new cryptographic assumptions to the
+protocol. Remember that one of the main motivations behind libsecp256k1, was
+that general purpose cryptographic libraries are not well suited for consensus
+systems. So all new cryptographic schemes added to the consensus protocol need
+to be exceptionally well specified and implemented. That said, it makes a lot of
+sense to design a hybrid scheme that also provides security against a classic
+attacker through an established signature scheme (as BIP 360 proposes).
+
+Lastly, I agree that non-interactive aggregation of PQ schemes might be
+promising, as it could mitigate about signature size and verification cost if
+aggregation is applied on the transaction level. Recently, there has been
+progress on the security of aggregating hash-based signatures [1] and Falcon
+[2].
+
+[0] https://www.secg.org/sec2-v2.pdf
+[1] https://eprint.iacr.org/2025/055
+[2] https://eprint.iacr.org/2024/311 (Unfortunately, this only beats trivial
+ aggregation (concatenation of signatures) when the number of signatures is
+ greater than about 110)
+
+Jonas
+
+--
+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/5667eb21-cd56-411d-a29f-81604752b7c4%40gmail.com.
+