Delivery-date: Thu, 25 Apr 2024 03:41:10 -0700 Received: from mail-yb1-f192.google.com ([209.85.219.192]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rzwXO-00023B-GY for bitcoindev@gnusha.org; Thu, 25 Apr 2024 03:41:10 -0700 Received: by mail-yb1-f192.google.com with SMTP id 3f1490d57ef6-dc6b269686asf1528752276.1 for ; Thu, 25 Apr 2024 03:41:10 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714041664; cv=pass; d=google.com; s=arc-20160816; b=VfVHXbyzbxJ01gE1PZdiM/oq9QGqvk325PjR38BrKDvP5MX9rhyfwwr2J2Umo3t3ma RYA2clnJmWop7O7f9ZSrHgmma3b5cmYod56MPfZjqakKPj8ceoWbr3hBmVh2Jnm9cvrW 20a9AQotu/l0DTZqsEzsl5dcVe0y8QldD7EabshX5Ro5HuNCU0wpiyXUs8XP5KaGJdjJ 1Avg6Lynw+M5VynU9VTSgUT8S9zHcSYD1DO6bjIPiC8JlKUuyFs+p5DfW0zJBzukfUxS uwCVPC2T4KE45Mn/bHpNNcLT3PLrKTbOgqvDP8foSyfu0RuYH6VDjPuECC/SHgkA0+c8 lfUw== 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-disposition:mime-version :message-id:subject:to:from:date:sender:dkim-signature; bh=RiQl7HIJD7UjExFex9c+4livqoCgIKPaqAAU+bZ11Hs=; fh=iDzNaOPpYVSUK/HT/mgBc12DEDny/CPLabvYRCZ+f0Y=; b=yerEWVLZ3/DAqpgZN+m6VpO4tcFBu78DJgcZM0f8f4IN3m82mmtybHVK4lr0NXmAMv CjSjNyCpGXSy1h6HsbJErv1qOe+XK+kUx29EbgVJ1VcQLnx9e2iYpoJRhvQebaGAGKIt cFlxhM4tzprKMtVvfk3mHjb1EXU37BpubsdEQeVuRasV4wlsJZMItBVRn4UwUk25LGiL tpiC3jDi06LSVWl+zP2DQQVFtGmKIGmmQEQ3ATH2lU5NPGy8qLloeLBOFu0qbqYCqAoQ eJrdHPlBGXn4W4hB1OkxnUHRuAI1YthHOxjMzQ3CtWCk/VsXvBAsJZrr1FuptxE8Uk/B eAPQ==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@reardencode.com header.s=mail header.b=nAQXcDBk; 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=1714041664; x=1714646464; 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-disposition:mime-version:message-id :subject:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=RiQl7HIJD7UjExFex9c+4livqoCgIKPaqAAU+bZ11Hs=; b=Vdmn04Dw9UJyaiWldrY1hXi783X/ONo6b3Fv94WVEl7rk4/ePHNrwkaS+Qw01KnpZN 9V5Fj12H8EyuEoGaq1pIW3XdT1C0E7cxn6c4sgbBjNOPa1fjkGCGm6wcNoa5/DYtuQFc 2wnh0aChRjiNuWLSmGiia3pnXhcYPdr4jywQ8wGLCFWmdQ0mEnltjnnySOZDYLN6vayG zQLoZ8b+pCrZn/BR5Q58+HPt3JGqNTi9L52gP+7kERKfcTbxjfg5YaU5MhDg7jXTb7xC vr28Y+BaoPbaBB7/pe5EH0Hi6Xx17MZDQ36fKygpYiLvWT5tyKVsKoZFrQGKnJ7hoCfG 4IDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714041664; x=1714646464; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-disposition:mime-version:message-id :subject:to:from:date:x-beenthere:x-gm-message-state:sender:from:to :cc:subject:date:message-id:reply-to; bh=RiQl7HIJD7UjExFex9c+4livqoCgIKPaqAAU+bZ11Hs=; b=qU6pku4wL6b4tdQmYIRHfJrLC5QBFtSGAERf1NvGpEKCDJ9+xvS02BBO0UWZQetzBh yuOxE0DjYKDrrND56b7F/988vcAM4PIXKouNA5/xHRYqr9L768A+bI94ztSH8Xiyn7+K ClmRewzmxGi4Q3n9TTcYMQsPNWyncx3zNDZsUHahKyWXVFuwgtDdXyzqElJVYA4Pproz R35Se8dJpgvE/m9aOhkHwyiC3nyTheeJAbeJ4Sm/53jZXbNqhJrvVA7HNwyLWtZA4d8H mo4Rb9Dse6wpc7pUiRBk9flq27Zw7NCoNE7yro9xpgyhc9OPRKXI/kUc+YQ7BKQRvHMr ABPw== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCV61HhFDQt277QUs1+Cra+FbcRRy5yHWTnF8/PTOSwacfFS8VnCVpEQ44LEe5qBKehM6hl5O9ixKITaZRaBRF4q36MEgHc= X-Gm-Message-State: AOJu0Yw3K0VBGVwWtG0173NnFVz41xh4CkNmOWRoVo11b5l9e7bC+jgG Fq/XH+HPnEnwNUcBv/Yrg1WF2P/5z1W6xvyw3+6s8LMLqsryNBuu X-Google-Smtp-Source: AGHT+IEEE7UjY4afsH6GUXP83KtnEZ10ZFNpIrPXSPbLkhdtiMKBHhxFmfez8lxsQhMfBaRTlaD+Rw== X-Received: by 2002:a25:d392:0:b0:de5:51dd:87e4 with SMTP id e140-20020a25d392000000b00de551dd87e4mr4832036ybf.31.1714041664268; Thu, 25 Apr 2024 03:41:04 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com Received: by 2002:a25:948:0:b0:de5:9eb1:327d with SMTP id 3f1490d57ef6-de59eb13f89ls3484276.2.-pod-prod-06-us; Thu, 25 Apr 2024 03:41:02 -0700 (PDT) X-Received: by 2002:a0d:ea8a:0:b0:618:8ec2:ccb0 with SMTP id t132-20020a0dea8a000000b006188ec2ccb0mr1287475ywe.7.1714041662796; Thu, 25 Apr 2024 03:41:02 -0700 (PDT) Received: by 2002:a05:690c:dd1:b0:611:9f18:9d1 with SMTP id 00721157ae682-61b84c15d1ams7b3; Wed, 24 Apr 2024 22:22:21 -0700 (PDT) X-Received: by 2002:a25:d392:0:b0:de5:51dd:87e4 with SMTP id e140-20020a25d392000000b00de551dd87e4mr4282258ybf.31.1714022541091; Wed, 24 Apr 2024 22:22:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1714022541; cv=none; d=google.com; s=arc-20160816; b=GE9z3N8NSdeN4vN8v6aKpdewl/eOWzrQFd8Qu96WpfF0zqzpR6QyqMVphxQ3deFZX4 F4KUJ+49hPrrkDbalXBncmLH+o7N5O6rG0FvVJgCDRaEIxAp6iz9hnD5JSi7er+g25Vb rY3UIOPDJEMM9he/cfTZKOErHe725J59HZh4FihVn3AZbstcRwrEjumjVyrfH4DTLupu LgKB119u4i/ZHVTQPSUk2t/J6KH0LVNqMZueMZs3Yvnnj5IQC1uDlRKAupnO9m2OaaRI qTmS4QcupC7Z7UDWt2wjUzReWk7w00Bw+9TgcMrHPn7IH9RxmH8Tfm8iQKCll5uxHzHG aU4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-disposition:mime-version:message-id:subject:to:from :dkim-signature:date; bh=3GcQ6GTWMTvUoUfzAso5DeFCnBggzhfoQ4ZTJB6vq80=; fh=VcGcg+Zjs9gw1uDcHbxsAILhBAcecnbJzZRdxgKVDIc=; b=0c+YOGO90WGPRAxgYmsTmlVcBXYTAkB4zOJIfxsRzZLEEvWVS61i+IIISNphE1W/jq oMn+ZwIpNPkPx0JQD6UD96rEF13/YZZNm0qC4kJhPdHcyVUsoTYZhsSN5s2lJzb2+E6N isv0uOMgGkpfiNK+ZgcuWXRyo2LnzvL4RXz2l4c1mUPA060ObMxXhUNwx8ZdVOIKljJ3 pbm7cQhBebj4mpjrVsw7oMcLbUYhe/k/i3uZ+LQbcg5Fy0Hx7Fujq3Lz5RE1UAwmb8R1 njAFgIx0RUdWSRElPwThQwmUVFCYG0T6CkA4sXSFzY61QD+Cbj+2mAwB+e9pmSMdgdBS UKuw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@reardencode.com header.s=mail header.b=nAQXcDBk; 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 w6-20020a25ac06000000b00dcc3d9efcb7si1776262ybi.3.2024.04.24.22.22.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Apr 2024 22:22:20 -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: Wed, 24 Apr 2024 22:22:13 -0700 From: Brandon Black To: bitcoindev@googlegroups.com Subject: [bitcoindev] BIP for OP_INTERNALKEY Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline 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=nAQXcDBk; 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 (/) Hello list, I'm currently failing to find the original reference discussion for adding OP_INTERNALKEY to tapscript. I believe it was in the context of the SIGHASH_ANYPREVOUT proposal which opted instead to access the internalkey as a special key with value `0x01`. Regardless, here[0] is a BIP for adding OP_INTERNALKEY to tapscript to allow access to the taproot internal key. As noted below, this helps certain classes of script come closer to matching segwitv0 in byte efficiency, which can be particularly useful for protocols such as Lightning where the same signers may need to sign a script path in some cases, and a key path in others. ------------ ## Abstract This BIP describes a new tapscript opcode (`OP_INTERNALKEY`) which pushes the taproot internal key to the stack. ## Specification When verifying taproot script spends having leaf version `0xc0` (as defined in [BIP 342]), `OP_INTERNALKEY` replaces `OP_SUCCESS203` (0xcb). `OP_INTERNALKEY` pushes the taproot internal key, as defined in [BIP 341], to the stack. ## Motivation ### Key spend with additional conditions When building taproot outputs, especially those secured by an aggregate key representing more than one signer, the parties may wish to collaborate on signing with the taproot internal key, but only with additional script restrictions. In this case, `OP_INTERNALKEY` saves 8 vBytes. ### Mitigated control block overhead for scripts using hash locks In cases where script path spending is not desired, the internal key may be set to a NUMS point whose bytes would otherwise be required in a tapscript. This could be used with any hash locked transaction, for example, to save 8 vBytes. Note: The internal key must be the X coordinate of a point on the SECP256K1 curve, so any such hash must be checked and modified until it is such an X coordinate. This will typically take approximately 2 attempts. ## Reference Implementation A reference implementation is provided here: https://github.com/bitcoin/bitcoin/pull/29269 ## Backward Compatibility By constraining the behavior of an OP_SUCCESS opcode, deployment of the BIP can be done in a backwards compatible, soft-fork manner. If anyone were to rely on the OP_SUCCESS behavior of `OP_SUCCESS203`, `OP_INTERNALKEY` would invalidate their spend. ## Deployment TBD ## Copyright This document is licensed under the 3-clause BSD license. [BIP 341]: https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki [BIP 342]: https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki ------------ [0]: https://github.com/bitcoin/bips/pull/1534 -- --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/Zinohf1n8-aWN6G9%40console.