summaryrefslogtreecommitdiff
path: root/b5/6856b5be13ba33ba8684e72f95184743af85ea
blob: 6b2d65c4ebab0e3072470c2b856a40000d9df016 (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
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
Return-Path: <chris@suredbits.com>
Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 447FBC000B
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Mar 2022 12:59:09 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp2.osuosl.org (Postfix) with ESMTP id 2AF5040385
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Mar 2022 12:59:09 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: 0.813
X-Spam-Level: 
X-Spam-Status: No, score=0.813 tagged_above=-999 required=5
 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_NONE=0.001, T_KAM_HTML_FONT_INVALID=0.01]
 autolearn=ham autolearn_force=no
Authentication-Results: smtp2.osuosl.org (amavisd-new);
 dkim=pass (2048-bit key) header.d=suredbits-com.20210112.gappssmtp.com
Received: from smtp2.osuosl.org ([127.0.0.1])
 by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id k_CqWDR_9vo6
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Mar 2022 12:59:07 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.8.0
Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com
 [IPv6:2607:f8b0:4864:20::731])
 by smtp2.osuosl.org (Postfix) with ESMTPS id 9668940018
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Mar 2022 12:59:07 +0000 (UTC)
Received: by mail-qk1-x731.google.com with SMTP id g24so3790961qkl.3
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu, 03 Mar 2022 04:59:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=suredbits-com.20210112.gappssmtp.com; s=20210112;
 h=mime-version:from:date:message-id:subject:to;
 bh=dGX/7yNsGZJomgQ+diUT2m38gVvUOY6LYS/bGLCapuY=;
 b=J29eYIGXWt1rI1j6kqC+GF8cWsZG4JdW7nDdSQ4qMsv+wiGQJg22Hl1F40vP9aPyDI
 oAwhMVkOXFHpqGAoeeBxZ72dMYS3kzS33YvvKe9+YpSk/he7VECW4ASDr4yHIdHElgAL
 ACr7+iB6S3dxnRUbtiOe3VyCr6mWUNks2RxqMnmLi+qUyP70Y3uA5ivKdK/zaHWedYw0
 pS+Yoo+fwscRK2FXPa5c2DL/pd+/gcFT1tDjUQIYyJ8CT3ba4VwLEh3SIY3VT1aiSZvF
 lSzfNy6YZ4nFbY1gsx8pbCOv6qsHiHs9tjUf1fITp3buIoU/yhMyR956AmgL72CtUpji
 2Mlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=dGX/7yNsGZJomgQ+diUT2m38gVvUOY6LYS/bGLCapuY=;
 b=cgWCz4sxDvZHfcz/MFPD73i455+lokbhb99G0inpBcMyOpjHF93FOlpHHUvogjxPtE
 ut2ek5SQR8eIYC9vwVJ6ixkvPS8DoVmIeLRgHNzJPKRsij0gUULK5mAftjEgBsj92vgu
 uUPdCvH+G5Oeb5sPruW3P2f1mN+jmcQkHpKkGnncn0WdStZKrGNPyVCu4ooe5vQ36+wr
 MphRIYJo6p+Glt+h0Qct7Bvf1NrUH7gWYCPhG2xgv+fgNpD4nrmk6P1S4ONuuoPyh4mF
 al2gdJscOlZY9qJKvvM4u8qiFAA99tnUcSETjKrT/vZhAsiuAiIFxFsniskQ6UnjS6Ed
 RZbA==
X-Gm-Message-State: AOAM532ujX9bClWgMardl7E7UbHVwr3lJiI5pxErY9hbv7Ri+Hl+LTHM
 e7DZHwRua05/5LBzWrHMAzcKsxUUPSL/L36IZUzfSQ==
X-Google-Smtp-Source: ABdhPJxFokdiJJIP9kb366smHcokCHnNodjvcWNs5CDkxWP6R1YGcWHe4xfeGtl18hEWZWzd7PLWztKYMtLsr/wTJn0=
X-Received: by 2002:a37:af81:0:b0:5f1:9172:7c3f with SMTP id
 y123-20020a37af81000000b005f191727c3fmr19008539qke.665.1646312346036; Thu, 03
 Mar 2022 04:59:06 -0800 (PST)
MIME-Version: 1.0
From: Chris Stewart <chris@suredbits.com>
Date: Thu, 3 Mar 2022 06:58:55 -0600
Message-ID: <CAFQwNuyqJCRYpCEOUFOS54k-Eu5SrkjhcUzk8-4zYK0tYhvX=A@mail.gmail.com>
To: dlc-dev@mailmanlists.org, 
 Christian Decker via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="00000000000093425505d94ff69a"
X-Mailman-Approved-At: Thu, 03 Mar 2022 16:36:32 +0000
Subject: [bitcoin-dev] Recurring bitcoin/LN payments using DLCs
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: Thu, 03 Mar 2022 12:59:09 -0000

--00000000000093425505d94ff69a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

DLCs are typically thought to be used for betting. Alice & Bob want to
speculate on an event, and have bitcoin payouts rewarded to them if they
bet correctly. The oracle determines what event occurred and produces
attestations representing that outcome.

Recently I had a conversation with a friend about implementing recurring
subscriptions with Discreet Log Contracts. At a high level, you should
think about this working like ACH. If you are purchasing a subscription
from Netflix, they will deduct $20 from your bank account every month. To
do this, you give them your credit card information.

You can do this with Discreet Log Contracts. It requires a slightly
modified DLC setup. Netflix would create an oracle representing a monthly
subscription. They require that users setup DLCs to them that will be
executed at the end of the month. Alice, a subscriber to Netflix, creates a
unilaterally funded DLC to Netflix. She creates adaptor signatures for her
payment and sends them to Netflix.

No bitcoin transaction is required to create this subscription since the
DLC is unilaterally funded. Alice can =E2=80=9Ccancel=E2=80=9D the subscrip=
tion at any time
by spending from the utxo she is using to fund the DLC.

At the end of the month, Netflix attests that it is time to charge Alice
for her subscription. Netflix takes its own attestation and decrypts
Alice=E2=80=99s adaptor signature to get her signature to send funds to Net=
flix.
Netflix publishes the settlement transaction for the DLC which pays Netflix
it=E2=80=99s subscription fee for the next month. Netflix also publishes a =
new
announcement for next month so that Alice can create a new DLC subscription=
.

Netflix needs to give Alice a bitcoin address to pay to.

The information Alice is required to send Netflix is


   1.

   Her utxo used to fund the DLC
   2.

   Her adaptor signature representing her monthly subscription to netflix.


Netflix must verify the adaptor signatures are correct and the utxo exists.

Why is this useful?

It's very convenient for a user to give access to withdraw a certain amount
of money from a bank account at a given time in the future. This is how
recurring payments work in tradfi. This brings the same principle to
bitcoin payments.

DLCs also give you the power to specify how much the service can withdraw.
For instance, with Netflix, they shouldn=E2=80=99t have the ability to with=
draw
thousands of dollars worth of bitcoin. The monthly service fee is $20. With
DLCs, you can cryptographically enforce that they will only receive $20.
They cannot withdraw more or less money than they are authorized to.

There may be concerns about Netflix being both the oracle and the entity
receiving a monthly payment. I would argue this is mitigated by the fact
that the service provider could steal at most one months worth of service
fees for users of the subscription. After users get scammed once, they will
cancel their future subscription and distrust the service. The key feature
is the amount of money in the subscription is predetermined, thus the
oracle cannot withdraw excess funds if they are evil.

### QA

Does the DLC use a 2 of 2 multisig between Netflix and Alice?

No, the DLC is unilaterally funded by Alice. This allows her to create the
subscription without an onchain transaction, and also allows her to cancel
the subscription at any time. She cancels the subscription by double
spending the utxo.

Can Netflix steal all the money in the funding output?

No, Alice=E2=80=99s adaptor signatures allow Netflix to withdraw a specific=
 amount
of bitcoin. The change is sent back to an address Alice controls. Both of
these outputs are protected by the adaptor signature.

Is there a perverse incentive for Netflix to be the oracle and receive the
subscription?

The most Netflix can steal in this setup is one months worth of
subscription fees across the entire customer base. In this setup, Alice is
accepting that risk for the convenience of auto withdrawals from her
bitcoin wallet. Remember, Alice can cancel the subscription at any time she
wants by spending from the funding utxo.

--00000000000093425505d94ff69a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;ma=
rgin-bottom:0pt" id=3D"gmail-docs-internal-guid-f0c11921-7fff-f35b-17e6-366=
f8d4f4545"><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0)=
;background-color:transparent;font-weight:400;font-style:normal;font-varian=
t:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"=
>DLCs are typically thought to be used for betting. Alice &amp; Bob want to=
 speculate on an event, and have bitcoin payouts rewarded to them if they b=
et correctly. The oracle determines what event occurred and produces attest=
ations representing that outcome.</span></p><br><p dir=3D"ltr" style=3D"lin=
e-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11=
pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-wei=
ght:400;font-style:normal;font-variant:normal;text-decoration:none;vertical=
-align:baseline;white-space:pre-wrap">Recently I had a conversation with a =
friend about implementing recurring subscriptions with Discreet Log Contrac=
ts. At a high level, you should think about this working like ACH. If you a=
re purchasing a subscription from Netflix, they will deduct $20 from your b=
ank account every month. To do this, you give them your credit card informa=
tion.</span></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt=
;margin-bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial;color:r=
gb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;fo=
nt-variant:normal;text-decoration:none;vertical-align:baseline;white-space:=
pre-wrap">You can do this with Discreet Log Contracts. It requires a slight=
ly modified DLC setup. Netflix would create an oracle representing a monthl=
y subscription. They require that users setup DLCs to them that will be exe=
cuted at the end of the month. Alice, a subscriber to Netflix, creates a un=
ilaterally funded DLC to Netflix. She creates adaptor signatures for her pa=
yment and sends them to Netflix.=C2=A0</span></p><br><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-=
size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;f=
ont-weight:400;font-style:normal;font-variant:normal;text-decoration:none;v=
ertical-align:baseline;white-space:pre-wrap">No bitcoin transaction is requ=
ired to create this subscription since the DLC is unilaterally funded. Alic=
e can =E2=80=9Ccancel=E2=80=9D the subscription at any time by spending fro=
m the utxo she is using to fund the DLC.</span></p><br><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-=
size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;f=
ont-weight:400;font-style:normal;font-variant:normal;text-decoration:none;v=
ertical-align:baseline;white-space:pre-wrap">At the end of the month, Netfl=
ix attests that it is time to charge Alice for her subscription. Netflix ta=
kes its own attestation and decrypts Alice=E2=80=99s adaptor signature to g=
et her signature to send funds to Netflix. Netflix publishes the settlement=
 transaction for the DLC which pays Netflix it=E2=80=99s subscription fee f=
or the next month. Netflix also publishes a new announcement for next month=
 so that Alice can create a new DLC subscription.</span></p><br><p dir=3D"l=
tr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:tran=
sparent;font-weight:400;font-style:normal;font-variant:normal;text-decorati=
on:none;vertical-align:baseline;white-space:pre-wrap">Netflix needs to give=
 Alice a bitcoin address to pay to.=C2=A0</span></p><br><p dir=3D"ltr" styl=
e=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font=
-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;=
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;=
vertical-align:baseline;white-space:pre-wrap">The information Alice is requ=
ired to send Netflix is</span></p><br><ol style=3D"margin-top:0px;margin-bo=
ttom:0px"><li dir=3D"ltr" style=3D"list-style-type:decimal;font-size:11pt;f=
ont-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:=
400;font-style:normal;font-variant:normal;text-decoration:none;vertical-ali=
gn:baseline;white-space:pre"><p dir=3D"ltr" style=3D"line-height:1.38;margi=
n-top:0pt;margin-bottom:0pt" role=3D"presentation"><span style=3D"font-size=
:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-=
weight:400;font-style:normal;font-variant:normal;text-decoration:none;verti=
cal-align:baseline;white-space:pre-wrap">Her utxo used to fund the DLC</spa=
n></p></li><li dir=3D"ltr" style=3D"list-style-type:decimal;font-size:11pt;=
font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight=
:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-al=
ign:baseline;white-space:pre"><p dir=3D"ltr" style=3D"line-height:1.38;marg=
in-top:0pt;margin-bottom:0pt" role=3D"presentation"><span style=3D"font-siz=
e:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font=
-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vert=
ical-align:baseline;white-space:pre-wrap">Her adaptor signature representin=
g her monthly subscription to netflix.</span></p></li></ol><br><p dir=3D"lt=
r" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=
=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:tran=
sparent;font-weight:400;font-style:normal;font-variant:normal;text-decorati=
on:none;vertical-align:baseline;white-space:pre-wrap">Netflix must verify t=
he adaptor signatures are correct and the utxo exists.</span></p><br><p dir=
=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span =
style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color=
:transparent;font-weight:700;font-style:normal;font-variant:normal;text-dec=
oration:none;vertical-align:baseline;white-space:pre-wrap">Why is this usef=
ul?</span></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;m=
argin-bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial;color:rgb=
(0,0,0);background-color:transparent;font-weight:400;font-style:normal;font=
-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pr=
e-wrap">It&#39;s very convenient for a user to give access to withdraw a ce=
rtain amount of money from a bank account at a given time in the future. Th=
is is how recurring payments work in tradfi. This brings the same principle=
 to bitcoin payments.</span></p><br><p dir=3D"ltr" style=3D"line-height:1.3=
8;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11pt;font-fami=
ly:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;font=
-style:normal;font-variant:normal;text-decoration:none;vertical-align:basel=
ine;white-space:pre-wrap">DLCs also give you the power to specify </span><s=
pan style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-c=
olor:transparent;font-weight:400;font-style:italic;font-variant:normal;text=
-decoration:none;vertical-align:baseline;white-space:pre-wrap">how much </s=
pan><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);backgr=
ound-color:transparent;font-weight:400;font-style:normal;font-variant:norma=
l;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">the se=
rvice can withdraw. For instance, with Netflix, they shouldn=E2=80=99t have=
 the ability to withdraw thousands of dollars worth of bitcoin. The monthly=
 service fee is $20. With DLCs, you can cryptographically enforce that they=
 will only receive $20. They cannot withdraw more or less money than they a=
re authorized to.</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin=
-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial=
;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:n=
ormal;font-variant:normal;text-decoration:none;vertical-align:baseline;whit=
e-space:pre-wrap">There may be concerns about Netflix being both the oracle=
 </span><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);ba=
ckground-color:transparent;font-weight:400;font-style:italic;font-variant:n=
ormal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">an=
d </span><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);b=
ackground-color:transparent;font-weight:400;font-style:normal;font-variant:=
normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">t=
he entity receiving a monthly payment. I would argue this is mitigated by t=
he fact that the service provider could steal at most one months worth of s=
ervice fees for users of the subscription. After users get scammed once, th=
ey will cancel their future subscription and distrust the service. The key =
feature is the amount of money in the subscription is predetermined, thus t=
he oracle cannot withdraw excess funds if they are evil.</span></p><br><p d=
ir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><spa=
n style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-col=
or:transparent;font-weight:700;font-style:normal;font-variant:normal;text-d=
ecoration:none;vertical-align:baseline;white-space:pre-wrap">### QA</span><=
/p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-botto=
m:0pt"><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);bac=
kground-color:transparent;font-weight:700;font-style:normal;font-variant:no=
rmal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Doe=
s the DLC use a 2 of 2 multisig between Netflix and Alice?</span></p><br><p=
 dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><s=
pan style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-c=
olor:transparent;font-weight:400;font-style:normal;font-variant:normal;text=
-decoration:none;vertical-align:baseline;white-space:pre-wrap">No, the DLC =
is unilaterally funded by Alice. This allows her to create the subscription=
 </span><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);ba=
ckground-color:transparent;font-weight:400;font-style:italic;font-variant:n=
ormal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">wi=
thout</span><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0=
);background-color:transparent;font-weight:400;font-style:normal;font-varia=
nt:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap=
"> an onchain transaction, and also allows her to cancel the subscription a=
t any time. She cancels the subscription by double spending the utxo.</span=
></p><br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bot=
tom:0pt"><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);b=
ackground-color:transparent;font-weight:700;font-style:normal;font-variant:=
normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">C=
an Netflix steal all the money in the funding output?</span></p><br><p dir=
=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span =
style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color=
:transparent;font-weight:400;font-style:normal;font-variant:normal;text-dec=
oration:none;vertical-align:baseline;white-space:pre-wrap">No, Alice=E2=80=
=99s adaptor signatures allow Netflix to withdraw a specific amount of bitc=
oin. The change is sent back to an address Alice controls. Both of these ou=
tputs are protected by the adaptor signature.</span></p><br><p dir=3D"ltr" =
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"=
font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transpar=
ent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:n=
one;vertical-align:baseline;white-space:pre-wrap">Is there a perverse incen=
tive for Netflix to be the oracle and receive the subscription?</span></p><=
br><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0p=
t"><span style=3D"font-size:11pt;font-family:Arial;color:rgb(0,0,0);backgro=
und-color:transparent;font-weight:400;font-style:normal;font-variant:normal=
;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">The mos=
t Netflix can steal in this setup is one months worth of subscription fees =
across the entire customer base. In this setup, Alice is accepting that ris=
k for the convenience of auto withdrawals from her bitcoin wallet. Remember=
, Alice can cancel the subscription at any time she wants by spending from =
the funding utxo.</span></p></div>

--00000000000093425505d94ff69a--