WEBVTT
Kind: captions
Language: en

00:00:04.000 --> 00:00:05.970 align:start position:0%
 
there<00:00:04.840><c> we</c><00:00:04.900><c> go</c><00:00:05.050><c> the</c><00:00:05.350><c> slides</c><00:00:05.590><c> are</c><00:00:05.740><c> not</c><00:00:05.770><c> so</c>

00:00:05.970 --> 00:00:05.980 align:start position:0%
there we go the slides are not so
 

00:00:05.980 --> 00:00:10.080 align:start position:0%
there we go the slides are not so
performant<00:00:06.520><c> but</c><00:00:06.910><c> they</c><00:00:07.029><c> are</c><00:00:07.149><c> safe</c><00:00:08.730><c> so</c><00:00:09.730><c> I</c><00:00:09.760><c> wanted</c>

00:00:10.080 --> 00:00:10.090 align:start position:0%
performant but they are safe so I wanted
 

00:00:10.090 --> 00:00:11.220 align:start position:0%
performant but they are safe so I wanted
to<00:00:10.150><c> give</c><00:00:10.300><c> an</c><00:00:10.390><c> overview</c><00:00:10.660><c> of</c><00:00:10.720><c> a</c><00:00:10.809><c> theorem</c><00:00:11.110><c> to</c>

00:00:11.220 --> 00:00:11.230 align:start position:0%
to give an overview of a theorem to
 

00:00:11.230 --> 00:00:13.470 align:start position:0%
to give an overview of a theorem to
information<00:00:11.889><c> security</c><00:00:11.980><c> professionals</c><00:00:12.480><c> so</c>

00:00:13.470 --> 00:00:13.480 align:start position:0%
information security professionals so
 

00:00:13.480 --> 00:00:15.840 align:start position:0%
information security professionals so
what<00:00:13.600><c> I</c><00:00:13.630><c> want</c><00:00:13.810><c> to</c><00:00:13.870><c> do</c><00:00:14.160><c> is</c><00:00:15.160><c> sort</c><00:00:15.580><c> of</c><00:00:15.640><c> show</c><00:00:15.790><c> you</c>

00:00:15.840 --> 00:00:15.850 align:start position:0%
what I want to do is sort of show you
 

00:00:15.850 --> 00:00:17.580 align:start position:0%
what I want to do is sort of show you
where<00:00:16.119><c> we're</c><00:00:16.299><c> looking</c><00:00:16.689><c> in</c><00:00:16.869><c> the</c><00:00:16.960><c> protocol</c><00:00:17.380><c> and</c>

00:00:17.580 --> 00:00:17.590 align:start position:0%
where we're looking in the protocol and
 

00:00:17.590 --> 00:00:19.590 align:start position:0%
where we're looking in the protocol and
the<00:00:17.680><c> implementations</c><00:00:18.369><c> and</c><00:00:18.609><c> I'm</c><00:00:19.150><c> hoping</c><00:00:19.539><c> that</c>

00:00:19.590 --> 00:00:19.600 align:start position:0%
the implementations and I'm hoping that
 

00:00:19.600 --> 00:00:22.319 align:start position:0%
the implementations and I'm hoping that
people<00:00:20.439><c> will</c><00:00:21.189><c> be</c><00:00:21.310><c> inspired</c><00:00:21.460><c> to</c><00:00:21.939><c> come</c><00:00:22.089><c> along</c>

00:00:22.319 --> 00:00:22.329 align:start position:0%
people will be inspired to come along
 

00:00:22.329 --> 00:00:24.300 align:start position:0%
people will be inspired to come along
and<00:00:22.990><c> perhaps</c><00:00:23.259><c> fill</c><00:00:23.529><c> in</c><00:00:23.650><c> the</c><00:00:23.740><c> gaps</c><00:00:23.919><c> if</c><00:00:24.099><c> you</c><00:00:24.189><c> can</c>

00:00:24.300 --> 00:00:24.310 align:start position:0%
and perhaps fill in the gaps if you can
 

00:00:24.310 --> 00:00:26.310 align:start position:0%
and perhaps fill in the gaps if you can
see<00:00:24.429><c> am</c><00:00:24.519><c> I</c><00:00:24.550><c> missing</c><00:00:24.730><c> something</c><00:00:24.929><c> or</c><00:00:25.929><c> it's</c><00:00:26.230><c> just</c>

00:00:26.310 --> 00:00:26.320 align:start position:0%
see am I missing something or it's just
 

00:00:26.320 --> 00:00:27.839 align:start position:0%
see am I missing something or it's just
with<00:00:26.589><c> the</c><00:00:26.739><c> things</c><00:00:27.130><c> that</c><00:00:27.279><c> we're</c><00:00:27.400><c> working</c><00:00:27.550><c> on</c>

00:00:27.839 --> 00:00:27.849 align:start position:0%
with the things that we're working on
 

00:00:27.849 --> 00:00:29.970 align:start position:0%
with the things that we're working on
now<00:00:28.029><c> and</c><00:00:28.300><c> work</c><00:00:28.659><c> with</c><00:00:28.810><c> the</c><00:00:28.869><c> other</c><00:00:28.989><c> teams</c><00:00:29.259><c> too</c><00:00:29.499><c> so</c>

00:00:29.970 --> 00:00:29.980 align:start position:0%
now and work with the other teams too so
 

00:00:29.980 --> 00:00:31.169 align:start position:0%
now and work with the other teams too so
I'm<00:00:30.130><c> gonna</c><00:00:30.249><c> be</c><00:00:30.369><c> talking</c><00:00:30.489><c> about</c><00:00:30.669><c> validator</c>

00:00:31.169 --> 00:00:31.179 align:start position:0%
I'm gonna be talking about validator
 

00:00:31.179 --> 00:00:33.090 align:start position:0%
I'm gonna be talking about validator
safety<00:00:31.599><c> I'm</c><00:00:32.200><c> going</c><00:00:32.320><c> to</c><00:00:32.380><c> be</c><00:00:32.439><c> talking</c><00:00:32.529><c> about</c><00:00:32.800><c> the</c>

00:00:33.090 --> 00:00:33.100 align:start position:0%
safety I'm going to be talking about the
 

00:00:33.100 --> 00:00:35.850 align:start position:0%
safety I'm going to be talking about the
phase<00:00:33.550><c> zero</c><00:00:33.880><c> software</c><00:00:34.840><c> components</c><00:00:35.380><c> how</c><00:00:35.680><c> we're</c>

00:00:35.850 --> 00:00:35.860 align:start position:0%
phase zero software components how we're
 

00:00:35.860 --> 00:00:37.920 align:start position:0%
phase zero software components how we're
viewing<00:00:36.070><c> it</c><00:00:36.340><c> as</c><00:00:36.730><c> I</c><00:00:36.790><c> said</c><00:00:36.970><c> a</c><00:00:37.030><c> set</c><00:00:37.540><c> of</c><00:00:37.660><c> software</c>

00:00:37.920 --> 00:00:37.930 align:start position:0%
viewing it as I said a set of software
 

00:00:37.930 --> 00:00:40.320 align:start position:0%
viewing it as I said a set of software
bits<00:00:38.430><c> so</c><00:00:39.430><c> I'm</c><00:00:39.520><c> going</c><00:00:39.640><c> to</c><00:00:39.670><c> be</c><00:00:39.760><c> talking</c><00:00:39.850><c> so</c><00:00:40.120><c> phase</c>

00:00:40.320 --> 00:00:40.330 align:start position:0%
bits so I'm going to be talking so phase
 

00:00:40.330 --> 00:00:43.320 align:start position:0%
bits so I'm going to be talking so phase
zero<00:00:40.570><c> it</c><00:00:40.750><c> means</c><00:00:40.870><c> Casper</c><00:00:42.030><c> proof</c><00:00:43.030><c> of</c><00:00:43.150><c> steak</c>

00:00:43.320 --> 00:00:43.330 align:start position:0%
zero it means Casper proof of steak
 

00:00:43.330 --> 00:00:45.330 align:start position:0%
zero it means Casper proof of steak
without<00:00:43.480><c> shards</c><00:00:44.380><c> or</c><00:00:44.500><c> execution</c><00:00:44.980><c> and</c>

00:00:45.330 --> 00:00:45.340 align:start position:0%
without shards or execution and
 

00:00:45.340 --> 00:00:47.160 align:start position:0%
without shards or execution and
Adrienne's<00:00:46.300><c> gonna</c><00:00:46.420><c> be</c><00:00:46.480><c> talking</c><00:00:46.750><c> about</c><00:00:46.810><c> value</c>

00:00:47.160 --> 00:00:47.170 align:start position:0%
Adrienne's gonna be talking about value
 

00:00:47.170 --> 00:00:48.810 align:start position:0%
Adrienne's gonna be talking about value
to<00:00:47.260><c> privacy</c><00:00:47.560><c> on</c><00:00:47.710><c> the</c><00:00:47.770><c> network</c><00:00:48.100><c> and</c><00:00:48.670><c> the</c>

00:00:48.810 --> 00:00:48.820 align:start position:0%
to privacy on the network and the
 

00:00:48.820 --> 00:00:50.820 align:start position:0%
to privacy on the network and the
differential<00:00:49.330><c> fuzzing</c><00:00:50.230><c> work</c><00:00:50.410><c> that's</c><00:00:50.680><c> been</c>

00:00:50.820 --> 00:00:50.830 align:start position:0%
differential fuzzing work that's been
 

00:00:50.830 --> 00:00:53.940 align:start position:0%
differential fuzzing work that's been
going<00:00:50.890><c> on</c><00:00:51.220><c> in</c><00:00:51.430><c> f2</c><00:00:52.530><c> so</c><00:00:53.530><c> I</c><00:00:53.560><c> want</c><00:00:53.710><c> to</c><00:00:53.770><c> talk</c><00:00:53.860><c> about</c>

00:00:53.940 --> 00:00:53.950 align:start position:0%
going on in f2 so I want to talk about
 

00:00:53.950 --> 00:00:56.610 align:start position:0%
going on in f2 so I want to talk about
validators<00:00:54.520><c> as</c><00:00:54.970><c> you</c><00:00:55.180><c> know</c><00:00:55.330><c> they</c><00:00:56.140><c> are</c>

00:00:56.610 --> 00:00:56.620 align:start position:0%
validators as you know they are
 

00:00:56.620 --> 00:00:58.020 align:start position:0%
validators as you know they are
replacing<00:00:56.950><c> the</c><00:00:57.250><c> miners</c><00:00:57.580><c> as</c><00:00:57.730><c> the</c><00:00:57.850><c> block</c>

00:00:58.020 --> 00:00:58.030 align:start position:0%
replacing the miners as the block
 

00:00:58.030 --> 00:01:01.050 align:start position:0%
replacing the miners as the block
producers<00:00:58.600><c> so</c><00:00:59.190><c> taking</c><00:01:00.190><c> them</c><00:01:00.280><c> offline</c><00:01:00.550><c> will</c>

00:01:01.050 --> 00:01:01.060 align:start position:0%
producers so taking them offline will
 

00:01:01.060 --> 00:01:02.550 align:start position:0%
producers so taking them offline will
affect<00:01:01.330><c> the</c><00:01:01.420><c> liveness</c><00:01:01.630><c> of</c><00:01:01.900><c> the</c><00:01:01.960><c> network</c><00:01:02.290><c> and</c>

00:01:02.550 --> 00:01:02.560 align:start position:0%
affect the liveness of the network and
 

00:01:02.560 --> 00:01:05.009 align:start position:0%
affect the liveness of the network and
stop<00:01:02.890><c> new</c><00:01:03.070><c> blocks</c><00:01:03.370><c> which</c><00:01:03.820><c> is</c><00:01:03.910><c> very</c><00:01:04.089><c> bad</c><00:01:04.299><c> so</c><00:01:04.989><c> I</c>

00:01:05.009 --> 00:01:05.019 align:start position:0%
stop new blocks which is very bad so I
 

00:01:05.019 --> 00:01:06.630 align:start position:0%
stop new blocks which is very bad so I
want<00:01:05.470><c> to</c><00:01:05.530><c> talk</c><00:01:05.619><c> about</c><00:01:05.740><c> the</c><00:01:05.890><c> two</c><00:01:06.040><c> failure</c><00:01:06.430><c> modes</c>

00:01:06.630 --> 00:01:06.640 align:start position:0%
want to talk about the two failure modes
 

00:01:06.640 --> 00:01:08.280 align:start position:0%
want to talk about the two failure modes
of<00:01:06.850><c> validators</c><00:01:07.420><c> so</c><00:01:07.720><c> we</c><00:01:07.810><c> have</c><00:01:07.930><c> these</c><00:01:08.050><c> two</c>

00:01:08.280 --> 00:01:08.290 align:start position:0%
of validators so we have these two
 

00:01:08.290 --> 00:01:09.720 align:start position:0%
of validators so we have these two
different<00:01:08.680><c> modes</c><00:01:08.800><c> this</c><00:01:09.310><c> is</c><00:01:09.430><c> offline</c>

00:01:09.720 --> 00:01:09.730 align:start position:0%
different modes this is offline
 

00:01:09.730 --> 00:01:12.060 align:start position:0%
different modes this is offline
validates<00:01:10.300><c> and</c><00:01:10.420><c> equivocating</c><00:01:10.990><c> validators</c><00:01:11.530><c> so</c>

00:01:12.060 --> 00:01:12.070 align:start position:0%
validates and equivocating validators so
 

00:01:12.070 --> 00:01:13.740 align:start position:0%
validates and equivocating validators so
an<00:01:12.130><c> offline</c><00:01:12.490><c> validator</c><00:01:12.970><c> is</c><00:01:13.210><c> a</c><00:01:13.270><c> validator</c>

00:01:13.740 --> 00:01:13.750 align:start position:0%
an offline validator is a validator
 

00:01:13.750 --> 00:01:15.899 align:start position:0%
an offline validator is a validator
that's<00:01:14.620><c> either</c><00:01:14.770><c> just</c><00:01:15.070><c> simply</c><00:01:15.310><c> not</c><00:01:15.430><c> connected</c>

00:01:15.899 --> 00:01:15.909 align:start position:0%
that's either just simply not connected
 

00:01:15.909 --> 00:01:17.730 align:start position:0%
that's either just simply not connected
to<00:01:16.060><c> the</c><00:01:16.150><c> Internet</c><00:01:16.480><c> of</c><00:01:16.570><c> the</c><00:01:16.630><c> network</c><00:01:16.990><c> or</c>

00:01:17.730 --> 00:01:17.740 align:start position:0%
to the Internet of the network or
 

00:01:17.740 --> 00:01:20.280 align:start position:0%
to the Internet of the network or
they're<00:01:17.920><c> on</c><00:01:18.100><c> a</c><00:01:18.640><c> different</c><00:01:18.880><c> minority</c><00:01:19.630><c> chain</c><00:01:19.870><c> so</c>

00:01:20.280 --> 00:01:20.290 align:start position:0%
they're on a different minority chain so
 

00:01:20.290 --> 00:01:21.620 align:start position:0%
they're on a different minority chain so
from<00:01:20.470><c> the</c><00:01:20.560><c> view</c><00:01:20.770><c> of</c><00:01:20.979><c> the</c><00:01:21.220><c> the</c><00:01:21.250><c> majority</c>

00:01:21.620 --> 00:01:21.630 align:start position:0%
from the view of the the majority
 

00:01:21.630 --> 00:01:23.940 align:start position:0%
from the view of the the majority
canonical<00:01:22.630><c> chain</c><00:01:22.870><c> whether</c><00:01:23.560><c> or</c><00:01:23.680><c> not</c><00:01:23.770><c> they're</c>

00:01:23.940 --> 00:01:23.950 align:start position:0%
canonical chain whether or not they're
 

00:01:23.950 --> 00:01:25.320 align:start position:0%
canonical chain whether or not they're
just<00:01:23.979><c> completely</c><00:01:24.520><c> offline</c><00:01:24.820><c> or</c><00:01:25.180><c> whether</c>

00:01:25.320 --> 00:01:25.330 align:start position:0%
just completely offline or whether
 

00:01:25.330 --> 00:01:26.219 align:start position:0%
just completely offline or whether
they're<00:01:25.450><c> on</c><00:01:25.510><c> a</c><00:01:25.540><c> different</c><00:01:25.690><c> chain</c><00:01:26.050><c> it's</c>

00:01:26.219 --> 00:01:26.229 align:start position:0%
they're on a different chain it's
 

00:01:26.229 --> 00:01:28.100 align:start position:0%
they're on a different chain it's
basically<00:01:26.500><c> the</c><00:01:26.650><c> same</c><00:01:26.860><c> to</c><00:01:27.010><c> us</c><00:01:27.159><c> so</c><00:01:27.820><c> these</c>

00:01:28.100 --> 00:01:28.110 align:start position:0%
basically the same to us so these
 

00:01:28.110 --> 00:01:31.770 align:start position:0%
basically the same to us so these
validators<00:01:29.110><c> they</c><00:01:29.290><c> stand</c><00:01:29.680><c> to</c><00:01:30.190><c> lose</c><00:01:30.220><c> in</c><00:01:30.850><c> rewards</c>

00:01:31.770 --> 00:01:31.780 align:start position:0%
validators they stand to lose in rewards
 

00:01:31.780 --> 00:01:33.719 align:start position:0%
validators they stand to lose in rewards
what<00:01:31.990><c> they</c><00:01:32.110><c> would</c><00:01:32.350><c> have</c><00:01:32.470><c> what</c><00:01:33.070><c> they</c><00:01:33.159><c> stand</c><00:01:33.610><c> to</c>

00:01:33.719 --> 00:01:33.729 align:start position:0%
what they would have what they stand to
 

00:01:33.729 --> 00:01:35.430 align:start position:0%
what they would have what they stand to
lose<00:01:33.790><c> in</c><00:01:34.270><c> penalties</c><00:01:34.810><c> what</c><00:01:35.049><c> they</c><00:01:35.170><c> would</c><00:01:35.320><c> have</c>

00:01:35.430 --> 00:01:35.440 align:start position:0%
lose in penalties what they would have
 

00:01:35.440 --> 00:01:37.080 align:start position:0%
lose in penalties what they would have
gained<00:01:35.680><c> in</c><00:01:35.830><c> rewards</c><00:01:36.430><c> so</c><00:01:36.760><c> they're</c><00:01:36.880><c> going</c><00:01:37.000><c> to</c>

00:01:37.080 --> 00:01:37.090 align:start position:0%
gained in rewards so they're going to
 

00:01:37.090 --> 00:01:38.580 align:start position:0%
gained in rewards so they're going to
start<00:01:37.479><c> sort</c><00:01:37.720><c> of</c><00:01:37.750><c> leaking</c><00:01:38.080><c> out</c><00:01:38.229><c> at</c><00:01:38.409><c> five</c>

00:01:38.580 --> 00:01:38.590 align:start position:0%
start sort of leaking out at five
 

00:01:38.590 --> 00:01:39.060 align:start position:0%
start sort of leaking out at five
percent

00:01:39.060 --> 00:01:39.070 align:start position:0%
percent
 

00:01:39.070 --> 00:01:41.640 align:start position:0%
percent
five<00:01:39.490><c> to</c><00:01:39.640><c> ten</c><00:01:39.790><c> percent</c><00:01:39.909><c> per</c><00:01:40.299><c> year</c><00:01:40.630><c> this</c><00:01:41.409><c> is</c><00:01:41.530><c> in</c>

00:01:41.640 --> 00:01:41.650 align:start position:0%
five to ten percent per year this is in
 

00:01:41.650 --> 00:01:42.690 align:start position:0%
five to ten percent per year this is in
the<00:01:41.710><c> case</c><00:01:41.860><c> where</c><00:01:42.070><c> there's</c><00:01:42.220><c> only</c><00:01:42.340><c> just</c><00:01:42.460><c> a</c>

00:01:42.690 --> 00:01:42.700 align:start position:0%
the case where there's only just a
 

00:01:42.700 --> 00:01:44.010 align:start position:0%
the case where there's only just a
handful<00:01:43.000><c> of</c><00:01:43.060><c> validators</c><00:01:43.540><c> if</c><00:01:43.659><c> there's</c><00:01:43.810><c> enough</c>

00:01:44.010 --> 00:01:44.020 align:start position:0%
handful of validators if there's enough
 

00:01:44.020 --> 00:01:45.719 align:start position:0%
handful of validators if there's enough
validators<00:01:44.440><c> to</c><00:01:44.530><c> prevent</c><00:01:44.830><c> finality</c><00:01:45.159><c> the</c>

00:01:45.719 --> 00:01:45.729 align:start position:0%
validators to prevent finality the
 

00:01:45.729 --> 00:01:47.490 align:start position:0%
validators to prevent finality the
system<00:01:46.090><c> swaps</c><00:01:46.600><c> into</c><00:01:46.869><c> this</c><00:01:46.960><c> mode</c><00:01:47.229><c> where</c><00:01:47.440><c> it</c>

00:01:47.490 --> 00:01:47.500 align:start position:0%
system swaps into this mode where it
 

00:01:47.500 --> 00:01:50.399 align:start position:0%
system swaps into this mode where it
starts<00:01:47.770><c> to</c><00:01:47.890><c> quickly</c><00:01:48.100><c> eject</c><00:01:48.549><c> validators</c><00:01:49.409><c> but</c>

00:01:50.399 --> 00:01:50.409 align:start position:0%
starts to quickly eject validators but
 

00:01:50.409 --> 00:01:51.990 align:start position:0%
starts to quickly eject validators but
this<00:01:50.500><c> is</c><00:01:50.590><c> just</c><00:01:50.770><c> so</c><00:01:50.890><c> like</c><00:01:51.070><c> general</c><00:01:51.430><c> individual</c>

00:01:51.990 --> 00:01:52.000 align:start position:0%
this is just so like general individual
 

00:01:52.000 --> 00:01:54.450 align:start position:0%
this is just so like general individual
case<00:01:52.240><c> our</c><00:01:52.540><c> losses</c><00:01:52.950><c> so</c><00:01:53.950><c> then</c><00:01:54.100><c> the</c><00:01:54.159><c> other</c><00:01:54.310><c> hand</c>

00:01:54.450 --> 00:01:54.460 align:start position:0%
case our losses so then the other hand
 

00:01:54.460 --> 00:01:55.830 align:start position:0%
case our losses so then the other hand
we<00:01:54.580><c> have</c><00:01:54.700><c> equivocating</c><00:01:55.210><c> validator</c><00:01:55.570><c> so</c><00:01:55.750><c> these</c>

00:01:55.830 --> 00:01:55.840 align:start position:0%
we have equivocating validator so these
 

00:01:55.840 --> 00:01:58.230 align:start position:0%
we have equivocating validator so these
are<00:01:55.990><c> validators</c><00:01:56.440><c> that</c><00:01:56.619><c> have</c><00:01:57.240><c> produced</c>

00:01:58.230 --> 00:01:58.240 align:start position:0%
are validators that have produced
 

00:01:58.240 --> 00:02:00.120 align:start position:0%
are validators that have produced
conflicting<00:01:58.930><c> messages</c><00:01:59.350><c> so</c><00:01:59.530><c> the</c><00:01:59.619><c> easiest</c><00:01:59.890><c> one</c>

00:02:00.120 --> 00:02:00.130 align:start position:0%
conflicting messages so the easiest one
 

00:02:00.130 --> 00:02:01.380 align:start position:0%
conflicting messages so the easiest one
is<00:02:00.369><c> you</c><00:02:00.520><c> know</c><00:02:00.610><c> two</c><00:02:00.760><c> blocks</c><00:02:01.030><c> are</c><00:02:01.180><c> the</c><00:02:01.240><c> same</c>

00:02:01.380 --> 00:02:01.390 align:start position:0%
is you know two blocks are the same
 

00:02:01.390 --> 00:02:02.880 align:start position:0%
is you know two blocks are the same
height<00:02:01.630><c> that</c><00:02:01.780><c> are</c><00:02:01.869><c> different</c><00:02:02.170><c> it's</c><00:02:02.530><c> a</c><00:02:02.619><c> double</c>

00:02:02.880 --> 00:02:02.890 align:start position:0%
height that are different it's a double
 

00:02:02.890 --> 00:02:04.649 align:start position:0%
height that are different it's a double
vote<00:02:03.070><c> they</c><00:02:03.280><c> violated</c><00:02:03.670><c> the</c><00:02:03.760><c> protocol</c><00:02:04.210><c> they're</c>

00:02:04.649 --> 00:02:04.659 align:start position:0%
vote they violated the protocol they're
 

00:02:04.659 --> 00:02:05.700 align:start position:0%
vote they violated the protocol they're
going<00:02:04.780><c> to</c><00:02:04.840><c> lose</c><00:02:04.960><c> a</c><00:02:04.990><c> lot</c><00:02:05.110><c> of</c><00:02:05.260><c> state</c><00:02:05.380><c> quickly</c>

00:02:05.700 --> 00:02:05.710 align:start position:0%
going to lose a lot of state quickly
 

00:02:05.710 --> 00:02:06.719 align:start position:0%
going to lose a lot of state quickly
they<00:02:05.830><c> can</c><00:02:05.890><c> get</c><00:02:06.070><c> slashed</c><00:02:06.369><c> and</c><00:02:06.549><c> they're</c><00:02:06.640><c> gonna</c>

00:02:06.719 --> 00:02:06.729 align:start position:0%
they can get slashed and they're gonna
 

00:02:06.729 --> 00:02:08.219 align:start position:0%
they can get slashed and they're gonna
get<00:02:06.850><c> it</c><00:02:06.970><c> back</c><00:02:07.119><c> ejected</c><00:02:07.600><c> from</c><00:02:07.689><c> the</c><00:02:07.840><c> validator</c>

00:02:08.219 --> 00:02:08.229 align:start position:0%
get it back ejected from the validator
 

00:02:08.229 --> 00:02:10.800 align:start position:0%
get it back ejected from the validator
set<00:02:08.549><c> so</c><00:02:09.549><c> these</c><00:02:10.119><c> two</c><00:02:10.299><c> modes</c><00:02:10.509><c> have</c><00:02:10.689><c> two</c>

00:02:10.800 --> 00:02:10.810 align:start position:0%
set so these two modes have two
 

00:02:10.810 --> 00:02:12.390 align:start position:0%
set so these two modes have two
interesting<00:02:11.019><c> properties</c><00:02:11.290><c> the</c><00:02:11.890><c> first</c><00:02:12.160><c> is</c><00:02:12.310><c> that</c>

00:02:12.390 --> 00:02:12.400 align:start position:0%
interesting properties the first is that
 

00:02:12.400 --> 00:02:14.160 align:start position:0%
interesting properties the first is that
taking<00:02:12.700><c> evaluator</c><00:02:13.090><c> offline</c><00:02:13.510><c> is</c><00:02:13.720><c> generally</c><00:02:14.080><c> an</c>

00:02:14.160 --> 00:02:14.170 align:start position:0%
taking evaluator offline is generally an
 

00:02:14.170 --> 00:02:16.380 align:start position:0%
taking evaluator offline is generally an
unprivileged<00:02:14.620><c> attack</c><00:02:15.190><c> so</c><00:02:15.670><c> if</c><00:02:15.880><c> you</c><00:02:16.000><c> know</c><00:02:16.120><c> a</c><00:02:16.150><c> bug</c>

00:02:16.380 --> 00:02:16.390 align:start position:0%
unprivileged attack so if you know a bug
 

00:02:16.390 --> 00:02:17.610 align:start position:0%
unprivileged attack so if you know a bug
that<00:02:16.420><c> causes</c><00:02:16.959><c> a</c><00:02:16.990><c> node</c>

00:02:17.610 --> 00:02:17.620 align:start position:0%
that causes a node
 

00:02:17.620 --> 00:02:19.320 align:start position:0%
that causes a node
expend<00:02:18.160><c> its</c><00:02:18.310><c> resources</c><00:02:18.730><c> and</c><00:02:18.880><c> doing</c><00:02:19.120><c> an</c><00:02:19.209><c> auto</c>

00:02:19.320 --> 00:02:19.330 align:start position:0%
expend its resources and doing an auto
 

00:02:19.330 --> 00:02:22.589 align:start position:0%
expend its resources and doing an auto
service<00:02:19.780><c> or</c><00:02:20.220><c> or</c><00:02:21.220><c> perhaps</c><00:02:21.370><c> crash</c><00:02:21.910><c> then</c><00:02:22.300><c> you</c><00:02:22.450><c> can</c>

00:02:22.589 --> 00:02:22.599 align:start position:0%
service or or perhaps crash then you can
 

00:02:22.599 --> 00:02:24.449 align:start position:0%
service or or perhaps crash then you can
generally<00:02:23.110><c> do</c><00:02:23.200><c> this</c><00:02:23.410><c> by</c><00:02:23.830><c> just</c><00:02:23.890><c> connecting</c><00:02:24.160><c> to</c>

00:02:24.449 --> 00:02:24.459 align:start position:0%
generally do this by just connecting to
 

00:02:24.459 --> 00:02:25.920 align:start position:0%
generally do this by just connecting to
it<00:02:24.580><c> on</c><00:02:24.670><c> the</c><00:02:24.790><c> on</c><00:02:25.060><c> the</c><00:02:25.150><c> internet</c><00:02:25.540><c> and</c><00:02:25.720><c> then</c>

00:02:25.920 --> 00:02:25.930 align:start position:0%
it on the on the internet and then
 

00:02:25.930 --> 00:02:27.479 align:start position:0%
it on the on the internet and then
sending<00:02:26.170><c> in</c><00:02:26.290><c> a</c><00:02:26.349><c> package</c><00:02:26.709><c> and</c><00:02:26.830><c> watching</c><00:02:27.130><c> packet</c>

00:02:27.479 --> 00:02:27.489 align:start position:0%
sending in a package and watching packet
 

00:02:27.489 --> 00:02:29.220 align:start position:0%
sending in a package and watching packet
and<00:02:27.610><c> watching</c><00:02:27.819><c> it</c><00:02:27.910><c> go</c><00:02:28.000><c> down</c><00:02:28.180><c> whilst</c><00:02:28.930><c> on</c><00:02:29.140><c> the</c>

00:02:29.220 --> 00:02:29.230 align:start position:0%
and watching it go down whilst on the
 

00:02:29.230 --> 00:02:31.199 align:start position:0%
and watching it go down whilst on the
other<00:02:29.410><c> hand</c><00:02:29.730><c> making</c><00:02:30.730><c> it</c><00:02:30.880><c> validator</c>

00:02:31.199 --> 00:02:31.209 align:start position:0%
other hand making it validator
 

00:02:31.209 --> 00:02:33.930 align:start position:0%
other hand making it validator
equivocate<00:02:31.720><c> should</c><00:02:32.500><c> if</c><00:02:32.830><c> the</c><00:02:33.459><c> software</c><00:02:33.700><c> stack</c>

00:02:33.930 --> 00:02:33.940 align:start position:0%
equivocate should if the software stack
 

00:02:33.940 --> 00:02:36.600 align:start position:0%
equivocate should if the software stack
is<00:02:34.120><c> good</c><00:02:34.300><c> require</c><00:02:35.260><c> elevated</c><00:02:36.010><c> privileges</c><00:02:36.130><c> on</c>

00:02:36.600 --> 00:02:36.610 align:start position:0%
is good require elevated privileges on
 

00:02:36.610 --> 00:02:38.430 align:start position:0%
is good require elevated privileges on
the<00:02:36.640><c> host</c><00:02:36.940><c> machine</c><00:02:37.360><c> so</c><00:02:37.660><c> it</c><00:02:37.870><c> requires</c><00:02:38.200><c> someone</c>

00:02:38.430 --> 00:02:38.440 align:start position:0%
the host machine so it requires someone
 

00:02:38.440 --> 00:02:40.110 align:start position:0%
the host machine so it requires someone
to<00:02:38.650><c> have</c><00:02:38.800><c> access</c><00:02:39.130><c> to</c><00:02:39.310><c> the</c><00:02:39.400><c> machine</c><00:02:39.700><c> which</c><00:02:39.940><c> is</c>

00:02:40.110 --> 00:02:40.120 align:start position:0%
to have access to the machine which is
 

00:02:40.120 --> 00:02:42.110 align:start position:0%
to have access to the machine which is
running<00:02:40.150><c> the</c><00:02:40.480><c> software</c><00:02:40.810><c> of</c><00:02:41.080><c> the</c><00:02:41.230><c> validator</c>

00:02:42.110 --> 00:02:42.120 align:start position:0%
running the software of the validator
 

00:02:42.120 --> 00:02:45.150 align:start position:0%
running the software of the validator
the<00:02:43.120><c> reason</c><00:02:43.390><c> being</c><00:02:43.630><c> is</c><00:02:43.900><c> that</c><00:02:43.959><c> if</c><00:02:44.560><c> a</c><00:02:44.739><c> validator</c>

00:02:45.150 --> 00:02:45.160 align:start position:0%
the reason being is that if a validator
 

00:02:45.160 --> 00:02:46.650 align:start position:0%
the reason being is that if a validator
can<00:02:45.310><c> keep</c><00:02:45.459><c> a</c><00:02:45.580><c> history</c><00:02:45.700><c> of</c><00:02:46.000><c> its</c><00:02:46.269><c> previously</c>

00:02:46.650 --> 00:02:46.660 align:start position:0%
can keep a history of its previously
 

00:02:46.660 --> 00:02:49.110 align:start position:0%
can keep a history of its previously
signed<00:02:46.959><c> messages</c><00:02:47.530><c> it</c><00:02:48.370><c> can</c><00:02:48.610><c> check</c><00:02:48.970><c> these</c>

00:02:49.110 --> 00:02:49.120 align:start position:0%
signed messages it can check these
 

00:02:49.120 --> 00:02:50.850 align:start position:0%
signed messages it can check these
messages<00:02:49.660><c> and</c><00:02:49.900><c> detect</c><00:02:50.380><c> if</c><00:02:50.500><c> there's</c><00:02:50.650><c> a</c><00:02:50.709><c> clean</c>

00:02:50.850 --> 00:02:50.860 align:start position:0%
messages and detect if there's a clean
 

00:02:50.860 --> 00:02:53.190 align:start position:0%
messages and detect if there's a clean
and<00:02:51.250><c> equivocation</c><00:02:51.850><c> before</c><00:02:52.239><c> it</c><00:02:52.600><c> signs</c><00:02:52.930><c> a</c><00:02:53.080><c> new</c>

00:02:53.190 --> 00:02:53.200 align:start position:0%
and equivocation before it signs a new
 

00:02:53.200 --> 00:02:55.140 align:start position:0%
and equivocation before it signs a new
one<00:02:53.380><c> so</c><00:02:53.590><c> if</c><00:02:53.709><c> you</c><00:02:53.769><c> imagine</c><00:02:53.920><c> the</c><00:02:54.310><c> equivocation</c>

00:02:55.140 --> 00:02:55.150 align:start position:0%
one so if you imagine the equivocation
 

00:02:55.150 --> 00:02:57.000 align:start position:0%
one so if you imagine the equivocation
detection<00:02:55.600><c> and</c><00:02:55.840><c> the</c><00:02:56.200><c> signing</c><00:02:56.410><c> is</c><00:02:56.680><c> just</c><00:02:56.860><c> like</c>

00:02:57.000 --> 00:02:57.010 align:start position:0%
detection and the signing is just like
 

00:02:57.010 --> 00:02:58.080 align:start position:0%
detection and the signing is just like
one<00:02:57.250><c> black</c><00:02:57.519><c> box</c>

00:02:58.080 --> 00:02:58.090 align:start position:0%
one black box
 

00:02:58.090 --> 00:02:59.340 align:start position:0%
one black box
there<00:02:58.299><c> should</c><00:02:58.420><c> be</c><00:02:58.450><c> no</c><00:02:58.630><c> message</c><00:02:58.959><c> that</c><00:02:59.080><c> you</c><00:02:59.140><c> do</c>

00:02:59.340 --> 00:02:59.350 align:start position:0%
there should be no message that you do
 

00:02:59.350 --> 00:03:00.870 align:start position:0%
there should be no message that you do
or<00:02:59.560><c> don't</c><00:02:59.709><c> send</c><00:03:00.040><c> to</c><00:03:00.160><c> it</c><00:03:00.280><c> that</c><00:03:00.400><c> can</c><00:03:00.489><c> cause</c><00:03:00.670><c> it</c><00:03:00.819><c> to</c>

00:03:00.870 --> 00:03:00.880 align:start position:0%
or don't send to it that can cause it to
 

00:03:00.880 --> 00:03:03.259 align:start position:0%
or don't send to it that can cause it to
equivocate<00:03:01.239><c> without</c><00:03:01.660><c> it</c><00:03:01.810><c> being</c><00:03:01.989><c> aware</c><00:03:02.620><c> of</c><00:03:02.680><c> it</c>

00:03:03.259 --> 00:03:03.269 align:start position:0%
equivocate without it being aware of it
 

00:03:03.269 --> 00:03:07.020 align:start position:0%
equivocate without it being aware of it
beforehand<00:03:05.250><c> so</c><00:03:06.250><c> now</c><00:03:06.370><c> I</c><00:03:06.430><c> want</c><00:03:06.610><c> to</c><00:03:06.640><c> move</c><00:03:06.730><c> on</c><00:03:06.880><c> to</c>

00:03:07.020 --> 00:03:07.030 align:start position:0%
beforehand so now I want to move on to
 

00:03:07.030 --> 00:03:09.089 align:start position:0%
beforehand so now I want to move on to
the<00:03:07.150><c> software</c><00:03:07.420><c> components</c><00:03:08.019><c> this</c><00:03:08.140><c> is</c><00:03:08.200><c> how</c><00:03:08.440><c> the</c>

00:03:09.089 --> 00:03:09.099 align:start position:0%
the software components this is how the
 

00:03:09.099 --> 00:03:10.289 align:start position:0%
the software components this is how the
researchers<00:03:09.400><c> and</c><00:03:09.640><c> implementers</c><00:03:10.030><c> have</c><00:03:10.180><c> been</c>

00:03:10.289 --> 00:03:10.299 align:start position:0%
researchers and implementers have been
 

00:03:10.299 --> 00:03:12.059 align:start position:0%
researchers and implementers have been
thinking<00:03:10.540><c> about</c><00:03:10.720><c> this</c><00:03:11.049><c> system</c><00:03:11.440><c> into</c><00:03:12.040><c> two</c>

00:03:12.059 --> 00:03:12.069 align:start position:0%
thinking about this system into two
 

00:03:12.069 --> 00:03:13.920 align:start position:0%
thinking about this system into two
distinct<00:03:12.730><c> components</c><00:03:12.880><c> one</c><00:03:13.480><c> is</c><00:03:13.599><c> the</c><00:03:13.750><c> beacon</c>

00:03:13.920 --> 00:03:13.930 align:start position:0%
distinct components one is the beacon
 

00:03:13.930 --> 00:03:15.449 align:start position:0%
distinct components one is the beacon
node<00:03:14.200><c> the</c><00:03:14.349><c> other</c><00:03:14.470><c> is</c><00:03:14.650><c> the</c><00:03:14.769><c> validator</c><00:03:15.099><c> client</c>

00:03:15.449 --> 00:03:15.459 align:start position:0%
node the other is the validator client
 

00:03:15.459 --> 00:03:17.789 align:start position:0%
node the other is the validator client
so<00:03:16.060><c> the</c><00:03:16.180><c> validator</c><00:03:16.780><c> client</c><00:03:17.200><c> I'm</c><00:03:17.410><c> sorry</c><00:03:17.620><c> that</c>

00:03:17.789 --> 00:03:17.799 align:start position:0%
so the validator client I'm sorry that
 

00:03:17.799 --> 00:03:20.100 align:start position:0%
so the validator client I'm sorry that
the<00:03:18.010><c> beacon</c><00:03:18.310><c> node</c><00:03:18.489><c> is</c><00:03:19.120><c> what</c><00:03:19.330><c> we</c><00:03:19.450><c> know</c><00:03:19.599><c> is</c><00:03:19.810><c> guest</c>

00:03:20.100 --> 00:03:20.110 align:start position:0%
the beacon node is what we know is guest
 

00:03:20.110 --> 00:03:21.210 align:start position:0%
the beacon node is what we know is guest
this<00:03:20.260><c> is</c><00:03:20.410><c> the</c><00:03:20.500><c> big</c><00:03:20.650><c> piece</c><00:03:20.769><c> of</c><00:03:20.830><c> software</c>

00:03:21.210 --> 00:03:21.220 align:start position:0%
this is the big piece of software
 

00:03:21.220 --> 00:03:22.770 align:start position:0%
this is the big piece of software
connects<00:03:21.640><c> to</c><00:03:21.700><c> the</c><00:03:21.790><c> p2p</c><00:03:22.060><c> network</c><00:03:22.420><c> it</c><00:03:22.630><c> gets</c>

00:03:22.770 --> 00:03:22.780 align:start position:0%
connects to the p2p network it gets
 

00:03:22.780 --> 00:03:24.840 align:start position:0%
connects to the p2p network it gets
peers<00:03:23.140><c> imports</c><00:03:24.010><c> blog</c><00:03:24.250><c> stub</c><00:03:24.640><c> state</c>

00:03:24.840 --> 00:03:24.850 align:start position:0%
peers imports blog stub state
 

00:03:24.850 --> 00:03:27.000 align:start position:0%
peers imports blog stub state
transitions<00:03:25.390><c> verify</c><00:03:25.810><c> signatures</c><00:03:26.350><c> but</c>

00:03:27.000 --> 00:03:27.010 align:start position:0%
transitions verify signatures but
 

00:03:27.010 --> 00:03:29.009 align:start position:0%
transitions verify signatures but
importantly<00:03:27.430><c> it</c><00:03:27.489><c> doesn't</c><00:03:27.850><c> sign</c><00:03:28.269><c> messages</c>

00:03:29.009 --> 00:03:29.019 align:start position:0%
importantly it doesn't sign messages
 

00:03:29.019 --> 00:03:31.229 align:start position:0%
importantly it doesn't sign messages
that<00:03:29.530><c> is</c><00:03:29.739><c> the</c><00:03:29.890><c> job</c><00:03:30.100><c> of</c><00:03:30.130><c> the</c><00:03:30.489><c> validator</c><00:03:30.850><c> client</c>

00:03:31.229 --> 00:03:31.239 align:start position:0%
that is the job of the validator client
 

00:03:31.239 --> 00:03:34.650 align:start position:0%
that is the job of the validator client
so<00:03:31.510><c> the</c><00:03:31.630><c> validator</c><00:03:31.930><c> client</c><00:03:32.940><c> it</c><00:03:33.940><c> connects</c><00:03:34.600><c> to</c>

00:03:34.650 --> 00:03:34.660 align:start position:0%
so the validator client it connects to
 

00:03:34.660 --> 00:03:37.050 align:start position:0%
so the validator client it connects to
the<00:03:34.750><c> beacon</c><00:03:35.140><c> node</c><00:03:35.350><c> and</c><00:03:35.590><c> uses</c><00:03:36.010><c> it</c><00:03:36.190><c> as</c><00:03:36.310><c> a</c><00:03:36.370><c> source</c>

00:03:37.050 --> 00:03:37.060 align:start position:0%
the beacon node and uses it as a source
 

00:03:37.060 --> 00:03:38.160 align:start position:0%
the beacon node and uses it as a source
of<00:03:37.150><c> truth</c><00:03:37.390><c> so</c><00:03:37.510><c> he</c><00:03:37.569><c> doesn't</c><00:03:37.810><c> need</c><00:03:37.870><c> to</c><00:03:37.989><c> connect</c>

00:03:38.160 --> 00:03:38.170 align:start position:0%
of truth so he doesn't need to connect
 

00:03:38.170 --> 00:03:40.080 align:start position:0%
of truth so he doesn't need to connect
to<00:03:38.260><c> the</c><00:03:38.350><c> internet</c><00:03:38.590><c> directly</c><00:03:39.040><c> it</c><00:03:39.400><c> connects</c><00:03:39.730><c> via</c>

00:03:40.080 --> 00:03:40.090 align:start position:0%
to the internet directly it connects via
 

00:03:40.090 --> 00:03:42.330 align:start position:0%
to the internet directly it connects via
the<00:03:40.299><c> beacon</c><00:03:40.600><c> node</c><00:03:40.750><c> and</c><00:03:41.650><c> then</c><00:03:41.799><c> it</c><00:03:41.950><c> requests</c>

00:03:42.330 --> 00:03:42.340 align:start position:0%
the beacon node and then it requests
 

00:03:42.340 --> 00:03:44.640 align:start position:0%
the beacon node and then it requests
blocks<00:03:42.609><c> its</c><00:03:42.940><c> duties</c><00:03:43.299><c> from</c><00:03:43.660><c> the</c><00:03:43.900><c> from</c><00:03:44.560><c> the</c>

00:03:44.640 --> 00:03:44.650 align:start position:0%
blocks its duties from the from the
 

00:03:44.650 --> 00:03:46.770 align:start position:0%
blocks its duties from the from the
beacon<00:03:44.920><c> node</c><00:03:45.130><c> signs</c><00:03:46.000><c> them</c><00:03:46.209><c> and</c><00:03:46.299><c> then</c><00:03:46.389><c> returns</c>

00:03:46.770 --> 00:03:46.780 align:start position:0%
beacon node signs them and then returns
 

00:03:46.780 --> 00:03:47.970 align:start position:0%
beacon node signs them and then returns
them<00:03:47.049><c> so</c><00:03:47.410><c> this</c><00:03:47.470><c> is</c><00:03:47.560><c> what</c><00:03:47.680><c> we</c><00:03:47.769><c> have</c><00:03:47.889><c> this</c>

00:03:47.970 --> 00:03:47.980 align:start position:0%
them so this is what we have this
 

00:03:47.980 --> 00:03:50.129 align:start position:0%
them so this is what we have this
relationship<00:03:48.459><c> where</c><00:03:48.850><c> a</c><00:03:49.090><c> bad</c><00:03:49.420><c> beacon</c><00:03:49.810><c> no</c><00:03:49.930><c> can</c>

00:03:50.129 --> 00:03:50.139 align:start position:0%
relationship where a bad beacon no can
 

00:03:50.139 --> 00:03:52.410 align:start position:0%
relationship where a bad beacon no can
cause<00:03:50.319><c> a</c><00:03:50.350><c> validator</c><00:03:50.799><c> client</c><00:03:51.220><c> to</c><00:03:51.579><c> be</c><00:03:51.880><c> offline</c>

00:03:52.410 --> 00:03:52.420 align:start position:0%
cause a validator client to be offline
 

00:03:52.420 --> 00:03:54.750 align:start position:0%
cause a validator client to be offline
by<00:03:53.410><c> either</c><00:03:53.769><c> sending</c><00:03:54.010><c> it</c><00:03:54.130><c> nothing</c><00:03:54.400><c> or</c><00:03:54.519><c> sending</c>

00:03:54.750 --> 00:03:54.760 align:start position:0%
by either sending it nothing or sending
 

00:03:54.760 --> 00:03:56.759 align:start position:0%
by either sending it nothing or sending
it<00:03:54.880><c> garbage</c><00:03:55.090><c> but</c><00:03:56.079><c> it</c><00:03:56.170><c> shouldn't</c><00:03:56.410><c> be</c><00:03:56.500><c> able</c><00:03:56.620><c> to</c>

00:03:56.759 --> 00:03:56.769 align:start position:0%
it garbage but it shouldn't be able to
 

00:03:56.769 --> 00:03:58.229 align:start position:0%
it garbage but it shouldn't be able to
if<00:03:56.980><c> there's</c><00:03:57.130><c> like</c><00:03:57.220><c> a</c><00:03:57.310><c> sovereign</c><00:03:57.700><c> well</c>

00:03:58.229 --> 00:03:58.239 align:start position:0%
if there's like a sovereign well
 

00:03:58.239 --> 00:03:59.940 align:start position:0%
if there's like a sovereign well
maintained<00:03:58.690><c> validator</c><00:03:59.049><c> client</c><00:03:59.380><c> the</c><00:03:59.680><c> beacon</c>

00:03:59.940 --> 00:03:59.950 align:start position:0%
maintained validator client the beacon
 

00:03:59.950 --> 00:04:01.740 align:start position:0%
maintained validator client the beacon
node<00:04:00.069><c> should</c><00:04:00.220><c> not</c><00:04:00.370><c> be</c><00:04:00.489><c> able</c><00:04:00.639><c> to</c><00:04:00.760><c> make</c><00:04:00.970><c> it</c><00:04:01.180><c> be</c>

00:04:01.740 --> 00:04:01.750 align:start position:0%
node should not be able to make it be
 

00:04:01.750 --> 00:04:06.539 align:start position:0%
node should not be able to make it be
slashed<00:04:03.750><c> so</c><00:04:04.750><c> moving</c><00:04:05.350><c> on</c><00:04:05.500><c> this</c><00:04:06.100><c> is</c><00:04:06.250><c> a</c><00:04:06.280><c> bit</c><00:04:06.400><c> of</c><00:04:06.489><c> a</c>

00:04:06.539 --> 00:04:06.549 align:start position:0%
slashed so moving on this is a bit of a
 

00:04:06.549 --> 00:04:08.280 align:start position:0%
slashed so moving on this is a bit of a
networking<00:04:06.940><c> overview</c><00:04:07.660><c> of</c><00:04:07.870><c> the</c><00:04:08.079><c> two</c>

00:04:08.280 --> 00:04:08.290 align:start position:0%
networking overview of the two
 

00:04:08.290 --> 00:04:10.199 align:start position:0%
networking overview of the two
components<00:04:08.829><c> here</c><00:04:09.010><c> here</c><00:04:09.400><c> I</c><00:04:09.430><c> have</c><00:04:09.730><c> these</c><00:04:09.970><c> two</c>

00:04:10.199 --> 00:04:10.209 align:start position:0%
components here here I have these two
 

00:04:10.209 --> 00:04:12.900 align:start position:0%
components here here I have these two
binaries<00:04:10.959><c> here</c><00:04:11.340><c> that</c><00:04:12.340><c> are</c><00:04:12.400><c> perhaps</c><00:04:12.519><c> in</c><00:04:12.819><c> the</c>

00:04:12.900 --> 00:04:12.910 align:start position:0%
binaries here that are perhaps in the
 

00:04:12.910 --> 00:04:14.490 align:start position:0%
binaries here that are perhaps in the
wrong<00:04:13.060><c> Linux</c><00:04:13.660><c> folders</c><00:04:14.019><c> but</c><00:04:14.230><c> we'll</c><00:04:14.380><c> ignore</c>

00:04:14.490 --> 00:04:14.500 align:start position:0%
wrong Linux folders but we'll ignore
 

00:04:14.500 --> 00:04:17.490 align:start position:0%
wrong Linux folders but we'll ignore
that<00:04:15.269><c> they</c><00:04:16.269><c> don't</c><00:04:16.450><c> necessarily</c><00:04:16.600><c> have</c><00:04:17.139><c> to</c><00:04:17.169><c> be</c>

00:04:17.490 --> 00:04:17.500 align:start position:0%
that they don't necessarily have to be
 

00:04:17.500 --> 00:04:19.800 align:start position:0%
that they don't necessarily have to be
two<00:04:18.489><c> distinct</c><00:04:18.880><c> binary</c><00:04:19.090><c> they</c><00:04:19.419><c> could</c><00:04:19.600><c> be</c><00:04:19.690><c> the</c>

00:04:19.800 --> 00:04:19.810 align:start position:0%
two distinct binary they could be the
 

00:04:19.810 --> 00:04:20.430 align:start position:0%
two distinct binary they could be the
same<00:04:19.959><c> thing</c>

00:04:20.430 --> 00:04:20.440 align:start position:0%
same thing
 

00:04:20.440 --> 00:04:21.509 align:start position:0%
same thing
but<00:04:20.650><c> this</c><00:04:20.739><c> pattern</c><00:04:20.919><c> is</c><00:04:21.100><c> what</c><00:04:21.220><c> we're</c><00:04:21.340><c> seeing</c>

00:04:21.509 --> 00:04:21.519 align:start position:0%
but this pattern is what we're seeing
 

00:04:21.519 --> 00:04:23.190 align:start position:0%
but this pattern is what we're seeing
from<00:04:21.669><c> the</c><00:04:21.789><c> majority</c><00:04:22.210><c> of</c><00:04:22.300><c> clients</c><00:04:22.539><c> and</c><00:04:22.900><c> ours</c>

00:04:23.190 --> 00:04:23.200 align:start position:0%
from the majority of clients and ours
 

00:04:23.200 --> 00:04:25.409 align:start position:0%
from the majority of clients and ours
included<00:04:23.440><c> I'll</c><00:04:24.010><c> sort</c><00:04:24.490><c> of</c><00:04:24.520><c> show</c><00:04:24.639><c> you</c><00:04:24.700><c> why</c><00:04:24.940><c> on</c>

00:04:25.409 --> 00:04:25.419 align:start position:0%
included I'll sort of show you why on
 

00:04:25.419 --> 00:04:28.320 align:start position:0%
included I'll sort of show you why on
the<00:04:25.570><c> next</c><00:04:25.810><c> slide</c><00:04:26.020><c> but</c><00:04:27.010><c> in</c><00:04:27.669><c> the</c><00:04:27.970><c> terms</c><00:04:28.120><c> of</c>

00:04:28.320 --> 00:04:28.330 align:start position:0%
the next slide but in the terms of
 

00:04:28.330 --> 00:04:30.060 align:start position:0%
the next slide but in the terms of
networks<00:04:28.630><c> we</c><00:04:28.840><c> have</c><00:04:28.870><c> the</c><00:04:29.200><c> internet</c><00:04:29.620><c> over</c><00:04:29.740><c> here</c>

00:04:30.060 --> 00:04:30.070 align:start position:0%
networks we have the internet over here
 

00:04:30.070 --> 00:04:31.080 align:start position:0%
networks we have the internet over here
which<00:04:30.340><c> is</c><00:04:30.490><c> the</c><00:04:30.669><c> untrue</c>

00:04:31.080 --> 00:04:31.090 align:start position:0%
which is the untrue
 

00:04:31.090 --> 00:04:35.610 align:start position:0%
which is the untrue
zone<00:04:31.620><c> so</c><00:04:32.620><c> this</c><00:04:32.770><c> is</c><00:04:32.919><c> where</c><00:04:33.100><c> we</c><00:04:34.030><c> have</c><00:04:34.620><c> anybody</c>

00:04:35.610 --> 00:04:35.620 align:start position:0%
zone so this is where we have anybody
 

00:04:35.620 --> 00:04:37.470 align:start position:0%
zone so this is where we have anybody
internet<00:04:36.190><c> we're</c><00:04:36.490><c> connecting</c><00:04:36.820><c> to</c><00:04:36.910><c> peers</c><00:04:37.120><c> via</c>

00:04:37.470 --> 00:04:37.480 align:start position:0%
internet we're connecting to peers via
 

00:04:37.480 --> 00:04:40.110 align:start position:0%
internet we're connecting to peers via
discovery<00:04:37.960><c> v5</c><00:04:38.380><c> using</c><00:04:38.889><c> UDP</c><00:04:39.130><c> and</c><00:04:39.850><c> then</c><00:04:40.000><c> we're</c>

00:04:40.110 --> 00:04:40.120 align:start position:0%
discovery v5 using UDP and then we're
 

00:04:40.120 --> 00:04:42.000 align:start position:0%
discovery v5 using UDP and then we're
talking<00:04:40.330><c> to</c><00:04:40.630><c> those</c><00:04:40.780><c> nodes</c><00:04:41.050><c> using</c><00:04:41.350><c> a</c><00:04:41.530><c> lid</c><00:04:41.650><c> p2p</c>

00:04:42.000 --> 00:04:42.010 align:start position:0%
talking to those nodes using a lid p2p
 

00:04:42.010 --> 00:04:44.189 align:start position:0%
talking to those nodes using a lid p2p
generally<00:04:42.400><c> over</c><00:04:42.580><c> TCP</c><00:04:43.090><c> this</c><00:04:43.810><c> is</c><00:04:43.930><c> where</c><00:04:44.050><c> people</c>

00:04:44.189 --> 00:04:44.199 align:start position:0%
generally over TCP this is where people
 

00:04:44.199 --> 00:04:45.840 align:start position:0%
generally over TCP this is where people
can<00:04:44.440><c> start</c><00:04:44.620><c> to</c><00:04:44.740><c> you</c><00:04:45.280><c> know</c><00:04:45.310><c> do</c><00:04:45.490><c> denial</c><00:04:45.760><c> of</c>

00:04:45.840 --> 00:04:45.850 align:start position:0%
can start to you know do denial of
 

00:04:45.850 --> 00:04:47.040 align:start position:0%
can start to you know do denial of
service<00:04:46.150><c> attacks</c><00:04:46.479><c> and</c><00:04:46.690><c> this</c><00:04:46.750><c> is</c><00:04:46.870><c> where</c><00:04:46.960><c> we</c>

00:04:47.040 --> 00:04:47.050 align:start position:0%
service attacks and this is where we
 

00:04:47.050 --> 00:04:48.870 align:start position:0%
service attacks and this is where we
need<00:04:47.169><c> to</c><00:04:47.229><c> be</c><00:04:47.320><c> cautious</c><00:04:47.470><c> of</c><00:04:47.710><c> this</c><00:04:47.919><c> where</c><00:04:48.760><c> on</c><00:04:48.820><c> the</c>

00:04:48.870 --> 00:04:48.880 align:start position:0%
need to be cautious of this where on the
 

00:04:48.880 --> 00:04:49.980 align:start position:0%
need to be cautious of this where on the
other<00:04:48.940><c> hand</c><00:04:49.210><c> we</c><00:04:49.330><c> have</c><00:04:49.449><c> a</c><00:04:49.479><c> private</c><00:04:49.900><c> network</c>

00:04:49.980 --> 00:04:49.990 align:start position:0%
other hand we have a private network
 

00:04:49.990 --> 00:04:51.840 align:start position:0%
other hand we have a private network
over<00:04:50.410><c> here</c><00:04:50.560><c> so</c><00:04:50.710><c> this</c><00:04:50.800><c> is</c><00:04:50.860><c> a</c><00:04:50.949><c> LAN</c><00:04:51.190><c> or</c><00:04:51.220><c> a</c><00:04:51.490><c> VPN</c>

00:04:51.840 --> 00:04:51.850 align:start position:0%
over here so this is a LAN or a VPN
 

00:04:51.850 --> 00:04:53.820 align:start position:0%
over here so this is a LAN or a VPN
something<00:04:52.240><c> we</c><00:04:52.330><c> trust</c><00:04:52.600><c> and</c><00:04:53.320><c> this</c><00:04:53.440><c> is</c><00:04:53.560><c> where</c><00:04:53.710><c> the</c>

00:04:53.820 --> 00:04:53.830 align:start position:0%
something we trust and this is where the
 

00:04:53.830 --> 00:04:56.129 align:start position:0%
something we trust and this is where the
validator<00:04:54.220><c> client</c><00:04:54.580><c> connects</c><00:04:54.970><c> to</c><00:04:55.060><c> the</c><00:04:55.330><c> beacon</c>

00:04:56.129 --> 00:04:56.139 align:start position:0%
validator client connects to the beacon
 

00:04:56.139 --> 00:04:59.280 align:start position:0%
validator client connects to the beacon
node<00:04:56.760><c> via</c><00:04:57.760><c> an</c><00:04:57.880><c> API</c><00:04:58.150><c> I</c><00:04:58.210><c> have</c><00:04:58.389><c> said</c><00:04:58.570><c> TCP</c><00:04:58.990><c> here</c><00:04:59.169><c> but</c>

00:04:59.280 --> 00:04:59.290 align:start position:0%
node via an API I have said TCP here but
 

00:04:59.290 --> 00:05:01.230 align:start position:0%
node via an API I have said TCP here but
it<00:04:59.380><c> could</c><00:04:59.470><c> be</c><00:04:59.530><c> anything</c><00:04:59.880><c> so</c><00:05:00.880><c> the</c><00:05:00.970><c> reason</c><00:05:01.210><c> that</c>

00:05:01.230 --> 00:05:01.240 align:start position:0%
it could be anything so the reason that
 

00:05:01.240 --> 00:05:03.090 align:start position:0%
it could be anything so the reason that
we<00:05:01.389><c> have</c><00:05:01.570><c> this</c><00:05:01.810><c> private</c><00:05:02.199><c> network</c><00:05:02.620><c> over</c><00:05:02.919><c> here</c>

00:05:03.090 --> 00:05:03.100 align:start position:0%
we have this private network over here
 

00:05:03.100 --> 00:05:05.430 align:start position:0%
we have this private network over here
is<00:05:03.340><c> to</c><00:05:03.610><c> isolate</c><00:05:04.389><c> the</c><00:05:04.510><c> validator</c><00:05:04.840><c> client</c><00:05:05.200><c> from</c>

00:05:05.430 --> 00:05:05.440 align:start position:0%
is to isolate the validator client from
 

00:05:05.440 --> 00:05:07.200 align:start position:0%
is to isolate the validator client from
the<00:05:05.560><c> Internet</c><00:05:05.979><c> and</c><00:05:06.160><c> reduces</c><00:05:06.580><c> the</c><00:05:06.669><c> tax</c><00:05:06.820><c> service</c>

00:05:07.200 --> 00:05:07.210 align:start position:0%
the Internet and reduces the tax service
 

00:05:07.210 --> 00:05:11.010 align:start position:0%
the Internet and reduces the tax service
and<00:05:07.330><c> the</c><00:05:07.389><c> people</c><00:05:07.510><c> that</c><00:05:07.780><c> can</c><00:05:07.870><c> get</c><00:05:08.020><c> added</c><00:05:09.870><c> and</c><00:05:10.870><c> I</c>

00:05:11.010 --> 00:05:11.020 align:start position:0%
and the people that can get added and I
 

00:05:11.020 --> 00:05:12.510 align:start position:0%
and the people that can get added and I
just<00:05:11.410><c> have</c><00:05:11.500><c> been</c><00:05:11.560><c> mentioned</c><00:05:11.889><c> here</c><00:05:11.919><c> so</c><00:05:12.130><c> the</c><00:05:12.220><c> two</c>

00:05:12.510 --> 00:05:12.520 align:start position:0%
just have been mentioned here so the two
 

00:05:12.520 --> 00:05:14.370 align:start position:0%
just have been mentioned here so the two
databases<00:05:12.790><c> here</c><00:05:13.150><c> there's</c><00:05:13.360><c> the</c><00:05:13.540><c> beacon</c><00:05:14.260><c> node</c>

00:05:14.370 --> 00:05:14.380 align:start position:0%
databases here there's the beacon node
 

00:05:14.380 --> 00:05:15.930 align:start position:0%
databases here there's the beacon node
has<00:05:14.620><c> this</c><00:05:14.770><c> is</c><00:05:14.919><c> like</c><00:05:15.070><c> the</c><00:05:15.190><c> big</c><00:05:15.400><c> like</c><00:05:15.430><c> kind</c><00:05:15.910><c> of</c>

00:05:15.930 --> 00:05:15.940 align:start position:0%
has this is like the big like kind of
 

00:05:15.940 --> 00:05:17.430 align:start position:0%
has this is like the big like kind of
gets<00:05:16.120><c> style</c><00:05:16.389><c> level</c><00:05:16.600><c> to</c><00:05:16.750><c> be</c><00:05:16.870><c> a</c><00:05:16.900><c> rocks</c><00:05:17.169><c> DB</c>

00:05:17.430 --> 00:05:17.440 align:start position:0%
gets style level to be a rocks DB
 

00:05:17.440 --> 00:05:19.230 align:start position:0%
gets style level to be a rocks DB
database<00:05:17.560><c> full</c><00:05:18.010><c> of</c><00:05:18.100><c> the</c><00:05:18.220><c> chain</c><00:05:18.430><c> and</c><00:05:18.700><c> the</c>

00:05:19.230 --> 00:05:19.240 align:start position:0%
database full of the chain and the
 

00:05:19.240 --> 00:05:20.310 align:start position:0%
database full of the chain and the
validator<00:05:19.570><c> client</c><00:05:19.810><c> will</c><00:05:19.900><c> keep</c><00:05:20.050><c> its</c><00:05:20.200><c> own</c>

00:05:20.310 --> 00:05:20.320 align:start position:0%
validator client will keep its own
 

00:05:20.320 --> 00:05:22.529 align:start position:0%
validator client will keep its own
database<00:05:20.710><c> where</c><00:05:21.610><c> it</c><00:05:21.700><c> maintains</c><00:05:22.090><c> its</c><00:05:22.240><c> history</c>

00:05:22.529 --> 00:05:22.539 align:start position:0%
database where it maintains its history
 

00:05:22.539 --> 00:05:23.879 align:start position:0%
database where it maintains its history
of<00:05:22.660><c> messages</c><00:05:23.110><c> enough</c><00:05:23.380><c> so</c><00:05:23.500><c> it</c><00:05:23.590><c> can't</c><00:05:23.770><c> get</c>

00:05:23.879 --> 00:05:23.889 align:start position:0%
of messages enough so it can't get
 

00:05:23.889 --> 00:05:25.950 align:start position:0%
of messages enough so it can't get
slashed<00:05:24.250><c> and</c><00:05:24.550><c> perhaps</c><00:05:25.060><c> some</c><00:05:25.360><c> private</c><00:05:25.780><c> keys</c>

00:05:25.950 --> 00:05:25.960 align:start position:0%
slashed and perhaps some private keys
 

00:05:25.960 --> 00:05:31.980 align:start position:0%
slashed and perhaps some private keys
either<00:05:26.260><c> on</c><00:05:26.440><c> disk</c><00:05:26.680><c> or</c><00:05:26.979><c> on</c><00:05:27.370><c> a</c><00:05:27.400><c> trestle</c><00:05:30.810><c> so</c><00:05:31.810><c> this</c>

00:05:31.980 --> 00:05:31.990 align:start position:0%
either on disk or on a trestle so this
 

00:05:31.990 --> 00:05:33.180 align:start position:0%
either on disk or on a trestle so this
is<00:05:32.080><c> what</c><00:05:32.199><c> I</c><00:05:32.229><c> was</c><00:05:32.350><c> mentioning</c><00:05:32.500><c> before</c><00:05:32.710><c> about</c>

00:05:33.180 --> 00:05:33.190 align:start position:0%
is what I was mentioning before about
 

00:05:33.190 --> 00:05:34.529 align:start position:0%
is what I was mentioning before about
the<00:05:33.400><c> reason</c><00:05:33.820><c> that</c><00:05:33.880><c> we've</c><00:05:34.030><c> separated</c><00:05:34.240><c> the</c>

00:05:34.529 --> 00:05:34.539 align:start position:0%
the reason that we've separated the
 

00:05:34.539 --> 00:05:36.360 align:start position:0%
the reason that we've separated the
validator<00:05:34.900><c> client</c><00:05:35.260><c> out</c><00:05:35.380><c> it's</c><00:05:35.889><c> because</c><00:05:36.130><c> it</c><00:05:36.250><c> can</c>

00:05:36.360 --> 00:05:36.370 align:start position:0%
validator client out it's because it can
 

00:05:36.370 --> 00:05:39.659 align:start position:0%
validator client out it's because it can
talk<00:05:36.610><c> to</c><00:05:36.850><c> multiple</c><00:05:37.030><c> beacon</c><00:05:37.660><c> nodes</c><00:05:37.870><c> so</c><00:05:38.550><c> we</c><00:05:39.550><c> may</c>

00:05:39.659 --> 00:05:39.669 align:start position:0%
talk to multiple beacon nodes so we may
 

00:05:39.669 --> 00:05:40.950 align:start position:0%
talk to multiple beacon nodes so we may
have<00:05:39.760><c> the</c><00:05:39.880><c> case</c><00:05:40.060><c> typical</c><00:05:40.600><c> pattern</c><00:05:40.810><c> would</c><00:05:40.900><c> be</c>

00:05:40.950 --> 00:05:40.960 align:start position:0%
have the case typical pattern would be
 

00:05:40.960 --> 00:05:42.719 align:start position:0%
have the case typical pattern would be
valid<00:05:41.590><c> a</c><00:05:41.710><c> client</c><00:05:42.010><c> connects</c><00:05:42.220><c> to</c><00:05:42.280><c> one</c><00:05:42.490><c> of</c><00:05:42.610><c> them</c>

00:05:42.719 --> 00:05:42.729 align:start position:0%
valid a client connects to one of them
 

00:05:42.729 --> 00:05:44.340 align:start position:0%
valid a client connects to one of them
uses<00:05:43.090><c> it</c><00:05:43.210><c> as</c><00:05:43.360><c> the</c><00:05:43.570><c> source</c><00:05:43.780><c> of</c><00:05:43.900><c> truth</c><00:05:44.110><c> of</c><00:05:44.260><c> the</c>

00:05:44.340 --> 00:05:44.350 align:start position:0%
uses it as the source of truth of the
 

00:05:44.350 --> 00:05:46.710 align:start position:0%
uses it as the source of truth of the
chain<00:05:44.590><c> and</c><00:05:44.800><c> perhaps</c><00:05:45.340><c> it'll</c><00:05:45.550><c> when</c><00:05:46.300><c> it</c><00:05:46.389><c> produces</c>

00:05:46.710 --> 00:05:46.720 align:start position:0%
chain and perhaps it'll when it produces
 

00:05:46.720 --> 00:05:48.210 align:start position:0%
chain and perhaps it'll when it produces
a<00:05:46.750><c> blocker</c><00:05:46.960><c> attestation</c><00:05:47.410><c> it</c><00:05:47.680><c> may</c><00:05:47.770><c> send</c><00:05:47.979><c> it</c><00:05:48.130><c> to</c>

00:05:48.210 --> 00:05:48.220 align:start position:0%
a blocker attestation it may send it to
 

00:05:48.220 --> 00:05:49.890 align:start position:0%
a blocker attestation it may send it to
a<00:05:48.250><c> few</c><00:05:48.520><c> of</c><00:05:48.639><c> them</c><00:05:48.820><c> just</c><00:05:48.849><c> to</c><00:05:49.180><c> ensure</c><00:05:49.450><c> that</c><00:05:49.479><c> the</c>

00:05:49.890 --> 00:05:49.900 align:start position:0%
a few of them just to ensure that the
 

00:05:49.900 --> 00:05:51.570 align:start position:0%
a few of them just to ensure that the
that<00:05:50.320><c> the</c><00:05:50.410><c> block</c><00:05:50.590><c> gets</c><00:05:50.800><c> propagated</c><00:05:51.039><c> out</c><00:05:51.430><c> to</c>

00:05:51.570 --> 00:05:51.580 align:start position:0%
that the block gets propagated out to
 

00:05:51.580 --> 00:05:53.580 align:start position:0%
that the block gets propagated out to
the<00:05:51.669><c> network</c><00:05:52.000><c> and</c><00:05:52.389><c> the</c><00:05:52.870><c> validator</c><00:05:53.200><c> client</c><00:05:53.500><c> can</c>

00:05:53.580 --> 00:05:53.590 align:start position:0%
the network and the validator client can
 

00:05:53.590 --> 00:05:55.110 align:start position:0%
the network and the validator client can
also<00:05:53.740><c> maintain</c><00:05:54.220><c> a</c><00:05:54.250><c> sense</c><00:05:54.550><c> of</c><00:05:54.729><c> quality</c><00:05:55.090><c> of</c>

00:05:55.110 --> 00:05:55.120 align:start position:0%
also maintain a sense of quality of
 

00:05:55.120 --> 00:05:57.300 align:start position:0%
also maintain a sense of quality of
service<00:05:55.240><c> of</c><00:05:55.780><c> its</c><00:05:55.840><c> beacon</c><00:05:56.200><c> node</c><00:05:56.410><c> so</c><00:05:57.010><c> if</c><00:05:57.190><c> the</c>

00:05:57.300 --> 00:05:57.310 align:start position:0%
service of its beacon node so if the
 

00:05:57.310 --> 00:05:59.969 align:start position:0%
service of its beacon node so if the
beacon<00:05:57.580><c> node</c><00:05:57.760><c> is</c><00:05:58.000><c> not</c><00:05:58.660><c> responding</c><00:05:59.200><c> or</c><00:05:59.440><c> it's</c>

00:05:59.969 --> 00:05:59.979 align:start position:0%
beacon node is not responding or it's
 

00:05:59.979 --> 00:06:01.920 align:start position:0%
beacon node is not responding or it's
not<00:06:00.130><c> it's</c><00:06:00.550><c> perhaps</c><00:06:01.060><c> referencing</c><00:06:01.300><c> some</c><00:06:01.780><c> other</c>

00:06:01.920 --> 00:06:01.930 align:start position:0%
not it's perhaps referencing some other
 

00:06:01.930 --> 00:06:03.210 align:start position:0%
not it's perhaps referencing some other
node<00:06:02.169><c> to</c><00:06:02.349><c> see</c><00:06:02.500><c> whether</c><00:06:02.680><c> it's</c><00:06:02.889><c> blocks</c><00:06:03.070><c> are</c>

00:06:03.210 --> 00:06:03.220 align:start position:0%
node to see whether it's blocks are
 

00:06:03.220 --> 00:06:04.529 align:start position:0%
node to see whether it's blocks are
appearing<00:06:03.490><c> in</c><00:06:03.580><c> the</c><00:06:03.639><c> chain</c><00:06:03.849><c> if</c><00:06:04.060><c> it</c><00:06:04.150><c> decides</c><00:06:04.450><c> the</c>

00:06:04.529 --> 00:06:04.539 align:start position:0%
appearing in the chain if it decides the
 

00:06:04.539 --> 00:06:06.150 align:start position:0%
appearing in the chain if it decides the
quality<00:06:04.810><c> of</c><00:06:04.870><c> service</c><00:06:05.139><c> is</c><00:06:05.260><c> not</c><00:06:05.349><c> good</c><00:06:05.590><c> it</c><00:06:05.979><c> can</c>

00:06:06.150 --> 00:06:06.160 align:start position:0%
quality of service is not good it can
 

00:06:06.160 --> 00:06:08.279 align:start position:0%
quality of service is not good it can
just<00:06:06.280><c> hop</c><00:06:06.430><c> over</c><00:06:06.700><c> to</c><00:06:06.729><c> another</c><00:06:06.970><c> vacant</c><00:06:07.389><c> node</c><00:06:07.539><c> and</c>

00:06:08.279 --> 00:06:08.289 align:start position:0%
just hop over to another vacant node and
 

00:06:08.289 --> 00:06:09.690 align:start position:0%
just hop over to another vacant node and
because<00:06:08.590><c> it's</c><00:06:08.770><c> maintained</c><00:06:09.039><c> a</c><00:06:09.070><c> SATA</c><00:06:09.340><c> base</c><00:06:09.520><c> and</c>

00:06:09.690 --> 00:06:09.700 align:start position:0%
because it's maintained a SATA base and
 

00:06:09.700 --> 00:06:12.120 align:start position:0%
because it's maintained a SATA base and
sign<00:06:09.849><c> messages</c><00:06:10.389><c> it</c><00:06:11.320><c> may</c><00:06:11.530><c> be</c><00:06:11.590><c> offline</c><00:06:12.070><c> during</c>

00:06:12.120 --> 00:06:12.130 align:start position:0%
sign messages it may be offline during
 

00:06:12.130 --> 00:06:13.589 align:start position:0%
sign messages it may be offline during
that<00:06:12.550><c> hop</c><00:06:12.729><c> if</c><00:06:12.880><c> they're</c><00:06:13.000><c> on</c><00:06:13.090><c> different</c><00:06:13.210><c> chains</c>

00:06:13.589 --> 00:06:13.599 align:start position:0%
that hop if they're on different chains
 

00:06:13.599 --> 00:06:17.960 align:start position:0%
that hop if they're on different chains
but<00:06:13.840><c> it</c><00:06:13.930><c> shouldn't</c><00:06:14.139><c> be</c><00:06:14.229><c> able</c><00:06:14.349><c> to</c><00:06:14.500><c> be</c><00:06:14.710><c> slashed</c>

00:06:17.960 --> 00:06:17.970 align:start position:0%
 
 

00:06:17.970 --> 00:06:20.940 align:start position:0%
 
so<00:06:18.970><c> now</c><00:06:19.180><c> as</c><00:06:19.720><c> my</c><00:06:19.900><c> last</c><00:06:20.110><c> slide</c><00:06:20.260><c> I</c><00:06:20.380><c> just</c><00:06:20.560><c> want</c><00:06:20.860><c> to</c>

00:06:20.940 --> 00:06:20.950 align:start position:0%
so now as my last slide I just want to
 

00:06:20.950 --> 00:06:23.700 align:start position:0%
so now as my last slide I just want to
go<00:06:21.039><c> through</c><00:06:21.400><c> this</c><00:06:22.120><c> is</c><00:06:22.270><c> the</c><00:06:22.389><c> inside</c><00:06:22.930><c> of</c><00:06:22.960><c> a</c>

00:06:23.700 --> 00:06:23.710 align:start position:0%
go through this is the inside of a
 

00:06:23.710 --> 00:06:26.219 align:start position:0%
go through this is the inside of a
beacon<00:06:23.950><c> node</c><00:06:24.340><c> to</c><00:06:24.940><c> the</c><00:06:25.030><c> big</c><00:06:25.180><c> binary</c><00:06:25.599><c> and</c><00:06:25.840><c> this</c>

00:06:26.219 --> 00:06:26.229 align:start position:0%
beacon node to the big binary and this
 

00:06:26.229 --> 00:06:27.810 align:start position:0%
beacon node to the big binary and this
is<00:06:26.380><c> kind</c><00:06:26.560><c> of</c><00:06:26.590><c> like</c><00:06:26.800><c> a</c><00:06:26.860><c> very</c><00:06:27.160><c> simple</c><00:06:27.550><c> overview</c>

00:06:27.810 --> 00:06:27.820 align:start position:0%
is kind of like a very simple overview
 

00:06:27.820 --> 00:06:30.659 align:start position:0%
is kind of like a very simple overview
from<00:06:28.180><c> a</c><00:06:28.330><c> security</c><00:06:29.080><c> only</c><00:06:29.530><c> perspective</c><00:06:30.070><c> of</c>

00:06:30.659 --> 00:06:30.669 align:start position:0%
from a security only perspective of
 

00:06:30.669 --> 00:06:31.469 align:start position:0%
from a security only perspective of
what's<00:06:30.880><c> going</c><00:06:31.030><c> on</c>

00:06:31.469 --> 00:06:31.479 align:start position:0%
what's going on
 

00:06:31.479 --> 00:06:33.839 align:start position:0%
what's going on
so<00:06:31.810><c> this</c><00:06:31.930><c> is</c><00:06:32.080><c> where</c><00:06:32.889><c> messages</c><00:06:33.220><c> may</c><00:06:33.490><c> come</c><00:06:33.700><c> in</c>

00:06:33.839 --> 00:06:33.849 align:start position:0%
so this is where messages may come in
 

00:06:33.849 --> 00:06:36.089 align:start position:0%
so this is where messages may come in
here<00:06:34.090><c> on</c><00:06:34.270><c> the</c><00:06:34.389><c> left</c><00:06:34.630><c> from</c><00:06:35.500><c> the</c><00:06:35.590><c> internet</c><00:06:35.919><c> and</c>

00:06:36.089 --> 00:06:36.099 align:start position:0%
here on the left from the internet and
 

00:06:36.099 --> 00:06:38.400 align:start position:0%
here on the left from the internet and
end<00:06:36.220><c> up</c><00:06:36.340><c> in</c><00:06:36.430><c> our</c><00:06:36.550><c> database</c><00:06:36.729><c> or</c><00:06:37.539><c> perhaps</c><00:06:37.900><c> we're</c>

00:06:38.400 --> 00:06:38.410 align:start position:0%
end up in our database or perhaps we're
 

00:06:38.410 --> 00:06:39.870 align:start position:0%
end up in our database or perhaps we're
doing<00:06:38.620><c> a</c><00:06:38.680><c> response</c><00:06:39.070><c> pulling</c><00:06:39.430><c> something</c><00:06:39.640><c> from</c>

00:06:39.870 --> 00:06:39.880 align:start position:0%
doing a response pulling something from
 

00:06:39.880 --> 00:06:41.310 align:start position:0%
doing a response pulling something from
the<00:06:39.969><c> database</c><00:06:40.330><c> and</c><00:06:40.570><c> sending</c><00:06:40.810><c> it</c><00:06:40.900><c> back</c><00:06:41.050><c> to</c><00:06:41.110><c> the</c>

00:06:41.310 --> 00:06:41.320 align:start position:0%
the database and sending it back to the
 

00:06:41.320 --> 00:06:44.100 align:start position:0%
the database and sending it back to the
Internet<00:06:41.940><c> so</c><00:06:42.940><c> the</c><00:06:43.030><c> first</c><00:06:43.210><c> thing</c><00:06:43.450><c> that</c><00:06:43.870><c> we</c><00:06:43.990><c> see</c>

00:06:44.100 --> 00:06:44.110 align:start position:0%
Internet so the first thing that we see
 

00:06:44.110 --> 00:06:44.970 align:start position:0%
Internet so the first thing that we see
from<00:06:44.289><c> the</c><00:06:44.380><c> Internet</c><00:06:44.650><c> is</c><00:06:44.770><c> an</c>

00:06:44.970 --> 00:06:44.980 align:start position:0%
from the Internet is an
 

00:06:44.980 --> 00:06:47.610 align:start position:0%
from the Internet is an
working<00:06:45.310><c> stack</c><00:06:45.550><c> that</c><00:06:45.760><c> slip</c><00:06:45.970><c> p2p</c><00:06:46.500><c> so</c><00:06:47.500><c> we're</c>

00:06:47.610 --> 00:06:47.620 align:start position:0%
working stack that slip p2p so we're
 

00:06:47.620 --> 00:06:48.870 align:start position:0%
working stack that slip p2p so we're
being<00:06:47.710><c> cautious</c><00:06:47.890><c> here</c><00:06:48.220><c> of</c><00:06:48.310><c> eclipsed</c><00:06:48.580><c> attacks</c>

00:06:48.870 --> 00:06:48.880 align:start position:0%
being cautious here of eclipsed attacks
 

00:06:48.880 --> 00:06:50.280 align:start position:0%
being cautious here of eclipsed attacks
we'll<00:06:49.120><c> be</c><00:06:49.210><c> you</c><00:06:49.360><c> know</c><00:06:49.480><c> surround</c><00:06:49.870><c> the</c><00:06:49.960><c> validator</c>

00:06:50.280 --> 00:06:50.290 align:start position:0%
we'll be you know surround the validator
 

00:06:50.290 --> 00:06:51.600 align:start position:0%
we'll be you know surround the validator
and<00:06:50.500><c> give</c><00:06:50.620><c> it</c><00:06:50.710><c> a</c><00:06:50.770><c> minority</c><00:06:51.250><c> view</c><00:06:51.400><c> of</c><00:06:51.520><c> the</c>

00:06:51.600 --> 00:06:51.610 align:start position:0%
and give it a minority view of the
 

00:06:51.610 --> 00:06:54.750 align:start position:0%
and give it a minority view of the
network<00:06:52.140><c> alternatively</c><00:06:53.460><c> we</c><00:06:54.460><c> have</c><00:06:54.580><c> to</c><00:06:54.670><c> be</c>

00:06:54.750 --> 00:06:54.760 align:start position:0%
network alternatively we have to be
 

00:06:54.760 --> 00:06:56.880 align:start position:0%
network alternatively we have to be
careful<00:06:55.060><c> here</c><00:06:55.240><c> with</c><00:06:55.510><c> but</c><00:06:56.470><c> we</c><00:06:56.620><c> have</c><00:06:56.740><c> to</c><00:06:56.800><c> be</c>

00:06:56.880 --> 00:06:56.890 align:start position:0%
careful here with but we have to be
 

00:06:56.890 --> 00:06:58.890 align:start position:0%
careful here with but we have to be
careful<00:06:57.130><c> here</c><00:06:57.280><c> of</c><00:06:57.460><c> validator</c><00:06:58.090><c> privacy</c><00:06:58.480><c> adren</c>

00:06:58.890 --> 00:06:58.900 align:start position:0%
careful here of validator privacy adren
 

00:06:58.900 --> 00:07:00.690 align:start position:0%
careful here of validator privacy adren
we'll<00:06:58.990><c> talk</c><00:06:59.110><c> about</c><00:06:59.320><c> this</c><00:06:59.440><c> and</c><00:07:00.430><c> we're</c><00:07:00.580><c> also</c>

00:07:00.690 --> 00:07:00.700 align:start position:0%
we'll talk about this and we're also
 

00:07:00.700 --> 00:07:02.610 align:start position:0%
we'll talk about this and we're also
wary<00:07:01.000><c> of</c><00:07:01.120><c> resource</c><00:07:01.570><c> exhaustion</c><00:07:01.900><c> here</c><00:07:02.290><c> if</c><00:07:02.440><c> we</c>

00:07:02.610 --> 00:07:02.620 align:start position:0%
wary of resource exhaustion here if we
 

00:07:02.620 --> 00:07:04.950 align:start position:0%
wary of resource exhaustion here if we
can<00:07:02.740><c> make</c><00:07:02.890><c> the</c><00:07:03.040><c> p2p</c><00:07:03.280><c> do</c><00:07:03.610><c> too</c><00:07:04.330><c> much</c><00:07:04.450><c> work</c><00:07:04.690><c> and</c>

00:07:04.950 --> 00:07:04.960 align:start position:0%
can make the p2p do too much work and
 

00:07:04.960 --> 00:07:05.790 align:start position:0%
can make the p2p do too much work and
slow<00:07:05.230><c> us</c><00:07:05.380><c> down</c>

00:07:05.790 --> 00:07:05.800 align:start position:0%
slow us down
 

00:07:05.800 --> 00:07:08.010 align:start position:0%
slow us down
we<00:07:06.640><c> have</c><00:07:06.790><c> marshalling</c><00:07:07.270><c> where</c><00:07:07.420><c> we're</c><00:07:07.540><c> encoding</c>

00:07:08.010 --> 00:07:08.020 align:start position:0%
we have marshalling where we're encoding
 

00:07:08.020 --> 00:07:09.720 align:start position:0%
we have marshalling where we're encoding
and<00:07:08.110><c> decoding</c><00:07:08.200><c> bytes</c><00:07:08.680><c> from</c><00:07:08.890><c> the</c><00:07:08.980><c> network</c><00:07:09.310><c> so</c>

00:07:09.720 --> 00:07:09.730 align:start position:0%
and decoding bytes from the network so
 

00:07:09.730 --> 00:07:11.880 align:start position:0%
and decoding bytes from the network so
we<00:07:10.030><c> have</c><00:07:10.180><c> a</c><00:07:10.210><c> new</c><00:07:10.740><c> encoding</c><00:07:11.740><c> and</c><00:07:11.800><c> decoding</c>

00:07:11.880 --> 00:07:11.890 align:start position:0%
we have a new encoding and decoding
 

00:07:11.890 --> 00:07:13.890 align:start position:0%
we have a new encoding and decoding
scheme<00:07:12.310><c> that's</c><00:07:12.520><c> simple</c><00:07:12.820><c> serialized</c><00:07:13.270><c> SS</c><00:07:13.660><c> said</c>

00:07:13.890 --> 00:07:13.900 align:start position:0%
scheme that's simple serialized SS said
 

00:07:13.900 --> 00:07:15.510 align:start position:0%
scheme that's simple serialized SS said
it<00:07:14.500><c> is</c><00:07:14.650><c> quite</c><00:07:14.860><c> simple</c><00:07:15.160><c> and</c><00:07:15.250><c> straightforward</c>

00:07:15.510 --> 00:07:15.520 align:start position:0%
it is quite simple and straightforward
 

00:07:15.520 --> 00:07:18.240 align:start position:0%
it is quite simple and straightforward
but<00:07:15.970><c> it</c><00:07:16.060><c> is</c><00:07:16.150><c> new</c><00:07:16.450><c> and</c><00:07:17.110><c> it</c><00:07:17.260><c> uses</c><00:07:17.440><c> pointers</c>

00:07:18.240 --> 00:07:18.250 align:start position:0%
but it is new and it uses pointers
 

00:07:18.250 --> 00:07:19.740 align:start position:0%
but it is new and it uses pointers
they're<00:07:18.430><c> called</c><00:07:18.580><c> offsets</c><00:07:18.970><c> so</c><00:07:19.420><c> here</c><00:07:19.540><c> we</c><00:07:19.630><c> need</c>

00:07:19.740 --> 00:07:19.750 align:start position:0%
they're called offsets so here we need
 

00:07:19.750 --> 00:07:21.300 align:start position:0%
they're called offsets so here we need
to<00:07:19.810><c> be</c><00:07:19.900><c> quite</c><00:07:20.050><c> careful</c><00:07:20.260><c> of</c><00:07:20.560><c> our</c><00:07:20.740><c> seg</c><00:07:20.980><c> faults</c>

00:07:21.300 --> 00:07:21.310 align:start position:0%
to be quite careful of our seg faults
 

00:07:21.310 --> 00:07:22.860 align:start position:0%
to be quite careful of our seg faults
and<00:07:21.490><c> all</c><00:07:21.880><c> the</c><00:07:22.000><c> interesting</c><00:07:22.360><c> things</c><00:07:22.390><c> that</c><00:07:22.630><c> come</c>

00:07:22.860 --> 00:07:22.870 align:start position:0%
and all the interesting things that come
 

00:07:22.870 --> 00:07:27.000 align:start position:0%
and all the interesting things that come
with<00:07:23.040><c> encoding</c><00:07:24.040><c> formats</c><00:07:24.430><c> and</c><00:07:25.240><c> perhaps</c><00:07:25.930><c> on</c><00:07:26.650><c> the</c>

00:07:27.000 --> 00:07:27.010 align:start position:0%
with encoding formats and perhaps on the
 

00:07:27.010 --> 00:07:28.590 align:start position:0%
with encoding formats and perhaps on the
higher<00:07:27.160><c> level</c><00:07:27.460><c> here</c><00:07:27.640><c> we</c><00:07:27.820><c> have</c><00:07:28.000><c> a</c><00:07:28.030><c> consensus</c>

00:07:28.590 --> 00:07:28.600 align:start position:0%
higher level here we have a consensus
 

00:07:28.600 --> 00:07:30.090 align:start position:0%
higher level here we have a consensus
message<00:07:28.900><c> that</c><00:07:29.080><c> we</c><00:07:29.140><c> may</c><00:07:29.260><c> intend</c><00:07:29.590><c> to</c><00:07:29.710><c> import</c><00:07:29.980><c> to</c>

00:07:30.090 --> 00:07:30.100 align:start position:0%
message that we may intend to import to
 

00:07:30.100 --> 00:07:32.340 align:start position:0%
message that we may intend to import to
our<00:07:30.220><c> database</c><00:07:30.640><c> on</c><00:07:31.090><c> the</c><00:07:31.450><c> lower</c><00:07:31.870><c> level</c><00:07:32.200><c> here</c>

00:07:32.340 --> 00:07:32.350 align:start position:0%
our database on the lower level here
 

00:07:32.350 --> 00:07:33.780 align:start position:0%
our database on the lower level here
we're<00:07:32.740><c> validating</c><00:07:32.950><c> requests</c><00:07:33.520><c> that</c><00:07:33.580><c> we</c><00:07:33.670><c> may</c>

00:07:33.780 --> 00:07:33.790 align:start position:0%
we're validating requests that we may
 

00:07:33.790 --> 00:07:36.630 align:start position:0%
we're validating requests that we may
give<00:07:34.090><c> back</c><00:07:34.270><c> to</c><00:07:34.480><c> response</c><00:07:35.110><c> to</c><00:07:35.290><c> someone</c><00:07:35.620><c> so</c><00:07:36.550><c> the</c>

00:07:36.630 --> 00:07:36.640 align:start position:0%
give back to response to someone so the
 

00:07:36.640 --> 00:07:39.890 align:start position:0%
give back to response to someone so the
consensus<00:07:37.090><c> message</c><00:07:37.390><c> validation</c><00:07:37.990><c> is</c><00:07:38.230><c> is</c><00:07:39.190><c> a</c>

00:07:39.890 --> 00:07:39.900 align:start position:0%
consensus message validation is is a
 

00:07:39.900 --> 00:07:42.660 align:start position:0%
consensus message validation is is a
very<00:07:40.900><c> complex</c><00:07:41.290><c> piece</c><00:07:41.740><c> of</c><00:07:41.920><c> software</c><00:07:42.160><c> so</c><00:07:42.430><c> this</c>

00:07:42.660 --> 00:07:42.670 align:start position:0%
very complex piece of software so this
 

00:07:42.670 --> 00:07:45.270 align:start position:0%
very complex piece of software so this
is<00:07:42.850><c> the</c><00:07:43.390><c> implementation</c><00:07:44.140><c> of</c><00:07:44.590><c> the</c><00:07:44.650><c> earth</c><00:07:44.830><c> 2.0</c>

00:07:45.270 --> 00:07:45.280 align:start position:0%
is the implementation of the earth 2.0
 

00:07:45.280 --> 00:07:48.810 align:start position:0%
is the implementation of the earth 2.0
specs<00:07:45.610><c> repository</c><00:07:46.180><c> so</c><00:07:46.660><c> this</c><00:07:47.340><c> the</c><00:07:48.340><c> earth</c><00:07:48.430><c> 2.0</c>

00:07:48.810 --> 00:07:48.820 align:start position:0%
specs repository so this the earth 2.0
 

00:07:48.820 --> 00:07:50.580 align:start position:0%
specs repository so this the earth 2.0
specs<00:07:49.090><c> has</c><00:07:49.210><c> written</c><00:07:49.420><c> optimized</c><00:07:50.410><c> for</c>

00:07:50.580 --> 00:07:50.590 align:start position:0%
specs has written optimized for
 

00:07:50.590 --> 00:07:52.320 align:start position:0%
specs has written optimized for
readability<00:07:50.830><c> but</c><00:07:51.370><c> not</c><00:07:51.520><c> for</c><00:07:51.820><c> speed</c><00:07:52.180><c> of</c>

00:07:52.320 --> 00:07:52.330 align:start position:0%
readability but not for speed of
 

00:07:52.330 --> 00:07:54.390 align:start position:0%
readability but not for speed of
execution<00:07:52.450><c> so</c><00:07:53.350><c> one</c><00:07:53.500><c> of</c><00:07:53.530><c> the</c><00:07:53.680><c> really</c><00:07:53.980><c> important</c>

00:07:54.390 --> 00:07:54.400 align:start position:0%
execution so one of the really important
 

00:07:54.400 --> 00:07:56.220 align:start position:0%
execution so one of the really important
things<00:07:54.550><c> that</c><00:07:54.640><c> client</c><00:07:55.150><c> developers</c><00:07:55.480><c> must</c><00:07:55.600><c> do</c><00:07:55.870><c> is</c>

00:07:56.220 --> 00:07:56.230 align:start position:0%
things that client developers must do is
 

00:07:56.230 --> 00:07:57.750 align:start position:0%
things that client developers must do is
produce<00:07:56.620><c> optimized</c><00:07:57.130><c> versions</c><00:07:57.550><c> of</c><00:07:57.670><c> this</c>

00:07:57.750 --> 00:07:57.760 align:start position:0%
produce optimized versions of this
 

00:07:57.760 --> 00:08:00.360 align:start position:0%
produce optimized versions of this
specification<00:07:58.210><c> so</c><00:07:58.890><c> we</c><00:07:59.890><c> need</c><00:08:00.040><c> to</c><00:08:00.130><c> be</c><00:08:00.250><c> careful</c>

00:08:00.360 --> 00:08:00.370 align:start position:0%
specification so we need to be careful
 

00:08:00.370 --> 00:08:01.860 align:start position:0%
specification so we need to be careful
that<00:08:00.640><c> these</c><00:08:00.700><c> optimizations</c><00:08:01.480><c> don't</c><00:08:01.690><c> cause</c>

00:08:01.860 --> 00:08:01.870 align:start position:0%
that these optimizations don't cause
 

00:08:01.870 --> 00:08:03.330 align:start position:0%
that these optimizations don't cause
consensus<00:08:02.410><c> Forks</c><00:08:02.710><c> you</c><00:08:02.740><c> know</c><00:08:02.860><c> given</c><00:08:03.100><c> the</c><00:08:03.190><c> same</c>

00:08:03.330 --> 00:08:03.340 align:start position:0%
consensus Forks you know given the same
 

00:08:03.340 --> 00:08:05.820 align:start position:0%
consensus Forks you know given the same
blocking<00:08:04.210><c> state</c><00:08:04.570><c> we</c><00:08:04.870><c> produce</c><00:08:05.140><c> the</c><00:08:05.380><c> same</c><00:08:05.530><c> post</c>

00:08:05.820 --> 00:08:05.830 align:start position:0%
blocking state we produce the same post
 

00:08:05.830 --> 00:08:07.170 align:start position:0%
blocking state we produce the same post
state<00:08:06.070><c> so</c><00:08:06.730><c> we're</c><00:08:06.850><c> paying</c><00:08:07.030><c> particular</c>

00:08:07.170 --> 00:08:07.180 align:start position:0%
state so we're paying particular
 

00:08:07.180 --> 00:08:08.580 align:start position:0%
state so we're paying particular
attention<00:08:07.300><c> here</c><00:08:07.870><c> through</c><00:08:08.080><c> fuzzing</c><00:08:08.440><c> which</c>

00:08:08.580 --> 00:08:08.590 align:start position:0%
attention here through fuzzing which
 

00:08:08.590 --> 00:08:11.130 align:start position:0%
attention here through fuzzing which
agen<00:08:09.010><c> we'll</c><00:08:09.100><c> talk</c><00:08:09.280><c> about</c><00:08:09.690><c> we're</c><00:08:10.690><c> also</c><00:08:10.810><c> very</c>

00:08:11.130 --> 00:08:11.140 align:start position:0%
agen we'll talk about we're also very
 

00:08:11.140 --> 00:08:12.750 align:start position:0%
agen we'll talk about we're also very
cautious<00:08:11.530><c> of</c><00:08:11.650><c> resource</c><00:08:12.010><c> exhaustion</c><00:08:12.370><c> here</c>

00:08:12.750 --> 00:08:12.760 align:start position:0%
cautious of resource exhaustion here
 

00:08:12.760 --> 00:08:15.450 align:start position:0%
cautious of resource exhaustion here
perhaps<00:08:13.390><c> someone</c><00:08:14.170><c> sends</c><00:08:14.440><c> a</c><00:08:14.500><c> block</c><00:08:14.740><c> that's</c>

00:08:15.450 --> 00:08:15.460 align:start position:0%
perhaps someone sends a block that's
 

00:08:15.460 --> 00:08:17.490 align:start position:0%
perhaps someone sends a block that's
valid<00:08:15.880><c> but</c><00:08:16.000><c> takes</c><00:08:16.210><c> a</c><00:08:16.300><c> long</c><00:08:16.510><c> time</c><00:08:16.540><c> to</c><00:08:16.960><c> put</c><00:08:17.140><c> to</c>

00:08:17.490 --> 00:08:17.500 align:start position:0%
valid but takes a long time to put to
 

00:08:17.500 --> 00:08:19.230 align:start position:0%
valid but takes a long time to put to
process<00:08:17.950><c> we</c><00:08:18.460><c> want</c><00:08:18.610><c> to</c><00:08:18.700><c> we</c><00:08:18.820><c> want</c><00:08:18.850><c> to</c><00:08:19.060><c> really</c>

00:08:19.230 --> 00:08:19.240 align:start position:0%
process we want to we want to really
 

00:08:19.240 --> 00:08:21.630 align:start position:0%
process we want to we want to really
avoid<00:08:19.360><c> this</c><00:08:19.780><c> something</c><00:08:20.710><c> else</c><00:08:20.770><c> we</c><00:08:20.950><c> want</c><00:08:21.130><c> to</c><00:08:21.220><c> be</c>

00:08:21.630 --> 00:08:21.640 align:start position:0%
avoid this something else we want to be
 

00:08:21.640 --> 00:08:24.330 align:start position:0%
avoid this something else we want to be
particularly<00:08:21.970><c> careful</c><00:08:22.270><c> of</c><00:08:22.630><c> is</c><00:08:23.440><c> blocks</c><00:08:23.860><c> where</c>

00:08:24.330 --> 00:08:24.340 align:start position:0%
particularly careful of is blocks where
 

00:08:24.340 --> 00:08:26.010 align:start position:0%
particularly careful of is blocks where
it<00:08:24.460><c> takes</c><00:08:24.640><c> us</c><00:08:24.910><c> a</c><00:08:24.970><c> long</c><00:08:25.300><c> time</c><00:08:25.360><c> to</c><00:08:25.630><c> determine</c>

00:08:26.010 --> 00:08:26.020 align:start position:0%
it takes us a long time to determine
 

00:08:26.020 --> 00:08:28.200 align:start position:0%
it takes us a long time to determine
whether<00:08:26.890><c> or</c><00:08:26.980><c> not</c><00:08:27.130><c> it</c><00:08:27.370><c> came</c><00:08:27.580><c> from</c><00:08:27.820><c> a</c><00:08:27.940><c> valid</c>

00:08:28.200 --> 00:08:28.210 align:start position:0%
whether or not it came from a valid
 

00:08:28.210 --> 00:08:30.510 align:start position:0%
whether or not it came from a valid
producer<00:08:28.720><c> so</c><00:08:29.140><c> sometimes</c><00:08:29.770><c> we</c><00:08:29.890><c> have</c><00:08:29.920><c> to</c><00:08:30.040><c> do</c><00:08:30.310><c> work</c>

00:08:30.510 --> 00:08:30.520 align:start position:0%
producer so sometimes we have to do work
 

00:08:30.520 --> 00:08:32.730 align:start position:0%
producer so sometimes we have to do work
to<00:08:30.880><c> figure</c><00:08:31.210><c> out</c><00:08:31.360><c> who</c><00:08:32.110><c> should</c><00:08:32.169><c> have</c><00:08:32.500><c> produced</c>

00:08:32.730 --> 00:08:32.740 align:start position:0%
to figure out who should have produced
 

00:08:32.740 --> 00:08:35.520 align:start position:0%
to figure out who should have produced
the<00:08:33.099><c> block</c><00:08:33.419><c> so</c><00:08:34.419><c> we</c><00:08:34.510><c> need</c><00:08:34.660><c> to</c><00:08:34.780><c> be</c><00:08:34.930><c> particularly</c>

00:08:35.520 --> 00:08:35.530 align:start position:0%
the block so we need to be particularly
 

00:08:35.530 --> 00:08:37.350 align:start position:0%
the block so we need to be particularly
careful<00:08:35.800><c> here</c><00:08:36.220><c> because</c><00:08:36.250><c> if</c><00:08:36.640><c> people</c><00:08:37.090><c> can</c><00:08:37.210><c> make</c>

00:08:37.350 --> 00:08:37.360 align:start position:0%
careful here because if people can make
 

00:08:37.360 --> 00:08:38.790 align:start position:0%
careful here because if people can make
us<00:08:37.479><c> do</c><00:08:37.630><c> work</c><00:08:37.810><c> to</c><00:08:37.990><c> figure</c><00:08:38.260><c> out</c><00:08:38.380><c> who</c><00:08:38.500><c> should</c><00:08:38.560><c> have</c>

00:08:38.790 --> 00:08:38.800 align:start position:0%
us do work to figure out who should have
 

00:08:38.800 --> 00:08:40.620 align:start position:0%
us do work to figure out who should have
sent<00:08:39.040><c> it</c><00:08:39.190><c> that</c><00:08:39.340><c> means</c><00:08:39.669><c> anyone</c><00:08:40.030><c> can</c><00:08:40.270><c> send</c><00:08:40.450><c> it</c><00:08:40.599><c> to</c>

00:08:40.620 --> 00:08:40.630 align:start position:0%
sent it that means anyone can send it to
 

00:08:40.630 --> 00:08:42.659 align:start position:0%
sent it that means anyone can send it to
us<00:08:40.870><c> so</c><00:08:41.560><c> these</c><00:08:41.650><c> are</c><00:08:41.830><c> attacks</c><00:08:42.130><c> that</c><00:08:42.250><c> are</c><00:08:42.340><c> open</c><00:08:42.580><c> to</c>

00:08:42.659 --> 00:08:42.669 align:start position:0%
us so these are attacks that are open to
 

00:08:42.669 --> 00:08:44.670 align:start position:0%
us so these are attacks that are open to
anyone<00:08:42.970><c> not</c><00:08:43.540><c> just</c><00:08:43.570><c> people</c><00:08:44.050><c> that</c><00:08:44.080><c> are</c><00:08:44.200><c> inside</c>

00:08:44.670 --> 00:08:44.680 align:start position:0%
anyone not just people that are inside
 

00:08:44.680 --> 00:08:46.320 align:start position:0%
anyone not just people that are inside
the<00:08:44.890><c> validator</c><00:08:45.280><c> said</c><00:08:45.550><c> so</c><00:08:45.970><c> this</c><00:08:46.030><c> is</c><00:08:46.090><c> something</c>

00:08:46.320 --> 00:08:46.330 align:start position:0%
the validator said so this is something
 

00:08:46.330 --> 00:08:47.750 align:start position:0%
the validator said so this is something
we've<00:08:46.540><c> been</c><00:08:46.570><c> actively</c><00:08:46.960><c> working</c><00:08:47.200><c> on</c><00:08:47.410><c> lately</c>

00:08:47.750 --> 00:08:47.760 align:start position:0%
we've been actively working on lately
 

00:08:47.760 --> 00:08:50.160 align:start position:0%
we've been actively working on lately
there's<00:08:48.760><c> a</c><00:08:48.820><c> lot</c><00:08:48.970><c> of</c><00:08:49.090><c> arithmetic</c><00:08:49.690><c> in</c><00:08:49.870><c> here</c>

00:08:50.160 --> 00:08:50.170 align:start position:0%
there's a lot of arithmetic in here
 

00:08:50.170 --> 00:08:52.740 align:start position:0%
there's a lot of arithmetic in here
addition<00:08:50.770><c> subtraction</c><00:08:51.310><c> division</c><00:08:51.610><c> that</c><00:08:52.570><c> can</c>

00:08:52.740 --> 00:08:52.750 align:start position:0%
addition subtraction division that can
 

00:08:52.750 --> 00:08:55.070 align:start position:0%
addition subtraction division that can
you<00:08:52.840><c> know</c><00:08:52.870><c> divide</c><00:08:53.230><c> by</c><00:08:53.380><c> zero</c><00:08:53.710><c> or</c><00:08:54.010><c> we</c><00:08:54.220><c> can</c><00:08:54.430><c> have</c>

00:08:55.070 --> 00:08:55.080 align:start position:0%
you know divide by zero or we can have
 

00:08:55.080 --> 00:08:57.420 align:start position:0%
you know divide by zero or we can have
underflow<00:08:56.080><c> as</c><00:08:56.200><c> overflows</c>

00:08:57.420 --> 00:08:57.430 align:start position:0%
underflow as overflows
 

00:08:57.430 --> 00:08:58.889 align:start position:0%
underflow as overflows
we're<00:08:57.550><c> also</c><00:08:57.670><c> doing</c><00:08:57.910><c> a</c><00:08:58.089><c> lot</c><00:08:58.120><c> of</c><00:08:58.330><c> access</c><00:08:58.690><c> to</c>

00:08:58.889 --> 00:08:58.899 align:start position:0%
we're also doing a lot of access to
 

00:08:58.899 --> 00:09:00.450 align:start position:0%
we're also doing a lot of access to
arrays<00:08:59.290><c> in</c><00:08:59.529><c> here</c><00:08:59.710><c> where</c><00:08:59.890><c> we're</c><00:09:00.070><c> rewarding</c>

00:09:00.450 --> 00:09:00.460 align:start position:0%
arrays in here where we're rewarding
 

00:09:00.460 --> 00:09:02.579 align:start position:0%
arrays in here where we're rewarding
people<00:09:01.149><c> so</c><00:09:01.899><c> this</c><00:09:01.960><c> is</c><00:09:02.050><c> where</c><00:09:02.230><c> we</c><00:09:02.290><c> need</c><00:09:02.320><c> to</c><00:09:02.500><c> be</c>

00:09:02.579 --> 00:09:02.589 align:start position:0%
people so this is where we need to be
 

00:09:02.589 --> 00:09:05.639 align:start position:0%
people so this is where we need to be
very<00:09:02.710><c> careful</c><00:09:03.160><c> of</c><00:09:03.279><c> seg</c><00:09:03.520><c> faults</c><00:09:03.820><c> too</c><00:09:04.529><c> and</c><00:09:05.529><c> then</c>

00:09:05.639 --> 00:09:05.649 align:start position:0%
very careful of seg faults too and then
 

00:09:05.649 --> 00:09:07.110 align:start position:0%
very careful of seg faults too and then
finally<00:09:06.010><c> here</c><00:09:06.220><c> we</c><00:09:06.370><c> have</c><00:09:06.550><c> the</c><00:09:06.760><c> request</c>

00:09:07.110 --> 00:09:07.120 align:start position:0%
finally here we have the request
 

00:09:07.120 --> 00:09:09.060 align:start position:0%
finally here we have the request
validation<00:09:07.720><c> so</c><00:09:07.899><c> this</c><00:09:08.020><c> is</c><00:09:08.140><c> where</c><00:09:08.290><c> we've</c><00:09:08.470><c> serum</c>

00:09:09.060 --> 00:09:09.070 align:start position:0%
validation so this is where we've serum
 

00:09:09.070 --> 00:09:11.850 align:start position:0%
validation so this is where we've serum
su<00:09:09.220><c> has</c><00:09:09.399><c> a</c><00:09:09.430><c> new</c><00:09:09.990><c> networking</c><00:09:10.990><c> protocol</c><00:09:11.470><c> so</c>

00:09:11.850 --> 00:09:11.860 align:start position:0%
su has a new networking protocol so
 

00:09:11.860 --> 00:09:13.320 align:start position:0%
su has a new networking protocol so
during<00:09:12.250><c> the</c><00:09:12.310><c> design</c><00:09:12.580><c> we're</c><00:09:12.790><c> being</c><00:09:12.970><c> quite</c>

00:09:13.320 --> 00:09:13.330 align:start position:0%
during the design we're being quite
 

00:09:13.330 --> 00:09:15.090 align:start position:0%
during the design we're being quite
cautious<00:09:13.810><c> to</c><00:09:13.959><c> make</c><00:09:14.110><c> sure</c><00:09:14.260><c> that</c><00:09:14.529><c> we</c><00:09:14.920><c> don't</c>

00:09:15.090 --> 00:09:15.100 align:start position:0%
cautious to make sure that we don't
 

00:09:15.100 --> 00:09:17.760 align:start position:0%
cautious to make sure that we don't
allow<00:09:15.430><c> for</c><00:09:16.270><c> requests</c><00:09:16.839><c> that</c><00:09:16.990><c> may</c><00:09:17.140><c> take</c><00:09:17.470><c> an</c>

00:09:17.760 --> 00:09:17.770 align:start position:0%
allow for requests that may take an
 

00:09:17.770 --> 00:09:20.040 align:start position:0%
allow for requests that may take an
unreasonable<00:09:18.459><c> amount</c><00:09:18.670><c> of</c><00:09:18.940><c> time</c><00:09:19.149><c> in</c><00:09:19.600><c> order</c><00:09:19.930><c> to</c>

00:09:20.040 --> 00:09:20.050 align:start position:0%
unreasonable amount of time in order to
 

00:09:20.050 --> 00:09:21.690 align:start position:0%
unreasonable amount of time in order to
respond<00:09:20.560><c> to</c><00:09:20.620><c> them</c><00:09:20.830><c> or</c><00:09:20.890><c> process</c><00:09:21.339><c> them</c>

00:09:21.690 --> 00:09:21.700 align:start position:0%
respond to them or process them
 

00:09:21.700 --> 00:09:24.180 align:start position:0%
respond to them or process them
so<00:09:22.300><c> this</c><00:09:22.480><c> is</c><00:09:22.630><c> the</c><00:09:22.750><c> end</c><00:09:22.930><c> of</c><00:09:23.050><c> my</c><00:09:23.170><c> slides</c><00:09:23.230><c> and</c>

00:09:24.180 --> 00:09:24.190 align:start position:0%
so this is the end of my slides and
 

00:09:24.190 --> 00:09:26.010 align:start position:0%
so this is the end of my slides and
we're<00:09:24.279><c> going</c><00:09:24.430><c> to</c><00:09:24.490><c> be</c><00:09:24.550><c> hearing</c><00:09:24.880><c> from</c><00:09:25.089><c> Adrienne</c>

00:09:26.010 --> 00:09:26.020 align:start position:0%
we're going to be hearing from Adrienne
 

00:09:26.020 --> 00:09:27.780 align:start position:0%
we're going to be hearing from Adrienne
about<00:09:26.230><c> validator</c><00:09:26.649><c> privacy</c><00:09:27.070><c> and</c><00:09:27.310><c> differential</c>

00:09:27.780 --> 00:09:27.790 align:start position:0%
about validator privacy and differential
 

00:09:27.790 --> 00:09:34.199 align:start position:0%
about validator privacy and differential
fuzzing<00:09:31.920><c> yeah</c><00:09:32.920><c> so</c><00:09:33.100><c> for</c><00:09:33.279><c> the</c><00:09:33.790><c> rest</c><00:09:34.029><c> of</c><00:09:34.149><c> this</c>

00:09:34.199 --> 00:09:34.209 align:start position:0%
fuzzing yeah so for the rest of this
 

00:09:34.209 --> 00:09:36.269 align:start position:0%
fuzzing yeah so for the rest of this
talk<00:09:34.390><c> I</c><00:09:34.540><c> just</c><00:09:34.570><c> wanted</c><00:09:34.870><c> to</c><00:09:35.020><c> give</c><00:09:35.230><c> a</c><00:09:35.589><c> very</c><00:09:36.130><c> brief</c>

00:09:36.269 --> 00:09:36.279 align:start position:0%
talk I just wanted to give a very brief
 

00:09:36.279 --> 00:09:39.500 align:start position:0%
talk I just wanted to give a very brief
overview<00:09:36.670><c> of</c><00:09:37.209><c> two</c><00:09:37.510><c> specific</c><00:09:37.750><c> examples</c><00:09:38.620><c> of</c>

00:09:39.500 --> 00:09:39.510 align:start position:0%
overview of two specific examples of
 

00:09:39.510 --> 00:09:42.269 align:start position:0%
overview of two specific examples of
some<00:09:40.540><c> etherium</c><00:09:41.080><c> some</c><00:09:41.890><c> security</c>

00:09:42.269 --> 00:09:42.279 align:start position:0%
some etherium some security
 

00:09:42.279 --> 00:09:43.560 align:start position:0%
some etherium some security
considerations<00:09:42.820><c> in</c><00:09:42.940><c> etherium</c><00:09:43.240><c> -</c><00:09:43.390><c> so</c>

00:09:43.560 --> 00:09:43.570 align:start position:0%
considerations in etherium - so
 

00:09:43.570 --> 00:09:45.350 align:start position:0%
considerations in etherium - so
specifically<00:09:44.050><c> validated</c><00:09:44.589><c> privacy</c><00:09:45.010><c> and</c>

00:09:45.350 --> 00:09:45.360 align:start position:0%
specifically validated privacy and
 

00:09:45.360 --> 00:09:49.230 align:start position:0%
specifically validated privacy and
differential<00:09:46.360><c> fuzzing</c><00:09:47.250><c> so</c><00:09:48.250><c> for</c><00:09:48.670><c> validated</c>

00:09:49.230 --> 00:09:49.240 align:start position:0%
differential fuzzing so for validated
 

00:09:49.240 --> 00:09:50.670 align:start position:0%
differential fuzzing so for validated
privacy<00:09:49.630><c> what</c><00:09:49.810><c> our</c><00:09:49.959><c> valide</c><00:09:50.320><c> is</c><00:09:50.380><c> we</c><00:09:50.500><c> need</c><00:09:50.620><c> to</c>

00:09:50.670 --> 00:09:50.680 align:start position:0%
privacy what our valide is we need to
 

00:09:50.680 --> 00:09:52.620 align:start position:0%
privacy what our valide is we need to
know<00:09:50.740><c> what</c><00:09:50.860><c> these</c><00:09:50.950><c> guys</c><00:09:51.160><c> are</c><00:09:51.370><c> first</c><00:09:51.640><c> which</c><00:09:52.510><c> I'm</c>

00:09:52.620 --> 00:09:52.630 align:start position:0%
know what these guys are first which I'm
 

00:09:52.630 --> 00:09:55.139 align:start position:0%
know what these guys are first which I'm
sure<00:09:52.779><c> you</c><00:09:52.930><c> all</c><00:09:53.080><c> know</c><00:09:53.110><c> but</c><00:09:53.830><c> anyway</c><00:09:54.430><c> validators</c>

00:09:55.139 --> 00:09:55.149 align:start position:0%
sure you all know but anyway validators
 

00:09:55.149 --> 00:09:58.680 align:start position:0%
sure you all know but anyway validators
are<00:09:55.440><c> aetherium</c><00:09:56.440><c> two</c><00:09:56.890><c> entities</c><00:09:57.700><c> that</c><00:09:57.910><c> drive</c>

00:09:58.680 --> 00:09:58.690 align:start position:0%
are aetherium two entities that drive
 

00:09:58.690 --> 00:10:01.050 align:start position:0%
are aetherium two entities that drive
consensus<00:09:59.320><c> via</c><00:09:59.649><c> staking</c><00:10:00.310><c> a</c><00:10:00.399><c> theorem</c><00:10:00.970><c> and</c>

00:10:01.050 --> 00:10:01.060 align:start position:0%
consensus via staking a theorem and
 

00:10:01.060 --> 00:10:02.940 align:start position:0%
consensus via staking a theorem and
performing<00:10:01.450><c> specific</c><00:10:01.570><c> tasks</c><00:10:02.200><c> in</c><00:10:02.380><c> particular</c>

00:10:02.940 --> 00:10:02.950 align:start position:0%
performing specific tasks in particular
 

00:10:02.950 --> 00:10:04.949 align:start position:0%
performing specific tasks in particular
they<00:10:03.279><c> need</c><00:10:03.490><c> to</c><00:10:03.700><c> vote</c><00:10:04.000><c> on</c><00:10:04.180><c> shards</c><00:10:04.540><c> and</c><00:10:04.690><c> beacon</c>

00:10:04.949 --> 00:10:04.959 align:start position:0%
they need to vote on shards and beacon
 

00:10:04.959 --> 00:10:07.290 align:start position:0%
they need to vote on shards and beacon
blocks<00:10:05.250><c> and</c><00:10:06.250><c> at</c><00:10:06.550><c> the</c><00:10:06.670><c> network</c><00:10:06.910><c> layer</c><00:10:07.060><c> they</c>

00:10:07.290 --> 00:10:07.300 align:start position:0%
blocks and at the network layer they
 

00:10:07.300 --> 00:10:08.550 align:start position:0%
blocks and at the network layer they
need<00:10:07.450><c> to</c><00:10:07.540><c> produce</c><00:10:07.720><c> blocks</c><00:10:08.140><c> and</c><00:10:08.290><c> they</c><00:10:08.350><c> need</c><00:10:08.500><c> to</c>

00:10:08.550 --> 00:10:08.560 align:start position:0%
need to produce blocks and they need to
 

00:10:08.560 --> 00:10:10.440 align:start position:0%
need to produce blocks and they need to
produce<00:10:08.680><c> attestation</c><00:10:09.310><c> x'</c><00:10:09.490><c> so</c><00:10:10.060><c> that</c><00:10:10.180><c> means</c><00:10:10.360><c> if</c>

00:10:10.440 --> 00:10:10.450 align:start position:0%
produce attestation x' so that means if
 

00:10:10.450 --> 00:10:11.670 align:start position:0%
produce attestation x' so that means if
you<00:10:10.540><c> want</c><00:10:10.600><c> to</c><00:10:10.690><c> be</c><00:10:10.810><c> a</c><00:10:10.839><c> validator</c><00:10:11.260><c> you</c><00:10:11.440><c> need</c><00:10:11.589><c> to</c>

00:10:11.670 --> 00:10:11.680 align:start position:0%
you want to be a validator you need to
 

00:10:11.680 --> 00:10:12.990 align:start position:0%
you want to be a validator you need to
have<00:10:11.800><c> a</c><00:10:11.830><c> beacon</c><00:10:12.160><c> node</c><00:10:12.339><c> that's</c><00:10:12.550><c> connected</c><00:10:12.910><c> to</c>

00:10:12.990 --> 00:10:13.000 align:start position:0%
have a beacon node that's connected to
 

00:10:13.000 --> 00:10:14.910 align:start position:0%
have a beacon node that's connected to
the<00:10:13.089><c> network</c><00:10:13.270><c> that</c><00:10:13.600><c> actively</c><00:10:14.290><c> produces</c>

00:10:14.910 --> 00:10:14.920 align:start position:0%
the network that actively produces
 

00:10:14.920 --> 00:10:18.510 align:start position:0%
the network that actively produces
blocks<00:10:15.220><c> produces</c><00:10:15.670><c> outa</c><00:10:15.820><c> stations</c><00:10:16.920><c> so</c><00:10:17.920><c> I</c><00:10:18.220><c> want</c>

00:10:18.510 --> 00:10:18.520 align:start position:0%
blocks produces outa stations so I want
 

00:10:18.520 --> 00:10:21.090 align:start position:0%
blocks produces outa stations so I want
to<00:10:18.610><c> try</c><00:10:18.940><c> and</c><00:10:19.270><c> kind</c><00:10:19.990><c> of</c><00:10:20.050><c> give</c><00:10:20.170><c> you</c><00:10:20.230><c> a</c><00:10:20.260><c> high-level</c>

00:10:21.090 --> 00:10:21.100 align:start position:0%
to try and kind of give you a high-level
 

00:10:21.100 --> 00:10:23.220 align:start position:0%
to try and kind of give you a high-level
overview<00:10:21.400><c> of</c><00:10:21.790><c> what</c><00:10:22.029><c> the</c><00:10:22.150><c> actual</c><00:10:22.480><c> issue</c><00:10:22.630><c> we</c>

00:10:23.220 --> 00:10:23.230 align:start position:0%
overview of what the actual issue we
 

00:10:23.230 --> 00:10:25.500 align:start position:0%
overview of what the actual issue we
have<00:10:23.410><c> with</c><00:10:23.440><c> validator</c><00:10:23.920><c> privacy</c><00:10:24.370><c> in</c><00:10:25.180><c> aetherium</c>

00:10:25.500 --> 00:10:25.510 align:start position:0%
have with validator privacy in aetherium
 

00:10:25.510 --> 00:10:29.000 align:start position:0%
have with validator privacy in aetherium
-<00:10:25.779><c> we're</c><00:10:25.990><c> using</c><00:10:26.200><c> a</c><00:10:26.410><c> protocol</c><00:10:26.920><c> to</c><00:10:27.060><c> publish</c><00:10:28.060><c> and</c>

00:10:29.000 --> 00:10:29.010 align:start position:0%
- we're using a protocol to publish and
 

00:10:29.010 --> 00:10:31.199 align:start position:0%
- we're using a protocol to publish and
propagate<00:10:30.010><c> blocks</c><00:10:30.370><c> and</c><00:10:30.550><c> annotations</c><00:10:31.060><c> on</c><00:10:31.150><c> the</c>

00:10:31.199 --> 00:10:31.209 align:start position:0%
propagate blocks and annotations on the
 

00:10:31.209 --> 00:10:32.760 align:start position:0%
propagate blocks and annotations on the
network<00:10:31.480><c> called</c><00:10:31.660><c> gossip</c><00:10:31.870><c> sub</c><00:10:32.230><c> there's</c>

00:10:32.760 --> 00:10:32.770 align:start position:0%
network called gossip sub there's
 

00:10:32.770 --> 00:10:35.160 align:start position:0%
network called gossip sub there's
protocol<00:10:33.610><c> labs</c><00:10:33.850><c> I</c><00:10:34.000><c> think</c><00:10:34.209><c> in</c><00:10:34.420><c> about</c><00:10:34.810><c> an</c><00:10:34.990><c> hour</c>

00:10:35.160 --> 00:10:35.170 align:start position:0%
protocol labs I think in about an hour
 

00:10:35.170 --> 00:10:37.079 align:start position:0%
protocol labs I think in about an hour
or<00:10:35.350><c> giving</c><00:10:35.709><c> a</c><00:10:35.800><c> deep</c><00:10:36.220><c> dive</c><00:10:36.430><c> into</c><00:10:36.700><c> this</c>

00:10:37.079 --> 00:10:37.089 align:start position:0%
or giving a deep dive into this
 

00:10:37.089 --> 00:10:39.000 align:start position:0%
or giving a deep dive into this
particular<00:10:37.450><c> protocol</c><00:10:38.020><c> but</c><00:10:38.589><c> right</c><00:10:38.770><c> now</c><00:10:38.890><c> I</c><00:10:38.950><c> just</c>

00:10:39.000 --> 00:10:39.010 align:start position:0%
particular protocol but right now I just
 

00:10:39.010 --> 00:10:40.170 align:start position:0%
particular protocol but right now I just
want<00:10:39.250><c> to</c><00:10:39.310><c> give</c><00:10:39.400><c> a</c><00:10:39.430><c> like</c><00:10:39.700><c> a</c><00:10:39.730><c> very</c><00:10:39.970><c> high-level</c>

00:10:40.170 --> 00:10:40.180 align:start position:0%
want to give a like a very high-level
 

00:10:40.180 --> 00:10:42.240 align:start position:0%
want to give a like a very high-level
overview<00:10:40.540><c> of</c><00:10:40.959><c> roughly</c><00:10:41.230><c> how</c><00:10:41.440><c> it</c><00:10:41.500><c> works</c><00:10:41.680><c> and</c><00:10:41.950><c> and</c>

00:10:42.240 --> 00:10:42.250 align:start position:0%
overview of roughly how it works and and
 

00:10:42.250 --> 00:10:44.130 align:start position:0%
overview of roughly how it works and and
why<00:10:42.640><c> there's</c><00:10:42.910><c> an</c><00:10:43.000><c> issue</c><00:10:43.089><c> or</c><00:10:43.810><c> a</c><00:10:43.839><c> potential</c>

00:10:44.130 --> 00:10:44.140 align:start position:0%
why there's an issue or a potential
 

00:10:44.140 --> 00:10:45.870 align:start position:0%
why there's an issue or a potential
issue<00:10:44.350><c> or</c><00:10:44.589><c> security</c><00:10:45.070><c> consideration</c><00:10:45.610><c> inside</c>

00:10:45.870 --> 00:10:45.880 align:start position:0%
issue or security consideration inside
 

00:10:45.880 --> 00:10:48.690 align:start position:0%
issue or security consideration inside
of<00:10:46.000><c> that</c><00:10:46.120><c> so</c><00:10:46.930><c> this</c><00:10:47.709><c> is</c><00:10:47.770><c> a</c><00:10:47.950><c> simple</c><00:10:48.490><c> peer-to-peer</c>

00:10:48.690 --> 00:10:48.700 align:start position:0%
of that so this is a simple peer-to-peer
 

00:10:48.700 --> 00:10:51.449 align:start position:0%
of that so this is a simple peer-to-peer
network<00:10:49.150><c> that's</c><00:10:49.360><c> what</c><00:10:49.510><c> I'm</c><00:10:49.600><c> trying</c><00:10:49.839><c> to</c><00:10:50.459><c> what</c>

00:10:51.449 --> 00:10:51.459 align:start position:0%
network that's what I'm trying to what
 

00:10:51.459 --> 00:10:52.530 align:start position:0%
network that's what I'm trying to what
I'm<00:10:51.550><c> trying</c><00:10:51.670><c> to</c><00:10:51.820><c> show</c><00:10:52.000><c> here</c><00:10:52.150><c> in</c><00:10:52.240><c> this</c><00:10:52.329><c> diagram</c>

00:10:52.530 --> 00:10:52.540 align:start position:0%
I'm trying to show here in this diagram
 

00:10:52.540 --> 00:10:56.130 align:start position:0%
I'm trying to show here in this diagram
each<00:10:53.380><c> of</c><00:10:53.589><c> the</c><00:10:53.649><c> circles</c><00:10:54.070><c> are</c><00:10:54.220><c> beacon</c><00:10:54.579><c> nodes</c><00:10:55.140><c> the</c>

00:10:56.130 --> 00:10:56.140 align:start position:0%
each of the circles are beacon nodes the
 

00:10:56.140 --> 00:10:57.990 align:start position:0%
each of the circles are beacon nodes the
direct<00:10:56.470><c> lines</c><00:10:56.770><c> or</c><00:10:57.040><c> the</c><00:10:57.160><c> solid</c><00:10:57.579><c> lines</c><00:10:57.820><c> between</c>

00:10:57.990 --> 00:10:58.000 align:start position:0%
direct lines or the solid lines between
 

00:10:58.000 --> 00:10:59.790 align:start position:0%
direct lines or the solid lines between
those<00:10:58.329><c> the</c><00:10:58.450><c> direct</c><00:10:58.720><c> connections</c><00:10:59.200><c> physical</c>

00:10:59.790 --> 00:10:59.800 align:start position:0%
those the direct connections physical
 

00:10:59.800 --> 00:11:02.340 align:start position:0%
those the direct connections physical
connections<00:11:00.160><c> IP</c><00:11:00.310><c> IP</c><00:11:00.750><c> TCP</c><00:11:01.750><c> connections</c><00:11:02.170><c> if</c><00:11:02.260><c> you</c>

00:11:02.340 --> 00:11:02.350 align:start position:0%
connections IP IP TCP connections if you
 

00:11:02.350 --> 00:11:04.530 align:start position:0%
connections IP IP TCP connections if you
want<00:11:02.529><c> between</c><00:11:03.310><c> the</c><00:11:03.430><c> nodes</c><00:11:03.640><c> and</c><00:11:03.820><c> you</c><00:11:04.420><c> can</c>

00:11:04.530 --> 00:11:04.540 align:start position:0%
want between the nodes and you can
 

00:11:04.540 --> 00:11:06.690 align:start position:0%
want between the nodes and you can
consider<00:11:04.839><c> this</c><00:11:04.990><c> as</c><00:11:05.170><c> a</c><00:11:05.200><c> very</c><00:11:05.470><c> rough</c><00:11:05.709><c> aetherium</c>

00:11:06.690 --> 00:11:06.700 align:start position:0%
consider this as a very rough aetherium
 

00:11:06.700 --> 00:11:10.300 align:start position:0%
consider this as a very rough aetherium
to<00:11:06.880><c> peer-to-peer</c><00:11:07.810><c> network</c><00:11:08.459><c> so</c>

00:11:10.300 --> 00:11:10.310 align:start position:0%
to peer-to-peer network so
 

00:11:10.310 --> 00:11:11.619 align:start position:0%
to peer-to-peer network so
of<00:11:10.430><c> all</c><00:11:10.639><c> the</c><00:11:10.790><c> nodes</c><00:11:10.970><c> in</c><00:11:11.120><c> the</c><00:11:11.149><c> network</c><00:11:11.209><c> there's</c>

00:11:11.619 --> 00:11:11.629 align:start position:0%
of all the nodes in the network there's
 

00:11:11.629 --> 00:11:13.150 align:start position:0%
of all the nodes in the network there's
a<00:11:11.689><c> subset</c><00:11:12.110><c> of</c><00:11:12.230><c> nodes</c><00:11:12.410><c> which</c><00:11:12.620><c> are</c><00:11:12.740><c> validator</c>

00:11:13.150 --> 00:11:13.160 align:start position:0%
a subset of nodes which are validator
 

00:11:13.160 --> 00:11:15.879 align:start position:0%
a subset of nodes which are validator
nodes<00:11:13.569><c> what</c><00:11:14.569><c> I</c><00:11:14.600><c> mean</c><00:11:14.870><c> by</c><00:11:15.019><c> a</c><00:11:15.050><c> validator</c><00:11:15.470><c> node</c><00:11:15.709><c> is</c>

00:11:15.879 --> 00:11:15.889 align:start position:0%
nodes what I mean by a validator node is
 

00:11:15.889 --> 00:11:17.530 align:start position:0%
nodes what I mean by a validator node is
a<00:11:15.920><c> beacon</c><00:11:16.279><c> node</c><00:11:16.490><c> that</c><00:11:16.699><c> has</c><00:11:16.759><c> a</c><00:11:17.029><c> validator</c>

00:11:17.530 --> 00:11:17.540 align:start position:0%
a beacon node that has a validator
 

00:11:17.540 --> 00:11:18.579 align:start position:0%
a beacon node that has a validator
client<00:11:17.839><c> attached</c><00:11:18.110><c> to</c><00:11:18.230><c> it</c><00:11:18.350><c> and</c><00:11:18.410><c> they're</c><00:11:18.529><c> the</c>

00:11:18.579 --> 00:11:18.589 align:start position:0%
client attached to it and they're the
 

00:11:18.589 --> 00:11:19.660 align:start position:0%
client attached to it and they're the
ones<00:11:18.740><c> that</c><00:11:18.829><c> are</c><00:11:18.920><c> producing</c><00:11:19.339><c> blocks</c><00:11:19.550><c> are</c>

00:11:19.660 --> 00:11:19.670 align:start position:0%
ones that are producing blocks are
 

00:11:19.670 --> 00:11:21.970 align:start position:0%
ones that are producing blocks are
attestations<00:11:19.999><c> when</c><00:11:20.899><c> we</c><00:11:21.019><c> publish</c><00:11:21.439><c> a</c><00:11:21.470><c> block</c><00:11:21.769><c> or</c>

00:11:21.970 --> 00:11:21.980 align:start position:0%
attestations when we publish a block or
 

00:11:21.980 --> 00:11:24.730 align:start position:0%
attestations when we publish a block or
an<00:11:22.160><c> attestation</c><00:11:22.779><c> on</c><00:11:23.779><c> the</c><00:11:24.050><c> network</c><00:11:24.350><c> let's</c>

00:11:24.730 --> 00:11:24.740 align:start position:0%
an attestation on the network let's
 

00:11:24.740 --> 00:11:28.059 align:start position:0%
an attestation on the network let's
consider<00:11:25.069><c> this</c><00:11:26.649><c> validator</c><00:11:27.649><c> node</c><00:11:27.860><c> in</c><00:11:28.009><c> the</c>

00:11:28.059 --> 00:11:28.069 align:start position:0%
consider this validator node in the
 

00:11:28.069 --> 00:11:30.220 align:start position:0%
consider this validator node in the
middle<00:11:28.279><c> when</c><00:11:28.430><c> we</c><00:11:28.519><c> want</c><00:11:28.730><c> when</c><00:11:28.999><c> he</c><00:11:29.209><c> wants</c><00:11:29.449><c> to</c><00:11:29.600><c> he</c>

00:11:30.220 --> 00:11:30.230 align:start position:0%
middle when we want when he wants to he
 

00:11:30.230 --> 00:11:31.660 align:start position:0%
middle when we want when he wants to he
or<00:11:30.350><c> she</c><00:11:30.499><c> wants</c><00:11:30.740><c> to</c><00:11:30.829><c> produce</c><00:11:31.009><c> a</c><00:11:31.249><c> block</c><00:11:31.430><c> on</c><00:11:31.579><c> the</c>

00:11:31.660 --> 00:11:31.670 align:start position:0%
or she wants to produce a block on the
 

00:11:31.670 --> 00:11:34.269 align:start position:0%
or she wants to produce a block on the
network<00:11:31.970><c> it</c><00:11:32.870><c> uses</c><00:11:33.079><c> gossip</c><00:11:33.559><c> sub</c><00:11:33.740><c> the</c><00:11:34.009><c> way</c><00:11:34.100><c> that</c>

00:11:34.269 --> 00:11:34.279 align:start position:0%
network it uses gossip sub the way that
 

00:11:34.279 --> 00:11:36.160 align:start position:0%
network it uses gossip sub the way that
this<00:11:34.370><c> works</c><00:11:34.639><c> so</c><00:11:34.910><c> publisher</c><00:11:35.540><c> block</c><00:11:35.779><c> is</c><00:11:35.959><c> you</c>

00:11:36.160 --> 00:11:36.170 align:start position:0%
this works so publisher block is you
 

00:11:36.170 --> 00:11:38.530 align:start position:0%
this works so publisher block is you
select<00:11:36.559><c> a</c><00:11:36.680><c> subset</c><00:11:36.920><c> of</c><00:11:37.279><c> your</c><00:11:37.579><c> connected</c><00:11:38.360><c> peers</c>

00:11:38.530 --> 00:11:38.540 align:start position:0%
select a subset of your connected peers
 

00:11:38.540 --> 00:11:41.470 align:start position:0%
select a subset of your connected peers
and<00:11:38.779><c> you</c><00:11:39.350><c> send</c><00:11:39.649><c> them</c><00:11:39.740><c> the</c><00:11:39.889><c> block</c><00:11:40.209><c> intern</c><00:11:41.209><c> they</c>

00:11:41.470 --> 00:11:41.480 align:start position:0%
and you send them the block intern they
 

00:11:41.480 --> 00:11:43.269 align:start position:0%
and you send them the block intern they
do<00:11:41.540><c> the</c><00:11:41.720><c> same</c><00:11:41.899><c> thing</c><00:11:42.139><c> in</c><00:11:42.350><c> turn</c><00:11:42.800><c> they</c><00:11:43.009><c> do</c><00:11:43.069><c> the</c>

00:11:43.269 --> 00:11:43.279 align:start position:0%
do the same thing in turn they do the
 

00:11:43.279 --> 00:11:45.910 align:start position:0%
do the same thing in turn they do the
same<00:11:43.399><c> thing</c><00:11:43.670><c> and</c><00:11:43.879><c> the</c><00:11:44.480><c> block</c><00:11:44.720><c> or</c><00:11:45.410><c> attestation</c>

00:11:45.910 --> 00:11:45.920 align:start position:0%
same thing and the block or attestation
 

00:11:45.920 --> 00:11:48.009 align:start position:0%
same thing and the block or attestation
gets<00:11:46.279><c> propagated</c><00:11:46.939><c> across</c><00:11:47.389><c> the</c><00:11:47.509><c> network</c><00:11:47.749><c> such</c>

00:11:48.009 --> 00:11:48.019 align:start position:0%
gets propagated across the network such
 

00:11:48.019 --> 00:11:49.299 align:start position:0%
gets propagated across the network such
that<00:11:48.259><c> the</c><00:11:48.350><c> entire</c><00:11:48.589><c> network</c><00:11:48.769><c> receives</c><00:11:49.189><c> the</c>

00:11:49.299 --> 00:11:49.309 align:start position:0%
that the entire network receives the
 

00:11:49.309 --> 00:11:51.910 align:start position:0%
that the entire network receives the
block<00:11:49.459><c> okay</c><00:11:50.420><c> so</c><00:11:50.569><c> what's</c><00:11:51.170><c> the</c><00:11:51.319><c> issue</c><00:11:51.470><c> with</c><00:11:51.769><c> this</c>

00:11:51.910 --> 00:11:51.920 align:start position:0%
block okay so what's the issue with this
 

00:11:51.920 --> 00:11:55.210 align:start position:0%
block okay so what's the issue with this
the<00:11:52.670><c> issue</c><00:11:52.910><c> is</c><00:11:53.240><c> that</c><00:11:53.410><c> the</c><00:11:54.410><c> first</c><00:11:54.860><c> people</c><00:11:55.160><c> you</c>

00:11:55.210 --> 00:11:55.220 align:start position:0%
the issue is that the first people you
 

00:11:55.220 --> 00:11:57.100 align:start position:0%
the issue is that the first people you
initially<00:11:55.670><c> connect</c><00:11:55.970><c> to</c><00:11:56.059><c> what</c><00:11:56.329><c> happens</c><00:11:56.660><c> if</c><00:11:56.839><c> one</c>

00:11:57.100 --> 00:11:57.110 align:start position:0%
initially connect to what happens if one
 

00:11:57.110 --> 00:11:59.139 align:start position:0%
initially connect to what happens if one
of<00:11:57.230><c> them</c><00:11:57.379><c> is</c><00:11:57.499><c> malicious</c><00:11:57.800><c> they</c><00:11:58.610><c> have</c><00:11:58.790><c> a</c><00:11:58.819><c> direct</c>

00:11:59.139 --> 00:11:59.149 align:start position:0%
of them is malicious they have a direct
 

00:11:59.149 --> 00:12:00.639 align:start position:0%
of them is malicious they have a direct
connection<00:11:59.449><c> to</c><00:11:59.600><c> you</c><00:11:59.779><c> so</c><00:11:59.959><c> they</c><00:12:00.079><c> know</c><00:12:00.259><c> what</c><00:12:00.499><c> your</c>

00:12:00.639 --> 00:12:00.649 align:start position:0%
connection to you so they know what your
 

00:12:00.649 --> 00:12:02.110 align:start position:0%
connection to you so they know what your
IP<00:12:00.800><c> address</c><00:12:01.220><c> is</c><00:12:01.339><c> if</c><00:12:01.519><c> you're</c><00:12:01.639><c> a</c><00:12:01.699><c> validator</c>

00:12:02.110 --> 00:12:02.120 align:start position:0%
IP address is if you're a validator
 

00:12:02.120 --> 00:12:04.269 align:start position:0%
IP address is if you're a validator
client<00:12:02.449><c> on</c><00:12:02.509><c> the</c><00:12:02.600><c> network</c><00:12:02.899><c> in</c><00:12:03.680><c> practice</c><00:12:04.069><c> and</c>

00:12:04.269 --> 00:12:04.279 align:start position:0%
client on the network in practice and
 

00:12:04.279 --> 00:12:05.739 align:start position:0%
client on the network in practice and
malicious<00:12:04.670><c> actor</c><00:12:04.939><c> was</c><00:12:05.089><c> actually</c><00:12:05.360><c> going</c><00:12:05.509><c> to</c>

00:12:05.739 --> 00:12:05.749 align:start position:0%
malicious actor was actually going to
 

00:12:05.749 --> 00:12:08.230 align:start position:0%
malicious actor was actually going to
release<00:12:06.079><c> or</c><00:12:06.379><c> deploy</c><00:12:07.339><c> a</c><00:12:07.370><c> whole</c><00:12:07.730><c> range</c><00:12:07.999><c> of</c><00:12:08.120><c> these</c>

00:12:08.230 --> 00:12:08.240 align:start position:0%
release or deploy a whole range of these
 

00:12:08.240 --> 00:12:09.790 align:start position:0%
release or deploy a whole range of these
nodes<00:12:08.480><c> and</c><00:12:08.720><c> through</c><00:12:08.930><c> timing</c><00:12:09.259><c> analysis</c><00:12:09.680><c> they</c>

00:12:09.790 --> 00:12:09.800 align:start position:0%
nodes and through timing analysis they
 

00:12:09.800 --> 00:12:11.559 align:start position:0%
nodes and through timing analysis they
can<00:12:09.949><c> actually</c><00:12:10.249><c> work</c><00:12:10.370><c> out</c><00:12:10.579><c> who</c><00:12:11.360><c> were</c><00:12:11.480><c> the</c>

00:12:11.559 --> 00:12:11.569 align:start position:0%
can actually work out who were the
 

00:12:11.569 --> 00:12:13.449 align:start position:0%
can actually work out who were the
validators<00:12:12.110><c> specifically</c><00:12:13.100><c> their</c><00:12:13.249><c> IP</c>

00:12:13.449 --> 00:12:13.459 align:start position:0%
validators specifically their IP
 

00:12:13.459 --> 00:12:15.670 align:start position:0%
validators specifically their IP
addresses<00:12:13.970><c> on</c><00:12:14.059><c> the</c><00:12:14.149><c> network</c><00:12:14.420><c> so</c><00:12:15.050><c> assuming</c>

00:12:15.670 --> 00:12:15.680 align:start position:0%
addresses on the network so assuming
 

00:12:15.680 --> 00:12:17.439 align:start position:0%
addresses on the network so assuming
that<00:12:15.740><c> you</c><00:12:16.129><c> can</c><00:12:16.370><c> perform</c><00:12:16.550><c> this</c><00:12:16.850><c> attack</c><00:12:17.120><c> you</c><00:12:17.269><c> can</c>

00:12:17.439 --> 00:12:17.449 align:start position:0%
that you can perform this attack you can
 

00:12:17.449 --> 00:12:20.379 align:start position:0%
that you can perform this attack you can
essentially<00:12:18.350><c> collect</c><00:12:18.860><c> the</c><00:12:19.220><c> IP</c><00:12:19.550><c> addresses</c><00:12:19.819><c> or</c>

00:12:20.379 --> 00:12:20.389 align:start position:0%
essentially collect the IP addresses or
 

00:12:20.389 --> 00:12:21.429 align:start position:0%
essentially collect the IP addresses or
the<00:12:20.480><c> physical</c><00:12:20.779><c> addresses</c><00:12:21.139><c> of</c><00:12:21.230><c> all</c><00:12:21.350><c> the</c>

00:12:21.429 --> 00:12:21.439 align:start position:0%
the physical addresses of all the
 

00:12:21.439 --> 00:12:23.499 align:start position:0%
the physical addresses of all the
validators<00:12:21.889><c> on</c><00:12:21.980><c> the</c><00:12:22.069><c> network</c><00:12:22.339><c> so</c><00:12:23.089><c> why</c><00:12:23.300><c> is</c><00:12:23.360><c> this</c>

00:12:23.499 --> 00:12:23.509 align:start position:0%
validators on the network so why is this
 

00:12:23.509 --> 00:12:26.920 align:start position:0%
validators on the network so why is this
an<00:12:23.660><c> issue</c><00:12:24.399><c> so</c><00:12:25.399><c> it's</c><00:12:25.550><c> an</c><00:12:25.610><c> issue</c><00:12:25.759><c> for</c><00:12:26.720><c> a</c><00:12:26.779><c> number</c>

00:12:26.920 --> 00:12:26.930 align:start position:0%
an issue so it's an issue for a number
 

00:12:26.930 --> 00:12:28.629 align:start position:0%
an issue so it's an issue for a number
of<00:12:27.170><c> reasons</c><00:12:27.230><c> the</c><00:12:27.620><c> first</c><00:12:27.769><c> one</c><00:12:28.009><c> is</c><00:12:28.100><c> that</c><00:12:28.279><c> you</c><00:12:28.459><c> if</c>

00:12:28.629 --> 00:12:28.639 align:start position:0%
of reasons the first one is that you if
 

00:12:28.639 --> 00:12:29.980 align:start position:0%
of reasons the first one is that you if
you<00:12:28.730><c> know</c><00:12:28.910><c> a</c><00:12:28.939><c> specific</c><00:12:29.180><c> valid</c><00:12:29.660><c> a</c><00:12:29.720><c> as</c><00:12:29.809><c> IP</c>

00:12:29.980 --> 00:12:29.990 align:start position:0%
you know a specific valid a as IP
 

00:12:29.990 --> 00:12:31.509 align:start position:0%
you know a specific valid a as IP
address<00:12:30.350><c> you</c><00:12:30.500><c> can</c><00:12:30.620><c> target</c><00:12:30.829><c> that</c><00:12:31.129><c> computer</c><00:12:31.490><c> and</c>

00:12:31.509 --> 00:12:31.519 align:start position:0%
address you can target that computer and
 

00:12:31.519 --> 00:12:33.249 align:start position:0%
address you can target that computer and
you<00:12:31.670><c> can</c><00:12:31.699><c> das</c><00:12:31.970><c> it</c><00:12:32.149><c> you</c><00:12:32.480><c> can</c><00:12:32.720><c> perform</c><00:12:33.110><c> an</c>

00:12:33.249 --> 00:12:33.259 align:start position:0%
you can das it you can perform an
 

00:12:33.259 --> 00:12:34.420 align:start position:0%
you can das it you can perform an
eclipse<00:12:33.500><c> attack</c><00:12:33.769><c> for</c><00:12:33.949><c> example</c><00:12:33.980><c> which</c>

00:12:34.420 --> 00:12:34.430 align:start position:0%
eclipse attack for example which
 

00:12:34.430 --> 00:12:35.799 align:start position:0%
eclipse attack for example which
segregates<00:12:34.970><c> it</c><00:12:35.089><c> from</c><00:12:35.209><c> the</c><00:12:35.329><c> network</c><00:12:35.480><c> a</c>

00:12:35.799 --> 00:12:35.809 align:start position:0%
segregates it from the network a
 

00:12:35.809 --> 00:12:37.389 align:start position:0%
segregates it from the network a
validator<00:12:36.620><c> that's</c><00:12:36.769><c> segregated</c><00:12:37.220><c> from</c><00:12:37.279><c> the</c>

00:12:37.389 --> 00:12:37.399 align:start position:0%
validator that's segregated from the
 

00:12:37.399 --> 00:12:38.949 align:start position:0%
validator that's segregated from the
network<00:12:37.699><c> can't</c><00:12:37.939><c> perform</c><00:12:38.089><c> its</c><00:12:38.420><c> task</c><00:12:38.509><c> that's</c>

00:12:38.949 --> 00:12:38.959 align:start position:0%
network can't perform its task that's
 

00:12:38.959 --> 00:12:41.290 align:start position:0%
network can't perform its task that's
required<00:12:39.290><c> to</c><00:12:39.379><c> do</c><00:12:39.529><c> and</c><00:12:39.740><c> therefore</c><00:12:39.889><c> it's</c><00:12:40.300><c> valid</c>

00:12:41.290 --> 00:12:41.300 align:start position:0%
required to do and therefore it's valid
 

00:12:41.300 --> 00:12:43.600 align:start position:0%
required to do and therefore it's valid
it<00:12:41.420><c> there</c><00:12:42.050><c> that</c><00:12:42.230><c> will</c><00:12:42.350><c> lose</c><00:12:42.500><c> their</c><00:12:42.709><c> stake</c><00:12:42.920><c> so</c>

00:12:43.600 --> 00:12:43.610 align:start position:0%
it there that will lose their stake so
 

00:12:43.610 --> 00:12:45.100 align:start position:0%
it there that will lose their stake so
what<00:12:43.819><c> that</c><00:12:43.970><c> means</c><00:12:44.180><c> in</c><00:12:44.329><c> practice</c><00:12:44.660><c> if</c><00:12:44.809><c> someone</c>

00:12:45.100 --> 00:12:45.110 align:start position:0%
what that means in practice if someone
 

00:12:45.110 --> 00:12:46.449 align:start position:0%
what that means in practice if someone
comes<00:12:45.259><c> along</c><00:12:45.410><c> and</c><00:12:45.559><c> says</c><00:12:45.860><c> that</c><00:12:46.040><c> you</c><00:12:46.129><c> look</c><00:12:46.250><c> fat</c>

00:12:46.449 --> 00:12:46.459 align:start position:0%
comes along and says that you look fat
 

00:12:46.459 --> 00:12:48.189 align:start position:0%
comes along and says that you look fat
in<00:12:46.490><c> a</c><00:12:46.610><c> pair</c><00:12:46.790><c> of</c><00:12:46.819><c> jeans</c><00:12:47.089><c> you</c><00:12:47.269><c> go</c><00:12:47.569><c> right</c><00:12:47.839><c> oh</c><00:12:47.870><c> I'm</c>

00:12:48.189 --> 00:12:48.199 align:start position:0%
in a pair of jeans you go right oh I'm
 

00:12:48.199 --> 00:12:50.139 align:start position:0%
in a pair of jeans you go right oh I'm
gonna<00:12:48.410><c> find</c><00:12:48.709><c> your</c><00:12:49.009><c> IP</c><00:12:49.220><c> address</c><00:12:49.519><c> you</c><00:12:49.879><c> segregate</c>

00:12:50.139 --> 00:12:50.149 align:start position:0%
gonna find your IP address you segregate
 

00:12:50.149 --> 00:12:51.100 align:start position:0%
gonna find your IP address you segregate
them<00:12:50.420><c> from</c><00:12:50.540><c> the</c><00:12:50.600><c> network</c><00:12:50.839><c> and</c><00:12:50.899><c> they</c><00:12:51.019><c> lose</c>

00:12:51.100 --> 00:12:51.110 align:start position:0%
them from the network and they lose
 

00:12:51.110 --> 00:12:55.179 align:start position:0%
them from the network and they lose
their<00:12:51.350><c> stake</c><00:12:51.559><c> as</c><00:12:51.740><c> punishment</c><00:12:52.430><c> a</c><00:12:53.269><c> more</c><00:12:53.959><c> a</c><00:12:54.860><c> more</c>

00:12:55.179 --> 00:12:55.189 align:start position:0%
their stake as punishment a more a more
 

00:12:55.189 --> 00:12:57.429 align:start position:0%
their stake as punishment a more a more
severe<00:12:55.910><c> attack</c><00:12:56.269><c> and</c><00:12:56.600><c> sophisticated</c><00:12:57.230><c> hackers</c>

00:12:57.429 --> 00:12:57.439 align:start position:0%
severe attack and sophisticated hackers
 

00:12:57.439 --> 00:12:59.499 align:start position:0%
severe attack and sophisticated hackers
if<00:12:57.709><c> you</c><00:12:57.800><c> if</c><00:12:58.129><c> you</c><00:12:58.339><c> know</c><00:12:58.490><c> all</c><00:12:58.670><c> the</c><00:12:58.819><c> Valladares</c><00:12:59.240><c> IP</c>

00:12:59.499 --> 00:12:59.509 align:start position:0%
if you if you know all the Valladares IP
 

00:12:59.509 --> 00:13:01.240 align:start position:0%
if you if you know all the Valladares IP
addresses<00:12:59.809><c> on</c><00:12:59.929><c> the</c><00:13:00.019><c> network</c><00:13:00.290><c> you</c><00:13:00.589><c> perform</c><00:13:00.980><c> a</c>

00:13:01.240 --> 00:13:01.250 align:start position:0%
addresses on the network you perform a
 

00:13:01.250 --> 00:13:03.189 align:start position:0%
addresses on the network you perform a
large-scale<00:13:01.970><c> attack</c><00:13:02.269><c> on</c><00:13:02.449><c> a</c><00:13:02.509><c> majority</c><00:13:03.139><c> of</c>

00:13:03.189 --> 00:13:03.199 align:start position:0%
large-scale attack on a majority of
 

00:13:03.199 --> 00:13:04.990 align:start position:0%
large-scale attack on a majority of
those<00:13:03.319><c> Valadez</c><00:13:03.709><c> and</c><00:13:03.889><c> you</c><00:13:03.949><c> kick</c><00:13:04.160><c> a</c><00:13:04.339><c> majority</c><00:13:04.970><c> of</c>

00:13:04.990 --> 00:13:05.000 align:start position:0%
those Valadez and you kick a majority of
 

00:13:05.000 --> 00:13:06.489 align:start position:0%
those Valadez and you kick a majority of
holidays<00:13:05.360><c> off</c><00:13:05.629><c> the</c><00:13:05.959><c> network</c><00:13:06.199><c> so</c><00:13:06.319><c> that</c><00:13:06.350><c> they</c>

00:13:06.489 --> 00:13:06.499 align:start position:0%
holidays off the network so that they
 

00:13:06.499 --> 00:13:09.309 align:start position:0%
holidays off the network so that they
cannot<00:13:06.679><c> perform</c><00:13:07.009><c> their</c><00:13:07.550><c> tasks</c><00:13:07.970><c> if</c><00:13:08.779><c> you</c><00:13:09.139><c> do</c>

00:13:09.309 --> 00:13:09.319 align:start position:0%
cannot perform their tasks if you do
 

00:13:09.319 --> 00:13:11.499 align:start position:0%
cannot perform their tasks if you do
that<00:13:09.529><c> you</c><00:13:09.889><c> can</c><00:13:10.069><c> prevent</c><00:13:10.490><c> or</c><00:13:10.699><c> delay</c><00:13:10.879><c> chain</c>

00:13:11.499 --> 00:13:11.509 align:start position:0%
that you can prevent or delay chain
 

00:13:11.509 --> 00:13:13.509 align:start position:0%
that you can prevent or delay chain
finalization<00:13:12.199><c> because</c><00:13:12.410><c> the</c><00:13:12.769><c> majority</c><00:13:13.249><c> of</c>

00:13:13.509 --> 00:13:13.519 align:start position:0%
finalization because the majority of
 

00:13:13.519 --> 00:13:15.369 align:start position:0%
finalization because the majority of
holidays<00:13:13.879><c> aren't</c><00:13:14.120><c> finalizing</c><00:13:14.720><c> or</c><00:13:15.050><c> agreeing</c>

00:13:15.369 --> 00:13:15.379 align:start position:0%
holidays aren't finalizing or agreeing
 

00:13:15.379 --> 00:13:17.439 align:start position:0%
holidays aren't finalizing or agreeing
on<00:13:15.529><c> blocks</c><00:13:15.829><c> you</c><00:13:16.399><c> can</c><00:13:16.429><c> amplify</c><00:13:16.939><c> validate</c><00:13:17.420><c> a</c>

00:13:17.439 --> 00:13:17.449 align:start position:0%
on blocks you can amplify validate a
 

00:13:17.449 --> 00:13:20.230 align:start position:0%
on blocks you can amplify validate a
loss<00:13:17.720><c> because</c><00:13:17.929><c> if</c><00:13:18.589><c> a</c><00:13:19.100><c> large</c><00:13:19.490><c> number</c><00:13:19.579><c> of</c><00:13:19.970><c> valid</c>

00:13:20.230 --> 00:13:20.240 align:start position:0%
loss because if a large number of valid
 

00:13:20.240 --> 00:13:21.610 align:start position:0%
loss because if a large number of valid
a's<00:13:20.329><c> are</c><00:13:20.569><c> disconnected</c><00:13:21.110><c> from</c><00:13:21.170><c> the</c><00:13:21.319><c> network</c><00:13:21.350><c> at</c>

00:13:21.610 --> 00:13:21.620 align:start position:0%
a's are disconnected from the network at
 

00:13:21.620 --> 00:13:23.650 align:start position:0%
a's are disconnected from the network at
the<00:13:21.679><c> same</c><00:13:21.709><c> time</c><00:13:22.100><c> it</c><00:13:22.370><c> amplifies</c><00:13:23.149><c> the</c><00:13:23.389><c> amount</c><00:13:23.600><c> of</c>

00:13:23.650 --> 00:13:23.660 align:start position:0%
the same time it amplifies the amount of
 

00:13:23.660 --> 00:13:24.270 align:start position:0%
the same time it amplifies the amount of
stake<00:13:23.899><c> that</c>

00:13:24.270 --> 00:13:24.280 align:start position:0%
stake that
 

00:13:24.280 --> 00:13:26.760 align:start position:0%
stake that
and<00:13:25.280><c> you</c><00:13:25.370><c> can</c><00:13:25.490><c> increase</c><00:13:25.700><c> your</c><00:13:25.790><c> own</c><00:13:26.030><c> rewards</c><00:13:26.420><c> by</c>

00:13:26.760 --> 00:13:26.770 align:start position:0%
and you can increase your own rewards by
 

00:13:26.770 --> 00:13:28.810 align:start position:0%
and you can increase your own rewards by
removing<00:13:27.770><c> competing</c><00:13:28.130><c> valide</c><00:13:28.430><c> so</c><00:13:28.490><c> it</c><00:13:28.700><c> gives</c>

00:13:28.810 --> 00:13:28.820 align:start position:0%
removing competing valide so it gives
 

00:13:28.820 --> 00:13:30.010 align:start position:0%
removing competing valide so it gives
you<00:13:28.910><c> some</c><00:13:28.940><c> incentive</c><00:13:29.480><c> to</c><00:13:29.510><c> perform</c><00:13:29.720><c> these</c>

00:13:30.010 --> 00:13:30.020 align:start position:0%
you some incentive to perform these
 

00:13:30.020 --> 00:13:33.730 align:start position:0%
you some incentive to perform these
attacks<00:13:31.570><c> so</c><00:13:32.570><c> this</c><00:13:32.690><c> is</c><00:13:32.840><c> an</c><00:13:32.960><c> active</c><00:13:33.320><c> research</c>

00:13:33.730 --> 00:13:33.740 align:start position:0%
attacks so this is an active research
 

00:13:33.740 --> 00:13:35.740 align:start position:0%
attacks so this is an active research
topic<00:13:34.370><c> in</c><00:13:34.520><c> aetherium</c><00:13:35.030><c> too</c><00:13:35.150><c> at</c><00:13:35.240><c> the</c><00:13:35.330><c> moment</c><00:13:35.630><c> so</c>

00:13:35.740 --> 00:13:35.750 align:start position:0%
topic in aetherium too at the moment so
 

00:13:35.750 --> 00:13:37.210 align:start position:0%
topic in aetherium too at the moment so
we<00:13:35.900><c> don't</c><00:13:36.110><c> have</c><00:13:36.290><c> a</c><00:13:36.320><c> specific</c><00:13:36.800><c> solution</c><00:13:36.950><c> is</c>

00:13:37.210 --> 00:13:37.220 align:start position:0%
we don't have a specific solution is
 

00:13:37.220 --> 00:13:39.040 align:start position:0%
we don't have a specific solution is
what<00:13:37.340><c> we're</c><00:13:37.490><c> actually</c><00:13:37.640><c> going</c><00:13:38.120><c> to</c><00:13:38.240><c> use</c><00:13:38.360><c> but</c>

00:13:39.040 --> 00:13:39.050 align:start position:0%
what we're actually going to use but
 

00:13:39.050 --> 00:13:40.420 align:start position:0%
what we're actually going to use but
there<00:13:39.200><c> have</c><00:13:39.350><c> been</c><00:13:39.380><c> some</c><00:13:39.710><c> proposed</c><00:13:40.040><c> solutions</c>

00:13:40.420 --> 00:13:40.430 align:start position:0%
there have been some proposed solutions
 

00:13:40.430 --> 00:13:43.030 align:start position:0%
there have been some proposed solutions
so<00:13:40.880><c> some</c><00:13:41.120><c> ideas</c><00:13:41.450><c> are</c><00:13:41.630><c> that</c><00:13:41.750><c> we</c><00:13:41.840><c> can</c><00:13:41.960><c> run</c><00:13:42.110><c> a</c><00:13:42.320><c> set</c>

00:13:43.030 --> 00:13:43.040 align:start position:0%
so some ideas are that we can run a set
 

00:13:43.040 --> 00:13:45.250 align:start position:0%
so some ideas are that we can run a set
of<00:13:43.130><c> backup</c><00:13:43.430><c> dos</c><00:13:43.730><c> Harden</c><00:13:44.120><c> nodes</c><00:13:44.390><c> so</c><00:13:44.930><c> what</c><00:13:45.110><c> that</c>

00:13:45.250 --> 00:13:45.260 align:start position:0%
of backup dos Harden nodes so what that
 

00:13:45.260 --> 00:13:47.740 align:start position:0%
of backup dos Harden nodes so what that
means<00:13:45.500><c> is</c><00:13:45.680><c> that</c><00:13:45.710><c> if</c><00:13:45.920><c> you</c><00:13:46.070><c> are</c><00:13:46.310><c> running</c><00:13:46.750><c> a</c>

00:13:47.740 --> 00:13:47.750 align:start position:0%
means is that if you are running a
 

00:13:47.750 --> 00:13:49.510 align:start position:0%
means is that if you are running a
validator<00:13:48.470><c> client</c><00:13:48.830><c> with</c><00:13:48.950><c> a</c><00:13:48.980><c> beaker</c><00:13:49.250><c> node</c><00:13:49.400><c> in</c>

00:13:49.510 --> 00:13:49.520 align:start position:0%
validator client with a beaker node in
 

00:13:49.520 --> 00:13:51.340 align:start position:0%
validator client with a beaker node in
you<00:13:49.670><c> publishing</c><00:13:50.660><c> blocks</c><00:13:50.990><c> and</c><00:13:51.140><c> access</c>

00:13:51.340 --> 00:13:51.350 align:start position:0%
you publishing blocks and access
 

00:13:51.350 --> 00:13:52.450 align:start position:0%
you publishing blocks and access
stations<00:13:51.650><c> and</c><00:13:51.800><c> you</c><00:13:51.830><c> find</c><00:13:52.070><c> that</c><00:13:52.220><c> they're</c><00:13:52.340><c> not</c>

00:13:52.450 --> 00:13:52.460 align:start position:0%
stations and you find that they're not
 

00:13:52.460 --> 00:13:54.160 align:start position:0%
stations and you find that they're not
being<00:13:52.670><c> received</c><00:13:53.000><c> on</c><00:13:53.210><c> the</c><00:13:53.270><c> network</c><00:13:53.540><c> you</c><00:13:54.020><c> can</c>

00:13:54.160 --> 00:13:54.170 align:start position:0%
being received on the network you can
 

00:13:54.170 --> 00:13:56.200 align:start position:0%
being received on the network you can
point<00:13:54.980><c> your</c><00:13:55.070><c> validator</c><00:13:55.490><c> client</c><00:13:55.820><c> to</c><00:13:55.940><c> one</c><00:13:56.090><c> of</c>

00:13:56.200 --> 00:13:56.210 align:start position:0%
point your validator client to one of
 

00:13:56.210 --> 00:13:57.280 align:start position:0%
point your validator client to one of
these<00:13:56.330><c> hardened</c><00:13:56.780><c> backup</c>

00:13:57.280 --> 00:13:57.290 align:start position:0%
these hardened backup
 

00:13:57.290 --> 00:14:01.060 align:start position:0%
these hardened backup
dos<00:13:58.000><c> hardened</c><00:13:59.000><c> beacon</c><00:13:59.600><c> nodes</c><00:13:59.810><c> or</c><00:13:59.990><c> beacons</c>

00:14:01.060 --> 00:14:01.070 align:start position:0%
dos hardened beacon nodes or beacons
 

00:14:01.070 --> 00:14:02.680 align:start position:0%
dos hardened beacon nodes or beacons
yeah<00:14:01.670><c> beacon</c><00:14:02.000><c> nodes</c><00:14:02.180><c> which</c><00:14:02.390><c> will</c><00:14:02.420><c> then</c>

00:14:02.680 --> 00:14:02.690 align:start position:0%
yeah beacon nodes which will then
 

00:14:02.690 --> 00:14:05.110 align:start position:0%
yeah beacon nodes which will then
propagate<00:14:02.930><c> it</c><00:14:03.260><c> for</c><00:14:03.410><c> you</c><00:14:03.520><c> another</c><00:14:04.520><c> solution</c><00:14:04.880><c> is</c>

00:14:05.110 --> 00:14:05.120 align:start position:0%
propagate it for you another solution is
 

00:14:05.120 --> 00:14:06.640 align:start position:0%
propagate it for you another solution is
that<00:14:05.300><c> for</c><00:14:05.480><c> all</c><00:14:05.510><c> validator</c><00:14:06.140><c> nodes</c><00:14:06.380><c> you</c><00:14:06.500><c> could</c>

00:14:06.640 --> 00:14:06.650 align:start position:0%
that for all validator nodes you could
 

00:14:06.650 --> 00:14:09.640 align:start position:0%
that for all validator nodes you could
probably<00:14:06.890><c> put</c><00:14:07.310><c> them</c><00:14:07.400><c> behind</c><00:14:07.690><c> tor</c><00:14:08.720><c> ITP</c><00:14:09.200><c> or</c>

00:14:09.640 --> 00:14:09.650 align:start position:0%
probably put them behind tor ITP or
 

00:14:09.650 --> 00:14:12.130 align:start position:0%
probably put them behind tor ITP or
mixed<00:14:10.160><c> net</c><00:14:10.310><c> switch</c><00:14:10.520><c> network</c><00:14:11.420><c> layer</c><00:14:11.630><c> kind</c><00:14:11.990><c> of</c>

00:14:12.130 --> 00:14:12.140 align:start position:0%
mixed net switch network layer kind of
 

00:14:12.140 --> 00:14:14.140 align:start position:0%
mixed net switch network layer kind of
infrastructures<00:14:13.130><c> which</c><00:14:13.280><c> which</c><00:14:13.580><c> master</c><00:14:13.970><c> IP</c>

00:14:14.140 --> 00:14:14.150 align:start position:0%
infrastructures which which master IP
 

00:14:14.150 --> 00:14:15.880 align:start position:0%
infrastructures which which master IP
address<00:14:14.510><c> but</c><00:14:14.690><c> there's</c><00:14:14.930><c> there's</c><00:14:15.170><c> some</c><00:14:15.410><c> latency</c>

00:14:15.880 --> 00:14:15.890 align:start position:0%
address but there's there's some latency
 

00:14:15.890 --> 00:14:16.540 align:start position:0%
address but there's there's some latency
issues<00:14:16.100><c> with</c><00:14:16.250><c> this</c>

00:14:16.540 --> 00:14:16.550 align:start position:0%
issues with this
 

00:14:16.550 --> 00:14:18.370 align:start position:0%
issues with this
there<00:14:16.850><c> has</c><00:14:16.970><c> been</c><00:14:17.000><c> some</c><00:14:17.240><c> analysis</c><00:14:17.720><c> about</c><00:14:18.020><c> how</c>

00:14:18.370 --> 00:14:18.380 align:start position:0%
there has been some analysis about how
 

00:14:18.380 --> 00:14:21.400 align:start position:0%
there has been some analysis about how
bad<00:14:18.860><c> this</c><00:14:19.040><c> is</c><00:14:19.930><c> handle</c><00:14:20.930><c> is</c><00:14:21.020><c> an</c><00:14:21.140><c> attestation</c>

00:14:21.400 --> 00:14:21.410 align:start position:0%
bad this is handle is an attestation
 

00:14:21.410 --> 00:14:23.500 align:start position:0%
bad this is handle is an attestation
aggregation<00:14:22.310><c> strategy</c><00:14:22.430><c> which</c><00:14:23.060><c> has</c><00:14:23.300><c> been</c>

00:14:23.500 --> 00:14:23.510 align:start position:0%
aggregation strategy which has been
 

00:14:23.510 --> 00:14:25.240 align:start position:0%
aggregation strategy which has been
proposed<00:14:23.900><c> by</c><00:14:24.020><c> Pegasus</c><00:14:24.650><c> firm</c><00:14:24.800><c> consensus</c>

00:14:25.240 --> 00:14:25.250 align:start position:0%
proposed by Pegasus firm consensus
 

00:14:25.250 --> 00:14:26.920 align:start position:0%
proposed by Pegasus firm consensus
they're<00:14:25.970><c> also</c><00:14:26.120><c> dealing</c><00:14:26.480><c> with</c><00:14:26.720><c> this</c><00:14:26.780><c> problem</c>

00:14:26.920 --> 00:14:26.930 align:start position:0%
they're also dealing with this problem
 

00:14:26.930 --> 00:14:28.480 align:start position:0%
they're also dealing with this problem
so<00:14:27.320><c> if</c><00:14:27.530><c> you're</c><00:14:27.680><c> interested</c><00:14:27.890><c> in</c><00:14:28.160><c> this</c><00:14:28.220><c> kind</c><00:14:28.430><c> of</c>

00:14:28.480 --> 00:14:28.490 align:start position:0%
so if you're interested in this kind of
 

00:14:28.490 --> 00:14:30.040 align:start position:0%
so if you're interested in this kind of
thing<00:14:28.700><c> I</c><00:14:28.850><c> suggest</c><00:14:29.180><c> having</c><00:14:29.690><c> a</c><00:14:29.750><c> look</c><00:14:29.870><c> through</c>

00:14:30.040 --> 00:14:30.050 align:start position:0%
thing I suggest having a look through
 

00:14:30.050 --> 00:14:33.010 align:start position:0%
thing I suggest having a look through
some<00:14:30.770><c> of</c><00:14:31.310><c> their</c><00:14:31.520><c> research</c><00:14:32.030><c> papers</c><00:14:32.390><c> I'll</c><00:14:32.840><c> have</c>

00:14:33.010 --> 00:14:33.020 align:start position:0%
some of their research papers I'll have
 

00:14:33.020 --> 00:14:35.110 align:start position:0%
some of their research papers I'll have
some<00:14:33.230><c> references</c><00:14:33.740><c> afterwards</c><00:14:34.160><c> another</c>

00:14:35.110 --> 00:14:35.120 align:start position:0%
some references afterwards another
 

00:14:35.120 --> 00:14:37.660 align:start position:0%
some references afterwards another
interesting<00:14:35.720><c> idea</c><00:14:35.840><c> is</c><00:14:36.200><c> adding</c><00:14:36.920><c> dandelion</c>

00:14:37.660 --> 00:14:37.670 align:start position:0%
interesting idea is adding dandelion
 

00:14:37.670 --> 00:14:39.970 align:start position:0%
interesting idea is adding dandelion
inside<00:14:38.270><c> gossip</c><00:14:38.690><c> sub</c><00:14:38.900><c> so</c><00:14:39.200><c> again</c><00:14:39.410><c> gossip</c><00:14:39.710><c> sub</c><00:14:39.860><c> is</c>

00:14:39.970 --> 00:14:39.980 align:start position:0%
inside gossip sub so again gossip sub is
 

00:14:39.980 --> 00:14:42.760 align:start position:0%
inside gossip sub so again gossip sub is
our<00:14:40.160><c> message</c><00:14:40.520><c> propagation</c><00:14:41.180><c> system</c><00:14:41.770><c> dandelion</c>

00:14:42.760 --> 00:14:42.770 align:start position:0%
our message propagation system dandelion
 

00:14:42.770 --> 00:14:45.810 align:start position:0%
our message propagation system dandelion
is<00:14:42.980><c> an</c><00:14:43.430><c> anonymization</c><00:14:44.050><c> framework</c><00:14:45.050><c> for</c>

00:14:45.810 --> 00:14:45.820 align:start position:0%
is an anonymization framework for
 

00:14:45.820 --> 00:14:48.070 align:start position:0%
is an anonymization framework for
anonymizing<00:14:46.820><c> Bitcoin</c><00:14:47.270><c> transactions</c><00:14:47.930><c> on</c><00:14:48.050><c> the</c>

00:14:48.070 --> 00:14:48.080 align:start position:0%
anonymizing Bitcoin transactions on the
 

00:14:48.080 --> 00:14:50.320 align:start position:0%
anonymizing Bitcoin transactions on the
Bitcoin<00:14:48.440><c> network</c><00:14:48.760><c> and</c><00:14:49.760><c> I</c><00:14:49.820><c> just</c><00:14:49.970><c> want</c><00:14:50.090><c> to</c><00:14:50.180><c> give</c>

00:14:50.320 --> 00:14:50.330 align:start position:0%
Bitcoin network and I just want to give
 

00:14:50.330 --> 00:14:52.750 align:start position:0%
Bitcoin network and I just want to give
a<00:14:50.360><c> rough</c><00:14:50.990><c> overview</c><00:14:51.680><c> of</c><00:14:52.220><c> how</c><00:14:52.370><c> that</c><00:14:52.580><c> might</c><00:14:52.730><c> work</c>

00:14:52.750 --> 00:14:52.760 align:start position:0%
a rough overview of how that might work
 

00:14:52.760 --> 00:14:55.210 align:start position:0%
a rough overview of how that might work
you<00:14:53.120><c> know</c><00:14:53.240><c> in</c><00:14:53.600><c> our</c><00:14:53.720><c> gossip</c><00:14:53.930><c> sub</c><00:14:54.170><c> network</c><00:14:54.470><c> or</c>

00:14:55.210 --> 00:14:55.220 align:start position:0%
you know in our gossip sub network or
 

00:14:55.220 --> 00:14:56.980 align:start position:0%
you know in our gossip sub network or
what<00:14:55.460><c> has</c><00:14:55.580><c> currently</c><00:14:55.940><c> been</c><00:14:56.030><c> suggested</c>

00:14:56.980 --> 00:14:56.990 align:start position:0%
what has currently been suggested
 

00:14:56.990 --> 00:15:00.640 align:start position:0%
what has currently been suggested
so<00:14:57.680><c> with</c><00:14:58.190><c> dandelion</c><00:14:58.940><c> there's</c><00:14:59.270><c> an</c><00:15:00.230><c> initial</c>

00:15:00.640 --> 00:15:00.650 align:start position:0%
so with dandelion there's an initial
 

00:15:00.650 --> 00:15:02.590 align:start position:0%
so with dandelion there's an initial
phase<00:15:00.830><c> so</c><00:15:01.160><c> instead</c><00:15:01.520><c> of</c><00:15:01.610><c> us</c><00:15:01.760><c> when</c><00:15:02.270><c> we</c><00:15:02.360><c> want</c><00:15:02.480><c> to</c>

00:15:02.590 --> 00:15:02.600 align:start position:0%
phase so instead of us when we want to
 

00:15:02.600 --> 00:15:03.790 align:start position:0%
phase so instead of us when we want to
produce<00:15:02.780><c> a</c><00:15:03.020><c> block</c><00:15:03.200><c> or</c><00:15:03.350><c> publisher</c><00:15:03.650><c> block</c>

00:15:03.790 --> 00:15:03.800 align:start position:0%
produce a block or publisher block
 

00:15:03.800 --> 00:15:05.290 align:start position:0%
produce a block or publisher block
across<00:15:04.040><c> the</c><00:15:04.160><c> network</c><00:15:04.430><c> we</c><00:15:04.610><c> don't</c><00:15:04.820><c> use</c><00:15:05.000><c> gossip</c>

00:15:05.290 --> 00:15:05.300 align:start position:0%
across the network we don't use gossip
 

00:15:05.300 --> 00:15:07.090 align:start position:0%
across the network we don't use gossip
sub<00:15:05.450><c> immediately</c><00:15:05.960><c> we</c><00:15:06.350><c> route</c><00:15:06.620><c> it</c><00:15:06.680><c> through</c><00:15:07.070><c> a</c>

00:15:07.090 --> 00:15:07.100 align:start position:0%
sub immediately we route it through a
 

00:15:07.100 --> 00:15:08.980 align:start position:0%
sub immediately we route it through a
few<00:15:07.370><c> peers</c><00:15:07.640><c> first</c><00:15:07.940><c> and</c><00:15:08.180><c> then</c><00:15:08.300><c> those</c><00:15:08.480><c> peers</c><00:15:08.780><c> on</c>

00:15:08.980 --> 00:15:08.990 align:start position:0%
few peers first and then those peers on
 

00:15:08.990 --> 00:15:11.980 align:start position:0%
few peers first and then those peers on
our<00:15:09.140><c> behalf</c><00:15:09.500><c> will</c><00:15:10.160><c> propagate</c><00:15:10.850><c> it</c><00:15:11.180><c> via</c><00:15:11.570><c> gossip</c>

00:15:11.980 --> 00:15:11.990 align:start position:0%
our behalf will propagate it via gossip
 

00:15:11.990 --> 00:15:14.500 align:start position:0%
our behalf will propagate it via gossip
sub<00:15:12.170><c> this</c><00:15:13.100><c> is</c><00:15:13.220><c> a</c><00:15:13.250><c> stochastic</c><00:15:13.610><c> process</c><00:15:13.820><c> so</c>

00:15:14.500 --> 00:15:14.510 align:start position:0%
sub this is a stochastic process so
 

00:15:14.510 --> 00:15:16.090 align:start position:0%
sub this is a stochastic process so
there's<00:15:14.900><c> a</c><00:15:14.960><c> random</c><00:15:15.290><c> number</c><00:15:15.530><c> of</c><00:15:15.560><c> nodes</c><00:15:15.830><c> that</c><00:15:16.010><c> it</c>

00:15:16.090 --> 00:15:16.100 align:start position:0%
there's a random number of nodes that it
 

00:15:16.100 --> 00:15:18.610 align:start position:0%
there's a random number of nodes that it
gets<00:15:16.310><c> routed</c><00:15:16.520><c> through</c><00:15:16.700><c> so</c><00:15:17.180><c> as</c><00:15:17.510><c> a</c><00:15:17.540><c> very</c><00:15:17.750><c> rough</c>

00:15:18.610 --> 00:15:18.620 align:start position:0%
gets routed through so as a very rough
 

00:15:18.620 --> 00:15:19.960 align:start position:0%
gets routed through so as a very rough
overview<00:15:18.980><c> of</c><00:15:19.190><c> how</c><00:15:19.310><c> this</c><00:15:19.460><c> works</c><00:15:19.700><c> let's</c>

00:15:19.960 --> 00:15:19.970 align:start position:0%
overview of how this works let's
 

00:15:19.970 --> 00:15:22.120 align:start position:0%
overview of how this works let's
consider<00:15:20.870><c> the</c><00:15:21.110><c> same</c><00:15:21.290><c> a</c><00:15:21.500><c> validator</c><00:15:21.860><c> know</c><00:15:22.010><c> that</c>

00:15:22.120 --> 00:15:22.130 align:start position:0%
consider the same a validator know that
 

00:15:22.130 --> 00:15:23.470 align:start position:0%
consider the same a validator know that
wants<00:15:22.280><c> to</c><00:15:22.310><c> produce</c><00:15:22.490><c> this</c><00:15:22.790><c> that</c><00:15:23.060><c> publish</c><00:15:23.360><c> the</c>

00:15:23.470 --> 00:15:23.480 align:start position:0%
wants to produce this that publish the
 

00:15:23.480 --> 00:15:25.300 align:start position:0%
wants to produce this that publish the
same<00:15:23.600><c> block</c><00:15:23.840><c> if</c><00:15:24.050><c> we</c><00:15:24.410><c> have</c><00:15:24.560><c> dandelion</c><00:15:25.070><c> in</c><00:15:25.220><c> it</c>

00:15:25.300 --> 00:15:25.310 align:start position:0%
same block if we have dandelion in it
 

00:15:25.310 --> 00:15:27.670 align:start position:0%
same block if we have dandelion in it
the<00:15:25.400><c> first</c><00:15:25.670><c> and</c><00:15:26.140><c> anonymizing</c><00:15:27.140><c> phases</c><00:15:27.530><c> we</c>

00:15:27.670 --> 00:15:27.680 align:start position:0%
the first and anonymizing phases we
 

00:15:27.680 --> 00:15:30.250 align:start position:0%
the first and anonymizing phases we
route<00:15:27.890><c> it</c><00:15:28.100><c> through</c><00:15:28.450><c> two</c><00:15:29.450><c> adjacent</c><00:15:29.720><c> peers</c><00:15:30.110><c> we</c>

00:15:30.250 --> 00:15:30.260 align:start position:0%
route it through two adjacent peers we
 

00:15:30.260 --> 00:15:33.370 align:start position:0%
route it through two adjacent peers we
choose<00:15:30.500><c> them</c><00:15:30.650><c> each</c><00:15:31.340><c> of</c><00:15:31.400><c> those</c><00:15:31.700><c> peers</c><00:15:32.030><c> then</c><00:15:32.450><c> for</c>

00:15:33.370 --> 00:15:33.380 align:start position:0%
choose them each of those peers then for
 

00:15:33.380 --> 00:15:35.230 align:start position:0%
choose them each of those peers then for
example<00:15:33.500><c> flip</c><00:15:33.950><c> a</c><00:15:33.980><c> coin</c><00:15:34.220><c> and</c><00:15:34.430><c> they</c><00:15:34.850><c> flip</c><00:15:35.030><c> a</c><00:15:35.090><c> coin</c>

00:15:35.230 --> 00:15:35.240 align:start position:0%
example flip a coin and they flip a coin
 

00:15:35.240 --> 00:15:36.520 align:start position:0%
example flip a coin and they flip a coin
as<00:15:35.450><c> to</c><00:15:35.540><c> whether</c><00:15:35.690><c> they</c><00:15:35.900><c> are</c><00:15:36.050><c> going</c><00:15:36.200><c> to</c>

00:15:36.520 --> 00:15:36.530 align:start position:0%
as to whether they are going to
 

00:15:36.530 --> 00:15:37.990 align:start position:0%
as to whether they are going to
propagate<00:15:37.190><c> it</c><00:15:37.550><c> by</c><00:15:37.670><c> a</c><00:15:37.700><c> Gauss</c>

00:15:37.990 --> 00:15:38.000 align:start position:0%
propagate it by a Gauss
 

00:15:38.000 --> 00:15:40.420 align:start position:0%
propagate it by a Gauss
so<00:15:38.180><c> on</c><00:15:38.450><c> behalf</c><00:15:38.840><c> on</c><00:15:39.080><c> or</c><00:15:39.500><c> forwarded</c><00:15:40.310><c> on</c><00:15:40.400><c> to</c>

00:15:40.420 --> 00:15:40.430 align:start position:0%
so on behalf on or forwarded on to
 

00:15:40.430 --> 00:15:42.550 align:start position:0%
so on behalf on or forwarded on to
another<00:15:40.760><c> block</c><00:15:40.940><c> so</c><00:15:41.720><c> the</c><00:15:41.870><c> first</c><00:15:42.050><c> P</c><00:15:42.230><c> let's</c><00:15:42.470><c> say</c>

00:15:42.550 --> 00:15:42.560 align:start position:0%
another block so the first P let's say
 

00:15:42.560 --> 00:15:43.990 align:start position:0%
another block so the first P let's say
the<00:15:42.650><c> one</c><00:15:42.770><c> at</c><00:15:42.860><c> the</c><00:15:42.950><c> bottom</c><00:15:43.070><c> he's</c><00:15:43.670><c> flipped</c><00:15:43.910><c> a</c>

00:15:43.990 --> 00:15:44.000 align:start position:0%
the one at the bottom he's flipped a
 

00:15:44.000 --> 00:15:46.030 align:start position:0%
the one at the bottom he's flipped a
coin<00:15:44.150><c> and</c><00:15:44.330><c> he</c><00:15:44.450><c> is</c><00:15:44.570><c> going</c><00:15:44.750><c> to</c><00:15:44.870><c> propagate</c><00:15:45.710><c> it</c>

00:15:46.030 --> 00:15:46.040 align:start position:0%
coin and he is going to propagate it
 

00:15:46.040 --> 00:15:48.400 align:start position:0%
coin and he is going to propagate it
across<00:15:46.250><c> the</c><00:15:46.400><c> network</c><00:15:46.550><c> the</c><00:15:47.180><c> top</c><00:15:47.360><c> one</c><00:15:47.540><c> flips</c><00:15:48.290><c> the</c>

00:15:48.400 --> 00:15:48.410 align:start position:0%
across the network the top one flips the
 

00:15:48.410 --> 00:15:50.230 align:start position:0%
across the network the top one flips the
coin<00:15:48.440><c> and</c><00:15:48.740><c> finds</c><00:15:49.370><c> out</c><00:15:49.490><c> I'm</c><00:15:49.910><c> not</c><00:15:49.970><c> actually</c>

00:15:50.230 --> 00:15:50.240 align:start position:0%
coin and finds out I'm not actually
 

00:15:50.240 --> 00:15:52.990 align:start position:0%
coin and finds out I'm not actually
going<00:15:50.480><c> to</c><00:15:50.540><c> propagate</c><00:15:50.720><c> it</c><00:15:50.990><c> I'm</c><00:15:51.110><c> going</c><00:15:51.380><c> to</c><00:15:52.000><c> pass</c>

00:15:52.990 --> 00:15:53.000 align:start position:0%
going to propagate it I'm going to pass
 

00:15:53.000 --> 00:15:54.220 align:start position:0%
going to propagate it I'm going to pass
the<00:15:53.180><c> block</c><00:15:53.330><c> on</c><00:15:53.450><c> to</c><00:15:53.540><c> somebody</c><00:15:53.720><c> else</c><00:15:53.990><c> to</c><00:15:54.110><c> then</c>

00:15:54.220 --> 00:15:54.230 align:start position:0%
the block on to somebody else to then
 

00:15:54.230 --> 00:15:56.890 align:start position:0%
the block on to somebody else to then
propagated<00:15:54.680><c> via</c><00:15:54.830><c> gossip</c><00:15:55.220><c> sub</c><00:15:55.370><c> so</c><00:15:56.150><c> those</c><00:15:56.600><c> two</c>

00:15:56.890 --> 00:15:56.900 align:start position:0%
propagated via gossip sub so those two
 

00:15:56.900 --> 00:15:59.530 align:start position:0%
propagated via gossip sub so those two
peers<00:15:57.290><c> then</c><00:15:57.980><c> do</c><00:15:58.580><c> the</c><00:15:58.700><c> same</c><00:15:58.880><c> coin</c><00:15:59.240><c> flip</c><00:15:59.510><c> and</c>

00:15:59.530 --> 00:15:59.540 align:start position:0%
peers then do the same coin flip and
 

00:15:59.540 --> 00:16:01.360 align:start position:0%
peers then do the same coin flip and
they<00:15:59.810><c> find</c><00:16:00.050><c> out</c><00:16:00.170><c> that</c><00:16:00.230><c> they're</c><00:16:00.470><c> also</c><00:16:00.740><c> going</c><00:16:01.220><c> to</c>

00:16:01.360 --> 00:16:01.370 align:start position:0%
they find out that they're also going to
 

00:16:01.370 --> 00:16:03.580 align:start position:0%
they find out that they're also going to
propagate<00:16:01.910><c> by</c><00:16:02.210><c> gossip</c><00:16:02.420><c> sub</c><00:16:02.720><c> so</c><00:16:03.140><c> we</c><00:16:03.260><c> now</c><00:16:03.380><c> have</c>

00:16:03.580 --> 00:16:03.590 align:start position:0%
propagate by gossip sub so we now have
 

00:16:03.590 --> 00:16:05.410 align:start position:0%
propagate by gossip sub so we now have
three<00:16:04.100><c> nodes</c><00:16:04.370><c> that</c><00:16:04.760><c> are</c><00:16:04.880><c> going</c><00:16:05.000><c> to</c><00:16:05.120><c> propagate</c>

00:16:05.410 --> 00:16:05.420 align:start position:0%
three nodes that are going to propagate
 

00:16:05.420 --> 00:16:08.440 align:start position:0%
three nodes that are going to propagate
via<00:16:05.780><c> gossip</c><00:16:06.170><c> sub</c><00:16:06.380><c> which</c><00:16:06.890><c> just</c><00:16:07.460><c> does</c><00:16:07.700><c> the</c><00:16:07.910><c> exact</c>

00:16:08.440 --> 00:16:08.450 align:start position:0%
via gossip sub which just does the exact
 

00:16:08.450 --> 00:16:11.080 align:start position:0%
via gossip sub which just does the exact
same<00:16:08.860><c> process</c><00:16:09.860><c> as</c><00:16:10.160><c> what</c><00:16:10.280><c> we</c><00:16:10.400><c> did</c><00:16:10.790><c> earlier</c>

00:16:11.080 --> 00:16:11.090 align:start position:0%
same process as what we did earlier
 

00:16:11.090 --> 00:16:13.450 align:start position:0%
same process as what we did earlier
propagates<00:16:11.870><c> across</c><00:16:12.050><c> the</c><00:16:12.200><c> network</c><00:16:12.440><c> so</c><00:16:13.130><c> in</c><00:16:13.370><c> this</c>

00:16:13.450 --> 00:16:13.460 align:start position:0%
propagates across the network so in this
 

00:16:13.460 --> 00:16:15.760 align:start position:0%
propagates across the network so in this
example<00:16:13.610><c> or</c><00:16:14.210><c> in</c><00:16:14.300><c> this</c><00:16:14.390><c> scenario</c><00:16:14.660><c> we</c><00:16:15.290><c> find</c><00:16:15.560><c> that</c>

00:16:15.760 --> 00:16:15.770 align:start position:0%
example or in this scenario we find that
 

00:16:15.770 --> 00:16:17.650 align:start position:0%
example or in this scenario we find that
the<00:16:16.490><c> blue</c><00:16:16.700><c> peers</c><00:16:16.970><c> are</c><00:16:17.120><c> the</c><00:16:17.180><c> ones</c><00:16:17.330><c> that</c><00:16:17.420><c> are</c><00:16:17.570><c> the</c>

00:16:17.650 --> 00:16:17.660 align:start position:0%
the blue peers are the ones that are the
 

00:16:17.660 --> 00:16:19.150 align:start position:0%
the blue peers are the ones that are the
first<00:16:17.840><c> ones</c><00:16:18.080><c> that</c><00:16:18.200><c> have</c><00:16:18.320><c> received</c><00:16:18.560><c> it</c><00:16:18.800><c> via</c><00:16:18.980><c> the</c>

00:16:19.150 --> 00:16:19.160 align:start position:0%
first ones that have received it via the
 

00:16:19.160 --> 00:16:20.890 align:start position:0%
first ones that have received it via the
gossip<00:16:19.430><c> side</c><00:16:19.580><c> messages</c><00:16:19.970><c> and</c><00:16:20.150><c> to</c><00:16:20.360><c> from</c><00:16:20.720><c> their</c>

00:16:20.890 --> 00:16:20.900 align:start position:0%
gossip side messages and to from their
 

00:16:20.900 --> 00:16:22.210 align:start position:0%
gossip side messages and to from their
perspective<00:16:21.350><c> it</c><00:16:21.470><c> looks</c><00:16:21.650><c> like</c><00:16:21.800><c> that</c><00:16:22.010><c> these</c>

00:16:22.210 --> 00:16:22.220 align:start position:0%
perspective it looks like that these
 

00:16:22.220 --> 00:16:23.800 align:start position:0%
perspective it looks like that these
three<00:16:22.550><c> nodes</c><00:16:22.790><c> that</c><00:16:23.000><c> decided</c><00:16:23.450><c> it</c><00:16:23.540><c> are</c><00:16:23.690><c> the</c>

00:16:23.800 --> 00:16:23.810 align:start position:0%
three nodes that decided it are the
 

00:16:23.810 --> 00:16:25.930 align:start position:0%
three nodes that decided it are the
source<00:16:24.020><c> nodes</c><00:16:24.260><c> for</c><00:16:25.040><c> each</c><00:16:25.130><c> of</c><00:16:25.310><c> the</c><00:16:25.430><c> gray</c><00:16:25.670><c> nodes</c>

00:16:25.930 --> 00:16:25.940 align:start position:0%
source nodes for each of the gray nodes
 

00:16:25.940 --> 00:16:27.670 align:start position:0%
source nodes for each of the gray nodes
that<00:16:26.180><c> receive</c><00:16:26.930><c> the</c><00:16:27.080><c> message</c><00:16:27.350><c> they're</c><00:16:27.530><c> unsure</c>

00:16:27.670 --> 00:16:27.680 align:start position:0%
that receive the message they're unsure
 

00:16:27.680 --> 00:16:29.890 align:start position:0%
that receive the message they're unsure
about<00:16:28.100><c> which</c><00:16:28.400><c> the</c><00:16:28.550><c> source</c><00:16:28.790><c> was</c><00:16:29.030><c> because</c><00:16:29.420><c> the</c>

00:16:29.890 --> 00:16:29.900 align:start position:0%
about which the source was because the
 

00:16:29.900 --> 00:16:31.840 align:start position:0%
about which the source was because the
packet<00:16:30.230><c> they</c><00:16:30.350><c> received</c><00:16:30.800><c> could</c><00:16:31.640><c> have</c><00:16:31.730><c> either</c>

00:16:31.840 --> 00:16:31.850 align:start position:0%
packet they received could have either
 

00:16:31.850 --> 00:16:33.490 align:start position:0%
packet they received could have either
been<00:16:32.150><c> the</c><00:16:32.300><c> source</c><00:16:32.540><c> or</c><00:16:32.780><c> just</c><00:16:32.990><c> another</c><00:16:33.230><c> peer</c>

00:16:33.490 --> 00:16:33.500 align:start position:0%
been the source or just another peer
 

00:16:33.500 --> 00:16:34.870 align:start position:0%
been the source or just another peer
that<00:16:33.680><c> has</c><00:16:33.830><c> just</c><00:16:34.250><c> flipped</c><00:16:34.430><c> the</c><00:16:34.490><c> coin</c><00:16:34.640><c> in</c><00:16:34.790><c> is</c>

00:16:34.870 --> 00:16:34.880 align:start position:0%
that has just flipped the coin in is
 

00:16:34.880 --> 00:16:36.640 align:start position:0%
that has just flipped the coin in is
propagated<00:16:35.360><c> on</c><00:16:35.450><c> behalf</c><00:16:35.630><c> of</c><00:16:35.780><c> somebody</c><00:16:36.050><c> else</c><00:16:36.230><c> so</c>

00:16:36.640 --> 00:16:36.650 align:start position:0%
propagated on behalf of somebody else so
 

00:16:36.650 --> 00:16:38.170 align:start position:0%
propagated on behalf of somebody else so
this<00:16:36.710><c> is</c><00:16:36.830><c> the</c><00:16:36.920><c> rough</c><00:16:37.040><c> idea</c><00:16:37.250><c> of</c><00:16:37.490><c> anonymizing</c>

00:16:38.170 --> 00:16:38.180 align:start position:0%
this is the rough idea of anonymizing
 

00:16:38.180 --> 00:16:39.820 align:start position:0%
this is the rough idea of anonymizing
the<00:16:38.360><c> validator</c><00:16:38.750><c> client</c><00:16:39.110><c> source</c><00:16:39.320><c> inside</c><00:16:39.710><c> of</c>

00:16:39.820 --> 00:16:39.830 align:start position:0%
the validator client source inside of
 

00:16:39.830 --> 00:16:43.090 align:start position:0%
the validator client source inside of
gossip<00:16:40.070><c> sub</c><00:16:41.380><c> again</c><00:16:42.380><c> this</c><00:16:42.500><c> is</c><00:16:42.650><c> an</c><00:16:42.830><c> active</c>

00:16:43.090 --> 00:16:43.100 align:start position:0%
gossip sub again this is an active
 

00:16:43.100 --> 00:16:45.160 align:start position:0%
gossip sub again this is an active
research<00:16:44.000><c> topic</c><00:16:44.330><c> that</c><00:16:44.510><c> we</c><00:16:44.720><c> haven't</c><00:16:44.990><c> decided</c>

00:16:45.160 --> 00:16:45.170 align:start position:0%
research topic that we haven't decided
 

00:16:45.170 --> 00:16:47.829 align:start position:0%
research topic that we haven't decided
on<00:16:45.320><c> what</c><00:16:45.440><c> we're</c><00:16:45.560><c> doing</c><00:16:45.770><c> there's</c><00:16:46.280><c> I</c><00:16:46.839><c> encourage</c>

00:16:47.829 --> 00:16:47.839 align:start position:0%
on what we're doing there's I encourage
 

00:16:47.839 --> 00:16:49.450 align:start position:0%
on what we're doing there's I encourage
anybody<00:16:48.110><c> that's</c><00:16:48.320><c> interested</c><00:16:48.620><c> in</c><00:16:48.890><c> in</c><00:16:49.280><c> this</c>

00:16:49.450 --> 00:16:49.460 align:start position:0%
anybody that's interested in in this
 

00:16:49.460 --> 00:16:51.730 align:start position:0%
anybody that's interested in in this
kind<00:16:49.700><c> of</c><00:16:49.760><c> a</c><00:16:49.880><c> problem</c><00:16:50.060><c> to</c><00:16:50.330><c> look</c><00:16:50.570><c> at</c><00:16:50.720><c> the</c><00:16:51.020><c> online</c>

00:16:51.730 --> 00:16:51.740 align:start position:0%
kind of a problem to look at the online
 

00:16:51.740 --> 00:16:52.780 align:start position:0%
kind of a problem to look at the online
discussions<00:16:52.190><c> that</c><00:16:52.310><c> we're</c><00:16:52.430><c> having</c><00:16:52.460><c> at</c><00:16:52.730><c> the</c>

00:16:52.780 --> 00:16:52.790 align:start position:0%
discussions that we're having at the
 

00:16:52.790 --> 00:16:55.180 align:start position:0%
discussions that we're having at the
moment<00:16:53.089><c> or</c><00:16:53.690><c> to</c><00:16:53.900><c> contact</c><00:16:54.230><c> us</c><00:16:54.350><c> afterwards</c><00:16:54.980><c> or</c>

00:16:55.180 --> 00:16:55.190 align:start position:0%
moment or to contact us afterwards or
 

00:16:55.190 --> 00:16:57.070 align:start position:0%
moment or to contact us afterwards or
just<00:16:55.490><c> have</c><00:16:55.610><c> a</c><00:16:55.640><c> chat</c><00:16:55.880><c> because</c><00:16:56.270><c> there's</c><00:16:56.870><c> some</c>

00:16:57.070 --> 00:16:57.080 align:start position:0%
just have a chat because there's some
 

00:16:57.080 --> 00:16:58.270 align:start position:0%
just have a chat because there's some
interesting<00:16:57.410><c> problems</c><00:16:57.530><c> that</c><00:16:57.740><c> we</c><00:16:57.830><c> should</c><00:16:58.040><c> we</c>

00:16:58.270 --> 00:16:58.280 align:start position:0%
interesting problems that we should we
 

00:16:58.280 --> 00:17:00.190 align:start position:0%
interesting problems that we should we
should<00:16:58.430><c> address</c><00:16:58.580><c> here</c><00:16:58.900><c> so</c><00:16:59.900><c> here</c><00:17:00.050><c> are</c><00:17:00.140><c> some</c>

00:17:00.190 --> 00:17:00.200 align:start position:0%
should address here so here are some
 

00:17:00.200 --> 00:17:01.960 align:start position:0%
should address here so here are some
references<00:17:00.589><c> to</c><00:17:00.950><c> have</c><00:17:01.160><c> a</c><00:17:01.190><c> look</c><00:17:01.460><c> at</c><00:17:01.580><c> further</c>

00:17:01.960 --> 00:17:01.970 align:start position:0%
references to have a look at further
 

00:17:01.970 --> 00:17:03.940 align:start position:0%
references to have a look at further
details<00:17:02.360><c> as</c><00:17:02.600><c> I</c><00:17:02.900><c> only</c><00:17:03.020><c> have</c><00:17:03.170><c> time</c><00:17:03.320><c> to</c><00:17:03.380><c> just</c><00:17:03.530><c> very</c>

00:17:03.940 --> 00:17:03.950 align:start position:0%
details as I only have time to just very
 

00:17:03.950 --> 00:17:07.179 align:start position:0%
details as I only have time to just very
hand<00:17:04.670><c> wavy</c><00:17:04.760><c> kind</c><00:17:05.150><c> of</c><00:17:05.209><c> go</c><00:17:05.300><c> over</c><00:17:05.420><c> this</c><00:17:06.189><c> so</c>

00:17:07.179 --> 00:17:07.189 align:start position:0%
hand wavy kind of go over this so
 

00:17:07.189 --> 00:17:08.110 align:start position:0%
hand wavy kind of go over this so
secondly<00:17:07.640><c> I</c><00:17:07.670><c> want</c><00:17:07.850><c> to</c><00:17:07.880><c> talk</c><00:17:07.970><c> about</c>

00:17:08.110 --> 00:17:08.120 align:start position:0%
secondly I want to talk about
 

00:17:08.120 --> 00:17:10.179 align:start position:0%
secondly I want to talk about
differential<00:17:08.660><c> fuzzing</c><00:17:09.189><c> differential</c>

00:17:10.179 --> 00:17:10.189 align:start position:0%
differential fuzzing differential
 

00:17:10.189 --> 00:17:11.949 align:start position:0%
differential fuzzing differential
fuzzing<00:17:10.490><c> is</c><00:17:10.640><c> a</c><00:17:10.670><c> project</c><00:17:11.209><c> that</c><00:17:11.510><c> Sigma</c><00:17:11.780><c> Prime</c>

00:17:11.949 --> 00:17:11.959 align:start position:0%
fuzzing is a project that Sigma Prime
 

00:17:11.959 --> 00:17:14.189 align:start position:0%
fuzzing is a project that Sigma Prime
has<00:17:12.140><c> recently</c><00:17:12.319><c> adopted</c><00:17:12.920><c> in</c><00:17:13.310><c> an</c><00:17:13.520><c> attempt</c><00:17:13.850><c> to</c>

00:17:14.189 --> 00:17:14.199 align:start position:0%
has recently adopted in an attempt to
 

00:17:14.199 --> 00:17:16.660 align:start position:0%
has recently adopted in an attempt to
security<00:17:15.199><c> harden</c><00:17:15.560><c> all</c><00:17:15.860><c> aetherium</c><00:17:16.280><c> clients</c>

00:17:16.660 --> 00:17:16.670 align:start position:0%
security harden all aetherium clients
 

00:17:16.670 --> 00:17:20.710 align:start position:0%
security harden all aetherium clients
perform<00:17:17.000><c> a</c><00:17:17.150><c> net</c><00:17:18.459><c> so</c><00:17:19.459><c> let</c><00:17:19.670><c> me</c><00:17:19.790><c> explain</c><00:17:20.000><c> what</c>

00:17:20.710 --> 00:17:20.720 align:start position:0%
perform a net so let me explain what
 

00:17:20.720 --> 00:17:22.270 align:start position:0%
perform a net so let me explain what
differential<00:17:21.170><c> fuzzing</c><00:17:21.470><c> is</c><00:17:21.589><c> by</c><00:17:21.860><c> firstly</c>

00:17:22.270 --> 00:17:22.280 align:start position:0%
differential fuzzing is by firstly
 

00:17:22.280 --> 00:17:26.679 align:start position:0%
differential fuzzing is by firstly
explaining<00:17:22.699><c> what</c><00:17:22.850><c> fuzzing</c><00:17:23.569><c> is</c><00:17:24.699><c> fuzzing</c><00:17:25.699><c> is</c><00:17:26.000><c> a</c>

00:17:26.679 --> 00:17:26.689 align:start position:0%
explaining what fuzzing is fuzzing is a
 

00:17:26.689 --> 00:17:29.860 align:start position:0%
explaining what fuzzing is fuzzing is a
security<00:17:27.350><c> analysis</c><00:17:27.890><c> tool</c><00:17:28.580><c> used</c><00:17:29.540><c> to</c><00:17:29.600><c> find</c>

00:17:29.860 --> 00:17:29.870 align:start position:0%
security analysis tool used to find
 

00:17:29.870 --> 00:17:33.670 align:start position:0%
security analysis tool used to find
abnormal<00:17:30.530><c> behavior</c><00:17:30.980><c> in</c><00:17:31.250><c> software</c><00:17:31.880><c> so</c><00:17:32.750><c> if</c><00:17:33.350><c> we</c>

00:17:33.670 --> 00:17:33.680 align:start position:0%
abnormal behavior in software so if we
 

00:17:33.680 --> 00:17:35.230 align:start position:0%
abnormal behavior in software so if we
consider<00:17:33.950><c> an</c><00:17:34.280><c> arbitrary</c><00:17:34.400><c> program</c><00:17:35.030><c> for</c>

00:17:35.230 --> 00:17:35.240 align:start position:0%
consider an arbitrary program for
 

00:17:35.240 --> 00:17:38.170 align:start position:0%
consider an arbitrary program for
example<00:17:35.690><c> a</c><00:17:35.930><c> rust</c><00:17:36.530><c> as</c><00:17:36.680><c> I</c><00:17:36.710><c> said</c><00:17:36.980><c> crate</c><00:17:37.250><c> you</c><00:17:38.030><c> can</c>

00:17:38.170 --> 00:17:38.180 align:start position:0%
example a rust as I said crate you can
 

00:17:38.180 --> 00:17:39.250 align:start position:0%
example a rust as I said crate you can
think<00:17:38.390><c> of</c><00:17:38.480><c> this</c><00:17:38.570><c> as</c><00:17:38.630><c> just</c><00:17:38.750><c> an</c><00:17:39.050><c> arbitrary</c>

00:17:39.250 --> 00:17:39.260 align:start position:0%
think of this as just an arbitrary
 

00:17:39.260 --> 00:17:40.810 align:start position:0%
think of this as just an arbitrary
function<00:17:39.830><c> that</c><00:17:39.920><c> has</c><00:17:40.070><c> a</c><00:17:40.100><c> set</c><00:17:40.310><c> of</c><00:17:40.340><c> inputs</c><00:17:40.670><c> and</c><00:17:40.790><c> a</c>

00:17:40.810 --> 00:17:40.820 align:start position:0%
function that has a set of inputs and a
 

00:17:40.820 --> 00:17:43.330 align:start position:0%
function that has a set of inputs and a
set<00:17:40.970><c> of</c><00:17:41.000><c> outputs</c><00:17:41.350><c> fuzzer</c><00:17:42.350><c> generates</c>

00:17:43.330 --> 00:17:43.340 align:start position:0%
set of outputs fuzzer generates
 

00:17:43.340 --> 00:17:45.730 align:start position:0%
set of outputs fuzzer generates
arbitrary<00:17:44.090><c> data</c><00:17:44.240><c> puts</c><00:17:44.780><c> it</c><00:17:44.930><c> in</c><00:17:45.050><c> as</c><00:17:45.170><c> inputs</c><00:17:45.560><c> and</c>

00:17:45.730 --> 00:17:45.740 align:start position:0%
arbitrary data puts it in as inputs and
 

00:17:45.740 --> 00:17:47.380 align:start position:0%
arbitrary data puts it in as inputs and
verifies<00:17:46.400><c> that</c><00:17:46.429><c> the</c><00:17:46.700><c> outputs</c><00:17:47.090><c> are</c><00:17:47.210><c> what</c><00:17:47.330><c> you</c>

00:17:47.380 --> 00:17:47.390 align:start position:0%
verifies that the outputs are what you
 

00:17:47.390 --> 00:17:49.900 align:start position:0%
verifies that the outputs are what you
expect<00:17:47.750><c> or</c><00:17:47.960><c> if</c><00:17:48.440><c> you</c><00:17:48.590><c> have</c><00:17:49.190><c> something</c><00:17:49.400><c> explode</c>

00:17:49.900 --> 00:17:49.910 align:start position:0%
expect or if you have something explode
 

00:17:49.910 --> 00:17:50.919 align:start position:0%
expect or if you have something explode
then<00:17:50.150><c> you</c><00:17:50.240><c> know</c><00:17:50.330><c> something's</c><00:17:50.720><c> wrong</c><00:17:50.810><c> with</c>

00:17:50.919 --> 00:17:50.929 align:start position:0%
then you know something's wrong with
 

00:17:50.929 --> 00:17:51.610 align:start position:0%
then you know something's wrong with
your<00:17:51.080><c> code</c>

00:17:51.610 --> 00:17:51.620 align:start position:0%
your code
 

00:17:51.620 --> 00:17:53.500 align:start position:0%
your code
if<00:17:51.710><c> you</c><00:17:51.890><c> actually</c><00:17:52.039><c> have</c><00:17:52.309><c> the</c><00:17:52.429><c> source</c><00:17:52.640><c> code</c><00:17:52.730><c> you</c>

00:17:53.500 --> 00:17:53.510 align:start position:0%
if you actually have the source code you
 

00:17:53.510 --> 00:17:55.690 align:start position:0%
if you actually have the source code you
can<00:17:54.110><c> do</c><00:17:54.230><c> something</c><00:17:54.620><c> called</c><00:17:54.650><c> guided</c><00:17:55.159><c> fuzzing</c>

00:17:55.690 --> 00:17:55.700 align:start position:0%
can do something called guided fuzzing
 

00:17:55.700 --> 00:17:57.970 align:start position:0%
can do something called guided fuzzing
which<00:17:56.090><c> allows</c><00:17:56.870><c> the</c><00:17:57.080><c> fuzzer</c><00:17:57.260><c> to</c><00:17:57.500><c> instrument</c>

00:17:57.970 --> 00:17:57.980 align:start position:0%
which allows the fuzzer to instrument
 

00:17:57.980 --> 00:18:00.519 align:start position:0%
which allows the fuzzer to instrument
the<00:17:58.039><c> source</c><00:17:58.250><c> code</c><00:17:58.490><c> and</c><00:17:59.029><c> mutate</c><00:17:59.990><c> the</c><00:18:00.200><c> input</c>

00:18:00.519 --> 00:18:00.529 align:start position:0%
the source code and mutate the input
 

00:18:00.529 --> 00:18:02.590 align:start position:0%
the source code and mutate the input
functions<00:18:01.250><c> such</c><00:18:01.429><c> that</c><00:18:01.460><c> it</c><00:18:01.700><c> maximizes</c><00:18:02.150><c> the</c>

00:18:02.590 --> 00:18:02.600 align:start position:0%
functions such that it maximizes the
 

00:18:02.600 --> 00:18:04.360 align:start position:0%
functions such that it maximizes the
code<00:18:02.960><c> execution</c><00:18:03.529><c> paths</c><00:18:03.710><c> of</c><00:18:03.919><c> your</c><00:18:04.039><c> function</c><00:18:04.279><c> so</c>

00:18:04.360 --> 00:18:04.370 align:start position:0%
code execution paths of your function so
 

00:18:04.370 --> 00:18:07.149 align:start position:0%
code execution paths of your function so
you<00:18:04.400><c> can</c><00:18:04.490><c> maximally</c><00:18:05.090><c> check</c><00:18:05.659><c> that</c><00:18:05.809><c> your</c><00:18:06.159><c> code</c>

00:18:07.149 --> 00:18:07.159 align:start position:0%
you can maximally check that your code
 

00:18:07.159 --> 00:18:08.769 align:start position:0%
you can maximally check that your code
does<00:18:07.400><c> what</c><00:18:07.549><c> it</c><00:18:07.669><c> expects</c><00:18:08.059><c> and</c><00:18:08.210><c> you</c><00:18:08.480><c> try</c><00:18:08.659><c> and</c>

00:18:08.769 --> 00:18:08.779 align:start position:0%
does what it expects and you try and
 

00:18:08.779 --> 00:18:10.750 align:start position:0%
does what it expects and you try and
find<00:18:08.900><c> these</c><00:18:09.049><c> bugs</c><00:18:09.260><c> so</c><00:18:10.100><c> how</c><00:18:10.340><c> does</c><00:18:10.400><c> this</c><00:18:10.580><c> relate</c>

00:18:10.750 --> 00:18:10.760 align:start position:0%
find these bugs so how does this relate
 

00:18:10.760 --> 00:18:13.810 align:start position:0%
find these bugs so how does this relate
to<00:18:10.909><c> a</c><00:18:11.059><c> theorem</c><00:18:11.360><c> to</c><00:18:11.650><c> in</c><00:18:12.650><c> aetherium</c><00:18:13.010><c> to</c><00:18:13.429><c> there's</c>

00:18:13.810 --> 00:18:13.820 align:start position:0%
to a theorem to in aetherium to there's
 

00:18:13.820 --> 00:18:16.390 align:start position:0%
to a theorem to in aetherium to there's
a<00:18:13.909><c> whole</c><00:18:14.690><c> range</c><00:18:15.169><c> of</c><00:18:15.320><c> clients</c><00:18:15.770><c> over</c><00:18:15.950><c> a</c><00:18:16.100><c> variety</c>

00:18:16.390 --> 00:18:16.400 align:start position:0%
a whole range of clients over a variety
 

00:18:16.400 --> 00:18:18.549 align:start position:0%
a whole range of clients over a variety
of<00:18:16.580><c> different</c><00:18:16.730><c> programming</c><00:18:17.179><c> languages</c><00:18:17.559><c> each</c>

00:18:18.549 --> 00:18:18.559 align:start position:0%
of different programming languages each
 

00:18:18.559 --> 00:18:20.140 align:start position:0%
of different programming languages each
of<00:18:18.830><c> the</c><00:18:18.950><c> clients</c><00:18:19.190><c> have</c><00:18:19.520><c> implemented</c><00:18:20.059><c> the</c>

00:18:20.140 --> 00:18:20.150 align:start position:0%
of the clients have implemented the
 

00:18:20.150 --> 00:18:22.720 align:start position:0%
of the clients have implemented the
consensus<00:18:20.600><c> logic</c><00:18:20.960><c> their</c><00:18:21.200><c> own</c><00:18:21.320><c> way</c><00:18:21.559><c> and</c><00:18:22.490><c> if</c>

00:18:22.720 --> 00:18:22.730 align:start position:0%
consensus logic their own way and if
 

00:18:22.730 --> 00:18:25.360 align:start position:0%
consensus logic their own way and if
they're<00:18:23.690><c> so</c><00:18:24.049><c> there</c><00:18:24.200><c> is</c><00:18:24.289><c> a</c><00:18:24.320><c> chance</c><00:18:24.649><c> that</c><00:18:24.770><c> any</c><00:18:25.130><c> of</c>

00:18:25.360 --> 00:18:25.370 align:start position:0%
they're so there is a chance that any of
 

00:18:25.370 --> 00:18:27.610 align:start position:0%
they're so there is a chance that any of
these<00:18:25.460><c> clients</c><00:18:26.029><c> given</c><00:18:26.929><c> a</c><00:18:26.990><c> set</c><00:18:27.169><c> of</c><00:18:27.289><c> inputs</c>

00:18:27.610 --> 00:18:27.620 align:start position:0%
these clients given a set of inputs
 

00:18:27.620 --> 00:18:28.990 align:start position:0%
these clients given a set of inputs
could<00:18:27.860><c> produce</c><00:18:28.190><c> an</c><00:18:28.490><c> output</c><00:18:28.640><c> that</c><00:18:28.850><c> is</c>

00:18:28.990 --> 00:18:29.000 align:start position:0%
could produce an output that is
 

00:18:29.000 --> 00:18:31.450 align:start position:0%
could produce an output that is
different<00:18:29.720><c> to</c><00:18:29.870><c> another</c><00:18:30.140><c> client</c><00:18:30.500><c> and</c><00:18:30.620><c> this</c><00:18:31.309><c> is</c>

00:18:31.450 --> 00:18:31.460 align:start position:0%
different to another client and this is
 

00:18:31.460 --> 00:18:33.159 align:start position:0%
different to another client and this is
bad<00:18:31.640><c> because</c><00:18:31.909><c> if</c><00:18:32.000><c> we</c><00:18:32.090><c> run</c><00:18:32.270><c> this</c><00:18:32.390><c> on</c><00:18:32.600><c> a</c><00:18:32.840><c> network</c>

00:18:33.159 --> 00:18:33.169 align:start position:0%
bad because if we run this on a network
 

00:18:33.169 --> 00:18:36.039 align:start position:0%
bad because if we run this on a network
and<00:18:33.950><c> a</c><00:18:34.700><c> malicious</c><00:18:35.210><c> actor</c><00:18:35.570><c> knew</c><00:18:35.750><c> what</c><00:18:35.899><c> that</c>

00:18:36.039 --> 00:18:36.049 align:start position:0%
and a malicious actor knew what that
 

00:18:36.049 --> 00:18:37.899 align:start position:0%
and a malicious actor knew what that
input<00:18:36.200><c> was</c><00:18:36.500><c> and</c><00:18:36.679><c> it</c><00:18:36.740><c> could</c><00:18:36.860><c> segregate</c><00:18:37.309><c> one</c><00:18:37.789><c> of</c>

00:18:37.899 --> 00:18:37.909 align:start position:0%
input was and it could segregate one of
 

00:18:37.909 --> 00:18:40.330 align:start position:0%
input was and it could segregate one of
the<00:18:38.000><c> clients</c><00:18:38.360><c> from</c><00:18:38.450><c> the</c><00:18:38.539><c> rest</c><00:18:38.840><c> all</c><00:18:39.770><c> users</c><00:18:40.220><c> that</c>

00:18:40.330 --> 00:18:40.340 align:start position:0%
the clients from the rest all users that
 

00:18:40.340 --> 00:18:41.500 align:start position:0%
the clients from the rest all users that
are<00:18:40.460><c> using</c><00:18:40.700><c> that</c><00:18:40.789><c> client</c><00:18:41.120><c> on</c><00:18:41.179><c> the</c><00:18:41.240><c> network</c>

00:18:41.500 --> 00:18:41.510 align:start position:0%
are using that client on the network
 

00:18:41.510 --> 00:18:43.389 align:start position:0%
are using that client on the network
could<00:18:41.690><c> in</c><00:18:41.870><c> principle</c><00:18:42.350><c> have</c><00:18:42.649><c> a</c><00:18:42.710><c> consensus</c><00:18:43.190><c> fork</c>

00:18:43.389 --> 00:18:43.399 align:start position:0%
could in principle have a consensus fork
 

00:18:43.399 --> 00:18:44.440 align:start position:0%
could in principle have a consensus fork
across<00:18:43.640><c> the</c><00:18:43.730><c> network</c><00:18:43.940><c> which</c><00:18:44.059><c> is</c><00:18:44.149><c> something</c><00:18:44.299><c> we</c>

00:18:44.440 --> 00:18:44.450 align:start position:0%
across the network which is something we
 

00:18:44.450 --> 00:18:47.019 align:start position:0%
across the network which is something we
really<00:18:44.630><c> really</c><00:18:44.929><c> do</c><00:18:45.080><c> not</c><00:18:45.110><c> want</c><00:18:45.470><c> so</c><00:18:46.220><c> the</c><00:18:46.640><c> idea</c><00:18:46.909><c> is</c>

00:18:47.019 --> 00:18:47.029 align:start position:0%
really really do not want so the idea is
 

00:18:47.029 --> 00:18:49.029 align:start position:0%
really really do not want so the idea is
we<00:18:47.179><c> want</c><00:18:47.210><c> to</c><00:18:47.419><c> before</c><00:18:47.840><c> we</c><00:18:47.929><c> hit</c><00:18:48.080><c> main</c><00:18:48.529><c> that</c><00:18:48.710><c> is</c><00:18:48.919><c> to</c>

00:18:49.029 --> 00:18:49.039 align:start position:0%
we want to before we hit main that is to
 

00:18:49.039 --> 00:18:51.700 align:start position:0%
we want to before we hit main that is to
ensure<00:18:49.159><c> that</c><00:18:49.340><c> all</c><00:18:50.179><c> of</c><00:18:50.809><c> these</c><00:18:50.929><c> clients</c><00:18:51.230><c> that</c>

00:18:51.700 --> 00:18:51.710 align:start position:0%
ensure that all of these clients that
 

00:18:51.710 --> 00:18:53.950 align:start position:0%
ensure that all of these clients that
are<00:18:51.830><c> that</c><00:18:52.460><c> have</c><00:18:52.640><c> implemented</c><00:18:53.090><c> the</c><00:18:53.510><c> etherium</c>

00:18:53.950 --> 00:18:53.960 align:start position:0%
are that have implemented the etherium
 

00:18:53.960 --> 00:18:57.070 align:start position:0%
are that have implemented the etherium
to<00:18:54.169><c> consensus</c><00:18:54.830><c> logic</c><00:18:55.480><c> implement</c><00:18:56.480><c> it</c><00:18:56.659><c> in</c><00:18:56.809><c> such</c>

00:18:57.070 --> 00:18:57.080 align:start position:0%
to consensus logic implement it in such
 

00:18:57.080 --> 00:18:59.409 align:start position:0%
to consensus logic implement it in such
a<00:18:57.110><c> way</c><00:18:57.320><c> that</c><00:18:57.350><c> all</c><00:18:57.799><c> of</c><00:18:57.950><c> the</c><00:18:58.070><c> inputs</c><00:18:58.370><c> are</c><00:18:58.700><c> pretty</c>

00:18:59.409 --> 00:18:59.419 align:start position:0%
a way that all of the inputs are pretty
 

00:18:59.419 --> 00:19:00.760 align:start position:0%
a way that all of the inputs are pretty
much<00:18:59.539><c> every</c><00:18:59.779><c> input</c><00:18:59.899><c> we</c><00:19:00.110><c> can</c><00:19:00.140><c> possibly</c><00:19:00.500><c> give</c><00:19:00.649><c> it</c>

00:19:00.760 --> 00:19:00.770 align:start position:0%
much every input we can possibly give it
 

00:19:00.770 --> 00:19:02.289 align:start position:0%
much every input we can possibly give it
produce<00:19:01.039><c> the</c><00:19:01.279><c> same</c><00:19:01.399><c> output</c><00:19:01.580><c> amongst</c><00:19:02.090><c> all</c><00:19:02.179><c> the</c>

00:19:02.289 --> 00:19:02.299 align:start position:0%
produce the same output amongst all the
 

00:19:02.299 --> 00:19:03.789 align:start position:0%
produce the same output amongst all the
clients<00:19:02.570><c> so</c><00:19:02.630><c> we</c><00:19:02.720><c> don't</c><00:19:02.870><c> get</c><00:19:03.020><c> these</c><00:19:03.140><c> forking</c>

00:19:03.789 --> 00:19:03.799 align:start position:0%
clients so we don't get these forking
 

00:19:03.799 --> 00:19:07.060 align:start position:0%
clients so we don't get these forking
amongst<00:19:04.070><c> the</c><00:19:04.130><c> clients</c><00:19:04.460><c> so</c><00:19:05.679><c> specifically</c><00:19:06.679><c> the</c>

00:19:07.060 --> 00:19:07.070 align:start position:0%
amongst the clients so specifically the
 

00:19:07.070 --> 00:19:09.430 align:start position:0%
amongst the clients so specifically the
each<00:19:08.000><c> of</c><00:19:08.059><c> the</c><00:19:08.270><c> clients</c><00:19:08.390><c> implement</c><00:19:08.870><c> a</c><00:19:09.020><c> whole</c>

00:19:09.430 --> 00:19:09.440 align:start position:0%
each of the clients implement a whole
 

00:19:09.440 --> 00:19:10.870 align:start position:0%
each of the clients implement a whole
range<00:19:09.710><c> of</c><00:19:09.890><c> functions</c><00:19:10.220><c> on</c><00:19:10.399><c> the</c><00:19:10.490><c> network</c><00:19:10.730><c> level</c>

00:19:10.870 --> 00:19:10.880 align:start position:0%
range of functions on the network level
 

00:19:10.880 --> 00:19:13.180 align:start position:0%
range of functions on the network level
and<00:19:11.360><c> consensus</c><00:19:12.080><c> level</c><00:19:12.320><c> in</c><00:19:12.409><c> everywhere</c><00:19:12.740><c> but</c>

00:19:13.180 --> 00:19:13.190 align:start position:0%
and consensus level in everywhere but
 

00:19:13.190 --> 00:19:15.789 align:start position:0%
and consensus level in everywhere but
there's<00:19:13.419><c> the</c><00:19:14.419><c> main</c><00:19:14.600><c> core</c><00:19:15.110><c> consensus</c><00:19:15.620><c> things</c>

00:19:15.789 --> 00:19:15.799 align:start position:0%
there's the main core consensus things
 

00:19:15.799 --> 00:19:17.169 align:start position:0%
there's the main core consensus things
we<00:19:15.919><c> really</c><00:19:16.279><c> want</c><00:19:16.460><c> to</c><00:19:16.520><c> test</c><00:19:16.700><c> the</c>

00:19:17.169 --> 00:19:17.179 align:start position:0%
we really want to test the
 

00:19:17.179 --> 00:19:19.419 align:start position:0%
we really want to test the
state-transition<00:19:17.419><c> functions</c><00:19:18.340><c> there's</c><00:19:19.340><c> a</c>

00:19:19.419 --> 00:19:19.429 align:start position:0%
state-transition functions there's a
 

00:19:19.429 --> 00:19:20.710 align:start position:0%
state-transition functions there's a
whole<00:19:19.549><c> heap</c><00:19:19.669><c> of</c><00:19:19.789><c> functions</c><00:19:20.149><c> involved</c><00:19:20.510><c> in</c><00:19:20.630><c> this</c>

00:19:20.710 --> 00:19:20.720 align:start position:0%
whole heap of functions involved in this
 

00:19:20.720 --> 00:19:22.299 align:start position:0%
whole heap of functions involved in this
but<00:19:20.929><c> you</c><00:19:20.960><c> can</c><00:19:21.169><c> kind</c><00:19:21.380><c> of</c><00:19:21.440><c> summarize</c><00:19:21.860><c> these</c><00:19:22.010><c> into</c>

00:19:22.299 --> 00:19:22.309 align:start position:0%
but you can kind of summarize these into
 

00:19:22.309 --> 00:19:24.519 align:start position:0%
but you can kind of summarize these into
three<00:19:22.460><c> main</c><00:19:22.789><c> functions</c><00:19:23.419><c> the</c><00:19:24.200><c> state</c>

00:19:24.519 --> 00:19:24.529 align:start position:0%
three main functions the state
 

00:19:24.529 --> 00:19:26.560 align:start position:0%
three main functions the state
processing<00:19:25.130><c> block</c><00:19:25.490><c> processing</c><00:19:26.059><c> and</c><00:19:26.299><c> epoch</c>

00:19:26.560 --> 00:19:26.570 align:start position:0%
processing block processing and epoch
 

00:19:26.570 --> 00:19:28.870 align:start position:0%
processing block processing and epoch
processing<00:19:27.049><c> so</c><00:19:27.590><c> these</c><00:19:27.740><c> are</c><00:19:28.010><c> the</c><00:19:28.279><c> main</c><00:19:28.520><c> ones</c><00:19:28.669><c> we</c>

00:19:28.870 --> 00:19:28.880 align:start position:0%
processing so these are the main ones we
 

00:19:28.880 --> 00:19:30.279 align:start position:0%
processing so these are the main ones we
want<00:19:29.059><c> to</c><00:19:29.120><c> target</c><00:19:29.330><c> to</c><00:19:29.539><c> ensure</c><00:19:29.809><c> that</c><00:19:29.840><c> all</c><00:19:30.140><c> the</c>

00:19:30.279 --> 00:19:30.289 align:start position:0%
want to target to ensure that all the
 

00:19:30.289 --> 00:19:33.039 align:start position:0%
want to target to ensure that all the
clients<00:19:30.799><c> conform</c><00:19:31.399><c> to</c><00:19:31.580><c> so</c><00:19:32.510><c> the</c><00:19:32.600><c> way</c><00:19:32.690><c> this</c><00:19:32.809><c> is</c>

00:19:33.039 --> 00:19:33.049 align:start position:0%
clients conform to so the way this is
 

00:19:33.049 --> 00:19:35.440 align:start position:0%
clients conform to so the way this is
done<00:19:33.230><c> in</c><00:19:33.799><c> a</c><00:19:33.950><c> single</c><00:19:34.399><c> slide</c><00:19:34.789><c> very</c><00:19:35.179><c> high-level</c>

00:19:35.440 --> 00:19:35.450 align:start position:0%
done in a single slide very high-level
 

00:19:35.450 --> 00:19:37.419 align:start position:0%
done in a single slide very high-level
overview<00:19:35.779><c> is</c><00:19:36.260><c> we</c><00:19:36.710><c> have</c><00:19:36.890><c> a</c><00:19:36.919><c> piece</c><00:19:37.130><c> of</c><00:19:37.159><c> software</c>

00:19:37.419 --> 00:19:37.429 align:start position:0%
overview is we have a piece of software
 

00:19:37.429 --> 00:19:39.909 align:start position:0%
overview is we have a piece of software
which<00:19:37.820><c> we</c><00:19:38.090><c> call</c><00:19:38.270><c> a</c><00:19:38.299><c> differential</c><00:19:38.809><c> fuzzer</c><00:19:39.020><c> it</c>

00:19:39.909 --> 00:19:39.919 align:start position:0%
which we call a differential fuzzer it
 

00:19:39.919 --> 00:19:42.490 align:start position:0%
which we call a differential fuzzer it
has<00:19:40.429><c> plugins</c><00:19:41.240><c> that</c><00:19:41.480><c> essentially</c><00:19:41.929><c> we</c><00:19:42.049><c> allows</c>

00:19:42.490 --> 00:19:42.500 align:start position:0%
has plugins that essentially we allows
 

00:19:42.500 --> 00:19:44.409 align:start position:0%
has plugins that essentially we allows
us<00:19:42.710><c> to</c><00:19:42.860><c> plug</c><00:19:43.039><c> in</c><00:19:43.220><c> each</c><00:19:43.340><c> of</c><00:19:43.490><c> the</c><00:19:43.580><c> clients</c><00:19:43.970><c> more</c>

00:19:44.409 --> 00:19:44.419 align:start position:0%
us to plug in each of the clients more
 

00:19:44.419 --> 00:19:45.730 align:start position:0%
us to plug in each of the clients more
specifically<00:19:44.870><c> their</c><00:19:45.140><c> state</c><00:19:45.320><c> transition</c>

00:19:45.730 --> 00:19:45.740 align:start position:0%
specifically their state transition
 

00:19:45.740 --> 00:19:48.659 align:start position:0%
specifically their state transition
functions<00:19:46.130><c> and</c><00:19:46.940><c> the</c><00:19:47.390><c> buzzer</c><00:19:47.720><c> itself</c><00:19:48.200><c> will</c>

00:19:48.659 --> 00:19:48.669 align:start position:0%
functions and the buzzer itself will
 

00:19:48.669 --> 00:19:51.399 align:start position:0%
functions and the buzzer itself will
similar<00:19:49.669><c> to</c><00:19:49.880><c> an</c><00:19:50.600><c> ordinary</c><00:19:50.929><c> files</c><00:19:51.289><c> they</c>

00:19:51.399 --> 00:19:51.409 align:start position:0%
similar to an ordinary files they
 

00:19:51.409 --> 00:19:53.470 align:start position:0%
similar to an ordinary files they
generate<00:19:51.799><c> a</c><00:19:51.830><c> whole</c><00:19:52.490><c> heap</c><00:19:52.669><c> of</c><00:19:52.789><c> random</c><00:19:53.149><c> inputs</c>

00:19:53.470 --> 00:19:53.480 align:start position:0%
generate a whole heap of random inputs
 

00:19:53.480 --> 00:19:54.940 align:start position:0%
generate a whole heap of random inputs
designed<00:19:53.899><c> for</c><00:19:54.110><c> the</c><00:19:54.200><c> state</c><00:19:54.500><c> transition</c>

00:19:54.940 --> 00:19:54.950 align:start position:0%
designed for the state transition
 

00:19:54.950 --> 00:19:56.680 align:start position:0%
designed for the state transition
functions<00:19:55.309><c> send</c><00:19:55.880><c> them</c><00:19:56.000><c> individually</c><00:19:56.510><c> to</c><00:19:56.539><c> each</c>

00:19:56.680 --> 00:19:56.690 align:start position:0%
functions send them individually to each
 

00:19:56.690 --> 00:19:58.299 align:start position:0%
functions send them individually to each
of<00:19:56.899><c> the</c><00:19:56.990><c> clients</c><00:19:57.380><c> get</c><00:19:57.649><c> a</c><00:19:57.679><c> response</c><00:19:58.010><c> and</c><00:19:58.130><c> make</c>

00:19:58.299 --> 00:19:58.309 align:start position:0%
of the clients get a response and make
 

00:19:58.309 --> 00:20:00.010 align:start position:0%
of the clients get a response and make
sure<00:19:58.399><c> all</c><00:19:58.549><c> the</c><00:19:58.640><c> clients</c><00:19:59.000><c> agree</c><00:19:59.809><c> on</c><00:19:59.929><c> the</c>

00:20:00.010 --> 00:20:00.020 align:start position:0%
sure all the clients agree on the
 

00:20:00.020 --> 00:20:01.060 align:start position:0%
sure all the clients agree on the
response<00:20:00.289><c> if</c><00:20:00.380><c> there's</c><00:20:00.559><c> a</c><00:20:00.620><c> difference</c><00:20:00.890><c> then</c><00:20:01.010><c> we</c>

00:20:01.060 --> 00:20:01.070 align:start position:0%
response if there's a difference then we
 

00:20:01.070 --> 00:20:02.200 align:start position:0%
response if there's a difference then we
know<00:20:01.190><c> that</c><00:20:01.220><c> there's</c><00:20:01.490><c> a</c><00:20:01.549><c> difference</c><00:20:01.880><c> between</c>

00:20:02.200 --> 00:20:02.210 align:start position:0%
know that there's a difference between
 

00:20:02.210 --> 00:20:03.850 align:start position:0%
know that there's a difference between
the<00:20:02.480><c> implementations</c><00:20:03.049><c> in</c><00:20:03.169><c> the</c><00:20:03.260><c> clients</c><00:20:03.530><c> and</c>

00:20:03.850 --> 00:20:03.860 align:start position:0%
the implementations in the clients and
 

00:20:03.860 --> 00:20:04.990 align:start position:0%
the implementations in the clients and
we<00:20:04.010><c> were</c><00:20:04.309><c> going</c><00:20:04.399><c> to</c><00:20:04.490><c> check</c>

00:20:04.990 --> 00:20:05.000 align:start position:0%
we were going to check
 

00:20:05.000 --> 00:20:07.180 align:start position:0%
we were going to check
this<00:20:05.360><c> is</c><00:20:05.540><c> something</c><00:20:05.960><c> that</c><00:20:05.990><c> we</c><00:20:06.830><c> are</c><00:20:06.890><c> currently</c>

00:20:07.180 --> 00:20:07.190 align:start position:0%
this is something that we are currently
 

00:20:07.190 --> 00:20:08.860 align:start position:0%
this is something that we are currently
actively<00:20:07.730><c> developing</c><00:20:08.210><c> we</c><00:20:08.420><c> still</c><00:20:08.630><c> need</c><00:20:08.780><c> to</c>

00:20:08.860 --> 00:20:08.870 align:start position:0%
actively developing we still need to
 

00:20:08.870 --> 00:20:11.020 align:start position:0%
actively developing we still need to
onboard<00:20:09.020><c> a</c><00:20:09.350><c> number</c><00:20:09.530><c> of</c><00:20:09.650><c> clients</c><00:20:10.070><c> and</c><00:20:10.760><c> again</c>

00:20:11.020 --> 00:20:11.030 align:start position:0%
onboard a number of clients and again
 

00:20:11.030 --> 00:20:13.120 align:start position:0%
onboard a number of clients and again
anyone<00:20:11.330><c> that's</c><00:20:11.510><c> interested</c><00:20:11.630><c> I</c><00:20:11.960><c> encourage</c><00:20:12.130><c> you</c>

00:20:13.120 --> 00:20:13.130 align:start position:0%
anyone that's interested I encourage you
 

00:20:13.130 --> 00:20:15.610 align:start position:0%
anyone that's interested I encourage you
to<00:20:13.220><c> come</c><00:20:13.340><c> and</c><00:20:13.400><c> have</c><00:20:13.730><c> a</c><00:20:13.790><c> chat</c><00:20:13.970><c> with</c><00:20:14.090><c> us</c><00:20:14.120><c> after</c><00:20:14.620><c> so</c>

00:20:15.610 --> 00:20:15.620 align:start position:0%
to come and have a chat with us after so
 

00:20:15.620 --> 00:20:16.750 align:start position:0%
to come and have a chat with us after so
I<00:20:15.650><c> only</c><00:20:15.770><c> had</c><00:20:15.920><c> enough</c><00:20:16.070><c> time</c><00:20:16.220><c> to</c><00:20:16.280><c> really</c><00:20:16.610><c> just</c>

00:20:16.750 --> 00:20:16.760 align:start position:0%
I only had enough time to really just
 

00:20:16.760 --> 00:20:18.790 align:start position:0%
I only had enough time to really just
very<00:20:17.000><c> highly</c><00:20:17.630><c> go</c><00:20:17.930><c> over</c><00:20:18.140><c> some</c><00:20:18.290><c> security</c>

00:20:18.790 --> 00:20:18.800 align:start position:0%
very highly go over some security
 

00:20:18.800 --> 00:20:20.200 align:start position:0%
very highly go over some security
considerations<00:20:19.370><c> that</c><00:20:19.400><c> we</c><00:20:19.550><c> have</c><00:20:19.700><c> to</c><00:20:20.000><c> give</c><00:20:20.120><c> you</c>

00:20:20.200 --> 00:20:20.210 align:start position:0%
considerations that we have to give you
 

00:20:20.210 --> 00:20:21.490 align:start position:0%
considerations that we have to give you
a<00:20:20.240><c> rough</c><00:20:20.480><c> idea</c><00:20:20.630><c> of</c><00:20:20.840><c> some</c><00:20:21.050><c> of</c><00:20:21.110><c> the</c><00:20:21.200><c> things</c><00:20:21.380><c> that</c>

00:20:21.490 --> 00:20:21.500 align:start position:0%
a rough idea of some of the things that
 

00:20:21.500 --> 00:20:23.110 align:start position:0%
a rough idea of some of the things that
are<00:20:21.560><c> going</c><00:20:21.650><c> on</c><00:20:21.860><c> but</c><00:20:22.550><c> this</c><00:20:22.640><c> is</c><00:20:22.700><c> the</c><00:20:22.790><c> end</c><00:20:22.940><c> of</c><00:20:23.060><c> our</c>

00:20:23.110 --> 00:20:23.120 align:start position:0%
are going on but this is the end of our
 

00:20:23.120 --> 00:20:24.670 align:start position:0%
are going on but this is the end of our
talk<00:20:23.330><c> so</c><00:20:23.570><c> if</c><00:20:23.900><c> you're</c><00:20:24.080><c> interested</c><00:20:24.380><c> in</c><00:20:24.440><c> any</c><00:20:24.590><c> of</c>

00:20:24.670 --> 00:20:24.680 align:start position:0%
talk so if you're interested in any of
 

00:20:24.680 --> 00:20:25.930 align:start position:0%
talk so if you're interested in any of
these<00:20:24.740><c> topics</c><00:20:25.100><c> I</c><00:20:25.220><c> encourage</c><00:20:25.490><c> you</c><00:20:25.580><c> to</c><00:20:25.640><c> come</c><00:20:25.850><c> and</c>

00:20:25.930 --> 00:20:25.940 align:start position:0%
these topics I encourage you to come and
 

00:20:25.940 --> 00:20:28.180 align:start position:0%
these topics I encourage you to come and
contact<00:20:26.090><c> Paul</c><00:20:26.990><c> or</c><00:20:27.110><c> I</c><00:20:27.140><c> or</c><00:20:27.350><c> anyone</c><00:20:27.500><c> else</c><00:20:27.620><c> around</c>

00:20:28.180 --> 00:20:28.190 align:start position:0%
contact Paul or I or anyone else around
 

00:20:28.190 --> 00:20:30.090 align:start position:0%
contact Paul or I or anyone else around
thank<00:20:28.850><c> you</c>

00:20:30.090 --> 00:20:30.100 align:start position:0%
thank you
 

00:20:30.100 --> 00:20:38.960 align:start position:0%
thank you
[Applause]

00:20:38.960 --> 00:20:38.970 align:start position:0%
 
 

00:20:38.970 --> 00:20:41.030 align:start position:0%
 
you

