Delivery-date: Fri, 26 Apr 2024 09:25:33 -0700 Received: from mail-oi1-f189.google.com ([209.85.167.189]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1s0OOD-0002lo-3K for bitcoindev@gnusha.org; Fri, 26 Apr 2024 09:25:33 -0700 Received: by mail-oi1-f189.google.com with SMTP id 5614622812f47-3c70b667f32sf2108306b6e.0 for ; Fri, 26 Apr 2024 09:25:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714148727; cv=pass; d=google.com; s=arc-20160816; b=huN/q5eVvNHX1n/vKfxweDcoK6oa/sIaa97cTYqKK0c7gWwZekLWnR9DhQsiTLmdZc mvGCyOCgIzoWNfyISOS1VcF9v1n+f+RqTqP9fwHlph5bOx4KQsPzV43PSDYIRNgyVDsH grovmE2FlGc+nvvC/CYNnw4vIw4+54+Ei7tVi86pavQOAtvyzObqHTIEmm9WQ6mLFhtJ uXbDVaV1DMpxNuMVKcQ7rk0eCLSNLdDSfg3EVZ10pGPvglntfT3gnjOu3GN3didUt3yY sIb+U3shGaKb73m3hiVDwyYifLtdyS1X0GI/qVBzndJ1Jvw53RfdZsf4u1D/TijSq3u/ 8lnw== 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:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :dkim-signature; bh=z10WQBYcXscjPG8uqM/FrZX3uByjo150U6Rqy5fAp10=; fh=E8TfTDJYGWbWYBMJhH81VaNU7HVpr38M98ZG2C4ajTk=; b=FPvLNFqqABxAGvTglE43miNtXshAcOhApUAShTyCn65u50PL8tGXEIIKPxj89V206m 9r3kC/TjCz+0byTSr4GYK+papAosHw8xPLPjlZnKSIt/EMGQDmdnBiwXPNV0jIk6YxsT vSZ2cZavdhzwP9MAbG7K+AvzitjvMWsjwmh9Ga/7VDMV3h47yUFJlBgExscr/5Qgvny5 hxN4d3Ul5QIAzXza7G+PopkK13QjpCG9dtDRFdvmXaBy1DRTXyun7guiBImetBD6TYaL HgxKpSWamaJMhwKbZPkMewKsBZbSVdJjFzI58aVx9CtmRolBPwXCT1DorWpDAjDR9lEm sWrw==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@reardencode.com header.s=mail header.b=QpQa2Tz8; spf=pass (google.com: domain of freedom@reardencode.com designates 206.125.169.165 as permitted sender) smtp.mailfrom=freedom@reardencode.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=reardencode.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1714148727; x=1714753527; 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:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:sender:from:to:cc :subject:date:message-id:reply-to; bh=z10WQBYcXscjPG8uqM/FrZX3uByjo150U6Rqy5fAp10=; b=wM4iZeT7ZetOAQIV9qbZCmwzlV0zIevBwy6Boee9XChEDm6/UUSosBEkxSTmVXwEFZ a8HNwzYr+CcL8rJRjrzbNAWuwntaHq/7jcjdgcKP98d4Kqs5XopaTnriZWm85RpItisk 7IH7AXAwU5qRehArzdmVA5FCAIu/0N61LrdEm5bw+qWYgDEsG8f/g+q6U6WKY1pDAhDK JkcTytZYvZHKFFbXMGUURcovNeHuf1z7SDQpwKaEV2NpAJo8cnuRj5OCsEqeojP7OmxX 5sJ7Po0maL25uNM6FC5XEN9GOcS4MJC7LRHqOVHDRoM9nn8IZv+XgAMsLxrWRsbaALZE uNdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714148727; x=1714753527; 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:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=z10WQBYcXscjPG8uqM/FrZX3uByjo150U6Rqy5fAp10=; b=JH6oRnw2l1bvDbqeBJ1W3I+Uwo7V/shHAE9hRFlzYuulXC9WLmTOtbagWjckblVezF LavFCBXQwh95vLC+0cTywA0bDeGyt1fbMGc1vY29fA6abDLrXNs/WOLvBIZcDNrKo1wd 7YnBm9OukNA4vKKku2PzKH0Rc0OFAXIFkm7aeqXyTc3f5TaqT2L3BBt3tT/gUajlP2vS Yn3sCPJMrmSjsuJkGqqN5lSxnQVO8ckRvjRwI7uPvXKRE5/P+/fsjY/5MpBW5K18CG4a N7fUJLdQyM7Dky0ats5rXYTKPBIRn4vp+c8mWBBK+CYzJ4C49stYU5T2TxbJggM99cC4 gz9Q== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCUCCm6k5rOuLgjlER6W8XhGEv5QLXiEyHFODegJflEpveeWzVyfuOQW3VGzI7u9zCOBvCi9CxH/uAo7qsw1ocpN++//SbM= X-Gm-Message-State: AOJu0YxwEWPHfGnqm3UpKyrX5nIFzrEn55NQghYo+dZg3MuCC1Qu/DDz 2NLLeu0x+P4r55mBEjy6LjH7eqGbEk2mXwh4TKND0CAJhG59RktJ X-Google-Smtp-Source: AGHT+IFjjgqollpFfKVDHxoxRn+UWSG/83YJWQ4Mx3FfdCQsJ7TukPIgE/6GijzbGG5qHigw7lDa6Q== X-Received: by 2002:a05:6808:11c3:b0:3c8:4cf8:a969 with SMTP id p3-20020a05680811c300b003c84cf8a969mr145017oiv.23.1714148726988; Fri, 26 Apr 2024 09:25:26 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com Received: by 2002:a05:6870:2492:b0:23a:6680:6036 with SMTP id 586e51a60fabf-23b422f4240ls498098fac.2.-pod-prod-07-us; Fri, 26 Apr 2024 09:25:25 -0700 (PDT) X-Received: by 2002:a05:6871:339f:b0:229:7ea3:7242 with SMTP id ng31-20020a056871339f00b002297ea37242mr150305oac.9.1714148725561; Fri, 26 Apr 2024 09:25:25 -0700 (PDT) Received: by 2002:a05:6808:2109:b0:3c8:4f82:812b with SMTP id 5614622812f47-3c85532940fmsb6e; Fri, 26 Apr 2024 09:03:18 -0700 (PDT) X-Received: by 2002:a05:6808:bd4:b0:3c7:4abe:2d11 with SMTP id o20-20020a0568080bd400b003c74abe2d11mr86759oik.18.1714147397808; Fri, 26 Apr 2024 09:03:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1714147397; cv=none; d=google.com; s=arc-20160816; b=RFgrH7P8JMYZdkwsEZjJRRhmtaoD0I/4WAJNpc3VxL6WoEvz9PT+Okf2Vsr86yAR0Y /I3ZN9UCZSo5xW4H5kRb2K7VFqL5+2rqdpWy5nlH24tKcR0L4T2URyL6U2zKuzVXJxEi jZjth4dMtq0QPR4hfSATAY1iScNrdoxlQxcg2wt72mW65OpUvGsMdXegnoksaM/KJpgd gwf5qS21rIs2O/es5DJhYdkkAZgdh4GtCBgLffvlCNuea9/1AnGF3IeJMfmZ15ZTv2b9 0DUTDbqx4xFhQLgrS2h4lIfLZErRx/WYhtXi0dD244Z9cDjGw/ovbmFhjR7+oYrpUM8I gS0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:dkim-signature:date; bh=ThVOUTjXIvNgwnkyV/ejY78ZsNmbF9PBO8okAJBNuuU=; fh=SUKwX1ZIHOAFTc2xpXAUOp7jpbra2N3vFV/2ueKI8cc=; b=jXm2tlfN5d7pZzLdD+MwRYloHRNjmhTjA/RwbWrMbZisPD1lNJDMKJA77IgA5F280z zbxdqwnv031JTkwiT0KMttjioWDEIzbe6X4LKC28M4bbrP9vQe6F3F7rkMyaQTF4VFR1 OvRLo2tjopNW1NtPkwf7aAclIuWF6ypSOd8jLyVH4D1+8b7O9u4Ul+rYwe3Umr7GX80r X06sdc9c+gzk6JcGkL2LH1ZQyQaZ2hDulbw/rvhJJmJ03UDU36ERY19m+0wIX5h+SRXU fpeDRCCyupmuF/ZIbIG2L1DI3IvZG/HbWEA7HDeCu1zcv5r6rVganoMZIYYinqIyhBZE mIzA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@reardencode.com header.s=mail header.b=QpQa2Tz8; spf=pass (google.com: domain of freedom@reardencode.com designates 206.125.169.165 as permitted sender) smtp.mailfrom=freedom@reardencode.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=reardencode.com Received: from mail.reardencode.com (mail.reardencode.com. [206.125.169.165]) by gmr-mx.google.com with ESMTPS id cm28-20020a056870b61c00b0023b6d00d3d0si471357oab.2.2024.04.26.09.03.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Apr 2024 09:03:17 -0700 (PDT) Received-SPF: pass (google.com: domain of freedom@reardencode.com designates 206.125.169.165 as permitted sender) client-ip=206.125.169.165; Date: Fri, 26 Apr 2024 09:03:09 -0700 From: Brandon Black To: Garlo Nicon Cc: Bitcoin Development Mailing List Subject: Re: [bitcoindev] Re: BIP for OP_INTERNALKEY Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: X-Operating-System: Linux 6.1.74 x86_64 X-Original-Sender: freedom@reardencode.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@reardencode.com header.s=mail header.b=QpQa2Tz8; spf=pass (google.com: domain of freedom@reardencode.com designates 206.125.169.165 as permitted sender) smtp.mailfrom=freedom@reardencode.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=reardencode.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.8 (/) Hi Garlo, thanks for your thoughts! On 2024-04-26 (Fri) at 01:09:24 -0700, Garlo Nicon wrote: > I wonder, what is the reason to pick 0xcb as OP_INTERNALKEY, The choice of 0xcb was fairly arbitrary. An early draft had used another OP_SUCCESS but we moved to 0xcb to avoid conflict with BIP345. > when we had pseudo-words OP_PUBKEY (assigned to 0xfe) and > OP_PUBKEYHASH (assigned to 0xfd). Given that OP_PUBKEY was never an actual opcode, reusing that pseudo-word for this purpose seems more confusing than beneficial. > So, I guess we could reuse those opcodes, and make it a general rule, > that OP_PUBKEY picks the next key from the stack (which in this > specific case will give us the internal key, but I can imagine leaving > some room for extending it in the future, with scripts like "OP_PUBKEY > OP_CHECKSIGVERIFY OP_PUBKEY OP_CHECKSIG", where each of those > OP_PUBKEYs will give us a different key, and act somewhat like > OP_FROMALTSTACK, but working on a separate stack of public keys > instead, where the first key of that stack would be the internal > Taproot key). In terms of creating a stack of pubkeys which can be accessed sequentially in script, the only two keys I can see that being used for are the taproot internal key and the taproot external key. Any other keys will already explicitly appear in the script being validated. An alternative design could be OP_TAPKEY which can be called up to two times in script, first pushing the internal key and then pushing the external key. My inclination here is that if a case can be made for accessing both of these keys, 2 separate opcodes that repeatedly push the same key is more ergonomic for script developers than 1 opcode that pushes internal, then external, (then fails?). I'd even opt for OP_TAPKEYS that pushes both keys and the script can then DROP or NIP away the one they don't need over a stack of keys. Best, --Brandon -- 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 on the web visit https://groups.google.com/d/msgid/bitcoindev/ZivQPc0DRY3_rNj0%40console.