summaryrefslogtreecommitdiff
path: root/eb/b96446f80e652cdb9bc019870e42cae7ca5440
blob: 754225d38153feebc9aa3cb6aad3f8a305a64d91 (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
180
181
182
Return-Path: <thomashartman1@gmail.com>
Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 864DFC0051
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 17 Aug 2020 19:48:33 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by hemlock.osuosl.org (Postfix) with ESMTP id 6DDD586FE7
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 17 Aug 2020 19:48:33 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from hemlock.osuosl.org ([127.0.0.1])
 by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id YAaDpRiNky9h
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 17 Aug 2020 19:48:32 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com
 [209.85.219.47])
 by hemlock.osuosl.org (Postfix) with ESMTPS id A7B2586F85
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 17 Aug 2020 19:48:32 +0000 (UTC)
Received: by mail-qv1-f47.google.com with SMTP id dd12so8410733qvb.0
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 17 Aug 2020 12:48:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:message-id:mime-version:subject:date:in-reply-to:cc:to
 :references; bh=CwTeo0YYaIBXwo3rshdpFHw6+6dI95iY1larYO/+/WA=;
 b=s/RsSln6lHR+iplMBcAkOW+lMtgkEkmK23Jw08MgGttox7zn+E7CKxp4QBdBv09eiF
 Ygt/AK/xT5AxVtZQ2Ol2peg1Xkj30kcOsohw6M1jFURZQvxyyUfKY7FkTwW/rHgaTQpz
 QE08BFzARXJfdIJjzkvz7922b1fVcdxlT8l3uiPe+dyOB98cpG/UbGPKxdYr8x7Qqn+p
 wehnBrDyHm6FpLNcVTuLNfOJ2CCuZXC8fBlZbweVB0I2RPX2mYuWIJYmXNPlnoyuulf0
 gQ98mwVRdPvbdnCLNN11wlKaMMJ3PsPDLVX8AyIP/sqBOzql/KuE2OgykPE0WrvTVEh7
 5TCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:message-id:mime-version:subject:date
 :in-reply-to:cc:to:references;
 bh=CwTeo0YYaIBXwo3rshdpFHw6+6dI95iY1larYO/+/WA=;
 b=onmbvXjbbEVYwQza4iwL5bp72GI9zDpfOC4KMK2IEGqybm+/9NbOJ2mQSu9viIoKtH
 S3tLpY0JHTQE5tiEFUuUepIQ1k3PfWFqAnSGbmzNmq8rACRH9Pd7Bcf6KOxwLkvxfMPN
 ytkhiPhxgOVhUhcL8uB//NLmF+dszWSNfGOsODsqFYIbhhZ2u34Hg8xi4ahWlopODGcF
 e7EY10bdcyD3DH74DmahJrz3COqkse43cu+Wg8wNn2JXlSR6E3lAPs4H+ChUtUNP8Osq
 9poTMkxsEPjRFnpWzPHwa2PxzdX1Aqx1pnxLQF3ovfVSr/x5d8rAxoK/uthkD0EfTIRR
 +EIw==
X-Gm-Message-State: AOAM531KTgvczjISu223c6Ah03NYIUpN8xs7VrZDGcTd3UVPIrGuvYc2
 yfsP85DqbdjhvN5sUGhDBmQSzglkq/ZOrwcZ
X-Google-Smtp-Source: ABdhPJwpYz4JEzG18l0XFEYjdtDamjZ8pb6kD1wYv5/MIfRnP4VYe292icI0VDH/A6FyC9aNv45QVw==
X-Received: by 2002:a0c:ea8e:: with SMTP id d14mr15483609qvp.37.1597693711183; 
 Mon, 17 Aug 2020 12:48:31 -0700 (PDT)
Received: from [192.168.43.187] ([172.58.4.53])
 by smtp.gmail.com with ESMTPSA id l29sm20904603qtu.88.2020.08.17.12.48.29
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 17 Aug 2020 12:48:30 -0700 (PDT)
From: Thomas Hartman <thomashartman1@gmail.com>
Message-Id: <C7C0864D-5635-43B8-88B6-E53A14C3066C@gmail.com>
Content-Type: multipart/alternative;
 boundary="Apple-Mail=_51DB0917-DA60-4717-919A-BD881916EF17"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Mon, 17 Aug 2020 15:48:27 -0400
In-Reply-To: <Y9rFseQ13QJ0TspORM_a542mUib8lJV2IiDe8GXS5SrxkvXbVI13MfbgGqVoSVftumcYNBBKut6Fz840ehS5VfvF2AsO_qNTyzvs6tTCpBk=@protonmail.com>
To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
References: <CAHAXnDXhAFQHiBCJ=H=1ZGHdHWhgLh1rG3pCPR5o48ziZzV+zQ@mail.gmail.com>
 <CAE-z3OVCcAL2x39TswA8zrZ+yjSqdx4hccTWn9Ug8MQ5=k-Pgg@mail.gmail.com>
 <Y9rFseQ13QJ0TspORM_a542mUib8lJV2IiDe8GXS5SrxkvXbVI13MfbgGqVoSVftumcYNBBKut6Fz840ehS5VfvF2AsO_qNTyzvs6tTCpBk=@protonmail.com>
X-Mailer: Apple Mail (2.3445.9.1)
X-Mailman-Approved-At: Mon, 17 Aug 2020 19:53:14 +0000
Subject: Re: [bitcoin-dev] reviving op_difficulty
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Aug 2020 19:48:33 -0000


--Apple-Mail=_51DB0917-DA60-4717-919A-BD881916EF17
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Tier, AJ, ZmnSCPxj, thanks!=20

> On Aug 17, 2020, at 1:04 AM, ZmnSCPxj via bitcoin-dev =
<bitcoin-dev@lists.linuxfoundation.org> wrote:
>=20
> Taproot MAST to the rescue.

OK. So, using the tick scheme described by Tier a difficulty futures =
instrument is possible with current script + op_diff; and with taproot + =
op_diff (ZmnSCPxj) it may even be economical. (I will set aside =
covenants for now.)

To do it all on-chain, we need a mechanism for selling such an =
instrument in a trustless way.

That is to say (using ZmnSCPxj's construction), we have now a future =
where Bob pays Alice a pico-difficulty at next adjustment.=20

But how does Alice pay Bob his 17.4 sat?

I am trying to figure out a way to do this naively using the base layer. =
(I really want this with lightning, and eventually hft, but first things =
first.)

My thinking so far is, Alice and Bob collaborate to create partial =
versions of

** the difficulty future funded by Bob, spendable by Alice in 1000 =
blocks
** and a 17.4 sat payment from Alice to Bob, spendable by Bob =
immediately

When Bob completes and broadcasts the payment from Alice, it should =
enable Alice to complete and broadcast the difficulty future funded by =
Bob.=20

I am thinking a hash lock on the payment, with a preimage secret =
generated by Bob, could be used to accomplish this. When Bob unlocks and =
broadcasts the payment, this reveals the preimage, and with the preimage =
Alice can unlock and broadcast the difficulty future funded by Bob.=20

Am I correct in thinking something like this could work? =20=

--Apple-Mail=_51DB0917-DA60-4717-919A-BD881916EF17
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Tier,=
 AJ, ZmnSCPxj, thanks!&nbsp;<br class=3D""><div><br class=3D""><blockquote=
 type=3D"cite" class=3D""><div class=3D"">On Aug 17, 2020, at 1:04 AM, =
ZmnSCPxj via bitcoin-dev &lt;<a =
href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" =
class=3D"">bitcoin-dev@lists.linuxfoundation.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Taproot MAST to the =
rescue.</span></div></blockquote></div><br class=3D""><div class=3D""><div=
 class=3D"">OK. So, using the tick scheme described by Tier a difficulty =
futures instrument is possible with current script + op_diff; and with =
taproot + op_diff (ZmnSCPxj) it may even be economical. (I will set =
aside covenants for now.)</div><div class=3D""><br class=3D""></div><div =
class=3D"">To do it all on-chain, we need a mechanism for selling such =
an instrument in a trustless way.</div><div class=3D""><br =
class=3D""></div><div class=3D"">That is to say (using ZmnSCPxj's =
construction), we have now a future where Bob pays Alice a =
pico-difficulty at next adjustment.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">But how does Alice pay Bob his 17.4 =
sat?</div><div class=3D""><br class=3D""></div><div class=3D"">I am =
trying to figure out a way to do this naively using the base layer. (I =
really want this with lightning, and eventually hft, but first things =
first.)</div><div class=3D""><br class=3D""></div><div class=3D"">My =
thinking so far is, Alice and Bob collaborate to create partial versions =
of</div><div class=3D""><br class=3D""></div><div class=3D"">** the =
difficulty future funded by Bob, spendable by Alice in 1000 =
blocks</div><div class=3D"">** and a 17.4 sat payment from Alice to Bob, =
spendable by Bob immediately</div><div class=3D""><br =
class=3D""></div><div class=3D"">When Bob completes and broadcasts the =
payment from Alice, it should enable Alice to complete and broadcast the =
difficulty future funded by Bob.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">I am thinking a hash lock on the =
payment, with a preimage secret generated by Bob, could be used to =
accomplish this. When Bob unlocks and broadcasts the payment, this =
reveals the preimage, and with the preimage Alice can unlock and =
broadcast the difficulty future funded by Bob.&nbsp;</div><div =
class=3D""><br class=3D""></div><div class=3D"">Am I correct in thinking =
something like this could work? &nbsp;</div></div></body></html>=

--Apple-Mail=_51DB0917-DA60-4717-919A-BD881916EF17--