summaryrefslogtreecommitdiff
path: root/6e/2db009658e3ce72178db1938f0d12985c2b8a5
blob: f037f603339f5c99169d8d779e67d2182b7ce84d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
Delivery-date: Sat, 05 Jul 2025 06:54:38 -0700
Received: from mail-yw1-f184.google.com ([209.85.128.184])
	by mail.fairlystable.org with esmtps  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
	(Exim 4.94.2)
	(envelope-from <bitcoindev+bncBDBNTKFG4EDRBE65UTBQMGQEUPYT2RQ@googlegroups.com>)
	id 1uY3Li-0000dV-3o
	for bitcoindev@gnusha.org; Sat, 05 Jul 2025 06:54:38 -0700
Received: by mail-yw1-f184.google.com with SMTP id 00721157ae682-7151c64e0a2sf24063167b3.3
        for <bitcoindev@gnusha.org>; Sat, 05 Jul 2025 06:54:37 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1751723671; cv=pass;
        d=google.com; s=arc-20240605;
        b=MHezas98dYQbmAKbPqnMjD8zcy/7kXaojCb8SUbARHEnqCWkv+bK2tBUgkdlXBpHZk
         2dpmVVdEotRynsnGuoolL7jui4SJEeupeKSDudhNhRZ2QYuqGVcISfnY/kXysBLv9cKp
         bADi/8seTeGroXDgH3zcPhQ7HdRjRKMtwJjhNXrAawlz47NrqyMPdDi3hiLy81jYz2mz
         dR8TKq3XPDd3sqme/MD2qGJGNnUMIUQoB3MVE3zakymDPnFgd7qT2lybC3c3czhwyoyV
         jTtuQjN6TFbKPyTqbMN32dGBP+bHXnU7VpYprLL4CyvGpshqRad4MPrlo2/qwcFnUA4L
         kR1w==
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:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:sender
         :dkim-signature;
        bh=75dXTl8TtCwjEqtnYFHfsXSkKbhRHc0SVOqitc45Ej0=;
        fh=uLOKBVNeOxhXWARUon70/kQiiHd9ZnmRtaslXbC+Kuk=;
        b=jDxMGLFOqSwTkImJMOIWKuGF0+g8gXgEAsEEZTFdIKs6kmneVejDNpMZf5/T3mAe6o
         2MYPk3PKhFVlIKAUAOBFnddYu/e5NUBe2CmlOIc7JUKNobCXAdpAhO9DojJdlimxLeUB
         WDzEj5BbHXCEXsag5PzIFuzuVXWCZyanoVe4guPKWA/KeqMloMOEOgb4EsK7ybPBo3+F
         7zwu7bEOz0UypBhFhWUQqLox8mGSgkqliQBX0Pp/pLAnAcaa045npqKZdNjgfN2GUpu0
         e4AuOJ4JRPIfVmyBSU1tgzRbp+zX6iB7rPcUwA28GcUPeHI4I8BaaIgtDSu/8Jx0UHwX
         d1zA==;
        darn=gnusha.org
ARC-Authentication-Results: i=2; gmr-mx.google.com;
       spf=pass (google.com: domain of aj@erisian.com.au designates 172.104.61.193 as permitted sender) smtp.mailfrom=aj@erisian.com.au
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlegroups.com; s=20230601; t=1751723671; x=1752328471; 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=75dXTl8TtCwjEqtnYFHfsXSkKbhRHc0SVOqitc45Ej0=;
        b=ff/1OGvVFws3T8sfzmfBYBvI5R4/lugBIiZetqr6iG9wYSfRJvgkRy90xbAQlFcEHe
         bV6/e6KnRHcswoEZgY71Q+O2DFtTbHRYy/GfEn9t9C5pqKGYdnzl0eJeeeJRVvApura8
         lAQfTSSEYsVqOhE9jzkJDReHyQSc9mN6+gWypBZIZIW7YdYtbvQVTUye3zdRVRp3LNgE
         3AgIcxoFEvKuOL+PId/NoBxHq5zWtWsft+RXbogGyq+DsiORKfOGc7F6xrD43DG3rleW
         DXGE7/3eDgGTmw0ke5l5A/CraPWl/eSWT28FDQpOz7fTFL+siJn/zQKWeYyOce9eI7OG
         uk+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1751723671; x=1752328471;
        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=75dXTl8TtCwjEqtnYFHfsXSkKbhRHc0SVOqitc45Ej0=;
        b=dKEIkdz066Ozic3HhSzkZ4QjJEpMwveB3aH57pEGfm3PYY07FubO/AUZRx2B6CBA9B
         AYgoBHJMUrfsXsUGEPy2mmZUuADw0dSEo3VvHM8t8105ZKPSq3OAm4BE137LnSteWNtn
         yb6r1SqdeflCAnlCGSSRxsGZnJoy+I75dalLSQgVBA3QjEYeQMrtmdkwIciuWxJlH21k
         J0mOimAy0F9DA+DRrmccfaVJDLI9Y76CIHXoBJiWMgo3Y5uV3G4TH4EEzP8Cvy8s9a2E
         aeam4z9wJVATYDGZO8xc7FodVYjGU3bMsJ2GVDpu2xRdpmiQKXbBcD6DRe9rQ8T1cyQN
         j7XQ==
Sender: bitcoindev@googlegroups.com
X-Forwarded-Encrypted: i=2; AJvYcCUnfkarjdrVmT7+gaQl0b8tD9n3mxsolif2x7pzKyep0UG/o5j//zP4Ay0H3yHjKVJi1OXEgWEaw07T@gnusha.org
X-Gm-Message-State: AOJu0Yz2TiFVRwujVbDz/ZMyWm3nLnpDUjnoSECBdzICG0+qEngYsznQ
	ZqFYZoaZmACif32BxevOok4Lglvbdtwswo9mpEqbAS1XPzHzmBCfWcbL
X-Google-Smtp-Source: AGHT+IE9CvnECUOdjk/OgrTqWVNmIHmZ+mmdydMzkKgQDOcpad2yfXnuEeHDxtj2sPYDxFi7aoHoKw==
X-Received: by 2002:a05:6902:6b1a:b0:e8b:444c:a1b0 with SMTP id 3f1490d57ef6-e8b444ca5acmr423294276.16.1751723671553;
        Sat, 05 Jul 2025 06:54:31 -0700 (PDT)
X-BeenThere: bitcoindev@googlegroups.com; h=AZMbMZeI/pu+mlZ/eAxhaAMEmo5xBNo47pBAndiizQwFcmZOug==
Received: by 2002:a25:7e05:0:b0:e89:96c9:11ca with SMTP id 3f1490d57ef6-e89a368e16fls973606276.0.-pod-prod-09-us;
 Sat, 05 Jul 2025 06:54:27 -0700 (PDT)
X-Received: by 2002:a05:690c:c92:b0:712:d538:4e1 with SMTP id 00721157ae682-7166b81f80dmr79059457b3.35.1751723666927;
        Sat, 05 Jul 2025 06:54:26 -0700 (PDT)
Received: by 2002:a05:690c:3149:b0:710:fccf:6901 with SMTP id 00721157ae682-7164e5fe800ms7b3;
        Sat, 5 Jul 2025 05:19:04 -0700 (PDT)
X-Received: by 2002:a05:6902:160c:b0:e84:3657:e50 with SMTP id 3f1490d57ef6-e89a09edd98mr7393078276.3.1751717943261;
        Sat, 05 Jul 2025 05:19:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1751717943; cv=none;
        d=google.com; s=arc-20240605;
        b=iui/+Q1GAvr6dHeafpMvByarcHdho6TDRfMx3wkAvQL6Zlp329ycbphqRqAL3aNtBg
         etgdBjmXYraEZlOXF+gFMxRHyZhYDTOdQLPKNwznf7spcUxRqF8+rtKD+WSCbvGUAQra
         N/SC2FEcMPGGUBA5fK1AYfwD69dgzyGzTMU3+uK4fuRyw83AGJ/+XWZY+gjIq+0mLbeg
         W44KMtN1vlFhavCYhCvLNEBsR7Y/PcW5QUyrLdNbLP99gcLLr1ctN7qJkFkVZ+3ulzXI
         Z9nNvEfwylZjCPDFJYglYTeUiLk+dPX1jcvjcfLsBAZWu0YI/r9ngoz9OXrbwZrmKDRq
         CmCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date;
        bh=e1UE2VGqSPVDQOHwUtuvpNr1PHdEO8eRBDbVLit1KBA=;
        fh=AraWG4EtKgnVZC3vx0kKXPCQKgjblcoyQOn27ZV865o=;
        b=bjbEEQzLZmqKbwEge4eHszmAezlEyve8fdQRdAfat/+uEbvW+GHu3+W2ISjb/w4OQs
         utqQUcVflqq4bKyG6y6UX/X4ksYN2h8EiOTTmLOSqqjMs9AMLlbI2c7k6k795ZLIdJ22
         grwGdHQ1lOT7/j374KkqzXFldIyBkSoetCmd/Qp6vj60ve1wkCOpthaJ/leC3Yix06QE
         /o5lWPonH75QPGhF+0NhtwJ5UcrsKeJyToXognMdWIr4MuD6u1zQOS3O8vz6meiZLV8d
         abtEB1LRd1ZQI6Ut1FsgszG6uZ6zDRvnKxwZrzto2OhLF+/0NoUGYJGl8Fhq9ny9wlBd
         Dtfg==;
        dara=google.com
ARC-Authentication-Results: i=1; gmr-mx.google.com;
       spf=pass (google.com: domain of aj@erisian.com.au designates 172.104.61.193 as permitted sender) smtp.mailfrom=aj@erisian.com.au
Received: from cerulean.erisian.com.au (azure.erisian.com.au. [172.104.61.193])
        by gmr-mx.google.com with ESMTPS id 3f1490d57ef6-e899c137b93si250762276.0.2025.07.05.05.19.02
        for <bitcoindev@googlegroups.com>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Sat, 05 Jul 2025 05:19:02 -0700 (PDT)
Received-SPF: pass (google.com: domain of aj@erisian.com.au designates 172.104.61.193 as permitted sender) client-ip=172.104.61.193;
Received: from aj@azure.erisian.com.au
	by cerulean.erisian.com.au with esmtpsa  (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
	(Exim 4.96)
	(envelope-from <aj@erisian.com.au>)
	id 1uY1r7-0003pP-1x;
	Sat, 05 Jul 2025 22:18:59 +1000
Received: by email (sSMTP sendmail emulation); Sat, 05 Jul 2025 22:18:54 +1000
Date: Sat, 5 Jul 2025 22:18:54 +1000
From: Anthony Towns <aj@erisian.com.au>
To: conduition <conduition@proton.me>
Cc: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: Re: [bitcoindev] OP_CAT Enables Winternitz Signatures
Message-ID: <aGkYLuZZz2itqVJx@erisian.com.au>
References: <uCSokD_EM3XBQBiVIEeju5mPOy2OU-TTAQaavyo0Zs8s2GhAdokhJXLFpcBpG9cKF03dNZfq2kqO-PpxXouSIHsDosjYhdBGkFArC5yIHU0=@proton.me>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
In-Reply-To: <uCSokD_EM3XBQBiVIEeju5mPOy2OU-TTAQaavyo0Zs8s2GhAdokhJXLFpcBpG9cKF03dNZfq2kqO-PpxXouSIHsDosjYhdBGkFArC5yIHU0=@proton.me>
X-Spam_score: 0.0
X-Spam_bar: /
X-Original-Sender: aj@erisian.com.au
X-Original-Authentication-Results: gmr-mx.google.com;       spf=pass
 (google.com: domain of aj@erisian.com.au designates 172.104.61.193 as
 permitted sender) smtp.mailfrom=aj@erisian.com.au
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.8 (/)

On Sun, Jun 08, 2025 at 03:20:08AM +0000, 'conduition' via Bitcoin Development Mailing List wrote:
> See a prototype implementation in pseudo-script on
> github here.
> 
> https://gist.github.com/conduition/c6fd78e90c21f669fad7e3b5fe113182

I think you can do the four-bit pair to eight-bit conversion slightly
better with:

DUP 8 GREATERTHANOREQUAL  # is the high-bit going to be set?
SWAP ROT SWAP  # drop that flag lower in the stack
DUP ADD DUP ADD DUP ADD DUP ADD ADD  # combine them mathematically
SWAP IF  # was the flag set?
  128 SWAP SUB  # subtract from 128 converts 0x8100-0xff00 to 0x81-0xff
  IFDUP NOT IF "0x80" ENDIF  # special case 0x80 "negative zero"
ELSE
  IFDUP NOT IF "0x00" ENDIF  # special case actual 0
ENDIF

Should save about 640 bytes of script (11%, 8% total), I think.

> PS If anyone would like to test this on signet, I'd
> be more than happy to help. I couldn't get my OP_CAT
> transactions mined for some reason so i stuck to regtest.

inquisition.bitcoin-signet.net was down for a few days when you posted
this, due to running out of disk space, which probably would have made
getting txs relayed pretty hard. You'd probably have more luck now.

Cheers,
aj

-- 
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/aGkYLuZZz2itqVJx%40erisian.com.au.