WEBVTT
Kind: captions
Language: en

00:00:00.000 --> 00:00:04.350 align:start position:0%
 
foreign

00:00:04.350 --> 00:00:04.360 align:start position:0%
 
 

00:00:04.360 --> 00:00:13.310 align:start position:0%
 
[Music]

00:00:13.310 --> 00:00:13.320 align:start position:0%
 
 

00:00:13.320 --> 00:00:16.849 align:start position:0%
 
thank<00:00:14.040><c> you</c><00:00:14.160><c> for</c><00:00:14.580><c> making</c><00:00:14.940><c> it</c><00:00:15.240><c> today</c>

00:00:16.849 --> 00:00:16.859 align:start position:0%
thank you for making it today
 

00:00:16.859 --> 00:00:17.630 align:start position:0%
thank you for making it today
um

00:00:17.630 --> 00:00:17.640 align:start position:0%
um
 

00:00:17.640 --> 00:00:21.109 align:start position:0%
um
as<00:00:18.180><c> the</c><00:00:18.420><c> title</c><00:00:19.020><c> says</c><00:00:19.320><c> I'll</c><00:00:19.560><c> be</c><00:00:19.880><c> presenting</c><00:00:20.880><c> on</c>

00:00:21.109 --> 00:00:21.119 align:start position:0%
as the title says I'll be presenting on
 

00:00:21.119 --> 00:00:23.750 align:start position:0%
as the title says I'll be presenting on
our<00:00:21.359><c> work</c><00:00:21.840><c> on</c><00:00:22.080><c> formally</c><00:00:22.619><c> specifying</c><00:00:23.279><c> and</c>

00:00:23.750 --> 00:00:23.760 align:start position:0%
our work on formally specifying and
 

00:00:23.760 --> 00:00:25.849 align:start position:0%
our work on formally specifying and
formally<00:00:24.180><c> verifying</c><00:00:24.840><c> the</c><00:00:25.320><c> distributed</c>

00:00:25.849 --> 00:00:25.859 align:start position:0%
formally verifying the distributed
 

00:00:25.859 --> 00:00:27.890 align:start position:0%
formally verifying the distributed
validator<00:00:26.220><c> technology</c><00:00:26.760><c> protocol</c>

00:00:27.890 --> 00:00:27.900 align:start position:0%
validator technology protocol
 

00:00:27.900 --> 00:00:30.550 align:start position:0%
validator technology protocol
and<00:00:28.500><c> the</c><00:00:28.920><c> way</c><00:00:29.039><c> I'm</c><00:00:29.220><c> going</c><00:00:29.340><c> to</c><00:00:29.519><c> do</c><00:00:29.640><c> so</c><00:00:29.820><c> is</c><00:00:30.300><c> by</c>

00:00:30.550 --> 00:00:30.560 align:start position:0%
and the way I'm going to do so is by
 

00:00:30.560 --> 00:00:33.950 align:start position:0%
and the way I'm going to do so is by
answering<00:00:31.560><c> to</c><00:00:32.099><c> four</c><00:00:32.399><c> key</c><00:00:32.700><c> questions</c>

00:00:33.950 --> 00:00:33.960 align:start position:0%
answering to four key questions
 

00:00:33.960 --> 00:00:36.830 align:start position:0%
answering to four key questions
why<00:00:34.620><c> do</c><00:00:34.739><c> we</c><00:00:34.920><c> need</c><00:00:35.100><c> a</c><00:00:35.579><c> distributed</c><00:00:36.480><c> validator</c>

00:00:36.830 --> 00:00:36.840 align:start position:0%
why do we need a distributed validator
 

00:00:36.840 --> 00:00:39.290 align:start position:0%
why do we need a distributed validator
in<00:00:37.440><c> the</c><00:00:37.500><c> first</c><00:00:37.680><c> place</c><00:00:37.920><c> why</c><00:00:38.700><c> do</c><00:00:38.880><c> we</c><00:00:39.000><c> need</c><00:00:39.120><c> to</c>

00:00:39.290 --> 00:00:39.300 align:start position:0%
in the first place why do we need to
 

00:00:39.300 --> 00:00:42.470 align:start position:0%
in the first place why do we need to
formally<00:00:39.600><c> specify</c><00:00:40.200><c> and</c><00:00:40.800><c> formally</c><00:00:41.160><c> verify</c><00:00:41.700><c> the</c>

00:00:42.470 --> 00:00:42.480 align:start position:0%
formally specify and formally verify the
 

00:00:42.480 --> 00:00:45.590 align:start position:0%
formally specify and formally verify the
distributed<00:00:43.020><c> by</c><00:00:43.140><c> data</c><00:00:43.440><c> technology</c><00:00:43.860><c> protocol</c>

00:00:45.590 --> 00:00:45.600 align:start position:0%
distributed by data technology protocol
 

00:00:45.600 --> 00:00:48.470 align:start position:0%
distributed by data technology protocol
how<00:00:46.140><c> does</c><00:00:46.379><c> our</c><00:00:46.680><c> formula</c><00:00:47.399><c> specification</c><00:00:47.940><c> look</c>

00:00:48.470 --> 00:00:48.480 align:start position:0%
how does our formula specification look
 

00:00:48.480 --> 00:00:49.670 align:start position:0%
how does our formula specification look
like<00:00:48.660><c> and</c>

00:00:49.670 --> 00:00:49.680 align:start position:0%
like and
 

00:00:49.680 --> 00:00:51.590 align:start position:0%
like and
finally<00:00:50.219><c> what</c><00:00:50.640><c> they've</c><00:00:50.940><c> actually</c><00:00:51.059><c> achieved</c>

00:00:51.590 --> 00:00:51.600 align:start position:0%
finally what they've actually achieved
 

00:00:51.600 --> 00:00:54.410 align:start position:0%
finally what they've actually achieved
so<00:00:51.719><c> far</c><00:00:51.960><c> and</c><00:00:52.680><c> what</c><00:00:53.160><c> is</c><00:00:53.340><c> left</c><00:00:53.640><c> to</c><00:00:53.879><c> do</c><00:00:54.000><c> but</c><00:00:54.239><c> before</c>

00:00:54.410 --> 00:00:54.420 align:start position:0%
so far and what is left to do but before
 

00:00:54.420 --> 00:00:57.189 align:start position:0%
so far and what is left to do but before
diving<00:00:55.020><c> into</c><00:00:55.399><c> answering</c><00:00:56.399><c> to</c><00:00:56.699><c> these</c><00:00:57.000><c> questions</c>

00:00:57.189 --> 00:00:57.199 align:start position:0%
diving into answering to these questions
 

00:00:57.199 --> 00:01:01.250 align:start position:0%
diving into answering to these questions
some<00:00:58.199><c> do</c><00:00:58.440><c> acknowledgments</c><00:00:59.640><c> this</c><00:01:00.600><c> work</c><00:01:00.780><c> has</c>

00:01:01.250 --> 00:01:01.260 align:start position:0%
some do acknowledgments this work has
 

00:01:01.260 --> 00:01:04.549 align:start position:0%
some do acknowledgments this work has
been<00:01:01.440><c> carried</c><00:01:01.800><c> out</c><00:01:01.920><c> by</c><00:01:02.399><c> consensus</c><00:01:03.300><c> r</c><00:01:03.660><c> d</c>

00:01:04.549 --> 00:01:04.559 align:start position:0%
been carried out by consensus r d
 

00:01:04.559 --> 00:01:07.789 align:start position:0%
been carried out by consensus r d
as<00:01:05.100><c> I</c><00:01:05.280><c> received</c><00:01:05.700><c> a</c><00:01:05.939><c> grant</c><00:01:06.540><c> co-founded</c><00:01:07.380><c> by</c><00:01:07.619><c> the</c>

00:01:07.789 --> 00:01:07.799 align:start position:0%
as I received a grant co-founded by the
 

00:01:07.799 --> 00:01:11.109 align:start position:0%
as I received a grant co-founded by the
ethereum<00:01:08.159><c> foundation</c><00:01:08.659><c> oval</c><00:01:09.659><c> and</c><00:01:10.140><c> SSV</c><00:01:10.680><c> Network</c>

00:01:11.109 --> 00:01:11.119 align:start position:0%
ethereum foundation oval and SSV Network
 

00:01:11.119 --> 00:01:14.270 align:start position:0%
ethereum foundation oval and SSV Network
also<00:01:12.119><c> I'm</c><00:01:12.299><c> here</c><00:01:12.540><c> presenting</c><00:01:13.020><c> the</c><00:01:13.200><c> work</c><00:01:13.860><c> but</c>

00:01:14.270 --> 00:01:14.280 align:start position:0%
also I'm here presenting the work but
 

00:01:14.280 --> 00:01:16.730 align:start position:0%
also I'm here presenting the work but
this<00:01:14.520><c> was</c><00:01:14.760><c> done</c><00:01:14.939><c> together</c><00:01:15.240><c> with</c><00:01:15.780><c> tanaitran</c>

00:01:16.730 --> 00:01:16.740 align:start position:0%
this was done together with tanaitran
 

00:01:16.740 --> 00:01:18.649 align:start position:0%
this was done together with tanaitran
who<00:01:17.159><c> is</c><00:01:17.280><c> one</c><00:01:17.460><c> of</c><00:01:17.580><c> my</c><00:01:17.760><c> colleagues</c><00:01:18.119><c> in</c><00:01:18.420><c> the</c>

00:01:18.649 --> 00:01:18.659 align:start position:0%
who is one of my colleagues in the
 

00:01:18.659 --> 00:01:20.749 align:start position:0%
who is one of my colleagues in the
distributed<00:01:19.500><c> system</c><00:01:19.740><c> formal</c><00:01:20.280><c> verification</c>

00:01:20.749 --> 00:01:20.759 align:start position:0%
distributed system formal verification
 

00:01:20.759 --> 00:01:23.510 align:start position:0%
distributed system formal verification
team<00:01:21.119><c> at</c><00:01:21.600><c> consensus</c><00:01:22.200><c> everybody</c><00:01:22.680><c> I</c><00:01:23.159><c> think</c><00:01:23.340><c> so</c>

00:01:23.510 --> 00:01:23.520 align:start position:0%
team at consensus everybody I think so
 

00:01:23.520 --> 00:01:26.390 align:start position:0%
team at consensus everybody I think so
at<00:01:23.700><c> least</c><00:01:23.880><c> I</c><00:01:24.540><c> can</c><00:01:24.780><c> start</c><00:01:25.439><c> answering</c><00:01:26.040><c> to</c><00:01:26.220><c> the</c>

00:01:26.390 --> 00:01:26.400 align:start position:0%
at least I can start answering to the
 

00:01:26.400 --> 00:01:28.609 align:start position:0%
at least I can start answering to the
first<00:01:26.580><c> quick</c><00:01:26.939><c> questions</c>

00:01:28.609 --> 00:01:28.619 align:start position:0%
first quick questions
 

00:01:28.619 --> 00:01:30.350 align:start position:0%
first quick questions
why<00:01:28.979><c> do</c><00:01:29.220><c> we</c><00:01:29.280><c> need</c><00:01:29.400><c> a</c><00:01:29.520><c> distributable</c><00:01:30.060><c> validator</c>

00:01:30.350 --> 00:01:30.360 align:start position:0%
why do we need a distributable validator
 

00:01:30.360 --> 00:01:33.289 align:start position:0%
why do we need a distributable validator
now<00:01:30.720><c> if</c><00:01:31.140><c> you</c><00:01:31.259><c> are</c><00:01:31.380><c> here</c><00:01:31.560><c> before</c><00:01:31.820><c> the</c><00:01:32.820><c> talk</c><00:01:33.000><c> by</c>

00:01:33.289 --> 00:01:33.299 align:start position:0%
now if you are here before the talk by
 

00:01:33.299 --> 00:01:35.149 align:start position:0%
now if you are here before the talk by
Colin<00:01:33.720><c> Eisen</c><00:01:34.200><c> you</c><00:01:34.439><c> may</c><00:01:34.619><c> already</c><00:01:34.740><c> know</c><00:01:34.979><c> about</c>

00:01:35.149 --> 00:01:35.159 align:start position:0%
Colin Eisen you may already know about
 

00:01:35.159 --> 00:01:38.749 align:start position:0%
Colin Eisen you may already know about
why<00:01:35.579><c> but</c><00:01:36.299><c> I'll</c><00:01:36.659><c> briefly</c><00:01:37.140><c> go</c><00:01:37.320><c> over</c><00:01:37.500><c> it</c><00:01:38.159><c> actually</c>

00:01:38.749 --> 00:01:38.759 align:start position:0%
why but I'll briefly go over it actually
 

00:01:38.759 --> 00:01:42.230 align:start position:0%
why but I'll briefly go over it actually
the<00:01:39.060><c> way</c><00:01:39.659><c> I</c><00:01:40.200><c> go</c><00:01:40.320><c> over</c><00:01:40.500><c> it</c><00:01:40.799><c> it</c><00:01:41.520><c> will</c><00:01:41.759><c> be</c><00:01:41.880><c> by</c>

00:01:42.230 --> 00:01:42.240 align:start position:0%
the way I go over it it will be by
 

00:01:42.240 --> 00:01:45.289 align:start position:0%
the way I go over it it will be by
answering<00:01:43.140><c> to</c><00:01:43.259><c> another</c><00:01:43.439><c> question</c>

00:01:45.289 --> 00:01:45.299 align:start position:0%
answering to another question
 

00:01:45.299 --> 00:01:47.330 align:start position:0%
answering to another question
what<00:01:45.780><c> can</c><00:01:45.900><c> go</c><00:01:46.079><c> wrong</c><00:01:46.200><c> with</c><00:01:46.680><c> an</c><00:01:46.799><c> ethereumable</c>

00:01:47.330 --> 00:01:47.340 align:start position:0%
what can go wrong with an ethereumable
 

00:01:47.340 --> 00:01:48.410 align:start position:0%
what can go wrong with an ethereumable
data

00:01:48.410 --> 00:01:48.420 align:start position:0%
data
 

00:01:48.420 --> 00:01:50.749 align:start position:0%
data
well<00:01:48.840><c> there</c><00:01:49.140><c> are</c><00:01:49.259><c> two</c><00:01:49.439><c> things</c><00:01:49.680><c> at</c><00:01:50.100><c> least</c><00:01:50.280><c> that</c>

00:01:50.749 --> 00:01:50.759 align:start position:0%
well there are two things at least that
 

00:01:50.759 --> 00:01:53.210 align:start position:0%
well there are two things at least that
can<00:01:50.939><c> go</c><00:01:51.060><c> wrong</c><00:01:51.180><c> with</c><00:01:51.420><c> an</c><00:01:51.540><c> ethereum</c><00:01:51.899><c> validator</c>

00:01:53.210 --> 00:01:53.220 align:start position:0%
can go wrong with an ethereum validator
 

00:01:53.220 --> 00:01:55.730 align:start position:0%
can go wrong with an ethereum validator
the<00:01:53.640><c> first</c><00:01:53.759><c> one</c><00:01:54.000><c> is</c><00:01:54.299><c> that</c><00:01:54.540><c> your</c><00:01:55.079><c> ethereum</c><00:01:55.560><c> no</c>

00:01:55.730 --> 00:01:55.740 align:start position:0%
the first one is that your ethereum no
 

00:01:55.740 --> 00:01:58.010 align:start position:0%
the first one is that your ethereum no
ethereum<00:01:56.159><c> validator</c><00:01:56.579><c> might</c><00:01:57.060><c> fail</c><00:01:57.360><c> and</c><00:01:57.899><c> let's</c>

00:01:58.010 --> 00:01:58.020 align:start position:0%
ethereum validator might fail and let's
 

00:01:58.020 --> 00:01:59.630 align:start position:0%
ethereum validator might fail and let's
see<00:01:58.200><c> what</c><00:01:58.320><c> this</c><00:01:58.500><c> means</c>

00:01:59.630 --> 00:01:59.640 align:start position:0%
see what this means
 

00:01:59.640 --> 00:02:01.789 align:start position:0%
see what this means
now<00:02:00.060><c> you</c><00:02:00.180><c> know</c><00:02:00.360><c> you</c><00:02:00.540><c> have</c><00:02:00.659><c> your</c><00:02:00.840><c> slots</c><00:02:01.259><c> in</c><00:02:01.619><c> some</c>

00:02:01.789 --> 00:02:01.799 align:start position:0%
now you know you have your slots in some
 

00:02:01.799 --> 00:02:03.350 align:start position:0%
now you know you have your slots in some
of<00:02:01.920><c> the</c><00:02:02.100><c> slots</c><00:02:02.399><c> you</c><00:02:02.579><c> have</c><00:02:02.700><c> to</c><00:02:02.820><c> propose</c><00:02:03.119><c> another</c>

00:02:03.350 --> 00:02:03.360 align:start position:0%
of the slots you have to propose another
 

00:02:03.360 --> 00:02:05.569 align:start position:0%
of the slots you have to propose another
you<00:02:03.780><c> are</c><00:02:03.899><c> a</c><00:02:04.200><c> tester</c><00:02:04.619><c> and</c><00:02:04.979><c> your</c><00:02:05.159><c> ethereum</c>

00:02:05.569 --> 00:02:05.579 align:start position:0%
you are a tester and your ethereum
 

00:02:05.579 --> 00:02:08.150 align:start position:0%
you are a tester and your ethereum
validator<00:02:06.000><c> is</c><00:02:06.360><c> working</c><00:02:06.899><c> what</c><00:02:07.619><c> this</c><00:02:07.799><c> means</c><00:02:08.039><c> is</c>

00:02:08.150 --> 00:02:08.160 align:start position:0%
validator is working what this means is
 

00:02:08.160 --> 00:02:10.910 align:start position:0%
validator is working what this means is
that<00:02:08.399><c> it</c><00:02:08.640><c> produces</c><00:02:09.119><c> blocks</c><00:02:09.599><c> you</c><00:02:10.140><c> get</c><00:02:10.319><c> you</c><00:02:10.739><c> get</c>

00:02:10.910 --> 00:02:10.920 align:start position:0%
that it produces blocks you get you get
 

00:02:10.920 --> 00:02:14.210 align:start position:0%
that it produces blocks you get you get
Rewards<00:02:11.879><c> produces</c><00:02:12.840><c> attestations</c><00:02:13.500><c> you</c><00:02:13.980><c> get</c>

00:02:14.210 --> 00:02:14.220 align:start position:0%
Rewards produces attestations you get
 

00:02:14.220 --> 00:02:15.470 align:start position:0%
Rewards produces attestations you get
Rewards

00:02:15.470 --> 00:02:15.480 align:start position:0%
Rewards
 

00:02:15.480 --> 00:02:18.290 align:start position:0%
Rewards
but<00:02:16.020><c> now</c><00:02:16.260><c> suppose</c><00:02:16.800><c> that</c><00:02:16.920><c> your</c><00:02:17.099><c> node</c><00:02:17.340><c> fails</c><00:02:17.760><c> but</c>

00:02:18.290 --> 00:02:18.300 align:start position:0%
but now suppose that your node fails but
 

00:02:18.300 --> 00:02:19.670 align:start position:0%
but now suppose that your node fails but
what's<00:02:18.540><c> going</c><00:02:18.720><c> to</c><00:02:18.840><c> happen</c><00:02:18.900><c> is</c><00:02:19.200><c> you</c><00:02:19.500><c> start</c>

00:02:19.670 --> 00:02:19.680 align:start position:0%
what's going to happen is you start
 

00:02:19.680 --> 00:02:22.610 align:start position:0%
what's going to happen is you start
missing<00:02:20.160><c> uh</c><00:02:20.819><c> your</c><00:02:21.060><c> duties</c><00:02:21.480><c> so</c><00:02:22.200><c> if</c><00:02:22.379><c> you</c><00:02:22.500><c> miss</c>

00:02:22.610 --> 00:02:22.620 align:start position:0%
missing uh your duties so if you miss
 

00:02:22.620 --> 00:02:24.650 align:start position:0%
missing uh your duties so if you miss
the<00:02:22.800><c> blog</c><00:02:23.099><c> you</c><00:02:23.640><c> don't</c><00:02:23.760><c> receive</c><00:02:24.060><c> rewards</c><00:02:24.480><c> if</c>

00:02:24.650 --> 00:02:24.660 align:start position:0%
the blog you don't receive rewards if
 

00:02:24.660 --> 00:02:26.150 align:start position:0%
the blog you don't receive rewards if
you<00:02:24.780><c> miss</c><00:02:24.840><c> an</c><00:02:25.020><c> attestation</c><00:02:25.440><c> you</c><00:02:26.040><c> don't</c>

00:02:26.150 --> 00:02:26.160 align:start position:0%
you miss an attestation you don't
 

00:02:26.160 --> 00:02:28.729 align:start position:0%
you miss an attestation you don't
receive<00:02:26.520><c> the</c><00:02:26.580><c> rules</c><00:02:26.819><c> you</c><00:02:27.060><c> also</c><00:02:27.300><c> get</c><00:02:27.420><c> penalized</c>

00:02:28.729 --> 00:02:28.739 align:start position:0%
receive the rules you also get penalized
 

00:02:28.739 --> 00:02:31.070 align:start position:0%
receive the rules you also get penalized
what<00:02:29.099><c> this</c><00:02:29.280><c> means</c><00:02:29.580><c> basically</c><00:02:30.120><c> with</c><00:02:30.599><c> what</c><00:02:30.900><c> can</c>

00:02:31.070 --> 00:02:31.080 align:start position:0%
what this means basically with what can
 

00:02:31.080 --> 00:02:33.710 align:start position:0%
what this means basically with what can
happen<00:02:31.200><c> with</c><00:02:31.560><c> a</c><00:02:31.680><c> node</c><00:02:31.860><c> failure</c><00:02:32.340><c> is</c><00:02:33.000><c> that</c><00:02:33.300><c> you</c>

00:02:33.710 --> 00:02:33.720 align:start position:0%
happen with a node failure is that you
 

00:02:33.720 --> 00:02:35.630 align:start position:0%
happen with a node failure is that you
Minister<00:02:34.020><c> rewards</c><00:02:34.500><c> and</c><00:02:34.620><c> you</c><00:02:34.800><c> also</c><00:02:35.040><c> can</c><00:02:35.160><c> incorp</c>

00:02:35.630 --> 00:02:35.640 align:start position:0%
Minister rewards and you also can incorp
 

00:02:35.640 --> 00:02:37.070 align:start position:0%
Minister rewards and you also can incorp
penalties

00:02:37.070 --> 00:02:37.080 align:start position:0%
penalties
 

00:02:37.080 --> 00:02:39.410 align:start position:0%
penalties
the<00:02:37.500><c> second</c><00:02:37.680><c> thing</c><00:02:37.920><c> that</c><00:02:38.160><c> can</c><00:02:38.340><c> go</c><00:02:38.459><c> wrong</c>

00:02:39.410 --> 00:02:39.420 align:start position:0%
the second thing that can go wrong
 

00:02:39.420 --> 00:02:42.229 align:start position:0%
the second thing that can go wrong
is<00:02:40.020><c> that</c><00:02:40.260><c> the</c><00:02:40.560><c> validator</c><00:02:40.980><c> key</c><00:02:41.340><c> might</c><00:02:41.940><c> be</c>

00:02:42.229 --> 00:02:42.239 align:start position:0%
is that the validator key might be
 

00:02:42.239 --> 00:02:43.970 align:start position:0%
is that the validator key might be
compromised<00:02:42.900><c> and</c><00:02:43.200><c> let's</c><00:02:43.500><c> see</c><00:02:43.680><c> what</c><00:02:43.800><c> this</c>

00:02:43.970 --> 00:02:43.980 align:start position:0%
compromised and let's see what this
 

00:02:43.980 --> 00:02:46.610 align:start position:0%
compromised and let's see what this
means<00:02:44.280><c> assuming</c><00:02:45.060><c> your</c><00:02:45.599><c> Assyrian</c><00:02:46.200><c> validator</c>

00:02:46.610 --> 00:02:46.620 align:start position:0%
means assuming your Assyrian validator
 

00:02:46.620 --> 00:02:49.729 align:start position:0%
means assuming your Assyrian validator
with<00:02:46.920><c> your</c><00:02:47.160><c> validator</c><00:02:48.000><c> signing</c><00:02:48.480><c> key</c><00:02:49.080><c> now</c><00:02:49.560><c> in</c>

00:02:49.729 --> 00:02:49.739 align:start position:0%
with your validator signing key now in
 

00:02:49.739 --> 00:02:51.890 align:start position:0%
with your validator signing key now in
malicious<00:02:50.099><c> note</c><00:02:50.280><c> is</c><00:02:50.519><c> somehow</c><00:02:50.760><c> able</c><00:02:51.120><c> to</c><00:02:51.239><c> steal</c>

00:02:51.890 --> 00:02:51.900 align:start position:0%
malicious note is somehow able to steal
 

00:02:51.900 --> 00:02:54.770 align:start position:0%
malicious note is somehow able to steal
it<00:02:52.560><c> what</c><00:02:52.860><c> these</c><00:02:53.040><c> Mauritius</c><00:02:53.459><c> Now</c><00:02:53.640><c> can</c><00:02:53.879><c> do</c><00:02:54.000><c> can</c>

00:02:54.770 --> 00:02:54.780 align:start position:0%
it what these Mauritius Now can do can
 

00:02:54.780 --> 00:02:57.830 align:start position:0%
it what these Mauritius Now can do can
actually<00:02:54.959><c> produce</c><00:02:55.500><c> for</c><00:02:56.280><c> example</c><00:02:56.580><c> two</c>

00:02:57.830 --> 00:02:57.840 align:start position:0%
actually produce for example two
 

00:02:57.840 --> 00:03:00.410 align:start position:0%
actually produce for example two
at<00:02:58.379><c> the</c><00:02:58.500><c> station</c><00:02:58.879><c> slashable</c><00:02:59.879><c> attestation</c>

00:03:00.410 --> 00:03:00.420 align:start position:0%
at the station slashable attestation
 

00:03:00.420 --> 00:03:03.290 align:start position:0%
at the station slashable attestation
sign<00:03:01.080><c> with</c><00:03:01.440><c> your</c><00:03:01.560><c> validator</c><00:03:02.099><c> signing</c><00:03:02.580><c> key</c><00:03:02.760><c> and</c>

00:03:03.290 --> 00:03:03.300 align:start position:0%
sign with your validator signing key and
 

00:03:03.300 --> 00:03:06.350 align:start position:0%
sign with your validator signing key and
package<00:03:03.780><c> all</c><00:03:04.560><c> of</c><00:03:04.680><c> this</c><00:03:04.860><c> into</c><00:03:05.099><c> a</c><00:03:05.580><c> slash</c><00:03:05.879><c> improve</c>

00:03:06.350 --> 00:03:06.360 align:start position:0%
package all of this into a slash improve
 

00:03:06.360 --> 00:03:09.290 align:start position:0%
package all of this into a slash improve
signed<00:03:06.959><c> with</c><00:03:07.019><c> a</c><00:03:07.140><c> malicious</c><00:03:07.500><c> note</c><00:03:07.760><c> signing</c><00:03:08.760><c> key</c>

00:03:09.290 --> 00:03:09.300 align:start position:0%
signed with a malicious note signing key
 

00:03:09.300 --> 00:03:11.509 align:start position:0%
signed with a malicious note signing key
and<00:03:09.840><c> propose</c><00:03:10.200><c> a</c><00:03:10.379><c> block</c><00:03:10.500><c> submit</c><00:03:11.099><c> it</c><00:03:11.220><c> to</c><00:03:11.340><c> the</c>

00:03:11.509 --> 00:03:11.519 align:start position:0%
and propose a block submit it to the
 

00:03:11.519 --> 00:03:13.490 align:start position:0%
and propose a block submit it to the
network<00:03:11.640><c> what's</c><00:03:12.239><c> going</c><00:03:12.480><c> to</c><00:03:12.599><c> happen</c><00:03:12.780><c> is</c><00:03:13.200><c> that</c>

00:03:13.490 --> 00:03:13.500 align:start position:0%
network what's going to happen is that
 

00:03:13.500 --> 00:03:15.830 align:start position:0%
network what's going to happen is that
of<00:03:13.860><c> course</c><00:03:13.980><c> you're</c><00:03:14.280><c> going</c><00:03:14.459><c> to</c><00:03:14.640><c> get</c><00:03:14.879><c> slashed</c>

00:03:15.830 --> 00:03:15.840 align:start position:0%
of course you're going to get slashed
 

00:03:15.840 --> 00:03:18.949 align:start position:0%
of course you're going to get slashed
and<00:03:16.560><c> some</c><00:03:16.739><c> of</c><00:03:16.920><c> your</c><00:03:17.040><c> funds</c><00:03:17.459><c> get</c><00:03:17.760><c> actually</c>

00:03:18.949 --> 00:03:18.959 align:start position:0%
and some of your funds get actually
 

00:03:18.959 --> 00:03:19.490 align:start position:0%
and some of your funds get actually
um

00:03:19.490 --> 00:03:19.500 align:start position:0%
um
 

00:03:19.500 --> 00:03:22.070 align:start position:0%
um
kind<00:03:20.040><c> of</c><00:03:20.220><c> transfer</c><00:03:20.700><c> to</c><00:03:20.940><c> the</c><00:03:21.180><c> malicious</c><00:03:21.840><c> note</c>

00:03:22.070 --> 00:03:22.080 align:start position:0%
kind of transfer to the malicious note
 

00:03:22.080 --> 00:03:23.210 align:start position:0%
kind of transfer to the malicious note
so

00:03:23.210 --> 00:03:23.220 align:start position:0%
so
 

00:03:23.220 --> 00:03:25.430 align:start position:0%
so
while<00:03:24.000><c> this</c><00:03:24.360><c> while</c><00:03:24.599><c> the</c><00:03:24.840><c> malicious</c><00:03:25.260><c> note</c>

00:03:25.430 --> 00:03:25.440 align:start position:0%
while this while the malicious note
 

00:03:25.440 --> 00:03:28.009 align:start position:0%
while this while the malicious note
doesn't<00:03:25.680><c> have</c><00:03:26.040><c> the</c><00:03:26.280><c> withdrawal</c><00:03:27.000><c> key</c><00:03:27.180><c> they</c><00:03:27.840><c> can</c>

00:03:28.009 --> 00:03:28.019 align:start position:0%
doesn't have the withdrawal key they can
 

00:03:28.019 --> 00:03:29.570 align:start position:0%
doesn't have the withdrawal key they can
still<00:03:28.200><c> somehow</c><00:03:28.560><c> get</c><00:03:28.739><c> some</c><00:03:28.920><c> of</c><00:03:29.040><c> your</c><00:03:29.159><c> funds</c><00:03:29.519><c> and</c>

00:03:29.570 --> 00:03:29.580 align:start position:0%
still somehow get some of your funds and
 

00:03:29.580 --> 00:03:31.670 align:start position:0%
still somehow get some of your funds and
this<00:03:29.760><c> is</c><00:03:29.879><c> very</c><00:03:30.060><c> bad</c><00:03:30.239><c> it's</c><00:03:30.360><c> bad</c><00:03:30.659><c> for</c><00:03:30.840><c> you</c><00:03:31.019><c> as</c><00:03:31.440><c> a</c>

00:03:31.670 --> 00:03:31.680 align:start position:0%
this is very bad it's bad for you as a
 

00:03:31.680 --> 00:03:33.350 align:start position:0%
this is very bad it's bad for you as a
Staker<00:03:32.040><c> it's</c><00:03:32.400><c> bad</c><00:03:32.580><c> for</c><00:03:32.760><c> the</c><00:03:32.879><c> network</c><00:03:33.000><c> because</c>

00:03:33.350 --> 00:03:33.360 align:start position:0%
Staker it's bad for the network because
 

00:03:33.360 --> 00:03:35.930 align:start position:0%
Staker it's bad for the network because
it<00:03:33.599><c> means</c><00:03:33.840><c> that</c><00:03:34.040><c> Malaysians</c><00:03:35.040><c> get</c><00:03:35.400><c> can</c><00:03:35.760><c> get</c>

00:03:35.930 --> 00:03:35.940 align:start position:0%
it means that Malaysians get can get
 

00:03:35.940 --> 00:03:37.970 align:start position:0%
it means that Malaysians get can get
more<00:03:36.420><c> and</c><00:03:36.599><c> more</c><00:03:36.780><c> power</c><00:03:37.019><c> more</c><00:03:37.440><c> and</c><00:03:37.560><c> more</c><00:03:37.680><c> stake</c>

00:03:37.970 --> 00:03:37.980 align:start position:0%
more and more power more and more stake
 

00:03:37.980 --> 00:03:39.710 align:start position:0%
more and more power more and more stake
and<00:03:38.220><c> we</c><00:03:38.400><c> don't</c><00:03:38.519><c> want</c><00:03:38.640><c> this</c><00:03:38.819><c> a</c><00:03:39.060><c> way</c><00:03:39.239><c> to</c><00:03:39.300><c> fix</c><00:03:39.480><c> this</c>

00:03:39.710 --> 00:03:39.720 align:start position:0%
and we don't want this a way to fix this
 

00:03:39.720 --> 00:03:42.170 align:start position:0%
and we don't want this a way to fix this
is<00:03:39.959><c> not</c><00:03:40.200><c> a</c><00:03:40.560><c> straightforward</c><00:03:41.519><c> as</c><00:03:41.700><c> one</c><00:03:42.000><c> might</c>

00:03:42.170 --> 00:03:42.180 align:start position:0%
is not a straightforward as one might
 

00:03:42.180 --> 00:03:44.570 align:start position:0%
is not a straightforward as one might
think<00:03:42.680><c> just</c><00:03:43.680><c> thinking</c><00:03:44.040><c> about</c><00:03:44.159><c> the</c><00:03:44.400><c> first</c>

00:03:44.570 --> 00:03:44.580 align:start position:0%
think just thinking about the first
 

00:03:44.580 --> 00:03:46.910 align:start position:0%
think just thinking about the first
issue<00:03:44.940><c> which</c><00:03:45.060><c> is</c><00:03:45.239><c> if</c><00:03:45.540><c> you</c><00:03:45.659><c> want</c><00:03:45.840><c> the</c><00:03:46.500><c> simplest</c>

00:03:46.910 --> 00:03:46.920 align:start position:0%
issue which is if you want the simplest
 

00:03:46.920 --> 00:03:50.390 align:start position:0%
issue which is if you want the simplest
one<00:03:47.700><c> might</c><00:03:47.940><c> think</c><00:03:48.120><c> well</c><00:03:48.299><c> let's</c><00:03:49.019><c> just</c><00:03:49.260><c> run</c><00:03:49.560><c> more</c>

00:03:50.390 --> 00:03:50.400 align:start position:0%
one might think well let's just run more
 

00:03:50.400 --> 00:03:53.330 align:start position:0%
one might think well let's just run more
than<00:03:50.580><c> one</c><00:03:50.760><c> ethereum</c><00:03:51.540><c> validator</c><00:03:51.959><c> and</c><00:03:52.260><c> well</c><00:03:52.560><c> we</c>

00:03:53.330 --> 00:03:53.340 align:start position:0%
than one ethereum validator and well we
 

00:03:53.340 --> 00:03:55.070 align:start position:0%
than one ethereum validator and well we
know<00:03:53.459><c> from</c><00:03:53.760><c> the</c><00:03:54.000><c> early</c><00:03:54.180><c> day</c><00:03:54.480><c> of</c><00:03:54.720><c> the</c><00:03:54.840><c> big</c>

00:03:55.070 --> 00:03:55.080 align:start position:0%
know from the early day of the big
 

00:03:55.080 --> 00:03:57.649 align:start position:0%
know from the early day of the big
contain<00:03:55.500><c> this</c><00:03:55.799><c> is</c><00:03:56.340><c> perfect</c><00:03:56.879><c> recipe</c><00:03:57.299><c> for</c>

00:03:57.649 --> 00:03:57.659 align:start position:0%
contain this is perfect recipe for
 

00:03:57.659 --> 00:04:00.110 align:start position:0%
contain this is perfect recipe for
getting<00:03:57.900><c> yourself</c><00:03:58.440><c> slash</c><00:03:58.980><c> too</c><00:03:59.220><c> yeah</c><00:03:59.519><c> we</c><00:04:00.000><c> know</c>

00:04:00.110 --> 00:04:00.120 align:start position:0%
getting yourself slash too yeah we know
 

00:04:00.120 --> 00:04:03.589 align:start position:0%
getting yourself slash too yeah we know
we<00:04:00.360><c> don't</c><00:04:00.480><c> can't</c><00:04:00.959><c> do</c><00:04:01.140><c> that</c><00:04:01.739><c> this</c><00:04:02.220><c> is</c><00:04:02.400><c> why</c><00:04:02.640><c> by</c>

00:04:03.589 --> 00:04:03.599 align:start position:0%
we don't can't do that this is why by
 

00:04:03.599 --> 00:04:06.309 align:start position:0%
we don't can't do that this is why by
the<00:04:03.780><c> female</c><00:04:03.959><c> Foundation</c>

00:04:06.309 --> 00:04:06.319 align:start position:0%
the female Foundation
 

00:04:06.319 --> 00:04:09.729 align:start position:0%
the female Foundation
car<00:04:07.319><c> and</c><00:04:07.680><c> come</c><00:04:07.980><c> up</c><00:04:08.099><c> with</c><00:04:08.280><c> the</c><00:04:08.580><c> concept</c><00:04:09.480><c> of</c>

00:04:09.729 --> 00:04:09.739 align:start position:0%
car and come up with the concept of
 

00:04:09.739 --> 00:04:11.990 align:start position:0%
car and come up with the concept of
distributed<00:04:10.739><c> by</c><00:04:10.860><c> data</c><00:04:11.159><c> technology</c><00:04:11.519><c> protocol</c>

00:04:11.990 --> 00:04:12.000 align:start position:0%
distributed by data technology protocol
 

00:04:12.000 --> 00:04:13.910 align:start position:0%
distributed by data technology protocol
which<00:04:12.599><c> is</c><00:04:13.140><c> um</c>

00:04:13.910 --> 00:04:13.920 align:start position:0%
which is um
 

00:04:13.920 --> 00:04:16.370 align:start position:0%
which is um
simplified<00:04:14.519><c> here</c><00:04:15.000><c> so</c><00:04:15.840><c> what</c><00:04:16.079><c> you</c><00:04:16.199><c> need</c>

00:04:16.370 --> 00:04:16.380 align:start position:0%
simplified here so what you need
 

00:04:16.380 --> 00:04:18.530 align:start position:0%
simplified here so what you need
essentially<00:04:17.100><c> is</c><00:04:17.519><c> you</c><00:04:17.639><c> need</c><00:04:17.880><c> a</c><00:04:18.060><c> coordination</c>

00:04:18.530 --> 00:04:18.540 align:start position:0%
essentially is you need a coordination
 

00:04:18.540 --> 00:04:21.349 align:start position:0%
essentially is you need a coordination
layer<00:04:19.019><c> between</c><00:04:19.320><c> the</c><00:04:19.620><c> different</c><00:04:19.799><c> nodes</c><00:04:20.359><c> you</c>

00:04:21.349 --> 00:04:21.359 align:start position:0%
layer between the different nodes you
 

00:04:21.359 --> 00:04:22.909 align:start position:0%
layer between the different nodes you
need<00:04:21.540><c> this</c><00:04:21.720><c> coordination</c><00:04:22.139><c> layer</c><00:04:22.560><c> because</c><00:04:22.740><c> you</c>

00:04:22.909 --> 00:04:22.919 align:start position:0%
need this coordination layer because you
 

00:04:22.919 --> 00:04:24.830 align:start position:0%
need this coordination layer because you
need<00:04:23.040><c> to</c><00:04:23.160><c> ensure</c><00:04:23.460><c> that</c>

00:04:24.830 --> 00:04:24.840 align:start position:0%
need to ensure that
 

00:04:24.840 --> 00:04:27.290 align:start position:0%
need to ensure that
whatever<00:04:25.320><c> attestations</c><00:04:26.100><c> are</c><00:04:26.639><c> submitted</c>

00:04:27.290 --> 00:04:27.300 align:start position:0%
whatever attestations are submitted
 

00:04:27.300 --> 00:04:29.030 align:start position:0%
whatever attestations are submitted
potentially<00:04:27.720><c> by</c><00:04:27.960><c> more</c><00:04:28.139><c> than</c><00:04:28.320><c> one</c><00:04:28.440><c> no</c><00:04:28.620><c> they</c><00:04:28.919><c> are</c>

00:04:29.030 --> 00:04:29.040 align:start position:0%
potentially by more than one no they are
 

00:04:29.040 --> 00:04:33.129 align:start position:0%
potentially by more than one no they are
not<00:04:29.220><c> slashable</c><00:04:29.940><c> and</c><00:04:30.780><c> this</c><00:04:31.199><c> relies</c><00:04:32.100><c> on</c><00:04:32.340><c> a</c>

00:04:33.129 --> 00:04:33.139 align:start position:0%
not slashable and this relies on a
 

00:04:33.139 --> 00:04:37.129 align:start position:0%
not slashable and this relies on a
consensus<00:04:34.160><c> protocol</c><00:04:35.160><c> that</c><00:04:35.900><c> so</c><00:04:36.900><c> basically</c>

00:04:37.129 --> 00:04:37.139 align:start position:0%
consensus protocol that so basically
 

00:04:37.139 --> 00:04:38.990 align:start position:0%
consensus protocol that so basically
have<00:04:37.380><c> a</c><00:04:37.500><c> middleware</c><00:04:37.919><c> between</c><00:04:38.400><c> the</c><00:04:38.639><c> beacon</c>

00:04:38.990 --> 00:04:39.000 align:start position:0%
have a middleware between the beacon
 

00:04:39.000 --> 00:04:41.570 align:start position:0%
have a middleware between the beacon
notes<00:04:39.360><c> and</c><00:04:39.540><c> the</c><00:04:40.139><c> remote</c><00:04:40.259><c> signer</c><00:04:40.919><c> and</c><00:04:41.460><c> this</c>

00:04:41.570 --> 00:04:41.580 align:start position:0%
notes and the remote signer and this
 

00:04:41.580 --> 00:04:44.570 align:start position:0%
notes and the remote signer and this
middleware<00:04:42.180><c> which</c><00:04:43.139><c> is</c><00:04:43.259><c> called</c><00:04:43.580><c> distributable</c>

00:04:44.570 --> 00:04:44.580 align:start position:0%
middleware which is called distributable
 

00:04:44.580 --> 00:04:46.909 align:start position:0%
middleware which is called distributable
editor<00:04:45.060><c> client</c><00:04:45.419><c> runs</c><00:04:46.139><c> underneath</c><00:04:46.620><c> a</c>

00:04:46.909 --> 00:04:46.919 align:start position:0%
editor client runs underneath a
 

00:04:46.919 --> 00:04:49.790 align:start position:0%
editor client runs underneath a
consensus<00:04:47.340><c> protocol</c><00:04:47.759><c> plus</c><00:04:48.360><c> another</c><00:04:49.080><c> layer</c><00:04:49.620><c> on</c>

00:04:49.790 --> 00:04:49.800 align:start position:0%
consensus protocol plus another layer on
 

00:04:49.800 --> 00:04:52.850 align:start position:0%
consensus protocol plus another layer on
top<00:04:49.919><c> that</c><00:04:50.340><c> ensures</c><00:04:50.759><c> that</c><00:04:51.320><c> we</c><00:04:52.320><c> must</c><00:04:52.500><c> ensure</c>

00:04:52.850 --> 00:04:52.860 align:start position:0%
top that ensures that we must ensure
 

00:04:52.860 --> 00:04:54.950 align:start position:0%
top that ensures that we must ensure
that<00:04:52.979><c> you</c><00:04:53.160><c> never</c><00:04:53.400><c> get</c><00:04:53.880><c> slashed</c><00:04:54.419><c> this</c><00:04:54.600><c> is</c><00:04:54.780><c> a</c>

00:04:54.950 --> 00:04:54.960 align:start position:0%
that you never get slashed this is a
 

00:04:54.960 --> 00:04:57.670 align:start position:0%
that you never get slashed this is a
protocol<00:04:55.199><c> that</c><00:04:55.860><c> allows</c><00:04:56.699><c> basically</c><00:04:57.120><c> splitting</c>

00:04:57.670 --> 00:04:57.680 align:start position:0%
protocol that allows basically splitting
 

00:04:57.680 --> 00:05:00.110 align:start position:0%
protocol that allows basically splitting
the<00:04:58.680><c> distributed</c><00:04:59.160><c> validator</c><00:04:59.520><c> signing</c><00:05:00.000><c> key</c>

00:05:00.110 --> 00:05:00.120 align:start position:0%
the distributed validator signing key
 

00:05:00.120 --> 00:05:03.170 align:start position:0%
the distributed validator signing key
into<00:05:00.840><c> different</c><00:05:01.500><c> key</c><00:05:01.860><c> shares</c><00:05:02.220><c> and</c><00:05:02.520><c> it's</c><00:05:02.880><c> a</c>

00:05:03.170 --> 00:05:03.180 align:start position:0%
into different key shares and it's a
 

00:05:03.180 --> 00:05:05.409 align:start position:0%
into different key shares and it's a
remote<00:05:03.479><c> signer</c><00:05:04.080><c> as</c><00:05:04.259><c> its</c><00:05:04.560><c> own</c><00:05:04.560><c> key</c><00:05:04.740><c> share</c><00:05:05.100><c> so</c>

00:05:05.409 --> 00:05:05.419 align:start position:0%
remote signer as its own key share so
 

00:05:05.419 --> 00:05:08.090 align:start position:0%
remote signer as its own key share so
none<00:05:06.419><c> of</c><00:05:06.540><c> the</c><00:05:06.720><c> remote</c><00:05:06.840><c> signer</c><00:05:07.380><c> as</c><00:05:07.620><c> the</c><00:05:07.979><c> full</c>

00:05:08.090 --> 00:05:08.100 align:start position:0%
none of the remote signer as the full
 

00:05:08.100 --> 00:05:11.330 align:start position:0%
none of the remote signer as the full
key<00:05:08.699><c> this</c><00:05:09.360><c> is</c><00:05:09.540><c> what</c><00:05:09.900><c> uh</c><00:05:10.320><c> ensures</c><00:05:10.860><c> protection</c>

00:05:11.330 --> 00:05:11.340 align:start position:0%
key this is what uh ensures protection
 

00:05:11.340 --> 00:05:14.810 align:start position:0%
key this is what uh ensures protection
and<00:05:11.580><c> against</c><00:05:12.560><c> uh</c><00:05:13.560><c> a</c><00:05:14.100><c> little</c><00:05:14.220><c> signing</c><00:05:14.639><c> key</c>

00:05:14.810 --> 00:05:14.820 align:start position:0%
and against uh a little signing key
 

00:05:14.820 --> 00:05:16.249 align:start position:0%
and against uh a little signing key
staining

00:05:16.249 --> 00:05:16.259 align:start position:0%
staining
 

00:05:16.259 --> 00:05:21.290 align:start position:0%
staining
okay<00:05:16.800><c> now</c><00:05:17.520><c> we</c><00:05:18.300><c> know</c><00:05:18.479><c> why</c><00:05:18.840><c> it's</c><00:05:19.320><c> important</c><00:05:19.800><c> well</c>

00:05:21.290 --> 00:05:21.300 align:start position:0%
okay now we know why it's important well
 

00:05:21.300 --> 00:05:23.930 align:start position:0%
okay now we know why it's important well
why<00:05:21.900><c> do</c><00:05:22.020><c> we</c><00:05:22.080><c> need</c><00:05:22.259><c> to</c><00:05:22.440><c> formally</c><00:05:22.860><c> specify</c><00:05:23.400><c> and</c>

00:05:23.930 --> 00:05:23.940 align:start position:0%
why do we need to formally specify and
 

00:05:23.940 --> 00:05:25.850 align:start position:0%
why do we need to formally specify and
verify<00:05:24.360><c> such</c><00:05:24.660><c> a</c><00:05:24.900><c> protocol</c>

00:05:25.850 --> 00:05:25.860 align:start position:0%
verify such a protocol
 

00:05:25.860 --> 00:05:27.710 align:start position:0%
verify such a protocol
we<00:05:26.160><c> have</c><00:05:26.280><c> removed</c><00:05:26.639><c> any</c><00:05:26.880><c> single</c><00:05:27.240><c> point</c><00:05:27.419><c> of</c>

00:05:27.710 --> 00:05:27.720 align:start position:0%
we have removed any single point of
 

00:05:27.720 --> 00:05:31.070 align:start position:0%
we have removed any single point of
failure<00:05:28.139><c> and</c><00:05:28.800><c> so</c><00:05:28.979><c> we</c><00:05:29.220><c> have</c><00:05:29.400><c> higher</c><00:05:29.699><c> resiliency</c>

00:05:31.070 --> 00:05:31.080 align:start position:0%
failure and so we have higher resiliency
 

00:05:31.080 --> 00:05:33.890 align:start position:0%
failure and so we have higher resiliency
however<00:05:31.620><c> you</c><00:05:32.400><c> know</c><00:05:32.520><c> there</c><00:05:32.880><c> is</c><00:05:33.060><c> no</c><00:05:33.180><c> such</c><00:05:33.720><c> a</c>

00:05:33.890 --> 00:05:33.900 align:start position:0%
however you know there is no such a
 

00:05:33.900 --> 00:05:35.870 align:start position:0%
however you know there is no such a
thing<00:05:34.199><c> as</c><00:05:34.440><c> a</c><00:05:34.620><c> free</c><00:05:34.740><c> lunch</c>

00:05:35.870 --> 00:05:35.880 align:start position:0%
thing as a free lunch
 

00:05:35.880 --> 00:05:38.210 align:start position:0%
thing as a free lunch
we<00:05:36.780><c> have</c><00:05:36.900><c> increased</c><00:05:37.320><c> the</c><00:05:37.440><c> complexity</c><00:05:37.860><c> of</c><00:05:38.039><c> the</c>

00:05:38.210 --> 00:05:38.220 align:start position:0%
we have increased the complexity of the
 

00:05:38.220 --> 00:05:39.830 align:start position:0%
we have increased the complexity of the
system<00:05:38.400><c> now</c><00:05:38.759><c> we</c><00:05:38.880><c> have</c><00:05:39.000><c> a</c><00:05:39.120><c> distributed</c><00:05:39.660><c> system</c>

00:05:39.830 --> 00:05:39.840 align:start position:0%
system now we have a distributed system
 

00:05:39.840 --> 00:05:42.590 align:start position:0%
system now we have a distributed system
in<00:05:40.139><c> place</c><00:05:40.320><c> of</c><00:05:40.500><c> a</c><00:05:40.800><c> single</c><00:05:41.400><c> piece</c><00:05:41.820><c> of</c><00:05:41.880><c> code</c>

00:05:42.590 --> 00:05:42.600 align:start position:0%
in place of a single piece of code
 

00:05:42.600 --> 00:05:45.529 align:start position:0%
in place of a single piece of code
and<00:05:43.020><c> so</c><00:05:43.199><c> we</c><00:05:43.380><c> have</c><00:05:43.500><c> higher</c><00:05:43.919><c> senses</c><00:05:44.280><c> of</c><00:05:44.460><c> bugs</c>

00:05:45.529 --> 00:05:45.539 align:start position:0%
and so we have higher senses of bugs
 

00:05:45.539 --> 00:05:47.629 align:start position:0%
and so we have higher senses of bugs
and<00:05:46.020><c> this</c><00:05:46.199><c> is</c><00:05:46.320><c> where</c><00:05:46.620><c> firmware</c><00:05:47.220><c> verification</c>

00:05:47.629 --> 00:05:47.639 align:start position:0%
and this is where firmware verification
 

00:05:47.639 --> 00:05:49.430 align:start position:0%
and this is where firmware verification
can<00:05:48.000><c> really</c><00:05:48.180><c> help</c><00:05:48.539><c> us</c>

00:05:49.430 --> 00:05:49.440 align:start position:0%
can really help us
 

00:05:49.440 --> 00:05:51.469 align:start position:0%
can really help us
and<00:05:49.800><c> to</c><00:05:49.919><c> give</c><00:05:50.039><c> you</c><00:05:50.160><c> an</c><00:05:50.280><c> idea</c><00:05:50.580><c> of</c><00:05:50.699><c> how</c><00:05:50.940><c> it</c><00:05:51.300><c> can</c>

00:05:51.469 --> 00:05:51.479 align:start position:0%
and to give you an idea of how it can
 

00:05:51.479 --> 00:05:53.810 align:start position:0%
and to give you an idea of how it can
really<00:05:51.600><c> help</c><00:05:51.900><c> us</c><00:05:52.139><c> I</c><00:05:52.919><c> want</c><00:05:53.100><c> just</c><00:05:53.280><c> to</c><00:05:53.520><c> draw</c><00:05:53.639><c> a</c>

00:05:53.810 --> 00:05:53.820 align:start position:0%
really help us I want just to draw a
 

00:05:53.820 --> 00:05:56.570 align:start position:0%
really help us I want just to draw a
comparison<00:05:54.300><c> to</c><00:05:54.960><c> testing</c>

00:05:56.570 --> 00:05:56.580 align:start position:0%
comparison to testing
 

00:05:56.580 --> 00:05:59.029 align:start position:0%
comparison to testing
and<00:05:57.060><c> the</c><00:05:57.240><c> key</c><00:05:57.419><c> concept</c><00:05:57.840><c> here</c><00:05:58.080><c> is</c><00:05:58.440><c> that</c><00:05:58.560><c> formal</c>

00:05:59.029 --> 00:05:59.039 align:start position:0%
and the key concept here is that formal
 

00:05:59.039 --> 00:06:01.490 align:start position:0%
and the key concept here is that formal
verification<00:05:59.580><c> is</c><00:05:59.940><c> exhaustive</c><00:06:00.660><c> and</c><00:06:01.080><c> testing</c>

00:06:01.490 --> 00:06:01.500 align:start position:0%
verification is exhaustive and testing
 

00:06:01.500 --> 00:06:02.450 align:start position:0%
verification is exhaustive and testing
is<00:06:01.680><c> not</c>

00:06:02.450 --> 00:06:02.460 align:start position:0%
is not
 

00:06:02.460 --> 00:06:04.430 align:start position:0%
is not
to<00:06:02.820><c> give</c><00:06:02.940><c> you</c><00:06:03.060><c> an</c><00:06:03.120><c> idea</c><00:06:03.479><c> with</c><00:06:04.080><c> formal</c>

00:06:04.430 --> 00:06:04.440 align:start position:0%
to give you an idea with formal
 

00:06:04.440 --> 00:06:07.610 align:start position:0%
to give you an idea with formal
verification<00:06:04.860><c> we</c><00:06:05.280><c> can</c><00:06:05.600><c> consider</c><00:06:06.600><c> networks</c><00:06:07.259><c> of</c>

00:06:07.610 --> 00:06:07.620 align:start position:0%
verification we can consider networks of
 

00:06:07.620 --> 00:06:10.010 align:start position:0%
verification we can consider networks of
any<00:06:07.800><c> size</c><00:06:08.160><c> you</c><00:06:08.699><c> pick</c><00:06:08.880><c> a</c><00:06:09.060><c> number</c><00:06:09.180><c> we</c><00:06:09.479><c> can</c><00:06:09.720><c> deal</c>

00:06:10.010 --> 00:06:10.020 align:start position:0%
any size you pick a number we can deal
 

00:06:10.020 --> 00:06:12.590 align:start position:0%
any size you pick a number we can deal
with<00:06:10.259><c> it</c><00:06:10.380><c> you</c><00:06:10.860><c> can</c><00:06:10.979><c> do</c><00:06:11.160><c> that</c><00:06:11.280><c> with</c><00:06:11.520><c> testing</c><00:06:11.940><c> yep</c>

00:06:12.590 --> 00:06:12.600 align:start position:0%
with it you can do that with testing yep
 

00:06:12.600 --> 00:06:14.810 align:start position:0%
with it you can do that with testing yep
only<00:06:12.840><c> small</c><00:06:13.139><c> Network</c><00:06:13.380><c> sizes</c>

00:06:14.810 --> 00:06:14.820 align:start position:0%
only small Network sizes
 

00:06:14.820 --> 00:06:17.150 align:start position:0%
only small Network sizes
and<00:06:15.419><c> it's</c><00:06:15.600><c> very</c><00:06:15.840><c> important</c><00:06:16.440><c> when</c><00:06:16.680><c> it</c><00:06:16.800><c> comes</c><00:06:17.039><c> to</c>

00:06:17.150 --> 00:06:17.160 align:start position:0%
and it's very important when it comes to
 

00:06:17.160 --> 00:06:20.570 align:start position:0%
and it's very important when it comes to
Byzantine<00:06:17.820><c> Behavior</c><00:06:18.720><c> because</c><00:06:19.500><c> with</c><00:06:20.220><c> formal</c>

00:06:20.570 --> 00:06:20.580 align:start position:0%
Byzantine Behavior because with formal
 

00:06:20.580 --> 00:06:22.249 align:start position:0%
Byzantine Behavior because with formal
verification<00:06:20.940><c> we</c><00:06:21.180><c> can</c><00:06:21.360><c> really</c><00:06:21.479><c> consider</c><00:06:21.960><c> any</c>

00:06:22.249 --> 00:06:22.259 align:start position:0%
verification we can really consider any
 

00:06:22.259 --> 00:06:25.070 align:start position:0%
verification we can really consider any
any<00:06:22.620><c> Byzantine</c><00:06:23.160><c> Behavior</c><00:06:23.639><c> Uh</c><00:06:24.479><c> with</c><00:06:24.720><c> testing</c>

00:06:25.070 --> 00:06:25.080 align:start position:0%
any Byzantine Behavior Uh with testing
 

00:06:25.080 --> 00:06:27.529 align:start position:0%
any Byzantine Behavior Uh with testing
even<00:06:25.259><c> with</c><00:06:25.440><c> fuzzing</c><00:06:25.979><c> you</c><00:06:26.460><c> have</c><00:06:26.699><c> already</c><00:06:26.819><c> you</c>

00:06:27.529 --> 00:06:27.539 align:start position:0%
even with fuzzing you have already you
 

00:06:27.539 --> 00:06:29.390 align:start position:0%
even with fuzzing you have already you
can<00:06:27.660><c> only</c><00:06:27.960><c> consider</c><00:06:28.500><c> limited</c><00:06:28.979><c> set</c><00:06:29.220><c> of</c>

00:06:29.390 --> 00:06:29.400 align:start position:0%
can only consider limited set of
 

00:06:29.400 --> 00:06:31.370 align:start position:0%
can only consider limited set of
Byzantine<00:06:29.819><c> behaviors</c><00:06:30.300><c> perhaps</c><00:06:30.720><c> you</c><00:06:31.080><c> know</c><00:06:31.199><c> it</c>

00:06:31.370 --> 00:06:31.380 align:start position:0%
Byzantine behaviors perhaps you know it
 

00:06:31.380 --> 00:06:33.469 align:start position:0%
Byzantine behaviors perhaps you know it
doesn't<00:06:31.500><c> respond</c><00:06:31.979><c> but</c>

00:06:33.469 --> 00:06:33.479 align:start position:0%
doesn't respond but
 

00:06:33.479 --> 00:06:36.290 align:start position:0%
doesn't respond but
you<00:06:34.199><c> can't</c><00:06:34.380><c> really</c><00:06:34.759><c> exhaustively</c><00:06:35.759><c> consider</c>

00:06:36.290 --> 00:06:36.300 align:start position:0%
you can't really exhaustively consider
 

00:06:36.300 --> 00:06:39.050 align:start position:0%
you can't really exhaustively consider
all<00:06:36.479><c> of</c><00:06:36.660><c> them</c><00:06:36.780><c> also</c><00:06:37.740><c> if</c><00:06:38.039><c> you</c><00:06:38.160><c> want</c><00:06:38.280><c> to</c><00:06:38.460><c> make</c>

00:06:39.050 --> 00:06:39.060 align:start position:0%
all of them also if you want to make
 

00:06:39.060 --> 00:06:42.170 align:start position:0%
all of them also if you want to make
sure<00:06:39.240><c> that</c><00:06:39.479><c> a</c><00:06:39.660><c> property</c><00:06:40.020><c> is</c><00:06:40.560><c> insured</c><00:06:41.100><c> well</c>

00:06:42.170 --> 00:06:42.180 align:start position:0%
sure that a property is insured well
 

00:06:42.180 --> 00:06:44.150 align:start position:0%
sure that a property is insured well
and<00:06:42.780><c> and</c><00:06:43.020><c> this</c><00:06:43.259><c> property</c><00:06:43.620><c> actually</c><00:06:43.800><c> does</c><00:06:43.979><c> in</c>

00:06:44.150 --> 00:06:44.160 align:start position:0%
and and this property actually does in
 

00:06:44.160 --> 00:06:45.350 align:start position:0%
and and this property actually does in
thought<00:06:44.340><c> so</c><00:06:44.580><c> there</c><00:06:44.699><c> is</c><00:06:44.819><c> a</c><00:06:44.940><c> bug</c><00:06:45.000><c> in</c><00:06:45.240><c> the</c>

00:06:45.350 --> 00:06:45.360 align:start position:0%
thought so there is a bug in the
 

00:06:45.360 --> 00:06:47.390 align:start position:0%
thought so there is a bug in the
protocol<00:06:45.660><c> well</c><00:06:46.380><c> with</c><00:06:46.620><c> formal</c><00:06:46.979><c> verification</c>

00:06:47.390 --> 00:06:47.400 align:start position:0%
protocol well with formal verification
 

00:06:47.400 --> 00:06:49.490 align:start position:0%
protocol well with formal verification
it<00:06:48.000><c> can</c><00:06:48.180><c> be</c><00:06:48.300><c> detected</c>

00:06:49.490 --> 00:06:49.500 align:start position:0%
it can be detected
 

00:06:49.500 --> 00:06:52.610 align:start position:0%
it can be detected
with<00:06:50.039><c> testing</c><00:06:50.759><c> maybe</c><00:06:51.180><c> yes</c><00:06:51.600><c> maybe</c><00:06:51.900><c> no</c><00:06:52.139><c> it</c>

00:06:52.610 --> 00:06:52.620 align:start position:0%
with testing maybe yes maybe no it
 

00:06:52.620 --> 00:06:55.430 align:start position:0%
with testing maybe yes maybe no it
depends<00:06:52.979><c> uh</c><00:06:53.759><c> it's</c><00:06:54.240><c> not</c><00:06:54.360><c> exhaustive</c><00:06:54.900><c> so</c><00:06:55.199><c> you</c>

00:06:55.430 --> 00:06:55.440 align:start position:0%
depends uh it's not exhaustive so you
 

00:06:55.440 --> 00:06:56.629 align:start position:0%
depends uh it's not exhaustive so you
might<00:06:55.620><c> get</c><00:06:55.740><c> lucky</c>

00:06:56.629 --> 00:06:56.639 align:start position:0%
might get lucky
 

00:06:56.639 --> 00:06:58.909 align:start position:0%
might get lucky
moreover<00:06:57.360><c> if</c><00:06:57.780><c> a</c><00:06:57.900><c> property</c><00:06:58.139><c> is</c><00:06:58.319><c> actually</c><00:06:58.500><c> true</c>

00:06:58.909 --> 00:06:58.919 align:start position:0%
moreover if a property is actually true
 

00:06:58.919 --> 00:07:01.129 align:start position:0%
moreover if a property is actually true
well<00:06:59.759><c> with</c><00:07:00.000><c> phone</c><00:07:00.120><c> notification</c><00:07:00.660><c> we</c><00:07:00.960><c> can</c>

00:07:01.129 --> 00:07:01.139 align:start position:0%
well with phone notification we can
 

00:07:01.139 --> 00:07:03.770 align:start position:0%
well with phone notification we can
prove<00:07:01.440><c> that</c><00:07:01.800><c> is</c><00:07:01.979><c> true</c><00:07:02.220><c> when</c><00:07:03.120><c> we're</c><00:07:03.360><c> testing</c><00:07:03.600><c> we</c>

00:07:03.770 --> 00:07:03.780 align:start position:0%
prove that is true when we're testing we
 

00:07:03.780 --> 00:07:05.210 align:start position:0%
prove that is true when we're testing we
cannot<00:07:03.960><c> do</c><00:07:04.080><c> it</c><00:07:04.199><c> because</c>

00:07:05.210 --> 00:07:05.220 align:start position:0%
cannot do it because
 

00:07:05.220 --> 00:07:07.610 align:start position:0%
cannot do it because
again<00:07:05.639><c> it's</c><00:07:06.000><c> not</c><00:07:06.180><c> exhaustive</c><00:07:06.720><c> so</c>

00:07:07.610 --> 00:07:07.620 align:start position:0%
again it's not exhaustive so
 

00:07:07.620 --> 00:07:09.830 align:start position:0%
again it's not exhaustive so
this<00:07:08.039><c> is</c><00:07:08.160><c> the</c><00:07:08.400><c> benefit</c><00:07:08.520><c> this</c><00:07:09.180><c> is</c><00:07:09.300><c> why</c><00:07:09.479><c> formal</c>

00:07:09.830 --> 00:07:09.840 align:start position:0%
this is the benefit this is why formal
 

00:07:09.840 --> 00:07:11.990 align:start position:0%
this is the benefit this is why formal
verification<00:07:10.259><c> is</c><00:07:10.680><c> very</c><00:07:11.039><c> well</c><00:07:11.220><c> suited</c><00:07:11.580><c> for</c>

00:07:11.990 --> 00:07:12.000 align:start position:0%
verification is very well suited for
 

00:07:12.000 --> 00:07:13.790 align:start position:0%
verification is very well suited for
this<00:07:12.180><c> protocol</c>

00:07:13.790 --> 00:07:13.800 align:start position:0%
this protocol
 

00:07:13.800 --> 00:07:15.950 align:start position:0%
this protocol
now<00:07:14.340><c> I</c><00:07:14.880><c> want</c><00:07:14.940><c> to</c><00:07:15.060><c> give</c><00:07:15.180><c> you</c><00:07:15.300><c> an</c><00:07:15.419><c> idea</c><00:07:15.600><c> of</c><00:07:15.780><c> what</c>

00:07:15.950 --> 00:07:15.960 align:start position:0%
now I want to give you an idea of what
 

00:07:15.960 --> 00:07:19.129 align:start position:0%
now I want to give you an idea of what
formal<00:07:16.440><c> verification</c><00:07:16.919><c> consists</c><00:07:17.699><c> of</c><00:07:18.020><c> you</c><00:07:19.020><c> have</c>

00:07:19.129 --> 00:07:19.139 align:start position:0%
formal verification consists of you have
 

00:07:19.139 --> 00:07:21.529 align:start position:0%
formal verification consists of you have
a<00:07:19.319><c> formal</c><00:07:19.680><c> specification</c><00:07:20.220><c> which</c><00:07:21.180><c> essentially</c>

00:07:21.529 --> 00:07:21.539 align:start position:0%
a formal specification which essentially
 

00:07:21.539 --> 00:07:23.990 align:start position:0%
a formal specification which essentially
is<00:07:21.780><c> a</c><00:07:21.960><c> mathematical</c><00:07:22.500><c> definition</c><00:07:22.800><c> of</c><00:07:23.639><c> how</c><00:07:23.819><c> the</c>

00:07:23.990 --> 00:07:24.000 align:start position:0%
is a mathematical definition of how the
 

00:07:24.000 --> 00:07:26.089 align:start position:0%
is a mathematical definition of how the
protocol<00:07:24.300><c> is</c><00:07:24.539><c> supposed</c><00:07:24.720><c> to</c><00:07:24.900><c> behave</c><00:07:25.259><c> which</c>

00:07:26.089 --> 00:07:26.099 align:start position:0%
protocol is supposed to behave which
 

00:07:26.099 --> 00:07:28.070 align:start position:0%
protocol is supposed to behave which
says<00:07:26.460><c> basically</c><00:07:26.759><c> when</c><00:07:27.419><c> you</c><00:07:27.539><c> receive</c><00:07:27.840><c> message</c>

00:07:28.070 --> 00:07:28.080 align:start position:0%
says basically when you receive message
 

00:07:28.080 --> 00:07:31.249 align:start position:0%
says basically when you receive message
X<00:07:28.620><c> you</c><00:07:29.220><c> need</c><00:07:29.340><c> to</c><00:07:29.460><c> send</c><00:07:29.639><c> message</c><00:07:29.880><c> y</c>

00:07:31.249 --> 00:07:31.259 align:start position:0%
X you need to send message y
 

00:07:31.259 --> 00:07:33.230 align:start position:0%
X you need to send message y
then<00:07:31.800><c> you</c><00:07:32.039><c> have</c><00:07:32.220><c> a</c><00:07:32.400><c> property</c><00:07:33.000><c> definition</c>

00:07:33.230 --> 00:07:33.240 align:start position:0%
then you have a property definition
 

00:07:33.240 --> 00:07:35.629 align:start position:0%
then you have a property definition
which<00:07:34.139><c> is</c><00:07:34.259><c> a</c><00:07:34.440><c> mathematical</c><00:07:34.979><c> definition</c><00:07:35.220><c> of</c>

00:07:35.629 --> 00:07:35.639 align:start position:0%
which is a mathematical definition of
 

00:07:35.639 --> 00:07:36.950 align:start position:0%
which is a mathematical definition of
the<00:07:35.819><c> properties</c>

00:07:36.950 --> 00:07:36.960 align:start position:0%
the properties
 

00:07:36.960 --> 00:07:38.930 align:start position:0%
the properties
that<00:07:37.440><c> the</c><00:07:37.560><c> protocol</c><00:07:37.800><c> is</c><00:07:38.220><c> expecting</c><00:07:38.699><c> to</c>

00:07:38.930 --> 00:07:38.940 align:start position:0%
that the protocol is expecting to
 

00:07:38.940 --> 00:07:42.110 align:start position:0%
that the protocol is expecting to
guarantee<00:07:39.479><c> something</c><00:07:40.319><c> like</c><00:07:40.680><c> never</c><00:07:41.460><c> commit</c><00:07:41.940><c> a</c>

00:07:42.110 --> 00:07:42.120 align:start position:0%
guarantee something like never commit a
 

00:07:42.120 --> 00:07:43.490 align:start position:0%
guarantee something like never commit a
slashable<00:07:42.539><c> offense</c>

00:07:43.490 --> 00:07:43.500 align:start position:0%
slashable offense
 

00:07:43.500 --> 00:07:45.350 align:start position:0%
slashable offense
although<00:07:44.039><c> this</c><00:07:44.220><c> is</c><00:07:44.400><c> kind</c><00:07:44.639><c> of</c><00:07:44.759><c> packaged</c>

00:07:45.350 --> 00:07:45.360 align:start position:0%
although this is kind of packaged
 

00:07:45.360 --> 00:07:47.330 align:start position:0%
although this is kind of packaged
together<00:07:45.539><c> in</c><00:07:46.020><c> a</c><00:07:46.139><c> formal</c><00:07:46.440><c> proof</c>

00:07:47.330 --> 00:07:47.340 align:start position:0%
together in a formal proof
 

00:07:47.340 --> 00:07:49.309 align:start position:0%
together in a formal proof
which<00:07:47.699><c> is</c><00:07:47.819><c> a</c><00:07:48.000><c> mathematical</c><00:07:48.479><c> proof</c><00:07:48.840><c> that</c><00:07:49.080><c> the</c>

00:07:49.309 --> 00:07:49.319 align:start position:0%
which is a mathematical proof that the
 

00:07:49.319 --> 00:07:51.409 align:start position:0%
which is a mathematical proof that the
protocol<00:07:49.620><c> specification</c><00:07:50.400><c> ensures</c><00:07:51.180><c> the</c>

00:07:51.409 --> 00:07:51.419 align:start position:0%
protocol specification ensures the
 

00:07:51.419 --> 00:07:53.629 align:start position:0%
protocol specification ensures the
properties<00:07:51.780><c> now</c><00:07:52.380><c> what</c><00:07:52.620><c> we</c><00:07:52.740><c> do</c><00:07:52.860><c> we</c><00:07:53.099><c> take</c><00:07:53.280><c> this</c><00:07:53.460><c> a</c>

00:07:53.629 --> 00:07:53.639 align:start position:0%
properties now what we do we take this a
 

00:07:53.639 --> 00:07:54.770 align:start position:0%
properties now what we do we take this a
step<00:07:53.819><c> further</c>

00:07:54.770 --> 00:07:54.780 align:start position:0%
step further
 

00:07:54.780 --> 00:07:56.510 align:start position:0%
step further
and<00:07:55.139><c> we</c><00:07:55.319><c> work</c><00:07:55.500><c> with</c><00:07:55.680><c> machine</c><00:07:55.979><c> checkable</c>

00:07:56.510 --> 00:07:56.520 align:start position:0%
and we work with machine checkable
 

00:07:56.520 --> 00:08:00.290 align:start position:0%
and we work with machine checkable
proofs<00:07:57.000><c> it</c><00:07:57.599><c> means</c><00:07:57.780><c> that</c><00:07:57.900><c> our</c><00:07:58.080><c> proofs</c><00:07:58.620><c> are</c><00:07:59.300><c> very</c>

00:08:00.290 --> 00:08:00.300 align:start position:0%
proofs it means that our proofs are very
 

00:08:00.300 --> 00:08:02.330 align:start position:0%
proofs it means that our proofs are very
checked<00:08:01.080><c> by</c><00:08:01.259><c> a</c><00:08:01.440><c> computer</c>

00:08:02.330 --> 00:08:02.340 align:start position:0%
checked by a computer
 

00:08:02.340 --> 00:08:04.730 align:start position:0%
checked by a computer
and<00:08:02.940><c> this</c><00:08:03.180><c> provides</c><00:08:03.660><c> higher</c><00:08:04.139><c> guarantee</c><00:08:04.500><c> that</c>

00:08:04.730 --> 00:08:04.740 align:start position:0%
and this provides higher guarantee that
 

00:08:04.740 --> 00:08:09.409 align:start position:0%
and this provides higher guarantee that
the<00:08:04.860><c> proofs</c><00:08:05.220><c> actually</c><00:08:05.460><c> correct</c>

00:08:09.409 --> 00:08:09.419 align:start position:0%
 
 

00:08:09.419 --> 00:08:11.990 align:start position:0%
 
okay<00:08:09.900><c> now</c><00:08:10.319><c> we</c><00:08:10.500><c> know</c><00:08:10.680><c> why</c><00:08:10.800><c> we</c><00:08:11.099><c> need</c><00:08:11.220><c> to</c><00:08:11.280><c> do</c><00:08:11.460><c> that</c>

00:08:11.990 --> 00:08:12.000 align:start position:0%
okay now we know why we need to do that
 

00:08:12.000 --> 00:08:14.930 align:start position:0%
okay now we know why we need to do that
and<00:08:12.479><c> now</c><00:08:13.259><c> we</c><00:08:13.440><c> can</c><00:08:13.680><c> have</c><00:08:14.099><c> a</c><00:08:14.220><c> look</c><00:08:14.340><c> how</c><00:08:14.580><c> the</c>

00:08:14.930 --> 00:08:14.940 align:start position:0%
and now we can have a look how the
 

00:08:14.940 --> 00:08:17.210 align:start position:0%
and now we can have a look how the
specification<00:08:15.419><c> actually</c><00:08:15.660><c> looks</c><00:08:16.380><c> like</c>

00:08:17.210 --> 00:08:17.220 align:start position:0%
specification actually looks like
 

00:08:17.220 --> 00:08:19.430 align:start position:0%
specification actually looks like
now<00:08:17.639><c> the</c><00:08:18.240><c> specification</c><00:08:18.780><c> is</c><00:08:19.020><c> not</c><00:08:19.139><c> a</c><00:08:19.319><c> piece</c>

00:08:19.430 --> 00:08:19.440 align:start position:0%
now the specification is not a piece
 

00:08:19.440 --> 00:08:21.589 align:start position:0%
now the specification is not a piece
it's<00:08:19.680><c> not</c><00:08:19.860><c> a</c><00:08:19.979><c> single</c><00:08:20.220><c> piece</c><00:08:20.400><c> it's</c><00:08:20.520><c> modular</c>

00:08:21.589 --> 00:08:21.599 align:start position:0%
it's not a single piece it's modular
 

00:08:21.599 --> 00:08:23.689 align:start position:0%
it's not a single piece it's modular
we<00:08:21.900><c> need</c><00:08:22.020><c> to</c><00:08:22.139><c> specify</c><00:08:22.500><c> the</c><00:08:23.039><c> different</c><00:08:23.400><c> things</c>

00:08:23.689 --> 00:08:23.699 align:start position:0%
we need to specify the different things
 

00:08:23.699 --> 00:08:26.210 align:start position:0%
we need to specify the different things
we<00:08:24.479><c> need</c><00:08:24.599><c> to</c><00:08:24.720><c> specify</c><00:08:25.080><c> how</c><00:08:25.319><c> the</c><00:08:25.620><c> single</c><00:08:25.979><c> node</c>

00:08:26.210 --> 00:08:26.220 align:start position:0%
we need to specify how the single node
 

00:08:26.220 --> 00:08:28.309 align:start position:0%
we need to specify how the single node
you<00:08:26.699><c> know</c><00:08:26.819><c> the</c><00:08:26.940><c> DVC</c><00:08:27.360><c> the</c><00:08:27.780><c> middle</c><00:08:27.900><c> layer</c>

00:08:28.309 --> 00:08:28.319 align:start position:0%
you know the DVC the middle layer
 

00:08:28.319 --> 00:08:29.450 align:start position:0%
you know the DVC the middle layer
behaves

00:08:29.450 --> 00:08:29.460 align:start position:0%
behaves
 

00:08:29.460 --> 00:08:31.550 align:start position:0%
behaves
but<00:08:29.879><c> you</c><00:08:30.000><c> also</c><00:08:30.180><c> need</c><00:08:30.300><c> to</c><00:08:30.419><c> specify</c><00:08:30.840><c> how</c><00:08:31.440><c> the</c>

00:08:31.550 --> 00:08:31.560 align:start position:0%
but you also need to specify how the
 

00:08:31.560 --> 00:08:35.269 align:start position:0%
but you also need to specify how the
Byzantine<00:08:32.039><c> node</c><00:08:32.700><c> behaves</c><00:08:33.719><c> and</c><00:08:34.620><c> actually</c><00:08:35.039><c> what</c>

00:08:35.269 --> 00:08:35.279 align:start position:0%
Byzantine node behaves and actually what
 

00:08:35.279 --> 00:08:39.050 align:start position:0%
Byzantine node behaves and actually what
we<00:08:35.459><c> need</c><00:08:35.640><c> to</c><00:08:35.820><c> do</c><00:08:35.940><c> is</c><00:08:36.419><c> specify</c><00:08:37.039><c> what</c><00:08:38.039><c> it</c><00:08:38.640><c> cannot</c>

00:08:39.050 --> 00:08:39.060 align:start position:0%
we need to do is specify what it cannot
 

00:08:39.060 --> 00:08:41.449 align:start position:0%
we need to do is specify what it cannot
do<00:08:39.659><c> so</c><00:08:40.140><c> there</c><00:08:40.620><c> are</c><00:08:40.800><c> things</c><00:08:40.919><c> the</c><00:08:41.039><c> percent</c><00:08:41.219><c> I</c>

00:08:41.449 --> 00:08:41.459 align:start position:0%
do so there are things the percent I
 

00:08:41.459 --> 00:08:43.190 align:start position:0%
do so there are things the percent I
know<00:08:41.640><c> it</c><00:08:41.760><c> cannot</c><00:08:41.940><c> do</c><00:08:42.060><c> cannot</c><00:08:42.419><c> for</c><00:08:42.539><c> Signature</c>

00:08:43.190 --> 00:08:43.200 align:start position:0%
know it cannot do cannot for Signature
 

00:08:43.200 --> 00:08:44.810 align:start position:0%
know it cannot do cannot for Signature
also<00:08:43.740><c> it</c><00:08:43.860><c> cannot</c><00:08:44.039><c> change</c><00:08:44.219><c> the</c><00:08:44.399><c> state</c><00:08:44.640><c> of</c>

00:08:44.810 --> 00:08:44.820 align:start position:0%
also it cannot change the state of
 

00:08:44.820 --> 00:08:46.850 align:start position:0%
also it cannot change the state of
another<00:08:44.940><c> node</c><00:08:45.300><c> so</c><00:08:45.720><c> all</c><00:08:45.839><c> these</c><00:08:46.140><c> things</c><00:08:46.260><c> need</c><00:08:46.680><c> to</c>

00:08:46.850 --> 00:08:46.860 align:start position:0%
another node so all these things need to
 

00:08:46.860 --> 00:08:49.550 align:start position:0%
another node so all these things need to
be<00:08:46.980><c> coded</c><00:08:47.760><c> in</c><00:08:47.880><c> the</c><00:08:48.060><c> specification</c><00:08:49.019><c> we</c><00:08:49.380><c> also</c>

00:08:49.550 --> 00:08:49.560 align:start position:0%
be coded in the specification we also
 

00:08:49.560 --> 00:08:51.230 align:start position:0%
be coded in the specification we also
have<00:08:49.680><c> a</c><00:08:49.800><c> specification</c><00:08:50.279><c> for</c><00:08:50.580><c> the</c><00:08:50.760><c> consensus</c>

00:08:51.230 --> 00:08:51.240 align:start position:0%
have a specification for the consensus
 

00:08:51.240 --> 00:08:53.269 align:start position:0%
have a specification for the consensus
protocol<00:08:51.660><c> this</c><00:08:52.140><c> is</c><00:08:52.260><c> because</c><00:08:52.500><c> the</c><00:08:52.860><c> DVT</c>

00:08:53.269 --> 00:08:53.279 align:start position:0%
protocol this is because the DVT
 

00:08:53.279 --> 00:08:55.490 align:start position:0%
protocol this is because the DVT
protocol<00:08:53.580><c> is</c><00:08:53.880><c> agnostic</c><00:08:54.420><c> of</c><00:08:54.899><c> the</c><00:08:55.080><c> consensus</c>

00:08:55.490 --> 00:08:55.500 align:start position:0%
protocol is agnostic of the consensus
 

00:08:55.500 --> 00:08:57.650 align:start position:0%
protocol is agnostic of the consensus
protocol<00:08:55.920><c> used</c><00:08:56.220><c> and</c><00:08:56.880><c> so</c><00:08:57.000><c> what</c><00:08:57.180><c> we</c><00:08:57.300><c> need</c><00:08:57.420><c> to</c><00:08:57.540><c> do</c>

00:08:57.650 --> 00:08:57.660 align:start position:0%
protocol used and so what we need to do
 

00:08:57.660 --> 00:09:00.470 align:start position:0%
protocol used and so what we need to do
we<00:08:57.899><c> need</c><00:08:58.019><c> to</c><00:08:58.140><c> specify</c><00:08:58.620><c> the</c><00:08:59.040><c> behavior</c><00:08:59.880><c> that</c><00:09:00.360><c> we</c>

00:09:00.470 --> 00:09:00.480 align:start position:0%
we need to specify the behavior that we
 

00:09:00.480 --> 00:09:02.509 align:start position:0%
we need to specify the behavior that we
expect<00:09:00.600><c> from</c><00:09:00.959><c> the</c><00:09:01.140><c> consensus</c><00:09:01.620><c> protocol</c>

00:09:02.509 --> 00:09:02.519 align:start position:0%
expect from the consensus protocol
 

00:09:02.519 --> 00:09:04.430 align:start position:0%
expect from the consensus protocol
we<00:09:02.940><c> also</c><00:09:03.120><c> need</c><00:09:03.300><c> to</c><00:09:03.420><c> specify</c><00:09:03.779><c> how</c><00:09:04.080><c> the</c><00:09:04.260><c> network</c>

00:09:04.430 --> 00:09:04.440 align:start position:0%
we also need to specify how the network
 

00:09:04.440 --> 00:09:07.670 align:start position:0%
we also need to specify how the network
is<00:09:04.860><c> supposed</c><00:09:05.399><c> to</c><00:09:05.640><c> behave</c><00:09:05.940><c> for</c><00:09:06.720><c> example</c><00:09:06.959><c> which</c>

00:09:07.670 --> 00:09:07.680 align:start position:0%
is supposed to behave for example which
 

00:09:07.680 --> 00:09:10.190 align:start position:0%
is supposed to behave for example which
sequencing<00:09:08.160><c> of</c><00:09:08.399><c> messages</c><00:09:08.580><c> in</c><00:09:09.120><c> my</c><00:09:09.300><c> event</c><00:09:09.540><c> I'll</c>

00:09:10.190 --> 00:09:10.200 align:start position:0%
sequencing of messages in my event I'll
 

00:09:10.200 --> 00:09:13.009 align:start position:0%
sequencing of messages in my event I'll
go<00:09:10.320><c> over</c><00:09:10.440><c> on</c><00:09:11.220><c> this</c><00:09:11.399><c> one</c><00:09:11.580><c> in</c><00:09:12.360><c> more</c><00:09:12.540><c> detail</c><00:09:12.779><c> later</c>

00:09:13.009 --> 00:09:13.019 align:start position:0%
go over on this one in more detail later
 

00:09:13.019 --> 00:09:15.170 align:start position:0%
go over on this one in more detail later
and<00:09:13.620><c> all</c><00:09:13.740><c> of</c><00:09:13.920><c> this</c><00:09:14.100><c> is</c><00:09:14.279><c> put</c><00:09:14.580><c> together</c><00:09:14.760><c> is</c>

00:09:15.170 --> 00:09:15.180 align:start position:0%
and all of this is put together is
 

00:09:15.180 --> 00:09:16.970 align:start position:0%
and all of this is put together is
linked<00:09:15.540><c> together</c><00:09:15.660><c> in</c><00:09:16.320><c> the</c><00:09:16.500><c> distributed</c>

00:09:16.970 --> 00:09:16.980 align:start position:0%
linked together in the distributed
 

00:09:16.980 --> 00:09:20.389 align:start position:0%
linked together in the distributed
validator<00:09:17.339><c> specification</c>

00:09:20.389 --> 00:09:20.399 align:start position:0%
 
 

00:09:20.399 --> 00:09:22.550 align:start position:0%
 
what<00:09:20.940><c> we</c><00:09:21.120><c> have</c><00:09:21.240><c> actually</c><00:09:21.480><c> we</c><00:09:21.899><c> also</c><00:09:22.140><c> have</c><00:09:22.320><c> an</c>

00:09:22.550 --> 00:09:22.560 align:start position:0%
what we have actually we also have an
 

00:09:22.560 --> 00:09:26.030 align:start position:0%
what we have actually we also have an
actually<00:09:22.760><c> uh</c><00:09:24.019><c> executable</c><00:09:25.040><c> reference</c>

00:09:26.030 --> 00:09:26.040 align:start position:0%
actually uh executable reference
 

00:09:26.040 --> 00:09:28.310 align:start position:0%
actually uh executable reference
implementation<00:09:26.640><c> that</c><00:09:27.140><c> implements</c><00:09:28.140><c> the</c>

00:09:28.310 --> 00:09:28.320 align:start position:0%
implementation that implements the
 

00:09:28.320 --> 00:09:30.110 align:start position:0%
implementation that implements the
single<00:09:28.680><c> node</c><00:09:28.860><c> specification</c>

00:09:30.110 --> 00:09:30.120 align:start position:0%
single node specification
 

00:09:30.120 --> 00:09:32.269 align:start position:0%
single node specification
and<00:09:30.480><c> all</c><00:09:30.660><c> of</c><00:09:30.839><c> this</c><00:09:30.959><c> is</c><00:09:31.080><c> written</c><00:09:31.500><c> for</c><00:09:32.040><c> this</c>

00:09:32.269 --> 00:09:32.279 align:start position:0%
and all of this is written for this
 

00:09:32.279 --> 00:09:33.829 align:start position:0%
and all of this is written for this
project<00:09:32.399><c> in</c><00:09:32.760><c> Daphne</c>

00:09:33.829 --> 00:09:33.839 align:start position:0%
project in Daphne
 

00:09:33.839 --> 00:09:36.290 align:start position:0%
project in Daphne
which<00:09:34.440><c> is</c><00:09:34.560><c> a</c><00:09:34.740><c> programming</c><00:09:35.160><c> language</c>

00:09:36.290 --> 00:09:36.300 align:start position:0%
which is a programming language
 

00:09:36.300 --> 00:09:38.630 align:start position:0%
which is a programming language
um<00:09:36.360><c> it</c><00:09:36.959><c> says</c><00:09:37.140><c> a</c><00:09:37.320><c> python</c><00:09:37.680><c> JavaScript</c><00:09:38.100><c> like</c>

00:09:38.630 --> 00:09:38.640 align:start position:0%
um it says a python JavaScript like
 

00:09:38.640 --> 00:09:40.009 align:start position:0%
um it says a python JavaScript like
syntax

00:09:40.009 --> 00:09:40.019 align:start position:0%
syntax
 

00:09:40.019 --> 00:09:42.530 align:start position:0%
syntax
and<00:09:40.560><c> it's</c><00:09:40.680><c> a</c><00:09:40.920><c> formally</c><00:09:41.220><c> verification</c><00:09:41.820><c> aware</c>

00:09:42.530 --> 00:09:42.540 align:start position:0%
and it's a formally verification aware
 

00:09:42.540 --> 00:09:46.250 align:start position:0%
and it's a formally verification aware
language<00:09:43.100><c> and</c><00:09:44.100><c> so</c><00:09:45.000><c> I'm</c><00:09:45.600><c> going</c><00:09:45.779><c> to</c><00:09:45.899><c> go</c><00:09:46.080><c> over</c>

00:09:46.250 --> 00:09:46.260 align:start position:0%
language and so I'm going to go over
 

00:09:46.260 --> 00:09:48.110 align:start position:0%
language and so I'm going to go over
with<00:09:46.680><c> the</c><00:09:46.920><c> spec</c><00:09:47.040><c> by</c><00:09:47.459><c> starting</c><00:09:47.640><c> from</c><00:09:47.940><c> the</c>

00:09:48.110 --> 00:09:48.120 align:start position:0%
with the spec by starting from the
 

00:09:48.120 --> 00:09:51.530 align:start position:0%
with the spec by starting from the
bottom<00:09:48.420><c> has</c><00:09:48.959><c> been</c><00:09:49.440><c> a</c><00:09:49.680><c> bit</c><00:09:49.860><c> say</c><00:09:50.279><c> vague</c><00:09:51.000><c> abstract</c>

00:09:51.530 --> 00:09:51.540 align:start position:0%
bottom has been a bit say vague abstract
 

00:09:51.540 --> 00:09:54.230 align:start position:0%
bottom has been a bit say vague abstract
I<00:09:52.080><c> want</c><00:09:52.200><c> to</c><00:09:52.320><c> give</c><00:09:52.440><c> you</c><00:09:52.620><c> some</c><00:09:53.339><c> practical</c><00:09:53.940><c> code</c>

00:09:54.230 --> 00:09:54.240 align:start position:0%
I want to give you some practical code
 

00:09:54.240 --> 00:09:56.930 align:start position:0%
I want to give you some practical code
to<00:09:54.660><c> look</c><00:09:54.779><c> at</c><00:09:55.040><c> so</c><00:09:56.040><c> I</c><00:09:56.220><c> start</c><00:09:56.399><c> from</c><00:09:56.640><c> the</c>

00:09:56.930 --> 00:09:56.940 align:start position:0%
to look at so I start from the
 

00:09:56.940 --> 00:09:59.570 align:start position:0%
to look at so I start from the
executable<00:09:57.600><c> reference</c><00:09:58.080><c> implementation</c><00:09:58.740><c> what</c>

00:09:59.570 --> 00:09:59.580 align:start position:0%
executable reference implementation what
 

00:09:59.580 --> 00:10:01.130 align:start position:0%
executable reference implementation what
I<00:09:59.760><c> want</c><00:09:59.880><c> to</c><00:10:00.000><c> show</c><00:10:00.120><c> here</c><00:10:00.300><c> this</c><00:10:00.540><c> is</c><00:10:00.660><c> the</c><00:10:00.839><c> method</c>

00:10:01.130 --> 00:10:01.140 align:start position:0%
I want to show here this is the method
 

00:10:01.140 --> 00:10:02.590 align:start position:0%
I want to show here this is the method
that<00:10:01.380><c> is</c><00:10:01.560><c> called</c>

00:10:02.590 --> 00:10:02.600 align:start position:0%
that is called
 

00:10:02.600 --> 00:10:06.050 align:start position:0%
that is called
when<00:10:03.600><c> the</c><00:10:03.839><c> consensus</c><00:10:04.380><c> protocol</c><00:10:04.860><c> decides</c><00:10:05.700><c> on</c><00:10:05.880><c> a</c>

00:10:06.050 --> 00:10:06.060 align:start position:0%
when the consensus protocol decides on a
 

00:10:06.060 --> 00:10:07.850 align:start position:0%
when the consensus protocol decides on a
new<00:10:06.180><c> attestation</c><00:10:06.660><c> what</c><00:10:07.140><c> I</c><00:10:07.320><c> want</c><00:10:07.440><c> to</c><00:10:07.500><c> show</c><00:10:07.620><c> here</c>

00:10:07.850 --> 00:10:07.860 align:start position:0%
new attestation what I want to show here
 

00:10:07.860 --> 00:10:09.889 align:start position:0%
new attestation what I want to show here
is<00:10:08.040><c> that</c>

00:10:09.889 --> 00:10:09.899 align:start position:0%
is that
 

00:10:09.899 --> 00:10:13.070 align:start position:0%
is that
um the<00:10:10.620><c> code</c><00:10:11.040><c> is</c><00:10:11.339><c> pretty</c><00:10:11.760><c> easy</c><00:10:12.060><c> I</c><00:10:12.600><c> would</c><00:10:12.899><c> say</c>

00:10:13.070 --> 00:10:13.080 align:start position:0%
um the code is pretty easy I would say
 

00:10:13.080 --> 00:10:15.889 align:start position:0%
um the code is pretty easy I would say
to<00:10:13.380><c> understand</c><00:10:13.560><c> it's</c><00:10:14.220><c> a</c><00:10:14.459><c> really</c><00:10:14.880><c> I</c><00:10:15.480><c> think</c><00:10:15.660><c> that</c>

00:10:15.889 --> 00:10:15.899 align:start position:0%
to understand it's a really I think that
 

00:10:15.899 --> 00:10:18.590 align:start position:0%
to understand it's a really I think that
any<00:10:16.200><c> developer</c><00:10:16.740><c> would</c><00:10:16.980><c> be</c><00:10:17.100><c> able</c><00:10:17.279><c> to</c><00:10:17.399><c> read</c><00:10:17.640><c> it</c>

00:10:18.590 --> 00:10:18.600 align:start position:0%
any developer would be able to read it
 

00:10:18.600 --> 00:10:20.870 align:start position:0%
any developer would be able to read it
um<00:10:18.660><c> it's</c><00:10:18.959><c> really</c><00:10:19.140><c> a</c><00:10:19.440><c> mix</c><00:10:19.560><c> of</c><00:10:19.860><c> JavaScript</c><00:10:20.580><c> and</c>

00:10:20.870 --> 00:10:20.880 align:start position:0%
um it's really a mix of JavaScript and
 

00:10:20.880 --> 00:10:23.150 align:start position:0%
um it's really a mix of JavaScript and
python<00:10:21.360><c> you</c><00:10:21.660><c> have</c><00:10:21.839><c> some</c><00:10:22.019><c> form</c><00:10:22.500><c> of</c><00:10:22.680><c> some</c>

00:10:23.150 --> 00:10:23.160 align:start position:0%
python you have some form of some
 

00:10:23.160 --> 00:10:25.610 align:start position:0%
python you have some form of some
statements<00:10:23.760><c> that</c><00:10:24.480><c> are</c><00:10:24.660><c> required</c><00:10:25.019><c> for</c><00:10:25.200><c> formal</c>

00:10:25.610 --> 00:10:25.620 align:start position:0%
statements that are required for formal
 

00:10:25.620 --> 00:10:27.769 align:start position:0%
statements that are required for formal
verification<00:10:26.160><c> those</c><00:10:26.880><c> are</c><00:10:27.060><c> the</c><00:10:27.180><c> top</c><00:10:27.360><c> if</c><00:10:27.600><c> you</c>

00:10:27.769 --> 00:10:27.779 align:start position:0%
verification those are the top if you
 

00:10:27.779 --> 00:10:30.350 align:start position:0%
verification those are the top if you
are<00:10:27.899><c> just</c><00:10:28.019><c> interested</c><00:10:28.500><c> in</c><00:10:28.680><c> say</c><00:10:29.279><c> look</c><00:10:30.060><c> in</c><00:10:30.240><c> the</c>

00:10:30.350 --> 00:10:30.360 align:start position:0%
are just interested in say look in the
 

00:10:30.360 --> 00:10:32.570 align:start position:0%
are just interested in say look in the
reference<00:10:30.720><c> implementation</c><00:10:31.320><c> and</c><00:10:31.680><c> having</c><00:10:32.040><c> your</c>

00:10:32.570 --> 00:10:32.580 align:start position:0%
reference implementation and having your
 

00:10:32.580 --> 00:10:34.370 align:start position:0%
reference implementation and having your
own<00:10:32.700><c> implementation</c><00:10:33.240><c> you</c><00:10:33.600><c> can</c><00:10:33.779><c> just</c><00:10:33.959><c> ignore</c>

00:10:34.370 --> 00:10:34.380 align:start position:0%
own implementation you can just ignore
 

00:10:34.380 --> 00:10:37.310 align:start position:0%
own implementation you can just ignore
them<00:10:34.560><c> there</c><00:10:35.100><c> are</c><00:10:35.279><c> also</c><00:10:35.459><c> some</c><00:10:35.700><c> specific</c><00:10:36.320><c> syntax</c>

00:10:37.310 --> 00:10:37.320 align:start position:0%
them there are also some specific syntax
 

00:10:37.320 --> 00:10:39.050 align:start position:0%
them there are also some specific syntax
like<00:10:37.680><c> this</c><00:10:37.920><c> one</c><00:10:38.040><c> at</c><00:10:38.220><c> the</c><00:10:38.339><c> bottom</c><00:10:38.580><c> which</c><00:10:38.880><c> is</c>

00:10:39.050 --> 00:10:39.060 align:start position:0%
like this one at the bottom which is
 

00:10:39.060 --> 00:10:41.389 align:start position:0%
like this one at the bottom which is
kind<00:10:39.660><c> of</c><00:10:39.779><c> the</c><00:10:39.899><c> equivalent</c><00:10:40.320><c> in</c><00:10:40.800><c> some</c><00:10:40.920><c> sense</c><00:10:41.160><c> of</c>

00:10:41.389 --> 00:10:41.399 align:start position:0%
kind of the equivalent in some sense of
 

00:10:41.399 --> 00:10:44.090 align:start position:0%
kind of the equivalent in some sense of
exception<00:10:42.000><c> propagation</c><00:10:42.540><c> in</c><00:10:42.839><c> in</c><00:10:43.380><c> some</c><00:10:43.740><c> of</c><00:10:43.920><c> the</c>

00:10:44.090 --> 00:10:44.100 align:start position:0%
exception propagation in in some of the
 

00:10:44.100 --> 00:10:45.829 align:start position:0%
exception propagation in in some of the
common<00:10:44.339><c> languages</c><00:10:44.760><c> but</c><00:10:45.000><c> aside</c><00:10:45.300><c> from</c><00:10:45.480><c> this</c><00:10:45.600><c> is</c>

00:10:45.829 --> 00:10:45.839 align:start position:0%
common languages but aside from this is
 

00:10:45.839 --> 00:10:47.329 align:start position:0%
common languages but aside from this is
pretty<00:10:46.260><c> simple</c><00:10:46.500><c> and</c><00:10:46.680><c> this</c><00:10:46.860><c> is</c><00:10:46.920><c> one</c><00:10:47.100><c> of</c><00:10:47.220><c> the</c>

00:10:47.329 --> 00:10:47.339 align:start position:0%
pretty simple and this is one of the
 

00:10:47.339 --> 00:10:49.670 align:start position:0%
pretty simple and this is one of the
reason<00:10:47.940><c> we</c><00:10:48.420><c> have</c><00:10:48.600><c> chosen</c><00:10:48.959><c> definitely</c><00:10:49.440><c> for</c>

00:10:49.670 --> 00:10:49.680 align:start position:0%
reason we have chosen definitely for
 

00:10:49.680 --> 00:10:51.110 align:start position:0%
reason we have chosen definitely for
this<00:10:49.860><c> project</c><00:10:50.040><c> to</c>

00:10:51.110 --> 00:10:51.120 align:start position:0%
this project to
 

00:10:51.120 --> 00:10:54.110 align:start position:0%
this project to
to<00:10:51.660><c> to</c><00:10:51.660><c> to</c><00:10:51.720><c> to</c><00:10:52.040><c> basically</c><00:10:53.040><c> make</c><00:10:53.279><c> it</c><00:10:53.459><c> easier</c><00:10:53.940><c> as</c>

00:10:54.110 --> 00:10:54.120 align:start position:0%
to to to to basically make it easier as
 

00:10:54.120 --> 00:10:56.090 align:start position:0%
to to to to basically make it easier as
easy<00:10:54.300><c> as</c><00:10:54.480><c> possible</c><00:10:54.839><c> to</c><00:10:55.200><c> for</c><00:10:55.500><c> the</c><00:10:55.680><c> developer</c>

00:10:56.090 --> 00:10:56.100 align:start position:0%
easy as possible to for the developer
 

00:10:56.100 --> 00:10:58.370 align:start position:0%
easy as possible to for the developer
development<00:10:56.760><c> Community</c><00:10:57.000><c> to</c><00:10:57.600><c> really</c><00:10:57.779><c> use</c><00:10:58.079><c> and</c>

00:10:58.370 --> 00:10:58.380 align:start position:0%
development Community to really use and
 

00:10:58.380 --> 00:11:01.610 align:start position:0%
development Community to really use and
this<00:10:58.800><c> product</c><00:10:58.980><c> protocol</c><00:11:00.360><c> but</c><00:11:00.779><c> now</c><00:11:00.839><c> let's</c><00:11:01.260><c> go</c>

00:11:01.610 --> 00:11:01.620 align:start position:0%
this product protocol but now let's go
 

00:11:01.620 --> 00:11:03.730 align:start position:0%
this product protocol but now let's go
up<00:11:01.800><c> how</c><00:11:02.339><c> does</c><00:11:02.519><c> the</c><00:11:02.760><c> actual</c><00:11:03.060><c> specification</c>

00:11:03.730 --> 00:11:03.740 align:start position:0%
up how does the actual specification
 

00:11:03.740 --> 00:11:06.170 align:start position:0%
up how does the actual specification
looks<00:11:04.740><c> like</c><00:11:04.860><c> so</c><00:11:05.339><c> what</c><00:11:05.519><c> the</c><00:11:05.700><c> specification</c>

00:11:06.170 --> 00:11:06.180 align:start position:0%
looks like so what the specification
 

00:11:06.180 --> 00:11:09.889 align:start position:0%
looks like so what the specification
does<00:11:06.540><c> really</c><00:11:07.040><c> defines</c><00:11:08.040><c> how</c><00:11:08.660><c> the</c><00:11:09.660><c> system</c>

00:11:09.889 --> 00:11:09.899 align:start position:0%
does really defines how the system
 

00:11:09.899 --> 00:11:13.190 align:start position:0%
does really defines how the system
transition<00:11:10.560><c> from</c><00:11:11.220><c> one</c><00:11:11.459><c> state</c><00:11:11.640><c> to</c><00:11:11.820><c> the</c><00:11:12.000><c> next</c>

00:11:13.190 --> 00:11:13.200 align:start position:0%
transition from one state to the next
 

00:11:13.200 --> 00:11:16.130 align:start position:0%
transition from one state to the next
and<00:11:13.860><c> the</c><00:11:14.160><c> system</c><00:11:14.279><c> State</c><00:11:14.640><c> includes</c><00:11:15.360><c> the</c><00:11:15.959><c> state</c>

00:11:16.130 --> 00:11:16.140 align:start position:0%
and the system State includes the state
 

00:11:16.140 --> 00:11:19.069 align:start position:0%
and the system State includes the state
of<00:11:16.380><c> all</c><00:11:16.560><c> the</c><00:11:16.800><c> various</c><00:11:17.100><c> nodes</c><00:11:17.480><c> uh</c><00:11:18.480><c> the</c><00:11:18.779><c> state</c><00:11:18.899><c> of</c>

00:11:19.069 --> 00:11:19.079 align:start position:0%
of all the various nodes uh the state of
 

00:11:19.079 --> 00:11:20.630 align:start position:0%
of all the various nodes uh the state of
the<00:11:19.200><c> network</c><00:11:19.320><c> the</c><00:11:19.740><c> state</c><00:11:19.920><c> of</c><00:11:20.040><c> the</c><00:11:20.160><c> adversary</c>

00:11:20.630 --> 00:11:20.640 align:start position:0%
the network the state of the adversary
 

00:11:20.640 --> 00:11:23.389 align:start position:0%
the network the state of the adversary
the<00:11:21.360><c> state</c><00:11:21.540><c> of</c><00:11:21.720><c> the</c><00:11:21.899><c> consensus</c><00:11:22.500><c> so</c><00:11:22.920><c> all</c><00:11:23.100><c> these</c>

00:11:23.389 --> 00:11:23.399 align:start position:0%
the state of the consensus so all these
 

00:11:23.399 --> 00:11:26.930 align:start position:0%
the state of the consensus so all these
things<00:11:23.519><c> is</c><00:11:23.779><c> encapsulated</c><00:11:24.779><c> in</c><00:11:25.620><c> the</c>

00:11:26.930 --> 00:11:26.940 align:start position:0%
things is encapsulated in the
 

00:11:26.940 --> 00:11:29.030 align:start position:0%
things is encapsulated in the
in<00:11:27.540><c> different</c><00:11:27.720><c> fields</c><00:11:28.140><c> so</c><00:11:28.260><c> let's</c><00:11:28.440><c> say</c><00:11:28.560><c> of</c><00:11:28.800><c> the</c>

00:11:29.030 --> 00:11:29.040 align:start position:0%
in different fields so let's say of the
 

00:11:29.040 --> 00:11:30.769 align:start position:0%
in different fields so let's say of the
system<00:11:29.399><c> state</c>

00:11:30.769 --> 00:11:30.779 align:start position:0%
system state
 

00:11:30.779 --> 00:11:34.130 align:start position:0%
system state
now<00:11:31.260><c> the</c><00:11:31.500><c> transition</c><00:11:31.920><c> says</c><00:11:32.459><c> well</c><00:11:32.700><c> on</c><00:11:33.540><c> a</c><00:11:33.779><c> given</c>

00:11:34.130 --> 00:11:34.140 align:start position:0%
now the transition says well on a given
 

00:11:34.140 --> 00:11:36.470 align:start position:0%
now the transition says well on a given
event<00:11:34.320><c> which</c><00:11:34.860><c> can</c><00:11:35.040><c> be</c><00:11:35.279><c> a</c><00:11:35.519><c> new</c><00:11:35.640><c> set</c><00:11:35.820><c> of</c><00:11:36.000><c> Duties</c>

00:11:36.470 --> 00:11:36.480 align:start position:0%
event which can be a new set of Duties
 

00:11:36.480 --> 00:11:39.530 align:start position:0%
event which can be a new set of Duties
time<00:11:37.320><c> to</c><00:11:37.500><c> execute</c><00:11:37.860><c> the</c><00:11:38.040><c> next</c><00:11:38.279><c> Duty</c><00:11:38.640><c> message</c><00:11:39.180><c> I</c>

00:11:39.530 --> 00:11:39.540 align:start position:0%
time to execute the next Duty message I
 

00:11:39.540 --> 00:11:41.150 align:start position:0%
time to execute the next Duty message I
received<00:11:39.839><c> you</c><00:11:40.200><c> move</c><00:11:40.320><c> from</c><00:11:40.500><c> one</c><00:11:40.680><c> state</c><00:11:40.860><c> to</c><00:11:41.040><c> the</c>

00:11:41.150 --> 00:11:41.160 align:start position:0%
received you move from one state to the
 

00:11:41.160 --> 00:11:42.829 align:start position:0%
received you move from one state to the
next<00:11:41.279><c> slide</c><00:11:41.640><c> from</c><00:11:41.940><c> the</c><00:11:42.060><c> yellow</c><00:11:42.180><c> state</c><00:11:42.480><c> to</c><00:11:42.720><c> the</c>

00:11:42.829 --> 00:11:42.839 align:start position:0%
next slide from the yellow state to the
 

00:11:42.839 --> 00:11:44.750 align:start position:0%
next slide from the yellow state to the
Green<00:11:43.019><c> State</c>

00:11:44.750 --> 00:11:44.760 align:start position:0%
Green State
 

00:11:44.760 --> 00:11:47.269 align:start position:0%
Green State
one<00:11:45.240><c> very</c><00:11:45.480><c> important</c><00:11:45.899><c> characteristic</c><00:11:46.800><c> of</c><00:11:47.040><c> the</c>

00:11:47.269 --> 00:11:47.279 align:start position:0%
one very important characteristic of the
 

00:11:47.279 --> 00:11:49.910 align:start position:0%
one very important characteristic of the
way<00:11:47.459><c> this</c><00:11:48.120><c> specification</c><00:11:48.660><c> is</c><00:11:48.959><c> written</c><00:11:49.680><c> which</c>

00:11:49.910 --> 00:11:49.920 align:start position:0%
way this specification is written which
 

00:11:49.920 --> 00:11:53.810 align:start position:0%
way this specification is written which
is<00:11:50.600><c> commonly</c><00:11:51.600><c> also</c><00:11:51.899><c> to</c><00:11:52.019><c> our</c><00:11:52.200><c> Kelly</c><00:11:52.440><c> plus</c><00:11:52.860><c> way</c>

00:11:53.810 --> 00:11:53.820 align:start position:0%
is commonly also to our Kelly plus way
 

00:11:53.820 --> 00:11:56.449 align:start position:0%
is commonly also to our Kelly plus way
of<00:11:54.000><c> writing</c><00:11:54.480><c> specification</c><00:11:55.019><c> in</c><00:11:55.200><c> TNA</c><00:11:55.620><c> plus</c><00:11:55.800><c> we</c>

00:11:56.449 --> 00:11:56.459 align:start position:0%
of writing specification in TNA plus we
 

00:11:56.459 --> 00:11:58.190 align:start position:0%
of writing specification in TNA plus we
allow<00:11:56.760><c> non-deterministic</c><00:11:57.660><c> Behavior</c><00:11:58.019><c> now</c>

00:11:58.190 --> 00:11:58.200 align:start position:0%
allow non-deterministic Behavior now
 

00:11:58.200 --> 00:12:00.350 align:start position:0%
allow non-deterministic Behavior now
what<00:11:58.860><c> you</c><00:11:58.980><c> have</c><00:11:59.160><c> on</c><00:11:59.339><c> the</c><00:11:59.519><c> and</c><00:11:59.760><c> explain</c><00:12:00.060><c> why</c>

00:12:00.350 --> 00:12:00.360 align:start position:0%
what you have on the and explain why
 

00:12:00.360 --> 00:12:02.329 align:start position:0%
what you have on the and explain why
this<00:12:00.600><c> is</c><00:12:00.779><c> important</c><00:12:01.140><c> what</c><00:12:01.620><c> you</c><00:12:01.920><c> have</c><00:12:02.040><c> on</c><00:12:02.220><c> the</c>

00:12:02.329 --> 00:12:02.339 align:start position:0%
this is important what you have on the
 

00:12:02.339 --> 00:12:03.590 align:start position:0%
this is important what you have on the
left<00:12:02.579><c> hand</c><00:12:02.700><c> side</c><00:12:02.940><c> is</c><00:12:03.240><c> not</c><00:12:03.420><c> really</c>

00:12:03.590 --> 00:12:03.600 align:start position:0%
left hand side is not really
 

00:12:03.600 --> 00:12:06.410 align:start position:0%
left hand side is not really
non-deterministic<00:12:04.560><c> but</c><00:12:04.740><c> close</c><00:12:05.040><c> to</c><00:12:05.339><c> it</c><00:12:05.519><c> so</c>

00:12:06.410 --> 00:12:06.420 align:start position:0%
non-deterministic but close to it so
 

00:12:06.420 --> 00:12:09.310 align:start position:0%
non-deterministic but close to it so
what<00:12:06.660><c> can</c><00:12:06.839><c> happen</c><00:12:06.959><c> is</c><00:12:07.260><c> that</c><00:12:08.160><c> from</c><00:12:08.820><c> one</c><00:12:09.060><c> state</c>

00:12:09.310 --> 00:12:09.320 align:start position:0%
what can happen is that from one state
 

00:12:09.320 --> 00:12:12.290 align:start position:0%
what can happen is that from one state
you<00:12:10.320><c> might</c><00:12:10.500><c> have</c><00:12:10.680><c> more</c><00:12:11.040><c> than</c><00:12:11.160><c> one</c><00:12:11.339><c> event</c><00:12:11.519><c> that</c>

00:12:12.290 --> 00:12:12.300 align:start position:0%
you might have more than one event that
 

00:12:12.300 --> 00:12:14.090 align:start position:0%
you might have more than one event that
can<00:12:12.480><c> move</c><00:12:12.660><c> you</c><00:12:12.839><c> to</c><00:12:13.019><c> two</c><00:12:13.260><c> different</c><00:12:13.440><c> states</c><00:12:13.740><c> so</c>

00:12:14.090 --> 00:12:14.100 align:start position:0%
can move you to two different states so
 

00:12:14.100 --> 00:12:16.610 align:start position:0%
can move you to two different states so
so<00:12:14.579><c> for</c><00:12:14.820><c> example</c><00:12:15.120><c> a</c><00:12:15.300><c> node</c><00:12:15.540><c> might</c><00:12:15.779><c> receive</c><00:12:16.079><c> a</c>

00:12:16.610 --> 00:12:16.620 align:start position:0%
so for example a node might receive a
 

00:12:16.620 --> 00:12:19.310 align:start position:0%
so for example a node might receive a
message<00:12:16.800><c> from</c><00:12:17.640><c> node</c><00:12:17.940><c> 2</c><00:12:18.180><c> or</c><00:12:18.600><c> perhaps</c><00:12:18.959><c> on</c><00:12:19.079><c> Note</c>

00:12:19.310 --> 00:12:19.320 align:start position:0%
message from node 2 or perhaps on Note
 

00:12:19.320 --> 00:12:21.949 align:start position:0%
message from node 2 or perhaps on Note
3.<00:12:19.920><c> and</c><00:12:20.399><c> this</c><00:12:20.519><c> this</c><00:12:20.940><c> is</c><00:12:21.120><c> what</c><00:12:21.360><c> allows</c><00:12:21.720><c> to</c>

00:12:21.949 --> 00:12:21.959 align:start position:0%
3. and this this is what allows to
 

00:12:21.959 --> 00:12:24.590 align:start position:0%
3. and this this is what allows to
capture

00:12:24.590 --> 00:12:24.600 align:start position:0%
 
 

00:12:24.600 --> 00:12:28.310 align:start position:0%
 
okay<00:12:25.040><c> Network</c><00:12:26.060><c> asynchrony</c><00:12:27.060><c> so</c><00:12:27.660><c> and</c><00:12:28.079><c> this</c><00:12:28.260><c> is</c>

00:12:28.310 --> 00:12:28.320 align:start position:0%
okay Network asynchrony so and this is
 

00:12:28.320 --> 00:12:29.990 align:start position:0%
okay Network asynchrony so and this is
one<00:12:28.500><c> of</c><00:12:28.680><c> the</c><00:12:28.740><c> important</c><00:12:29.100><c> differences</c><00:12:29.579><c> to</c>

00:12:29.990 --> 00:12:30.000 align:start position:0%
one of the important differences to
 

00:12:30.000 --> 00:12:33.530 align:start position:0%
one of the important differences to
testing<00:12:30.480><c> we</c><00:12:31.320><c> can</c><00:12:31.500><c> really</c><00:12:31.680><c> reason</c><00:12:32.300><c> on</c><00:12:33.300><c> any</c>

00:12:33.530 --> 00:12:33.540 align:start position:0%
testing we can really reason on any
 

00:12:33.540 --> 00:12:36.230 align:start position:0%
testing we can really reason on any
possible<00:12:34.079><c> sequences</c><00:12:34.800><c> of</c><00:12:35.100><c> messages</c><00:12:35.279><c> any</c><00:12:36.000><c> that</c>

00:12:36.230 --> 00:12:36.240 align:start position:0%
possible sequences of messages any that
 

00:12:36.240 --> 00:12:40.190 align:start position:0%
possible sequences of messages any that
you<00:12:36.420><c> can</c><00:12:36.540><c> imagine</c><00:12:36.660><c> this</c><00:12:37.440><c> is</c><00:12:37.560><c> coded</c><00:12:37.980><c> in</c>

00:12:40.190 --> 00:12:40.200 align:start position:0%
 
 

00:12:40.200 --> 00:12:42.410 align:start position:0%
 
the<00:12:40.800><c> other</c>

00:12:42.410 --> 00:12:42.420 align:start position:0%
the other
 

00:12:42.420 --> 00:12:45.410 align:start position:0%
the other
point<00:12:43.079><c> I</c><00:12:43.440><c> want</c><00:12:43.620><c> to</c><00:12:43.740><c> make</c><00:12:43.860><c> is</c><00:12:44.279><c> really</c><00:12:44.940><c> about</c><00:12:45.240><c> the</c>

00:12:45.410 --> 00:12:45.420 align:start position:0%
point I want to make is really about the
 

00:12:45.420 --> 00:12:47.150 align:start position:0%
point I want to make is really about the
non-deterministic<00:12:46.260><c> behavior</c><00:12:46.620><c> so</c><00:12:46.800><c> from</c><00:12:46.980><c> one</c>

00:12:47.150 --> 00:12:47.160 align:start position:0%
non-deterministic behavior so from one
 

00:12:47.160 --> 00:12:50.090 align:start position:0%
non-deterministic behavior so from one
state<00:12:47.399><c> the</c><00:12:48.180><c> same</c><00:12:48.420><c> event</c><00:12:48.600><c> can</c><00:12:49.380><c> get</c><00:12:49.560><c> you</c><00:12:49.740><c> to</c><00:12:49.920><c> two</c>

00:12:50.090 --> 00:12:50.100 align:start position:0%
state the same event can get you to two
 

00:12:50.100 --> 00:12:53.030 align:start position:0%
state the same event can get you to two
different<00:12:50.279><c> states</c><00:12:51.120><c> and</c><00:12:51.600><c> now</c><00:12:51.839><c> why</c><00:12:52.680><c> this</c><00:12:52.860><c> can</c>

00:12:53.030 --> 00:12:53.040 align:start position:0%
different states and now why this can
 

00:12:53.040 --> 00:12:55.550 align:start position:0%
different states and now why this can
happen<00:12:53.300><c> mainly</c><00:12:54.300><c> because</c><00:12:54.480><c> of</c><00:12:54.720><c> that</c><00:12:54.899><c> adversary</c>

00:12:55.550 --> 00:12:55.560 align:start position:0%
happen mainly because of that adversary
 

00:12:55.560 --> 00:12:57.769 align:start position:0%
happen mainly because of that adversary
so<00:12:56.040><c> if</c><00:12:56.279><c> you</c><00:12:56.399><c> have</c><00:12:56.519><c> a</c><00:12:56.639><c> given</c><00:12:56.940><c> state</c>

00:12:57.769 --> 00:12:57.779 align:start position:0%
so if you have a given state
 

00:12:57.779 --> 00:12:59.750 align:start position:0%
so if you have a given state
the<00:12:58.139><c> adversity</c><00:12:58.680><c> can</c><00:12:58.920><c> behave</c><00:12:59.220><c> in</c><00:12:59.399><c> multiple</c>

00:12:59.750 --> 00:12:59.760 align:start position:0%
the adversity can behave in multiple
 

00:12:59.760 --> 00:13:02.569 align:start position:0%
the adversity can behave in multiple
ways<00:13:00.120><c> on</c><00:13:00.600><c> an</c><00:13:00.779><c> event</c><00:13:00.959><c> and</c><00:13:01.500><c> this</c><00:13:01.680><c> is</c><00:13:01.800><c> a</c><00:13:02.100><c> what</c>

00:13:02.569 --> 00:13:02.579 align:start position:0%
ways on an event and this is a what
 

00:13:02.579 --> 00:13:05.629 align:start position:0%
ways on an event and this is a what
allows<00:13:03.120><c> us</c><00:13:03.240><c> to</c><00:13:03.540><c> capture</c><00:13:03.959><c> this</c>

00:13:05.629 --> 00:13:05.639 align:start position:0%
allows us to capture this
 

00:13:05.639 --> 00:13:07.550 align:start position:0%
allows us to capture this
while<00:13:06.180><c> I</c><00:13:06.420><c> speak</c><00:13:06.660><c> about</c><00:13:06.839><c> this</c><00:13:07.019><c> I</c><00:13:07.200><c> want</c><00:13:07.320><c> to</c><00:13:07.440><c> draw</c>

00:13:07.550 --> 00:13:07.560 align:start position:0%
while I speak about this I want to draw
 

00:13:07.560 --> 00:13:10.310 align:start position:0%
while I speak about this I want to draw
a<00:13:07.740><c> comparison</c><00:13:08.160><c> to</c><00:13:08.339><c> model</c><00:13:09.060><c> checking</c><00:13:09.600><c> which</c><00:13:09.899><c> is</c>

00:13:10.310 --> 00:13:10.320 align:start position:0%
a comparison to model checking which is
 

00:13:10.320 --> 00:13:12.290 align:start position:0%
a comparison to model checking which is
a<00:13:10.500><c> different</c><00:13:10.620><c> technique</c><00:13:11.100><c> and</c><00:13:11.579><c> with</c><00:13:12.060><c> model</c>

00:13:12.290 --> 00:13:12.300 align:start position:0%
a different technique and with model
 

00:13:12.300 --> 00:13:13.730 align:start position:0%
a different technique and with model
checking<00:13:12.779><c> you</c><00:13:12.959><c> have</c><00:13:13.079><c> the</c><00:13:13.200><c> problem</c><00:13:13.320><c> of</c><00:13:13.500><c> State</c>

00:13:13.730 --> 00:13:13.740 align:start position:0%
checking you have the problem of State
 

00:13:13.740 --> 00:13:16.370 align:start position:0%
checking you have the problem of State
explosion<00:13:14.220><c> and</c><00:13:14.399><c> it's</c><00:13:15.060><c> very</c><00:13:15.300><c> it</c><00:13:15.600><c> will</c><00:13:16.079><c> take</c>

00:13:16.370 --> 00:13:16.380 align:start position:0%
explosion and it's very it will take
 

00:13:16.380 --> 00:13:18.650 align:start position:0%
explosion and it's very it will take
it's<00:13:16.740><c> very</c><00:13:16.980><c> hard</c><00:13:17.279><c> for</c><00:13:17.820><c> model</c><00:13:18.000><c> Checker</c><00:13:18.480><c> to</c>

00:13:18.650 --> 00:13:18.660 align:start position:0%
it's very hard for model Checker to
 

00:13:18.660 --> 00:13:19.550 align:start position:0%
it's very hard for model Checker to
really

00:13:19.550 --> 00:13:19.560 align:start position:0%
really
 

00:13:19.560 --> 00:13:21.110 align:start position:0%
really
being<00:13:20.040><c> able</c><00:13:20.279><c> to</c><00:13:20.459><c> check</c><00:13:20.579><c> a</c><00:13:20.820><c> property</c>

00:13:21.110 --> 00:13:21.120 align:start position:0%
being able to check a property
 

00:13:21.120 --> 00:13:22.670 align:start position:0%
being able to check a property
considering<00:13:21.600><c> Byzantine</c><00:13:22.139><c> Behavior</c><00:13:22.560><c> because</c>

00:13:22.670 --> 00:13:22.680 align:start position:0%
considering Byzantine Behavior because
 

00:13:22.680 --> 00:13:25.250 align:start position:0%
considering Byzantine Behavior because
it<00:13:22.860><c> will</c><00:13:22.980><c> take</c><00:13:23.220><c> a</c><00:13:23.579><c> lot</c><00:13:23.700><c> of</c><00:13:23.820><c> time</c><00:13:24.000><c> and</c><00:13:24.360><c> with</c>

00:13:25.250 --> 00:13:25.260 align:start position:0%
it will take a lot of time and with
 

00:13:25.260 --> 00:13:27.110 align:start position:0%
it will take a lot of time and with
formal<00:13:25.860><c> verification</c><00:13:26.279><c> takes</c><00:13:26.639><c> a</c><00:13:26.760><c> lot</c><00:13:26.880><c> of</c><00:13:26.940><c> time</c>

00:13:27.110 --> 00:13:27.120 align:start position:0%
formal verification takes a lot of time
 

00:13:27.120 --> 00:13:28.610 align:start position:0%
formal verification takes a lot of time
to<00:13:27.300><c> put</c><00:13:27.420><c> together</c><00:13:27.540><c> the</c><00:13:27.779><c> proof</c><00:13:28.139><c> but</c><00:13:28.260><c> once</c><00:13:28.500><c> the</c>

00:13:28.610 --> 00:13:28.620 align:start position:0%
to put together the proof but once the
 

00:13:28.620 --> 00:13:30.290 align:start position:0%
to put together the proof but once the
proof<00:13:28.800><c> is</c><00:13:28.920><c> put</c><00:13:29.100><c> together</c><00:13:29.220><c> it's</c><00:13:29.820><c> quite</c><00:13:30.000><c> quick</c>

00:13:30.290 --> 00:13:30.300 align:start position:0%
proof is put together it's quite quick
 

00:13:30.300 --> 00:13:33.590 align:start position:0%
proof is put together it's quite quick
to<00:13:30.779><c> be</c><00:13:30.959><c> run</c><00:13:31.320><c> through</c>

00:13:33.590 --> 00:13:33.600 align:start position:0%
 
 

00:13:33.600 --> 00:13:35.990 align:start position:0%
 
now<00:13:34.079><c> looking</c><00:13:34.320><c> I</c><00:13:34.620><c> want</c><00:13:34.800><c> to</c><00:13:34.980><c> show</c><00:13:35.279><c> a</c><00:13:35.459><c> bit</c><00:13:35.579><c> code</c>

00:13:35.990 --> 00:13:36.000 align:start position:0%
now looking I want to show a bit code
 

00:13:36.000 --> 00:13:37.970 align:start position:0%
now looking I want to show a bit code
again<00:13:36.300><c> how</c><00:13:37.200><c> actually</c><00:13:37.380><c> the</c><00:13:37.620><c> formal</c>

00:13:37.970 --> 00:13:37.980 align:start position:0%
again how actually the formal
 

00:13:37.980 --> 00:13:41.269 align:start position:0%
again how actually the formal
specification<00:13:38.519><c> is</c><00:13:39.019><c> Brittany</c><00:13:40.019><c> Daphne</c>

00:13:41.269 --> 00:13:41.279 align:start position:0%
specification is Brittany Daphne
 

00:13:41.279 --> 00:13:45.050 align:start position:0%
specification is Brittany Daphne
um<00:13:41.339><c> let's</c><00:13:41.820><c> let's</c><00:13:42.120><c> focus</c><00:13:42.660><c> on</c><00:13:42.899><c> the</c><00:13:43.139><c> top</c><00:13:43.920><c> top</c><00:13:44.399><c> of</c>

00:13:45.050 --> 00:13:45.060 align:start position:0%
um let's let's focus on the top top of
 

00:13:45.060 --> 00:13:47.449 align:start position:0%
um let's let's focus on the top top of
the<00:13:45.180><c> slide</c><00:13:45.480><c> so</c><00:13:46.260><c> let's</c><00:13:46.440><c> assume</c><00:13:46.860><c> you</c><00:13:46.980><c> have</c><00:13:47.160><c> this</c>

00:13:47.449 --> 00:13:47.459 align:start position:0%
the slide so let's assume you have this
 

00:13:47.459 --> 00:13:49.970 align:start position:0%
the slide so let's assume you have this
transition<00:13:48.120><c> from</c><00:13:48.660><c> the</c><00:13:48.959><c> yellow</c><00:13:49.260><c> state</c><00:13:49.560><c> to</c><00:13:49.800><c> the</c>

00:13:49.970 --> 00:13:49.980 align:start position:0%
transition from the yellow state to the
 

00:13:49.980 --> 00:13:52.730 align:start position:0%
transition from the yellow state to the
green<00:13:50.100><c> and</c><00:13:50.459><c> purple</c><00:13:50.700><c> State</c><00:13:51.139><c> when</c><00:13:52.139><c> the</c><00:13:52.500><c> gray</c>

00:13:52.730 --> 00:13:52.740 align:start position:0%
green and purple State when the gray
 

00:13:52.740 --> 00:13:56.509 align:start position:0%
green and purple State when the gray
event<00:13:53.040><c> is</c><00:13:53.399><c> received</c><00:13:54.360><c> the</c><00:13:54.959><c> way</c><00:13:55.139><c> we</c><00:13:55.440><c> code</c><00:13:55.740><c> it</c><00:13:55.980><c> we</c>

00:13:56.509 --> 00:13:56.519 align:start position:0%
event is received the way we code it we
 

00:13:56.519 --> 00:13:58.430 align:start position:0%
event is received the way we code it we
essentially<00:13:56.880><c> have</c><00:13:57.060><c> a</c><00:13:57.240><c> function</c><00:13:57.540><c> that</c><00:13:58.019><c> takes</c><00:13:58.200><c> a</c>

00:13:58.430 --> 00:13:58.440 align:start position:0%
essentially have a function that takes a
 

00:13:58.440 --> 00:14:00.710 align:start position:0%
essentially have a function that takes a
source<00:13:58.740><c> date</c><00:13:58.920><c> an</c><00:13:59.399><c> event</c><00:13:59.579><c> and</c><00:14:00.180><c> the</c><00:14:00.360><c> destination</c>

00:14:00.710 --> 00:14:00.720 align:start position:0%
source date an event and the destination
 

00:14:00.720 --> 00:14:03.530 align:start position:0%
source date an event and the destination
State<00:14:01.079><c> and</c><00:14:01.800><c> returns</c><00:14:02.279><c> a</c><00:14:02.399><c> Boolean</c>

00:14:03.530 --> 00:14:03.540 align:start position:0%
State and returns a Boolean
 

00:14:03.540 --> 00:14:05.930 align:start position:0%
State and returns a Boolean
now<00:14:04.200><c> the</c><00:14:04.680><c> way</c><00:14:04.800><c> that</c><00:14:04.980><c> the</c><00:14:05.220><c> transition</c><00:14:05.639><c> is</c>

00:14:05.930 --> 00:14:05.940 align:start position:0%
now the way that the transition is
 

00:14:05.940 --> 00:14:08.870 align:start position:0%
now the way that the transition is
encoded<00:14:06.480><c> is</c><00:14:07.260><c> that</c><00:14:07.500><c> the</c><00:14:07.920><c> function</c><00:14:08.220><c> if</c><00:14:08.760><c> the</c>

00:14:08.870 --> 00:14:08.880 align:start position:0%
encoded is that the function if the
 

00:14:08.880 --> 00:14:12.110 align:start position:0%
encoded is that the function if the
function<00:14:09.120><c> returns</c><00:14:09.660><c> true</c><00:14:09.899><c> on</c><00:14:10.620><c> a</c><00:14:11.220><c> given</c><00:14:11.760><c> Source</c>

00:14:12.110 --> 00:14:12.120 align:start position:0%
function returns true on a given Source
 

00:14:12.120 --> 00:14:13.850 align:start position:0%
function returns true on a given Source
event<00:14:12.300><c> and</c><00:14:12.660><c> destination</c><00:14:13.019><c> state</c><00:14:13.320><c> it</c><00:14:13.680><c> means</c>

00:14:13.850 --> 00:14:13.860 align:start position:0%
event and destination state it means
 

00:14:13.860 --> 00:14:15.650 align:start position:0%
event and destination state it means
that<00:14:14.040><c> the</c><00:14:14.220><c> system</c><00:14:14.399><c> can</c><00:14:15.000><c> transition</c><00:14:15.360><c> from</c>

00:14:15.650 --> 00:14:15.660 align:start position:0%
that the system can transition from
 

00:14:15.660 --> 00:14:19.610 align:start position:0%
that the system can transition from
source<00:14:16.260><c> to</c><00:14:16.440><c> destination</c><00:14:17.000><c> given</c><00:14:18.000><c> the</c><00:14:18.240><c> event</c><00:14:18.899><c> if</c>

00:14:19.610 --> 00:14:19.620 align:start position:0%
source to destination given the event if
 

00:14:19.620 --> 00:14:21.230 align:start position:0%
source to destination given the event if
it<00:14:19.740><c> returns</c><00:14:20.100><c> Force</c><00:14:20.459><c> there</c><00:14:20.700><c> is</c><00:14:20.880><c> no</c><00:14:21.060><c> such</c>

00:14:21.230 --> 00:14:21.240 align:start position:0%
it returns Force there is no such
 

00:14:21.240 --> 00:14:22.910 align:start position:0%
it returns Force there is no such
transition<00:14:21.720><c> so</c><00:14:21.959><c> in</c><00:14:22.139><c> this</c><00:14:22.320><c> example</c><00:14:22.620><c> for</c>

00:14:22.910 --> 00:14:22.920 align:start position:0%
transition so in this example for
 

00:14:22.920 --> 00:14:27.650 align:start position:0%
transition so in this example for
example<00:14:23.240><c> is</c><00:14:24.240><c> true</c><00:14:24.480><c> for</c><00:14:24.720><c> a</c><00:14:25.500><c> yellow</c><00:14:25.920><c> gray</c><00:14:26.660><c> green</c>

00:14:27.650 --> 00:14:27.660 align:start position:0%
example is true for a yellow gray green
 

00:14:27.660 --> 00:14:30.590 align:start position:0%
example is true for a yellow gray green
and<00:14:28.380><c> purple</c><00:14:28.620><c> but</c><00:14:29.220><c> not</c><00:14:29.459><c> false</c><00:14:29.940><c> for</c><00:14:30.180><c> any</c><00:14:30.360><c> other</c>

00:14:30.590 --> 00:14:30.600 align:start position:0%
and purple but not false for any other
 

00:14:30.600 --> 00:14:32.150 align:start position:0%
and purple but not false for any other
combination

00:14:32.150 --> 00:14:32.160 align:start position:0%
combination
 

00:14:32.160 --> 00:14:34.069 align:start position:0%
combination
and<00:14:32.700><c> this</c><00:14:32.880><c> is</c><00:14:32.940><c> you</c><00:14:33.180><c> can</c><00:14:33.300><c> see</c><00:14:33.420><c> at</c><00:14:33.600><c> the</c><00:14:33.720><c> bottom</c><00:14:33.899><c> is</c>

00:14:34.069 --> 00:14:34.079 align:start position:0%
and this is you can see at the bottom is
 

00:14:34.079 --> 00:14:36.530 align:start position:0%
and this is you can see at the bottom is
coded<00:14:34.500><c> in</c><00:14:34.700><c> this</c><00:14:35.700><c> is</c><00:14:35.760><c> how</c><00:14:35.880><c> it's</c><00:14:36.060><c> coded</c><00:14:36.420><c> in</c>

00:14:36.530 --> 00:14:36.540 align:start position:0%
coded in this is how it's coded in
 

00:14:36.540 --> 00:14:38.269 align:start position:0%
coded in this is how it's coded in
definitely<00:14:37.079><c> now</c><00:14:37.260><c> this</c><00:14:37.560><c> is</c><00:14:37.620><c> essentially</c><00:14:38.160><c> a</c>

00:14:38.269 --> 00:14:38.279 align:start position:0%
definitely now this is essentially a
 

00:14:38.279 --> 00:14:40.370 align:start position:0%
definitely now this is essentially a
simplification<00:14:39.000><c> of</c><00:14:39.240><c> this</c>

00:14:40.370 --> 00:14:40.380 align:start position:0%
simplification of this
 

00:14:40.380 --> 00:14:43.850 align:start position:0%
simplification of this
um but<00:14:41.040><c> it's</c><00:14:41.940><c> it's</c><00:14:42.180><c> a</c><00:14:42.779><c> um</c><00:14:42.779><c> this</c><00:14:43.199><c> is</c><00:14:43.320><c> expressed</c>

00:14:43.850 --> 00:14:43.860 align:start position:0%
um but it's it's a um this is expressed
 

00:14:43.860 --> 00:14:46.310 align:start position:0%
um but it's it's a um this is expressed
using<00:14:44.699><c> first</c><00:14:44.880><c> order</c><00:14:45.120><c> logic</c><00:14:45.600><c> you</c><00:14:45.779><c> know</c><00:14:45.899><c> this</c><00:14:46.199><c> is</c>

00:14:46.310 --> 00:14:46.320 align:start position:0%
using first order logic you know this is
 

00:14:46.320 --> 00:14:49.189 align:start position:0%
using first order logic you know this is
something<00:14:46.820><c> we</c><00:14:47.820><c> don't</c><00:14:47.940><c> see</c><00:14:48.120><c> often</c><00:14:48.420><c> in</c><00:14:48.779><c> standard</c>

00:14:49.189 --> 00:14:49.199 align:start position:0%
something we don't see often in standard
 

00:14:49.199 --> 00:14:51.590 align:start position:0%
something we don't see often in standard
uh<00:14:49.560><c> programming</c><00:14:50.100><c> languages</c><00:14:50.399><c> but</c>

00:14:51.590 --> 00:14:51.600 align:start position:0%
uh programming languages but
 

00:14:51.600 --> 00:14:54.250 align:start position:0%
uh programming languages but
it's not<00:14:52.139><c> much</c><00:14:52.560><c> of</c><00:14:52.800><c> a</c><00:14:52.920><c> stretch</c><00:14:53.279><c> to</c><00:14:53.399><c> say</c>

00:14:54.250 --> 00:14:54.260 align:start position:0%
it's not much of a stretch to say
 

00:14:54.260 --> 00:14:56.509 align:start position:0%
it's not much of a stretch to say
what<00:14:55.260><c> you</c><00:14:55.380><c> can</c><00:14:55.500><c> see</c><00:14:55.680><c> here</c>

00:14:56.509 --> 00:14:56.519 align:start position:0%
what you can see here
 

00:14:56.519 --> 00:14:59.870 align:start position:0%
what you can see here
this<00:14:57.120><c> is</c><00:14:57.300><c> essentially</c><00:14:57.660><c> an</c><00:14:58.440><c> end</c><00:14:58.680><c> of</c><00:14:59.399><c> different</c>

00:14:59.870 --> 00:14:59.880 align:start position:0%
this is essentially an end of different
 

00:14:59.880 --> 00:15:02.569 align:start position:0%
this is essentially an end of different
state<00:15:00.240><c> transition</c><00:15:00.720><c> and</c><00:15:01.079><c> here</c><00:15:01.800><c> we</c><00:15:02.040><c> have</c><00:15:02.220><c> the</c>

00:15:02.569 --> 00:15:02.579 align:start position:0%
state transition and here we have the
 

00:15:02.579 --> 00:15:05.930 align:start position:0%
state transition and here we have the
state<00:15:03.480><c> transition</c><00:15:03.899><c> for</c><00:15:04.260><c> the</c><00:15:04.500><c> honest</c><00:15:04.920><c> node</c><00:15:05.220><c> and</c>

00:15:05.930 --> 00:15:05.940 align:start position:0%
state transition for the honest node and
 

00:15:05.940 --> 00:15:08.090 align:start position:0%
state transition for the honest node and
you<00:15:06.120><c> can</c><00:15:06.240><c> see</c><00:15:06.360><c> here</c><00:15:06.660><c> we</c><00:15:07.019><c> say</c><00:15:07.320><c> basically</c><00:15:07.740><c> this</c>

00:15:08.090 --> 00:15:08.100 align:start position:0%
you can see here we say basically this
 

00:15:08.100 --> 00:15:10.069 align:start position:0%
you can see here we say basically this
much<00:15:08.279><c> true</c><00:15:08.519><c> for</c><00:15:08.760><c> hollowness</c><00:15:09.300><c> nodes</c><00:15:09.600><c> that's</c>

00:15:10.069 --> 00:15:10.079 align:start position:0%
much true for hollowness nodes that's
 

00:15:10.079 --> 00:15:11.569 align:start position:0%
much true for hollowness nodes that's
what<00:15:10.260><c> the</c><00:15:10.380><c> photo</c><00:15:10.620><c> does</c>

00:15:11.569 --> 00:15:11.579 align:start position:0%
what the photo does
 

00:15:11.579 --> 00:15:14.329 align:start position:0%
what the photo does
and<00:15:12.060><c> then</c><00:15:12.240><c> we</c><00:15:12.360><c> put</c><00:15:12.600><c> this</c><00:15:12.779><c> in</c><00:15:13.019><c> a</c><00:15:13.139><c> coin</c><00:15:13.500><c> end</c><00:15:13.740><c> with</c>

00:15:14.329 --> 00:15:14.339 align:start position:0%
and then we put this in a coin end with
 

00:15:14.339 --> 00:15:15.590 align:start position:0%
and then we put this in a coin end with
the<00:15:14.399><c> state</c><00:15:14.639><c> transition</c><00:15:15.060><c> for</c><00:15:15.360><c> Network</c>

00:15:15.590 --> 00:15:15.600 align:start position:0%
the state transition for Network
 

00:15:15.600 --> 00:15:18.290 align:start position:0%
the state transition for Network
adversary<00:15:16.560><c> and</c><00:15:17.040><c> consensus</c>

00:15:18.290 --> 00:15:18.300 align:start position:0%
adversary and consensus
 

00:15:18.300 --> 00:15:20.990 align:start position:0%
adversary and consensus
you<00:15:18.660><c> know</c><00:15:18.779><c> what</c><00:15:18.959><c> you</c><00:15:19.199><c> can</c><00:15:19.320><c> see</c><00:15:19.500><c> here</c><00:15:19.920><c> is</c><00:15:20.760><c> this</c>

00:15:20.990 --> 00:15:21.000 align:start position:0%
you know what you can see here is this
 

00:15:21.000 --> 00:15:23.569 align:start position:0%
you know what you can see here is this
exists<00:15:21.660><c> is</c><00:15:22.260><c> what</c><00:15:22.500><c> gives</c><00:15:23.220><c> us</c><00:15:23.339><c> the</c>

00:15:23.569 --> 00:15:23.579 align:start position:0%
exists is what gives us the
 

00:15:23.579 --> 00:15:25.550 align:start position:0%
exists is what gives us the
non-determinism<00:15:24.300><c> because</c><00:15:24.540><c> we're</c><00:15:24.779><c> saying</c>

00:15:25.550 --> 00:15:25.560 align:start position:0%
non-determinism because we're saying
 

00:15:25.560 --> 00:15:28.069 align:start position:0%
non-determinism because we're saying
this<00:15:25.920><c> function</c><00:15:26.279><c> returns</c><00:15:27.060><c> true</c><00:15:27.240><c> as</c><00:15:27.660><c> long</c><00:15:27.899><c> as</c>

00:15:28.069 --> 00:15:28.079 align:start position:0%
this function returns true as long as
 

00:15:28.079 --> 00:15:31.129 align:start position:0%
this function returns true as long as
there<00:15:28.980><c> exists</c><00:15:29.399><c> a</c><00:15:29.760><c> set</c><00:15:30.180><c> of</c><00:15:30.360><c> messages</c><00:15:30.540><c> received</c>

00:15:31.129 --> 00:15:31.139 align:start position:0%
there exists a set of messages received
 

00:15:31.139 --> 00:15:33.590 align:start position:0%
there exists a set of messages received
messages<00:15:31.500><c> sent</c><00:15:31.980><c> and</c><00:15:32.459><c> decided</c><00:15:32.880><c> value</c><00:15:33.120><c> says</c>

00:15:33.590 --> 00:15:33.600 align:start position:0%
messages sent and decided value says
 

00:15:33.600 --> 00:15:36.170 align:start position:0%
messages sent and decided value says
that<00:15:33.779><c> they</c><00:15:34.560><c> satisfy</c><00:15:35.220><c> all</c><00:15:35.760><c> the</c><00:15:35.880><c> various</c>

00:15:36.170 --> 00:15:36.180 align:start position:0%
that they satisfy all the various
 

00:15:36.180 --> 00:15:38.569 align:start position:0%
that they satisfy all the various
constraints<00:15:36.779><c> and</c><00:15:37.260><c> the</c><00:15:37.800><c> end</c><00:15:37.920><c> expression</c><00:15:38.399><c> at</c>

00:15:38.569 --> 00:15:38.579 align:start position:0%
constraints and the end expression at
 

00:15:38.579 --> 00:15:41.329 align:start position:0%
constraints and the end expression at
the<00:15:38.699><c> bottom</c>

00:15:41.329 --> 00:15:41.339 align:start position:0%
 
 

00:15:41.339 --> 00:15:43.430 align:start position:0%
 
now<00:15:41.760><c> before</c><00:15:42.180><c> going</c><00:15:42.660><c> into</c><00:15:42.839><c> what</c><00:15:43.079><c> we</c><00:15:43.260><c> actually</c>

00:15:43.430 --> 00:15:43.440 align:start position:0%
now before going into what we actually
 

00:15:43.440 --> 00:15:45.170 align:start position:0%
now before going into what we actually
achieved<00:15:43.920><c> I</c><00:15:44.220><c> need</c><00:15:44.459><c> to</c><00:15:44.579><c> make</c><00:15:44.699><c> sort</c><00:15:45.000><c> of</c>

00:15:45.170 --> 00:15:45.180 align:start position:0%
achieved I need to make sort of
 

00:15:45.180 --> 00:15:46.970 align:start position:0%
achieved I need to make sort of
disclosure<00:15:45.720><c> uh</c>

00:15:46.970 --> 00:15:46.980 align:start position:0%
disclosure uh
 

00:15:46.980 --> 00:15:50.150 align:start position:0%
disclosure uh
that<00:15:47.519><c> are</c><00:15:47.699><c> part</c><00:15:47.940><c> of</c><00:15:48.120><c> this</c><00:15:48.720><c> say</c><00:15:49.199><c> system</c><00:15:49.620><c> that</c>

00:15:50.150 --> 00:15:50.160 align:start position:0%
that are part of this say system that
 

00:15:50.160 --> 00:15:52.790 align:start position:0%
that are part of this say system that
needs<00:15:50.399><c> to</c><00:15:50.459><c> be</c><00:15:50.579><c> trusted</c><00:15:51.420><c> so</c><00:15:51.839><c> these</c><00:15:52.199><c> are</c><00:15:52.320><c> the</c>

00:15:52.790 --> 00:15:52.800 align:start position:0%
needs to be trusted so these are the
 

00:15:52.800 --> 00:15:56.030 align:start position:0%
needs to be trusted so these are the
parts<00:15:52.920><c> that</c><00:15:53.220><c> need</c><00:15:53.339><c> to</c><00:15:53.459><c> be</c><00:15:53.519><c> trusted</c><00:15:54.360><c> and</c><00:15:55.500><c> um</c><00:15:55.500><c> and</c>

00:15:56.030 --> 00:15:56.040 align:start position:0%
parts that need to be trusted and um and
 

00:15:56.040 --> 00:15:57.710 align:start position:0%
parts that need to be trusted and um and
these<00:15:56.160><c> are</c><00:15:56.279><c> the</c><00:15:56.399><c> parts</c><00:15:56.579><c> that</c><00:15:56.880><c> actually</c><00:15:57.060><c> we</c>

00:15:57.710 --> 00:15:57.720 align:start position:0%
these are the parts that actually we
 

00:15:57.720 --> 00:15:59.689 align:start position:0%
these are the parts that actually we
don't<00:15:57.839><c> trust</c><00:15:58.079><c> now</c><00:15:58.380><c> if</c><00:15:58.980><c> you</c><00:15:59.040><c> look</c><00:15:59.160><c> at</c><00:15:59.279><c> this</c><00:15:59.399><c> it</c>

00:15:59.689 --> 00:15:59.699 align:start position:0%
don't trust now if you look at this it
 

00:15:59.699 --> 00:16:02.030 align:start position:0%
don't trust now if you look at this it
seems<00:16:00.000><c> the</c><00:16:00.180><c> area</c><00:16:00.360><c> it's</c><00:16:01.019><c> quite</c><00:16:01.199><c> of</c><00:16:01.440><c> the</c><00:16:01.560><c> trusted</c>

00:16:02.030 --> 00:16:02.040 align:start position:0%
seems the area it's quite of the trusted
 

00:16:02.040 --> 00:16:04.670 align:start position:0%
seems the area it's quite of the trusted
and<00:16:02.220><c> non-trusted</c><00:16:02.880><c> but</c><00:16:03.180><c> you</c><00:16:03.899><c> know</c><00:16:03.959><c> the</c><00:16:04.380><c> error</c>

00:16:04.670 --> 00:16:04.680 align:start position:0%
and non-trusted but you know the error
 

00:16:04.680 --> 00:16:06.290 align:start position:0%
and non-trusted but you know the error
doesn't<00:16:04.800><c> really</c><00:16:05.040><c> represent</c><00:16:05.459><c> the</c><00:16:05.699><c> value</c><00:16:06.060><c> of</c>

00:16:06.290 --> 00:16:06.300 align:start position:0%
doesn't really represent the value of
 

00:16:06.300 --> 00:16:08.689 align:start position:0%
doesn't really represent the value of
complexity<00:16:06.779><c> also</c><00:16:07.500><c> it's</c><00:16:08.040><c> not</c><00:16:08.220><c> really</c><00:16:08.399><c> a</c>

00:16:08.689 --> 00:16:08.699 align:start position:0%
complexity also it's not really a
 

00:16:08.699 --> 00:16:11.389 align:start position:0%
complexity also it's not really a
problem<00:16:08.820><c> of</c><00:16:09.240><c> formal</c><00:16:10.019><c> verification</c><00:16:10.560><c> it's</c><00:16:10.920><c> a</c>

00:16:11.389 --> 00:16:11.399 align:start position:0%
problem of formal verification it's a
 

00:16:11.399 --> 00:16:14.150 align:start position:0%
problem of formal verification it's a
sort<00:16:11.519><c> of</c><00:16:11.639><c> existential</c><00:16:12.420><c> problem</c><00:16:12.660><c> you</c>

00:16:14.150 --> 00:16:14.160 align:start position:0%
sort of existential problem you
 

00:16:14.160 --> 00:16:16.850 align:start position:0%
sort of existential problem you
you<00:16:14.760><c> need</c><00:16:14.940><c> to</c><00:16:15.060><c> assume</c><00:16:15.540><c> how</c><00:16:16.079><c> the</c><00:16:16.380><c> adversary</c>

00:16:16.850 --> 00:16:16.860 align:start position:0%
you need to assume how the adversary
 

00:16:16.860 --> 00:16:18.829 align:start position:0%
you need to assume how the adversary
will<00:16:17.160><c> behave</c><00:16:17.459><c> in</c><00:16:17.639><c> your</c><00:16:17.820><c> system</c><00:16:18.060><c> even</c><00:16:18.540><c> if</c><00:16:18.720><c> you</c>

00:16:18.829 --> 00:16:18.839 align:start position:0%
will behave in your system even if you
 

00:16:18.839 --> 00:16:20.689 align:start position:0%
will behave in your system even if you
just<00:16:18.959><c> buy</c><00:16:19.139><c> software</c><00:16:19.560><c> you</c><00:16:19.800><c> do</c><00:16:19.920><c> you</c><00:16:20.100><c> write</c><00:16:20.279><c> tests</c>

00:16:20.689 --> 00:16:20.699 align:start position:0%
just buy software you do you write tests
 

00:16:20.699 --> 00:16:22.610 align:start position:0%
just buy software you do you write tests
whatever<00:16:20.880><c> you</c><00:16:21.180><c> do</c><00:16:21.300><c> you</c><00:16:21.779><c> need</c><00:16:21.959><c> to</c><00:16:22.019><c> assume</c><00:16:22.320><c> that</c>

00:16:22.610 --> 00:16:22.620 align:start position:0%
whatever you do you need to assume that
 

00:16:22.620 --> 00:16:25.250 align:start position:0%
whatever you do you need to assume that
you<00:16:22.920><c> have</c><00:16:23.220><c> a</c><00:16:23.459><c> consensus</c><00:16:24.420><c> that</c><00:16:24.720><c> or</c><00:16:24.839><c> a</c><00:16:25.079><c> library</c>

00:16:25.250 --> 00:16:25.260 align:start position:0%
you have a consensus that or a library
 

00:16:25.260 --> 00:16:26.870 align:start position:0%
you have a consensus that or a library
that<00:16:25.620><c> works</c><00:16:25.920><c> correctly</c><00:16:26.279><c> you</c><00:16:26.459><c> have</c><00:16:26.639><c> a</c><00:16:26.760><c> network</c>

00:16:26.870 --> 00:16:26.880 align:start position:0%
that works correctly you have a network
 

00:16:26.880 --> 00:16:29.930 align:start position:0%
that works correctly you have a network
you<00:16:27.180><c> assume</c><00:16:27.480><c> how</c><00:16:27.540><c> the</c><00:16:27.720><c> network</c><00:16:27.899><c> will</c><00:16:28.560><c> behave</c>

00:16:29.930 --> 00:16:29.940 align:start position:0%
you assume how the network will behave
 

00:16:29.940 --> 00:16:31.910 align:start position:0%
you assume how the network will behave
um<00:16:30.000><c> saying</c><00:16:30.720><c> things</c><00:16:30.839><c> for</c><00:16:31.019><c> properties</c><00:16:31.500><c> you</c>

00:16:31.910 --> 00:16:31.920 align:start position:0%
um saying things for properties you
 

00:16:31.920 --> 00:16:33.769 align:start position:0%
um saying things for properties you
assume<00:16:32.339><c> that</c><00:16:32.519><c> you</c><00:16:33.000><c> have</c><00:16:33.120><c> a</c><00:16:33.240><c> set</c><00:16:33.300><c> of</c><00:16:33.420><c> properties</c>

00:16:33.769 --> 00:16:33.779 align:start position:0%
assume that you have a set of properties
 

00:16:33.779 --> 00:16:35.629 align:start position:0%
assume that you have a set of properties
that<00:16:34.019><c> are</c><00:16:34.199><c> those</c><00:16:34.380><c> that</c><00:16:34.740><c> you</c><00:16:34.920><c> are</c><00:16:35.399><c> really</c>

00:16:35.629 --> 00:16:35.639 align:start position:0%
that are those that you are really
 

00:16:35.639 --> 00:16:36.889 align:start position:0%
that are those that you are really
interested<00:16:36.060><c> into</c>

00:16:36.889 --> 00:16:36.899 align:start position:0%
interested into
 

00:16:36.899 --> 00:16:38.509 align:start position:0%
interested into
so

00:16:38.509 --> 00:16:38.519 align:start position:0%
so
 

00:16:38.519 --> 00:16:42.050 align:start position:0%
so
this<00:16:39.300><c> it's</c><00:16:39.720><c> it's</c><00:16:39.720><c> just</c><00:16:40.259><c> something</c><00:16:40.620><c> that</c><00:16:40.980><c> yes</c><00:16:41.639><c> a</c>

00:16:42.050 --> 00:16:42.060 align:start position:0%
this it's it's just something that yes a
 

00:16:42.060 --> 00:16:44.210 align:start position:0%
this it's it's just something that yes a
formal<00:16:42.660><c> verification</c><00:16:43.139><c> doesn't</c><00:16:43.620><c> doesn't</c>

00:16:44.210 --> 00:16:44.220 align:start position:0%
formal verification doesn't doesn't
 

00:16:44.220 --> 00:16:46.550 align:start position:0%
formal verification doesn't doesn't
solve<00:16:44.699><c> but</c><00:16:44.820><c> it</c><00:16:45.000><c> solves</c><00:16:45.360><c> a</c><00:16:45.600><c> good</c><00:16:46.079><c> chunk</c><00:16:46.320><c> of</c>

00:16:46.550 --> 00:16:46.560 align:start position:0%
solve but it solves a good chunk of
 

00:16:46.560 --> 00:16:49.430 align:start position:0%
solve but it solves a good chunk of
problems<00:16:47.100><c> in</c><00:16:47.339><c> ensuring</c><00:16:48.120><c> that</c><00:16:48.300><c> well</c><00:16:48.540><c> your</c>

00:16:49.430 --> 00:16:49.440 align:start position:0%
problems in ensuring that well your
 

00:16:49.440 --> 00:16:51.769 align:start position:0%
problems in ensuring that well your
single<00:16:49.860><c> node</c><00:16:50.100><c> as</c><00:16:50.519><c> it</c><00:16:50.699><c> is</c><00:16:50.820><c> specified</c><00:16:51.180><c> will</c><00:16:51.540><c> does</c>

00:16:51.769 --> 00:16:51.779 align:start position:0%
single node as it is specified will does
 

00:16:51.779 --> 00:16:53.870 align:start position:0%
single node as it is specified will does
we<00:16:52.079><c> guarantee</c><00:16:52.440><c> those</c><00:16:52.740><c> properties</c>

00:16:53.870 --> 00:16:53.880 align:start position:0%
we guarantee those properties
 

00:16:53.880 --> 00:16:57.590 align:start position:0%
we guarantee those properties
also<00:16:54.540><c> there</c><00:16:55.259><c> are</c><00:16:55.380><c> things</c><00:16:55.620><c> one</c><00:16:56.279><c> can</c><00:16:56.519><c> do</c><00:16:56.699><c> to</c>

00:16:57.590 --> 00:16:57.600 align:start position:0%
also there are things one can do to
 

00:16:57.600 --> 00:16:59.749 align:start position:0%
also there are things one can do to
increase<00:16:58.079><c> the</c><00:16:58.380><c> chances</c><00:16:58.740><c> that</c><00:16:59.100><c> the</c><00:16:59.279><c> trusted</c>

00:16:59.749 --> 00:16:59.759 align:start position:0%
increase the chances that the trusted
 

00:16:59.759 --> 00:17:01.310 align:start position:0%
increase the chances that the trusted
path<00:17:00.000><c> is</c><00:17:00.300><c> correct</c>

00:17:01.310 --> 00:17:01.320 align:start position:0%
path is correct
 

00:17:01.320 --> 00:17:04.429 align:start position:0%
path is correct
one<00:17:01.740><c> is</c><00:17:01.920><c> to</c><00:17:02.100><c> keep</c><00:17:02.399><c> the</c><00:17:02.880><c> trusted</c><00:17:03.600><c> specification</c>

00:17:04.429 --> 00:17:04.439 align:start position:0%
one is to keep the trusted specification
 

00:17:04.439 --> 00:17:06.289 align:start position:0%
one is to keep the trusted specification
as<00:17:04.860><c> simple</c><00:17:05.100><c> as</c><00:17:05.339><c> possible</c>

00:17:06.289 --> 00:17:06.299 align:start position:0%
as simple as possible
 

00:17:06.299 --> 00:17:08.630 align:start position:0%
as simple as possible
one<00:17:06.839><c> is</c><00:17:07.020><c> to</c><00:17:07.199><c> have</c><00:17:07.439><c> a</c><00:17:07.620><c> peer</c><00:17:07.919><c> review</c>

00:17:08.630 --> 00:17:08.640 align:start position:0%
one is to have a peer review
 

00:17:08.640 --> 00:17:12.890 align:start position:0%
one is to have a peer review
uh<00:17:09.480><c> also</c><00:17:10.020><c> for</c><00:17:10.860><c> the</c><00:17:11.160><c> tool</c><00:17:11.939><c> it's</c><00:17:12.299><c> important</c><00:17:12.660><c> to</c>

00:17:12.890 --> 00:17:12.900 align:start position:0%
uh also for the tool it's important to
 

00:17:12.900 --> 00:17:15.049 align:start position:0%
uh also for the tool it's important to
use<00:17:13.079><c> formal</c><00:17:13.679><c> verification</c><00:17:14.100><c> tools</c><00:17:14.699><c> that</c><00:17:14.819><c> have</c>

00:17:15.049 --> 00:17:15.059 align:start position:0%
use formal verification tools that have
 

00:17:15.059 --> 00:17:17.870 align:start position:0%
use formal verification tools that have
good<00:17:15.540><c> support</c><00:17:15.780><c> we</c><00:17:16.500><c> use</c><00:17:16.740><c> Daphne</c><00:17:17.100><c> Daphne</c><00:17:17.760><c> is</c>

00:17:17.870 --> 00:17:17.880 align:start position:0%
good support we use Daphne Daphne is
 

00:17:17.880 --> 00:17:22.189 align:start position:0%
good support we use Daphne Daphne is
very<00:17:18.120><c> active</c><00:17:18.660><c> bugs</c><00:17:19.620><c> get</c><00:17:20.160><c> fixed</c><00:17:20.579><c> very</c><00:17:20.819><c> quickly</c>

00:17:22.189 --> 00:17:22.199 align:start position:0%
very active bugs get fixed very quickly
 

00:17:22.199 --> 00:17:23.449 align:start position:0%
very active bugs get fixed very quickly
also

00:17:23.449 --> 00:17:23.459 align:start position:0%
also
 

00:17:23.459 --> 00:17:24.710 align:start position:0%
also
uh

00:17:24.710 --> 00:17:24.720 align:start position:0%
uh
 

00:17:24.720 --> 00:17:26.990 align:start position:0%
uh
in<00:17:25.500><c> distribute</c><00:17:25.980><c> the</c><00:17:26.100><c> system</c><00:17:26.220><c> usually</c><00:17:26.699><c> you</c>

00:17:26.990 --> 00:17:27.000 align:start position:0%
in distribute the system usually you
 

00:17:27.000 --> 00:17:29.090 align:start position:0%
in distribute the system usually you
have<00:17:27.120><c> two</c><00:17:27.299><c> types</c><00:17:27.660><c> of</c><00:17:27.720><c> properties</c><00:17:28.140><c> safety</c>

00:17:29.090 --> 00:17:29.100 align:start position:0%
have two types of properties safety
 

00:17:29.100 --> 00:17:31.610 align:start position:0%
have two types of properties safety
properties<00:17:29.460><c> which</c><00:17:30.000><c> say</c><00:17:30.299><c> something</c><00:17:31.020><c> bad</c><00:17:31.320><c> will</c>

00:17:31.610 --> 00:17:31.620 align:start position:0%
properties which say something bad will
 

00:17:31.620 --> 00:17:34.250 align:start position:0%
properties which say something bad will
never<00:17:31.799><c> happen</c><00:17:32.040><c> and</c><00:17:33.000><c> you</c><00:17:33.600><c> have</c><00:17:33.720><c> liveness</c>

00:17:34.250 --> 00:17:34.260 align:start position:0%
never happen and you have liveness
 

00:17:34.260 --> 00:17:36.110 align:start position:0%
never happen and you have liveness
property<00:17:34.620><c> where</c><00:17:34.919><c> they</c><00:17:35.100><c> say</c><00:17:35.280><c> something</c><00:17:35.820><c> good</c>

00:17:36.110 --> 00:17:36.120 align:start position:0%
property where they say something good
 

00:17:36.120 --> 00:17:38.570 align:start position:0%
property where they say something good
will<00:17:36.419><c> eventually</c><00:17:36.720><c> happen</c><00:17:37.020><c> now</c><00:17:37.799><c> being</c><00:17:38.100><c> if</c><00:17:38.520><c> you</c>

00:17:38.570 --> 00:17:38.580 align:start position:0%
will eventually happen now being if you
 

00:17:38.580 --> 00:17:40.610 align:start position:0%
will eventually happen now being if you
formally<00:17:38.880><c> prove</c><00:17:39.240><c> that</c><00:17:39.419><c> a</c><00:17:39.720><c> specification</c>

00:17:40.610 --> 00:17:40.620 align:start position:0%
formally prove that a specification
 

00:17:40.620 --> 00:17:42.650 align:start position:0%
formally prove that a specification
guarantees<00:17:41.460><c> both</c><00:17:41.580><c> it's</c><00:17:41.880><c> very</c>

00:17:42.650 --> 00:17:42.660 align:start position:0%
guarantees both it's very
 

00:17:42.660 --> 00:17:44.690 align:start position:0%
guarantees both it's very
it<00:17:43.320><c> it</c><00:17:43.500><c> really</c><00:17:43.679><c> increases</c><00:17:44.100><c> the</c><00:17:44.220><c> chances</c><00:17:44.520><c> that</c>

00:17:44.690 --> 00:17:44.700 align:start position:0%
it it really increases the chances that
 

00:17:44.700 --> 00:17:46.310 align:start position:0%
it it really increases the chances that
the<00:17:44.820><c> trusted</c><00:17:45.240><c> part</c><00:17:45.419><c> is</c><00:17:45.600><c> correct</c><00:17:45.840><c> it's</c><00:17:46.020><c> quite</c>

00:17:46.310 --> 00:17:46.320 align:start position:0%
the trusted part is correct it's quite
 

00:17:46.320 --> 00:17:48.230 align:start position:0%
the trusted part is correct it's quite
hard<00:17:46.500><c> to</c><00:17:46.679><c> put</c><00:17:46.860><c> together</c><00:17:46.980><c> a</c><00:17:47.760><c> specification</c>

00:17:48.230 --> 00:17:48.240 align:start position:0%
hard to put together a specification
 

00:17:48.240 --> 00:17:50.330 align:start position:0%
hard to put together a specification
guarantees<00:17:48.840><c> both</c><00:17:49.080><c> both</c><00:17:49.140><c> properties</c><00:17:49.799><c> it</c><00:17:50.220><c> is</c>

00:17:50.330 --> 00:17:50.340 align:start position:0%
guarantees both both properties it is
 

00:17:50.340 --> 00:17:52.190 align:start position:0%
guarantees both both properties it is
incorrect

00:17:52.190 --> 00:17:52.200 align:start position:0%
incorrect
 

00:17:52.200 --> 00:17:54.289 align:start position:0%
incorrect
so<00:17:52.559><c> now</c><00:17:52.679><c> we</c><00:17:52.799><c> can</c><00:17:52.980><c> go</c><00:17:53.100><c> over</c><00:17:53.280><c> what</c><00:17:53.940><c> you</c><00:17:54.120><c> actually</c>

00:17:54.289 --> 00:17:54.299 align:start position:0%
so now we can go over what you actually
 

00:17:54.299 --> 00:18:00.950 align:start position:0%
so now we can go over what you actually
achieved<00:17:54.900><c> so</c><00:17:55.080><c> far</c><00:17:55.320><c> and</c><00:17:55.799><c> what</c><00:17:56.280><c> is</c><00:17:56.400><c> left</c><00:17:56.580><c> to</c><00:17:56.820><c> do</c>

00:18:00.950 --> 00:18:00.960 align:start position:0%
 
 

00:18:00.960 --> 00:18:02.029 align:start position:0%
 
so

00:18:02.029 --> 00:18:02.039 align:start position:0%
so
 

00:18:02.039 --> 00:18:03.710 align:start position:0%
so
on<00:18:02.400><c> the</c><00:18:02.520><c> right</c><00:18:02.640><c> hand</c><00:18:02.880><c> side</c><00:18:03.059><c> you</c><00:18:03.360><c> have</c><00:18:03.480><c> what</c>

00:18:03.710 --> 00:18:03.720 align:start position:0%
on the right hand side you have what
 

00:18:03.720 --> 00:18:04.909 align:start position:0%
on the right hand side you have what
we've<00:18:03.840><c> been</c><00:18:03.960><c> able</c><00:18:04.140><c> to</c><00:18:04.260><c> prove</c><00:18:04.500><c> on</c><00:18:04.679><c> the</c><00:18:04.799><c> left</c>

00:18:04.909 --> 00:18:04.919 align:start position:0%
we've been able to prove on the left
 

00:18:04.919 --> 00:18:06.830 align:start position:0%
we've been able to prove on the left
hand<00:18:05.100><c> side</c><00:18:05.220><c> you</c><00:18:05.400><c> have</c><00:18:05.520><c> the</c><00:18:05.640><c> assumption</c>

00:18:06.830 --> 00:18:06.840 align:start position:0%
hand side you have the assumption
 

00:18:06.840 --> 00:18:10.029 align:start position:0%
hand side you have the assumption
to<00:18:07.140><c> have</c><00:18:07.320><c> been</c><00:18:07.380><c> able</c><00:18:07.559><c> to</c><00:18:07.679><c> prove</c><00:18:08.220><c> is</c><00:18:08.760><c> that</c>

00:18:10.029 --> 00:18:10.039 align:start position:0%
to have been able to prove is that
 

00:18:10.039 --> 00:18:13.070 align:start position:0%
to have been able to prove is that
slashable<00:18:11.039><c> attestation</c><00:18:11.640><c> signed</c><00:18:12.600><c> by</c><00:18:12.780><c> the</c>

00:18:13.070 --> 00:18:13.080 align:start position:0%
slashable attestation signed by the
 

00:18:13.080 --> 00:18:15.470 align:start position:0%
slashable attestation signed by the
distributable<00:18:14.039><c> data</c><00:18:14.460><c> signing</c><00:18:14.820><c> key</c><00:18:15.000><c> the</c><00:18:15.360><c> one</c>

00:18:15.470 --> 00:18:15.480 align:start position:0%
distributable data signing key the one
 

00:18:15.480 --> 00:18:16.970 align:start position:0%
distributable data signing key the one
that<00:18:15.660><c> is</c><00:18:15.840><c> shared</c>

00:18:16.970 --> 00:18:16.980 align:start position:0%
that is shared
 

00:18:16.980 --> 00:18:19.750 align:start position:0%
that is shared
they<00:18:17.520><c> can</c><00:18:17.700><c> never</c><00:18:17.820><c> be</c><00:18:18.059><c> created</c><00:18:18.419><c> in</c><00:18:19.140><c> other</c><00:18:19.260><c> words</c>

00:18:19.750 --> 00:18:19.760 align:start position:0%
they can never be created in other words
 

00:18:19.760 --> 00:18:22.370 align:start position:0%
they can never be created in other words
the<00:18:20.760><c> account</c><00:18:20.940><c> associated</c><00:18:21.660><c> with</c><00:18:22.140><c> the</c>

00:18:22.370 --> 00:18:22.380 align:start position:0%
the account associated with the
 

00:18:22.380 --> 00:18:24.230 align:start position:0%
the account associated with the
distributed<00:18:23.100><c> validator</c><00:18:23.460><c> signing</c><00:18:23.880><c> key</c><00:18:24.000><c> can</c>

00:18:24.230 --> 00:18:24.240 align:start position:0%
distributed validator signing key can
 

00:18:24.240 --> 00:18:26.150 align:start position:0%
distributed validator signing key can
never<00:18:24.360><c> get</c><00:18:24.600><c> slashed</c><00:18:25.020><c> because</c><00:18:25.260><c> of</c><00:18:25.500><c> attestation</c>

00:18:26.150 --> 00:18:26.160 align:start position:0%
never get slashed because of attestation
 

00:18:26.160 --> 00:18:28.130 align:start position:0%
never get slashed because of attestation
signing

00:18:28.130 --> 00:18:28.140 align:start position:0%
signing
 

00:18:28.140 --> 00:18:29.510 align:start position:0%
signing
and<00:18:28.500><c> this</c><00:18:28.620><c> is</c><00:18:28.740><c> done</c><00:18:28.919><c> under</c><00:18:29.220><c> the</c><00:18:29.460><c> the</c>

00:18:29.510 --> 00:18:29.520 align:start position:0%
and this is done under the the
 

00:18:29.520 --> 00:18:32.510 align:start position:0%
and this is done under the the
assumptions<00:18:30.120><c> you</c><00:18:30.780><c> see</c><00:18:30.960><c> on</c><00:18:31.500><c> the</c><00:18:31.740><c> left</c><00:18:32.340><c> hand</c>

00:18:32.510 --> 00:18:32.520 align:start position:0%
assumptions you see on the left hand
 

00:18:32.520 --> 00:18:33.470 align:start position:0%
assumptions you see on the left hand
side

00:18:33.470 --> 00:18:33.480 align:start position:0%
side
 

00:18:33.480 --> 00:18:36.289 align:start position:0%
side
and<00:18:33.900><c> assumption</c><00:18:34.380><c> is</c><00:18:34.559><c> as</c><00:18:34.860><c> again</c><00:18:35.039><c> we</c><00:18:35.400><c> have</c><00:18:35.580><c> any</c>

00:18:36.289 --> 00:18:36.299 align:start position:0%
and assumption is as again we have any
 

00:18:36.299 --> 00:18:39.830 align:start position:0%
and assumption is as again we have any
we<00:18:36.600><c> allow</c><00:18:36.960><c> for</c><00:18:37.140><c> any</c><00:18:37.740><c> message</c><00:18:38.580><c> delay</c><00:18:39.179><c> we</c><00:18:39.539><c> don't</c>

00:18:39.830 --> 00:18:39.840 align:start position:0%
we allow for any message delay we don't
 

00:18:39.840 --> 00:18:42.409 align:start position:0%
we allow for any message delay we don't
constrain<00:18:40.260><c> this</c><00:18:40.559><c> at</c><00:18:40.799><c> all</c><00:18:40.919><c> we</c><00:18:41.700><c> had</c><00:18:42.000><c> allow</c>

00:18:42.409 --> 00:18:42.419 align:start position:0%
constrain this at all we had allow
 

00:18:42.419 --> 00:18:44.330 align:start position:0%
constrain this at all we had allow
messages<00:18:42.840><c> to</c><00:18:43.260><c> be</c><00:18:43.380><c> lost</c>

00:18:44.330 --> 00:18:44.340 align:start position:0%
messages to be lost
 

00:18:44.340 --> 00:18:46.370 align:start position:0%
messages to be lost
we<00:18:44.940><c> also</c><00:18:45.179><c> allow</c>

00:18:46.370 --> 00:18:46.380 align:start position:0%
we also allow
 

00:18:46.380 --> 00:18:48.110 align:start position:0%
we also allow
the<00:18:46.799><c> biker</c><00:18:47.220><c> nodes</c>

00:18:48.110 --> 00:18:48.120 align:start position:0%
the biker nodes
 

00:18:48.120 --> 00:18:50.810 align:start position:0%
the biker nodes
okay<00:18:48.720><c> typical</c><00:18:49.500><c> notes</c><00:18:50.039><c> here</c><00:18:50.220><c> to</c><00:18:50.520><c> be</c><00:18:50.640><c> actually</c>

00:18:50.810 --> 00:18:50.820 align:start position:0%
okay typical notes here to be actually
 

00:18:50.820 --> 00:18:52.789 align:start position:0%
okay typical notes here to be actually
out<00:18:51.059><c> of</c><00:18:51.240><c> sync</c><00:18:51.600><c> for</c><00:18:51.840><c> this</c><00:18:52.020><c> proof</c><00:18:52.380><c> we</c><00:18:52.620><c> don't</c>

00:18:52.789 --> 00:18:52.799 align:start position:0%
out of sync for this proof we don't
 

00:18:52.799 --> 00:18:54.950 align:start position:0%
out of sync for this proof we don't
require<00:18:53.100><c> them</c><00:18:53.400><c> to</c><00:18:53.580><c> be</c><00:18:53.700><c> in</c><00:18:53.820><c> sync</c><00:18:54.179><c> they</c><00:18:54.600><c> could</c><00:18:54.840><c> be</c>

00:18:54.950 --> 00:18:54.960 align:start position:0%
require them to be in sync they could be
 

00:18:54.960 --> 00:18:57.230 align:start position:0%
require them to be in sync they could be
serving<00:18:55.440><c> completely</c><00:18:56.280><c> different</c><00:18:56.460><c> duties</c><00:18:57.000><c> and</c>

00:18:57.230 --> 00:18:57.240 align:start position:0%
serving completely different duties and
 

00:18:57.240 --> 00:18:59.510 align:start position:0%
serving completely different duties and
they<00:18:57.419><c> prove</c><00:18:57.720><c> still</c><00:18:57.960><c> old</c><00:18:58.200><c> and</c><00:18:59.100><c> then</c><00:18:59.220><c> we</c><00:18:59.400><c> have</c>

00:18:59.510 --> 00:18:59.520 align:start position:0%
they prove still old and then we have
 

00:18:59.520 --> 00:19:02.570 align:start position:0%
they prove still old and then we have
some<00:18:59.820><c> assumption</c><00:19:00.360><c> on</c><00:19:01.080><c> the</c><00:19:01.799><c> um</c><00:19:01.860><c> number</c><00:19:02.400><c> of</c>

00:19:02.570 --> 00:19:02.580 align:start position:0%
some assumption on the um number of
 

00:19:02.580 --> 00:19:05.330 align:start position:0%
some assumption on the um number of
nodes<00:19:02.820><c> that</c><00:19:03.179><c> can</c><00:19:03.360><c> that</c><00:19:03.960><c> are</c><00:19:04.320><c> either</c><00:19:04.620><c> Byzantine</c>

00:19:05.330 --> 00:19:05.340 align:start position:0%
nodes that can that are either Byzantine
 

00:19:05.340 --> 00:19:07.490 align:start position:0%
nodes that can that are either Byzantine
or<00:19:05.580><c> with</c><00:19:05.880><c> a</c><00:19:06.120><c> compromise</c><00:19:06.480><c> key</c><00:19:06.780><c> to</c><00:19:06.960><c> be</c><00:19:07.080><c> less</c><00:19:07.320><c> than</c>

00:19:07.490 --> 00:19:07.500 align:start position:0%
or with a compromise key to be less than
 

00:19:07.500 --> 00:19:09.710 align:start position:0%
or with a compromise key to be less than
one<00:19:07.740><c> thought</c><00:19:08.039><c> and</c><00:19:08.340><c> this</c><00:19:08.460><c> is</c>

00:19:09.710 --> 00:19:09.720 align:start position:0%
one thought and this is
 

00:19:09.720 --> 00:19:11.630 align:start position:0%
one thought and this is
um<00:19:09.780><c> theoretical</c><00:19:10.500><c> bound</c><00:19:10.740><c> on</c><00:19:11.039><c> consensus</c>

00:19:11.630 --> 00:19:11.640 align:start position:0%
um theoretical bound on consensus
 

00:19:11.640 --> 00:19:13.850 align:start position:0%
um theoretical bound on consensus
protocols<00:19:12.240><c> as</c><00:19:12.360><c> well</c><00:19:12.539><c> we</c><00:19:13.320><c> assume</c><00:19:13.679><c> that</c>

00:19:13.850 --> 00:19:13.860 align:start position:0%
protocols as well we assume that
 

00:19:13.860 --> 00:19:16.130 align:start position:0%
protocols as well we assume that
signatures<00:19:14.580><c> cannot</c><00:19:14.880><c> be</c><00:19:15.000><c> forged</c><00:19:15.480><c> and</c><00:19:15.840><c> they</c><00:19:15.960><c> are</c>

00:19:16.130 --> 00:19:16.140 align:start position:0%
signatures cannot be forged and they are
 

00:19:16.140 --> 00:19:18.169 align:start position:0%
signatures cannot be forged and they are
unique<00:19:16.440><c> and</c><00:19:17.039><c> also</c><00:19:17.340><c> that</c><00:19:17.520><c> you</c><00:19:17.640><c> have</c><00:19:17.820><c> a</c><00:19:18.000><c> sound</c>

00:19:18.169 --> 00:19:18.179 align:start position:0%
unique and also that you have a sound
 

00:19:18.179 --> 00:19:20.110 align:start position:0%
unique and also that you have a sound
two<00:19:18.720><c> third</c>

00:19:20.110 --> 00:19:20.120 align:start position:0%
two third
 

00:19:20.120 --> 00:19:22.430 align:start position:0%
two third
signature<00:19:21.120><c> scheme</c><00:19:21.480><c> and</c><00:19:21.660><c> then</c><00:19:21.840><c> these</c>

00:19:22.430 --> 00:19:22.440 align:start position:0%
signature scheme and then these
 

00:19:22.440 --> 00:19:23.690 align:start position:0%
signature scheme and then these
assumptions

00:19:23.690 --> 00:19:23.700 align:start position:0%
assumptions
 

00:19:23.700 --> 00:19:26.270 align:start position:0%
assumptions
we've<00:19:24.299><c> been</c><00:19:24.480><c> able</c><00:19:24.780><c> to</c><00:19:24.900><c> prove</c><00:19:25.140><c> the</c><00:19:25.320><c> property</c>

00:19:26.270 --> 00:19:26.280 align:start position:0%
we've been able to prove the property
 

00:19:26.280 --> 00:19:28.730 align:start position:0%
we've been able to prove the property
we've<00:19:26.580><c> also</c><00:19:26.880><c> been</c><00:19:27.000><c> able</c><00:19:27.179><c> to</c><00:19:27.299><c> prove</c><00:19:27.660><c> that</c>

00:19:28.730 --> 00:19:28.740 align:start position:0%
we've also been able to prove that
 

00:19:28.740 --> 00:19:30.890 align:start position:0%
we've also been able to prove that
the<00:19:29.100><c> reference</c><00:19:29.400><c> implementation</c><00:19:30.059><c> adhes</c><00:19:30.660><c> to</c>

00:19:30.890 --> 00:19:30.900 align:start position:0%
the reference implementation adhes to
 

00:19:30.900 --> 00:19:32.570 align:start position:0%
the reference implementation adhes to
the<00:19:31.140><c> specification</c>

00:19:32.570 --> 00:19:32.580 align:start position:0%
the specification
 

00:19:32.580 --> 00:19:34.850 align:start position:0%
the specification
now<00:19:33.000><c> what</c><00:19:33.240><c> this</c><00:19:33.299><c> means</c><00:19:33.600><c> is</c><00:19:33.780><c> that</c><00:19:34.020><c> it</c><00:19:34.380><c> is</c><00:19:34.440><c> that</c>

00:19:34.850 --> 00:19:34.860 align:start position:0%
now what this means is that it is that
 

00:19:34.860 --> 00:19:38.150 align:start position:0%
now what this means is that it is that
if<00:19:34.980><c> you</c><00:19:35.100><c> deploy</c><00:19:35.400><c> a</c><00:19:35.580><c> system</c><00:19:35.900><c> uh</c><00:19:36.900><c> running</c><00:19:37.620><c> the</c>

00:19:38.150 --> 00:19:38.160 align:start position:0%
if you deploy a system uh running the
 

00:19:38.160 --> 00:19:40.669 align:start position:0%
if you deploy a system uh running the
reference<00:19:38.820><c> implementation</c><00:19:39.480><c> of</c><00:19:39.780><c> the</c><00:19:40.080><c> of</c><00:19:40.380><c> the</c>

00:19:40.669 --> 00:19:40.679 align:start position:0%
reference implementation of the of the
 

00:19:40.679 --> 00:19:42.890 align:start position:0%
reference implementation of the of the
distributable<00:19:41.280><c> data</c><00:19:41.640><c> client</c><00:19:41.940><c> node</c><00:19:42.240><c> what</c><00:19:42.780><c> you</c>

00:19:42.890 --> 00:19:42.900 align:start position:0%
distributable data client node what you
 

00:19:42.900 --> 00:19:46.330 align:start position:0%
distributable data client node what you
get<00:19:43.080><c> is</c><00:19:43.380><c> a</c><00:19:43.620><c> system</c><00:19:43.799><c> that</c><00:19:44.640><c> ensures</c><00:19:45.539><c> the</c>

00:19:46.330 --> 00:19:46.340 align:start position:0%
get is a system that ensures the
 

00:19:46.340 --> 00:19:50.210 align:start position:0%
get is a system that ensures the
non-slashable<00:19:47.340><c> attestation</c>

00:19:50.210 --> 00:19:50.220 align:start position:0%
 
 

00:19:50.220 --> 00:19:52.010 align:start position:0%
 
and

00:19:52.010 --> 00:19:52.020 align:start position:0%
and
 

00:19:52.020 --> 00:19:53.690 align:start position:0%
and
so<00:19:52.620><c> looking</c>

00:19:53.690 --> 00:19:53.700 align:start position:0%
so looking
 

00:19:53.700 --> 00:19:55.909 align:start position:0%
so looking
that<00:19:54.179><c> what</c><00:19:54.419><c> is</c><00:19:54.600><c> left</c><00:19:54.780><c> to</c><00:19:54.960><c> do</c><00:19:55.080><c> so</c><00:19:55.559><c> we</c><00:19:55.740><c> put</c>

00:19:55.909 --> 00:19:55.919 align:start position:0%
that what is left to do so we put
 

00:19:55.919 --> 00:19:57.409 align:start position:0%
that what is left to do so we put
together<00:19:56.039><c> this</c><00:19:56.400><c> proof</c><00:19:56.760><c> we</c><00:19:57.120><c> have</c><00:19:57.240><c> the</c>

00:19:57.409 --> 00:19:57.419 align:start position:0%
together this proof we have the
 

00:19:57.419 --> 00:19:59.210 align:start position:0%
together this proof we have the
specification<00:19:58.020><c> we</c><00:19:58.620><c> have</c><00:19:58.740><c> the</c><00:19:58.860><c> reference</c>

00:19:59.210 --> 00:19:59.220 align:start position:0%
specification we have the reference
 

00:19:59.220 --> 00:20:00.710 align:start position:0%
specification we have the reference
implementation

00:20:00.710 --> 00:20:00.720 align:start position:0%
implementation
 

00:20:00.720 --> 00:20:03.529 align:start position:0%
implementation
and<00:20:01.200><c> it's</c><00:20:01.380><c> all</c><00:20:01.559><c> open</c><00:20:01.799><c> sourced</c><00:20:02.340><c> on</c><00:20:02.520><c> the</c><00:20:02.760><c> on</c><00:20:03.299><c> the</c>

00:20:03.529 --> 00:20:03.539 align:start position:0%
and it's all open sourced on the on the
 

00:20:03.539 --> 00:20:06.890 align:start position:0%
and it's all open sourced on the on the
GitHub<00:20:04.320><c> repo</c><00:20:04.740><c> that</c><00:20:04.919><c> you</c><00:20:05.100><c> can</c><00:20:05.220><c> see</c><00:20:05.460><c> here</c><00:20:06.059><c> what</c>

00:20:06.890 --> 00:20:06.900 align:start position:0%
GitHub repo that you can see here what
 

00:20:06.900 --> 00:20:09.590 align:start position:0%
GitHub repo that you can see here what
is<00:20:07.020><c> left</c><00:20:07.200><c> to</c><00:20:07.440><c> do</c><00:20:07.559><c> is</c><00:20:08.280><c> to</c><00:20:08.460><c> extend</c><00:20:08.820><c> the</c>

00:20:09.590 --> 00:20:09.600 align:start position:0%
is left to do is to extend the
 

00:20:09.600 --> 00:20:11.090 align:start position:0%
is left to do is to extend the
specification<00:20:10.200><c> and</c><00:20:10.679><c> the</c><00:20:10.799><c> reference</c>

00:20:11.090 --> 00:20:11.100 align:start position:0%
specification and the reference
 

00:20:11.100 --> 00:20:14.330 align:start position:0%
specification and the reference
implementation<00:20:11.840><c> to</c><00:20:13.100><c> distribute</c><00:20:14.100><c> the</c><00:20:14.220><c> block</c>

00:20:14.330 --> 00:20:14.340 align:start position:0%
implementation to distribute the block
 

00:20:14.340 --> 00:20:18.230 align:start position:0%
implementation to distribute the block
proposing<00:20:15.059><c> and</c><00:20:15.780><c> block</c><00:20:16.080><c> header</c><00:20:16.620><c> signing</c><00:20:17.240><c> to</c>

00:20:18.230 --> 00:20:18.240 align:start position:0%
proposing and block header signing to
 

00:20:18.240 --> 00:20:20.870 align:start position:0%
proposing and block header signing to
extend<00:20:18.960><c> the</c><00:20:19.080><c> funnel</c><00:20:19.500><c> proof</c><00:20:19.799><c> of</c><00:20:20.160><c> noise</c><00:20:20.520><c> lash</c>

00:20:20.870 --> 00:20:20.880 align:start position:0%
extend the funnel proof of noise lash
 

00:20:20.880 --> 00:20:23.630 align:start position:0%
extend the funnel proof of noise lash
about<00:20:21.000><c> the</c><00:20:21.179><c> station</c><00:20:21.360><c> to</c><00:20:21.780><c> no</c><00:20:22.140><c> slashable</c><00:20:22.679><c> blocks</c>

00:20:23.630 --> 00:20:23.640 align:start position:0%
about the station to no slashable blocks
 

00:20:23.640 --> 00:20:25.970 align:start position:0%
about the station to no slashable blocks
and<00:20:24.419><c> then</c><00:20:24.840><c> to</c>

00:20:25.970 --> 00:20:25.980 align:start position:0%
and then to
 

00:20:25.980 --> 00:20:28.549 align:start position:0%
and then to
add<00:20:26.580><c> the</c><00:20:26.760><c> proof</c><00:20:27.120><c> of</c><00:20:27.240><c> liveness</c><00:20:27.840><c> as</c><00:20:28.140><c> I</c><00:20:28.380><c> mentioned</c>

00:20:28.549 --> 00:20:28.559 align:start position:0%
add the proof of liveness as I mentioned
 

00:20:28.559 --> 00:20:30.830 align:start position:0%
add the proof of liveness as I mentioned
before<00:20:28.740><c> so</c><00:20:29.100><c> proving</c><00:20:29.520><c> that</c><00:20:29.880><c> a</c><00:20:30.419><c> distributed</c>

00:20:30.830 --> 00:20:30.840 align:start position:0%
before so proving that a distributed
 

00:20:30.840 --> 00:20:33.770 align:start position:0%
before so proving that a distributed
validator<00:20:31.260><c> will</c><00:20:31.740><c> always</c><00:20:31.980><c> eventually</c><00:20:32.780><c> create</c>

00:20:33.770 --> 00:20:33.780 align:start position:0%
validator will always eventually create
 

00:20:33.780 --> 00:20:36.890 align:start position:0%
validator will always eventually create
a<00:20:34.140><c> valid</c><00:20:34.620><c> attestation</c><00:20:35.100><c> valid</c><00:20:35.820><c> blocks</c><00:20:36.240><c> and</c>

00:20:36.890 --> 00:20:36.900 align:start position:0%
a valid attestation valid blocks and
 

00:20:36.900 --> 00:20:39.049 align:start position:0%
a valid attestation valid blocks and
valid<00:20:37.559><c> header</c><00:20:37.919><c> signatures</c>

00:20:39.049 --> 00:20:39.059 align:start position:0%
valid header signatures
 

00:20:39.059 --> 00:20:41.510 align:start position:0%
valid header signatures
and<00:20:39.600><c> this</c><00:20:40.020><c> is</c><00:20:40.140><c> all</c><00:20:40.320><c> for</c><00:20:40.500><c> my</c><00:20:40.679><c> for</c><00:20:41.039><c> me</c><00:20:41.160><c> thank</c><00:20:41.400><c> you</c>

00:20:41.510 --> 00:20:41.520 align:start position:0%
and this is all for my for me thank you
 

00:20:41.520 --> 00:20:44.990 align:start position:0%
and this is all for my for me thank you
for<00:20:41.700><c> listening</c>

00:20:44.990 --> 00:20:45.000 align:start position:0%
 
 

00:20:45.000 --> 00:20:47.450 align:start position:0%
 
um what<00:20:45.419><c> techniques</c><00:20:45.900><c> were</c><00:20:46.020><c> used</c><00:20:46.320><c> to</c><00:20:47.220><c> prove</c>

00:20:47.450 --> 00:20:47.460 align:start position:0%
um what techniques were used to prove
 

00:20:47.460 --> 00:20:49.430 align:start position:0%
um what techniques were used to prove
that<00:20:47.640><c> reference</c><00:20:48.240><c> implementation</c><00:20:48.780><c> adheres</c><00:20:49.380><c> to</c>

00:20:49.430 --> 00:20:49.440 align:start position:0%
that reference implementation adheres to
 

00:20:49.440 --> 00:20:51.310 align:start position:0%
that reference implementation adheres to
the<00:20:49.559><c> specification</c>

00:20:51.310 --> 00:20:51.320 align:start position:0%
the specification
 

00:20:51.320 --> 00:20:52.970 align:start position:0%
the specification
so

00:20:52.970 --> 00:20:52.980 align:start position:0%
so
 

00:20:52.980 --> 00:20:55.909 align:start position:0%
so
um

00:20:55.909 --> 00:20:55.919 align:start position:0%
 
 

00:20:55.919 --> 00:20:58.970 align:start position:0%
 
okay<00:20:56.460><c> so</c><00:20:56.700><c> we</c><00:20:57.480><c> have</c><00:20:58.020><c> used</c><00:20:58.200><c> the</c><00:20:58.440><c> refinement</c>

00:20:58.970 --> 00:20:58.980 align:start position:0%
okay so we have used the refinement
 

00:20:58.980 --> 00:21:02.210 align:start position:0%
okay so we have used the refinement
technique<00:20:59.460><c> so</c><00:21:00.299><c> we</c><00:21:00.480><c> proved</c><00:21:01.260><c> through</c><00:21:01.980><c> a</c>

00:21:02.210 --> 00:21:02.220 align:start position:0%
technique so we proved through a
 

00:21:02.220 --> 00:21:04.310 align:start position:0%
technique so we proved through a
refinement<00:21:02.640><c> basically</c><00:21:03.120><c> yeah</c><00:21:03.419><c> showing</c><00:21:04.140><c> that</c>

00:21:04.310 --> 00:21:04.320 align:start position:0%
refinement basically yeah showing that
 

00:21:04.320 --> 00:21:07.070 align:start position:0%
refinement basically yeah showing that
if<00:21:04.500><c> there</c><00:21:04.919><c> is</c><00:21:05.100><c> a</c><00:21:05.640><c> relationship</c><00:21:06.059><c> between</c><00:21:06.539><c> the</c>

00:21:07.070 --> 00:21:07.080 align:start position:0%
if there is a relationship between the
 

00:21:07.080 --> 00:21:09.950 align:start position:0%
if there is a relationship between the
uh<00:21:08.039><c> rest</c><00:21:08.580><c> implementation</c><00:21:09.179><c> State</c><00:21:09.480><c> and</c><00:21:09.780><c> the</c>

00:21:09.950 --> 00:21:09.960 align:start position:0%
uh rest implementation State and the
 

00:21:09.960 --> 00:21:12.470 align:start position:0%
uh rest implementation State and the
specification<00:21:10.440><c> state</c><00:21:10.860><c> that</c><00:21:11.820><c> and</c><00:21:12.059><c> on</c><00:21:12.299><c> a</c>

00:21:12.470 --> 00:21:12.480 align:start position:0%
specification state that and on a
 

00:21:12.480 --> 00:21:16.730 align:start position:0%
specification state that and on a
transition<00:21:12.780><c> that</c><00:21:13.080><c> is</c><00:21:13.260><c> maintained</c>

00:21:16.730 --> 00:21:16.740 align:start position:0%
 
 

00:21:16.740 --> 00:21:18.529 align:start position:0%
 
how<00:21:17.340><c> far</c><00:21:17.460><c> away</c><00:21:17.640><c> do</c><00:21:17.880><c> you</c><00:21:18.000><c> think</c><00:21:18.059><c> we</c><00:21:18.179><c> are</c><00:21:18.360><c> from</c>

00:21:18.529 --> 00:21:18.539 align:start position:0%
how far away do you think we are from
 

00:21:18.539 --> 00:21:20.570 align:start position:0%
how far away do you think we are from
being<00:21:18.660><c> able</c><00:21:18.780><c> to</c><00:21:19.080><c> use</c><00:21:19.320><c> validator</c><00:21:19.799><c> pools</c><00:21:20.280><c> for</c>

00:21:20.570 --> 00:21:20.580 align:start position:0%
being able to use validator pools for
 

00:21:20.580 --> 00:21:24.289 align:start position:0%
being able to use validator pools for
either<00:21:20.820><c> eth2</c><00:21:21.480><c> or</c><00:21:21.840><c> other</c><00:21:22.020><c> protocols</c><00:21:22.860><c> I</c>

00:21:24.289 --> 00:21:24.299 align:start position:0%
either eth2 or other protocols I
 

00:21:24.299 --> 00:21:28.310 align:start position:0%
either eth2 or other protocols I
probably<00:21:24.720><c> this</c><00:21:25.200><c> is</c><00:21:25.320><c> a</c><00:21:25.980><c> question</c><00:21:26.460><c> I</c><00:21:26.940><c> need</c><00:21:27.360><c> to</c>

00:21:28.310 --> 00:21:28.320 align:start position:0%
probably this is a question I need to
 

00:21:28.320 --> 00:21:31.490 align:start position:0%
probably this is a question I need to
to<00:21:29.039><c> the</c><00:21:29.280><c> fair</c><00:21:29.460><c> to</c><00:21:29.700><c> someone</c><00:21:29.940><c> else</c><00:21:30.120><c> sorry</c><00:21:30.419><c> I</c><00:21:31.080><c> yeah</c>

00:21:31.490 --> 00:21:31.500 align:start position:0%
to the fair to someone else sorry I yeah
 

00:21:31.500 --> 00:21:32.990 align:start position:0%
to the fair to someone else sorry I yeah
it's

00:21:32.990 --> 00:21:33.000 align:start position:0%
it's
 

00:21:33.000 --> 00:21:35.990 align:start position:0%
it's
only<00:21:33.720><c> this</c><00:21:34.679><c> is</c><00:21:34.799><c> about</c><00:21:34.919><c> implementation</c><00:21:35.700><c> so</c>

00:21:35.990 --> 00:21:36.000 align:start position:0%
only this is about implementation so
 

00:21:36.000 --> 00:21:38.390 align:start position:0%
only this is about implementation so
yeah<00:21:36.240><c> I</c><00:21:36.480><c> I</c><00:21:36.720><c> don't</c><00:21:37.020><c> have</c><00:21:37.260><c> that</c><00:21:37.500><c> answer</c><00:21:37.740><c> how</c>

00:21:38.390 --> 00:21:38.400 align:start position:0%
yeah I I don't have that answer how
 

00:21:38.400 --> 00:21:40.850 align:start position:0%
yeah I I don't have that answer how
difficult<00:21:38.760><c> is</c><00:21:39.000><c> the</c><00:21:39.179><c> learning</c><00:21:39.539><c> curve</c><00:21:39.900><c> to</c><00:21:40.320><c> kind</c>

00:21:40.850 --> 00:21:40.860 align:start position:0%
difficult is the learning curve to kind
 

00:21:40.860 --> 00:21:43.930 align:start position:0%
difficult is the learning curve to kind
of<00:21:40.980><c> become</c><00:21:41.340><c> someone</c><00:21:41.640><c> who</c><00:21:42.179><c> can</c><00:21:42.480><c> contribute</c><00:21:43.380><c> to</c>

00:21:43.930 --> 00:21:43.940 align:start position:0%
of become someone who can contribute to
 

00:21:43.940 --> 00:21:46.730 align:start position:0%
of become someone who can contribute to
this<00:21:44.940><c> uh</c><00:21:45.240><c> you</c><00:21:45.780><c> know</c><00:21:45.840><c> formal</c><00:21:46.260><c> verification</c>

00:21:46.730 --> 00:21:46.740 align:start position:0%
this uh you know formal verification
 

00:21:46.740 --> 00:21:48.770 align:start position:0%
this uh you know formal verification
things<00:21:47.100><c> and</c><00:21:47.400><c> be</c><00:21:47.580><c> able</c><00:21:47.760><c> to</c><00:21:48.059><c> to</c><00:21:48.240><c> start</c><00:21:48.480><c> working</c>

00:21:48.770 --> 00:21:48.780 align:start position:0%
things and be able to to start working
 

00:21:48.780 --> 00:21:50.029 align:start position:0%
things and be able to to start working
on<00:21:49.020><c> that</c>

00:21:50.029 --> 00:21:50.039 align:start position:0%
on that
 

00:21:50.039 --> 00:21:53.870 align:start position:0%
on that
it's<00:21:50.820><c> a</c>

00:21:53.870 --> 00:21:53.880 align:start position:0%
 
 

00:21:53.880 --> 00:21:55.430 align:start position:0%
 
reasonably

00:21:55.430 --> 00:21:55.440 align:start position:0%
reasonably
 

00:21:55.440 --> 00:21:57.649 align:start position:0%
reasonably
say<00:21:55.980><c> steep</c><00:21:56.400><c> not</c><00:21:56.640><c> too</c><00:21:56.820><c> much</c><00:21:57.000><c> though</c><00:21:57.240><c> I</c><00:21:57.539><c> mean</c>

00:21:57.649 --> 00:21:57.659 align:start position:0%
say steep not too much though I mean
 

00:21:57.659 --> 00:22:01.070 align:start position:0%
say steep not too much though I mean
nowadays<00:21:58.440><c> with</c><00:21:58.679><c> tools</c><00:21:59.100><c> like</c><00:21:59.220><c> Daphne</c><00:21:59.960><c> I</c><00:22:00.960><c> think</c>

00:22:01.070 --> 00:22:01.080 align:start position:0%
nowadays with tools like Daphne I think
 

00:22:01.080 --> 00:22:03.289 align:start position:0%
nowadays with tools like Daphne I think
it's<00:22:01.320><c> much</c><00:22:01.559><c> simpler</c><00:22:02.100><c> than</c><00:22:02.640><c> having</c><00:22:02.880><c> to</c><00:22:03.120><c> learn</c>

00:22:03.289 --> 00:22:03.299 align:start position:0%
it's much simpler than having to learn
 

00:22:03.299 --> 00:22:05.510 align:start position:0%
it's much simpler than having to learn
something<00:22:03.600><c> like</c><00:22:04.260><c> Isabel</c><00:22:04.740><c> or</c><00:22:05.340><c> this</c>

00:22:05.510 --> 00:22:05.520 align:start position:0%
something like Isabel or this
 

00:22:05.520 --> 00:22:07.430 align:start position:0%
something like Isabel or this
pyramid<00:22:05.940><c> proves</c><00:22:06.240><c> that</c><00:22:06.419><c> are</c><00:22:06.539><c> a</c><00:22:06.780><c> bit</c><00:22:06.900><c> not</c><00:22:07.200><c> more</c>

00:22:07.430 --> 00:22:07.440 align:start position:0%
pyramid proves that are a bit not more
 

00:22:07.440 --> 00:22:10.610 align:start position:0%
pyramid proves that are a bit not more
you<00:22:07.740><c> say</c><00:22:08.460><c> abstract</c><00:22:09.179><c> syntax</c><00:22:09.659><c> and</c>

00:22:10.610 --> 00:22:10.620 align:start position:0%
you say abstract syntax and
 

00:22:10.620 --> 00:22:12.529 align:start position:0%
you say abstract syntax and
um<00:22:10.679><c> way</c><00:22:10.980><c> of</c><00:22:11.159><c> proving</c><00:22:11.460><c> things</c><00:22:11.640><c> so</c><00:22:11.940><c> things</c><00:22:12.360><c> are</c>

00:22:12.529 --> 00:22:12.539 align:start position:0%
um way of proving things so things are
 

00:22:12.539 --> 00:22:15.529 align:start position:0%
um way of proving things so things are
improving<00:22:12.960><c> but</c><00:22:13.200><c> that</c><00:22:13.740><c> is</c><00:22:13.919><c> that</c><00:22:14.220><c> is</c><00:22:14.640><c> a</c><00:22:14.880><c> bit</c><00:22:15.000><c> in</c>

00:22:15.529 --> 00:22:15.539 align:start position:0%
improving but that is that is a bit in
 

00:22:15.539 --> 00:22:16.850 align:start position:0%
improving but that is that is a bit in
terms<00:22:15.720><c> of</c><00:22:15.780><c> contributing</c><00:22:16.440><c> to</c><00:22:16.620><c> the</c>

00:22:16.850 --> 00:22:16.860 align:start position:0%
terms of contributing to the
 

00:22:16.860 --> 00:22:18.289 align:start position:0%
terms of contributing to the
specifications<00:22:17.460><c> say</c><00:22:17.820><c> or</c><00:22:18.000><c> reference</c>

00:22:18.289 --> 00:22:18.299 align:start position:0%
specifications say or reference
 

00:22:18.299 --> 00:22:21.649 align:start position:0%
specifications say or reference
implementation<00:22:18.919><c> I</c><00:22:19.919><c> think</c><00:22:20.039><c> it's</c><00:22:20.340><c> not</c><00:22:21.000><c> my</c><00:22:21.480><c> view</c>

00:22:21.649 --> 00:22:21.659 align:start position:0%
implementation I think it's not my view
 

00:22:21.659 --> 00:22:25.430 align:start position:0%
implementation I think it's not my view
not<00:22:22.380><c> as</c><00:22:22.679><c> much</c><00:22:23.039><c> harder</c><00:22:23.520><c> as</c><00:22:24.179><c> contributed</c><00:22:25.080><c> to</c><00:22:25.260><c> a</c>

00:22:25.430 --> 00:22:25.440 align:start position:0%
not as much harder as contributed to a
 

00:22:25.440 --> 00:22:26.690 align:start position:0%
not as much harder as contributed to a
python

00:22:26.690 --> 00:22:26.700 align:start position:0%
python
 

00:22:26.700 --> 00:22:29.930 align:start position:0%
python
specification<00:22:27.980><c> so</c><00:22:28.980><c> it</c><00:22:29.100><c> won't</c><00:22:29.280><c> contribute</c>

00:22:29.930 --> 00:22:29.940 align:start position:0%
specification so it won't contribute
 

00:22:29.940 --> 00:22:31.789 align:start position:0%
specification so it won't contribute
just<00:22:30.120><c> to</c><00:22:30.299><c> the</c><00:22:30.360><c> specification</c><00:22:30.900><c> you</c><00:22:31.679><c> know</c>

00:22:31.789 --> 00:22:31.799 align:start position:0%
just to the specification you know
 

00:22:31.799 --> 00:22:33.649 align:start position:0%
just to the specification you know
necessarily<00:22:32.460><c> to</c><00:22:32.580><c> the</c><00:22:32.700><c> proof</c>

00:22:33.649 --> 00:22:33.659 align:start position:0%
necessarily to the proof
 

00:22:33.659 --> 00:22:35.690 align:start position:0%
necessarily to the proof
how<00:22:34.440><c> big</c><00:22:34.620><c> is</c><00:22:34.799><c> your</c><00:22:34.860><c> team</c><00:22:35.100><c> and</c><00:22:35.280><c> how</c><00:22:35.400><c> long</c><00:22:35.580><c> have</c>

00:22:35.690 --> 00:22:35.700 align:start position:0%
how big is your team and how long have
 

00:22:35.700 --> 00:22:37.430 align:start position:0%
how big is your team and how long have
you<00:22:35.880><c> been</c><00:22:36.059><c> working</c><00:22:36.360><c> on</c><00:22:36.600><c> this</c><00:22:36.720><c> proof</c><00:22:37.020><c> to</c><00:22:37.200><c> get</c><00:22:37.320><c> it</c>

00:22:37.430 --> 00:22:37.440 align:start position:0%
you been working on this proof to get it
 

00:22:37.440 --> 00:22:38.810 align:start position:0%
you been working on this proof to get it
to<00:22:37.500><c> this</c><00:22:37.679><c> point</c><00:22:37.860><c> now</c>

00:22:38.810 --> 00:22:38.820 align:start position:0%
to this point now
 

00:22:38.820 --> 00:22:42.529 align:start position:0%
to this point now
so<00:22:39.419><c> well</c><00:22:39.840><c> uh</c><00:22:40.679><c> the</c><00:22:41.100><c> the</c><00:22:41.100><c> theme</c><00:22:41.760><c> consists</c><00:22:42.419><c> of</c>

00:22:42.529 --> 00:22:42.539 align:start position:0%
so well uh the the theme consists of
 

00:22:42.539 --> 00:22:44.149 align:start position:0%
so well uh the the theme consists of
four<00:22:43.080><c> people</c>

00:22:44.149 --> 00:22:44.159 align:start position:0%
four people
 

00:22:44.159 --> 00:22:45.590 align:start position:0%
four people
um<00:22:44.220><c> but</c><00:22:44.580><c> on</c><00:22:44.760><c> this</c><00:22:44.940><c> one</c><00:22:45.059><c> I've</c><00:22:45.240><c> been</c><00:22:45.419><c> working</c>

00:22:45.590 --> 00:22:45.600 align:start position:0%
um but on this one I've been working
 

00:22:45.600 --> 00:22:50.210 align:start position:0%
um but on this one I've been working
just<00:22:46.080><c> myself</c><00:22:46.860><c> and</c><00:22:47.340><c> tanai</c><00:22:48.240><c> and</c><00:22:49.140><c> we've</c><00:22:50.100><c> been</c>

00:22:50.210 --> 00:22:50.220 align:start position:0%
just myself and tanai and we've been
 

00:22:50.220 --> 00:22:53.409 align:start position:0%
just myself and tanai and we've been
working<00:22:50.520><c> on</c><00:22:51.419><c> this</c><00:22:51.720><c> on</c><00:22:52.080><c> this</c><00:22:52.440><c> uh</c>

00:22:53.409 --> 00:22:53.419 align:start position:0%
working on this on this uh
 

00:22:53.419 --> 00:22:55.250 align:start position:0%
working on this on this uh
on<00:22:54.419><c> the</c>

00:22:55.250 --> 00:22:55.260 align:start position:0%
on the
 

00:22:55.260 --> 00:22:56.630 align:start position:0%
on the
we've<00:22:55.740><c> been</c><00:22:55.860><c> working</c><00:22:56.039><c> initially</c><00:22:56.400><c> in</c><00:22:56.520><c> the</c>

00:22:56.630 --> 00:22:56.640 align:start position:0%
we've been working initially in the
 

00:22:56.640 --> 00:22:59.390 align:start position:0%
we've been working initially in the
specification<00:22:57.120><c> so</c><00:22:57.539><c> on</c><00:22:57.720><c> specifically</c><00:22:58.500><c> on</c><00:22:59.220><c> the</c>

00:22:59.390 --> 00:22:59.400 align:start position:0%
specification so on specifically on the
 

00:22:59.400 --> 00:23:02.510 align:start position:0%
specification so on specifically on the
proof<00:22:59.880><c> I</c><00:23:00.659><c> say</c><00:23:00.840><c> since</c><00:23:01.260><c> June</c>

00:23:02.510 --> 00:23:02.520 align:start position:0%
proof I say since June
 

00:23:02.520 --> 00:23:04.610 align:start position:0%
proof I say since June
roughly<00:23:03.120><c> just</c><00:23:03.419><c> for</c><00:23:03.659><c> the</c><00:23:03.780><c> proof</c><00:23:04.020><c> there</c><00:23:04.320><c> was</c><00:23:04.500><c> a</c>

00:23:04.610 --> 00:23:04.620 align:start position:0%
roughly just for the proof there was a
 

00:23:04.620 --> 00:23:06.830 align:start position:0%
roughly just for the proof there was a
bit<00:23:04.679><c> of</c><00:23:04.919><c> fixing</c><00:23:05.820><c> up</c><00:23:05.940><c> of</c><00:23:06.120><c> the</c><00:23:06.299><c> specification</c>

00:23:06.830 --> 00:23:06.840 align:start position:0%
bit of fixing up of the specification
 

00:23:06.840 --> 00:23:09.890 align:start position:0%
bit of fixing up of the specification
before<00:23:07.200><c> that</c><00:23:07.500><c> so</c><00:23:08.280><c> why</c><00:23:08.460><c> Daphne</c><00:23:08.940><c> and</c><00:23:09.179><c> not</c><00:23:09.419><c> other</c>

00:23:09.890 --> 00:23:09.900 align:start position:0%
before that so why Daphne and not other
 

00:23:09.900 --> 00:23:12.049 align:start position:0%
before that so why Daphne and not other
languages<00:23:10.320><c> like</c><00:23:10.620><c> cocoa</c><00:23:11.280><c> or</c><00:23:11.400><c> Isabel</c><00:23:11.760><c> as</c><00:23:11.940><c> you</c>

00:23:12.049 --> 00:23:12.059 align:start position:0%
languages like cocoa or Isabel as you
 

00:23:12.059 --> 00:23:16.490 align:start position:0%
languages like cocoa or Isabel as you
said<00:23:12.179><c> yeah</c><00:23:12.919><c> one</c><00:23:13.919><c> of</c><00:23:14.039><c> the</c><00:23:14.159><c> reason</c><00:23:14.460><c> is</c><00:23:14.820><c> that</c><00:23:15.500><c> is</c>

00:23:16.490 --> 00:23:16.500 align:start position:0%
said yeah one of the reason is that is
 

00:23:16.500 --> 00:23:19.610 align:start position:0%
said yeah one of the reason is that is
for<00:23:16.799><c> the</c><00:23:17.340><c> said</c><00:23:18.000><c> the</c><00:23:18.539><c> fact</c><00:23:18.720><c> that</c><00:23:18.720><c> we</c><00:23:19.140><c> think</c><00:23:19.320><c> it's</c>

00:23:19.610 --> 00:23:19.620 align:start position:0%
for the said the fact that we think it's
 

00:23:19.620 --> 00:23:21.490 align:start position:0%
for the said the fact that we think it's
easier<00:23:20.039><c> for</c>

00:23:21.490 --> 00:23:21.500 align:start position:0%
easier for
 

00:23:21.500 --> 00:23:24.710 align:start position:0%
easier for
developers<00:23:22.500><c> to</c><00:23:22.799><c> understand</c><00:23:23.100><c> Daphne</c><00:23:23.760><c> compared</c>

00:23:24.710 --> 00:23:24.720 align:start position:0%
developers to understand Daphne compared
 

00:23:24.720 --> 00:23:28.370 align:start position:0%
developers to understand Daphne compared
to<00:23:25.980><c> or</c><00:23:26.159><c> lean</c><00:23:26.640><c> or</c><00:23:26.880><c> Isabel</c><00:23:27.480><c> that</c><00:23:28.200><c> that's</c>

00:23:28.370 --> 00:23:28.380 align:start position:0%
to or lean or Isabel that that's
 

00:23:28.380 --> 00:23:31.070 align:start position:0%
to or lean or Isabel that that's
one<00:23:28.740><c> of</c><00:23:28.860><c> the</c><00:23:29.039><c> of</c><00:23:29.340><c> the</c><00:23:29.580><c> reason</c><00:23:29.640><c> also</c><00:23:30.059><c> I</c><00:23:30.780><c> mean</c><00:23:30.960><c> you</c>

00:23:31.070 --> 00:23:31.080 align:start position:0%
one of the of the reason also I mean you
 

00:23:31.080 --> 00:23:33.590 align:start position:0%
one of the of the reason also I mean you
can<00:23:31.260><c> compile</c><00:23:31.679><c> uh</c>

00:23:33.590 --> 00:23:33.600 align:start position:0%
can compile uh
 

00:23:33.600 --> 00:23:37.310 align:start position:0%
can compile uh
if<00:23:34.140><c> they</c><00:23:34.500><c> I</c><00:23:34.740><c> think</c><00:23:34.860><c> or</c><00:23:35.400><c> Isabel</c><00:23:35.940><c> but</c>

00:23:37.310 --> 00:23:37.320 align:start position:0%
if they I think or Isabel but
 

00:23:37.320 --> 00:23:39.049 align:start position:0%
if they I think or Isabel but
it

00:23:39.049 --> 00:23:39.059 align:start position:0%
it
 

00:23:39.059 --> 00:23:41.210 align:start position:0%
it
the<00:23:39.539><c> way</c><00:23:39.659><c> you</c><00:23:39.780><c> write</c><00:23:39.960><c> it</c><00:23:40.140><c> is</c><00:23:40.380><c> far</c><00:23:40.620><c> more</c><00:23:40.740><c> complex</c>

00:23:41.210 --> 00:23:41.220 align:start position:0%
the way you write it is far more complex
 

00:23:41.220 --> 00:23:43.310 align:start position:0%
the way you write it is far more complex
yeah<00:23:41.520><c> yeah</c><00:23:41.760><c> I'm</c><00:23:42.539><c> not</c>

00:23:43.310 --> 00:23:43.320 align:start position:0%
yeah yeah I'm not
 

00:23:43.320 --> 00:23:45.710 align:start position:0%
yeah yeah I'm not
pretty<00:23:43.740><c> sure</c><00:23:43.980><c> like</c><00:23:44.340><c> we</c><00:23:44.760><c> definitely</c><00:23:45.059><c> can</c><00:23:45.360><c> kind</c>

00:23:45.710 --> 00:23:45.720 align:start position:0%
pretty sure like we definitely can kind
 

00:23:45.720 --> 00:23:47.029 align:start position:0%
pretty sure like we definitely can kind
of

00:23:47.029 --> 00:23:47.039 align:start position:0%
of
 

00:23:47.039 --> 00:23:49.070 align:start position:0%
of
um<00:23:47.159><c> use</c><00:23:47.940><c> a</c>

00:23:49.070 --> 00:23:49.080 align:start position:0%
um use a
 

00:23:49.080 --> 00:23:51.710 align:start position:0%
um use a
as<00:23:49.799><c> a</c><00:23:49.980><c> construct</c><00:23:50.280><c> that</c><00:23:50.520><c> is</c><00:23:50.820><c> as</c><00:23:51.059><c> the</c><00:23:51.240><c> concept</c><00:23:51.539><c> of</c>

00:23:51.710 --> 00:23:51.720 align:start position:0%
as a construct that is as the concept of
 

00:23:51.720 --> 00:23:53.570 align:start position:0%
as a construct that is as the concept of
classes<00:23:52.140><c> and</c><00:23:52.320><c> state</c><00:23:52.559><c> so</c><00:23:52.980><c> it's</c><00:23:53.159><c> very</c><00:23:53.280><c> similar</c>

00:23:53.570 --> 00:23:53.580 align:start position:0%
classes and state so it's very similar
 

00:23:53.580 --> 00:23:55.010 align:start position:0%
classes and state so it's very similar
to<00:23:53.700><c> programming</c><00:23:54.120><c> and</c><00:23:54.299><c> you</c><00:23:54.480><c> can</c><00:23:54.600><c> have</c><00:23:54.720><c> some</c>

00:23:55.010 --> 00:23:55.020 align:start position:0%
to programming and you can have some
 

00:23:55.020 --> 00:23:57.230 align:start position:0%
to programming and you can have some
give<00:23:55.320><c> some</c><00:23:55.679><c> of</c><00:23:55.799><c> the</c><00:23:55.919><c> things</c><00:23:56.460><c> unimplemented</c>

00:23:57.230 --> 00:23:57.240 align:start position:0%
give some of the things unimplemented
 

00:23:57.240 --> 00:24:02.000 align:start position:0%
give some of the things unimplemented
and<00:23:57.600><c> open</c><00:23:58.080><c> for</c><00:23:58.799><c> external</c><00:23:59.400><c> implementation</c>

