WEBVTT
Kind: captions
Language: en

00:00:16.430 --> 00:00:20.150 align:start position:0%
 
hello<00:00:17.430><c> so</c><00:00:18.210><c> Gustav</c><00:00:19.050><c> and</c><00:00:19.170><c> I</c><00:00:19.230><c> wanted</c><00:00:19.619><c> to</c><00:00:19.800><c> talk</c><00:00:20.010><c> to</c>

00:00:20.150 --> 00:00:20.160 align:start position:0%
hello so Gustav and I wanted to talk to
 

00:00:20.160 --> 00:00:24.400 align:start position:0%
hello so Gustav and I wanted to talk to
you<00:00:20.310><c> a</c><00:00:20.340><c> bit</c><00:00:20.490><c> so</c><00:00:21.000><c> my</c><00:00:21.119><c> name</c><00:00:21.240><c> is</c><00:00:21.330><c> yota</c><00:00:21.710><c> we</c><00:00:22.710><c> were</c>

00:00:24.400 --> 00:00:24.410 align:start position:0%
you a bit so my name is yota we were
 

00:00:24.410 --> 00:00:26.900 align:start position:0%
you a bit so my name is yota we were
heading<00:00:25.410><c> supporting</c><00:00:26.039><c> the</c><00:00:26.160><c> security</c><00:00:26.730><c> audit</c>

00:00:26.900 --> 00:00:26.910 align:start position:0%
heading supporting the security audit
 

00:00:26.910 --> 00:00:28.490 align:start position:0%
heading supporting the security audit
surprise<00:00:27.449><c> who</c><00:00:27.599><c> launched</c><00:00:27.930><c> and</c><00:00:28.080><c> good</c><00:00:28.199><c> stuff</c><00:00:28.320><c> and</c>

00:00:28.490 --> 00:00:28.500 align:start position:0%
surprise who launched and good stuff and
 

00:00:28.500 --> 00:00:30.320 align:start position:0%
surprise who launched and good stuff and
I<00:00:28.529><c> wanted</c><00:00:28.830><c> to</c><00:00:28.949><c> talk</c><00:00:29.099><c> to</c><00:00:29.220><c> you</c><00:00:29.340><c> a</c><00:00:29.369><c> bit</c><00:00:29.400><c> about</c><00:00:29.550><c> what</c>

00:00:30.320 --> 00:00:30.330 align:start position:0%
I wanted to talk to you a bit about what
 

00:00:30.330 --> 00:00:33.740 align:start position:0%
I wanted to talk to you a bit about what
we've<00:00:30.510><c> done</c><00:00:30.630><c> from</c><00:00:31.140><c> the</c><00:00:31.289><c> SDF</c><00:00:32.009><c> side</c><00:00:32.640><c> in</c><00:00:33.030><c> order</c><00:00:33.600><c> to</c>

00:00:33.740 --> 00:00:33.750 align:start position:0%
we've done from the SDF side in order to
 

00:00:33.750 --> 00:00:36.950 align:start position:0%
we've done from the SDF side in order to
secure<00:00:34.260><c> the</c><00:00:34.320><c> network</c><00:00:34.800><c> and</c><00:00:35.540><c> make</c><00:00:36.540><c> everything</c>

00:00:36.950 --> 00:00:36.960 align:start position:0%
secure the network and make everything
 

00:00:36.960 --> 00:00:38.450 align:start position:0%
secure the network and make everything
stable

00:00:38.450 --> 00:00:38.460 align:start position:0%
stable
 

00:00:38.460 --> 00:00:41.660 align:start position:0%
stable
so<00:00:39.530><c> personally</c><00:00:40.530><c> I</c><00:00:40.620><c> said</c><00:00:41.010><c> security</c><00:00:41.370><c> is</c><00:00:41.640><c> a</c>

00:00:41.660 --> 00:00:41.670 align:start position:0%
so personally I said security is a
 

00:00:41.670 --> 00:00:45.229 align:start position:0%
so personally I said security is a
process<00:00:42.149><c> so</c><00:00:42.840><c> that's</c><00:00:43.200><c> what</c><00:00:43.379><c> we</c><00:00:43.820><c> kept</c><00:00:44.820><c> in</c><00:00:45.000><c> mind</c>

00:00:45.229 --> 00:00:45.239 align:start position:0%
process so that's what we kept in mind
 

00:00:45.239 --> 00:00:48.470 align:start position:0%
process so that's what we kept in mind
when<00:00:45.480><c> we</c><00:00:45.690><c> thought</c><00:00:45.930><c> about</c><00:00:46.170><c> security</c><00:00:47.000><c> it</c><00:00:48.000><c> starts</c>

00:00:48.470 --> 00:00:48.480 align:start position:0%
when we thought about security it starts
 

00:00:48.480 --> 00:00:50.479 align:start position:0%
when we thought about security it starts
with<00:00:48.660><c> the</c><00:00:48.960><c> different</c><00:00:49.410><c> implementations</c><00:00:50.250><c> that</c>

00:00:50.479 --> 00:00:50.489 align:start position:0%
with the different implementations that
 

00:00:50.489 --> 00:00:54.560 align:start position:0%
with the different implementations that
were<00:00:50.960><c> supported</c><00:00:51.960><c> and</c><00:00:52.340><c> by</c><00:00:53.340><c> the</c><00:00:53.399><c> by</c><00:00:54.149><c> the</c><00:00:54.210><c> theorem</c>

00:00:54.560 --> 00:00:54.570 align:start position:0%
were supported and by the by the theorem
 

00:00:54.570 --> 00:00:56.990 align:start position:0%
were supported and by the by the theorem
foundation<00:00:55.190><c> particularly</c><00:00:56.190><c> the</c><00:00:56.460><c> Python</c>

00:00:56.990 --> 00:00:57.000 align:start position:0%
foundation particularly the Python
 

00:00:57.000 --> 00:00:59.720 align:start position:0%
foundation particularly the Python
client<00:00:57.270><c> the</c><00:00:58.260><c> C++</c><00:00:58.800><c> and</c><00:00:59.010><c> the</c><00:00:59.100><c> NGO</c><00:00:59.219><c> client</c><00:00:59.640><c> in</c>

00:00:59.720 --> 00:00:59.730 align:start position:0%
client the C++ and the NGO client in
 

00:00:59.730 --> 00:01:01.959 align:start position:0%
client the C++ and the NGO client in
order<00:01:00.000><c> to</c><00:01:00.149><c> ensure</c><00:01:00.510><c> a</c><00:01:00.809><c> healthy</c><00:01:01.260><c> network</c>

00:01:01.959 --> 00:01:01.969 align:start position:0%
order to ensure a healthy network
 

00:01:01.969 --> 00:01:07.789 align:start position:0%
order to ensure a healthy network
together<00:01:02.969><c> with</c><00:01:03.390><c> the</c><00:01:04.369><c> yellow</c><00:01:05.369><c> paper</c><00:01:05.670><c> that</c><00:01:06.799><c> that</c>

00:01:07.789 --> 00:01:07.799 align:start position:0%
together with the yellow paper that that
 

00:01:07.799 --> 00:01:10.429 align:start position:0%
together with the yellow paper that that
is<00:01:07.920><c> a</c><00:01:07.950><c> bit</c><00:01:08.159><c> unreadable</c><00:01:08.790><c> as</c><00:01:09.720><c> some</c><00:01:09.990><c> people</c><00:01:10.290><c> say</c>

00:01:10.429 --> 00:01:10.439 align:start position:0%
is a bit unreadable as some people say
 

00:01:10.439 --> 00:01:13.880 align:start position:0%
is a bit unreadable as some people say
but<00:01:10.729><c> nonetheless</c><00:01:11.729><c> and</c><00:01:12.299><c> serve</c><00:01:12.630><c> very</c><00:01:12.930><c> well</c><00:01:13.020><c> as</c><00:01:13.830><c> a</c>

00:01:13.880 --> 00:01:13.890 align:start position:0%
but nonetheless and serve very well as a
 

00:01:13.890 --> 00:01:15.440 align:start position:0%
but nonetheless and serve very well as a
process<00:01:14.280><c> and</c><00:01:14.700><c> posters</c><00:01:14.970><c> we'll</c><00:01:15.119><c> talk</c><00:01:15.270><c> a</c><00:01:15.299><c> bit</c>

00:01:15.440 --> 00:01:15.450 align:start position:0%
process and posters we'll talk a bit
 

00:01:15.450 --> 00:01:18.020 align:start position:0%
process and posters we'll talk a bit
more<00:01:15.479><c> about</c><00:01:15.659><c> that</c><00:01:16.020><c> in</c><00:01:16.920><c> order</c><00:01:17.220><c> to</c><00:01:17.340><c> ensure</c><00:01:17.700><c> that</c>

00:01:18.020 --> 00:01:18.030 align:start position:0%
more about that in order to ensure that
 

00:01:18.030 --> 00:01:23.030 align:start position:0%
more about that in order to ensure that
the<00:01:18.600><c> implementations</c><00:01:19.320><c> are</c><00:01:19.560><c> actually</c><00:01:21.530><c> in</c><00:01:22.530><c> in</c>

00:01:23.030 --> 00:01:23.040 align:start position:0%
the implementations are actually in in
 

00:01:23.040 --> 00:01:25.520 align:start position:0%
the implementations are actually in in
like<00:01:23.490><c> comply</c><00:01:24.360><c> with</c><00:01:25.110><c> the</c><00:01:25.200><c> formal</c>

00:01:25.520 --> 00:01:25.530 align:start position:0%
like comply with the formal
 

00:01:25.530 --> 00:01:29.899 align:start position:0%
like comply with the formal
specification<00:01:27.229><c> then</c><00:01:28.229><c> of</c><00:01:28.530><c> course</c><00:01:28.799><c> a</c><00:01:29.130><c> big</c><00:01:29.610><c> set</c>

00:01:29.899 --> 00:01:29.909 align:start position:0%
specification then of course a big set
 

00:01:29.909 --> 00:01:32.630 align:start position:0%
specification then of course a big set
of<00:01:30.090><c> comprehensive</c><00:01:31.079><c> tests</c><00:01:31.890><c> that</c><00:01:32.520><c> we</c>

00:01:32.630 --> 00:01:32.640 align:start position:0%
of comprehensive tests that we
 

00:01:32.640 --> 00:01:34.249 align:start position:0%
of comprehensive tests that we
implemented<00:01:33.000><c> and</c><00:01:33.329><c> also</c><00:01:33.689><c> good</c><00:01:33.930><c> stuff</c><00:01:34.110><c> we'll</c>

00:01:34.249 --> 00:01:34.259 align:start position:0%
implemented and also good stuff we'll
 

00:01:34.259 --> 00:01:37.130 align:start position:0%
implemented and also good stuff we'll
talk<00:01:34.439><c> a</c><00:01:34.470><c> bit</c><00:01:34.560><c> more</c><00:01:34.680><c> about</c><00:01:34.829><c> that</c><00:01:35.720><c> cross</c><00:01:36.720><c> client</c>

00:01:37.130 --> 00:01:37.140 align:start position:0%
talk a bit more about that cross client
 

00:01:37.140 --> 00:01:39.319 align:start position:0%
talk a bit more about that cross client
tests<00:01:37.619><c> particular</c><00:01:38.189><c> tests</c><00:01:38.610><c> for</c><00:01:38.759><c> the</c><00:01:38.850><c> VM</c><00:01:39.119><c> has</c><00:01:39.270><c> a</c>

00:01:39.319 --> 00:01:39.329 align:start position:0%
tests particular tests for the VM has a
 

00:01:39.329 --> 00:01:43.280 align:start position:0%
tests particular tests for the VM has a
critical<00:01:39.780><c> core</c><00:01:40.610><c> component</c><00:01:41.610><c> of</c><00:01:41.820><c> the</c><00:01:42.060><c> of</c><00:01:42.659><c> the</c>

00:01:43.280 --> 00:01:43.290 align:start position:0%
critical core component of the of the
 

00:01:43.290 --> 00:01:45.940 align:start position:0%
critical core component of the of the
protocol<00:01:43.909><c> transactions</c><00:01:44.909><c> and</c><00:01:45.030><c> vaak</c><00:01:45.180><c> test</c><00:01:45.420><c> and</c>

00:01:45.940 --> 00:01:45.950 align:start position:0%
protocol transactions and vaak test and
 

00:01:45.950 --> 00:01:48.080 align:start position:0%
protocol transactions and vaak test and
Christophe<00:01:46.950><c> and</c><00:01:47.100><c> Dimitri</c><00:01:47.549><c> who</c><00:01:47.670><c> are</c><00:01:47.820><c> around</c>

00:01:48.080 --> 00:01:48.090 align:start position:0%
Christophe and Dimitri who are around
 

00:01:48.090 --> 00:01:50.460 align:start position:0%
Christophe and Dimitri who are around
they<00:01:48.780><c> did</c><00:01:48.960><c> a</c><00:01:48.990><c> great</c><00:01:49.229><c> job</c><00:01:49.259><c> in</c>

00:01:50.460 --> 00:01:50.470 align:start position:0%
they did a great job in
 

00:01:50.470 --> 00:01:52.920 align:start position:0%
they did a great job in
in<00:01:50.560><c> achieving</c><00:01:51.520><c> a</c><00:01:51.610><c> very</c><00:01:51.640><c> big</c><00:01:52.150><c> coverage</c><00:01:52.570><c> and</c>

00:01:52.920 --> 00:01:52.930 align:start position:0%
in achieving a very big coverage and
 

00:01:52.930 --> 00:01:56.310 align:start position:0%
in achieving a very big coverage and
then<00:01:53.590><c> finally</c><00:01:54.070><c> the</c><00:01:55.000><c> thing</c><00:01:55.210><c> that</c><00:01:55.420><c> Gustav</c><00:01:56.140><c> and</c><00:01:56.170><c> I</c>

00:01:56.310 --> 00:01:56.320 align:start position:0%
then finally the thing that Gustav and I
 

00:01:56.320 --> 00:01:59.070 align:start position:0%
then finally the thing that Gustav and I
mainly<00:01:56.650><c> worked</c><00:01:56.950><c> on</c><00:01:57.160><c> the</c><00:01:57.400><c> the</c><00:01:57.940><c> audits</c><00:01:58.390><c> that</c><00:01:58.660><c> we</c>

00:01:59.070 --> 00:01:59.080 align:start position:0%
mainly worked on the the audits that we
 

00:01:59.080 --> 00:02:01.740 align:start position:0%
mainly worked on the the audits that we
did<00:01:59.320><c> prior</c><00:01:59.500><c> to</c><00:01:59.560><c> launch</c><00:01:59.920><c> so</c><00:02:00.480><c> where</c><00:02:01.480><c> we</c><00:02:01.600><c> work</c>

00:02:01.740 --> 00:02:01.750 align:start position:0%
did prior to launch so where we work
 

00:02:01.750 --> 00:02:03.360 align:start position:0%
did prior to launch so where we work
together<00:02:01.930><c> with</c><00:02:02.230><c> blockchain</c><00:02:02.650><c> researchers</c>

00:02:03.360 --> 00:02:03.370 align:start position:0%
together with blockchain researchers
 

00:02:03.370 --> 00:02:05.640 align:start position:0%
together with blockchain researchers
academic<00:02:04.030><c> researchers</c><00:02:04.720><c> different</c>

00:02:05.640 --> 00:02:05.650 align:start position:0%
academic researchers different
 

00:02:05.650 --> 00:02:08.310 align:start position:0%
academic researchers different
professional<00:02:06.190><c> security</c><00:02:06.490><c> firms</c><00:02:07.080><c> for</c><00:02:08.080><c> which</c><00:02:08.170><c> we</c>

00:02:08.310 --> 00:02:08.320 align:start position:0%
professional security firms for which we
 

00:02:08.320 --> 00:02:10.950 align:start position:0%
professional security firms for which we
use<00:02:08.530><c> the</c><00:02:08.560><c> big</c><00:02:09.100><c> chunk</c><00:02:09.430><c> of</c><00:02:09.610><c> the</c><00:02:09.760><c> budget</c><00:02:10.119><c> from</c><00:02:10.780><c> the</c>

00:02:10.950 --> 00:02:10.960 align:start position:0%
use the big chunk of the budget from the
 

00:02:10.960 --> 00:02:14.730 align:start position:0%
use the big chunk of the budget from the
from<00:02:11.590><c> the</c><00:02:11.680><c> race</c><00:02:11.860><c> and</c><00:02:12.250><c> the</c><00:02:13.140><c> from</c><00:02:14.140><c> the</c><00:02:14.260><c> sale</c><00:02:14.440><c> and</c>

00:02:14.730 --> 00:02:14.740 align:start position:0%
from the race and the from the sale and
 

00:02:14.740 --> 00:02:19.530 align:start position:0%
from the race and the from the sale and
the<00:02:14.830><c> bounty</c><00:02:15.520><c> program</c><00:02:17.220><c> let</c><00:02:18.220><c> me</c><00:02:18.420><c> say</c><00:02:19.420><c> a</c><00:02:19.450><c> few</c>

00:02:19.530 --> 00:02:19.540 align:start position:0%
the bounty program let me say a few
 

00:02:19.540 --> 00:02:21.060 align:start position:0%
the bounty program let me say a few
words<00:02:19.900><c> about</c><00:02:20.020><c> the</c><00:02:20.230><c> bounty</c><00:02:20.470><c> program</c><00:02:20.770><c> since</c><00:02:20.950><c> we</c>

00:02:21.060 --> 00:02:21.070 align:start position:0%
words about the bounty program since we
 

00:02:21.070 --> 00:02:23.550 align:start position:0%
words about the bounty program since we
have<00:02:21.220><c> one</c><00:02:21.460><c> of</c><00:02:21.580><c> the</c><00:02:21.700><c> bounty</c><00:02:22.270><c> hunter</c><00:02:22.690><c> hunters</c>

00:02:23.550 --> 00:02:23.560 align:start position:0%
have one of the bounty hunter hunters
 

00:02:23.560 --> 00:02:24.030 align:start position:0%
have one of the bounty hunter hunters
here

00:02:24.030 --> 00:02:24.040 align:start position:0%
here
 

00:02:24.040 --> 00:02:26.970 align:start position:0%
here
Martino<00:02:24.670><c> did</c><00:02:24.820><c> a</c><00:02:24.880><c> great</c><00:02:25.060><c> job</c><00:02:25.570><c> so</c><00:02:26.020><c> that</c><00:02:26.710><c> was</c><00:02:26.860><c> an</c>

00:02:26.970 --> 00:02:26.980 align:start position:0%
Martino did a great job so that was an
 

00:02:26.980 --> 00:02:28.980 align:start position:0%
Martino did a great job so that was an
effort<00:02:27.070><c> and</c><00:02:27.340><c> is</c><00:02:27.460><c> still</c><00:02:27.610><c> ongoing</c><00:02:27.870><c> where</c><00:02:28.870><c> we</c>

00:02:28.980 --> 00:02:28.990 align:start position:0%
effort and is still ongoing where we
 

00:02:28.990 --> 00:02:32.040 align:start position:0%
effort and is still ongoing where we
engage<00:02:29.260><c> the</c><00:02:29.500><c> community</c><00:02:30.300><c> to</c><00:02:31.300><c> find</c><00:02:31.750><c> and</c>

00:02:32.040 --> 00:02:32.050 align:start position:0%
engage the community to find and
 

00:02:32.050 --> 00:02:34.680 align:start position:0%
engage the community to find and
scrutinize<00:02:32.610><c> find</c><00:02:33.610><c> issues</c><00:02:33.970><c> scrutinized</c><00:02:34.540><c> the</c>

00:02:34.680 --> 00:02:34.690 align:start position:0%
scrutinize find issues scrutinized the
 

00:02:34.690 --> 00:02:37.590 align:start position:0%
scrutinize find issues scrutinized the
network<00:02:35.020><c> so</c><00:02:35.920><c> yeah</c><00:02:36.910><c> as</c><00:02:37.030><c> I</c><00:02:37.120><c> said</c><00:02:37.180><c> it's</c><00:02:37.420><c> still</c>

00:02:37.590 --> 00:02:37.600 align:start position:0%
network so yeah as I said it's still
 

00:02:37.600 --> 00:02:39.480 align:start position:0%
network so yeah as I said it's still
ongoing<00:02:37.750><c> and</c><00:02:38.200><c> it's</c><00:02:38.410><c> important</c><00:02:39.250><c> that</c><00:02:39.280><c> we</c>

00:02:39.480 --> 00:02:39.490 align:start position:0%
ongoing and it's important that we
 

00:02:39.490 --> 00:02:41.190 align:start position:0%
ongoing and it's important that we
continue<00:02:39.670><c> the</c><00:02:40.030><c> work</c><00:02:40.180><c> that</c><00:02:40.240><c> started</c><00:02:40.870><c> prior</c><00:02:41.020><c> to</c>

00:02:41.190 --> 00:02:41.200 align:start position:0%
continue the work that started prior to
 

00:02:41.200 --> 00:02:41.550 align:start position:0%
continue the work that started prior to
launch

00:02:41.550 --> 00:02:41.560 align:start position:0%
launch
 

00:02:41.560 --> 00:02:44.280 align:start position:0%
launch
even<00:02:42.250><c> now</c><00:02:42.570><c> especially</c><00:02:43.570><c> since</c><00:02:43.750><c> we</c><00:02:44.020><c> are</c><00:02:44.110><c> still</c>

00:02:44.280 --> 00:02:44.290 align:start position:0%
even now especially since we are still
 

00:02:44.290 --> 00:02:47.970 align:start position:0%
even now especially since we are still
in<00:02:44.380><c> the</c><00:02:44.470><c> frontier</c><00:02:44.800><c> phase</c><00:02:45.930><c> so</c><00:02:46.930><c> that's</c><00:02:47.680><c> a</c><00:02:47.770><c> bit</c><00:02:47.890><c> of</c>

00:02:47.970 --> 00:02:47.980 align:start position:0%
in the frontier phase so that's a bit of
 

00:02:47.980 --> 00:02:50.970 align:start position:0%
in the frontier phase so that's a bit of
an<00:02:48.070><c> overview</c><00:02:48.400><c> what</c><00:02:48.910><c> we</c><00:02:49.060><c> did</c><00:02:49.330><c> so</c><00:02:49.660><c> as</c><00:02:49.810><c> I</c><00:02:49.930><c> said</c><00:02:50.170><c> it</c>

00:02:50.970 --> 00:02:50.980 align:start position:0%
an overview what we did so as I said it
 

00:02:50.980 --> 00:02:52.440 align:start position:0%
an overview what we did so as I said it
started<00:02:51.400><c> basically</c><00:02:51.610><c> with</c><00:02:52.030><c> the</c><00:02:52.120><c> different</c>

00:02:52.440 --> 00:02:52.450 align:start position:0%
started basically with the different
 

00:02:52.450 --> 00:02:57.630 align:start position:0%
started basically with the different
implementations<00:02:53.140><c> and</c><00:02:53.790><c> last</c><00:02:54.790><c> year</c><00:02:55.739><c> then</c><00:02:56.739><c> that</c>

00:02:57.630 --> 00:02:57.640 align:start position:0%
implementations and last year then that
 

00:02:57.640 --> 00:02:59.220 align:start position:0%
implementations and last year then that
was<00:02:57.760><c> the</c><00:02:57.790><c> moment</c><00:02:58.090><c> when</c><00:02:58.330><c> Gustav</c><00:02:58.630><c> and</c><00:02:58.780><c> I</c><00:02:58.900><c> joined</c>

00:02:59.220 --> 00:02:59.230 align:start position:0%
was the moment when Gustav and I joined
 

00:02:59.230 --> 00:03:01.290 align:start position:0%
was the moment when Gustav and I joined
the<00:02:59.380><c> team</c><00:02:59.410><c> in</c><00:02:59.770><c> December</c><00:03:00.310><c> setting</c><00:03:01.060><c> up</c><00:03:01.150><c> the</c>

00:03:01.290 --> 00:03:01.300 align:start position:0%
the team in December setting up the
 

00:03:01.300 --> 00:03:04.350 align:start position:0%
the team in December setting up the
audit<00:03:01.720><c> strategy</c><00:03:02.230><c> and</c><00:03:03.070><c> then</c><00:03:03.489><c> the</c><00:03:04.000><c> different</c>

00:03:04.350 --> 00:03:04.360 align:start position:0%
audit strategy and then the different
 

00:03:04.360 --> 00:03:08.250 align:start position:0%
audit strategy and then the different
companies<00:03:04.690><c> so</c><00:03:04.840><c> sit</c><00:03:05.470><c> it'll</c><00:03:06.660><c> least</c><00:03:07.660><c> authority</c>

00:03:08.250 --> 00:03:08.260 align:start position:0%
companies so sit it'll least authority
 

00:03:08.260 --> 00:03:10.620 align:start position:0%
companies so sit it'll least authority
they<00:03:08.620><c> also</c><00:03:08.920><c> did</c><00:03:09.160><c> a</c><00:03:09.190><c> very</c><00:03:09.340><c> great</c><00:03:09.580><c> job</c><00:03:09.670><c> analyzing</c>

00:03:10.620 --> 00:03:10.630 align:start position:0%
they also did a very great job analyzing
 

00:03:10.630 --> 00:03:15.210 align:start position:0%
they also did a very great job analyzing
the<00:03:11.140><c> economics</c><00:03:11.709><c> of</c><00:03:11.890><c> the</c><00:03:12.040><c> network</c><00:03:12.840><c> DejaVu</c><00:03:14.220><c> who</c>

00:03:15.210 --> 00:03:15.220 align:start position:0%
the economics of the network DejaVu who
 

00:03:15.220 --> 00:03:18.900 align:start position:0%
the economics of the network DejaVu who
helped<00:03:15.550><c> us</c><00:03:15.730><c> with</c><00:03:16.030><c> the</c><00:03:16.320><c> Go</c><00:03:17.580><c> C++</c><00:03:18.580><c> and</c><00:03:18.880><c> Python</c>

00:03:18.900 --> 00:03:18.910 align:start position:0%
helped us with the Go C++ and Python
 

00:03:18.910 --> 00:03:22.350 align:start position:0%
helped us with the Go C++ and Python
audits<00:03:19.720><c> and</c><00:03:20.459><c> finally</c><00:03:21.459><c> as</c><00:03:21.910><c> I</c><00:03:22.030><c> said</c><00:03:22.239><c> the</c>

00:03:22.350 --> 00:03:22.360 align:start position:0%
audits and finally as I said the
 

00:03:22.360 --> 00:03:24.540 align:start position:0%
audits and finally as I said the
researcher<00:03:22.930><c> so</c><00:03:23.110><c> said</c><00:03:23.320><c> Elena</c><00:03:23.620><c> Andrew</c><00:03:24.220><c> Miller</c>

00:03:24.540 --> 00:03:24.550 align:start position:0%
researcher so said Elena Andrew Miller
 

00:03:24.550 --> 00:03:26.940 align:start position:0%
researcher so said Elena Andrew Miller
it's<00:03:24.790><c> how</c><00:03:24.940><c> they</c><00:03:25.360><c> they</c><00:03:25.930><c> helped</c><00:03:26.200><c> us</c><00:03:26.290><c> with</c><00:03:26.709><c> a</c><00:03:26.739><c> lot</c>

00:03:26.940 --> 00:03:26.950 align:start position:0%
it's how they they helped us with a lot
 

00:03:26.950 --> 00:03:31.320 align:start position:0%
it's how they they helped us with a lot
of<00:03:27.750><c> theoretical</c><00:03:28.750><c> analyses</c><00:03:29.489><c> so</c><00:03:30.489><c> before</c><00:03:30.910><c> I</c><00:03:30.940><c> hand</c>

00:03:31.320 --> 00:03:31.330 align:start position:0%
of theoretical analyses so before I hand
 

00:03:31.330 --> 00:03:33.449 align:start position:0%
of theoretical analyses so before I hand
over<00:03:31.420><c> to</c><00:03:31.570><c> go</c><00:03:31.780><c> stuff</c><00:03:32.019><c> I</c><00:03:32.260><c> want</c><00:03:32.950><c> to</c><00:03:33.040><c> talk</c><00:03:33.310><c> about</c>

00:03:33.449 --> 00:03:33.459 align:start position:0%
over to go stuff I want to talk about
 

00:03:33.459 --> 00:03:35.190 align:start position:0%
over to go stuff I want to talk about
one<00:03:33.850><c> thing</c><00:03:34.060><c> that's</c><00:03:34.300><c> particularly</c><00:03:34.660><c> important</c>

00:03:35.190 --> 00:03:35.200 align:start position:0%
one thing that's particularly important
 

00:03:35.200 --> 00:03:38.610 align:start position:0%
one thing that's particularly important
for<00:03:35.290><c> me</c><00:03:35.440><c> which</c><00:03:35.800><c> is</c><00:03:36.209><c> diversity</c><00:03:37.260><c> but</c><00:03:38.260><c> not</c><00:03:38.470><c> the</c>

00:03:38.610 --> 00:03:38.620 align:start position:0%
for me which is diversity but not the
 

00:03:38.620 --> 00:03:40.020 align:start position:0%
for me which is diversity but not the
sort<00:03:38.800><c> of</c><00:03:38.860><c> diversity</c><00:03:39.130><c> you</c><00:03:39.370><c> might</c><00:03:39.610><c> think</c><00:03:39.880><c> when</c>

00:03:40.020 --> 00:03:40.030 align:start position:0%
sort of diversity you might think when
 

00:03:40.030 --> 00:03:42.060 align:start position:0%
sort of diversity you might think when
you<00:03:40.120><c> look</c><00:03:40.239><c> around</c><00:03:40.390><c> but</c><00:03:41.230><c> the</c><00:03:41.410><c> diversity</c><00:03:41.860><c> of</c><00:03:41.890><c> the</c>

00:03:42.060 --> 00:03:42.070 align:start position:0%
you look around but the diversity of the
 

00:03:42.070 --> 00:03:45.509 align:start position:0%
you look around but the diversity of the
network<00:03:42.870><c> so</c><00:03:43.870><c> when</c><00:03:44.530><c> we</c><00:03:44.650><c> started</c><00:03:44.980><c> we</c><00:03:45.100><c> hope</c><00:03:45.280><c> for</c><00:03:45.459><c> a</c>

00:03:45.509 --> 00:03:45.519 align:start position:0%
network so when we started we hope for a
 

00:03:45.519 --> 00:03:47.300 align:start position:0%
network so when we started we hope for a
very<00:03:45.730><c> diverse</c><00:03:45.910><c> network</c><00:03:46.540><c> or</c><00:03:46.660><c> not</c><00:03:46.750><c> because</c><00:03:47.050><c> it's</c>

00:03:47.300 --> 00:03:47.310 align:start position:0%
very diverse network or not because it's
 

00:03:47.310 --> 00:03:49.830 align:start position:0%
very diverse network or not because it's
essential<00:03:48.310><c> when</c><00:03:48.790><c> you</c><00:03:48.880><c> think</c><00:03:49.120><c> of</c><00:03:49.269><c> when</c><00:03:49.510><c> we</c><00:03:49.540><c> find</c>

00:03:49.830 --> 00:03:49.840 align:start position:0%
essential when you think of when we find
 

00:03:49.840 --> 00:03:52.460 align:start position:0%
essential when you think of when we find
a<00:03:49.930><c> bug</c><00:03:50.110><c> we</c><00:03:50.320><c> want</c><00:03:50.530><c> to</c><00:03:50.650><c> ensure</c><00:03:50.860><c> that</c><00:03:50.890><c> the</c><00:03:51.250><c> network</c>

00:03:52.460 --> 00:03:52.470 align:start position:0%
a bug we want to ensure that the network
 

00:03:52.470 --> 00:03:57.180 align:start position:0%
a bug we want to ensure that the network
can<00:03:53.470><c> continue</c><00:03:54.160><c> operating</c><00:03:54.280><c> safely</c><00:03:55.230><c> so</c><00:03:56.230><c> this</c><00:03:57.010><c> is</c>

00:03:57.180 --> 00:03:57.190 align:start position:0%
can continue operating safely so this is
 

00:03:57.190 --> 00:03:59.760 align:start position:0%
can continue operating safely so this is
how<00:03:57.310><c> it</c><00:03:57.430><c> should</c><00:03:57.610><c> be</c><00:03:57.820><c> but</c><00:03:58.569><c> unfortunately</c><00:03:59.230><c> the</c>

00:03:59.760 --> 00:03:59.770 align:start position:0%
how it should be but unfortunately the
 

00:03:59.770 --> 00:04:00.900 align:start position:0%
how it should be but unfortunately the
audit<00:04:00.069><c> schedule</c><00:04:00.460><c> has</c>

00:04:00.900 --> 00:04:00.910 align:start position:0%
audit schedule has
 

00:04:00.910 --> 00:04:03.270 align:start position:0%
audit schedule has
kind<00:04:01.480><c> of</c><00:04:01.540><c> more</c><00:04:01.690><c> led</c><00:04:01.900><c> to</c><00:04:02.080><c> a</c><00:04:02.110><c> picture</c><00:04:03.100><c> like</c><00:04:03.220><c> this</c>

00:04:03.270 --> 00:04:03.280 align:start position:0%
kind of more led to a picture like this
 

00:04:03.280 --> 00:04:10.740 align:start position:0%
kind of more led to a picture like this
where<00:04:06.600><c> go</c><00:04:07.600><c> is</c><00:04:08.940><c> dominating</c><00:04:09.940><c> so</c><00:04:10.120><c> we</c><00:04:10.240><c> launched</c>

00:04:10.740 --> 00:04:10.750 align:start position:0%
where go is dominating so we launched
 

00:04:10.750 --> 00:04:14.340 align:start position:0%
where go is dominating so we launched
the<00:04:10.900><c> go</c><00:04:11.050><c> implementation</c><00:04:11.800><c> first</c><00:04:13.200><c> because</c><00:04:14.200><c> we</c>

00:04:14.340 --> 00:04:14.350 align:start position:0%
the go implementation first because we
 

00:04:14.350 --> 00:04:16.380 align:start position:0%
the go implementation first because we
were<00:04:14.500><c> done</c><00:04:14.860><c> with</c><00:04:15.070><c> the</c><00:04:15.250><c> officially</c><00:04:16.060><c> kind</c><00:04:16.270><c> of</c>

00:04:16.380 --> 00:04:16.390 align:start position:0%
were done with the officially kind of
 

00:04:16.390 --> 00:04:18.240 align:start position:0%
were done with the officially kind of
because<00:04:16.900><c> we</c><00:04:17.020><c> had</c><00:04:17.470><c> finished</c><00:04:17.680><c> the</c><00:04:17.920><c> audit</c>

00:04:18.240 --> 00:04:18.250 align:start position:0%
because we had finished the audit
 

00:04:18.250 --> 00:04:20.760 align:start position:0%
because we had finished the audit
already<00:04:18.610><c> but</c><00:04:19.420><c> in</c><00:04:19.600><c> in</c><00:04:19.900><c> between</c><00:04:20.080><c> we</c><00:04:20.500><c> also</c>

00:04:20.760 --> 00:04:20.770 align:start position:0%
already but in in between we also
 

00:04:20.770 --> 00:04:23.490 align:start position:0%
already but in in between we also
finished<00:04:21.160><c> the</c><00:04:21.220><c> c++</c><00:04:21.850><c> audit</c><00:04:22.270><c> and</c><00:04:22.900><c> it's</c>

00:04:23.490 --> 00:04:23.500 align:start position:0%
finished the c++ audit and it's
 

00:04:23.500 --> 00:04:26.480 align:start position:0%
finished the c++ audit and it's
essential<00:04:23.980><c> to</c><00:04:24.250><c> keep</c><00:04:24.880><c> in</c><00:04:25.030><c> mind</c><00:04:25.240><c> that</c><00:04:25.510><c> a</c>

00:04:26.480 --> 00:04:26.490 align:start position:0%
essential to keep in mind that a
 

00:04:26.490 --> 00:04:30.570 align:start position:0%
essential to keep in mind that a
critical<00:04:27.490><c> factor</c><00:04:28.240><c> for</c><00:04:28.690><c> the</c><00:04:29.560><c> for</c><00:04:30.130><c> the</c><00:04:30.220><c> mining</c>

00:04:30.570 --> 00:04:30.580 align:start position:0%
critical factor for the for the mining
 

00:04:30.580 --> 00:04:32.940 align:start position:0%
critical factor for the for the mining
is<00:04:30.790><c> the</c><00:04:31.350><c> implementation</c><00:04:32.350><c> of</c><00:04:32.440><c> the</c><00:04:32.590><c> block</c><00:04:32.770><c> to</c>

00:04:32.940 --> 00:04:32.950 align:start position:0%
is the implementation of the block to
 

00:04:32.950 --> 00:04:34.590 align:start position:0%
is the implementation of the block to
mind<00:04:33.220><c> function</c><00:04:33.670><c> which</c><00:04:33.940><c> depends</c><00:04:34.330><c> on</c><00:04:34.540><c> the</c>

00:04:34.590 --> 00:04:34.600 align:start position:0%
mind function which depends on the
 

00:04:34.600 --> 00:04:40.590 align:start position:0%
mind function which depends on the
implementation<00:04:34.920><c> so</c><00:04:36.120><c> please</c><00:04:37.120><c> get</c><00:04:37.920><c> C++</c><00:04:39.600><c> miner</c>

00:04:40.590 --> 00:04:40.600 align:start position:0%
implementation so please get C++ miner
 

00:04:40.600 --> 00:04:42.630 align:start position:0%
implementation so please get C++ miner
up<00:04:40.960><c> and</c><00:04:41.140><c> running</c><00:04:41.500><c> and</c><00:04:41.680><c> if</c><00:04:42.100><c> it's</c><00:04:42.250><c> just</c><00:04:42.460><c> because</c>

00:04:42.630 --> 00:04:42.640 align:start position:0%
up and running and if it's just because
 

00:04:42.640 --> 00:04:44.790 align:start position:0%
up and running and if it's just because
you<00:04:42.970><c> wanna</c><00:04:43.150><c> earn</c><00:04:43.450><c> some</c><00:04:44.020><c> money</c><00:04:44.170><c> when</c><00:04:44.470><c> go</c><00:04:44.620><c> is</c>

00:04:44.790 --> 00:04:44.800 align:start position:0%
you wanna earn some money when go is
 

00:04:44.800 --> 00:04:51.560 align:start position:0%
you wanna earn some money when go is
down<00:04:44.830><c> and</c><00:04:45.310><c> the</c><00:04:45.430><c> difficulty</c><00:04:45.910><c> goes</c><00:04:46.060><c> down</c>

00:04:51.560 --> 00:04:51.570 align:start position:0%
 
 

00:04:51.570 --> 00:04:56.610 align:start position:0%
 
alrighty<00:04:53.940><c> yeah</c><00:04:54.940><c> so</c><00:04:55.210><c> what</c><00:04:56.110><c> is</c><00:04:56.200><c> watching</c>

00:04:56.610 --> 00:04:56.620 align:start position:0%
alrighty yeah so what is watching
 

00:04:56.620 --> 00:04:59.370 align:start position:0%
alrighty yeah so what is watching
security<00:04:57.270><c> there's</c><00:04:58.270><c> a</c><00:04:58.360><c> great</c><00:04:58.540><c> quote</c><00:04:58.720><c> in</c><00:04:59.080><c> the</c>

00:04:59.370 --> 00:04:59.380 align:start position:0%
security there's a great quote in the
 

00:04:59.380 --> 00:05:02.640 align:start position:0%
security there's a great quote in the
yellow<00:04:59.890><c> paper</c><00:05:00.070><c> from</c><00:05:00.370><c> Gavin</c><00:05:00.580><c> about</c><00:05:00.970><c> how</c><00:05:01.650><c> this</c>

00:05:02.640 --> 00:05:02.650 align:start position:0%
yellow paper from Gavin about how this
 

00:05:02.650 --> 00:05:04.500 align:start position:0%
yellow paper from Gavin about how this
one<00:05:02.860><c> more</c><00:05:03.070><c> invalid</c><00:05:03.490><c> state</c><00:05:03.700><c> some</c><00:05:03.970><c> valid</c><00:05:04.240><c> states</c>

00:05:04.500 --> 00:05:04.510 align:start position:0%
one more invalid state some valid states
 

00:05:04.510 --> 00:05:07.470 align:start position:0%
one more invalid state some valid states
in<00:05:04.780><c> a</c><00:05:04.900><c> boxing</c><00:05:05.260><c> and</c><00:05:06.270><c> the</c><00:05:07.270><c> blockchain</c>

00:05:07.470 --> 00:05:07.480 align:start position:0%
in a boxing and the blockchain
 

00:05:07.480 --> 00:05:09.450 align:start position:0%
in a boxing and the blockchain
blockchain<00:05:08.440><c> security</c><00:05:08.920><c> is</c><00:05:08.980><c> a</c><00:05:09.040><c> very</c><00:05:09.070><c> broad</c>

00:05:09.450 --> 00:05:09.460 align:start position:0%
blockchain security is a very broad
 

00:05:09.460 --> 00:05:13.830 align:start position:0%
blockchain security is a very broad
scope<00:05:10.240><c> and</c><00:05:10.570><c> earlier</c><00:05:11.500><c> this</c><00:05:11.590><c> week</c><00:05:11.830><c> we</c><00:05:11.980><c> had</c><00:05:12.840><c> blood</c>

00:05:13.830 --> 00:05:13.840 align:start position:0%
scope and earlier this week we had blood
 

00:05:13.840 --> 00:05:16.110 align:start position:0%
scope and earlier this week we had blood
sample<00:05:14.680><c> talking</c><00:05:15.070><c> about</c><00:05:15.280><c> security</c><00:05:16.000><c> in</c><00:05:16.090><c> terms</c>

00:05:16.110 --> 00:05:16.120 align:start position:0%
sample talking about security in terms
 

00:05:16.120 --> 00:05:20.180 align:start position:0%
sample talking about security in terms
of<00:05:16.860><c> mining</c><00:05:17.860><c> hole</c><00:05:18.070><c> and</c><00:05:18.360><c> proof</c><00:05:19.360><c> of</c><00:05:19.480><c> stake</c><00:05:19.720><c> and</c>

00:05:20.180 --> 00:05:20.190 align:start position:0%
of mining hole and proof of stake and
 

00:05:20.190 --> 00:05:23.070 align:start position:0%
of mining hole and proof of stake and
early<00:05:21.190><c> today</c><00:05:21.430><c> we</c><00:05:21.580><c> had</c><00:05:21.760><c> Alex</c><00:05:22.210><c> levitron</c><00:05:22.540><c> talking</c>

00:05:23.070 --> 00:05:23.080 align:start position:0%
early today we had Alex levitron talking
 

00:05:23.080 --> 00:05:24.750 align:start position:0%
early today we had Alex levitron talking
about<00:05:23.320><c> peer-to-peer</c><00:05:23.830><c> protocol</c>

00:05:24.750 --> 00:05:24.760 align:start position:0%
about peer-to-peer protocol
 

00:05:24.760 --> 00:05:27.810 align:start position:0%
about peer-to-peer protocol
so<00:05:25.630><c> what</c><00:05:25.990><c> I'll</c><00:05:26.110><c> focus</c><00:05:26.830><c> on</c><00:05:27.130><c> here</c><00:05:27.310><c> is</c><00:05:27.340><c> just</c><00:05:27.610><c> a</c><00:05:27.700><c> few</c>

00:05:27.810 --> 00:05:27.820 align:start position:0%
so what I'll focus on here is just a few
 

00:05:27.820 --> 00:05:33.660 align:start position:0%
so what I'll focus on here is just a few
examples<00:05:28.360><c> of</c><00:05:29.280><c> how</c><00:05:31.920><c> what</c><00:05:32.920><c> the</c><00:05:33.100><c> things</c><00:05:33.310><c> we</c><00:05:33.460><c> found</c>

00:05:33.660 --> 00:05:33.670 align:start position:0%
examples of how what the things we found
 

00:05:33.670 --> 00:05:36.810 align:start position:0%
examples of how what the things we found
in<00:05:34.300><c> the</c><00:05:34.450><c> consensus</c><00:05:35.350><c> protocol</c><00:05:35.740><c> so</c><00:05:36.490><c> we're</c><00:05:36.730><c> not</c>

00:05:36.810 --> 00:05:36.820 align:start position:0%
in the consensus protocol so we're not
 

00:05:36.820 --> 00:05:38.520 align:start position:0%
in the consensus protocol so we're not
gonna<00:05:36.940><c> go</c><00:05:37.120><c> too</c><00:05:37.180><c> much</c><00:05:37.420><c> into</c><00:05:37.600><c> networking</c><00:05:38.350><c> or</c>

00:05:38.520 --> 00:05:38.530 align:start position:0%
gonna go too much into networking or
 

00:05:38.530 --> 00:05:41.880 align:start position:0%
gonna go too much into networking or
mining<00:05:39.250><c> but</c><00:05:39.490><c> look</c><00:05:39.670><c> at</c><00:05:39.850><c> the</c><00:05:40.350><c> the</c><00:05:41.350><c> core</c><00:05:41.590><c> virtual</c>

00:05:41.880 --> 00:05:41.890 align:start position:0%
mining but look at the the core virtual
 

00:05:41.890 --> 00:05:46.500 align:start position:0%
mining but look at the the core virtual
machine<00:05:42.220><c> and</c><00:05:42.460><c> the</c><00:05:42.520><c> protocol</c><00:05:43.150><c> and</c><00:05:44.760><c> so</c><00:05:45.760><c> a</c><00:05:45.790><c> few</c>

00:05:46.500 --> 00:05:46.510 align:start position:0%
machine and the protocol and so a few
 

00:05:46.510 --> 00:05:49.440 align:start position:0%
machine and the protocol and so a few
examples<00:05:46.990><c> but</c><00:05:47.790><c> before</c><00:05:48.790><c> that</c><00:05:48.910><c> I</c><00:05:48.970><c> just</c><00:05:49.180><c> wanted</c>

00:05:49.440 --> 00:05:49.450 align:start position:0%
examples but before that I just wanted
 

00:05:49.450 --> 00:05:52.650 align:start position:0%
examples but before that I just wanted
to<00:05:49.570><c> show</c><00:05:49.780><c> this</c><00:05:50.130><c> relation</c><00:05:51.130><c> between</c><00:05:51.310><c> the</c><00:05:51.790><c> yellow</c>

00:05:52.650 --> 00:05:52.660 align:start position:0%
to show this relation between the yellow
 

00:05:52.660 --> 00:05:54.780 align:start position:0%
to show this relation between the yellow
paper<00:05:52.900><c> and</c><00:05:53.110><c> the</c><00:05:53.170><c> clients</c><00:05:53.500><c> so</c>

00:05:54.780 --> 00:05:54.790 align:start position:0%
paper and the clients so
 

00:05:54.790 --> 00:05:56.340 align:start position:0%
paper and the clients so
we<00:05:55.090><c> started</c><00:05:55.420><c> with</c><00:05:55.600><c> kind</c><00:05:55.780><c> of</c><00:05:55.900><c> three</c><00:05:56.140><c> main</c>

00:05:56.340 --> 00:05:56.350 align:start position:0%
we started with kind of three main
 

00:05:56.350 --> 00:06:01.620 align:start position:0%
we started with kind of three main
clients<00:05:57.150><c> CPP</c><00:05:58.260><c> golang</c><00:05:59.260><c> and</c><00:05:59.530><c> platform</c><00:06:00.280><c> and</c><00:06:00.730><c> they</c>

00:06:01.620 --> 00:06:01.630 align:start position:0%
clients CPP golang and platform and they
 

00:06:01.630 --> 00:06:04.380 align:start position:0%
clients CPP golang and platform and they
are<00:06:01.750><c> based</c><00:06:02.620><c> on</c><00:06:02.890><c> the</c><00:06:03.010><c> yellow</c><00:06:03.190><c> papers</c><00:06:03.610><c> they</c><00:06:03.880><c> are</c>

00:06:04.380 --> 00:06:04.390 align:start position:0%
are based on the yellow papers they are
 

00:06:04.390 --> 00:06:05.940 align:start position:0%
are based on the yellow papers they are
considering<00:06:04.900><c> the</c><00:06:04.990><c> yellow</c><00:06:05.170><c> paper</c><00:06:05.380><c> to</c><00:06:05.650><c> be</c><00:06:05.770><c> the</c>

00:06:05.940 --> 00:06:05.950 align:start position:0%
considering the yellow paper to be the
 

00:06:05.950 --> 00:06:09.780 align:start position:0%
considering the yellow paper to be the
the<00:06:06.310><c> formal</c><00:06:06.670><c> specification</c><00:06:06.820><c> and</c><00:06:08.250><c> they</c><00:06:09.250><c> have</c>

00:06:09.780 --> 00:06:09.790 align:start position:0%
the formal specification and they have
 

00:06:09.790 --> 00:06:11.250 align:start position:0%
the formal specification and they have
implemented<00:06:10.120><c> the</c><00:06:10.360><c> virtual</c><00:06:10.660><c> machine</c><00:06:11.020><c> and</c><00:06:11.200><c> the</c>

00:06:11.250 --> 00:06:11.260 align:start position:0%
implemented the virtual machine and the
 

00:06:11.260 --> 00:06:14.280 align:start position:0%
implemented the virtual machine and the
protocol<00:06:11.680><c> based</c><00:06:12.400><c> on</c><00:06:12.580><c> that</c><00:06:12.700><c> and</c><00:06:12.970><c> the</c><00:06:13.840><c> dll</c><00:06:14.110><c> paper</c>

00:06:14.280 --> 00:06:14.290 align:start position:0%
protocol based on that and the dll paper
 

00:06:14.290 --> 00:06:17.610 align:start position:0%
protocol based on that and the dll paper
is<00:06:14.440><c> also</c><00:06:15.150><c> what</c><00:06:16.150><c> the</c><00:06:16.180><c> other</c><00:06:16.450><c> tests</c><00:06:16.810><c> are</c><00:06:17.050><c> derived</c>

00:06:17.610 --> 00:06:17.620 align:start position:0%
is also what the other tests are derived
 

00:06:17.620 --> 00:06:20.270 align:start position:0%
is also what the other tests are derived
from<00:06:17.740><c> so</c><00:06:18.160><c> if</c><00:06:18.940><c> you</c><00:06:19.060><c> go</c><00:06:19.180><c> to</c><00:06:19.210><c> github</c><00:06:19.480><c> we</c><00:06:19.840><c> have</c><00:06:19.960><c> this</c>

00:06:20.270 --> 00:06:20.280 align:start position:0%
from so if you go to github we have this
 

00:06:20.280 --> 00:06:25.290 align:start position:0%
from so if you go to github we have this
repository<00:06:21.280><c> for</c><00:06:22.830><c> protocol</c><00:06:23.830><c> test</c><00:06:24.070><c> cases</c><00:06:24.300><c> we</c>

00:06:25.290 --> 00:06:25.300 align:start position:0%
repository for protocol test cases we
 

00:06:25.300 --> 00:06:27.000 align:start position:0%
repository for protocol test cases we
have<00:06:25.480><c> a</c><00:06:25.510><c> few</c><00:06:25.900><c> thousand</c><00:06:26.230><c> density</c><00:06:26.650><c> at</c><00:06:26.740><c> our</c>

00:06:27.000 --> 00:06:27.010 align:start position:0%
have a few thousand density at our
 

00:06:27.010 --> 00:06:30.240 align:start position:0%
have a few thousand density at our
blocks<00:06:27.850><c> transactions</c><00:06:28.720><c> and</c><00:06:29.020><c> the</c><00:06:29.890><c> virtual</c>

00:06:30.240 --> 00:06:30.250 align:start position:0%
blocks transactions and the virtual
 

00:06:30.250 --> 00:06:33.930 align:start position:0%
blocks transactions and the virtual
virtual<00:06:30.430><c> machine</c><00:06:30.820><c> and</c><00:06:32.460><c> these</c><00:06:33.460><c> clients</c>

00:06:33.930 --> 00:06:33.940 align:start position:0%
virtual machine and these clients
 

00:06:33.940 --> 00:06:37.950 align:start position:0%
virtual machine and these clients
execute<00:06:34.750><c> these</c><00:06:35.650><c> test</c><00:06:35.920><c> cases</c><00:06:36.240><c> and</c><00:06:37.240><c> the</c><00:06:37.750><c> tests</c>

00:06:37.950 --> 00:06:37.960 align:start position:0%
execute these test cases and the tests
 

00:06:37.960 --> 00:06:41.400 align:start position:0%
execute these test cases and the tests
were<00:06:38.080><c> actually</c><00:06:38.460><c> started</c><00:06:39.600><c> when</c><00:06:40.600><c> the</c><00:06:41.050><c> proof</c><00:06:41.230><c> of</c>

00:06:41.400 --> 00:06:41.410 align:start position:0%
were actually started when the proof of
 

00:06:41.410 --> 00:06:45.300 align:start position:0%
were actually started when the proof of
concept<00:06:41.800><c> was</c><00:06:42.700><c> started</c><00:06:43.060><c> last</c><00:06:43.210><c> year</c><00:06:43.600><c> so</c><00:06:44.310><c> during</c>

00:06:45.300 --> 00:06:45.310 align:start position:0%
concept was started last year so during
 

00:06:45.310 --> 00:06:47.670 align:start position:0%
concept was started last year so during
the<00:06:45.550><c> development</c><00:06:46.060><c> until</c><00:06:46.660><c> the</c><00:06:46.810><c> launch</c><00:06:46.960><c> all</c>

00:06:47.670 --> 00:06:47.680 align:start position:0%
the development until the launch all
 

00:06:47.680 --> 00:06:51.090 align:start position:0%
the development until the launch all
these<00:06:47.920><c> clients</c><00:06:48.610><c> have</c><00:06:49.530><c> executed</c><00:06:50.530><c> these</c><00:06:50.860><c> test</c>

00:06:51.090 --> 00:06:51.100 align:start position:0%
these clients have executed these test
 

00:06:51.100 --> 00:06:54.080 align:start position:0%
these clients have executed these test
cases<00:06:51.190><c> and</c><00:06:52.050><c> they've</c><00:06:53.050><c> also</c><00:06:53.230><c> been</c><00:06:53.440><c> used</c><00:06:53.680><c> by</c>

00:06:54.080 --> 00:06:54.090 align:start position:0%
cases and they've also been used by
 

00:06:54.090 --> 00:06:57.900 align:start position:0%
cases and they've also been used by
other<00:06:55.090><c> clients</c><00:06:55.690><c> like</c><00:06:56.050><c> java</c><00:06:56.460><c> javascript</c><00:06:57.460><c> and</c>

00:06:57.900 --> 00:06:57.910 align:start position:0%
other clients like java javascript and
 

00:06:57.910 --> 00:07:01.710 align:start position:0%
other clients like java javascript and
it<00:06:58.210><c> has</c><00:06:58.420><c> to</c><00:06:58.540><c> be</c><00:06:58.600><c> client</c><00:06:59.040><c> to</c><00:07:00.040><c> ensure</c><00:07:00.310><c> that</c><00:07:00.720><c> they</c>

00:07:01.710 --> 00:07:01.720 align:start position:0%
it has to be client to ensure that they
 

00:07:01.720 --> 00:07:04.560 align:start position:0%
it has to be client to ensure that they
compliant<00:07:02.230><c> with</c><00:07:02.410><c> the</c><00:07:02.530><c> other</c><00:07:02.710><c> protocol</c><00:07:03.570><c> and</c>

00:07:04.560 --> 00:07:04.570 align:start position:0%
compliant with the other protocol and
 

00:07:04.570 --> 00:07:07.650 align:start position:0%
compliant with the other protocol and
there's<00:07:05.020><c> also</c><00:07:05.200><c> a</c><00:07:05.970><c> source</c><00:07:06.970><c> of</c><00:07:07.060><c> feedback</c><00:07:07.450><c> from</c>

00:07:07.650 --> 00:07:07.660 align:start position:0%
there's also a source of feedback from
 

00:07:07.660 --> 00:07:09.270 align:start position:0%
there's also a source of feedback from
the<00:07:07.840><c> client</c><00:07:08.170><c> so</c><00:07:08.500><c> we</c><00:07:08.710><c> will</c><00:07:08.830><c> see</c><00:07:09.040><c> one</c><00:07:09.250><c> example</c>

00:07:09.270 --> 00:07:09.280 align:start position:0%
the client so we will see one example
 

00:07:09.280 --> 00:07:13.140 align:start position:0%
the client so we will see one example
where<00:07:09.940><c> we</c><00:07:10.540><c> found</c><00:07:10.840><c> a</c><00:07:11.140><c> a</c><00:07:11.770><c> bug</c><00:07:12.460><c> in</c><00:07:12.730><c> the</c><00:07:12.850><c> form</c><00:07:13.090><c> of</c>

00:07:13.140 --> 00:07:13.150 align:start position:0%
where we found a a bug in the form of
 

00:07:13.150 --> 00:07:15.270 align:start position:0%
where we found a a bug in the form of
spec<00:07:13.390><c> based</c><00:07:14.020><c> on</c><00:07:14.350><c> the</c><00:07:14.440><c> clients</c><00:07:14.830><c> where</c><00:07:15.220><c> the</c>

00:07:15.270 --> 00:07:15.280 align:start position:0%
spec based on the clients where the
 

00:07:15.280 --> 00:07:17.400 align:start position:0%
spec based on the clients where the
clients<00:07:15.640><c> were</c><00:07:15.730><c> actually</c><00:07:16.030><c> correct</c><00:07:16.300><c> but</c><00:07:16.600><c> the</c>

00:07:17.400 --> 00:07:17.410 align:start position:0%
clients were actually correct but the
 

00:07:17.410 --> 00:07:21.420 align:start position:0%
clients were actually correct but the
spec<00:07:17.620><c> was</c><00:07:17.800><c> wrong</c><00:07:18.660><c> and</c><00:07:19.740><c> this</c><00:07:20.740><c> also</c><00:07:20.950><c> relation</c>

00:07:21.420 --> 00:07:21.430 align:start position:0%
spec was wrong and this also relation
 

00:07:21.430 --> 00:07:23.790 align:start position:0%
spec was wrong and this also relation
between<00:07:21.550><c> a</c><00:07:21.730><c> C++</c><00:07:22.270><c> client</c><00:07:22.630><c> and</c><00:07:22.780><c> the</c><00:07:22.840><c> tests</c><00:07:23.170><c> in</c>

00:07:23.790 --> 00:07:23.800 align:start position:0%
between a C++ client and the tests in
 

00:07:23.800 --> 00:07:26.310 align:start position:0%
between a C++ client and the tests in
that<00:07:24.010><c> a</c><00:07:24.040><c> C++</c><00:07:24.610><c> client</c><00:07:24.940><c> is</c><00:07:25.030><c> used</c><00:07:25.240><c> to</c><00:07:25.510><c> generate</c>

00:07:26.310 --> 00:07:26.320 align:start position:0%
that a C++ client is used to generate
 

00:07:26.320 --> 00:07:31.300 align:start position:0%
that a C++ client is used to generate
the<00:07:26.590><c> other</c><00:07:27.010><c> test</c><00:07:27.280><c> cases</c>

00:07:31.300 --> 00:07:31.310 align:start position:0%
 
 

00:07:31.310 --> 00:07:33.700 align:start position:0%
 
so<00:07:31.639><c> we're</c><00:07:32.630><c> just</c><00:07:32.660><c> gonna</c><00:07:33.169><c> go</c><00:07:33.380><c> for</c><00:07:33.560><c> a</c><00:07:33.590><c> few</c>

00:07:33.700 --> 00:07:33.710 align:start position:0%
so we're just gonna go for a few
 

00:07:33.710 --> 00:07:36.550 align:start position:0%
so we're just gonna go for a few
examples<00:07:34.220><c> to</c><00:07:34.280><c> see</c><00:07:34.610><c> what</c><00:07:35.150><c> we</c><00:07:35.900><c> found</c><00:07:36.110><c> during</c><00:07:36.349><c> the</c>

00:07:36.550 --> 00:07:36.560 align:start position:0%
examples to see what we found during the
 

00:07:36.560 --> 00:07:39.510 align:start position:0%
examples to see what we found during the
audits<00:07:36.860><c> and</c><00:07:37.009><c> in</c><00:07:37.639><c> the</c><00:07:37.789><c> bounty</c><00:07:38.030><c> program</c><00:07:38.360><c> and</c>

00:07:39.510 --> 00:07:39.520 align:start position:0%
audits and in the bounty program and
 

00:07:39.520 --> 00:07:42.700 align:start position:0%
audits and in the bounty program and
some<00:07:40.520><c> really</c><00:07:41.300><c> rough</c><00:07:41.900><c> categories</c><00:07:42.440><c> could</c><00:07:42.590><c> be</c>

00:07:42.700 --> 00:07:42.710 align:start position:0%
some really rough categories could be
 

00:07:42.710 --> 00:07:47.529 align:start position:0%
some really rough categories could be
said<00:07:42.919><c> to</c><00:07:42.949><c> be</c><00:07:43.099><c> the</c><00:07:43.370><c> consensus</c><00:07:44.060><c> protocol</c><00:07:46.539><c> in</c>

00:07:47.529 --> 00:07:47.539 align:start position:0%
said to be the consensus protocol in
 

00:07:47.539 --> 00:07:50.830 align:start position:0%
said to be the consensus protocol in
terms<00:07:47.810><c> of</c><00:07:47.960><c> logic</c><00:07:49.479><c> implementation</c><00:07:50.479><c> details</c>

00:07:50.830 --> 00:07:50.840 align:start position:0%
terms of logic implementation details
 

00:07:50.840 --> 00:07:54.339 align:start position:0%
terms of logic implementation details
like<00:07:51.050><c> overflows</c><00:07:52.270><c> we'll</c><00:07:53.270><c> see</c><00:07:53.479><c> one</c><00:07:53.720><c> example</c><00:07:53.900><c> of</c>

00:07:54.339 --> 00:07:54.349 align:start position:0%
like overflows we'll see one example of
 

00:07:54.349 --> 00:07:57.309 align:start position:0%
like overflows we'll see one example of
a<00:07:54.620><c> and</c><00:07:54.830><c> then</c><00:07:54.919><c> I</c><00:07:55.009><c> was</c><00:07:55.160><c> first</c><00:07:55.340><c> attack</c><00:07:55.699><c> and</c><00:07:56.139><c> a</c><00:07:57.139><c> few</c>

00:07:57.309 --> 00:07:57.319 align:start position:0%
a and then I was first attack and a few
 

00:07:57.319 --> 00:07:59.499 align:start position:0%
a and then I was first attack and a few
issues<00:07:57.410><c> that</c><00:07:57.830><c> we</c><00:07:57.919><c> found</c><00:07:58.160><c> after</c><00:07:58.729><c> the</c><00:07:59.060><c> the</c>

00:07:59.499 --> 00:07:59.509 align:start position:0%
issues that we found after the the
 

00:07:59.509 --> 00:08:03.580 align:start position:0%
issues that we found after the the
launch<00:08:00.639><c> so</c><00:08:01.639><c> here's</c><00:08:01.849><c> the</c><00:08:02.810><c> first</c><00:08:03.080><c> issue</c><00:08:03.349><c> in</c><00:08:03.500><c> the</c>

00:08:03.580 --> 00:08:03.590 align:start position:0%
launch so here's the first issue in the
 

00:08:03.590 --> 00:08:06.850 align:start position:0%
launch so here's the first issue in the
bounty<00:08:03.830><c> program</c><00:08:04.389><c> creating</c><00:08:05.389><c> ether</c><00:08:05.710><c> out</c><00:08:06.710><c> of</c>

00:08:06.850 --> 00:08:06.860 align:start position:0%
bounty program creating ether out of
 

00:08:06.860 --> 00:08:10.779 align:start position:0%
bounty program creating ether out of
thin<00:08:07.009><c> air</c><00:08:07.180><c> so</c><00:08:08.180><c> this</c><00:08:09.080><c> one</c><00:08:09.349><c> was</c><00:08:09.470><c> I</c><00:08:09.889><c> think</c><00:08:10.580><c> at</c><00:08:10.669><c> this</c>

00:08:10.779 --> 00:08:10.789 align:start position:0%
thin air so this one was I think at this
 

00:08:10.789 --> 00:08:12.370 align:start position:0%
thin air so this one was I think at this
time<00:08:11.210><c> Egypt</c><00:08:11.569><c> and</c><00:08:11.690><c> I</c><00:08:11.720><c> were</c><00:08:11.840><c> talking</c><00:08:12.139><c> about</c><00:08:12.169><c> how</c>

00:08:12.370 --> 00:08:12.380 align:start position:0%
time Egypt and I were talking about how
 

00:08:12.380 --> 00:08:16.230 align:start position:0%
time Egypt and I were talking about how
to<00:08:12.680><c> reward</c><00:08:13.240><c> bounty</c><00:08:14.240><c> program</c><00:08:14.479><c> issues</c><00:08:14.599><c> and</c><00:08:15.080><c> we</c>

00:08:16.230 --> 00:08:16.240 align:start position:0%
to reward bounty program issues and we
 

00:08:16.240 --> 00:08:18.460 align:start position:0%
to reward bounty program issues and we
we<00:08:17.240><c> were</c><00:08:17.330><c> kind</c><00:08:17.539><c> of</c><00:08:17.569><c> thinking</c><00:08:17.630><c> it's</c><00:08:17.990><c> a</c><00:08:18.319><c> pretty</c>

00:08:18.460 --> 00:08:18.470 align:start position:0%
we were kind of thinking it's a pretty
 

00:08:18.470 --> 00:08:20.260 align:start position:0%
we were kind of thinking it's a pretty
critical<00:08:18.680><c> thing</c><00:08:19.159><c> because</c><00:08:19.190><c> it</c><00:08:20.030><c> kind</c><00:08:20.240><c> of</c>

00:08:20.260 --> 00:08:20.270 align:start position:0%
critical thing because it kind of
 

00:08:20.270 --> 00:08:22.749 align:start position:0%
critical thing because it kind of
affects<00:08:20.569><c> the</c><00:08:20.810><c> the</c><00:08:21.380><c> limited</c><00:08:21.710><c> supply</c><00:08:21.860><c> property</c>

00:08:22.749 --> 00:08:22.759 align:start position:0%
affects the the limited supply property
 

00:08:22.759 --> 00:08:25.409 align:start position:0%
affects the the limited supply property
of<00:08:22.880><c> the</c><00:08:22.970><c> theorem</c><00:08:23.590><c> what</c><00:08:24.590><c> happened</c><00:08:24.949><c> was</c><00:08:25.099><c> that</c>

00:08:25.409 --> 00:08:25.419 align:start position:0%
of the theorem what happened was that
 

00:08:25.419 --> 00:08:29.649 align:start position:0%
of the theorem what happened was that
the<00:08:26.419><c> formal</c><00:08:26.780><c> specification</c><00:08:28.509><c> doesn't</c><00:08:29.509><c> limit</c>

00:08:29.649 --> 00:08:29.659 align:start position:0%
the formal specification doesn't limit
 

00:08:29.659 --> 00:08:32.230 align:start position:0%
the formal specification doesn't limit
the<00:08:30.310><c> the</c><00:08:31.310><c> block</c><00:08:31.729><c> number</c><00:08:31.909><c> it's</c><00:08:32.149><c> actually</c>

00:08:32.230 --> 00:08:32.240 align:start position:0%
the the block number it's actually
 

00:08:32.240 --> 00:08:35.649 align:start position:0%
the the block number it's actually
unlimited<00:08:33.399><c> so</c><00:08:34.399><c> the</c><00:08:34.760><c> data</c><00:08:34.969><c> type</c><00:08:35.240><c> that</c><00:08:35.510><c> was</c><00:08:35.599><c> used</c>

00:08:35.649 --> 00:08:35.659 align:start position:0%
unlimited so the data type that was used
 

00:08:35.659 --> 00:08:42.250 align:start position:0%
unlimited so the data type that was used
in<00:08:36.370><c> Angola</c><00:08:37.370><c> was</c><00:08:37.490><c> a</c><00:08:37.700><c> big</c><00:08:37.909><c> integer</c><00:08:39.579><c> for</c><00:08:40.579><c> if</c><00:08:41.260><c> and</c>

00:08:42.250 --> 00:08:42.260 align:start position:0%
in Angola was a big integer for if and
 

00:08:42.260 --> 00:08:44.380 align:start position:0%
in Angola was a big integer for if and
there<00:08:42.979><c> was</c><00:08:43.070><c> a</c><00:08:43.279><c> interesting</c><00:08:43.610><c> bug</c><00:08:44.029><c> that</c><00:08:44.180><c> was</c>

00:08:44.380 --> 00:08:44.390 align:start position:0%
there was a interesting bug that was
 

00:08:44.390 --> 00:08:51.430 align:start position:0%
there was a interesting bug that was
found<00:08:44.690><c> by</c><00:08:46.180><c> by</c><00:08:49.480><c> John</c><00:08:50.480><c> a</c><00:08:50.510><c> snake</c><00:08:50.839><c> in</c><00:08:51.020><c> the</c><00:08:51.110><c> a</c><00:08:51.140><c> bounty</c>

00:08:51.430 --> 00:08:51.440 align:start position:0%
found by by John a snake in the a bounty
 

00:08:51.440 --> 00:08:54.610 align:start position:0%
found by by John a snake in the a bounty
program<00:08:51.910><c> back</c><00:08:52.910><c> in</c><00:08:52.940><c> February</c><00:08:53.450><c> and</c><00:08:53.660><c> what</c><00:08:54.440><c> what</c>

00:08:54.610 --> 00:08:54.620 align:start position:0%
program back in February and what what
 

00:08:54.620 --> 00:08:56.740 align:start position:0%
program back in February and what what
happened<00:08:54.950><c> was</c><00:08:55.070><c> that</c><00:08:55.100><c> so</c><00:08:55.579><c> so</c><00:08:56.480><c> the</c><00:08:56.600><c> go</c>

00:08:56.740 --> 00:08:56.750 align:start position:0%
happened was that so so the go
 

00:08:56.750 --> 00:08:58.750 align:start position:0%
happened was that so so the go
implementation<00:08:57.350><c> is</c><00:08:57.440><c> using</c><00:08:57.770><c> a</c><00:08:57.920><c> golem</c><00:08:58.430><c> begin</c>

00:08:58.750 --> 00:08:58.760 align:start position:0%
implementation is using a golem begin
 

00:08:58.760 --> 00:09:04.690 align:start position:0%
implementation is using a golem begin
for<00:08:59.240><c> the</c><00:08:59.300><c> block</c><00:08:59.480><c> number</c><00:08:59.750><c> and</c><00:09:02.079><c> there's</c><00:09:03.079><c> a</c><00:09:03.440><c> a</c><00:09:03.980><c> up</c>

00:09:04.690 --> 00:09:04.700 align:start position:0%
for the block number and there's a a up
 

00:09:04.700 --> 00:09:07.060 align:start position:0%
for the block number and there's a a up
code<00:09:04.970><c> a</c><00:09:05.690><c> instruction</c><00:09:06.500><c> in</c><00:09:06.709><c> the</c><00:09:06.829><c> virtual</c>

00:09:07.060 --> 00:09:07.070 align:start position:0%
code a instruction in the virtual
 

00:09:07.070 --> 00:09:08.620 align:start position:0%
code a instruction in the virtual
machine<00:09:07.190><c> to</c><00:09:07.610><c> get</c><00:09:07.730><c> the</c><00:09:07.880><c> block</c><00:09:08.060><c> number</c><00:09:08.420><c> on</c><00:09:08.540><c> the</c>

00:09:08.620 --> 00:09:08.630 align:start position:0%
machine to get the block number on the
 

00:09:08.630 --> 00:09:12.340 align:start position:0%
machine to get the block number on the
stack<00:09:09.640><c> and</c><00:09:10.640><c> what</c><00:09:10.820><c> happened</c><00:09:11.180><c> was</c><00:09:11.329><c> that</c><00:09:11.360><c> you</c>

00:09:12.340 --> 00:09:12.350 align:start position:0%
stack and what happened was that you
 

00:09:12.350 --> 00:09:15.699 align:start position:0%
stack and what happened was that you
could<00:09:12.620><c> actually</c><00:09:12.740><c> put</c><00:09:13.130><c> a</c><00:09:13.370><c> a</c><00:09:14.079><c> block</c><00:09:15.079><c> number</c><00:09:15.440><c> that</c>

00:09:15.699 --> 00:09:15.709 align:start position:0%
could actually put a a block number that
 

00:09:15.709 --> 00:09:18.610 align:start position:0%
could actually put a a block number that
was<00:09:15.829><c> bigger</c><00:09:16.100><c> than</c><00:09:16.190><c> 32</c><00:09:16.579><c> by</c><00:09:16.730><c> stir</c><00:09:17.260><c> in</c><00:09:18.260><c> your</c><00:09:18.320><c> block</c>

00:09:18.610 --> 00:09:18.620 align:start position:0%
was bigger than 32 by stir in your block
 

00:09:18.620 --> 00:09:21.340 align:start position:0%
was bigger than 32 by stir in your block
header<00:09:18.800><c> and</c><00:09:19.160><c> that</c><00:09:19.910><c> will</c><00:09:20.510><c> actually</c><00:09:20.630><c> be</c><00:09:20.930><c> valid</c>

00:09:21.340 --> 00:09:21.350 align:start position:0%
header and that will actually be valid
 

00:09:21.350 --> 00:09:23.680 align:start position:0%
header and that will actually be valid
when<00:09:21.680><c> he</c><00:09:21.800><c> dislodged</c><00:09:22.399><c> the</c><00:09:22.940><c> block</c><00:09:23.240><c> header</c><00:09:23.450><c> from</c>

00:09:23.680 --> 00:09:23.690 align:start position:0%
when he dislodged the block header from
 

00:09:23.690 --> 00:09:27.040 align:start position:0%
when he dislodged the block header from
the<00:09:23.779><c> RP</c><00:09:24.820><c> the</c><00:09:25.820><c> RP</c><00:09:26.060><c> encoding</c><00:09:26.420><c> that</c>

00:09:27.040 --> 00:09:27.050 align:start position:0%
the RP the RP encoding that
 

00:09:27.050 --> 00:09:29.440 align:start position:0%
the RP the RP encoding that
Vitalik<00:09:27.529><c> machine</c><00:09:27.890><c> is</c><00:09:27.980><c> in</c><00:09:28.190><c> his</c><00:09:28.459><c> previous</c><00:09:28.910><c> talk</c>

00:09:29.440 --> 00:09:29.450 align:start position:0%
Vitalik machine is in his previous talk
 

00:09:29.450 --> 00:09:30.900 align:start position:0%
Vitalik machine is in his previous talk
so<00:09:30.140><c> it</c>

00:09:30.900 --> 00:09:30.910 align:start position:0%
so it
 

00:09:30.910 --> 00:09:32.520 align:start position:0%
so it
have<00:09:31.030><c> to</c><00:09:31.150><c> block</c><00:09:31.300><c> them</c><00:09:31.510><c> with</c><00:09:31.630><c> more</c><00:09:32.050><c> than</c><00:09:32.170><c> 32</c>

00:09:32.520 --> 00:09:32.530 align:start position:0%
have to block them with more than 32
 

00:09:32.530 --> 00:09:36.110 align:start position:0%
have to block them with more than 32
bytes<00:09:32.740><c> and</c><00:09:33.040><c> then</c><00:09:33.480><c> when</c><00:09:34.480><c> you</c><00:09:34.840><c> grab</c><00:09:35.080><c> that</c><00:09:35.110><c> number</c>

00:09:36.110 --> 00:09:36.120 align:start position:0%
bytes and then when you grab that number
 

00:09:36.120 --> 00:09:39.990 align:start position:0%
bytes and then when you grab that number
on<00:09:37.120><c> stack</c><00:09:37.860><c> it</c><00:09:38.860><c> would</c><00:09:39.070><c> actually</c><00:09:39.160><c> be</c><00:09:39.520><c> a</c><00:09:39.550><c> because</c>

00:09:39.990 --> 00:09:40.000 align:start position:0%
on stack it would actually be a because
 

00:09:40.000 --> 00:09:44.880 align:start position:0%
on stack it would actually be a because
that<00:09:41.100><c> in</c><00:09:42.100><c> a</c><00:09:42.250><c> way</c><00:09:42.400><c> that</c><00:09:42.640><c> you</c><00:09:42.760><c> could</c><00:09:42.970><c> push</c><00:09:43.510><c> a</c><00:09:43.890><c> a</c>

00:09:44.880 --> 00:09:44.890 align:start position:0%
that in a way that you could push a a
 

00:09:44.890 --> 00:09:48.960 align:start position:0%
that in a way that you could push a a
negative<00:09:45.670><c> integer</c><00:09:45.910><c> on</c><00:09:46.900><c> the</c><00:09:47.080><c> stack</c><00:09:47.760><c> this</c><00:09:48.760><c> was</c><00:09:48.940><c> a</c>

00:09:48.960 --> 00:09:48.970 align:start position:0%
negative integer on the stack this was a
 

00:09:48.970 --> 00:09:52.380 align:start position:0%
negative integer on the stack this was a
example<00:09:49.810><c> of</c><00:09:49.930><c> how</c><00:09:50.230><c> to</c><00:09:50.880><c> how</c><00:09:51.880><c> we</c><00:09:51.940><c> kind</c><00:09:52.180><c> of</c><00:09:52.240><c> used</c>

00:09:52.380 --> 00:09:52.390 align:start position:0%
example of how to how we kind of used
 

00:09:52.390 --> 00:09:54.480 align:start position:0%
example of how to how we kind of used
the<00:09:52.510><c> wrong</c><00:09:52.630><c> data</c><00:09:52.870><c> type</c><00:09:53.140><c> in</c><00:09:54.070><c> the</c><00:09:54.160><c> sense</c><00:09:54.400><c> that</c>

00:09:54.480 --> 00:09:54.490 align:start position:0%
the wrong data type in the sense that
 

00:09:54.490 --> 00:09:58.290 align:start position:0%
the wrong data type in the sense that
the<00:09:55.480><c> film</c><00:09:56.260><c> virtual</c><00:09:56.590><c> machine</c><00:09:56.950><c> is</c><00:09:57.760><c> not</c><00:09:58.000><c> defined</c>

00:09:58.290 --> 00:09:58.300 align:start position:0%
the film virtual machine is not defined
 

00:09:58.300 --> 00:10:00.570 align:start position:0%
the film virtual machine is not defined
to<00:09:58.510><c> be</c><00:09:58.540><c> I</c><00:09:58.990><c> mean</c><00:09:59.320><c> like</c><00:09:59.710><c> begins</c><00:10:00.100><c> to</c><00:10:00.220><c> introduce</c>

00:10:00.570 --> 00:10:00.580 align:start position:0%
to be I mean like begins to introduce
 

00:10:00.580 --> 00:10:04.310 align:start position:0%
to be I mean like begins to introduce
it's<00:10:00.760><c> defined</c><00:10:01.150><c> to</c><00:10:01.270><c> the</c><00:10:01.390><c> speed</c><00:10:01.630><c> 256</c><00:10:02.530><c> bit</c><00:10:03.250><c> values</c>

00:10:04.310 --> 00:10:04.320 align:start position:0%
it's defined to the speed 256 bit values
 

00:10:04.320 --> 00:10:07.350 align:start position:0%
it's defined to the speed 256 bit values
but<00:10:05.320><c> in</c><00:10:05.470><c> in</c><00:10:06.190><c> languages</c><00:10:06.610><c> like</c><00:10:06.790><c> go</c><00:10:06.940><c> you</c><00:10:07.120><c> kind</c><00:10:07.330><c> of</c>

00:10:07.350 --> 00:10:07.360 align:start position:0%
but in in languages like go you kind of
 

00:10:07.360 --> 00:10:09.300 align:start position:0%
but in in languages like go you kind of
have<00:10:07.510><c> to</c><00:10:07.540><c> used</c><00:10:07.780><c> to</c><00:10:07.870><c> begin</c><00:10:08.020><c> to</c><00:10:08.290><c> get</c><00:10:08.440><c> to</c><00:10:09.040><c> model</c>

00:10:09.300 --> 00:10:09.310 align:start position:0%
have to used to begin to get to model
 

00:10:09.310 --> 00:10:13.620 align:start position:0%
have to used to begin to get to model
that<00:10:10.950><c> so</c><00:10:11.950><c> the</c><00:10:12.610><c> error</c><00:10:12.760><c> is</c><00:10:12.880><c> actually</c><00:10:13.420><c> what</c><00:10:13.510><c> we</c>

00:10:13.620 --> 00:10:13.630 align:start position:0%
that so the error is actually what we
 

00:10:13.630 --> 00:10:15.060 align:start position:0%
that so the error is actually what we
can<00:10:13.750><c> see</c><00:10:13.930><c> the</c><00:10:14.140><c> the</c><00:10:14.410><c> girls</c><00:10:14.620><c> are</c><00:10:14.740><c> looking</c><00:10:14.830><c> at</c>

00:10:15.060 --> 00:10:15.070 align:start position:0%
can see the the girls are looking at
 

00:10:15.070 --> 00:10:19.920 align:start position:0%
can see the the girls are looking at
here<00:10:15.280><c> which</c><00:10:15.430><c> is</c><00:10:15.580><c> the</c><00:10:15.760><c> the</c><00:10:16.390><c> commented</c><00:10:16.810><c> out</c><00:10:18.930><c> to</c>

00:10:19.920 --> 00:10:19.930 align:start position:0%
here which is the the commented out to
 

00:10:19.930 --> 00:10:21.360 align:start position:0%
here which is the the commented out to
make<00:10:20.080><c> sure</c><00:10:20.260><c> that</c><00:10:20.410><c> what</c><00:10:20.620><c> we</c><00:10:20.740><c> push</c><00:10:20.950><c> back</c><00:10:20.980><c> on</c><00:10:21.310><c> the</c>

00:10:21.360 --> 00:10:21.370 align:start position:0%
make sure that what we push back on the
 

00:10:21.370 --> 00:10:26.520 align:start position:0%
make sure that what we push back on the
stack<00:10:21.610><c> is</c><00:10:21.850><c> a</c><00:10:23.400><c> unsigned</c><00:10:24.400><c> integer</c><00:10:24.760><c> and</c><00:10:25.530><c> the</c>

00:10:26.520 --> 00:10:26.530 align:start position:0%
stack is a unsigned integer and the
 

00:10:26.530 --> 00:10:28.170 align:start position:0%
stack is a unsigned integer and the
thing<00:10:26.710><c> we</c><00:10:26.830><c> see</c><00:10:26.980><c> at</c><00:10:27.220><c> the</c><00:10:27.700><c> bottom</c><00:10:27.880><c> there</c><00:10:28.150><c> is</c>

00:10:28.170 --> 00:10:28.180 align:start position:0%
thing we see at the bottom there is
 

00:10:28.180 --> 00:10:30.690 align:start position:0%
thing we see at the bottom there is
actually<00:10:28.630><c> the</c><00:10:29.620><c> contract</c><00:10:30.010><c> particle</c><00:10:30.400><c> that</c>

00:10:30.690 --> 00:10:30.700 align:start position:0%
actually the contract particle that
 

00:10:30.700 --> 00:10:33.330 align:start position:0%
actually the contract particle that
would<00:10:30.850><c> trigger</c><00:10:31.000><c> a</c><00:10:31.150><c> decision</c><00:10:31.540><c> and</c><00:10:32.010><c> the</c><00:10:33.010><c> result</c>

00:10:33.330 --> 00:10:33.340 align:start position:0%
would trigger a decision and the result
 

00:10:33.340 --> 00:10:34.410 align:start position:0%
would trigger a decision and the result
was<00:10:33.520><c> that</c><00:10:33.550><c> we</c><00:10:33.850><c> can</c><00:10:34.000><c> actually</c><00:10:34.120><c> create</c>

00:10:34.410 --> 00:10:34.420 align:start position:0%
was that we can actually create
 

00:10:34.420 --> 00:10:41.310 align:start position:0%
was that we can actually create
unlimited<00:10:34.690><c> amounts</c><00:10:35.230><c> of</c><00:10:35.320><c> either</c><00:10:40.320><c> another</c>

00:10:41.310 --> 00:10:41.320 align:start position:0%
unlimited amounts of either another
 

00:10:41.320 --> 00:10:44.850 align:start position:0%
unlimited amounts of either another
short<00:10:41.620><c> example</c><00:10:42.520><c> is</c><00:10:42.730><c> just</c><00:10:43.690><c> a</c><00:10:44.020><c> very</c><00:10:44.680><c> simple</c>

00:10:44.850 --> 00:10:44.860 align:start position:0%
short example is just a very simple
 

00:10:44.860 --> 00:10:46.890 align:start position:0%
short example is just a very simple
integer<00:10:45.700><c> overflow</c><00:10:46.090><c> they</c><00:10:46.270><c> found</c><00:10:46.540><c> back</c><00:10:46.750><c> in</c>

00:10:46.890 --> 00:10:46.900 align:start position:0%
integer overflow they found back in
 

00:10:46.900 --> 00:10:50.100 align:start position:0%
integer overflow they found back in
March<00:10:47.250><c> this</c><00:10:48.250><c> one</c><00:10:48.430><c> was</c><00:10:48.550><c> found</c><00:10:48.730><c> by</c><00:10:49.000><c> the</c><00:10:49.110><c> security</c>

00:10:50.100 --> 00:10:50.110 align:start position:0%
March this one was found by the security
 

00:10:50.110 --> 00:10:55.010 align:start position:0%
March this one was found by the security
auditors<00:10:50.440><c> the</c><00:10:51.130><c> sugar</c><00:10:51.400><c> security</c><00:10:51.910><c> and</c><00:10:53.370><c> it</c><00:10:54.370><c> was</c>

00:10:55.010 --> 00:10:55.020 align:start position:0%
auditors the sugar security and it was
 

00:10:55.020 --> 00:10:58.230 align:start position:0%
auditors the sugar security and it was
related<00:10:56.020><c> to</c><00:10:56.200><c> the</c><00:10:56.380><c> sign</c><00:10:56.920><c> extended</c><00:10:57.340><c> operator</c><00:10:57.910><c> in</c>

00:10:58.230 --> 00:10:58.240 align:start position:0%
related to the sign extended operator in
 

00:10:58.240 --> 00:11:02.310 align:start position:0%
related to the sign extended operator in
developer<00:10:58.810><c> which</c><00:10:59.050><c> is</c><00:10:59.230><c> used</c><00:10:59.440><c> to</c><00:11:00.570><c> extend</c><00:11:01.570><c> an</c>

00:11:02.310 --> 00:11:02.320 align:start position:0%
developer which is used to extend an
 

00:11:02.320 --> 00:11:06.240 align:start position:0%
developer which is used to extend an
integer<00:11:03.420><c> binary</c><00:11:04.420><c> integer</c><00:11:04.750><c> without</c><00:11:05.470><c> changing</c>

00:11:06.240 --> 00:11:06.250 align:start position:0%
integer binary integer without changing
 

00:11:06.250 --> 00:11:11.040 align:start position:0%
integer binary integer without changing
the<00:11:06.340><c> value</c><00:11:06.450><c> or</c><00:11:07.450><c> the</c><00:11:07.570><c> sign</c><00:11:09.690><c> and</c><00:11:10.690><c> so</c><00:11:10.810><c> what</c><00:11:10.930><c> the</c>

00:11:11.040 --> 00:11:11.050 align:start position:0%
the value or the sign and so what the
 

00:11:11.050 --> 00:11:13.710 align:start position:0%
the value or the sign and so what the
Gold<00:11:11.260><c> Line</c><00:11:11.470><c> used</c><00:11:11.800><c> to</c><00:11:11.980><c> do</c><00:11:12.130><c> back</c><00:11:12.910><c> in</c><00:11:12.940><c> March</c><00:11:13.300><c> that</c>

00:11:13.710 --> 00:11:13.720 align:start position:0%
Gold Line used to do back in March that
 

00:11:13.720 --> 00:11:16.860 align:start position:0%
Gold Line used to do back in March that
it<00:11:13.960><c> converted</c><00:11:14.890><c> it</c><00:11:15.520><c> popped</c><00:11:15.790><c> one</c><00:11:16.630><c> of</c><00:11:16.750><c> the</c>

00:11:16.860 --> 00:11:16.870 align:start position:0%
it converted it popped one of the
 

00:11:16.870 --> 00:11:19.500 align:start position:0%
it converted it popped one of the
arguments<00:11:17.700><c> from</c><00:11:18.700><c> the</c><00:11:18.790><c> stack</c><00:11:19.000><c> and</c><00:11:19.270><c> would</c><00:11:19.390><c> then</c>

00:11:19.500 --> 00:11:19.510 align:start position:0%
arguments from the stack and would then
 

00:11:19.510 --> 00:11:23.160 align:start position:0%
arguments from the stack and would then
cast<00:11:19.750><c> that</c><00:11:19.930><c> to</c><00:11:20.200><c> announce</c><00:11:20.650><c> that</c><00:11:20.770><c> integer</c><00:11:21.600><c> of</c><00:11:22.600><c> 64</c>

00:11:23.160 --> 00:11:23.170 align:start position:0%
cast that to announce that integer of 64
 

00:11:23.170 --> 00:11:23.570 align:start position:0%
cast that to announce that integer of 64
bits

00:11:23.570 --> 00:11:23.580 align:start position:0%
bits
 

00:11:23.580 --> 00:11:27.480 align:start position:0%
bits
even<00:11:24.580><c> though</c><00:11:24.760><c> stack</c><00:11:25.180><c> items</c><00:11:25.330><c> are</c><00:11:25.720><c> 256</c><00:11:26.440><c> bits</c>

00:11:27.480 --> 00:11:27.490 align:start position:0%
even though stack items are 256 bits
 

00:11:27.490 --> 00:11:29.759 align:start position:0%
even though stack items are 256 bits
so<00:11:27.990><c> that</c><00:11:28.990><c> was</c><00:11:29.199><c> something</c><00:11:29.499><c> you</c><00:11:29.529><c> could</c><00:11:29.709><c> easily</c>

00:11:29.759 --> 00:11:29.769 align:start position:0%
so that was something you could easily
 

00:11:29.769 --> 00:11:34.079 align:start position:0%
so that was something you could easily
overflow<00:11:30.720><c> asana</c><00:11:31.720><c> fiber</c><00:11:32.519><c> and</c><00:11:33.519><c> that</c><00:11:33.910><c> would</c><00:11:34.059><c> then</c>

00:11:34.079 --> 00:11:34.089 align:start position:0%
overflow asana fiber and that would then
 

00:11:34.089 --> 00:11:37.139 align:start position:0%
overflow asana fiber and that would then
cross<00:11:34.569><c> a</c><00:11:34.749><c> consensus</c><00:11:35.230><c> issue</c><00:11:35.499><c> with</c><00:11:35.740><c> c++</c><00:11:36.730><c> clients</c>

00:11:37.139 --> 00:11:37.149 align:start position:0%
cross a consensus issue with c++ clients
 

00:11:37.149 --> 00:11:41.939 align:start position:0%
cross a consensus issue with c++ clients
or<00:11:38.189><c> the</c><00:11:39.189><c> Python</c><00:11:39.519><c> client</c><00:11:39.869><c> so</c><00:11:40.869><c> we</c><00:11:41.230><c> had</c><00:11:41.649><c> a</c><00:11:41.679><c> lot</c><00:11:41.920><c> of</c>

00:11:41.939 --> 00:11:41.949 align:start position:0%
or the Python client so we had a lot of
 

00:11:41.949 --> 00:11:45.439 align:start position:0%
or the Python client so we had a lot of
these<00:11:42.189><c> issues</c><00:11:42.579><c> where</c><00:11:42.970><c> we</c><00:11:43.509><c> were</c><00:11:44.100><c> disgusting</c>

00:11:45.439 --> 00:11:45.449 align:start position:0%
these issues where we were disgusting
 

00:11:45.449 --> 00:11:49.499 align:start position:0%
these issues where we were disgusting
begin<00:11:46.449><c> to</c><00:11:46.540><c> just</c><00:11:46.749><c> two</c><00:11:47.910><c> unsigned</c><00:11:48.910><c> 64-bit</c>

00:11:49.499 --> 00:11:49.509 align:start position:0%
begin to just two unsigned 64-bit
 

00:11:49.509 --> 00:11:51.629 align:start position:0%
begin to just two unsigned 64-bit
integers<00:11:49.899><c> for</c><00:11:50.379><c> for</c><00:11:50.709><c> convenience</c><00:11:51.129><c> basically</c>

00:11:51.629 --> 00:11:51.639 align:start position:0%
integers for for convenience basically
 

00:11:51.639 --> 00:11:54.269 align:start position:0%
integers for for convenience basically
to<00:11:52.360><c> make</c><00:11:52.529><c> make</c><00:11:53.529><c> implementation</c><00:11:54.069><c> of</c>

00:11:54.269 --> 00:11:54.279 align:start position:0%
to make make implementation of
 

00:11:54.279 --> 00:12:01.919 align:start position:0%
to make make implementation of
instructions<00:11:54.759><c> easier</c><00:12:00.360><c> another</c><00:12:01.360><c> kind</c><00:12:01.869><c> of</c>

00:12:01.919 --> 00:12:01.929 align:start position:0%
instructions easier another kind of
 

00:12:01.929 --> 00:12:03.989 align:start position:0%
instructions easier another kind of
class<00:12:02.259><c> of</c><00:12:02.439><c> issues</c><00:12:02.769><c> that</c><00:12:02.920><c> we</c><00:12:03.069><c> had</c><00:12:03.220><c> is</c><00:12:03.459><c> the</c><00:12:03.490><c> off</c>

00:12:03.989 --> 00:12:03.999 align:start position:0%
class of issues that we had is the off
 

00:12:03.999 --> 00:12:10.169 align:start position:0%
class of issues that we had is the off
by<00:12:04.240><c> one</c><00:12:04.420><c> error</c><00:12:04.629><c> where</c><00:12:06.990><c> one</c><00:12:07.990><c> example</c><00:12:08.379><c> is</c><00:12:09.179><c> the</c>

00:12:10.169 --> 00:12:10.179 align:start position:0%
by one error where one example is the
 

00:12:10.179 --> 00:12:14.189 align:start position:0%
by one error where one example is the
gas<00:12:10.389><c> limit</c><00:12:12.119><c> yeah</c><00:12:13.149><c> Vitalik</c><00:12:13.779><c> mentioned</c><00:12:14.110><c> this</c>

00:12:14.189 --> 00:12:14.199 align:start position:0%
gas limit yeah Vitalik mentioned this
 

00:12:14.199 --> 00:12:16.230 align:start position:0%
gas limit yeah Vitalik mentioned this
thing<00:12:14.319><c> is</c><00:12:14.439><c> the</c><00:12:15.100><c> previous</c><00:12:15.399><c> talk</c><00:12:15.639><c> here</c><00:12:15.850><c> that</c><00:12:16.029><c> the</c>

00:12:16.230 --> 00:12:16.240 align:start position:0%
thing is the previous talk here that the
 

00:12:16.240 --> 00:12:19.319 align:start position:0%
thing is the previous talk here that the
protocol<00:12:16.749><c> has</c><00:12:16.990><c> a</c><00:12:17.550><c> this</c><00:12:18.550><c> gas</c><00:12:18.850><c> limit</c><00:12:19.089><c> in</c><00:12:19.240><c> each</c>

00:12:19.319 --> 00:12:19.329 align:start position:0%
protocol has a this gas limit in each
 

00:12:19.329 --> 00:12:22.350 align:start position:0%
protocol has a this gas limit in each
block<00:12:19.569><c> and</c><00:12:19.809><c> the</c><00:12:19.990><c> jello</c><00:12:20.170><c> paper</c><00:12:20.410><c> specifies</c><00:12:21.360><c> how</c>

00:12:22.350 --> 00:12:22.360 align:start position:0%
block and the jello paper specifies how
 

00:12:22.360 --> 00:12:24.269 align:start position:0%
block and the jello paper specifies how
much<00:12:22.509><c> this</c><00:12:22.689><c> can</c><00:12:22.929><c> grow</c><00:12:23.139><c> so</c><00:12:23.949><c> the</c><00:12:24.069><c> miners</c>

00:12:24.269 --> 00:12:24.279 align:start position:0%
much this can grow so the miners
 

00:12:24.279 --> 00:12:26.160 align:start position:0%
much this can grow so the miners
basically<00:12:24.759><c> vote</c><00:12:24.970><c> and</c><00:12:25.329><c> they</c><00:12:25.449><c> can</c><00:12:25.660><c> they</c><00:12:26.019><c> can</c>

00:12:26.160 --> 00:12:26.170 align:start position:0%
basically vote and they can they can
 

00:12:26.170 --> 00:12:27.689 align:start position:0%
basically vote and they can they can
change<00:12:26.410><c> the</c><00:12:26.619><c> gas</c><00:12:26.769><c> limit</c><00:12:27.040><c> to</c><00:12:27.220><c> go</c><00:12:27.339><c> up</c><00:12:27.490><c> or</c><00:12:27.670><c> down</c>

00:12:27.689 --> 00:12:27.699 align:start position:0%
change the gas limit to go up or down
 

00:12:27.699 --> 00:12:32.150 align:start position:0%
change the gas limit to go up or down
but<00:12:28.600><c> only</c><00:12:28.869><c> within</c><00:12:29.529><c> a</c><00:12:29.679><c> certain</c><00:12:29.709><c> interval</c><00:12:30.509><c> and</c>

00:12:32.150 --> 00:12:32.160 align:start position:0%
but only within a certain interval and
 

00:12:32.160 --> 00:12:35.249 align:start position:0%
but only within a certain interval and
this<00:12:33.160><c> is</c><00:12:33.309><c> the</c><00:12:33.429><c> different</c><00:12:33.850><c> github</c><00:12:34.149><c> for</c><00:12:34.509><c> the</c><00:12:35.019><c> fix</c>

00:12:35.249 --> 00:12:35.259 align:start position:0%
this is the different github for the fix
 

00:12:35.259 --> 00:12:37.919 align:start position:0%
this is the different github for the fix
through<00:12:35.769><c> this</c><00:12:35.889><c> issue</c><00:12:36.299><c> so</c><00:12:37.299><c> what</c><00:12:37.449><c> happened</c><00:12:37.809><c> was</c>

00:12:37.919 --> 00:12:37.929 align:start position:0%
through this issue so what happened was
 

00:12:37.929 --> 00:12:41.960 align:start position:0%
through this issue so what happened was
that<00:12:38.279><c> we</c><00:12:39.279><c> were</c><00:12:39.399><c> not</c><00:12:39.429><c> considering</c><00:12:40.079><c> the</c><00:12:41.079><c> case</c>

00:12:41.960 --> 00:12:41.970 align:start position:0%
that we were not considering the case
 

00:12:41.970 --> 00:12:44.189 align:start position:0%
that we were not considering the case
when<00:12:42.970><c> the</c><00:12:43.059><c> gas</c><00:12:43.209><c> camp</c><00:12:43.389><c> was</c><00:12:43.540><c> going</c><00:12:43.779><c> down</c><00:12:43.929><c> only</c>

00:12:44.189 --> 00:12:44.199 align:start position:0%
when the gas camp was going down only
 

00:12:44.199 --> 00:12:48.480 align:start position:0%
when the gas camp was going down only
when<00:12:44.410><c> it</c><00:12:44.529><c> was</c><00:12:44.619><c> going</c><00:12:44.949><c> up</c><00:12:47.129><c> it's</c><00:12:48.129><c> a</c><00:12:48.189><c> bit</c><00:12:48.339><c> of</c><00:12:48.399><c> an</c>

00:12:48.480 --> 00:12:48.490 align:start position:0%
when it was going up it's a bit of an
 

00:12:48.490 --> 00:12:49.739 align:start position:0%
when it was going up it's a bit of an
embarrassing<00:12:48.910><c> you</c><00:12:48.999><c> should</c><00:12:49.179><c> be</c><00:12:49.269><c> fine</c><00:12:49.480><c> when</c>

00:12:49.739 --> 00:12:49.749 align:start position:0%
embarrassing you should be fine when
 

00:12:49.749 --> 00:12:53.179 align:start position:0%
embarrassing you should be fine when
you're<00:12:49.869><c> just</c><00:12:50.999><c> completely</c><00:12:51.999><c> off</c><00:12:52.209><c> by</c><00:12:52.480><c> one</c><00:12:52.660><c> but</c>

00:12:53.179 --> 00:12:53.189 align:start position:0%
you're just completely off by one but
 

00:12:53.189 --> 00:12:57.319 align:start position:0%
you're just completely off by one but
there's<00:12:54.189><c> a</c><00:12:54.249><c> lot</c><00:12:54.459><c> of</c><00:12:54.490><c> examples</c><00:12:55.149><c> like</c><00:12:55.209><c> that</c><00:12:55.499><c> and</c>

00:12:57.319 --> 00:12:57.329 align:start position:0%
there's a lot of examples like that and
 

00:12:57.329 --> 00:12:59.939 align:start position:0%
there's a lot of examples like that and
we<00:12:58.329><c> actually</c><00:12:58.360><c> had</c><00:12:58.749><c> the</c><00:12:58.839><c> same</c><00:12:59.079><c> thing</c><00:12:59.350><c> with</c><00:12:59.499><c> past</c>

00:12:59.939 --> 00:12:59.949 align:start position:0%
we actually had the same thing with past
 

00:12:59.949 --> 00:13:01.980 align:start position:0%
we actually had the same thing with past
clients<00:13:00.040><c> so</c>

00:13:01.980 --> 00:13:01.990 align:start position:0%
clients so
 

00:13:01.990 --> 00:13:04.020 align:start position:0%
clients so
here<00:13:02.380><c> you</c><00:13:02.440><c> see</c><00:13:02.620><c> the</c><00:13:02.920><c> code</c><00:13:03.130><c> there</c><00:13:03.340><c> for</c><00:13:03.580><c> the</c><00:13:03.820><c> fix</c>

00:13:04.020 --> 00:13:04.030 align:start position:0%
here you see the code there for the fix
 

00:13:04.030 --> 00:13:06.000 align:start position:0%
here you see the code there for the fix
there<00:13:04.270><c> and</c><00:13:04.600><c> the</c><00:13:04.990><c> important</c><00:13:05.290><c> important</c><00:13:05.860><c> part</c>

00:13:06.000 --> 00:13:06.010 align:start position:0%
there and the important important part
 

00:13:06.010 --> 00:13:08.640 align:start position:0%
there and the important important part
is<00:13:06.160><c> just</c><00:13:06.250><c> that</c><00:13:06.580><c> we</c><00:13:06.700><c> changed</c><00:13:07.060><c> the</c><00:13:07.380><c> less</c><00:13:08.380><c> than</c><00:13:08.560><c> or</c>

00:13:08.640 --> 00:13:08.650 align:start position:0%
is just that we changed the less than or
 

00:13:08.650 --> 00:13:10.800 align:start position:0%
is just that we changed the less than or
equal<00:13:08.680><c> and</c><00:13:09.040><c> greater</c><00:13:09.070><c> than</c><00:13:09.280><c> or</c><00:13:09.400><c> equal</c><00:13:09.700><c> to</c><00:13:09.910><c> less</c>

00:13:10.800 --> 00:13:10.810 align:start position:0%
equal and greater than or equal to less
 

00:13:10.810 --> 00:13:13.770 align:start position:0%
equal and greater than or equal to less
than<00:13:11.520><c> sorry</c><00:13:12.520><c> we</c><00:13:12.640><c> change</c><00:13:12.850><c> less</c><00:13:13.120><c> than</c><00:13:13.150><c> to</c><00:13:13.540><c> less</c>

00:13:13.770 --> 00:13:13.780 align:start position:0%
than sorry we change less than to less
 

00:13:13.780 --> 00:13:19.470 align:start position:0%
than sorry we change less than to less
than<00:13:13.810><c> or</c><00:13:14.110><c> equal</c><00:13:14.170><c> and</c><00:13:14.950><c> vice</c><00:13:15.250><c> versa</c><00:13:17.760><c> you</c><00:13:18.760><c> can't</c>

00:13:19.470 --> 00:13:19.480 align:start position:0%
than or equal and vice versa you can't
 

00:13:19.480 --> 00:13:22.740 align:start position:0%
than or equal and vice versa you can't
see<00:13:19.690><c> the</c><00:13:19.810><c> full</c><00:13:19.990><c> differ</c><00:13:20.350><c> because</c><00:13:21.420><c> C++</c><00:13:22.420><c> doesn't</c>

00:13:22.740 --> 00:13:22.750 align:start position:0%
see the full differ because C++ doesn't
 

00:13:22.750 --> 00:13:24.780 align:start position:0%
see the full differ because C++ doesn't
have<00:13:22.930><c> code</c><00:13:23.470><c> standard</c><00:13:23.890><c> for</c><00:13:24.070><c> line</c><00:13:24.190><c> length</c><00:13:24.460><c> so</c>

00:13:24.780 --> 00:13:24.790 align:start position:0%
have code standard for line length so
 

00:13:24.790 --> 00:13:31.980 align:start position:0%
have code standard for line length so
they<00:13:24.910><c> have</c><00:13:25.800><c> very</c><00:13:26.800><c> long</c><00:13:26.890><c> lines</c><00:13:30.150><c> so</c><00:13:31.150><c> moving</c><00:13:31.870><c> on</c>

00:13:31.980 --> 00:13:31.990 align:start position:0%
they have very long lines so moving on
 

00:13:31.990 --> 00:13:34.710 align:start position:0%
they have very long lines so moving on
to<00:13:32.020><c> another</c><00:13:32.170><c> type</c><00:13:32.770><c> of</c><00:13:32.890><c> issue</c><00:13:33.300><c> we</c><00:13:34.300><c> also</c><00:13:34.420><c> had</c>

00:13:34.710 --> 00:13:34.720 align:start position:0%
to another type of issue we also had
 

00:13:34.720 --> 00:13:37.500 align:start position:0%
to another type of issue we also had
some<00:13:34.750><c> non</c><00:13:35.620><c> consensus</c><00:13:36.220><c> issues</c><00:13:36.940><c> during</c><00:13:37.300><c> the</c>

00:13:37.500 --> 00:13:37.510 align:start position:0%
some non consensus issues during the
 

00:13:37.510 --> 00:13:41.610 align:start position:0%
some non consensus issues during the
audits<00:13:37.870><c> and</c><00:13:38.640><c> this</c><00:13:39.640><c> one</c><00:13:39.790><c> was</c><00:13:39.910><c> found</c><00:13:40.150><c> by</c><00:13:40.620><c> by</c>

00:13:41.610 --> 00:13:41.620 align:start position:0%
audits and this one was found by by
 

00:13:41.620 --> 00:13:44.660 align:start position:0%
audits and this one was found by by
Martin<00:13:41.980><c> in</c><00:13:42.130><c> the</c><00:13:42.160><c> bounty</c><00:13:42.580><c> program</c><00:13:42.850><c> and</c><00:13:43.150><c> it's</c><00:13:44.110><c> a</c>

00:13:44.660 --> 00:13:44.670 align:start position:0%
Martin in the bounty program and it's a
 

00:13:44.670 --> 00:13:47.190 align:start position:0%
Martin in the bounty program and it's a
there<00:13:45.670><c> was</c><00:13:45.760><c> an</c><00:13:45.820><c> issue</c><00:13:45.940><c> that</c><00:13:46.210><c> had</c><00:13:46.810><c> nothing</c><00:13:46.930><c> to</c>

00:13:47.190 --> 00:13:47.200 align:start position:0%
there was an issue that had nothing to
 

00:13:47.200 --> 00:13:48.330 align:start position:0%
there was an issue that had nothing to
do<00:13:47.260><c> with</c><00:13:47.350><c> the</c><00:13:47.440><c> consensus</c><00:13:47.860><c> protocol</c><00:13:48.220><c> the</c>

00:13:48.330 --> 00:13:48.340 align:start position:0%
do with the consensus protocol the
 

00:13:48.340 --> 00:13:51.900 align:start position:0%
do with the consensus protocol the
clients<00:13:48.670><c> were</c><00:13:48.850><c> correct</c><00:13:49.150><c> in</c><00:13:49.770><c> the</c><00:13:50.770><c> logic</c><00:13:51.070><c> but</c>

00:13:51.900 --> 00:13:51.910 align:start position:0%
clients were correct in the logic but
 

00:13:51.910 --> 00:13:52.920 align:start position:0%
clients were correct in the logic but
they<00:13:52.120><c> had</c><00:13:52.300><c> a</c><00:13:52.510><c> very</c>

00:13:52.920 --> 00:13:52.930 align:start position:0%
they had a very
 

00:13:52.930 --> 00:13:56.280 align:start position:0%
they had a very
unperformed<00:13:53.740><c> part</c><00:13:54.610><c> related</c><00:13:55.390><c> to</c><00:13:55.570><c> the</c><00:13:55.780><c> jump</c>

00:13:56.280 --> 00:13:56.290 align:start position:0%
unperformed part related to the jump
 

00:13:56.290 --> 00:13:59.250 align:start position:0%
unperformed part related to the jump
test<00:13:56.470><c> instruction</c><00:13:57.600><c> and</c><00:13:58.600><c> you</c><00:13:58.840><c> could</c><00:13:59.110><c> trigger</c>

00:13:59.250 --> 00:13:59.260 align:start position:0%
test instruction and you could trigger
 

00:13:59.260 --> 00:14:01.860 align:start position:0%
test instruction and you could trigger
this<00:13:59.530><c> by</c><00:13:59.830><c> making</c><00:14:00.010><c> this</c><00:14:00.280><c> contract</c><00:14:00.760><c> where</c><00:14:00.970><c> there</c>

00:14:01.860 --> 00:14:01.870 align:start position:0%
this by making this contract where there
 

00:14:01.870 --> 00:14:04.670 align:start position:0%
this by making this contract where there
is<00:14:01.960><c> a</c><00:14:01.990><c> single</c><00:14:02.350><c> function</c><00:14:02.530><c> that</c><00:14:02.860><c> calls</c><00:14:03.130><c> itself</c>

00:14:04.670 --> 00:14:04.680 align:start position:0%
is a single function that calls itself
 

00:14:04.680 --> 00:14:07.560 align:start position:0%
is a single function that calls itself
so<00:14:05.680><c> you</c><00:14:05.770><c> could</c><00:14:06.220><c> pass</c><00:14:06.400><c> it</c><00:14:06.550><c> like</c><00:14:06.700><c> 1000</c><00:14:07.300><c> we</c><00:14:07.420><c> just</c>

00:14:07.560 --> 00:14:07.570 align:start position:0%
so you could pass it like 1000 we just
 

00:14:07.570 --> 00:14:10.590 align:start position:0%
so you could pass it like 1000 we just
call<00:14:07.780><c> itself</c><00:14:08.110><c> 1000</c><00:14:08.680><c> times</c><00:14:08.860><c> and</c><00:14:09.280><c> each</c><00:14:10.180><c> time</c><00:14:10.210><c> it</c>

00:14:10.590 --> 00:14:10.600 align:start position:0%
call itself 1000 times and each time it
 

00:14:10.600 --> 00:14:13.680 align:start position:0%
call itself 1000 times and each time it
calls<00:14:10.780><c> itself</c><00:14:11.140><c> it</c><00:14:11.880><c> makes</c><00:14:12.880><c> a</c><00:14:13.180><c> external</c>

00:14:13.680 --> 00:14:13.690 align:start position:0%
calls itself it makes a external
 

00:14:13.690 --> 00:14:15.840 align:start position:0%
calls itself it makes a external
function<00:14:14.020><c> call</c><00:14:14.200><c> to</c><00:14:15.130><c> make</c><00:14:15.250><c> sure</c><00:14:15.400><c> that</c><00:14:15.520><c> you</c><00:14:15.730><c> get</c>

00:14:15.840 --> 00:14:15.850 align:start position:0%
function call to make sure that you get
 

00:14:15.850 --> 00:14:19.260 align:start position:0%
function call to make sure that you get
a<00:14:15.910><c> new</c><00:14:16.150><c> execution</c><00:14:16.570><c> environment</c><00:14:17.790><c> and</c><00:14:18.790><c> if</c><00:14:19.180><c> you</c>

00:14:19.260 --> 00:14:19.270 align:start position:0%
a new execution environment and if you
 

00:14:19.270 --> 00:14:21.630 align:start position:0%
a new execution environment and if you
compile<00:14:19.600><c> this</c><00:14:19.780><c> and</c><00:14:19.840><c> then</c><00:14:20.170><c> off</c><00:14:21.040><c> post</c>

00:14:21.630 --> 00:14:21.640 align:start position:0%
compile this and then off post
 

00:14:21.640 --> 00:14:24.300 align:start position:0%
compile this and then off post
compilation<00:14:22.440><c> manually</c><00:14:23.440><c> inserted</c><00:14:23.770><c> jump</c><00:14:24.070><c> test</c>

00:14:24.300 --> 00:14:24.310 align:start position:0%
compilation manually inserted jump test
 

00:14:24.310 --> 00:14:28.500 align:start position:0%
compilation manually inserted jump test
instructions<00:14:25.080><c> in</c><00:14:26.080><c> the</c><00:14:26.230><c> place</c><00:14:27.450><c> right</c><00:14:28.450><c> there</c>

00:14:28.500 --> 00:14:28.510 align:start position:0%
instructions in the place right there
 

00:14:28.510 --> 00:14:33.090 align:start position:0%
instructions in the place right there
then<00:14:28.960><c> you</c><00:14:29.860><c> would</c><00:14:30.010><c> have</c><00:14:30.130><c> this</c><00:14:30.280><c> very</c><00:14:31.950><c> very</c><00:14:32.950><c> slow</c>

00:14:33.090 --> 00:14:33.100 align:start position:0%
then you would have this very very slow
 

00:14:33.100 --> 00:14:36.300 align:start position:0%
then you would have this very very slow
thing<00:14:33.490><c> we're</c><00:14:33.790><c> both</c><00:14:34.440><c> going</c><00:14:35.440><c> and</c><00:14:35.560><c> C++</c><00:14:36.070><c> we're</c>

00:14:36.300 --> 00:14:36.310 align:start position:0%
thing we're both going and C++ we're
 

00:14:36.310 --> 00:14:40.470 align:start position:0%
thing we're both going and C++ we're
using<00:14:36.490><c> a</c><00:14:36.850><c> data</c><00:14:37.090><c> type</c><00:14:38.700><c> store</c><00:14:39.700><c> basically</c><00:14:39.940><c> jumped</c>

00:14:40.470 --> 00:14:40.480 align:start position:0%
using a data type store basically jumped
 

00:14:40.480 --> 00:14:44.060 align:start position:0%
using a data type store basically jumped
us<00:14:40.600><c> during</c><00:14:41.230><c> the</c><00:14:41.320><c> execution</c><00:14:41.530><c> of</c><00:14:42.000><c> contract</c>

00:14:44.060 --> 00:14:44.070 align:start position:0%
us during the execution of contract
 

00:14:44.070 --> 00:14:47.220 align:start position:0%
us during the execution of contract
right<00:14:45.070><c> and</c><00:14:45.340><c> the</c><00:14:45.850><c> one</c><00:14:46.180><c> mango</c><00:14:46.600><c> thing</c><00:14:46.780><c> to</c><00:14:46.960><c> notice</c>

00:14:47.220 --> 00:14:47.230 align:start position:0%
right and the one mango thing to notice
 

00:14:47.230 --> 00:14:49.290 align:start position:0%
right and the one mango thing to notice
that<00:14:47.380><c> the</c><00:14:47.860><c> cost</c><00:14:48.310><c> is</c><00:14:48.400><c> really</c><00:14:48.520><c> cheap</c><00:14:48.820><c> for</c><00:14:48.850><c> jump</c>

00:14:49.290 --> 00:14:49.300 align:start position:0%
that the cost is really cheap for jump
 

00:14:49.300 --> 00:14:51.570 align:start position:0%
that the cost is really cheap for jump
diseases<00:14:49.810><c> pay</c><00:14:50.020><c> a</c><00:14:50.050><c> single</c><00:14:50.200><c> gas</c><00:14:50.530><c> for</c><00:14:50.830><c> one</c><00:14:51.340><c> jump</c>

00:14:51.570 --> 00:14:51.580 align:start position:0%
diseases pay a single gas for one jump
 

00:14:51.580 --> 00:14:53.300 align:start position:0%
diseases pay a single gas for one jump
test

00:14:53.300 --> 00:14:53.310 align:start position:0%
test
 

00:14:53.310 --> 00:14:54.739 align:start position:0%
test
and<00:14:53.399><c> so</c><00:14:53.910><c> what</c><00:14:54.060><c> happened</c><00:14:54.329><c> is</c><00:14:54.420><c> that</c><00:14:54.540><c> they</c><00:14:54.689><c> were</c>

00:14:54.739 --> 00:14:54.749 align:start position:0%
and so what happened is that they were
 

00:14:54.749 --> 00:14:59.600 align:start position:0%
and so what happened is that they were
both<00:14:54.959><c> using</c><00:14:55.499><c> a</c><00:14:55.680><c> set</c><00:14:56.430><c> data</c><00:14:57.029><c> type</c><00:14:58.220><c> to</c><00:14:59.220><c> store</c><00:14:59.459><c> all</c>

00:14:59.600 --> 00:14:59.610 align:start position:0%
both using a set data type to store all
 

00:14:59.610 --> 00:15:03.019 align:start position:0%
both using a set data type to store all
the<00:14:59.730><c> jump</c><00:14:59.939><c> tests</c><00:15:00.120><c> and</c><00:15:00.769><c> when</c><00:15:01.769><c> you</c><00:15:02.279><c> had</c><00:15:02.790><c> a</c><00:15:02.819><c> new</c>

00:15:03.019 --> 00:15:03.029 align:start position:0%
the jump tests and when you had a new
 

00:15:03.029 --> 00:15:04.550 align:start position:0%
the jump tests and when you had a new
execution<00:15:03.449><c> environment</c><00:15:04.019><c> in</c><00:15:04.230><c> the</c><00:15:04.319><c> virtual</c>

00:15:04.550 --> 00:15:04.560 align:start position:0%
execution environment in the virtual
 

00:15:04.560 --> 00:15:06.350 align:start position:0%
execution environment in the virtual
machine<00:15:04.680><c> like</c><00:15:05.220><c> when</c><00:15:05.459><c> you</c><00:15:05.550><c> do</c><00:15:05.699><c> a</c><00:15:05.730><c> external</c>

00:15:06.350 --> 00:15:06.360 align:start position:0%
machine like when you do a external
 

00:15:06.360 --> 00:15:08.660 align:start position:0%
machine like when you do a external
function<00:15:06.689><c> call</c><00:15:06.899><c> that</c><00:15:07.680><c> data</c><00:15:08.310><c> type</c><00:15:08.490><c> was</c>

00:15:08.660 --> 00:15:08.670 align:start position:0%
function call that data type was
 

00:15:08.670 --> 00:15:12.019 align:start position:0%
function call that data type was
basically<00:15:09.029><c> recreated</c><00:15:09.600><c> so</c><00:15:10.529><c> in</c><00:15:11.399><c> a</c><00:15:11.670><c> single</c>

00:15:12.019 --> 00:15:12.029 align:start position:0%
basically recreated so in a single
 

00:15:12.029 --> 00:15:13.910 align:start position:0%
basically recreated so in a single
transaction<00:15:12.240><c> execution</c><00:15:12.569><c> of</c><00:15:13.470><c> the</c><00:15:13.740><c> same</c>

00:15:13.910 --> 00:15:13.920 align:start position:0%
transaction execution of the same
 

00:15:13.920 --> 00:15:19.249 align:start position:0%
transaction execution of the same
contract<00:15:16.220><c> you</c><00:15:17.220><c> would</c><00:15:17.839><c> yeah</c><00:15:18.839><c> it</c><00:15:18.959><c> would</c><00:15:19.079><c> have</c><00:15:19.170><c> to</c>

00:15:19.249 --> 00:15:19.259 align:start position:0%
contract you would yeah it would have to
 

00:15:19.259 --> 00:15:21.499 align:start position:0%
contract you would yeah it would have to
be<00:15:19.290><c> recreated</c><00:15:19.649><c> so</c><00:15:20.040><c> what</c><00:15:20.730><c> was</c><00:15:20.939><c> change</c><00:15:21.209><c> here</c><00:15:21.420><c> was</c>

00:15:21.499 --> 00:15:21.509 align:start position:0%
be recreated so what was change here was
 

00:15:21.509 --> 00:15:23.869 align:start position:0%
be recreated so what was change here was
basically<00:15:21.689><c> to</c><00:15:21.959><c> use</c><00:15:21.990><c> a</c><00:15:22.319><c> map</c><00:15:23.040><c> instead</c><00:15:23.339><c> and</c><00:15:23.670><c> also</c>

00:15:23.869 --> 00:15:23.879 align:start position:0%
basically to use a map instead and also
 

00:15:23.879 --> 00:15:26.059 align:start position:0%
basically to use a map instead and also
to<00:15:23.999><c> cache</c><00:15:24.240><c> it</c><00:15:24.269><c> between</c><00:15:24.779><c> executions</c><00:15:25.410><c> within</c><00:15:25.980><c> a</c>

00:15:26.059 --> 00:15:26.069 align:start position:0%
to cache it between executions within a
 

00:15:26.069 --> 00:15:30.259 align:start position:0%
to cache it between executions within a
single<00:15:26.329><c> we're</c><00:15:27.329><c> in</c><00:15:27.389><c> a</c><00:15:27.449><c> single</c><00:15:27.749><c> contract</c><00:15:29.269><c> a</c>

00:15:30.259 --> 00:15:30.269 align:start position:0%
single we're in a single contract a
 

00:15:30.269 --> 00:15:32.509 align:start position:0%
single we're in a single contract a
short<00:15:30.930><c> example</c><00:15:31.019><c> of</c><00:15:31.559><c> how</c><00:15:31.860><c> to</c><00:15:31.920><c> not</c><00:15:32.160><c> do</c><00:15:32.309><c> your</c><00:15:32.430><c> own</c>

00:15:32.509 --> 00:15:32.519 align:start position:0%
short example of how to not do your own
 

00:15:32.519 --> 00:15:38.350 align:start position:0%
short example of how to not do your own
crypto<00:15:32.939><c> was</c><00:15:33.180><c> found</c><00:15:33.509><c> in</c><00:15:33.779><c> the</c><00:15:33.959><c> C++</c><00:15:34.920><c> client</c><00:15:35.519><c> where</c>

00:15:38.350 --> 00:15:38.360 align:start position:0%
 
 

00:15:38.360 --> 00:15:41.389 align:start position:0%
 
we<00:15:39.360><c> have</c><00:15:39.540><c> a</c><00:15:39.569><c> expect</c><00:15:40.139><c> from</c><00:15:40.290><c> NSA</c><00:15:40.620><c> actually</c><00:15:40.920><c> so</c><00:15:41.100><c> I</c>

00:15:41.389 --> 00:15:41.399 align:start position:0%
we have a expect from NSA actually so I
 

00:15:41.399 --> 00:15:43.579 align:start position:0%
we have a expect from NSA actually so I
couldn't<00:15:41.939><c> find</c><00:15:42.209><c> this</c><00:15:42.329><c> in</c><00:15:42.480><c> the</c><00:15:42.569><c> little</c><00:15:42.809><c> in</c><00:15:43.470><c> the</c>

00:15:43.579 --> 00:15:43.589 align:start position:0%
couldn't find this in the little in the
 

00:15:43.589 --> 00:15:45.499 align:start position:0%
couldn't find this in the little in the
ECDSA<00:15:43.949><c> spec</c><00:15:44.279><c> itself</c><00:15:44.610><c> but</c><00:15:44.790><c> its</c><00:15:44.939><c> present</c><00:15:45.269><c> in</c><00:15:45.389><c> the</c>

00:15:45.499 --> 00:15:45.509 align:start position:0%
ECDSA spec itself but its present in the
 

00:15:45.509 --> 00:15:50.600 align:start position:0%
ECDSA spec itself but its present in the
implementation<00:15:46.110><c> guide</c><00:15:46.139><c> from</c><00:15:46.529><c> NSA</c><00:15:49.129><c> yeah</c><00:15:50.189><c> I've</c>

00:15:50.600 --> 00:15:50.610 align:start position:0%
implementation guide from NSA yeah I've
 

00:15:50.610 --> 00:15:52.189 align:start position:0%
implementation guide from NSA yeah I've
cut<00:15:50.910><c> the</c><00:15:50.999><c> first</c><00:15:51.149><c> steps</c><00:15:51.449><c> just</c><00:15:51.569><c> to</c><00:15:51.660><c> focus</c><00:15:51.990><c> on</c><00:15:52.110><c> the</c>

00:15:52.189 --> 00:15:52.199 align:start position:0%
cut the first steps just to focus on the
 

00:15:52.199 --> 00:15:55.189 align:start position:0%
cut the first steps just to focus on the
last<00:15:52.350><c> step</c><00:15:52.620><c> which</c><00:15:52.769><c> is</c><00:15:52.949><c> that</c><00:15:53.329><c> there's</c><00:15:54.329><c> a</c><00:15:54.629><c> point</c>

00:15:55.189 --> 00:15:55.199 align:start position:0%
last step which is that there's a point
 

00:15:55.199 --> 00:15:57.590 align:start position:0%
last step which is that there's a point
about<00:15:55.730><c> you</c><00:15:56.730><c> have</c><00:15:56.879><c> to</c><00:15:56.970><c> check</c><00:15:57.209><c> whether</c><00:15:57.420><c> the</c>

00:15:57.590 --> 00:15:57.600 align:start position:0%
about you have to check whether the
 

00:15:57.600 --> 00:16:00.019 align:start position:0%
about you have to check whether the
derived<00:15:57.930><c> public</c><00:15:58.259><c> key</c><00:15:58.490><c> is</c><00:15:59.490><c> that</c><00:15:59.550><c> point</c><00:15:59.910><c> of</c>

00:16:00.019 --> 00:16:00.029 align:start position:0%
derived public key is that point of
 

00:16:00.029 --> 00:16:05.439 align:start position:0%
derived public key is that point of
infinity<00:16:00.480><c> or</c><00:16:00.540><c> not</c><00:16:02.420><c> and</c><00:16:03.420><c> I</c><00:16:04.379><c> think</c><00:16:04.800><c> that</c><00:16:04.980><c> was</c><00:16:05.069><c> the</c>

00:16:05.439 --> 00:16:05.449 align:start position:0%
infinity or not and I think that was the
 

00:16:05.449 --> 00:16:10.400 align:start position:0%
infinity or not and I think that was the
will<00:16:08.240><c> anyway</c><00:16:09.240><c> moving</c><00:16:09.660><c> on</c><00:16:09.839><c> we're</c><00:16:10.019><c> pretty</c><00:16:10.170><c> short</c>

00:16:10.400 --> 00:16:10.410 align:start position:0%
will anyway moving on we're pretty short
 

00:16:10.410 --> 00:16:12.350 align:start position:0%
will anyway moving on we're pretty short
on<00:16:10.470><c> time</c><00:16:10.680><c> so</c><00:16:10.980><c> the</c><00:16:11.189><c> fix</c><00:16:11.610><c> for</c><00:16:11.699><c> this</c><00:16:11.910><c> was</c><00:16:12.089><c> really</c>

00:16:12.350 --> 00:16:12.360 align:start position:0%
on time so the fix for this was really
 

00:16:12.360 --> 00:16:15.769 align:start position:0%
on time so the fix for this was really
quick<00:16:12.600><c> in</c><00:16:12.839><c> C++</c><00:16:13.500><c> where</c><00:16:14.149><c> we</c><00:16:15.149><c> just</c><00:16:15.329><c> added</c><00:16:15.600><c> a</c>

00:16:15.769 --> 00:16:15.779 align:start position:0%
quick in C++ where we just added a
 

00:16:15.779 --> 00:16:17.179 align:start position:0%
quick in C++ where we just added a
single<00:16:15.959><c> check</c><00:16:16.259><c> that</c><00:16:16.379><c> was</c><00:16:16.500><c> already</c><00:16:16.680><c> filled</c><00:16:17.009><c> to</c>

00:16:17.179 --> 00:16:17.189 align:start position:0%
single check that was already filled to
 

00:16:17.189 --> 00:16:19.730 align:start position:0%
single check that was already filled to
track<00:16:17.430><c> this</c><00:16:17.970><c> so</c><00:16:18.329><c> if</c><00:16:18.449><c> you</c><00:16:18.540><c> just</c><00:16:18.689><c> add</c><00:16:18.899><c> check</c><00:16:19.559><c> on</c>

00:16:19.730 --> 00:16:19.740 align:start position:0%
track this so if you just add check on
 

00:16:19.740 --> 00:16:22.009 align:start position:0%
track this so if you just add check on
that<00:16:19.889><c> but</c><00:16:20.189><c> the</c><00:16:21.089><c> point</c><00:16:21.269><c> of</c><00:16:21.389><c> this</c><00:16:21.540><c> issue</c><00:16:21.750><c> is</c><00:16:21.959><c> that</c>

00:16:22.009 --> 00:16:22.019 align:start position:0%
that but the point of this issue is that
 

00:16:22.019 --> 00:16:23.840 align:start position:0%
that but the point of this issue is that
it<00:16:22.410><c> was</c><00:16:22.529><c> really</c><00:16:22.829><c> hard</c><00:16:23.009><c> to</c><00:16:23.069><c> find</c><00:16:23.309><c> even</c><00:16:23.639><c> though</c>

00:16:23.840 --> 00:16:23.850 align:start position:0%
it was really hard to find even though
 

00:16:23.850 --> 00:16:25.340 align:start position:0%
it was really hard to find even though
the<00:16:23.939><c> fix</c><00:16:24.120><c> is</c><00:16:24.240><c> really</c><00:16:24.449><c> simple</c><00:16:24.779><c> it</c><00:16:24.959><c> was</c><00:16:25.050><c> hard</c><00:16:25.290><c> to</c>

00:16:25.340 --> 00:16:25.350 align:start position:0%
the fix is really simple it was hard to
 

00:16:25.350 --> 00:16:27.439 align:start position:0%
the fix is really simple it was hard to
find<00:16:25.620><c> because</c><00:16:25.939><c> it's</c><00:16:26.939><c> something</c><00:16:27.209><c> that's</c>

00:16:27.439 --> 00:16:27.449 align:start position:0%
find because it's something that's
 

00:16:27.449 --> 00:16:33.590 align:start position:0%
find because it's something that's
missing<00:16:27.600><c> from</c><00:16:28.050><c> the</c><00:16:28.199><c> code</c><00:16:28.379><c> so</c><00:16:32.360><c> right</c><00:16:33.360><c> so</c><00:16:33.569><c> a</c>

00:16:33.590 --> 00:16:33.600 align:start position:0%
missing from the code so right so a
 

00:16:33.600 --> 00:16:37.069 align:start position:0%
missing from the code so right so a
short<00:16:33.870><c> example</c><00:16:34.290><c> but</c><00:16:34.410><c> the</c><00:16:34.500><c> formal</c><00:16:34.800><c> spec</c><00:16:36.079><c> we</c>

00:16:37.069 --> 00:16:37.079 align:start position:0%
short example but the formal spec we
 

00:16:37.079 --> 00:16:38.840 align:start position:0%
short example but the formal spec we
found<00:16:37.350><c> a</c><00:16:37.529><c> case</c><00:16:37.740><c> where</c><00:16:38.100><c> the</c><00:16:38.220><c> form</c><00:16:38.429><c> of</c><00:16:38.519><c> spec</c><00:16:38.699><c> was</c>

00:16:38.840 --> 00:16:38.850 align:start position:0%
found a case where the form of spec was
 

00:16:38.850 --> 00:16:40.340 align:start position:0%
found a case where the form of spec was
using<00:16:39.179><c> the</c><00:16:39.329><c> the</c><00:16:39.569><c> floor</c><00:16:39.839><c> function</c>

00:16:40.340 --> 00:16:40.350 align:start position:0%
using the the floor function
 

00:16:40.350 --> 00:16:44.299 align:start position:0%
using the the floor function
two-round<00:16:41.059><c> signed</c><00:16:42.059><c> integer</c><00:16:42.449><c> division</c><00:16:43.309><c> and</c>

00:16:44.299 --> 00:16:44.309 align:start position:0%
two-round signed integer division and
 

00:16:44.309 --> 00:16:46.160 align:start position:0%
two-round signed integer division and
that<00:16:44.339><c> was</c><00:16:44.550><c> a</c><00:16:44.610><c> case</c><00:16:44.819><c> where</c><00:16:45.120><c> the</c><00:16:45.600><c> clients</c><00:16:46.079><c> were</c>

00:16:46.160 --> 00:16:46.170 align:start position:0%
that was a case where the clients were
 

00:16:46.170 --> 00:16:48.110 align:start position:0%
that was a case where the clients were
actually<00:16:46.470><c> rounding</c><00:16:46.829><c> towards</c><00:16:47.069><c> zero</c><00:16:47.579><c> when</c><00:16:48.029><c> you</c>

00:16:48.110 --> 00:16:48.120 align:start position:0%
actually rounding towards zero when you
 

00:16:48.120 --> 00:16:50.239 align:start position:0%
actually rounding towards zero when you
design<00:16:48.449><c> division</c><00:16:48.660><c> but</c><00:16:49.499><c> the</c><00:16:49.649><c> form</c><00:16:49.860><c> of</c><00:16:49.920><c> spec</c><00:16:50.129><c> was</c>

00:16:50.239 --> 00:16:50.249 align:start position:0%
design division but the form of spec was
 

00:16:50.249 --> 00:16:53.929 align:start position:0%
design division but the form of spec was
running<00:16:50.610><c> to</c><00:16:51.329><c> to</c><00:16:51.720><c> the</c><00:16:51.809><c> floor</c><00:16:52.019><c> so</c><00:16:52.790><c> that's</c><00:16:53.790><c> the</c>

00:16:53.929 --> 00:16:53.939 align:start position:0%
running to to the floor so that's the
 

00:16:53.939 --> 00:16:55.489 align:start position:0%
running to to the floor so that's the
example<00:16:54.300><c> I</c><00:16:54.329><c> mentioned</c><00:16:54.360><c> before</c><00:16:54.779><c> where</c><00:16:55.230><c> the</c>

00:16:55.489 --> 00:16:55.499 align:start position:0%
example I mentioned before where the
 

00:16:55.499 --> 00:16:57.079 align:start position:0%
example I mentioned before where the
clients<00:16:55.860><c> kind</c><00:16:56.040><c> of</c><00:16:56.100><c> influenced</c><00:16:56.610><c> back</c><00:16:56.790><c> the</c>

00:16:57.079 --> 00:16:57.089 align:start position:0%
clients kind of influenced back the
 

00:16:57.089 --> 00:17:00.069 align:start position:0%
clients kind of influenced back the
specification

00:17:00.069 --> 00:17:00.079 align:start position:0%
 
 

00:17:00.079 --> 00:17:02.229 align:start position:0%
 
another<00:17:00.829><c> example</c><00:17:01.129><c> also</c><00:17:01.819><c> in</c><00:17:01.939><c> the</c><00:17:02.029><c> form</c><00:17:02.209><c> of</c>

00:17:02.229 --> 00:17:02.239 align:start position:0%
another example also in the form of
 

00:17:02.239 --> 00:17:04.269 align:start position:0%
another example also in the form of
speck<00:17:02.479><c> around</c><00:17:02.839><c> the</c><00:17:03.079><c> same</c><00:17:03.319><c> instruction</c><00:17:04.009><c> the</c>

00:17:04.269 --> 00:17:04.279 align:start position:0%
speck around the same instruction the
 

00:17:04.279 --> 00:17:06.730 align:start position:0%
speck around the same instruction the
same<00:17:04.490><c> division</c><00:17:04.939><c> it's</c><00:17:05.089><c> the</c><00:17:05.409><c> it's</c><00:17:06.409><c> this</c><00:17:06.559><c> edge</c>

00:17:06.730 --> 00:17:06.740 align:start position:0%
same division it's the it's this edge
 

00:17:06.740 --> 00:17:12.850 align:start position:0%
same division it's the it's this edge
case<00:17:07.329><c> when</c><00:17:08.329><c> you</c><00:17:09.110><c> divide</c><00:17:10.240><c> yeah</c><00:17:11.240><c> -</c><00:17:11.899><c> 50</c><00:17:12.079><c> rated</c><00:17:12.350><c> 255</c>

00:17:12.850 --> 00:17:12.860 align:start position:0%
case when you divide yeah - 50 rated 255
 

00:17:12.860 --> 00:17:15.759 align:start position:0%
case when you divide yeah - 50 rated 255
divided<00:17:13.639><c> by</c><00:17:13.759><c> minus</c><00:17:14.059><c> 1</c><00:17:14.269><c> so</c><00:17:14.509><c> this</c><00:17:14.750><c> is</c><00:17:15.470><c> kind</c><00:17:15.709><c> of</c>

00:17:15.759 --> 00:17:15.769 align:start position:0%
divided by minus 1 so this is kind of
 

00:17:15.769 --> 00:17:16.990 align:start position:0%
divided by minus 1 so this is kind of
realization<00:17:16.279><c> you</c><00:17:16.370><c> have</c><00:17:16.399><c> sometimes</c><00:17:16.699><c> when</c>

00:17:16.990 --> 00:17:17.000 align:start position:0%
realization you have sometimes when
 

00:17:17.000 --> 00:17:19.990 align:start position:0%
realization you have sometimes when
you're<00:17:17.089><c> working</c><00:17:17.120><c> with</c><00:17:17.389><c> this</c><00:17:17.569><c> and</c><00:17:18.610><c> the</c><00:17:19.610><c> problem</c>

00:17:19.990 --> 00:17:20.000 align:start position:0%
you're working with this and the problem
 

00:17:20.000 --> 00:17:23.620 align:start position:0%
you're working with this and the problem
is<00:17:20.149><c> basically</c><00:17:20.299><c> that</c><00:17:21.819><c> the</c><00:17:22.819><c> daily</c><00:17:23.029><c> paper</c><00:17:23.269><c> didn't</c>

00:17:23.620 --> 00:17:23.630 align:start position:0%
is basically that the daily paper didn't
 

00:17:23.630 --> 00:17:26.470 align:start position:0%
is basically that the daily paper didn't
specify<00:17:23.809><c> this</c><00:17:24.110><c> so</c><00:17:24.589><c> you</c><00:17:25.220><c> could</c><00:17:25.490><c> do</c><00:17:25.699><c> your</c><00:17:25.730><c> your</c>

00:17:26.470 --> 00:17:26.480 align:start position:0%
specify this so you could do your your
 

00:17:26.480 --> 00:17:28.449 align:start position:0%
specify this so you could do your your
equally<00:17:27.049><c> different</c><00:17:27.319><c> workflow</c><00:17:27.799><c> semantics</c><00:17:28.339><c> and</c>

00:17:28.449 --> 00:17:28.459 align:start position:0%
equally different workflow semantics and
 

00:17:28.459 --> 00:17:30.009 align:start position:0%
equally different workflow semantics and
still<00:17:28.669><c> be</c><00:17:28.820><c> technically</c><00:17:29.149><c> correct</c><00:17:29.240><c> so</c><00:17:29.779><c> we</c><00:17:29.899><c> had</c>

00:17:30.009 --> 00:17:30.019 align:start position:0%
still be technically correct so we had
 

00:17:30.019 --> 00:17:32.619 align:start position:0%
still be technically correct so we had
to<00:17:30.139><c> add</c><00:17:30.259><c> a</c><00:17:30.289><c> case</c><00:17:30.620><c> to</c><00:17:30.980><c> just</c><00:17:31.240><c> you</c><00:17:32.240><c> can</c><00:17:32.389><c> see</c><00:17:32.480><c> on</c><00:17:32.570><c> the</c>

00:17:32.619 --> 00:17:32.629 align:start position:0%
to add a case to just you can see on the
 

00:17:32.629 --> 00:17:34.539 align:start position:0%
to add a case to just you can see on the
right<00:17:32.779><c> hand</c><00:17:32.960><c> side</c><00:17:33.110><c> it's</c><00:17:33.409><c> the</c><00:17:33.500><c> stack</c><00:17:34.100><c> stack</c>

00:17:34.539 --> 00:17:34.549 align:start position:0%
right hand side it's the stack stack
 

00:17:34.549 --> 00:17:38.369 align:start position:0%
right hand side it's the stack stack
item<00:17:34.909><c> through</c><00:17:35.090><c> pop</c><00:17:36.159><c> so</c><00:17:37.159><c> we</c><00:17:37.220><c> had</c><00:17:37.309><c> basically</c><00:17:37.820><c> a</c>

00:17:38.369 --> 00:17:38.379 align:start position:0%
item through pop so we had basically a
 

00:17:38.379 --> 00:17:43.930 align:start position:0%
item through pop so we had basically a
special<00:17:39.379><c> case</c><00:17:39.710><c> for</c><00:17:39.740><c> that</c><00:17:41.980><c> so</c><00:17:42.980><c> my</c><00:17:43.610><c> time</c><00:17:43.820><c> is</c>

00:17:43.930 --> 00:17:43.940 align:start position:0%
special case for that so my time is
 

00:17:43.940 --> 00:17:45.100 align:start position:0%
special case for that so my time is
almost<00:17:44.090><c> up</c><00:17:44.299><c> here</c><00:17:44.509><c> so</c><00:17:44.629><c> I'm</c><00:17:44.690><c> just</c><00:17:44.720><c> gonna</c><00:17:44.960><c> show</c>

00:17:45.100 --> 00:17:45.110 align:start position:0%
almost up here so I'm just gonna show
 

00:17:45.110 --> 00:17:48.519 align:start position:0%
almost up here so I'm just gonna show
really<00:17:45.409><c> quick</c><00:17:45.620><c> thing</c><00:17:45.830><c> which</c><00:17:45.980><c> is</c><00:17:46.129><c> that</c><00:17:47.409><c> when</c><00:17:48.409><c> we</c>

00:17:48.519 --> 00:17:48.529 align:start position:0%
really quick thing which is that when we
 

00:17:48.529 --> 00:17:51.999 align:start position:0%
really quick thing which is that when we
launched<00:17:48.740><c> there</c><00:17:49.070><c> was</c><00:17:49.100><c> a</c><00:17:49.340><c> a</c><00:17:50.679><c> note</c><00:17:51.679><c> about</c><00:17:51.860><c> that</c>

00:17:51.999 --> 00:17:52.009 align:start position:0%
launched there was a a note about that
 

00:17:52.009 --> 00:17:59.409 align:start position:0%
launched there was a a note about that
it's<00:17:52.250><c> not</c><00:17:52.429><c> really</c><00:17:52.730><c> safe</c><00:17:57.759><c> yeah</c><00:17:58.759><c> so</c><00:17:59.090><c> the</c>

00:17:59.409 --> 00:17:59.419 align:start position:0%
it's not really safe yeah so the
 

00:17:59.419 --> 00:18:02.830 align:start position:0%
it's not really safe yeah so the
post-launch<00:17:59.899><c> we</c><00:18:00.320><c> found</c><00:18:00.590><c> a</c><00:18:00.860><c> few</c><00:18:01.340><c> issues</c><00:18:01.460><c> and</c><00:18:01.940><c> I</c>

00:18:02.830 --> 00:18:02.840 align:start position:0%
post-launch we found a few issues and I
 

00:18:02.840 --> 00:18:04.210 align:start position:0%
post-launch we found a few issues and I
just<00:18:03.049><c> filled</c><00:18:03.409><c> one</c><00:18:03.559><c> really</c><00:18:03.860><c> really</c><00:18:04.039><c> quick</c>

00:18:04.210 --> 00:18:04.220 align:start position:0%
just filled one really really quick
 

00:18:04.220 --> 00:18:06.159 align:start position:0%
just filled one really really quick
thing<00:18:04.460><c> here</c><00:18:04.580><c> which</c><00:18:04.700><c> is</c><00:18:04.909><c> also</c><00:18:05.539><c> found</c><00:18:05.779><c> in</c><00:18:06.049><c> the</c>

00:18:06.159 --> 00:18:06.169 align:start position:0%
thing here which is also found in the
 

00:18:06.169 --> 00:18:09.340 align:start position:0%
thing here which is also found in the
boundary<00:18:06.620><c> program</c><00:18:07.570><c> this</c><00:18:08.570><c> was</c><00:18:08.720><c> found</c><00:18:08.929><c> off</c><00:18:09.139><c> the</c>

00:18:09.340 --> 00:18:09.350 align:start position:0%
boundary program this was found off the
 

00:18:09.350 --> 00:18:12.129 align:start position:0%
boundary program this was found off the
launch<00:18:09.559><c> in</c><00:18:10.009><c> the</c><00:18:10.159><c> Python</c><00:18:10.370><c> client</c><00:18:10.840><c> where</c><00:18:11.840><c> the</c>

00:18:12.129 --> 00:18:12.139 align:start position:0%
launch in the Python client where the
 

00:18:12.139 --> 00:18:14.850 align:start position:0%
launch in the Python client where the
Python<00:18:12.500><c> client</c><00:18:12.710><c> was</c><00:18:13.009><c> not</c><00:18:13.450><c> following</c><00:18:14.450><c> the</c><00:18:14.600><c> spec</c>

00:18:14.850 --> 00:18:14.860 align:start position:0%
Python client was not following the spec
 

00:18:14.860 --> 00:18:17.919 align:start position:0%
Python client was not following the spec
for<00:18:15.860><c> suicide</c><00:18:16.730><c> so</c><00:18:16.970><c> when</c><00:18:17.120><c> when</c><00:18:17.389><c> is</c><00:18:17.509><c> if</c><00:18:17.779><c> you</c>

00:18:17.919 --> 00:18:17.929 align:start position:0%
for suicide so when when is if you
 

00:18:17.929 --> 00:18:21.940 align:start position:0%
for suicide so when when is if you
suicide<00:18:18.350><c> the</c><00:18:18.500><c> contract</c><00:18:18.950><c> to</c><00:18:19.039><c> yourself</c><00:18:20.950><c> you</c>

00:18:21.940 --> 00:18:21.950 align:start position:0%
suicide the contract to yourself you
 

00:18:21.950 --> 00:18:23.169 align:start position:0%
suicide the contract to yourself you
need<00:18:22.129><c> to</c><00:18:22.250><c> make</c><00:18:22.399><c> sure</c><00:18:22.429><c> that</c><00:18:22.580><c> it's</c><00:18:22.909><c> at</c><00:18:23.059><c> the</c>

00:18:23.169 --> 00:18:23.179 align:start position:0%
need to make sure that it's at the
 

00:18:23.179 --> 00:18:26.139 align:start position:0%
need to make sure that it's at the
balance<00:18:23.480><c> is</c><00:18:23.629><c> zero</c><00:18:24.549><c> well</c><00:18:25.549><c> you</c><00:18:25.610><c> need</c><00:18:25.730><c> to</c><00:18:25.789><c> make</c>

00:18:26.139 --> 00:18:26.149 align:start position:0%
balance is zero well you need to make
 

00:18:26.149 --> 00:18:31.090 align:start position:0%
balance is zero well you need to make
sure<00:18:26.179><c> that</c><00:18:26.389><c> is</c><00:18:26.809><c> in</c><00:18:27.169><c> any</c><00:18:27.919><c> suicide</c><00:18:28.519><c> so</c><00:18:29.440><c> but</c><00:18:30.440><c> if</c>

00:18:31.090 --> 00:18:31.100 align:start position:0%
sure that is in any suicide so but if
 

00:18:31.100 --> 00:18:32.799 align:start position:0%
sure that is in any suicide so but if
you<00:18:31.279><c> suicide</c><00:18:31.669><c> it</c><00:18:31.759><c> to</c><00:18:31.850><c> yourself</c><00:18:32.210><c> then</c><00:18:32.539><c> employ</c>

00:18:32.799 --> 00:18:32.809 align:start position:0%
you suicide it to yourself then employ
 

00:18:32.809 --> 00:18:34.060 align:start position:0%
you suicide it to yourself then employ
when<00:18:33.019><c> you</c><00:18:33.080><c> would</c><00:18:33.200><c> actually</c><00:18:33.320><c> still</c><00:18:33.740><c> have</c><00:18:33.950><c> that</c>

00:18:34.060 --> 00:18:34.070 align:start position:0%
when you would actually still have that
 

00:18:34.070 --> 00:18:38.019 align:start position:0%
when you would actually still have that
balance<00:18:34.429><c> of</c><00:18:34.610><c> the</c><00:18:34.789><c> watch</c><00:18:36.730><c> it's</c><00:18:37.730><c> just</c><00:18:37.759><c> one</c>

00:18:38.019 --> 00:18:38.029 align:start position:0%
balance of the watch it's just one
 

00:18:38.029 --> 00:18:40.480 align:start position:0%
balance of the watch it's just one
example<00:18:38.330><c> we</c><00:18:38.480><c> had</c><00:18:38.570><c> post-launch</c><00:18:39.019><c> and</c><00:18:39.350><c> I</c><00:18:39.830><c> let's</c>

00:18:40.480 --> 00:18:40.490 align:start position:0%
example we had post-launch and I let's
 

00:18:40.490 --> 00:18:41.980 align:start position:0%
example we had post-launch and I let's
skip<00:18:40.759><c> for</c><00:18:40.970><c> a</c><00:18:41.000><c> few</c><00:18:41.240><c> other</c><00:18:41.360><c> examples</c><00:18:41.450><c> here</c><00:18:41.870><c> and</c>

00:18:41.980 --> 00:18:41.990 align:start position:0%
skip for a few other examples here and
 

00:18:41.990 --> 00:18:47.340 align:start position:0%
skip for a few other examples here and
this<00:18:42.169><c> go</c><00:18:42.350><c> directly</c><00:18:42.769><c> to</c><00:18:44.559><c> to</c><00:18:45.559><c> some</c><00:18:45.860><c> takeaways</c><00:18:46.490><c> so</c>

00:18:47.340 --> 00:18:47.350 align:start position:0%
this go directly to to some takeaways so
 

00:18:47.350 --> 00:18:51.129 align:start position:0%
this go directly to to some takeaways so
don't<00:18:48.350><c> don't</c><00:18:48.679><c> make</c><00:18:48.889><c> your</c><00:18:48.980><c> own</c><00:18:49.129><c> watching</c><00:18:50.139><c> and</c>

00:18:51.129 --> 00:18:51.139 align:start position:0%
don't don't make your own watching and
 

00:18:51.139 --> 00:18:53.560 align:start position:0%
don't don't make your own watching and
if<00:18:52.129><c> you</c><00:18:52.370><c> do</c><00:18:52.549><c> it's</c><00:18:52.820><c> a</c><00:18:52.940><c> really</c><00:18:53.149><c> good</c><00:18:53.269><c> idea</c><00:18:53.360><c> to</c>

00:18:53.560 --> 00:18:53.570 align:start position:0%
if you do it's a really good idea to
 

00:18:53.570 --> 00:18:55.539 align:start position:0%
if you do it's a really good idea to
have<00:18:53.720><c> formal</c><00:18:54.230><c> specification</c><00:18:54.889><c> and</c><00:18:55.070><c> multiple</c>

00:18:55.539 --> 00:18:55.549 align:start position:0%
have formal specification and multiple
 

00:18:55.549 --> 00:18:58.299 align:start position:0%
have formal specification and multiple
clients<00:18:56.289><c> we've</c><00:18:57.289><c> seen</c><00:18:57.470><c> issues</c><00:18:57.799><c> where</c><00:18:58.009><c> we</c><00:18:58.100><c> had</c><00:18:58.279><c> a</c>

00:18:58.299 --> 00:18:58.309 align:start position:0%
clients we've seen issues where we had a
 

00:18:58.309 --> 00:19:01.149 align:start position:0%
clients we've seen issues where we had a
bug<00:18:58.610><c> in</c><00:18:58.940><c> single</c><00:18:59.720><c> client</c>

00:19:01.149 --> 00:19:01.159 align:start position:0%
bug in single client
 

00:19:01.159 --> 00:19:03.039 align:start position:0%
bug in single client
two<00:19:01.220><c> out</c><00:19:01.340><c> of</c><00:19:01.369><c> three</c><00:19:01.460><c> clients</c><00:19:01.970><c> we've</c><00:19:02.840><c> seen</c><00:19:03.019><c> a</c>

00:19:03.039 --> 00:19:03.049 align:start position:0%
two out of three clients we've seen a
 

00:19:03.049 --> 00:19:05.409 align:start position:0%
two out of three clients we've seen a
bug<00:19:03.320><c> in</c><00:19:03.679><c> all</c><00:19:03.859><c> clients</c><00:19:04.099><c> and</c><00:19:04.700><c> we</c><00:19:04.879><c> also</c><00:19:04.970><c> seen</c><00:19:05.210><c> bugs</c>

00:19:05.409 --> 00:19:05.419 align:start position:0%
bug in all clients and we also seen bugs
 

00:19:05.419 --> 00:19:08.349 align:start position:0%
bug in all clients and we also seen bugs
where<00:19:06.369><c> the</c><00:19:07.369><c> form</c><00:19:07.609><c> of</c><00:19:07.700><c> speck</c><00:19:07.879><c> was</c><00:19:07.999><c> wrong</c><00:19:08.210><c> but</c>

00:19:08.349 --> 00:19:08.359 align:start position:0%
where the form of speck was wrong but
 

00:19:08.359 --> 00:19:10.169 align:start position:0%
where the form of speck was wrong but
all<00:19:08.479><c> the</c><00:19:08.570><c> clients</c><00:19:08.899><c> are</c><00:19:08.989><c> actually</c><00:19:09.289><c> correct</c><00:19:09.470><c> and</c>

00:19:10.169 --> 00:19:10.179 align:start position:0%
all the clients are actually correct and
 

00:19:10.179 --> 00:19:11.979 align:start position:0%
all the clients are actually correct and
some<00:19:11.179><c> of</c><00:19:11.269><c> the</c><00:19:11.359><c> things</c><00:19:11.479><c> you</c><00:19:11.659><c> have</c><00:19:11.749><c> to</c><00:19:11.779><c> really</c>

00:19:11.979 --> 00:19:11.989 align:start position:0%
some of the things you have to really
 

00:19:11.989 --> 00:19:14.169 align:start position:0%
some of the things you have to really
think<00:19:12.200><c> about</c><00:19:12.289><c> this</c><00:19:12.559><c> type</c><00:19:13.009><c> the</c><00:19:13.639><c> data</c><00:19:13.820><c> types</c><00:19:14.090><c> you</c>

00:19:14.169 --> 00:19:14.179 align:start position:0%
think about this type the data types you
 

00:19:14.179 --> 00:19:18.369 align:start position:0%
think about this type the data types you
use<00:19:14.359><c> in</c><00:19:14.570><c> the</c><00:19:14.659><c> conversions</c><00:19:17.349><c> off-by-one</c><00:19:18.349><c> errors</c>

00:19:18.369 --> 00:19:18.379 align:start position:0%
use in the conversions off-by-one errors
 

00:19:18.379 --> 00:19:20.619 align:start position:0%
use in the conversions off-by-one errors
and<00:19:19.159><c> also</c><00:19:19.759><c> be</c><00:19:19.999><c> really</c><00:19:20.179><c> careful</c><00:19:20.509><c> with</c>

00:19:20.619 --> 00:19:20.629 align:start position:0%
and also be really careful with
 

00:19:20.629 --> 00:19:22.979 align:start position:0%
and also be really careful with
cryptography<00:19:20.960><c> because</c><00:19:21.549><c> there's</c><00:19:22.549><c> a</c><00:19:22.639><c> lot</c><00:19:22.789><c> of</c>

00:19:22.979 --> 00:19:22.989 align:start position:0%
cryptography because there's a lot of
 

00:19:22.989 --> 00:19:25.509 align:start position:0%
cryptography because there's a lot of
cryptography<00:19:23.989><c> details</c><00:19:24.559><c> that</c><00:19:24.799><c> that</c><00:19:25.279><c> are</c><00:19:25.399><c> not</c>

00:19:25.509 --> 00:19:25.519 align:start position:0%
cryptography details that that are not
 

00:19:25.519 --> 00:19:27.820 align:start position:0%
cryptography details that that are not
specified<00:19:26.149><c> in</c><00:19:26.359><c> the</c><00:19:26.509><c> form</c><00:19:26.659><c> spec</c><00:19:26.989><c> they</c><00:19:27.769><c> are</c>

00:19:27.820 --> 00:19:27.830 align:start position:0%
specified in the form spec they are
 

00:19:27.830 --> 00:19:30.279 align:start position:0%
specified in the form spec they are
simply<00:19:28.419><c> referenced</c><00:19:29.419><c> from</c><00:19:29.809><c> from</c><00:19:30.200><c> the</c>

00:19:30.279 --> 00:19:30.289 align:start position:0%
simply referenced from from the
 

00:19:30.289 --> 00:19:35.769 align:start position:0%
simply referenced from from the
literature<00:19:33.190><c> and</c><00:19:34.190><c> future</c><00:19:35.029><c> wives</c><00:19:35.210><c> we</c><00:19:35.389><c> want</c><00:19:35.570><c> to</c>

00:19:35.769 --> 00:19:35.779 align:start position:0%
literature and future wives we want to
 

00:19:35.779 --> 00:19:37.869 align:start position:0%
literature and future wives we want to
add<00:19:36.019><c> more</c><00:19:36.379><c> audits</c><00:19:36.950><c> perhaps</c><00:19:37.369><c> on</c><00:19:37.549><c> an</c><00:19:37.639><c> annual</c>

00:19:37.869 --> 00:19:37.879 align:start position:0%
add more audits perhaps on an annual
 

00:19:37.879 --> 00:19:39.149 align:start position:0%
add more audits perhaps on an annual
basis

00:19:39.149 --> 00:19:39.159 align:start position:0%
basis
 

00:19:39.159 --> 00:19:41.349 align:start position:0%
basis
it<00:19:40.159><c> will</c><00:19:40.369><c> be</c><00:19:40.489><c> great</c><00:19:40.669><c> if</c><00:19:40.789><c> we</c><00:19:40.820><c> could</c><00:19:41.090><c> include</c>

00:19:41.349 --> 00:19:41.359 align:start position:0%
it will be great if we could include
 

00:19:41.359 --> 00:19:45.099 align:start position:0%
it will be great if we could include
more<00:19:42.200><c> lines</c><00:19:42.470><c> in</c><00:19:42.769><c> audits</c><00:19:43.700><c> and</c><00:19:44.389><c> also</c><00:19:44.720><c> include</c>

00:19:45.099 --> 00:19:45.109 align:start position:0%
more lines in audits and also include
 

00:19:45.109 --> 00:19:47.229 align:start position:0%
more lines in audits and also include
these<00:19:45.259><c> clients</c><00:19:45.649><c> in</c><00:19:45.859><c> the</c><00:19:46.009><c> scope</c><00:19:46.999><c> of</c><00:19:47.149><c> the</c>

00:19:47.229 --> 00:19:47.239 align:start position:0%
these clients in the scope of the
 

00:19:47.239 --> 00:19:51.399 align:start position:0%
these clients in the scope of the
boundary<00:19:47.479><c> program</c><00:19:49.389><c> the</c><00:19:50.389><c> current</c><00:19:50.720><c> boundary</c>

00:19:51.399 --> 00:19:51.409 align:start position:0%
boundary program the current boundary
 

00:19:51.409 --> 00:19:55.119 align:start position:0%
boundary program the current boundary
program<00:19:51.679><c> reward</c><00:19:52.039><c> is</c><00:19:53.019><c> like</c><00:19:54.019><c> between</c><00:19:54.349><c> half</c><00:19:54.769><c> to</c>

00:19:55.119 --> 00:19:55.129 align:start position:0%
program reward is like between half to
 

00:19:55.129 --> 00:19:57.519 align:start position:0%
program reward is like between half to
ten<00:19:55.309><c> a</c><00:19:55.669><c> half</c><00:19:56.179><c> a</c><00:19:56.299><c> Bitcoin</c><00:19:56.599><c> a</c><00:19:56.629><c> time</c><00:19:56.840><c> bitcoins</c><00:19:57.229><c> and</c>

00:19:57.519 --> 00:19:57.529 align:start position:0%
ten a half a Bitcoin a time bitcoins and
 

00:19:57.529 --> 00:19:59.950 align:start position:0%
ten a half a Bitcoin a time bitcoins and
if<00:19:58.159><c> you</c><00:19:58.609><c> compare</c><00:19:58.909><c> this</c><00:19:59.059><c> to</c><00:19:59.119><c> like</c><00:19:59.419><c> a</c><00:19:59.629><c> Google</c>

00:19:59.950 --> 00:19:59.960 align:start position:0%
if you compare this to like a Google
 

00:19:59.960 --> 00:20:02.469 align:start position:0%
if you compare this to like a Google
Santa<00:20:00.169><c> program</c><00:20:00.379><c> they</c><00:20:00.820><c> they</c><00:20:01.820><c> offer</c><00:20:02.029><c> bit</c><00:20:02.299><c> more</c>

00:20:02.469 --> 00:20:02.479 align:start position:0%
Santa program they they offer bit more
 

00:20:02.479 --> 00:20:04.149 align:start position:0%
Santa program they they offer bit more
in<00:20:02.599><c> case</c><00:20:02.749><c> if</c><00:20:02.960><c> fine</c><00:20:03.139><c> hemisphere</c><00:20:03.619><c> they</c><00:20:03.769><c> exploit</c>

00:20:04.149 --> 00:20:04.159 align:start position:0%
in case if fine hemisphere they exploit
 

00:20:04.159 --> 00:20:06.879 align:start position:0%
in case if fine hemisphere they exploit
so<00:20:04.429><c> I</c><00:20:04.700><c> hope</c><00:20:04.970><c> that</c><00:20:04.999><c> in</c><00:20:05.269><c> like</c><00:20:05.479><c> three</c><00:20:06.289><c> years</c><00:20:06.529><c> we</c>

00:20:06.879 --> 00:20:06.889 align:start position:0%
so I hope that in like three years we
 

00:20:06.889 --> 00:20:09.369 align:start position:0%
so I hope that in like three years we
can<00:20:07.039><c> increase</c><00:20:07.220><c> the</c><00:20:07.489><c> boundary</c><00:20:07.759><c> watch</c><00:20:08.169><c> to</c><00:20:09.169><c> match</c>

00:20:09.369 --> 00:20:09.379 align:start position:0%
can increase the boundary watch to match
 

00:20:09.379 --> 00:20:17.379 align:start position:0%
can increase the boundary watch to match
companies<00:20:10.159><c> like</c><00:20:10.340><c> Google</c><00:20:10.639><c> or</c><00:20:10.759><c> Facebook</c><00:20:16.330><c> yeah</c>

00:20:17.379 --> 00:20:17.389 align:start position:0%
companies like Google or Facebook yeah
 

00:20:17.389 --> 00:20:21.340 align:start position:0%
companies like Google or Facebook yeah
I'll<00:20:17.690><c> skip</c><00:20:18.139><c> this</c><00:20:18.320><c> one</c><00:20:18.379><c> on</c><00:20:18.619><c> this</c><00:20:18.769><c> style</c><00:20:19.039><c> yeah</c>

