summaryrefslogtreecommitdiff
path: root/88/b669d8b9ed67afd1fd04ab4a4a2d6155335bbc
blob: 021e26ae825ac919f369ce31d1b4337b61a4e484 (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
Return-Path: <jlrubin@mit.edu>
Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 2790FC0012
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Dec 2021 18:25:49 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp3.osuosl.org (Postfix) with ESMTP id 235AD60B21
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Dec 2021 18:25:49 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2.3
X-Spam-Level: 
X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5
 tests=[BAYES_20=-0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from smtp3.osuosl.org ([127.0.0.1])
 by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id BuTBcg1i7H5R
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Dec 2021 18:25:48 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])
 by smtp3.osuosl.org (Postfix) with ESMTPS id C579D60B20
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Dec 2021 18:25:47 +0000 (UTC)
Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com
 [209.85.167.49]) (authenticated bits=0)
 (User authenticated as jlrubin@ATHENA.MIT.EDU)
 by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 1BDIPimV032109
 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT)
 for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 13 Dec 2021 13:25:45 -0500
Received: by mail-lf1-f49.google.com with SMTP id b1so32435625lfs.13
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon, 13 Dec 2021 10:25:45 -0800 (PST)
X-Gm-Message-State: AOAM533OgnvttZFmVW1NriP8g4Z4vhh5b+wFADRULMPhQZyK4s3sNqU1
 jYo1CEzDQ30zxUUnPjE9iPZqp3w84EOMNxZJeQE=
X-Google-Smtp-Source: ABdhPJz/aqmgZZCfywdJlGvUiGG2Q63gfrXU6+biKpK8re7sVgSY+vNao0U/UoAna13xPOfMWmCP6cWrepCsyNEb1XY=
X-Received: by 2002:a05:6512:1287:: with SMTP id
 u7mr76297lfs.226.1639419944354; 
 Mon, 13 Dec 2021 10:25:44 -0800 (PST)
MIME-Version: 1.0
From: Jeremy <jlrubin@mit.edu>
Date: Mon, 13 Dec 2021 10:25:33 -0800
X-Gmail-Original-Message-ID: <CAD5xwhhj+tF-oqOw6v4apPdP2OVB1Rb5+kiYpSmR0rc8cRQvcg@mail.gmail.com>
Message-ID: <CAD5xwhhj+tF-oqOw6v4apPdP2OVB1Rb5+kiYpSmR0rc8cRQvcg@mail.gmail.com>
To: Bitcoin development mailing list <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="0000000000006bc8df05d30b3321"
Subject: [bitcoin-dev] [Bitcoin Advent Calendar] Composability in Sapio
	Contracts
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, 13 Dec 2021 18:25:49 -0000

--0000000000006bc8df05d30b3321
Content-Type: text/plain; charset="UTF-8"

Devs,

Here's today's post: https://rubin.io/bitcoin/2021/12/13/advent-16/

It covers how you can use Sapio modules composably. This is an active area
of research for the Sapio platform, so definitely welcome and appreciate
ideas and feedback.

One area I'm particularly happy with but also unhappy with is the
"JSONSchema Type System". It is remarkably flexible, which is useful, but a
better type system would be able to enforce guarantees more strongly. Of
course, comparing to things like ERC-20, Eth interfaces aren't particularly
binding (functions could do anything) so maybe it's OK. If you have
thoughts on better ways to accomplish this, would love to think it through
more deeply. I'm particularly excited about ways to introduce more formal
correctness.

Cheers,

Jeremy

p.s. -- feel free to send me any general feedback on the series out
of band. There's a couple posts in the pipeline that are a bit less
development focused like the earlier posts I excluded, and I could filter
them if folks are feeling like it's too much information, but I'd bias
towards posting the remaining pieces as they come for continuity. Let me
know if you feel strongly about a couple posts that might be a topical
reach for this list.

--
@JeremyRubin <https://twitter.com/JeremyRubin>
<https://twitter.com/JeremyRubin>

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

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,he=
lvetica,sans-serif;font-size:small;color:#000000">Devs,</div><div class=3D"=
gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:sm=
all;color:#000000"><br></div><div class=3D"gmail_default" style=3D"font-fam=
ily:arial,helvetica,sans-serif;font-size:small;color:#000000">Here&#39;s to=
day&#39;s post:=C2=A0<a href=3D"https://rubin.io/bitcoin/2021/12/13/advent-=
16/">https://rubin.io/bitcoin/2021/12/13/advent-16/</a></div><div class=3D"=
gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:sm=
all;color:#000000"><br></div><div class=3D"gmail_default" style=3D"font-fam=
ily:arial,helvetica,sans-serif;font-size:small;color:#000000">It covers how=
 you can use Sapio modules composably. This is an active area of research f=
or the Sapio platform, so definitely welcome and appreciate ideas and feedb=
ack.</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica=
,sans-serif;font-size:small;color:#000000"><br></div><div class=3D"gmail_de=
fault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;colo=
r:#000000">One area I&#39;m particularly happy with but also unhappy with i=
s the &quot;JSONSchema Type System&quot;. It is remarkably flexible, which =
is useful, but a better type system would be able to enforce guarantees mor=
e strongly. Of course, comparing to things like ERC-20, Eth interfaces aren=
&#39;t particularly binding (functions could do anything) so maybe it&#39;s=
 OK. If you have thoughts on better ways to accomplish this, would love to =
think it through more deeply. I&#39;m particularly excited about ways to in=
troduce more formal correctness.</div><div class=3D"gmail_default" style=3D=
"font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><br>=
</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,san=
s-serif;font-size:small;color:#000000">Cheers,</div><div class=3D"gmail_def=
ault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;color=
:#000000"><br></div><div class=3D"gmail_default" style=3D"font-family:arial=
,helvetica,sans-serif;font-size:small;color:#000000">Jeremy</div><div class=
=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-siz=
e:small;color:#000000"><br></div><div class=3D"gmail_default" style=3D"font=
-family:arial,helvetica,sans-serif;font-size:small;color:#000000">p.s. -- f=
eel free to send me any general feedback on the series out of=C2=A0band. Th=
ere&#39;s a couple posts in the pipeline that are a bit less development fo=
cused like the earlier posts I excluded, and I could filter them if folks a=
re feeling like it&#39;s too much information, but I&#39;d bias towards pos=
ting the remaining pieces as they come for continuity. Let me know if you f=
eel strongly about a couple posts that might be a topical reach for this li=
st.</div><br clear=3D"all"><div><div dir=3D"ltr" class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature"><div dir=3D"ltr">--<br><a href=3D"https:=
//twitter.com/JeremyRubin" target=3D"_blank">@JeremyRubin</a><a href=3D"htt=
ps://twitter.com/JeremyRubin" target=3D"_blank"></a></div></div></div></div=
>

--0000000000006bc8df05d30b3321--