WEBVTT
Kind: captions
Language: en

00:00:14.379 --> 00:00:18.670 align:start position:0%
 
hmm<00:00:15.379><c> hey</c><00:00:16.039><c> everyone</c><00:00:17.170><c> so</c><00:00:18.170><c> this</c><00:00:18.200><c> time</c><00:00:18.440><c> I'm</c><00:00:18.560><c> gonna</c>

00:00:18.670 --> 00:00:18.680 align:start position:0%
hmm hey everyone so this time I'm gonna
 

00:00:18.680 --> 00:00:21.730 align:start position:0%
hmm hey everyone so this time I'm gonna
start<00:00:19.250><c> my</c><00:00:19.400><c> talk</c><00:00:19.580><c> for</c><00:00:19.790><c> real</c><00:00:20.020><c> no</c><00:00:21.020><c> no</c><00:00:21.410><c> kidding</c>

00:00:21.730 --> 00:00:21.740 align:start position:0%
start my talk for real no no kidding
 

00:00:21.740 --> 00:00:23.620 align:start position:0%
start my talk for real no no kidding
around<00:00:21.830><c> we're</c><00:00:22.670><c> gonna</c><00:00:22.730><c> hear</c><00:00:22.910><c> about</c><00:00:22.970><c> a</c><00:00:23.120><c> crack</c><00:00:23.540><c> by</c>

00:00:23.620 --> 00:00:23.630 align:start position:0%
around we're gonna hear about a crack by
 

00:00:23.630 --> 00:00:24.970 align:start position:0%
around we're gonna hear about a crack by
construction<00:00:23.960><c> block</c><00:00:24.230><c> chain</c><00:00:24.410><c> consensus</c>

00:00:24.970 --> 00:00:24.980 align:start position:0%
construction block chain consensus
 

00:00:24.980 --> 00:00:27.340 align:start position:0%
construction block chain consensus
protocol<00:00:25.310><c> and</c><00:00:25.580><c> you</c><00:00:26.480><c> know</c><00:00:26.570><c> I</c><00:00:26.810><c> hope</c><00:00:26.990><c> you're</c><00:00:27.170><c> all</c>

00:00:27.340 --> 00:00:27.350 align:start position:0%
protocol and you know I hope you're all
 

00:00:27.350 --> 00:00:29.670 align:start position:0%
protocol and you know I hope you're all
excited<00:00:28.220><c> to</c><00:00:28.490><c> be</c><00:00:28.580><c> here</c><00:00:28.760><c> and</c><00:00:28.970><c> I</c><00:00:29.060><c> hope</c><00:00:29.150><c> you're</c><00:00:29.360><c> all</c>

00:00:29.670 --> 00:00:29.680 align:start position:0%
excited to be here and I hope you're all
 

00:00:29.680 --> 00:00:32.080 align:start position:0%
excited to be here and I hope you're all
aware<00:00:30.680><c> that</c><00:00:30.950><c> I'm</c><00:00:31.070><c> starting</c><00:00:31.370><c> to</c><00:00:31.400><c> speak</c><00:00:31.700><c> and</c><00:00:31.940><c> so</c>

00:00:32.080 --> 00:00:32.090 align:start position:0%
aware that I'm starting to speak and so
 

00:00:32.090 --> 00:00:35.950 align:start position:0%
aware that I'm starting to speak and so
are<00:00:32.239><c> coming</c><00:00:32.570><c> into</c><00:00:32.689><c> the</c><00:00:32.840><c> room</c><00:00:34.510><c> but</c><00:00:35.510><c> I</c><00:00:35.750><c> don't</c>

00:00:35.950 --> 00:00:35.960 align:start position:0%
are coming into the room but I don't
 

00:00:35.960 --> 00:00:39.540 align:start position:0%
are coming into the room but I don't
have<00:00:36.050><c> time</c><00:00:36.230><c> to</c><00:00:36.380><c> wait</c><00:00:36.530><c> so</c><00:00:37.250><c> here</c><00:00:37.820><c> we</c><00:00:37.910><c> go</c><00:00:38.050><c> so</c>

00:00:39.540 --> 00:00:39.550 align:start position:0%
have time to wait so here we go so
 

00:00:39.550 --> 00:00:41.800 align:start position:0%
have time to wait so here we go so
firstly<00:00:40.550><c> let's</c><00:00:40.790><c> do</c><00:00:41.180><c> a</c><00:00:41.210><c> basic</c><00:00:41.390><c> introduction</c>

00:00:41.800 --> 00:00:41.810 align:start position:0%
firstly let's do a basic introduction
 

00:00:41.810 --> 00:00:43.390 align:start position:0%
firstly let's do a basic introduction
like<00:00:42.290><c> consensus</c><00:00:42.710><c> protocols</c><00:00:43.100><c> are</c><00:00:43.190><c> kind</c><00:00:43.340><c> of</c>

00:00:43.390 --> 00:00:43.400 align:start position:0%
like consensus protocols are kind of
 

00:00:43.400 --> 00:00:47.020 align:start position:0%
like consensus protocols are kind of
fundamentally<00:00:44.360><c> about</c><00:00:45.370><c> deciding</c><00:00:46.370><c> like</c><00:00:46.790><c> notes</c>

00:00:47.020 --> 00:00:47.030 align:start position:0%
fundamentally about deciding like notes
 

00:00:47.030 --> 00:00:48.639 align:start position:0%
fundamentally about deciding like notes
on<00:00:47.180><c> a</c><00:00:47.210><c> distributed</c><00:00:47.660><c> network</c><00:00:47.870><c> making</c><00:00:48.290><c> the</c><00:00:48.470><c> same</c>

00:00:48.639 --> 00:00:48.649 align:start position:0%
on a distributed network making the same
 

00:00:48.649 --> 00:00:50.110 align:start position:0%
on a distributed network making the same
decisions<00:00:49.070><c> even</c><00:00:49.820><c> though</c><00:00:49.880><c> they</c><00:00:49.970><c> might</c><00:00:50.060><c> have</c>

00:00:50.110 --> 00:00:50.120 align:start position:0%
decisions even though they might have
 

00:00:50.120 --> 00:00:52.080 align:start position:0%
decisions even though they might have
different<00:00:50.420><c> views</c><00:00:50.780><c> of</c><00:00:50.899><c> the</c><00:00:50.960><c> network</c><00:00:51.260><c> right</c><00:00:51.649><c> and</c>

00:00:52.080 --> 00:00:52.090 align:start position:0%
different views of the network right and
 

00:00:52.090 --> 00:00:54.250 align:start position:0%
different views of the network right and
those<00:00:53.090><c> decisions</c><00:00:53.450><c> you</c><00:00:53.809><c> think</c><00:00:54.020><c> of</c><00:00:54.079><c> them</c><00:00:54.170><c> as</c>

00:00:54.250 --> 00:00:54.260 align:start position:0%
those decisions you think of them as
 

00:00:54.260 --> 00:00:56.170 align:start position:0%
those decisions you think of them as
being<00:00:54.350><c> on</c><00:00:54.530><c> values</c><00:00:54.920><c> but</c><00:00:55.280><c> normally</c><00:00:55.700><c> you</c><00:00:55.850><c> know</c><00:00:55.970><c> we</c>

00:00:56.170 --> 00:00:56.180 align:start position:0%
being on values but normally you know we
 

00:00:56.180 --> 00:00:58.600 align:start position:0%
being on values but normally you know we
think<00:00:56.300><c> about</c><00:00:56.390><c> in</c><00:00:56.840><c> our</c><00:00:57.410><c> context</c><00:00:57.890><c> replicating</c><00:00:58.520><c> a</c>

00:00:58.600 --> 00:00:58.610 align:start position:0%
think about in our context replicating a
 

00:00:58.610 --> 00:00:59.889 align:start position:0%
think about in our context replicating a
virtual<00:00:58.880><c> machine</c><00:00:59.000><c> or</c><00:00:59.120><c> some</c><00:00:59.510><c> kind</c><00:00:59.660><c> of</c><00:00:59.719><c> state</c>

00:00:59.889 --> 00:00:59.899 align:start position:0%
virtual machine or some kind of state
 

00:00:59.899 --> 00:01:05.350 align:start position:0%
virtual machine or some kind of state
machine<00:01:01.000><c> so</c><00:01:04.030><c> traditional</c><00:01:05.030><c> consensus</c>

00:01:05.350 --> 00:01:05.360 align:start position:0%
machine so traditional consensus
 

00:01:05.360 --> 00:01:07.840 align:start position:0%
machine so traditional consensus
protocols<00:01:05.750><c> decide</c><00:01:06.229><c> on</c><00:01:06.409><c> one</c><00:01:07.190><c> block</c><00:01:07.490><c> of</c>

00:01:07.840 --> 00:01:07.850 align:start position:0%
protocols decide on one block of
 

00:01:07.850 --> 00:01:12.840 align:start position:0%
protocols decide on one block of
transactions<00:01:08.360><c> at</c><00:01:08.479><c> a</c><00:01:08.510><c> time</c><00:01:09.340><c> whereas</c>

00:01:12.840 --> 00:01:12.850 align:start position:0%
 
 

00:01:12.850 --> 00:01:14.980 align:start position:0%
 
and<00:01:13.850><c> they</c><00:01:14.150><c> do</c><00:01:14.270><c> it</c><00:01:14.510><c> with</c><00:01:14.659><c> irreversible</c>

00:01:14.980 --> 00:01:14.990 align:start position:0%
and they do it with irreversible
 

00:01:14.990 --> 00:01:17.440 align:start position:0%
and they do it with irreversible
finality<00:01:15.890><c> with</c><00:01:16.100><c> every</c><00:01:16.520><c> single</c><00:01:16.940><c> block</c><00:01:17.119><c> right</c>

00:01:17.440 --> 00:01:17.450 align:start position:0%
finality with every single block right
 

00:01:17.450 --> 00:01:19.120 align:start position:0%
finality with every single block right
you<00:01:17.840><c> come</c><00:01:18.080><c> to</c><00:01:18.170><c> a</c><00:01:18.200><c> Byzantine</c><00:01:18.530><c> quorum</c><00:01:18.830><c> you</c><00:01:18.920><c> sign</c>

00:01:19.120 --> 00:01:19.130 align:start position:0%
you come to a Byzantine quorum you sign
 

00:01:19.130 --> 00:01:21.160 align:start position:0%
you come to a Byzantine quorum you sign
the<00:01:19.250><c> block</c><00:01:19.430><c> and</c><00:01:19.640><c> you</c><00:01:19.880><c> and</c><00:01:20.090><c> every</c><00:01:20.450><c> block</c><00:01:20.630><c> is</c>

00:01:21.160 --> 00:01:21.170 align:start position:0%
the block and you and every block is
 

00:01:21.170 --> 00:01:24.180 align:start position:0%
the block and you and every block is
created<00:01:21.560><c> and</c><00:01:21.650><c> there's</c><00:01:21.860><c> never</c><00:01:21.979><c> any</c><00:01:22.159><c> Forks</c><00:01:22.460><c> and</c>

00:01:24.180 --> 00:01:24.190 align:start position:0%
created and there's never any Forks and
 

00:01:24.190 --> 00:01:26.649 align:start position:0%
created and there's never any Forks and
this<00:01:25.190><c> usually</c><00:01:25.580><c> requires</c><00:01:25.909><c> on</c><00:01:26.240><c> the</c><00:01:26.390><c> order</c><00:01:26.630><c> of</c>

00:01:26.649 --> 00:01:26.659 align:start position:0%
this usually requires on the order of
 

00:01:26.659 --> 00:01:28.600 align:start position:0%
this usually requires on the order of
the<00:01:26.750><c> number</c><00:01:26.930><c> of</c><00:01:27.020><c> validators</c><00:01:27.530><c> messages</c><00:01:28.400><c> for</c>

00:01:28.600 --> 00:01:28.610 align:start position:0%
the number of validators messages for
 

00:01:28.610 --> 00:01:30.490 align:start position:0%
the number of validators messages for
every<00:01:28.850><c> block</c><00:01:29.060><c> to</c><00:01:29.930><c> accomplish</c><00:01:30.229><c> this</c><00:01:30.320><c> right</c>

00:01:30.490 --> 00:01:30.500 align:start position:0%
every block to accomplish this right
 

00:01:30.500 --> 00:01:31.630 align:start position:0%
every block to accomplish this right
because<00:01:30.650><c> you</c><00:01:30.710><c> have</c><00:01:30.799><c> to</c><00:01:30.860><c> come</c><00:01:31.010><c> to</c><00:01:31.189><c> consensus</c>

00:01:31.630 --> 00:01:31.640 align:start position:0%
because you have to come to consensus
 

00:01:31.640 --> 00:01:33.510 align:start position:0%
because you have to come to consensus
before<00:01:31.820><c> you</c><00:01:32.090><c> make</c><00:01:32.210><c> every</c><00:01:32.390><c> block</c><00:01:32.600><c> essentially</c>

00:01:33.510 --> 00:01:33.520 align:start position:0%
before you make every block essentially
 

00:01:33.520 --> 00:01:35.500 align:start position:0%
before you make every block essentially
improve<00:01:34.520><c> award</c><00:01:34.820><c> consensus</c><00:01:35.210><c> on</c><00:01:35.330><c> the</c><00:01:35.390><c> other</c>

00:01:35.500 --> 00:01:35.510 align:start position:0%
improve award consensus on the other
 

00:01:35.510 --> 00:01:38.380 align:start position:0%
improve award consensus on the other
hand<00:01:35.860><c> we</c><00:01:36.860><c> don't</c><00:01:37.400><c> come</c><00:01:37.700><c> to</c><00:01:37.790><c> consensus</c><00:01:38.119><c> on</c><00:01:38.210><c> every</c>

00:01:38.380 --> 00:01:38.390 align:start position:0%
hand we don't come to consensus on every
 

00:01:38.390 --> 00:01:40.030 align:start position:0%
hand we don't come to consensus on every
block<00:01:38.540><c> before</c><00:01:38.689><c> we</c><00:01:38.900><c> make</c><00:01:39.020><c> it</c><00:01:39.049><c> instead</c><00:01:39.619><c> we</c><00:01:39.860><c> have</c>

00:01:40.030 --> 00:01:40.040 align:start position:0%
block before we make it instead we have
 

00:01:40.040 --> 00:01:42.429 align:start position:0%
block before we make it instead we have
this<00:01:40.250><c> kind</c><00:01:40.460><c> of</c><00:01:40.490><c> forking</c><00:01:41.210><c> phenomena</c><00:01:41.750><c> where</c><00:01:42.020><c> we</c>

00:01:42.429 --> 00:01:42.439 align:start position:0%
this kind of forking phenomena where we
 

00:01:42.439 --> 00:01:44.050 align:start position:0%
this kind of forking phenomena where we
just<00:01:42.710><c> try</c><00:01:43.010><c> to</c><00:01:43.070><c> put</c><00:01:43.280><c> the</c><00:01:43.369><c> block</c><00:01:43.549><c> on</c><00:01:43.729><c> there</c><00:01:43.909><c> but</c>

00:01:44.050 --> 00:01:44.060 align:start position:0%
just try to put the block on there but
 

00:01:44.060 --> 00:01:47.200 align:start position:0%
just try to put the block on there but
if<00:01:44.150><c> we</c><00:01:44.270><c> fail</c><00:01:44.509><c> it</c><00:01:44.840><c> might</c><00:01:45.080><c> leave</c><00:01:45.860><c> but</c><00:01:46.159><c> somehow</c><00:01:46.340><c> if</c>

00:01:47.200 --> 00:01:47.210 align:start position:0%
if we fail it might leave but somehow if
 

00:01:47.210 --> 00:01:50.170 align:start position:0%
if we fail it might leave but somehow if
we<00:01:47.420><c> wait</c><00:01:47.630><c> long</c><00:01:47.840><c> enough</c><00:01:47.869><c> we</c><00:01:48.430><c> feel</c><00:01:49.430><c> like</c><00:01:49.580><c> oh</c><00:01:49.759><c> it's</c>

00:01:50.170 --> 00:01:50.180 align:start position:0%
we wait long enough we feel like oh it's
 

00:01:50.180 --> 00:01:52.990 align:start position:0%
we wait long enough we feel like oh it's
never<00:01:50.330><c> gonna</c><00:01:50.479><c> leave</c><00:01:50.659><c> the</c><00:01:50.810><c> block</c><00:01:50.960><c> chain</c><00:01:52.000><c> and</c>

00:01:52.990 --> 00:01:53.000 align:start position:0%
never gonna leave the block chain and
 

00:01:53.000 --> 00:01:54.370 align:start position:0%
never gonna leave the block chain and
these<00:01:53.180><c> protocols</c><00:01:53.509><c> have</c><00:01:53.869><c> a</c><00:01:53.900><c> much</c><00:01:54.170><c> lower</c>

00:01:54.370 --> 00:01:54.380 align:start position:0%
these protocols have a much lower
 

00:01:54.380 --> 00:01:56.649 align:start position:0%
these protocols have a much lower
overhead<00:01:54.890><c> so</c><00:01:55.759><c> basically</c><00:01:56.090><c> the</c><00:01:56.240><c> thing</c><00:01:56.479><c> that</c><00:01:56.600><c> I'm</c>

00:01:56.649 --> 00:01:56.659 align:start position:0%
overhead so basically the thing that I'm
 

00:01:56.659 --> 00:01:57.670 align:start position:0%
overhead so basically the thing that I'm
gonna<00:01:56.780><c> show</c><00:01:56.840><c> you</c><00:01:56.900><c> today</c><00:01:57.020><c> is</c><00:01:57.170><c> consensus</c>

00:01:57.670 --> 00:01:57.680 align:start position:0%
gonna show you today is consensus
 

00:01:57.680 --> 00:01:58.780 align:start position:0%
gonna show you today is consensus
protocol<00:01:57.979><c> cast</c><00:01:58.340><c> with</c><00:01:58.460><c> a</c><00:01:58.520><c> Friendly</c><00:01:58.729><c> Ghost</c>

00:01:58.780 --> 00:01:58.790 align:start position:0%
protocol cast with a Friendly Ghost
 

00:01:58.790 --> 00:02:00.730 align:start position:0%
protocol cast with a Friendly Ghost
which<00:01:59.450><c> finalized</c><00:02:00.020><c> every</c><00:02:00.290><c> block</c><00:02:00.500><c> with</c>

00:02:00.730 --> 00:02:00.740 align:start position:0%
which finalized every block with
 

00:02:00.740 --> 00:02:02.289 align:start position:0%
which finalized every block with
asynchronous<00:02:01.130><c> Byzantine</c><00:02:01.670><c> fault</c><00:02:01.880><c> tolerant</c>

00:02:02.289 --> 00:02:02.299 align:start position:0%
asynchronous Byzantine fault tolerant
 

00:02:02.299 --> 00:02:04.120 align:start position:0%
asynchronous Byzantine fault tolerant
consensus<00:02:03.079><c> safety</c><00:02:03.350><c> the</c><00:02:03.829><c> way</c><00:02:03.950><c> that</c>

00:02:04.120 --> 00:02:04.130 align:start position:0%
consensus safety the way that
 

00:02:04.130 --> 00:02:06.370 align:start position:0%
consensus safety the way that
traditional<00:02:04.220><c> sense</c><00:02:04.640><c> protocols</c><00:02:05.000><c> do</c><00:02:05.570><c> but</c><00:02:06.259><c> is</c>

00:02:06.370 --> 00:02:06.380 align:start position:0%
traditional sense protocols do but is
 

00:02:06.380 --> 00:02:08.460 align:start position:0%
traditional sense protocols do but is
able<00:02:06.500><c> to</c><00:02:06.619><c> do</c><00:02:06.799><c> this</c><00:02:06.920><c> with</c><00:02:07.159><c> the</c><00:02:07.400><c> overhead</c><00:02:07.820><c> of</c>

00:02:08.460 --> 00:02:08.470 align:start position:0%
able to do this with the overhead of
 

00:02:08.470 --> 00:02:12.910 align:start position:0%
able to do this with the overhead of
proof<00:02:09.470><c> work</c><00:02:09.679><c> law</c><00:02:09.830><c> chains</c><00:02:10.099><c> so</c><00:02:11.650><c> you</c><00:02:12.650><c> know</c><00:02:12.770><c> it</c>

00:02:12.910 --> 00:02:12.920 align:start position:0%
proof work law chains so you know it
 

00:02:12.920 --> 00:02:14.530 align:start position:0%
proof work law chains so you know it
kind<00:02:13.250><c> of</c><00:02:13.280><c> represents</c><00:02:13.819><c> some</c><00:02:14.120><c> of</c><00:02:14.150><c> the</c><00:02:14.239><c> best</c><00:02:14.300><c> of</c>

00:02:14.530 --> 00:02:14.540 align:start position:0%
kind of represents some of the best of
 

00:02:14.540 --> 00:02:15.309 align:start position:0%
kind of represents some of the best of
both<00:02:14.599><c> worlds</c><00:02:14.720><c> right</c>

00:02:15.309 --> 00:02:15.319 align:start position:0%
both worlds right
 

00:02:15.319 --> 00:02:18.130 align:start position:0%
both worlds right
both<00:02:15.409><c> finalize</c><00:02:16.010><c> decisions</c><00:02:16.489><c> and</c><00:02:16.700><c> also</c><00:02:17.390><c> hyper</c>

00:02:18.130 --> 00:02:18.140 align:start position:0%
both finalize decisions and also hyper
 

00:02:18.140 --> 00:02:20.949 align:start position:0%
both finalize decisions and also hyper
low<00:02:18.909><c> network</c><00:02:19.909><c> overhead</c><00:02:20.150><c> and</c><00:02:20.450><c> the</c><00:02:20.659><c> reason</c><00:02:20.870><c> why</c>

00:02:20.949 --> 00:02:20.959 align:start position:0%
low network overhead and the reason why
 

00:02:20.959 --> 00:02:22.030 align:start position:0%
low network overhead and the reason why
this<00:02:21.019><c> is</c><00:02:21.109><c> cool</c><00:02:21.379><c> is</c><00:02:21.500><c> because</c><00:02:21.739><c> it</c><00:02:21.829><c> kind</c><00:02:22.010><c> of</c>

00:02:22.030 --> 00:02:22.040 align:start position:0%
this is cool is because it kind of
 

00:02:22.040 --> 00:02:24.160 align:start position:0%
this is cool is because it kind of
provides<00:02:22.760><c> us</c><00:02:23.030><c> a</c><00:02:23.150><c> unified</c><00:02:23.599><c> way</c><00:02:23.780><c> for</c><00:02:23.989><c> thinking</c>

00:02:24.160 --> 00:02:24.170 align:start position:0%
provides us a unified way for thinking
 

00:02:24.170 --> 00:02:26.170 align:start position:0%
provides us a unified way for thinking
about<00:02:24.230><c> both</c><00:02:24.469><c> of</c><00:02:24.500><c> these</c><00:02:24.709><c> things</c><00:02:24.950><c> so</c><00:02:25.939><c> I'm</c><00:02:26.030><c> gonna</c>

00:02:26.170 --> 00:02:26.180 align:start position:0%
about both of these things so I'm gonna
 

00:02:26.180 --> 00:02:30.099 align:start position:0%
about both of these things so I'm gonna
give<00:02:26.390><c> a</c><00:02:26.780><c> little</c><00:02:27.439><c> overview</c><00:02:28.069><c> of</c><00:02:28.670><c> my</c><00:02:29.659><c> talk</c><00:02:29.689><c> and</c>

00:02:30.099 --> 00:02:30.109 align:start position:0%
give a little overview of my talk and
 

00:02:30.109 --> 00:02:31.599 align:start position:0%
give a little overview of my talk and
then<00:02:30.230><c> I'm</c><00:02:30.290><c> gonna</c><00:02:30.409><c> go</c><00:02:30.560><c> right</c><00:02:30.739><c> into</c><00:02:30.890><c> it</c><00:02:30.980><c> so</c><00:02:31.069><c> the</c>

00:02:31.599 --> 00:02:31.609 align:start position:0%
then I'm gonna go right into it so the
 

00:02:31.609 --> 00:02:33.970 align:start position:0%
then I'm gonna go right into it so the
consensus<00:02:32.390><c> safety</c><00:02:32.629><c> proof</c><00:02:32.870><c> is</c><00:02:33.079><c> this</c><00:02:33.379><c> thing</c>

00:02:33.970 --> 00:02:33.980 align:start position:0%
consensus safety proof is this thing
 

00:02:33.980 --> 00:02:35.679 align:start position:0%
consensus safety proof is this thing
that<00:02:34.010><c> all</c><00:02:34.579><c> of</c><00:02:34.849><c> the</c><00:02:34.909><c> consensus</c><00:02:35.239><c> protocols</c><00:02:35.599><c> that</c>

00:02:35.679 --> 00:02:35.689 align:start position:0%
that all of the consensus protocols that
 

00:02:35.689 --> 00:02:37.000 align:start position:0%
that all of the consensus protocols that
are<00:02:35.750><c> correct</c><00:02:36.170><c> by</c><00:02:36.319><c> construction</c><00:02:36.620><c> process</c>

00:02:37.000 --> 00:02:37.010 align:start position:0%
are correct by construction process
 

00:02:37.010 --> 00:02:41.589 align:start position:0%
are correct by construction process
satisfying<00:02:38.140><c> and</c><00:02:39.140><c> then</c><00:02:40.090><c> I'm</c><00:02:41.090><c> gonna</c><00:02:41.269><c> specify</c>

00:02:41.589 --> 00:02:41.599 align:start position:0%
satisfying and then I'm gonna specify
 

00:02:41.599 --> 00:02:44.440 align:start position:0%
satisfying and then I'm gonna specify
some<00:02:42.319><c> of</c><00:02:42.409><c> these</c><00:02:42.470><c> things</c><00:02:43.090><c> and</c><00:02:44.090><c> then</c><00:02:44.269><c> I'm</c><00:02:44.329><c> gonna</c>

00:02:44.440 --> 00:02:44.450 align:start position:0%
some of these things and then I'm gonna
 

00:02:44.450 --> 00:02:47.110 align:start position:0%
some of these things and then I'm gonna
talk<00:02:44.629><c> about</c><00:02:45.370><c> maybe</c><00:02:46.370><c> live</c><00:02:46.609><c> this</c><00:02:46.730><c> a</c><00:02:46.790><c> little</c><00:02:46.939><c> bit</c>

00:02:47.110 --> 00:02:47.120 align:start position:0%
talk about maybe live this a little bit
 

00:02:47.120 --> 00:02:48.580 align:start position:0%
talk about maybe live this a little bit
and<00:02:47.239><c> then</c><00:02:47.420><c> give</c><00:02:47.629><c> some</c><00:02:47.659><c> experimental</c>

00:02:48.580 --> 00:02:48.590 align:start position:0%
and then give some experimental
 

00:02:48.590 --> 00:02:50.170 align:start position:0%
and then give some experimental
observations<00:02:49.159><c> where</c><00:02:49.489><c> we're</c><00:02:49.579><c> gonna</c><00:02:49.639><c> see</c><00:02:49.970><c> this</c>

00:02:50.170 --> 00:02:50.180 align:start position:0%
observations where we're gonna see this
 

00:02:50.180 --> 00:02:51.339 align:start position:0%
observations where we're gonna see this
kind<00:02:50.389><c> of</c><00:02:50.420><c> network</c><00:02:50.629><c> efficiency</c><00:02:50.930><c> that</c><00:02:51.230><c> I'm</c>

00:02:51.339 --> 00:02:51.349 align:start position:0%
kind of network efficiency that I'm
 

00:02:51.349 --> 00:02:53.949 align:start position:0%
kind of network efficiency that I'm
talking<00:02:51.500><c> about</c><00:02:52.299><c> so</c><00:02:53.299><c> let's</c><00:02:53.480><c> get</c><00:02:53.569><c> started</c><00:02:53.900><c> so</c>

00:02:53.949 --> 00:02:53.959 align:start position:0%
talking about so let's get started so
 

00:02:53.959 --> 00:02:56.949 align:start position:0%
talking about so let's get started so
the<00:02:54.409><c> consensus</c><00:02:54.829><c> safety</c><00:02:55.069><c> proof</c><00:02:55.340><c> is</c><00:02:55.959><c> probably</c>

00:02:56.949 --> 00:02:56.959 align:start position:0%
the consensus safety proof is probably
 

00:02:56.959 --> 00:02:58.000 align:start position:0%
the consensus safety proof is probably
the<00:02:57.079><c> most</c><00:02:57.200><c> important</c><00:02:57.620><c> thing</c><00:02:57.769><c> that</c><00:02:57.799><c> you</c>

00:02:58.000 --> 00:02:58.010 align:start position:0%
the most important thing that you
 

00:02:58.010 --> 00:03:01.059 align:start position:0%
the most important thing that you
understand<00:02:58.430><c> in</c><00:02:58.669><c> order</c><00:02:59.090><c> to</c><00:02:59.439><c> grab</c><00:03:00.439><c> grok</c><00:03:00.859><c> this</c>

00:03:01.059 --> 00:03:01.069 align:start position:0%
understand in order to grab grok this
 

00:03:01.069 --> 00:03:04.000 align:start position:0%
understand in order to grab grok this
whole<00:03:01.250><c> process</c><00:03:01.519><c> so</c><00:03:02.530><c> we</c><00:03:03.530><c> need</c><00:03:03.680><c> a</c><00:03:03.709><c> few</c><00:03:03.950><c> things</c>

00:03:04.000 --> 00:03:04.010 align:start position:0%
whole process so we need a few things
 

00:03:04.010 --> 00:03:05.649 align:start position:0%
whole process so we need a few things
for<00:03:04.879><c> this</c><00:03:05.000><c> thing</c><00:03:05.090><c> to</c><00:03:05.150><c> be</c><00:03:05.239><c> fine</c><00:03:05.389><c> we</c><00:03:05.510><c> have</c>

00:03:05.649 --> 00:03:05.659 align:start position:0%
for this thing to be fine we have
 

00:03:05.659 --> 00:03:08.339 align:start position:0%
for this thing to be fine we have
protocol<00:03:06.169><c> States</c><00:03:06.349><c> and</c><00:03:06.790><c> state</c><00:03:07.790><c> transitions</c>

00:03:08.339 --> 00:03:08.349 align:start position:0%
protocol States and state transitions
 

00:03:08.349 --> 00:03:10.960 align:start position:0%
protocol States and state transitions
and<00:03:09.349><c> we</c><00:03:09.560><c> have</c><00:03:09.680><c> an</c><00:03:09.769><c> estimator</c><00:03:10.159><c> and</c><00:03:10.430><c> this</c><00:03:10.849><c> thing</c>

00:03:10.960 --> 00:03:10.970 align:start position:0%
and we have an estimator and this thing
 

00:03:10.970 --> 00:03:11.890 align:start position:0%
and we have an estimator and this thing
called<00:03:11.090><c> ask</c><00:03:11.209><c> me</c><00:03:11.299><c> safe</c><00:03:11.450><c> team</c><00:03:11.599><c> you</c><00:03:11.689><c> can</c><00:03:11.780><c> find</c>

00:03:11.890 --> 00:03:11.900 align:start position:0%
called ask me safe team you can find
 

00:03:11.900 --> 00:03:13.300 align:start position:0%
called ask me safe team you can find
them<00:03:11.989><c> in</c><00:03:12.049><c> a</c><00:03:12.079><c> second</c><00:03:12.319><c> and</c><00:03:12.500><c> then</c><00:03:13.040><c> we</c><00:03:13.099><c> have</c><00:03:13.220><c> this</c>

00:03:13.300 --> 00:03:13.310 align:start position:0%
them in a second and then we have this
 

00:03:13.310 --> 00:03:16.809 align:start position:0%
them in a second and then we have this
Theron<00:03:13.970><c> this</c><00:03:14.060><c> result</c><00:03:14.329><c> that</c><00:03:14.569><c> if</c><00:03:14.689><c> nodes</c><00:03:15.079><c> have</c><00:03:16.010><c> a</c>

00:03:16.809 --> 00:03:16.819 align:start position:0%
Theron this result that if nodes have a
 

00:03:16.819 --> 00:03:19.990 align:start position:0%
Theron this result that if nodes have a
common<00:03:17.659><c> future</c><00:03:18.109><c> state</c><00:03:18.500><c> in</c><00:03:18.739><c> the</c><00:03:18.919><c> protocol</c><00:03:19.250><c> then</c>

00:03:19.990 --> 00:03:20.000 align:start position:0%
common future state in the protocol then
 

00:03:20.000 --> 00:03:20.949 align:start position:0%
common future state in the protocol then
they<00:03:20.150><c> have</c><00:03:20.299><c> because</c><00:03:20.510><c> then</c><00:03:20.780><c> they</c><00:03:20.930><c> have</c>

00:03:20.949 --> 00:03:20.959 align:start position:0%
they have because then they have
 

00:03:20.959 --> 00:03:22.960 align:start position:0%
they have because then they have
consensus<00:03:21.560><c> safety</c><00:03:21.859><c> on</c><00:03:22.010><c> decisions</c><00:03:22.760><c> that</c><00:03:22.819><c> are</c>

00:03:22.960 --> 00:03:22.970 align:start position:0%
consensus safety on decisions that are
 

00:03:22.970 --> 00:03:24.969 align:start position:0%
consensus safety on decisions that are
that<00:03:23.389><c> have</c><00:03:23.449><c> estimate</c><00:03:24.019><c> safety</c><00:03:24.319><c> so</c><00:03:24.500><c> if</c><00:03:24.590><c> I</c><00:03:24.650><c> decide</c>

00:03:24.969 --> 00:03:24.979 align:start position:0%
that have estimate safety so if I decide
 

00:03:24.979 --> 00:03:26.289 align:start position:0%
that have estimate safety so if I decide
on<00:03:25.010><c> something</c><00:03:25.400><c> with</c><00:03:25.489><c> estimate</c><00:03:25.790><c> safety</c><00:03:26.090><c> then</c>

00:03:26.289 --> 00:03:26.299 align:start position:0%
on something with estimate safety then
 

00:03:26.299 --> 00:03:27.610 align:start position:0%
on something with estimate safety then
I'm<00:03:26.389><c> gonna</c><00:03:26.479><c> get</c><00:03:26.629><c> consensus</c><00:03:27.079><c> safety</c><00:03:27.290><c> for</c><00:03:27.440><c> free</c>

00:03:27.610 --> 00:03:27.620 align:start position:0%
I'm gonna get consensus safety for free
 

00:03:27.620 --> 00:03:29.229 align:start position:0%
I'm gonna get consensus safety for free
if<00:03:27.919><c> we</c><00:03:28.489><c> have</c><00:03:28.609><c> a</c><00:03:28.639><c> common</c><00:03:28.940><c> future</c>

00:03:29.229 --> 00:03:29.239 align:start position:0%
if we have a common future
 

00:03:29.239 --> 00:03:35.080 align:start position:0%
if we have a common future
and<00:03:29.479><c> so</c><00:03:30.349><c> basically</c><00:03:33.190><c> protocol</c><00:03:34.190><c> states</c><00:03:34.459><c> are</c>

00:03:35.080 --> 00:03:35.090 align:start position:0%
and so basically protocol states are
 

00:03:35.090 --> 00:03:36.399 align:start position:0%
and so basically protocol states are
just<00:03:35.329><c> like</c><00:03:35.449><c> things</c><00:03:35.750><c> in</c><00:03:35.959><c> a</c><00:03:36.049><c> group</c><00:03:36.229><c> and</c>

00:03:36.399 --> 00:03:36.409 align:start position:0%
just like things in a group and
 

00:03:36.409 --> 00:03:37.750 align:start position:0%
just like things in a group and
purchased<00:03:36.859><c> a</c><00:03:36.919><c> transitions</c><00:03:37.310><c> are</c><00:03:37.549><c> kind</c><00:03:37.729><c> of</c>

00:03:37.750 --> 00:03:37.760 align:start position:0%
purchased a transitions are kind of
 

00:03:37.760 --> 00:03:39.789 align:start position:0%
purchased a transitions are kind of
paths<00:03:37.970><c> between</c><00:03:38.359><c> them</c><00:03:38.510><c> right</c><00:03:38.720><c> an</c><00:03:38.989><c> estimator</c>

00:03:39.789 --> 00:03:39.799 align:start position:0%
paths between them right an estimator
 

00:03:39.799 --> 00:03:41.140 align:start position:0%
paths between them right an estimator
takes<00:03:40.069><c> these</c><00:03:40.220><c> protocol</c><00:03:40.549><c> states</c><00:03:40.729><c> and</c><00:03:40.940><c> maps</c>

00:03:41.140 --> 00:03:41.150 align:start position:0%
takes these protocol states and maps
 

00:03:41.150 --> 00:03:42.789 align:start position:0%
takes these protocol states and maps
them<00:03:41.359><c> to</c><00:03:41.510><c> in</c><00:03:41.690><c> the</c><00:03:41.750><c> binary</c><00:03:41.930><c> consensus</c><00:03:42.379><c> like</c><00:03:42.500><c> a</c><00:03:42.530><c> 0</c>

00:03:42.789 --> 00:03:42.799 align:start position:0%
them to in the binary consensus like a 0
 

00:03:42.799 --> 00:03:44.800 align:start position:0%
them to in the binary consensus like a 0
or<00:03:42.829><c> 1</c><00:03:42.919><c> and</c><00:03:43.280><c> the</c><00:03:43.549><c> blockchain</c><00:03:43.760><c> consensus</c><00:03:44.419><c> like</c><00:03:44.780><c> a</c>

00:03:44.800 --> 00:03:44.810 align:start position:0%
or 1 and the blockchain consensus like a
 

00:03:44.810 --> 00:03:46.689 align:start position:0%
or 1 and the blockchain consensus like a
whole<00:03:45.019><c> blockchain</c><00:03:45.409><c> so</c><00:03:45.979><c> it's</c><00:03:46.190><c> kind</c><00:03:46.370><c> of</c><00:03:46.400><c> our</c>

00:03:46.689 --> 00:03:46.699 align:start position:0%
whole blockchain so it's kind of our
 

00:03:46.699 --> 00:03:48.699 align:start position:0%
whole blockchain so it's kind of our
fork<00:03:47.090><c> choice</c><00:03:47.299><c> rule</c><00:03:47.629><c> mechanic</c><00:03:48.229><c> right</c><00:03:48.409><c> a</c><00:03:48.470><c> little</c>

00:03:48.699 --> 00:03:48.709 align:start position:0%
fork choice rule mechanic right a little
 

00:03:48.709 --> 00:03:50.349 align:start position:0%
fork choice rule mechanic right a little
guess<00:03:48.889><c> and</c><00:03:49.370><c> estimator</c><00:03:49.699><c> is</c><00:03:49.760><c> not</c><00:03:49.879><c> a</c><00:03:49.909><c> decision</c><00:03:50.239><c> it</c>

00:03:50.349 --> 00:03:50.359 align:start position:0%
guess and estimator is not a decision it
 

00:03:50.359 --> 00:04:04.630 align:start position:0%
guess and estimator is not a decision it
just<00:03:50.389><c> guesses</c><00:03:56.949><c> looks</c><00:03:57.949><c> like</c><00:03:58.040><c> we</c><00:03:58.129><c> have</c>

00:04:04.630 --> 00:04:04.640 align:start position:0%
 
 

00:04:04.640 --> 00:04:07.459 align:start position:0%
 
so<00:04:05.640><c> an</c><00:04:05.819><c> estimate</c><00:04:06.090><c> is</c><00:04:06.180><c> safe</c><00:04:06.420><c> basically</c><00:04:07.170><c> if</c><00:04:07.319><c> the</c>

00:04:07.459 --> 00:04:07.469 align:start position:0%
so an estimate is safe basically if the
 

00:04:07.469 --> 00:04:11.149 align:start position:0%
so an estimate is safe basically if the
estimator<00:04:08.209><c> for</c><00:04:09.209><c> all</c><00:04:09.420><c> future</c><00:04:10.290><c> possible</c>

00:04:11.149 --> 00:04:11.159 align:start position:0%
estimator for all future possible
 

00:04:11.159 --> 00:04:13.099 align:start position:0%
estimator for all future possible
protocol<00:04:11.549><c> states</c><00:04:11.819><c> that</c><00:04:12.390><c> can</c><00:04:12.510><c> be</c><00:04:12.629><c> access</c><00:04:13.079><c> from</c>

00:04:13.099 --> 00:04:13.109 align:start position:0%
protocol states that can be access from
 

00:04:13.109 --> 00:04:15.949 align:start position:0%
protocol states that can be access from
that<00:04:13.230><c> from</c><00:04:13.590><c> that</c><00:04:13.620><c> state</c><00:04:14.090><c> the</c><00:04:15.090><c> the</c><00:04:15.569><c> estimator</c>

00:04:15.949 --> 00:04:15.959 align:start position:0%
that from that state the the estimator
 

00:04:15.959 --> 00:04:18.020 align:start position:0%
that from that state the the estimator
returns<00:04:16.470><c> this</c><00:04:16.590><c> returns</c><00:04:17.070><c> a</c><00:04:17.130><c> value</c><00:04:17.250><c> like</c><00:04:17.549><c> 1</c><00:04:17.759><c> or</c>

00:04:18.020 --> 00:04:18.030 align:start position:0%
returns this returns a value like 1 or
 

00:04:18.030 --> 00:04:24.140 align:start position:0%
returns this returns a value like 1 or
has<00:04:18.449><c> a</c><00:04:18.479><c> blockchain</c><00:04:18.810><c> that</c><00:04:19.199><c> also</c><00:04:20.190><c> is</c><00:04:22.639><c> that</c><00:04:23.639><c> that</c>

00:04:24.140 --> 00:04:24.150 align:start position:0%
has a blockchain that also is that that
 

00:04:24.150 --> 00:04:25.999 align:start position:0%
has a blockchain that also is that that
will<00:04:24.300><c> always</c><00:04:24.509><c> have</c><00:04:24.900><c> that</c><00:04:25.259><c> block</c><00:04:25.560><c> in</c><00:04:25.740><c> the</c><00:04:25.800><c> chain</c>

00:04:25.999 --> 00:04:26.009 align:start position:0%
will always have that block in the chain
 

00:04:26.009 --> 00:04:27.499 align:start position:0%
will always have that block in the chain
so<00:04:26.280><c> block</c><00:04:26.550><c> is</c><00:04:26.699><c> safe</c><00:04:26.880><c> if</c><00:04:27.090><c> all</c><00:04:27.300><c> future</c>

00:04:27.499 --> 00:04:27.509 align:start position:0%
so block is safe if all future
 

00:04:27.509 --> 00:04:29.689 align:start position:0%
so block is safe if all future
blockchain<00:04:27.990><c> Fork</c><00:04:28.410><c> choice</c><00:04:28.590><c> rules</c><00:04:28.889><c> for</c><00:04:29.310><c> choices</c>

00:04:29.689 --> 00:04:29.699 align:start position:0%
blockchain Fork choice rules for choices
 

00:04:29.699 --> 00:04:31.219 align:start position:0%
blockchain Fork choice rules for choices
have<00:04:30.150><c> that</c><00:04:30.330><c> block</c><00:04:30.479><c> in</c><00:04:30.600><c> the</c><00:04:30.660><c> chain</c><00:04:30.840><c> and</c><00:04:30.990><c> a</c><00:04:31.080><c> bit</c>

00:04:31.219 --> 00:04:31.229 align:start position:0%
have that block in the chain and a bit
 

00:04:31.229 --> 00:04:32.900 align:start position:0%
have that block in the chain and a bit
is<00:04:31.350><c> safe</c><00:04:31.500><c> if</c><00:04:31.710><c> all</c><00:04:31.949><c> future</c><00:04:32.250><c> estimators</c><00:04:32.729><c> have</c>

00:04:32.900 --> 00:04:32.910 align:start position:0%
is safe if all future estimators have
 

00:04:32.910 --> 00:04:37.400 align:start position:0%
is safe if all future estimators have
that<00:04:33.030><c> bit</c><00:04:34.520><c> so</c><00:04:35.520><c> if</c><00:04:35.940><c> two</c><00:04:36.270><c> estimates</c><00:04:36.720><c> are</c><00:04:37.110><c> safe</c><00:04:37.259><c> at</c>

00:04:37.400 --> 00:04:37.410 align:start position:0%
that bit so if two estimates are safe at
 

00:04:37.410 --> 00:04:39.650 align:start position:0%
that bit so if two estimates are safe at
two<00:04:37.560><c> States</c><00:04:37.860><c> and</c><00:04:38.099><c> those</c><00:04:38.639><c> states</c><00:04:39.000><c> have</c><00:04:39.210><c> a</c><00:04:39.270><c> state</c>

00:04:39.650 --> 00:04:39.660 align:start position:0%
two States and those states have a state
 

00:04:39.660 --> 00:04:42.589 align:start position:0%
two States and those states have a state
in<00:04:39.750><c> common</c><00:04:40.110><c> then</c><00:04:40.889><c> because</c><00:04:41.610><c> those</c><00:04:41.910><c> things</c><00:04:42.449><c> are</c>

00:04:42.589 --> 00:04:42.599 align:start position:0%
in common then because those things are
 

00:04:42.599 --> 00:04:44.689 align:start position:0%
in common then because those things are
the<00:04:43.410><c> estimates</c><00:04:43.650><c> hold</c><00:04:43.860><c> for</c><00:04:44.039><c> all</c><00:04:44.130><c> future</c><00:04:44.460><c> states</c>

00:04:44.689 --> 00:04:44.699 align:start position:0%
the estimates hold for all future states
 

00:04:44.699 --> 00:04:46.850 align:start position:0%
the estimates hold for all future states
and<00:04:44.970><c> they</c><00:04:45.270><c> have</c><00:04:45.389><c> one</c><00:04:45.539><c> in</c><00:04:45.630><c> common</c><00:04:45.960><c> they'll</c><00:04:46.620><c> both</c>

00:04:46.850 --> 00:04:46.860 align:start position:0%
and they have one in common they'll both
 

00:04:46.860 --> 00:04:49.580 align:start position:0%
and they have one in common they'll both
hold<00:04:47.190><c> from</c><00:04:47.820><c> in</c><00:04:48.240><c> that</c><00:04:48.720><c> one</c><00:04:48.990><c> state</c><00:04:49.380><c> that</c><00:04:49.530><c> they</c>

00:04:49.580 --> 00:04:49.590 align:start position:0%
hold from in that one state that they
 

00:04:49.590 --> 00:04:50.150 align:start position:0%
hold from in that one state that they
have<00:04:49.710><c> in</c><00:04:49.800><c> common</c>

00:04:50.150 --> 00:04:50.160 align:start position:0%
have in common
 

00:04:50.160 --> 00:04:51.350 align:start position:0%
have in common
and<00:04:50.250><c> that</c><00:04:50.880><c> means</c><00:04:51.000><c> they</c><00:04:51.120><c> have</c><00:04:51.240><c> to</c><00:04:51.300><c> be</c>

00:04:51.350 --> 00:04:51.360 align:start position:0%
and that means they have to be
 

00:04:51.360 --> 00:04:53.120 align:start position:0%
and that means they have to be
consistent<00:04:51.870><c> because</c><00:04:52.139><c> you</c><00:04:52.410><c> can't</c><00:04:52.560><c> have</c><00:04:52.710><c> you</c>

00:04:53.120 --> 00:04:53.130 align:start position:0%
consistent because you can't have you
 

00:04:53.130 --> 00:04:55.400 align:start position:0%
consistent because you can't have you
know<00:04:53.220><c> the</c><00:04:53.580><c> block</c><00:04:53.849><c> be</c><00:04:54.270><c> in</c><00:04:54.479><c> the</c><00:04:54.660><c> fork</c><00:04:54.870><c> and</c><00:04:55.020><c> not</c><00:04:55.199><c> at</c>

00:04:55.400 --> 00:04:55.410 align:start position:0%
know the block be in the fork and not at
 

00:04:55.410 --> 00:04:59.689 align:start position:0%
know the block be in the fork and not at
the<00:04:55.440><c> same</c><00:04:55.680><c> at</c><00:04:55.889><c> the</c><00:04:55.949><c> same</c><00:04:56.190><c> thing</c><00:04:56.400><c> so</c><00:04:57.860><c> in</c><00:04:58.860><c> that</c>

00:04:59.689 --> 00:04:59.699 align:start position:0%
the same at the same thing so in that
 

00:04:59.699 --> 00:05:00.860 align:start position:0%
the same at the same thing so in that
was<00:04:59.820><c> come</c><00:04:59.940><c> the</c><00:04:59.970><c> first</c><00:05:00.300><c> part</c><00:05:00.539><c> of</c><00:05:00.570><c> the</c><00:05:00.660><c> proof</c>

00:05:00.860 --> 00:05:00.870 align:start position:0%
was come the first part of the proof
 

00:05:00.870 --> 00:05:02.659 align:start position:0%
was come the first part of the proof
basically<00:05:01.259><c> it</c><00:05:01.349><c> says</c><00:05:01.470><c> if</c><00:05:01.500><c> noes</c><00:05:02.130><c> have</c><00:05:02.310><c> a</c><00:05:02.400><c> common</c>

00:05:02.659 --> 00:05:02.669 align:start position:0%
basically it says if noes have a common
 

00:05:02.669 --> 00:05:04.159 align:start position:0%
basically it says if noes have a common
feature<00:05:02.820><c> then</c><00:05:03.330><c> they</c><00:05:03.419><c> have</c><00:05:03.539><c> consensus</c><00:05:03.930><c> safety</c>

00:05:04.159 --> 00:05:04.169 align:start position:0%
feature then they have consensus safety
 

00:05:04.169 --> 00:05:06.260 align:start position:0%
feature then they have consensus safety
the<00:05:04.830><c> next</c><00:05:05.099><c> part</c><00:05:05.310><c> basically</c><00:05:05.880><c> is</c><00:05:06.060><c> a</c>

00:05:06.260 --> 00:05:06.270 align:start position:0%
the next part basically is a
 

00:05:06.270 --> 00:05:07.760 align:start position:0%
the next part basically is a
construction<00:05:06.690><c> to</c><00:05:06.930><c> make</c><00:05:06.960><c> sure</c><00:05:07.320><c> that</c><00:05:07.590><c> they</c><00:05:07.650><c> will</c>

00:05:07.760 --> 00:05:07.770 align:start position:0%
construction to make sure that they will
 

00:05:07.770 --> 00:05:09.020 align:start position:0%
construction to make sure that they will
have<00:05:07.919><c> a</c><00:05:07.949><c> common</c><00:05:08.220><c> future</c><00:05:08.370><c> unless</c><00:05:08.699><c> there's</c><00:05:08.909><c> more</c>

00:05:09.020 --> 00:05:09.030 align:start position:0%
have a common future unless there's more
 

00:05:09.030 --> 00:05:10.310 align:start position:0%
have a common future unless there's more
than<00:05:09.180><c> some</c><00:05:09.300><c> number</c><00:05:09.330><c> of</c><00:05:09.570><c> visit</c><00:05:09.780><c> defaults</c><00:05:10.169><c> and</c>

00:05:10.310 --> 00:05:10.320 align:start position:0%
than some number of visit defaults and
 

00:05:10.320 --> 00:05:11.689 align:start position:0%
than some number of visit defaults and
the<00:05:10.770><c> way</c><00:05:10.860><c> this</c><00:05:10.949><c> works</c><00:05:11.159><c> is</c><00:05:11.280><c> basically</c><00:05:11.520><c> have</c>

00:05:11.689 --> 00:05:11.699 align:start position:0%
the way this works is basically have
 

00:05:11.699 --> 00:05:14.060 align:start position:0%
the way this works is basically have
protocol<00:05:12.120><c> states</c><00:05:12.389><c> which</c><00:05:12.570><c> are</c><00:05:12.690><c> messages</c><00:05:13.169><c> we</c>

00:05:14.060 --> 00:05:14.070 align:start position:0%
protocol states which are messages we
 

00:05:14.070 --> 00:05:15.770 align:start position:0%
protocol states which are messages we
have<00:05:14.250><c> state</c><00:05:14.580><c> transitions</c><00:05:15.000><c> which</c><00:05:15.150><c> corresponds</c>

00:05:15.770 --> 00:05:15.780 align:start position:0%
have state transitions which corresponds
 

00:05:15.780 --> 00:05:18.080 align:start position:0%
have state transitions which corresponds
to<00:05:15.840><c> receiving</c><00:05:16.680><c> messages</c><00:05:16.800><c> or</c><00:05:17.159><c> increasing</c><00:05:18.060><c> your</c>

00:05:18.080 --> 00:05:18.090 align:start position:0%
to receiving messages or increasing your
 

00:05:18.090 --> 00:05:19.939 align:start position:0%
to receiving messages or increasing your
the<00:05:18.510><c> saw</c><00:05:18.690><c> like</c><00:05:18.870><c> you</c><00:05:18.990><c> know</c><00:05:19.139><c> going</c><00:05:19.530><c> to</c><00:05:19.650><c> super</c>

00:05:19.939 --> 00:05:19.949 align:start position:0%
the saw like you know going to super
 

00:05:19.949 --> 00:05:22.430 align:start position:0%
the saw like you know going to super
sets<00:05:20.130><c> of</c><00:05:20.550><c> protocol</c><00:05:20.880><c> messages</c><00:05:21.229><c> and</c><00:05:22.229><c> if</c><00:05:22.349><c> we</c>

00:05:22.430 --> 00:05:22.440 align:start position:0%
sets of protocol messages and if we
 

00:05:22.440 --> 00:05:24.469 align:start position:0%
sets of protocol messages and if we
count<00:05:22.590><c> Byzantine</c><00:05:23.010><c> faults</c><00:05:23.310><c> and</c><00:05:23.520><c> exclude</c><00:05:24.270><c> the</c>

00:05:24.469 --> 00:05:24.479 align:start position:0%
count Byzantine faults and exclude the
 

00:05:24.479 --> 00:05:25.909 align:start position:0%
count Byzantine faults and exclude the
sets<00:05:24.659><c> of</c><00:05:24.720><c> messages</c><00:05:24.870><c> I</c><00:05:25.169><c> have</c><00:05:25.199><c> too</c><00:05:25.440><c> many</c><00:05:25.530><c> faults</c>

00:05:25.909 --> 00:05:25.919 align:start position:0%
sets of messages I have too many faults
 

00:05:25.919 --> 00:05:30.409 align:start position:0%
sets of messages I have too many faults
then<00:05:26.820><c> we</c><00:05:27.479><c> can</c><00:05:29.030><c> guarantee</c><00:05:30.030><c> that</c><00:05:30.060><c> they</c><00:05:30.270><c> have</c><00:05:30.389><c> a</c>

00:05:30.409 --> 00:05:30.419 align:start position:0%
then we can guarantee that they have a
 

00:05:30.419 --> 00:05:31.550 align:start position:0%
then we can guarantee that they have a
common<00:05:30.570><c> future</c><00:05:30.810><c> is</c><00:05:30.990><c> unless</c><00:05:31.229><c> there's</c><00:05:31.409><c> that</c>

00:05:31.550 --> 00:05:31.560 align:start position:0%
common future is unless there's that
 

00:05:31.560 --> 00:05:33.409 align:start position:0%
common future is unless there's that
number<00:05:31.770><c> of</c><00:05:31.860><c> faults</c><00:05:32.099><c> basically</c><00:05:32.669><c> because</c><00:05:32.940><c> first</c>

00:05:33.409 --> 00:05:33.419 align:start position:0%
number of faults basically because first
 

00:05:33.419 --> 00:05:34.730 align:start position:0%
number of faults basically because first
we<00:05:33.599><c> allow</c><00:05:33.780><c> all</c><00:05:34.050><c> of</c><00:05:34.169><c> them</c><00:05:34.289><c> to</c><00:05:34.409><c> have</c><00:05:34.500><c> a</c><00:05:34.530><c> common</c>

00:05:34.730 --> 00:05:34.740 align:start position:0%
we allow all of them to have a common
 

00:05:34.740 --> 00:05:37.040 align:start position:0%
we allow all of them to have a common
feature<00:05:34.860><c> no</c><00:05:35.009><c> matter</c><00:05:35.159><c> what</c><00:05:35.419><c> then</c><00:05:36.419><c> we</c><00:05:36.690><c> remove</c>

00:05:37.040 --> 00:05:37.050 align:start position:0%
feature no matter what then we remove
 

00:05:37.050 --> 00:05:38.510 align:start position:0%
feature no matter what then we remove
the<00:05:37.080><c> states</c><00:05:37.470><c> that</c><00:05:37.650><c> have</c><00:05:37.800><c> too</c><00:05:38.009><c> many</c><00:05:38.099><c> visiting</c>

00:05:38.510 --> 00:05:38.520 align:start position:0%
the states that have too many visiting
 

00:05:38.520 --> 00:05:41.600 align:start position:0%
the states that have too many visiting
faults<00:05:38.789><c> and</c><00:05:39.349><c> so</c><00:05:40.349><c> two</c><00:05:41.039><c> states</c><00:05:41.310><c> will</c><00:05:41.460><c> have</c><00:05:41.490><c> a</c>

00:05:41.600 --> 00:05:41.610 align:start position:0%
faults and so two states will have a
 

00:05:41.610 --> 00:05:42.710 align:start position:0%
faults and so two states will have a
common<00:05:41.849><c> future</c><00:05:42.000><c> unless</c><00:05:42.180><c> there's</c><00:05:42.570><c> too</c><00:05:42.659><c> many</c>

00:05:42.710 --> 00:05:42.720 align:start position:0%
common future unless there's too many
 

00:05:42.720 --> 00:05:44.629 align:start position:0%
common future unless there's too many
Byzantine<00:05:43.110><c> faults</c><00:05:43.320><c> and</c><00:05:43.530><c> that</c><00:05:43.919><c> gives</c><00:05:44.250><c> us</c><00:05:44.370><c> kind</c>

00:05:44.629 --> 00:05:44.639 align:start position:0%
Byzantine faults and that gives us kind
 

00:05:44.639 --> 00:05:47.210 align:start position:0%
Byzantine faults and that gives us kind
of<00:05:44.669><c> our</c><00:05:44.789><c> key</c><00:05:45.419><c> result</c><00:05:45.750><c> here</c><00:05:45.960><c> which</c><00:05:46.650><c> is</c><00:05:46.800><c> that</c><00:05:47.009><c> as</c>

00:05:47.210 --> 00:05:47.220 align:start position:0%
of our key result here which is that as
 

00:05:47.220 --> 00:05:49.129 align:start position:0%
of our key result here which is that as
long<00:05:47.909><c> as</c><00:05:47.940><c> there's</c><00:05:48.270><c> not</c><00:05:48.479><c> too</c><00:05:48.690><c> many</c><00:05:48.780><c> Byzantine</c>

00:05:49.129 --> 00:05:49.139 align:start position:0%
long as there's not too many Byzantine
 

00:05:49.139 --> 00:05:50.560 align:start position:0%
long as there's not too many Byzantine
fault<00:05:49.320><c> so</c><00:05:49.440><c> they</c><00:05:49.530><c> have</c><00:05:49.650><c> a</c><00:05:49.680><c> common</c><00:05:49.979><c> future</c><00:05:50.099><c> and</c>

00:05:50.560 --> 00:05:50.570 align:start position:0%
fault so they have a common future and
 

00:05:50.570 --> 00:05:52.460 align:start position:0%
fault so they have a common future and
if<00:05:51.570><c> a</c><00:05:51.630><c> common</c><00:05:51.960><c> future</c><00:05:52.050><c> then</c><00:05:52.289><c> they</c><00:05:52.349><c> have</c>

00:05:52.460 --> 00:05:52.470 align:start position:0%
if a common future then they have
 

00:05:52.470 --> 00:05:54.260 align:start position:0%
if a common future then they have
consensus<00:05:52.860><c> safety</c><00:05:53.130><c> and</c><00:05:53.400><c> so</c><00:05:53.639><c> this</c><00:05:53.759><c> this</c>

00:05:54.260 --> 00:05:54.270 align:start position:0%
consensus safety and so this this
 

00:05:54.270 --> 00:05:55.580 align:start position:0%
consensus safety and so this this
consensus<00:05:54.720><c> safety</c><00:05:54.930><c> proof</c><00:05:55.139><c> basically</c><00:05:55.349><c> says</c>

00:05:55.580 --> 00:05:55.590 align:start position:0%
consensus safety proof basically says
 

00:05:55.590 --> 00:05:56.930 align:start position:0%
consensus safety proof basically says
look<00:05:55.620><c> I've</c><00:05:55.889><c> always</c><00:05:56.039><c> thought</c><00:05:56.310><c> too</c><00:05:56.520><c> many</c>

00:05:56.930 --> 00:05:56.940 align:start position:0%
look I've always thought too many
 

00:05:56.940 --> 00:05:58.490 align:start position:0%
look I've always thought too many
Byzantine<00:05:57.240><c> faults</c><00:05:57.509><c> then</c><00:05:57.990><c> we</c><00:05:58.050><c> have</c><00:05:58.139><c> consensus</c>

00:05:58.490 --> 00:05:58.500 align:start position:0%
Byzantine faults then we have consensus
 

00:05:58.500 --> 00:06:00.170 align:start position:0%
Byzantine faults then we have consensus
safety<00:05:58.740><c> and</c><00:05:58.919><c> the</c><00:05:59.460><c> cool</c><00:05:59.759><c> thing</c><00:05:59.789><c> about</c><00:05:59.940><c> this</c><00:06:00.120><c> is</c>

00:06:00.170 --> 00:06:00.180 align:start position:0%
safety and the cool thing about this is
 

00:06:00.180 --> 00:06:02.210 align:start position:0%
safety and the cool thing about this is
I<00:06:00.330><c> had</c><00:06:00.599><c> I</c><00:06:00.990><c> had</c><00:06:01.139><c> to</c><00:06:01.169><c> say</c><00:06:01.349><c> almost</c><00:06:01.680><c> nothing</c><00:06:02.159><c> about</c>

00:06:02.210 --> 00:06:02.220 align:start position:0%
I had I had to say almost nothing about
 

00:06:02.220 --> 00:06:03.830 align:start position:0%
I had I had to say almost nothing about
the<00:06:02.400><c> consensus</c><00:06:02.729><c> protocol</c><00:06:03.060><c> right</c><00:06:03.210><c> all</c><00:06:03.630><c> I</c><00:06:03.720><c> had</c>

00:06:03.830 --> 00:06:03.840 align:start position:0%
the consensus protocol right all I had
 

00:06:03.840 --> 00:06:07.480 align:start position:0%
the consensus protocol right all I had
to<00:06:03.930><c> do</c><00:06:04.020><c> was</c><00:06:04.169><c> say</c><00:06:04.409><c> it</c><00:06:05.190><c> has</c><00:06:05.310><c> protocol</c><00:06:05.789><c> states</c><00:06:06.030><c> and</c>

00:06:07.480 --> 00:06:07.490 align:start position:0%
to do was say it has protocol states and
 

00:06:07.490 --> 00:06:09.800 align:start position:0%
to do was say it has protocol states and
and<00:06:08.490><c> I</c><00:06:08.729><c> mean</c><00:06:09.030><c> I</c><00:06:09.120><c> said</c><00:06:09.240><c> nothing</c><00:06:09.539><c> about</c><00:06:09.570><c> the</c>

00:06:09.800 --> 00:06:09.810 align:start position:0%
and I mean I said nothing about the
 

00:06:09.810 --> 00:06:12.290 align:start position:0%
and I mean I said nothing about the
nature<00:06:10.199><c> of</c><00:06:10.229><c> the</c><00:06:10.320><c> estimator</c><00:06:10.710><c> right</c><00:06:11.219><c> and</c><00:06:11.460><c> so</c><00:06:12.270><c> now</c>

00:06:12.290 --> 00:06:12.300 align:start position:0%
nature of the estimator right and so now
 

00:06:12.300 --> 00:06:13.550 align:start position:0%
nature of the estimator right and so now
we're<00:06:12.479><c> gonna</c><00:06:12.570><c> kind</c><00:06:12.779><c> of</c><00:06:12.810><c> see</c><00:06:13.020><c> this</c><00:06:13.169><c> we're</c><00:06:13.500><c> gonna</c>

00:06:13.550 --> 00:06:13.560 align:start position:0%
we're gonna kind of see this we're gonna
 

00:06:13.560 --> 00:06:14.690 align:start position:0%
we're gonna kind of see this we're gonna
see<00:06:13.740><c> this</c><00:06:13.830><c> thing</c><00:06:13.950><c> happen</c>

00:06:14.690 --> 00:06:14.700 align:start position:0%
see this thing happen
 

00:06:14.700 --> 00:06:18.350 align:start position:0%
see this thing happen
so<00:06:15.420><c> I'm</c><00:06:15.630><c> going</c><00:06:15.780><c> to</c><00:06:15.810><c> define</c><00:06:16.940><c> protocol</c><00:06:17.940><c> messages</c>

00:06:18.350 --> 00:06:18.360 align:start position:0%
so I'm going to define protocol messages
 

00:06:18.360 --> 00:06:20.420 align:start position:0%
so I'm going to define protocol messages
and<00:06:18.600><c> then</c><00:06:18.870><c> the</c><00:06:18.960><c> estimator</c><00:06:19.380><c> isn't</c><00:06:20.100><c> seen</c><00:06:20.190><c> fault</c>

00:06:20.420 --> 00:06:20.430 align:start position:0%
and then the estimator isn't seen fault
 

00:06:20.430 --> 00:06:22.610 align:start position:0%
and then the estimator isn't seen fault
detection<00:06:20.900><c> States</c><00:06:21.900><c> and</c><00:06:22.080><c> state</c><00:06:22.200><c> transitions</c>

00:06:22.610 --> 00:06:22.620 align:start position:0%
detection States and state transitions
 

00:06:22.620 --> 00:06:24.590 align:start position:0%
detection States and state transitions
and<00:06:22.770><c> then</c><00:06:22.830><c> the</c><00:06:22.980><c> an</c><00:06:23.190><c> estimate</c><00:06:23.670><c> safety</c><00:06:23.940><c> for</c><00:06:24.540><c> the</c>

00:06:24.590 --> 00:06:24.600 align:start position:0%
and then the an estimate safety for the
 

00:06:24.600 --> 00:06:26.210 align:start position:0%
and then the an estimate safety for the
binary<00:06:24.750><c> consensus</c><00:06:25.260><c> and</c><00:06:25.410><c> then</c><00:06:25.740><c> we're</c><00:06:25.860><c> gonna</c><00:06:25.950><c> do</c>

00:06:26.210 --> 00:06:26.220 align:start position:0%
binary consensus and then we're gonna do
 

00:06:26.220 --> 00:06:27.800 align:start position:0%
binary consensus and then we're gonna do
a<00:06:26.250><c> tiny</c><00:06:26.580><c> change</c><00:06:26.940><c> and</c><00:06:27.150><c> generate</c><00:06:27.450><c> the</c><00:06:27.540><c> walk</c><00:06:27.660><c> team</c>

00:06:27.800 --> 00:06:27.810 align:start position:0%
a tiny change and generate the walk team
 

00:06:27.810 --> 00:06:29.030 align:start position:0%
a tiny change and generate the walk team
consensus<00:06:28.140><c> and</c><00:06:28.230><c> a</c><00:06:28.290><c> tiny</c><00:06:28.470><c> change</c><00:06:28.710><c> and</c><00:06:28.980><c> to</c>

00:06:29.030 --> 00:06:29.040 align:start position:0%
consensus and a tiny change and to
 

00:06:29.040 --> 00:06:30.470 align:start position:0%
consensus and a tiny change and to
validate<00:06:29.220><c> rotation</c><00:06:29.730><c> a</c><00:06:29.820><c> tiny</c><00:06:30.030><c> change</c><00:06:30.270><c> and</c>

00:06:30.470 --> 00:06:30.480 align:start position:0%
validate rotation a tiny change and
 

00:06:30.480 --> 00:06:32.690 align:start position:0%
validate rotation a tiny change and
remove<00:06:31.440><c> fault</c><00:06:32.100><c> tolerance</c><00:06:32.190><c> threshold</c><00:06:32.430><c> from</c>

00:06:32.690 --> 00:06:32.700 align:start position:0%
remove fault tolerance threshold from
 

00:06:32.700 --> 00:06:35.390 align:start position:0%
remove fault tolerance threshold from
the<00:06:32.790><c> protocol</c><00:06:33.410><c> and</c><00:06:34.410><c> that'll</c><00:06:35.250><c> kind</c><00:06:35.370><c> of</c>

00:06:35.390 --> 00:06:35.400 align:start position:0%
the protocol and that'll kind of
 

00:06:35.400 --> 00:06:37.460 align:start position:0%
the protocol and that'll kind of
demonstrate<00:06:35.940><c> the</c><00:06:36.300><c> the</c><00:06:36.630><c> the</c><00:06:37.050><c> power</c><00:06:37.290><c> of</c><00:06:37.380><c> the</c>

00:06:37.460 --> 00:06:37.470 align:start position:0%
demonstrate the the the power of the
 

00:06:37.470 --> 00:06:39.290 align:start position:0%
demonstrate the the the power of the
approach<00:06:37.740><c> here</c><00:06:37.950><c> so</c><00:06:38.670><c> for</c><00:06:39.060><c> the</c><00:06:39.150><c> binary</c>

00:06:39.290 --> 00:06:39.300 align:start position:0%
approach here so for the binary
 

00:06:39.300 --> 00:06:41.030 align:start position:0%
approach here so for the binary
consensus<00:06:39.840><c> we</c><00:06:39.990><c> have</c><00:06:40.140><c> protocol</c><00:06:40.470><c> messages</c><00:06:40.890><c> that</c>

00:06:41.030 --> 00:06:41.040 align:start position:0%
consensus we have protocol messages that
 

00:06:41.040 --> 00:06:42.680 align:start position:0%
consensus we have protocol messages that
are<00:06:41.160><c> bits</c><00:06:41.340><c> they</c><00:06:41.850><c> sorry</c><00:06:42.240><c> they</c><00:06:42.360><c> have</c><00:06:42.480><c> three</c>

00:06:42.680 --> 00:06:42.690 align:start position:0%
are bits they sorry they have three
 

00:06:42.690 --> 00:06:45.310 align:start position:0%
are bits they sorry they have three
parts<00:06:42.960><c> a</c><00:06:43.050><c> bit</c><00:06:43.560><c> for</c><00:06:44.250><c> the</c><00:06:44.340><c> for</c><00:06:44.640><c> the</c><00:06:44.760><c> estimate</c>

00:06:45.310 --> 00:06:45.320 align:start position:0%
parts a bit for the for the estimate
 

00:06:45.320 --> 00:06:47.540 align:start position:0%
parts a bit for the for the estimate
sender<00:06:46.320><c> which</c><00:06:46.470><c> is</c><00:06:46.590><c> like</c><00:06:46.710><c> the</c><00:06:46.800><c> node</c><00:06:47.100><c> assented</c>

00:06:47.540 --> 00:06:47.550 align:start position:0%
sender which is like the node assented
 

00:06:47.550 --> 00:06:49.610 align:start position:0%
sender which is like the node assented
and<00:06:47.640><c> a</c><00:06:48.240><c> justification</c><00:06:48.870><c> which</c><00:06:49.020><c> is</c><00:06:49.140><c> a</c><00:06:49.170><c> set</c><00:06:49.530><c> of</c>

00:06:49.610 --> 00:06:49.620 align:start position:0%
and a justification which is a set of
 

00:06:49.620 --> 00:06:54.380 align:start position:0%
and a justification which is a set of
messages<00:06:50.780><c> the</c><00:06:53.300><c> protocol</c><00:06:54.300><c> messages</c>

00:06:54.380 --> 00:06:54.390 align:start position:0%
messages the protocol messages
 

00:06:54.390 --> 00:06:56.480 align:start position:0%
messages the protocol messages
dependency<00:06:54.960><c> of</c><00:06:54.990><c> the</c><00:06:55.140><c> other</c><00:06:55.290><c> if</c><00:06:55.590><c> it's</c><00:06:55.770><c> like</c><00:06:55.950><c> in</c>

00:06:56.480 --> 00:06:56.490 align:start position:0%
dependency of the other if it's like in
 

00:06:56.490 --> 00:06:58.250 align:start position:0%
dependency of the other if it's like in
the<00:06:56.850><c> justification</c><00:06:57.570><c> or</c><00:06:57.840><c> in</c><00:06:58.080><c> those</c>

00:06:58.250 --> 00:06:58.260 align:start position:0%
the justification or in those
 

00:06:58.260 --> 00:06:59.540 align:start position:0%
the justification or in those
justifications<00:06:58.590><c> basically</c><00:06:59.130><c> if</c><00:06:59.190><c> there's</c><00:06:59.340><c> pre</c>

00:06:59.540 --> 00:06:59.550 align:start position:0%
justifications basically if there's pre
 

00:06:59.550 --> 00:07:01.430 align:start position:0%
justifications basically if there's pre
block<00:06:59.790><c> pointers</c><00:07:00.210><c> or</c><00:07:00.360><c> pre</c><00:07:00.720><c> patch</c><00:07:00.900><c> pointers</c><00:07:01.260><c> to</c>

00:07:01.430 --> 00:07:01.440 align:start position:0%
block pointers or pre patch pointers to
 

00:07:01.440 --> 00:07:03.950 align:start position:0%
block pointers or pre patch pointers to
it<00:07:01.590><c> and</c><00:07:01.770><c> then</c><00:07:01.860><c> it's</c><00:07:01.980><c> a</c><00:07:02.010><c> dependency</c><00:07:02.960><c> latest</c>

00:07:03.950 --> 00:07:03.960 align:start position:0%
it and then it's a dependency latest
 

00:07:03.960 --> 00:07:08.030 align:start position:0%
it and then it's a dependency latest
message<00:07:04.380><c> is</c><00:07:04.590><c> one</c><00:07:05.430><c> which</c><00:07:06.260><c> there's</c><00:07:07.260><c> no</c><00:07:07.530><c> there's</c>

00:07:08.030 --> 00:07:08.040 align:start position:0%
message is one which there's no there's
 

00:07:08.040 --> 00:07:09.470 align:start position:0%
message is one which there's no there's
there's<00:07:08.370><c> nothing</c><00:07:08.730><c> earlier</c><00:07:09.030><c> right</c><00:07:09.330><c> so</c>

00:07:09.470 --> 00:07:09.480 align:start position:0%
there's nothing earlier right so
 

00:07:09.480 --> 00:07:12.530 align:start position:0%
there's nothing earlier right so
dependencies<00:07:10.110><c> earlier</c><00:07:11.060><c> if</c><00:07:12.060><c> you're</c><00:07:12.390><c> not</c>

00:07:12.530 --> 00:07:12.540 align:start position:0%
dependencies earlier if you're not
 

00:07:12.540 --> 00:07:14.270 align:start position:0%
dependencies earlier if you're not
depending<00:07:12.900><c> than</c><00:07:13.020><c> later</c><00:07:13.350><c> and</c><00:07:13.620><c> a</c><00:07:13.950><c> latest</c>

00:07:14.270 --> 00:07:14.280 align:start position:0%
depending than later and a latest
 

00:07:14.280 --> 00:07:17.300 align:start position:0%
depending than later and a latest
message<00:07:14.900><c> is</c><00:07:15.900><c> it's</c><00:07:16.230><c> kind</c><00:07:16.590><c> of</c><00:07:16.650><c> extremum</c><00:07:17.130><c> there</c>

00:07:17.300 --> 00:07:17.310 align:start position:0%
message is it's kind of extremum there
 

00:07:17.310 --> 00:07:19.520 align:start position:0%
message is it's kind of extremum there
so<00:07:18.090><c> the</c><00:07:18.480><c> way</c><00:07:18.630><c> that</c><00:07:18.660><c> the</c><00:07:18.900><c> binary</c><00:07:19.080><c> comes</c><00:07:19.380><c> as</c><00:07:19.470><c> this</c>

00:07:19.520 --> 00:07:19.530 align:start position:0%
so the way that the binary comes as this
 

00:07:19.530 --> 00:07:21.110 align:start position:0%
so the way that the binary comes as this
works<00:07:19.770><c> is</c><00:07:19.980><c> you</c><00:07:20.160><c> look</c><00:07:20.370><c> at</c><00:07:20.460><c> all</c><00:07:20.580><c> the</c><00:07:20.730><c> validators</c>

00:07:21.110 --> 00:07:21.120 align:start position:0%
works is you look at all the validators
 

00:07:21.120 --> 00:07:23.060 align:start position:0%
works is you look at all the validators
latest<00:07:21.420><c> messages</c><00:07:21.720><c> if</c><00:07:21.990><c> more</c><00:07:22.650><c> of</c><00:07:22.740><c> them</c><00:07:22.890><c> by</c>

00:07:23.060 --> 00:07:23.070 align:start position:0%
latest messages if more of them by
 

00:07:23.070 --> 00:07:25.280 align:start position:0%
latest messages if more of them by
weight<00:07:23.280><c> have</c><00:07:23.520><c> zero</c><00:07:23.820><c> then</c><00:07:24.450><c> you</c><00:07:24.570><c> pick</c><00:07:24.810><c> zero</c><00:07:25.050><c> and</c>

00:07:25.280 --> 00:07:25.290 align:start position:0%
weight have zero then you pick zero and
 

00:07:25.290 --> 00:07:26.720 align:start position:0%
weight have zero then you pick zero and
if<00:07:25.350><c> more</c><00:07:25.500><c> than</c><00:07:25.530><c> by</c><00:07:25.740><c> weight</c><00:07:25.950><c> have</c><00:07:26.130><c> one</c><00:07:26.370><c> then</c><00:07:26.700><c> you</c>

00:07:26.720 --> 00:07:26.730 align:start position:0%
if more than by weight have one then you
 

00:07:26.730 --> 00:07:27.470 align:start position:0%
if more than by weight have one then you
pick<00:07:26.910><c> zero</c>

00:07:27.470 --> 00:07:27.480 align:start position:0%
pick zero
 

00:07:27.480 --> 00:07:30.680 align:start position:0%
pick zero
they<00:07:27.720><c> pick</c><00:07:27.900><c> one</c><00:07:28.080><c> so</c><00:07:28.410><c> basically</c><00:07:28.680><c> if</c><00:07:29.150><c> this</c><00:07:30.150><c> sort</c>

00:07:30.680 --> 00:07:30.690 align:start position:0%
they pick one so basically if this sort
 

00:07:30.690 --> 00:07:32.570 align:start position:0%
they pick one so basically if this sort
of<00:07:30.720><c> score</c><00:07:31.020><c> of</c><00:07:31.140><c> an</c><00:07:31.260><c> estimate</c><00:07:31.620><c> is</c><00:07:31.830><c> the</c><00:07:32.160><c> sum</c><00:07:32.550><c> of</c>

00:07:32.570 --> 00:07:32.580 align:start position:0%
of score of an estimate is the sum of
 

00:07:32.580 --> 00:07:34.850 align:start position:0%
of score of an estimate is the sum of
the<00:07:32.730><c> validators</c><00:07:33.300><c> who</c><00:07:33.720><c> have</c><00:07:33.900><c> latest</c><00:07:34.380><c> messages</c>

00:07:34.850 --> 00:07:34.860 align:start position:0%
the validators who have latest messages
 

00:07:34.860 --> 00:07:38.840 align:start position:0%
the validators who have latest messages
who<00:07:35.550><c> have</c><00:07:36.270><c> that</c><00:07:36.510><c> estimate</c><00:07:36.900><c> and</c><00:07:37.400><c> if</c><00:07:38.400><c> the</c><00:07:38.580><c> score</c>

00:07:38.840 --> 00:07:38.850 align:start position:0%
who have that estimate and if the score
 

00:07:38.850 --> 00:07:40.460 align:start position:0%
who have that estimate and if the score
on<00:07:39.180><c> zero</c><00:07:39.420><c> is</c><00:07:39.600><c> more</c><00:07:39.720><c> than</c><00:07:39.810><c> sierra</c><00:07:40.020><c> one</c><00:07:40.230><c> the</c>

00:07:40.460 --> 00:07:40.470 align:start position:0%
on zero is more than sierra one the
 

00:07:40.470 --> 00:07:42.200 align:start position:0%
on zero is more than sierra one the
estimator<00:07:40.770><c> returns</c><00:07:41.220><c> zero</c><00:07:41.430><c> otherwise</c><00:07:41.880><c> it</c>

00:07:42.200 --> 00:07:42.210 align:start position:0%
estimator returns zero otherwise it
 

00:07:42.210 --> 00:07:44.570 align:start position:0%
estimator returns zero otherwise it
returns<00:07:42.330><c> one</c><00:07:42.750><c> and</c><00:07:43.530><c> otherwise</c><00:07:43.770><c> and</c><00:07:44.100><c> and</c><00:07:44.520><c> if</c>

00:07:44.570 --> 00:07:44.580 align:start position:0%
returns one and otherwise and and if
 

00:07:44.580 --> 00:07:45.830 align:start position:0%
returns one and otherwise and and if
it's<00:07:44.730><c> a</c><00:07:44.760><c> tie</c><00:07:44.940><c> then</c><00:07:45.210><c> it</c><00:07:45.300><c> returns</c><00:07:45.540><c> it's</c><00:07:45.660><c> kind</c><00:07:45.780><c> of</c>

00:07:45.830 --> 00:07:45.840 align:start position:0%
it's a tie then it returns it's kind of
 

00:07:45.840 --> 00:07:51.050 align:start position:0%
it's a tie then it returns it's kind of
exception<00:07:47.000><c> so</c><00:07:49.430><c> so</c><00:07:50.430><c> so</c><00:07:50.640><c> that's</c><00:07:50.790><c> kind</c><00:07:50.940><c> of</c><00:07:50.970><c> a</c>

00:07:51.050 --> 00:07:51.060 align:start position:0%
exception so so so that's kind of a
 

00:07:51.060 --> 00:07:53.540 align:start position:0%
exception so so so that's kind of a
definition<00:07:51.330><c> of</c><00:07:51.450><c> estimator</c><00:07:51.900><c> and</c><00:07:52.770><c> and</c><00:07:53.190><c> that's</c>

00:07:53.540 --> 00:07:53.550 align:start position:0%
definition of estimator and and that's
 

00:07:53.550 --> 00:07:55.520 align:start position:0%
definition of estimator and and that's
that<00:07:53.880><c> that's</c><00:07:54.270><c> kind</c><00:07:54.510><c> of</c><00:07:54.570><c> gonna</c><00:07:55.230><c> be</c><00:07:55.350><c> necessary</c>

00:07:55.520 --> 00:07:55.530 align:start position:0%
that that's kind of gonna be necessary
 

00:07:55.530 --> 00:07:57.650 align:start position:0%
that that's kind of gonna be necessary
for<00:07:55.860><c> us</c><00:07:56.070><c> to</c><00:07:56.190><c> have</c><00:07:56.790><c> the</c><00:07:57.000><c> concept</c><00:07:57.300><c> of</c><00:07:57.360><c> deciding</c>

00:07:57.650 --> 00:07:57.660 align:start position:0%
for us to have the concept of deciding
 

00:07:57.660 --> 00:07:59.660 align:start position:0%
for us to have the concept of deciding
on<00:07:57.750><c> safe</c><00:07:57.930><c> estimates</c><00:07:58.290><c> so</c><00:07:58.770><c> Byzantine</c><00:07:59.370><c> faults</c>

00:07:59.660 --> 00:07:59.670 align:start position:0%
on safe estimates so Byzantine faults
 

00:07:59.670 --> 00:08:00.860 align:start position:0%
on safe estimates so Byzantine faults
are<00:07:59.760><c> kind</c><00:07:59.910><c> of</c><00:07:59.970><c> this</c><00:08:00.060><c> interesting</c><00:08:00.720><c> and</c><00:08:00.810><c> tricky</c>

00:08:00.860 --> 00:08:00.870 align:start position:0%
are kind of this interesting and tricky
 

00:08:00.870 --> 00:08:03.560 align:start position:0%
are kind of this interesting and tricky
thing<00:08:01.490><c> basically</c><00:08:02.490><c> each</c><00:08:02.700><c> of</c><00:08:02.850><c> these</c><00:08:02.910><c> nodes</c><00:08:03.180><c> have</c>

00:08:03.560 --> 00:08:03.570 align:start position:0%
thing basically each of these nodes have
 

00:08:03.570 --> 00:08:05.420 align:start position:0%
thing basically each of these nodes have
are<00:08:04.080><c> making</c><00:08:04.290><c> messages</c><00:08:04.650><c> where</c><00:08:04.920><c> they</c><00:08:05.040><c> store</c>

00:08:05.420 --> 00:08:05.430 align:start position:0%
are making messages where they store
 

00:08:05.430 --> 00:08:06.680 align:start position:0%
are making messages where they store
they<00:08:05.520><c> detest</c><00:08:05.910><c> what</c><00:08:06.120><c> they've</c><00:08:06.240><c> seen</c><00:08:06.420><c> from</c><00:08:06.570><c> other</c>

00:08:06.680 --> 00:08:06.690 align:start position:0%
they detest what they've seen from other
 

00:08:06.690 --> 00:08:09.230 align:start position:0%
they detest what they've seen from other
nodes<00:08:06.930><c> right</c><00:08:07.230><c> and</c><00:08:07.500><c> if</c><00:08:08.040><c> it's</c><00:08:08.700><c> ever</c><00:08:08.910><c> the</c><00:08:09.060><c> case</c>

00:08:09.230 --> 00:08:09.240 align:start position:0%
nodes right and if it's ever the case
 

00:08:09.240 --> 00:08:10.580 align:start position:0%
nodes right and if it's ever the case
that<00:08:09.510><c> I</c><00:08:09.540><c> have</c><00:08:09.660><c> a</c><00:08:09.690><c> set</c><00:08:09.870><c> of</c><00:08:09.900><c> messages</c><00:08:10.320><c> where</c>

00:08:10.580 --> 00:08:10.590 align:start position:0%
that I have a set of messages where
 

00:08:10.590 --> 00:08:13.820 align:start position:0%
that I have a set of messages where
different<00:08:11.550><c> nodes</c><00:08:11.730><c> attest</c><00:08:12.270><c> to</c><00:08:12.590><c> having</c><00:08:13.590><c> seen</c>

00:08:13.820 --> 00:08:13.830 align:start position:0%
different nodes attest to having seen
 

00:08:13.830 --> 00:08:16.430 align:start position:0%
different nodes attest to having seen
some<00:08:14.280><c> node</c><00:08:14.520><c> make</c><00:08:15.240><c> messages</c><00:08:15.690><c> that</c><00:08:15.840><c> could</c><00:08:16.200><c> never</c>

00:08:16.430 --> 00:08:16.440 align:start position:0%
some node make messages that could never
 

00:08:16.440 --> 00:08:19.450 align:start position:0%
some node make messages that could never
have<00:08:16.650><c> possibly</c><00:08:17.040><c> been</c><00:08:17.130><c> made</c><00:08:17.460><c> by</c><00:08:17.640><c> a</c><00:08:17.670><c> single</c><00:08:18.090><c> node</c>

00:08:19.450 --> 00:08:19.460 align:start position:0%
have possibly been made by a single node
 

00:08:19.460 --> 00:08:22.700 align:start position:0%
have possibly been made by a single node
then<00:08:20.460><c> we</c><00:08:20.850><c> have</c><00:08:21.480><c> a</c><00:08:21.510><c> Byzantine</c><00:08:22.080><c> fault</c><00:08:22.320><c> because</c>

00:08:22.700 --> 00:08:22.710 align:start position:0%
then we have a Byzantine fault because
 

00:08:22.710 --> 00:08:23.900 align:start position:0%
then we have a Byzantine fault because
basically<00:08:22.890><c> a</c><00:08:23.040><c> single</c><00:08:23.370><c> nodes</c><00:08:23.550><c> with</c><00:08:23.700><c> the</c><00:08:23.820><c> way</c>

00:08:23.900 --> 00:08:23.910 align:start position:0%
basically a single nodes with the way
 

00:08:23.910 --> 00:08:25.310 align:start position:0%
basically a single nodes with the way
they're<00:08:24.120><c> characterized</c><00:08:24.570><c> is</c><00:08:24.780><c> that</c><00:08:25.230><c> they</c>

00:08:25.310 --> 00:08:25.320 align:start position:0%
they're characterized is that they
 

00:08:25.320 --> 00:08:29.249 align:start position:0%
they're characterized is that they
follow<00:08:25.710><c> protocol</c><00:08:26.370><c> executions</c><00:08:27.320><c> according</c><00:08:28.320><c> to</c>

00:08:29.249 --> 00:08:29.259 align:start position:0%
follow protocol executions according to
 

00:08:29.259 --> 00:08:32.279 align:start position:0%
follow protocol executions according to
the<00:08:29.530><c> like</c><00:08:29.830><c> the</c><00:08:29.979><c> protocol</c><00:08:30.550><c> executions</c><00:08:31.090><c> in</c><00:08:31.990><c> in</c>

00:08:32.279 --> 00:08:32.289 align:start position:0%
the like the protocol executions in in
 

00:08:32.289 --> 00:08:35.909 align:start position:0%
the like the protocol executions in in
the<00:08:32.440><c> state</c><00:08:32.680><c> so</c><00:08:32.919><c> so</c><00:08:33.310><c> here</c><00:08:34.710><c> equivocation</c><00:08:35.710><c> is</c>

00:08:35.909 --> 00:08:35.919 align:start position:0%
the state so so here equivocation is
 

00:08:35.919 --> 00:08:38.820 align:start position:0%
the state so so here equivocation is
this<00:08:36.490><c> is</c><00:08:36.789><c> this</c><00:08:37.510><c> property</c><00:08:37.930><c> that</c><00:08:37.960><c> to</c><00:08:38.169><c> knows</c><00:08:38.349><c> that</c>

00:08:38.820 --> 00:08:38.830 align:start position:0%
this is this property that to knows that
 

00:08:38.830 --> 00:08:40.139 align:start position:0%
this is this property that to knows that
a<00:08:38.890><c> data</c><00:08:39.130><c> that</c><00:08:39.279><c> it's</c><00:08:39.399><c> that</c><00:08:39.550><c> a</c><00:08:39.580><c> note</c><00:08:39.820><c> isn't</c>

00:08:40.139 --> 00:08:40.149 align:start position:0%
a data that it's that a note isn't
 

00:08:40.149 --> 00:08:42.300 align:start position:0%
a data that it's that a note isn't
actually<00:08:40.659><c> a</c><00:08:40.690><c> single-threaded</c><00:08:41.140><c> and</c><00:08:41.830><c> it</c><00:08:42.190><c> means</c>

00:08:42.300 --> 00:08:42.310 align:start position:0%
actually a single-threaded and it means
 

00:08:42.310 --> 00:08:44.490 align:start position:0%
actually a single-threaded and it means
that<00:08:42.370><c> they</c><00:08:42.490><c> made</c><00:08:42.640><c> two</c><00:08:42.880><c> messages</c><00:08:43.330><c> neither</c><00:08:44.320><c> of</c>

00:08:44.490 --> 00:08:44.500 align:start position:0%
that they made two messages neither of
 

00:08:44.500 --> 00:08:45.780 align:start position:0%
that they made two messages neither of
which<00:08:44.560><c> are</c><00:08:44.770><c> in</c><00:08:44.860><c> the</c><00:08:44.890><c> dependency</c><00:08:45.310><c> of</c><00:08:45.339><c> the</c><00:08:45.430><c> other</c>

00:08:45.780 --> 00:08:45.790 align:start position:0%
which are in the dependency of the other
 

00:08:45.790 --> 00:08:47.430 align:start position:0%
which are in the dependency of the other
so<00:08:46.209><c> rather</c><00:08:46.390><c> than</c><00:08:46.480><c> including</c><00:08:46.959><c> their</c><00:08:47.080><c> messages</c>

00:08:47.430 --> 00:08:47.440 align:start position:0%
so rather than including their messages
 

00:08:47.440 --> 00:08:48.570 align:start position:0%
so rather than including their messages
in<00:08:47.529><c> each</c><00:08:47.620><c> other</c><00:08:47.770><c> and</c><00:08:47.950><c> having</c><00:08:48.130><c> a</c><00:08:48.160><c> single</c><00:08:48.399><c> thread</c>

00:08:48.570 --> 00:08:48.580 align:start position:0%
in each other and having a single thread
 

00:08:48.580 --> 00:08:50.400 align:start position:0%
in each other and having a single thread
they<00:08:48.850><c> have</c><00:08:48.970><c> them</c><00:08:49.089><c> all</c><00:08:49.240><c> it's</c><00:08:49.839><c> multi-threaded</c>

00:08:50.400 --> 00:08:50.410 align:start position:0%
they have them all it's multi-threaded
 

00:08:50.410 --> 00:08:53.550 align:start position:0%
they have them all it's multi-threaded
and<00:08:50.880><c> we</c><00:08:51.880><c> can</c><00:08:52.000><c> basically</c><00:08:52.420><c> are</c><00:08:52.810><c> gonna</c><00:08:52.959><c> be</c><00:08:53.500><c> able</c>

00:08:53.550 --> 00:08:53.560 align:start position:0%
and we can basically are gonna be able
 

00:08:53.560 --> 00:08:55.350 align:start position:0%
and we can basically are gonna be able
to<00:08:53.680><c> identify</c><00:08:54.190><c> Byzantine</c><00:08:54.760><c> nodes</c><00:08:54.940><c> by</c><00:08:55.180><c> their</c>

00:08:55.350 --> 00:08:55.360 align:start position:0%
to identify Byzantine nodes by their
 

00:08:55.360 --> 00:08:57.269 align:start position:0%
to identify Byzantine nodes by their
equivocations<00:08:55.930><c> and</c><00:08:56.230><c> we</c><00:08:56.709><c> can</c><00:08:56.860><c> like</c><00:08:56.980><c> you</c><00:08:57.160><c> know</c>

00:08:57.269 --> 00:08:57.279 align:start position:0%
equivocations and we can like you know
 

00:08:57.279 --> 00:08:59.610 align:start position:0%
equivocations and we can like you know
like<00:08:57.700><c> count</c><00:08:58.000><c> them</c><00:08:58.120><c> all</c><00:08:58.209><c> up</c><00:08:58.360><c> we</c><00:08:59.320><c> can</c><00:08:59.470><c> measure</c>

00:08:59.610 --> 00:08:59.620 align:start position:0%
like count them all up we can measure
 

00:08:59.620 --> 00:09:01.800 align:start position:0%
like count them all up we can measure
their<00:08:59.950><c> weight</c><00:09:00.160><c> and</c><00:09:00.610><c> then</c><00:09:01.510><c> we</c><00:09:01.600><c> can</c><00:09:01.720><c> define</c>

00:09:01.800 --> 00:09:01.810 align:start position:0%
their weight and then we can define
 

00:09:01.810 --> 00:09:03.690 align:start position:0%
their weight and then we can define
protocol<00:09:02.290><c> States</c><00:09:02.529><c> as</c><00:09:02.740><c> all</c><00:09:03.190><c> of</c><00:09:03.370><c> the</c><00:09:03.459><c> sets</c><00:09:03.640><c> of</c>

00:09:03.690 --> 00:09:03.700 align:start position:0%
protocol States as all of the sets of
 

00:09:03.700 --> 00:09:04.829 align:start position:0%
protocol States as all of the sets of
messages<00:09:04.060><c> that</c><00:09:04.089><c> evidence</c><00:09:04.570><c> less</c><00:09:04.720><c> than</c>

00:09:04.829 --> 00:09:04.839 align:start position:0%
messages that evidence less than
 

00:09:04.839 --> 00:09:06.900 align:start position:0%
messages that evidence less than
something<00:09:04.990><c> were</c><00:09:05.170><c> faults</c><00:09:05.470><c> then</c><00:09:06.459><c> we</c><00:09:06.610><c> defined</c>

00:09:06.900 --> 00:09:06.910 align:start position:0%
something were faults then we defined
 

00:09:06.910 --> 00:09:09.210 align:start position:0%
something were faults then we defined
protocol<00:09:07.209><c> executions</c><00:09:07.750><c> just</c><00:09:08.020><c> as</c><00:09:08.140><c> supersets</c><00:09:08.649><c> in</c>

00:09:09.210 --> 00:09:09.220 align:start position:0%
protocol executions just as supersets in
 

00:09:09.220 --> 00:09:11.550 align:start position:0%
protocol executions just as supersets in
those<00:09:09.459><c> things</c><00:09:09.700><c> and</c><00:09:09.910><c> then</c><00:09:10.750><c> we're</c><00:09:11.230><c> basically</c>

00:09:11.550 --> 00:09:11.560 align:start position:0%
those things and then we're basically
 

00:09:11.560 --> 00:09:15.300 align:start position:0%
those things and then we're basically
done<00:09:11.860><c> the</c><00:09:12.640><c> binary</c><00:09:14.010><c> estimate</c><00:09:15.010><c> safety</c>

00:09:15.300 --> 00:09:15.310 align:start position:0%
done the binary estimate safety
 

00:09:15.310 --> 00:09:17.160 align:start position:0%
done the binary estimate safety
basically<00:09:15.610><c> means</c><00:09:15.760><c> that</c><00:09:15.880><c> the</c><00:09:16.240><c> so</c><00:09:17.050><c> it's</c>

00:09:17.160 --> 00:09:17.170 align:start position:0%
basically means that the so it's
 

00:09:17.170 --> 00:09:19.410 align:start position:0%
basically means that the so it's
estimate<00:09:18.040><c> is</c><00:09:18.130><c> safe</c><00:09:18.370><c> give</c><00:09:19.060><c> us</c><00:09:19.120><c> some</c><00:09:19.240><c> fault</c>

00:09:19.410 --> 00:09:19.420 align:start position:0%
estimate is safe give us some fault
 

00:09:19.420 --> 00:09:21.000 align:start position:0%
estimate is safe give us some fault
tolerance<00:09:19.810><c> in</c><00:09:19.959><c> some</c><00:09:20.110><c> state</c><00:09:20.320><c> if</c><00:09:20.560><c> for</c><00:09:20.860><c> all</c>

00:09:21.000 --> 00:09:21.010 align:start position:0%
tolerance in some state if for all
 

00:09:21.010 --> 00:09:25.740 align:start position:0%
tolerance in some state if for all
future<00:09:21.370><c> states</c><00:09:22.560><c> that</c><00:09:23.820><c> estimate</c><00:09:24.820><c> is</c><00:09:24.940><c> also</c><00:09:25.630><c> the</c>

00:09:25.740 --> 00:09:25.750 align:start position:0%
future states that estimate is also the
 

00:09:25.750 --> 00:09:26.940 align:start position:0%
future states that estimate is also the
estimator<00:09:26.050><c> in</c><00:09:26.140><c> future</c><00:09:26.380><c> states</c><00:09:26.589><c> so</c><00:09:26.800><c> there's</c><00:09:26.920><c> I</c>

00:09:26.940 --> 00:09:26.950 align:start position:0%
estimator in future states so there's I
 

00:09:26.950 --> 00:09:28.290 align:start position:0%
estimator in future states so there's I
get<00:09:27.070><c> this</c><00:09:27.160><c> invariance</c><00:09:27.640><c> right</c><00:09:27.790><c> all</c><00:09:28.029><c> future</c>

00:09:28.290 --> 00:09:28.300 align:start position:0%
get this invariance right all future
 

00:09:28.300 --> 00:09:29.460 align:start position:0%
get this invariance right all future
states<00:09:28.480><c> will</c><00:09:28.600><c> return</c><00:09:28.810><c> zero</c><00:09:29.080><c> all</c><00:09:29.290><c> future</c>

00:09:29.460 --> 00:09:29.470 align:start position:0%
states will return zero all future
 

00:09:29.470 --> 00:09:30.750 align:start position:0%
states will return zero all future
states<00:09:29.709><c> tomorrow</c>

00:09:30.750 --> 00:09:30.760 align:start position:0%
states tomorrow
 

00:09:30.760 --> 00:09:32.579 align:start position:0%
states tomorrow
and<00:09:30.930><c> because</c><00:09:31.930><c> of</c><00:09:31.959><c> the</c><00:09:32.050><c> way</c><00:09:32.110><c> we</c><00:09:32.230><c> constructed</c>

00:09:32.579 --> 00:09:32.589 align:start position:0%
and because of the way we constructed
 

00:09:32.589 --> 00:09:34.290 align:start position:0%
and because of the way we constructed
this<00:09:32.709><c> this</c><00:09:33.190><c> satisfies</c><00:09:33.610><c> our</c><00:09:33.850><c> safety</c><00:09:34.029><c> proof</c>

00:09:34.290 --> 00:09:34.300 align:start position:0%
this this satisfies our safety proof
 

00:09:34.300 --> 00:09:35.579 align:start position:0%
this this satisfies our safety proof
they<00:09:34.570><c> all</c><00:09:34.690><c> have</c><00:09:34.810><c> future</c><00:09:35.110><c> states</c><00:09:35.410><c> unless</c>

00:09:35.579 --> 00:09:35.589 align:start position:0%
they all have future states unless
 

00:09:35.589 --> 00:09:36.990 align:start position:0%
they all have future states unless
there's<00:09:35.800><c> T</c><00:09:35.920><c> faults</c><00:09:36.250><c> if</c><00:09:36.610><c> they</c><00:09:36.760><c> have</c><00:09:36.850><c> future</c>

00:09:36.990 --> 00:09:37.000 align:start position:0%
there's T faults if they have future
 

00:09:37.000 --> 00:09:38.100 align:start position:0%
there's T faults if they have future
states<00:09:37.300><c> they</c><00:09:37.420><c> have</c><00:09:37.450><c> good</c><00:09:37.660><c> sense</c><00:09:37.839><c> of</c><00:09:37.930><c> safety</c>

00:09:38.100 --> 00:09:38.110 align:start position:0%
states they have good sense of safety
 

00:09:38.110 --> 00:09:40.170 align:start position:0%
states they have good sense of safety
and<00:09:38.410><c> so</c><00:09:38.950><c> we</c><00:09:39.160><c> have</c><00:09:39.310><c> a</c><00:09:39.339><c> binary</c><00:09:39.670><c> consensus</c>

00:09:40.170 --> 00:09:40.180 align:start position:0%
and so we have a binary consensus
 

00:09:40.180 --> 00:09:44.010 align:start position:0%
and so we have a binary consensus
protocol<00:09:40.510><c> with</c><00:09:40.810><c> safety</c><00:09:41.140><c> and</c><00:09:42.450><c> you</c><00:09:43.450><c> know</c><00:09:43.570><c> this</c>

00:09:44.010 --> 00:09:44.020 align:start position:0%
protocol with safety and you know this
 

00:09:44.020 --> 00:09:45.240 align:start position:0%
protocol with safety and you know this
is<00:09:44.170><c> kind</c><00:09:44.380><c> of</c><00:09:44.410><c> where</c><00:09:44.589><c> we</c><00:09:44.620><c> can</c><00:09:44.800><c> relax</c><00:09:45.040><c> because</c>

00:09:45.240 --> 00:09:45.250 align:start position:0%
is kind of where we can relax because
 

00:09:45.250 --> 00:09:46.769 align:start position:0%
is kind of where we can relax because
this<00:09:45.430><c> was</c><00:09:45.640><c> that</c><00:09:46.000><c> was</c><00:09:46.120><c> all</c><00:09:46.240><c> the</c><00:09:46.330><c> heart</c><00:09:46.480><c> that</c><00:09:46.660><c> was</c>

00:09:46.769 --> 00:09:46.779 align:start position:0%
this was that was all the heart that was
 

00:09:46.779 --> 00:09:50.220 align:start position:0%
this was that was all the heart that was
most<00:09:47.350><c> of</c><00:09:47.529><c> the</c><00:09:47.589><c> hard</c><00:09:47.740><c> work</c><00:09:48.959><c> we're</c><00:09:49.959><c> never</c><00:09:50.080><c> gonna</c>

00:09:50.220 --> 00:09:50.230 align:start position:0%
most of the hard work we're never gonna
 

00:09:50.230 --> 00:09:51.449 align:start position:0%
most of the hard work we're never gonna
find<00:09:50.410><c> the</c><00:09:50.560><c> block</c><00:09:50.680><c> tanks</c><00:09:50.950><c> in</c><00:09:51.070><c> this</c><00:09:51.130><c> protocol</c>

00:09:51.449 --> 00:09:51.459 align:start position:0%
find the block tanks in this protocol
 

00:09:51.459 --> 00:09:52.699 align:start position:0%
find the block tanks in this protocol
and<00:09:51.520><c> it's</c><00:09:51.820><c> really</c><00:09:52.180><c> gonna</c><00:09:52.300><c> be</c><00:09:52.450><c> a</c><00:09:52.480><c> lot</c><00:09:52.660><c> easier</c>

00:09:52.699 --> 00:09:52.709 align:start position:0%
and it's really gonna be a lot easier
 

00:09:52.709 --> 00:09:54.720 align:start position:0%
and it's really gonna be a lot easier
because<00:09:53.709><c> we've</c><00:09:53.950><c> already</c><00:09:54.130><c> done</c><00:09:54.370><c> most</c><00:09:54.520><c> of</c><00:09:54.640><c> the</c>

00:09:54.720 --> 00:09:54.730 align:start position:0%
because we've already done most of the
 

00:09:54.730 --> 00:09:59.490 align:start position:0%
because we've already done most of the
work<00:09:54.760><c> so</c><00:09:55.890><c> the</c><00:09:56.890><c> blocks</c><00:09:57.640><c> kind</c><00:09:58.390><c> of</c><00:09:58.540><c> look</c><00:09:59.290><c> very</c>

00:09:59.490 --> 00:09:59.500 align:start position:0%
work so the blocks kind of look very
 

00:09:59.500 --> 00:10:01.350 align:start position:0%
work so the blocks kind of look very
similar<00:09:59.860><c> to</c><00:10:00.040><c> the</c><00:10:00.220><c> messages</c><00:10:01.060><c> for</c><00:10:01.120><c> the</c><00:10:01.240><c> binary</c>

00:10:01.350 --> 00:10:01.360 align:start position:0%
similar to the messages for the binary
 

00:10:01.360 --> 00:10:02.730 align:start position:0%
similar to the messages for the binary
consensus<00:10:01.870><c> only</c><00:10:02.080><c> instead</c><00:10:02.230><c> of</c><00:10:02.320><c> having</c><00:10:02.440><c> a</c><00:10:02.529><c> bit</c>

00:10:02.730 --> 00:10:02.740 align:start position:0%
consensus only instead of having a bit
 

00:10:02.740 --> 00:10:05.280 align:start position:0%
consensus only instead of having a bit
there's<00:10:03.730><c> a</c><00:10:03.820><c> there's</c><00:10:04.240><c> another</c><00:10:04.450><c> block</c><00:10:04.779><c> in</c><00:10:05.020><c> the</c>

00:10:05.280 --> 00:10:05.290 align:start position:0%
there's a there's another block in the
 

00:10:05.290 --> 00:10:07.920 align:start position:0%
there's a there's another block in the
first<00:10:05.529><c> in</c><00:10:05.770><c> the</c><00:10:06.010><c> in</c><00:10:06.160><c> the</c><00:10:06.279><c> estimate</c><00:10:06.670><c> spot</c><00:10:06.930><c> so</c>

00:10:07.920 --> 00:10:07.930 align:start position:0%
first in the in the estimate spot so
 

00:10:07.930 --> 00:10:09.840 align:start position:0%
first in the in the estimate spot so
every<00:10:08.290><c> block</c><00:10:08.529><c> kind</c><00:10:08.830><c> of</c><00:10:08.890><c> has</c><00:10:08.980><c> a</c><00:10:09.010><c> pre</c><00:10:09.310><c> every</c>

00:10:09.840 --> 00:10:09.850 align:start position:0%
every block kind of has a pre every
 

00:10:09.850 --> 00:10:11.640 align:start position:0%
every block kind of has a pre every
block<00:10:10.089><c> kind</c><00:10:10.330><c> of</c><00:10:10.390><c> has</c><00:10:10.480><c> a</c><00:10:10.510><c> pre</c><00:10:10.779><c> block</c><00:10:11.020><c> a</c><00:10:11.200><c> sender</c>

00:10:11.640 --> 00:10:11.650 align:start position:0%
block kind of has a pre block a sender
 

00:10:11.650 --> 00:10:15.030 align:start position:0%
block kind of has a pre block a sender
and<00:10:11.800><c> justification</c><00:10:13.470><c> and</c><00:10:14.470><c> there's</c><00:10:14.860><c> this</c><00:10:14.980><c> thing</c>

00:10:15.030 --> 00:10:15.040 align:start position:0%
and justification and there's this thing
 

00:10:15.040 --> 00:10:17.430 align:start position:0%
and justification and there's this thing
called<00:10:15.190><c> the</c><00:10:15.400><c> Genesis</c><00:10:15.790><c> block</c><00:10:15.910><c> and</c><00:10:16.420><c> like</c><00:10:17.290><c> the</c>

00:10:17.430 --> 00:10:17.440 align:start position:0%
called the Genesis block and like the
 

00:10:17.440 --> 00:10:19.290 align:start position:0%
called the Genesis block and like the
and<00:10:17.980><c> and</c><00:10:18.160><c> and</c><00:10:18.310><c> this</c><00:10:18.670><c> is</c><00:10:18.760><c> kind</c><00:10:18.910><c> of</c><00:10:18.940><c> a</c><00:10:19.029><c> Heights</c>

00:10:19.290 --> 00:10:19.300 align:start position:0%
and and and this is kind of a Heights
 

00:10:19.300 --> 00:10:23.819 align:start position:0%
and and and this is kind of a Heights
the<00:10:19.870><c> hot</c><00:10:20.079><c> the</c><00:10:20.230><c> heights</c><00:10:20.470><c> of</c><00:10:20.650><c> the</c><00:10:20.740><c> blocks</c><00:10:20.980><c> so</c><00:10:22.829><c> you</c>

00:10:23.819 --> 00:10:23.829 align:start position:0%
the hot the heights of the blocks so you
 

00:10:23.829 --> 00:10:25.230 align:start position:0%
the hot the heights of the blocks so you
know<00:10:23.920><c> this</c><00:10:24.070><c> is</c><00:10:24.130><c> me</c><00:10:24.250><c> defining</c><00:10:24.640><c> like</c><00:10:24.760><c> all</c><00:10:24.940><c> of</c><00:10:25.149><c> the</c>

00:10:25.230 --> 00:10:25.240 align:start position:0%
know this is me defining like all of the
 

00:10:25.240 --> 00:10:26.430 align:start position:0%
know this is me defining like all of the
blocks<00:10:25.450><c> being</c><00:10:25.660><c> all</c><00:10:25.810><c> the</c><00:10:25.930><c> blocks</c><00:10:26.140><c> at</c><00:10:26.290><c> all</c><00:10:26.350><c> the</c>

00:10:26.430 --> 00:10:26.440 align:start position:0%
blocks being all the blocks at all the
 

00:10:26.440 --> 00:10:30.870 align:start position:0%
blocks being all the blocks at all the
Heights<00:10:28.529><c> so</c><00:10:29.529><c> there's</c><00:10:30.459><c> a</c><00:10:30.550><c> couple</c><00:10:30.700><c> more</c>

00:10:30.870 --> 00:10:30.880 align:start position:0%
Heights so there's a couple more
 

00:10:30.880 --> 00:10:32.130 align:start position:0%
Heights so there's a couple more
definition<00:10:31.270><c> that</c><00:10:31.329><c> we</c><00:10:31.420><c> need</c><00:10:31.570><c> basically</c>

00:10:32.130 --> 00:10:32.140 align:start position:0%
definition that we need basically
 

00:10:32.140 --> 00:10:35.040 align:start position:0%
definition that we need basically
instead<00:10:33.010><c> of</c><00:10:33.070><c> having</c><00:10:33.310><c> an</c><00:10:33.520><c> estimate</c><00:10:34.209><c> just</c><00:10:34.690><c> be</c>

00:10:35.040 --> 00:10:35.050 align:start position:0%
instead of having an estimate just be
 

00:10:35.050 --> 00:10:36.540 align:start position:0%
instead of having an estimate just be
the<00:10:35.230><c> same</c><00:10:35.470><c> we're</c><00:10:35.980><c> gonna</c><00:10:36.070><c> have</c><00:10:36.220><c> the</c><00:10:36.279><c> estimate</c>

00:10:36.540 --> 00:10:36.550 align:start position:0%
the same we're gonna have the estimate
 

00:10:36.550 --> 00:10:37.980 align:start position:0%
the same we're gonna have the estimate
be<00:10:36.640><c> a</c><00:10:36.670><c> member</c><00:10:37.000><c> of</c><00:10:37.089><c> the</c><00:10:37.209><c> blockchain</c><00:10:37.360><c> and</c><00:10:37.779><c> that's</c>

00:10:37.980 --> 00:10:37.990 align:start position:0%
be a member of the blockchain and that's
 

00:10:37.990 --> 00:10:40.350 align:start position:0%
be a member of the blockchain and that's
what<00:10:38.079><c> this</c><00:10:38.170><c> represents</c><00:10:38.410><c> like</c><00:10:38.940><c> block</c><00:10:39.940><c> one</c><00:10:40.150><c> is</c>

00:10:40.350 --> 00:10:40.360 align:start position:0%
what this represents like block one is
 

00:10:40.360 --> 00:10:42.390 align:start position:0%
what this represents like block one is
in<00:10:40.810><c> the</c><00:10:40.900><c> blockchain</c><00:10:41.079><c> a</c><00:10:41.230><c> block</c><00:10:41.410><c> two</c>

00:10:42.390 --> 00:10:42.400 align:start position:0%
in the blockchain a block two
 

00:10:42.400 --> 00:10:45.660 align:start position:0%
in the blockchain a block two
and<00:10:42.490><c> then</c><00:10:43.090><c> the</c><00:10:43.390><c> score</c><00:10:43.720><c> of</c><00:10:43.960><c> a</c><00:10:44.050><c> block</c><00:10:44.290><c> is</c><00:10:44.670><c> the</c>

00:10:45.660 --> 00:10:45.670 align:start position:0%
and then the score of a block is the
 

00:10:45.670 --> 00:10:47.280 align:start position:0%
and then the score of a block is the
weight<00:10:45.940><c> of</c><00:10:46.150><c> validators</c><00:10:46.780><c> whose</c><00:10:46.990><c> latest</c>

00:10:47.280 --> 00:10:47.290 align:start position:0%
weight of validators whose latest
 

00:10:47.290 --> 00:10:55.140 align:start position:0%
weight of validators whose latest
messages<00:10:49.110><c> are</c><00:10:50.700><c> have</c><00:10:51.700><c> the</c><00:10:51.940><c> Block</c><00:10:53.730><c> in</c><00:10:54.730><c> their</c>

00:10:55.140 --> 00:10:55.150 align:start position:0%
messages are have the Block in their
 

00:10:55.150 --> 00:10:58.260 align:start position:0%
messages are have the Block in their
block<00:10:55.360><c> chains</c><00:10:55.630><c> so</c><00:10:56.110><c> if</c><00:10:56.230><c> if</c><00:10:56.890><c> five</c><00:10:57.400><c> long</c><00:10:57.640><c> if</c><00:10:57.790><c> like</c>

00:10:58.260 --> 00:10:58.270 align:start position:0%
block chains so if if five long if like
 

00:10:58.270 --> 00:11:00.300 align:start position:0%
block chains so if if five long if like
five<00:10:58.570><c> way</c><00:10:58.810><c> to</c><00:10:58.870><c> the</c><00:10:59.020><c> validators</c><00:10:59.440><c> have</c><00:10:59.800><c> block</c><00:11:00.100><c> a</c>

00:11:00.300 --> 00:11:00.310 align:start position:0%
five way to the validators have block a
 

00:11:00.310 --> 00:11:03.270 align:start position:0%
five way to the validators have block a
in<00:11:00.940><c> their</c><00:11:01.540><c> latest</c><00:11:01.870><c> block</c><00:11:02.050><c> chains</c><00:11:02.260><c> and</c><00:11:02.440><c> three</c>

00:11:03.270 --> 00:11:03.280 align:start position:0%
in their latest block chains and three
 

00:11:03.280 --> 00:11:04.500 align:start position:0%
in their latest block chains and three
of<00:11:03.460><c> the</c><00:11:03.550><c> weight</c><00:11:03.670><c> have</c><00:11:03.940><c> locked</c><00:11:04.150><c> be</c><00:11:04.330><c> in</c><00:11:04.450><c> the</c>

00:11:04.500 --> 00:11:04.510 align:start position:0%
of the weight have locked be in the
 

00:11:04.510 --> 00:11:06.540 align:start position:0%
of the weight have locked be in the
latest<00:11:04.750><c> block</c><00:11:05.530><c> chains</c><00:11:05.740><c> and</c><00:11:05.890><c> block</c><00:11:06.070><c> a</c><00:11:06.250><c> will</c>

00:11:06.540 --> 00:11:06.550 align:start position:0%
latest block chains and block a will
 

00:11:06.550 --> 00:11:09.090 align:start position:0%
latest block chains and block a will
have<00:11:06.700><c> a</c><00:11:06.730><c> higher</c><00:11:06.880><c> score</c><00:11:07.380><c> so</c><00:11:08.380><c> then</c><00:11:08.530><c> we</c><00:11:08.920><c> can</c><00:11:09.040><c> have</c>

00:11:09.090 --> 00:11:09.100 align:start position:0%
have a higher score so then we can have
 

00:11:09.100 --> 00:11:11.040 align:start position:0%
have a higher score so then we can have
this<00:11:09.370><c> fork</c><00:11:10.000><c> choice</c><00:11:10.180><c> rule</c><00:11:10.420><c> it's</c><00:11:10.720><c> called</c><00:11:10.960><c> the</c>

00:11:11.040 --> 00:11:11.050 align:start position:0%
this fork choice rule it's called the
 

00:11:11.050 --> 00:11:12.510 align:start position:0%
this fork choice rule it's called the
greedy<00:11:11.260><c> heaviest</c><00:11:11.620><c> observer</c><00:11:11.920><c> subtree</c><00:11:12.310><c> you</c>

00:11:12.510 --> 00:11:12.520 align:start position:0%
greedy heaviest observer subtree you
 

00:11:12.520 --> 00:11:14.100 align:start position:0%
greedy heaviest observer subtree you
start<00:11:12.730><c> at</c><00:11:12.790><c> the</c><00:11:12.850><c> Genesis</c><00:11:13.150><c> block</c><00:11:13.270><c> you</c><00:11:13.840><c> look</c><00:11:14.020><c> at</c>

00:11:14.100 --> 00:11:14.110 align:start position:0%
start at the Genesis block you look at
 

00:11:14.110 --> 00:11:15.270 align:start position:0%
start at the Genesis block you look at
the<00:11:14.230><c> children</c><00:11:14.560><c> of</c><00:11:14.650><c> the</c><00:11:14.710><c> Genesis</c><00:11:14.980><c> block</c><00:11:15.130><c> which</c>

00:11:15.270 --> 00:11:15.280 align:start position:0%
the children of the Genesis block which
 

00:11:15.280 --> 00:11:16.590 align:start position:0%
the children of the Genesis block which
are<00:11:15.400><c> the</c><00:11:15.460><c> blocks</c><00:11:15.640><c> that</c><00:11:15.760><c> have</c><00:11:16.030><c> a</c><00:11:16.210><c> free</c><00:11:16.420><c> block</c>

00:11:16.590 --> 00:11:16.600 align:start position:0%
are the blocks that have a free block
 

00:11:16.600 --> 00:11:18.480 align:start position:0%
are the blocks that have a free block
pointer<00:11:16.900><c> to</c><00:11:17.020><c> the</c><00:11:17.110><c> Genesis</c><00:11:17.410><c> block</c><00:11:17.560><c> and</c><00:11:17.800><c> you</c><00:11:18.280><c> ask</c>

00:11:18.480 --> 00:11:18.490 align:start position:0%
pointer to the Genesis block and you ask
 

00:11:18.490 --> 00:11:20.400 align:start position:0%
pointer to the Genesis block and you ask
what<00:11:19.060><c> are</c><00:11:19.090><c> their</c><00:11:19.240><c> scores</c><00:11:19.480><c> and</c><00:11:19.750><c> their</c><00:11:20.200><c> scores</c>

00:11:20.400 --> 00:11:20.410 align:start position:0%
what are their scores and their scores
 

00:11:20.410 --> 00:11:22.500 align:start position:0%
what are their scores and their scores
are<00:11:20.560><c> given</c><00:11:20.650><c> by</c><00:11:20.860><c> whether</c><00:11:21.610><c> or</c><00:11:21.730><c> not</c><00:11:21.910><c> or</c><00:11:22.150><c> how</c><00:11:22.330><c> much</c>

00:11:22.500 --> 00:11:22.510 align:start position:0%
are given by whether or not or how much
 

00:11:22.510 --> 00:11:23.820 align:start position:0%
are given by whether or not or how much
of<00:11:22.630><c> the</c><00:11:22.690><c> weight</c><00:11:22.810><c> of</c><00:11:22.930><c> the</c><00:11:22.990><c> validators</c><00:11:23.440><c> latest</c>

00:11:23.820 --> 00:11:23.830 align:start position:0%
of the weight of the validators latest
 

00:11:23.830 --> 00:11:25.320 align:start position:0%
of the weight of the validators latest
messages<00:11:24.190><c> are</c><00:11:24.370><c> on</c><00:11:24.550><c> those</c><00:11:24.700><c> block</c><00:11:24.880><c> chains</c><00:11:25.120><c> and</c>

00:11:25.320 --> 00:11:25.330 align:start position:0%
messages are on those block chains and
 

00:11:25.330 --> 00:11:27.780 align:start position:0%
messages are on those block chains and
then<00:11:26.170><c> you</c><00:11:26.350><c> pick</c><00:11:26.530><c> the</c><00:11:26.650><c> best</c><00:11:26.770><c> child</c><00:11:27.070><c> and</c><00:11:27.340><c> then</c>

00:11:27.780 --> 00:11:27.790 align:start position:0%
then you pick the best child and then
 

00:11:27.790 --> 00:11:29.580 align:start position:0%
then you pick the best child and then
you<00:11:27.880><c> kind</c><00:11:28.030><c> of</c><00:11:28.090><c> repeat</c><00:11:28.390><c> the</c><00:11:28.480><c> process</c><00:11:28.630><c> where</c>

00:11:29.580 --> 00:11:29.590 align:start position:0%
you kind of repeat the process where
 

00:11:29.590 --> 00:11:31.680 align:start position:0%
you kind of repeat the process where
again<00:11:30.340><c> you</c><00:11:30.550><c> calculate</c><00:11:30.910><c> the</c><00:11:31.030><c> scores</c><00:11:31.360><c> for</c><00:11:31.660><c> each</c>

00:11:31.680 --> 00:11:31.690 align:start position:0%
again you calculate the scores for each
 

00:11:31.690 --> 00:11:34.200 align:start position:0%
again you calculate the scores for each
of<00:11:31.840><c> the</c><00:11:31.900><c> blocks</c><00:11:32.580><c> by</c><00:11:33.580><c> looking</c><00:11:33.910><c> at</c><00:11:34.000><c> the</c><00:11:34.060><c> latest</c>

00:11:34.200 --> 00:11:34.210 align:start position:0%
of the blocks by looking at the latest
 

00:11:34.210 --> 00:11:36.690 align:start position:0%
of the blocks by looking at the latest
messages<00:11:34.630><c> and</c><00:11:34.780><c> seeing</c><00:11:35.020><c> if</c><00:11:35.260><c> who's</c><00:11:36.190><c> validators</c>

00:11:36.690 --> 00:11:36.700 align:start position:0%
messages and seeing if who's validators
 

00:11:36.700 --> 00:11:38.040 align:start position:0%
messages and seeing if who's validators
latest<00:11:36.940><c> messages</c><00:11:37.180><c> are</c><00:11:37.300><c> on</c><00:11:37.390><c> those</c><00:11:37.510><c> blocks</c><00:11:37.720><c> and</c>

00:11:38.040 --> 00:11:38.050 align:start position:0%
latest messages are on those blocks and
 

00:11:38.050 --> 00:11:40.560 align:start position:0%
latest messages are on those blocks and
then<00:11:38.770><c> you</c><00:11:39.070><c> pick</c><00:11:39.460><c> the</c><00:11:39.490><c> block</c><00:11:40.060><c> with</c><00:11:40.270><c> the</c><00:11:40.300><c> highest</c>

00:11:40.560 --> 00:11:40.570 align:start position:0%
then you pick the block with the highest
 

00:11:40.570 --> 00:11:42.990 align:start position:0%
then you pick the block with the highest
score<00:11:40.900><c> until</c><00:11:41.680><c> at</c><00:11:41.770><c> some</c><00:11:41.830><c> point</c><00:11:42.190><c> you</c><00:11:42.760><c> get</c><00:11:42.850><c> to</c><00:11:42.970><c> a</c>

00:11:42.990 --> 00:11:43.000 align:start position:0%
score until at some point you get to a
 

00:11:43.000 --> 00:11:44.400 align:start position:0%
score until at some point you get to a
block<00:11:43.210><c> with</c><00:11:43.330><c> no</c><00:11:43.360><c> children</c><00:11:43.660><c> and</c><00:11:43.960><c> that's</c><00:11:44.230><c> kind</c>

00:11:44.400 --> 00:11:44.410 align:start position:0%
block with no children and that's kind
 

00:11:44.410 --> 00:11:48.030 align:start position:0%
block with no children and that's kind
of<00:11:44.470><c> represents</c><00:11:44.950><c> the</c><00:11:45.100><c> hole</c><00:11:45.520><c> for</c><00:11:45.760><c> choice</c><00:11:47.040><c> the</c>

00:11:48.030 --> 00:11:48.040 align:start position:0%
of represents the hole for choice the
 

00:11:48.040 --> 00:11:49.470 align:start position:0%
of represents the hole for choice the
cool<00:11:48.280><c> thing</c><00:11:48.460><c> here</c><00:11:48.490><c> is</c><00:11:48.670><c> that</c><00:11:48.760><c> protocol</c><00:11:49.270><c> states</c>

00:11:49.470 --> 00:11:49.480 align:start position:0%
cool thing here is that protocol states
 

00:11:49.480 --> 00:11:50.430 align:start position:0%
cool thing here is that protocol states
the<00:11:49.600><c> state</c><00:11:49.750><c> transitions</c><00:11:50.110><c> are</c><00:11:50.200><c> defined</c>

00:11:50.430 --> 00:11:50.440 align:start position:0%
the state transitions are defined
 

00:11:50.440 --> 00:11:53.160 align:start position:0%
the state transitions are defined
exactly<00:11:50.830><c> as</c><00:11:50.950><c> before</c><00:11:51.250><c> there</c><00:11:52.150><c> is</c><00:11:52.390><c> literally</c><00:11:52.990><c> no</c>

00:11:53.160 --> 00:11:53.170 align:start position:0%
exactly as before there is literally no
 

00:11:53.170 --> 00:11:54.870 align:start position:0%
exactly as before there is literally no
change<00:11:53.500><c> right</c><00:11:54.040><c> we</c><00:11:54.160><c> just</c><00:11:54.280><c> like</c><00:11:54.460><c> the</c><00:11:54.730><c> tech</c>

00:11:54.870 --> 00:11:54.880 align:start position:0%
change right we just like the tech
 

00:11:54.880 --> 00:11:56.340 align:start position:0%
change right we just like the tech
Byzantine<00:11:55.210><c> Falls</c><00:11:55.360><c> is</c><00:11:55.510><c> exactly</c><00:11:55.900><c> the</c><00:11:56.050><c> same</c><00:11:56.200><c> way</c>

00:11:56.340 --> 00:11:56.350 align:start position:0%
Byzantine Falls is exactly the same way
 

00:11:56.350 --> 00:11:58.380 align:start position:0%
Byzantine Falls is exactly the same way
exclude<00:11:57.070><c> defined</c><00:11:57.700><c> protocol</c><00:11:57.970><c> states</c><00:11:58.150><c> and</c><00:11:58.300><c> set</c>

00:11:58.380 --> 00:11:58.390 align:start position:0%
exclude defined protocol states and set
 

00:11:58.390 --> 00:11:59.550 align:start position:0%
exclude defined protocol states and set
some<00:11:58.510><c> messages</c><00:11:58.870><c> it</c><00:11:59.050><c> with</c><00:11:59.140><c> less</c><00:11:59.320><c> than</c><00:11:59.410><c> some</c>

00:11:59.550 --> 00:11:59.560 align:start position:0%
some messages it with less than some
 

00:11:59.560 --> 00:12:01.530 align:start position:0%
some messages it with less than some
faults<00:11:59.860><c> and</c><00:12:00.010><c> state</c><00:12:00.760><c> transitions</c><00:12:01.150><c> as</c><00:12:01.270><c> super</c>

00:12:01.530 --> 00:12:01.540 align:start position:0%
faults and state transitions as super
 

00:12:01.540 --> 00:12:03.630 align:start position:0%
faults and state transitions as super
sets<00:12:01.750><c> and</c><00:12:02.050><c> then</c><00:12:02.680><c> we</c><00:12:02.740><c> can</c><00:12:02.890><c> define</c><00:12:02.980><c> estimate</c>

00:12:03.630 --> 00:12:03.640 align:start position:0%
sets and then we can define estimate
 

00:12:03.640 --> 00:12:05.790 align:start position:0%
sets and then we can define estimate
safety<00:12:03.940><c> for</c><00:12:04.180><c> the</c><00:12:04.450><c> block</c><00:12:04.720><c> block</c><00:12:05.230><c> chain</c><00:12:05.440><c> and</c>

00:12:05.790 --> 00:12:05.800 align:start position:0%
safety for the block block chain and
 

00:12:05.800 --> 00:12:07.260 align:start position:0%
safety for the block block chain and
basically<00:12:06.220><c> is</c><00:12:06.340><c> very</c><00:12:06.370><c> similar</c><00:12:06.790><c> and</c><00:12:07.120><c> ease</c><00:12:07.240><c> that</c>

00:12:07.260 --> 00:12:07.270 align:start position:0%
basically is very similar and ease that
 

00:12:07.270 --> 00:12:10.620 align:start position:0%
basically is very similar and ease that
for<00:12:07.540><c> all</c><00:12:07.800><c> future</c><00:12:08.800><c> protocol</c><00:12:09.280><c> states</c><00:12:09.630><c> this</c>

00:12:10.620 --> 00:12:10.630 align:start position:0%
for all future protocol states this
 

00:12:10.630 --> 00:12:13.680 align:start position:0%
for all future protocol states this
block<00:12:10.930><c> is</c><00:12:11.170><c> in</c><00:12:11.350><c> the</c><00:12:11.560><c> blockchain</c><00:12:12.600><c> that</c><00:12:13.600><c> we're</c>

00:12:13.680 --> 00:12:13.690 align:start position:0%
block is in the blockchain that we're
 

00:12:13.690 --> 00:12:14.790 align:start position:0%
block is in the blockchain that we're
going<00:12:13.780><c> to</c><00:12:13.840><c> choose</c><00:12:14.080><c> of</c><00:12:14.260><c> those</c><00:12:14.350><c> future</c><00:12:14.590><c> states</c>

00:12:14.790 --> 00:12:14.800 align:start position:0%
going to choose of those future states
 

00:12:14.800 --> 00:12:17.430 align:start position:0%
going to choose of those future states
so<00:12:15.160><c> a</c><00:12:15.550><c> block</c><00:12:16.090><c> is</c><00:12:16.240><c> safe</c><00:12:16.420><c> if</c><00:12:16.630><c> at</c><00:12:16.780><c> all</c><00:12:16.930><c> future</c><00:12:17.260><c> for</c>

00:12:17.430 --> 00:12:17.440 align:start position:0%
so a block is safe if at all future for
 

00:12:17.440 --> 00:12:19.410 align:start position:0%
so a block is safe if at all future for
choice<00:12:17.590><c> rules</c><00:12:17.860><c> that</c><00:12:18.010><c> you</c><00:12:18.070><c> make</c><00:12:18.280><c> that</c><00:12:19.120><c> block</c>

00:12:19.410 --> 00:12:19.420 align:start position:0%
choice rules that you make that block
 

00:12:19.420 --> 00:12:23.640 align:start position:0%
choice rules that you make that block
will<00:12:19.630><c> be</c><00:12:19.750><c> in</c><00:12:19.870><c> there</c><00:12:21.690><c> so</c><00:12:22.690><c> that</c><00:12:23.110><c> and</c><00:12:23.380><c> that</c><00:12:23.530><c> and</c>

00:12:23.640 --> 00:12:23.650 align:start position:0%
will be in there so that and that and
 

00:12:23.650 --> 00:12:24.960 align:start position:0%
will be in there so that and that and
that<00:12:23.710><c> was</c><00:12:23.890><c> actually</c><00:12:24.010><c> it</c><00:12:24.280><c> right</c><00:12:24.580><c> because</c><00:12:24.760><c> all</c>

00:12:24.960 --> 00:12:24.970 align:start position:0%
that was actually it right because all
 

00:12:24.970 --> 00:12:26.700 align:start position:0%
that was actually it right because all
the<00:12:25.150><c> other</c><00:12:25.240><c> stuff</c><00:12:25.510><c> and</c><00:12:25.840><c> then</c><00:12:26.140><c> the</c><00:12:26.290><c> the</c>

00:12:26.700 --> 00:12:26.710 align:start position:0%
the other stuff and then the the
 

00:12:26.710 --> 00:12:27.780 align:start position:0%
the other stuff and then the the
specification<00:12:27.220><c> is</c><00:12:27.310><c> really</c><00:12:27.520><c> kind</c><00:12:27.700><c> of</c><00:12:27.730><c> like</c>

00:12:27.780 --> 00:12:27.790 align:start position:0%
specification is really kind of like
 

00:12:27.790 --> 00:12:31.050 align:start position:0%
specification is really kind of like
done<00:12:28.150><c> there</c><00:12:28.390><c> because</c><00:12:29.310><c> and</c><00:12:30.310><c> we</c><00:12:30.430><c> got</c><00:12:30.550><c> to</c><00:12:30.640><c> benefit</c>

00:12:31.050 --> 00:12:31.060 align:start position:0%
done there because and we got to benefit
 

00:12:31.060 --> 00:12:32.910 align:start position:0%
done there because and we got to benefit
from<00:12:31.270><c> all</c><00:12:31.630><c> of</c><00:12:31.900><c> the</c><00:12:32.050><c> work</c><00:12:32.200><c> we</c><00:12:32.320><c> did</c><00:12:32.470><c> earlier</c><00:12:32.740><c> from</c>

00:12:32.910 --> 00:12:32.920 align:start position:0%
from all of the work we did earlier from
 

00:12:32.920 --> 00:12:35.310 align:start position:0%
from all of the work we did earlier from
the<00:12:33.100><c> safety</c><00:12:33.400><c> proof</c><00:12:33.610><c> and</c><00:12:33.820><c> the</c><00:12:33.880><c> binary</c><00:12:34.320><c> pretty</c>

00:12:35.310 --> 00:12:35.320 align:start position:0%
the safety proof and the binary pretty
 

00:12:35.320 --> 00:12:37.950 align:start position:0%
the safety proof and the binary pretty
much<00:12:35.440><c> reuse</c><00:12:36.010><c> most</c><00:12:36.880><c> of</c><00:12:37.090><c> those</c><00:12:37.210><c> most</c><00:12:37.690><c> of</c><00:12:37.840><c> those</c>

00:12:37.950 --> 00:12:37.960 align:start position:0%
much reuse most of those most of those
 

00:12:37.960 --> 00:12:40.110 align:start position:0%
much reuse most of those most of those
most<00:12:38.620><c> of</c><00:12:38.770><c> that</c><00:12:38.890><c> work</c><00:12:39.010><c> and</c><00:12:39.250><c> only</c><00:12:39.910><c> had</c><00:12:40.030><c> to</c>

00:12:40.110 --> 00:12:40.120 align:start position:0%
most of that work and only had to
 

00:12:40.120 --> 00:12:43.710 align:start position:0%
most of that work and only had to
redefine<00:12:41.400><c> you</c><00:12:42.400><c> only</c><00:12:42.700><c> had</c><00:12:42.850><c> to</c><00:12:42.940><c> define</c><00:12:43.210><c> the</c>

00:12:43.710 --> 00:12:43.720 align:start position:0%
redefine you only had to define the
 

00:12:43.720 --> 00:12:48.060 align:start position:0%
redefine you only had to define the
message<00:12:44.350><c> type</c><00:12:45.030><c> the</c><00:12:46.030><c> score</c><00:12:46.450><c> of</c><00:12:46.630><c> blocks</c><00:12:47.070><c> the</c>

00:12:48.060 --> 00:12:48.070 align:start position:0%
message type the score of blocks the
 

00:12:48.070 --> 00:12:49.900 align:start position:0%
message type the score of blocks the
fork<00:12:48.460><c> choice</c><00:12:48.700><c> rule</c>

00:12:49.900 --> 00:12:49.910 align:start position:0%
fork choice rule
 

00:12:49.910 --> 00:12:53.410 align:start position:0%
fork choice rule
and<00:12:50.440><c> safety</c><00:12:51.640><c> so</c><00:12:52.640><c> that's</c><00:12:52.850><c> pretty</c><00:12:53.000><c> cool</c>

00:12:53.410 --> 00:12:53.420 align:start position:0%
and safety so that's pretty cool
 

00:12:53.420 --> 00:12:54.670 align:start position:0%
and safety so that's pretty cool
we<00:12:53.660><c> were</c><00:12:53.810><c> able</c><00:12:53.900><c> to</c><00:12:54.110><c> go</c><00:12:54.320><c> from</c><00:12:54.440><c> the</c><00:12:54.530><c> binary</c>

00:12:54.670 --> 00:12:54.680 align:start position:0%
we were able to go from the binary
 

00:12:54.680 --> 00:12:55.900 align:start position:0%
we were able to go from the binary
consensus<00:12:55.130><c> to</c><00:12:55.190><c> the</c><00:12:55.280><c> blockchain</c><00:12:55.460><c> consensus</c>

00:12:55.900 --> 00:12:55.910 align:start position:0%
consensus to the blockchain consensus
 

00:12:55.910 --> 00:12:59.620 align:start position:0%
consensus to the blockchain consensus
with<00:12:56.030><c> a</c><00:12:56.060><c> minimum</c><00:12:56.450><c> change</c><00:12:58.270><c> safety</c><00:12:59.270><c> Oracle's</c>

00:12:59.620 --> 00:12:59.630 align:start position:0%
with a minimum change safety Oracle's
 

00:12:59.630 --> 00:13:00.670 align:start position:0%
with a minimum change safety Oracle's
this<00:12:59.750><c> is</c><00:12:59.840><c> kind</c><00:12:59.990><c> of</c><00:13:00.020><c> important</c><00:13:00.380><c> it's</c><00:13:00.530><c> kind</c><00:13:00.650><c> of</c>

00:13:00.670 --> 00:13:00.680 align:start position:0%
this is kind of important it's kind of
 

00:13:00.680 --> 00:13:02.740 align:start position:0%
this is kind of important it's kind of
important<00:13:01.010><c> that</c><00:13:01.040><c> we</c><00:13:01.340><c> are</c><00:13:01.700><c> able</c><00:13:02.270><c> to</c><00:13:02.390><c> detect</c>

00:13:02.740 --> 00:13:02.750 align:start position:0%
important that we are able to detect
 

00:13:02.750 --> 00:13:04.800 align:start position:0%
important that we are able to detect
safety<00:13:03.170><c> I'm</c><00:13:03.770><c> not</c><00:13:03.890><c> sure</c><00:13:03.980><c> happened</c><00:13:04.250><c> this</c><00:13:04.340><c> slide</c>

00:13:04.800 --> 00:13:04.810 align:start position:0%
safety I'm not sure happened this slide
 

00:13:04.810 --> 00:13:10.690 align:start position:0%
safety I'm not sure happened this slide
so<00:13:06.970><c> and</c><00:13:08.410><c> no</c><00:13:09.410><c> like</c><00:13:09.770><c> what</c><00:13:10.100><c> I've</c><00:13:10.190><c> shown</c><00:13:10.400><c> so</c><00:13:10.520><c> far</c><00:13:10.550><c> is</c>

00:13:10.690 --> 00:13:10.700 align:start position:0%
so and no like what I've shown so far is
 

00:13:10.700 --> 00:13:12.970 align:start position:0%
so and no like what I've shown so far is
if<00:13:10.970><c> you</c><00:13:11.120><c> were</c><00:13:11.420><c> to</c><00:13:11.720><c> make</c><00:13:11.840><c> estimate</c><00:13:12.440><c> decisions</c>

00:13:12.970 --> 00:13:12.980 align:start position:0%
if you were to make estimate decisions
 

00:13:12.980 --> 00:13:14.380 align:start position:0%
if you were to make estimate decisions
on<00:13:13.040><c> safe</c><00:13:13.220><c> estimates</c><00:13:13.610><c> then</c><00:13:14.060><c> it</c><00:13:14.180><c> would</c><00:13:14.270><c> be</c>

00:13:14.380 --> 00:13:14.390 align:start position:0%
on safe estimates then it would be
 

00:13:14.390 --> 00:13:17.050 align:start position:0%
on safe estimates then it would be
consensus<00:13:14.780><c> safe</c><00:13:14.930><c> but</c><00:13:15.920><c> you</c><00:13:16.580><c> might</c><00:13:16.760><c> you</c><00:13:16.880><c> need</c><00:13:17.000><c> a</c>

00:13:17.050 --> 00:13:17.060 align:start position:0%
consensus safe but you might you need a
 

00:13:17.060 --> 00:13:18.330 align:start position:0%
consensus safe but you might you need a
way<00:13:17.210><c> we</c><00:13:17.420><c> might</c><00:13:17.570><c> actually</c><00:13:17.780><c> need</c><00:13:17.960><c> a</c><00:13:18.050><c> way</c><00:13:18.200><c> to</c>

00:13:18.330 --> 00:13:18.340 align:start position:0%
way we might actually need a way to
 

00:13:18.340 --> 00:13:20.800 align:start position:0%
way we might actually need a way to
figure<00:13:19.340><c> out</c><00:13:19.460><c> if</c><00:13:19.580><c> that's</c><00:13:19.790><c> the</c><00:13:19.880><c> case</c><00:13:20.030><c> so</c><00:13:20.630><c> we</c><00:13:20.690><c> have</c>

00:13:20.800 --> 00:13:20.810 align:start position:0%
figure out if that's the case so we have
 

00:13:20.810 --> 00:13:23.050 align:start position:0%
figure out if that's the case so we have
a<00:13:20.840><c> couple</c><00:13:20.990><c> of</c><00:13:21.080><c> definitions</c><00:13:21.560><c> here</c><00:13:21.790><c> and</c><00:13:22.790><c> this</c>

00:13:23.050 --> 00:13:23.060 align:start position:0%
a couple of definitions here and this
 

00:13:23.060 --> 00:13:24.790 align:start position:0%
a couple of definitions here and this
I'm<00:13:23.300><c> gonna</c><00:13:23.420><c> give</c><00:13:23.870><c> like</c><00:13:23.960><c> a</c><00:13:24.080><c> simple</c><00:13:24.440><c> way</c><00:13:24.530><c> to</c><00:13:24.590><c> do</c>

00:13:24.790 --> 00:13:24.800 align:start position:0%
I'm gonna give like a simple way to do
 

00:13:24.800 --> 00:13:27.340 align:start position:0%
I'm gonna give like a simple way to do
this<00:13:24.920><c> so</c><00:13:25.100><c> a</c><00:13:25.610><c> validator</c><00:13:26.390><c> sees</c><00:13:26.900><c> another</c>

00:13:27.340 --> 00:13:27.350 align:start position:0%
this so a validator sees another
 

00:13:27.350 --> 00:13:31.510 align:start position:0%
this so a validator sees another
validator<00:13:27.830><c> agreeing</c><00:13:28.070><c> on</c><00:13:28.220><c> an</c><00:13:28.370><c> estimate</c><00:13:28.790><c> if</c><00:13:30.520><c> the</c>

00:13:31.510 --> 00:13:31.520 align:start position:0%
validator agreeing on an estimate if the
 

00:13:31.520 --> 00:13:33.370 align:start position:0%
validator agreeing on an estimate if the
latest<00:13:31.910><c> in</c><00:13:32.330><c> the</c><00:13:32.690><c> latest</c><00:13:32.960><c> message</c><00:13:33.110><c> of</c>

00:13:33.370 --> 00:13:33.380 align:start position:0%
latest in the latest message of
 

00:13:33.380 --> 00:13:35.830 align:start position:0%
latest in the latest message of
validator<00:13:33.860><c> I</c><00:13:34.190><c> in</c><00:13:34.820><c> their</c><00:13:35.120><c> justification</c><00:13:35.750><c> the</c>

00:13:35.830 --> 00:13:35.840 align:start position:0%
validator I in their justification the
 

00:13:35.840 --> 00:13:37.480 align:start position:0%
validator I in their justification the
latest<00:13:36.110><c> message</c><00:13:36.230><c> Missy</c><00:13:36.560><c> from</c><00:13:36.650><c> validator</c><00:13:37.040><c> J</c>

00:13:37.480 --> 00:13:37.490 align:start position:0%
latest message Missy from validator J
 

00:13:37.490 --> 00:13:40.540 align:start position:0%
latest message Missy from validator J
has<00:13:38.150><c> an</c><00:13:38.510><c> estimate</c><00:13:38.900><c> that</c><00:13:38.930><c> agrees</c><00:13:39.440><c> with</c><00:13:40.400><c> the</c>

00:13:40.540 --> 00:13:40.550 align:start position:0%
has an estimate that agrees with the
 

00:13:40.550 --> 00:13:42.090 align:start position:0%
has an estimate that agrees with the
estimate<00:13:40.820><c> that</c><00:13:40.940><c> we're</c><00:13:41.060><c> trying</c><00:13:41.270><c> to</c><00:13:41.390><c> say</c><00:13:41.660><c> is</c>

00:13:42.090 --> 00:13:42.100 align:start position:0%
estimate that we're trying to say is
 

00:13:42.100 --> 00:13:44.980 align:start position:0%
estimate that we're trying to say is
safe<00:13:43.240><c> an</c><00:13:44.240><c> agreement</c><00:13:44.540><c> in</c><00:13:44.780><c> the</c><00:13:44.810><c> binary</c>

00:13:44.980 --> 00:13:44.990 align:start position:0%
safe an agreement in the binary
 

00:13:44.990 --> 00:13:47.230 align:start position:0%
safe an agreement in the binary
consensus<00:13:45.530><c> means</c><00:13:45.680><c> that</c><00:13:45.950><c> they</c><00:13:46.130><c> are</c><00:13:46.430><c> the</c><00:13:47.090><c> same</c>

00:13:47.230 --> 00:13:47.240 align:start position:0%
consensus means that they are the same
 

00:13:47.240 --> 00:13:48.730 align:start position:0%
consensus means that they are the same
bit<00:13:47.450><c> in</c><00:13:47.660><c> the</c><00:13:47.870><c> blockchain</c><00:13:48.050><c> consensus</c><00:13:48.590><c> means</c>

00:13:48.730 --> 00:13:48.740 align:start position:0%
bit in the blockchain consensus means
 

00:13:48.740 --> 00:13:51.250 align:start position:0%
bit in the blockchain consensus means
that<00:13:48.920><c> they</c><00:13:49.070><c> are</c><00:13:49.310><c> in</c><00:13:49.730><c> the</c><00:13:50.600><c> Block</c><00:13:50.900><c> in</c><00:13:51.110><c> the</c>

00:13:51.250 --> 00:13:51.260 align:start position:0%
that they are in the Block in the
 

00:13:51.260 --> 00:13:54.580 align:start position:0%
that they are in the Block in the
blockchain<00:13:51.470><c> of</c><00:13:51.890><c> the</c><00:13:52.520><c> other</c><00:13:52.640><c> block</c><00:13:52.900><c> so</c><00:13:53.900><c> so</c><00:13:54.290><c> VI</c>

00:13:54.580 --> 00:13:54.590 align:start position:0%
blockchain of the other block so so VI
 

00:13:54.590 --> 00:13:56.950 align:start position:0%
blockchain of the other block so so VI
sees<00:13:55.040><c> BJ</c><00:13:55.400><c> means</c><00:13:55.640><c> that</c><00:13:55.790><c> the</c><00:13:56.120><c> validator</c><00:13:56.510><c> I</c><00:13:56.600><c> see</c>

00:13:56.950 --> 00:13:56.960 align:start position:0%
sees BJ means that the validator I see
 

00:13:56.960 --> 00:13:58.420 align:start position:0%
sees BJ means that the validator I see
the<00:13:57.020><c> latest</c><00:13:57.320><c> message</c><00:13:57.560><c> from</c><00:13:57.650><c> validator</c><00:13:58.040><c> J</c><00:13:58.250><c> that</c>

00:13:58.420 --> 00:13:58.430 align:start position:0%
the latest message from validator J that
 

00:13:58.430 --> 00:14:00.550 align:start position:0%
the latest message from validator J that
agrees<00:13:58.810><c> and</c><00:13:59.810><c> there's</c><00:14:00.080><c> another</c><00:14:00.200><c> definition</c>

00:14:00.550 --> 00:14:00.560 align:start position:0%
agrees and there's another definition
 

00:14:00.560 --> 00:14:01.870 align:start position:0%
agrees and there's another definition
you<00:14:00.620><c> know</c><00:14:00.680><c> that's</c><00:14:00.830><c> cropped</c><00:14:01.220><c> out</c><00:14:01.370><c> and</c><00:14:01.670><c> it</c>

00:14:01.870 --> 00:14:01.880 align:start position:0%
you know that's cropped out and it
 

00:14:01.880 --> 00:14:04.000 align:start position:0%
you know that's cropped out and it
basically<00:14:01.940><c> says</c><00:14:02.210><c> the</c><00:14:02.300><c> VI</c><00:14:02.450><c> can't</c><00:14:03.050><c> see</c><00:14:03.470><c> VJ</c>

00:14:04.000 --> 00:14:04.010 align:start position:0%
basically says the VI can't see VJ
 

00:14:04.010 --> 00:14:06.580 align:start position:0%
basically says the VI can't see VJ
disagree<00:14:04.930><c> which</c><00:14:05.930><c> means</c><00:14:06.110><c> that</c><00:14:06.230><c> they</c><00:14:06.320><c> there's</c>

00:14:06.580 --> 00:14:06.590 align:start position:0%
disagree which means that they there's
 

00:14:06.590 --> 00:14:08.350 align:start position:0%
disagree which means that they there's
no<00:14:06.710><c> new</c><00:14:07.190><c> latest</c><00:14:07.370><c> message</c><00:14:07.670><c> from</c><00:14:07.790><c> GJ</c><00:14:08.120><c> that</c><00:14:08.270><c> they</c>

00:14:08.350 --> 00:14:08.360 align:start position:0%
no new latest message from GJ that they
 

00:14:08.360 --> 00:14:09.490 align:start position:0%
no new latest message from GJ that they
could<00:14:08.510><c> see</c><00:14:08.630><c> that</c><00:14:08.780><c> doesn't</c><00:14:09.140><c> agree</c><00:14:09.260><c> with</c><00:14:09.350><c> the</c>

00:14:09.490 --> 00:14:09.500 align:start position:0%
could see that doesn't agree with the
 

00:14:09.500 --> 00:14:12.580 align:start position:0%
could see that doesn't agree with the
estimate<00:14:09.770><c> and</c><00:14:10.040><c> so</c><00:14:10.550><c> basically</c><00:14:10.850><c> if</c><00:14:11.500><c> there's</c><00:14:12.500><c> a</c>

00:14:12.580 --> 00:14:12.590 align:start position:0%
estimate and so basically if there's a
 

00:14:12.590 --> 00:14:15.040 align:start position:0%
estimate and so basically if there's a
set<00:14:12.770><c> of</c><00:14:12.860><c> validators</c><00:14:13.310><c> who</c><00:14:13.670><c> can't</c><00:14:14.090><c> who</c><00:14:14.780><c> see</c><00:14:14.990><c> each</c>

00:14:15.040 --> 00:14:15.050 align:start position:0%
set of validators who can't who see each
 

00:14:15.050 --> 00:14:16.690 align:start position:0%
set of validators who can't who see each
other<00:14:15.230><c> agree</c><00:14:15.440><c> and</c><00:14:15.710><c> can't</c><00:14:16.100><c> see</c><00:14:16.400><c> each</c><00:14:16.520><c> other</c>

00:14:16.690 --> 00:14:16.700 align:start position:0%
other agree and can't see each other
 

00:14:16.700 --> 00:14:22.240 align:start position:0%
other agree and can't see each other
disagree<00:14:17.740><c> it</c><00:14:18.740><c> turns</c><00:14:18.980><c> out</c><00:14:19.190><c> that</c><00:14:20.380><c> if</c><00:14:21.380><c> they</c><00:14:22.040><c> have</c>

00:14:22.240 --> 00:14:22.250 align:start position:0%
disagree it turns out that if they have
 

00:14:22.250 --> 00:14:24.370 align:start position:0%
disagree it turns out that if they have
some<00:14:23.030><c> number</c><00:14:23.330><c> of</c><00:14:23.360><c> wait</c><00:14:23.630><c> some</c><00:14:24.140><c> amount</c><00:14:24.320><c> of</c>

00:14:24.370 --> 00:14:24.380 align:start position:0%
some number of wait some amount of
 

00:14:24.380 --> 00:14:29.740 align:start position:0%
some number of wait some amount of
weight<00:14:24.730><c> and</c><00:14:25.730><c> that</c><00:14:25.910><c> weight</c><00:14:25.970><c> is</c><00:14:27.250><c> more</c><00:14:28.250><c> than</c><00:14:28.750><c> more</c>

00:14:29.740 --> 00:14:29.750 align:start position:0%
weight and that weight is more than more
 

00:14:29.750 --> 00:14:31.780 align:start position:0%
weight and that weight is more than more
than<00:14:29.900><c> half</c><00:14:30.050><c> the</c><00:14:30.230><c> weight</c><00:14:30.380><c> then</c><00:14:30.800><c> you</c><00:14:31.130><c> then</c><00:14:31.550><c> you</c>

00:14:31.780 --> 00:14:31.790 align:start position:0%
than half the weight then you then you
 

00:14:31.790 --> 00:14:33.370 align:start position:0%
than half the weight then you then you
can<00:14:31.910><c> actually</c><00:14:32.060><c> show</c><00:14:32.660><c> that</c><00:14:32.930><c> there</c><00:14:33.080><c> are</c><00:14:33.170><c> some</c>

00:14:33.370 --> 00:14:33.380 align:start position:0%
can actually show that there are some
 

00:14:33.380 --> 00:14:35.320 align:start position:0%
can actually show that there are some
amount<00:14:33.620><c> of</c><00:14:33.650><c> fault</c><00:14:33.830><c> tolerance</c><00:14:34.220><c> but</c><00:14:34.700><c> our</c><00:14:35.120><c> safety</c>

00:14:35.320 --> 00:14:35.330 align:start position:0%
amount of fault tolerance but our safety
 

00:14:35.330 --> 00:14:37.210 align:start position:0%
amount of fault tolerance but our safety
definition<00:14:35.750><c> requires</c><00:14:36.050><c> that</c><00:14:36.290><c> we</c><00:14:36.410><c> have</c><00:14:36.560><c> t</c><00:14:36.860><c> fault</c>

00:14:37.210 --> 00:14:37.220 align:start position:0%
definition requires that we have t fault
 

00:14:37.220 --> 00:14:38.710 align:start position:0%
definition requires that we have t fault
although<00:14:37.580><c> we</c><00:14:37.700><c> can</c><00:14:37.790><c> tolerate</c><00:14:37.910><c> up</c><00:14:38.150><c> to</c><00:14:38.240><c> T</c><00:14:38.360><c> faults</c>

00:14:38.710 --> 00:14:38.720 align:start position:0%
although we can tolerate up to T faults
 

00:14:38.720 --> 00:14:43.750 align:start position:0%
although we can tolerate up to T faults
however<00:14:42.100><c> there</c><00:14:43.100><c> might</c><00:14:43.220><c> already</c><00:14:43.370><c> be</c><00:14:43.490><c> some</c>

00:14:43.750 --> 00:14:43.760 align:start position:0%
however there might already be some
 

00:14:43.760 --> 00:14:45.400 align:start position:0%
however there might already be some
initial<00:14:43.970><c> faults</c><00:14:44.390><c> in</c><00:14:44.480><c> our</c><00:14:44.570><c> view</c><00:14:44.810><c> so</c><00:14:45.110><c> we</c><00:14:45.200><c> kind</c><00:14:45.350><c> of</c>

00:14:45.400 --> 00:14:45.410 align:start position:0%
initial faults in our view so we kind of
 

00:14:45.410 --> 00:14:47.580 align:start position:0%
initial faults in our view so we kind of
subtract<00:14:45.770><c> that</c><00:14:45.920><c> so</c><00:14:46.160><c> basically</c><00:14:46.250><c> as</c><00:14:46.700><c> long</c><00:14:47.210><c> as</c>

00:14:47.580 --> 00:14:47.590 align:start position:0%
subtract that so basically as long as
 

00:14:47.590 --> 00:14:51.970 align:start position:0%
subtract that so basically as long as
the<00:14:48.970><c> the</c><00:14:49.970><c> the</c><00:14:50.810><c> this</c><00:14:51.320><c> is</c><00:14:51.440><c> this</c><00:14:51.500><c> is</c><00:14:51.620><c> kind</c><00:14:51.800><c> of</c><00:14:51.830><c> the</c>

00:14:51.970 --> 00:14:51.980 align:start position:0%
the the the this is this is kind of the
 

00:14:51.980 --> 00:14:55.540 align:start position:0%
the the the this is this is kind of the
overlap<00:14:52.520><c> between</c><00:14:52.550><c> two</c><00:14:54.070><c> sets</c><00:14:55.070><c> of</c><00:14:55.190><c> Valladares</c>

00:14:55.540 --> 00:14:55.550 align:start position:0%
overlap between two sets of Valladares
 

00:14:55.550 --> 00:14:58.060 align:start position:0%
overlap between two sets of Valladares
that<00:14:55.760><c> would</c><00:14:56.390><c> like</c><00:14:57.050><c> the</c><00:14:57.290><c> overlap</c><00:14:57.680><c> and</c><00:14:57.830><c> weight</c>

00:14:58.060 --> 00:14:58.070 align:start position:0%
that would like the overlap and weight
 

00:14:58.070 --> 00:15:01.060 align:start position:0%
that would like the overlap and weight
of<00:14:58.280><c> the</c><00:14:58.940><c> validators</c><00:14:59.630><c> in</c><00:14:59.720><c> the</c><00:14:59.780><c> klique</c><00:15:00.070><c> if</c>

00:15:01.060 --> 00:15:01.070 align:start position:0%
of the validators in the klique if
 

00:15:01.070 --> 00:15:03.430 align:start position:0%
of the validators in the klique if
that's<00:15:01.339><c> more</c><00:15:01.700><c> than</c><00:15:01.940><c> the</c><00:15:02.089><c> fault</c><00:15:02.330><c> tolerance</c>

00:15:03.430 --> 00:15:03.440 align:start position:0%
that's more than the fault tolerance
 

00:15:03.440 --> 00:15:05.800 align:start position:0%
that's more than the fault tolerance
then<00:15:04.100><c> we're</c><00:15:04.399><c> then</c><00:15:04.639><c> we</c><00:15:04.730><c> have</c><00:15:04.850><c> safety</c><00:15:05.209><c> it's</c><00:15:05.600><c> very</c>

00:15:05.800 --> 00:15:05.810 align:start position:0%
then we're then we have safety it's very
 

00:15:05.810 --> 00:15:06.790 align:start position:0%
then we're then we have safety it's very
similar<00:15:05.990><c> to</c><00:15:06.199><c> a</c><00:15:06.259><c> traditional</c><00:15:06.290><c> kind</c><00:15:06.680><c> of</c>

00:15:06.790 --> 00:15:06.800 align:start position:0%
similar to a traditional kind of
 

00:15:06.800 --> 00:15:09.160 align:start position:0%
similar to a traditional kind of
consensus<00:15:07.129><c> safety</c><00:15:07.339><c> proof</c><00:15:07.550><c> only</c><00:15:07.910><c> it's</c><00:15:08.660><c> working</c>

00:15:09.160 --> 00:15:09.170 align:start position:0%
consensus safety proof only it's working
 

00:15:09.170 --> 00:15:10.420 align:start position:0%
consensus safety proof only it's working
on<00:15:09.259><c> these</c><00:15:09.350><c> estimates</c><00:15:09.709><c> instead</c><00:15:10.040><c> and</c><00:15:10.279><c> the</c>

00:15:10.420 --> 00:15:10.430 align:start position:0%
on these estimates instead and the
 

00:15:10.430 --> 00:15:13.090 align:start position:0%
on these estimates instead and the
intuition<00:15:10.639><c> is</c><00:15:10.759><c> quite</c><00:15:10.970><c> clear</c><00:15:11.240><c> basically</c><00:15:11.839><c> if</c><00:15:12.529><c> in</c>

00:15:13.090 --> 00:15:13.100 align:start position:0%
intuition is quite clear basically if in
 

00:15:13.100 --> 00:15:14.199 align:start position:0%
intuition is quite clear basically if in
the<00:15:13.220><c> clique</c><00:15:13.399><c> they</c><00:15:13.550><c> can't</c><00:15:13.730><c> can't</c><00:15:14.029><c> convince</c>

00:15:14.199 --> 00:15:14.209 align:start position:0%
the clique they can't can't convince
 

00:15:14.209 --> 00:15:15.129 align:start position:0%
the clique they can't can't convince
each<00:15:14.360><c> other</c><00:15:14.449><c> that</c><00:15:14.569><c> they've</c><00:15:14.810><c> seen</c><00:15:14.990><c> something</c>

00:15:15.129 --> 00:15:15.139 align:start position:0%
each other that they've seen something
 

00:15:15.139 --> 00:15:17.079 align:start position:0%
each other that they've seen something
else<00:15:15.290><c> and</c><00:15:15.560><c> if</c><00:15:16.279><c> they</c><00:15:16.430><c> have</c><00:15:16.550><c> more</c><00:15:16.670><c> than</c><00:15:16.730><c> half</c><00:15:16.970><c> the</c>

00:15:17.079 --> 00:15:17.089 align:start position:0%
else and if they have more than half the
 

00:15:17.089 --> 00:15:18.790 align:start position:0%
else and if they have more than half the
weight<00:15:17.209><c> then</c><00:15:17.690><c> whoever</c><00:15:18.139><c> can</c><00:15:18.350><c> convince</c><00:15:18.680><c> them</c>

00:15:18.790 --> 00:15:18.800 align:start position:0%
weight then whoever can convince them
 

00:15:18.800 --> 00:15:20.019 align:start position:0%
weight then whoever can convince them
from<00:15:18.920><c> outside</c><00:15:19.250><c> the</c><00:15:19.370><c> clique</c><00:15:19.550><c> won't</c><00:15:19.879><c> have</c>

00:15:20.019 --> 00:15:20.029 align:start position:0%
from outside the clique won't have
 

00:15:20.029 --> 00:15:21.329 align:start position:0%
from outside the clique won't have
enough<00:15:20.209><c> weight</c><00:15:20.360><c> to</c><00:15:20.480><c> actually</c><00:15:20.720><c> contribute</c>

00:15:21.329 --> 00:15:21.339 align:start position:0%
enough weight to actually contribute
 

00:15:21.339 --> 00:15:23.829 align:start position:0%
enough weight to actually contribute
great<00:15:22.339><c> so</c><00:15:22.850><c> that</c><00:15:23.000><c> actually</c><00:15:23.300><c> was</c><00:15:23.420><c> a</c><00:15:23.480><c> hard</c><00:15:23.689><c> part</c>

00:15:23.829 --> 00:15:23.839 align:start position:0%
great so that actually was a hard part
 

00:15:23.839 --> 00:15:26.110 align:start position:0%
great so that actually was a hard part
also<00:15:23.990><c> but</c><00:15:24.519><c> we're</c><00:15:25.519><c> getting</c><00:15:25.730><c> through</c><00:15:25.879><c> it</c><00:15:25.970><c> we're</c>

00:15:26.110 --> 00:15:26.120 align:start position:0%
also but we're getting through it we're
 

00:15:26.120 --> 00:15:28.300 align:start position:0%
also but we're getting through it we're
almost<00:15:26.209><c> done</c><00:15:26.449><c> so</c><00:15:26.920><c> subjective</c><00:15:27.920><c> fault</c>

00:15:28.300 --> 00:15:28.310 align:start position:0%
almost done so subjective fault
 

00:15:28.310 --> 00:15:29.499 align:start position:0%
almost done so subjective fault
tolerance<00:15:28.430><c> thresholds</c><00:15:28.910><c> is</c><00:15:29.029><c> a</c><00:15:29.120><c> pretty</c><00:15:29.360><c> cool</c>

00:15:29.499 --> 00:15:29.509 align:start position:0%
tolerance thresholds is a pretty cool
 

00:15:29.509 --> 00:15:31.420 align:start position:0%
tolerance thresholds is a pretty cool
thing<00:15:29.540><c> basically</c><00:15:30.500><c> if</c><00:15:30.740><c> you</c><00:15:31.040><c> have</c><00:15:31.220><c> two</c>

00:15:31.420 --> 00:15:31.430 align:start position:0%
thing basically if you have two
 

00:15:31.430 --> 00:15:33.579 align:start position:0%
thing basically if you have two
protocols<00:15:31.759><c> which</c><00:15:32.240><c> have</c><00:15:32.629><c> the</c><00:15:32.750><c> same</c><00:15:32.779><c> words</c><00:15:33.470><c> are</c>

00:15:33.579 --> 00:15:33.589 align:start position:0%
protocols which have the same words are
 

00:15:33.589 --> 00:15:34.780 align:start position:0%
protocols which have the same words are
the<00:15:33.709><c> same</c><00:15:33.740><c> except</c><00:15:34.189><c> for</c><00:15:34.220><c> the</c><00:15:34.370><c> fact</c><00:15:34.550><c> that</c><00:15:34.639><c> they</c>

00:15:34.780 --> 00:15:34.790 align:start position:0%
the same except for the fact that they
 

00:15:34.790 --> 00:15:35.679 align:start position:0%
the same except for the fact that they
operate<00:15:34.910><c> two</c><00:15:35.209><c> different</c><00:15:35.420><c> fault</c><00:15:35.569><c> tolerance</c>

00:15:35.679 --> 00:15:35.689 align:start position:0%
operate two different fault tolerance
 

00:15:35.689 --> 00:15:37.059 align:start position:0%
operate two different fault tolerance
threshold<00:15:35.930><c> and</c><00:15:36.470><c> one</c><00:15:36.620><c> of</c><00:15:36.680><c> them</c><00:15:36.769><c> is</c><00:15:36.860><c> small</c><00:15:37.009><c> on</c>

00:15:37.059 --> 00:15:37.069 align:start position:0%
threshold and one of them is small on
 

00:15:37.069 --> 00:15:40.269 align:start position:0%
threshold and one of them is small on
the<00:15:37.160><c> other</c><00:15:37.279><c> then</c><00:15:37.930><c> consensus</c><00:15:38.930><c> then</c><00:15:39.470><c> no</c><00:15:39.980><c> to</c><00:15:40.040><c> make</c>

00:15:40.269 --> 00:15:40.279 align:start position:0%
the other then consensus then no to make
 

00:15:40.279 --> 00:15:41.290 align:start position:0%
the other then consensus then no to make
decisions<00:15:40.610><c> in</c><00:15:40.670><c> these</c><00:15:40.790><c> protocols</c><00:15:40.970><c> will</c>

00:15:41.290 --> 00:15:41.300 align:start position:0%
decisions in these protocols will
 

00:15:41.300 --> 00:15:43.629 align:start position:0%
decisions in these protocols will
actually<00:15:41.629><c> have</c><00:15:41.720><c> consensus</c><00:15:42.110><c> safety</c><00:15:42.379><c> as</c><00:15:43.279><c> long</c>

00:15:43.629 --> 00:15:43.639 align:start position:0%
actually have consensus safety as long
 

00:15:43.639 --> 00:15:44.920 align:start position:0%
actually have consensus safety as long
as<00:15:43.759><c> the</c><00:15:43.850><c> number</c><00:15:44.029><c> of</c><00:15:44.149><c> Falls</c><00:15:44.329><c> exhibited</c><00:15:44.810><c> in</c>

00:15:44.920 --> 00:15:44.930 align:start position:0%
as the number of Falls exhibited in
 

00:15:44.930 --> 00:15:46.449 align:start position:0%
as the number of Falls exhibited in
their<00:15:45.050><c> union</c><00:15:45.259><c> of</c><00:15:45.500><c> their</c><00:15:45.589><c> views</c><00:15:45.829><c> is</c><00:15:46.040><c> less</c><00:15:46.279><c> than</c>

00:15:46.449 --> 00:15:46.459 align:start position:0%
their union of their views is less than
 

00:15:46.459 --> 00:15:47.920 align:start position:0%
their union of their views is less than
the<00:15:46.550><c> smallest</c><00:15:46.910><c> of</c><00:15:47.180><c> their</c><00:15:47.329><c> fault</c><00:15:47.540><c> tolerance</c>

00:15:47.920 --> 00:15:47.930 align:start position:0%
the smallest of their fault tolerance
 

00:15:47.930 --> 00:15:49.689 align:start position:0%
the smallest of their fault tolerance
thresholds<00:15:48.319><c> and</c><00:15:48.560><c> it's</c><00:15:49.129><c> really</c><00:15:49.310><c> cool</c><00:15:49.519><c> because</c>

00:15:49.689 --> 00:15:49.699 align:start position:0%
thresholds and it's really cool because
 

00:15:49.699 --> 00:15:51.429 align:start position:0%
thresholds and it's really cool because
having<00:15:50.480><c> fault</c><00:15:50.750><c> tolerance</c><00:15:50.899><c> partials</c><00:15:51.290><c> in</c><00:15:51.379><c> the</c>

00:15:51.429 --> 00:15:51.439 align:start position:0%
having fault tolerance partials in the
 

00:15:51.439 --> 00:15:54.040 align:start position:0%
having fault tolerance partials in the
protocol<00:15:51.879><c> makes</c><00:15:52.879><c> it</c><00:15:53.029><c> easier</c><00:15:53.329><c> to</c><00:15:53.360><c> attack</c><00:15:53.750><c> and</c>

00:15:54.040 --> 00:15:54.050 align:start position:0%
protocol makes it easier to attack and
 

00:15:54.050 --> 00:15:55.360 align:start position:0%
protocol makes it easier to attack and
pose<00:15:54.230><c> a</c><00:15:54.259><c> bunch</c><00:15:54.529><c> of</c><00:15:54.560><c> economic</c><00:15:55.009><c> problems</c><00:15:55.310><c> that</c>

00:15:55.360 --> 00:15:55.370 align:start position:0%
pose a bunch of economic problems that
 

00:15:55.370 --> 00:15:58.059 align:start position:0%
pose a bunch of economic problems that
are<00:15:55.730><c> out</c><00:15:56.180><c> of</c><00:15:56.509><c> scope</c><00:15:56.689><c> for</c><00:15:56.750><c> this</c><00:15:56.899><c> talk</c><00:15:57.170><c> but</c><00:15:57.470><c> stuff</c>

00:15:58.059 --> 00:15:58.069 align:start position:0%
are out of scope for this talk but stuff
 

00:15:58.069 --> 00:15:59.879 align:start position:0%
are out of scope for this talk but stuff
about<00:15:58.220><c> cartelization</c><00:15:58.730><c> and</c><00:15:59.089><c> focal</c><00:15:59.329><c> points</c>

00:15:59.879 --> 00:15:59.889 align:start position:0%
about cartelization and focal points
 

00:15:59.889 --> 00:16:01.900 align:start position:0%
about cartelization and focal points
validate<00:16:00.889><c> a</c><00:16:00.920><c> rotation</c><00:16:01.310><c> this</c><00:16:01.430><c> is</c><00:16:01.579><c> an</c><00:16:01.670><c> exciting</c>

00:16:01.900 --> 00:16:01.910 align:start position:0%
validate a rotation this is an exciting
 

00:16:01.910 --> 00:16:02.199 align:start position:0%
validate a rotation this is an exciting
thing

00:16:02.199 --> 00:16:02.209 align:start position:0%
thing
 

00:16:02.209 --> 00:16:04.960 align:start position:0%
thing
so<00:16:03.170><c> I</c><00:16:03.199><c> mean</c><00:16:03.350><c> I've</c><00:16:03.470><c> changed</c><00:16:04.279><c> the</c><00:16:04.430><c> structure</c><00:16:04.759><c> of</c>

00:16:04.960 --> 00:16:04.970 align:start position:0%
so I mean I've changed the structure of
 

00:16:04.970 --> 00:16:06.610 align:start position:0%
so I mean I've changed the structure of
the<00:16:05.029><c> blockchain</c><00:16:05.269><c> a</c><00:16:05.750><c> little</c><00:16:05.990><c> bit</c><00:16:06.079><c> to</c><00:16:06.500><c> add</c>

00:16:06.610 --> 00:16:06.620 align:start position:0%
the blockchain a little bit to add
 

00:16:06.620 --> 00:16:09.069 align:start position:0%
the blockchain a little bit to add
weights<00:16:07.220><c> to</c><00:16:07.399><c> the</c><00:16:07.730><c> to</c><00:16:07.970><c> the</c><00:16:08.089><c> block</c><00:16:08.329><c> right</c><00:16:08.750><c> before</c>

00:16:09.069 --> 00:16:09.079 align:start position:0%
weights to the to the block right before
 

00:16:09.079 --> 00:16:10.569 align:start position:0%
weights to the to the block right before
we<00:16:09.170><c> had</c><00:16:09.259><c> validated</c><00:16:09.800><c> weights</c><00:16:10.040><c> kind</c><00:16:10.160><c> of</c><00:16:10.279><c> this</c>

00:16:10.569 --> 00:16:10.579 align:start position:0%
we had validated weights kind of this
 

00:16:10.579 --> 00:16:12.249 align:start position:0%
we had validated weights kind of this
global<00:16:10.939><c> thing</c><00:16:11.120><c> now</c><00:16:11.660><c> we're</c><00:16:11.750><c> gonna</c><00:16:11.839><c> add</c><00:16:12.019><c> weights</c>

00:16:12.249 --> 00:16:12.259 align:start position:0%
global thing now we're gonna add weights
 

00:16:12.259 --> 00:16:14.800 align:start position:0%
global thing now we're gonna add weights
to<00:16:12.319><c> the</c><00:16:12.439><c> justification</c><00:16:13.040><c> though</c><00:16:13.880><c> so</c><00:16:14.060><c> the</c><00:16:14.509><c> you</c>

00:16:14.800 --> 00:16:14.810 align:start position:0%
to the justification though so the you
 

00:16:14.810 --> 00:16:15.819 align:start position:0%
to the justification though so the you
know<00:16:14.899><c> blocks</c><00:16:15.170><c> give</c><00:16:15.350><c> me</c><00:16:15.410><c> the</c><00:16:15.500><c> same</c><00:16:15.620><c> as</c><00:16:15.709><c> before</c>

00:16:15.819 --> 00:16:15.829 align:start position:0%
know blocks give me the same as before
 

00:16:15.829 --> 00:16:17.829 align:start position:0%
know blocks give me the same as before
like<00:16:16.250><c> you</c><00:16:16.430><c> know</c><00:16:16.550><c> they</c><00:16:16.639><c> have</c><00:16:16.910><c> a</c><00:16:16.939><c> block</c><00:16:17.209><c> ascender</c>

00:16:17.829 --> 00:16:17.839 align:start position:0%
like you know they have a block ascender
 

00:16:17.839 --> 00:16:20.319 align:start position:0%
like you know they have a block ascender
justification<00:16:18.740><c> and</c><00:16:18.920><c> the</c><00:16:19.610><c> justification</c><00:16:19.939><c> now</c>

00:16:20.319 --> 00:16:20.329 align:start position:0%
justification and the justification now
 

00:16:20.329 --> 00:16:21.579 align:start position:0%
justification and the justification now
has<00:16:20.509><c> this</c><00:16:20.600><c> additional</c><00:16:21.050><c> thing</c><00:16:21.230><c> called</c><00:16:21.529><c> the</c>

00:16:21.579 --> 00:16:21.589 align:start position:0%
has this additional thing called the
 

00:16:21.589 --> 00:16:25.059 align:start position:0%
has this additional thing called the
weights<00:16:21.769><c> and</c><00:16:22.630><c> then</c><00:16:23.630><c> we</c><00:16:23.899><c> can</c><00:16:24.110><c> we</c><00:16:24.800><c> need</c><00:16:24.920><c> to</c><00:16:24.980><c> be</c>

00:16:25.059 --> 00:16:25.069 align:start position:0%
weights and then we can we need to be
 

00:16:25.069 --> 00:16:27.790 align:start position:0%
weights and then we can we need to be
define<00:16:25.339><c> the</c><00:16:25.610><c> score</c><00:16:26.329><c> of</c><00:16:26.480><c> a</c><00:16:26.540><c> block</c><00:16:26.779><c> to</c><00:16:27.139><c> use</c><00:16:27.500><c> the</c>

00:16:27.790 --> 00:16:27.800 align:start position:0%
define the score of a block to use the
 

00:16:27.800 --> 00:16:30.670 align:start position:0%
define the score of a block to use the
weights<00:16:28.100><c> of</c><00:16:28.459><c> the</c><00:16:29.120><c> parents</c><00:16:29.689><c> block</c><00:16:29.930><c> in</c><00:16:30.319><c> order</c><00:16:30.589><c> to</c>

00:16:30.670 --> 00:16:30.680 align:start position:0%
weights of the parents block in order to
 

00:16:30.680 --> 00:16:33.490 align:start position:0%
weights of the parents block in order to
actually<00:16:30.829><c> choose</c><00:16:31.130><c> that</c><00:16:31.160><c> block</c><00:16:31.459><c> so</c><00:16:31.670><c> if</c><00:16:32.290><c> block</c><00:16:33.290><c> a</c>

00:16:33.490 --> 00:16:33.500 align:start position:0%
actually choose that block so if block a
 

00:16:33.500 --> 00:16:36.069 align:start position:0%
actually choose that block so if block a
has<00:16:33.980><c> weights</c><00:16:34.399><c> has</c><00:16:34.939><c> a</c><00:16:35.240><c> certain</c><00:16:35.689><c> set</c><00:16:35.839><c> of</c><00:16:35.870><c> weights</c>

00:16:36.069 --> 00:16:36.079 align:start position:0%
has weights has a certain set of weights
 

00:16:36.079 --> 00:16:37.749 align:start position:0%
has weights has a certain set of weights
then<00:16:36.410><c> the</c><00:16:36.529><c> children</c><00:16:37.009><c> walk</c><00:16:37.250><c> a</c><00:16:37.399><c> which</c><00:16:37.579><c> are</c><00:16:37.670><c> the</c>

00:16:37.749 --> 00:16:37.759 align:start position:0%
then the children walk a which are the
 

00:16:37.759 --> 00:16:39.579 align:start position:0%
then the children walk a which are the
blocks<00:16:38.209><c> that</c><00:16:38.329><c> have</c><00:16:38.689><c> a</c><00:16:38.720><c> pre-populated</c><00:16:39.139><c> block</c><00:16:39.560><c> a</c>

00:16:39.579 --> 00:16:39.589 align:start position:0%
blocks that have a pre-populated block a
 

00:16:39.589 --> 00:16:41.079 align:start position:0%
blocks that have a pre-populated block a
need<00:16:40.220><c> to</c><00:16:40.310><c> be</c><00:16:40.370><c> chosen</c><00:16:40.550><c> according</c><00:16:40.819><c> those</c>

00:16:41.079 --> 00:16:41.089 align:start position:0%
need to be chosen according those
 

00:16:41.089 --> 00:16:43.329 align:start position:0%
need to be chosen according those
weights<00:16:41.300><c> and</c><00:16:41.630><c> not</c><00:16:42.589><c> a</c><00:16:42.620><c> single</c><00:16:43.069><c> one</c><00:16:43.160><c> of</c><00:16:43.250><c> the</c>

00:16:43.329 --> 00:16:43.339 align:start position:0%
weights and not a single one of the
 

00:16:43.339 --> 00:16:44.920 align:start position:0%
weights and not a single one of the
other<00:16:43.430><c> definitions</c><00:16:43.880><c> need</c><00:16:44.000><c> to</c><00:16:44.089><c> change</c><00:16:44.300><c> and</c><00:16:44.540><c> so</c>

00:16:44.920 --> 00:16:44.930 align:start position:0%
other definitions need to change and so
 

00:16:44.930 --> 00:16:46.840 align:start position:0%
other definitions need to change and so
this<00:16:45.079><c> is</c><00:16:45.230><c> like</c><00:16:45.800><c> really</c><00:16:46.040><c> like</c><00:16:46.279><c> all</c><00:16:46.459><c> that</c><00:16:46.730><c> we</c>

00:16:46.840 --> 00:16:46.850 align:start position:0%
this is like really like all that we
 

00:16:46.850 --> 00:16:49.240 align:start position:0%
this is like really like all that we
needed<00:16:47.000><c> to</c><00:16:47.120><c> do</c><00:16:47.300><c> to</c><00:16:47.559><c> do</c><00:16:48.559><c> consensus</c><00:16:48.980><c> safety</c>

00:16:49.240 --> 00:16:49.250 align:start position:0%
needed to do to do consensus safety
 

00:16:49.250 --> 00:16:51.009 align:start position:0%
needed to do to do consensus safety
sorry<00:16:49.910><c> to</c><00:16:50.000><c> do</c><00:16:50.149><c> validate</c><00:16:50.509><c> rotation</c><00:16:50.839><c> with</c>

00:16:51.009 --> 00:16:51.019 align:start position:0%
sorry to do validate rotation with
 

00:16:51.019 --> 00:16:53.350 align:start position:0%
sorry to do validate rotation with
consent<00:16:51.319><c> the</c><00:16:51.380><c> safety</c><00:16:51.910><c> basically</c><00:16:52.910><c> because</c><00:16:53.149><c> all</c>

00:16:53.350 --> 00:16:53.360 align:start position:0%
consent the safety basically because all
 

00:16:53.360 --> 00:16:55.809 align:start position:0%
consent the safety basically because all
of<00:16:53.389><c> the</c><00:16:53.600><c> definitions</c><00:16:54.110><c> satisfy</c><00:16:54.680><c> the</c><00:16:54.740><c> the</c><00:16:55.339><c> car</c>

00:16:55.809 --> 00:16:55.819 align:start position:0%
of the definitions satisfy the the car
 

00:16:55.819 --> 00:16:57.370 align:start position:0%
of the definitions satisfy the the car
crackers<00:16:56.120><c> like</c><00:16:56.329><c> the</c><00:16:56.509><c> the</c><00:16:56.779><c> abstract</c><00:16:57.139><c> safety</c>

00:16:57.370 --> 00:16:57.380 align:start position:0%
crackers like the the abstract safety
 

00:16:57.380 --> 00:17:02.650 align:start position:0%
crackers like the the abstract safety
proof<00:16:59.110><c> you</c><00:17:00.110><c> know</c><00:17:00.230><c> because</c><00:17:01.220><c> like</c><00:17:01.540><c> because</c><00:17:02.540><c> they</c>

00:17:02.650 --> 00:17:02.660 align:start position:0%
proof you know because like because they
 

00:17:02.660 --> 00:17:04.720 align:start position:0%
proof you know because like because they
they<00:17:02.839><c> you</c><00:17:03.319><c> know</c><00:17:03.410><c> they're</c><00:17:03.559><c> they</c><00:17:04.189><c> have</c><00:17:04.220><c> a</c><00:17:04.429><c> common</c>

00:17:04.720 --> 00:17:04.730 align:start position:0%
they you know they're they have a common
 

00:17:04.730 --> 00:17:08.079 align:start position:0%
they you know they're they have a common
feature<00:17:04.880><c> unless</c><00:17:05.089><c> there's</c><00:17:05.270><c> t</c><00:17:05.390><c> faults</c><00:17:06.250><c> and</c><00:17:07.250><c> they</c>

00:17:08.079 --> 00:17:08.089 align:start position:0%
feature unless there's t faults and they
 

00:17:08.089 --> 00:17:09.309 align:start position:0%
feature unless there's t faults and they
only<00:17:08.240><c> decide</c><00:17:08.480><c> on</c><00:17:08.600><c> safe</c><00:17:08.780><c> estimates</c><00:17:09.110><c> so</c>

00:17:09.309 --> 00:17:09.319 align:start position:0%
only decide on safe estimates so
 

00:17:09.319 --> 00:17:11.559 align:start position:0%
only decide on safe estimates so
liveness<00:17:09.500><c> is</c><00:17:09.799><c> an</c><00:17:09.890><c> interesting</c><00:17:10.100><c> thing</c><00:17:10.569><c> you</c>

00:17:11.559 --> 00:17:11.569 align:start position:0%
liveness is an interesting thing you
 

00:17:11.569 --> 00:17:13.149 align:start position:0%
liveness is an interesting thing you
know<00:17:11.689><c> liveness</c><00:17:11.959><c> means</c><00:17:12.679><c> and</c><00:17:12.890><c> knows</c><00:17:12.980><c> like</c>

00:17:13.149 --> 00:17:13.159 align:start position:0%
know liveness means and knows like
 

00:17:13.159 --> 00:17:14.409 align:start position:0%
know liveness means and knows like
events<00:17:13.490><c> are</c><00:17:13.669><c> guaranteed</c><00:17:13.970><c> to</c><00:17:14.030><c> eventually</c><00:17:14.329><c> make</c>

00:17:14.409 --> 00:17:14.419 align:start position:0%
events are guaranteed to eventually make
 

00:17:14.419 --> 00:17:16.240 align:start position:0%
events are guaranteed to eventually make
a<00:17:14.480><c> decision</c><00:17:14.870><c> there's</c><00:17:15.319><c> a</c><00:17:15.380><c> result</c><00:17:15.649><c> in</c><00:17:15.890><c> consensus</c>

00:17:16.240 --> 00:17:16.250 align:start position:0%
a decision there's a result in consensus
 

00:17:16.250 --> 00:17:17.260 align:start position:0%
a decision there's a result in consensus
literature<00:17:16.520><c> called</c><00:17:16.640><c> FLP</c><00:17:17.000><c> and</c><00:17:17.089><c> poss</c>

00:17:17.260 --> 00:17:17.270 align:start position:0%
literature called FLP and poss
 

00:17:17.270 --> 00:17:18.579 align:start position:0%
literature called FLP and poss
ability<00:17:17.570><c> that</c><00:17:17.720><c> means</c><00:17:17.870><c> that</c><00:17:18.020><c> you</c><00:17:18.440><c> know</c><00:17:18.530><c> you</c>

00:17:18.579 --> 00:17:18.589 align:start position:0%
ability that means that you know you
 

00:17:18.589 --> 00:17:20.710 align:start position:0%
ability that means that you know you
can't<00:17:18.800><c> really</c><00:17:18.980><c> be</c><00:17:19.220><c> live</c><00:17:19.550><c> and</c><00:17:19.880><c> safe</c><00:17:20.420><c> in</c><00:17:20.630><c> an</c>

00:17:20.710 --> 00:17:20.720 align:start position:0%
can't really be live and safe in an
 

00:17:20.720 --> 00:17:22.810 align:start position:0%
can't really be live and safe in an
asynchronous<00:17:20.959><c> network</c><00:17:21.470><c> without</c><00:17:21.650><c> and</c><00:17:22.070><c> without</c>

00:17:22.810 --> 00:17:22.820 align:start position:0%
asynchronous network without and without
 

00:17:22.820 --> 00:17:26.590 align:start position:0%
asynchronous network without and without
using<00:17:23.120><c> entropy</c><00:17:24.080><c> or</c><00:17:24.260><c> oh</c><00:17:24.709><c> no</c><00:17:25.240><c> without</c><00:17:26.240><c> using</c>

00:17:26.590 --> 00:17:26.600 align:start position:0%
using entropy or oh no without using
 

00:17:26.600 --> 00:17:31.270 align:start position:0%
using entropy or oh no without using
entropy<00:17:26.930><c> or</c><00:17:28.060><c> cryptography</c><00:17:29.980><c> but</c><00:17:30.980><c> actually</c><00:17:31.220><c> we</c>

00:17:31.270 --> 00:17:31.280 align:start position:0%
entropy or cryptography but actually we
 

00:17:31.280 --> 00:17:33.310 align:start position:0%
entropy or cryptography but actually we
have<00:17:31.430><c> we</c><00:17:31.610><c> have</c><00:17:31.760><c> kind</c><00:17:32.540><c> of</c><00:17:32.600><c> a</c><00:17:32.720><c> bigger</c><00:17:32.900><c> issue</c><00:17:33.050><c> than</c>

00:17:33.310 --> 00:17:33.320 align:start position:0%
have we have kind of a bigger issue than
 

00:17:33.320 --> 00:17:34.630 align:start position:0%
have we have kind of a bigger issue than
just<00:17:33.500><c> have</c><00:17:33.620><c> up</c><00:17:33.710><c> being</c><00:17:33.860><c> possibility</c><00:17:34.370><c> which</c><00:17:34.550><c> is</c>

00:17:34.630 --> 00:17:34.640 align:start position:0%
just have up being possibility which is
 

00:17:34.640 --> 00:17:36.100 align:start position:0%
just have up being possibility which is
that<00:17:34.760><c> we</c><00:17:34.820><c> never</c><00:17:34.940><c> said</c><00:17:35.270><c> anything</c><00:17:35.540><c> about</c><00:17:35.720><c> when</c>

00:17:36.100 --> 00:17:36.110 align:start position:0%
that we never said anything about when
 

00:17:36.110 --> 00:17:37.480 align:start position:0%
that we never said anything about when
validators<00:17:36.680><c> were</c><00:17:36.770><c> actually</c><00:17:37.010><c> meant</c><00:17:37.220><c> to</c><00:17:37.340><c> send</c>

00:17:37.480 --> 00:17:37.490 align:start position:0%
validators were actually meant to send
 

00:17:37.490 --> 00:17:43.330 align:start position:0%
validators were actually meant to send
blocks<00:17:38.590><c> they</c><00:17:39.590><c> actually</c><00:17:42.010><c> we</c><00:17:43.010><c> just</c><00:17:43.040><c> haven't</c>

00:17:43.330 --> 00:17:43.340 align:start position:0%
blocks they actually we just haven't
 

00:17:43.340 --> 00:17:44.500 align:start position:0%
blocks they actually we just haven't
specified<00:17:43.520><c> that</c><00:17:43.850><c> yet</c><00:17:43.970><c> cuz</c><00:17:44.120><c> all</c><00:17:44.210><c> we</c><00:17:44.300><c> really</c>

00:17:44.500 --> 00:17:44.510 align:start position:0%
specified that yet cuz all we really
 

00:17:44.510 --> 00:17:48.040 align:start position:0%
specified that yet cuz all we really
talked<00:17:44.720><c> about</c><00:17:44.900><c> is</c><00:17:45.020><c> safety</c><00:17:45.350><c> and</c><00:17:45.650><c> so</c><00:17:47.050><c> however</c>

00:17:48.040 --> 00:17:48.050 align:start position:0%
talked about is safety and so however
 

00:17:48.050 --> 00:17:50.260 align:start position:0%
talked about is safety and so however
we're<00:17:48.320><c> gonna</c><00:17:48.440><c> see</c><00:17:48.860><c> in</c><00:17:49.190><c> our</c><00:17:49.430><c> experimental</c>

00:17:50.260 --> 00:17:50.270 align:start position:0%
we're gonna see in our experimental
 

00:17:50.270 --> 00:17:53.820 align:start position:0%
we're gonna see in our experimental
results<00:17:50.810><c> in</c><00:17:50.900><c> just</c><00:17:51.050><c> a</c><00:17:51.140><c> second</c><00:17:51.790><c> that</c><00:17:52.790><c> there</c><00:17:53.000><c> are</c>

00:17:53.820 --> 00:17:53.830 align:start position:0%
results in just a second that there are
 

00:17:53.830 --> 00:17:56.080 align:start position:0%
results in just a second that there are
state<00:17:54.830><c> sets</c><00:17:55.220><c> of</c><00:17:55.340><c> messages</c><00:17:55.460><c> that</c><00:17:55.820><c> they</c><00:17:55.880><c> could</c>

00:17:56.080 --> 00:17:56.090 align:start position:0%
state sets of messages that they could
 

00:17:56.090 --> 00:17:59.020 align:start position:0%
state sets of messages that they could
get<00:17:56.270><c> to</c><00:17:56.540><c> which</c><00:17:56.960><c> are</c><00:17:57.170><c> safe</c><00:17:57.670><c> and</c><00:17:58.670><c> that</c><00:17:58.730><c> means</c>

00:17:59.020 --> 00:17:59.030 align:start position:0%
get to which are safe and that means
 

00:17:59.030 --> 00:18:00.910 align:start position:0%
get to which are safe and that means
that<00:17:59.240><c> as</c><00:17:59.840><c> long</c><00:18:00.020><c> as</c><00:18:00.110><c> we</c><00:18:00.170><c> can</c><00:18:00.290><c> make</c><00:18:00.440><c> those</c><00:18:00.650><c> shapes</c>

00:18:00.910 --> 00:18:00.920 align:start position:0%
that as long as we can make those shapes
 

00:18:00.920 --> 00:18:04.270 align:start position:0%
that as long as we can make those shapes
then<00:18:01.460><c> we</c><00:18:01.580><c> can</c><00:18:01.700><c> have</c><00:18:01.820><c> liveness</c><00:18:02.060><c> but</c><00:18:02.920><c> and</c><00:18:03.920><c> and</c><00:18:04.190><c> we</c>

00:18:04.270 --> 00:18:04.280 align:start position:0%
then we can have liveness but and and we
 

00:18:04.280 --> 00:18:08.290 align:start position:0%
then we can have liveness but and and we
kind<00:18:04.460><c> of</c><00:18:04.520><c> know</c><00:18:05.290><c> that</c><00:18:06.290><c> in</c><00:18:07.130><c> an</c><00:18:07.310><c> in</c><00:18:07.490><c> a</c><00:18:07.790><c> synchronous</c>

00:18:08.290 --> 00:18:08.300 align:start position:0%
kind of know that in an in a synchronous
 

00:18:08.300 --> 00:18:10.300 align:start position:0%
kind of know that in an in a synchronous
network<00:18:08.660><c> or</c><00:18:08.870><c> in</c><00:18:09.380><c> a</c><00:18:09.440><c> partially</c><00:18:09.890><c> synchronous</c>

00:18:10.300 --> 00:18:10.310 align:start position:0%
network or in a partially synchronous
 

00:18:10.310 --> 00:18:13.120 align:start position:0%
network or in a partially synchronous
network<00:18:10.580><c> nodes</c><00:18:11.120><c> can</c><00:18:11.240><c> use</c><00:18:11.360><c> timeouts</c><00:18:11.660><c> to</c><00:18:12.440><c> make</c>

00:18:13.120 --> 00:18:13.130 align:start position:0%
network nodes can use timeouts to make
 

00:18:13.130 --> 00:18:15.610 align:start position:0%
network nodes can use timeouts to make
this<00:18:13.370><c> kind</c><00:18:13.520><c> of</c><00:18:13.610><c> message</c><00:18:14.420><c> shape</c><00:18:14.810><c> you</c><00:18:15.440><c> know</c><00:18:15.530><c> up</c>

00:18:15.610 --> 00:18:15.620 align:start position:0%
this kind of message shape you know up
 

00:18:15.620 --> 00:18:19.120 align:start position:0%
this kind of message shape you know up
to<00:18:15.710><c> some</c><00:18:15.830><c> number</c><00:18:15.950><c> of</c><00:18:16.070><c> faults</c><00:18:17.350><c> and</c><00:18:18.350><c> so</c><00:18:18.800><c> and</c><00:18:19.070><c> so</c>

00:18:19.120 --> 00:18:19.130 align:start position:0%
to some number of faults and so and so
 

00:18:19.130 --> 00:18:22.000 align:start position:0%
to some number of faults and so and so
if<00:18:19.250><c> we</c><00:18:19.340><c> were</c><00:18:19.430><c> to</c><00:18:19.550><c> pick</c><00:18:19.760><c> one</c><00:18:19.940><c> of</c><00:18:20.060><c> these</c><00:18:20.860><c> then</c><00:18:21.860><c> we</c>

00:18:22.000 --> 00:18:22.010 align:start position:0%
if we were to pick one of these then we
 

00:18:22.010 --> 00:18:24.310 align:start position:0%
if we were to pick one of these then we
could<00:18:22.280><c> we</c><00:18:22.790><c> could</c><00:18:23.060><c> give</c><00:18:23.330><c> a</c><00:18:23.360><c> we</c><00:18:23.840><c> could</c><00:18:24.080><c> give</c><00:18:24.290><c> a</c>

00:18:24.310 --> 00:18:24.320 align:start position:0%
could we could give a we could give a
 

00:18:24.320 --> 00:18:27.100 align:start position:0%
could we could give a we could give a
lightness<00:18:24.740><c> proof</c><00:18:24.950><c> for</c><00:18:25.550><c> some</c><00:18:25.820><c> strategy</c><00:18:26.360><c> that</c>

00:18:27.100 --> 00:18:27.110 align:start position:0%
lightness proof for some strategy that
 

00:18:27.110 --> 00:18:28.810 align:start position:0%
lightness proof for some strategy that
says<00:18:27.350><c> oh</c><00:18:27.620><c> look</c><00:18:27.650><c> you</c><00:18:28.070><c> guys</c><00:18:28.250><c> have</c><00:18:28.430><c> to</c><00:18:28.520><c> figure</c><00:18:28.550><c> out</c>

00:18:28.810 --> 00:18:28.820 align:start position:0%
says oh look you guys have to figure out
 

00:18:28.820 --> 00:18:30.430 align:start position:0%
says oh look you guys have to figure out
how<00:18:28.880><c> to</c><00:18:28.940><c> make</c><00:18:29.120><c> a</c><00:18:29.150><c> dag</c><00:18:29.390><c> and</c><00:18:29.570><c> this</c><00:18:29.660><c> messages</c><00:18:30.350><c> in</c>

00:18:30.430 --> 00:18:30.440 align:start position:0%
how to make a dag and this messages in
 

00:18:30.440 --> 00:18:35.230 align:start position:0%
how to make a dag and this messages in
this<00:18:30.500><c> in</c><00:18:30.680><c> this</c><00:18:30.770><c> form</c><00:18:33.100><c> but</c><00:18:34.100><c> you</c><00:18:34.700><c> know</c><00:18:34.820><c> we're</c><00:18:35.090><c> not</c>

00:18:35.230 --> 00:18:35.240 align:start position:0%
this in this form but you know we're not
 

00:18:35.240 --> 00:18:37.440 align:start position:0%
this in this form but you know we're not
really<00:18:35.450><c> gonna</c><00:18:35.600><c> do</c><00:18:35.780><c> that</c><00:18:35.930><c> we're</c><00:18:36.800><c> just</c><00:18:36.830><c> gonna</c>

00:18:37.440 --> 00:18:37.450 align:start position:0%
really gonna do that we're just gonna
 

00:18:37.450 --> 00:18:40.710 align:start position:0%
really gonna do that we're just gonna
leave<00:18:38.450><c> liveness</c><00:18:38.750><c> out</c><00:18:39.050><c> of</c><00:18:39.140><c> the</c><00:18:39.200><c> story</c><00:18:39.440><c> for</c><00:18:39.620><c> now</c>

00:18:40.710 --> 00:18:40.720 align:start position:0%
leave liveness out of the story for now
 

00:18:40.720 --> 00:18:43.060 align:start position:0%
leave liveness out of the story for now
so<00:18:41.720><c> I'm</c><00:18:41.810><c> gonna</c><00:18:41.930><c> I</c><00:18:42.020><c> mean</c><00:18:42.320><c> this</c><00:18:42.500><c> is</c><00:18:42.650><c> kind</c><00:18:42.860><c> of</c><00:18:42.890><c> the</c>

00:18:43.060 --> 00:18:43.070 align:start position:0%
so I'm gonna I mean this is kind of the
 

00:18:43.070 --> 00:18:44.650 align:start position:0%
so I'm gonna I mean this is kind of the
maybe<00:18:43.610><c> the</c><00:18:43.730><c> more</c><00:18:43.880><c> exciting</c><00:18:44.210><c> part</c><00:18:44.360><c> of</c><00:18:44.390><c> the</c><00:18:44.480><c> talk</c>

00:18:44.650 --> 00:18:44.660 align:start position:0%
maybe the more exciting part of the talk
 

00:18:44.660 --> 00:18:46.630 align:start position:0%
maybe the more exciting part of the talk
so<00:18:45.110><c> this</c><00:18:45.260><c> is</c><00:18:45.500><c> we're</c><00:18:45.920><c> gonna</c><00:18:46.010><c> look</c><00:18:46.190><c> at</c><00:18:46.370><c> actually</c>

00:18:46.630 --> 00:18:46.640 align:start position:0%
so this is we're gonna look at actually
 

00:18:46.640 --> 00:18:48.730 align:start position:0%
so this is we're gonna look at actually
and<00:18:46.850><c> try</c><00:18:46.970><c> to</c><00:18:47.030><c> see</c><00:18:47.750><c> what</c><00:18:47.900><c> this</c><00:18:47.990><c> looks</c><00:18:48.050><c> like</c><00:18:48.380><c> so</c>

00:18:48.730 --> 00:18:48.740 align:start position:0%
and try to see what this looks like so
 

00:18:48.740 --> 00:18:50.950 align:start position:0%
and try to see what this looks like so
these<00:18:49.730><c> are</c><00:18:49.910><c> three</c><00:18:50.150><c> validators</c><00:18:50.660><c> running</c><00:18:50.870><c> the</c>

00:18:50.950 --> 00:18:50.960 align:start position:0%
these are three validators running the
 

00:18:50.960 --> 00:18:54.970 align:start position:0%
these are three validators running the
binary<00:18:51.260><c> consensus</c><00:18:51.730><c> and</c><00:18:52.730><c> they</c><00:18:53.330><c> the</c><00:18:54.290><c> color</c><00:18:54.530><c> here</c>

00:18:54.970 --> 00:18:54.980 align:start position:0%
binary consensus and they the color here
 

00:18:54.980 --> 00:18:56.860 align:start position:0%
binary consensus and they the color here
means<00:18:55.400><c> that</c><00:18:55.490><c> they've</c><00:18:55.670><c> reached</c><00:18:55.910><c> safety</c><00:18:56.720><c> with</c>

00:18:56.860 --> 00:18:56.870 align:start position:0%
means that they've reached safety with
 

00:18:56.870 --> 00:18:57.790 align:start position:0%
means that they've reached safety with
some<00:18:56.990><c> of</c><00:18:57.050><c> them</c><00:18:57.170><c> some</c><00:18:57.410><c> amount</c><00:18:57.560><c> of</c><00:18:57.620><c> fault</c>

00:18:57.790 --> 00:18:57.800 align:start position:0%
some of them some amount of fault
 

00:18:57.800 --> 00:19:00.850 align:start position:0%
some of them some amount of fault
tolerance<00:18:58.480><c> and</c><00:18:59.480><c> kind</c><00:18:59.930><c> of</c><00:18:59.990><c> they</c><00:19:00.530><c> they're</c>

00:19:00.850 --> 00:19:00.860 align:start position:0%
tolerance and kind of they they're
 

00:19:00.860 --> 00:19:02.950 align:start position:0%
tolerance and kind of they they're
they're<00:19:01.070><c> the</c><00:19:01.340><c> the</c><00:19:01.820><c> numbers</c><00:19:02.210><c> in</c><00:19:02.390><c> here</c><00:19:02.630><c> you</c><00:19:02.780><c> see</c>

00:19:02.950 --> 00:19:02.960 align:start position:0%
they're the the numbers in here you see
 

00:19:02.960 --> 00:19:05.290 align:start position:0%
they're the the numbers in here you see
there's<00:19:03.380><c> ones</c><00:19:03.680><c> and</c><00:19:04.040><c> that</c><00:19:04.520><c> one's</c><00:19:04.730><c> a</c><00:19:04.850><c> zero</c><00:19:05.090><c> it</c>

00:19:05.290 --> 00:19:05.300 align:start position:0%
there's ones and that one's a zero it
 

00:19:05.300 --> 00:19:07.390 align:start position:0%
there's ones and that one's a zero it
can<00:19:05.420><c> be</c><00:19:05.480><c> a</c><00:19:05.540><c> little</c><00:19:05.630><c> bit</c><00:19:05.780><c> hard</c><00:19:05.930><c> to</c><00:19:05.960><c> see</c><00:19:06.400><c> the</c>

00:19:07.390 --> 00:19:07.400 align:start position:0%
can be a little bit hard to see the
 

00:19:07.400 --> 00:19:09.100 align:start position:0%
can be a little bit hard to see the
numbers<00:19:07.430><c> are</c><00:19:08.060><c> their</c><00:19:08.390><c> estimates</c><00:19:08.810><c> and</c><00:19:08.990><c> they</c>

00:19:09.100 --> 00:19:09.110 align:start position:0%
numbers are their estimates and they
 

00:19:09.110 --> 00:19:10.900 align:start position:0%
numbers are their estimates and they
need<00:19:09.260><c> to</c><00:19:09.350><c> have</c><00:19:09.740><c> the</c><00:19:09.950><c> estimate</c><00:19:10.340><c> be</c><00:19:10.490><c> the</c><00:19:10.670><c> max</c>

00:19:10.900 --> 00:19:10.910 align:start position:0%
need to have the estimate be the max
 

00:19:10.910 --> 00:19:12.250 align:start position:0%
need to have the estimate be the max
weight<00:19:11.210><c> of</c><00:19:11.480><c> the</c><00:19:11.570><c> latest</c><00:19:11.840><c> messages</c><00:19:12.110><c> they've</c>

00:19:12.250 --> 00:19:12.260 align:start position:0%
weight of the latest messages they've
 

00:19:12.260 --> 00:19:14.730 align:start position:0%
weight of the latest messages they've
seen<00:19:12.440><c> in</c><00:19:12.530><c> the</c><00:19:12.590><c> justifications</c><00:19:13.130><c> these</c><00:19:13.610><c> arrows</c>

00:19:14.730 --> 00:19:14.740 align:start position:0%
seen in the justifications these arrows
 

00:19:14.740 --> 00:19:17.940 align:start position:0%
seen in the justifications these arrows
these<00:19:15.740><c> lines</c><00:19:16.040><c> are</c><00:19:16.370><c> the</c><00:19:16.580><c> met</c><00:19:16.760><c> point</c><00:19:17.240><c> to</c><00:19:17.540><c> the</c>

00:19:17.940 --> 00:19:17.950 align:start position:0%
these lines are the met point to the
 

00:19:17.950 --> 00:19:19.600 align:start position:0%
these lines are the met point to the
messages<00:19:18.950><c> that</c><00:19:18.980><c> are</c><00:19:19.070><c> included</c><00:19:19.490><c> in</c><00:19:19.550><c> the</c>

00:19:19.600 --> 00:19:19.610 align:start position:0%
messages that are included in the
 

00:19:19.610 --> 00:19:21.520 align:start position:0%
messages that are included in the
justification<00:19:20.210><c> remember</c><00:19:20.480><c> the</c><00:19:20.690><c> the</c><00:19:21.140><c> data</c>

00:19:21.520 --> 00:19:21.530 align:start position:0%
justification remember the the data
 

00:19:21.530 --> 00:19:23.350 align:start position:0%
justification remember the the data
structure<00:19:21.890><c> is</c><00:19:22.010><c> estimate</c><00:19:22.910><c> which</c><00:19:23.090><c> is</c><00:19:23.120><c> a</c><00:19:23.180><c> bit</c>

00:19:23.350 --> 00:19:23.360 align:start position:0%
structure is estimate which is a bit
 

00:19:23.360 --> 00:19:25.180 align:start position:0%
structure is estimate which is a bit
sender<00:19:24.050><c> which</c><00:19:24.260><c> is</c><00:19:24.380><c> like</c><00:19:24.500><c> you</c><00:19:24.680><c> know</c><00:19:24.770><c> validator</c>

00:19:25.180 --> 00:19:25.190 align:start position:0%
sender which is like you know validator
 

00:19:25.190 --> 00:19:27.130 align:start position:0%
sender which is like you know validator
one<00:19:25.400><c> validator</c><00:19:25.910><c> to</c><00:19:25.940><c> about</c><00:19:26.240><c> a</c><00:19:26.270><c> three</c><00:19:26.570><c> and</c><00:19:26.720><c> the</c>

00:19:27.130 --> 00:19:27.140 align:start position:0%
one validator to about a three and the
 

00:19:27.140 --> 00:19:28.630 align:start position:0%
one validator to about a three and the
justification<00:19:27.470><c> which</c><00:19:27.890><c> is</c><00:19:28.010><c> encoded</c><00:19:28.340><c> with</c><00:19:28.400><c> this</c>

00:19:28.630 --> 00:19:28.640 align:start position:0%
justification which is encoded with this
 

00:19:28.640 --> 00:19:29.950 align:start position:0%
justification which is encoded with this
with<00:19:28.880><c> this</c><00:19:28.970><c> structure</c>

00:19:29.950 --> 00:19:29.960 align:start position:0%
with this structure
 

00:19:29.960 --> 00:19:32.440 align:start position:0%
with this structure
showing<00:19:30.960><c> you</c><00:19:31.290><c> know</c><00:19:31.410><c> a</c><00:19:31.440><c> few</c><00:19:31.710><c> more</c><00:19:31.860><c> nodes</c>

00:19:32.440 --> 00:19:32.450 align:start position:0%
showing you know a few more nodes
 

00:19:32.450 --> 00:19:36.110 align:start position:0%
showing you know a few more nodes
company<00:19:33.450><c> consents</c><00:19:33.810><c> on</c><00:19:33.900><c> a</c><00:19:33.930><c> bit</c><00:19:34.140><c> here</c><00:19:34.350><c> so</c><00:19:35.250><c> the</c>

00:19:36.110 --> 00:19:36.120 align:start position:0%
company consents on a bit here so the
 

00:19:36.120 --> 00:19:38.450 align:start position:0%
company consents on a bit here so the
darker<00:19:36.510><c> color</c><00:19:36.750><c> means</c><00:19:37.110><c> that</c><00:19:37.380><c> they</c><00:19:37.950><c> have</c><00:19:38.130><c> more</c>

00:19:38.450 --> 00:19:38.460 align:start position:0%
darker color means that they have more
 

00:19:38.460 --> 00:19:39.620 align:start position:0%
darker color means that they have more
fault<00:19:39.120><c> tolerance</c>

00:19:39.620 --> 00:19:39.630 align:start position:0%
fault tolerance
 

00:19:39.630 --> 00:19:41.330 align:start position:0%
fault tolerance
this<00:19:40.320><c> is</c><00:19:40.530><c> kind</c><00:19:40.740><c> of</c><00:19:40.800><c> cool</c><00:19:40.980><c> because</c><00:19:41.190><c> it</c>

00:19:41.330 --> 00:19:41.340 align:start position:0%
this is kind of cool because it
 

00:19:41.340 --> 00:19:43.310 align:start position:0%
this is kind of cool because it
illustrates<00:19:41.430><c> the</c><00:19:41.880><c> the</c><00:19:42.570><c> flexibility</c><00:19:43.170><c> that</c><00:19:43.260><c> we</c>

00:19:43.310 --> 00:19:43.320 align:start position:0%
illustrates the the flexibility that we
 

00:19:43.320 --> 00:19:45.320 align:start position:0%
illustrates the the flexibility that we
have<00:19:43.530><c> about</c><00:19:44.130><c> the</c><00:19:44.250><c> order</c><00:19:44.730><c> of</c><00:19:44.820><c> message</c><00:19:45.090><c> passing</c>

00:19:45.320 --> 00:19:45.330 align:start position:0%
have about the order of message passing
 

00:19:45.330 --> 00:19:47.240 align:start position:0%
have about the order of message passing
because<00:19:46.230><c> we</c><00:19:46.290><c> haven't</c><00:19:46.470><c> said</c><00:19:46.680><c> really</c><00:19:46.980><c> anything</c>

00:19:47.240 --> 00:19:47.250 align:start position:0%
because we haven't said really anything
 

00:19:47.250 --> 00:19:50.450 align:start position:0%
because we haven't said really anything
at<00:19:47.430><c> all</c><00:19:47.520><c> actually</c><00:19:48.180><c> about</c><00:19:48.330><c> that</c><00:19:49.400><c> now</c><00:19:50.400><c> the</c>

00:19:50.450 --> 00:19:50.460 align:start position:0%
at all actually about that now the
 

00:19:50.460 --> 00:19:51.620 align:start position:0%
at all actually about that now the
blockchain<00:19:50.760><c> consensus</c><00:19:51.240><c> protocol</c><00:19:51.480><c> is</c><00:19:51.570><c> a</c>

00:19:51.620 --> 00:19:51.630 align:start position:0%
blockchain consensus protocol is a
 

00:19:51.630 --> 00:19:52.670 align:start position:0%
blockchain consensus protocol is a
little<00:19:51.840><c> bit</c><00:19:51.930><c> more</c><00:19:52.080><c> complicated</c><00:19:52.320><c> to</c><00:19:52.530><c> think</c>

00:19:52.670 --> 00:19:52.680 align:start position:0%
little bit more complicated to think
 

00:19:52.680 --> 00:19:53.990 align:start position:0%
little bit more complicated to think
about<00:19:52.860><c> because</c><00:19:53.160><c> it's</c><00:19:53.400><c> got</c><00:19:53.610><c> these</c><00:19:53.790><c> things</c>

00:19:53.990 --> 00:19:54.000 align:start position:0%
about because it's got these things
 

00:19:54.000 --> 00:19:55.730 align:start position:0%
about because it's got these things
called<00:19:54.120><c> pre</c><00:19:54.510><c> block</c><00:19:54.750><c> pointers</c><00:19:55.110><c> right</c><00:19:55.320><c> so</c>

00:19:55.730 --> 00:19:55.740 align:start position:0%
called pre block pointers right so
 

00:19:55.740 --> 00:19:57.560 align:start position:0%
called pre block pointers right so
there's<00:19:55.950><c> dotted</c><00:19:56.310><c> lines</c><00:19:56.550><c> these</c><00:19:56.820><c> thin</c><00:19:57.180><c> ones</c><00:19:57.390><c> are</c>

00:19:57.560 --> 00:19:57.570 align:start position:0%
there's dotted lines these thin ones are
 

00:19:57.570 --> 00:19:59.540 align:start position:0%
there's dotted lines these thin ones are
justification<00:19:58.200><c> pointers</c><00:19:58.500><c> these</c><00:19:59.100><c> are</c><00:19:59.280><c> free</c>

00:19:59.540 --> 00:19:59.550 align:start position:0%
justification pointers these are free
 

00:19:59.550 --> 00:20:01.610 align:start position:0%
justification pointers these are free
block<00:19:59.790><c> pointers</c><00:20:00.000><c> the</c><00:20:00.570><c> blue</c><00:20:00.870><c> ones</c><00:20:01.110><c> are</c><00:20:01.380><c> the</c>

00:20:01.610 --> 00:20:01.620 align:start position:0%
block pointers the blue ones are the
 

00:20:01.620 --> 00:20:05.540 align:start position:0%
block pointers the blue ones are the
latest<00:20:02.270><c> for</c><00:20:03.270><c> Khalid</c><00:20:04.200><c> ators</c><00:20:04.440><c> and</c><00:20:04.650><c> the</c><00:20:05.160><c> red</c><00:20:05.370><c> one</c>

00:20:05.540 --> 00:20:05.550 align:start position:0%
latest for Khalid ators and the red one
 

00:20:05.550 --> 00:20:07.190 align:start position:0%
latest for Khalid ators and the red one
is<00:20:05.670><c> our</c><00:20:05.820><c> fork</c><00:20:06.060><c> choice</c><00:20:06.240><c> so</c><00:20:06.390><c> basically</c><00:20:06.600><c> like</c><00:20:06.780><c> you</c>

00:20:07.190 --> 00:20:07.200 align:start position:0%
is our fork choice so basically like you
 

00:20:07.200 --> 00:20:08.960 align:start position:0%
is our fork choice so basically like you
know<00:20:07.290><c> the</c><00:20:07.830><c> way</c><00:20:08.130><c> the</c><00:20:08.250><c> fork</c><00:20:08.400><c> choice</c><00:20:08.550><c> works</c><00:20:08.820><c> is</c>

00:20:08.960 --> 00:20:08.970 align:start position:0%
know the way the fork choice works is
 

00:20:08.970 --> 00:20:11.270 align:start position:0%
know the way the fork choice works is
okay<00:20:09.210><c> you</c><00:20:09.270><c> know</c><00:20:09.540><c> you</c><00:20:10.260><c> so</c><00:20:10.560><c> validator</c><00:20:10.920><c> wanna</c><00:20:11.100><c> has</c>

00:20:11.270 --> 00:20:11.280 align:start position:0%
okay you know you so validator wanna has
 

00:20:11.280 --> 00:20:12.980 align:start position:0%
okay you know you so validator wanna has
the<00:20:11.370><c> most</c><00:20:11.550><c> weight</c><00:20:12.000><c> so</c><00:20:12.480><c> from</c><00:20:12.660><c> the</c><00:20:12.750><c> Genesis</c>

00:20:12.980 --> 00:20:12.990 align:start position:0%
the most weight so from the Genesis
 

00:20:12.990 --> 00:20:15.740 align:start position:0%
the most weight so from the Genesis
block<00:20:13.050><c> we</c><00:20:13.230><c> go</c><00:20:13.320><c> to</c><00:20:13.380><c> balladeer</c><00:20:13.710><c> one</c><00:20:13.890><c> and</c><00:20:14.750><c> here</c>

00:20:15.740 --> 00:20:15.750 align:start position:0%
block we go to balladeer one and here
 

00:20:15.750 --> 00:20:18.500 align:start position:0%
block we go to balladeer one and here
there's<00:20:15.930><c> only</c><00:20:16.040><c> has</c><00:20:17.040><c> one</c><00:20:17.250><c> parent</c><00:20:17.640><c> and</c><00:20:18.180><c> here</c><00:20:18.390><c> we</c>

00:20:18.500 --> 00:20:18.510 align:start position:0%
there's only has one parent and here we
 

00:20:18.510 --> 00:20:19.580 align:start position:0%
there's only has one parent and here we
could<00:20:18.690><c> we</c><00:20:18.840><c> could</c><00:20:18.900><c> have</c><00:20:19.020><c> went</c><00:20:19.110><c> that</c><00:20:19.320><c> way</c><00:20:19.470><c> or</c>

00:20:19.580 --> 00:20:19.590 align:start position:0%
could we could have went that way or
 

00:20:19.590 --> 00:20:21.530 align:start position:0%
could we could have went that way or
this<00:20:19.620><c> way</c><00:20:19.770><c> but</c><00:20:20.340><c> actually</c><00:20:20.460><c> the</c><00:20:21.270><c> latest</c>

00:20:21.530 --> 00:20:21.540 align:start position:0%
this way but actually the latest
 

00:20:21.540 --> 00:20:23.000 align:start position:0%
this way but actually the latest
messages<00:20:21.900><c> are</c><00:20:22.020><c> here</c><00:20:22.260><c> there</c><00:20:22.470><c> and</c><00:20:22.560><c> there</c><00:20:22.650><c> and</c>

00:20:23.000 --> 00:20:23.010 align:start position:0%
messages are here there and there and
 

00:20:23.010 --> 00:20:25.760 align:start position:0%
messages are here there and there and
all<00:20:23.190><c> of</c><00:20:23.400><c> them</c><00:20:23.550><c> have</c><00:20:23.990><c> their</c><00:20:24.990><c> weight</c><00:20:25.260><c> here</c><00:20:25.620><c> and</c>

00:20:25.760 --> 00:20:25.770 align:start position:0%
all of them have their weight here and
 

00:20:25.770 --> 00:20:27.590 align:start position:0%
all of them have their weight here and
so<00:20:26.040><c> the</c><00:20:26.190><c> weight</c><00:20:26.310><c> is</c><00:20:26.460><c> all</c><00:20:26.670><c> on</c><00:20:26.880><c> this</c><00:20:27.060><c> fork</c><00:20:27.420><c> and</c>

00:20:27.590 --> 00:20:27.600 align:start position:0%
so the weight is all on this fork and
 

00:20:27.600 --> 00:20:29.420 align:start position:0%
so the weight is all on this fork and
not<00:20:27.720><c> on</c><00:20:27.840><c> that</c><00:20:27.960><c> one</c><00:20:27.990><c> and</c><00:20:28.320><c> so</c><00:20:28.530><c> we</c><00:20:28.620><c> pull</c><00:20:28.830><c> left</c><00:20:29.070><c> and</c>

00:20:29.420 --> 00:20:29.430 align:start position:0%
not on that one and so we pull left and
 

00:20:29.430 --> 00:20:31.910 align:start position:0%
not on that one and so we pull left and
then<00:20:30.210><c> here</c><00:20:30.600><c> you</c><00:20:30.720><c> know</c><00:20:30.810><c> there's</c><00:20:31.500><c> a</c><00:20:31.590><c> pre</c><00:20:31.740><c> block</c>

00:20:31.910 --> 00:20:31.920 align:start position:0%
then here you know there's a pre block
 

00:20:31.920 --> 00:20:33.800 align:start position:0%
then here you know there's a pre block
pointer<00:20:32.190><c> here</c><00:20:32.580><c> and</c><00:20:33.000><c> also</c><00:20:33.210><c> another</c><00:20:33.330><c> one</c><00:20:33.510><c> there</c>

00:20:33.800 --> 00:20:33.810 align:start position:0%
pointer here and also another one there
 

00:20:33.810 --> 00:20:37.240 align:start position:0%
pointer here and also another one there
and<00:20:34.200><c> if</c><00:20:34.500><c> you</c><00:20:34.560><c> look</c><00:20:34.680><c> at</c><00:20:34.770><c> the</c><00:20:34.830><c> latest</c><00:20:34.980><c> messages</c>

00:20:37.240 --> 00:20:37.250 align:start position:0%
and if you look at the latest messages
 

00:20:37.250 --> 00:20:41.120 align:start position:0%
and if you look at the latest messages
there's<00:20:38.250><c> more</c><00:20:38.580><c> of</c><00:20:38.700><c> them</c><00:20:38.790><c> here</c><00:20:39.590><c> and</c><00:20:40.590><c> so</c><00:20:40.800><c> and</c><00:20:41.040><c> so</c>

00:20:41.120 --> 00:20:41.130 align:start position:0%
there's more of them here and so and so
 

00:20:41.130 --> 00:20:44.600 align:start position:0%
there's more of them here and so and so
that's<00:20:41.280><c> why</c><00:20:41.370><c> we're</c><00:20:41.490><c> gonna</c><00:20:41.580><c> go</c><00:20:41.820><c> there</c><00:20:42.620><c> and</c><00:20:43.620><c> and</c>

00:20:44.600 --> 00:20:44.610 align:start position:0%
that's why we're gonna go there and and
 

00:20:44.610 --> 00:20:46.010 align:start position:0%
that's why we're gonna go there and and
and<00:20:44.730><c> and</c><00:20:45.000><c> and</c><00:20:45.240><c> what</c><00:20:45.390><c> this</c><00:20:45.480><c> kind</c><00:20:45.660><c> of</c><00:20:45.720><c> shows</c><00:20:45.900><c> you</c>

00:20:46.010 --> 00:20:46.020 align:start position:0%
and and and what this kind of shows you
 

00:20:46.020 --> 00:20:53.570 align:start position:0%
and and and what this kind of shows you
here<00:20:46.200><c> is</c><00:20:46.260><c> that</c><00:20:46.350><c> validator</c><00:20:46.910><c> 3</c><00:20:51.560><c> has</c><00:20:52.560><c> more</c><00:20:53.400><c> weight</c>

00:20:53.570 --> 00:20:53.580 align:start position:0%
here is that validator 3 has more weight
 

00:20:53.580 --> 00:20:59.090 align:start position:0%
here is that validator 3 has more weight
than<00:20:53.700><c> validator</c><00:20:54.120><c> 1</c><00:20:57.170><c> right</c><00:20:58.170><c> so</c><00:20:58.320><c> the</c><00:20:58.410><c> reason</c><00:20:59.010><c> why</c>

00:20:59.090 --> 00:20:59.100 align:start position:0%
than validator 1 right so the reason why
 

00:20:59.100 --> 00:21:00.440 align:start position:0%
than validator 1 right so the reason why
we<00:20:59.190><c> initially</c><00:20:59.280><c> chose</c><00:20:59.640><c> this</c><00:20:59.910><c> actually</c><00:21:00.330><c> wasn't</c>

00:21:00.440 --> 00:21:00.450 align:start position:0%
we initially chose this actually wasn't
 

00:21:00.450 --> 00:21:01.670 align:start position:0%
we initially chose this actually wasn't
because<00:21:00.660><c> validator</c><00:21:00.990><c> 0</c><00:21:01.170><c> had</c><00:21:01.290><c> more</c><00:21:01.440><c> weight</c><00:21:01.560><c> is</c>

00:21:01.670 --> 00:21:01.680 align:start position:0%
because validator 0 had more weight is
 

00:21:01.680 --> 00:21:03.260 align:start position:0%
because validator 0 had more weight is
because<00:21:01.860><c> all</c><00:21:02.190><c> of</c><00:21:02.280><c> their</c><00:21:02.370><c> latest</c><00:21:02.580><c> messages</c><00:21:03.090><c> are</c>

00:21:03.260 --> 00:21:03.270 align:start position:0%
because all of their latest messages are
 

00:21:03.270 --> 00:21:10.310 align:start position:0%
because all of their latest messages are
on<00:21:03.600><c> this</c><00:21:04.110><c> one</c><00:21:05.030><c> so</c><00:21:08.930><c> here</c><00:21:09.930><c> we</c><00:21:10.020><c> go</c>

00:21:10.310 --> 00:21:10.320 align:start position:0%
on this one so here we go
 

00:21:10.320 --> 00:21:11.810 align:start position:0%
on this one so here we go
so<00:21:10.470><c> this</c><00:21:10.680><c> so</c><00:21:11.220><c> this</c><00:21:11.340><c> is</c><00:21:11.400><c> kind</c><00:21:11.670><c> of</c><00:21:11.700><c> the</c>

00:21:11.810 --> 00:21:11.820 align:start position:0%
so this so this is kind of the
 

00:21:11.820 --> 00:21:13.370 align:start position:0%
so this so this is kind of the
blockchain<00:21:12.300><c> consensus</c><00:21:12.810><c> kind</c><00:21:12.990><c> of</c><00:21:13.050><c> an</c><00:21:13.140><c> action</c>

00:21:13.370 --> 00:21:13.380 align:start position:0%
blockchain consensus kind of an action
 

00:21:13.380 --> 00:21:16.310 align:start position:0%
blockchain consensus kind of an action
for<00:21:13.560><c> three</c><00:21:13.710><c> notes</c><00:21:14.510><c> there</c><00:21:15.510><c> they're</c><00:21:15.840><c> gonna</c><00:21:15.930><c> like</c>

00:21:16.310 --> 00:21:16.320 align:start position:0%
for three notes there they're gonna like
 

00:21:16.320 --> 00:21:18.410 align:start position:0%
for three notes there they're gonna like
use<00:21:17.100><c> greedy</c><00:21:17.460><c> heaviest</c><00:21:17.790><c> observed</c><00:21:18.060><c> for</c><00:21:18.240><c> choice</c>

00:21:18.410 --> 00:21:18.420 align:start position:0%
use greedy heaviest observed for choice
 

00:21:18.420 --> 00:21:20.810 align:start position:0%
use greedy heaviest observed for choice
rule<00:21:18.660><c> where</c><00:21:18.840><c> every</c><00:21:19.100><c> every</c><00:21:20.100><c> choice</c><00:21:20.310><c> in</c><00:21:20.670><c> the</c>

00:21:20.810 --> 00:21:20.820 align:start position:0%
rule where every every choice in the
 

00:21:20.820 --> 00:21:22.640 align:start position:0%
rule where every every choice in the
road<00:21:21.000><c> that</c><00:21:21.270><c> but</c><00:21:21.870><c> first</c><00:21:22.080><c> we</c><00:21:22.230><c> went</c><00:21:22.320><c> that</c><00:21:22.440><c> way</c><00:21:22.590><c> and</c>

00:21:22.640 --> 00:21:22.650 align:start position:0%
road that but first we went that way and
 

00:21:22.650 --> 00:21:23.480 align:start position:0%
road that but first we went that way and
then<00:21:22.770><c> we</c><00:21:22.800><c> went</c><00:21:22.920><c> that</c><00:21:23.040><c> way</c><00:21:23.130><c> because</c><00:21:23.250><c> more</c>

00:21:23.480 --> 00:21:23.490 align:start position:0%
then we went that way because more
 

00:21:23.490 --> 00:21:25.550 align:start position:0%
then we went that way because more
validators<00:21:24.000><c> made</c><00:21:24.150><c> walks</c><00:21:24.390><c> there</c><00:21:24.630><c> here</c><00:21:25.290><c> we</c><00:21:25.470><c> were</c>

00:21:25.550 --> 00:21:25.560 align:start position:0%
validators made walks there here we were
 

00:21:25.560 --> 00:21:27.470 align:start position:0%
validators made walks there here we were
only<00:21:25.980><c> fork</c><00:21:26.280><c> right</c><00:21:26.460><c> there's</c><00:21:26.670><c> this</c><00:21:26.850><c> forking</c><00:21:27.270><c> on</c>

00:21:27.470 --> 00:21:27.480 align:start position:0%
only fork right there's this forking on
 

00:21:27.480 --> 00:21:29.270 align:start position:0%
only fork right there's this forking on
the<00:21:27.630><c> top</c><00:21:27.840><c> and</c><00:21:28.110><c> then</c><00:21:28.530><c> here</c><00:21:28.650><c> we</c><00:21:28.740><c> achieve</c><00:21:29.040><c> safety</c>

00:21:29.270 --> 00:21:29.280 align:start position:0%
the top and then here we achieve safety
 

00:21:29.280 --> 00:21:31.340 align:start position:0%
the top and then here we achieve safety
right<00:21:29.940><c> this</c><00:21:30.150><c> kind</c><00:21:30.330><c> of</c><00:21:30.360><c> say</c><00:21:30.570><c> this</c><00:21:30.600><c> is</c><00:21:30.810><c> one</c><00:21:31.260><c> of</c>

00:21:31.340 --> 00:21:31.350 align:start position:0%
right this kind of say this is one of
 

00:21:31.350 --> 00:21:32.540 align:start position:0%
right this kind of say this is one of
these<00:21:31.410><c> things</c><00:21:31.560><c> get</c><00:21:31.770><c> colored</c><00:21:32.040><c> to</c><00:21:32.400><c> have</c><00:21:32.520><c> a</c>

00:21:32.540 --> 00:21:32.550 align:start position:0%
these things get colored to have a
 

00:21:32.550 --> 00:21:33.740 align:start position:0%
these things get colored to have a
synchronous<00:21:33.090><c> Byzantine</c><00:21:33.450><c> fault</c><00:21:33.630><c> tolerance</c>

00:21:33.740 --> 00:21:33.750 align:start position:0%
synchronous Byzantine fault tolerance
 

00:21:33.750 --> 00:21:36.980 align:start position:0%
synchronous Byzantine fault tolerance
safety<00:21:34.260><c> and</c><00:21:35.250><c> notice</c><00:21:35.940><c> the</c><00:21:36.030><c> word</c><00:21:36.150><c> they</c><00:21:36.600><c> fork</c><00:21:36.900><c> at</c>

00:21:36.980 --> 00:21:36.990 align:start position:0%
safety and notice the word they fork at
 

00:21:36.990 --> 00:21:38.060 align:start position:0%
safety and notice the word they fork at
the<00:21:37.050><c> top</c><00:21:37.230><c> and</c><00:21:37.410><c> they</c><00:21:37.530><c> have</c><00:21:37.620><c> safety</c><00:21:37.920><c> at</c><00:21:38.010><c> the</c>

00:21:38.060 --> 00:21:38.070 align:start position:0%
the top and they have safety at the
 

00:21:38.070 --> 00:21:39.620 align:start position:0%
the top and they have safety at the
bottom<00:21:38.370><c> and</c><00:21:38.490><c> the</c><00:21:38.790><c> way</c><00:21:38.880><c> we</c><00:21:39.000><c> calculate</c><00:21:39.120><c> safety</c>

00:21:39.620 --> 00:21:39.630 align:start position:0%
bottom and the way we calculate safety
 

00:21:39.630 --> 00:21:42.050 align:start position:0%
bottom and the way we calculate safety
here<00:21:39.810><c> you</c><00:21:40.260><c> know</c><00:21:40.380><c> is</c><00:21:40.650><c> using</c><00:21:41.490><c> the</c><00:21:41.550><c> safety</c><00:21:41.730><c> Oracle</c>

00:21:42.050 --> 00:21:42.060 align:start position:0%
here you know is using the safety Oracle
 

00:21:42.060 --> 00:21:43.070 align:start position:0%
here you know is using the safety Oracle
that<00:21:42.180><c> I</c><00:21:42.210><c> described</c><00:21:42.510><c> earlier</c><00:21:42.630><c> where</c><00:21:42.870><c> you</c><00:21:42.960><c> look</c>

00:21:43.070 --> 00:21:43.080 align:start position:0%
that I described earlier where you look
 

00:21:43.080 --> 00:21:43.650 align:start position:0%
that I described earlier where you look
at<00:21:43.170><c> these</c><00:21:43.260><c> cleat</c>

00:21:43.650 --> 00:21:43.660 align:start position:0%
at these cleat
 

00:21:43.660 --> 00:21:45.330 align:start position:0%
at these cleat
which<00:21:43.780><c> see</c><00:21:44.440><c> each</c><00:21:44.500><c> other</c><00:21:44.650><c> agreeing</c><00:21:44.950><c> can't</c><00:21:45.220><c> see</c>

00:21:45.330 --> 00:21:45.340 align:start position:0%
which see each other agreeing can't see
 

00:21:45.340 --> 00:21:48.000 align:start position:0%
which see each other agreeing can't see
each<00:21:45.430><c> other</c><00:21:45.580><c> disagree</c><00:21:46.000><c> now</c><00:21:46.650><c> we</c><00:21:47.650><c> can</c><00:21:47.860><c> watch</c>

00:21:48.000 --> 00:21:48.010 align:start position:0%
each other disagree now we can watch
 

00:21:48.010 --> 00:21:51.240 align:start position:0%
each other disagree now we can watch
more<00:21:48.880><c> nodes</c><00:21:49.240><c> go</c><00:21:49.780><c> faster</c><00:21:50.140><c> and</c><00:21:50.470><c> here's</c><00:21:50.980><c> the</c><00:21:51.160><c> you</c>

00:21:51.240 --> 00:21:51.250 align:start position:0%
more nodes go faster and here's the you
 

00:21:51.250 --> 00:21:53.070 align:start position:0%
more nodes go faster and here's the you
see<00:21:51.460><c> some</c><00:21:51.970><c> interesting</c><00:21:52.090><c> stuff</c><00:21:52.480><c> were</c><00:21:52.600><c> like</c><00:21:52.870><c> a</c>

00:21:53.070 --> 00:21:53.080 align:start position:0%
see some interesting stuff were like a
 

00:21:53.080 --> 00:21:54.660 align:start position:0%
see some interesting stuff were like a
bunch<00:21:53.560><c> of</c><00:21:53.650><c> a</c><00:21:53.770><c> bunch</c><00:21:54.160><c> of</c><00:21:54.250><c> blocks</c><00:21:54.370><c> will</c><00:21:54.550><c> get</c>

00:21:54.660 --> 00:21:54.670 align:start position:0%
bunch of a bunch of blocks will get
 

00:21:54.670 --> 00:21:55.830 align:start position:0%
bunch of a bunch of blocks will get
finalized<00:21:55.030><c> at</c><00:21:55.120><c> the</c><00:21:55.210><c> same</c><00:21:55.390><c> time</c><00:21:55.600><c> sometimes</c>

00:21:55.830 --> 00:21:55.840 align:start position:0%
finalized at the same time sometimes
 

00:21:55.840 --> 00:21:58.020 align:start position:0%
finalized at the same time sometimes
right<00:21:56.170><c> because</c><00:21:56.770><c> every</c><00:21:57.220><c> the</c><00:21:57.490><c> thing</c><00:21:57.760><c> that</c><00:21:57.880><c> kind</c>

00:21:58.020 --> 00:21:58.030 align:start position:0%
right because every the thing that kind
 

00:21:58.030 --> 00:21:59.730 align:start position:0%
right because every the thing that kind
of<00:21:58.060><c> realize</c><00:21:58.300><c> like</c><00:21:58.450><c> blocks</c><00:21:58.960><c> can</c><00:21:59.230><c> contribute</c><00:21:59.530><c> to</c>

00:21:59.730 --> 00:21:59.740 align:start position:0%
of realize like blocks can contribute to
 

00:21:59.740 --> 00:22:03.330 align:start position:0%
of realize like blocks can contribute to
the<00:21:59.860><c> finality</c><00:22:00.220><c> of</c><00:22:00.340><c> many</c><00:22:00.520><c> many</c><00:22:00.700><c> blocks</c><00:22:02.040><c> and</c><00:22:03.040><c> and</c>

00:22:03.330 --> 00:22:03.340 align:start position:0%
the finality of many many blocks and and
 

00:22:03.340 --> 00:22:05.610 align:start position:0%
the finality of many many blocks and and
basically<00:22:04.300><c> because</c><00:22:04.570><c> every</c><00:22:05.200><c> block</c><00:22:05.410><c> you</c><00:22:05.590><c> have</c>

00:22:05.610 --> 00:22:05.620 align:start position:0%
basically because every block you have
 

00:22:05.620 --> 00:22:07.800 align:start position:0%
basically because every block you have
will<00:22:06.460><c> like</c><00:22:06.640><c> agree</c><00:22:07.000><c> and</c><00:22:07.150><c> disagree</c><00:22:07.270><c> with</c><00:22:07.660><c> other</c>

00:22:07.800 --> 00:22:07.810 align:start position:0%
will like agree and disagree with other
 

00:22:07.810 --> 00:22:10.860 align:start position:0%
will like agree and disagree with other
blocks<00:22:08.400><c> large</c><00:22:09.400><c> number</c><00:22:09.730><c> of</c><00:22:09.760><c> them</c><00:22:09.910><c> and</c><00:22:10.120><c> which</c>

00:22:10.860 --> 00:22:10.870 align:start position:0%
blocks large number of them and which
 

00:22:10.870 --> 00:22:12.210 align:start position:0%
blocks large number of them and which
blocks<00:22:11.140><c> you</c><00:22:11.260><c> disagree</c><00:22:11.620><c> with</c><00:22:11.770><c> and</c><00:22:11.860><c> agree</c><00:22:12.070><c> with</c>

00:22:12.210 --> 00:22:12.220 align:start position:0%
blocks you disagree with and agree with
 

00:22:12.220 --> 00:22:13.530 align:start position:0%
blocks you disagree with and agree with
actually<00:22:12.520><c> will</c><00:22:12.610><c> determine</c><00:22:12.910><c> how</c><00:22:13.180><c> the</c><00:22:13.240><c> safety</c>

00:22:13.530 --> 00:22:13.540 align:start position:0%
actually will determine how the safety
 

00:22:13.540 --> 00:22:16.230 align:start position:0%
actually will determine how the safety
Oracle<00:22:13.900><c> turns</c><00:22:14.110><c> out</c><00:22:14.430><c> and</c><00:22:15.430><c> so</c><00:22:15.550><c> remember</c><00:22:15.940><c> the</c>

00:22:16.230 --> 00:22:16.240 align:start position:0%
Oracle turns out and so remember the
 

00:22:16.240 --> 00:22:17.910 align:start position:0%
Oracle turns out and so remember the
colors<00:22:16.540><c> not</c><00:22:16.780><c> forking</c><00:22:17.200><c> up</c><00:22:17.350><c> here</c><00:22:17.620><c> at</c><00:22:17.680><c> the</c><00:22:17.740><c> top</c>

00:22:17.910 --> 00:22:17.920 align:start position:0%
colors not forking up here at the top
 

00:22:17.920 --> 00:22:19.320 align:start position:0%
colors not forking up here at the top
lots<00:22:18.160><c> of</c><00:22:18.250><c> 4k</c><00:22:18.490><c> like</c><00:22:18.580><c> look</c><00:22:18.730><c> at</c><00:22:18.820><c> the</c><00:22:18.880><c> red</c><00:22:19.000><c> line</c><00:22:19.180><c> it</c>

00:22:19.320 --> 00:22:19.330 align:start position:0%
lots of 4k like look at the red line it
 

00:22:19.330 --> 00:22:22.980 align:start position:0%
lots of 4k like look at the red line it
kind<00:22:19.690><c> of</c><00:22:19.720><c> goes</c><00:22:20.230><c> and</c><00:22:20.530><c> changes</c><00:22:21.040><c> right</c><00:22:21.880><c> like</c><00:22:22.150><c> you</c>

00:22:22.980 --> 00:22:22.990 align:start position:0%
kind of goes and changes right like you
 

00:22:22.990 --> 00:22:24.300 align:start position:0%
kind of goes and changes right like you
don't<00:22:23.140><c> really</c><00:22:23.290><c> know</c><00:22:23.530><c> if</c><00:22:23.740><c> these</c><00:22:23.860><c> blocks</c><00:22:24.130><c> are</c>

00:22:24.300 --> 00:22:24.310 align:start position:0%
don't really know if these blocks are
 

00:22:24.310 --> 00:22:25.620 align:start position:0%
don't really know if these blocks are
confirmed<00:22:24.670><c> or</c><00:22:24.880><c> they're</c><00:22:25.060><c> gonna</c><00:22:25.120><c> be</c><00:22:25.240><c> consensus</c>

00:22:25.620 --> 00:22:25.630 align:start position:0%
confirmed or they're gonna be consensus
 

00:22:25.630 --> 00:22:27.750 align:start position:0%
confirmed or they're gonna be consensus
but<00:22:25.990><c> the</c><00:22:26.110><c> ones</c><00:22:26.260><c> down</c><00:22:26.410><c> here</c><00:22:26.440><c> are</c><00:22:26.650><c> right</c><00:22:27.070><c> so</c><00:22:27.280><c> it's</c>

00:22:27.750 --> 00:22:27.760 align:start position:0%
but the ones down here are right so it's
 

00:22:27.760 --> 00:22:29.790 align:start position:0%
but the ones down here are right so it's
very<00:22:27.910><c> much</c><00:22:28.030><c> like</c><00:22:28.420><c> a</c><00:22:28.960><c> four</c><00:22:29.260><c> key</c><00:22:29.410><c> thing</c><00:22:29.590><c> it's</c><00:22:29.770><c> a</c>

00:22:29.790 --> 00:22:29.800 align:start position:0%
very much like a four key thing it's a
 

00:22:29.800 --> 00:22:31.800 align:start position:0%
very much like a four key thing it's a
kind<00:22:29.980><c> of</c><00:22:30.010><c> a</c><00:22:30.070><c> blockchain</c><00:22:30.250><c> like</c><00:22:30.610><c> thing</c><00:22:30.790><c> but</c><00:22:31.690><c> this</c>

00:22:31.800 --> 00:22:31.810 align:start position:0%
kind of a blockchain like thing but this
 

00:22:31.810 --> 00:22:33.390 align:start position:0%
kind of a blockchain like thing but this
is<00:22:32.020><c> really</c><00:22:32.380><c> this</c><00:22:32.860><c> is</c><00:22:32.920><c> really</c><00:22:33.220><c> what</c><00:22:33.340><c> I'm</c>

00:22:33.390 --> 00:22:33.400 align:start position:0%
is really this is really what I'm
 

00:22:33.400 --> 00:22:33.810 align:start position:0%
is really this is really what I'm
talking<00:22:33.640><c> about</c>

00:22:33.810 --> 00:22:33.820 align:start position:0%
talking about
 

00:22:33.820 --> 00:22:36.810 align:start position:0%
talking about
this<00:22:34.480><c> is</c><00:22:34.810><c> kind</c><00:22:35.350><c> of</c><00:22:35.500><c> what</c><00:22:36.250><c> I</c><00:22:36.280><c> was</c><00:22:36.430><c> saying</c><00:22:36.580><c> when</c><00:22:36.760><c> I</c>

00:22:36.810 --> 00:22:36.820 align:start position:0%
this is kind of what I was saying when I
 

00:22:36.820 --> 00:22:38.550 align:start position:0%
this is kind of what I was saying when I
say<00:22:36.910><c> that</c><00:22:37.210><c> I</c><00:22:37.420><c> can</c><00:22:37.750><c> achieve</c><00:22:37.870><c> asynchronous</c>

00:22:38.550 --> 00:22:38.560 align:start position:0%
say that I can achieve asynchronous
 

00:22:38.560 --> 00:22:40.650 align:start position:0%
say that I can achieve asynchronous
Byzantine<00:22:39.430><c> fault</c><00:22:39.640><c> tolerant</c><00:22:39.970><c> consensus</c><00:22:40.390><c> with</c>

00:22:40.650 --> 00:22:40.660 align:start position:0%
Byzantine fault tolerant consensus with
 

00:22:40.660 --> 00:22:42.840 align:start position:0%
Byzantine fault tolerant consensus with
the<00:22:40.690><c> overhead</c><00:22:41.320><c> of</c><00:22:41.350><c> Nakamoto</c><00:22:41.950><c> consensus</c><00:22:42.400><c> if</c>

00:22:42.840 --> 00:22:42.850 align:start position:0%
the overhead of Nakamoto consensus if
 

00:22:42.850 --> 00:22:46.740 align:start position:0%
the overhead of Nakamoto consensus if
you<00:22:43.420><c> if</c><00:22:43.600><c> they</c><00:22:43.750><c> do</c><00:22:45.120><c> manage</c><00:22:46.120><c> to</c><00:22:46.480><c> send</c><00:22:46.630><c> the</c>

00:22:46.740 --> 00:22:46.750 align:start position:0%
you if they do manage to send the
 

00:22:46.750 --> 00:22:49.170 align:start position:0%
you if they do manage to send the
messages<00:22:47.050><c> around</c><00:22:47.170><c> a</c><00:22:47.290><c> round-robin</c><00:22:48.180><c> then</c>

00:22:49.170 --> 00:22:49.180 align:start position:0%
messages around a round-robin then
 

00:22:49.180 --> 00:22:50.700 align:start position:0%
messages around a round-robin then
eventually<00:22:49.690><c> you</c><00:22:49.930><c> get</c><00:22:50.020><c> to</c><00:22:50.140><c> a</c><00:22:50.170><c> point</c><00:22:50.380><c> where</c>

00:22:50.700 --> 00:22:50.710 align:start position:0%
eventually you get to a point where
 

00:22:50.710 --> 00:22:54.690 align:start position:0%
eventually you get to a point where
every<00:22:51.340><c> additional</c><00:22:51.850><c> message</c><00:22:53.550><c> finalized</c><00:22:54.550><c> an</c>

00:22:54.690 --> 00:22:54.700 align:start position:0%
every additional message finalized an
 

00:22:54.700 --> 00:22:57.690 align:start position:0%
every additional message finalized an
additional<00:22:55.090><c> block</c><00:22:55.240><c> and</c><00:22:55.710><c> this</c><00:22:56.710><c> kind</c><00:22:57.520><c> of</c>

00:22:57.690 --> 00:22:57.700 align:start position:0%
additional block and this kind of
 

00:22:57.700 --> 00:22:59.760 align:start position:0%
additional block and this kind of
overhead<00:22:58.120><c> for</c><00:22:58.360><c> finality</c><00:22:59.080><c> of</c><00:22:59.320><c> consensus</c><00:22:59.680><c> at</c>

00:22:59.760 --> 00:22:59.770 align:start position:0%
overhead for finality of consensus at
 

00:22:59.770 --> 00:23:01.860 align:start position:0%
overhead for finality of consensus at
every<00:22:59.920><c> block</c><00:23:00.130><c> like</c><00:23:00.640><c> one</c><00:23:00.940><c> message</c><00:23:01.360><c> per</c><00:23:01.600><c> block</c>

00:23:01.860 --> 00:23:01.870 align:start position:0%
every block like one message per block
 

00:23:01.870 --> 00:23:03.540 align:start position:0%
every block like one message per block
for<00:23:02.200><c> finale</c><00:23:02.530><c> at</c><00:23:02.710><c> any</c><00:23:02.860><c> level</c><00:23:03.130><c> of</c><00:23:03.190><c> thought</c><00:23:03.310><c> on</c><00:23:03.520><c> a</c>

00:23:03.540 --> 00:23:03.550 align:start position:0%
for finale at any level of thought on a
 

00:23:03.550 --> 00:23:05.520 align:start position:0%
for finale at any level of thought on a
threshold<00:23:03.850><c> is</c><00:23:04.150><c> like</c><00:23:04.720><c> theoretically</c><00:23:05.170><c> optimal</c>

00:23:05.520 --> 00:23:05.530 align:start position:0%
threshold is like theoretically optimal
 

00:23:05.530 --> 00:23:07.230 align:start position:0%
threshold is like theoretically optimal
because<00:23:05.710><c> you</c><00:23:06.580><c> know</c><00:23:06.640><c> you</c><00:23:06.730><c> can't</c><00:23:06.940><c> really</c><00:23:07.090><c> get</c>

00:23:07.230 --> 00:23:07.240 align:start position:0%
because you know you can't really get
 

00:23:07.240 --> 00:23:09.660 align:start position:0%
because you know you can't really get
lower<00:23:07.450><c> than</c><00:23:07.630><c> one</c><00:23:07.750><c> message</c><00:23:08.050><c> for</c><00:23:08.170><c> block</c><00:23:08.670><c> and</c>

00:23:09.660 --> 00:23:09.670 align:start position:0%
lower than one message for block and
 

00:23:09.670 --> 00:23:10.770 align:start position:0%
lower than one message for block and
this<00:23:09.760><c> kind</c><00:23:09.970><c> of</c><00:23:10.000><c> little</c><00:23:10.210><c> interesting</c><00:23:10.510><c> here</c><00:23:10.630><c> you</c>

00:23:10.770 --> 00:23:10.780 align:start position:0%
this kind of little interesting here you
 

00:23:10.780 --> 00:23:14.070 align:start position:0%
this kind of little interesting here you
see<00:23:10.930><c> that</c><00:23:11.760><c> this</c><00:23:12.760><c> validator</c><00:23:13.360><c> has</c><00:23:13.510><c> more</c><00:23:13.810><c> weight</c>

00:23:14.070 --> 00:23:14.080 align:start position:0%
see that this validator has more weight
 

00:23:14.080 --> 00:23:15.870 align:start position:0%
see that this validator has more weight
than<00:23:14.380><c> these</c><00:23:14.590><c> two</c><00:23:14.890><c> there's</c><00:23:15.340><c> why</c><00:23:15.520><c> the</c><00:23:15.580><c> fourth</c>

00:23:15.870 --> 00:23:15.880 align:start position:0%
than these two there's why the fourth
 

00:23:15.880 --> 00:23:18.660 align:start position:0%
than these two there's why the fourth
choice<00:23:16.060><c> rule</c><00:23:16.680><c> this</c><00:23:17.680><c> validator</c><00:23:18.130><c> even</c><00:23:18.610><c> though</c>

00:23:18.660 --> 00:23:18.670 align:start position:0%
choice rule this validator even though
 

00:23:18.670 --> 00:23:20.700 align:start position:0%
choice rule this validator even though
you<00:23:18.730><c> saw</c><00:23:18.850><c> that</c><00:23:19.030><c> block</c><00:23:19.270><c> whatever</c><00:23:20.140><c> preferred</c><00:23:20.590><c> to</c>

00:23:20.700 --> 00:23:20.710 align:start position:0%
you saw that block whatever preferred to
 

00:23:20.710 --> 00:23:22.410 align:start position:0%
you saw that block whatever preferred to
built<00:23:20.860><c> on</c><00:23:20.950><c> his</c><00:23:21.100><c> like</c><00:23:21.250><c> initial</c><00:23:21.640><c> block</c><00:23:21.850><c> than</c>

00:23:22.410 --> 00:23:22.420 align:start position:0%
built on his like initial block than
 

00:23:22.420 --> 00:23:24.000 align:start position:0%
built on his like initial block than
these<00:23:22.600><c> ones</c><00:23:22.810><c> because</c><00:23:22.960><c> these</c><00:23:23.200><c> two</c><00:23:23.440><c> guys</c><00:23:23.470><c> have</c>

00:23:24.000 --> 00:23:24.010 align:start position:0%
these ones because these two guys have
 

00:23:24.010 --> 00:23:27.690 align:start position:0%
these ones because these two guys have
less<00:23:24.190><c> weight</c><00:23:24.400><c> than</c><00:23:24.430><c> this</c><00:23:24.670><c> one</c><00:23:25.500><c> and</c><00:23:26.500><c> so</c><00:23:27.250><c> this</c><00:23:27.580><c> is</c>

00:23:27.690 --> 00:23:27.700 align:start position:0%
less weight than this one and so this is
 

00:23:27.700 --> 00:23:29.550 align:start position:0%
less weight than this one and so this is
kind<00:23:27.880><c> of</c><00:23:27.940><c> what</c><00:23:28.120><c> I</c><00:23:28.150><c> mean</c><00:23:28.330><c> when</c><00:23:29.020><c> I</c><00:23:29.050><c> say</c><00:23:29.290><c> that</c><00:23:29.440><c> like</c>

00:23:29.550 --> 00:23:29.560 align:start position:0%
kind of what I mean when I say that like
 

00:23:29.560 --> 00:23:30.960 align:start position:0%
kind of what I mean when I say that like
you<00:23:29.800><c> know</c><00:23:29.920><c> we</c><00:23:30.010><c> can</c><00:23:30.130><c> achieve</c><00:23:30.310><c> really</c><00:23:30.670><c> really</c>

00:23:30.960 --> 00:23:30.970 align:start position:0%
you know we can achieve really really
 

00:23:30.970 --> 00:23:33.890 align:start position:0%
you know we can achieve really really
efficient<00:23:32.130><c> asynchronous</c><00:23:33.130><c> consensus</c><00:23:33.490><c> a</c><00:23:33.580><c> few</c>

00:23:33.890 --> 00:23:33.900 align:start position:0%
efficient asynchronous consensus a few
 

00:23:33.900 --> 00:23:37.920 align:start position:0%
efficient asynchronous consensus a few
so<00:23:35.010><c> somehow</c><00:23:36.060><c> you</c><00:23:37.060><c> know</c><00:23:37.150><c> I</c><00:23:37.180><c> know</c><00:23:37.330><c> it's</c><00:23:37.750><c> like</c><00:23:37.900><c> a</c>

00:23:37.920 --> 00:23:37.930 align:start position:0%
so somehow you know I know it's like a
 

00:23:37.930 --> 00:23:40.050 align:start position:0%
so somehow you know I know it's like a
bit<00:23:38.110><c> much</c><00:23:38.230><c> but</c><00:23:38.560><c> I</c><00:23:38.830><c> shared</c>

00:23:40.050 --> 00:23:40.060 align:start position:0%
bit much but I shared
 

00:23:40.060 --> 00:23:43.250 align:start position:0%
bit much but I shared
consensus<00:23:40.780><c> safety</c><00:23:41.020><c> proof</c><00:23:41.260><c> that</c><00:23:42.010><c> talks</c><00:23:42.460><c> about</c>

00:23:43.250 --> 00:23:43.260 align:start position:0%
consensus safety proof that talks about
 

00:23:43.260 --> 00:23:46.170 align:start position:0%
consensus safety proof that talks about
you<00:23:44.260><c> know</c><00:23:44.350><c> these</c><00:23:44.560><c> local</c><00:23:45.060><c> determinations</c><00:23:46.060><c> of</c>

00:23:46.170 --> 00:23:46.180 align:start position:0%
you know these local determinations of
 

00:23:46.180 --> 00:23:48.120 align:start position:0%
you know these local determinations of
estimate<00:23:46.570><c> safety</c><00:23:46.870><c> and</c><00:23:47.110><c> how</c><00:23:47.410><c> they're</c><00:23:47.740><c> related</c>

00:23:48.120 --> 00:23:48.130 align:start position:0%
estimate safety and how they're related
 

00:23:48.130 --> 00:23:51.210 align:start position:0%
estimate safety and how they're related
to<00:23:48.310><c> consensus</c><00:23:49.240><c> safety</c><00:23:49.710><c> we're</c><00:23:50.710><c> able</c><00:23:50.800><c> to</c><00:23:50.950><c> define</c>

00:23:51.210 --> 00:23:51.220 align:start position:0%
to consensus safety we're able to define
 

00:23:51.220 --> 00:23:54.090 align:start position:0%
to consensus safety we're able to define
of<00:23:51.370><c> watching</c><00:23:51.640><c> consensus</c><00:23:51.940><c> protocol</c><00:23:53.100><c> through</c>

00:23:54.090 --> 00:23:54.100 align:start position:0%
of watching consensus protocol through
 

00:23:54.100 --> 00:23:56.190 align:start position:0%
of watching consensus protocol through
like<00:23:54.310><c> basically</c><00:23:54.790><c> by</c><00:23:55.030><c> first</c><00:23:55.750><c> defining</c><00:23:55.900><c> the</c>

00:23:56.190 --> 00:23:56.200 align:start position:0%
like basically by first defining the
 

00:23:56.200 --> 00:23:57.270 align:start position:0%
like basically by first defining the
binary<00:23:56.530><c> consensus</c><00:23:56.800><c> protocol</c>

00:23:57.270 --> 00:23:57.280 align:start position:0%
binary consensus protocol
 

00:23:57.280 --> 00:23:58.950 align:start position:0%
binary consensus protocol
by<00:23:57.460><c> the</c><00:23:57.520><c> safety</c><00:23:57.700><c> proof</c><00:23:57.970><c> and</c><00:23:58.150><c> making</c><00:23:58.630><c> a</c><00:23:58.720><c> really</c>

00:23:58.950 --> 00:23:58.960 align:start position:0%
by the safety proof and making a really
 

00:23:58.960 --> 00:24:00.990 align:start position:0%
by the safety proof and making a really
like<00:23:59.200><c> minor</c><00:23:59.620><c> change</c><00:24:00.010><c> that</c><00:24:00.580><c> doesn't</c><00:24:00.850><c> affect</c>

00:24:00.990 --> 00:24:01.000 align:start position:0%
like minor change that doesn't affect
 

00:24:01.000 --> 00:24:03.260 align:start position:0%
like minor change that doesn't affect
the<00:24:01.120><c> safety</c><00:24:01.270><c> proof</c><00:24:01.540><c> at</c><00:24:01.660><c> all</c>

00:24:03.260 --> 00:24:03.270 align:start position:0%
the safety proof at all
 

00:24:03.270 --> 00:24:05.670 align:start position:0%
the safety proof at all
and<00:24:04.270><c> then</c><00:24:04.750><c> we</c><00:24:04.870><c> were</c><00:24:04.960><c> able</c><00:24:04.990><c> to</c><00:24:05.170><c> actually</c><00:24:05.590><c> add</c>

00:24:05.670 --> 00:24:05.680 align:start position:0%
and then we were able to actually add
 

00:24:05.680 --> 00:24:08.340 align:start position:0%
and then we were able to actually add
validate<00:24:06.100><c> a</c><00:24:06.130><c> rotation</c><00:24:06.610><c> and</c><00:24:06.850><c> remove</c><00:24:07.350><c> finality</c>

00:24:08.340 --> 00:24:08.350 align:start position:0%
validate a rotation and remove finality
 

00:24:08.350 --> 00:24:09.900 align:start position:0%
validate a rotation and remove finality
thresholds<00:24:08.860><c> also</c><00:24:09.190><c> with</c><00:24:09.400><c> very</c><00:24:09.700><c> minimal</c>

00:24:09.900 --> 00:24:09.910 align:start position:0%
thresholds also with very minimal
 

00:24:09.910 --> 00:24:11.850 align:start position:0%
thresholds also with very minimal
changes<00:24:10.360><c> to</c><00:24:10.450><c> the</c><00:24:10.540><c> protocol</c><00:24:10.870><c> and</c><00:24:11.080><c> the</c><00:24:11.620><c> reason</c>

00:24:11.850 --> 00:24:11.860 align:start position:0%
changes to the protocol and the reason
 

00:24:11.860 --> 00:24:13.770 align:start position:0%
changes to the protocol and the reason
why<00:24:11.950><c> we</c><00:24:12.070><c> can</c><00:24:12.220><c> do</c><00:24:12.340><c> this</c><00:24:12.490><c> and</c><00:24:12.760><c> why</c><00:24:13.030><c> it's</c><00:24:13.210><c> like</c><00:24:13.360><c> so</c>

00:24:13.770 --> 00:24:13.780 align:start position:0%
why we can do this and why it's like so
 

00:24:13.780 --> 00:24:15.570 align:start position:0%
why we can do this and why it's like so
little<00:24:13.990><c> work</c><00:24:14.140><c> is</c><00:24:14.380><c> because</c><00:24:14.890><c> of</c><00:24:15.160><c> the</c><00:24:15.340><c> fact</c><00:24:15.520><c> that</c>

00:24:15.570 --> 00:24:15.580 align:start position:0%
little work is because of the fact that
 

00:24:15.580 --> 00:24:17.580 align:start position:0%
little work is because of the fact that
the<00:24:15.730><c> proofs</c><00:24:16.000><c> that</c><00:24:16.750><c> were</c><00:24:16.840><c> lying</c><00:24:17.080><c> on</c><00:24:17.230><c> are</c><00:24:17.380><c> not</c>

00:24:17.580 --> 00:24:17.590 align:start position:0%
the proofs that were lying on are not
 

00:24:17.590 --> 00:24:19.110 align:start position:0%
the proofs that were lying on are not
changing<00:24:18.160><c> while</c><00:24:18.580><c> we're</c><00:24:18.790><c> making</c><00:24:19.030><c> these</c>

00:24:19.110 --> 00:24:19.120 align:start position:0%
changing while we're making these
 

00:24:19.120 --> 00:24:20.460 align:start position:0%
changing while we're making these
changes<00:24:19.330><c> right</c><00:24:19.600><c> there</c><00:24:19.780><c> we</c><00:24:20.230><c> have</c><00:24:20.260><c> like</c>

00:24:20.460 --> 00:24:20.470 align:start position:0%
changes right there we have like
 

00:24:20.470 --> 00:24:22.950 align:start position:0%
changes right there we have like
abstract<00:24:20.890><c> safety</c><00:24:21.340><c> proofs</c><00:24:21.960><c> concrete</c>

00:24:22.950 --> 00:24:22.960 align:start position:0%
abstract safety proofs concrete
 

00:24:22.960 --> 00:24:25.410 align:start position:0%
abstract safety proofs concrete
protocols<00:24:23.470><c> which</c><00:24:24.010><c> we</c><00:24:24.220><c> can</c><00:24:24.370><c> tweak</c><00:24:24.610><c> without</c>

00:24:25.410 --> 00:24:25.420 align:start position:0%
protocols which we can tweak without
 

00:24:25.420 --> 00:24:29.220 align:start position:0%
protocols which we can tweak without
changing<00:24:25.990><c> the</c><00:24:26.080><c> safety</c><00:24:26.320><c> proof</c><00:24:27.390><c> and</c><00:24:28.390><c> you</c><00:24:29.110><c> know</c>

00:24:29.220 --> 00:24:29.230 align:start position:0%
changing the safety proof and you know
 

00:24:29.230 --> 00:24:30.570 align:start position:0%
changing the safety proof and you know
we<00:24:29.380><c> were</c><00:24:29.470><c> able</c><00:24:29.560><c> to</c><00:24:29.710><c> achieve</c><00:24:29.830><c> this</c><00:24:30.130><c> really</c><00:24:30.400><c> nice</c>

00:24:30.570 --> 00:24:30.580 align:start position:0%
we were able to achieve this really nice
 

00:24:30.580 --> 00:24:35.220 align:start position:0%
we were able to achieve this really nice
kind<00:24:31.030><c> of</c><00:24:31.270><c> latency</c><00:24:31.990><c> numbers</c><00:24:33.750><c> so</c><00:24:34.750><c> that</c><00:24:34.960><c> you</c><00:24:35.110><c> know</c>

00:24:35.220 --> 00:24:35.230 align:start position:0%
kind of latency numbers so that you know
 

00:24:35.230 --> 00:24:39.000 align:start position:0%
kind of latency numbers so that you know
I<00:24:35.490><c> think</c><00:24:36.490><c> that</c><00:24:37.450><c> you</c><00:24:38.110><c> know</c><00:24:38.170><c> this</c><00:24:38.290><c> is</c><00:24:38.440><c> hopefully</c>

00:24:39.000 --> 00:24:39.010 align:start position:0%
I think that you know this is hopefully
 

00:24:39.010 --> 00:24:41.670 align:start position:0%
I think that you know this is hopefully
gonna<00:24:39.220><c> be</c><00:24:39.340><c> educational</c><00:24:40.140><c> hopefully</c><00:24:41.140><c> gonna</c>

00:24:41.670 --> 00:24:41.680 align:start position:0%
gonna be educational hopefully gonna
 

00:24:41.680 --> 00:24:43.260 align:start position:0%
gonna be educational hopefully gonna
lead<00:24:41.890><c> to</c><00:24:41.980><c> new</c><00:24:42.070><c> consensus</c><00:24:42.460><c> protocols</c><00:24:42.820><c> you</c><00:24:43.180><c> know</c>

00:24:43.260 --> 00:24:43.270 align:start position:0%
lead to new consensus protocols you know
 

00:24:43.270 --> 00:24:44.400 align:start position:0%
lead to new consensus protocols you know
we<00:24:43.390><c> actually</c><00:24:43.480><c> have</c><00:24:43.780><c> a</c><00:24:43.810><c> bunch</c><00:24:44.080><c> of</c><00:24:44.140><c> Kuznets</c>

00:24:44.400 --> 00:24:44.410 align:start position:0%
we actually have a bunch of Kuznets
 

00:24:44.410 --> 00:24:45.900 align:start position:0%
we actually have a bunch of Kuznets
protocols<00:24:44.740><c> that</c><00:24:44.800><c> were</c><00:24:44.950><c> mentioned</c><00:24:45.160><c> here</c><00:24:45.430><c> that</c>

00:24:45.900 --> 00:24:45.910 align:start position:0%
protocols that were mentioned here that
 

00:24:45.910 --> 00:24:46.950 align:start position:0%
protocols that were mentioned here that
were<00:24:46.000><c> derived</c><00:24:46.210><c> according</c><00:24:46.570><c> this</c><00:24:46.660><c> process</c>

00:24:46.950 --> 00:24:46.960 align:start position:0%
were derived according this process
 

00:24:46.960 --> 00:24:50.330 align:start position:0%
were derived according this process
replicating<00:24:47.410><c> things</c><00:24:47.590><c> like</c><00:24:48.000><c> concurrent</c>

00:24:50.330 --> 00:24:50.340 align:start position:0%
replicating things like concurrent
 

00:24:50.340 --> 00:24:52.530 align:start position:0%
replicating things like concurrent
instead<00:24:51.340><c> of</c><00:24:51.430><c> sequential</c><00:24:51.760><c> ones</c><00:24:52.030><c> or</c><00:24:52.240><c> like</c><00:24:52.390><c> an</c>

00:24:52.530 --> 00:24:52.540 align:start position:0%
instead of sequential ones or like an
 

00:24:52.540 --> 00:24:55.470 align:start position:0%
instead of sequential ones or like an
integer<00:24:53.820><c> through</c><00:24:54.820><c> these</c><00:24:54.910><c> domain</c><00:24:55.210><c> for</c><00:24:55.360><c> time</c>

00:24:55.470 --> 00:24:55.480 align:start position:0%
integer through these domain for time
 

00:24:55.480 --> 00:24:59.550 align:start position:0%
integer through these domain for time
stamping<00:24:55.810><c> so</c><00:24:56.350><c> here's</c><00:24:57.040><c> a</c><00:24:57.310><c> little</c><00:24:57.700><c> secret</c><00:24:58.470><c> mmm</c>

00:24:59.550 --> 00:24:59.560 align:start position:0%
stamping so here's a little secret mmm
 

00:24:59.560 --> 00:25:03.210 align:start position:0%
stamping so here's a little secret mmm
just<00:24:59.920><c> now</c><00:25:00.100><c> I</c><00:25:00.870><c> published</c><00:25:01.870><c> the</c><00:25:02.260><c> prototype</c><00:25:02.680><c> for</c>

00:25:03.210 --> 00:25:03.220 align:start position:0%
just now I published the prototype for
 

00:25:03.220 --> 00:25:08.610 align:start position:0%
just now I published the prototype for
the<00:25:03.490><c> for</c><00:25:04.150><c> these</c><00:25:04.890><c> fourteen</c><00:25:05.890><c> consensus</c><00:25:07.620><c> and</c>

00:25:08.610 --> 00:25:08.620 align:start position:0%
the for these fourteen consensus and
 

00:25:08.620 --> 00:25:11.940 align:start position:0%
the for these fourteen consensus and
also<00:25:09.430><c> this</c><00:25:09.880><c> white</c><00:25:10.690><c> like</c><00:25:10.960><c> a</c><00:25:10.990><c> specification</c><00:25:11.470><c> in</c>

00:25:11.940 --> 00:25:11.950 align:start position:0%
also this white like a specification in
 

00:25:11.950 --> 00:25:14.850 align:start position:0%
also this white like a specification in
very<00:25:12.640><c> much</c><00:25:12.790><c> detail</c><00:25:12.850><c> of</c><00:25:13.390><c> all</c><00:25:14.110><c> of</c><00:25:14.560><c> this</c><00:25:14.650><c> stuff</c>

00:25:14.850 --> 00:25:14.860 align:start position:0%
very much detail of all of this stuff
 

00:25:14.860 --> 00:25:19.230 align:start position:0%
very much detail of all of this stuff
and<00:25:15.990><c> more</c><00:25:16.990><c> incomplete</c><00:25:17.620><c> description</c><00:25:18.160><c> of</c><00:25:18.670><c> the</c>

00:25:19.230 --> 00:25:19.240 align:start position:0%
and more incomplete description of the
 

00:25:19.240 --> 00:25:20.940 align:start position:0%
and more incomplete description of the
correct<00:25:19.450><c> my</c><00:25:19.540><c> construction</c><00:25:19.840><c> process</c><00:25:20.290><c> given</c><00:25:20.860><c> at</c>

00:25:20.940 --> 00:25:20.950 align:start position:0%
correct my construction process given at
 

00:25:20.950 --> 00:25:22.110 align:start position:0%
correct my construction process given at
a<00:25:21.040><c> very</c><00:25:21.280><c> very</c><00:25:21.490><c> high</c><00:25:21.670><c> level</c><00:25:21.700><c> of</c><00:25:22.030><c> abstraction</c>

00:25:22.110 --> 00:25:22.120 align:start position:0%
a very very high level of abstraction
 

00:25:22.120 --> 00:25:25.670 align:start position:0%
a very very high level of abstraction
much<00:25:23.080><c> higher</c><00:25:23.320><c> than</c><00:25:23.590><c> I</c><00:25:23.650><c> even</c><00:25:23.920><c> hinted</c><00:25:24.310><c> at</c><00:25:24.400><c> today</c>

00:25:25.670 --> 00:25:25.680 align:start position:0%
much higher than I even hinted at today
 

00:25:25.680 --> 00:25:28.920 align:start position:0%
much higher than I even hinted at today
so<00:25:26.680><c> you</c><00:25:27.220><c> know</c><00:25:27.310><c> this</c><00:25:27.910><c> kind</c><00:25:28.240><c> of</c><00:25:28.270><c> represents</c><00:25:28.900><c> the</c>

00:25:28.920 --> 00:25:28.930 align:start position:0%
so you know this kind of represents the
 

00:25:28.930 --> 00:25:33.330 align:start position:0%
so you know this kind of represents the
state<00:25:29.260><c> of</c><00:25:29.410><c> the</c><00:25:29.500><c> work</c><00:25:29.680><c> today</c><00:25:30.450><c> and</c><00:25:32.040><c> you</c><00:25:33.040><c> know</c><00:25:33.130><c> I</c>

00:25:33.330 --> 00:25:33.340 align:start position:0%
state of the work today and you know I
 

00:25:33.340 --> 00:25:35.160 align:start position:0%
state of the work today and you know I
gear<00:25:33.640><c> I'm</c><00:25:33.970><c> excited</c><00:25:34.720><c> for</c><00:25:34.840><c> you</c><00:25:34.900><c> guys</c><00:25:34.930><c> to</c><00:25:35.110><c> check</c>

00:25:35.160 --> 00:25:35.170 align:start position:0%
gear I'm excited for you guys to check
 

00:25:35.170 --> 00:25:37.410 align:start position:0%
gear I'm excited for you guys to check
it<00:25:35.320><c> out</c><00:25:35.530><c> and</c><00:25:35.710><c> to</c><00:25:36.220><c> take</c><00:25:36.430><c> a</c><00:25:36.460><c> look</c><00:25:36.550><c> at</c><00:25:36.910><c> the</c><00:25:37.180><c> correct</c>

00:25:37.410 --> 00:25:37.420 align:start position:0%
it out and to take a look at the correct
 

00:25:37.420 --> 00:25:38.910 align:start position:0%
it out and to take a look at the correct
my<00:25:37.510><c> construction</c><00:25:37.870><c> consensus</c><00:25:38.350><c> protocols</c><00:25:38.710><c> and</c>

00:25:38.910 --> 00:25:38.920 align:start position:0%
my construction consensus protocols and
 

00:25:38.920 --> 00:25:41.670 align:start position:0%
my construction consensus protocols and
see<00:25:39.460><c> if</c><00:25:39.640><c> you</c><00:25:40.210><c> know</c><00:25:40.330><c> you</c><00:25:40.960><c> find</c><00:25:41.200><c> them</c><00:25:41.320><c> as</c><00:25:41.410><c> easy</c><00:25:41.560><c> to</c>

00:25:41.670 --> 00:25:41.680 align:start position:0%
see if you know you find them as easy to
 

00:25:41.680 --> 00:25:45.450 align:start position:0%
see if you know you find them as easy to
reason<00:25:41.830><c> about</c><00:25:41.980><c> as</c><00:25:42.250><c> I</c><00:25:42.340><c> do</c><00:25:44.070><c> and</c><00:25:45.070><c> then</c><00:25:45.190><c> we're</c><00:25:45.280><c> done</c>

00:25:45.450 --> 00:25:45.460 align:start position:0%
reason about as I do and then we're done
 

00:25:45.460 --> 00:25:48.780 align:start position:0%
reason about as I do and then we're done
right<00:25:45.840><c> so</c><00:25:46.840><c> so</c><00:25:47.110><c> Nate</c><00:25:47.350><c> Danny</c><00:25:47.700><c> worked</c><00:25:48.700><c> really</c>

00:25:48.780 --> 00:25:48.790 align:start position:0%
right so so Nate Danny worked really
 

00:25:48.790 --> 00:25:50.640 align:start position:0%
right so so Nate Danny worked really
hard<00:25:48.910><c> to</c><00:25:49.390><c> help</c><00:25:49.960><c> me</c>

00:25:50.640 --> 00:25:50.650 align:start position:0%
hard to help me
 

00:25:50.650 --> 00:25:52.260 align:start position:0%
hard to help me
get<00:25:51.190><c> ready</c><00:25:51.340><c> for</c><00:25:51.400><c> DEFCON</c><00:25:51.730><c> and</c><00:25:51.760><c> get</c><00:25:52.000><c> the</c><00:25:52.090><c> code</c>

00:25:52.260 --> 00:25:52.270 align:start position:0%
get ready for DEFCON and get the code
 

00:25:52.270 --> 00:25:54.210 align:start position:0%
get ready for DEFCON and get the code
published<00:25:52.690><c> get</c><00:25:52.840><c> the</c><00:25:52.900><c> papers</c><00:25:53.200><c> ready</c>

00:25:54.210 --> 00:25:54.220 align:start position:0%
published get the papers ready
 

00:25:54.220 --> 00:25:56.490 align:start position:0%
published get the papers ready
you<00:25:54.550><c> know</c><00:25:54.640><c> million</c><00:25:55.060><c> thanks</c><00:25:55.240><c> to</c><00:25:55.360><c> them</c><00:25:55.510><c> Carl</c><00:25:55.900><c> who</c>

00:25:56.490 --> 00:25:56.500 align:start position:0%
you know million thanks to them Carl who
 

00:25:56.500 --> 00:25:59.550 align:start position:0%
you know million thanks to them Carl who
just<00:25:56.710><c> spoke</c><00:25:56.940><c> last</c><00:25:57.940><c> was</c><00:25:58.720><c> the</c><00:25:58.780><c> first</c><00:25:59.020><c> person</c><00:25:59.470><c> to</c>

00:25:59.550 --> 00:25:59.560 align:start position:0%
just spoke last was the first person to
 

00:25:59.560 --> 00:26:01.410 align:start position:0%
just spoke last was the first person to
really<00:25:59.830><c> actually</c><00:26:00.490><c> the</c><00:26:00.580><c> first</c><00:26:00.670><c> developer</c><00:26:01.120><c> on</c>

00:26:01.410 --> 00:26:01.420 align:start position:0%
really actually the first developer on
 

00:26:01.420 --> 00:26:04.350 align:start position:0%
really actually the first developer on
the<00:26:01.710><c> correct</c><00:26:02.710><c> reconstruction</c><00:26:03.220><c> Casper</c><00:26:03.550><c> Greg</c>

00:26:04.350 --> 00:26:04.360 align:start position:0%
the correct reconstruction Casper Greg
 

00:26:04.360 --> 00:26:05.970 align:start position:0%
the correct reconstruction Casper Greg
Meredith<00:26:04.780><c> who</c><00:26:05.080><c> is</c><00:26:05.380><c> here</c><00:26:05.620><c> somewhere</c><00:26:05.800><c> but</c><00:26:05.950><c> I</c>

00:26:05.970 --> 00:26:05.980 align:start position:0%
Meredith who is here somewhere but I
 

00:26:05.980 --> 00:26:08.760 align:start position:0%
Meredith who is here somewhere but I
haven't<00:26:06.160><c> seen</c><00:26:06.280><c> him</c><00:26:06.370><c> yet</c><00:26:06.490><c> has</c><00:26:07.480><c> you</c><00:26:08.470><c> know</c><00:26:08.590><c> really</c>

00:26:08.760 --> 00:26:08.770 align:start position:0%
haven't seen him yet has you know really
 

00:26:08.770 --> 00:26:09.540 align:start position:0%
haven't seen him yet has you know really
introduced<00:26:09.130><c> me</c><00:26:09.190><c> to</c><00:26:09.220><c> the</c><00:26:09.340><c> correct</c><00:26:09.490><c> my</c>

00:26:09.540 --> 00:26:09.550 align:start position:0%
introduced me to the correct my
 

00:26:09.550 --> 00:26:10.440 align:start position:0%
introduced me to the correct my
construction<00:26:09.850><c> process</c>

00:26:10.440 --> 00:26:10.450 align:start position:0%
construction process
 

00:26:10.450 --> 00:26:12.420 align:start position:0%
construction process
and<00:26:10.540><c> help</c><00:26:10.960><c> me</c><00:26:11.050><c> really</c><00:26:11.260><c> like</c><00:26:11.410><c> formalize</c><00:26:12.100><c> and</c>

00:26:12.420 --> 00:26:12.430 align:start position:0%
and help me really like formalize and
 

00:26:12.430 --> 00:26:13.830 align:start position:0%
and help me really like formalize and
like<00:26:12.730><c> kind</c><00:26:13.030><c> of</c><00:26:13.060><c> take</c><00:26:13.270><c> this</c><00:26:13.360><c> mathematical</c>

00:26:13.830 --> 00:26:13.840 align:start position:0%
like kind of take this mathematical
 

00:26:13.840 --> 00:26:16.200 align:start position:0%
like kind of take this mathematical
approach<00:26:14.020><c> finally</c><00:26:14.830><c> metallic</c><00:26:15.370><c> you</c><00:26:15.730><c> know</c><00:26:15.850><c> has</c>

00:26:16.200 --> 00:26:16.210 align:start position:0%
approach finally metallic you know has
 

00:26:16.210 --> 00:26:18.450 align:start position:0%
approach finally metallic you know has
been<00:26:16.330><c> working</c><00:26:16.390><c> with</c><00:26:16.990><c> me</c><00:26:17.080><c> on</c><00:26:17.320><c> this</c><00:26:18.040><c> stuff</c><00:26:18.250><c> for</c>

00:26:18.450 --> 00:26:18.460 align:start position:0%
been working with me on this stuff for
 

00:26:18.460 --> 00:26:21.660 align:start position:0%
been working with me on this stuff for
years<00:26:18.700><c> like</c><00:26:18.910><c> three</c><00:26:19.150><c> years</c><00:26:19.180><c> more</c><00:26:20.130><c> you</c><00:26:21.130><c> know</c><00:26:21.250><c> so</c>

00:26:21.660 --> 00:26:21.670 align:start position:0%
years like three years more you know so
 

00:26:21.670 --> 00:26:22.860 align:start position:0%
years like three years more you know so
thanks<00:26:21.940><c> for</c><00:26:22.030><c> think</c><00:26:22.330><c> thanks</c><00:26:22.600><c> a</c><00:26:22.630><c> lot</c><00:26:22.750><c> for</c>

00:26:22.860 --> 00:26:22.870 align:start position:0%
thanks for think thanks a lot for
 

00:26:22.870 --> 00:26:29.930 align:start position:0%
thanks for think thanks a lot for
everyone<00:26:23.020><c> and</c><00:26:23.290><c> thanks</c><00:26:24.070><c> you</c><00:26:24.100><c> for</c><00:26:24.250><c> listening</c>

00:26:29.930 --> 00:26:29.940 align:start position:0%
 
 

00:26:29.940 --> 00:26:33.140 align:start position:0%
 
[Applause]

00:26:33.140 --> 00:26:33.150 align:start position:0%
[Applause]
 

00:26:33.150 --> 00:26:40.729 align:start position:0%
[Applause]
[Music]

