WEBVTT
Kind: captions
Language: en

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

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

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

00:00:16.150 --> 00:00:16.160 align:start position:0%
 
 

00:00:16.160 --> 00:00:19.269 align:start position:0%
 
secure<00:00:17.160><c> contract</c><00:00:17.520><c> using</c><00:00:18.180><c> fuzzing</c>

00:00:19.269 --> 00:00:19.279 align:start position:0%
secure contract using fuzzing
 

00:00:19.279 --> 00:00:21.830 align:start position:0%
secure contract using fuzzing
before<00:00:20.279><c> we</c><00:00:20.580><c> start</c><00:00:20.760><c> just</c><00:00:21.060><c> to</c><00:00:21.240><c> get</c><00:00:21.300><c> like</c><00:00:21.480><c> a</c><00:00:21.600><c> sense</c>

00:00:21.830 --> 00:00:21.840 align:start position:0%
before we start just to get like a sense
 

00:00:21.840 --> 00:00:24.349 align:start position:0%
before we start just to get like a sense
how<00:00:22.439><c> many</c><00:00:22.560><c> of</c><00:00:22.800><c> you</c><00:00:23.039><c> have</c><00:00:23.340><c> used</c><00:00:23.640><c> the</c><00:00:23.820><c> kidney</c><00:00:24.240><c> in</c>

00:00:24.349 --> 00:00:24.359 align:start position:0%
how many of you have used the kidney in
 

00:00:24.359 --> 00:00:26.689 align:start position:0%
how many of you have used the kidney in
the<00:00:24.480><c> past</c>

00:00:26.689 --> 00:00:26.699 align:start position:0%
 
 

00:00:26.699 --> 00:00:29.450 align:start position:0%
 
echidna<00:00:27.840><c> it's</c><00:00:28.320><c> a</c><00:00:28.500><c> what</c><00:00:29.099><c> we're</c><00:00:29.220><c> going</c><00:00:29.400><c> to</c>

00:00:29.450 --> 00:00:29.460 align:start position:0%
echidna it's a what we're going to
 

00:00:29.460 --> 00:00:31.009 align:start position:0%
echidna it's a what we're going to
present

00:00:31.009 --> 00:00:31.019 align:start position:0%
present
 

00:00:31.019 --> 00:00:33.729 align:start position:0%
present
okay

00:00:33.729 --> 00:00:33.739 align:start position:0%
 
 

00:00:33.739 --> 00:00:37.310 align:start position:0%
 
okay<00:00:34.739><c> so</c><00:00:35.040><c> who</c><00:00:35.219><c> are</c><00:00:35.399><c> we</c><00:00:35.579><c> so</c><00:00:35.760><c> Gustavo</c><00:00:36.360><c> Greco</c><00:00:36.960><c> and</c>

00:00:37.310 --> 00:00:37.320 align:start position:0%
okay so who are we so Gustavo Greco and
 

00:00:37.320 --> 00:00:39.229 align:start position:0%
okay so who are we so Gustavo Greco and
myself<00:00:37.440><c> Rosner</c><00:00:38.040><c> Feist</c><00:00:38.340><c> we</c><00:00:38.700><c> are</c><00:00:38.820><c> both</c><00:00:39.000><c> security</c>

00:00:39.229 --> 00:00:39.239 align:start position:0%
myself Rosner Feist we are both security
 

00:00:39.239 --> 00:00:41.569 align:start position:0%
myself Rosner Feist we are both security
researcher<00:00:39.960><c> at</c><00:00:40.200><c> trail</c><00:00:40.320><c> of</c><00:00:40.559><c> Beats</c><00:00:40.920><c> if</c><00:00:41.460><c> you</c>

00:00:41.569 --> 00:00:41.579 align:start position:0%
researcher at trail of Beats if you
 

00:00:41.579 --> 00:00:43.729 align:start position:0%
researcher at trail of Beats if you
don't<00:00:41.700><c> know</c><00:00:41.940><c> us</c><00:00:42.180><c> we</c><00:00:42.840><c> are</c><00:00:42.960><c> a</c><00:00:43.079><c> company</c><00:00:43.200><c> where</c><00:00:43.559><c> we</c>

00:00:43.729 --> 00:00:43.739 align:start position:0%
don't know us we are a company where we
 

00:00:43.739 --> 00:00:44.990 align:start position:0%
don't know us we are a company where we
specialize<00:00:44.100><c> in</c><00:00:44.280><c> high</c><00:00:44.520><c> hand</c><00:00:44.820><c> security</c>

00:00:44.990 --> 00:00:45.000 align:start position:0%
specialize in high hand security
 

00:00:45.000 --> 00:00:47.090 align:start position:0%
specialize in high hand security
technology<00:00:45.600><c> we</c><00:00:46.440><c> have</c><00:00:46.559><c> expertive</c><00:00:46.980><c> in</c>

00:00:47.090 --> 00:00:47.100 align:start position:0%
technology we have expertive in
 

00:00:47.100 --> 00:00:48.830 align:start position:0%
technology we have expertive in
blockchain<00:00:47.460><c> but</c><00:00:47.760><c> also</c><00:00:48.000><c> another</c><00:00:48.180><c> topic</c><00:00:48.660><c> for</c>

00:00:48.830 --> 00:00:48.840 align:start position:0%
blockchain but also another topic for
 

00:00:48.840 --> 00:00:50.569 align:start position:0%
blockchain but also another topic for
example<00:00:49.079><c> we</c><00:00:49.320><c> do</c><00:00:49.500><c> a</c><00:00:49.620><c> lot</c><00:00:49.739><c> of</c><00:00:49.860><c> cloud</c><00:00:50.280><c> native</c>

00:00:50.569 --> 00:00:50.579 align:start position:0%
example we do a lot of cloud native
 

00:00:50.579 --> 00:00:52.069 align:start position:0%
example we do a lot of cloud native
application<00:00:51.120><c> or</c><00:00:51.480><c> we</c><00:00:51.600><c> do</c><00:00:51.780><c> a</c><00:00:51.899><c> lot</c><00:00:52.020><c> of</c>

00:00:52.069 --> 00:00:52.079 align:start position:0%
application or we do a lot of
 

00:00:52.079 --> 00:00:54.170 align:start position:0%
application or we do a lot of
cryptography<00:00:52.800><c> with</c><00:00:53.039><c> like</c><00:00:53.219><c> weaker</c><00:00:53.760><c> stuff</c><00:00:53.940><c> and</c>

00:00:54.170 --> 00:00:54.180 align:start position:0%
cryptography with like weaker stuff and
 

00:00:54.180 --> 00:00:57.110 align:start position:0%
cryptography with like weaker stuff and
so<00:00:54.480><c> something</c><00:00:55.320><c> that</c><00:00:55.739><c> I</c><00:00:56.039><c> think</c><00:00:56.219><c> differs</c><00:00:56.760><c> from</c>

00:00:57.110 --> 00:00:57.120 align:start position:0%
so something that I think differs from
 

00:00:57.120 --> 00:00:59.150 align:start position:0%
so something that I think differs from
other<00:00:57.360><c> company</c><00:00:57.780><c> is</c><00:00:58.199><c> that</c><00:00:58.440><c> we</c><00:00:58.559><c> spend</c><00:00:58.860><c> a</c><00:00:58.980><c> lot</c><00:00:59.039><c> of</c>

00:00:59.150 --> 00:00:59.160 align:start position:0%
other company is that we spend a lot of
 

00:00:59.160 --> 00:01:01.310 align:start position:0%
other company is that we spend a lot of
time<00:00:59.399><c> trying</c><00:01:00.059><c> to</c><00:01:00.300><c> apply</c><00:01:00.660><c> research</c><00:01:01.199><c> and</c>

00:01:01.310 --> 00:01:01.320 align:start position:0%
time trying to apply research and
 

00:01:01.320 --> 00:01:03.290 align:start position:0%
time trying to apply research and
program<00:01:01.559><c> analysis</c><00:01:02.100><c> into</c><00:01:02.340><c> like</c><00:01:02.640><c> our</c><00:01:02.820><c> daily</c><00:01:03.000><c> job</c>

00:01:03.290 --> 00:01:03.300 align:start position:0%
program analysis into like our daily job
 

00:01:03.300 --> 00:01:05.750 align:start position:0%
program analysis into like our daily job
as<00:01:04.019><c> a</c><00:01:04.140><c> result</c><00:01:04.260><c> we</c><00:01:04.619><c> have</c><00:01:04.739><c> built</c><00:01:05.100><c> a</c><00:01:05.280><c> lot</c><00:01:05.400><c> of</c><00:01:05.580><c> Open</c>

00:01:05.750 --> 00:01:05.760 align:start position:0%
as a result we have built a lot of Open
 

00:01:05.760 --> 00:01:08.149 align:start position:0%
as a result we have built a lot of Open
Source<00:01:06.180><c> tool</c><00:01:06.479><c> you</c><00:01:07.140><c> might</c><00:01:07.260><c> know</c><00:01:07.439><c> slitter</c><00:01:07.860><c> which</c>

00:01:08.149 --> 00:01:08.159 align:start position:0%
Source tool you might know slitter which
 

00:01:08.159 --> 00:01:10.190 align:start position:0%
Source tool you might know slitter which
is<00:01:08.280><c> a</c><00:01:08.400><c> static</c><00:01:08.700><c> analyzer</c><00:01:09.119><c> for</c><00:01:09.299><c> solidity</c><00:01:09.780><c> a</c>

00:01:10.190 --> 00:01:10.200 align:start position:0%
is a static analyzer for solidity a
 

00:01:10.200 --> 00:01:12.230 align:start position:0%
is a static analyzer for solidity a
kidnap<00:01:10.619><c> we</c><00:01:11.400><c> are</c><00:01:11.520><c> going</c><00:01:11.640><c> to</c><00:01:11.760><c> talk</c><00:01:11.880><c> about</c><00:01:12.000><c> it</c>

00:01:12.230 --> 00:01:12.240 align:start position:0%
kidnap we are going to talk about it
 

00:01:12.240 --> 00:01:14.450 align:start position:0%
kidnap we are going to talk about it
today<00:01:12.479><c> but</c><00:01:13.320><c> we</c><00:01:13.500><c> have</c><00:01:13.619><c> a</c><00:01:13.740><c> lot</c><00:01:13.799><c> of</c><00:01:13.920><c> other</c><00:01:14.040><c> tools</c>

00:01:14.450 --> 00:01:14.460 align:start position:0%
today but we have a lot of other tools
 

00:01:14.460 --> 00:01:15.830 align:start position:0%
today but we have a lot of other tools
for<00:01:14.520><c> example</c><00:01:14.700><c> tiller</c><00:01:15.240><c> which</c><00:01:15.420><c> is</c><00:01:15.479><c> a</c><00:01:15.600><c> static</c>

00:01:15.830 --> 00:01:15.840 align:start position:0%
for example tiller which is a static
 

00:01:15.840 --> 00:01:18.289 align:start position:0%
for example tiller which is a static
analyzer<00:01:16.320><c> for</c><00:01:16.500><c> algorand</c><00:01:17.060><c> armana</c><00:01:18.060><c> which</c><00:01:18.180><c> is</c>

00:01:18.289 --> 00:01:18.299 align:start position:0%
analyzer for algorand armana which is
 

00:01:18.299 --> 00:01:20.990 align:start position:0%
analyzer for algorand armana which is
static<00:01:18.600><c> analyzer</c><00:01:19.020><c> for</c><00:01:19.200><c> KO</c><00:01:19.619><c> and</c><00:01:19.860><c> so</c><00:01:19.979><c> on</c>

00:01:20.990 --> 00:01:21.000 align:start position:0%
static analyzer for KO and so on
 

00:01:21.000 --> 00:01:24.050 align:start position:0%
static analyzer for KO and so on
four<00:01:21.840><c> techniques</c><00:01:22.439><c> the</c><00:01:23.220><c> first</c><00:01:23.340><c> one</c><00:01:23.580><c> is</c><00:01:23.759><c> using</c>

00:01:24.050 --> 00:01:24.060 align:start position:0%
four techniques the first one is using
 

00:01:24.060 --> 00:01:26.330 align:start position:0%
four techniques the first one is using
unit<00:01:24.299><c> test</c><00:01:24.659><c> the</c><00:01:25.140><c> second</c><00:01:25.320><c> one</c><00:01:25.560><c> is</c><00:01:25.740><c> using</c><00:01:26.040><c> manual</c>

00:01:26.330 --> 00:01:26.340 align:start position:0%
unit test the second one is using manual
 

00:01:26.340 --> 00:01:28.969 align:start position:0%
unit test the second one is using manual
review<00:01:26.720><c> and</c><00:01:27.720><c> the</c><00:01:27.960><c> two</c><00:01:28.080><c> last</c><00:01:28.380><c> technique</c><00:01:28.740><c> are</c>

00:01:28.969 --> 00:01:28.979 align:start position:0%
review and the two last technique are
 

00:01:28.979 --> 00:01:31.130 align:start position:0%
review and the two last technique are
using<00:01:29.340><c> fully</c><00:01:29.700><c> automated</c><00:01:30.060><c> or</c><00:01:30.360><c> semi-automated</c>

00:01:31.130 --> 00:01:31.140 align:start position:0%
using fully automated or semi-automated
 

00:01:31.140 --> 00:01:33.830 align:start position:0%
using fully automated or semi-automated
technique

00:01:33.830 --> 00:01:33.840 align:start position:0%
 
 

00:01:33.840 --> 00:01:36.469 align:start position:0%
 
I'm<00:01:34.320><c> assuming</c><00:01:34.799><c> everyone</c><00:01:35.520><c> here</c><00:01:35.939><c> is</c><00:01:36.180><c> familiar</c>

00:01:36.469 --> 00:01:36.479 align:start position:0%
I'm assuming everyone here is familiar
 

00:01:36.479 --> 00:01:38.870 align:start position:0%
I'm assuming everyone here is familiar
with<00:01:36.720><c> unit</c><00:01:36.900><c> tests</c><00:01:37.439><c> you</c><00:01:37.979><c> should</c><00:01:38.159><c> use</c><00:01:38.340><c> any</c><00:01:38.579><c> test</c>

00:01:38.870 --> 00:01:38.880 align:start position:0%
with unit tests you should use any test
 

00:01:38.880 --> 00:01:41.870 align:start position:0%
with unit tests you should use any test
and<00:01:39.240><c> they</c><00:01:39.360><c> are</c><00:01:39.540><c> good</c><00:01:39.720><c> usually</c><00:01:40.079><c> to</c><00:01:40.439><c> cover</c><00:01:40.880><c> that</c>

00:01:41.870 --> 00:01:41.880 align:start position:0%
and they are good usually to cover that
 

00:01:41.880 --> 00:01:44.270 align:start position:0%
and they are good usually to cover that
the<00:01:42.119><c> system</c><00:01:42.420><c> is</c><00:01:42.780><c> working</c><00:01:42.960><c> as</c><00:01:43.320><c> expected</c><00:01:43.799><c> in</c><00:01:44.159><c> the</c>

00:01:44.270 --> 00:01:44.280 align:start position:0%
the system is working as expected in the
 

00:01:44.280 --> 00:01:46.550 align:start position:0%
the system is working as expected in the
happy<00:01:44.520><c> path</c><00:01:45.420><c> something</c><00:01:45.900><c> that</c><00:01:46.200><c> we</c><00:01:46.380><c> have</c>

00:01:46.550 --> 00:01:46.560 align:start position:0%
happy path something that we have
 

00:01:46.560 --> 00:01:49.130 align:start position:0%
happy path something that we have
learned<00:01:46.979><c> over</c><00:01:47.460><c> our</c><00:01:47.700><c> audit</c><00:01:48.119><c> and</c><00:01:48.299><c> I</c><00:01:48.600><c> know</c><00:01:48.840><c> those</c>

00:01:49.130 --> 00:01:49.140 align:start position:0%
learned over our audit and I know those
 

00:01:49.140 --> 00:01:51.710 align:start position:0%
learned over our audit and I know those
analysis<00:01:49.979><c> that</c><00:01:50.159><c> we</c><00:01:50.340><c> have</c><00:01:50.460><c> done</c><00:01:50.640><c> is</c><00:01:51.240><c> that</c><00:01:51.479><c> there</c>

00:01:51.710 --> 00:01:51.720 align:start position:0%
analysis that we have done is that there
 

00:01:51.720 --> 00:01:54.590 align:start position:0%
analysis that we have done is that there
is<00:01:51.899><c> no</c><00:01:52.079><c> correlation</c><00:01:52.799><c> between</c><00:01:53.460><c> the</c><00:01:54.240><c> quality</c>

00:01:54.590 --> 00:01:54.600 align:start position:0%
is no correlation between the quality
 

00:01:54.600 --> 00:01:56.149 align:start position:0%
is no correlation between the quality
and<00:01:54.780><c> the</c><00:01:54.899><c> quantity</c><00:01:55.140><c> of</c><00:01:55.320><c> the</c><00:01:55.439><c> unit</c><00:01:55.560><c> test</c><00:01:55.860><c> and</c>

00:01:56.149 --> 00:01:56.159 align:start position:0%
and the quantity of the unit test and
 

00:01:56.159 --> 00:01:58.490 align:start position:0%
and the quantity of the unit test and
the<00:01:56.280><c> likelihood</c><00:01:56.820><c> of</c><00:01:57.000><c> having</c><00:01:57.180><c> high</c><00:01:57.540><c> severity</c>

00:01:58.490 --> 00:01:58.500 align:start position:0%
the likelihood of having high severity
 

00:01:58.500 --> 00:02:00.889 align:start position:0%
the likelihood of having high severity
vulnerability<00:01:59.399><c> and</c><00:02:00.119><c> this</c><00:02:00.299><c> is</c><00:02:00.420><c> we</c><00:02:00.720><c> actually</c>

00:02:00.889 --> 00:02:00.899 align:start position:0%
vulnerability and this is we actually
 

00:02:00.899 --> 00:02:02.749 align:start position:0%
vulnerability and this is we actually
have<00:02:01.079><c> an</c><00:02:01.259><c> academic</c><00:02:01.619><c> paper</c><00:02:01.799><c> on</c><00:02:02.040><c> this</c><00:02:02.220><c> where</c><00:02:02.520><c> we</c>

00:02:02.749 --> 00:02:02.759 align:start position:0%
have an academic paper on this where we
 

00:02:02.759 --> 00:02:04.789 align:start position:0%
have an academic paper on this where we
have<00:02:02.939><c> looked</c><00:02:03.659><c> over</c><00:02:03.780><c> like</c><00:02:04.079><c> all</c><00:02:04.200><c> the</c><00:02:04.380><c> audits</c><00:02:04.680><c> we</c>

00:02:04.789 --> 00:02:04.799 align:start position:0%
have looked over like all the audits we
 

00:02:04.799 --> 00:02:06.709 align:start position:0%
have looked over like all the audits we
have<00:02:04.920><c> done</c><00:02:05.100><c> and</c><00:02:05.340><c> this</c><00:02:05.520><c> is</c><00:02:05.640><c> a</c><00:02:05.880><c> correlation</c><00:02:06.420><c> that</c>

00:02:06.709 --> 00:02:06.719 align:start position:0%
have done and this is a correlation that
 

00:02:06.719 --> 00:02:10.130 align:start position:0%
have done and this is a correlation that
we<00:02:06.840><c> have</c><00:02:07.020><c> not</c><00:02:07.140><c> found</c><00:02:07.459><c> and</c><00:02:08.459><c> the</c><00:02:08.759><c> reason</c><00:02:08.940><c> why</c><00:02:09.420><c> our</c>

00:02:10.130 --> 00:02:10.140 align:start position:0%
we have not found and the reason why our
 

00:02:10.140 --> 00:02:11.990 align:start position:0%
we have not found and the reason why our
intuition<00:02:10.619><c> tell</c><00:02:10.920><c> us</c><00:02:11.099><c> that</c><00:02:11.340><c> when</c><00:02:11.760><c> you</c><00:02:11.879><c> are</c>

00:02:11.990 --> 00:02:12.000 align:start position:0%
intuition tell us that when you are
 

00:02:12.000 --> 00:02:13.369 align:start position:0%
intuition tell us that when you are
going<00:02:12.120><c> to</c><00:02:12.180><c> write</c><00:02:12.480><c> unit</c><00:02:12.720><c> test</c><00:02:12.959><c> you</c><00:02:13.140><c> are</c><00:02:13.260><c> going</c>

00:02:13.369 --> 00:02:13.379 align:start position:0%
going to write unit test you are going
 

00:02:13.379 --> 00:02:16.010 align:start position:0%
going to write unit test you are going
to<00:02:13.500><c> try</c><00:02:13.739><c> to</c><00:02:13.980><c> cover</c><00:02:14.160><c> happy</c><00:02:14.640><c> path</c><00:02:15.000><c> things</c><00:02:15.660><c> that</c>

00:02:16.010 --> 00:02:16.020 align:start position:0%
to try to cover happy path things that
 

00:02:16.020 --> 00:02:17.630 align:start position:0%
to try to cover happy path things that
are<00:02:16.200><c> supposed</c><00:02:16.440><c> to</c><00:02:16.680><c> do</c><00:02:16.800><c> in</c><00:02:16.980><c> the</c><00:02:17.099><c> correct</c>

00:02:17.630 --> 00:02:17.640 align:start position:0%
are supposed to do in the correct
 

00:02:17.640 --> 00:02:20.150 align:start position:0%
are supposed to do in the correct
execution<00:02:18.120><c> while</c><00:02:19.020><c> vulnerability</c><00:02:19.800><c> usually</c>

00:02:20.150 --> 00:02:20.160 align:start position:0%
execution while vulnerability usually
 

00:02:20.160 --> 00:02:22.430 align:start position:0%
execution while vulnerability usually
lies<00:02:20.580><c> in</c><00:02:20.819><c> the</c><00:02:21.000><c> edge</c><00:02:21.180><c> CAD</c><00:02:21.540><c> in</c><00:02:21.780><c> the</c><00:02:22.020><c> things</c><00:02:22.140><c> that</c>

00:02:22.430 --> 00:02:22.440 align:start position:0%
lies in the edge CAD in the things that
 

00:02:22.440 --> 00:02:26.350 align:start position:0%
lies in the edge CAD in the things that
you<00:02:22.560><c> haven't</c><00:02:22.680><c> considered</c>

00:02:26.350 --> 00:02:26.360 align:start position:0%
 
 

00:02:26.360 --> 00:02:29.809 align:start position:0%
 
an<00:02:27.360><c> example</c><00:02:27.660><c> of</c><00:02:27.900><c> a</c><00:02:28.260><c> unit</c><00:02:28.440><c> test</c><00:02:28.739><c> the</c><00:02:29.700><c> second</c>

00:02:29.809 --> 00:02:29.819 align:start position:0%
an example of a unit test the second
 

00:02:29.819 --> 00:02:31.309 align:start position:0%
an example of a unit test the second
technique<00:02:30.180><c> that</c><00:02:30.360><c> you</c><00:02:30.540><c> can</c><00:02:30.599><c> use</c><00:02:30.840><c> is</c><00:02:31.080><c> manual</c>

00:02:31.309 --> 00:02:31.319 align:start position:0%
technique that you can use is manual
 

00:02:31.319 --> 00:02:33.710 align:start position:0%
technique that you can use is manual
webview<00:02:31.800><c> so</c><00:02:32.040><c> you</c><00:02:32.340><c> can</c><00:02:32.400><c> go</c><00:02:32.520><c> line</c><00:02:32.879><c> by</c><00:02:33.060><c> line</c><00:02:33.300><c> and</c>

00:02:33.710 --> 00:02:33.720 align:start position:0%
webview so you can go line by line and
 

00:02:33.720 --> 00:02:35.210 align:start position:0%
webview so you can go line by line and
try<00:02:33.900><c> to</c><00:02:34.020><c> understand</c><00:02:34.200><c> what</c><00:02:34.680><c> the</c><00:02:34.800><c> code</c><00:02:34.980><c> is</c>

00:02:35.210 --> 00:02:35.220 align:start position:0%
try to understand what the code is
 

00:02:35.220 --> 00:02:36.949 align:start position:0%
try to understand what the code is
supposed<00:02:35.400><c> to</c><00:02:35.640><c> do</c><00:02:35.819><c> what</c><00:02:36.239><c> is</c><00:02:36.480><c> actually</c><00:02:36.720><c> doing</c>

00:02:36.949 --> 00:02:36.959 align:start position:0%
supposed to do what is actually doing
 

00:02:36.959 --> 00:02:38.390 align:start position:0%
supposed to do what is actually doing
and<00:02:37.379><c> if</c><00:02:37.560><c> there</c><00:02:37.680><c> is</c><00:02:37.860><c> like</c><00:02:37.980><c> a</c><00:02:38.160><c> difference</c>

00:02:38.390 --> 00:02:38.400 align:start position:0%
and if there is like a difference
 

00:02:38.400 --> 00:02:40.930 align:start position:0%
and if there is like a difference
between<00:02:38.879><c> both</c><00:02:39.180><c> doing</c><00:02:40.080><c> manual</c><00:02:40.620><c> review</c>

00:02:40.930 --> 00:02:40.940 align:start position:0%
between both doing manual review
 

00:02:40.940 --> 00:02:43.430 align:start position:0%
between both doing manual review
requires<00:02:41.940><c> specific</c><00:02:42.239><c> set</c><00:02:42.480><c> of</c><00:02:42.660><c> skills</c><00:02:43.140><c> it's</c>

00:02:43.430 --> 00:02:43.440 align:start position:0%
requires specific set of skills it's
 

00:02:43.440 --> 00:02:45.949 align:start position:0%
requires specific set of skills it's
time<00:02:43.680><c> consuming</c><00:02:44.220><c> it's</c><00:02:44.640><c> it's</c><00:02:45.060><c> it's</c><00:02:45.239><c> kind</c><00:02:45.900><c> of</c>

00:02:45.949 --> 00:02:45.959 align:start position:0%
time consuming it's it's it's kind of
 

00:02:45.959 --> 00:02:48.589 align:start position:0%
time consuming it's it's it's kind of
difficult<00:02:46.319><c> to</c><00:02:46.500><c> do</c><00:02:46.760><c> usually</c><00:02:47.760><c> you</c><00:02:48.239><c> are</c><00:02:48.360><c> going</c><00:02:48.480><c> to</c>

00:02:48.589 --> 00:02:48.599 align:start position:0%
difficult to do usually you are going to
 

00:02:48.599 --> 00:02:50.210 align:start position:0%
difficult to do usually you are going to
go<00:02:48.780><c> through</c><00:02:48.959><c> a</c><00:02:49.140><c> security</c><00:02:49.200><c> company</c><00:02:49.620><c> to</c><00:02:49.920><c> do</c><00:02:50.099><c> a</c>

00:02:50.210 --> 00:02:50.220 align:start position:0%
go through a security company to do a
 

00:02:50.220 --> 00:02:51.830 align:start position:0%
go through a security company to do a
security<00:02:50.340><c> assessment</c><00:02:51.300><c> um</c><00:02:51.300><c> to</c><00:02:51.540><c> have</c><00:02:51.660><c> people</c>

00:02:51.830 --> 00:02:51.840 align:start position:0%
security assessment um to have people
 

00:02:51.840 --> 00:02:55.430 align:start position:0%
security assessment um to have people
that<00:02:52.080><c> have</c><00:02:52.200><c> this</c><00:02:52.379><c> specific</c><00:02:52.680><c> set</c><00:02:52.860><c> of</c><00:02:53.040><c> skills</c>

00:02:55.430 --> 00:02:55.440 align:start position:0%
that have this specific set of skills
 

00:02:55.440 --> 00:02:57.710 align:start position:0%
that have this specific set of skills
the<00:02:56.099><c> next</c><00:02:56.280><c> technique</c><00:02:56.640><c> that</c><00:02:56.819><c> you</c><00:02:57.000><c> can</c><00:02:57.120><c> use</c><00:02:57.300><c> is</c>

00:02:57.710 --> 00:02:57.720 align:start position:0%
the next technique that you can use is
 

00:02:57.720 --> 00:03:00.229 align:start position:0%
the next technique that you can use is
using<00:02:58.080><c> a</c><00:02:58.260><c> fully</c><00:02:58.500><c> automated</c><00:02:58.860><c> tool</c><00:02:59.400><c> these</c><00:03:00.180><c> are</c>

00:03:00.229 --> 00:03:00.239 align:start position:0%
using a fully automated tool these are
 

00:03:00.239 --> 00:03:03.170 align:start position:0%
using a fully automated tool these are
like<00:03:00.360><c> the</c><00:03:00.599><c> two</c><00:03:00.780><c> that</c><00:03:01.019><c> are</c><00:03:01.200><c> going</c><00:03:01.620><c> to</c><00:03:01.860><c> find</c><00:03:02.220><c> some</c>

00:03:03.170 --> 00:03:03.180 align:start position:0%
like the two that are going to find some
 

00:03:03.180 --> 00:03:04.970 align:start position:0%
like the two that are going to find some
of<00:03:03.300><c> the</c><00:03:03.480><c> common</c><00:03:03.599><c> bugs</c><00:03:04.080><c> you're</c><00:03:04.379><c> just</c><00:03:04.620><c> going</c><00:03:04.800><c> to</c>

00:03:04.970 --> 00:03:04.980 align:start position:0%
of the common bugs you're just going to
 

00:03:04.980 --> 00:03:06.470 align:start position:0%
of the common bugs you're just going to
click<00:03:05.280><c> on</c><00:03:05.340><c> the</c><00:03:05.519><c> button</c><00:03:05.760><c> and</c><00:03:06.060><c> the</c><00:03:06.180><c> tool</c><00:03:06.420><c> is</c>

00:03:06.470 --> 00:03:06.480 align:start position:0%
click on the button and the tool is
 

00:03:06.480 --> 00:03:07.790 align:start position:0%
click on the button and the tool is
going<00:03:06.599><c> to</c><00:03:06.720><c> tell</c><00:03:06.840><c> you</c><00:03:06.959><c> there</c><00:03:07.260><c> is</c><00:03:07.440><c> this</c><00:03:07.560><c> type</c><00:03:07.680><c> of</c>

00:03:07.790 --> 00:03:07.800 align:start position:0%
going to tell you there is this type of
 

00:03:07.800 --> 00:03:10.070 align:start position:0%
going to tell you there is this type of
work<00:03:07.980><c> or</c><00:03:08.280><c> not</c><00:03:08.459><c> for</c><00:03:09.420><c> example</c><00:03:09.660><c> you</c><00:03:09.840><c> might</c><00:03:09.959><c> know</c>

00:03:10.070 --> 00:03:10.080 align:start position:0%
work or not for example you might know
 

00:03:10.080 --> 00:03:11.930 align:start position:0%
work or not for example you might know
Theta<00:03:10.500><c> which</c><00:03:10.680><c> is</c><00:03:10.800><c> our</c><00:03:10.920><c> static</c><00:03:11.400><c> analyzer</c><00:03:11.819><c> for</c>

00:03:11.930 --> 00:03:11.940 align:start position:0%
Theta which is our static analyzer for
 

00:03:11.940 --> 00:03:14.210 align:start position:0%
Theta which is our static analyzer for
solidity<00:03:12.480><c> this</c><00:03:13.140><c> type</c><00:03:13.319><c> of</c><00:03:13.500><c> techniques</c><00:03:13.980><c> might</c>

00:03:14.210 --> 00:03:14.220 align:start position:0%
solidity this type of techniques might
 

00:03:14.220 --> 00:03:15.949 align:start position:0%
solidity this type of techniques might
give<00:03:14.459><c> you</c><00:03:14.580><c> forth</c><00:03:15.060><c> running</c>

00:03:15.949 --> 00:03:15.959 align:start position:0%
give you forth running
 

00:03:15.959 --> 00:03:17.750 align:start position:0%
give you forth running
um<00:03:16.019><c> but</c><00:03:16.739><c> they're</c><00:03:17.040><c> also</c><00:03:17.220><c> really</c><00:03:17.340><c> powerful</c>

00:03:17.750 --> 00:03:17.760 align:start position:0%
um but they're also really powerful
 

00:03:17.760 --> 00:03:19.610 align:start position:0%
um but they're also really powerful
because<00:03:18.000><c> I</c><00:03:18.360><c> might</c><00:03:18.540><c> cut</c><00:03:18.720><c> you</c><00:03:18.900><c> know</c><00:03:19.080><c> like</c><00:03:19.319><c> a</c>

00:03:19.610 --> 00:03:19.620 align:start position:0%
because I might cut you know like a
 

00:03:19.620 --> 00:03:21.470 align:start position:0%
because I might cut you know like a
critical<00:03:20.159><c> bugs</c>

00:03:21.470 --> 00:03:21.480 align:start position:0%
critical bugs
 

00:03:21.480 --> 00:03:22.910 align:start position:0%
critical bugs
you

00:03:22.910 --> 00:03:22.920 align:start position:0%
you
 

00:03:22.920 --> 00:03:24.290 align:start position:0%
you
oh<00:03:23.400><c> yeah</c>

00:03:24.290 --> 00:03:24.300 align:start position:0%
oh yeah
 

00:03:24.300 --> 00:03:33.649 align:start position:0%
oh yeah
okay

00:03:33.649 --> 00:03:33.659 align:start position:0%
 
 

00:03:33.659 --> 00:03:35.690 align:start position:0%
 
okay<00:03:34.019><c> so</c><00:03:34.319><c> first</c><00:03:34.560><c> Rita</c><00:03:34.920><c> like</c><00:03:35.340><c> the</c><00:03:35.519><c> best</c>

00:03:35.690 --> 00:03:35.700 align:start position:0%
okay so first Rita like the best
 

00:03:35.700 --> 00:03:37.790 align:start position:0%
okay so first Rita like the best
technique<00:03:36.000><c> is</c><00:03:36.300><c> spend</c><00:03:36.780><c> one</c><00:03:36.959><c> hour</c><00:03:37.140><c> like</c><00:03:37.620><c> the</c>

00:03:37.790 --> 00:03:37.800 align:start position:0%
technique is spend one hour like the
 

00:03:37.800 --> 00:03:39.649 align:start position:0%
technique is spend one hour like the
first<00:03:37.920><c> time</c><00:03:38.040><c> you</c><00:03:38.220><c> try</c><00:03:38.400><c> it</c><00:03:38.580><c> uh</c><00:03:39.300><c> there</c><00:03:39.480><c> is</c><00:03:39.599><c> a</c>

00:03:39.649 --> 00:03:39.659 align:start position:0%
first time you try it uh there is a
 

00:03:39.659 --> 00:03:41.630 align:start position:0%
first time you try it uh there is a
triage<00:03:40.019><c> mode</c><00:03:40.319><c> so</c><00:03:40.560><c> once</c><00:03:40.920><c> you</c><00:03:40.980><c> have</c><00:03:41.040><c> triage</c><00:03:41.400><c> like</c>

00:03:41.630 --> 00:03:41.640 align:start position:0%
triage mode so once you have triage like
 

00:03:41.640 --> 00:03:43.369 align:start position:0%
triage mode so once you have triage like
the<00:03:41.760><c> ways</c><00:03:42.000><c> you</c><00:03:42.120><c> as</c><00:03:42.360><c> I</c><00:03:42.540><c> won't</c><00:03:42.659><c> show</c><00:03:42.840><c> up</c><00:03:42.959><c> like</c><00:03:43.200><c> in</c>

00:03:43.369 --> 00:03:43.379 align:start position:0%
the ways you as I won't show up like in
 

00:03:43.379 --> 00:03:45.949 align:start position:0%
the ways you as I won't show up like in
the<00:03:43.500><c> next</c><00:03:43.620><c> execution</c><00:03:44.180><c> and</c><00:03:45.180><c> if</c><00:03:45.540><c> it</c><00:03:45.659><c> takes</c><00:03:45.840><c> you</c>

00:03:45.949 --> 00:03:45.959 align:start position:0%
the next execution and if it takes you
 

00:03:45.959 --> 00:03:47.509 align:start position:0%
the next execution and if it takes you
like<00:03:46.200><c> one</c><00:03:46.319><c> hour</c><00:03:46.500><c> and</c><00:03:46.799><c> at</c><00:03:46.980><c> the</c><00:03:47.099><c> end</c><00:03:47.159><c> of</c><00:03:47.280><c> the</c><00:03:47.400><c> day</c>

00:03:47.509 --> 00:03:47.519 align:start position:0%
like one hour and at the end of the day
 

00:03:47.519 --> 00:03:49.430 align:start position:0%
like one hour and at the end of the day
you<00:03:47.940><c> might</c><00:03:48.360><c> be</c><00:03:48.540><c> able</c><00:03:48.659><c> to</c><00:03:48.780><c> catch</c><00:03:49.140><c> critical</c>

00:03:49.430 --> 00:03:49.440 align:start position:0%
you might be able to catch critical
 

00:03:49.440 --> 00:03:51.470 align:start position:0%
you might be able to catch critical
vulnerability<00:03:50.099><c> I</c><00:03:50.940><c> would</c><00:03:51.060><c> say</c><00:03:51.180><c> it's</c><00:03:51.299><c> worth</c>

00:03:51.470 --> 00:03:51.480 align:start position:0%
vulnerability I would say it's worth
 

00:03:51.480 --> 00:03:53.690 align:start position:0%
vulnerability I would say it's worth
going<00:03:51.780><c> for</c><00:03:51.959><c> the</c><00:03:52.080><c> first</c><00:03:52.140><c> result</c>

00:03:53.690 --> 00:03:53.700 align:start position:0%
going for the first result
 

00:03:53.700 --> 00:03:56.089 align:start position:0%
going for the first result
and<00:03:54.299><c> look</c><00:03:54.480><c> we</c><00:03:54.900><c> are</c><00:03:55.200><c> we</c><00:03:55.379><c> have</c><00:03:55.560><c> like</c><00:03:55.680><c> a</c><00:03:55.799><c> list</c><00:03:55.920><c> of</c>

00:03:56.089 --> 00:03:56.099 align:start position:0%
and look we are we have like a list of
 

00:03:56.099 --> 00:03:58.250 align:start position:0%
and look we are we have like a list of
trophy<00:03:56.519><c> for</c><00:03:56.760><c> uh</c><00:03:57.000><c> Twitter</c><00:03:57.360><c> that</c><00:03:57.840><c> demonstrates</c>

00:03:58.250 --> 00:03:58.260 align:start position:0%
trophy for uh Twitter that demonstrates
 

00:03:58.260 --> 00:04:00.530 align:start position:0%
trophy for uh Twitter that demonstrates
that<00:03:58.500><c> we</c><00:03:58.680><c> have</c><00:03:58.799><c> found</c><00:03:59.040><c> a</c><00:03:59.640><c> lot</c><00:03:59.819><c> of</c><00:04:00.000><c> like</c><00:04:00.239><c> actual</c>

00:04:00.530 --> 00:04:00.540 align:start position:0%
that we have found a lot of like actual
 

00:04:00.540 --> 00:04:02.750 align:start position:0%
that we have found a lot of like actual
bug<00:04:00.780><c> using</c><00:04:01.260><c> it</c><00:04:01.379><c> so</c><00:04:01.739><c> yeah</c><00:04:01.920><c> there</c><00:04:02.280><c> is</c><00:04:02.400><c> like</c><00:04:02.580><c> a</c>

00:04:02.750 --> 00:04:02.760 align:start position:0%
bug using it so yeah there is like a
 

00:04:02.760 --> 00:04:05.030 align:start position:0%
bug using it so yeah there is like a
false<00:04:03.180><c> positive</c><00:04:03.480><c> pass</c><00:04:03.720><c> for</c><00:04:04.080><c> for</c><00:04:04.500><c> false</c><00:04:04.860><c> alarm</c>

00:04:05.030 --> 00:04:05.040 align:start position:0%
false positive pass for for false alarm
 

00:04:05.040 --> 00:04:07.490 align:start position:0%
false positive pass for for false alarm
but<00:04:05.760><c> it's</c><00:04:06.420><c> not</c><00:04:06.599><c> going</c><00:04:06.780><c> to</c><00:04:06.840><c> take</c><00:04:07.019><c> you</c><00:04:07.200><c> so</c><00:04:07.379><c> much</c>

00:04:07.490 --> 00:04:07.500 align:start position:0%
but it's not going to take you so much
 

00:04:07.500 --> 00:04:09.410 align:start position:0%
but it's not going to take you so much
time<00:04:07.680><c> and</c><00:04:07.860><c> it's</c><00:04:07.980><c> going</c><00:04:08.159><c> to</c><00:04:08.280><c> provide</c><00:04:08.519><c> you</c><00:04:08.640><c> value</c>

00:04:09.410 --> 00:04:09.420 align:start position:0%
time and it's going to provide you value
 

00:04:09.420 --> 00:04:11.270 align:start position:0%
time and it's going to provide you value
for<00:04:09.900><c> example</c><00:04:10.140><c> we</c><00:04:10.379><c> have</c><00:04:10.439><c> a</c><00:04:10.560><c> git</c><00:04:10.739><c> abduction</c><00:04:11.040><c> with</c>

00:04:11.270 --> 00:04:11.280 align:start position:0%
for example we have a git abduction with
 

00:04:11.280 --> 00:04:13.729 align:start position:0%
for example we have a git abduction with
Filter<00:04:11.519><c> when</c><00:04:12.420><c> you</c><00:04:12.659><c> can</c><00:04:12.780><c> connect</c><00:04:12.959><c> it</c><00:04:13.200><c> to</c><00:04:13.379><c> GitHub</c>

00:04:13.729 --> 00:04:13.739 align:start position:0%
Filter when you can connect it to GitHub
 

00:04:13.739 --> 00:04:15.890 align:start position:0%
Filter when you can connect it to GitHub
on<00:04:14.459><c> every</c><00:04:14.580><c> pull</c><00:04:14.819><c> request</c><00:04:15.239><c> commitment</c>

00:04:15.890 --> 00:04:15.900 align:start position:0%
on every pull request commitment
 

00:04:15.900 --> 00:04:17.030 align:start position:0%
on every pull request commitment
depending<00:04:16.320><c> on</c><00:04:16.380><c> how</c><00:04:16.620><c> you</c><00:04:16.739><c> are</c><00:04:16.799><c> going</c><00:04:16.919><c> to</c>

00:04:17.030 --> 00:04:17.040 align:start position:0%
depending on how you are going to
 

00:04:17.040 --> 00:04:19.069 align:start position:0%
depending on how you are going to
configure<00:04:17.400><c> it</c><00:04:17.519><c> it's</c><00:04:17.880><c> going</c><00:04:18.060><c> to</c><00:04:18.180><c> run</c><00:04:18.419><c> if</c><00:04:18.660><c> to</c><00:04:18.900><c> see</c>

00:04:19.069 --> 00:04:19.079 align:start position:0%
configure it it's going to run if to see
 

00:04:19.079 --> 00:04:20.270 align:start position:0%
configure it it's going to run if to see
if<00:04:19.139><c> you</c><00:04:19.320><c> are</c><00:04:19.440><c> introducing</c><00:04:19.919><c> new</c><00:04:20.100><c> new</c>

00:04:20.270 --> 00:04:20.280 align:start position:0%
if you are introducing new new
 

00:04:20.280 --> 00:04:22.909 align:start position:0%
if you are introducing new new
vulnerability<00:04:20.880><c> yeah</c><00:04:21.720><c> perhaps</c><00:04:22.139><c> sorry</c><00:04:22.560><c> perfect</c>

00:04:22.909 --> 00:04:22.919 align:start position:0%
vulnerability yeah perhaps sorry perfect
 

00:04:22.919 --> 00:04:25.790 align:start position:0%
vulnerability yeah perhaps sorry perfect
perhaps<00:04:23.520><c> next</c><00:04:23.820><c> uh</c><00:04:24.300><c> Year</c><00:04:24.660><c> we</c><00:04:24.900><c> will</c><00:04:25.020><c> do</c><00:04:25.259><c> a</c>

00:04:25.790 --> 00:04:25.800 align:start position:0%
perhaps next uh Year we will do a
 

00:04:25.800 --> 00:04:28.249 align:start position:0%
perhaps next uh Year we will do a
slitter<00:04:26.460><c> workshop</c><00:04:27.000><c> on</c><00:04:27.240><c> you</c>

00:04:28.249 --> 00:04:28.259 align:start position:0%
slitter workshop on you
 

00:04:28.259 --> 00:04:32.629 align:start position:0%
slitter workshop on you
and<00:04:28.680><c> this</c><00:04:28.979><c> is</c><00:04:29.040><c> open</c><00:04:29.280><c> source</c><00:04:29.759><c> and</c><00:04:29.820><c> it's</c><00:04:30.000><c> free</c>

00:04:32.629 --> 00:04:32.639 align:start position:0%
 
 

00:04:32.639 --> 00:04:35.390 align:start position:0%
 
okay<00:04:33.000><c> the</c><00:04:33.419><c> last</c><00:04:33.720><c> technique</c><00:04:34.320><c> that</c><00:04:34.919><c> you</c><00:04:35.100><c> can</c><00:04:35.220><c> use</c>

00:04:35.390 --> 00:04:35.400 align:start position:0%
okay the last technique that you can use
 

00:04:35.400 --> 00:04:38.330 align:start position:0%
okay the last technique that you can use
is<00:04:35.880><c> using</c><00:04:36.300><c> semi-automated</c><00:04:37.139><c> analysis</c><00:04:37.800><c> so</c>

00:04:38.330 --> 00:04:38.340 align:start position:0%
is using semi-automated analysis so
 

00:04:38.340 --> 00:04:40.310 align:start position:0%
is using semi-automated analysis so
these<00:04:38.639><c> are</c><00:04:38.699><c> going</c><00:04:38.880><c> to</c><00:04:39.000><c> be</c><00:04:39.180><c> tools</c><00:04:39.720><c> for</c><00:04:40.139><c> which</c>

00:04:40.310 --> 00:04:40.320 align:start position:0%
these are going to be tools for which
 

00:04:40.320 --> 00:04:41.990 align:start position:0%
these are going to be tools for which
you<00:04:40.560><c> are</c><00:04:40.680><c> going</c><00:04:40.800><c> to</c><00:04:40.979><c> provide</c><00:04:41.759><c> some</c>

00:04:41.990 --> 00:04:42.000 align:start position:0%
you are going to provide some
 

00:04:42.000 --> 00:04:43.430 align:start position:0%
you are going to provide some
information<00:04:42.180><c> for</c><00:04:42.720><c> which</c><00:04:42.900><c> you</c><00:04:43.080><c> are</c><00:04:43.199><c> going</c><00:04:43.320><c> to</c>

00:04:43.430 --> 00:04:43.440 align:start position:0%
information for which you are going to
 

00:04:43.440 --> 00:04:46.550 align:start position:0%
information for which you are going to
have<00:04:43.919><c> a</c><00:04:44.160><c> human</c><00:04:44.419><c> intervention</c><00:04:45.419><c> to</c><00:04:45.780><c> explain</c><00:04:46.199><c> to</c>

00:04:46.550 --> 00:04:46.560 align:start position:0%
have a human intervention to explain to
 

00:04:46.560 --> 00:04:48.590 align:start position:0%
have a human intervention to explain to
the<00:04:46.740><c> tool</c><00:04:47.100><c> what</c><00:04:47.460><c> you</c><00:04:47.520><c> are</c><00:04:47.699><c> looking</c><00:04:47.820><c> for</c>

00:04:48.590 --> 00:04:48.600 align:start position:0%
the tool what you are looking for
 

00:04:48.600 --> 00:04:50.930 align:start position:0%
the tool what you are looking for
and<00:04:49.560><c> this</c><00:04:49.800><c> is</c><00:04:49.919><c> a</c><00:04:50.040><c> bit</c><00:04:50.100><c> more</c><00:04:50.280><c> difficult</c><00:04:50.580><c> to</c><00:04:50.820><c> use</c>

00:04:50.930 --> 00:04:50.940 align:start position:0%
and this is a bit more difficult to use
 

00:04:50.940 --> 00:04:52.370 align:start position:0%
and this is a bit more difficult to use
because<00:04:51.180><c> it</c><00:04:51.479><c> requires</c><00:04:51.960><c> like</c><00:04:52.199><c> this</c>

00:04:52.370 --> 00:04:52.380 align:start position:0%
because it requires like this
 

00:04:52.380 --> 00:04:54.770 align:start position:0%
because it requires like this
interaction<00:04:52.740><c> from</c><00:04:53.040><c> you</c><00:04:53.340><c> know</c><00:04:53.460><c> from</c><00:04:53.580><c> the</c><00:04:53.759><c> user</c>

00:04:54.770 --> 00:04:54.780 align:start position:0%
interaction from you know from the user
 

00:04:54.780 --> 00:04:56.210 align:start position:0%
interaction from you know from the user
it's<00:04:55.199><c> a</c><00:04:55.380><c> Technique</c><00:04:55.500><c> we</c><00:04:55.740><c> are</c><00:04:55.860><c> going</c><00:04:55.979><c> to</c><00:04:56.100><c> see</c>

00:04:56.210 --> 00:04:56.220 align:start position:0%
it's a Technique we are going to see
 

00:04:56.220 --> 00:04:57.890 align:start position:0%
it's a Technique we are going to see
today<00:04:56.460><c> with</c><00:04:56.759><c> property</c><00:04:57.120><c> by</c><00:04:57.360><c> testing</c><00:04:57.720><c> with</c>

00:04:57.890 --> 00:04:57.900 align:start position:0%
today with property by testing with
 

00:04:57.900 --> 00:05:00.290 align:start position:0%
today with property by testing with
action<00:04:58.199><c> now</c>

00:05:00.290 --> 00:05:00.300 align:start position:0%
action now
 

00:05:00.300 --> 00:05:04.270 align:start position:0%
action now
so<00:05:00.840><c> what</c><00:05:01.199><c> is</c><00:05:01.380><c> property-based</c><00:05:02.220><c> texting</c>

00:05:04.270 --> 00:05:04.280 align:start position:0%
so what is property-based texting
 

00:05:04.280 --> 00:05:07.430 align:start position:0%
so what is property-based texting
to<00:05:05.280><c> understand</c><00:05:05.400><c> how</c><00:05:06.060><c> it</c><00:05:06.240><c> works</c><00:05:06.600><c> I</c><00:05:07.199><c> have</c><00:05:07.320><c> to</c>

00:05:07.430 --> 00:05:07.440 align:start position:0%
to understand how it works I have to
 

00:05:07.440 --> 00:05:09.710 align:start position:0%
to understand how it works I have to
introduce<00:05:07.860><c> fuzzing</c><00:05:08.400><c> so</c><00:05:08.759><c> first</c><00:05:09.000><c> thing</c><00:05:09.300><c> is</c><00:05:09.540><c> a</c>

00:05:09.710 --> 00:05:09.720 align:start position:0%
introduce fuzzing so first thing is a
 

00:05:09.720 --> 00:05:11.450 align:start position:0%
introduce fuzzing so first thing is a
standard<00:05:10.080><c> program</c><00:05:10.259><c> analysis</c><00:05:10.860><c> technique</c><00:05:11.220><c> that</c>

00:05:11.450 --> 00:05:11.460 align:start position:0%
standard program analysis technique that
 

00:05:11.460 --> 00:05:13.810 align:start position:0%
standard program analysis technique that
is<00:05:11.580><c> used</c><00:05:11.820><c> a</c><00:05:12.419><c> lot</c><00:05:12.720><c> in</c><00:05:12.960><c> traditional</c><00:05:13.440><c> security</c>

00:05:13.810 --> 00:05:13.820 align:start position:0%
is used a lot in traditional security
 

00:05:13.820 --> 00:05:17.090 align:start position:0%
is used a lot in traditional security
the<00:05:14.820><c> idea</c><00:05:15.240><c> is</c><00:05:15.419><c> basically</c><00:05:15.780><c> you</c><00:05:16.500><c> provide</c><00:05:16.919><c> a</c>

00:05:17.090 --> 00:05:17.100 align:start position:0%
the idea is basically you provide a
 

00:05:17.100 --> 00:05:19.189 align:start position:0%
the idea is basically you provide a
one-time<00:05:17.460><c> input</c><00:05:17.820><c> to</c><00:05:18.240><c> the</c><00:05:18.419><c> program</c><00:05:18.660><c> and</c><00:05:19.080><c> you</c>

00:05:19.189 --> 00:05:19.199 align:start position:0%
one-time input to the program and you
 

00:05:19.199 --> 00:05:20.810 align:start position:0%
one-time input to the program and you
try<00:05:19.380><c> to</c><00:05:19.560><c> see</c><00:05:19.800><c> what's</c><00:05:20.100><c> what's</c><00:05:20.340><c> going</c><00:05:20.580><c> to</c><00:05:20.699><c> happen</c>

00:05:20.810 --> 00:05:20.820 align:start position:0%
try to see what's what's going to happen
 

00:05:20.820 --> 00:05:23.210 align:start position:0%
try to see what's what's going to happen
you<00:05:21.120><c> try</c><00:05:21.300><c> to</c><00:05:21.419><c> stress</c><00:05:21.960><c> this</c><00:05:22.139><c> with</c><00:05:22.500><c> random</c><00:05:22.800><c> input</c>

00:05:23.210 --> 00:05:23.220 align:start position:0%
you try to stress this with random input
 

00:05:23.220 --> 00:05:26.390 align:start position:0%
you try to stress this with random input
the<00:05:24.000><c> most</c><00:05:24.240><c> trivial</c><00:05:25.139><c> uh</c><00:05:25.740><c> further</c><00:05:26.100><c> that</c><00:05:26.280><c> you</c>

00:05:26.390 --> 00:05:26.400 align:start position:0%
the most trivial uh further that you
 

00:05:26.400 --> 00:05:28.850 align:start position:0%
the most trivial uh further that you
convert<00:05:26.759><c> you</c><00:05:27.060><c> just</c><00:05:27.240><c> go</c><00:05:27.780><c> on</c><00:05:27.960><c> your</c><00:05:28.139><c> keyboard</c><00:05:28.380><c> and</c>

00:05:28.850 --> 00:05:28.860 align:start position:0%
convert you just go on your keyboard and
 

00:05:28.860 --> 00:05:30.890 align:start position:0%
convert you just go on your keyboard and
you<00:05:29.100><c> know</c><00:05:29.220><c> you</c><00:05:29.520><c> patch</c><00:05:29.940><c> random</c><00:05:30.240><c> bottom</c><00:05:30.600><c> and</c><00:05:30.720><c> you</c>

00:05:30.890 --> 00:05:30.900 align:start position:0%
you know you patch random bottom and you
 

00:05:30.900 --> 00:05:32.270 align:start position:0%
you know you patch random bottom and you
see<00:05:31.020><c> what's</c><00:05:31.440><c> going</c><00:05:31.620><c> to</c><00:05:31.740><c> happen</c><00:05:31.919><c> on</c><00:05:32.160><c> your</c>

00:05:32.270 --> 00:05:32.280 align:start position:0%
see what's going to happen on your
 

00:05:32.280 --> 00:05:33.650 align:start position:0%
see what's going to happen on your
program

00:05:33.650 --> 00:05:33.660 align:start position:0%
program
 

00:05:33.660 --> 00:05:35.029 align:start position:0%
program
um again<00:05:33.960><c> it's</c><00:05:34.199><c> well</c><00:05:34.380><c> established</c><00:05:34.919><c> in</c>

00:05:35.029 --> 00:05:35.039 align:start position:0%
um again it's well established in
 

00:05:35.039 --> 00:05:36.469 align:start position:0%
um again it's well established in
traditional<00:05:35.460><c> security</c><00:05:35.639><c> we</c><00:05:36.120><c> have</c><00:05:36.180><c> a</c><00:05:36.300><c> lot</c><00:05:36.360><c> of</c>

00:05:36.469 --> 00:05:36.479 align:start position:0%
traditional security we have a lot of
 

00:05:36.479 --> 00:05:40.790 align:start position:0%
traditional security we have a lot of
tool<00:05:36.840><c> if</c><00:05:37.259><c> further</c><00:05:37.979><c> go</c><00:05:38.220><c> further</c><00:05:38.580><c> and</c><00:05:38.759><c> so</c><00:05:38.880><c> on</c>

00:05:40.790 --> 00:05:40.800 align:start position:0%
tool if further go further and so on
 

00:05:40.800 --> 00:05:43.490 align:start position:0%
tool if further go further and so on
however<00:05:41.460><c> most</c><00:05:41.940><c> of</c><00:05:42.240><c> the</c><00:05:42.360><c> traditional</c><00:05:43.080><c> feather</c>

00:05:43.490 --> 00:05:43.500 align:start position:0%
however most of the traditional feather
 

00:05:43.500 --> 00:05:45.890 align:start position:0%
however most of the traditional feather
are<00:05:43.860><c> going</c><00:05:44.100><c> to</c><00:05:44.340><c> look</c><00:05:44.520><c> for</c><00:05:44.880><c> memory</c><00:05:45.360><c> corruption</c>

00:05:45.890 --> 00:05:45.900 align:start position:0%
are going to look for memory corruption
 

00:05:45.900 --> 00:05:48.290 align:start position:0%
are going to look for memory corruption
for<00:05:46.259><c> crash</c><00:05:46.740><c> in</c><00:05:46.919><c> the</c><00:05:47.100><c> program</c>

00:05:48.290 --> 00:05:48.300 align:start position:0%
for crash in the program
 

00:05:48.300 --> 00:05:50.210 align:start position:0%
for crash in the program
we<00:05:48.720><c> don't</c><00:05:48.840><c> have</c><00:05:49.020><c> a</c><00:05:49.199><c> lot</c><00:05:49.259><c> of</c><00:05:49.380><c> memory</c><00:05:49.680><c> corruption</c>

00:05:50.210 --> 00:05:50.220 align:start position:0%
we don't have a lot of memory corruption
 

00:05:50.220 --> 00:05:52.129 align:start position:0%
we don't have a lot of memory corruption
on<00:05:50.520><c> solidity</c><00:05:51.000><c> there</c><00:05:51.360><c> are</c><00:05:51.539><c> some</c><00:05:51.660><c> but</c><00:05:51.840><c> they</c><00:05:52.020><c> are</c>

00:05:52.129 --> 00:05:52.139 align:start position:0%
on solidity there are some but they are
 

00:05:52.139 --> 00:05:54.050 align:start position:0%
on solidity there are some but they are
not<00:05:52.199><c> that</c><00:05:52.380><c> common</c><00:05:52.620><c> what</c><00:05:53.280><c> we</c><00:05:53.520><c> are</c><00:05:53.639><c> going</c><00:05:53.759><c> to</c><00:05:53.880><c> try</c>

00:05:54.050 --> 00:05:54.060 align:start position:0%
not that common what we are going to try
 

00:05:54.060 --> 00:05:57.170 align:start position:0%
not that common what we are going to try
to<00:05:54.300><c> look</c><00:05:54.539><c> for</c><00:05:54.780><c> is</c><00:05:55.500><c> a</c><00:05:56.280><c> property</c><00:05:56.699><c> of</c><00:05:56.820><c> the</c><00:05:57.000><c> system</c>

00:05:57.170 --> 00:05:57.180 align:start position:0%
to look for is a property of the system
 

00:05:57.180 --> 00:05:59.749 align:start position:0%
to look for is a property of the system
that<00:05:57.479><c> can</c><00:05:57.600><c> be</c><00:05:57.720><c> broken</c><00:05:58.100><c> and</c><00:05:59.100><c> this</c><00:05:59.280><c> is</c><00:05:59.340><c> why</c><00:05:59.580><c> we</c>

00:05:59.749 --> 00:05:59.759 align:start position:0%
that can be broken and this is why we
 

00:05:59.759 --> 00:06:02.210 align:start position:0%
that can be broken and this is why we
call<00:05:59.880><c> it</c><00:06:00.060><c> property</c><00:06:00.479><c> based</c><00:06:01.020><c> testing</c><00:06:01.320><c> basically</c>

00:06:02.210 --> 00:06:02.220 align:start position:0%
call it property based testing basically
 

00:06:02.220 --> 00:06:03.770 align:start position:0%
call it property based testing basically
the<00:06:02.460><c> way</c><00:06:02.639><c> it</c><00:06:02.759><c> works</c><00:06:03.000><c> is</c><00:06:03.060><c> that</c><00:06:03.240><c> the</c><00:06:03.419><c> user</c><00:06:03.660><c> is</c>

00:06:03.770 --> 00:06:03.780 align:start position:0%
the way it works is that the user is
 

00:06:03.780 --> 00:06:06.650 align:start position:0%
the way it works is that the user is
going<00:06:03.960><c> to</c><00:06:04.080><c> define</c><00:06:04.259><c> invariants</c><00:06:05.360><c> the</c><00:06:06.360><c> further</c>

00:06:06.650 --> 00:06:06.660 align:start position:0%
going to define invariants the further
 

00:06:06.660 --> 00:06:09.110 align:start position:0%
going to define invariants the further
is<00:06:06.900><c> going</c><00:06:07.080><c> to</c><00:06:07.259><c> explore</c><00:06:08.220><c> one</c><00:06:08.460><c> Dome</c><00:06:08.699><c> is</c><00:06:08.940><c> a</c>

00:06:09.110 --> 00:06:09.120 align:start position:0%
is going to explore one Dome is a
 

00:06:09.120 --> 00:06:10.670 align:start position:0%
is going to explore one Dome is a
program<00:06:09.240><c> and</c><00:06:09.660><c> it's</c><00:06:09.780><c> going</c><00:06:09.960><c> to</c><00:06:10.080><c> try</c><00:06:10.259><c> to</c><00:06:10.440><c> save</c>

00:06:10.670 --> 00:06:10.680 align:start position:0%
program and it's going to try to save
 

00:06:10.680 --> 00:06:13.010 align:start position:0%
program and it's going to try to save
the<00:06:10.919><c> invariant</c><00:06:11.400><c> odd</c><00:06:12.180><c> or</c><00:06:12.300><c> not</c>

00:06:13.010 --> 00:06:13.020 align:start position:0%
the invariant odd or not
 

00:06:13.020 --> 00:06:15.890 align:start position:0%
the invariant odd or not
you<00:06:13.800><c> can</c><00:06:13.979><c> think</c><00:06:14.400><c> of</c><00:06:14.639><c> you</c><00:06:14.820><c> of</c><00:06:15.180><c> feeling</c><00:06:15.600><c> really</c>

00:06:15.890 --> 00:06:15.900 align:start position:0%
you can think of you of feeling really
 

00:06:15.900 --> 00:06:18.770 align:start position:0%
you can think of you of feeling really
as<00:06:16.199><c> like</c><00:06:16.380><c> unit</c><00:06:16.740><c> tests</c><00:06:17.280><c> on</c><00:06:17.400><c> steroid</c><00:06:17.820><c> well</c><00:06:18.479><c> with</c>

00:06:18.770 --> 00:06:18.780 align:start position:0%
as like unit tests on steroid well with
 

00:06:18.780 --> 00:06:21.110 align:start position:0%
as like unit tests on steroid well with
unit<00:06:18.960><c> test</c><00:06:19.199><c> you</c><00:06:19.620><c> try</c><00:06:19.860><c> one</c><00:06:20.580><c> specific</c><00:06:20.880><c> value</c>

00:06:21.110 --> 00:06:21.120 align:start position:0%
unit test you try one specific value
 

00:06:21.120 --> 00:06:23.270 align:start position:0%
unit test you try one specific value
with<00:06:21.479><c> the</c><00:06:21.660><c> program</c><00:06:21.780><c> while</c><00:06:22.620><c> first</c><00:06:22.919><c> thing</c><00:06:23.160><c> is</c>

00:06:23.270 --> 00:06:23.280 align:start position:0%
with the program while first thing is
 

00:06:23.280 --> 00:06:24.830 align:start position:0%
with the program while first thing is
just<00:06:23.460><c> going</c><00:06:23.580><c> to</c><00:06:23.759><c> try</c><00:06:23.940><c> randomly</c><00:06:24.419><c> a</c><00:06:24.660><c> lot</c><00:06:24.720><c> of</c>

00:06:24.830 --> 00:06:24.840 align:start position:0%
just going to try randomly a lot of
 

00:06:24.840 --> 00:06:29.270 align:start position:0%
just going to try randomly a lot of
different<00:06:24.960><c> value</c>

00:06:29.270 --> 00:06:29.280 align:start position:0%
 
 

00:06:29.280 --> 00:06:31.189 align:start position:0%
 
I've<00:06:29.639><c> been</c><00:06:29.819><c> talking</c><00:06:29.940><c> a</c><00:06:30.180><c> lot</c><00:06:30.240><c> about</c><00:06:30.419><c> invariance</c>

00:06:31.189 --> 00:06:31.199 align:start position:0%
I've been talking a lot about invariance
 

00:06:31.199 --> 00:06:33.290 align:start position:0%
I've been talking a lot about invariance
or<00:06:31.440><c> what</c><00:06:31.860><c> an</c><00:06:31.979><c> invariant</c><00:06:32.400><c> an</c><00:06:32.639><c> invariant</c><00:06:33.120><c> is</c>

00:06:33.290 --> 00:06:33.300 align:start position:0%
or what an invariant an invariant is
 

00:06:33.300 --> 00:06:35.090 align:start position:0%
or what an invariant an invariant is
something<00:06:33.539><c> within</c><00:06:34.080><c> your</c><00:06:34.259><c> system</c><00:06:34.500><c> that</c><00:06:34.860><c> should</c>

00:06:35.090 --> 00:06:35.100 align:start position:0%
something within your system that should
 

00:06:35.100 --> 00:06:37.010 align:start position:0%
something within your system that should
always<00:06:35.340><c> be</c><00:06:35.699><c> true</c><00:06:35.880><c> it's</c><00:06:36.479><c> something</c><00:06:36.660><c> that</c>

00:06:37.010 --> 00:06:37.020 align:start position:0%
always be true it's something that
 

00:06:37.020 --> 00:06:39.469 align:start position:0%
always be true it's something that
should<00:06:37.319><c> never</c><00:06:37.520><c> be</c><00:06:38.520><c> false</c><00:06:38.819><c> or</c><00:06:39.000><c> that</c><00:06:39.300><c> should</c>

00:06:39.469 --> 00:06:39.479 align:start position:0%
should never be false or that should
 

00:06:39.479 --> 00:06:41.870 align:start position:0%
should never be false or that should
never<00:06:39.660><c> be</c><00:06:40.139><c> not</c><00:06:40.620><c> possible</c><00:06:40.979><c> to</c><00:06:41.220><c> check</c><00:06:41.400><c> if</c><00:06:41.699><c> it's</c>

00:06:41.870 --> 00:06:41.880 align:start position:0%
never be not possible to check if it's
 

00:06:41.880 --> 00:06:45.370 align:start position:0%
never be not possible to check if it's
actually<00:06:42.060><c> holding</c>

00:06:45.370 --> 00:06:45.380 align:start position:0%
 
 

00:06:45.380 --> 00:06:48.710 align:start position:0%
 
so<00:06:46.380><c> I'll</c><00:06:46.560><c> talk</c><00:06:46.800><c> also</c><00:06:47.100><c> about</c><00:06:47.220><c> ekina</c><00:06:47.699><c> so</c><00:06:48.060><c> echina</c>

00:06:48.710 --> 00:06:48.720 align:start position:0%
so I'll talk also about ekina so echina
 

00:06:48.720 --> 00:06:50.749 align:start position:0%
so I'll talk also about ekina so echina
is<00:06:49.139><c> our</c><00:06:49.440><c> further</c><00:06:49.860><c> for</c><00:06:50.100><c> smart</c><00:06:50.340><c> contract</c>

00:06:50.749 --> 00:06:50.759 align:start position:0%
is our further for smart contract
 

00:06:50.759 --> 00:06:53.930 align:start position:0%
is our further for smart contract
interpensers<00:06:51.740><c> we</c><00:06:52.740><c> have</c><00:06:52.860><c> been</c><00:06:53.039><c> using</c><00:06:53.340><c> it</c><00:06:53.520><c> for</c>

00:06:53.930 --> 00:06:53.940 align:start position:0%
interpensers we have been using it for
 

00:06:53.940 --> 00:06:56.570 align:start position:0%
interpensers we have been using it for
like<00:06:54.300><c> four</c><00:06:54.720><c> or</c><00:06:54.960><c> five</c><00:06:55.199><c> years</c><00:06:55.319><c> even</c><00:06:55.680><c> now</c><00:06:55.919><c> uh</c><00:06:56.400><c> in</c>

00:06:56.570 --> 00:06:56.580 align:start position:0%
like four or five years even now uh in
 

00:06:56.580 --> 00:06:59.270 align:start position:0%
like four or five years even now uh in
all<00:06:56.699><c> our</c><00:06:56.880><c> audits</c><00:06:57.300><c> you</c><00:06:57.840><c> can</c><00:06:57.960><c> see</c><00:06:58.139><c> a</c><00:06:58.319><c> list</c><00:06:58.500><c> of</c><00:06:58.740><c> uh</c>

00:06:59.270 --> 00:06:59.280 align:start position:0%
all our audits you can see a list of uh
 

00:06:59.280 --> 00:07:01.249 align:start position:0%
all our audits you can see a list of uh
match<00:06:59.460><c> your</c><00:06:59.699><c> code</c><00:06:59.940><c> base</c><00:07:00.120><c> actually</c><00:07:00.479><c> using</c><00:07:01.020><c> and</c>

00:07:01.249 --> 00:07:01.259 align:start position:0%
match your code base actually using and
 

00:07:01.259 --> 00:07:04.189 align:start position:0%
match your code base actually using and
I've<00:07:01.440><c> integrated</c><00:07:01.919><c> Echidna</c><00:07:02.520><c> in</c><00:07:02.759><c> their</c><00:07:02.880><c> process</c>

00:07:04.189 --> 00:07:04.199 align:start position:0%
I've integrated Echidna in their process
 

00:07:04.199 --> 00:07:06.890 align:start position:0%
I've integrated Echidna in their process
for<00:07:04.560><c> Aquino</c><00:07:04.919><c> we</c><00:07:05.160><c> are</c><00:07:05.340><c> focusing</c><00:07:05.759><c> on</c><00:07:06.240><c> the</c><00:07:06.539><c> you</c>

00:07:06.890 --> 00:07:06.900 align:start position:0%
for Aquino we are focusing on the you
 

00:07:06.900 --> 00:07:09.409 align:start position:0%
for Aquino we are focusing on the you
know<00:07:07.020><c> ease</c><00:07:07.259><c> of</c><00:07:07.440><c> fuse</c><00:07:07.800><c> so</c><00:07:08.220><c> the</c><00:07:08.759><c> invariant</c><00:07:09.240><c> are</c>

00:07:09.409 --> 00:07:09.419 align:start position:0%
know ease of fuse so the invariant are
 

00:07:09.419 --> 00:07:10.689 align:start position:0%
know ease of fuse so the invariant are
going<00:07:09.600><c> to</c><00:07:09.720><c> be</c>

00:07:10.689 --> 00:07:10.699 align:start position:0%
going to be
 

00:07:10.699 --> 00:07:13.430 align:start position:0%
going to be
describing<00:07:11.699><c> solidity</c><00:07:12.240><c> we</c><00:07:12.960><c> have</c><00:07:13.080><c> a</c><00:07:13.199><c> GitHub</c>

00:07:13.430 --> 00:07:13.440 align:start position:0%
describing solidity we have a GitHub
 

00:07:13.440 --> 00:07:15.170 align:start position:0%
describing solidity we have a GitHub
action<00:07:13.680><c> similar</c><00:07:14.100><c> to</c><00:07:14.280><c> slitter</c>

00:07:15.170 --> 00:07:15.180 align:start position:0%
action similar to slitter
 

00:07:15.180 --> 00:07:17.330 align:start position:0%
action similar to slitter
and<00:07:15.720><c> we</c><00:07:16.020><c> support</c><00:07:16.199><c> all</c><00:07:16.620><c> the</c><00:07:16.740><c> compilation</c><00:07:17.220><c> of</c>

00:07:17.330 --> 00:07:17.340 align:start position:0%
and we support all the compilation of
 

00:07:17.340 --> 00:07:19.490 align:start position:0%
and we support all the compilation of
framework<00:07:17.639><c> if</c><00:07:18.180><c> you</c><00:07:18.300><c> use</c><00:07:18.419><c> Foundry</c><00:07:18.900><c> are</c><00:07:19.199><c> that</c>

00:07:19.490 --> 00:07:19.500 align:start position:0%
framework if you use Foundry are that
 

00:07:19.500 --> 00:07:21.890 align:start position:0%
framework if you use Foundry are that
Bernie<00:07:20.039><c> travel</c><00:07:20.639><c> whatever</c><00:07:21.060><c> we're</c><00:07:21.539><c> going</c><00:07:21.780><c> to</c>

00:07:21.890 --> 00:07:21.900 align:start position:0%
Bernie travel whatever we're going to
 

00:07:21.900 --> 00:07:23.990 align:start position:0%
Bernie travel whatever we're going to
support<00:07:22.080><c> it</c><00:07:22.319><c> because</c><00:07:22.620><c> we</c><00:07:23.220><c> are</c><00:07:23.340><c> using</c><00:07:23.580><c> it</c><00:07:23.699><c> in</c>

00:07:23.990 --> 00:07:24.000 align:start position:0%
support it because we are using it in
 

00:07:24.000 --> 00:07:26.570 align:start position:0%
support it because we are using it in
every<00:07:24.300><c> of</c><00:07:24.539><c> our</c><00:07:24.660><c> audit</c><00:07:24.960><c> and</c><00:07:25.259><c> every</c><00:07:26.160><c> now</c><00:07:26.400><c> and</c>

00:07:26.570 --> 00:07:26.580 align:start position:0%
every of our audit and every now and
 

00:07:26.580 --> 00:07:27.650 align:start position:0%
every of our audit and every now and
then<00:07:26.699><c> someone</c><00:07:26.940><c> comes</c><00:07:27.300><c> with</c><00:07:27.360><c> a</c><00:07:27.539><c> new</c>

00:07:27.650 --> 00:07:27.660 align:start position:0%
then someone comes with a new
 

00:07:27.660 --> 00:07:31.550 align:start position:0%
then someone comes with a new
compilation<00:07:28.020><c> framework</c>

00:07:31.550 --> 00:07:31.560 align:start position:0%
 
 

00:07:31.560 --> 00:07:33.290 align:start position:0%
 
okay<00:07:31.860><c> I</c><00:07:32.099><c> was</c><00:07:32.160><c> talking</c><00:07:32.340><c> about</c><00:07:32.520><c> invariant</c><00:07:33.120><c> so</c>

00:07:33.290 --> 00:07:33.300 align:start position:0%
okay I was talking about invariant so
 

00:07:33.300 --> 00:07:35.029 align:start position:0%
okay I was talking about invariant so
let's<00:07:33.599><c> say</c><00:07:33.840><c> you</c><00:07:34.139><c> have</c><00:07:34.259><c> a</c><00:07:34.380><c> token</c><00:07:34.620><c> you</c><00:07:34.860><c> have</c><00:07:34.979><c> a</c>

00:07:35.029 --> 00:07:35.039 align:start position:0%
let's say you have a token you have a
 

00:07:35.039 --> 00:07:37.550 align:start position:0%
let's say you have a token you have a
Neo<00:07:35.280><c> C20</c><00:07:35.520><c> token</c><00:07:36.060><c> it</c><00:07:36.780><c> has</c><00:07:36.900><c> you</c><00:07:37.080><c> know</c><00:07:37.199><c> a</c><00:07:37.319><c> balance</c>

00:07:37.550 --> 00:07:37.560 align:start position:0%
Neo C20 token it has you know a balance
 

00:07:37.560 --> 00:07:40.010 align:start position:0%
Neo C20 token it has you know a balance
you<00:07:37.740><c> can</c><00:07:37.860><c> transfer</c><00:07:38.280><c> token</c><00:07:38.699><c> what</c><00:07:39.479><c> would</c><00:07:39.720><c> be</c><00:07:39.840><c> an</c>

00:07:40.010 --> 00:07:40.020 align:start position:0%
you can transfer token what would be an
 

00:07:40.020 --> 00:07:41.089 align:start position:0%
you can transfer token what would be an
invariance

00:07:41.089 --> 00:07:41.099 align:start position:0%
invariance
 

00:07:41.099 --> 00:07:43.010 align:start position:0%
invariance
an<00:07:41.520><c> environment</c><00:07:41.940><c> could</c><00:07:42.180><c> be</c><00:07:42.360><c> that</c><00:07:42.599><c> if</c><00:07:42.840><c> you</c><00:07:42.900><c> have</c>

00:07:43.010 --> 00:07:43.020 align:start position:0%
an environment could be that if you have
 

00:07:43.020 --> 00:07:44.689 align:start position:0%
an environment could be that if you have
a<00:07:43.139><c> total</c><00:07:43.440><c> Supply</c>

00:07:44.689 --> 00:07:44.699 align:start position:0%
a total Supply
 

00:07:44.699 --> 00:07:47.390 align:start position:0%
a total Supply
no<00:07:45.599><c> user</c><00:07:46.080><c> in</c><00:07:46.259><c> the</c><00:07:46.440><c> system</c><00:07:46.560><c> should</c><00:07:47.039><c> have</c><00:07:47.220><c> not</c>

00:07:47.390 --> 00:07:47.400 align:start position:0%
no user in the system should have not
 

00:07:47.400 --> 00:07:49.430 align:start position:0%
no user in the system should have not
talking<00:07:47.580><c> to</c><00:07:47.940><c> the</c><00:07:48.060><c> total</c><00:07:48.360><c> Supply</c><00:07:48.539><c> right</c><00:07:48.960><c> if</c><00:07:49.319><c> you</c>

00:07:49.430 --> 00:07:49.440 align:start position:0%
talking to the total Supply right if you
 

00:07:49.440 --> 00:07:52.430 align:start position:0%
talking to the total Supply right if you
have<00:07:49.560><c> 10</c><00:07:49.800><c> million</c><00:07:50.220><c> of</c><00:07:50.460><c> token</c><00:07:50.940><c> if</c><00:07:51.539><c> a</c><00:07:51.780><c> user</c><00:07:52.080><c> of</c><00:07:52.199><c> 20</c>

00:07:52.430 --> 00:07:52.440 align:start position:0%
have 10 million of token if a user of 20
 

00:07:52.440 --> 00:07:57.830 align:start position:0%
have 10 million of token if a user of 20
million<00:07:53.280><c> yeah</c><00:07:53.819><c> something</c><00:07:54.180><c> is</c><00:07:54.419><c> wrong</c>

00:07:57.830 --> 00:07:57.840 align:start position:0%
 
 

00:07:57.840 --> 00:07:59.689 align:start position:0%
 
the<00:07:58.380><c> way</c><00:07:58.440><c> it</c><00:07:58.620><c> works</c><00:07:58.919><c> is</c><00:07:59.099><c> that</c><00:07:59.220><c> you're</c><00:07:59.340><c> going</c><00:07:59.580><c> to</c>

00:07:59.689 --> 00:07:59.699 align:start position:0%
the way it works is that you're going to
 

00:07:59.699 --> 00:08:01.850 align:start position:0%
the way it works is that you're going to
take<00:07:59.940><c> the</c><00:08:00.120><c> contract</c><00:08:00.539><c> in</c><00:08:01.080><c> solidity</c><00:08:01.500><c> you're</c>

00:08:01.850 --> 00:08:01.860 align:start position:0%
take the contract in solidity you're
 

00:08:01.860 --> 00:08:03.830 align:start position:0%
take the contract in solidity you're
going<00:08:02.099><c> to</c><00:08:02.220><c> Define</c><00:08:02.400><c> invariants</c><00:08:03.120><c> which</c><00:08:03.720><c> are</c>

00:08:03.830 --> 00:08:03.840 align:start position:0%
going to Define invariants which are
 

00:08:03.840 --> 00:08:05.330 align:start position:0%
going to Define invariants which are
going<00:08:04.020><c> to</c><00:08:04.139><c> describe</c><00:08:04.620><c> what</c><00:08:04.800><c> you</c><00:08:04.919><c> are</c><00:08:05.039><c> trying</c><00:08:05.160><c> to</c>

00:08:05.330 --> 00:08:05.340 align:start position:0%
going to describe what you are trying to
 

00:08:05.340 --> 00:08:06.350 align:start position:0%
going to describe what you are trying to
check

00:08:06.350 --> 00:08:06.360 align:start position:0%
check
 

00:08:06.360 --> 00:08:08.089 align:start position:0%
check
one<00:08:06.900><c> way</c><00:08:07.080><c> to</c><00:08:07.259><c> do</c><00:08:07.380><c> that</c><00:08:07.560><c> is</c><00:08:07.740><c> to</c><00:08:07.979><c> create</c>

00:08:08.089 --> 00:08:08.099 align:start position:0%
one way to do that is to create
 

00:08:08.099 --> 00:08:09.770 align:start position:0%
one way to do that is to create
functions<00:08:08.699><c> that</c><00:08:08.880><c> are</c><00:08:09.060><c> called</c><00:08:09.240><c> echina</c>

00:08:09.770 --> 00:08:09.780 align:start position:0%
functions that are called echina
 

00:08:09.780 --> 00:08:12.230 align:start position:0%
functions that are called echina
underscore<00:08:10.500><c> some</c><00:08:11.099><c> name</c><00:08:11.340><c> this</c><00:08:12.000><c> function</c>

00:08:12.230 --> 00:08:12.240 align:start position:0%
underscore some name this function
 

00:08:12.240 --> 00:08:14.510 align:start position:0%
underscore some name this function
should<00:08:12.479><c> work</c><00:08:12.660><c> on</c><00:08:12.900><c> a</c><00:08:13.020><c> Boolean</c><00:08:13.319><c> is</c><00:08:13.860><c> a</c><00:08:14.039><c> Boolean</c><00:08:14.340><c> is</c>

00:08:14.510 --> 00:08:14.520 align:start position:0%
should work on a Boolean is a Boolean is
 

00:08:14.520 --> 00:08:16.610 align:start position:0%
should work on a Boolean is a Boolean is
true<00:08:14.699><c> the</c><00:08:15.000><c> property</c><00:08:15.419><c> or</c><00:08:15.599><c> if</c><00:08:15.960><c> the</c><00:08:16.080><c> Boolean</c><00:08:16.440><c> is</c>

00:08:16.610 --> 00:08:16.620 align:start position:0%
true the property or if the Boolean is
 

00:08:16.620 --> 00:08:18.950 align:start position:0%
true the property or if the Boolean is
false<00:08:16.860><c> or</c><00:08:17.099><c> the</c><00:08:17.340><c> property</c><00:08:17.699><c> is</c><00:08:17.819><c> broken</c><00:08:18.000><c> you</c><00:08:18.780><c> give</c>

00:08:18.950 --> 00:08:18.960 align:start position:0%
false or the property is broken you give
 

00:08:18.960 --> 00:08:21.050 align:start position:0%
false or the property is broken you give
both<00:08:19.319><c> to</c><00:08:19.620><c> Akin</c><00:08:19.919><c> now</c><00:08:20.160><c> Akinator</c><00:08:20.699><c> is</c><00:08:20.879><c> going</c><00:08:20.940><c> to</c>

00:08:21.050 --> 00:08:21.060 align:start position:0%
both to Akin now Akinator is going to
 

00:08:21.060 --> 00:08:22.850 align:start position:0%
both to Akin now Akinator is going to
explore<00:08:21.360><c> one</c><00:08:21.539><c> Dominator</c><00:08:21.960><c> program</c><00:08:22.259><c> and</c><00:08:22.680><c> it's</c>

00:08:22.850 --> 00:08:22.860 align:start position:0%
explore one Dominator program and it's
 

00:08:22.860 --> 00:08:25.610 align:start position:0%
explore one Dominator program and it's
going<00:08:22.979><c> to</c><00:08:23.099><c> try</c><00:08:23.280><c> to</c><00:08:23.400><c> see</c><00:08:23.639><c> if</c><00:08:23.879><c> it</c><00:08:24.060><c> hurts</c>

00:08:25.610 --> 00:08:25.620 align:start position:0%
going to try to see if it hurts
 

00:08:25.620 --> 00:08:28.330 align:start position:0%
going to try to see if it hurts
foreign

00:08:28.330 --> 00:08:28.340 align:start position:0%
 
 

00:08:28.340 --> 00:08:29.990 align:start position:0%
 
for<00:08:29.340><c> you</c>

00:08:29.990 --> 00:08:30.000 align:start position:0%
for you
 

00:08:30.000 --> 00:08:31.850 align:start position:0%
for you
so<00:08:30.660><c> we</c><00:08:30.960><c> have</c><00:08:31.139><c> we're</c><00:08:31.259><c> going</c><00:08:31.440><c> to</c><00:08:31.500><c> have</c><00:08:31.620><c> a</c><00:08:31.800><c> couple</c>

00:08:31.850 --> 00:08:31.860 align:start position:0%
so we have we're going to have a couple
 

00:08:31.860 --> 00:08:33.649 align:start position:0%
so we have we're going to have a couple
of<00:08:32.039><c> theory</c><00:08:32.339><c> of</c><00:08:32.459><c> exercise</c><00:08:32.700><c> where</c><00:08:33.300><c> you're</c><00:08:33.479><c> going</c>

00:08:33.649 --> 00:08:33.659 align:start position:0%
of theory of exercise where you're going
 

00:08:33.659 --> 00:08:35.630 align:start position:0%
of theory of exercise where you're going
to<00:08:33.719><c> try</c><00:08:33.899><c> to</c><00:08:34.080><c> apply</c><00:08:34.320><c> again</c><00:08:34.500><c> now</c><00:08:34.800><c> and</c><00:08:35.159><c> to</c><00:08:35.339><c> Define</c>

00:08:35.630 --> 00:08:35.640 align:start position:0%
to try to apply again now and to Define
 

00:08:35.640 --> 00:08:37.969 align:start position:0%
to try to apply again now and to Define
some<00:08:36.000><c> invariant</c><00:08:36.419><c> on</c><00:08:36.599><c> the</c><00:08:36.719><c> system</c><00:08:36.899><c> you</c><00:08:37.680><c> can</c><00:08:37.740><c> go</c>

00:08:37.969 --> 00:08:37.979 align:start position:0%
some invariant on the system you can go
 

00:08:37.979 --> 00:08:40.130 align:start position:0%
some invariant on the system you can go
on<00:08:38.279><c> this</c><00:08:38.399><c> repo</c><00:08:38.880><c> or</c><00:08:39.180><c> you</c><00:08:39.300><c> can</c><00:08:39.419><c> scan</c><00:08:39.599><c> the</c><00:08:39.779><c> QR</c><00:08:40.020><c> code</c>

00:08:40.130 --> 00:08:40.140 align:start position:0%
on this repo or you can scan the QR code
 

00:08:40.140 --> 00:08:41.690 align:start position:0%
on this repo or you can scan the QR code
to<00:08:40.320><c> object</c><00:08:40.500><c> repo</c>

00:08:41.690 --> 00:08:41.700 align:start position:0%
to object repo
 

00:08:41.700 --> 00:08:44.029 align:start position:0%
to object repo
check<00:08:42.120><c> out</c><00:08:42.300><c> the</c><00:08:42.839><c> Defcon</c><00:08:43.200><c> branch</c><00:08:43.500><c> and</c><00:08:43.680><c> open</c><00:08:43.800><c> the</c>

00:08:44.029 --> 00:08:44.039 align:start position:0%
check out the Defcon branch and open the
 

00:08:44.039 --> 00:08:46.070 align:start position:0%
check out the Defcon branch and open the
first<00:08:44.159><c> exercise</c>

00:08:46.070 --> 00:08:46.080 align:start position:0%
first exercise
 

00:08:46.080 --> 00:08:48.410 align:start position:0%
first exercise
if<00:08:46.560><c> you</c><00:08:46.680><c> have</c><00:08:46.860><c> any</c><00:08:47.160><c> problem</c><00:08:47.519><c> to</c><00:08:47.820><c> install</c><00:08:48.000><c> Akin</c>

00:08:48.410 --> 00:08:48.420 align:start position:0%
if you have any problem to install Akin
 

00:08:48.420 --> 00:08:56.930 align:start position:0%
if you have any problem to install Akin
now<00:08:48.600><c> if</c><00:08:48.839><c> you</c><00:08:48.899><c> have</c><00:08:48.959><c> any</c><00:08:49.140><c> question</c><00:08:49.380><c> let</c><00:08:50.220><c> us</c><00:08:50.339><c> know</c>

00:08:56.930 --> 00:08:56.940 align:start position:0%
 
 

00:08:56.940 --> 00:09:00.530 align:start position:0%
 
we<00:08:57.420><c> also</c><00:08:57.720><c> welcome</c><00:08:57.839><c> everyone</c><00:08:58.260><c> who</c><00:08:58.860><c> is</c><00:08:59.100><c> not</c><00:08:59.540><c> into</c>

00:09:00.530 --> 00:09:00.540 align:start position:0%
we also welcome everyone who is not into
 

00:09:00.540 --> 00:09:03.829 align:start position:0%
we also welcome everyone who is not into
the<00:09:00.839><c> exercises</c><00:09:01.320><c> just</c><00:09:01.740><c> to</c><00:09:01.980><c> see</c><00:09:02.240><c> even</c><00:09:03.240><c> even</c><00:09:03.540><c> if</c>

00:09:03.829 --> 00:09:03.839 align:start position:0%
the exercises just to see even even if
 

00:09:03.839 --> 00:09:07.009 align:start position:0%
the exercises just to see even even if
you're<00:09:04.019><c> already</c><00:09:04.580><c> uh</c><00:09:05.580><c> know</c><00:09:05.820><c> how</c><00:09:06.120><c> to</c><00:09:06.240><c> do</c><00:09:06.480><c> how</c><00:09:06.779><c> to</c>

00:09:07.009 --> 00:09:07.019 align:start position:0%
you're already uh know how to do how to
 

00:09:07.019 --> 00:09:09.590 align:start position:0%
you're already uh know how to do how to
do<00:09:07.140><c> testing</c><00:09:07.620><c> or</c><00:09:07.980><c> even</c><00:09:08.220><c> if</c><00:09:08.519><c> you</c><00:09:08.760><c> if</c><00:09:09.180><c> you</c><00:09:09.360><c> use</c>

00:09:09.590 --> 00:09:09.600 align:start position:0%
do testing or even if you if you use
 

00:09:09.600 --> 00:09:12.889 align:start position:0%
do testing or even if you if you use
fasting<00:09:10.140><c> every</c><00:09:10.380><c> day</c><00:09:10.640><c> uh</c><00:09:11.640><c> it's</c><00:09:11.940><c> it's</c><00:09:12.420><c> totally</c>

00:09:12.889 --> 00:09:12.899 align:start position:0%
fasting every day uh it's it's totally
 

00:09:12.899 --> 00:09:15.230 align:start position:0%
fasting every day uh it's it's totally
fine<00:09:13.140><c> we</c><00:09:13.440><c> will</c><00:09:13.560><c> happy</c><00:09:13.860><c> to</c><00:09:14.100><c> take</c><00:09:14.399><c> uh</c><00:09:15.000><c> any</c>

00:09:15.230 --> 00:09:15.240 align:start position:0%
fine we will happy to take uh any
 

00:09:15.240 --> 00:09:17.150 align:start position:0%
fine we will happy to take uh any
questions<00:09:15.480><c> simple</c><00:09:16.019><c> or</c><00:09:16.320><c> more</c><00:09:16.500><c> advanced</c><00:09:16.980><c> about</c>

00:09:17.150 --> 00:09:17.160 align:start position:0%
questions simple or more advanced about
 

00:09:17.160 --> 00:09:20.930 align:start position:0%
questions simple or more advanced about
how<00:09:18.000><c> Echidna</c><00:09:18.779><c> work</c><00:09:18.899><c> so</c><00:09:19.200><c> please</c><00:09:19.560><c> feel</c><00:09:19.800><c> free</c><00:09:19.980><c> to</c>

00:09:20.930 --> 00:09:20.940 align:start position:0%
how Echidna work so please feel free to
 

00:09:20.940 --> 00:09:22.850 align:start position:0%
how Echidna work so please feel free to
to<00:09:21.420><c> do</c><00:09:21.660><c> it</c>

00:09:22.850 --> 00:09:22.860 align:start position:0%
to do it
 

00:09:22.860 --> 00:09:26.750 align:start position:0%
to do it
and<00:09:23.820><c> we</c><00:09:24.060><c> will</c><00:09:24.240><c> take</c><00:09:24.600><c> 15</c><00:09:25.440><c> minutes</c><00:09:25.800><c> for</c><00:09:26.160><c> this</c><00:09:26.399><c> uh</c>

00:09:26.750 --> 00:09:26.760 align:start position:0%
and we will take 15 minutes for this uh
 

00:09:26.760 --> 00:09:45.110 align:start position:0%
and we will take 15 minutes for this uh
for<00:09:27.000><c> the</c><00:09:27.240><c> first</c><00:09:27.360><c> one</c>

00:09:45.110 --> 00:09:45.120 align:start position:0%
 
 

00:09:45.120 --> 00:09:47.870 align:start position:0%
 
okay<00:09:45.540><c> so</c><00:09:45.839><c> the</c><00:09:46.080><c> question</c><00:09:46.320><c> was</c><00:09:46.800><c> what</c><00:09:47.580><c> are</c><00:09:47.760><c> the</c>

00:09:47.870 --> 00:09:47.880 align:start position:0%
okay so the question was what are the
 

00:09:47.880 --> 00:09:51.410 align:start position:0%
okay so the question was what are the
benefits<00:09:48.240><c> of</c><00:09:48.360><c> using</c><00:09:48.720><c> Echidna</c><00:09:49.260><c> other</c><00:09:49.440><c> Foundry</c>

00:09:51.410 --> 00:09:51.420 align:start position:0%
benefits of using Echidna other Foundry
 

00:09:51.420 --> 00:09:53.990 align:start position:0%
benefits of using Echidna other Foundry
um<00:09:51.480><c> so</c><00:09:52.019><c> first</c><00:09:52.380><c> I</c><00:09:52.800><c> think</c><00:09:52.860><c> echina</c><00:09:53.399><c> has</c><00:09:53.700><c> more</c>

00:09:53.990 --> 00:09:54.000 align:start position:0%
um so first I think echina has more
 

00:09:54.000 --> 00:09:55.509 align:start position:0%
um so first I think echina has more
features<00:09:54.420><c> than</c><00:09:54.540><c> friendly</c><00:09:54.839><c> at</c><00:09:55.019><c> the</c><00:09:55.080><c> moment</c>

00:09:55.509 --> 00:09:55.519 align:start position:0%
features than friendly at the moment
 

00:09:55.519 --> 00:09:58.009 align:start position:0%
features than friendly at the moment
they<00:09:56.519><c> were</c><00:09:56.940><c> developing</c><00:09:57.360><c> Foundry</c><00:09:57.720><c> for</c><00:09:57.899><c> like</c>

00:09:58.009 --> 00:09:58.019 align:start position:0%
they were developing Foundry for like
 

00:09:58.019 --> 00:09:59.509 align:start position:0%
they were developing Foundry for like
six<00:09:58.200><c> months</c><00:09:58.380><c> we</c><00:09:58.560><c> have</c><00:09:58.680><c> been</c><00:09:58.800><c> using</c><00:09:59.040><c> a</c><00:09:59.160><c> canine</c>

00:09:59.509 --> 00:09:59.519 align:start position:0%
six months we have been using a canine
 

00:09:59.519 --> 00:10:01.210 align:start position:0%
six months we have been using a canine
like<00:09:59.880><c> four</c><00:10:00.300><c> years</c>

00:10:01.210 --> 00:10:01.220 align:start position:0%
like four years
 

00:10:01.220 --> 00:10:03.829 align:start position:0%
like four years
we<00:10:02.220><c> support</c><00:10:02.399><c> any</c><00:10:02.700><c> compilation</c><00:10:03.120><c> framework</c><00:10:03.600><c> so</c>

00:10:03.829 --> 00:10:03.839 align:start position:0%
we support any compilation framework so
 

00:10:03.839 --> 00:10:05.269 align:start position:0%
we support any compilation framework so
let's<00:10:04.019><c> say</c><00:10:04.200><c> you</c><00:10:04.320><c> are</c><00:10:04.440><c> using</c><00:10:04.620><c> r</c><00:10:04.800><c> dot</c><00:10:05.160><c> because</c>

00:10:05.269 --> 00:10:05.279 align:start position:0%
let's say you are using r dot because
 

00:10:05.279 --> 00:10:07.910 align:start position:0%
let's say you are using r dot because
you<00:10:05.519><c> want</c><00:10:05.640><c> to</c><00:10:05.760><c> do</c><00:10:06.000><c> integration</c><00:10:06.839><c> test</c><00:10:07.260><c> and</c><00:10:07.680><c> you</c>

00:10:07.910 --> 00:10:07.920 align:start position:0%
you want to do integration test and you
 

00:10:07.920 --> 00:10:10.490 align:start position:0%
you want to do integration test and you
need<00:10:08.100><c> some</c><00:10:08.399><c> complex</c><00:10:08.899><c> setup</c><00:10:09.899><c> using</c><00:10:10.320><c> like</c>

00:10:10.490 --> 00:10:10.500 align:start position:0%
need some complex setup using like
 

00:10:10.500 --> 00:10:12.050 align:start position:0%
need some complex setup using like
typescript<00:10:10.920><c> or</c><00:10:11.160><c> whatever</c>

00:10:12.050 --> 00:10:12.060 align:start position:0%
typescript or whatever
 

00:10:12.060 --> 00:10:14.150 align:start position:0%
typescript or whatever
if<00:10:12.839><c> you</c><00:10:12.959><c> move</c><00:10:13.140><c> to</c><00:10:13.320><c> Foundry</c><00:10:13.680><c> you're</c><00:10:13.860><c> going</c><00:10:14.040><c> to</c>

00:10:14.150 --> 00:10:14.160 align:start position:0%
if you move to Foundry you're going to
 

00:10:14.160 --> 00:10:16.190 align:start position:0%
if you move to Foundry you're going to
have<00:10:14.279><c> issue</c><00:10:14.700><c> because</c><00:10:14.940><c> it's</c><00:10:15.600><c> more</c><00:10:15.839><c> difficult</c>

00:10:16.190 --> 00:10:16.200 align:start position:0%
have issue because it's more difficult
 

00:10:16.200 --> 00:10:18.050 align:start position:0%
have issue because it's more difficult
to<00:10:16.560><c> you</c><00:10:16.680><c> know</c><00:10:16.800><c> create</c><00:10:16.980><c> this</c><00:10:17.220><c> type</c><00:10:17.339><c> of</c><00:10:17.459><c> test</c><00:10:17.640><c> so</c>

00:10:18.050 --> 00:10:18.060 align:start position:0%
to you know create this type of test so
 

00:10:18.060 --> 00:10:19.490 align:start position:0%
to you know create this type of test so
you<00:10:18.180><c> end</c><00:10:18.300><c> up</c><00:10:18.420><c> in</c><00:10:18.540><c> a</c><00:10:18.660><c> situation</c><00:10:18.899><c> where</c><00:10:19.140><c> you</c><00:10:19.380><c> need</c>

00:10:19.490 --> 00:10:19.500 align:start position:0%
you end up in a situation where you need
 

00:10:19.500 --> 00:10:20.630 align:start position:0%
you end up in a situation where you need
to<00:10:19.560><c> have</c><00:10:19.680><c> a</c><00:10:19.800><c> setup</c><00:10:20.040><c> with</c><00:10:20.279><c> two</c><00:10:20.459><c> different</c>

00:10:20.630 --> 00:10:20.640 align:start position:0%
to have a setup with two different
 

00:10:20.640 --> 00:10:22.790 align:start position:0%
to have a setup with two different
compilation<00:10:21.180><c> framework</c><00:10:21.660><c> if</c><00:10:22.320><c> you</c><00:10:22.440><c> use</c><00:10:22.560><c> some</c>

00:10:22.790 --> 00:10:22.800 align:start position:0%
compilation framework if you use some
 

00:10:22.800 --> 00:10:24.590 align:start position:0%
compilation framework if you use some
Advanced<00:10:23.160><c> options</c><00:10:23.399><c> then</c><00:10:23.580><c> you</c><00:10:23.820><c> have</c><00:10:23.880><c> to</c><00:10:24.000><c> need</c>

00:10:24.590 --> 00:10:24.600 align:start position:0%
Advanced options then you have to need
 

00:10:24.600 --> 00:10:26.269 align:start position:0%
Advanced options then you have to need
to<00:10:24.660><c> have</c><00:10:24.779><c> like</c><00:10:24.959><c> both</c><00:10:25.140><c> Advanced</c><00:10:25.680><c> option</c><00:10:25.920><c> in</c>

00:10:26.269 --> 00:10:26.279 align:start position:0%
to have like both Advanced option in
 

00:10:26.279 --> 00:10:28.009 align:start position:0%
to have like both Advanced option in
both<00:10:26.459><c> compilation</c><00:10:26.940><c> framework</c><00:10:27.360><c> if</c><00:10:27.839><c> they</c>

00:10:28.009 --> 00:10:28.019 align:start position:0%
both compilation framework if they
 

00:10:28.019 --> 00:10:29.810 align:start position:0%
both compilation framework if they
support<00:10:28.200><c> it</c><00:10:28.500><c> and</c><00:10:28.920><c> it's</c><00:10:29.100><c> a</c><00:10:29.339><c> lot</c><00:10:29.399><c> of</c><00:10:29.519><c> you</c><00:10:29.640><c> know</c>

00:10:29.810 --> 00:10:29.820 align:start position:0%
support it and it's a lot of you know
 

00:10:29.820 --> 00:10:31.310 align:start position:0%
support it and it's a lot of you know
like<00:10:29.880><c> maintenance</c>

00:10:31.310 --> 00:10:31.320 align:start position:0%
like maintenance
 

00:10:31.320 --> 00:10:32.810 align:start position:0%
like maintenance
um here<00:10:31.560><c> we</c><00:10:31.800><c> are</c><00:10:31.920><c> like</c><00:10:31.980><c> you</c><00:10:32.160><c> know</c><00:10:32.279><c> agnostic</c><00:10:32.700><c> to</c>

00:10:32.810 --> 00:10:32.820 align:start position:0%
um here we are like you know agnostic to
 

00:10:32.820 --> 00:10:34.310 align:start position:0%
um here we are like you know agnostic to
the<00:10:32.940><c> compilation</c><00:10:33.300><c> framework</c><00:10:33.720><c> in</c><00:10:33.899><c> that</c><00:10:34.080><c> sense</c>

00:10:34.310 --> 00:10:34.320 align:start position:0%
the compilation framework in that sense
 

00:10:34.320 --> 00:10:36.650 align:start position:0%
the compilation framework in that sense
we<00:10:35.279><c> have</c><00:10:35.459><c> we're</c><00:10:35.940><c> going</c><00:10:36.060><c> to</c><00:10:36.180><c> talk</c><00:10:36.300><c> about</c><00:10:36.420><c> that</c>

00:10:36.650 --> 00:10:36.660 align:start position:0%
we have we're going to talk about that
 

00:10:36.660 --> 00:10:38.030 align:start position:0%
we have we're going to talk about that
later<00:10:36.839><c> we</c><00:10:37.200><c> also</c><00:10:37.380><c> have</c><00:10:37.440><c> like</c><00:10:37.560><c> a</c><00:10:37.740><c> couple</c><00:10:37.860><c> of</c>

00:10:38.030 --> 00:10:38.040 align:start position:0%
later we also have like a couple of
 

00:10:38.040 --> 00:10:40.130 align:start position:0%
later we also have like a couple of
advanced<00:10:38.459><c> features</c><00:10:38.820><c> that</c><00:10:39.060><c> the</c><00:10:39.480><c> others</c><00:10:39.959><c> I</c>

00:10:40.130 --> 00:10:40.140 align:start position:0%
advanced features that the others I
 

00:10:40.140 --> 00:10:41.990 align:start position:0%
advanced features that the others I
don't<00:10:40.260><c> have</c><00:10:40.380><c> for</c><00:10:41.100><c> example</c><00:10:41.399><c> something</c><00:10:41.820><c> that</c>

00:10:41.990 --> 00:10:42.000 align:start position:0%
don't have for example something that
 

00:10:42.000 --> 00:10:44.150 align:start position:0%
don't have for example something that
you<00:10:42.120><c> can</c><00:10:42.240><c> do</c><00:10:42.360><c> with</c><00:10:42.480><c> echina</c><00:10:42.899><c> is</c><00:10:43.260><c> that</c><00:10:43.440><c> instead</c>

00:10:44.150 --> 00:10:44.160 align:start position:0%
you can do with echina is that instead
 

00:10:44.160 --> 00:10:45.350 align:start position:0%
you can do with echina is that instead
of<00:10:44.220><c> trying</c><00:10:44.399><c> to</c><00:10:44.579><c> find</c>

00:10:45.350 --> 00:10:45.360 align:start position:0%
of trying to find
 

00:10:45.360 --> 00:10:47.750 align:start position:0%
of trying to find
in<00:10:46.079><c> there</c><00:10:46.260><c> that</c><00:10:46.500><c> are</c><00:10:46.620><c> broken</c><00:10:46.800><c> you</c><00:10:47.399><c> can</c><00:10:47.519><c> look</c>

00:10:47.750 --> 00:10:47.760 align:start position:0%
in there that are broken you can look
 

00:10:47.760 --> 00:10:50.509 align:start position:0%
in there that are broken you can look
for<00:10:48.120><c> functions</c><00:10:49.079><c> that</c><00:10:49.260><c> consume</c><00:10:50.100><c> most</c><00:10:50.220><c> of</c><00:10:50.399><c> the</c>

00:10:50.509 --> 00:10:50.519 align:start position:0%
for functions that consume most of the
 

00:10:50.519 --> 00:10:53.269 align:start position:0%
for functions that consume most of the
gas<00:10:50.700><c> so</c><00:10:51.180><c> you</c><00:10:51.300><c> can</c><00:10:51.420><c> list</c><00:10:51.600><c> the</c><00:10:51.959><c> further</c><00:10:52.440><c> one</c><00:10:52.740><c> and</c>

00:10:53.269 --> 00:10:53.279 align:start position:0%
gas so you can list the further one and
 

00:10:53.279 --> 00:10:55.670 align:start position:0%
gas so you can list the further one and
give<00:10:53.459><c> you</c><00:10:53.640><c> a</c><00:10:53.760><c> summary</c><00:10:54.060><c> of</c><00:10:54.240><c> okay</c><00:10:54.420><c> I</c><00:10:55.140><c> can</c><00:10:55.320><c> learn</c>

00:10:55.670 --> 00:10:55.680 align:start position:0%
give you a summary of okay I can learn
 

00:10:55.680 --> 00:10:58.009 align:start position:0%
give you a summary of okay I can learn
this<00:10:55.980><c> function</c><00:10:56.279><c> with</c><00:10:57.060><c> this</c><00:10:57.240><c> parameter</c><00:10:57.839><c> and</c>

00:10:58.009 --> 00:10:58.019 align:start position:0%
this function with this parameter and
 

00:10:58.019 --> 00:10:59.630 align:start position:0%
this function with this parameter and
it's<00:10:58.140><c> going</c><00:10:58.320><c> to</c><00:10:58.440><c> Output</c><00:10:58.860><c> this</c><00:10:59.040><c> amount</c><00:10:59.279><c> of</c><00:10:59.459><c> gas</c>

00:10:59.630 --> 00:10:59.640 align:start position:0%
it's going to Output this amount of gas
 

00:10:59.640 --> 00:11:01.490 align:start position:0%
it's going to Output this amount of gas
and<00:11:00.120><c> if</c><00:11:00.300><c> you</c><00:11:00.420><c> are</c><00:11:00.540><c> looking</c><00:11:00.660><c> you</c><00:11:00.959><c> know</c><00:11:01.079><c> for</c><00:11:01.260><c> on</c>

00:11:01.490 --> 00:11:01.500 align:start position:0%
and if you are looking you know for on
 

00:11:01.500 --> 00:11:10.790 align:start position:0%
and if you are looking you know for on
this<00:11:01.740><c> type</c><00:11:01.860><c> of</c><00:11:01.980><c> things</c><00:11:02.160><c> uh</c><00:11:02.579><c> it's</c><00:11:02.820><c> very</c><00:11:03.180><c> nice</c>

00:11:10.790 --> 00:11:10.800 align:start position:0%
 
 

00:11:10.800 --> 00:11:13.790 align:start position:0%
 
hey<00:11:11.220><c> there</c><00:11:11.399><c> uh</c><00:11:12.060><c> Brock</c><00:11:12.420><c> from</c><00:11:12.600><c> Foundry</c><00:11:12.959><c> here</c>

00:11:13.790 --> 00:11:13.800 align:start position:0%
hey there uh Brock from Foundry here
 

00:11:13.800 --> 00:11:16.009 align:start position:0%
hey there uh Brock from Foundry here
um<00:11:13.860><c> I'm</c><00:11:14.040><c> curious</c><00:11:14.459><c> uh</c><00:11:14.940><c> how</c>

00:11:16.009 --> 00:11:16.019 align:start position:0%
um I'm curious uh how
 

00:11:16.019 --> 00:11:20.449 align:start position:0%
um I'm curious uh how
do<00:11:16.560><c> you</c><00:11:16.740><c> go</c><00:11:16.860><c> about</c><00:11:17.040><c> benchmarking</c><00:11:18.140><c> uh</c><00:11:19.140><c> a</c><00:11:19.800><c> fuzzer</c>

00:11:20.449 --> 00:11:20.459 align:start position:0%
do you go about benchmarking uh a fuzzer
 

00:11:20.459 --> 00:11:22.490 align:start position:0%
do you go about benchmarking uh a fuzzer
right<00:11:20.760><c> so</c><00:11:21.000><c> how</c><00:11:21.240><c> do</c><00:11:21.420><c> you</c>

00:11:22.490 --> 00:11:22.500 align:start position:0%
right so how do you
 

00:11:22.500 --> 00:11:24.050 align:start position:0%
right so how do you
um<00:11:22.560><c> because</c><00:11:22.860><c> it's</c><00:11:23.040><c> something</c><00:11:23.220><c> like</c><00:11:23.519><c> for</c><00:11:23.880><c> us</c>

00:11:24.050 --> 00:11:24.060 align:start position:0%
um because it's something like for us
 

00:11:24.060 --> 00:11:26.810 align:start position:0%
um because it's something like for us
it's<00:11:24.180><c> just</c><00:11:24.360><c> a</c><00:11:24.480><c> black</c><00:11:24.660><c> box</c><00:11:24.839><c> yeah</c><00:11:25.320><c> and</c><00:11:25.800><c> yeah</c><00:11:26.519><c> okay</c>

00:11:26.810 --> 00:11:26.820 align:start position:0%
it's just a black box yeah and yeah okay
 

00:11:26.820 --> 00:11:29.150 align:start position:0%
it's just a black box yeah and yeah okay
that's<00:11:27.120><c> a</c><00:11:27.360><c> really</c><00:11:27.600><c> good</c><00:11:27.779><c> question</c><00:11:28.019><c> and</c><00:11:28.800><c> even</c>

00:11:29.150 --> 00:11:29.160 align:start position:0%
that's a really good question and even
 

00:11:29.160 --> 00:11:31.069 align:start position:0%
that's a really good question and even
in<00:11:29.399><c> like</c><00:11:29.579><c> traditional</c><00:11:30.120><c> Feathering</c><00:11:30.660><c> you</c><00:11:30.959><c> know</c>

00:11:31.069 --> 00:11:31.079 align:start position:0%
in like traditional Feathering you know
 

00:11:31.079 --> 00:11:32.990 align:start position:0%
in like traditional Feathering you know
like<00:11:31.200><c> if</c><00:11:31.380><c> you</c><00:11:31.500><c> go</c><00:11:31.680><c> like</c><00:11:31.860><c> in</c><00:11:32.100><c> the</c><00:11:32.220><c> literature</c><00:11:32.700><c> of</c>

00:11:32.990 --> 00:11:33.000 align:start position:0%
like if you go like in the literature of
 

00:11:33.000 --> 00:11:35.090 align:start position:0%
like if you go like in the literature of
whole<00:11:33.300><c> feather</c><00:11:33.540><c> or</c><00:11:33.839><c> benchmark</c>

00:11:35.090 --> 00:11:35.100 align:start position:0%
whole feather or benchmark
 

00:11:35.100 --> 00:11:37.190 align:start position:0%
whole feather or benchmark
I<00:11:35.459><c> would</c><00:11:35.760><c> say</c><00:11:35.940><c> that</c><00:11:36.120><c> most</c><00:11:36.300><c> of</c><00:11:36.480><c> the</c><00:11:36.600><c> benchmarks</c>

00:11:37.190 --> 00:11:37.200 align:start position:0%
I would say that most of the benchmarks
 

00:11:37.200 --> 00:11:39.769 align:start position:0%
I would say that most of the benchmarks
are<00:11:37.380><c> poor</c><00:11:37.860><c> or</c><00:11:38.040><c> one</c><00:11:39.000><c> of</c><00:11:39.060><c> the</c><00:11:39.120><c> issues</c><00:11:39.360><c> that</c><00:11:39.540><c> when</c>

00:11:39.769 --> 00:11:39.779 align:start position:0%
are poor or one of the issues that when
 

00:11:39.779 --> 00:11:41.269 align:start position:0%
are poor or one of the issues that when
someone<00:11:40.019><c> does</c><00:11:40.320><c> a</c><00:11:40.440><c> benchmark</c><00:11:40.800><c> to</c><00:11:41.040><c> you</c><00:11:41.160><c> know</c>

00:11:41.269 --> 00:11:41.279 align:start position:0%
someone does a benchmark to you know
 

00:11:41.279 --> 00:11:42.949 align:start position:0%
someone does a benchmark to you know
benchmark<00:11:41.640><c> their</c><00:11:41.880><c> own</c><00:11:42.060><c> tool</c>

00:11:42.949 --> 00:11:42.959 align:start position:0%
benchmark their own tool
 

00:11:42.959 --> 00:11:46.009 align:start position:0%
benchmark their own tool
there's<00:11:43.380><c> a</c><00:11:43.620><c> bias</c><00:11:43.980><c> all</c><00:11:44.700><c> right</c><00:11:44.760><c> so</c><00:11:45.300><c> we</c><00:11:45.480><c> we</c><00:11:45.720><c> have</c>

00:11:46.009 --> 00:11:46.019 align:start position:0%
there's a bias all right so we we have
 

00:11:46.019 --> 00:11:47.690 align:start position:0%
there's a bias all right so we we have
Benchmark<00:11:46.440><c> we</c><00:11:46.680><c> have</c><00:11:46.860><c> our</c><00:11:46.980><c> own</c><00:11:47.100><c> Benchmark</c><00:11:47.459><c> to</c>

00:11:47.690 --> 00:11:47.700 align:start position:0%
Benchmark we have our own Benchmark to
 

00:11:47.700 --> 00:11:48.889 align:start position:0%
Benchmark we have our own Benchmark to
try<00:11:47.880><c> to</c><00:11:48.000><c> see</c><00:11:48.120><c> you</c><00:11:48.240><c> know</c><00:11:48.360><c> like</c><00:11:48.480><c> in</c><00:11:48.600><c> our</c><00:11:48.720><c> past</c>

00:11:48.889 --> 00:11:48.899 align:start position:0%
try to see you know like in our past
 

00:11:48.899 --> 00:11:50.329 align:start position:0%
try to see you know like in our past
audit<00:11:49.260><c> and</c><00:11:49.440><c> everything</c><00:11:49.500><c> how</c><00:11:49.860><c> it</c><00:11:50.040><c> works</c><00:11:50.279><c> and</c>

00:11:50.329 --> 00:11:50.339 align:start position:0%
audit and everything how it works and
 

00:11:50.339 --> 00:11:52.190 align:start position:0%
audit and everything how it works and
everything<00:11:50.519><c> but</c><00:11:51.120><c> obviously</c><00:11:51.480><c> we</c><00:11:51.660><c> have</c><00:11:51.779><c> a</c><00:11:51.899><c> bias</c>

00:11:52.190 --> 00:11:52.200 align:start position:0%
everything but obviously we have a bias
 

00:11:52.200 --> 00:11:54.530 align:start position:0%
everything but obviously we have a bias
like<00:11:52.860><c> it</c><00:11:53.040><c> works</c><00:11:53.339><c> well</c><00:11:53.399><c> for</c><00:11:53.700><c> us</c><00:11:53.820><c> because</c><00:11:54.180><c> we</c><00:11:54.420><c> are</c>

00:11:54.530 --> 00:11:54.540 align:start position:0%
like it works well for us because we are
 

00:11:54.540 --> 00:11:55.790 align:start position:0%
like it works well for us because we are
you<00:11:54.660><c> know</c><00:11:54.779><c> building</c><00:11:54.959><c> the</c><00:11:55.140><c> tool</c><00:11:55.440><c> on</c><00:11:55.620><c> our</c>

00:11:55.790 --> 00:11:55.800 align:start position:0%
you know building the tool on our
 

00:11:55.800 --> 00:11:57.350 align:start position:0%
you know building the tool on our
example

00:11:57.350 --> 00:11:57.360 align:start position:0%
example
 

00:11:57.360 --> 00:11:59.569 align:start position:0%
example
um<00:11:57.480><c> so</c><00:11:57.720><c> I</c><00:11:57.899><c> would</c><00:11:58.079><c> say</c><00:11:58.320><c> like</c><00:11:58.500><c> the</c><00:11:58.800><c> best</c><00:11:58.980><c> place</c><00:11:59.339><c> to</c>

00:11:59.569 --> 00:11:59.579 align:start position:0%
um so I would say like the best place to
 

00:11:59.579 --> 00:12:01.670 align:start position:0%
um so I would say like the best place to
have<00:11:59.820><c> like</c><00:12:00.060><c> a</c><00:12:00.300><c> good</c><00:12:00.600><c> Benchmark</c><00:12:01.019><c> for</c><00:12:01.200><c> fuzzing</c>

00:12:01.670 --> 00:12:01.680 align:start position:0%
have like a good Benchmark for fuzzing
 

00:12:01.680 --> 00:12:05.290 align:start position:0%
have like a good Benchmark for fuzzing
should<00:12:02.220><c> not</c><00:12:02.459><c> come</c><00:12:03.120><c> from</c><00:12:03.420><c> to</c><00:12:03.899><c> level</c>

00:12:05.290 --> 00:12:05.300 align:start position:0%
should not come from to level
 

00:12:05.300 --> 00:12:07.610 align:start position:0%
should not come from to level
yeah<00:12:06.300><c> yeah</c><00:12:06.300><c> it's</c><00:12:06.660><c> it's</c><00:12:06.959><c> also</c><00:12:07.320><c> an</c><00:12:07.440><c> open</c>

00:12:07.610 --> 00:12:07.620 align:start position:0%
yeah yeah it's it's also an open
 

00:12:07.620 --> 00:12:10.130 align:start position:0%
yeah yeah it's it's also an open
question<00:12:07.980><c> what</c><00:12:08.760><c> is</c><00:12:09.000><c> your</c><00:12:09.120><c> benchmarking</c><00:12:09.899><c> like</c>

00:12:10.130 --> 00:12:10.140 align:start position:0%
question what is your benchmarking like
 

00:12:10.140 --> 00:12:12.230 align:start position:0%
question what is your benchmarking like
if<00:12:10.740><c> you</c><00:12:10.860><c> if</c><00:12:11.160><c> you</c><00:12:11.279><c> are</c><00:12:11.399><c> if</c><00:12:11.640><c> you're</c><00:12:11.760><c> saying</c><00:12:12.120><c> well</c>

00:12:12.230 --> 00:12:12.240 align:start position:0%
if you if you are if you're saying well
 

00:12:12.240 --> 00:12:14.090 align:start position:0%
if you if you are if you're saying well
this<00:12:12.600><c> is</c><00:12:12.720><c> faster</c><00:12:13.079><c> than</c><00:12:13.440><c> this</c><00:12:13.680><c> sort</c><00:12:13.860><c> of</c><00:12:13.980><c> thing</c>

00:12:14.090 --> 00:12:14.100 align:start position:0%
this is faster than this sort of thing
 

00:12:14.100 --> 00:12:16.790 align:start position:0%
this is faster than this sort of thing
but<00:12:14.880><c> it</c><00:12:15.240><c> could</c><00:12:15.420><c> be</c><00:12:15.540><c> executing</c><00:12:16.200><c> just</c><00:12:16.500><c> always</c>

00:12:16.790 --> 00:12:16.800 align:start position:0%
but it could be executing just always
 

00:12:16.800 --> 00:12:18.590 align:start position:0%
but it could be executing just always
the<00:12:17.100><c> same</c><00:12:17.279><c> thing</c><00:12:17.399><c> like</c><00:12:17.640><c> you</c><00:12:17.880><c> know</c><00:12:17.940><c> calling</c><00:12:18.480><c> a</c>

00:12:18.590 --> 00:12:18.600 align:start position:0%
the same thing like you know calling a
 

00:12:18.600 --> 00:12:20.030 align:start position:0%
the same thing like you know calling a
constant<00:12:18.899><c> function</c><00:12:19.140><c> over</c><00:12:19.320><c> and</c><00:12:19.500><c> over</c><00:12:19.620><c> again</c><00:12:19.800><c> is</c>

00:12:20.030 --> 00:12:20.040 align:start position:0%
constant function over and over again is
 

00:12:20.040 --> 00:12:22.130 align:start position:0%
constant function over and over again is
going<00:12:20.220><c> to</c><00:12:20.279><c> be</c><00:12:20.399><c> faster</c><00:12:20.700><c> than</c><00:12:21.000><c> calling</c><00:12:21.839><c> some</c>

00:12:22.130 --> 00:12:22.140 align:start position:0%
going to be faster than calling some
 

00:12:22.140 --> 00:12:25.069 align:start position:0%
going to be faster than calling some
deep<00:12:22.440><c> deep</c><00:12:22.680><c> part</c><00:12:22.980><c> in</c><00:12:23.220><c> the</c><00:12:23.339><c> in</c><00:12:23.579><c> the</c><00:12:23.700><c> call</c><00:12:23.880><c> uh</c><00:12:24.839><c> on</c>

00:12:25.069 --> 00:12:25.079 align:start position:0%
deep deep part in the in the call uh on
 

00:12:25.079 --> 00:12:27.350 align:start position:0%
deep deep part in the in the call uh on
top<00:12:25.200><c> of</c><00:12:25.320><c> that</c><00:12:25.440><c> you</c><00:12:25.680><c> have</c><00:12:25.860><c> like</c><00:12:26.100><c> bugs</c><00:12:26.700><c> what</c>

00:12:27.350 --> 00:12:27.360 align:start position:0%
top of that you have like bugs what
 

00:12:27.360 --> 00:12:29.690 align:start position:0%
top of that you have like bugs what
about<00:12:27.480><c> like</c><00:12:27.720><c> finding</c><00:12:28.200><c> bars</c><00:12:28.620><c> how</c><00:12:29.100><c> much</c><00:12:29.220><c> bugs</c>

00:12:29.690 --> 00:12:29.700 align:start position:0%
about like finding bars how much bugs
 

00:12:29.700 --> 00:12:32.329 align:start position:0%
about like finding bars how much bugs
you<00:12:29.940><c> found</c><00:12:30.180><c> and</c><00:12:31.019><c> there</c><00:12:31.680><c> is</c><00:12:31.860><c> there</c><00:12:32.160><c> are</c><00:12:32.279><c> a</c>

00:12:32.329 --> 00:12:32.339 align:start position:0%
you found and there is there are a
 

00:12:32.339 --> 00:12:34.190 align:start position:0%
you found and there is there are a
couple<00:12:32.399><c> of</c><00:12:32.519><c> academic</c><00:12:33.060><c> papers</c><00:12:33.420><c> saying</c><00:12:33.899><c> that</c>

00:12:34.190 --> 00:12:34.200 align:start position:0%
couple of academic papers saying that
 

00:12:34.200 --> 00:12:38.210 align:start position:0%
couple of academic papers saying that
some<00:12:35.100><c> people</c><00:12:35.399><c> uh</c><00:12:36.240><c> like</c><00:12:36.540><c> to</c><00:12:36.720><c> compare</c><00:12:37.260><c> this</c><00:12:37.560><c> but</c>

00:12:38.210 --> 00:12:38.220 align:start position:0%
some people uh like to compare this but
 

00:12:38.220 --> 00:12:40.790 align:start position:0%
some people uh like to compare this but
you<00:12:38.519><c> have</c><00:12:38.700><c> a</c><00:12:38.880><c> like</c><00:12:39.600><c> um</c><00:12:39.600><c> like</c><00:12:40.019><c> a</c><00:12:40.200><c> plot</c><00:12:40.440><c> saying</c>

00:12:40.790 --> 00:12:40.800 align:start position:0%
you have a like um like a plot saying
 

00:12:40.800 --> 00:12:42.829 align:start position:0%
you have a like um like a plot saying
how<00:12:40.980><c> many</c><00:12:41.100><c> Bucks</c><00:12:41.339><c> you</c><00:12:41.700><c> found</c><00:12:42.000><c> and</c><00:12:42.480><c> let's</c><00:12:42.660><c> say</c>

00:12:42.829 --> 00:12:42.839 align:start position:0%
how many Bucks you found and let's say
 

00:12:42.839 --> 00:12:44.569 align:start position:0%
how many Bucks you found and let's say
that<00:12:43.079><c> one</c><00:12:43.500><c> faster</c><00:12:43.740><c> is</c><00:12:43.980><c> better</c><00:12:44.160><c> than</c><00:12:44.339><c> the</c><00:12:44.459><c> other</c>

00:12:44.569 --> 00:12:44.579 align:start position:0%
that one faster is better than the other
 

00:12:44.579 --> 00:12:47.569 align:start position:0%
that one faster is better than the other
but<00:12:45.240><c> you</c><00:12:45.360><c> don't</c><00:12:45.480><c> know</c><00:12:45.660><c> if</c><00:12:45.959><c> the</c><00:12:46.139><c> next</c><00:12:46.680><c> hour</c><00:12:46.980><c> you</c>

00:12:47.569 --> 00:12:47.579 align:start position:0%
but you don't know if the next hour you
 

00:12:47.579 --> 00:12:50.690 align:start position:0%
but you don't know if the next hour you
will<00:12:47.760><c> have</c><00:12:48.060><c> a</c><00:12:48.300><c> a</c><00:12:48.920><c> peak</c><00:12:49.920><c> saying</c><00:12:50.220><c> well</c><00:12:50.339><c> these</c>

00:12:50.690 --> 00:12:50.700 align:start position:0%
will have a a peak saying well these
 

00:12:50.700 --> 00:12:53.150 align:start position:0%
will have a a peak saying well these
found<00:12:50.880><c> a</c><00:12:51.120><c> lot</c><00:12:51.240><c> of</c><00:12:51.360><c> things</c><00:12:51.600><c> so</c><00:12:52.560><c> there</c><00:12:52.920><c> are</c><00:12:53.040><c> all</c>

00:12:53.150 --> 00:12:53.160 align:start position:0%
found a lot of things so there are all
 

00:12:53.160 --> 00:12:54.470 align:start position:0%
found a lot of things so there are all
the<00:12:53.339><c> things</c><00:12:53.459><c> that</c><00:12:53.700><c> you</c><00:12:53.820><c> can</c><00:12:53.940><c> do</c><00:12:54.060><c> so</c><00:12:54.240><c> you</c><00:12:54.360><c> can</c>

00:12:54.470 --> 00:12:54.480 align:start position:0%
the things that you can do so you can
 

00:12:54.480 --> 00:12:56.629 align:start position:0%
the things that you can do so you can
use<00:12:54.660><c> coverage</c><00:12:55.200><c> but</c><00:12:55.620><c> also</c><00:12:55.860><c> coverage</c><00:12:56.160><c> is</c><00:12:56.399><c> not</c>

00:12:56.629 --> 00:12:56.639 align:start position:0%
use coverage but also coverage is not
 

00:12:56.639 --> 00:13:00.410 align:start position:0%
use coverage but also coverage is not
going<00:12:56.880><c> to</c><00:12:57.000><c> give</c><00:12:57.300><c> you</c><00:12:57.480><c> like</c><00:12:58.380><c> uh</c><00:12:58.920><c> uh</c><00:12:59.339><c> it's</c><00:13:00.300><c> not</c>

00:13:00.410 --> 00:13:00.420 align:start position:0%
going to give you like uh uh it's not
 

00:13:00.420 --> 00:13:02.509 align:start position:0%
going to give you like uh uh it's not
going<00:13:00.600><c> to</c><00:13:00.720><c> be</c><00:13:00.899><c> the</c><00:13:01.200><c> the</c><00:13:01.380><c> ultimate</c><00:13:01.860><c> answer</c><00:13:02.100><c> so</c>

00:13:02.509 --> 00:13:02.519 align:start position:0%
going to be the the ultimate answer so
 

00:13:02.519 --> 00:13:05.810 align:start position:0%
going to be the the ultimate answer so
it's<00:13:03.240><c> it's</c><00:13:03.420><c> still</c><00:13:03.779><c> a</c><00:13:04.139><c> debate</c><00:13:04.620><c> how</c><00:13:04.980><c> long</c><00:13:05.160><c> you</c>

00:13:05.810 --> 00:13:05.820 align:start position:0%
it's it's still a debate how long you
 

00:13:05.820 --> 00:13:08.449 align:start position:0%
it's it's still a debate how long you
should<00:13:06.120><c> run</c><00:13:06.420><c> faster</c><00:13:07.139><c> for</c><00:13:07.380><c> a</c><00:13:07.500><c> benchmark</c><00:13:07.860><c> or</c>

00:13:08.449 --> 00:13:08.459 align:start position:0%
should run faster for a benchmark or
 

00:13:08.459 --> 00:13:11.410 align:start position:0%
should run faster for a benchmark or
even<00:13:08.579><c> for</c><00:13:09.540><c> you</c><00:13:09.899><c> know</c><00:13:10.019><c> testing</c><00:13:10.620><c> something</c>

00:13:11.410 --> 00:13:11.420 align:start position:0%
even for you know testing something
 

00:13:11.420 --> 00:13:14.150 align:start position:0%
even for you know testing something
it's<00:13:12.420><c> also</c><00:13:12.660><c> a</c><00:13:12.779><c> debate</c><00:13:13.079><c> what</c><00:13:13.560><c> you</c><00:13:13.680><c> what</c><00:13:13.980><c> we</c>

00:13:14.150 --> 00:13:14.160 align:start position:0%
it's also a debate what you what we
 

00:13:14.160 --> 00:13:17.750 align:start position:0%
it's also a debate what you what we
should<00:13:14.339><c> use</c><00:13:14.579><c> for</c><00:13:15.260><c> benchmarking</c><00:13:16.279><c> uh</c><00:13:17.279><c> should</c><00:13:17.579><c> we</c>

00:13:17.750 --> 00:13:17.760 align:start position:0%
should use for benchmarking uh should we
 

00:13:17.760 --> 00:13:21.470 align:start position:0%
should use for benchmarking uh should we
use<00:13:17.940><c> like</c><00:13:18.360><c> complex</c><00:13:19.200><c> defy</c><00:13:20.160><c> applications</c><00:13:20.820><c> like</c>

00:13:21.470 --> 00:13:21.480 align:start position:0%
use like complex defy applications like
 

00:13:21.480 --> 00:13:23.990 align:start position:0%
use like complex defy applications like
but<00:13:21.839><c> how</c><00:13:22.139><c> many</c><00:13:22.320><c> of</c><00:13:22.500><c> them</c><00:13:22.620><c> we</c><00:13:22.860><c> have</c><00:13:23.100><c> like</c><00:13:23.399><c> 10</c><00:13:23.700><c> or</c>

00:13:23.990 --> 00:13:24.000 align:start position:0%
but how many of them we have like 10 or
 

00:13:24.000 --> 00:13:26.990 align:start position:0%
but how many of them we have like 10 or
20<00:13:24.300><c> we</c><00:13:25.019><c> don't</c><00:13:25.200><c> have</c><00:13:25.579><c> thousands</c><00:13:26.579><c> of</c><00:13:26.760><c> different</c>

00:13:26.990 --> 00:13:27.000 align:start position:0%
20 we don't have thousands of different
 

00:13:27.000 --> 00:13:30.230 align:start position:0%
20 we don't have thousands of different
device<00:13:27.360><c> so</c><00:13:27.720><c> it's</c><00:13:27.899><c> it's</c><00:13:28.139><c> uh</c><00:13:29.040><c> we</c><00:13:29.220><c> we</c><00:13:29.459><c> definitely</c>

00:13:30.230 --> 00:13:30.240 align:start position:0%
device so it's it's uh we we definitely
 

00:13:30.240 --> 00:13:33.170 align:start position:0%
device so it's it's uh we we definitely
are<00:13:30.480><c> interested</c><00:13:30.839><c> in</c><00:13:30.899><c> a</c><00:13:31.260><c> deeper</c><00:13:31.920><c> discussion</c><00:13:32.339><c> on</c>

00:13:33.170 --> 00:13:33.180 align:start position:0%
are interested in a deeper discussion on
 

00:13:33.180 --> 00:13:35.690 align:start position:0%
are interested in a deeper discussion on
how<00:13:33.720><c> to</c><00:13:33.899><c> have</c><00:13:34.079><c> a</c><00:13:34.260><c> good</c><00:13:34.380><c> band</c><00:13:34.560><c> merch</c><00:13:35.040><c> set</c><00:13:35.279><c> for</c>

00:13:35.690 --> 00:13:35.700 align:start position:0%
how to have a good band merch set for
 

00:13:35.700 --> 00:13:37.370 align:start position:0%
how to have a good band merch set for
for<00:13:35.940><c> touring</c><00:13:36.420><c> and</c><00:13:36.660><c> we</c><00:13:36.779><c> have</c><00:13:37.079><c> the</c><00:13:37.139><c> same</c><00:13:37.260><c> problem</c>

00:13:37.370 --> 00:13:37.380 align:start position:0%
for touring and we have the same problem
 

00:13:37.380 --> 00:13:39.590 align:start position:0%
for touring and we have the same problem
for<00:13:37.620><c> example</c><00:13:37.800><c> with</c><00:13:37.980><c> Rita</c><00:13:38.339><c> well</c><00:13:38.940><c> how</c><00:13:39.420><c> do</c><00:13:39.540><c> we</c>

00:13:39.590 --> 00:13:39.600 align:start position:0%
for example with Rita well how do we
 

00:13:39.600 --> 00:13:41.690 align:start position:0%
for example with Rita well how do we
Benchmark<00:13:39.959><c> it</c><00:13:40.200><c> our</c><00:13:40.560><c> static</c><00:13:40.920><c> analyzer</c><00:13:41.279><c> provide</c>

00:13:41.690 --> 00:13:41.700 align:start position:0%
Benchmark it our static analyzer provide
 

00:13:41.700 --> 00:13:44.269 align:start position:0%
Benchmark it our static analyzer provide
good<00:13:41.880><c> weather</c><00:13:42.260><c> and</c><00:13:43.260><c> it's</c><00:13:43.440><c> tough</c>

00:13:44.269 --> 00:13:44.279 align:start position:0%
good weather and it's tough
 

00:13:44.279 --> 00:13:46.730 align:start position:0%
good weather and it's tough
um<00:13:44.339><c> we</c><00:13:45.060><c> usually</c><00:13:45.360><c> tend</c><00:13:45.839><c> to</c><00:13:45.959><c> have</c><00:13:46.200><c> a</c><00:13:46.380><c> practical</c>

00:13:46.730 --> 00:13:46.740 align:start position:0%
um we usually tend to have a practical
 

00:13:46.740 --> 00:13:49.250 align:start position:0%
um we usually tend to have a practical
approach<00:13:47.160><c> in</c><00:13:47.760><c> the</c><00:13:47.880><c> sense</c><00:13:48.060><c> that</c><00:13:48.240><c> if</c><00:13:48.779><c> the</c><00:13:48.959><c> truth</c>

00:13:49.250 --> 00:13:49.260 align:start position:0%
approach in the sense that if the truth
 

00:13:49.260 --> 00:13:51.410 align:start position:0%
approach in the sense that if the truth
provide<00:13:49.620><c> value</c><00:13:49.800><c> during</c><00:13:50.100><c> our</c><00:13:50.339><c> audit</c><00:13:50.760><c> if</c><00:13:51.120><c> it</c>

00:13:51.410 --> 00:13:51.420 align:start position:0%
provide value during our audit if it
 

00:13:51.420 --> 00:13:53.690 align:start position:0%
provide value during our audit if it
helps<00:13:51.779><c> us</c><00:13:51.899><c> you</c><00:13:52.200><c> know</c><00:13:52.320><c> to</c><00:13:52.680><c> find</c><00:13:52.860><c> bugs</c><00:13:53.279><c> and</c><00:13:53.519><c> we</c>

00:13:53.690 --> 00:13:53.700 align:start position:0%
helps us you know to find bugs and we
 

00:13:53.700 --> 00:13:55.730 align:start position:0%
helps us you know to find bugs and we
make<00:13:53.880><c> us</c><00:13:54.120><c> faster</c>

00:13:55.730 --> 00:13:55.740 align:start position:0%
make us faster
 

00:13:55.740 --> 00:13:58.069 align:start position:0%
make us faster
that's<00:13:56.339><c> good</c><00:13:56.639><c> enough</c><00:13:56.760><c> for</c><00:13:57.000><c> us</c>

00:13:58.069 --> 00:13:58.079 align:start position:0%
that's good enough for us
 

00:13:58.079 --> 00:14:00.170 align:start position:0%
that's good enough for us
yeah<00:13:58.620><c> and</c><00:13:58.800><c> at</c><00:13:59.279><c> the</c><00:13:59.399><c> end</c><00:13:59.519><c> of</c><00:13:59.639><c> the</c><00:13:59.700><c> day</c><00:13:59.820><c> also</c>

00:14:00.170 --> 00:14:00.180 align:start position:0%
yeah and at the end of the day also
 

00:14:00.180 --> 00:14:02.389 align:start position:0%
yeah and at the end of the day also
depends<00:14:00.540><c> on</c><00:14:00.660><c> the</c><00:14:00.779><c> invariance</c><00:14:01.260><c> if</c><00:14:01.740><c> the</c><00:14:01.920><c> if</c><00:14:02.160><c> the</c>

00:14:02.389 --> 00:14:02.399 align:start position:0%
depends on the invariance if the if the
 

00:14:02.399 --> 00:14:04.310 align:start position:0%
depends on the invariance if the if the
if<00:14:02.700><c> the</c><00:14:02.820><c> developers</c><00:14:03.240><c> don't</c><00:14:03.540><c> know</c><00:14:03.779><c> how</c><00:14:04.260><c> to</c>

00:14:04.310 --> 00:14:04.320 align:start position:0%
if the developers don't know how to
 

00:14:04.320 --> 00:14:06.410 align:start position:0%
if the developers don't know how to
write<00:14:04.440><c> good</c><00:14:04.680><c> invariants</c><00:14:05.160><c> then</c><00:14:05.700><c> no</c><00:14:05.940><c> tool</c><00:14:06.360><c> is</c>

00:14:06.410 --> 00:14:06.420 align:start position:0%
write good invariants then no tool is
 

00:14:06.420 --> 00:14:09.050 align:start position:0%
write good invariants then no tool is
going<00:14:06.660><c> to</c><00:14:06.839><c> provide</c><00:14:07.440><c> some</c><00:14:07.800><c> magic</c>

00:14:09.050 --> 00:14:09.060 align:start position:0%
going to provide some magic
 

00:14:09.060 --> 00:14:13.910 align:start position:0%
going to provide some magic
um<00:14:09.120><c> value</c><00:14:09.420><c> so</c><00:14:09.720><c> it's</c><00:14:09.899><c> it's</c><00:14:10.200><c> it's</c><00:14:10.320><c> tough</c>

00:14:13.910 --> 00:14:13.920 align:start position:0%
 
 

00:14:13.920 --> 00:14:16.370 align:start position:0%
 
okay<00:14:14.339><c> okay</c><00:14:14.399><c> and</c><00:14:14.940><c> I'm</c><00:14:15.120><c> happy</c><00:14:15.420><c> to</c><00:14:15.660><c> discuss</c><00:14:16.079><c> with</c>

00:14:16.370 --> 00:14:16.380 align:start position:0%
okay okay and I'm happy to discuss with
 

00:14:16.380 --> 00:14:18.350 align:start position:0%
okay okay and I'm happy to discuss with
with<00:14:16.500><c> The</c><00:14:17.040><c> Foundry</c><00:14:17.399><c> team</c><00:14:17.579><c> or</c><00:14:17.700><c> any</c><00:14:17.880><c> other</c><00:14:18.060><c> team</c>

00:14:18.350 --> 00:14:18.360 align:start position:0%
with The Foundry team or any other team
 

00:14:18.360 --> 00:14:20.690 align:start position:0%
with The Foundry team or any other team
doing<00:14:18.660><c> doing</c><00:14:18.720><c> fasting</c><00:14:19.500><c> we</c><00:14:19.680><c> will</c><00:14:19.860><c> will</c><00:14:20.220><c> be</c><00:14:20.459><c> here</c>

00:14:20.690 --> 00:14:20.700 align:start position:0%
doing doing fasting we will will be here
 

00:14:20.700 --> 00:14:24.530 align:start position:0%
doing doing fasting we will will be here
uh<00:14:21.180><c> today</c><00:14:21.360><c> so</c><00:14:21.839><c> please</c><00:14:22.320><c> let</c><00:14:22.620><c> us</c><00:14:22.740><c> know</c><00:14:23.060><c> okay</c><00:14:24.060><c> my</c>

00:14:24.530 --> 00:14:24.540 align:start position:0%
uh today so please let us know okay my
 

00:14:24.540 --> 00:14:27.470 align:start position:0%
uh today so please let us know okay my
other<00:14:25.139><c> question</c><00:14:25.500><c> is</c><00:14:25.800><c> regarding</c><00:14:26.339><c> like</c><00:14:26.880><c> the</c>

00:14:27.470 --> 00:14:27.480 align:start position:0%
other question is regarding like the
 

00:14:27.480 --> 00:14:29.509 align:start position:0%
other question is regarding like the
tool<00:14:27.839><c> is</c><00:14:27.959><c> only</c><00:14:28.079><c> for</c><00:14:28.320><c> passing</c><00:14:28.800><c> for</c><00:14:29.100><c> its</c><00:14:29.399><c> support</c>

00:14:29.509 --> 00:14:29.519 align:start position:0%
tool is only for passing for its support
 

00:14:29.519 --> 00:14:31.550 align:start position:0%
tool is only for passing for its support
like<00:14:29.880><c> symbolic</c><00:14:30.480><c> execution</c><00:14:31.019><c> or</c><00:14:31.380><c> something</c>

00:14:31.550 --> 00:14:31.560 align:start position:0%
like symbolic execution or something
 

00:14:31.560 --> 00:14:35.329 align:start position:0%
like symbolic execution or something
like<00:14:31.800><c> that</c><00:14:32.519><c> so</c><00:14:33.240><c> yeah</c><00:14:33.540><c> you</c><00:14:34.019><c> want</c><00:14:34.200><c> to</c><00:14:34.380><c> yeah</c><00:14:35.160><c> it's</c>

00:14:35.329 --> 00:14:35.339 align:start position:0%
like that so yeah you want to yeah it's
 

00:14:35.339 --> 00:14:36.650 align:start position:0%
like that so yeah you want to yeah it's
it's<00:14:35.399><c> only</c><00:14:35.700><c> for</c><00:14:35.880><c> first</c><00:14:36.120><c> thing</c><00:14:36.300><c> we</c><00:14:36.480><c> have</c>

00:14:36.650 --> 00:14:36.660 align:start position:0%
it's only for first thing we have
 

00:14:36.660 --> 00:14:38.389 align:start position:0%
it's only for first thing we have
another<00:14:36.839><c> tool</c><00:14:37.320><c> for</c><00:14:37.440><c> symbolic</c><00:14:38.040><c> execution</c>

00:14:38.389 --> 00:14:38.399 align:start position:0%
another tool for symbolic execution
 

00:14:38.399 --> 00:14:40.370 align:start position:0%
another tool for symbolic execution
which<00:14:38.700><c> is</c><00:14:38.760><c> called</c><00:14:38.940><c> Mantika</c>

00:14:40.370 --> 00:14:40.380 align:start position:0%
which is called Mantika
 

00:14:40.380 --> 00:14:42.410 align:start position:0%
which is called Mantika
however<00:14:41.040><c> and</c><00:14:41.519><c> something</c><00:14:41.820><c> actually</c><00:14:42.060><c> we're</c>

00:14:42.410 --> 00:14:42.420 align:start position:0%
however and something actually we're
 

00:14:42.420 --> 00:14:44.150 align:start position:0%
however and something actually we're
going<00:14:42.660><c> to</c><00:14:42.779><c> discuss</c><00:14:42.959><c> later</c>

00:14:44.150 --> 00:14:44.160 align:start position:0%
going to discuss later
 

00:14:44.160 --> 00:14:48.110 align:start position:0%
going to discuss later
I<00:14:44.699><c> think</c><00:14:45.079><c> in</c><00:14:46.079><c> practice</c><00:14:46.339><c> any</c><00:14:47.339><c> formal</c><00:14:47.880><c> base</c>

00:14:48.110 --> 00:14:48.120 align:start position:0%
I think in practice any formal base
 

00:14:48.120 --> 00:14:51.170 align:start position:0%
I think in practice any formal base
method<00:14:48.720><c> approach</c><00:14:49.320><c> is</c><00:14:49.980><c> going</c><00:14:50.160><c> to</c><00:14:50.339><c> have</c><00:14:50.639><c> a</c><00:14:51.060><c> lower</c>

00:14:51.170 --> 00:14:51.180 align:start position:0%
method approach is going to have a lower
 

00:14:51.180 --> 00:14:54.410 align:start position:0%
method approach is going to have a lower
return<00:14:51.540><c> on</c><00:14:51.899><c> investment</c><00:14:52.440><c> at</c><00:14:52.740><c> further</c><00:14:53.240><c> if</c><00:14:54.240><c> you</c>

00:14:54.410 --> 00:14:54.420 align:start position:0%
return on investment at further if you
 

00:14:54.420 --> 00:14:55.970 align:start position:0%
return on investment at further if you
have<00:14:54.540><c> two</c><00:14:54.779><c> weeks</c><00:14:55.079><c> three</c><00:14:55.199><c> weeks</c><00:14:55.500><c> to</c><00:14:55.620><c> work</c><00:14:55.740><c> on</c><00:14:55.860><c> a</c>

00:14:55.970 --> 00:14:55.980 align:start position:0%
have two weeks three weeks to work on a
 

00:14:55.980 --> 00:14:57.769 align:start position:0%
have two weeks three weeks to work on a
project<00:14:56.160><c> you</c><00:14:56.639><c> know</c><00:14:56.760><c> and</c><00:14:57.060><c> you</c><00:14:57.240><c> want</c><00:14:57.360><c> to</c><00:14:57.480><c> invest</c>

00:14:57.769 --> 00:14:57.779 align:start position:0%
project you know and you want to invest
 

00:14:57.779 --> 00:14:59.689 align:start position:0%
project you know and you want to invest
some<00:14:58.019><c> resource</c><00:14:58.680><c> to</c><00:14:58.920><c> increase</c><00:14:59.339><c> your</c>

00:14:59.689 --> 00:14:59.699 align:start position:0%
some resource to increase your
 

00:14:59.699 --> 00:15:01.730 align:start position:0%
some resource to increase your
confidence<00:15:00.000><c> in</c><00:15:00.360><c> the</c><00:15:00.540><c> project</c><00:15:00.720><c> first</c><00:15:01.320><c> thing</c><00:15:01.620><c> is</c>

00:15:01.730 --> 00:15:01.740 align:start position:0%
confidence in the project first thing is
 

00:15:01.740 --> 00:15:04.430 align:start position:0%
confidence in the project first thing is
the<00:15:01.860><c> best</c><00:15:01.980><c> solution</c><00:15:02.279><c> yes</c><00:15:03.000><c> and</c><00:15:03.300><c> uh</c><00:15:03.660><c> and</c><00:15:03.899><c> also</c><00:15:04.139><c> we</c>

00:15:04.430 --> 00:15:04.440 align:start position:0%
the best solution yes and uh and also we
 

00:15:04.440 --> 00:15:07.550 align:start position:0%
the best solution yes and uh and also we
found<00:15:04.680><c> that</c><00:15:05.100><c> so</c><00:15:05.839><c> Echidna</c><00:15:06.839><c> is</c><00:15:06.899><c> a</c><00:15:07.079><c> tool</c><00:15:07.440><c> that</c>

00:15:07.550 --> 00:15:07.560 align:start position:0%
found that so Echidna is a tool that
 

00:15:07.560 --> 00:15:09.949 align:start position:0%
found that so Echidna is a tool that
works<00:15:07.920><c> with</c><00:15:08.160><c> our</c><00:15:08.399><c> static</c><00:15:09.060><c> analysis</c><00:15:09.480><c> leader</c>

00:15:09.949 --> 00:15:09.959 align:start position:0%
works with our static analysis leader
 

00:15:09.959 --> 00:15:12.590 align:start position:0%
works with our static analysis leader
that<00:15:10.560><c> gets</c><00:15:10.920><c> value</c><00:15:11.220><c> so</c><00:15:11.699><c> you</c><00:15:12.120><c> have</c><00:15:12.300><c> in</c><00:15:12.480><c> some</c>

00:15:12.590 --> 00:15:12.600 align:start position:0%
that gets value so you have in some
 

00:15:12.600 --> 00:15:14.449 align:start position:0%
that gets value so you have in some
cases<00:15:12.959><c> like</c><00:15:13.320><c> let's</c><00:15:13.740><c> say</c><00:15:13.920><c> that</c><00:15:14.100><c> you</c><00:15:14.220><c> have</c><00:15:14.339><c> a</c>

00:15:14.449 --> 00:15:14.459 align:start position:0%
cases like let's say that you have a
 

00:15:14.459 --> 00:15:17.269 align:start position:0%
cases like let's say that you have a
test<00:15:14.579><c> that</c><00:15:14.820><c> says</c><00:15:15.060><c> if</c><00:15:15.660><c> x</c><00:15:16.019><c> equal</c><00:15:16.320><c> to</c><00:15:16.560><c> some</c><00:15:16.980><c> some</c>

00:15:17.269 --> 00:15:17.279 align:start position:0%
test that says if x equal to some some
 

00:15:17.279 --> 00:15:21.110 align:start position:0%
test that says if x equal to some some
value<00:15:17.839><c> some</c><00:15:18.839><c> uh</c><00:15:19.579><c> traditional</c><00:15:20.579><c> fossil</c>

00:15:21.110 --> 00:15:21.120 align:start position:0%
value some uh traditional fossil
 

00:15:21.120 --> 00:15:23.569 align:start position:0%
value some uh traditional fossil
techniques<00:15:21.600><c> have</c><00:15:22.139><c> hard</c><00:15:22.620><c> time</c><00:15:22.860><c> to</c><00:15:23.100><c> deal</c><00:15:23.220><c> with</c>

00:15:23.569 --> 00:15:23.579 align:start position:0%
techniques have hard time to deal with
 

00:15:23.579 --> 00:15:26.210 align:start position:0%
techniques have hard time to deal with
this<00:15:23.760><c> but</c><00:15:24.300><c> what</c><00:15:24.540><c> we</c><00:15:24.720><c> what</c><00:15:25.019><c> we</c><00:15:25.260><c> do</c><00:15:25.380><c> is</c><00:15:25.620><c> constant</c>

00:15:26.210 --> 00:15:26.220 align:start position:0%
this but what we what we do is constant
 

00:15:26.220 --> 00:15:29.150 align:start position:0%
this but what we what we do is constant
mining<00:15:26.639><c> so</c><00:15:26.820><c> we</c><00:15:27.000><c> scan</c><00:15:27.720><c> all</c><00:15:27.899><c> your</c><00:15:28.079><c> code</c><00:15:28.320><c> look</c><00:15:28.920><c> for</c>

00:15:29.150 --> 00:15:29.160 align:start position:0%
mining so we scan all your code look for
 

00:15:29.160 --> 00:15:31.129 align:start position:0%
mining so we scan all your code look for
these<00:15:29.579><c> magic</c><00:15:29.820><c> values</c><00:15:30.360><c> and</c><00:15:30.660><c> we</c><00:15:30.779><c> will</c><00:15:30.959><c> play</c>

00:15:31.129 --> 00:15:31.139 align:start position:0%
these magic values and we will play
 

00:15:31.139 --> 00:15:33.290 align:start position:0%
these magic values and we will play
these<00:15:31.380><c> magic</c><00:15:31.560><c> values</c><00:15:32.040><c> and</c><00:15:32.399><c> some</c><00:15:32.639><c> mutation</c><00:15:33.060><c> of</c>

00:15:33.290 --> 00:15:33.300 align:start position:0%
these magic values and some mutation of
 

00:15:33.300 --> 00:15:35.930 align:start position:0%
these magic values and some mutation of
that<00:15:33.480><c> from</c><00:15:34.079><c> time</c><00:15:34.260><c> to</c><00:15:34.380><c> time</c><00:15:34.620><c> so</c><00:15:35.279><c> or</c><00:15:35.459><c> fossil</c>

00:15:35.930 --> 00:15:35.940 align:start position:0%
that from time to time so or fossil
 

00:15:35.940 --> 00:15:38.210 align:start position:0%
that from time to time so or fossil
should<00:15:36.240><c> be</c><00:15:36.420><c> able</c><00:15:36.540><c> to</c><00:15:36.660><c> get</c><00:15:36.959><c> inside</c><00:15:37.260><c> the</c><00:15:37.740><c> inside</c>

00:15:38.210 --> 00:15:38.220 align:start position:0%
should be able to get inside the inside
 

00:15:38.220 --> 00:15:40.910 align:start position:0%
should be able to get inside the inside
this<00:15:38.579><c> if</c><00:15:39.180><c> you</c><00:15:39.300><c> if</c><00:15:39.660><c> you</c><00:15:39.779><c> if</c><00:15:40.139><c> you</c><00:15:40.260><c> have</c><00:15:40.440><c> a</c><00:15:40.620><c> test</c>

00:15:40.910 --> 00:15:40.920 align:start position:0%
this if you if you if you have a test
 

00:15:40.920 --> 00:15:44.090 align:start position:0%
this if you if you if you have a test
case<00:15:41.160><c> that</c><00:15:41.399><c> is</c><00:15:41.579><c> not</c><00:15:41.820><c> that</c><00:15:42.540><c> is</c><00:15:42.720><c> not</c><00:15:43.079><c> working</c>

00:15:44.090 --> 00:15:44.100 align:start position:0%
case that is not that is not working
 

00:15:44.100 --> 00:15:46.790 align:start position:0%
case that is not that is not working
please<00:15:44.760><c> let</c><00:15:45.000><c> us</c><00:15:45.180><c> know</c><00:15:45.300><c> and</c><00:15:45.540><c> we</c><00:15:45.779><c> can</c><00:15:45.899><c> try</c><00:15:46.139><c> to</c><00:15:46.320><c> to</c>

00:15:46.790 --> 00:15:46.800 align:start position:0%
please let us know and we can try to to
 

00:15:46.800 --> 00:15:48.829 align:start position:0%
please let us know and we can try to to
see<00:15:47.040><c> it</c><00:15:47.220><c> but</c><00:15:47.399><c> in</c><00:15:47.579><c> practice</c><00:15:47.820><c> it</c><00:15:48.300><c> seems</c><00:15:48.600><c> like</c>

00:15:48.829 --> 00:15:48.839 align:start position:0%
see it but in practice it seems like
 

00:15:48.839 --> 00:15:52.730 align:start position:0%
see it but in practice it seems like
some<00:15:49.680><c> of</c><00:15:49.860><c> the</c><00:15:50.220><c> typical</c><00:15:50.940><c> use</c><00:15:51.779><c> cases</c><00:15:52.139><c> for</c>

00:15:52.730 --> 00:15:52.740 align:start position:0%
some of the typical use cases for
 

00:15:52.740 --> 00:15:54.650 align:start position:0%
some of the typical use cases for
symbolic<00:15:53.459><c> execution</c><00:15:53.880><c> in</c><00:15:54.120><c> which</c><00:15:54.300><c> you</c><00:15:54.480><c> have</c>

00:15:54.650 --> 00:15:54.660 align:start position:0%
symbolic execution in which you have
 

00:15:54.660 --> 00:15:58.610 align:start position:0%
symbolic execution in which you have
constant<00:15:55.260><c> uh</c><00:15:56.040><c> Magic</c><00:15:56.459><c> values</c><00:15:57.120><c> to</c><00:15:57.600><c> to</c><00:15:58.139><c> look</c><00:15:58.440><c> for</c>

00:15:58.610 --> 00:15:58.620 align:start position:0%
constant uh Magic values to to look for
 

00:15:58.620 --> 00:16:01.910 align:start position:0%
constant uh Magic values to to look for
they<00:15:59.100><c> can</c><00:15:59.339><c> be</c><00:15:59.519><c> replaced</c><00:16:00.240><c> by</c><00:16:00.660><c> uh</c><00:16:01.560><c> constant</c>

00:16:01.910 --> 00:16:01.920 align:start position:0%
they can be replaced by uh constant
 

00:16:01.920 --> 00:16:13.129 align:start position:0%
they can be replaced by uh constant
mining<00:16:02.220><c> extraction</c>

00:16:13.129 --> 00:16:13.139 align:start position:0%
 
 

00:16:13.139 --> 00:16:15.410 align:start position:0%
 
how<00:16:13.860><c> many</c><00:16:14.040><c> of</c><00:16:14.220><c> you</c><00:16:14.339><c> have</c><00:16:14.639><c> issued</c><00:16:15.180><c> to</c><00:16:15.240><c> install</c>

00:16:15.410 --> 00:16:15.420 align:start position:0%
how many of you have issued to install
 

00:16:15.420 --> 00:16:23.889 align:start position:0%
how many of you have issued to install
Akin<00:16:15.899><c> now</c><00:16:16.079><c> to</c><00:16:16.260><c> one</c><00:16:16.500><c> like</c><00:16:16.620><c> the</c><00:16:16.800><c> exercise</c>

00:16:23.889 --> 00:16:23.899 align:start position:0%
 
 

00:16:23.899 --> 00:16:26.269 align:start position:0%
 
how<00:16:24.899><c> many</c><00:16:25.079><c> of</c><00:16:25.260><c> you</c><00:16:25.380><c> have</c><00:16:25.740><c> issue</c><00:16:26.160><c> like</c>

00:16:26.269 --> 00:16:26.279 align:start position:0%
how many of you have issue like
 

00:16:26.279 --> 00:16:28.490 align:start position:0%
how many of you have issue like
installing<00:16:26.760><c> akina</c><00:16:27.240><c> or</c><00:16:27.839><c> opening</c><00:16:28.260><c> like</c><00:16:28.380><c> the</c>

00:16:28.490 --> 00:16:28.500 align:start position:0%
installing akina or opening like the
 

00:16:28.500 --> 00:16:31.490 align:start position:0%
installing akina or opening like the
different<00:16:28.680><c> exercise</c>

00:16:31.490 --> 00:16:31.500 align:start position:0%
 
 

00:16:31.500 --> 00:16:37.189 align:start position:0%
 
okay

00:16:37.189 --> 00:16:37.199 align:start position:0%
 
 

00:16:37.199 --> 00:16:39.889 align:start position:0%
 
uh<00:16:37.980><c> no</c><00:16:38.160><c> you</c><00:16:38.459><c> you</c><00:16:38.519><c> you</c><00:16:38.699><c> you</c><00:16:38.940><c> you</c><00:16:39.300><c> have</c><00:16:39.660><c> to</c><00:16:39.779><c> open</c>

00:16:39.889 --> 00:16:39.899 align:start position:0%
uh no you you you you you have to open
 

00:16:39.899 --> 00:16:42.970 align:start position:0%
uh no you you you you you have to open
your<00:16:40.139><c> terminal</c><00:16:40.500><c> and</c><00:16:41.160><c> a</c><00:16:41.399><c> kidnap</c><00:16:41.880><c> will</c>

00:16:42.970 --> 00:16:42.980 align:start position:0%
your terminal and a kidnap will
 

00:16:42.980 --> 00:16:46.249 align:start position:0%
your terminal and a kidnap will
deploy<00:16:43.980><c> the</c><00:16:44.579><c> sort</c><00:16:45.180><c> of</c><00:16:45.300><c> unit</c><00:16:45.779><c> is</c><00:16:46.139><c> still</c>

00:16:46.249 --> 00:16:46.259 align:start position:0%
deploy the sort of unit is still
 

00:16:46.259 --> 00:16:48.410 align:start position:0%
deploy the sort of unit is still
installed<00:16:47.040><c> the</c><00:16:47.220><c> tool</c><00:16:47.459><c> and</c><00:16:47.639><c> when</c><00:16:47.820><c> you</c><00:16:48.000><c> put</c><00:16:48.180><c> like</c>

00:16:48.410 --> 00:16:48.420 align:start position:0%
installed the tool and when you put like
 

00:16:48.420 --> 00:16:51.590 align:start position:0%
installed the tool and when you put like
equipment<00:16:49.139><c> you</c><00:16:50.040><c> cannot</c><00:16:50.399><c> test</c><00:16:50.639><c> some</c><00:16:51.120><c> contract</c>

00:16:51.590 --> 00:16:51.600 align:start position:0%
equipment you cannot test some contract
 

00:16:51.600 --> 00:16:54.410 align:start position:0%
equipment you cannot test some contract
it<00:16:52.259><c> will</c><00:16:52.440><c> compile</c><00:16:52.860><c> it</c><00:16:53.100><c> running</c><00:16:53.820><c> inside</c><00:16:54.180><c> the</c>

00:16:54.410 --> 00:16:54.420 align:start position:0%
it will compile it running inside the
 

00:16:54.420 --> 00:16:56.930 align:start position:0%
it will compile it running inside the
simulated<00:16:55.040><c> blockchain</c><00:16:56.040><c> and</c><00:16:56.519><c> give</c><00:16:56.699><c> you</c><00:16:56.820><c> the</c>

00:16:56.930 --> 00:16:56.940 align:start position:0%
simulated blockchain and give you the
 

00:16:56.940 --> 00:16:58.730 align:start position:0%
simulated blockchain and give you the
answer<00:16:57.060><c> so</c><00:16:57.360><c> you</c><00:16:57.660><c> don't</c><00:16:57.779><c> need</c><00:16:58.079><c> to</c><00:16:58.259><c> connect</c><00:16:58.440><c> into</c>

00:16:58.730 --> 00:16:58.740 align:start position:0%
answer so you don't need to connect into
 

00:16:58.740 --> 00:17:03.290 align:start position:0%
answer so you don't need to connect into
something

00:17:03.290 --> 00:17:03.300 align:start position:0%
 
 

00:17:03.300 --> 00:17:06.710 align:start position:0%
 
uh<00:17:04.020><c> so</c><00:17:04.199><c> yeah</c><00:17:04.439><c> going</c><00:17:04.799><c> to</c><00:17:05.100><c> them</c><00:17:05.339><c> into</c><00:17:06.299><c> the</c>

00:17:06.710 --> 00:17:06.720 align:start position:0%
uh so yeah going to them into the
 

00:17:06.720 --> 00:17:10.069 align:start position:0%
uh so yeah going to them into the
repository<00:17:07.380><c> and</c><00:17:07.919><c> it</c><00:17:08.100><c> says</c><00:17:08.339><c> like</c><00:17:08.579><c> yeah</c>

00:17:10.069 --> 00:17:10.079 align:start position:0%
repository and it says like yeah
 

00:17:10.079 --> 00:17:11.870 align:start position:0%
repository and it says like yeah
yeah<00:17:10.140><c> so</c><00:17:10.620><c> yeah</c><00:17:10.980><c> this</c><00:17:11.220><c> is</c><00:17:11.339><c> like</c><00:17:11.579><c> your</c>

00:17:11.870 --> 00:17:11.880 align:start position:0%
yeah so yeah this is like your
 

00:17:11.880 --> 00:17:15.049 align:start position:0%
yeah so yeah this is like your
traditional<00:17:12.600><c> one</c><00:17:12.839><c> but</c><00:17:13.339><c> if</c><00:17:14.339><c> you</c><00:17:14.520><c> go</c><00:17:14.640><c> into</c><00:17:14.760><c> the</c>

00:17:15.049 --> 00:17:15.059 align:start position:0%
traditional one but if you go into the
 

00:17:15.059 --> 00:17:19.850 align:start position:0%
traditional one but if you go into the
Devcon<00:17:15.780><c> branch</c><00:17:16.459><c> that</c><00:17:17.459><c> is</c><00:17:17.579><c> sorry</c>

00:17:19.850 --> 00:17:19.860 align:start position:0%
Devcon branch that is sorry
 

00:17:19.860 --> 00:17:22.429 align:start position:0%
Devcon branch that is sorry
yeah<00:17:20.100><c> so</c><00:17:20.699><c> it's</c><00:17:20.880><c> it's</c><00:17:21.059><c> it</c><00:17:21.179><c> has</c><00:17:21.660><c> more</c><00:17:22.079><c> specific</c>

00:17:22.429 --> 00:17:22.439 align:start position:0%
yeah so it's it's it has more specific
 

00:17:22.439 --> 00:17:24.409 align:start position:0%
yeah so it's it's it has more specific
yeah<00:17:22.740><c> so</c><00:17:22.980><c> so</c><00:17:23.220><c> over</c><00:17:23.520><c> there</c><00:17:23.760><c> you</c><00:17:23.939><c> said</c><00:17:24.059><c> like</c><00:17:24.240><c> if</c>

00:17:24.409 --> 00:17:24.419 align:start position:0%
yeah so so over there you said like if
 

00:17:24.419 --> 00:17:26.329 align:start position:0%
yeah so so over there you said like if
you're<00:17:24.600><c> using</c><00:17:24.900><c> Mac</c><00:17:25.020><c> you</c><00:17:25.260><c> can</c><00:17:25.380><c> do</c><00:17:25.500><c> that</c><00:17:25.740><c> that</c><00:17:25.980><c> or</c>

00:17:26.329 --> 00:17:26.339 align:start position:0%
you're using Mac you can do that that or
 

00:17:26.339 --> 00:17:28.130 align:start position:0%
you're using Mac you can do that that or
you<00:17:26.579><c> can</c><00:17:26.699><c> download</c>

00:17:28.130 --> 00:17:28.140 align:start position:0%
you can download
 

00:17:28.140 --> 00:17:29.510 align:start position:0%
you can download
okay<00:17:28.620><c> yeah</c>

00:17:29.510 --> 00:17:29.520 align:start position:0%
okay yeah
 

00:17:29.520 --> 00:17:32.210 align:start position:0%
okay yeah
okay<00:17:30.120><c> yeah</c><00:17:30.600><c> so</c><00:17:30.900><c> I</c><00:17:31.080><c> wanted</c><00:17:31.320><c> to</c><00:17:31.559><c> highlight</c><00:17:31.860><c> one</c>

00:17:32.210 --> 00:17:32.220 align:start position:0%
okay yeah so I wanted to highlight one
 

00:17:32.220 --> 00:17:34.310 align:start position:0%
okay yeah so I wanted to highlight one
one<00:17:32.520><c> little</c><00:17:32.820><c> feature</c><00:17:33.540><c> that</c><00:17:33.780><c> we</c><00:17:33.900><c> are</c><00:17:34.020><c> testing</c>

00:17:34.310 --> 00:17:34.320 align:start position:0%
one little feature that we are testing
 

00:17:34.320 --> 00:17:35.990 align:start position:0%
one little feature that we are testing
on<00:17:34.500><c> Echidna</c><00:17:35.160><c> that</c><00:17:35.340><c> is</c>

00:17:35.990 --> 00:17:36.000 align:start position:0%
on Echidna that is
 

00:17:36.000 --> 00:17:38.810 align:start position:0%
on Echidna that is
that<00:17:36.660><c> is</c><00:17:36.900><c> also</c><00:17:37.140><c> used</c><00:17:37.260><c> in</c><00:17:37.500><c> fasting</c><00:17:37.919><c> but</c><00:17:38.100><c> instead</c>

00:17:38.810 --> 00:17:38.820 align:start position:0%
that is also used in fasting but instead
 

00:17:38.820 --> 00:17:41.810 align:start position:0%
that is also used in fasting but instead
of<00:17:38.940><c> testing</c><00:17:39.660><c> a</c><00:17:40.140><c> property</c><00:17:40.559><c> where</c><00:17:41.160><c> we</c><00:17:41.400><c> are</c><00:17:41.640><c> doing</c>

00:17:41.810 --> 00:17:41.820 align:start position:0%
of testing a property where we are doing
 

00:17:41.820 --> 00:17:44.210 align:start position:0%
of testing a property where we are doing
minimization<00:17:42.480><c> or</c><00:17:42.840><c> maximization</c><00:17:43.320><c> of</c><00:17:43.799><c> some</c>

00:17:44.210 --> 00:17:44.220 align:start position:0%
minimization or maximization of some
 

00:17:44.220 --> 00:17:47.570 align:start position:0%
minimization or maximization of some
value<00:17:44.460><c> so</c><00:17:45.360><c> this</c><00:17:45.660><c> is</c><00:17:45.840><c> an</c><00:17:46.080><c> a</c><00:17:46.320><c> new</c><00:17:46.620><c> thing</c><00:17:46.799><c> that</c><00:17:47.220><c> we</c>

00:17:47.570 --> 00:17:47.580 align:start position:0%
value so this is an a new thing that we
 

00:17:47.580 --> 00:17:50.029 align:start position:0%
value so this is an a new thing that we
are<00:17:47.760><c> that</c><00:17:48.179><c> we</c><00:17:48.480><c> are</c><00:17:48.600><c> testing</c><00:17:49.080><c> it</c><00:17:49.500><c> is</c><00:17:49.740><c> not</c>

00:17:50.029 --> 00:17:50.039 align:start position:0%
are that we are testing it is not
 

00:17:50.039 --> 00:17:52.430 align:start position:0%
are that we are testing it is not
property<00:17:50.520><c> based</c><00:17:50.940><c> testing</c><00:17:51.299><c> but</c><00:17:52.080><c> it's</c><00:17:52.200><c> it's</c>

00:17:52.430 --> 00:17:52.440 align:start position:0%
property based testing but it's it's
 

00:17:52.440 --> 00:17:53.990 align:start position:0%
property based testing but it's it's
something<00:17:52.799><c> it's</c><00:17:53.160><c> something</c><00:17:53.400><c> that</c><00:17:53.700><c> we</c><00:17:53.880><c> are</c>

00:17:53.990 --> 00:17:54.000 align:start position:0%
something it's something that we are
 

00:17:54.000 --> 00:17:55.850 align:start position:0%
something it's something that we are
trying<00:17:54.240><c> that</c><00:17:54.720><c> we</c><00:17:54.840><c> are</c><00:17:54.960><c> trying</c><00:17:55.080><c> to</c><00:17:55.260><c> push</c><00:17:55.440><c> so</c><00:17:55.620><c> if</c>

00:17:55.850 --> 00:17:55.860 align:start position:0%
trying that we are trying to push so if
 

00:17:55.860 --> 00:17:59.210 align:start position:0%
trying that we are trying to push so if
you<00:17:55.980><c> want</c><00:17:56.220><c> to</c><00:17:56.400><c> know</c><00:17:56.640><c> if</c><00:17:57.539><c> a</c><00:17:57.720><c> user</c><00:17:58.080><c> is</c><00:17:58.320><c> it's</c>

00:17:59.210 --> 00:17:59.220 align:start position:0%
you want to know if a user is it's
 

00:17:59.220 --> 00:18:03.169 align:start position:0%
you want to know if a user is it's
capable<00:17:59.700><c> of</c><00:18:00.080><c> uh</c><00:18:01.080><c> extracting</c><00:18:01.799><c> tokens</c><00:18:02.760><c> from</c>

00:18:03.169 --> 00:18:03.179 align:start position:0%
capable of uh extracting tokens from
 

00:18:03.179 --> 00:18:05.390 align:start position:0%
capable of uh extracting tokens from
your<00:18:03.419><c> system</c><00:18:03.600><c> without</c><00:18:04.140><c> you</c><00:18:04.500><c> to</c><00:18:04.679><c> realize</c><00:18:04.980><c> you</c>

00:18:05.390 --> 00:18:05.400 align:start position:0%
your system without you to realize you
 

00:18:05.400 --> 00:18:08.210 align:start position:0%
your system without you to realize you
can<00:18:05.460><c> use</c><00:18:05.700><c> that</c><00:18:05.940><c> feature</c><00:18:06.299><c> just</c><00:18:06.960><c> saying</c><00:18:07.440><c> uh</c><00:18:08.100><c> Hey</c>

00:18:08.210 --> 00:18:08.220 align:start position:0%
can use that feature just saying uh Hey
 

00:18:08.220 --> 00:18:10.250 align:start position:0%
can use that feature just saying uh Hey
Echidna<00:18:08.640><c> can</c><00:18:08.880><c> you</c><00:18:08.940><c> maximize</c><00:18:09.419><c> this</c><00:18:09.720><c> balance</c><00:18:10.080><c> of</c>

00:18:10.250 --> 00:18:10.260 align:start position:0%
Echidna can you maximize this balance of
 

00:18:10.260 --> 00:18:12.470 align:start position:0%
Echidna can you maximize this balance of
this<00:18:10.440><c> account</c><00:18:10.620><c> so</c><00:18:11.160><c> it</c><00:18:11.340><c> will</c><00:18:11.520><c> try</c><00:18:11.700><c> to</c><00:18:11.880><c> generate</c>

00:18:12.470 --> 00:18:12.480 align:start position:0%
this account so it will try to generate
 

00:18:12.480 --> 00:18:15.770 align:start position:0%
this account so it will try to generate
you<00:18:12.660><c> the</c><00:18:13.020><c> maximum</c><00:18:13.880><c> sequence</c><00:18:14.880><c> so</c><00:18:15.419><c> it's</c><00:18:15.539><c> it's</c>

00:18:15.770 --> 00:18:15.780 align:start position:0%
you the maximum sequence so it's it's
 

00:18:15.780 --> 00:18:18.230 align:start position:0%
you the maximum sequence so it's it's
it's<00:18:15.900><c> a</c><00:18:16.559><c> little</c><00:18:16.559><c> bit</c><00:18:16.679><c> outside</c><00:18:16.919><c> this</c><00:18:17.280><c> but</c><00:18:17.760><c> uh</c>

00:18:18.230 --> 00:18:18.240 align:start position:0%
it's a little bit outside this but uh
 

00:18:18.240 --> 00:18:22.510 align:start position:0%
it's a little bit outside this but uh
it's<00:18:18.780><c> something</c><00:18:18.960><c> that</c><00:18:19.260><c> we</c><00:18:19.440><c> wanted</c><00:18:19.860><c> to</c><00:18:20.100><c> mention</c>

00:18:22.510 --> 00:18:22.520 align:start position:0%
 
 

00:18:22.520 --> 00:18:24.850 align:start position:0%
 
okay<00:18:23.520><c> so</c>

00:18:24.850 --> 00:18:24.860 align:start position:0%
okay so
 

00:18:24.860 --> 00:18:29.570 align:start position:0%
okay so
our<00:18:25.860><c> Target</c><00:18:26.240><c> here</c><00:18:27.240><c> is</c><00:18:27.600><c> a</c><00:18:27.840><c> token</c>

00:18:29.570 --> 00:18:29.580 align:start position:0%
our Target here is a token
 

00:18:29.580 --> 00:18:32.570 align:start position:0%
our Target here is a token
um<00:18:29.700><c> it</c><00:18:30.000><c> has</c><00:18:30.179><c> a</c><00:18:30.299><c> transfer</c><00:18:30.660><c> function</c><00:18:31.400><c> like</c><00:18:32.400><c> a</c>

00:18:32.570 --> 00:18:32.580 align:start position:0%
um it has a transfer function like a
 

00:18:32.580 --> 00:18:34.430 align:start position:0%
um it has a transfer function like a
classic<00:18:32.700><c> Crosshair</c><00:18:33.179><c> function</c><00:18:33.539><c> you</c><00:18:33.900><c> enable</c><00:18:34.320><c> it</c>

00:18:34.430 --> 00:18:34.440 align:start position:0%
classic Crosshair function you enable it
 

00:18:34.440 --> 00:18:37.310 align:start position:0%
classic Crosshair function you enable it
from<00:18:34.679><c> a</c><00:18:34.860><c> possible</c><00:18:35.400><c> contract</c><00:18:36.240><c> which</c><00:18:36.539><c> is</c><00:18:36.840><c> like</c><00:18:37.080><c> a</c>

00:18:37.310 --> 00:18:37.320 align:start position:0%
from a possible contract which is like a
 

00:18:37.320 --> 00:18:40.250 align:start position:0%
from a possible contract which is like a
basic<00:18:37.679><c> possible</c><00:18:38.340><c> system</c>

00:18:40.250 --> 00:18:40.260 align:start position:0%
basic possible system
 

00:18:40.260 --> 00:18:43.730 align:start position:0%
basic possible system
and<00:18:41.100><c> what</c><00:18:41.700><c> we</c><00:18:41.940><c> want</c><00:18:42.120><c> to</c><00:18:42.240><c> try</c><00:18:42.539><c> to</c><00:18:42.720><c> do</c><00:18:42.960><c> here</c><00:18:43.260><c> is</c><00:18:43.559><c> to</c>

00:18:43.730 --> 00:18:43.740 align:start position:0%
and what we want to try to do here is to
 

00:18:43.740 --> 00:18:46.850 align:start position:0%
and what we want to try to do here is to
create<00:18:43.919><c> the</c><00:18:44.160><c> invariants</c><00:18:44.700><c> such</c><00:18:45.419><c> as</c><00:18:45.600><c> no</c><00:18:46.440><c> user</c>

00:18:46.850 --> 00:18:46.860 align:start position:0%
create the invariants such as no user
 

00:18:46.860 --> 00:18:48.950 align:start position:0%
create the invariants such as no user
should<00:18:47.160><c> have</c><00:18:47.340><c> a</c><00:18:47.520><c> balance</c><00:18:47.820><c> above</c><00:18:48.480><c> the</c><00:18:48.660><c> total</c>

00:18:48.950 --> 00:18:48.960 align:start position:0%
should have a balance above the total
 

00:18:48.960 --> 00:18:50.330 align:start position:0%
should have a balance above the total
Supply

00:18:50.330 --> 00:18:50.340 align:start position:0%
Supply
 

00:18:50.340 --> 00:18:52.490 align:start position:0%
Supply
test<00:18:50.820><c> the</c><00:18:51.179><c> tokens</c><00:18:51.480><c> where</c><00:18:51.840><c> we</c><00:18:52.020><c> are</c><00:18:52.140><c> going</c><00:18:52.260><c> to</c><00:18:52.380><c> do</c>

00:18:52.490 --> 00:18:52.500 align:start position:0%
test the tokens where we are going to do
 

00:18:52.500 --> 00:18:54.950 align:start position:0%
test the tokens where we are going to do
it<00:18:52.620><c> is</c><00:18:52.799><c> that</c><00:18:52.980><c> we</c><00:18:53.160><c> are</c><00:18:53.340><c> going</c><00:18:53.400><c> to</c><00:18:53.520><c> inherit</c><00:18:54.120><c> the</c>

00:18:54.950 --> 00:18:54.960 align:start position:0%
it is that we are going to inherit the
 

00:18:54.960 --> 00:18:56.930 align:start position:0%
it is that we are going to inherit the
token<00:18:55.380><c> or</c><00:18:55.620><c> Target</c><00:18:55.860><c> we</c><00:18:56.400><c> are</c><00:18:56.520><c> going</c><00:18:56.580><c> to</c><00:18:56.700><c> create</c>

00:18:56.930 --> 00:18:56.940 align:start position:0%
token or Target we are going to create
 

00:18:56.940 --> 00:18:59.570 align:start position:0%
token or Target we are going to create
the<00:18:57.179><c> contract</c><00:18:57.539><c> test</c><00:18:57.720><c> token</c><00:18:58.620><c> we</c><00:18:59.160><c> are</c><00:18:59.340><c> going</c><00:18:59.460><c> to</c>

00:18:59.570 --> 00:18:59.580 align:start position:0%
the contract test token we are going to
 

00:18:59.580 --> 00:19:02.270 align:start position:0%
the contract test token we are going to
initialize<00:19:00.240><c> the</c><00:19:00.840><c> balance</c><00:19:01.200><c> of</c><00:19:01.559><c> the</c><00:19:01.740><c> colors</c><00:19:02.100><c> of</c>

00:19:02.270 --> 00:19:02.280 align:start position:0%
initialize the balance of the colors of
 

00:19:02.280 --> 00:19:06.350 align:start position:0%
initialize the balance of the colors of
the<00:19:02.460><c> first</c><00:19:02.640><c> user</c><00:19:03.140><c> to</c><00:19:04.140><c> 10</c><00:19:05.340><c> 000</c>

00:19:06.350 --> 00:19:06.360 align:start position:0%
the first user to 10 000
 

00:19:06.360 --> 00:19:08.210 align:start position:0%
the first user to 10 000
and<00:19:06.720><c> this</c><00:19:06.840><c> is</c><00:19:06.960><c> an</c><00:19:07.080><c> initialization</c><00:19:07.559><c> so</c><00:19:07.860><c> you</c><00:19:08.100><c> are</c>

00:19:08.210 --> 00:19:08.220 align:start position:0%
and this is an initialization so you are
 

00:19:08.220 --> 00:19:10.669 align:start position:0%
and this is an initialization so you are
creating<00:19:08.460><c> a</c><00:19:08.640><c> token</c><00:19:09.000><c> there</c><00:19:09.419><c> is</c><00:19:09.600><c> 10</c><00:19:10.080><c> 000</c><00:19:10.140><c> in</c><00:19:10.440><c> one</c>

00:19:10.669 --> 00:19:10.679 align:start position:0%
creating a token there is 10 000 in one
 

00:19:10.679 --> 00:19:11.870 align:start position:0%
creating a token there is 10 000 in one
address

00:19:11.870 --> 00:19:11.880 align:start position:0%
address
 

00:19:11.880 --> 00:19:16.850 align:start position:0%
address
and<00:19:12.419><c> no</c><00:19:12.660><c> the</c><00:19:13.500><c> invariant</c><00:19:14.039><c> is</c><00:19:14.460><c> simply</c><00:19:14.880><c> that</c>

00:19:16.850 --> 00:19:16.860 align:start position:0%
and no the invariant is simply that
 

00:19:16.860 --> 00:19:20.330 align:start position:0%
and no the invariant is simply that
um<00:19:16.919><c> no</c><00:19:17.820><c> user</c><00:19:18.179><c> so</c><00:19:18.600><c> the</c><00:19:18.780><c> user</c><00:19:19.080><c> should</c><00:19:20.039><c> not</c><00:19:20.160><c> have</c>

00:19:20.330 --> 00:19:20.340 align:start position:0%
um no user so the user should not have
 

00:19:20.340 --> 00:19:23.450 align:start position:0%
um no user so the user should not have
more<00:19:20.520><c> than</c><00:19:20.700><c> 10</c><00:19:21.059><c> 000</c><00:19:21.120><c> okay</c><00:19:21.480><c> again</c><00:19:22.200><c> you</c><00:19:22.860><c> deploy</c><00:19:23.280><c> a</c>

00:19:23.450 --> 00:19:23.460 align:start position:0%
more than 10 000 okay again you deploy a
 

00:19:23.460 --> 00:19:26.870 align:start position:0%
more than 10 000 okay again you deploy a
token<00:19:24.120><c> 10</c><00:19:24.840><c> 000</c><00:19:24.840><c> token</c><00:19:25.260><c> to</c><00:19:25.440><c> one</c><00:19:25.740><c> user</c><00:19:26.100><c> this</c><00:19:26.520><c> user</c>

00:19:26.870 --> 00:19:26.880 align:start position:0%
token 10 000 token to one user this user
 

00:19:26.880 --> 00:19:29.090 align:start position:0%
token 10 000 token to one user this user
should<00:19:27.120><c> never</c><00:19:27.299><c> have</c><00:19:27.539><c> like</c><00:19:27.840><c> 20</c>

00:19:29.090 --> 00:19:29.100 align:start position:0%
should never have like 20
 

00:19:29.100 --> 00:19:32.150 align:start position:0%
should never have like 20
000<00:19:29.220><c> token</c><00:19:29.640><c> all</c><00:19:29.880><c> right</c>

00:19:32.150 --> 00:19:32.160 align:start position:0%
 
 

00:19:32.160 --> 00:19:34.610 align:start position:0%
 
and<00:19:32.880><c> if</c><00:19:33.120><c> you</c><00:19:33.240><c> want</c><00:19:33.360><c> this</c><00:19:33.600><c> with</c><00:19:33.780><c> a</c><00:19:33.900><c> kidnap</c><00:19:34.260><c> a</c>

00:19:34.610 --> 00:19:34.620 align:start position:0%
and if you want this with a kidnap a
 

00:19:34.620 --> 00:19:37.070 align:start position:0%
and if you want this with a kidnap a
Kina<00:19:34.860><c> is</c><00:19:35.100><c> going</c><00:19:35.220><c> to</c><00:19:35.340><c> tell</c><00:19:35.700><c> you</c><00:19:35.880><c> that</c><00:19:36.720><c> this</c>

00:19:37.070 --> 00:19:37.080 align:start position:0%
Kina is going to tell you that this
 

00:19:37.080 --> 00:19:39.409 align:start position:0%
Kina is going to tell you that this
invariant<00:19:37.620><c> is</c><00:19:37.860><c> property</c><00:19:38.400><c> on</c><00:19:38.820><c> total</c><00:19:39.240><c> Supply</c>

00:19:39.409 --> 00:19:39.419 align:start position:0%
invariant is property on total Supply
 

00:19:39.419 --> 00:19:42.529 align:start position:0%
invariant is property on total Supply
was<00:19:40.260><c> broken</c><00:19:40.500><c> it</c><00:19:41.100><c> failed</c><00:19:41.460><c> and</c><00:19:42.059><c> it's</c><00:19:42.179><c> going</c><00:19:42.419><c> to</c>

00:19:42.529 --> 00:19:42.539 align:start position:0%
was broken it failed and it's going to
 

00:19:42.539 --> 00:19:44.029 align:start position:0%
was broken it failed and it's going to
tell<00:19:42.720><c> you</c><00:19:42.900><c> how</c>

00:19:44.029 --> 00:19:44.039 align:start position:0%
tell you how
 

00:19:44.039 --> 00:19:47.330 align:start position:0%
tell you how
and<00:19:44.760><c> the</c><00:19:44.940><c> answer</c><00:19:45.059><c> is</c><00:19:45.419><c> that</c><00:19:45.600><c> you</c><00:19:46.260><c> just</c><00:19:46.500><c> call</c><00:19:46.860><c> the</c>

00:19:47.330 --> 00:19:47.340 align:start position:0%
and the answer is that you just call the
 

00:19:47.340 --> 00:19:49.610 align:start position:0%
and the answer is that you just call the
function<00:19:47.640><c> transfer</c><00:19:48.299><c> with</c><00:19:49.080><c> the</c><00:19:49.200><c> destination</c>

00:19:49.610 --> 00:19:49.620 align:start position:0%
function transfer with the destination
 

00:19:49.620 --> 00:19:52.390 align:start position:0%
function transfer with the destination
address<00:19:49.860><c> 0</c><00:19:50.600><c> and</c>

00:19:52.390 --> 00:19:52.400 align:start position:0%
address 0 and
 

00:19:52.400 --> 00:19:56.750 align:start position:0%
address 0 and
1093<00:19:53.400><c> token</c><00:19:54.360><c> so</c><00:19:54.780><c> what</c><00:19:54.960><c> happened</c><00:19:55.140><c> here</c>

00:19:56.750 --> 00:19:56.760 align:start position:0%
1093 token so what happened here
 

00:19:56.760 --> 00:19:59.990 align:start position:0%
1093 token so what happened here
this<00:19:57.720><c> was</c><00:19:57.900><c> compiled</c><00:19:58.380><c> with</c><00:19:58.559><c> solidity</c><00:19:59.039><c> 0.7</c><00:19:59.700><c> so</c>

00:19:59.990 --> 00:20:00.000 align:start position:0%
this was compiled with solidity 0.7 so
 

00:20:00.000 --> 00:20:01.669 align:start position:0%
this was compiled with solidity 0.7 so
there<00:20:00.240><c> is</c><00:20:00.360><c> no</c><00:20:00.539><c> overflow</c><00:20:01.020><c> and</c><00:20:01.260><c> underflow</c>

00:20:01.669 --> 00:20:01.679 align:start position:0%
there is no overflow and underflow
 

00:20:01.679 --> 00:20:02.750 align:start position:0%
there is no overflow and underflow
protection

00:20:02.750 --> 00:20:02.760 align:start position:0%
protection
 

00:20:02.760 --> 00:20:04.730 align:start position:0%
protection
so<00:20:03.179><c> there</c><00:20:03.360><c> was</c><00:20:03.539><c> an</c><00:20:03.600><c> underflow</c><00:20:04.080><c> problem</c><00:20:04.320><c> here</c>

00:20:04.730 --> 00:20:04.740 align:start position:0%
so there was an underflow problem here
 

00:20:04.740 --> 00:20:07.490 align:start position:0%
so there was an underflow problem here
where<00:20:05.100><c> if</c><00:20:05.520><c> you</c><00:20:05.640><c> try</c><00:20:05.940><c> to</c><00:20:06.120><c> send</c><00:20:06.840><c> more</c><00:20:07.140><c> more</c>

00:20:07.490 --> 00:20:07.500 align:start position:0%
where if you try to send more more
 

00:20:07.500 --> 00:20:09.529 align:start position:0%
where if you try to send more more
tokens<00:20:07.860><c> that</c><00:20:07.980><c> you</c><00:20:08.100><c> have</c><00:20:08.220><c> a</c><00:20:08.280><c> new</c><00:20:08.400><c> balance</c><00:20:08.700><c> the</c>

00:20:09.529 --> 00:20:09.539 align:start position:0%
tokens that you have a new balance the
 

00:20:09.539 --> 00:20:11.270 align:start position:0%
tokens that you have a new balance the
balance<00:20:09.780><c> is</c><00:20:09.960><c> going</c><00:20:10.080><c> to</c><00:20:10.200><c> render</c><00:20:10.440><c> flow</c><00:20:10.860><c> and</c><00:20:11.039><c> you</c>

00:20:11.270 --> 00:20:11.280 align:start position:0%
balance is going to render flow and you
 

00:20:11.280 --> 00:20:13.370 align:start position:0%
balance is going to render flow and you
know<00:20:11.400><c> you</c><00:20:11.580><c> have</c><00:20:11.700><c> a</c><00:20:11.820><c> really</c><00:20:11.940><c> large</c>

00:20:13.370 --> 00:20:13.380 align:start position:0%
know you have a really large
 

00:20:13.380 --> 00:20:15.950 align:start position:0%
know you have a really large
balance<00:20:14.100><c> something</c><00:20:14.820><c> which</c><00:20:15.120><c> is</c><00:20:15.299><c> interesting</c>

00:20:15.950 --> 00:20:15.960 align:start position:0%
balance something which is interesting
 

00:20:15.960 --> 00:20:18.770 align:start position:0%
balance something which is interesting
here<00:20:16.200><c> is</c><00:20:16.919><c> that</c><00:20:17.100><c> we</c><00:20:17.460><c> Define</c><00:20:17.760><c> the</c><00:20:18.179><c> invariance</c>

00:20:18.770 --> 00:20:18.780 align:start position:0%
here is that we Define the invariance
 

00:20:18.780 --> 00:20:20.450 align:start position:0%
here is that we Define the invariance
you<00:20:19.559><c> know</c>

00:20:20.450 --> 00:20:20.460 align:start position:0%
you know
 

00:20:20.460 --> 00:20:22.669 align:start position:0%
you know
without<00:20:21.000><c> looking</c><00:20:21.840><c> at</c><00:20:22.080><c> the</c><00:20:22.260><c> code</c><00:20:22.440><c> without</c>

00:20:22.669 --> 00:20:22.679 align:start position:0%
without looking at the code without
 

00:20:22.679 --> 00:20:24.169 align:start position:0%
without looking at the code without
looking<00:20:22.980><c> at</c><00:20:23.220><c> the</c><00:20:23.340><c> function</c><00:20:23.640><c> we</c><00:20:23.880><c> were</c><00:20:24.059><c> not</c>

00:20:24.169 --> 00:20:24.179 align:start position:0%
looking at the function we were not
 

00:20:24.179 --> 00:20:25.850 align:start position:0%
looking at the function we were not
looking<00:20:24.419><c> is</c><00:20:24.840><c> there</c><00:20:25.020><c> any</c><00:20:25.140><c> issue</c><00:20:25.559><c> in</c><00:20:25.740><c> the</c>

00:20:25.850 --> 00:20:25.860 align:start position:0%
looking is there any issue in the
 

00:20:25.860 --> 00:20:27.529 align:start position:0%
looking is there any issue in the
transfer<00:20:26.280><c> function</c><00:20:26.580><c> we</c><00:20:26.820><c> just</c><00:20:27.000><c> Define</c><00:20:27.240><c> an</c>

00:20:27.529 --> 00:20:27.539 align:start position:0%
transfer function we just Define an
 

00:20:27.539 --> 00:20:29.630 align:start position:0%
transfer function we just Define an
invariance<00:20:28.140><c> and</c><00:20:28.620><c> by</c><00:20:28.799><c> doing</c><00:20:29.039><c> so</c><00:20:29.280><c> we</c><00:20:29.520><c> can</c>

00:20:29.630 --> 00:20:29.640 align:start position:0%
invariance and by doing so we can
 

00:20:29.640 --> 00:20:31.070 align:start position:0%
invariance and by doing so we can
realize<00:20:30.059><c> that</c><00:20:30.179><c> there</c><00:20:30.360><c> is</c><00:20:30.480><c> a</c><00:20:30.600><c> bug</c><00:20:30.720><c> in</c><00:20:30.960><c> the</c>

00:20:31.070 --> 00:20:31.080 align:start position:0%
realize that there is a bug in the
 

00:20:31.080 --> 00:20:33.529 align:start position:0%
realize that there is a bug in the
transfer<00:20:31.440><c> function</c>

00:20:33.529 --> 00:20:33.539 align:start position:0%
transfer function
 

00:20:33.539 --> 00:20:35.930 align:start position:0%
transfer function
um<00:20:33.660><c> so</c><00:20:33.900><c> this</c><00:20:34.140><c> is</c><00:20:34.320><c> a</c><00:20:34.620><c> kind</c><00:20:34.799><c> of</c><00:20:34.919><c> a</c><00:20:35.160><c> nice</c>

00:20:35.930 --> 00:20:35.940 align:start position:0%
um so this is a kind of a nice
 

00:20:35.940 --> 00:20:38.390 align:start position:0%
um so this is a kind of a nice
a<00:20:36.539><c> way</c><00:20:36.840><c> of</c><00:20:37.020><c> trying</c><00:20:37.140><c> to</c><00:20:37.320><c> find</c><00:20:37.500><c> bugs</c><00:20:37.919><c> because</c><00:20:38.039><c> you</c>

00:20:38.390 --> 00:20:38.400 align:start position:0%
a way of trying to find bugs because you
 

00:20:38.400 --> 00:20:40.070 align:start position:0%
a way of trying to find bugs because you
don't<00:20:38.580><c> look</c><00:20:38.820><c> at</c><00:20:39.059><c> the</c><00:20:39.240><c> individual</c><00:20:39.720><c> function</c>

00:20:40.070 --> 00:20:40.080 align:start position:0%
don't look at the individual function
 

00:20:40.080 --> 00:20:41.210 align:start position:0%
don't look at the individual function
necessarily<00:20:40.620><c> you</c><00:20:40.860><c> can</c><00:20:40.980><c> just</c><00:20:41.100><c> Define</c>

00:20:41.210 --> 00:20:41.220 align:start position:0%
necessarily you can just Define
 

00:20:41.220 --> 00:20:43.669 align:start position:0%
necessarily you can just Define
invariant<00:20:41.880><c> and</c><00:20:42.299><c> the</c><00:20:42.539><c> further</c><00:20:43.200><c> is</c><00:20:43.380><c> going</c><00:20:43.559><c> to</c>

00:20:43.669 --> 00:20:43.679 align:start position:0%
invariant and the further is going to
 

00:20:43.679 --> 00:20:47.690 align:start position:0%
invariant and the further is going to
try<00:20:43.860><c> to</c><00:20:43.980><c> break</c><00:20:44.160><c> the</c><00:20:44.340><c> environment</c><00:20:44.700><c> for</c><00:20:44.880><c> you</c>

00:20:47.690 --> 00:20:47.700 align:start position:0%
 
 

00:20:47.700 --> 00:20:53.090 align:start position:0%
 
does<00:20:48.059><c> that</c><00:20:48.179><c> make</c><00:20:48.419><c> sense</c><00:20:48.539><c> any</c><00:20:49.200><c> question</c><00:20:49.500><c> yeah</c>

00:20:53.090 --> 00:20:53.100 align:start position:0%
 
 

00:20:53.100 --> 00:20:54.169 align:start position:0%
 
okay

00:20:54.169 --> 00:20:54.179 align:start position:0%
okay
 

00:20:54.179 --> 00:20:56.150 align:start position:0%
okay
so

00:20:56.150 --> 00:20:56.160 align:start position:0%
so
 

00:20:56.160 --> 00:20:59.630 align:start position:0%
so
okay<00:20:56.520><c> so</c><00:20:56.760><c> the</c><00:20:57.000><c> question</c><00:20:57.299><c> is</c><00:20:58.080><c> does</c><00:20:58.860><c> it</c><00:20:59.100><c> execute</c>

00:20:59.630 --> 00:20:59.640 align:start position:0%
okay so the question is does it execute
 

00:20:59.640 --> 00:21:01.730 align:start position:0%
okay so the question is does it execute
a<00:20:59.820><c> specific</c><00:21:00.179><c> function</c><00:21:00.600><c> or</c><00:21:00.960><c> how</c><00:21:01.320><c> does</c><00:21:01.500><c> it</c><00:21:01.620><c> know</c>

00:21:01.730 --> 00:21:01.740 align:start position:0%
a specific function or how does it know
 

00:21:01.740 --> 00:21:04.130 align:start position:0%
a specific function or how does it know
which<00:21:01.919><c> function</c><00:21:02.220><c> to</c><00:21:02.460><c> curve</c><00:21:02.880><c> the</c><00:21:03.600><c> answer</c><00:21:03.720><c> that</c>

00:21:04.130 --> 00:21:04.140 align:start position:0%
which function to curve the answer that
 

00:21:04.140 --> 00:21:05.510 align:start position:0%
which function to curve the answer that
is<00:21:04.260><c> going</c><00:21:04.380><c> to</c><00:21:04.440><c> call</c><00:21:04.620><c> everything</c>

00:21:05.510 --> 00:21:05.520 align:start position:0%
is going to call everything
 

00:21:05.520 --> 00:21:07.730 align:start position:0%
is going to call everything
so<00:21:05.940><c> in</c><00:21:06.059><c> this</c><00:21:06.240><c> token</c><00:21:06.600><c> if</c><00:21:06.960><c> you</c><00:21:07.080><c> look</c><00:21:07.200><c> at</c><00:21:07.380><c> like</c><00:21:07.559><c> the</c>

00:21:07.730 --> 00:21:07.740 align:start position:0%
so in this token if you look at like the
 

00:21:07.740 --> 00:21:09.470 align:start position:0%
so in this token if you look at like the
word<00:21:08.100><c> source</c><00:21:08.520><c> code</c><00:21:08.580><c> you</c><00:21:08.880><c> have</c><00:21:09.000><c> a</c><00:21:09.120><c> transfer</c>

00:21:09.470 --> 00:21:09.480 align:start position:0%
word source code you have a transfer
 

00:21:09.480 --> 00:21:12.289 align:start position:0%
word source code you have a transfer
function<00:21:09.780><c> possible</c><00:21:10.320><c> function</c><00:21:10.799><c> and</c><00:21:11.100><c> like</c><00:21:11.580><c> some</c>

00:21:12.289 --> 00:21:12.299 align:start position:0%
function possible function and like some
 

00:21:12.299 --> 00:21:13.970 align:start position:0%
function possible function and like some
additional<00:21:12.600><c> function</c><00:21:12.900><c> so</c><00:21:13.140><c> the</c><00:21:13.500><c> federal</c><00:21:13.679><c> is</c>

00:21:13.970 --> 00:21:13.980 align:start position:0%
additional function so the federal is
 

00:21:13.980 --> 00:21:15.950 align:start position:0%
additional function so the federal is
just<00:21:14.100><c> going</c><00:21:14.280><c> to</c><00:21:14.400><c> call</c><00:21:14.640><c> everything</c>

00:21:15.950 --> 00:21:15.960 align:start position:0%
just going to call everything
 

00:21:15.960 --> 00:21:17.270 align:start position:0%
just going to call everything
and

00:21:17.270 --> 00:21:17.280 align:start position:0%
and
 

00:21:17.280 --> 00:21:19.430 align:start position:0%
and
everything<00:21:17.760><c> external</c><00:21:18.299><c> or</c><00:21:18.539><c> public</c><00:21:18.720><c> like</c>

00:21:19.430 --> 00:21:19.440 align:start position:0%
everything external or public like
 

00:21:19.440 --> 00:21:28.250 align:start position:0%
everything external or public like
everything<00:21:19.679><c> that</c><00:21:20.039><c> a</c><00:21:20.280><c> user</c><00:21:20.580><c> can</c><00:21:20.760><c> call</c>

00:21:28.250 --> 00:21:28.260 align:start position:0%
 
 

00:21:28.260 --> 00:21:31.190 align:start position:0%
 
okay<00:21:28.740><c> the</c><00:21:29.340><c> question</c><00:21:29.580><c> is</c><00:21:30.120><c> if</c><00:21:30.419><c> you</c><00:21:30.600><c> have</c><00:21:30.780><c> a</c><00:21:31.020><c> very</c>

00:21:31.190 --> 00:21:31.200 align:start position:0%
okay the question is if you have a very
 

00:21:31.200 --> 00:21:33.169 align:start position:0%
okay the question is if you have a very
large<00:21:31.500><c> token</c><00:21:32.039><c> or</c><00:21:32.159><c> very</c><00:21:32.400><c> large</c><00:21:32.580><c> contract</c><00:21:33.000><c> you</c>

00:21:33.169 --> 00:21:33.179 align:start position:0%
large token or very large contract you
 

00:21:33.179 --> 00:21:35.029 align:start position:0%
large token or very large contract you
have<00:21:33.360><c> a</c><00:21:33.480><c> lot</c><00:21:33.600><c> of</c><00:21:33.780><c> function</c>

00:21:35.029 --> 00:21:35.039 align:start position:0%
have a lot of function
 

00:21:35.039 --> 00:21:36.649 align:start position:0%
have a lot of function
so<00:21:35.340><c> here</c><00:21:35.520><c> you</c><00:21:35.640><c> can</c><00:21:35.760><c> take</c><00:21:35.880><c> different</c><00:21:36.059><c> approach</c>

00:21:36.649 --> 00:21:36.659 align:start position:0%
so here you can take different approach
 

00:21:36.659 --> 00:21:38.090 align:start position:0%
so here you can take different approach
either

00:21:38.090 --> 00:21:38.100 align:start position:0%
either
 

00:21:38.100 --> 00:21:39.590 align:start position:0%
either
um<00:21:38.159><c> you</c><00:21:38.400><c> want</c><00:21:38.580><c> a</c><00:21:38.760><c> keynote</c><00:21:39.000><c> to</c><00:21:39.179><c> call</c><00:21:39.299><c> everything</c>

00:21:39.590 --> 00:21:39.600 align:start position:0%
um you want a keynote to call everything
 

00:21:39.600 --> 00:21:41.510 align:start position:0%
um you want a keynote to call everything
and<00:21:40.140><c> you</c><00:21:40.380><c> just</c><00:21:40.500><c> do</c><00:21:40.679><c> nothing</c><00:21:40.860><c> and</c><00:21:41.100><c> you</c><00:21:41.280><c> let</c><00:21:41.400><c> it</c>

00:21:41.510 --> 00:21:41.520 align:start position:0%
and you just do nothing and you let it
 

00:21:41.520 --> 00:21:43.430 align:start position:0%
and you just do nothing and you let it
now<00:21:41.820><c> when</c><00:21:42.120><c> uh</c><00:21:42.600><c> which</c><00:21:42.780><c> might</c><00:21:42.960><c> work</c><00:21:43.140><c> no</c><00:21:43.380><c> it</c>

00:21:43.430 --> 00:21:43.440 align:start position:0%
now when uh which might work no it
 

00:21:43.440 --> 00:21:46.909 align:start position:0%
now when uh which might work no it
depends<00:21:43.740><c> on</c><00:21:43.799><c> what</c><00:21:43.919><c> it</c><00:21:44.100><c> is</c><00:21:44.360><c> if</c><00:21:45.360><c> you</c><00:21:46.200><c> know</c><00:21:46.559><c> that</c>

00:21:46.909 --> 00:21:46.919 align:start position:0%
depends on what it is if you know that
 

00:21:46.919 --> 00:21:48.350 align:start position:0%
depends on what it is if you know that
some<00:21:47.100><c> functions</c><00:21:47.520><c> are</c><00:21:47.640><c> more</c><00:21:47.820><c> important</c><00:21:48.179><c> and</c>

00:21:48.350 --> 00:21:48.360 align:start position:0%
some functions are more important and
 

00:21:48.360 --> 00:21:51.049 align:start position:0%
some functions are more important and
you<00:21:48.539><c> want</c><00:21:48.659><c> to</c><00:21:48.780><c> Target</c><00:21:48.960><c> you</c><00:21:49.799><c> can</c><00:21:49.980><c> change</c><00:21:50.700><c> in</c><00:21:50.880><c> the</c>

00:21:51.049 --> 00:21:51.059 align:start position:0%
you want to Target you can change in the
 

00:21:51.059 --> 00:21:53.210 align:start position:0%
you want to Target you can change in the
configuration<00:21:51.799><c> configuration</c><00:21:52.799><c> file</c><00:21:53.039><c> of</c>

00:21:53.210 --> 00:21:53.220 align:start position:0%
configuration configuration file of
 

00:21:53.220 --> 00:21:55.430 align:start position:0%
configuration configuration file of
echina<00:21:53.580><c> and</c><00:21:53.880><c> tell</c><00:21:54.059><c> him</c><00:21:54.240><c> call</c><00:21:54.780><c> only</c><00:21:55.140><c> this</c>

00:21:55.430 --> 00:21:55.440 align:start position:0%
echina and tell him call only this
 

00:21:55.440 --> 00:21:57.950 align:start position:0%
echina and tell him call only this
function<00:21:55.740><c> or</c><00:21:56.039><c> don't</c><00:21:56.220><c> call</c><00:21:56.460><c> this</c><00:21:56.700><c> function</c><00:21:57.059><c> so</c>

00:21:57.950 --> 00:21:57.960 align:start position:0%
function or don't call this function so
 

00:21:57.960 --> 00:21:59.090 align:start position:0%
function or don't call this function so
it<00:21:58.080><c> depends</c><00:21:58.440><c> what</c><00:21:58.500><c> you</c><00:21:58.620><c> are</c><00:21:58.740><c> trying</c><00:21:58.860><c> to</c><00:21:58.980><c> look</c>

00:21:59.090 --> 00:21:59.100 align:start position:0%
it depends what you are trying to look
 

00:21:59.100 --> 00:22:01.190 align:start position:0%
it depends what you are trying to look
if<00:21:59.820><c> you</c><00:22:00.000><c> want</c><00:22:00.120><c> to</c><00:22:00.299><c> increase</c><00:22:00.480><c> your</c><00:22:00.840><c> confidence</c>

00:22:01.190 --> 00:22:01.200 align:start position:0%
if you want to increase your confidence
 

00:22:01.200 --> 00:22:04.070 align:start position:0%
if you want to increase your confidence
you<00:22:01.559><c> should</c><00:22:01.679><c> call</c><00:22:01.860><c> everything</c><00:22:02.600><c> if</c><00:22:03.600><c> you</c><00:22:03.900><c> think</c>

00:22:04.070 --> 00:22:04.080 align:start position:0%
you should call everything if you think
 

00:22:04.080 --> 00:22:05.450 align:start position:0%
you should call everything if you think
there<00:22:04.260><c> might</c><00:22:04.440><c> have</c><00:22:04.620><c> an</c><00:22:04.799><c> issue</c><00:22:05.039><c> in</c><00:22:05.159><c> a</c><00:22:05.280><c> specific</c>

00:22:05.450 --> 00:22:05.460 align:start position:0%
there might have an issue in a specific
 

00:22:05.460 --> 00:22:07.029 align:start position:0%
there might have an issue in a specific
function<00:22:05.760><c> and</c><00:22:06.000><c> you</c><00:22:06.120><c> want</c><00:22:06.299><c> to</c><00:22:06.419><c> focus</c><00:22:06.600><c> on</c><00:22:06.840><c> that</c>

00:22:07.029 --> 00:22:07.039 align:start position:0%
function and you want to focus on that
 

00:22:07.039 --> 00:22:11.270 align:start position:0%
function and you want to focus on that
you<00:22:08.039><c> can</c><00:22:08.159><c> you</c><00:22:08.280><c> can</c><00:22:08.400><c> Blacklist</c><00:22:08.760><c> on</c><00:22:09.000><c> white</c><00:22:09.179><c> list</c>

00:22:11.270 --> 00:22:11.280 align:start position:0%
you can you can Blacklist on white list
 

00:22:11.280 --> 00:22:16.490 align:start position:0%
you can you can Blacklist on white list
depending<00:22:12.059><c> order</c>

00:22:16.490 --> 00:22:16.500 align:start position:0%
 
 

00:22:16.500 --> 00:22:19.190 align:start position:0%
 
okay<00:22:17.100><c> so</c><00:22:17.340><c> the</c><00:22:17.520><c> question</c><00:22:17.820><c> is</c><00:22:18.360><c> can</c><00:22:18.780><c> you</c><00:22:18.960><c> define</c>

00:22:19.190 --> 00:22:19.200 align:start position:0%
okay so the question is can you define
 

00:22:19.200 --> 00:22:21.230 align:start position:0%
okay so the question is can you define
the<00:22:19.559><c> order</c><00:22:19.799><c> of</c><00:22:20.159><c> call</c>

00:22:21.230 --> 00:22:21.240 align:start position:0%
the order of call
 

00:22:21.240 --> 00:22:23.149 align:start position:0%
the order of call
you<00:22:21.720><c> can</c><00:22:21.840><c> Define</c><00:22:22.080><c> the</c><00:22:22.500><c> order</c><00:22:22.740><c> of</c><00:22:23.039><c> the</c>

00:22:23.149 --> 00:22:23.159 align:start position:0%
you can Define the order of the
 

00:22:23.159 --> 00:22:28.190 align:start position:0%
you can Define the order of the
initialization<00:22:23.780><c> but</c><00:22:24.780><c> not</c><00:22:24.960><c> after</c><00:22:25.140><c> that</c>

00:22:28.190 --> 00:22:28.200 align:start position:0%
 
 

00:22:28.200 --> 00:22:30.529 align:start position:0%
 
I<00:22:28.320><c> think</c><00:22:28.440><c> it</c><00:22:28.620><c> was</c><00:22:28.740><c> another</c><00:22:28.919><c> question</c>

00:22:30.529 --> 00:22:30.539 align:start position:0%
I think it was another question
 

00:22:30.539 --> 00:22:36.590 align:start position:0%
I think it was another question
no<00:22:30.900><c> okay</c>

00:22:36.590 --> 00:22:36.600 align:start position:0%
 
 

00:22:36.600 --> 00:22:41.270 align:start position:0%
 
okay

00:22:41.270 --> 00:22:41.280 align:start position:0%
 
 

00:22:41.280 --> 00:22:42.409 align:start position:0%
 
okay

00:22:42.409 --> 00:22:42.419 align:start position:0%
okay
 

00:22:42.419 --> 00:22:44.750 align:start position:0%
okay
so<00:22:43.020><c> the</c><00:22:43.200><c> question</c><00:22:43.500><c> is</c>

00:22:44.750 --> 00:22:44.760 align:start position:0%
so the question is
 

00:22:44.760 --> 00:22:46.250 align:start position:0%
so the question is
um can<00:22:45.120><c> you</c><00:22:45.299><c> have</c><00:22:45.480><c> like</c><00:22:45.659><c> a</c><00:22:45.840><c> better</c><00:22:46.020><c> log</c>

00:22:46.250 --> 00:22:46.260 align:start position:0%
um can you have like a better log
 

00:22:46.260 --> 00:22:48.470 align:start position:0%
um can you have like a better log
because<00:22:46.679><c> obviously</c><00:22:47.640><c> this</c><00:22:47.880><c> is</c><00:22:48.000><c> like</c><00:22:48.120><c> a</c><00:22:48.299><c> simple</c>

00:22:48.470 --> 00:22:48.480 align:start position:0%
because obviously this is like a simple
 

00:22:48.480 --> 00:22:51.049 align:start position:0%
because obviously this is like a simple
example<00:22:49.020><c> uh</c><00:22:49.919><c> and</c><00:22:50.100><c> when</c><00:22:50.220><c> you</c><00:22:50.340><c> do</c><00:22:50.460><c> want</c><00:22:50.640><c> them</c><00:22:50.880><c> you</c>

00:22:51.049 --> 00:22:51.059 align:start position:0%
example uh and when you do want them you
 

00:22:51.059 --> 00:22:52.730 align:start position:0%
example uh and when you do want them you
know<00:22:51.120><c> exploration</c><00:22:51.600><c> you</c><00:22:52.020><c> might</c><00:22:52.140><c> call</c><00:22:52.380><c> a</c><00:22:52.620><c> lot</c><00:22:52.679><c> of</c>

00:22:52.730 --> 00:22:52.740 align:start position:0%
know exploration you might call a lot of
 

00:22:52.740 --> 00:22:54.169 align:start position:0%
know exploration you might call a lot of
functions<00:22:53.100><c> that</c><00:22:53.280><c> are</c><00:22:53.400><c> not</c><00:22:53.580><c> necessary</c><00:22:53.940><c> for</c>

00:22:54.169 --> 00:22:54.179 align:start position:0%
functions that are not necessary for
 

00:22:54.179 --> 00:22:56.750 align:start position:0%
functions that are not necessary for
what<00:22:54.419><c> you</c><00:22:54.600><c> are</c><00:22:54.720><c> trying</c><00:22:54.840><c> to</c><00:22:55.020><c> to</c><00:22:55.320><c> call</c><00:22:55.919><c> right</c><00:22:56.159><c> and</c>

00:22:56.750 --> 00:22:56.760 align:start position:0%
what you are trying to to call right and
 

00:22:56.760 --> 00:22:58.370 align:start position:0%
what you are trying to to call right and
the<00:22:56.880><c> answer</c><00:22:57.000><c> is</c><00:22:57.299><c> yes</c>

00:22:58.370 --> 00:22:58.380 align:start position:0%
the answer is yes
 

00:22:58.380 --> 00:23:00.169 align:start position:0%
the answer is yes
um so<00:22:58.620><c> Echidna</c><00:22:59.280><c> does</c><00:22:59.520><c> what</c><00:22:59.820><c> we</c><00:23:00.000><c> call</c>

00:23:00.169 --> 00:23:00.179 align:start position:0%
um so Echidna does what we call
 

00:23:00.179 --> 00:23:03.770 align:start position:0%
um so Echidna does what we call
shrinking<00:23:00.900><c> where</c><00:23:01.740><c> once</c><00:23:02.220><c> it</c><00:23:02.460><c> found</c><00:23:02.700><c> a</c><00:23:03.240><c> way</c><00:23:03.539><c> to</c>

00:23:03.770 --> 00:23:03.780 align:start position:0%
shrinking where once it found a way to
 

00:23:03.780 --> 00:23:05.870 align:start position:0%
shrinking where once it found a way to
break<00:23:03.960><c> the</c><00:23:04.260><c> invariant</c><00:23:04.679><c> it's</c><00:23:05.159><c> going</c><00:23:05.340><c> to</c><00:23:05.460><c> try</c><00:23:05.760><c> to</c>

00:23:05.870 --> 00:23:05.880 align:start position:0%
break the invariant it's going to try to
 

00:23:05.880 --> 00:23:07.970 align:start position:0%
break the invariant it's going to try to
reduce<00:23:06.240><c> the</c><00:23:06.659><c> choice</c><00:23:07.020><c> so</c><00:23:07.620><c> it's</c><00:23:07.740><c> going</c><00:23:07.919><c> to</c>

00:23:07.970 --> 00:23:07.980 align:start position:0%
reduce the choice so it's going to
 

00:23:07.980 --> 00:23:09.890 align:start position:0%
reduce the choice so it's going to
continue<00:23:08.220><c> to</c><00:23:08.640><c> First</c><00:23:09.000><c> more</c><00:23:09.360><c> or</c><00:23:09.539><c> less</c><00:23:09.600><c> on</c><00:23:09.780><c> the</c>

00:23:09.890 --> 00:23:09.900 align:start position:0%
continue to First more or less on the
 

00:23:09.900 --> 00:23:12.830 align:start position:0%
continue to First more or less on the
seminal<00:23:10.260><c> iteration</c><00:23:11.179><c> uh</c><00:23:12.179><c> and</c><00:23:12.419><c> trying</c><00:23:12.659><c> to</c>

00:23:12.830 --> 00:23:12.840 align:start position:0%
seminal iteration uh and trying to
 

00:23:12.840 --> 00:23:15.470 align:start position:0%
seminal iteration uh and trying to
reduce<00:23:13.020><c> like</c><00:23:13.320><c> the</c><00:23:13.500><c> size</c><00:23:13.679><c> of</c><00:23:13.919><c> the</c><00:23:14.039><c> of</c><00:23:14.220><c> the</c><00:23:14.400><c> trace</c>

00:23:15.470 --> 00:23:15.480 align:start position:0%
reduce like the size of the of the trace
 

00:23:15.480 --> 00:23:26.420 align:start position:0%
reduce like the size of the of the trace
foreign

00:23:26.420 --> 00:23:26.430 align:start position:0%
 
 

00:23:26.430 --> 00:23:28.510 align:start position:0%
 
[Music]

00:23:28.510 --> 00:23:28.520 align:start position:0%
[Music]
 

00:23:28.520 --> 00:23:31.130 align:start position:0%
[Music]
Target<00:23:29.520><c> so</c><00:23:29.820><c> you're</c><00:23:30.000><c> going</c><00:23:30.179><c> to</c><00:23:30.299><c> try</c><00:23:30.659><c> to</c><00:23:30.840><c> have</c><00:23:31.020><c> an</c>

00:23:31.130 --> 00:23:31.140 align:start position:0%
Target so you're going to try to have an
 

00:23:31.140 --> 00:23:32.750 align:start position:0%
Target so you're going to try to have an
invariant

00:23:32.750 --> 00:23:32.760 align:start position:0%
invariant
 

00:23:32.760 --> 00:23:34.730 align:start position:0%
invariant
um<00:23:32.820><c> on</c><00:23:33.240><c> the</c><00:23:33.419><c> same</c><00:23:33.600><c> token</c>

00:23:34.730 --> 00:23:34.740 align:start position:0%
um on the same token
 

00:23:34.740 --> 00:23:37.490 align:start position:0%
um on the same token
the<00:23:35.159><c> first</c><00:23:35.220><c> invariant</c><00:23:35.820><c> was</c><00:23:36.059><c> that</c>

00:23:37.490 --> 00:23:37.500 align:start position:0%
the first invariant was that
 

00:23:37.500 --> 00:23:39.169 align:start position:0%
the first invariant was that
no<00:23:37.860><c> user</c><00:23:38.220><c> should</c><00:23:38.460><c> have</c><00:23:38.580><c> a</c><00:23:38.640><c> balance</c><00:23:38.880><c> above</c>

00:23:39.169 --> 00:23:39.179 align:start position:0%
no user should have a balance above
 

00:23:39.179 --> 00:23:41.870 align:start position:0%
no user should have a balance above
total<00:23:39.480><c> Supply</c><00:23:39.720><c> here</c><00:23:40.679><c> as</c><00:23:40.980><c> we</c><00:23:41.220><c> kind</c><00:23:41.400><c> of</c><00:23:41.520><c> hinted</c>

00:23:41.870 --> 00:23:41.880 align:start position:0%
total Supply here as we kind of hinted
 

00:23:41.880 --> 00:23:43.970 align:start position:0%
total Supply here as we kind of hinted
before<00:23:42.120><c> now</c><00:23:42.600><c> this</c><00:23:42.840><c> is</c><00:23:42.900><c> a</c><00:23:43.020><c> possible</c><00:23:43.380><c> system</c><00:23:43.679><c> so</c>

00:23:43.970 --> 00:23:43.980 align:start position:0%
before now this is a possible system so
 

00:23:43.980 --> 00:23:45.950 align:start position:0%
before now this is a possible system so
it's<00:23:44.100><c> a</c><00:23:44.280><c> system</c><00:23:44.460><c> where</c><00:23:45.059><c> the</c><00:23:45.240><c> owner</c><00:23:45.539><c> can</c><00:23:45.780><c> pause</c>

00:23:45.950 --> 00:23:45.960 align:start position:0%
it's a system where the owner can pause
 

00:23:45.960 --> 00:23:48.529 align:start position:0%
it's a system where the owner can pause
or<00:23:46.260><c> unpause</c><00:23:46.500><c> the</c><00:23:46.860><c> system</c><00:23:47.039><c> and</c><00:23:47.880><c> what</c><00:23:48.120><c> we</c><00:23:48.360><c> want</c>

00:23:48.529 --> 00:23:48.539 align:start position:0%
or unpause the system and what we want
 

00:23:48.539 --> 00:23:50.390 align:start position:0%
or unpause the system and what we want
to<00:23:48.720><c> verify</c><00:23:49.260><c> the</c><00:23:49.559><c> environment</c><00:23:49.919><c> we</c><00:23:50.100><c> want</c><00:23:50.220><c> to</c>

00:23:50.390 --> 00:23:50.400 align:start position:0%
to verify the environment we want to
 

00:23:50.400 --> 00:23:51.770 align:start position:0%
to verify the environment we want to
have<00:23:50.580><c> is</c><00:23:50.880><c> that</c>

00:23:51.770 --> 00:23:51.780 align:start position:0%
have is that
 

00:23:51.780 --> 00:23:54.350 align:start position:0%
have is that
if<00:23:52.320><c> there</c><00:23:52.500><c> is</c><00:23:52.620><c> nowhere</c><00:23:52.919><c> now</c><00:23:53.580><c> and</c><00:23:54.059><c> the</c><00:23:54.240><c> system</c>

00:23:54.350 --> 00:23:54.360 align:start position:0%
if there is nowhere now and the system
 

00:23:54.360 --> 00:23:58.310 align:start position:0%
if there is nowhere now and the system
is<00:23:54.659><c> pause</c><00:23:55.039><c> can</c><00:23:56.039><c> someone</c><00:23:56.280><c> unpose</c><00:23:57.000><c> a</c><00:23:57.179><c> system</c><00:23:57.360><c> and</c>

00:23:58.310 --> 00:23:58.320 align:start position:0%
is pause can someone unpose a system and
 

00:23:58.320 --> 00:24:08.649 align:start position:0%
is pause can someone unpose a system and
this<00:23:58.559><c> is</c><00:23:58.620><c> what</c><00:23:58.799><c> we're</c><00:23:58.919><c> going</c><00:23:59.100><c> to</c><00:23:59.220><c> try</c>

00:24:08.649 --> 00:24:08.659 align:start position:0%
 
 

00:24:08.659 --> 00:24:11.750 align:start position:0%
 
and<00:24:09.659><c> yeah</c><00:24:09.840><c> let's</c><00:24:10.140><c> take</c><00:24:10.500><c> 10</c><00:24:11.039><c> minutes</c><00:24:11.280><c> for</c><00:24:11.580><c> this</c>

00:24:11.750 --> 00:24:11.760 align:start position:0%
and yeah let's take 10 minutes for this
 

00:24:11.760 --> 00:24:13.669 align:start position:0%
and yeah let's take 10 minutes for this
one

00:24:13.669 --> 00:24:13.679 align:start position:0%
one
 

00:24:13.679 --> 00:24:16.070 align:start position:0%
one
I'm<00:24:13.980><c> going</c><00:24:14.220><c> to</c><00:24:14.340><c> show</c><00:24:14.820><c> the</c><00:24:15.360><c> solution</c><00:24:15.659><c> for</c><00:24:15.900><c> the</c>

00:24:16.070 --> 00:24:16.080 align:start position:0%
I'm going to show the solution for the
 

00:24:16.080 --> 00:24:18.890 align:start position:0%
I'm going to show the solution for the
second<00:24:16.200><c> one</c>

00:24:18.890 --> 00:24:18.900 align:start position:0%
 
 

00:24:18.900 --> 00:24:22.010 align:start position:0%
 
so<00:24:19.740><c> it's</c><00:24:20.580><c> the</c><00:24:20.820><c> same</c><00:24:21.000><c> Target</c><00:24:21.240><c> that</c><00:24:21.600><c> for</c><00:24:21.840><c> the</c>

00:24:22.010 --> 00:24:22.020 align:start position:0%
so it's the same Target that for the
 

00:24:22.020 --> 00:24:23.810 align:start position:0%
so it's the same Target that for the
first<00:24:22.200><c> exercise</c><00:24:22.440><c> but</c><00:24:22.980><c> here</c><00:24:23.220><c> we</c><00:24:23.400><c> are</c><00:24:23.520><c> going</c><00:24:23.700><c> to</c>

00:24:23.810 --> 00:24:23.820 align:start position:0%
first exercise but here we are going to
 

00:24:23.820 --> 00:24:26.090 align:start position:0%
first exercise but here we are going to
focus<00:24:24.179><c> on</c><00:24:24.840><c> the</c><00:24:25.260><c> contracts</c><00:24:25.740><c> that</c><00:24:25.919><c> were</c>

00:24:26.090 --> 00:24:26.100 align:start position:0%
focus on the contracts that were
 

00:24:26.100 --> 00:24:28.610 align:start position:0%
focus on the contracts that were
inherited<00:24:26.880><c> by</c><00:24:27.000><c> the</c><00:24:27.179><c> token</c><00:24:27.539><c> you</c><00:24:28.380><c> have</c><00:24:28.500><c> two</c>

00:24:28.610 --> 00:24:28.620 align:start position:0%
inherited by the token you have two
 

00:24:28.620 --> 00:24:30.110 align:start position:0%
inherited by the token you have two
token<00:24:29.039><c> now</c><00:24:29.220><c> you</c><00:24:29.340><c> have</c><00:24:29.460><c> two</c><00:24:29.520><c> contracts</c><00:24:29.940><c> right</c>

00:24:30.110 --> 00:24:30.120 align:start position:0%
token now you have two contracts right
 

00:24:30.120 --> 00:24:32.690 align:start position:0%
token now you have two contracts right
ownership<00:24:30.780><c> and</c><00:24:31.320><c> possible</c><00:24:31.740><c> and</c><00:24:32.159><c> here</c><00:24:32.400><c> you</c><00:24:32.580><c> have</c>

00:24:32.690 --> 00:24:32.700 align:start position:0%
ownership and possible and here you have
 

00:24:32.700 --> 00:24:35.930 align:start position:0%
ownership and possible and here you have
a<00:24:32.880><c> system</c><00:24:33.000><c> where</c><00:24:33.900><c> your</c><00:24:34.140><c> owner</c><00:24:34.799><c> and</c><00:24:35.580><c> you</c><00:24:35.760><c> can</c>

00:24:35.930 --> 00:24:35.940 align:start position:0%
a system where your owner and you can
 

00:24:35.940 --> 00:24:41.110 align:start position:0%
a system where your owner and you can
pause<00:24:36.240><c> or</c><00:24:36.720><c> resumes</c><00:24:37.320><c> as</c><00:24:37.500><c> a</c><00:24:37.740><c> contract</c>

00:24:41.110 --> 00:24:41.120 align:start position:0%
 
 

00:24:41.120 --> 00:24:44.450 align:start position:0%
 
and<00:24:42.120><c> what</c><00:24:42.299><c> we</c><00:24:42.539><c> want</c><00:24:42.720><c> to</c><00:24:42.900><c> check</c><00:24:43.140><c> is</c><00:24:43.679><c> that</c><00:24:43.919><c> if</c><00:24:44.280><c> we</c>

00:24:44.450 --> 00:24:44.460 align:start position:0%
and what we want to check is that if we
 

00:24:44.460 --> 00:24:47.330 align:start position:0%
and what we want to check is that if we
drop<00:24:44.700><c> the</c><00:24:45.360><c> ownership</c><00:24:45.720><c> and</c><00:24:46.620><c> we</c><00:24:46.799><c> pause</c><00:24:47.039><c> the</c>

00:24:47.330 --> 00:24:47.340 align:start position:0%
drop the ownership and we pause the
 

00:24:47.340 --> 00:24:47.990 align:start position:0%
drop the ownership and we pause the
system

00:24:47.990 --> 00:24:48.000 align:start position:0%
system
 

00:24:48.000 --> 00:24:50.810 align:start position:0%
system
is<00:24:48.539><c> it</c><00:24:48.659><c> possible</c><00:24:49.020><c> to</c><00:24:49.260><c> unpause</c><00:24:49.440><c> it</c><00:24:49.860><c> so</c><00:24:50.460><c> here</c><00:24:50.640><c> we</c>

00:24:50.810 --> 00:24:50.820 align:start position:0%
is it possible to unpause it so here we
 

00:24:50.820 --> 00:24:52.850 align:start position:0%
is it possible to unpause it so here we
have<00:24:50.940><c> a</c><00:24:51.120><c> bit</c><00:24:51.240><c> of</c><00:24:51.480><c> initialization</c><00:24:52.140><c> to</c><00:24:52.500><c> do</c><00:24:52.620><c> what</c>

00:24:52.850 --> 00:24:52.860 align:start position:0%
have a bit of initialization to do what
 

00:24:52.860 --> 00:24:54.590 align:start position:0%
have a bit of initialization to do what
because<00:24:53.100><c> we</c><00:24:53.340><c> want</c><00:24:53.460><c> to</c><00:24:53.580><c> drop</c><00:24:53.880><c> the</c><00:24:54.299><c> ownership</c>

00:24:54.590 --> 00:24:54.600 align:start position:0%
because we want to drop the ownership
 

00:24:54.600 --> 00:24:57.049 align:start position:0%
because we want to drop the ownership
and<00:24:54.900><c> we</c><00:24:55.020><c> want</c><00:24:55.140><c> to</c><00:24:55.260><c> put</c><00:24:55.440><c> the</c><00:24:55.620><c> system</c><00:24:55.880><c> we</c><00:24:56.880><c> are</c>

00:24:57.049 --> 00:24:57.059 align:start position:0%
and we want to put the system we are
 

00:24:57.059 --> 00:24:59.149 align:start position:0%
and we want to put the system we are
doing<00:24:57.179><c> this</c><00:24:57.539><c> in</c><00:24:57.840><c> the</c><00:24:58.020><c> Constructor</c><00:24:58.500><c> so</c><00:24:58.860><c> we</c><00:24:59.039><c> are</c>

00:24:59.149 --> 00:24:59.159 align:start position:0%
doing this in the Constructor so we are
 

00:24:59.159 --> 00:25:01.789 align:start position:0%
doing this in the Constructor so we are
calling<00:24:59.400><c> pause</c><00:24:59.580><c> and</c><00:24:59.940><c> oh</c><00:25:00.120><c> no</c><00:25:00.360><c> from</c><00:25:01.140><c> now</c><00:25:01.320><c> on</c><00:25:01.500><c> the</c>

00:25:01.789 --> 00:25:01.799 align:start position:0%
calling pause and oh no from now on the
 

00:25:01.799 --> 00:25:03.950 align:start position:0%
calling pause and oh no from now on the
system<00:25:02.039><c> as</c><00:25:02.340><c> a</c><00:25:02.520><c> contract</c><00:25:02.760><c> is</c><00:25:02.880><c> deployed</c><00:25:03.419><c> it's</c>

00:25:03.950 --> 00:25:03.960 align:start position:0%
system as a contract is deployed it's
 

00:25:03.960 --> 00:25:07.250 align:start position:0%
system as a contract is deployed it's
pause<00:25:04.260><c> there</c><00:25:04.799><c> is</c><00:25:04.919><c> no</c><00:25:05.039><c> no</c>

00:25:07.250 --> 00:25:07.260 align:start position:0%
 
 

00:25:07.260 --> 00:25:10.549 align:start position:0%
 
the<00:25:07.740><c> invariant</c><00:25:08.220><c> is</c><00:25:08.520><c> then</c><00:25:08.820><c> just</c><00:25:09.480><c> if</c><00:25:10.320><c> the</c>

00:25:10.549 --> 00:25:10.559 align:start position:0%
the invariant is then just if the
 

00:25:10.559 --> 00:25:12.049 align:start position:0%
the invariant is then just if the
variable<00:25:10.919><c> that</c><00:25:11.220><c> you</c><00:25:11.400><c> know</c><00:25:11.520><c> tracks</c><00:25:11.880><c> the</c>

00:25:12.049 --> 00:25:12.059 align:start position:0%
variable that you know tracks the
 

00:25:12.059 --> 00:25:15.890 align:start position:0%
variable that you know tracks the
possible<00:25:12.960><c> state</c><00:25:13.500><c> of</c><00:25:13.679><c> the</c><00:25:13.860><c> system</c><00:25:14.039><c> is</c><00:25:14.460><c> true</c><00:25:14.900><c> and</c>

00:25:15.890 --> 00:25:15.900 align:start position:0%
possible state of the system is true and
 

00:25:15.900 --> 00:25:18.350 align:start position:0%
possible state of the system is true and
this<00:25:16.320><c> should</c><00:25:16.559><c> hard</c><00:25:16.860><c> work</c><00:25:17.159><c> you</c><00:25:17.640><c> pause</c><00:25:17.820><c> no</c>

00:25:18.350 --> 00:25:18.360 align:start position:0%
this should hard work you pause no
 

00:25:18.360 --> 00:25:23.049 align:start position:0%
this should hard work you pause no
ownership<00:25:18.740><c> it</c><00:25:19.740><c> should</c><00:25:19.860><c> be</c><00:25:19.980><c> always</c><00:25:20.100><c> post</c>

00:25:23.049 --> 00:25:23.059 align:start position:0%
 
 

00:25:23.059 --> 00:25:25.909 align:start position:0%
 
and<00:25:24.059><c> I</c><00:25:24.240><c> cannot</c><00:25:24.659><c> tells</c><00:25:25.080><c> us</c><00:25:25.140><c> that</c><00:25:25.440><c> it</c><00:25:25.740><c> actually</c>

00:25:25.909 --> 00:25:25.919 align:start position:0%
and I cannot tells us that it actually
 

00:25:25.919 --> 00:25:29.690 align:start position:0%
and I cannot tells us that it actually
failed<00:25:26.460><c> and</c><00:25:26.820><c> the</c><00:25:27.000><c> reason</c><00:25:27.120><c> for</c><00:25:27.480><c> that</c><00:25:27.720><c> so</c><00:25:28.700><c> this</c>

00:25:29.690 --> 00:25:29.700 align:start position:0%
failed and the reason for that so this
 

00:25:29.700 --> 00:25:32.210 align:start position:0%
failed and the reason for that so this
is<00:25:29.880><c> kind</c><00:25:30.179><c> of</c><00:25:30.240><c> like</c><00:25:30.419><c> an</c><00:25:30.720><c> old</c><00:25:31.020><c> bug</c><00:25:31.740><c> that</c><00:25:32.039><c> were</c>

00:25:32.210 --> 00:25:32.220 align:start position:0%
is kind of like an old bug that were
 

00:25:32.220 --> 00:25:33.649 align:start position:0%
is kind of like an old bug that were
really<00:25:32.460><c> frequent</c><00:25:32.940><c> and</c><00:25:33.120><c> common</c><00:25:33.240><c> in</c><00:25:33.480><c> old</c>

00:25:33.649 --> 00:25:33.659 align:start position:0%
really frequent and common in old
 

00:25:33.659 --> 00:25:34.909 align:start position:0%
really frequent and common in old
version<00:25:33.779><c> of</c><00:25:34.020><c> solidity</c>

00:25:34.909 --> 00:25:34.919 align:start position:0%
version of solidity
 

00:25:34.919 --> 00:25:37.549 align:start position:0%
version of solidity
there<00:25:35.460><c> was</c><00:25:35.580><c> no</c><00:25:35.820><c> constrictor</c><00:25:36.419><c> keywords</c><00:25:37.080><c> and</c>

00:25:37.549 --> 00:25:37.559 align:start position:0%
there was no constrictor keywords and
 

00:25:37.559 --> 00:25:39.049 align:start position:0%
there was no constrictor keywords and
where<00:25:37.919><c> you</c><00:25:38.159><c> were</c><00:25:38.220><c> doing</c><00:25:38.460><c> the</c><00:25:38.700><c> Constructor</c>

00:25:39.049 --> 00:25:39.059 align:start position:0%
where you were doing the Constructor
 

00:25:39.059 --> 00:25:41.269 align:start position:0%
where you were doing the Constructor
that<00:25:39.539><c> you</c><00:25:39.659><c> needed</c><00:25:39.960><c> to</c><00:25:40.200><c> have</c><00:25:40.380><c> the</c><00:25:40.919><c> function</c>

00:25:41.269 --> 00:25:41.279 align:start position:0%
that you needed to have the function
 

00:25:41.279 --> 00:25:43.010 align:start position:0%
that you needed to have the function
name<00:25:41.520><c> which</c><00:25:41.820><c> was</c><00:25:42.000><c> a</c><00:25:42.179><c> match</c><00:25:42.360><c> with</c><00:25:42.600><c> the</c><00:25:42.720><c> contract</c>

00:25:43.010 --> 00:25:43.020 align:start position:0%
name which was a match with the contract
 

00:25:43.020 --> 00:25:44.930 align:start position:0%
name which was a match with the contract
name<00:25:43.260><c> and</c><00:25:43.860><c> here</c><00:25:44.039><c> you</c><00:25:44.279><c> have</c><00:25:44.460><c> the</c><00:25:44.580><c> contract</c>

00:25:44.930 --> 00:25:44.940 align:start position:0%
name and here you have the contract
 

00:25:44.940 --> 00:25:47.870 align:start position:0%
name and here you have the contract
ownership<00:25:45.419><c> and</c><00:25:45.779><c> a</c><00:25:45.960><c> function</c><00:25:46.200><c> owner</c><00:25:46.880><c> and</c>

00:25:47.870 --> 00:25:47.880 align:start position:0%
ownership and a function owner and
 

00:25:47.880 --> 00:25:49.490 align:start position:0%
ownership and a function owner and
because<00:25:48.120><c> of</c><00:25:48.360><c> that</c><00:25:48.480><c> the</c><00:25:48.720><c> functional</c><00:25:49.080><c> is</c><00:25:49.440><c> a</c>

00:25:49.490 --> 00:25:49.500 align:start position:0%
because of that the functional is a
 

00:25:49.500 --> 00:25:51.529 align:start position:0%
because of that the functional is a
public<00:25:49.620><c> function</c><00:25:50.100><c> and</c><00:25:50.520><c> anyone</c><00:25:51.000><c> can</c><00:25:51.299><c> call</c><00:25:51.419><c> it</c>

00:25:51.529 --> 00:25:51.539 align:start position:0%
public function and anyone can call it
 

00:25:51.539 --> 00:25:54.169 align:start position:0%
public function and anyone can call it
and<00:25:51.720><c> become</c><00:25:52.020><c> the</c><00:25:52.200><c> owner</c><00:25:52.799><c> this</c><00:25:53.520><c> does</c><00:25:53.760><c> not</c><00:25:53.940><c> work</c>

00:25:54.169 --> 00:25:54.179 align:start position:0%
and become the owner this does not work
 

00:25:54.179 --> 00:25:55.549 align:start position:0%
and become the owner this does not work
anymore<00:25:54.539><c> with</c><00:25:54.900><c> more</c><00:25:55.140><c> you</c><00:25:55.320><c> know</c><00:25:55.380><c> modern</c>

00:25:55.549 --> 00:25:55.559 align:start position:0%
anymore with more you know modern
 

00:25:55.559 --> 00:25:57.950 align:start position:0%
anymore with more you know modern
version<00:25:55.860><c> of</c><00:25:56.100><c> solidity</c><00:25:56.520><c> but</c><00:25:57.240><c> the</c><00:25:57.539><c> type</c><00:25:57.659><c> of</c><00:25:57.720><c> bug</c>

00:25:57.950 --> 00:25:57.960 align:start position:0%
version of solidity but the type of bug
 

00:25:57.960 --> 00:26:01.909 align:start position:0%
version of solidity but the type of bug
that<00:25:58.260><c> we</c><00:25:58.500><c> are</c><00:25:58.740><c> finding</c><00:25:59.640><c> a</c><00:26:00.360><c> bit</c><00:26:00.600><c> more</c><00:26:00.779><c> a</c><00:26:01.380><c> bit</c><00:26:01.740><c> too</c>

00:26:01.909 --> 00:26:01.919 align:start position:0%
that we are finding a bit more a bit too
 

00:26:01.919 --> 00:26:04.130 align:start position:0%
that we are finding a bit more a bit too
much<00:26:02.100><c> in</c><00:26:02.700><c> the</c><00:26:02.760><c> past</c>

00:26:04.130 --> 00:26:04.140 align:start position:0%
much in the past
 

00:26:04.140 --> 00:26:05.930 align:start position:0%
much in the past
something<00:26:04.500><c> which</c><00:26:04.740><c> is</c><00:26:04.860><c> interesting</c><00:26:05.340><c> again</c><00:26:05.520><c> is</c>

00:26:05.930 --> 00:26:05.940 align:start position:0%
something which is interesting again is
 

00:26:05.940 --> 00:26:07.850 align:start position:0%
something which is interesting again is
that<00:26:06.179><c> you</c><00:26:06.360><c> know</c><00:26:06.480><c> we</c><00:26:06.900><c> did</c><00:26:07.020><c> not</c><00:26:07.200><c> look</c><00:26:07.500><c> at</c><00:26:07.740><c> the</c>

00:26:07.850 --> 00:26:07.860 align:start position:0%
that you know we did not look at the
 

00:26:07.860 --> 00:26:09.710 align:start position:0%
that you know we did not look at the
ownership<00:26:08.159><c> contract</c><00:26:08.640><c> we</c><00:26:08.940><c> did</c><00:26:09.179><c> not</c><00:26:09.299><c> look</c><00:26:09.539><c> like</c>

00:26:09.710 --> 00:26:09.720 align:start position:0%
ownership contract we did not look like
 

00:26:09.720 --> 00:26:11.870 align:start position:0%
ownership contract we did not look like
at<00:26:09.960><c> the</c><00:26:10.200><c> implementation</c><00:26:10.919><c> itself</c><00:26:11.400><c> we</c><00:26:11.640><c> just</c>

00:26:11.870 --> 00:26:11.880 align:start position:0%
at the implementation itself we just
 

00:26:11.880 --> 00:26:14.510 align:start position:0%
at the implementation itself we just
Define<00:26:12.059><c> an</c><00:26:12.419><c> invariant</c><00:26:12.960><c> and</c><00:26:13.799><c> without</c><00:26:14.039><c> the</c><00:26:14.340><c> one</c>

00:26:14.510 --> 00:26:14.520 align:start position:0%
Define an invariant and without the one
 

00:26:14.520 --> 00:26:16.490 align:start position:0%
Define an invariant and without the one
of<00:26:14.700><c> the</c><00:26:14.880><c> further</c><00:26:15.419><c> one</c><00:26:15.659><c> and</c><00:26:15.900><c> you</c><00:26:16.020><c> found</c><00:26:16.200><c> the</c>

00:26:16.490 --> 00:26:16.500 align:start position:0%
of the further one and you found the
 

00:26:16.500 --> 00:26:18.470 align:start position:0%
of the further one and you found the
environment<00:26:17.100><c> for</c><00:26:17.220><c> us</c>

00:26:18.470 --> 00:26:18.480 align:start position:0%
environment for us
 

00:26:18.480 --> 00:26:21.590 align:start position:0%
environment for us
so<00:26:19.200><c> now</c><00:26:19.500><c> bring</c><00:26:19.919><c> the</c><00:26:20.159><c> question</c><00:26:20.460><c> on</c><00:26:21.059><c> how</c><00:26:21.419><c> to</c>

00:26:21.590 --> 00:26:21.600 align:start position:0%
so now bring the question on how to
 

00:26:21.600 --> 00:26:23.269 align:start position:0%
so now bring the question on how to
define<00:26:21.779><c> it</c><00:26:22.140><c> okay</c>

00:26:23.269 --> 00:26:23.279 align:start position:0%
define it okay
 

00:26:23.279 --> 00:26:26.930 align:start position:0%
define it okay
foreign

00:26:26.930 --> 00:26:26.940 align:start position:0%
 
 

00:26:26.940 --> 00:26:28.390 align:start position:0%
 
okay

00:26:28.390 --> 00:26:28.400 align:start position:0%
okay
 

00:26:28.400 --> 00:26:32.330 align:start position:0%
okay
so<00:26:29.400><c> the</c><00:26:29.580><c> question</c><00:26:29.880><c> is</c><00:26:30.360><c> is</c><00:26:30.840><c> defining</c><00:26:31.740><c> invariant</c>

00:26:32.330 --> 00:26:32.340 align:start position:0%
so the question is is defining invariant
 

00:26:32.340 --> 00:26:35.750 align:start position:0%
so the question is is defining invariant
part<00:26:32.580><c> of</c><00:26:32.820><c> the</c><00:26:33.120><c> auditor</c><00:26:34.080><c> you</c><00:26:34.320><c> know</c><00:26:34.440><c> work</c><00:26:34.679><c> uh</c><00:26:35.520><c> yes</c>

00:26:35.750 --> 00:26:35.760 align:start position:0%
part of the auditor you know work uh yes
 

00:26:35.760 --> 00:26:37.610 align:start position:0%
part of the auditor you know work uh yes
like<00:26:36.120><c> we</c><00:26:36.360><c> are</c><00:26:36.539><c> using</c><00:26:36.720><c> a</c><00:26:36.840><c> Kinder</c><00:26:37.140><c> in</c><00:26:37.260><c> our</c><00:26:37.320><c> audit</c>

00:26:37.610 --> 00:26:37.620 align:start position:0%
like we are using a Kinder in our audit
 

00:26:37.620 --> 00:26:38.870 align:start position:0%
like we are using a Kinder in our audit
and<00:26:37.740><c> during</c><00:26:37.919><c> our</c><00:26:38.100><c> audit</c><00:26:38.340><c> we</c><00:26:38.520><c> are</c><00:26:38.640><c> going</c><00:26:38.760><c> to</c>

00:26:38.870 --> 00:26:38.880 align:start position:0%
and during our audit we are going to
 

00:26:38.880 --> 00:26:41.210 align:start position:0%
and during our audit we are going to
Define<00:26:39.059><c> invariant</c><00:26:40.080><c> and</c><00:26:40.679><c> something</c><00:26:40.799><c> we</c><00:26:41.100><c> are</c>

00:26:41.210 --> 00:26:41.220 align:start position:0%
Define invariant and something we are
 

00:26:41.220 --> 00:26:42.590 align:start position:0%
Define invariant and something we are
going<00:26:41.279><c> to</c><00:26:41.400><c> do</c><00:26:41.520><c> that</c><00:26:41.700><c> we</c><00:26:41.880><c> are</c><00:26:42.000><c> going</c><00:26:42.120><c> to</c><00:26:42.240><c> discuss</c>

00:26:42.590 --> 00:26:42.600 align:start position:0%
going to do that we are going to discuss
 

00:26:42.600 --> 00:26:44.269 align:start position:0%
going to do that we are going to discuss
with<00:26:42.960><c> the</c><00:26:43.140><c> developer</c><00:26:43.559><c> because</c><00:26:43.919><c> the</c>

00:26:44.269 --> 00:26:44.279 align:start position:0%
with the developer because the
 

00:26:44.279 --> 00:26:46.370 align:start position:0%
with the developer because the
developers<00:26:44.940><c> know</c><00:26:45.240><c> you</c><00:26:45.539><c> know</c><00:26:45.659><c> better</c><00:26:45.840><c> than</c><00:26:46.140><c> us</c>

00:26:46.370 --> 00:26:46.380 align:start position:0%
developers know you know better than us
 

00:26:46.380 --> 00:26:48.350 align:start position:0%
developers know you know better than us
what<00:26:46.679><c> the</c><00:26:46.860><c> system</c><00:26:47.039><c> is</c><00:26:47.279><c> supposed</c><00:26:47.460><c> to</c><00:26:47.700><c> do</c><00:26:47.820><c> so</c><00:26:48.240><c> we</c>

00:26:48.350 --> 00:26:48.360 align:start position:0%
what the system is supposed to do so we
 

00:26:48.360 --> 00:26:49.549 align:start position:0%
what the system is supposed to do so we
are<00:26:48.480><c> going</c><00:26:48.600><c> to</c><00:26:48.720><c> have</c><00:26:48.840><c> this</c><00:26:49.020><c> collaboration</c>

00:26:49.549 --> 00:26:49.559 align:start position:0%
are going to have this collaboration
 

00:26:49.559 --> 00:26:52.250 align:start position:0%
are going to have this collaboration
with<00:26:50.520><c> them</c><00:26:50.640><c> to</c><00:26:50.820><c> understand</c><00:26:50.940><c> what</c><00:26:51.299><c> the</c><00:26:51.480><c> system</c>

00:26:52.250 --> 00:26:52.260 align:start position:0%
with them to understand what the system
 

00:26:52.260 --> 00:26:53.990 align:start position:0%
with them to understand what the system
is<00:26:52.440><c> supposed</c><00:26:52.620><c> to</c><00:26:52.799><c> do</c><00:26:52.980><c> and</c><00:26:53.400><c> to</c><00:26:53.520><c> Define</c><00:26:53.700><c> this</c>

00:26:53.990 --> 00:26:54.000 align:start position:0%
is supposed to do and to Define this
 

00:26:54.000 --> 00:26:55.190 align:start position:0%
is supposed to do and to Define this
variants

00:26:55.190 --> 00:26:55.200 align:start position:0%
variants
 

00:26:55.200 --> 00:26:56.950 align:start position:0%
variants
foreign

00:26:56.950 --> 00:26:56.960 align:start position:0%
foreign
 

00:26:56.960 --> 00:27:00.049 align:start position:0%
foreign
how<00:26:57.960><c> to</c><00:26:58.080><c> define</c><00:26:58.320><c> invariance</c>

00:27:00.049 --> 00:27:00.059 align:start position:0%
how to define invariance
 

00:27:00.059 --> 00:27:02.149 align:start position:0%
how to define invariance
because<00:27:00.480><c> you</c><00:27:00.779><c> know</c><00:27:00.900><c> like</c>

00:27:02.149 --> 00:27:02.159 align:start position:0%
because you know like
 

00:27:02.159 --> 00:27:04.370 align:start position:0%
because you know like
if<00:27:02.400><c> you</c><00:27:02.580><c> have</c><00:27:02.760><c> bad</c><00:27:02.940><c> invariance</c><00:27:03.659><c> it</c><00:27:04.200><c> doesn't</c>

00:27:04.370 --> 00:27:04.380 align:start position:0%
if you have bad invariance it doesn't
 

00:27:04.380 --> 00:27:06.110 align:start position:0%
if you have bad invariance it doesn't
matter<00:27:04.860><c> what</c><00:27:05.279><c> you</c><00:27:05.400><c> are</c><00:27:05.520><c> doing</c><00:27:05.640><c> you</c><00:27:05.880><c> know</c><00:27:06.000><c> if</c>

00:27:06.110 --> 00:27:06.120 align:start position:0%
matter what you are doing you know if
 

00:27:06.120 --> 00:27:07.610 align:start position:0%
matter what you are doing you know if
you<00:27:06.179><c> are</c><00:27:06.299><c> using</c><00:27:06.539><c> further</c><00:27:06.840><c> if</c><00:27:07.140><c> you</c><00:27:07.260><c> are</c><00:27:07.380><c> using</c>

00:27:07.610 --> 00:27:07.620 align:start position:0%
you are using further if you are using
 

00:27:07.620 --> 00:27:09.289 align:start position:0%
you are using further if you are using
like<00:27:07.740><c> formal</c><00:27:08.100><c> method</c><00:27:08.340><c> if</c><00:27:08.580><c> your</c><00:27:08.700><c> invariant</c><00:27:09.120><c> are</c>

00:27:09.289 --> 00:27:09.299 align:start position:0%
like formal method if your invariant are
 

00:27:09.299 --> 00:27:10.970 align:start position:0%
like formal method if your invariant are
not<00:27:09.419><c> good</c><00:27:09.600><c> you're</c><00:27:10.140><c> just</c><00:27:10.320><c> going</c><00:27:10.500><c> to</c><00:27:10.559><c> check</c><00:27:10.740><c> for</c>

00:27:10.970 --> 00:27:10.980 align:start position:0%
not good you're just going to check for
 

00:27:10.980 --> 00:27:13.970 align:start position:0%
not good you're just going to check for
some<00:27:11.159><c> things</c><00:27:11.340><c> that</c><00:27:11.520><c> you</c><00:27:11.640><c> know</c><00:27:11.760><c> doesn't</c><00:27:12.059><c> matter</c>

00:27:13.970 --> 00:27:13.980 align:start position:0%
some things that you know doesn't matter
 

00:27:13.980 --> 00:27:17.210 align:start position:0%
some things that you know doesn't matter
the<00:27:14.340><c> best</c><00:27:14.700><c> approach</c><00:27:15.360><c> to</c><00:27:15.600><c> writing</c><00:27:16.080><c> variants</c>

00:27:17.210 --> 00:27:17.220 align:start position:0%
the best approach to writing variants
 

00:27:17.220 --> 00:27:20.090 align:start position:0%
the best approach to writing variants
is<00:27:17.760><c> not</c><00:27:18.059><c> to</c><00:27:18.299><c> start</c><00:27:18.539><c> with</c><00:27:18.960><c> a</c><00:27:19.200><c> tool</c><00:27:19.559><c> it's</c><00:27:19.679><c> not</c><00:27:19.919><c> to</c>

00:27:20.090 --> 00:27:20.100 align:start position:0%
is not to start with a tool it's not to
 

00:27:20.100 --> 00:27:21.350 align:start position:0%
is not to start with a tool it's not to
start<00:27:20.279><c> with</c><00:27:20.580><c> you</c><00:27:20.820><c> know</c><00:27:20.940><c> writing</c><00:27:21.240><c> down</c>

00:27:21.350 --> 00:27:21.360 align:start position:0%
start with you know writing down
 

00:27:21.360 --> 00:27:23.390 align:start position:0%
start with you know writing down
solidity<00:27:21.840><c> invariant</c><00:27:22.320><c> is</c><00:27:22.860><c> to</c><00:27:23.039><c> start</c><00:27:23.159><c> with</c>

00:27:23.390 --> 00:27:23.400 align:start position:0%
solidity invariant is to start with
 

00:27:23.400 --> 00:27:24.169 align:start position:0%
solidity invariant is to start with
English

00:27:24.169 --> 00:27:24.179 align:start position:0%
English
 

00:27:24.179 --> 00:27:26.269 align:start position:0%
English
open<00:27:24.779><c> a</c><00:27:25.080><c> file</c><00:27:25.260><c> and</c><00:27:25.440><c> markdown</c><00:27:25.860><c> file</c><00:27:26.100><c> or</c>

00:27:26.269 --> 00:27:26.279 align:start position:0%
open a file and markdown file or
 

00:27:26.279 --> 00:27:28.789 align:start position:0%
open a file and markdown file or
whatever<00:27:26.400><c> I</c><00:27:26.760><c> know</c><00:27:26.940><c> a</c><00:27:27.299><c> format</c><00:27:27.659><c> you</c><00:27:27.840><c> like</c><00:27:28.020><c> and</c>

00:27:28.789 --> 00:27:28.799 align:start position:0%
whatever I know a format you like and
 

00:27:28.799 --> 00:27:30.649 align:start position:0%
whatever I know a format you like and
write<00:27:29.159><c> in</c><00:27:29.340><c> English</c><00:27:29.580><c> what</c><00:27:29.940><c> the</c><00:27:30.179><c> system</c><00:27:30.360><c> is</c>

00:27:30.649 --> 00:27:30.659 align:start position:0%
write in English what the system is
 

00:27:30.659 --> 00:27:33.409 align:start position:0%
write in English what the system is
supposed<00:27:30.840><c> to</c><00:27:31.080><c> do</c><00:27:31.740><c> start</c><00:27:32.400><c> simple</c><00:27:32.760><c> start</c><00:27:33.179><c> with</c>

00:27:33.409 --> 00:27:33.419 align:start position:0%
supposed to do start simple start with
 

00:27:33.419 --> 00:27:35.090 align:start position:0%
supposed to do start simple start with
invariants<00:27:33.960><c> that</c><00:27:34.200><c> you</c><00:27:34.320><c> know</c><00:27:34.559><c> you</c><00:27:34.799><c> know</c><00:27:34.919><c> are</c>

00:27:35.090 --> 00:27:35.100 align:start position:0%
invariants that you know you know are
 

00:27:35.100 --> 00:27:36.529 align:start position:0%
invariants that you know you know are
true<00:27:35.340><c> start</c><00:27:35.580><c> with</c><00:27:35.820><c> things</c><00:27:36.059><c> that</c><00:27:36.240><c> are</c><00:27:36.360><c> not</c>

00:27:36.529 --> 00:27:36.539 align:start position:0%
true start with things that are not
 

00:27:36.539 --> 00:27:37.490 align:start position:0%
true start with things that are not
working

00:27:37.490 --> 00:27:37.500 align:start position:0%
working
 

00:27:37.500 --> 00:27:41.870 align:start position:0%
working
once<00:27:38.220><c> you</c><00:27:38.340><c> have</c><00:27:38.659><c> 5</c><00:27:39.659><c> or</c><00:27:39.960><c> 10</c><00:27:40.140><c> simple</c><00:27:40.500><c> invariants</c>

00:27:41.870 --> 00:27:41.880 align:start position:0%
once you have 5 or 10 simple invariants
 

00:27:41.880 --> 00:27:43.909 align:start position:0%
once you have 5 or 10 simple invariants
buy<00:27:42.240><c> them</c><00:27:42.480><c> in</c><00:27:42.600><c> solidity</c><00:27:43.020><c> and</c><00:27:43.440><c> when</c><00:27:43.740><c> the</c>

00:27:43.909 --> 00:27:43.919 align:start position:0%
buy them in solidity and when the
 

00:27:43.919 --> 00:27:45.350 align:start position:0%
buy them in solidity and when the
further<00:27:44.100><c> on</c><00:27:44.340><c> top</c><00:27:44.460><c> of</c><00:27:44.640><c> them</c>

00:27:45.350 --> 00:27:45.360 align:start position:0%
further on top of them
 

00:27:45.360 --> 00:27:48.409 align:start position:0%
further on top of them
if<00:27:45.779><c> the</c><00:27:45.960><c> invariant</c><00:27:46.919><c> are</c><00:27:47.520><c> all</c><00:27:47.700><c> holding</c><00:27:48.179><c> then</c>

00:27:48.409 --> 00:27:48.419 align:start position:0%
if the invariant are all holding then
 

00:27:48.419 --> 00:27:49.909 align:start position:0%
if the invariant are all holding then
you<00:27:48.600><c> can</c><00:27:48.659><c> go</c><00:27:48.840><c> back</c><00:27:49.020><c> to</c><00:27:49.200><c> thinking</c><00:27:49.620><c> about</c><00:27:49.740><c> the</c>

00:27:49.909 --> 00:27:49.919 align:start position:0%
you can go back to thinking about the
 

00:27:49.919 --> 00:27:52.730 align:start position:0%
you can go back to thinking about the
event<00:27:50.100><c> of</c><00:27:50.340><c> the</c><00:27:50.520><c> system</c><00:27:50.700><c> and</c><00:27:51.600><c> you</c><00:27:51.840><c> know</c><00:27:51.900><c> go</c><00:27:52.440><c> more</c>

00:27:52.730 --> 00:27:52.740 align:start position:0%
event of the system and you know go more
 

00:27:52.740 --> 00:27:54.409 align:start position:0%
event of the system and you know go more
deeper<00:27:53.460><c> into</c><00:27:53.640><c> into</c><00:27:53.880><c> the</c><00:27:54.120><c> environment</c>

00:27:54.409 --> 00:27:54.419 align:start position:0%
deeper into into the environment
 

00:27:54.419 --> 00:27:56.750 align:start position:0%
deeper into into the environment
themselves<00:27:54.840><c> if</c><00:27:55.320><c> something</c><00:27:55.559><c> is</c><00:27:55.799><c> broken</c><00:27:56.039><c> then</c>

00:27:56.750 --> 00:27:56.760 align:start position:0%
themselves if something is broken then
 

00:27:56.760 --> 00:27:59.570 align:start position:0%
themselves if something is broken then
look<00:27:57.120><c> if</c><00:27:57.600><c> the</c><00:27:57.900><c> invariant</c><00:27:58.380><c> is</c><00:27:58.559><c> incorrect</c><00:27:59.100><c> or</c><00:27:59.340><c> if</c>

00:27:59.570 --> 00:27:59.580 align:start position:0%
look if the invariant is incorrect or if
 

00:27:59.580 --> 00:28:01.130 align:start position:0%
look if the invariant is incorrect or if
there<00:27:59.700><c> is</c><00:27:59.880><c> an</c><00:27:59.940><c> actual</c><00:28:00.240><c> bug</c>

00:28:01.130 --> 00:28:01.140 align:start position:0%
there is an actual bug
 

00:28:01.140 --> 00:28:03.830 align:start position:0%
there is an actual bug
and<00:28:01.860><c> iterates</c><00:28:02.460><c> go</c><00:28:02.820><c> over</c>

00:28:03.830 --> 00:28:03.840 align:start position:0%
and iterates go over
 

00:28:03.840 --> 00:28:05.750 align:start position:0%
and iterates go over
um<00:28:03.900><c> yeah</c><00:28:04.200><c> in</c><00:28:04.500><c> in</c><00:28:04.679><c> our</c><00:28:04.919><c> experience</c><00:28:05.279><c> when</c><00:28:05.580><c> we</c>

00:28:05.750 --> 00:28:05.760 align:start position:0%
um yeah in in our experience when we
 

00:28:05.760 --> 00:28:09.350 align:start position:0%
um yeah in in our experience when we
work<00:28:06.000><c> with</c><00:28:06.299><c> uh</c><00:28:06.840><c> with</c><00:28:07.799><c> um</c><00:28:07.799><c> with</c><00:28:08.340><c> clients</c><00:28:08.760><c> when</c>

00:28:09.350 --> 00:28:09.360 align:start position:0%
work with uh with um with clients when
 

00:28:09.360 --> 00:28:11.529 align:start position:0%
work with uh with um with clients when
we<00:28:09.539><c> ask</c><00:28:09.659><c> them</c><00:28:09.900><c> to</c><00:28:10.140><c> do</c><00:28:10.260><c> step</c><00:28:10.559><c> one</c>

00:28:11.529 --> 00:28:11.539 align:start position:0%
we ask them to do step one
 

00:28:11.539 --> 00:28:14.409 align:start position:0%
we ask them to do step one
undefined<00:28:12.539><c> invariants</c><00:28:13.080><c> they</c><00:28:13.860><c> are</c><00:28:14.039><c> actually</c>

00:28:14.409 --> 00:28:14.419 align:start position:0%
undefined invariants they are actually
 

00:28:14.419 --> 00:28:18.649 align:start position:0%
undefined invariants they are actually
uh<00:28:15.419><c> they</c><00:28:15.659><c> they</c><00:28:15.779><c> realize</c><00:28:16.200><c> about</c><00:28:16.460><c> bugs</c><00:28:17.460><c> so</c><00:28:18.120><c> it</c><00:28:18.360><c> is</c>

00:28:18.649 --> 00:28:18.659 align:start position:0%
uh they they realize about bugs so it is
 

00:28:18.659 --> 00:28:20.630 align:start position:0%
uh they they realize about bugs so it is
already<00:28:18.900><c> a</c><00:28:19.380><c> good</c><00:28:19.500><c> a</c><00:28:19.740><c> very</c><00:28:19.919><c> good</c><00:28:20.159><c> thing</c><00:28:20.400><c> to</c>

00:28:20.630 --> 00:28:20.640 align:start position:0%
already a good a very good thing to
 

00:28:20.640 --> 00:28:22.430 align:start position:0%
already a good a very good thing to
start<00:28:20.880><c> thinking</c><00:28:21.240><c> into</c><00:28:21.419><c> that</c><00:28:21.659><c> even</c><00:28:22.080><c> if</c><00:28:22.320><c> you</c>

00:28:22.430 --> 00:28:22.440 align:start position:0%
start thinking into that even if you
 

00:28:22.440 --> 00:28:46.090 align:start position:0%
start thinking into that even if you
don't<00:28:22.559><c> if</c><00:28:22.799><c> you're</c><00:28:22.980><c> not</c><00:28:23.100><c> testing</c><00:28:23.460><c> yeah</c>

00:28:46.090 --> 00:28:46.100 align:start position:0%
 
 

00:28:46.100 --> 00:28:49.190 align:start position:0%
 
okay<00:28:47.100><c> okay</c><00:28:47.299><c> so</c><00:28:48.299><c> if</c><00:28:48.480><c> I</c><00:28:48.659><c> understand</c><00:28:48.720><c> correctly</c>

00:28:49.190 --> 00:28:49.200 align:start position:0%
okay okay so if I understand correctly
 

00:28:49.200 --> 00:28:51.289 align:start position:0%
okay okay so if I understand correctly
the<00:28:49.380><c> question</c><00:28:49.620><c> is</c><00:28:49.860><c> that</c><00:28:49.980><c> can</c><00:28:50.279><c> we</c><00:28:50.460><c> connect</c><00:28:50.700><c> this</c>

00:28:51.289 --> 00:28:51.299 align:start position:0%
the question is that can we connect this
 

00:28:51.299 --> 00:29:00.350 align:start position:0%
the question is that can we connect this
to<00:28:51.539><c> mainnet</c><00:28:52.380><c> okay</c>

00:29:00.350 --> 00:29:00.360 align:start position:0%
 
 

00:29:00.360 --> 00:29:02.570 align:start position:0%
 
okay<00:29:01.020><c> how</c><00:29:01.320><c> to</c><00:29:01.440><c> use</c><00:29:01.559><c> it</c><00:29:01.740><c> with</c><00:29:01.860><c> other</c><00:29:02.100><c> contract</c>

00:29:02.570 --> 00:29:02.580 align:start position:0%
okay how to use it with other contract
 

00:29:02.580 --> 00:29:04.010 align:start position:0%
okay how to use it with other contract
so<00:29:02.940><c> you</c><00:29:03.059><c> can</c><00:29:03.179><c> just</c><00:29:03.360><c> in</c><00:29:03.539><c> the</c><00:29:03.720><c> Constructor</c>

00:29:04.010 --> 00:29:04.020 align:start position:0%
so you can just in the Constructor
 

00:29:04.020 --> 00:29:07.070 align:start position:0%
so you can just in the Constructor
deploy<00:29:04.740><c> the</c><00:29:04.919><c> contract</c><00:29:05.419><c> uh</c><00:29:06.419><c> something</c><00:29:06.659><c> that</c><00:29:06.960><c> we</c>

00:29:07.070 --> 00:29:07.080 align:start position:0%
deploy the contract uh something that we
 

00:29:07.080 --> 00:29:08.510 align:start position:0%
deploy the contract uh something that we
are<00:29:07.260><c> not</c><00:29:07.320><c> going</c><00:29:07.440><c> to</c><00:29:07.559><c> cover</c><00:29:07.740><c> here</c><00:29:08.039><c> but</c><00:29:08.220><c> we</c><00:29:08.400><c> have</c>

00:29:08.510 --> 00:29:08.520 align:start position:0%
are not going to cover here but we have
 

00:29:08.520 --> 00:29:11.149 align:start position:0%
are not going to cover here but we have
a<00:29:08.640><c> tool</c><00:29:08.880><c> which</c><00:29:09.000><c> is</c><00:29:09.120><c> called</c><00:29:09.299><c> itino</c><00:29:10.039><c> which</c><00:29:11.039><c> is</c>

00:29:11.149 --> 00:29:11.159 align:start position:0%
a tool which is called itino which is
 

00:29:11.159 --> 00:29:13.490 align:start position:0%
a tool which is called itino which is
basically<00:29:11.520><c> going</c><00:29:11.880><c> to</c><00:29:12.360><c> take</c><00:29:12.840><c> your</c><00:29:13.020><c> unit</c><00:29:13.200><c> test</c>

00:29:13.490 --> 00:29:13.500 align:start position:0%
basically going to take your unit test
 

00:29:13.500 --> 00:29:16.370 align:start position:0%
basically going to take your unit test
take<00:29:13.799><c> like</c><00:29:14.100><c> your</c><00:29:14.340><c> suite</c><00:29:15.000><c> and</c><00:29:15.419><c> we</c><00:29:15.779><c> play</c><00:29:15.960><c> them</c><00:29:16.200><c> in</c>

00:29:16.370 --> 00:29:16.380 align:start position:0%
take like your suite and we play them in
 

00:29:16.380 --> 00:29:18.409 align:start position:0%
take like your suite and we play them in
Echidna<00:29:16.919><c> so</c><00:29:17.279><c> for</c><00:29:17.460><c> example</c><00:29:17.700><c> if</c><00:29:18.059><c> you</c><00:29:18.120><c> have</c><00:29:18.240><c> like</c>

00:29:18.409 --> 00:29:18.419 align:start position:0%
Echidna so for example if you have like
 

00:29:18.419 --> 00:29:20.149 align:start position:0%
Echidna so for example if you have like
a<00:29:18.539><c> complex</c><00:29:18.779><c> integration</c><00:29:19.320><c> with</c><00:29:19.679><c> like</c><00:29:19.919><c> you</c><00:29:20.100><c> know</c>

00:29:20.149 --> 00:29:20.159 align:start position:0%
a complex integration with like you know
 

00:29:20.159 --> 00:29:22.070 align:start position:0%
a complex integration with like you know
you<00:29:20.520><c> are</c><00:29:20.640><c> deploying</c><00:29:21.059><c> in</c><00:29:21.179><c> your</c><00:29:21.419><c> unit</c><00:29:21.539><c> test</c><00:29:21.779><c> 10</c>

00:29:22.070 --> 00:29:22.080 align:start position:0%
you are deploying in your unit test 10
 

00:29:22.080 --> 00:29:23.570 align:start position:0%
you are deploying in your unit test 10
different<00:29:22.320><c> contracts</c><00:29:22.980><c> you</c><00:29:23.100><c> are</c><00:29:23.220><c> deploying</c>

00:29:23.570 --> 00:29:23.580 align:start position:0%
different contracts you are deploying
 

00:29:23.580 --> 00:29:25.430 align:start position:0%
different contracts you are deploying
like<00:29:23.700><c> a</c><00:29:23.940><c> knockoff</c><00:29:24.480><c> unit</c><00:29:24.600><c> swap</c><00:29:25.020><c> or</c><00:29:25.200><c> whatever</c>

00:29:25.430 --> 00:29:25.440 align:start position:0%
like a knockoff unit swap or whatever
 

00:29:25.440 --> 00:29:26.930 align:start position:0%
like a knockoff unit swap or whatever
you<00:29:25.679><c> know</c><00:29:25.740><c> you</c><00:29:25.980><c> need</c><00:29:26.100><c> and</c><00:29:26.460><c> you</c><00:29:26.640><c> can</c><00:29:26.700><c> replay</c>

00:29:26.930 --> 00:29:26.940 align:start position:0%
you know you need and you can replay
 

00:29:26.940 --> 00:29:28.190 align:start position:0%
you know you need and you can replay
this<00:29:27.360><c> in</c><00:29:27.480><c> the</c><00:29:27.600><c> keynote</c><00:29:27.840><c> so</c><00:29:28.020><c> that</c><00:29:28.140><c> everything</c>

00:29:28.190 --> 00:29:28.200 align:start position:0%
this in the keynote so that everything
 

00:29:28.200 --> 00:29:29.950 align:start position:0%
this in the keynote so that everything
is<00:29:28.440><c> going</c><00:29:28.799><c> to</c><00:29:28.860><c> be</c><00:29:28.980><c> set</c><00:29:29.159><c> up</c>

00:29:29.950 --> 00:29:29.960 align:start position:0%
is going to be set up
 

00:29:29.960 --> 00:29:33.350 align:start position:0%
is going to be set up
yes<00:29:30.960><c> yes</c><00:29:31.200><c> I</c><00:29:31.559><c> I</c><00:29:31.740><c> uh</c><00:29:32.159><c> I</c><00:29:32.460><c> think</c><00:29:32.580><c> there's</c><00:29:32.820><c> some</c><00:29:33.120><c> a</c>

00:29:33.350 --> 00:29:33.360 align:start position:0%
yes yes I I uh I think there's some a
 

00:29:33.360 --> 00:29:36.350 align:start position:0%
yes yes I I uh I think there's some a
little<00:29:33.659><c> bit</c><00:29:34.020><c> something</c><00:29:34.380><c> else</c><00:29:34.620><c> there</c><00:29:34.860><c> that</c><00:29:35.360><c> you</c>

00:29:36.350 --> 00:29:36.360 align:start position:0%
little bit something else there that you
 

00:29:36.360 --> 00:29:38.149 align:start position:0%
little bit something else there that you
want<00:29:36.600><c> to</c><00:29:36.779><c> what</c><00:29:37.140><c> if</c><00:29:37.320><c> you</c><00:29:37.500><c> want</c><00:29:37.620><c> to</c><00:29:37.740><c> Define</c><00:29:37.860><c> an</c>

00:29:38.149 --> 00:29:38.159 align:start position:0%
want to what if you want to Define an
 

00:29:38.159 --> 00:29:41.029 align:start position:0%
want to what if you want to Define an
invariant<00:29:38.700><c> on</c><00:29:39.120><c> a</c><00:29:39.240><c> uni</c><00:29:39.539><c> swap</c><00:29:39.779><c> contract</c><00:29:40.260><c> right</c>

00:29:41.029 --> 00:29:41.039 align:start position:0%
invariant on a uni swap contract right
 

00:29:41.039 --> 00:29:42.710 align:start position:0%
invariant on a uni swap contract right
that<00:29:41.399><c> you</c><00:29:41.580><c> that</c><00:29:41.820><c> you</c><00:29:42.000><c> are</c><00:29:42.120><c> using</c><00:29:42.360><c> that</c><00:29:42.539><c> your</c>

00:29:42.710 --> 00:29:42.720 align:start position:0%
that you that you are using that your
 

00:29:42.720 --> 00:29:45.830 align:start position:0%
that you that you are using that your
contract<00:29:43.080><c> is</c><00:29:43.260><c> is</c><00:29:43.799><c> is</c><00:29:43.919><c> using</c><00:29:44.760><c> so</c><00:29:45.179><c> you</c><00:29:45.419><c> will</c><00:29:45.600><c> need</c>

00:29:45.830 --> 00:29:45.840 align:start position:0%
contract is is is using so you will need
 

00:29:45.840 --> 00:29:50.029 align:start position:0%
contract is is is using so you will need
to<00:29:46.080><c> know</c><00:29:46.260><c> how</c><00:29:46.799><c> Unison</c><00:29:47.600><c> uh</c><00:29:48.600><c> Works</c><00:29:49.260><c> in</c><00:29:49.679><c> order</c><00:29:49.799><c> to</c>

00:29:50.029 --> 00:29:50.039 align:start position:0%
to know how Unison uh Works in order to
 

00:29:50.039 --> 00:29:51.950 align:start position:0%
to know how Unison uh Works in order to
put<00:29:50.399><c> it</c><00:29:50.520><c> in</c><00:29:50.700><c> your</c><00:29:50.820><c> environment</c><00:29:51.299><c> like</c><00:29:51.480><c> if</c><00:29:51.840><c> I'm</c>

00:29:51.950 --> 00:29:51.960 align:start position:0%
put it in your environment like if I'm
 

00:29:51.960 --> 00:29:54.169 align:start position:0%
put it in your environment like if I'm
swapping<00:29:52.559><c> something</c><00:29:53.220><c> then</c><00:29:53.760><c> I'm</c><00:29:54.000><c> getting</c>

00:29:54.169 --> 00:29:54.179 align:start position:0%
swapping something then I'm getting
 

00:29:54.179 --> 00:29:57.049 align:start position:0%
swapping something then I'm getting
something<00:29:54.539><c> else</c><00:29:55.320><c> right</c><00:29:55.980><c> and</c><00:29:56.520><c> in</c><00:29:56.700><c> that</c><00:29:56.820><c> case</c>

00:29:57.049 --> 00:29:57.059 align:start position:0%
something else right and in that case
 

00:29:57.059 --> 00:29:59.330 align:start position:0%
something else right and in that case
you<00:29:57.720><c> need</c><00:29:57.840><c> to</c><00:29:58.020><c> realize</c><00:29:58.380><c> that</c><00:29:58.740><c> it's</c><00:29:59.039><c> difficult</c>

00:29:59.330 --> 00:29:59.340 align:start position:0%
you need to realize that it's difficult
 

00:29:59.340 --> 00:30:01.490 align:start position:0%
you need to realize that it's difficult
to<00:29:59.580><c> write</c><00:29:59.760><c> invariants</c><00:30:00.419><c> with</c><00:30:00.960><c> other</c><00:30:01.200><c> people</c>

00:30:01.490 --> 00:30:01.500 align:start position:0%
to write invariants with other people
 

00:30:01.500 --> 00:30:04.610 align:start position:0%
to write invariants with other people
called<00:30:01.799><c> right</c><00:30:02.779><c> despite</c><00:30:03.779><c> despite</c><00:30:04.260><c> this</c><00:30:04.440><c> is</c>

00:30:04.610 --> 00:30:04.620 align:start position:0%
called right despite despite this is
 

00:30:04.620 --> 00:30:07.010 align:start position:0%
called right despite despite this is
working<00:30:04.980><c> and</c><00:30:05.399><c> everyone</c><00:30:05.580><c> is</c><00:30:05.880><c> is</c><00:30:06.059><c> using</c><00:30:06.480><c> it</c><00:30:06.600><c> but</c>

00:30:07.010 --> 00:30:07.020 align:start position:0%
working and everyone is is using it but
 

00:30:07.020 --> 00:30:09.590 align:start position:0%
working and everyone is is using it but
every<00:30:07.740><c> time</c><00:30:07.980><c> that</c><00:30:08.279><c> you</c><00:30:08.520><c> use</c><00:30:08.700><c> a</c><00:30:09.000><c> third-party</c>

00:30:09.590 --> 00:30:09.600 align:start position:0%
every time that you use a third-party
 

00:30:09.600 --> 00:30:12.889 align:start position:0%
every time that you use a third-party
contract<00:30:10.159><c> then</c><00:30:11.159><c> you</c><00:30:11.940><c> have</c><00:30:12.059><c> you</c><00:30:12.600><c> are</c>

00:30:12.889 --> 00:30:12.899 align:start position:0%
contract then you have you are
 

00:30:12.899 --> 00:30:15.049 align:start position:0%
contract then you have you are
importance<00:30:13.380><c> on</c><00:30:13.620><c> risk</c><00:30:13.980><c> and</c><00:30:14.580><c> you</c><00:30:14.760><c> need</c><00:30:14.880><c> to</c>

00:30:15.049 --> 00:30:15.059 align:start position:0%
importance on risk and you need to
 

00:30:15.059 --> 00:30:16.610 align:start position:0%
importance on risk and you need to
completely<00:30:15.419><c> understand</c><00:30:15.720><c> the</c><00:30:16.080><c> other</c><00:30:16.260><c> contract</c>

00:30:16.610 --> 00:30:16.620 align:start position:0%
completely understand the other contract
 

00:30:16.620 --> 00:30:18.590 align:start position:0%
completely understand the other contract
in<00:30:16.799><c> order</c><00:30:16.980><c> to</c><00:30:17.220><c> know</c><00:30:17.399><c> what</c><00:30:18.000><c> is</c><00:30:18.179><c> going</c><00:30:18.299><c> to</c><00:30:18.419><c> the</c>

00:30:18.590 --> 00:30:18.600 align:start position:0%
in order to know what is going to the
 

00:30:18.600 --> 00:30:27.130 align:start position:0%
in order to know what is going to the
effect<00:30:18.720><c> in</c><00:30:19.140><c> your</c><00:30:19.260><c> own</c><00:30:19.440><c> country</c><00:30:19.620><c> I</c>

00:30:27.130 --> 00:30:27.140 align:start position:0%
 
 

00:30:27.140 --> 00:30:30.250 align:start position:0%
 
so<00:30:28.140><c> there</c><00:30:28.440><c> is</c><00:30:28.679><c> case</c><00:30:28.799><c> was</c><00:30:29.100><c> we</c><00:30:29.340><c> have</c><00:30:29.580><c> a</c><00:30:29.820><c> special</c>

00:30:30.250 --> 00:30:30.260 align:start position:0%
so there is case was we have a special
 

00:30:30.260 --> 00:30:33.350 align:start position:0%
so there is case was we have a special
uh<00:30:31.260><c> I'm</c><00:30:31.500><c> from</c><00:30:31.679><c> gearbox</c><00:30:32.100><c> protocol</c><00:30:32.580><c> and</c><00:30:32.940><c> we</c><00:30:33.120><c> work</c>

00:30:33.350 --> 00:30:33.360 align:start position:0%
uh I'm from gearbox protocol and we work
 

00:30:33.360 --> 00:30:35.690 align:start position:0%
uh I'm from gearbox protocol and we work
on<00:30:33.720><c> composable</c><00:30:34.260><c> Leverage</c><00:30:34.620><c> and</c><00:30:35.220><c> we</c><00:30:35.460><c> have</c>

00:30:35.690 --> 00:30:35.700 align:start position:0%
on composable Leverage and we have
 

00:30:35.700 --> 00:30:38.149 align:start position:0%
on composable Leverage and we have
adapters<00:30:36.419><c> because</c><00:30:36.779><c> we</c><00:30:37.620><c> just</c><00:30:37.799><c> provide</c>

00:30:38.149 --> 00:30:38.159 align:start position:0%
adapters because we just provide
 

00:30:38.159 --> 00:30:41.269 align:start position:0%
adapters because we just provide
leverage<00:30:38.520><c> for</c><00:30:39.120><c> some</c><00:30:39.419><c> other</c><00:30:40.260><c> contracts</c><00:30:40.919><c> so</c>

00:30:41.269 --> 00:30:41.279 align:start position:0%
leverage for some other contracts so
 

00:30:41.279 --> 00:30:43.370 align:start position:0%
leverage for some other contracts so
when<00:30:41.520><c> you</c><00:30:41.700><c> combine</c><00:30:41.940><c> gearbox</c><00:30:42.360><c> with</c><00:30:42.600><c> uni</c><00:30:43.080><c> swap</c>

00:30:43.370 --> 00:30:43.380 align:start position:0%
when you combine gearbox with uni swap
 

00:30:43.380 --> 00:30:45.649 align:start position:0%
when you combine gearbox with uni swap
you<00:30:43.620><c> get</c><00:30:43.799><c> immediately</c>

00:30:45.649 --> 00:30:45.659 align:start position:0%
you get immediately
 

00:30:45.659 --> 00:30:48.289 align:start position:0%
you get immediately
um<00:30:46.140><c> margin</c><00:30:46.980><c> trading</c><00:30:47.340><c> and</c><00:30:47.580><c> in</c><00:30:47.700><c> this</c><00:30:47.880><c> case</c><00:30:48.000><c> it</c>

00:30:48.289 --> 00:30:48.299 align:start position:0%
um margin trading and in this case it
 

00:30:48.299 --> 00:30:50.450 align:start position:0%
um margin trading and in this case it
has<00:30:48.419><c> adapters</c><00:30:49.020><c> and</c><00:30:49.679><c> these</c><00:30:49.980><c> adapters</c>

00:30:50.450 --> 00:30:50.460 align:start position:0%
has adapters and these adapters
 

00:30:50.460 --> 00:30:54.529 align:start position:0%
has adapters and these adapters
incorrectly<00:30:51.179><c> Parts</c><00:30:51.799><c> path</c><00:30:52.799><c> to</c><00:30:53.520><c> make</c><00:30:53.760><c> check</c>

00:30:54.529 --> 00:30:54.539 align:start position:0%
incorrectly Parts path to make check
 

00:30:54.539 --> 00:30:57.529 align:start position:0%
incorrectly Parts path to make check
after<00:30:54.840><c> uni</c><00:30:55.380><c> swap</c><00:30:55.620><c> however</c><00:30:56.399><c> they</c><00:30:56.760><c> integrated</c>

00:30:57.529 --> 00:30:57.539 align:start position:0%
after uni swap however they integrated
 

00:30:57.539 --> 00:30:59.990 align:start position:0%
after uni swap however they integrated
and<00:30:57.960><c> may</c><00:30:58.200><c> call</c><00:30:58.440><c> to</c><00:30:58.679><c> existing</c><00:30:59.100><c> uni</c><00:30:59.520><c> Swap</c><00:30:59.760><c> and</c>

00:30:59.990 --> 00:31:00.000 align:start position:0%
and may call to existing uni Swap and
 

00:31:00.000 --> 00:31:02.810 align:start position:0%
and may call to existing uni Swap and
guy<00:31:00.419><c> who</c><00:31:00.840><c> were</c><00:31:01.380><c> on</c><00:31:01.620><c> immuneify</c><00:31:02.279><c> problem</c><00:31:02.460><c> he</c>

00:31:02.810 --> 00:31:02.820 align:start position:0%
guy who were on immuneify problem he
 

00:31:02.820 --> 00:31:05.630 align:start position:0%
guy who were on immuneify problem he
write<00:31:03.000><c> a</c><00:31:03.299><c> small</c><00:31:03.600><c> test</c><00:31:03.840><c> and</c><00:31:04.559><c> this</c><00:31:04.740><c> test</c><00:31:04.980><c> show</c><00:31:05.340><c> us</c>

00:31:05.630 --> 00:31:05.640 align:start position:0%
write a small test and this test show us
 

00:31:05.640 --> 00:31:09.409 align:start position:0%
write a small test and this test show us
that<00:31:06.240><c> if</c><00:31:06.659><c> you</c><00:31:06.899><c> really</c><00:31:07.080><c> add</c><00:31:07.500><c> some</c><00:31:08.419><c> additional</c>

00:31:09.409 --> 00:31:09.419 align:start position:0%
that if you really add some additional
 

00:31:09.419 --> 00:31:12.230 align:start position:0%
that if you really add some additional
part<00:31:09.840><c> of</c><00:31:10.080><c> call</c><00:31:10.320><c> data</c><00:31:10.860><c> it</c><00:31:11.820><c> could</c><00:31:12.000><c> be</c>

00:31:12.230 --> 00:31:12.240 align:start position:0%
part of call data it could be
 

00:31:12.240 --> 00:31:14.750 align:start position:0%
part of call data it could be
interpreted<00:31:12.899><c> incorrectly</c><00:31:13.740><c> so</c><00:31:14.159><c> we</c><00:31:14.399><c> have</c><00:31:14.520><c> two</c>

00:31:14.750 --> 00:31:14.760 align:start position:0%
interpreted incorrectly so we have two
 

00:31:14.760 --> 00:31:16.669 align:start position:0%
interpreted incorrectly so we have two
different<00:31:15.000><c> ones</c><00:31:15.480><c> our</c><00:31:15.840><c> system</c><00:31:16.140><c> could</c><00:31:16.500><c> be</c>

00:31:16.669 --> 00:31:16.679 align:start position:0%
different ones our system could be
 

00:31:16.679 --> 00:31:19.070 align:start position:0%
different ones our system could be
fooled<00:31:17.039><c> check</c><00:31:17.700><c> not</c>

00:31:19.070 --> 00:31:19.080 align:start position:0%
fooled check not
 

00:31:19.080 --> 00:31:21.590 align:start position:0%
fooled check not
Z<00:31:19.620><c> balance</c><00:31:20.039><c> which</c><00:31:20.279><c> should</c><00:31:20.520><c> be</c><00:31:20.640><c> checked</c><00:31:21.059><c> and</c><00:31:21.480><c> in</c>

00:31:21.590 --> 00:31:21.600 align:start position:0%
Z balance which should be checked and in
 

00:31:21.600 --> 00:31:23.570 align:start position:0%
Z balance which should be checked and in
this<00:31:21.779><c> case</c><00:31:21.960><c> it</c><00:31:22.380><c> was</c><00:31:22.500><c> a</c><00:31:22.740><c> fault</c><00:31:23.039><c> of</c><00:31:23.220><c> the</c><00:31:23.399><c> system</c>

00:31:23.570 --> 00:31:23.580 align:start position:0%
this case it was a fault of the system
 

00:31:23.580 --> 00:31:26.149 align:start position:0%
this case it was a fault of the system
and<00:31:23.940><c> the</c><00:31:24.360><c> funds</c><00:31:24.720><c> could</c><00:31:24.840><c> be</c><00:31:24.960><c> drained</c><00:31:25.440><c> and</c><00:31:25.980><c> in</c>

00:31:26.149 --> 00:31:26.159 align:start position:0%
and the funds could be drained and in
 

00:31:26.159 --> 00:31:28.250 align:start position:0%
and the funds could be drained and in
this<00:31:26.279><c> case</c><00:31:26.520><c> I</c><00:31:26.940><c> think</c><00:31:27.059><c> we</c><00:31:27.360><c> could</c><00:31:27.539><c> find</c><00:31:27.899><c> some</c>

00:31:28.250 --> 00:31:28.260 align:start position:0%
this case I think we could find some
 

00:31:28.260 --> 00:31:30.889 align:start position:0%
this case I think we could find some
fuzzing<00:31:28.679><c> testing</c><00:31:29.100><c> to</c><00:31:29.340><c> really</c><00:31:29.580><c> provide</c><00:31:30.419><c> any</c>

00:31:30.889 --> 00:31:30.899 align:start position:0%
fuzzing testing to really provide any
 

00:31:30.899 --> 00:31:33.289 align:start position:0%
fuzzing testing to really provide any
information<00:31:31.440><c> but</c><00:31:32.279><c> this</c><00:31:32.700><c> test</c><00:31:32.880><c> should</c><00:31:33.179><c> work</c>

00:31:33.289 --> 00:31:33.299 align:start position:0%
information but this test should work
 

00:31:33.299 --> 00:31:35.510 align:start position:0%
information but this test should work
with<00:31:33.480><c> uni</c><00:31:33.899><c> swap</c><00:31:34.140><c> because</c><00:31:34.500><c> we</c><00:31:35.039><c> behave</c><00:31:35.340><c> in</c>

00:31:35.510 --> 00:31:35.520 align:start position:0%
with uni swap because we behave in
 

00:31:35.520 --> 00:31:37.250 align:start position:0%
with uni swap because we behave in
different<00:31:35.700><c> way</c><00:31:36.059><c> and</c><00:31:36.600><c> we</c><00:31:36.840><c> shouldn't</c><00:31:37.080><c> cover</c>

00:31:37.250 --> 00:31:37.260 align:start position:0%
different way and we shouldn't cover
 

00:31:37.260 --> 00:31:39.950 align:start position:0%
different way and we shouldn't cover
that<00:31:37.620><c> because</c><00:31:37.860><c> we</c><00:31:38.159><c> run</c><00:31:38.340><c> with</c><00:31:38.520><c> mocks</c><00:31:39.059><c> and</c><00:31:39.539><c> MOX</c>

00:31:39.950 --> 00:31:39.960 align:start position:0%
that because we run with mocks and MOX
 

00:31:39.960 --> 00:31:41.870 align:start position:0%
that because we run with mocks and MOX
of<00:31:40.140><c> course</c><00:31:40.260><c> was</c><00:31:40.559><c> created</c><00:31:40.919><c> with</c><00:31:41.220><c> the</c><00:31:41.460><c> same</c><00:31:41.580><c> bug</c>

00:31:41.870 --> 00:31:41.880 align:start position:0%
of course was created with the same bug
 

00:31:41.880 --> 00:31:44.389 align:start position:0%
of course was created with the same bug
so<00:31:42.240><c> MOX</c><00:31:42.600><c> was</c><00:31:42.840><c> okay</c><00:31:43.020><c> but</c><00:31:43.620><c> real</c><00:31:43.799><c> implementation</c>

00:31:44.389 --> 00:31:44.399 align:start position:0%
so MOX was okay but real implementation
 

00:31:44.399 --> 00:31:46.730 align:start position:0%
so MOX was okay but real implementation
total<00:31:44.880><c> different</c><00:31:45.120><c> and</c><00:31:45.960><c> I</c><00:31:46.140><c> definitely</c><00:31:46.440><c> believe</c>

00:31:46.730 --> 00:31:46.740 align:start position:0%
total different and I definitely believe
 

00:31:46.740 --> 00:31:49.370 align:start position:0%
total different and I definitely believe
that<00:31:47.039><c> fuzzing</c><00:31:47.520><c> should</c><00:31:47.700><c> found</c><00:31:48.059><c> this</c><00:31:48.480><c> mistakes</c>

00:31:49.370 --> 00:31:49.380 align:start position:0%
that fuzzing should found this mistakes
 

00:31:49.380 --> 00:31:52.490 align:start position:0%
that fuzzing should found this mistakes
yeah<00:31:50.159><c> yeah</c><00:31:50.520><c> definitely</c><00:31:51.360><c> definitely</c><00:31:51.960><c> when</c><00:31:52.320><c> you</c>

00:31:52.490 --> 00:31:52.500 align:start position:0%
yeah yeah definitely definitely when you
 

00:31:52.500 --> 00:31:54.950 align:start position:0%
yeah yeah definitely definitely when you
are<00:31:52.679><c> creating</c><00:31:53.039><c> a</c><00:31:53.279><c> mock</c><00:31:53.520><c> you</c><00:31:54.120><c> are</c><00:31:54.240><c> assuming</c><00:31:54.659><c> how</c>

00:31:54.950 --> 00:31:54.960 align:start position:0%
are creating a mock you are assuming how
 

00:31:54.960 --> 00:31:56.870 align:start position:0%
are creating a mock you are assuming how
everything<00:31:55.200><c> works</c><00:31:55.740><c> and</c><00:31:56.100><c> if</c><00:31:56.279><c> your</c><00:31:56.399><c> assumption</c>

00:31:56.870 --> 00:31:56.880 align:start position:0%
everything works and if your assumption
 

00:31:56.880 --> 00:31:59.690 align:start position:0%
everything works and if your assumption
is<00:31:57.120><c> not</c><00:31:57.419><c> precise</c><00:31:58.020><c> enough</c><00:31:58.260><c> it</c><00:31:59.100><c> will</c><00:31:59.220><c> it</c><00:31:59.460><c> will</c>

00:31:59.690 --> 00:31:59.700 align:start position:0%
is not precise enough it will it will
 

00:31:59.700 --> 00:32:01.789 align:start position:0%
is not precise enough it will it will
you<00:32:00.240><c> won't</c><00:32:00.419><c> be</c><00:32:00.539><c> able</c><00:32:00.659><c> to</c><00:32:00.840><c> detect</c><00:32:01.380><c> something</c>

00:32:01.789 --> 00:32:01.799 align:start position:0%
you won't be able to detect something
 

00:32:01.799 --> 00:32:05.149 align:start position:0%
you won't be able to detect something
and<00:32:02.159><c> we</c><00:32:02.399><c> as</c><00:32:02.580><c> an</c><00:32:02.760><c> Auditors</c><00:32:03.440><c> it's</c><00:32:04.440><c> it's</c><00:32:04.620><c> common</c>

00:32:05.149 --> 00:32:05.159 align:start position:0%
and we as an Auditors it's it's common
 

00:32:05.159 --> 00:32:07.610 align:start position:0%
and we as an Auditors it's it's common
that<00:32:05.520><c> we</c><00:32:05.640><c> have</c><00:32:05.880><c> to</c><00:32:06.120><c> audit</c><00:32:06.720><c> contracts</c><00:32:07.440><c> that</c>

00:32:07.610 --> 00:32:07.620 align:start position:0%
that we have to audit contracts that
 

00:32:07.620 --> 00:32:09.289 align:start position:0%
that we have to audit contracts that
will<00:32:07.799><c> interact</c><00:32:08.220><c> with</c><00:32:08.340><c> other</c><00:32:08.580><c> other</c><00:32:08.820><c> contract</c>

00:32:09.289 --> 00:32:09.299 align:start position:0%
will interact with other other contract
 

00:32:09.299 --> 00:32:11.870 align:start position:0%
will interact with other other contract
let's<00:32:09.779><c> say</c><00:32:09.960><c> compound</c><00:32:10.440><c> so</c><00:32:11.100><c> when</c><00:32:11.399><c> we</c><00:32:11.580><c> go</c><00:32:11.700><c> into</c>

00:32:11.870 --> 00:32:11.880 align:start position:0%
let's say compound so when we go into
 

00:32:11.880 --> 00:32:13.430 align:start position:0%
let's say compound so when we go into
compound<00:32:12.299><c> we</c><00:32:12.539><c> have</c><00:32:12.659><c> all</c><00:32:12.779><c> the</c><00:32:12.960><c> documentation</c>

00:32:13.430 --> 00:32:13.440 align:start position:0%
compound we have all the documentation
 

00:32:13.440 --> 00:32:15.950 align:start position:0%
compound we have all the documentation
and<00:32:13.740><c> says</c><00:32:14.100><c> well</c><00:32:14.279><c> compound</c><00:32:15.000><c> word</c><00:32:15.179><c> like</c><00:32:15.480><c> this</c><00:32:15.659><c> or</c>

00:32:15.950 --> 00:32:15.960 align:start position:0%
and says well compound word like this or
 

00:32:15.960 --> 00:32:18.230 align:start position:0%
and says well compound word like this or
like<00:32:16.200><c> that</c><00:32:16.380><c> when</c><00:32:16.799><c> we</c><00:32:16.980><c> look</c><00:32:17.159><c> at</c><00:32:17.279><c> the</c><00:32:17.460><c> code</c><00:32:17.640><c> and</c>

00:32:18.230 --> 00:32:18.240 align:start position:0%
like that when we look at the code and
 

00:32:18.240 --> 00:32:21.169 align:start position:0%
like that when we look at the code and
see<00:32:18.539><c> some</c><00:32:19.140><c> things</c><00:32:19.740><c> are</c><00:32:20.039><c> not</c><00:32:20.279><c> documented</c><00:32:20.880><c> and</c>

00:32:21.169 --> 00:32:21.179 align:start position:0%
see some things are not documented and
 

00:32:21.179 --> 00:32:23.690 align:start position:0%
see some things are not documented and
we<00:32:21.360><c> go</c><00:32:21.539><c> back</c><00:32:21.840><c> into</c><00:32:22.080><c> the</c><00:32:22.500><c> developers</c><00:32:23.220><c> and</c><00:32:23.520><c> look</c>

00:32:23.690 --> 00:32:23.700 align:start position:0%
we go back into the developers and look
 

00:32:23.700 --> 00:32:25.730 align:start position:0%
we go back into the developers and look
look<00:32:23.940><c> if</c><00:32:24.360><c> you're</c><00:32:24.539><c> if</c><00:32:24.899><c> your</c><00:32:25.140><c> contract</c><00:32:25.440><c> is</c><00:32:25.620><c> doing</c>

00:32:25.730 --> 00:32:25.740 align:start position:0%
look if you're if your contract is doing
 

00:32:25.740 --> 00:32:27.649 align:start position:0%
look if you're if your contract is doing
this<00:32:25.919><c> so</c><00:32:26.039><c> that</c><00:32:26.279><c> it</c><00:32:26.399><c> will</c><00:32:26.580><c> revert</c><00:32:27.000><c> and</c><00:32:27.539><c> you're</c>

00:32:27.649 --> 00:32:27.659 align:start position:0%
this so that it will revert and you're
 

00:32:27.659 --> 00:32:31.010 align:start position:0%
this so that it will revert and you're
not<00:32:27.960><c> testing</c><00:32:28.620><c> for</c><00:32:28.799><c> that</c><00:32:28.980><c> so</c><00:32:29.880><c> it's</c><00:32:30.240><c> when</c><00:32:30.899><c> you</c>

00:32:31.010 --> 00:32:31.020 align:start position:0%
not testing for that so it's when you
 

00:32:31.020 --> 00:32:33.169 align:start position:0%
not testing for that so it's when you
when<00:32:31.320><c> you</c><00:32:31.500><c> are</c><00:32:31.620><c> using</c><00:32:31.860><c> a</c><00:32:32.039><c> third</c><00:32:32.220><c> party</c><00:32:32.520><c> uh</c>

00:32:33.169 --> 00:32:33.179 align:start position:0%
when you are using a third party uh
 

00:32:33.179 --> 00:32:35.750 align:start position:0%
when you are using a third party uh
contract<00:32:33.480><c> you</c><00:32:33.720><c> are</c><00:32:33.899><c> importing</c><00:32:34.380><c> the</c><00:32:34.559><c> risk</c><00:32:34.919><c> so</c>

00:32:35.750 --> 00:32:35.760 align:start position:0%
contract you are importing the risk so
 

00:32:35.760 --> 00:32:38.870 align:start position:0%
contract you are importing the risk so
either<00:32:36.360><c> either</c><00:32:36.779><c> you</c><00:32:37.380><c> have</c><00:32:37.679><c> really</c><00:32:38.039><c> good</c><00:32:38.279><c> tests</c>

00:32:38.870 --> 00:32:38.880 align:start position:0%
either either you have really good tests
 

00:32:38.880 --> 00:32:42.169 align:start position:0%
either either you have really good tests
or<00:32:39.720><c> you</c><00:32:40.020><c> even</c><00:32:40.279><c> uh</c><00:32:41.279><c> make</c><00:32:41.580><c> sure</c><00:32:41.760><c> that</c><00:32:42.059><c> you</c>

00:32:42.169 --> 00:32:42.179 align:start position:0%
or you even uh make sure that you
 

00:32:42.179 --> 00:32:44.750 align:start position:0%
or you even uh make sure that you
understand<00:32:42.360><c> everything</c><00:32:43.279><c> otherwise</c><00:32:44.279><c> it</c><00:32:44.640><c> will</c>

00:32:44.750 --> 00:32:44.760 align:start position:0%
understand everything otherwise it will
 

00:32:44.760 --> 00:32:47.810 align:start position:0%
understand everything otherwise it will
be<00:32:44.880><c> difficult</c><00:32:45.360><c> to</c><00:32:45.659><c> catch</c><00:32:45.960><c> the</c><00:32:46.260><c> uh</c><00:32:46.620><c> but</c><00:32:47.460><c> yeah</c><00:32:47.640><c> I</c>

00:32:47.810 --> 00:32:47.820 align:start position:0%
be difficult to catch the uh but yeah I
 

00:32:47.820 --> 00:32:49.130 align:start position:0%
be difficult to catch the uh but yeah I
think<00:32:48.120><c> this</c><00:32:48.240><c> type</c><00:32:48.419><c> of</c><00:32:48.539><c> work</c><00:32:48.659><c> can</c><00:32:48.899><c> be</c><00:32:49.020><c> found</c>

00:32:49.130 --> 00:32:49.140 align:start position:0%
think this type of work can be found
 

00:32:49.140 --> 00:32:50.750 align:start position:0%
think this type of work can be found
with<00:32:49.320><c> fuzzing</c><00:32:49.740><c> like</c><00:32:49.980><c> the</c><00:32:50.100><c> most</c><00:32:50.279><c> like</c><00:32:50.520><c> the</c>

00:32:50.750 --> 00:32:50.760 align:start position:0%
with fuzzing like the most like the
 

00:32:50.760 --> 00:32:52.909 align:start position:0%
with fuzzing like the most like the
difficulty<00:32:51.299><c> is</c><00:32:51.600><c> going</c><00:32:51.840><c> to</c><00:32:52.260><c> find</c>

00:32:52.909 --> 00:32:52.919 align:start position:0%
difficulty is going to find
 

00:32:52.919 --> 00:32:54.710 align:start position:0%
difficulty is going to find
initialization<00:32:53.700><c> that</c><00:32:54.000><c> makes</c><00:32:54.120><c> sense</c><00:32:54.299><c> and</c><00:32:54.539><c> then</c>

00:32:54.710 --> 00:32:54.720 align:start position:0%
initialization that makes sense and then
 

00:32:54.720 --> 00:32:56.450 align:start position:0%
initialization that makes sense and then
that<00:32:55.260><c> makes</c><00:32:55.380><c> sense</c>

00:32:56.450 --> 00:32:56.460 align:start position:0%
that makes sense
 

00:32:56.460 --> 00:32:57.950 align:start position:0%
that makes sense
um<00:32:56.520><c> that's</c><00:32:56.820><c> why</c><00:32:57.000><c> that's</c><00:32:57.120><c> why</c><00:32:57.360><c> you</c><00:32:57.480><c> know</c><00:32:57.600><c> we</c><00:32:57.779><c> are</c>

00:32:57.950 --> 00:32:57.960 align:start position:0%
um that's why that's why you know we are
 

00:32:57.960 --> 00:33:00.110 align:start position:0%
um that's why that's why you know we are
kind<00:32:58.320><c> of</c><00:32:58.500><c> in</c><00:32:58.740><c> putting</c><00:32:59.279><c> like</c><00:32:59.460><c> the</c><00:32:59.640><c> infances</c>

00:33:00.110 --> 00:33:00.120 align:start position:0%
kind of in putting like the infances
 

00:33:00.120 --> 00:33:01.970 align:start position:0%
kind of in putting like the infances
onto<00:33:00.539><c> defining</c><00:33:01.080><c> environment</c><00:33:01.500><c> because</c><00:33:01.740><c> this</c>

00:33:01.970 --> 00:33:01.980 align:start position:0%
onto defining environment because this
 

00:33:01.980 --> 00:33:03.409 align:start position:0%
onto defining environment because this
is<00:33:02.100><c> like</c><00:33:02.279><c> the</c><00:33:02.460><c> key</c><00:33:02.700><c> component</c><00:33:03.059><c> of</c><00:33:03.240><c> this</c>

00:33:03.409 --> 00:33:03.419 align:start position:0%
is like the key component of this
 

00:33:03.419 --> 00:33:04.909 align:start position:0%
is like the key component of this
technique<00:33:03.779><c> yeah</c>

00:33:04.909 --> 00:33:04.919 align:start position:0%
technique yeah
 

00:33:04.919 --> 00:33:05.930 align:start position:0%
technique yeah
uh

00:33:05.930 --> 00:33:05.940 align:start position:0%
uh
 

00:33:05.940 --> 00:33:09.289 align:start position:0%
uh
in<00:33:06.120><c> terms</c><00:33:06.860><c> in</c><00:33:07.860><c> terms</c><00:33:08.039><c> of</c><00:33:08.100><c> speed</c><00:33:08.279><c> is</c><00:33:08.520><c> it</c><00:33:08.700><c> okay</c><00:33:08.820><c> to</c>

00:33:09.289 --> 00:33:09.299 align:start position:0%
in terms in terms of speed is it okay to
 

00:33:09.299 --> 00:33:11.750 align:start position:0%
in terms in terms of speed is it okay to
put<00:33:09.539><c> all</c><00:33:10.080><c> deployment</c><00:33:10.799><c> script</c><00:33:11.399><c> into</c>

00:33:11.750 --> 00:33:11.760 align:start position:0%
put all deployment script into
 

00:33:11.760 --> 00:33:13.789 align:start position:0%
put all deployment script into
Constructor<00:33:12.360><c> because</c><00:33:12.720><c> of</c><00:33:13.019><c> course</c><00:33:13.200><c> if</c><00:33:13.679><c> you</c>

00:33:13.789 --> 00:33:13.799 align:start position:0%
Constructor because of course if you
 

00:33:13.799 --> 00:33:16.730 align:start position:0%
Constructor because of course if you
deploy<00:33:14.220><c> such</c><00:33:15.000><c> a</c><00:33:15.120><c> huge</c><00:33:15.480><c> system</c><00:33:15.720><c> and</c><00:33:16.140><c> you</c><00:33:16.260><c> deploy</c>

00:33:16.730 --> 00:33:16.740 align:start position:0%
deploy such a huge system and you deploy
 

00:33:16.740 --> 00:33:19.190 align:start position:0%
deploy such a huge system and you deploy
some<00:33:17.039><c> contracts</c><00:33:17.580><c> from</c><00:33:18.360><c> external</c>

00:33:19.190 --> 00:33:19.200 align:start position:0%
some contracts from external
 

00:33:19.200 --> 00:33:21.169 align:start position:0%
some contracts from external
repositories<00:33:19.740><c> like</c><00:33:19.980><c> uni</c><00:33:20.340><c> Swap</c><00:33:20.580><c> and</c><00:33:20.760><c> so</c><00:33:20.940><c> on</c><00:33:21.059><c> it</c>

00:33:21.169 --> 00:33:21.179 align:start position:0%
repositories like uni Swap and so on it
 

00:33:21.179 --> 00:33:23.330 align:start position:0%
repositories like uni Swap and so on it
requires<00:33:21.659><c> time</c><00:33:21.899><c> and</c><00:33:22.559><c> of</c><00:33:22.679><c> course</c><00:33:22.860><c> when</c><00:33:23.159><c> you</c>

00:33:23.330 --> 00:33:23.340 align:start position:0%
requires time and of course when you
 

00:33:23.340 --> 00:33:25.549 align:start position:0%
requires time and of course when you
want<00:33:23.519><c> to</c><00:33:23.700><c> test</c><00:33:23.880><c> million</c><00:33:24.419><c> operation</c><00:33:24.899><c> if</c><00:33:25.440><c> you</c>

00:33:25.549 --> 00:33:25.559 align:start position:0%
want to test million operation if you
 

00:33:25.559 --> 00:33:28.130 align:start position:0%
want to test million operation if you
redeploy<00:33:26.039><c> each</c><00:33:26.340><c> time</c><00:33:26.580><c> holds</c><00:33:27.539><c> the</c><00:33:27.659><c> system</c><00:33:27.779><c> it</c>

00:33:28.130 --> 00:33:28.140 align:start position:0%
redeploy each time holds the system it
 

00:33:28.140 --> 00:33:30.590 align:start position:0%
redeploy each time holds the system it
could<00:33:28.320><c> require</c><00:33:28.440><c> hours</c><00:33:29.039><c> or</c><00:33:29.519><c> days</c><00:33:29.760><c> I</c><00:33:30.059><c> know</c><00:33:30.240><c> yeah</c>

00:33:30.590 --> 00:33:30.600 align:start position:0%
could require hours or days I know yeah
 

00:33:30.600 --> 00:33:33.049 align:start position:0%
could require hours or days I know yeah
so<00:33:30.779><c> so</c><00:33:30.960><c> so</c><00:33:31.080><c> when</c><00:33:31.679><c> you</c><00:33:31.919><c> use</c><00:33:32.159><c> Echidna</c><00:33:32.760><c> you</c>

00:33:33.049 --> 00:33:33.059 align:start position:0%
so so so when you use Echidna you
 

00:33:33.059 --> 00:33:36.409 align:start position:0%
so so so when you use Echidna you
deploys<00:33:33.480><c> only</c><00:33:33.720><c> once</c><00:33:34.200><c> and</c><00:33:35.039><c> then</c><00:33:35.220><c> the</c><00:33:35.760><c> when</c><00:33:36.179><c> your</c>

00:33:36.409 --> 00:33:36.419 align:start position:0%
deploys only once and then the when your
 

00:33:36.419 --> 00:33:38.269 align:start position:0%
deploys only once and then the when your
test<00:33:36.600><c> finish</c><00:33:36.899><c> it</c><00:33:37.200><c> will</c><00:33:37.380><c> go</c><00:33:37.679><c> back</c><00:33:37.799><c> to</c><00:33:38.039><c> the</c>

00:33:38.269 --> 00:33:38.279 align:start position:0%
test finish it will go back to the
 

00:33:38.279 --> 00:33:40.070 align:start position:0%
test finish it will go back to the
states<00:33:38.519><c> after</c><00:33:39.000><c> the</c><00:33:39.179><c> contract</c><00:33:39.480><c> is</c><00:33:39.659><c> deployed</c>

00:33:40.070 --> 00:33:40.080 align:start position:0%
states after the contract is deployed
 

00:33:40.080 --> 00:33:43.850 align:start position:0%
states after the contract is deployed
there's<00:33:40.500><c> no</c><00:33:40.799><c> need</c><00:33:40.980><c> to</c><00:33:41.159><c> redeploy</c><00:33:41.640><c> it</c><00:33:41.820><c> and</c><00:33:43.080><c> that</c>

00:33:43.850 --> 00:33:43.860 align:start position:0%
there's no need to redeploy it and that
 

00:33:43.860 --> 00:33:46.909 align:start position:0%
there's no need to redeploy it and that
is<00:33:44.039><c> why</c><00:33:44.340><c> we</c><00:33:44.700><c> have</c><00:33:44.940><c> we</c><00:33:45.840><c> we</c><00:33:46.019><c> ask</c><00:33:46.320><c> the</c><00:33:46.500><c> developer</c>

00:33:46.909 --> 00:33:46.919 align:start position:0%
is why we have we we ask the developer
 

00:33:46.919 --> 00:33:49.549 align:start position:0%
is why we have we we ask the developer
to<00:33:47.100><c> have</c><00:33:47.340><c> fixed</c><00:33:47.880><c> amount</c><00:33:48.240><c> of</c><00:33:48.360><c> parameters</c><00:33:49.320><c> in</c>

00:33:49.549 --> 00:33:49.559 align:start position:0%
to have fixed amount of parameters in
 

00:33:49.559 --> 00:33:52.130 align:start position:0%
to have fixed amount of parameters in
the<00:33:49.740><c> deployment</c><00:33:50.120><c> right</c><00:33:51.120><c> on</c><00:33:51.360><c> the</c><00:33:51.480><c> on</c><00:33:51.659><c> the</c><00:33:51.840><c> on</c>

00:33:52.130 --> 00:33:52.140 align:start position:0%
the deployment right on the on the on
 

00:33:52.140 --> 00:33:54.649 align:start position:0%
the deployment right on the on the on
the<00:33:52.260><c> Constructor</c><00:33:52.700><c> otherwise</c><00:33:53.700><c> we</c><00:33:54.120><c> will</c><00:33:54.299><c> know</c>

00:33:54.649 --> 00:33:54.659 align:start position:0%
the Constructor otherwise we will know
 

00:33:54.659 --> 00:33:56.810 align:start position:0%
the Constructor otherwise we will know
what<00:33:54.960><c> what</c><00:33:55.260><c> we</c><00:33:55.500><c> should</c><00:33:55.620><c> deploy</c><00:33:56.039><c> yeah</c><00:33:56.519><c> I</c><00:33:56.760><c> think</c>

00:33:56.810 --> 00:33:56.820 align:start position:0%
what what we should deploy yeah I think
 

00:33:56.820 --> 00:34:00.889 align:start position:0%
what what we should deploy yeah I think
there<00:33:57.120><c> is</c><00:33:57.240><c> a</c><00:33:57.360><c> question</c><00:33:57.539><c> over</c><00:33:57.779><c> there</c><00:33:58.019><c> also</c>

00:34:00.889 --> 00:34:00.899 align:start position:0%
 
 

00:34:00.899 --> 00:34:03.889 align:start position:0%
 
um<00:34:01.080><c> I'm</c><00:34:01.860><c> just</c><00:34:01.919><c> wondering</c><00:34:02.220><c> as</c><00:34:02.580><c> you</c><00:34:02.820><c> uh</c><00:34:03.419><c> once</c>

00:34:03.889 --> 00:34:03.899 align:start position:0%
um I'm just wondering as you uh once
 

00:34:03.899 --> 00:34:06.049 align:start position:0%
um I'm just wondering as you uh once
you've<00:34:04.080><c> kind</c><00:34:04.380><c> of</c><00:34:04.500><c> defined</c><00:34:04.740><c> your</c><00:34:04.919><c> invariance</c>

00:34:06.049 --> 00:34:06.059 align:start position:0%
you've kind of defined your invariance
 

00:34:06.059 --> 00:34:09.649 align:start position:0%
you've kind of defined your invariance
um<00:34:06.179><c> and</c><00:34:06.960><c> I</c><00:34:07.860><c> imagine</c><00:34:08.460><c> you</c><00:34:08.760><c> guys</c><00:34:08.940><c> in</c><00:34:09.060><c> your</c><00:34:09.240><c> audits</c>

00:34:09.649 --> 00:34:09.659 align:start position:0%
um and I imagine you guys in your audits
 

00:34:09.659 --> 00:34:11.990 align:start position:0%
um and I imagine you guys in your audits
you<00:34:09.720><c> you</c><00:34:09.960><c> run</c><00:34:10.260><c> through</c><00:34:10.500><c> these</c><00:34:10.859><c> and</c>

00:34:11.990 --> 00:34:12.000 align:start position:0%
you you run through these and
 

00:34:12.000 --> 00:34:13.550 align:start position:0%
you you run through these and
um

00:34:13.550 --> 00:34:13.560 align:start position:0%
um
 

00:34:13.560 --> 00:34:15.589 align:start position:0%
um
basically<00:34:14.159><c> I'm</c><00:34:14.339><c> not</c><00:34:14.520><c> trying</c><00:34:14.879><c> to</c><00:34:15.119><c> understand</c>

00:34:15.589 --> 00:34:15.599 align:start position:0%
basically I'm not trying to understand
 

00:34:15.599 --> 00:34:18.589 align:start position:0%
basically I'm not trying to understand
when<00:34:16.320><c> you</c><00:34:16.500><c> guys</c><00:34:16.619><c> have</c><00:34:16.859><c> confidence</c><00:34:17.280><c> that</c><00:34:17.760><c> yes</c>

00:34:18.589 --> 00:34:18.599 align:start position:0%
when you guys have confidence that yes
 

00:34:18.599 --> 00:34:21.649 align:start position:0%
when you guys have confidence that yes
the<00:34:19.020><c> this</c><00:34:19.440><c> is</c><00:34:19.619><c> a</c><00:34:19.800><c> good</c><00:34:19.919><c> invariance</c><00:34:20.580><c> uh</c><00:34:21.359><c> from</c>

00:34:21.649 --> 00:34:21.659 align:start position:0%
the this is a good invariance uh from
 

00:34:21.659 --> 00:34:23.570 align:start position:0%
the this is a good invariance uh from
and<00:34:22.139><c> and</c><00:34:22.320><c> if</c><00:34:22.560><c> there</c><00:34:22.740><c> are</c><00:34:22.859><c> any</c><00:34:22.980><c> metrics</c><00:34:23.399><c> that</c>

00:34:23.570 --> 00:34:23.580 align:start position:0%
and and if there are any metrics that
 

00:34:23.580 --> 00:34:26.510 align:start position:0%
and and if there are any metrics that
you<00:34:23.700><c> guys</c><00:34:23.820><c> use</c><00:34:24.179><c> uh</c><00:34:24.960><c> internally</c><00:34:25.379><c> like</c><00:34:26.099><c> I</c><00:34:26.399><c> see</c>

00:34:26.510 --> 00:34:26.520 align:start position:0%
you guys use uh internally like I see
 

00:34:26.520 --> 00:34:29.389 align:start position:0%
you guys use uh internally like I see
it's<00:34:26.760><c> outputting</c><00:34:27.540><c> Unique</c><00:34:28.200><c> instructions</c><00:34:29.040><c> and</c>

00:34:29.389 --> 00:34:29.399 align:start position:0%
it's outputting Unique instructions and
 

00:34:29.399 --> 00:34:31.609 align:start position:0%
it's outputting Unique instructions and
unique<00:34:29.760><c> code</c><00:34:29.940><c> hashes</c><00:34:30.419><c> those</c><00:34:30.960><c> sorts</c><00:34:31.320><c> of</c><00:34:31.320><c> things</c>

00:34:31.609 --> 00:34:31.619 align:start position:0%
unique code hashes those sorts of things
 

00:34:31.619 --> 00:34:34.849 align:start position:0%
unique code hashes those sorts of things
that<00:34:32.099><c> uh</c><00:34:32.639><c> give</c><00:34:33.240><c> you</c><00:34:33.419><c> confidence</c><00:34:33.839><c> in</c><00:34:34.320><c> in</c><00:34:34.560><c> what</c>

00:34:34.849 --> 00:34:34.859 align:start position:0%
that uh give you confidence in in what
 

00:34:34.859 --> 00:34:36.050 align:start position:0%
that uh give you confidence in in what
you've<00:34:35.040><c> done</c>

00:34:36.050 --> 00:34:36.060 align:start position:0%
you've done
 

00:34:36.060 --> 00:34:38.629 align:start position:0%
you've done
so<00:34:36.720><c> in</c><00:34:37.080><c> practice</c><00:34:37.440><c> you</c><00:34:37.800><c> know</c><00:34:37.919><c> you</c><00:34:38.099><c> can</c><00:34:38.220><c> look</c><00:34:38.399><c> at</c>

00:34:38.629 --> 00:34:38.639 align:start position:0%
so in practice you know you can look at
 

00:34:38.639 --> 00:34:40.550 align:start position:0%
so in practice you know you can look at
the<00:34:38.879><c> coverage</c><00:34:39.240><c> but</c><00:34:39.480><c> usually</c><00:34:39.780><c> coverage</c><00:34:40.139><c> is</c><00:34:40.379><c> not</c>

00:34:40.550 --> 00:34:40.560 align:start position:0%
the coverage but usually coverage is not
 

00:34:40.560 --> 00:34:43.250 align:start position:0%
the coverage but usually coverage is not
a<00:34:40.679><c> good</c><00:34:40.800><c> indicator</c><00:34:41.220><c> and</c><00:34:42.179><c> In</c><00:34:42.419><c> fairness</c><00:34:42.839><c> like</c>

00:34:43.250 --> 00:34:43.260 align:start position:0%
a good indicator and In fairness like
 

00:34:43.260 --> 00:34:45.889 align:start position:0%
a good indicator and In fairness like
you<00:34:43.560><c> know</c><00:34:43.679><c> when</c><00:34:44.159><c> we</c><00:34:44.399><c> do</c><00:34:44.580><c> that</c><00:34:44.700><c> we</c><00:34:44.940><c> do</c><00:34:45.119><c> this</c><00:34:45.359><c> in</c><00:34:45.720><c> a</c>

00:34:45.889 --> 00:34:45.899 align:start position:0%
you know when we do that we do this in a
 

00:34:45.899 --> 00:34:48.710 align:start position:0%
you know when we do that we do this in a
time<00:34:46.080><c> box</c><00:34:46.320><c> manner</c><00:34:46.859><c> so</c><00:34:47.520><c> we</c><00:34:47.879><c> have</c><00:34:48.060><c> two</c><00:34:48.359><c> or</c><00:34:48.540><c> three</c>

00:34:48.710 --> 00:34:48.720 align:start position:0%
time box manner so we have two or three
 

00:34:48.720 --> 00:34:50.149 align:start position:0%
time box manner so we have two or three
weeks<00:34:49.020><c> to</c><00:34:49.080><c> do</c><00:34:49.200><c> it</c><00:34:49.320><c> and</c><00:34:49.440><c> we're</c><00:34:49.619><c> going</c><00:34:49.800><c> to</c><00:34:49.859><c> do</c><00:34:49.980><c> our</c>

00:34:50.149 --> 00:34:50.159 align:start position:0%
weeks to do it and we're going to do our
 

00:34:50.159 --> 00:34:53.030 align:start position:0%
weeks to do it and we're going to do our
best<00:34:50.280><c> in</c><00:34:50.580><c> two</c><00:34:50.760><c> or</c><00:34:50.879><c> three</c><00:34:51.060><c> weeks</c><00:34:51.560><c> uh</c><00:34:52.560><c> that's</c><00:34:52.859><c> the</c>

00:34:53.030 --> 00:34:53.040 align:start position:0%
best in two or three weeks uh that's the
 

00:34:53.040 --> 00:34:55.909 align:start position:0%
best in two or three weeks uh that's the
best<00:34:53.159><c> that</c><00:34:53.339><c> we</c><00:34:53.520><c> can</c><00:34:53.639><c> do</c><00:34:53.760><c> yeah</c><00:34:54.359><c> it's</c><00:34:54.599><c> it's</c><00:34:54.899><c> it's</c>

00:34:55.909 --> 00:34:55.919 align:start position:0%
best that we can do yeah it's it's it's
 

00:34:55.919 --> 00:34:59.329 align:start position:0%
best that we can do yeah it's it's it's
we<00:34:56.339><c> there</c><00:34:56.760><c> is</c><00:34:56.940><c> no</c>

00:34:59.329 --> 00:34:59.339 align:start position:0%
 
 

00:34:59.339 --> 00:35:02.450 align:start position:0%
 
uh<00:34:59.880><c> Silver</c><00:35:00.060><c> Bullet</c><00:35:00.540><c> for</c><00:35:00.780><c> this</c>

00:35:02.450 --> 00:35:02.460 align:start position:0%
uh Silver Bullet for this
 

00:35:02.460 --> 00:35:03.770 align:start position:0%
uh Silver Bullet for this
um<00:35:02.520><c> it</c>

00:35:03.770 --> 00:35:03.780 align:start position:0%
um it
 

00:35:03.780 --> 00:35:07.849 align:start position:0%
um it
we<00:35:04.680><c> when</c><00:35:05.160><c> we</c><00:35:05.400><c> do</c><00:35:05.640><c> a</c><00:35:06.119><c> report</c><00:35:06.420><c> we</c><00:35:07.260><c> list</c><00:35:07.440><c> the</c>

00:35:07.849 --> 00:35:07.859 align:start position:0%
we when we do a report we list the
 

00:35:07.859 --> 00:35:10.730 align:start position:0%
we when we do a report we list the
invariance<00:35:08.339><c> that</c><00:35:08.520><c> we</c><00:35:08.700><c> test</c><00:35:08.960><c> so</c><00:35:09.960><c> it's</c><00:35:10.380><c> it's</c>

00:35:10.730 --> 00:35:10.740 align:start position:0%
invariance that we test so it's it's
 

00:35:10.740 --> 00:35:13.670 align:start position:0%
invariance that we test so it's it's
clear<00:35:11.160><c> what</c><00:35:11.760><c> what</c><00:35:12.060><c> we</c><00:35:12.359><c> tested</c><00:35:12.839><c> and</c><00:35:13.200><c> what</c><00:35:13.380><c> and</c>

00:35:13.670 --> 00:35:13.680 align:start position:0%
clear what what we tested and what and
 

00:35:13.680 --> 00:35:15.589 align:start position:0%
clear what what we tested and what and
everything<00:35:13.859><c> else</c><00:35:14.160><c> was</c><00:35:14.460><c> was</c><00:35:14.760><c> not</c><00:35:15.000><c> tested</c><00:35:15.359><c> with</c>

00:35:15.589 --> 00:35:15.599 align:start position:0%
everything else was was not tested with
 

00:35:15.599 --> 00:35:18.109 align:start position:0%
everything else was was not tested with
all<00:35:15.839><c> so</c><00:35:16.079><c> we</c><00:35:16.380><c> will</c><00:35:16.560><c> perhaps</c><00:35:16.980><c> did</c><00:35:17.220><c> Manual</c><00:35:17.940><c> review</c>

00:35:18.109 --> 00:35:18.119 align:start position:0%
all so we will perhaps did Manual review
 

00:35:18.119 --> 00:35:20.210 align:start position:0%
all so we will perhaps did Manual review
or<00:35:18.540><c> use</c><00:35:18.780><c> all</c><00:35:19.079><c> the</c><00:35:19.260><c> techniques</c><00:35:19.619><c> like</c><00:35:19.800><c> Slither</c>

00:35:20.210 --> 00:35:20.220 align:start position:0%
or use all the techniques like Slither
 

00:35:20.220 --> 00:35:23.270 align:start position:0%
or use all the techniques like Slither
to<00:35:20.520><c> check</c><00:35:20.700><c> some</c><00:35:21.119><c> some</c><00:35:21.599><c> other</c><00:35:21.900><c> things</c><00:35:22.200><c> uh</c><00:35:23.160><c> but</c>

00:35:23.270 --> 00:35:23.280 align:start position:0%
to check some some other things uh but
 

00:35:23.280 --> 00:35:25.910 align:start position:0%
to check some some other things uh but
yeah<00:35:23.460><c> unfortunately</c><00:35:23.880><c> there</c><00:35:24.240><c> is</c><00:35:24.420><c> no</c><00:35:24.780><c> uh</c><00:35:25.560><c> good</c>

00:35:25.910 --> 00:35:25.920 align:start position:0%
yeah unfortunately there is no uh good
 

00:35:25.920 --> 00:35:30.410 align:start position:0%
yeah unfortunately there is no uh good
way<00:35:26.280><c> to</c><00:35:26.640><c> to</c><00:35:26.940><c> Define</c><00:35:27.240><c> this</c><00:35:27.800><c> uh</c><00:35:28.800><c> but</c><00:35:29.099><c> perhaps</c><00:35:29.579><c> I</c><00:35:30.060><c> I</c>

00:35:30.410 --> 00:35:30.420 align:start position:0%
way to to Define this uh but perhaps I I
 

00:35:30.420 --> 00:35:32.510 align:start position:0%
way to to Define this uh but perhaps I I
personally<00:35:30.839><c> think</c><00:35:31.079><c> that</c><00:35:31.440><c> talking</c><00:35:31.859><c> with</c><00:35:32.280><c> the</c>

00:35:32.510 --> 00:35:32.520 align:start position:0%
personally think that talking with the
 

00:35:32.520 --> 00:35:35.870 align:start position:0%
personally think that talking with the
developer<00:35:33.000><c> early</c><00:35:33.480><c> on</c><00:35:33.900><c> the</c><00:35:34.079><c> invariance</c><00:35:34.640><c> it's</c><00:35:35.640><c> a</c>

00:35:35.870 --> 00:35:35.880 align:start position:0%
developer early on the invariance it's a
 

00:35:35.880 --> 00:35:38.089 align:start position:0%
developer early on the invariance it's a
really<00:35:35.940><c> good</c><00:35:36.180><c> thing</c><00:35:36.480><c> it's</c><00:35:37.320><c> usually</c><00:35:37.680><c> the</c><00:35:37.920><c> case</c>

00:35:38.089 --> 00:35:38.099 align:start position:0%
really good thing it's usually the case
 

00:35:38.099 --> 00:35:40.370 align:start position:0%
really good thing it's usually the case
that<00:35:38.520><c> we</c><00:35:39.000><c> think</c><00:35:39.180><c> an</c><00:35:39.420><c> in</c><00:35:39.599><c> barrient</c><00:35:40.020><c> let's</c><00:35:40.200><c> say</c>

00:35:40.370 --> 00:35:40.380 align:start position:0%
that we think an in barrient let's say
 

00:35:40.380 --> 00:35:43.790 align:start position:0%
that we think an in barrient let's say
that<00:35:40.920><c> some</c><00:35:41.520><c> some</c><00:35:41.820><c> value</c><00:35:42.300><c> cannot</c><00:35:42.839><c> be</c><00:35:42.960><c> zero</c><00:35:43.440><c> and</c>

00:35:43.790 --> 00:35:43.800 align:start position:0%
that some some value cannot be zero and
 

00:35:43.800 --> 00:35:46.730 align:start position:0%
that some some value cannot be zero and
we<00:35:43.980><c> go</c><00:35:44.160><c> into</c><00:35:44.280><c> the</c><00:35:44.579><c> into</c><00:35:45.060><c> the</c><00:35:45.300><c> client</c><00:35:46.020><c> and</c><00:35:46.500><c> says</c>

00:35:46.730 --> 00:35:46.740 align:start position:0%
we go into the into the client and says
 

00:35:46.740 --> 00:35:48.770 align:start position:0%
we go into the into the client and says
is<00:35:47.040><c> this</c><00:35:47.400><c> an</c><00:35:47.579><c> invariant</c><00:35:48.000><c> we</c><00:35:48.480><c> don't</c><00:35:48.660><c> know</c>

00:35:48.770 --> 00:35:48.780 align:start position:0%
is this an invariant we don't know
 

00:35:48.780 --> 00:35:50.510 align:start position:0%
is this an invariant we don't know
because<00:35:49.020><c> we</c><00:35:49.260><c> have</c><00:35:49.440><c> not</c><00:35:49.619><c> designed</c><00:35:50.220><c> the</c><00:35:50.280><c> system</c>

00:35:50.510 --> 00:35:50.520 align:start position:0%
because we have not designed the system
 

00:35:50.520 --> 00:35:53.089 align:start position:0%
because we have not designed the system
and<00:35:51.180><c> they</c><00:35:51.300><c> don't</c><00:35:51.420><c> know</c><00:35:52.020><c> and</c><00:35:52.560><c> if</c><00:35:52.740><c> they</c><00:35:52.920><c> don't</c>

00:35:53.089 --> 00:35:53.099 align:start position:0%
and they don't know and if they don't
 

00:35:53.099 --> 00:35:55.190 align:start position:0%
and they don't know and if they don't
know<00:35:53.280><c> that's</c><00:35:53.760><c> that's</c><00:35:54.000><c> an</c><00:35:54.240><c> issue</c><00:35:54.540><c> right</c><00:35:54.900><c> we</c>

00:35:55.190 --> 00:35:55.200 align:start position:0%
know that's that's an issue right we
 

00:35:55.200 --> 00:35:58.130 align:start position:0%
know that's that's an issue right we
should<00:35:55.619><c> we</c><00:35:55.980><c> should</c><00:35:56.220><c> absolutely</c><00:35:57.060><c> know</c><00:35:57.480><c> what</c><00:35:58.020><c> is</c>

00:35:58.130 --> 00:35:58.140 align:start position:0%
should we should absolutely know what is
 

00:35:58.140 --> 00:36:00.829 align:start position:0%
should we should absolutely know what is
the<00:35:58.320><c> behavior</c><00:35:58.680><c> of</c><00:35:58.980><c> the</c><00:35:59.099><c> system</c><00:35:59.280><c> and</c><00:36:00.180><c> and</c><00:36:00.420><c> if</c><00:36:00.720><c> we</c>

00:36:00.829 --> 00:36:00.839 align:start position:0%
the behavior of the system and and if we
 

00:36:00.839 --> 00:36:02.930 align:start position:0%
the behavior of the system and and if we
don't<00:36:00.960><c> know</c><00:36:01.079><c> if</c><00:36:01.200><c> anybody</c><00:36:01.619><c> should</c><00:36:01.980><c> should</c><00:36:02.520><c> if</c>

00:36:02.930 --> 00:36:02.940 align:start position:0%
don't know if anybody should should if
 

00:36:02.940 --> 00:36:04.130 align:start position:0%
don't know if anybody should should if
something<00:36:03.119><c> should</c><00:36:03.359><c> be</c><00:36:03.540><c> an</c><00:36:03.599><c> environment</c><00:36:03.960><c> or</c>

00:36:04.130 --> 00:36:04.140 align:start position:0%
something should be an environment or
 

00:36:04.140 --> 00:36:06.410 align:start position:0%
something should be an environment or
not<00:36:04.200><c> then</c><00:36:04.440><c> we</c><00:36:04.859><c> should</c><00:36:05.040><c> go</c><00:36:05.220><c> back</c><00:36:05.400><c> and</c><00:36:05.640><c> rediscus</c>

00:36:06.410 --> 00:36:06.420 align:start position:0%
not then we should go back and rediscus
 

00:36:06.420 --> 00:36:08.630 align:start position:0%
not then we should go back and rediscus
that<00:36:06.599><c> and</c><00:36:07.079><c> yeah</c><00:36:07.260><c> Security</c><00:36:07.500><c> in</c><00:36:07.980><c> general</c><00:36:08.099><c> is</c><00:36:08.460><c> not</c>

00:36:08.630 --> 00:36:08.640 align:start position:0%
that and yeah Security in general is not
 

00:36:08.640 --> 00:36:11.030 align:start position:0%
that and yeah Security in general is not
binary<00:36:09.060><c> it's</c><00:36:09.300><c> not</c><00:36:09.480><c> you</c><00:36:09.599><c> know</c><00:36:09.660><c> yes</c><00:36:09.960><c> or</c><00:36:10.200><c> no</c><00:36:10.380><c> it's</c>

00:36:11.030 --> 00:36:11.040 align:start position:0%
binary it's not you know yes or no it's
 

00:36:11.040 --> 00:36:12.829 align:start position:0%
binary it's not you know yes or no it's
really<00:36:11.220><c> a</c><00:36:11.400><c> matter</c><00:36:11.520><c> of</c><00:36:11.700><c> how</c><00:36:12.060><c> much</c><00:36:12.180><c> resource</c><00:36:12.720><c> you</c>

00:36:12.829 --> 00:36:12.839 align:start position:0%
really a matter of how much resource you
 

00:36:12.839 --> 00:36:14.990 align:start position:0%
really a matter of how much resource you
want<00:36:12.960><c> to</c><00:36:13.020><c> put</c><00:36:13.140><c> into</c><00:36:13.380><c> it</c><00:36:13.680><c> and</c><00:36:14.160><c> moreover</c><00:36:14.760><c> social</c>

00:36:14.990 --> 00:36:15.000 align:start position:0%
want to put into it and moreover social
 

00:36:15.000 --> 00:36:20.530 align:start position:0%
want to put into it and moreover social
put<00:36:15.359><c> more</c><00:36:15.839><c> confidential</c>

00:36:20.530 --> 00:36:20.540 align:start position:0%
 
 

00:36:20.540 --> 00:36:22.750 align:start position:0%
 
thank<00:36:21.540><c> you</c>

00:36:22.750 --> 00:36:22.760 align:start position:0%
thank you
 

00:36:22.760 --> 00:36:25.130 align:start position:0%
thank you
thanks<00:36:23.760><c> I</c><00:36:24.060><c> have</c><00:36:24.240><c> a</c><00:36:24.359><c> question</c><00:36:24.599><c> actually</c><00:36:24.900><c> more</c>

00:36:25.130 --> 00:36:25.140 align:start position:0%
thanks I have a question actually more
 

00:36:25.140 --> 00:36:27.890 align:start position:0%
thanks I have a question actually more
related<00:36:25.500><c> to</c><00:36:25.859><c> the</c><00:36:26.099><c> earlier</c><00:36:26.520><c> question</c><00:36:26.820><c> which</c><00:36:27.720><c> is</c>

00:36:27.890 --> 00:36:27.900 align:start position:0%
related to the earlier question which is
 

00:36:27.900 --> 00:36:29.329 align:start position:0%
related to the earlier question which is
a<00:36:28.500><c> big</c>

00:36:29.329 --> 00:36:29.339 align:start position:0%
a big
 

00:36:29.339 --> 00:36:31.490 align:start position:0%
a big
uh<00:36:30.000><c> class</c><00:36:30.180><c> of</c><00:36:30.420><c> bugs</c><00:36:30.780><c> that's</c><00:36:30.960><c> been</c><00:36:31.140><c> occurring</c>

00:36:31.490 --> 00:36:31.500 align:start position:0%
uh class of bugs that's been occurring
 

00:36:31.500 --> 00:36:33.589 align:start position:0%
uh class of bugs that's been occurring
recently<00:36:31.920><c> and</c><00:36:32.400><c> for</c><00:36:32.640><c> a</c><00:36:33.000><c> while</c><00:36:33.119><c> now</c><00:36:33.359><c> are</c>

00:36:33.589 --> 00:36:33.599 align:start position:0%
recently and for a while now are
 

00:36:33.599 --> 00:36:36.710 align:start position:0%
recently and for a while now are
re-entrancy<00:36:34.320><c> bugs</c><00:36:34.740><c> right</c><00:36:35.099><c> how</c><00:36:35.460><c> do</c><00:36:35.579><c> you</c><00:36:35.700><c> deal</c>

00:36:36.710 --> 00:36:36.720 align:start position:0%
re-entrancy bugs right how do you deal
 

00:36:36.720 --> 00:36:39.410 align:start position:0%
re-entrancy bugs right how do you deal
with<00:36:37.619><c> finding</c>

00:36:39.410 --> 00:36:39.420 align:start position:0%
with finding
 

00:36:39.420 --> 00:36:41.569 align:start position:0%
with finding
um<00:36:39.480><c> violations</c><00:36:40.380><c> of</c><00:36:40.680><c> invariance</c><00:36:41.280><c> that</c>

00:36:41.569 --> 00:36:41.579 align:start position:0%
um violations of invariance that
 

00:36:41.579 --> 00:36:43.790 align:start position:0%
um violations of invariance that
correspond<00:36:42.119><c> to</c><00:36:42.240><c> external</c><00:36:42.720><c> contracts</c><00:36:43.260><c> in</c><00:36:43.560><c> that</c>

00:36:43.790 --> 00:36:43.800 align:start position:0%
correspond to external contracts in that
 

00:36:43.800 --> 00:36:45.589 align:start position:0%
correspond to external contracts in that
way

00:36:45.589 --> 00:36:45.599 align:start position:0%
way
 

00:36:45.599 --> 00:36:47.150 align:start position:0%
way
okay<00:36:45.780><c> so</c><00:36:46.200><c> this</c><00:36:46.380><c> is</c><00:36:46.500><c> a</c><00:36:46.619><c> really</c><00:36:46.740><c> good</c><00:36:46.980><c> question</c>

00:36:47.150 --> 00:36:47.160 align:start position:0%
okay so this is a really good question
 

00:36:47.160 --> 00:36:50.030 align:start position:0%
okay so this is a really good question
and<00:36:47.640><c> in</c><00:36:47.820><c> my</c><00:36:48.000><c> opinion</c><00:36:48.359><c> the</c><00:36:49.320><c> best</c><00:36:49.560><c> tool</c><00:36:49.859><c> to</c><00:36:49.920><c> find</c>

00:36:50.030 --> 00:36:50.040 align:start position:0%
and in my opinion the best tool to find
 

00:36:50.040 --> 00:36:53.690 align:start position:0%
and in my opinion the best tool to find
way<00:36:50.220><c> on</c><00:36:50.460><c> Transit</c><00:36:50.760><c> is</c><00:36:50.940><c> static</c><00:36:51.300><c> analysis</c><00:36:52.200><c> so</c><00:36:53.040><c> the</c>

00:36:53.690 --> 00:36:53.700 align:start position:0%
way on Transit is static analysis so the
 

00:36:53.700 --> 00:36:56.390 align:start position:0%
way on Transit is static analysis so the
question<00:36:54.300><c> is</c><00:36:54.599><c> more</c><00:36:54.780><c> to</c><00:36:55.020><c> find</c><00:36:55.260><c> which</c><00:36:55.980><c> technique</c>

00:36:56.390 --> 00:36:56.400 align:start position:0%
question is more to find which technique
 

00:36:56.400 --> 00:36:59.089 align:start position:0%
question is more to find which technique
you<00:36:56.760><c> should</c><00:36:56.940><c> apply</c><00:36:57.300><c> for</c><00:36:58.079><c> which</c><00:36:58.320><c> problem</c><00:36:58.619><c> and</c>

00:36:59.089 --> 00:36:59.099 align:start position:0%
you should apply for which problem and
 

00:36:59.099 --> 00:37:01.130 align:start position:0%
you should apply for which problem and
for<00:36:59.280><c> things</c><00:36:59.520><c> like</c><00:36:59.700><c> Korean</c><00:37:00.060><c> transition</c><00:37:00.420><c> static</c>

00:37:01.130 --> 00:37:01.140 align:start position:0%
for things like Korean transition static
 

00:37:01.140 --> 00:37:03.470 align:start position:0%
for things like Korean transition static
analysis<00:37:01.560><c> is</c><00:37:02.040><c> just</c><00:37:02.280><c> going</c><00:37:02.460><c> to</c><00:37:02.579><c> be</c><00:37:02.700><c> better</c>

00:37:03.470 --> 00:37:03.480 align:start position:0%
analysis is just going to be better
 

00:37:03.480 --> 00:37:05.329 align:start position:0%
analysis is just going to be better
you<00:37:03.900><c> can</c><00:37:03.960><c> use</c><00:37:04.140><c> further</c><00:37:04.440><c> you</c><00:37:04.740><c> can</c><00:37:04.859><c> create</c><00:37:05.040><c> like</c>

00:37:05.329 --> 00:37:05.339 align:start position:0%
you can use further you can create like
 

00:37:05.339 --> 00:37:07.609 align:start position:0%
you can use further you can create like
random<00:37:05.820><c> callback</c><00:37:06.300><c> and</c><00:37:06.540><c> things</c><00:37:06.720><c> like</c><00:37:06.839><c> that</c><00:37:07.020><c> but</c>

00:37:07.609 --> 00:37:07.619 align:start position:0%
random callback and things like that but
 

00:37:07.619 --> 00:37:09.349 align:start position:0%
random callback and things like that but
in<00:37:07.859><c> practice</c><00:37:08.040><c> static</c><00:37:08.520><c> analysis</c><00:37:08.940><c> is</c><00:37:09.119><c> just</c>

00:37:09.349 --> 00:37:09.359 align:start position:0%
in practice static analysis is just
 

00:37:09.359 --> 00:37:11.270 align:start position:0%
in practice static analysis is just
going<00:37:09.540><c> to</c><00:37:09.660><c> outperform</c><00:37:10.260><c> any</c><00:37:10.619><c> further</c><00:37:10.980><c> this</c>

00:37:11.270 --> 00:37:11.280 align:start position:0%
going to outperform any further this
 

00:37:11.280 --> 00:37:14.270 align:start position:0%
going to outperform any further this
work<00:37:11.520><c> uh</c><00:37:12.300><c> that's</c><00:37:12.420><c> why</c><00:37:12.599><c> like</c><00:37:12.839><c> for</c><00:37:13.020><c> any</c><00:37:13.320><c> any</c>

00:37:14.270 --> 00:37:14.280 align:start position:0%
work uh that's why like for any any
 

00:37:14.280 --> 00:37:16.910 align:start position:0%
work uh that's why like for any any
class<00:37:14.700><c> of</c><00:37:15.000><c> vulnerability</c><00:37:15.660><c> which</c><00:37:16.440><c> is</c><00:37:16.619><c> kind</c><00:37:16.800><c> of</c>

00:37:16.910 --> 00:37:16.920 align:start position:0%
class of vulnerability which is kind of
 

00:37:16.920 --> 00:37:19.250 align:start position:0%
class of vulnerability which is kind of
a<00:37:17.099><c> pattern</c><00:37:17.520><c> base</c><00:37:17.820><c> you</c><00:37:18.660><c> can</c><00:37:18.720><c> use</c><00:37:18.839><c> static</c>

00:37:19.250 --> 00:37:19.260 align:start position:0%
a pattern base you can use static
 

00:37:19.260 --> 00:37:20.810 align:start position:0%
a pattern base you can use static
analysis<00:37:19.619><c> and</c><00:37:19.859><c> it's</c><00:37:20.040><c> going</c><00:37:20.220><c> to</c><00:37:20.339><c> be</c><00:37:20.460><c> better</c><00:37:20.579><c> in</c>

00:37:20.810 --> 00:37:20.820 align:start position:0%
analysis and it's going to be better in
 

00:37:20.820 --> 00:37:24.050 align:start position:0%
analysis and it's going to be better in
my<00:37:20.940><c> opinion</c>

00:37:24.050 --> 00:37:24.060 align:start position:0%
 
 

00:37:24.060 --> 00:37:27.550 align:start position:0%
 
foreign

00:37:27.550 --> 00:37:27.560 align:start position:0%
 
 

00:37:27.560 --> 00:37:29.810 align:start position:0%
 
one<00:37:28.560><c> more</c><00:37:28.619><c> question</c><00:37:28.800><c> what's</c><00:37:29.160><c> your</c><00:37:29.460><c> addition</c>

00:37:29.810 --> 00:37:29.820 align:start position:0%
one more question what's your addition
 

00:37:29.820 --> 00:37:32.329 align:start position:0%
one more question what's your addition
for<00:37:30.119><c> example</c><00:37:30.359><c> we</c><00:37:30.599><c> have</c><00:37:30.780><c> a</c><00:37:30.960><c> complex</c><00:37:31.200><c> system</c>

00:37:32.329 --> 00:37:32.339 align:start position:0%
for example we have a complex system
 

00:37:32.339 --> 00:37:35.510 align:start position:0%
for example we have a complex system
and<00:37:32.940><c> we</c><00:37:33.180><c> want</c><00:37:33.420><c> to</c><00:37:33.599><c> make</c><00:37:33.900><c> a</c><00:37:34.260><c> classical</c><00:37:34.560><c> fuzzing</c>

00:37:35.510 --> 00:37:35.520 align:start position:0%
and we want to make a classical fuzzing
 

00:37:35.520 --> 00:37:38.569 align:start position:0%
and we want to make a classical fuzzing
with<00:37:35.700><c> the</c><00:37:35.880><c> kidnap</c><00:37:36.359><c> and</c><00:37:37.260><c> it</c><00:37:37.500><c> seems</c><00:37:37.859><c> that</c><00:37:38.040><c> to</c>

00:37:38.569 --> 00:37:38.579 align:start position:0%
with the kidnap and it seems that to
 

00:37:38.579 --> 00:37:40.849 align:start position:0%
with the kidnap and it seems that to
really<00:37:38.820><c> cover</c><00:37:39.119><c> many</c><00:37:39.599><c> cases</c><00:37:39.960><c> it</c><00:37:40.260><c> requires</c><00:37:40.680><c> a</c>

00:37:40.849 --> 00:37:40.859 align:start position:0%
really cover many cases it requires a
 

00:37:40.859 --> 00:37:43.849 align:start position:0%
really cover many cases it requires a
lot<00:37:40.920><c> of</c><00:37:41.040><c> computational</c><00:37:41.460><c> power</c><00:37:42.200><c> so</c><00:37:43.200><c> maybe</c><00:37:43.500><c> can</c>

00:37:43.849 --> 00:37:43.859 align:start position:0%
lot of computational power so maybe can
 

00:37:43.859 --> 00:37:46.010 align:start position:0%
lot of computational power so maybe can
you<00:37:44.040><c> advise</c><00:37:44.339><c> some</c><00:37:44.579><c> cloud</c><00:37:44.760><c> provider</c><00:37:45.480><c> or</c><00:37:45.660><c> how</c><00:37:45.900><c> to</c>

00:37:46.010 --> 00:37:46.020 align:start position:0%
you advise some cloud provider or how to
 

00:37:46.020 --> 00:37:48.530 align:start position:0%
you advise some cloud provider or how to
do<00:37:46.200><c> to</c><00:37:46.440><c> run</c><00:37:46.619><c> it</c><00:37:46.800><c> maybe</c><00:37:46.980><c> for</c><00:37:47.280><c> a</c><00:37:47.460><c> week</c><00:37:47.640><c> with</c><00:37:48.060><c> very</c>

00:37:48.530 --> 00:37:48.540 align:start position:0%
do to run it maybe for a week with very
 

00:37:48.540 --> 00:37:50.870 align:start position:0%
do to run it maybe for a week with very
powerful<00:37:48.960><c> computer</c><00:37:49.320><c> to</c><00:37:50.280><c> get</c><00:37:50.460><c> something</c>

00:37:50.870 --> 00:37:50.880 align:start position:0%
powerful computer to get something
 

00:37:50.880 --> 00:37:53.030 align:start position:0%
powerful computer to get something
achievable<00:37:51.599><c> because</c><00:37:51.900><c> of</c><00:37:52.140><c> course</c><00:37:52.320><c> this</c><00:37:52.619><c> pretty</c>

00:37:53.030 --> 00:37:53.040 align:start position:0%
achievable because of course this pretty
 

00:37:53.040 --> 00:37:54.650 align:start position:0%
achievable because of course this pretty
simple<00:37:53.280><c> contracts</c><00:37:53.820><c> could</c><00:37:54.000><c> be</c><00:37:54.119><c> found</c><00:37:54.300><c> on</c><00:37:54.540><c> my</c>

00:37:54.650 --> 00:37:54.660 align:start position:0%
simple contracts could be found on my
 

00:37:54.660 --> 00:37:56.630 align:start position:0%
simple contracts could be found on my
MacBook<00:37:55.020><c> but</c><00:37:55.680><c> if</c><00:37:55.859><c> we</c><00:37:56.040><c> go</c><00:37:56.220><c> a</c><00:37:56.400><c> little</c><00:37:56.460><c> bit</c>

00:37:56.630 --> 00:37:56.640 align:start position:0%
MacBook but if we go a little bit
 

00:37:56.640 --> 00:37:59.150 align:start position:0%
MacBook but if we go a little bit
further<00:37:56.940><c> many</c><00:37:57.240><c> contracts</c><00:37:57.780><c> many</c><00:37:57.960><c> setups</c><00:37:58.560><c> maybe</c>

00:37:59.150 --> 00:37:59.160 align:start position:0%
further many contracts many setups maybe
 

00:37:59.160 --> 00:38:03.349 align:start position:0%
further many contracts many setups maybe
it<00:37:59.400><c> requires</c><00:37:59.940><c> more</c><00:38:00.240><c> computational</c><00:38:00.720><c> power</c>

00:38:03.349 --> 00:38:03.359 align:start position:0%
 
 

00:38:03.359 --> 00:38:04.990 align:start position:0%
 
um<00:38:03.420><c> so</c>

00:38:04.990 --> 00:38:05.000 align:start position:0%
um so
 

00:38:05.000 --> 00:38:11.150 align:start position:0%
um so
do<00:38:06.000><c> you</c><00:38:06.119><c> want</c><00:38:06.180><c> to</c><00:38:06.300><c> talk</c><00:38:06.420><c> about</c><00:38:06.599><c> the</c><00:38:06.780><c> kinapad</c>

00:38:11.150 --> 00:38:11.160 align:start position:0%
 
 

00:38:11.160 --> 00:38:13.550 align:start position:0%
 
so<00:38:11.579><c> the</c><00:38:11.820><c> question</c><00:38:12.000><c> was</c><00:38:12.839><c> um</c><00:38:12.900><c> if</c><00:38:13.200><c> you</c><00:38:13.320><c> want</c><00:38:13.440><c> to</c>

00:38:13.550 --> 00:38:13.560 align:start position:0%
so the question was um if you want to
 

00:38:13.560 --> 00:38:15.410 align:start position:0%
so the question was um if you want to
run<00:38:13.680><c> a</c><00:38:13.859><c> key</c><00:38:13.980><c> down</c><00:38:14.160><c> the</c><00:38:14.339><c> cloud</c><00:38:14.460><c> or</c><00:38:14.820><c> on</c><00:38:15.000><c> a</c><00:38:15.180><c> lot</c><00:38:15.300><c> of</c>

00:38:15.410 --> 00:38:15.420 align:start position:0%
run a key down the cloud or on a lot of
 

00:38:15.420 --> 00:38:18.170 align:start position:0%
run a key down the cloud or on a lot of
you<00:38:15.599><c> know</c><00:38:15.720><c> a</c><00:38:16.099><c> large</c><00:38:17.099><c> like</c><00:38:17.339><c> system</c><00:38:17.579><c> how</c><00:38:17.880><c> can</c><00:38:18.060><c> you</c>

00:38:18.170 --> 00:38:18.180 align:start position:0%
you know a large like system how can you
 

00:38:18.180 --> 00:38:20.329 align:start position:0%
you know a large like system how can you
do<00:38:18.240><c> it</c><00:38:18.359><c> yeah</c><00:38:18.540><c> yeah</c><00:38:18.660><c> so</c><00:38:18.960><c> so</c><00:38:19.200><c> so</c><00:38:19.320><c> the</c><00:38:20.040><c> first</c><00:38:20.160><c> thing</c>

00:38:20.329 --> 00:38:20.339 align:start position:0%
do it yeah yeah so so so the first thing
 

00:38:20.339 --> 00:38:25.370 align:start position:0%
do it yeah yeah so so so the first thing
that<00:38:20.640><c> uh</c><00:38:21.240><c> you</c><00:38:21.480><c> should</c><00:38:21.660><c> know</c><00:38:21.839><c> is</c><00:38:22.200><c> that</c><00:38:22.560><c> uh</c>

00:38:25.370 --> 00:38:25.380 align:start position:0%
 
 

00:38:25.380 --> 00:38:28.250 align:start position:0%
 
uh<00:38:25.440><c> very</c><00:38:25.920><c> large</c><00:38:26.040><c> contract</c><00:38:26.820><c> it</c><00:38:27.180><c> can</c><00:38:27.300><c> take</c><00:38:27.839><c> some</c>

00:38:28.250 --> 00:38:28.260 align:start position:0%
uh very large contract it can take some
 

00:38:28.260 --> 00:38:30.890 align:start position:0%
uh very large contract it can take some
amount<00:38:28.560><c> of</c><00:38:28.680><c> memory</c><00:38:28.980><c> so</c><00:38:29.160><c> first</c><00:38:30.119><c> first</c><00:38:30.599><c> thing</c>

00:38:30.890 --> 00:38:30.900 align:start position:0%
amount of memory so first first thing
 

00:38:30.900 --> 00:38:33.950 align:start position:0%
amount of memory so first first thing
get<00:38:31.320><c> a</c><00:38:31.500><c> good</c><00:38:31.619><c> server</c><00:38:32.040><c> with</c><00:38:32.640><c> with</c><00:38:33.300><c> a</c><00:38:33.720><c> good</c>

00:38:33.950 --> 00:38:33.960 align:start position:0%
get a good server with with a good
 

00:38:33.960 --> 00:38:37.849 align:start position:0%
get a good server with with a good
amount<00:38:34.260><c> of</c><00:38:34.380><c> of</c><00:38:34.680><c> memory</c><00:38:35.220><c> and</c><00:38:35.760><c> CPUs</c>

00:38:37.849 --> 00:38:37.859 align:start position:0%
amount of of memory and CPUs
 

00:38:37.859 --> 00:38:40.670 align:start position:0%
amount of of memory and CPUs
um<00:38:37.920><c> so</c><00:38:38.280><c> the</c><00:38:38.400><c> second</c><00:38:38.520><c> thing</c><00:38:38.820><c> is</c><00:38:39.060><c> uh</c><00:38:39.839><c> every</c>

00:38:40.670 --> 00:38:40.680 align:start position:0%
um so the second thing is uh every
 

00:38:40.680 --> 00:38:43.490 align:start position:0%
um so the second thing is uh every
um we<00:38:41.160><c> have</c><00:38:41.280><c> a</c><00:38:41.520><c> python</c><00:38:42.180><c> companion</c><00:38:43.140><c> tool</c>

00:38:43.490 --> 00:38:43.500 align:start position:0%
um we have a python companion tool
 

00:38:43.500 --> 00:38:46.609 align:start position:0%
um we have a python companion tool
called<00:38:43.680><c> in</c><00:38:43.980><c> a</c><00:38:44.160><c> parade</c><00:38:44.400><c> that</c><00:38:45.060><c> will</c><00:38:45.240><c> run</c><00:38:45.619><c> echina</c>

00:38:46.609 --> 00:38:46.619 align:start position:0%
called in a parade that will run echina
 

00:38:46.619 --> 00:38:50.630 align:start position:0%
called in a parade that will run echina
in<00:38:47.160><c> any</c><00:38:47.460><c> number</c><00:38:47.640><c> of</c><00:38:47.900><c> uh</c><00:38:48.900><c> any</c><00:38:49.320><c> number</c><00:38:49.500><c> of</c><00:38:49.740><c> uh</c>

00:38:50.630 --> 00:38:50.640 align:start position:0%
in any number of uh any number of uh
 

00:38:50.640 --> 00:38:53.030 align:start position:0%
in any number of uh any number of uh
concurrent

00:38:53.030 --> 00:38:53.040 align:start position:0%
concurrent
 

00:38:53.040 --> 00:38:56.510 align:start position:0%
concurrent
um<00:38:53.060><c> uh</c><00:38:54.060><c> instances</c><00:38:54.660><c> so</c><00:38:55.079><c> you</c><00:38:55.320><c> can</c><00:38:55.440><c> run</c><00:38:55.740><c> 10</c><00:38:56.099><c> at</c><00:38:56.339><c> a</c>

00:38:56.510 --> 00:38:56.520 align:start position:0%
um uh instances so you can run 10 at a
 

00:38:56.520 --> 00:39:00.050 align:start position:0%
um uh instances so you can run 10 at a
time<00:38:57.020><c> uh</c><00:38:58.020><c> but</c><00:38:58.560><c> we're</c><00:38:58.859><c> not</c><00:38:59.099><c> only</c><00:38:59.280><c> going</c><00:38:59.640><c> to</c><00:38:59.880><c> run</c>

00:39:00.050 --> 00:39:00.060 align:start position:0%
time uh but we're not only going to run
 

00:39:00.060 --> 00:39:02.050 align:start position:0%
time uh but we're not only going to run
it<00:39:00.300><c> 10</c><00:39:00.480><c> of</c><00:39:00.720><c> the</c><00:39:00.839><c> time</c><00:39:00.960><c> but</c><00:39:01.260><c> we</c><00:39:01.560><c> are</c><00:39:01.740><c> going</c><00:39:01.859><c> to</c>

00:39:02.050 --> 00:39:02.060 align:start position:0%
it 10 of the time but we are going to
 

00:39:02.060 --> 00:39:05.569 align:start position:0%
it 10 of the time but we are going to
randomly<00:39:03.060><c> Shuffle</c><00:39:03.300><c> parameters</c><00:39:04.020><c> because</c><00:39:04.920><c> in</c>

00:39:05.569 --> 00:39:05.579 align:start position:0%
randomly Shuffle parameters because in
 

00:39:05.579 --> 00:39:08.089 align:start position:0%
randomly Shuffle parameters because in
some<00:39:05.760><c> cases</c><00:39:06.119><c> there</c><00:39:06.660><c> are</c><00:39:06.839><c> some</c><00:39:07.020><c> there</c><00:39:07.740><c> are</c><00:39:07.859><c> some</c>

00:39:08.089 --> 00:39:08.099 align:start position:0%
some cases there are some there are some
 

00:39:08.099 --> 00:39:11.089 align:start position:0%
some cases there are some there are some
issues<00:39:08.520><c> that</c><00:39:08.820><c> can</c><00:39:09.000><c> be</c><00:39:09.240><c> easily</c><00:39:09.900><c> found</c><00:39:10.140><c> with</c>

00:39:11.089 --> 00:39:11.099 align:start position:0%
issues that can be easily found with
 

00:39:11.099 --> 00:39:14.089 align:start position:0%
issues that can be easily found with
let's<00:39:11.400><c> say</c><00:39:11.579><c> three</c><00:39:12.000><c> or</c><00:39:12.300><c> ten</c><00:39:12.720><c> transactions</c><00:39:13.380><c> and</c>

00:39:14.089 --> 00:39:14.099 align:start position:0%
let's say three or ten transactions and
 

00:39:14.099 --> 00:39:16.730 align:start position:0%
let's say three or ten transactions and
some<00:39:14.400><c> other</c><00:39:14.960><c> issues</c><00:39:15.960><c> are</c><00:39:16.140><c> going</c><00:39:16.320><c> to</c><00:39:16.440><c> be</c><00:39:16.560><c> more</c>

00:39:16.730 --> 00:39:16.740 align:start position:0%
some other issues are going to be more
 

00:39:16.740 --> 00:39:19.730 align:start position:0%
some other issues are going to be more
easily<00:39:16.980><c> found</c><00:39:17.280><c> with</c><00:39:17.700><c> two</c><00:39:18.540><c> 200</c><00:39:19.020><c> transactions</c>

00:39:19.730 --> 00:39:19.740 align:start position:0%
easily found with two 200 transactions
 

00:39:19.740 --> 00:39:23.030 align:start position:0%
easily found with two 200 transactions
in<00:39:20.220><c> a</c><00:39:20.400><c> in</c><00:39:20.640><c> a</c><00:39:20.880><c> in</c><00:39:21.119><c> a</c><00:39:21.300><c> row</c><00:39:21.540><c> right</c><00:39:22.079><c> so</c><00:39:22.380><c> what</c><00:39:22.680><c> we</c><00:39:22.800><c> do</c>

00:39:23.030 --> 00:39:23.040 align:start position:0%
in a in a in a row right so what we do
 

00:39:23.040 --> 00:39:25.430 align:start position:0%
in a in a in a row right so what we do
is<00:39:23.160><c> we</c><00:39:23.520><c> run</c><00:39:23.700><c> the</c><00:39:23.940><c> tool</c><00:39:24.240><c> in</c><00:39:24.960><c> different</c><00:39:25.140><c> with</c>

00:39:25.430 --> 00:39:25.440 align:start position:0%
is we run the tool in different with
 

00:39:25.440 --> 00:39:27.589 align:start position:0%
is we run the tool in different with
different<00:39:25.680><c> random</c><00:39:26.220><c> parameters</c><00:39:26.760><c> and</c><00:39:27.420><c> in</c>

00:39:27.589 --> 00:39:27.599 align:start position:0%
different random parameters and in
 

00:39:27.599 --> 00:39:30.650 align:start position:0%
different random parameters and in
different<00:39:27.780><c> let's</c><00:39:28.740><c> say</c><00:39:28.980><c> Generations</c><00:39:29.579><c> so</c><00:39:30.240><c> we</c>

00:39:30.650 --> 00:39:30.660 align:start position:0%
different let's say Generations so we
 

00:39:30.660 --> 00:39:33.410 align:start position:0%
different let's say Generations so we
run<00:39:30.900><c> we</c><00:39:31.440><c> run</c><00:39:31.619><c> akina</c><00:39:31.980><c> for</c><00:39:32.220><c> an</c><00:39:32.339><c> hour</c><00:39:32.520><c> 10</c><00:39:33.180><c> times</c>

00:39:33.410 --> 00:39:33.420 align:start position:0%
run we run akina for an hour 10 times
 

00:39:33.420 --> 00:39:36.890 align:start position:0%
run we run akina for an hour 10 times
then<00:39:34.320><c> we</c><00:39:34.560><c> save</c><00:39:34.740><c> the</c><00:39:34.980><c> Corpus</c><00:39:35.400><c> and</c><00:39:36.060><c> you</c><00:39:36.240><c> can</c><00:39:36.359><c> get</c>

00:39:36.890 --> 00:39:36.900 align:start position:0%
then we save the Corpus and you can get
 

00:39:36.900 --> 00:39:39.710 align:start position:0%
then we save the Corpus and you can get
you<00:39:37.500><c> you</c><00:39:37.740><c> can</c><00:39:37.920><c> see</c><00:39:38.160><c> all</c><00:39:38.339><c> the</c><00:39:38.640><c> all</c><00:39:39.119><c> the</c><00:39:39.300><c> all</c><00:39:39.599><c> the</c>

00:39:39.710 --> 00:39:39.720 align:start position:0%
you you can see all the all the all the
 

00:39:39.720 --> 00:39:41.270 align:start position:0%
you you can see all the all the all the
code<00:39:39.839><c> that</c><00:39:40.079><c> was</c><00:39:40.200><c> covered</c><00:39:40.619><c> and</c><00:39:40.980><c> then</c><00:39:41.099><c> we</c>

00:39:41.270 --> 00:39:41.280 align:start position:0%
code that was covered and then we
 

00:39:41.280 --> 00:39:44.210 align:start position:0%
code that was covered and then we
started<00:39:41.640><c> again</c><00:39:41.760><c> but</c><00:39:42.240><c> taking</c><00:39:42.800><c> the</c><00:39:43.800><c> the</c><00:39:44.099><c> the</c>

00:39:44.210 --> 00:39:44.220 align:start position:0%
started again but taking the the the
 

00:39:44.220 --> 00:39:46.730 align:start position:0%
started again but taking the the the
output<00:39:44.820><c> of</c><00:39:45.060><c> the</c><00:39:45.240><c> previous</c><00:39:45.359><c> generation</c><00:39:45.960><c> so</c><00:39:46.500><c> you</c>

00:39:46.730 --> 00:39:46.740 align:start position:0%
output of the previous generation so you
 

00:39:46.740 --> 00:39:48.530 align:start position:0%
output of the previous generation so you
iterate<00:39:47.220><c> over</c><00:39:47.339><c> and</c><00:39:47.520><c> over</c><00:39:47.700><c> again</c><00:39:47.880><c> so</c><00:39:48.119><c> you</c><00:39:48.359><c> can</c>

00:39:48.530 --> 00:39:48.540 align:start position:0%
iterate over and over again so you can
 

00:39:48.540 --> 00:39:52.130 align:start position:0%
iterate over and over again so you can
see<00:39:48.839><c> how</c><00:39:49.500><c> your</c><00:39:49.740><c> code</c><00:39:49.920><c> is</c><00:39:50.160><c> explored</c><00:39:51.240><c> right</c><00:39:51.720><c> or</c>

00:39:52.130 --> 00:39:52.140 align:start position:0%
see how your code is explored right or
 

00:39:52.140 --> 00:39:53.930 align:start position:0%
see how your code is explored right or
if<00:39:52.380><c> there's</c><00:39:52.619><c> some</c><00:39:52.980><c> part</c><00:39:53.220><c> of</c><00:39:53.400><c> the</c><00:39:53.460><c> code</c><00:39:53.579><c> that</c><00:39:53.820><c> is</c>

00:39:53.930 --> 00:39:53.940 align:start position:0%
if there's some part of the code that is
 

00:39:53.940 --> 00:39:56.450 align:start position:0%
if there's some part of the code that is
not<00:39:54.119><c> explored</c><00:39:54.599><c> with</c><00:39:54.900><c> 10</c><00:39:55.140><c> different</c><00:39:55.460><c> uh</c>

00:39:56.450 --> 00:39:56.460 align:start position:0%
not explored with 10 different uh
 

00:39:56.460 --> 00:39:58.310 align:start position:0%
not explored with 10 different uh
instances<00:39:56.880><c> you</c><00:39:57.300><c> can</c><00:39:57.420><c> go</c><00:39:57.599><c> back</c><00:39:57.720><c> and</c><00:39:57.900><c> say</c><00:39:58.020><c> no</c><00:39:58.200><c> I</c>

00:39:58.310 --> 00:39:58.320 align:start position:0%
instances you can go back and say no I
 

00:39:58.320 --> 00:39:59.810 align:start position:0%
instances you can go back and say no I
need<00:39:58.440><c> I</c><00:39:58.680><c> need</c><00:39:58.800><c> to</c><00:39:58.920><c> change</c><00:39:59.099><c> this</c><00:39:59.339><c> because</c><00:39:59.579><c> it</c>

00:39:59.810 --> 00:39:59.820 align:start position:0%
need I need to change this because it
 

00:39:59.820 --> 00:40:01.849 align:start position:0%
need I need to change this because it
doesn't<00:40:00.000><c> depend</c><00:40:00.480><c> on</c><00:40:00.660><c> the</c><00:40:00.960><c> on</c><00:40:01.440><c> the</c><00:40:01.619><c> actual</c>

00:40:01.849 --> 00:40:01.859 align:start position:0%
doesn't depend on the on the actual
 

00:40:01.859 --> 00:40:05.210 align:start position:0%
doesn't depend on the on the actual
execution<00:40:02.420><c> so</c><00:40:03.420><c> we</c><00:40:03.780><c> can</c><00:40:03.960><c> we</c><00:40:04.260><c> can</c><00:40:04.440><c> give</c><00:40:04.920><c> you</c><00:40:05.099><c> the</c>

00:40:05.210 --> 00:40:05.220 align:start position:0%
execution so we can we can give you the
 

00:40:05.220 --> 00:40:07.910 align:start position:0%
execution so we can we can give you the
link<00:40:05.460><c> uh</c><00:40:06.300><c> for</c><00:40:06.540><c> that</c><00:40:06.660><c> it's</c><00:40:06.900><c> just</c><00:40:07.200><c> a</c><00:40:07.380><c> python</c><00:40:07.680><c> tool</c>

00:40:07.910 --> 00:40:07.920 align:start position:0%
link uh for that it's just a python tool
 

00:40:07.920 --> 00:40:09.950 align:start position:0%
link uh for that it's just a python tool
so<00:40:08.040><c> it's</c><00:40:08.220><c> it's</c><00:40:08.520><c> it's</c><00:40:08.700><c> easy</c><00:40:09.180><c> to</c><00:40:09.359><c> use</c><00:40:09.780><c> um</c><00:40:09.839><c> yeah</c>

00:40:09.950 --> 00:40:09.960 align:start position:0%
so it's it's it's easy to use um yeah
 

00:40:09.960 --> 00:40:11.329 align:start position:0%
so it's it's it's easy to use um yeah
it's<00:40:10.079><c> also</c><00:40:10.320><c> open</c><00:40:10.440><c> source</c><00:40:10.740><c> like</c><00:40:10.859><c> everything</c><00:40:11.040><c> we</c>

00:40:11.329 --> 00:40:11.339 align:start position:0%
it's also open source like everything we
 

00:40:11.339 --> 00:40:15.250 align:start position:0%
it's also open source like everything we
are<00:40:11.520><c> doing</c><00:40:11.640><c> is</c><00:40:11.820><c> open</c><00:40:12.000><c> source</c>

00:40:15.250 --> 00:40:15.260 align:start position:0%
 
 

00:40:15.260 --> 00:40:17.870 align:start position:0%
 
okay<00:40:16.260><c> so</c><00:40:16.500><c> yeah</c><00:40:16.680><c> like</c><00:40:17.040><c> it's</c><00:40:17.339><c> really</c><00:40:17.579><c> about</c>

00:40:17.870 --> 00:40:17.880 align:start position:0%
okay so yeah like it's really about
 

00:40:17.880 --> 00:40:19.790 align:start position:0%
okay so yeah like it's really about
spending<00:40:18.720><c> time</c><00:40:18.900><c> and</c><00:40:19.079><c> thinking</c><00:40:19.380><c> about</c><00:40:19.500><c> our</c>

00:40:19.790 --> 00:40:19.800 align:start position:0%
spending time and thinking about our
 

00:40:19.800 --> 00:40:21.410 align:start position:0%
spending time and thinking about our
invariants

00:40:21.410 --> 00:40:21.420 align:start position:0%
invariants
 

00:40:21.420 --> 00:40:23.210 align:start position:0%
invariants
and<00:40:21.839><c> it's</c><00:40:21.960><c> not</c><00:40:22.079><c> simple</c><00:40:22.260><c> like</c><00:40:22.560><c> it's</c><00:40:22.800><c> the</c><00:40:23.040><c> first</c>

00:40:23.210 --> 00:40:23.220 align:start position:0%
and it's not simple like it's the first
 

00:40:23.220 --> 00:40:26.030 align:start position:0%
and it's not simple like it's the first
invariant<00:40:23.940><c> that</c><00:40:24.180><c> you</c><00:40:24.300><c> are</c><00:40:24.480><c> writing</c><00:40:24.960><c> leads</c><00:40:25.920><c> to</c>

00:40:26.030 --> 00:40:26.040 align:start position:0%
invariant that you are writing leads to
 

00:40:26.040 --> 00:40:28.130 align:start position:0%
invariant that you are writing leads to
a<00:40:26.220><c> bugs</c><00:40:26.579><c> there</c><00:40:27.180><c> is</c><00:40:27.359><c> something</c><00:40:27.599><c> wrong</c><00:40:27.839><c> about</c>

00:40:28.130 --> 00:40:28.140 align:start position:0%
a bugs there is something wrong about
 

00:40:28.140 --> 00:40:30.710 align:start position:0%
a bugs there is something wrong about
your<00:40:28.380><c> approach</c><00:40:28.760><c> uh</c><00:40:29.760><c> you</c><00:40:30.300><c> should</c><00:40:30.420><c> not</c><00:40:30.599><c> have</c>

00:40:30.710 --> 00:40:30.720 align:start position:0%
your approach uh you should not have
 

00:40:30.720 --> 00:40:32.210 align:start position:0%
your approach uh you should not have
like<00:40:30.960><c> simple</c><00:40:31.140><c> invariants</c><00:40:31.680><c> that</c><00:40:31.859><c> you</c><00:40:31.980><c> know</c><00:40:32.099><c> are</c>

00:40:32.210 --> 00:40:32.220 align:start position:0%
like simple invariants that you know are
 

00:40:32.220 --> 00:40:33.950 align:start position:0%
like simple invariants that you know are
going<00:40:32.339><c> to</c><00:40:32.460><c> work</c><00:40:32.640><c> the</c><00:40:32.880><c> system</c><00:40:33.000><c> so</c><00:40:33.480><c> we'll</c><00:40:33.720><c> start</c>

00:40:33.950 --> 00:40:33.960 align:start position:0%
going to work the system so we'll start
 

00:40:33.960 --> 00:40:37.550 align:start position:0%
going to work the system so we'll start
simple<00:40:34.200><c> and</c><00:40:34.560><c> iterate</c><00:40:34.980><c> over</c><00:40:35.220><c> them</c>

00:40:37.550 --> 00:40:37.560 align:start position:0%
 
 

00:40:37.560 --> 00:40:39.829 align:start position:0%
 
okay<00:40:37.859><c> to</c><00:40:38.099><c> give</c><00:40:38.220><c> you</c><00:40:38.339><c> some</c><00:40:38.520><c> example</c><00:40:38.940><c> let's</c><00:40:39.660><c> say</c>

00:40:39.829 --> 00:40:39.839 align:start position:0%
okay to give you some example let's say
 

00:40:39.839 --> 00:40:42.410 align:start position:0%
okay to give you some example let's say
you<00:40:40.200><c> have</c><00:40:40.380><c> a</c><00:40:40.500><c> now</c><00:40:40.619><c> with</c><00:40:40.740><c> magic</c><00:40:40.980><c> libraries</c><00:40:41.640><c> what</c>

00:40:42.410 --> 00:40:42.420 align:start position:0%
you have a now with magic libraries what
 

00:40:42.420 --> 00:40:43.970 align:start position:0%
you have a now with magic libraries what
environment<00:40:42.839><c> can</c><00:40:43.020><c> you</c><00:40:43.200><c> have</c>

00:40:43.970 --> 00:40:43.980 align:start position:0%
environment can you have
 

00:40:43.980 --> 00:40:45.950 align:start position:0%
environment can you have
um<00:40:44.040><c> you</c><00:40:44.339><c> can</c><00:40:44.400><c> have</c><00:40:44.520><c> commutative</c><00:40:45.000><c> properties</c><00:40:45.599><c> a</c>

00:40:45.950 --> 00:40:45.960 align:start position:0%
um you can have commutative properties a
 

00:40:45.960 --> 00:40:48.770 align:start position:0%
um you can have commutative properties a
plus<00:40:46.200><c> b</c><00:40:46.440><c> is</c><00:40:46.740><c> equal</c><00:40:46.920><c> to</c><00:40:47.160><c> B</c><00:40:47.400><c> plus</c><00:40:47.640><c> a</c><00:40:47.940><c> you</c><00:40:48.480><c> can</c><00:40:48.660><c> have</c>

00:40:48.770 --> 00:40:48.780 align:start position:0%
plus b is equal to B plus a you can have
 

00:40:48.780 --> 00:40:52.370 align:start position:0%
plus b is equal to B plus a you can have
identity<00:40:49.500><c> a</c><00:40:50.400><c> one</c><00:40:51.000><c> multiplied</c><00:40:51.480><c> by</c><00:40:51.780><c> two</c><00:40:51.960><c> should</c>

00:40:52.370 --> 00:40:52.380 align:start position:0%
identity a one multiplied by two should
 

00:40:52.380 --> 00:40:55.069 align:start position:0%
identity a one multiplied by two should
be<00:40:52.619><c> true</c><00:40:53.220><c> our</c><00:40:53.760><c> inverse</c><00:40:54.240><c> if</c><00:40:54.420><c> you</c><00:40:54.599><c> add</c><00:40:54.839><c> something</c>

00:40:55.069 --> 00:40:55.079 align:start position:0%
be true our inverse if you add something
 

00:40:55.079 --> 00:40:57.589 align:start position:0%
be true our inverse if you add something
by<00:40:55.440><c> its</c><00:40:55.619><c> opposite</c><00:40:56.099><c> it</c><00:40:56.339><c> should</c><00:40:56.520><c> be</c><00:40:56.640><c> zero</c><00:40:57.000><c> this</c>

00:40:57.589 --> 00:40:57.599 align:start position:0%
by its opposite it should be zero this
 

00:40:57.599 --> 00:40:59.150 align:start position:0%
by its opposite it should be zero this
is<00:40:57.660><c> not</c><00:40:57.839><c> always</c><00:40:57.960><c> true</c><00:40:58.260><c> right</c><00:40:58.500><c> but</c><00:40:58.740><c> depending</c>

00:40:59.150 --> 00:40:59.160 align:start position:0%
is not always true right but depending
 

00:40:59.160 --> 00:41:00.589 align:start position:0%
is not always true right but depending
of<00:40:59.280><c> what</c><00:40:59.520><c> you</c><00:40:59.700><c> are</c><00:40:59.820><c> building</c><00:40:59.940><c> this</c><00:41:00.240><c> might</c><00:41:00.420><c> be</c>

00:41:00.589 --> 00:41:00.599 align:start position:0%
of what you are building this might be
 

00:41:00.599 --> 00:41:01.849 align:start position:0%
of what you are building this might be
like<00:41:00.780><c> the</c><00:41:00.900><c> type</c><00:41:01.079><c> of</c><00:41:01.200><c> property</c><00:41:01.500><c> you</c><00:41:01.740><c> are</c>

00:41:01.849 --> 00:41:01.859 align:start position:0%
like the type of property you are
 

00:41:01.859 --> 00:41:03.770 align:start position:0%
like the type of property you are
looking<00:41:02.040><c> for</c>

00:41:03.770 --> 00:41:03.780 align:start position:0%
looking for
 

00:41:03.780 --> 00:41:05.990 align:start position:0%
looking for
for<00:41:04.260><c> token</c><00:41:04.800><c> we</c><00:41:05.160><c> already</c><00:41:05.339><c> talked</c><00:41:05.700><c> about</c><00:41:05.760><c> the</c>

00:41:05.990 --> 00:41:06.000 align:start position:0%
for token we already talked about the
 

00:41:06.000 --> 00:41:07.670 align:start position:0%
for token we already talked about the
first<00:41:06.119><c> one</c><00:41:06.300><c> no</c><00:41:06.599><c> no</c><00:41:06.839><c> user</c><00:41:07.200><c> should</c><00:41:07.380><c> have</c><00:41:07.500><c> a</c>

00:41:07.670 --> 00:41:07.680 align:start position:0%
first one no no user should have a
 

00:41:07.680 --> 00:41:08.930 align:start position:0%
first one no no user should have a
balance<00:41:07.980><c> above</c>

00:41:08.930 --> 00:41:08.940 align:start position:0%
balance above
 

00:41:08.940 --> 00:41:11.329 align:start position:0%
balance above
total<00:41:09.540><c> Supply</c><00:41:09.720><c> let's</c><00:41:10.680><c> say</c><00:41:10.800><c> you</c><00:41:10.980><c> want</c><00:41:11.099><c> to</c><00:41:11.220><c> look</c>

00:41:11.329 --> 00:41:11.339 align:start position:0%
total Supply let's say you want to look
 

00:41:11.339 --> 00:41:13.849 align:start position:0%
total Supply let's say you want to look
at<00:41:11.520><c> the</c><00:41:11.640><c> transfer</c><00:41:12.060><c> function</c><00:41:12.359><c> and</c><00:41:12.960><c> patsync</c>

00:41:13.849 --> 00:41:13.859 align:start position:0%
at the transfer function and patsync
 

00:41:13.859 --> 00:41:15.650 align:start position:0%
at the transfer function and patsync
transfer<00:41:14.220><c> function</c><00:41:14.460><c> what</c><00:41:14.700><c> does</c><00:41:14.880><c> it</c><00:41:15.000><c> do</c>

00:41:15.650 --> 00:41:15.660 align:start position:0%
transfer function what does it do
 

00:41:15.660 --> 00:41:18.170 align:start position:0%
transfer function what does it do
I'm<00:41:16.079><c> transferring</c><00:41:16.740><c> token</c><00:41:17.040><c> to</c><00:41:17.400><c> someone</c><00:41:17.579><c> so</c><00:41:17.940><c> at</c>

00:41:18.170 --> 00:41:18.180 align:start position:0%
I'm transferring token to someone so at
 

00:41:18.180 --> 00:41:20.630 align:start position:0%
I'm transferring token to someone so at
the<00:41:18.359><c> end</c><00:41:18.540><c> my</c><00:41:19.200><c> balance</c><00:41:19.619><c> should</c><00:41:19.920><c> have</c><00:41:20.099><c> decreased</c>

00:41:20.630 --> 00:41:20.640 align:start position:0%
the end my balance should have decreased
 

00:41:20.640 --> 00:41:22.910 align:start position:0%
the end my balance should have decreased
by<00:41:20.820><c> the</c><00:41:21.000><c> amount</c><00:41:21.180><c> and</c><00:41:21.900><c> the</c><00:41:22.079><c> receiver</c><00:41:22.440><c> should</c>

00:41:22.910 --> 00:41:22.920 align:start position:0%
by the amount and the receiver should
 

00:41:22.920 --> 00:41:25.670 align:start position:0%
by the amount and the receiver should
have<00:41:23.099><c> see</c><00:41:23.760><c> uh</c><00:41:24.240><c> its</c><00:41:24.599><c> balance</c><00:41:24.839><c> increased</c><00:41:25.440><c> by</c><00:41:25.560><c> the</c>

00:41:25.670 --> 00:41:25.680 align:start position:0%
have see uh its balance increased by the
 

00:41:25.680 --> 00:41:27.950 align:start position:0%
have see uh its balance increased by the
amount<00:41:26.460><c> and</c><00:41:26.940><c> let's</c><00:41:27.060><c> say</c><00:41:27.240><c> you</c><00:41:27.480><c> try</c><00:41:27.660><c> to</c><00:41:27.780><c> write</c>

00:41:27.950 --> 00:41:27.960 align:start position:0%
amount and let's say you try to write
 

00:41:27.960 --> 00:41:29.510 align:start position:0%
amount and let's say you try to write
something<00:41:28.200><c> like</c><00:41:28.500><c> that</c>

00:41:29.510 --> 00:41:29.520 align:start position:0%
something like that
 

00:41:29.520 --> 00:41:32.450 align:start position:0%
something like that
once<00:41:30.119><c> you</c><00:41:30.240><c> might</c><00:41:30.420><c> quickly</c><00:41:30.780><c> realized</c><00:41:31.460><c> that</c>

00:41:32.450 --> 00:41:32.460 align:start position:0%
once you might quickly realized that
 

00:41:32.460 --> 00:41:35.089 align:start position:0%
once you might quickly realized that
what<00:41:32.820><c> happened</c><00:41:33.000><c> if</c><00:41:33.420><c> the</c><00:41:33.599><c> destination</c><00:41:34.099><c> is</c>

00:41:35.089 --> 00:41:35.099 align:start position:0%
what happened if the destination is
 

00:41:35.099 --> 00:41:38.150 align:start position:0%
what happened if the destination is
myself<00:41:35.820><c> so</c><00:41:36.599><c> if</c><00:41:36.720><c> I</c><00:41:36.960><c> transfer</c><00:41:37.380><c> token</c><00:41:37.800><c> to</c><00:41:37.980><c> myself</c>

00:41:38.150 --> 00:41:38.160 align:start position:0%
myself so if I transfer token to myself
 

00:41:38.160 --> 00:41:40.849 align:start position:0%
myself so if I transfer token to myself
my<00:41:39.119><c> balance</c><00:41:39.420><c> is</c><00:41:39.599><c> not</c><00:41:39.780><c> going</c><00:41:39.960><c> to</c><00:41:40.079><c> increase</c><00:41:40.500><c> or</c>

00:41:40.849 --> 00:41:40.859 align:start position:0%
my balance is not going to increase or
 

00:41:40.859 --> 00:41:43.130 align:start position:0%
my balance is not going to increase or
decrease<00:41:41.040><c> quite</c><00:41:41.700><c> awfully</c><00:41:42.119><c> so</c><00:41:42.780><c> this</c><00:41:42.900><c> is</c><00:41:42.960><c> an</c>

00:41:43.130 --> 00:41:43.140 align:start position:0%
decrease quite awfully so this is an
 

00:41:43.140 --> 00:41:44.870 align:start position:0%
decrease quite awfully so this is an
example<00:41:43.380><c> where</c><00:41:43.740><c> you</c><00:41:44.099><c> might</c><00:41:44.220><c> try</c><00:41:44.339><c> to</c><00:41:44.460><c> Define</c><00:41:44.640><c> an</c>

00:41:44.870 --> 00:41:44.880 align:start position:0%
example where you might try to Define an
 

00:41:44.880 --> 00:41:46.670 align:start position:0%
example where you might try to Define an
invariance<00:41:45.359><c> on</c><00:41:45.660><c> transfer</c><00:41:46.079><c> it</c><00:41:46.260><c> might</c><00:41:46.380><c> seem</c>

00:41:46.670 --> 00:41:46.680 align:start position:0%
invariance on transfer it might seem
 

00:41:46.680 --> 00:41:48.650 align:start position:0%
invariance on transfer it might seem
simple<00:41:46.920><c> you</c><00:41:47.579><c> might</c><00:41:47.760><c> write</c><00:41:48.000><c> like</c><00:41:48.240><c> the</c><00:41:48.480><c> the</c>

00:41:48.650 --> 00:41:48.660 align:start position:0%
simple you might write like the the
 

00:41:48.660 --> 00:41:51.050 align:start position:0%
simple you might write like the the
thing<00:41:48.900><c> in</c><00:41:49.020><c> solidity</c><00:41:49.560><c> and</c><00:41:50.400><c> if</c><00:41:50.700><c> you</c><00:41:50.820><c> do</c><00:41:50.940><c> that</c>

00:41:51.050 --> 00:41:51.060 align:start position:0%
thing in solidity and if you do that
 

00:41:51.060 --> 00:41:52.370 align:start position:0%
thing in solidity and if you do that
again<00:41:51.240><c> is</c><00:41:51.480><c> going</c><00:41:51.660><c> to</c><00:41:51.720><c> tell</c><00:41:51.839><c> you</c><00:41:51.960><c> that</c><00:41:52.140><c> there</c><00:41:52.260><c> is</c>

00:41:52.370 --> 00:41:52.380 align:start position:0%
again is going to tell you that there is
 

00:41:52.380 --> 00:41:53.990 align:start position:0%
again is going to tell you that there is
an<00:41:52.500><c> edge</c><00:41:52.619><c> case</c><00:41:52.859><c> where</c><00:41:53.220><c> if</c><00:41:53.400><c> you</c><00:41:53.520><c> transfer</c><00:41:53.820><c> to</c>

00:41:53.990 --> 00:41:54.000 align:start position:0%
an edge case where if you transfer to
 

00:41:54.000 --> 00:41:56.510 align:start position:0%
an edge case where if you transfer to
yourself<00:41:54.500><c> like</c><00:41:55.500><c> the</c><00:41:55.680><c> event</c><00:41:55.859><c> is</c><00:41:56.040><c> going</c><00:41:56.160><c> to</c><00:41:56.400><c> be</c>

00:41:56.510 --> 00:41:56.520 align:start position:0%
yourself like the event is going to be
 

00:41:56.520 --> 00:41:57.710 align:start position:0%
yourself like the event is going to be
to<00:41:56.700><c> be</c><00:41:56.820><c> broken</c>

00:41:57.710 --> 00:41:57.720 align:start position:0%
to be broken
 

00:41:57.720 --> 00:41:59.630 align:start position:0%
to be broken
and<00:41:58.320><c> in</c><00:41:58.500><c> this</c><00:41:58.619><c> example</c><00:41:58.920><c> if</c><00:41:59.160><c> you</c><00:41:59.339><c> go</c><00:41:59.460><c> through</c>

00:41:59.630 --> 00:41:59.640 align:start position:0%
and in this example if you go through
 

00:41:59.640 --> 00:42:01.250 align:start position:0%
and in this example if you go through
this<00:42:00.540><c> um</c>

00:42:01.250 --> 00:42:01.260 align:start position:0%
this um
 

00:42:01.260 --> 00:42:03.230 align:start position:0%
this um
it's<00:42:01.740><c> not</c><00:42:01.859><c> the</c><00:42:01.980><c> code</c><00:42:02.160><c> which</c><00:42:02.640><c> is</c><00:42:02.760><c> bad</c><00:42:02.880><c> it's</c><00:42:03.060><c> an</c>

00:42:03.230 --> 00:42:03.240 align:start position:0%
it's not the code which is bad it's an
 

00:42:03.240 --> 00:42:04.609 align:start position:0%
it's not the code which is bad it's an
invariant<00:42:03.599><c> that</c><00:42:03.720><c> was</c><00:42:03.839><c> bad</c><00:42:04.020><c> so</c><00:42:04.200><c> that's</c><00:42:04.440><c> why</c>

00:42:04.609 --> 00:42:04.619 align:start position:0%
invariant that was bad so that's why
 

00:42:04.619 --> 00:42:06.950 align:start position:0%
invariant that was bad so that's why
having<00:42:04.859><c> this</c><00:42:05.040><c> iterative</c><00:42:05.520><c> approach</c><00:42:06.000><c> uh</c><00:42:06.780><c> is</c>

00:42:06.950 --> 00:42:06.960 align:start position:0%
having this iterative approach uh is
 

00:42:06.960 --> 00:42:08.270 align:start position:0%
having this iterative approach uh is
really<00:42:07.140><c> important</c><00:42:07.440><c> because</c><00:42:07.680><c> sometimes</c><00:42:08.099><c> we</c>

00:42:08.270 --> 00:42:08.280 align:start position:0%
really important because sometimes we
 

00:42:08.280 --> 00:42:09.470 align:start position:0%
really important because sometimes we
are<00:42:08.400><c> going</c><00:42:08.460><c> to</c><00:42:08.579><c> make</c><00:42:08.700><c> assumption</c><00:42:09.119><c> about</c><00:42:09.300><c> your</c>

00:42:09.470 --> 00:42:09.480 align:start position:0%
are going to make assumption about your
 

00:42:09.480 --> 00:42:11.270 align:start position:0%
are going to make assumption about your
system<00:42:09.720><c> and</c><00:42:10.380><c> you</c><00:42:10.560><c> might</c><00:42:10.680><c> actually</c><00:42:10.859><c> be</c><00:42:11.099><c> wrong</c>

00:42:11.270 --> 00:42:11.280 align:start position:0%
system and you might actually be wrong
 

00:42:11.280 --> 00:42:14.569 align:start position:0%
system and you might actually be wrong
and<00:42:11.940><c> as</c><00:42:12.599><c> the</c><00:42:13.079><c> system</c><00:42:13.200><c> gain</c><00:42:13.920><c> on</c><00:42:14.040><c> complexity</c>

00:42:14.569 --> 00:42:14.579 align:start position:0%
and as the system gain on complexity
 

00:42:14.579 --> 00:42:15.890 align:start position:0%
and as the system gain on complexity
it's<00:42:14.940><c> more</c><00:42:15.119><c> and</c><00:42:15.300><c> more</c><00:42:15.420><c> likely</c><00:42:15.599><c> that</c><00:42:15.720><c> it's</c>

00:42:15.890 --> 00:42:15.900 align:start position:0%
it's more and more likely that it's
 

00:42:15.900 --> 00:42:18.109 align:start position:0%
it's more and more likely that it's
going<00:42:16.079><c> to</c><00:42:16.140><c> be</c><00:42:16.260><c> more</c><00:42:16.500><c> difficult</c><00:42:16.920><c> to</c><00:42:17.520><c> refine</c><00:42:17.940><c> the</c>

00:42:18.109 --> 00:42:18.119 align:start position:0%
going to be more difficult to refine the
 

00:42:18.119 --> 00:42:20.750 align:start position:0%
going to be more difficult to refine the
invariance

00:42:20.750 --> 00:42:20.760 align:start position:0%
 
 

00:42:20.760 --> 00:42:22.370 align:start position:0%
 
something<00:42:21.180><c> else</c><00:42:21.420><c> which</c><00:42:21.599><c> is</c><00:42:21.780><c> also</c><00:42:22.020><c> important</c>

00:42:22.370 --> 00:42:22.380 align:start position:0%
something else which is also important
 

00:42:22.380 --> 00:42:25.310 align:start position:0%
something else which is also important
to<00:42:22.619><c> to</c><00:42:22.980><c> consider</c><00:42:23.520><c> is</c>

00:42:25.310 --> 00:42:25.320 align:start position:0%
to to consider is
 

00:42:25.320 --> 00:42:28.490 align:start position:0%
to to consider is
um<00:42:25.460><c> patterning</c><00:42:26.460><c> first</c><00:42:26.640><c> uh</c><00:42:27.359><c> reverting</c><00:42:27.900><c> for</c>

00:42:28.490 --> 00:42:28.500 align:start position:0%
um patterning first uh reverting for
 

00:42:28.500 --> 00:42:29.930 align:start position:0%
um patterning first uh reverting for
example<00:42:28.680><c> an</c><00:42:28.920><c> environment</c><00:42:29.280><c> you</c><00:42:29.460><c> can</c><00:42:29.579><c> have</c><00:42:29.700><c> is</c>

00:42:29.930 --> 00:42:29.940 align:start position:0%
example an environment you can have is
 

00:42:29.940 --> 00:42:31.670 align:start position:0%
example an environment you can have is
that<00:42:30.060><c> if</c><00:42:30.240><c> you</c><00:42:30.359><c> don't</c><00:42:30.480><c> have</c><00:42:30.660><c> enough</c><00:42:30.780><c> phones</c><00:42:31.320><c> the</c>

00:42:31.670 --> 00:42:31.680 align:start position:0%
that if you don't have enough phones the
 

00:42:31.680 --> 00:42:34.670 align:start position:0%
that if you don't have enough phones the
transfer<00:42:32.160><c> function</c><00:42:32.400><c> to</c><00:42:32.760><c> the</c><00:42:32.940><c> revert</c><00:42:33.720><c> or</c><00:42:34.320><c> a</c>

00:42:34.670 --> 00:42:34.680 align:start position:0%
transfer function to the revert or a
 

00:42:34.680 --> 00:42:36.230 align:start position:0%
transfer function to the revert or a
return<00:42:34.859><c> first</c><00:42:35.160><c> depending</c><00:42:35.640><c> on</c><00:42:35.700><c> how</c><00:42:36.060><c> you</c>

00:42:36.230 --> 00:42:36.240 align:start position:0%
return first depending on how you
 

00:42:36.240 --> 00:42:39.609 align:start position:0%
return first depending on how you
implemented<00:42:36.660><c> the</c><00:42:36.780><c> token</c>

00:42:39.609 --> 00:42:39.619 align:start position:0%
 
 

00:42:39.619 --> 00:42:42.710 align:start position:0%
 
once<00:42:40.619><c> you</c><00:42:40.740><c> have</c><00:42:40.859><c> this</c><00:42:41.040><c> list</c><00:42:41.280><c> of</c><00:42:41.520><c> invariants</c>

00:42:42.710 --> 00:42:42.720 align:start position:0%
once you have this list of invariants
 

00:42:42.720 --> 00:42:46.490 align:start position:0%
once you have this list of invariants
usually<00:42:43.500><c> you</c><00:42:44.040><c> can</c><00:42:44.220><c> split</c><00:42:45.000><c> invariant</c><00:42:45.960><c> into</c><00:42:46.140><c> two</c>

00:42:46.490 --> 00:42:46.500 align:start position:0%
usually you can split invariant into two
 

00:42:46.500 --> 00:42:48.950 align:start position:0%
usually you can split invariant into two
categories<00:42:47.520><c> function</c><00:42:48.119><c> level</c><00:42:48.300><c> invariant</c>

00:42:48.950 --> 00:42:48.960 align:start position:0%
categories function level invariant
 

00:42:48.960 --> 00:42:51.890 align:start position:0%
categories function level invariant
system<00:42:49.800><c> level</c><00:42:50.160><c> invariant</c><00:42:51.119><c> function</c><00:42:51.660><c> over</c>

00:42:51.890 --> 00:42:51.900 align:start position:0%
system level invariant function over
 

00:42:51.900 --> 00:42:54.290 align:start position:0%
system level invariant function over
invariant<00:42:52.500><c> are</c><00:42:52.800><c> usually</c><00:42:53.099><c> stateless</c>

00:42:54.290 --> 00:42:54.300 align:start position:0%
invariant are usually stateless
 

00:42:54.300 --> 00:42:56.089 align:start position:0%
invariant are usually stateless
they<00:42:54.839><c> are</c><00:42:54.960><c> things</c><00:42:55.140><c> that</c><00:42:55.380><c> you</c><00:42:55.500><c> can</c><00:42:55.680><c> just</c><00:42:55.920><c> you</c>

00:42:56.089 --> 00:42:56.099 align:start position:0%
they are things that you can just you
 

00:42:56.099 --> 00:42:57.890 align:start position:0%
they are things that you can just you
know<00:42:56.220><c> look</c><00:42:56.460><c> at</c><00:42:56.579><c> a</c><00:42:56.760><c> specific</c><00:42:57.060><c> function</c><00:42:57.420><c> and</c><00:42:57.780><c> try</c>

00:42:57.890 --> 00:42:57.900 align:start position:0%
know look at a specific function and try
 

00:42:57.900 --> 00:43:00.050 align:start position:0%
know look at a specific function and try
to<00:42:58.079><c> see</c><00:42:58.200><c> if</c><00:42:58.319><c> it</c><00:42:58.500><c> holds</c><00:42:58.859><c> so</c><00:42:59.160><c> it</c><00:42:59.520><c> may</c><00:42:59.700><c> take</c><00:42:59.880><c> you</c>

00:43:00.050 --> 00:43:00.060 align:start position:0%
to see if it holds so it may take you
 

00:43:00.060 --> 00:43:01.250 align:start position:0%
to see if it holds so it may take you
know<00:43:00.119><c> environment</c><00:43:00.540><c> I</c><00:43:00.720><c> mentioned</c><00:43:01.020><c> are</c>

00:43:01.250 --> 00:43:01.260 align:start position:0%
know environment I mentioned are
 

00:43:01.260 --> 00:43:02.870 align:start position:0%
know environment I mentioned are
stateless<00:43:01.680><c> and</c><00:43:02.040><c> our</c><00:43:02.160><c> functional</c><00:43:02.520><c> leveling</c>

00:43:02.870 --> 00:43:02.880 align:start position:0%
stateless and our functional leveling
 

00:43:02.880 --> 00:43:03.890 align:start position:0%
stateless and our functional leveling
variants

00:43:03.890 --> 00:43:03.900 align:start position:0%
variants
 

00:43:03.900 --> 00:43:06.290 align:start position:0%
variants
here<00:43:04.440><c> you</c><00:43:04.680><c> can</c><00:43:04.859><c> craft</c><00:43:05.099><c> simple</c><00:43:05.460><c> scenario</c><00:43:06.060><c> just</c>

00:43:06.290 --> 00:43:06.300 align:start position:0%
here you can craft simple scenario just
 

00:43:06.300 --> 00:43:08.210 align:start position:0%
here you can craft simple scenario just
by<00:43:06.420><c> calling</c><00:43:06.780><c> the</c><00:43:06.900><c> specific</c><00:43:07.260><c> function</c>

00:43:08.210 --> 00:43:08.220 align:start position:0%
by calling the specific function
 

00:43:08.220 --> 00:43:10.250 align:start position:0%
by calling the specific function
then<00:43:08.880><c> you</c><00:43:09.119><c> have</c><00:43:09.300><c> system</c><00:43:09.540><c> level</c><00:43:09.839><c> in</c><00:43:10.140><c> there</c>

00:43:10.250 --> 00:43:10.260 align:start position:0%
then you have system level in there
 

00:43:10.260 --> 00:43:12.470 align:start position:0%
then you have system level in there
system<00:43:10.980><c> level</c><00:43:11.339><c> environments</c><00:43:12.000><c> are</c><00:43:12.180><c> usually</c>

00:43:12.470 --> 00:43:12.480 align:start position:0%
system level environments are usually
 

00:43:12.480 --> 00:43:15.050 align:start position:0%
system level environments are usually
more<00:43:12.839><c> complex</c><00:43:13.280><c> but</c><00:43:14.280><c> they're</c><00:43:14.579><c> also</c><00:43:14.880><c> more</c>

00:43:15.050 --> 00:43:15.060 align:start position:0%
more complex but they're also more
 

00:43:15.060 --> 00:43:17.329 align:start position:0%
more complex but they're also more
powerful<00:43:15.599><c> and</c><00:43:16.140><c> here</c><00:43:16.440><c> you</c><00:43:16.619><c> are</c><00:43:16.740><c> stateful</c><00:43:17.099><c> you</c>

00:43:17.329 --> 00:43:17.339 align:start position:0%
powerful and here you are stateful you
 

00:43:17.339 --> 00:43:19.309 align:start position:0%
powerful and here you are stateful you
are<00:43:17.520><c> going</c><00:43:17.579><c> to</c><00:43:17.760><c> change</c><00:43:18.060><c> the</c><00:43:18.839><c> state</c><00:43:18.960><c> of</c><00:43:19.200><c> the</c>

00:43:19.309 --> 00:43:19.319 align:start position:0%
are going to change the state of the
 

00:43:19.319 --> 00:43:20.809 align:start position:0%
are going to change the state of the
contract<00:43:19.619><c> and</c><00:43:19.800><c> you</c><00:43:19.920><c> are</c><00:43:20.040><c> going</c><00:43:20.160><c> to</c><00:43:20.280><c> try</c><00:43:20.460><c> to</c><00:43:20.640><c> see</c>

00:43:20.809 --> 00:43:20.819 align:start position:0%
contract and you are going to try to see
 

00:43:20.819 --> 00:43:23.690 align:start position:0%
contract and you are going to try to see
the<00:43:21.000><c> environment</c><00:43:21.420><c> no</c><00:43:22.200><c> matter</c><00:43:22.380><c> the</c><00:43:22.680><c> state</c><00:43:22.859><c> and</c>

00:43:23.690 --> 00:43:23.700 align:start position:0%
the environment no matter the state and
 

00:43:23.700 --> 00:43:25.370 align:start position:0%
the environment no matter the state and
here<00:43:23.940><c> is</c><00:43:24.119><c> why</c><00:43:24.359><c> it's</c><00:43:24.540><c> important</c><00:43:24.839><c> that</c><00:43:25.020><c> echina</c>

00:43:25.370 --> 00:43:25.380 align:start position:0%
here is why it's important that echina
 

00:43:25.380 --> 00:43:26.630 align:start position:0%
here is why it's important that echina
is<00:43:25.560><c> calling</c><00:43:25.800><c> all</c><00:43:25.859><c> the</c><00:43:26.099><c> different</c><00:43:26.220><c> function</c>

00:43:26.630 --> 00:43:26.640 align:start position:0%
is calling all the different function
 

00:43:26.640 --> 00:43:28.490 align:start position:0%
is calling all the different function
because<00:43:27.180><c> it's</c><00:43:27.599><c> actually</c><00:43:27.839><c> what</c><00:43:28.079><c> you</c><00:43:28.200><c> want</c><00:43:28.380><c> to</c>

00:43:28.490 --> 00:43:28.500 align:start position:0%
because it's actually what you want to
 

00:43:28.500 --> 00:43:29.569 align:start position:0%
because it's actually what you want to
try

00:43:29.569 --> 00:43:29.579 align:start position:0%
try
 

00:43:29.579 --> 00:43:32.930 align:start position:0%
try
the<00:43:29.880><c> balance</c><00:43:30.800><c> being</c><00:43:31.800><c> below</c><00:43:32.220><c> or</c><00:43:32.339><c> equal</c><00:43:32.520><c> to</c><00:43:32.760><c> the</c>

00:43:32.930 --> 00:43:32.940 align:start position:0%
the balance being below or equal to the
 

00:43:32.940 --> 00:43:35.270 align:start position:0%
the balance being below or equal to the
total<00:43:33.180><c> Supply</c><00:43:33.359><c> is</c><00:43:33.599><c> an</c><00:43:33.780><c> example</c><00:43:34.020><c> of</c><00:43:34.319><c> a</c><00:43:34.800><c> system</c>

00:43:35.270 --> 00:43:35.280 align:start position:0%
total Supply is an example of a system
 

00:43:35.280 --> 00:43:37.990 align:start position:0%
total Supply is an example of a system
level<00:43:35.579><c> invariant</c>

00:43:37.990 --> 00:43:38.000 align:start position:0%
level invariant
 

00:43:38.000 --> 00:43:41.569 align:start position:0%
level invariant
one<00:43:39.000><c> thing</c><00:43:39.119><c> that</c><00:43:39.300><c> you</c><00:43:39.480><c> can</c><00:43:39.599><c> use</c>

00:43:41.569 --> 00:43:41.579 align:start position:0%
one thing that you can use
 

00:43:41.579 --> 00:43:43.849 align:start position:0%
one thing that you can use
is<00:43:42.240><c> a</c><00:43:42.540><c> different</c><00:43:42.660><c> modern</c><00:43:43.079><c> incidence</c><00:43:43.500><c> of</c>

00:43:43.849 --> 00:43:43.859 align:start position:0%
is a different modern incidence of
 

00:43:43.859 --> 00:43:46.609 align:start position:0%
is a different modern incidence of
calling<00:43:44.220><c> Akinator</c><00:43:44.819><c> underscore</c><00:43:45.180><c> something</c><00:43:45.619><c> we</c>

00:43:46.609 --> 00:43:46.619 align:start position:0%
calling Akinator underscore something we
 

00:43:46.619 --> 00:43:48.349 align:start position:0%
calling Akinator underscore something we
support<00:43:46.800><c> a</c><00:43:47.040><c> session</c><00:43:47.280><c> so</c><00:43:47.520><c> you</c><00:43:47.640><c> can</c><00:43:47.760><c> just</c><00:43:47.940><c> create</c>

00:43:48.349 --> 00:43:48.359 align:start position:0%
support a session so you can just create
 

00:43:48.359 --> 00:43:50.870 align:start position:0%
support a session so you can just create
function<00:43:48.839><c> put</c><00:43:49.560><c> assertion</c><00:43:50.099><c> and</c><00:43:50.339><c> try</c><00:43:50.460><c> to</c><00:43:50.640><c> see</c><00:43:50.819><c> if</c>

00:43:50.870 --> 00:43:50.880 align:start position:0%
function put assertion and try to see if
 

00:43:50.880 --> 00:43:53.510 align:start position:0%
function put assertion and try to see if
it<00:43:51.000><c> holds</c>

00:43:53.510 --> 00:43:53.520 align:start position:0%
 
 

00:43:53.520 --> 00:43:56.510 align:start position:0%
 
a<00:43:54.000><c> SIM</c><00:43:54.300><c> for</c><00:43:54.780><c> system</c><00:43:55.380><c> level</c><00:43:55.619><c> environment</c><00:43:56.160><c> as</c><00:43:56.339><c> we</c>

00:43:56.510 --> 00:43:56.520 align:start position:0%
a SIM for system level environment as we
 

00:43:56.520 --> 00:43:58.370 align:start position:0%
a SIM for system level environment as we
kind<00:43:56.880><c> of</c><00:43:56.940><c> already</c><00:43:57.119><c> like</c><00:43:57.540><c> discuss</c><00:43:57.900><c> it</c><00:43:58.200><c> might</c><00:43:58.319><c> be</c>

00:43:58.370 --> 00:43:58.380 align:start position:0%
kind of already like discuss it might be
 

00:43:58.380 --> 00:43:59.690 align:start position:0%
kind of already like discuss it might be
more<00:43:58.619><c> complex</c><00:43:58.920><c> depending</c><00:43:59.400><c> on</c><00:43:59.579><c> the</c>

00:43:59.690 --> 00:43:59.700 align:start position:0%
more complex depending on the
 

00:43:59.700 --> 00:44:02.270 align:start position:0%
more complex depending on the
initialization<00:44:00.300><c> of</c><00:44:00.660><c> your</c><00:44:00.839><c> system</c><00:44:01.020><c> uh</c><00:44:01.980><c> if</c><00:44:02.160><c> it's</c>

00:44:02.270 --> 00:44:02.280 align:start position:0%
initialization of your system uh if it's
 

00:44:02.280 --> 00:44:03.770 align:start position:0%
initialization of your system uh if it's
a<00:44:02.460><c> simple</c><00:44:02.640><c> initialization</c><00:44:03.180><c> you</c><00:44:03.540><c> might</c><00:44:03.720><c> be</c>

00:44:03.770 --> 00:44:03.780 align:start position:0%
a simple initialization you might be
 

00:44:03.780 --> 00:44:05.270 align:start position:0%
a simple initialization you might be
able<00:44:03.960><c> to</c><00:44:04.079><c> do</c><00:44:04.260><c> everything</c><00:44:04.500><c> in</c><00:44:04.800><c> the</c><00:44:04.920><c> Constructor</c>

00:44:05.270 --> 00:44:05.280 align:start position:0%
able to do everything in the Constructor
 

00:44:05.280 --> 00:44:07.790 align:start position:0%
able to do everything in the Constructor
if<00:44:06.180><c> the</c><00:44:06.359><c> Constructor</c><00:44:06.720><c> is</c><00:44:06.960><c> too</c><00:44:07.140><c> large</c><00:44:07.380><c> for</c><00:44:07.619><c> like</c>

00:44:07.790 --> 00:44:07.800 align:start position:0%
if the Constructor is too large for like
 

00:44:07.800 --> 00:44:09.650 align:start position:0%
if the Constructor is too large for like
the<00:44:07.980><c> bytical</c><00:44:08.280><c> size</c><00:44:08.579><c> or</c><00:44:08.940><c> for</c><00:44:09.060><c> whatever</c><00:44:09.300><c> reason</c>

00:44:09.650 --> 00:44:09.660 align:start position:0%
the bytical size or for whatever reason
 

00:44:09.660 --> 00:44:12.170 align:start position:0%
the bytical size or for whatever reason
you<00:44:10.560><c> might</c><00:44:10.680><c> have</c><00:44:10.859><c> to</c><00:44:10.980><c> split</c><00:44:11.280><c> it</c><00:44:11.460><c> and</c><00:44:11.700><c> here</c><00:44:11.940><c> is</c>

00:44:12.170 --> 00:44:12.180 align:start position:0%
you might have to split it and here is
 

00:44:12.180 --> 00:44:15.589 align:start position:0%
you might have to split it and here is
where<00:44:12.420><c> you</c><00:44:12.540><c> can</c><00:44:12.660><c> use</c><00:44:12.780><c> a</c><00:44:12.900><c> kid</c><00:44:13.079><c> now</c><00:44:13.260><c> 18</c><00:44:14.099><c> outside</c>

00:44:15.589 --> 00:44:15.599 align:start position:0%
where you can use a kid now 18 outside
 

00:44:15.599 --> 00:44:19.329 align:start position:0%
where you can use a kid now 18 outside
okay

00:44:19.329 --> 00:44:19.339 align:start position:0%
 
 

00:44:19.339 --> 00:44:23.510 align:start position:0%
 
all<00:44:20.339><c> right</c><00:44:20.579><c> so</c><00:44:21.000><c> let's</c><00:44:21.359><c> let's</c><00:44:21.900><c> see</c><00:44:22.440><c> this</c><00:44:23.220><c> uh</c>

00:44:23.510 --> 00:44:23.520 align:start position:0%
all right so let's let's see this uh
 

00:44:23.520 --> 00:44:25.790 align:start position:0%
all right so let's let's see this uh
particular<00:44:23.940><c> piece</c><00:44:24.240><c> of</c><00:44:24.300><c> code</c><00:44:24.480><c> let's</c><00:44:24.780><c> take</c>

00:44:25.790 --> 00:44:25.800 align:start position:0%
particular piece of code let's take
 

00:44:25.800 --> 00:44:26.450 align:start position:0%
particular piece of code let's take
um

00:44:26.450 --> 00:44:26.460 align:start position:0%
um
 

00:44:26.460 --> 00:44:28.790 align:start position:0%
um
uh<00:44:26.819><c> half</c><00:44:27.240><c> a</c><00:44:27.420><c> minute</c><00:44:27.599><c> to</c><00:44:27.839><c> read</c><00:44:27.960><c> it</c>

00:44:28.790 --> 00:44:28.800 align:start position:0%
uh half a minute to read it
 

00:44:28.800 --> 00:44:31.490 align:start position:0%
uh half a minute to read it
um<00:44:28.920><c> it's</c><00:44:29.400><c> it's</c><00:44:29.880><c> basically</c><00:44:30.420><c> a</c><00:44:30.900><c> buy</c><00:44:31.079><c> function</c>

00:44:31.490 --> 00:44:31.500 align:start position:0%
um it's it's basically a buy function
 

00:44:31.500 --> 00:44:34.970 align:start position:0%
um it's it's basically a buy function
that<00:44:32.220><c> will</c><00:44:32.660><c> uh</c><00:44:33.660><c> call</c><00:44:33.900><c> an</c><00:44:34.260><c> internal</c><00:44:34.680><c> function</c>

00:44:34.970 --> 00:44:34.980 align:start position:0%
that will uh call an internal function
 

00:44:34.980 --> 00:44:38.150 align:start position:0%
that will uh call an internal function
valid<00:44:35.460><c> by</c><00:44:35.780><c> uh</c><00:44:36.780><c> so</c><00:44:37.079><c> what</c><00:44:37.380><c> we</c><00:44:37.500><c> are</c><00:44:37.619><c> going</c><00:44:37.800><c> to</c><00:44:37.980><c> do</c>

00:44:38.150 --> 00:44:38.160 align:start position:0%
valid by uh so what we are going to do
 

00:44:38.160 --> 00:44:41.750 align:start position:0%
valid by uh so what we are going to do
is<00:44:38.460><c> we're</c><00:44:38.940><c> going</c><00:44:39.180><c> to</c><00:44:39.359><c> think</c><00:44:39.920><c> uh</c><00:44:40.920><c> what</c><00:44:41.460><c> are</c><00:44:41.700><c> the</c>

00:44:41.750 --> 00:44:41.760 align:start position:0%
is we're going to think uh what are the
 

00:44:41.760 --> 00:44:44.390 align:start position:0%
is we're going to think uh what are the
type<00:44:42.000><c> of</c><00:44:42.240><c> invariants</c><00:44:43.020><c> that</c><00:44:43.380><c> we</c><00:44:43.619><c> can</c><00:44:43.740><c> have</c><00:44:44.040><c> here</c>

00:44:44.390 --> 00:44:44.400 align:start position:0%
type of invariants that we can have here
 

00:44:44.400 --> 00:44:47.210 align:start position:0%
type of invariants that we can have here
and<00:44:45.060><c> what</c><00:44:45.420><c> what</c><00:44:45.839><c> is</c><00:44:46.140><c> what</c><00:44:46.619><c> will</c><00:44:46.800><c> they</c><00:44:47.099><c> are</c>

00:44:47.210 --> 00:44:47.220 align:start position:0%
and what what is what will they are
 

00:44:47.220 --> 00:44:48.710 align:start position:0%
and what what is what will they are
going<00:44:47.339><c> to</c><00:44:47.460><c> test</c><00:44:47.700><c> and</c><00:44:48.000><c> what</c><00:44:48.359><c> type</c><00:44:48.599><c> of</c>

00:44:48.710 --> 00:44:48.720 align:start position:0%
going to test and what type of
 

00:44:48.720 --> 00:44:50.450 align:start position:0%
going to test and what type of
guarantees<00:44:49.319><c> we're</c><00:44:49.500><c> going</c><00:44:49.680><c> to</c><00:44:49.800><c> get</c><00:44:49.980><c> from</c><00:44:50.280><c> this</c>

00:44:50.450 --> 00:44:50.460 align:start position:0%
guarantees we're going to get from this
 

00:44:50.460 --> 00:44:52.730 align:start position:0%
guarantees we're going to get from this
so<00:44:50.940><c> let's</c><00:44:51.119><c> let's</c><00:44:51.480><c> take</c><00:44:51.780><c> a</c><00:44:51.960><c> few</c><00:44:52.140><c> few</c><00:44:52.560><c> seconds</c>

00:44:52.730 --> 00:44:52.740 align:start position:0%
so let's let's take a few few seconds
 

00:44:52.740 --> 00:44:55.309 align:start position:0%
so let's let's take a few few seconds
for<00:44:53.099><c> this</c>

00:44:55.309 --> 00:44:55.319 align:start position:0%
 
 

00:44:55.319 --> 00:44:58.069 align:start position:0%
 
foreign

00:44:58.069 --> 00:44:58.079 align:start position:0%
 
 

00:44:58.079 --> 00:45:05.089 align:start position:0%
 
yes<00:44:58.920><c> so</c><00:44:59.160><c> we</c><00:44:59.339><c> have</c><00:44:59.460><c> questions</c>

00:45:05.089 --> 00:45:05.099 align:start position:0%
 
 

00:45:05.099 --> 00:45:08.329 align:start position:0%
 
okay<00:45:05.880><c> so</c><00:45:06.300><c> the</c><00:45:06.540><c> question</c><00:45:06.720><c> is</c><00:45:07.020><c> uh</c><00:45:07.680><c> testing</c>

00:45:08.329 --> 00:45:08.339 align:start position:0%
okay so the question is uh testing
 

00:45:08.339 --> 00:45:10.609 align:start position:0%
okay so the question is uh testing
timestamp<00:45:08.880><c> dependent</c><00:45:09.300><c> so</c><00:45:09.599><c> it's</c><00:45:09.960><c> clearly</c><00:45:10.380><c> not</c>

00:45:10.609 --> 00:45:10.619 align:start position:0%
timestamp dependent so it's clearly not
 

00:45:10.619 --> 00:45:12.950 align:start position:0%
timestamp dependent so it's clearly not
not<00:45:10.859><c> the</c><00:45:11.099><c> case</c><00:45:11.220><c> here</c><00:45:11.520><c> for</c><00:45:12.359><c> timestamp</c>

00:45:12.950 --> 00:45:12.960 align:start position:0%
not the case here for timestamp
 

00:45:12.960 --> 00:45:15.650 align:start position:0%
not the case here for timestamp
depending<00:45:13.440><c> code</c><00:45:13.740><c> uh</c>

00:45:15.650 --> 00:45:15.660 align:start position:0%
depending code uh
 

00:45:15.660 --> 00:45:17.510 align:start position:0%
depending code uh
um<00:45:15.780><c> a</c><00:45:16.079><c> kid</c><00:45:16.260><c> now</c><00:45:16.440><c> when</c><00:45:16.619><c> it</c><00:45:16.800><c> runs</c><00:45:17.280><c> it</c>

00:45:17.510 --> 00:45:17.520 align:start position:0%
um a kid now when it runs it
 

00:45:17.520 --> 00:45:21.109 align:start position:0%
um a kid now when it runs it
automatically<00:45:18.420><c> increase</c><00:45:19.040><c> either</c><00:45:20.040><c> the</c><00:45:20.760><c> block</c>

00:45:21.109 --> 00:45:21.119 align:start position:0%
automatically increase either the block
 

00:45:21.119 --> 00:45:23.990 align:start position:0%
automatically increase either the block
number<00:45:21.420><c> or</c><00:45:22.140><c> the</c><00:45:22.380><c> block</c><00:45:22.560><c> timestamp</c><00:45:23.099><c> inside</c>

00:45:23.990 --> 00:45:24.000 align:start position:0%
number or the block timestamp inside
 

00:45:24.000 --> 00:45:27.050 align:start position:0%
number or the block timestamp inside
some<00:45:24.420><c> range</c><00:45:25.020><c> right</c><00:45:25.859><c> because</c><00:45:26.339><c> it</c><00:45:26.640><c> it</c><00:45:26.819><c> happens</c>

00:45:27.050 --> 00:45:27.060 align:start position:0%
some range right because it it happens
 

00:45:27.060 --> 00:45:31.010 align:start position:0%
some range right because it it happens
that<00:45:27.660><c> some</c><00:45:27.900><c> code</c><00:45:28.200><c> will</c><00:45:28.560><c> fail</c><00:45:29.359><c> uh</c><00:45:30.359><c> when</c><00:45:30.839><c> the</c>

00:45:31.010 --> 00:45:31.020 align:start position:0%
that some code will fail uh when the
 

00:45:31.020 --> 00:45:33.770 align:start position:0%
that some code will fail uh when the
timestamp<00:45:31.500><c> is</c><00:45:31.859><c> increased</c><00:45:32.460><c> into</c><00:45:33.300><c> a</c><00:45:33.660><c> really</c>

00:45:33.770 --> 00:45:33.780 align:start position:0%
timestamp is increased into a really
 

00:45:33.780 --> 00:45:36.650 align:start position:0%
timestamp is increased into a really
really<00:45:33.960><c> large</c><00:45:34.319><c> number</c><00:45:34.680><c> but</c><00:45:35.640><c> yeah</c><00:45:35.940><c> 100</c><00:45:36.180><c> years</c>

00:45:36.650 --> 00:45:36.660 align:start position:0%
really large number but yeah 100 years
 

00:45:36.660 --> 00:45:38.809 align:start position:0%
really large number but yeah 100 years
or<00:45:37.020><c> like</c><00:45:37.319><c> the</c><00:45:37.500><c> end</c><00:45:37.859><c> of</c><00:45:37.980><c> the</c><00:45:38.099><c> universe</c><00:45:38.339><c> so</c><00:45:38.520><c> we</c>

00:45:38.809 --> 00:45:38.819 align:start position:0%
or like the end of the universe so we
 

00:45:38.819 --> 00:45:40.670 align:start position:0%
or like the end of the universe so we
don't<00:45:39.000><c> care</c><00:45:39.240><c> if</c><00:45:39.540><c> if</c><00:45:39.720><c> the</c><00:45:39.960><c> smart</c><00:45:40.140><c> contract</c><00:45:40.500><c> has</c>

00:45:40.670 --> 00:45:40.680 align:start position:0%
don't care if if the smart contract has
 

00:45:40.680 --> 00:45:43.670 align:start position:0%
don't care if if the smart contract has
a<00:45:40.920><c> bug</c><00:45:41.460><c> that</c><00:45:41.760><c> can</c><00:45:42.240><c> only</c><00:45:42.720><c> be</c><00:45:42.900><c> triggered</c><00:45:43.319><c> in</c><00:45:43.560><c> the</c>

00:45:43.670 --> 00:45:43.680 align:start position:0%
a bug that can only be triggered in the
 

00:45:43.680 --> 00:45:45.349 align:start position:0%
a bug that can only be triggered in the
end<00:45:43.740><c> of</c><00:45:43.920><c> the</c><00:45:43.980><c> universe</c><00:45:44.280><c> will</c><00:45:44.640><c> be</c><00:45:44.819><c> the</c><00:45:44.940><c> least</c><00:45:45.060><c> of</c>

00:45:45.349 --> 00:45:45.359 align:start position:0%
end of the universe will be the least of
 

00:45:45.359 --> 00:45:47.030 align:start position:0%
end of the universe will be the least of
our<00:45:45.660><c> problems</c>

00:45:47.030 --> 00:45:47.040 align:start position:0%
our problems
 

00:45:47.040 --> 00:45:50.809 align:start position:0%
our problems
um<00:45:47.160><c> all</c><00:45:47.760><c> right</c><00:45:47.880><c> so</c><00:45:48.680><c> yeah</c><00:45:49.680><c> any</c><00:45:49.980><c> any</c><00:45:50.220><c> idea</c><00:45:50.579><c> what</c>

00:45:50.809 --> 00:45:50.819 align:start position:0%
um all right so yeah any any idea what
 

00:45:50.819 --> 00:45:52.370 align:start position:0%
um all right so yeah any any idea what
are<00:45:51.000><c> the</c><00:45:51.060><c> type</c><00:45:51.240><c> of</c><00:45:51.359><c> things</c><00:45:51.720><c> that</c><00:45:51.960><c> we</c><00:45:52.079><c> can</c><00:45:52.200><c> test</c>

00:45:52.370 --> 00:45:52.380 align:start position:0%
are the type of things that we can test
 

00:45:52.380 --> 00:45:53.990 align:start position:0%
are the type of things that we can test
here

00:45:53.990 --> 00:45:54.000 align:start position:0%
here
 

00:45:54.000 --> 00:45:56.530 align:start position:0%
here
first<00:45:54.780><c> one</c>

00:45:56.530 --> 00:45:56.540 align:start position:0%
first one
 

00:45:56.540 --> 00:46:00.230 align:start position:0%
first one
the<00:45:57.540><c> first</c><00:45:57.780><c> one</c><00:45:57.960><c> we</c><00:45:58.319><c> can</c><00:45:58.500><c> understand</c><00:45:58.740><c> that</c><00:45:59.579><c> how</c>

00:46:00.230 --> 00:46:00.240 align:start position:0%
the first one we can understand that how
 

00:46:00.240 --> 00:46:02.870 align:start position:0%
the first one we can understand that how
much<00:46:00.420><c> token</c><00:46:00.960><c> how</c><00:46:01.260><c> many</c><00:46:01.380><c> tokens</c><00:46:01.800><c> we</c><00:46:02.160><c> can</c><00:46:02.280><c> get</c><00:46:02.520><c> as</c>

00:46:02.870 --> 00:46:02.880 align:start position:0%
much token how many tokens we can get as
 

00:46:02.880 --> 00:46:06.170 align:start position:0%
much token how many tokens we can get as
a<00:46:03.119><c> result</c><00:46:03.619><c> follows</c><00:46:04.619><c> our</c><00:46:04.920><c> expectation</c><00:46:05.700><c> when</c>

00:46:06.170 --> 00:46:06.180 align:start position:0%
a result follows our expectation when
 

00:46:06.180 --> 00:46:09.230 align:start position:0%
a result follows our expectation when
we're<00:46:06.359><c> sending</c><00:46:06.839><c> message</c><00:46:07.680><c> value</c><00:46:08.099><c> because</c><00:46:08.940><c> as</c>

00:46:09.230 --> 00:46:09.240 align:start position:0%
we're sending message value because as
 

00:46:09.240 --> 00:46:11.870 align:start position:0%
we're sending message value because as
you<00:46:09.480><c> can</c><00:46:09.599><c> see</c><00:46:09.780><c> it's</c><00:46:10.140><c> a</c><00:46:10.500><c> hard-coded</c><00:46:11.220><c> rate</c><00:46:11.460><c> is</c>

00:46:11.870 --> 00:46:11.880 align:start position:0%
you can see it's a hard-coded rate is
 

00:46:11.880 --> 00:46:14.750 align:start position:0%
you can see it's a hard-coded rate is
around<00:46:12.180><c> 10</c><00:46:12.740><c> so</c><00:46:13.740><c> basically</c><00:46:14.160><c> it's</c><00:46:14.400><c> a</c><00:46:14.640><c> pretty</c>

00:46:14.750 --> 00:46:14.760 align:start position:0%
around 10 so basically it's a pretty
 

00:46:14.760 --> 00:46:17.569 align:start position:0%
around 10 so basically it's a pretty
simple<00:46:15.000><c> formula</c><00:46:15.720><c> we</c><00:46:16.140><c> can</c><00:46:16.319><c> change</c><00:46:16.800><c> different</c>

00:46:17.569 --> 00:46:17.579 align:start position:0%
simple formula we can change different
 

00:46:17.579 --> 00:46:20.030 align:start position:0%
simple formula we can change different
values<00:46:18.180><c> we</c><00:46:18.480><c> put</c><00:46:18.660><c> into</c><00:46:18.839><c> the</c><00:46:19.079><c> function</c><00:46:19.440><c> we</c><00:46:19.859><c> have</c>

00:46:20.030 --> 00:46:20.040 align:start position:0%
values we put into the function we have
 

00:46:20.040 --> 00:46:22.670 align:start position:0%
values we put into the function we have
totally<00:46:20.400><c> prediction</c><00:46:20.940><c> how</c><00:46:21.900><c> much</c><00:46:22.020><c> we</c><00:46:22.260><c> can</c><00:46:22.440><c> get</c>

00:46:22.670 --> 00:46:22.680 align:start position:0%
totally prediction how much we can get
 

00:46:22.680 --> 00:46:26.750 align:start position:0%
totally prediction how much we can get
and<00:46:23.339><c> then</c><00:46:23.579><c> we</c><00:46:23.880><c> can</c><00:46:24.060><c> try</c><00:46:24.420><c> to</c><00:46:25.220><c> verify</c><00:46:26.220><c> that</c><00:46:26.520><c> it</c>

00:46:26.750 --> 00:46:26.760 align:start position:0%
and then we can try to verify that it
 

00:46:26.760 --> 00:46:28.510 align:start position:0%
and then we can try to verify that it
works

00:46:28.510 --> 00:46:28.520 align:start position:0%
works
 

00:46:28.520 --> 00:46:32.089 align:start position:0%
works
yes<00:46:29.520><c> exactly</c><00:46:30.000><c> so</c><00:46:30.420><c> the</c><00:46:30.720><c> the</c><00:46:31.020><c> property</c><00:46:31.980><c> is</c>

00:46:32.089 --> 00:46:32.099 align:start position:0%
yes exactly so the the property is
 

00:46:32.099 --> 00:46:34.490 align:start position:0%
yes exactly so the the property is
related<00:46:32.460><c> with</c><00:46:33.000><c> the</c><00:46:33.420><c> amount</c><00:46:33.660><c> that</c><00:46:33.960><c> we</c><00:46:34.140><c> can</c><00:46:34.319><c> get</c>

00:46:34.490 --> 00:46:34.500 align:start position:0%
related with the amount that we can get
 

00:46:34.500 --> 00:46:38.809 align:start position:0%
related with the amount that we can get
even<00:46:35.240><c> the</c><00:46:36.240><c> number</c><00:46:36.480><c> of</c><00:46:37.200><c> uh</c><00:46:37.980><c> weight</c><00:46:38.280><c> that</c><00:46:38.640><c> is</c>

00:46:38.809 --> 00:46:38.819 align:start position:0%
even the number of uh weight that is
 

00:46:38.819 --> 00:46:40.069 align:start position:0%
even the number of uh weight that is
sent

00:46:40.069 --> 00:46:40.079 align:start position:0%
sent
 

00:46:40.079 --> 00:46:41.569 align:start position:0%
sent
so

00:46:41.569 --> 00:46:41.579 align:start position:0%
so
 

00:46:41.579 --> 00:46:45.050 align:start position:0%
so
um<00:46:41.640><c> yeah</c><00:46:42.180><c> uh</c><00:46:42.839><c> we</c><00:46:43.140><c> can</c><00:46:43.339><c> so</c><00:46:44.339><c> the</c><00:46:44.579><c> first</c><00:46:44.700><c> thing</c><00:46:44.880><c> is</c>

00:46:45.050 --> 00:46:45.060 align:start position:0%
um yeah uh we can so the first thing is
 

00:46:45.060 --> 00:46:47.589 align:start position:0%
um yeah uh we can so the first thing is
this<00:46:45.540><c> this</c><00:46:45.780><c> code</c><00:46:46.079><c> will</c><00:46:46.380><c> depend</c><00:46:46.680><c> on</c><00:46:46.800><c> the</c><00:46:47.040><c> state</c>

00:46:47.589 --> 00:46:47.599 align:start position:0%
this this code will depend on the state
 

00:46:47.599 --> 00:46:50.150 align:start position:0%
this this code will depend on the state
uh<00:46:48.599><c> we</c><00:46:48.780><c> don't</c><00:46:48.900><c> have</c><00:46:49.079><c> the</c><00:46:49.260><c> mean</c><00:46:49.380><c> function</c><00:46:49.800><c> so</c><00:46:49.980><c> we</c>

00:46:50.150 --> 00:46:50.160 align:start position:0%
uh we don't have the mean function so we
 

00:46:50.160 --> 00:46:52.370 align:start position:0%
uh we don't have the mean function so we
don't<00:46:50.280><c> know</c><00:46:50.400><c> what</c><00:46:50.579><c> is</c><00:46:50.700><c> what</c><00:46:50.940><c> is</c><00:46:51.060><c> inside</c><00:46:51.380><c> where</c>

00:46:52.370 --> 00:46:52.380 align:start position:0%
don't know what is what is inside where
 

00:46:52.380 --> 00:46:54.770 align:start position:0%
don't know what is what is inside where
we<00:46:52.619><c> have</c><00:46:52.740><c> the</c><00:46:52.859><c> valid</c><00:46:53.160><c> buy</c><00:46:53.339><c> function</c><00:46:53.760><c> that</c><00:46:54.540><c> is</c>

00:46:54.770 --> 00:46:54.780 align:start position:0%
we have the valid buy function that is
 

00:46:54.780 --> 00:46:57.109 align:start position:0%
we have the valid buy function that is
actually<00:46:54.960><c> abstracting</c><00:46:55.740><c> the</c><00:46:56.099><c> thing</c><00:46:56.339><c> that</c><00:46:56.760><c> we</c>

00:46:57.109 --> 00:46:57.119 align:start position:0%
actually abstracting the thing that we
 

00:46:57.119 --> 00:47:01.190 align:start position:0%
actually abstracting the thing that we
want<00:46:57.300><c> to</c><00:46:57.599><c> that</c><00:46:58.440><c> we</c><00:46:58.619><c> want</c><00:46:58.859><c> to</c><00:46:58.980><c> test</c><00:46:59.300><c> so</c><00:47:00.300><c> we</c><00:47:00.960><c> will</c>

00:47:01.190 --> 00:47:01.200 align:start position:0%
want to that we want to test so we will
 

00:47:01.200 --> 00:47:04.190 align:start position:0%
want to that we want to test so we will
start<00:47:01.560><c> with</c><00:47:01.980><c> valid</c><00:47:02.640><c> by</c><00:47:02.760><c> which</c><00:47:03.060><c> is</c><00:47:03.300><c> a</c><00:47:03.720><c> pure</c>

00:47:04.190 --> 00:47:04.200 align:start position:0%
start with valid by which is a pure
 

00:47:04.200 --> 00:47:06.530 align:start position:0%
start with valid by which is a pure
stateless<00:47:04.740><c> function</c>

00:47:06.530 --> 00:47:06.540 align:start position:0%
stateless function
 

00:47:06.540 --> 00:47:07.190 align:start position:0%
stateless function
um

00:47:07.190 --> 00:47:07.200 align:start position:0%
um
 

00:47:07.200 --> 00:47:11.690 align:start position:0%
um
yes<00:47:08.160><c> so</c><00:47:08.880><c> we</c><00:47:09.540><c> were</c><00:47:09.720><c> thinking</c><00:47:10.319><c> about</c><00:47:10.700><c> invariance</c>

00:47:11.690 --> 00:47:11.700 align:start position:0%
yes so we were thinking about invariance
 

00:47:11.700 --> 00:47:14.150 align:start position:0%
yes so we were thinking about invariance
here<00:47:11.940><c> related</c><00:47:12.480><c> with</c>

00:47:14.150 --> 00:47:14.160 align:start position:0%
here related with
 

00:47:14.160 --> 00:47:16.849 align:start position:0%
here related with
um<00:47:14.220><c> the</c><00:47:14.700><c> amount</c><00:47:15.000><c> that</c><00:47:15.300><c> we</c><00:47:15.480><c> can</c><00:47:15.599><c> get</c><00:47:15.780><c> so</c><00:47:16.500><c> this</c><00:47:16.740><c> is</c>

00:47:16.849 --> 00:47:16.859 align:start position:0%
um the amount that we can get so this is
 

00:47:16.859 --> 00:47:18.890 align:start position:0%
um the amount that we can get so this is
these<00:47:17.220><c> are</c><00:47:17.339><c> very</c><00:47:17.520><c> simple</c><00:47:17.700><c> without</c><00:47:18.300><c> going</c><00:47:18.660><c> into</c>

00:47:18.890 --> 00:47:18.900 align:start position:0%
these are very simple without going into
 

00:47:18.900 --> 00:47:21.770 align:start position:0%
these are very simple without going into
specific<00:47:19.819><c> uh</c><00:47:20.819><c> this</c><00:47:21.119><c> is</c><00:47:21.300><c> a</c><00:47:21.480><c> very</c><00:47:21.599><c> simple</c>

00:47:21.770 --> 00:47:21.780 align:start position:0%
specific uh this is a very simple
 

00:47:21.780 --> 00:47:24.170 align:start position:0%
specific uh this is a very simple
invariant<00:47:22.440><c> if</c><00:47:22.920><c> the</c><00:47:23.099><c> amount</c><00:47:23.400><c> if</c><00:47:23.640><c> the</c><00:47:23.819><c> Wayside</c>

00:47:24.170 --> 00:47:24.180 align:start position:0%
invariant if the amount if the Wayside
 

00:47:24.180 --> 00:47:28.309 align:start position:0%
invariant if the amount if the Wayside
in<00:47:24.359><c> C</c><00:47:24.540><c> is</c><00:47:24.839><c> zero</c><00:47:25.260><c> then</c><00:47:26.180><c> the</c><00:47:27.180><c> user</c><00:47:27.540><c> should</c>

00:47:28.309 --> 00:47:28.319 align:start position:0%
in C is zero then the user should
 

00:47:28.319 --> 00:47:31.490 align:start position:0%
in C is zero then the user should
receive<00:47:28.980><c> no</c><00:47:29.280><c> tokens</c><00:47:29.700><c> at</c><00:47:29.819><c> all</c><00:47:30.359><c> right</c><00:47:30.960><c> so</c><00:47:31.140><c> so</c>

00:47:31.490 --> 00:47:31.500 align:start position:0%
receive no tokens at all right so so
 

00:47:31.500 --> 00:47:33.290 align:start position:0%
receive no tokens at all right so so
that's<00:47:31.800><c> it's</c><00:47:32.099><c> it's</c><00:47:32.220><c> even</c><00:47:32.640><c> simple</c><00:47:32.940><c> and</c>

00:47:33.290 --> 00:47:33.300 align:start position:0%
that's it's it's even simple and
 

00:47:33.300 --> 00:47:36.170 align:start position:0%
that's it's it's even simple and
thinking<00:47:33.780><c> how</c><00:47:34.079><c> how</c><00:47:34.380><c> much</c><00:47:34.560><c> well</c><00:47:35.280><c> I</c><00:47:35.579><c> a</c><00:47:35.880><c> user</c>

00:47:36.170 --> 00:47:36.180 align:start position:0%
thinking how how much well I a user
 

00:47:36.180 --> 00:47:38.650 align:start position:0%
thinking how how much well I a user
should<00:47:36.420><c> receive</c><00:47:36.720><c> but</c><00:47:37.380><c> it's</c><00:47:37.680><c> a</c><00:47:37.859><c> Concrete</c><00:47:38.280><c> case</c>

00:47:38.650 --> 00:47:38.660 align:start position:0%
should receive but it's a Concrete case
 

00:47:38.660 --> 00:47:41.930 align:start position:0%
should receive but it's a Concrete case
and<00:47:39.660><c> it's</c><00:47:39.960><c> it's</c><00:47:40.260><c> kind</c><00:47:40.859><c> of</c><00:47:40.920><c> a</c><00:47:41.099><c> corner</c><00:47:41.460><c> case</c><00:47:41.579><c> so</c>

00:47:41.930 --> 00:47:41.940 align:start position:0%
and it's it's kind of a corner case so
 

00:47:41.940 --> 00:47:45.589 align:start position:0%
and it's it's kind of a corner case so
it's<00:47:42.480><c> it</c><00:47:42.720><c> can</c><00:47:42.960><c> be</c><00:47:43.140><c> important</c><00:47:43.680><c> to</c><00:47:43.800><c> test</c>

00:47:45.589 --> 00:47:45.599 align:start position:0%
it's it can be important to test
 

00:47:45.599 --> 00:47:49.430 align:start position:0%
it's it can be important to test
all<00:47:46.319><c> right</c><00:47:46.500><c> so</c><00:47:47.160><c> how</c><00:47:47.700><c> we</c><00:47:47.940><c> can</c><00:47:48.119><c> test</c><00:47:48.359><c> this</c><00:47:48.780><c> so</c>

00:47:49.430 --> 00:47:49.440 align:start position:0%
all right so how we can test this so
 

00:47:49.440 --> 00:47:51.109 align:start position:0%
all right so how we can test this so
there<00:47:49.680><c> are</c><00:47:49.980><c> a</c><00:47:50.040><c> couple</c><00:47:50.160><c> of</c><00:47:50.280><c> way</c><00:47:50.520><c> to</c><00:47:50.700><c> test</c><00:47:50.880><c> it</c>

00:47:51.109 --> 00:47:51.119 align:start position:0%
there are a couple of way to test it
 

00:47:51.119 --> 00:47:52.130 align:start position:0%
there are a couple of way to test it
this<00:47:51.420><c> is</c>

00:47:52.130 --> 00:47:52.140 align:start position:0%
this is
 

00:47:52.140 --> 00:47:56.329 align:start position:0%
this is
um this<00:47:52.619><c> is</c><00:47:52.680><c> one</c><00:47:53.119><c> so</c><00:47:54.119><c> we</c><00:47:54.960><c> we</c><00:47:55.319><c> can</c><00:47:55.560><c> write</c><00:47:55.920><c> a</c>

00:47:56.329 --> 00:47:56.339 align:start position:0%
um this is one so we we can write a
 

00:47:56.339 --> 00:47:59.450 align:start position:0%
um this is one so we we can write a
function<00:47:56.700><c> that</c><00:47:57.119><c> will</c><00:47:57.300><c> take</c><00:47:57.660><c> uh</c><00:47:58.560><c> one</c><00:47:58.859><c> parameter</c>

00:47:59.450 --> 00:47:59.460 align:start position:0%
function that will take uh one parameter
 

00:47:59.460 --> 00:48:02.450 align:start position:0%
function that will take uh one parameter
so<00:47:59.700><c> again</c><00:47:59.880><c> I</c><00:48:00.180><c> will</c><00:48:00.300><c> put</c><00:48:00.540><c> any</c><00:48:00.900><c> any</c><00:48:01.619><c> number</c><00:48:02.099><c> there</c>

00:48:02.450 --> 00:48:02.460 align:start position:0%
so again I will put any any number there
 

00:48:02.460 --> 00:48:06.109 align:start position:0%
so again I will put any any number there
however<00:48:03.300><c> we're</c><00:48:03.960><c> going</c><00:48:04.200><c> to</c><00:48:04.380><c> restrict</c><00:48:05.119><c> the</c>

00:48:06.109 --> 00:48:06.119 align:start position:0%
however we're going to restrict the
 

00:48:06.119 --> 00:48:08.690 align:start position:0%
however we're going to restrict the
number<00:48:06.359><c> uh</c><00:48:07.200><c> the</c><00:48:07.380><c> input</c><00:48:07.619><c> of</c><00:48:07.980><c> this</c><00:48:08.099><c> function</c><00:48:08.400><c> to</c>

00:48:08.690 --> 00:48:08.700 align:start position:0%
number uh the input of this function to
 

00:48:08.700 --> 00:48:10.790 align:start position:0%
number uh the input of this function to
be<00:48:08.880><c> non-zero</c>

00:48:10.790 --> 00:48:10.800 align:start position:0%
be non-zero
 

00:48:10.800 --> 00:48:14.750 align:start position:0%
be non-zero
uh<00:48:11.700><c> then</c><00:48:11.880><c> we're</c><00:48:12.060><c> going</c><00:48:12.240><c> to</c><00:48:12.359><c> execute</c><00:48:12.780><c> valid</c><00:48:13.200><c> by</c>

00:48:14.750 --> 00:48:14.760 align:start position:0%
uh then we're going to execute valid by
 

00:48:14.760 --> 00:48:15.650 align:start position:0%
uh then we're going to execute valid by
um<00:48:14.880><c> and</c>

00:48:15.650 --> 00:48:15.660 align:start position:0%
um and
 

00:48:15.660 --> 00:48:19.730 align:start position:0%
um and
then<00:48:16.640><c> we</c><00:48:17.640><c> want</c><00:48:17.760><c> to</c><00:48:17.940><c> know</c><00:48:18.180><c> if</c><00:48:18.660><c> echina</c><00:48:19.140><c> can</c><00:48:19.440><c> reach</c>

00:48:19.730 --> 00:48:19.740 align:start position:0%
then we want to know if echina can reach
 

00:48:19.740 --> 00:48:21.890 align:start position:0%
then we want to know if echina can reach
he<00:48:20.339><c> can</c><00:48:20.579><c> reach</c><00:48:20.940><c> the</c>

00:48:21.890 --> 00:48:21.900 align:start position:0%
he can reach the
 

00:48:21.900 --> 00:48:24.829 align:start position:0%
he can reach the
um<00:48:21.960><c> the</c><00:48:22.500><c> statement</c><00:48:23.339><c> after</c><00:48:23.940><c> that</c><00:48:24.240><c> because</c>

00:48:24.829 --> 00:48:24.839 align:start position:0%
um the statement after that because
 

00:48:24.839 --> 00:48:30.050 align:start position:0%
um the statement after that because
valid<00:48:25.380><c> by</c><00:48:25.560><c> Will</c><00:48:26.099><c> revert</c><00:48:26.819><c> if</c><00:48:27.780><c> if</c><00:48:28.319><c> the</c><00:48:29.040><c> uh</c><00:48:29.700><c> if</c><00:48:29.940><c> the</c>

00:48:30.050 --> 00:48:30.060 align:start position:0%
valid by Will revert if if the uh if the
 

00:48:30.060 --> 00:48:34.370 align:start position:0%
valid by Will revert if if the uh if the
inputs<00:48:30.480><c> are</c><00:48:30.900><c> not</c><00:48:31.339><c> uh</c><00:48:32.339><c> the</c><00:48:32.520><c> one</c><00:48:32.640><c> expected</c>

00:48:34.370 --> 00:48:34.380 align:start position:0%
inputs are not uh the one expected
 

00:48:34.380 --> 00:48:37.670 align:start position:0%
inputs are not uh the one expected
um<00:48:34.440><c> so</c><00:48:34.920><c> we</c><00:48:35.220><c> want</c><00:48:35.460><c> to</c><00:48:35.640><c> know</c><00:48:35.880><c> if</c><00:48:36.359><c> we</c><00:48:36.599><c> can</c><00:48:36.720><c> get</c><00:48:37.020><c> if</c>

00:48:37.670 --> 00:48:37.680 align:start position:0%
um so we want to know if we can get if
 

00:48:37.680 --> 00:48:41.690 align:start position:0%
um so we want to know if we can get if
we<00:48:37.859><c> can</c><00:48:37.980><c> get</c><00:48:38.099><c> tokens</c><00:48:38.579><c> despite</c><00:48:39.060><c> sending</c><00:48:40.380><c> no</c>

00:48:41.690 --> 00:48:41.700 align:start position:0%
we can get tokens despite sending no
 

00:48:41.700 --> 00:48:45.530 align:start position:0%
we can get tokens despite sending no
um<00:48:41.760><c> no</c><00:48:42.240><c> value</c><00:48:42.480><c> right</c>

00:48:45.530 --> 00:48:45.540 align:start position:0%
 
 

00:48:45.540 --> 00:48:47.530 align:start position:0%
 
and

00:48:47.530 --> 00:48:47.540 align:start position:0%
and
 

00:48:47.540 --> 00:48:50.930 align:start position:0%
and
so<00:48:48.540><c> perhaps</c><00:48:48.960><c> you're</c><00:48:49.200><c> wondering</c><00:48:49.619><c> what</c><00:48:50.160><c> if</c><00:48:50.339><c> what</c>

00:48:50.930 --> 00:48:50.940 align:start position:0%
so perhaps you're wondering what if what
 

00:48:50.940 --> 00:48:55.130 align:start position:0%
so perhaps you're wondering what if what
if<00:48:51.180><c> the</c><00:48:51.599><c> ceremony</c><00:48:52.079><c> is</c><00:48:52.319><c> zero</c><00:48:53.099><c> uh</c><00:48:54.060><c> then</c><00:48:54.480><c> clearly</c>

00:48:55.130 --> 00:48:55.140 align:start position:0%
if the ceremony is zero uh then clearly
 

00:48:55.140 --> 00:48:56.870 align:start position:0%
if the ceremony is zero uh then clearly
this<00:48:55.440><c> code</c><00:48:55.619><c> will</c><00:48:55.920><c> not</c><00:48:56.160><c> do</c><00:48:56.640><c> anything</c>

00:48:56.870 --> 00:48:56.880 align:start position:0%
this code will not do anything
 

00:48:56.880 --> 00:48:59.270 align:start position:0%
this code will not do anything
interesting<00:48:57.420><c> so</c><00:48:57.960><c> she</c><00:48:58.260><c> was</c><00:48:58.380><c> just</c><00:48:58.560><c> is</c><00:48:58.859><c> going</c><00:48:59.099><c> to</c>

00:48:59.270 --> 00:48:59.280 align:start position:0%
interesting so she was just is going to
 

00:48:59.280 --> 00:49:00.290 align:start position:0%
interesting so she was just is going to
revert

00:49:00.290 --> 00:49:00.300 align:start position:0%
revert
 

00:49:00.300 --> 00:49:04.370 align:start position:0%
revert
uh<00:49:00.839><c> when</c><00:49:01.020><c> you're</c><00:49:01.200><c> writing</c><00:49:01.819><c> tests</c><00:49:03.079><c> you</c><00:49:04.079><c> need</c><00:49:04.260><c> to</c>

00:49:04.370 --> 00:49:04.380 align:start position:0%
uh when you're writing tests you need to
 

00:49:04.380 --> 00:49:06.309 align:start position:0%
uh when you're writing tests you need to
so<00:49:04.740><c> you</c><00:49:04.920><c> can</c><00:49:04.980><c> put</c><00:49:05.160><c> any</c><00:49:05.339><c> any</c><00:49:05.700><c> amount</c><00:49:06.119><c> of</c>

00:49:06.309 --> 00:49:06.319 align:start position:0%
so you can put any any amount of
 

00:49:06.319 --> 00:49:09.530 align:start position:0%
so you can put any any amount of
requires<00:49:07.319><c> or</c><00:49:07.680><c> preconditions</c><00:49:08.579><c> or</c><00:49:09.000><c> people</c>

00:49:09.530 --> 00:49:09.540 align:start position:0%
requires or preconditions or people
 

00:49:09.540 --> 00:49:13.609 align:start position:0%
requires or preconditions or people
usually<00:49:10.020><c> call</c><00:49:10.260><c> it</c><00:49:10.380><c> however</c><00:49:11.339><c> if</c><00:49:11.700><c> you</c><00:49:11.819><c> put</c><00:49:12.140><c> uh</c><00:49:13.140><c> if</c>

00:49:13.609 --> 00:49:13.619 align:start position:0%
usually call it however if you put uh if
 

00:49:13.619 --> 00:49:16.089 align:start position:0%
usually call it however if you put uh if
the<00:49:13.740><c> preconditions</c><00:49:14.460><c> are</c><00:49:14.700><c> too</c><00:49:14.940><c> restrictive</c>

00:49:16.089 --> 00:49:16.099 align:start position:0%
the preconditions are too restrictive
 

00:49:16.099 --> 00:49:19.970 align:start position:0%
the preconditions are too restrictive
and<00:49:17.099><c> your</c><00:49:17.819><c> uh</c><00:49:18.359><c> your</c><00:49:18.720><c> function</c><00:49:19.020><c> reverts</c><00:49:19.680><c> most</c>

00:49:19.970 --> 00:49:19.980 align:start position:0%
and your uh your function reverts most
 

00:49:19.980 --> 00:49:22.550 align:start position:0%
and your uh your function reverts most
of<00:49:20.099><c> the</c><00:49:20.280><c> time</c><00:49:20.460><c> it</c><00:49:21.300><c> means</c><00:49:21.599><c> like</c><00:49:21.900><c> you're</c><00:49:22.319><c> not</c>

00:49:22.550 --> 00:49:22.560 align:start position:0%
of the time it means like you're not
 

00:49:22.560 --> 00:49:25.250 align:start position:0%
of the time it means like you're not
going<00:49:22.800><c> to</c><00:49:23.040><c> get</c><00:49:23.280><c> value</c><00:49:23.640><c> from</c><00:49:24.000><c> the</c><00:49:24.180><c> execution</c><00:49:24.540><c> so</c>

00:49:25.250 --> 00:49:25.260 align:start position:0%
going to get value from the execution so
 

00:49:25.260 --> 00:49:27.890 align:start position:0%
going to get value from the execution so
every<00:49:25.500><c> execution</c><00:49:26.040><c> reverted</c><00:49:26.819><c> in</c><00:49:27.180><c> a</c><00:49:27.300><c> test</c><00:49:27.480><c> in</c><00:49:27.780><c> an</c>

00:49:27.890 --> 00:49:27.900 align:start position:0%
every execution reverted in a test in an
 

00:49:27.900 --> 00:49:30.589 align:start position:0%
every execution reverted in a test in an
invariant<00:49:28.380><c> let's</c><00:49:28.619><c> say</c><00:49:28.800><c> that</c><00:49:29.339><c> every</c><00:49:29.819><c> every</c>

00:49:30.589 --> 00:49:30.599 align:start position:0%
invariant let's say that every every
 

00:49:30.599 --> 00:49:34.069 align:start position:0%
invariant let's say that every every
case<00:49:31.020><c> that</c><00:49:31.560><c> you</c><00:49:31.859><c> don't</c><00:49:32.040><c> uh</c><00:49:32.940><c> that</c><00:49:33.660><c> you</c><00:49:33.900><c> don't</c>

00:49:34.069 --> 00:49:34.079 align:start position:0%
case that you don't uh that you don't
 

00:49:34.079 --> 00:49:37.790 align:start position:0%
case that you don't uh that you don't
use<00:49:34.619><c> it's</c><00:49:35.280><c> going</c><00:49:35.460><c> to</c><00:49:35.640><c> be</c><00:49:35.940><c> an</c><00:49:36.900><c> execution</c><00:49:37.380><c> an</c>

00:49:37.790 --> 00:49:37.800 align:start position:0%
use it's going to be an execution an
 

00:49:37.800 --> 00:49:40.609 align:start position:0%
use it's going to be an execution an
execution<00:49:38.460><c> that</c><00:49:39.000><c> you</c><00:49:39.180><c> waste</c><00:49:39.660><c> so</c><00:49:40.260><c> in</c><00:49:40.380><c> this</c><00:49:40.500><c> case</c>

00:49:40.609 --> 00:49:40.619 align:start position:0%
execution that you waste so in this case
 

00:49:40.619 --> 00:49:43.670 align:start position:0%
execution that you waste so in this case
you<00:49:40.859><c> only</c><00:49:41.040><c> waste</c><00:49:41.460><c> one</c><00:49:41.760><c> one</c><00:49:42.060><c> execution</c><00:49:42.660><c> in</c><00:49:43.560><c> a</c>

00:49:43.670 --> 00:49:43.680 align:start position:0%
you only waste one one execution in a
 

00:49:43.680 --> 00:49:46.990 align:start position:0%
you only waste one one execution in a
range<00:49:43.980><c> of</c><00:49:44.339><c> in</c><00:49:44.940><c> the</c><00:49:45.060><c> full</c><00:49:45.180><c> range</c><00:49:45.540><c> of</c><00:49:45.720><c> uh</c><00:49:46.140><c> uins</c>

00:49:46.990 --> 00:49:47.000 align:start position:0%
range of in the full range of uh uins
 

00:49:47.000 --> 00:49:49.970 align:start position:0%
range of in the full range of uh uins
256.<00:49:48.000><c> so</c><00:49:48.359><c> it's</c><00:49:48.480><c> not</c><00:49:48.660><c> a</c><00:49:48.839><c> big</c><00:49:48.900><c> deal</c><00:49:49.079><c> but</c><00:49:49.619><c> if</c><00:49:49.800><c> you</c>

00:49:49.970 --> 00:49:49.980 align:start position:0%
256. so it's not a big deal but if you
 

00:49:49.980 --> 00:49:52.670 align:start position:0%
256. so it's not a big deal but if you
have<00:49:50.220><c> if</c><00:49:50.880><c> you</c><00:49:51.119><c> put</c><00:49:51.359><c> a</c><00:49:51.540><c> lot</c><00:49:51.599><c> of</c><00:49:51.720><c> requires</c><00:49:52.380><c> that</c>

00:49:52.670 --> 00:49:52.680 align:start position:0%
have if you put a lot of requires that
 

00:49:52.680 --> 00:49:55.730 align:start position:0%
have if you put a lot of requires that
only<00:49:53.040><c> a</c><00:49:53.640><c> very</c><00:49:53.819><c> small</c><00:49:54.180><c> small</c><00:49:54.660><c> amount</c><00:49:55.020><c> of</c><00:49:55.200><c> uh</c>

00:49:55.730 --> 00:49:55.740 align:start position:0%
only a very small small amount of uh
 

00:49:55.740 --> 00:49:58.130 align:start position:0%
only a very small small amount of uh
values<00:49:56.520><c> well</c><00:49:56.819><c> satisfied</c><00:49:57.300><c> and</c><00:49:57.660><c> it</c><00:49:57.839><c> will</c><00:49:57.960><c> be</c>

00:49:58.130 --> 00:49:58.140 align:start position:0%
values well satisfied and it will be
 

00:49:58.140 --> 00:50:01.010 align:start position:0%
values well satisfied and it will be
difficult<00:49:58.380><c> to</c><00:49:58.680><c> get</c><00:49:58.859><c> randomly</c><00:49:59.760><c> or</c><00:50:00.119><c> even</c><00:50:00.420><c> even</c>

00:50:01.010 --> 00:50:01.020 align:start position:0%
difficult to get randomly or even even
 

00:50:01.020 --> 00:50:03.170 align:start position:0%
difficult to get randomly or even even
with<00:50:01.560><c> the</c><00:50:01.800><c> with</c><00:50:02.220><c> the</c><00:50:02.400><c> techniques</c><00:50:02.760><c> that</c><00:50:02.880><c> we</c><00:50:03.000><c> use</c>

00:50:03.170 --> 00:50:03.180 align:start position:0%
with the with the techniques that we use
 

00:50:03.180 --> 00:50:04.970 align:start position:0%
with the with the techniques that we use
you<00:50:03.900><c> will</c><00:50:04.020><c> need</c><00:50:04.260><c> a</c><00:50:04.500><c> slightly</c><00:50:04.800><c> different</c>

00:50:04.970 --> 00:50:04.980 align:start position:0%
you will need a slightly different
 

00:50:04.980 --> 00:50:07.609 align:start position:0%
you will need a slightly different
approach<00:50:05.819><c> but</c><00:50:06.000><c> yeah</c><00:50:06.240><c> we</c><00:50:06.480><c> will</c><00:50:06.660><c> we</c><00:50:06.960><c> will</c><00:50:07.140><c> uh</c>

00:50:07.609 --> 00:50:07.619 align:start position:0%
approach but yeah we will we will uh
 

00:50:07.619 --> 00:50:10.190 align:start position:0%
approach but yeah we will we will uh
then<00:50:08.160><c> go</c><00:50:08.280><c> later</c><00:50:08.520><c> into</c><00:50:08.760><c> that</c><00:50:08.940><c> so</c><00:50:09.720><c> any</c><00:50:09.960><c> any</c>

00:50:10.190 --> 00:50:10.200 align:start position:0%
then go later into that so any any
 

00:50:10.200 --> 00:50:11.390 align:start position:0%
then go later into that so any any
questions

00:50:11.390 --> 00:50:11.400 align:start position:0%
questions
 

00:50:11.400 --> 00:50:16.809 align:start position:0%
questions
yes

00:50:16.809 --> 00:50:16.819 align:start position:0%
 
 

00:50:16.819 --> 00:50:19.970 align:start position:0%
 
yeah<00:50:17.819><c> so</c><00:50:18.119><c> as</c><00:50:18.420><c> you</c><00:50:18.599><c> mentioned</c><00:50:18.960><c> uh</c><00:50:19.500><c> in</c><00:50:19.740><c> this</c><00:50:19.859><c> case</c>

00:50:19.970 --> 00:50:19.980 align:start position:0%
yeah so as you mentioned uh in this case
 

00:50:19.980 --> 00:50:22.730 align:start position:0%
yeah so as you mentioned uh in this case
that<00:50:20.400><c> we</c><00:50:20.880><c> are</c><00:50:21.180><c> basically</c><00:50:21.839><c> sacrificing</c><00:50:22.500><c> only</c>

00:50:22.730 --> 00:50:22.740 align:start position:0%
that we are basically sacrificing only
 

00:50:22.740 --> 00:50:24.950 align:start position:0%
that we are basically sacrificing only
one<00:50:23.040><c> uh</c><00:50:23.339><c> one</c><00:50:23.579><c> case</c><00:50:23.700><c> which</c><00:50:23.940><c> is</c><00:50:24.119><c> when</c><00:50:24.359><c> it's</c><00:50:24.540><c> zero</c>

00:50:24.950 --> 00:50:24.960 align:start position:0%
one uh one case which is when it's zero
 

00:50:24.960 --> 00:50:27.650 align:start position:0%
one uh one case which is when it's zero
uh<00:50:25.740><c> but</c><00:50:25.980><c> is</c><00:50:26.280><c> it</c><00:50:26.400><c> gonna</c><00:50:26.520><c> run</c><00:50:26.819><c> over</c><00:50:27.180><c> the</c><00:50:27.480><c> whole</c>

00:50:27.650 --> 00:50:27.660 align:start position:0%
uh but is it gonna run over the whole
 

00:50:27.660 --> 00:50:30.349 align:start position:0%
uh but is it gonna run over the whole
range<00:50:27.960><c> of</c><00:50:28.160><c> un256</c><00:50:29.160><c> because</c><00:50:29.460><c> that's</c><00:50:29.880><c> a</c><00:50:30.240><c> really</c>

00:50:30.349 --> 00:50:30.359 align:start position:0%
range of un256 because that's a really
 

00:50:30.359 --> 00:50:32.030 align:start position:0%
range of un256 because that's a really
large<00:50:30.599><c> range</c><00:50:30.900><c> and</c><00:50:31.079><c> and</c><00:50:31.500><c> it</c><00:50:31.680><c> doesn't</c><00:50:31.859><c> make</c>

00:50:32.030 --> 00:50:32.040 align:start position:0%
large range and and it doesn't make
 

00:50:32.040 --> 00:50:34.069 align:start position:0%
large range and and it doesn't make
sense<00:50:32.220><c> to</c><00:50:32.520><c> test</c><00:50:32.700><c> all</c><00:50:33.000><c> of</c><00:50:33.180><c> that</c><00:50:33.300><c> in</c><00:50:33.720><c> some</c><00:50:33.839><c> cases</c>

00:50:34.069 --> 00:50:34.079 align:start position:0%
sense to test all of that in some cases
 

00:50:34.079 --> 00:50:36.710 align:start position:0%
sense to test all of that in some cases
yeah<00:50:34.380><c> exactly</c><00:50:34.680><c> so</c><00:50:34.920><c> it</c><00:50:35.040><c> won't</c>

00:50:36.710 --> 00:50:36.720 align:start position:0%
yeah exactly so it won't
 

00:50:36.720 --> 00:50:38.809 align:start position:0%
yeah exactly so it won't
there<00:50:37.200><c> will</c><00:50:37.380><c> there</c><00:50:37.740><c> is</c><00:50:37.920><c> no</c><00:50:38.099><c> tool</c><00:50:38.460><c> in</c><00:50:38.579><c> the</c><00:50:38.700><c> world</c>

00:50:38.809 --> 00:50:38.819 align:start position:0%
there will there is no tool in the world
 

00:50:38.819 --> 00:50:41.589 align:start position:0%
there will there is no tool in the world
that<00:50:39.060><c> can</c><00:50:39.240><c> run</c><00:50:39.480><c> for</c><00:50:39.900><c> all</c><00:50:40.260><c> the</c><00:50:40.440><c> all</c><00:50:40.980><c> the</c><00:50:41.160><c> range</c>

00:50:41.589 --> 00:50:41.599 align:start position:0%
that can run for all the all the range
 

00:50:41.599 --> 00:50:45.890 align:start position:0%
that can run for all the all the range
uh<00:50:42.599><c> it</c><00:50:42.839><c> is</c><00:50:43.140><c> always</c><00:50:43.579><c> either</c><00:50:44.579><c> either</c><00:50:45.119><c> uh</c>

00:50:45.890 --> 00:50:45.900 align:start position:0%
uh it is always either either uh
 

00:50:45.900 --> 00:50:47.510 align:start position:0%
uh it is always either either uh
symbolic<00:50:46.560><c> I</c><00:50:46.740><c> mean</c><00:50:46.859><c> you</c><00:50:47.040><c> can</c><00:50:47.160><c> do</c><00:50:47.280><c> it</c>

00:50:47.510 --> 00:50:47.520 align:start position:0%
symbolic I mean you can do it
 

00:50:47.520 --> 00:50:49.970 align:start position:0%
symbolic I mean you can do it
symbolically<00:50:48.300><c> but</c><00:50:48.900><c> it's</c><00:50:49.020><c> it's</c><00:50:49.260><c> not</c><00:50:49.619><c> it's</c><00:50:49.740><c> not</c>

00:50:49.970 --> 00:50:49.980 align:start position:0%
symbolically but it's it's not it's not
 

00:50:49.980 --> 00:50:51.349 align:start position:0%
symbolically but it's it's not it's not
going<00:50:50.099><c> to</c><00:50:50.220><c> test</c><00:50:50.400><c> all</c><00:50:50.760><c> the</c><00:50:50.880><c> values</c><00:50:51.180><c> it's</c>

00:50:51.349 --> 00:50:51.359 align:start position:0%
going to test all the values it's
 

00:50:51.359 --> 00:50:53.270 align:start position:0%
going to test all the values it's
another<00:50:51.900><c> thing</c>

00:50:53.270 --> 00:50:53.280 align:start position:0%
another thing
 

00:50:53.280 --> 00:50:56.030 align:start position:0%
another thing
um<00:50:53.339><c> and</c><00:50:54.300><c> uh</c><00:50:54.960><c> fasting</c><00:50:55.380><c> techniques</c><00:50:55.740><c> are</c><00:50:55.859><c> going</c>

00:50:56.030 --> 00:50:56.040 align:start position:0%
um and uh fasting techniques are going
 

00:50:56.040 --> 00:50:59.750 align:start position:0%
um and uh fasting techniques are going
to<00:50:56.280><c> sample</c><00:50:56.880><c> let's</c><00:50:57.780><c> say</c><00:50:57.960><c> randomly</c><00:50:58.619><c> from</c><00:50:59.339><c> the</c>

00:50:59.750 --> 00:50:59.760 align:start position:0%
to sample let's say randomly from the
 

00:50:59.760 --> 00:51:04.490 align:start position:0%
to sample let's say randomly from the
from<00:51:00.420><c> the</c><00:51:00.599><c> input</c><00:51:00.900><c> or</c><00:51:01.559><c> with</c><00:51:01.920><c> hubs</c><00:51:02.700><c> right</c>

00:51:04.490 --> 00:51:04.500 align:start position:0%
from the input or with hubs right
 

00:51:04.500 --> 00:51:07.549 align:start position:0%
from the input or with hubs right
um<00:51:04.559><c> it's</c><00:51:05.339><c> in</c><00:51:05.760><c> the</c><00:51:05.940><c> case</c><00:51:06.059><c> of</c><00:51:06.180><c> Echidna</c><00:51:06.780><c> since</c><00:51:07.319><c> we</c>

00:51:07.549 --> 00:51:07.559 align:start position:0%
um it's in the case of Echidna since we
 

00:51:07.559 --> 00:51:09.349 align:start position:0%
um it's in the case of Echidna since we
are<00:51:07.680><c> going</c><00:51:07.800><c> to</c><00:51:07.859><c> compile</c><00:51:08.220><c> this</c><00:51:08.520><c> code</c><00:51:08.760><c> and</c><00:51:09.300><c> it</c>

00:51:09.349 --> 00:51:09.359 align:start position:0%
are going to compile this code and it
 

00:51:09.359 --> 00:51:11.690 align:start position:0%
are going to compile this code and it
will<00:51:09.540><c> run</c><00:51:09.660><c> through</c><00:51:09.900><c> or</c><00:51:10.200><c> static</c><00:51:10.559><c> analyzer</c><00:51:11.099><c> we</c>

00:51:11.690 --> 00:51:11.700 align:start position:0%
will run through or static analyzer we
 

00:51:11.700 --> 00:51:14.210 align:start position:0%
will run through or static analyzer we
will<00:51:11.880><c> detect</c><00:51:12.240><c> some</c><00:51:12.540><c> interesting</c><00:51:12.960><c> values</c>

00:51:14.210 --> 00:51:14.220 align:start position:0%
will detect some interesting values
 

00:51:14.220 --> 00:51:16.250 align:start position:0%
will detect some interesting values
in<00:51:15.000><c> this</c><00:51:15.119><c> case</c>

00:51:16.250 --> 00:51:16.260 align:start position:0%
in this case
 

00:51:16.260 --> 00:51:18.890 align:start position:0%
in this case
um<00:51:16.400><c> 10</c><00:51:17.400><c> for</c><00:51:17.760><c> instance</c><00:51:17.940><c> 10</c><00:51:18.300><c> 10</c><00:51:18.599><c> is</c><00:51:18.780><c> an</c>

00:51:18.890 --> 00:51:18.900 align:start position:0%
um 10 for instance 10 10 is an
 

00:51:18.900 --> 00:51:21.349 align:start position:0%
um 10 for instance 10 10 is an
interesting<00:51:19.260><c> value</c><00:51:19.440><c> there</c><00:51:20.339><c> it's</c><00:51:20.819><c> a</c><00:51:21.000><c> it's</c><00:51:21.180><c> a</c>

00:51:21.349 --> 00:51:21.359 align:start position:0%
interesting value there it's a it's a
 

00:51:21.359 --> 00:51:22.670 align:start position:0%
interesting value there it's a it's a
constant<00:51:21.660><c> and</c><00:51:21.839><c> it's</c><00:51:22.020><c> going</c><00:51:22.200><c> to</c><00:51:22.319><c> be</c><00:51:22.440><c> used</c>

00:51:22.670 --> 00:51:22.680 align:start position:0%
constant and it's going to be used
 

00:51:22.680 --> 00:51:25.490 align:start position:0%
constant and it's going to be used
somewhere<00:51:23.160><c> so</c><00:51:23.880><c> definitely</c><00:51:24.300><c> we</c><00:51:24.720><c> want</c><00:51:24.900><c> to</c><00:51:25.079><c> we</c>

00:51:25.490 --> 00:51:25.500 align:start position:0%
somewhere so definitely we want to we
 

00:51:25.500 --> 00:51:27.890 align:start position:0%
somewhere so definitely we want to we
want<00:51:25.680><c> to</c><00:51:25.800><c> test</c><00:51:25.980><c> with</c><00:51:26.220><c> that</c><00:51:26.460><c> constant</c><00:51:26.880><c> okay</c><00:51:27.599><c> so</c>

00:51:27.890 --> 00:51:27.900 align:start position:0%
want to test with that constant okay so
 

00:51:27.900 --> 00:51:30.890 align:start position:0%
want to test with that constant okay so
let's<00:51:28.079><c> see</c><00:51:28.319><c> what</c><00:51:28.559><c> happens</c><00:51:28.800><c> if</c><00:51:29.460><c> we</c><00:51:29.700><c> if</c><00:51:30.480><c> you</c><00:51:30.660><c> if</c>

00:51:30.890 --> 00:51:30.900 align:start position:0%
let's see what happens if we if you if
 

00:51:30.900 --> 00:51:34.849 align:start position:0%
let's see what happens if we if you if
you<00:51:31.079><c> run</c><00:51:31.260><c> so</c><00:51:31.559><c> this</c><00:51:32.460><c> is</c><00:51:32.640><c> uh</c><00:51:33.480><c> uh</c><00:51:34.020><c> so</c><00:51:34.200><c> kinda</c><00:51:34.680><c> will</c>

00:51:34.849 --> 00:51:34.859 align:start position:0%
you run so this is uh uh so kinda will
 

00:51:34.859 --> 00:51:36.710 align:start position:0%
you run so this is uh uh so kinda will
run<00:51:35.040><c> a</c><00:51:35.280><c> number</c><00:51:35.400><c> of</c><00:51:35.520><c> transactions</c><00:51:36.180><c> it</c><00:51:36.540><c> will</c>

00:51:36.710 --> 00:51:36.720 align:start position:0%
run a number of transactions it will
 

00:51:36.720 --> 00:51:39.470 align:start position:0%
run a number of transactions it will
eventually<00:51:37.200><c> detect</c><00:51:38.099><c> that</c><00:51:38.640><c> assernal</c><00:51:39.300><c> free</c>

00:51:39.470 --> 00:51:39.480 align:start position:0%
eventually detect that assernal free
 

00:51:39.480 --> 00:51:42.170 align:start position:0%
eventually detect that assernal free
token<00:51:39.900><c> has</c><00:51:40.260><c> an</c><00:51:40.440><c> assertion</c><00:51:40.859><c> failure</c><00:51:41.220><c> however</c>

00:51:42.170 --> 00:51:42.180 align:start position:0%
token has an assertion failure however
 

00:51:42.180 --> 00:51:44.690 align:start position:0%
token has an assertion failure however
this<00:51:42.720><c> is</c><00:51:42.960><c> going</c><00:51:43.079><c> to</c><00:51:43.200><c> be</c><00:51:43.260><c> in</c><00:51:43.440><c> a</c><00:51:43.559><c> context</c><00:51:43.859><c> of</c><00:51:44.160><c> 100</c>

00:51:44.690 --> 00:51:44.700 align:start position:0%
this is going to be in a context of 100
 

00:51:44.700 --> 00:51:47.210 align:start position:0%
this is going to be in a context of 100
of<00:51:45.059><c> transactions</c><00:51:45.660><c> random</c><00:51:46.380><c> transactions</c><00:51:46.980><c> that</c>

00:51:47.210 --> 00:51:47.220 align:start position:0%
of transactions random transactions that
 

00:51:47.220 --> 00:51:49.849 align:start position:0%
of transactions random transactions that
perhaps<00:51:47.640><c> will</c><00:51:48.059><c> do</c><00:51:48.839><c> something</c><00:51:49.260><c> that</c><00:51:49.680><c> is</c>

00:51:49.849 --> 00:51:49.859 align:start position:0%
perhaps will do something that is
 

00:51:49.859 --> 00:51:52.069 align:start position:0%
perhaps will do something that is
completely<00:51:50.220><c> unrelated</c><00:51:50.819><c> but</c><00:51:51.480><c> what</c><00:51:51.660><c> we'll</c><00:51:51.900><c> do</c>

00:51:52.069 --> 00:51:52.079 align:start position:0%
completely unrelated but what we'll do
 

00:51:52.079 --> 00:51:54.109 align:start position:0%
completely unrelated but what we'll do
is<00:51:52.200><c> input</c><00:51:52.619><c> minimization</c><00:51:53.160><c> input</c><00:51:53.700><c> minimization</c>

00:51:54.109 --> 00:51:54.119 align:start position:0%
is input minimization input minimization
 

00:51:54.119 --> 00:51:56.630 align:start position:0%
is input minimization input minimization
is<00:51:54.420><c> a</c><00:51:54.599><c> very</c><00:51:54.720><c> old</c><00:51:54.900><c> technique</c><00:51:55.520><c> referred</c><00:51:56.520><c> to</c>

00:51:56.630 --> 00:51:56.640 align:start position:0%
is a very old technique referred to
 

00:51:56.640 --> 00:52:01.010 align:start position:0%
is a very old technique referred to
testing<00:51:57.180><c> in</c><00:51:57.960><c> which</c><00:51:58.140><c> you</c><00:51:58.680><c> have</c><00:51:59.059><c> a</c><00:52:00.059><c> list</c><00:52:00.599><c> of</c>

00:52:01.010 --> 00:52:01.020 align:start position:0%
testing in which you have a list of
 

00:52:01.020 --> 00:52:05.690 align:start position:0%
testing in which you have a list of
bytes<00:52:01.920><c> that</c><00:52:02.420><c> affects</c><00:52:03.420><c> a</c><00:52:04.200><c> bug</c><00:52:04.619><c> you</c><00:52:05.400><c> want</c><00:52:05.579><c> to</c>

00:52:05.690 --> 00:52:05.700 align:start position:0%
bytes that affects a bug you want to
 

00:52:05.700 --> 00:52:08.030 align:start position:0%
bytes that affects a bug you want to
remove<00:52:06.000><c> that</c><00:52:06.359><c> bytes</c>

00:52:08.030 --> 00:52:08.040 align:start position:0%
remove that bytes
 

00:52:08.040 --> 00:52:11.990 align:start position:0%
remove that bytes
um<00:52:08.160><c> one</c><00:52:08.760><c> by</c><00:52:08.940><c> one</c><00:52:09.119><c> or</c><00:52:09.359><c> in</c><00:52:09.660><c> some</c><00:52:10.020><c> random</c><00:52:10.680><c> way</c><00:52:11.000><c> in</c>

00:52:11.990 --> 00:52:12.000 align:start position:0%
um one by one or in some random way in
 

00:52:12.000 --> 00:52:15.109 align:start position:0%
um one by one or in some random way in
order<00:52:12.119><c> to</c><00:52:12.599><c> get</c><00:52:12.960><c> a</c>

00:52:15.109 --> 00:52:15.119 align:start position:0%
order to get a
 

00:52:15.119 --> 00:52:17.329 align:start position:0%
order to get a
um a<00:52:15.599><c> list</c><00:52:15.960><c> of</c><00:52:16.140><c> bytes</c><00:52:16.559><c> that</c><00:52:16.740><c> will</c><00:52:16.980><c> still</c>

00:52:17.329 --> 00:52:17.339 align:start position:0%
um a list of bytes that will still
 

00:52:17.339 --> 00:52:19.030 align:start position:0%
um a list of bytes that will still
trigger<00:52:17.700><c> the</c><00:52:17.760><c> bug</c><00:52:17.940><c> but</c><00:52:18.300><c> it's</c><00:52:18.420><c> going</c><00:52:18.660><c> to</c><00:52:18.780><c> be</c>

00:52:19.030 --> 00:52:19.040 align:start position:0%
trigger the bug but it's going to be
 

00:52:19.040 --> 00:52:22.910 align:start position:0%
trigger the bug but it's going to be
minimal<00:52:20.040><c> or</c><00:52:20.579><c> or</c><00:52:21.359><c> either</c><00:52:21.780><c> local</c><00:52:22.200><c> or</c><00:52:22.559><c> a</c><00:52:22.680><c> global</c>

00:52:22.910 --> 00:52:22.920 align:start position:0%
minimal or or either local or a global
 

00:52:22.920 --> 00:52:24.890 align:start position:0%
minimal or or either local or a global
minimal<00:52:23.400><c> depending</c><00:52:23.819><c> on</c><00:52:23.940><c> the</c><00:52:24.240><c> type</c><00:52:24.420><c> of</c><00:52:24.599><c> tool</c>

00:52:24.890 --> 00:52:24.900 align:start position:0%
minimal depending on the type of tool
 

00:52:24.900 --> 00:52:26.569 align:start position:0%
minimal depending on the type of tool
that<00:52:24.960><c> you're</c><00:52:25.200><c> that</c><00:52:25.380><c> yours</c><00:52:25.740><c> so</c><00:52:26.040><c> in</c><00:52:26.280><c> this</c><00:52:26.400><c> case</c>

00:52:26.569 --> 00:52:26.579 align:start position:0%
that you're that yours so in this case
 

00:52:26.579 --> 00:52:30.530 align:start position:0%
that you're that yours so in this case
uh<00:52:27.359><c> we</c><00:52:27.720><c> can</c><00:52:27.960><c> uh</c><00:52:28.559><c> a</c><00:52:28.740><c> kidnap</c><00:52:29.099><c> will</c><00:52:29.400><c> try</c><00:52:30.359><c> to</c>

00:52:30.530 --> 00:52:30.540 align:start position:0%
uh we can uh a kidnap will try to
 

00:52:30.540 --> 00:52:33.829 align:start position:0%
uh we can uh a kidnap will try to
minimize<00:52:30.960><c> any</c><00:52:31.559><c> any</c><00:52:32.220><c> uh</c><00:52:32.819><c> parameter</c><00:52:33.359><c> here</c><00:52:33.660><c> we</c>

00:52:33.829 --> 00:52:33.839 align:start position:0%
minimize any any uh parameter here we
 

00:52:33.839 --> 00:52:35.150 align:start position:0%
minimize any any uh parameter here we
have<00:52:33.960><c> only</c><00:52:34.140><c> one</c><00:52:34.380><c> parameter</c><00:52:34.859><c> and</c><00:52:34.980><c> the</c>

00:52:35.150 --> 00:52:35.160 align:start position:0%
have only one parameter and the
 

00:52:35.160 --> 00:52:37.730 align:start position:0%
have only one parameter and the
parameter<00:52:35.579><c> is</c><00:52:35.700><c> actually</c><00:52:36.020><c> is</c><00:52:37.020><c> actually</c><00:52:37.260><c> going</c>

00:52:37.730 --> 00:52:37.740 align:start position:0%
parameter is actually is actually going
 

00:52:37.740 --> 00:52:40.190 align:start position:0%
parameter is actually is actually going
to<00:52:37.980><c> be</c><00:52:38.160><c> useful</c><00:52:38.460><c> triggering</c><00:52:38.940><c> about</c><00:52:39.119><c> if</c><00:52:39.960><c> we</c><00:52:40.020><c> have</c>

00:52:40.190 --> 00:52:40.200 align:start position:0%
to be useful triggering about if we have
 

00:52:40.200 --> 00:52:42.049 align:start position:0%
to be useful triggering about if we have
more<00:52:40.440><c> parameters</c><00:52:41.040><c> they</c><00:52:41.460><c> are</c><00:52:41.640><c> going</c><00:52:41.700><c> to</c><00:52:41.880><c> be</c>

00:52:42.049 --> 00:52:42.059 align:start position:0%
more parameters they are going to be
 

00:52:42.059 --> 00:52:44.750 align:start position:0%
more parameters they are going to be
minimized<00:52:42.720><c> towards</c><00:52:43.500><c> zero</c><00:52:43.859><c> so</c><00:52:44.160><c> if</c><00:52:44.460><c> you</c><00:52:44.579><c> have</c>

00:52:44.750 --> 00:52:44.760 align:start position:0%
minimized towards zero so if you have
 

00:52:44.760 --> 00:52:48.049 align:start position:0%
minimized towards zero so if you have
units<00:52:46.140><c> uh</c><00:52:46.859><c> then</c><00:52:47.099><c> it</c><00:52:47.280><c> will</c><00:52:47.400><c> be</c><00:52:47.520><c> reduced</c><00:52:47.940><c> until</c>

00:52:48.049 --> 00:52:48.059 align:start position:0%
units uh then it will be reduced until
 

00:52:48.059 --> 00:52:51.230 align:start position:0%
units uh then it will be reduced until
zero<00:52:48.660><c> so</c><00:52:48.839><c> zero</c><00:52:49.260><c> is</c><00:52:49.380><c> the</c><00:52:49.559><c> simplest</c>

00:52:51.230 --> 00:52:51.240 align:start position:0%
zero so zero is the simplest
 

00:52:51.240 --> 00:52:53.930 align:start position:0%
zero so zero is the simplest
um<00:52:51.300><c> uh</c><00:52:51.780><c> value</c><00:52:52.079><c> this</c><00:52:52.740><c> is</c><00:52:52.859><c> arbitrary</c><00:52:53.339><c> defined</c><00:52:53.819><c> on</c>

00:52:53.930 --> 00:52:53.940 align:start position:0%
um uh value this is arbitrary defined on
 

00:52:53.940 --> 00:52:55.970 align:start position:0%
um uh value this is arbitrary defined on
the<00:52:54.119><c> uh</c><00:52:54.420><c> on</c><00:52:54.720><c> the</c><00:52:54.839><c> code</c><00:52:54.960><c> you</c><00:52:55.260><c> can</c><00:52:55.319><c> you</c><00:52:55.559><c> you</c><00:52:55.800><c> can</c>

00:52:55.970 --> 00:52:55.980 align:start position:0%
the uh on the code you can you you can
 

00:52:55.980 --> 00:52:58.849 align:start position:0%
the uh on the code you can you you can
change<00:52:56.099><c> it</c><00:52:56.339><c> if</c><00:52:56.520><c> you</c><00:52:56.700><c> want</c><00:52:57.079><c> and</c><00:52:58.079><c> but</c><00:52:58.500><c> in</c><00:52:58.740><c> this</c>

00:52:58.849 --> 00:52:58.859 align:start position:0%
change it if you want and but in this
 

00:52:58.859 --> 00:53:00.710 align:start position:0%
change it if you want and but in this
case<00:52:58.980><c> the</c><00:52:59.400><c> parameter</c><00:52:59.880><c> cannot</c><00:53:00.119><c> be</c><00:53:00.300><c> zero</c>

00:53:00.710 --> 00:53:00.720 align:start position:0%
case the parameter cannot be zero
 

00:53:00.720 --> 00:53:02.930 align:start position:0%
case the parameter cannot be zero
because<00:53:00.900><c> if</c><00:53:01.140><c> it's</c><00:53:01.319><c> zero</c><00:53:01.740><c> the</c><00:53:02.099><c> the</c><00:53:02.339><c> test</c><00:53:02.640><c> will</c>

00:53:02.930 --> 00:53:02.940 align:start position:0%
because if it's zero the the test will
 

00:53:02.940 --> 00:53:03.770 align:start position:0%
because if it's zero the the test will
pass

00:53:03.770 --> 00:53:03.780 align:start position:0%
pass
 

00:53:03.780 --> 00:53:05.150 align:start position:0%
pass
right

00:53:05.150 --> 00:53:05.160 align:start position:0%
right
 

00:53:05.160 --> 00:53:07.490 align:start position:0%
right
so<00:53:05.700><c> in</c><00:53:06.000><c> this</c><00:53:06.180><c> case</c><00:53:06.300><c> the</c><00:53:06.599><c> minimal</c><00:53:06.900><c> amount</c><00:53:07.020><c> is</c><00:53:07.319><c> is</c>

00:53:07.490 --> 00:53:07.500 align:start position:0%
so in this case the minimal amount is is
 

00:53:07.500 --> 00:53:09.530 align:start position:0%
so in this case the minimal amount is is
one<00:53:07.800><c> it's</c><00:53:08.160><c> not</c><00:53:08.400><c> guaranteed</c><00:53:09.000><c> that</c><00:53:09.180><c> you</c><00:53:09.359><c> will</c>

00:53:09.530 --> 00:53:09.540 align:start position:0%
one it's not guaranteed that you will
 

00:53:09.540 --> 00:53:13.910 align:start position:0%
one it's not guaranteed that you will
always<00:53:09.839><c> get</c><00:53:10.260><c> this</c><00:53:10.740><c> smallest</c><00:53:11.960><c> uh</c><00:53:12.960><c> set</c><00:53:13.440><c> list</c><00:53:13.740><c> of</c>

00:53:13.910 --> 00:53:13.920 align:start position:0%
always get this smallest uh set list of
 

00:53:13.920 --> 00:53:17.329 align:start position:0%
always get this smallest uh set list of
transactions<00:53:14.520><c> to</c><00:53:14.760><c> trigger</c><00:53:15.119><c> uh</c><00:53:15.960><c> this</c><00:53:16.200><c> is</c><00:53:16.319><c> an</c><00:53:16.859><c> uh</c>

00:53:17.329 --> 00:53:17.339 align:start position:0%
transactions to trigger uh this is an uh
 

00:53:17.339 --> 00:53:20.510 align:start position:0%
transactions to trigger uh this is an uh
an<00:53:17.940><c> MP</c><00:53:18.240><c> complete</c><00:53:18.839><c> problem</c><00:53:19.380><c> it</c><00:53:19.740><c> cannot</c><00:53:20.339><c> be</c>

00:53:20.510 --> 00:53:20.520 align:start position:0%
an MP complete problem it cannot be
 

00:53:20.520 --> 00:53:23.089 align:start position:0%
an MP complete problem it cannot be
solved<00:53:20.940><c> on</c><00:53:21.000><c> on</c><00:53:21.240><c> linear</c><00:53:22.140><c> time</c><00:53:22.380><c> so</c><00:53:22.619><c> it's</c><00:53:22.859><c> it's</c>

00:53:23.089 --> 00:53:23.099 align:start position:0%
solved on on linear time so it's it's
 

00:53:23.099 --> 00:53:25.549 align:start position:0%
solved on on linear time so it's it's
all<00:53:23.339><c> going</c><00:53:23.460><c> to</c><00:53:23.640><c> be</c><00:53:23.760><c> always</c><00:53:23.940><c> a</c><00:53:24.300><c> sample</c><00:53:24.780><c> but</c><00:53:25.380><c> in</c>

00:53:25.549 --> 00:53:25.559 align:start position:0%
all going to be always a sample but in
 

00:53:25.559 --> 00:53:28.730 align:start position:0%
all going to be always a sample but in
in<00:53:25.800><c> practice</c><00:53:26.400><c> uh</c><00:53:27.240><c> even</c><00:53:27.780><c> randomly</c><00:53:28.319><c> sampling</c>

00:53:28.730 --> 00:53:28.740 align:start position:0%
in practice uh even randomly sampling
 

00:53:28.740 --> 00:53:31.190 align:start position:0%
in practice uh even randomly sampling
removing<00:53:29.220><c> transactions</c><00:53:30.000><c> or</c><00:53:30.240><c> reducing</c><00:53:31.020><c> the</c>

00:53:31.190 --> 00:53:31.200 align:start position:0%
removing transactions or reducing the
 

00:53:31.200 --> 00:53:33.589 align:start position:0%
removing transactions or reducing the
complexity<00:53:31.619><c> of</c><00:53:31.859><c> each</c><00:53:32.040><c> uh</c><00:53:32.640><c> value</c><00:53:33.059><c> will</c><00:53:33.359><c> will</c>

00:53:33.589 --> 00:53:33.599 align:start position:0%
complexity of each uh value will will
 

00:53:33.599 --> 00:53:35.510 align:start position:0%
complexity of each uh value will will
give<00:53:33.839><c> you</c><00:53:33.960><c> good</c><00:53:34.260><c> answers</c>

00:53:35.510 --> 00:53:35.520 align:start position:0%
give you good answers
 

00:53:35.520 --> 00:53:38.750 align:start position:0%
give you good answers
all<00:53:36.240><c> right</c><00:53:36.480><c> so</c><00:53:37.200><c> a</c><00:53:37.800><c> little</c><00:53:37.920><c> bit</c><00:53:38.040><c> about</c><00:53:38.220><c> ekina</c>

00:53:38.750 --> 00:53:38.760 align:start position:0%
all right so a little bit about ekina
 

00:53:38.760 --> 00:53:41.329 align:start position:0%
all right so a little bit about ekina
apis<00:53:39.200><c> maybe</c><00:53:40.200><c> we</c><00:53:40.380><c> can</c><00:53:40.440><c> just</c><00:53:40.559><c> explain</c>

00:53:41.329 --> 00:53:41.339 align:start position:0%
apis maybe we can just explain
 

00:53:41.339 --> 00:53:43.670 align:start position:0%
apis maybe we can just explain
um yeah<00:53:41.579><c> just</c><00:53:42.000><c> explain</c><00:53:42.240><c> why</c><00:53:42.540><c> it's</c><00:53:42.720><c> happening</c>

00:53:43.670 --> 00:53:43.680 align:start position:0%
um yeah just explain why it's happening
 

00:53:43.680 --> 00:53:44.329 align:start position:0%
um yeah just explain why it's happening
[Music]

00:53:44.329 --> 00:53:44.339 align:start position:0%
[Music]
 

00:53:44.339 --> 00:53:46.849 align:start position:0%
[Music]
um

00:53:46.849 --> 00:53:46.859 align:start position:0%
 
 

00:53:46.859 --> 00:53:50.290 align:start position:0%
 
yeah<00:53:47.339><c> so</c><00:53:47.520><c> yeah</c><00:53:47.760><c> so</c><00:53:48.119><c> the</c><00:53:48.900><c> issue</c><00:53:49.260><c> here</c><00:53:49.559><c> is</c><00:53:49.980><c> that</c>

00:53:50.290 --> 00:53:50.300 align:start position:0%
yeah so yeah so the issue here is that
 

00:53:50.300 --> 00:53:54.349 align:start position:0%
yeah so yeah so the issue here is that
if<00:53:51.300><c> you</c><00:53:51.420><c> send</c><00:53:51.599><c> one</c><00:53:52.260><c> desire</c><00:53:53.160><c> token</c>

00:53:54.349 --> 00:53:54.359 align:start position:0%
if you send one desire token
 

00:53:54.359 --> 00:53:56.270 align:start position:0%
if you send one desire token
what's<00:53:54.839><c> going</c><00:53:55.020><c> to</c><00:53:55.140><c> happen</c><00:53:55.380><c> is</c><00:53:55.680><c> that</c><00:53:55.859><c> you</c><00:53:56.040><c> do</c>

00:53:56.270 --> 00:53:56.280 align:start position:0%
what's going to happen is that you do
 

00:53:56.280 --> 00:53:58.250 align:start position:0%
what's going to happen is that you do
one<00:53:56.760><c> divided</c><00:53:57.300><c> by</c><00:53:57.420><c> 10</c>

00:53:58.250 --> 00:53:58.260 align:start position:0%
one divided by 10
 

00:53:58.260 --> 00:54:01.670 align:start position:0%
one divided by 10
and<00:53:58.680><c> 1</c><00:53:59.040><c> divided</c><00:53:59.400><c> by</c><00:53:59.460><c> 10</c><00:53:59.700><c> is</c><00:53:59.940><c> 0</c><00:54:00.319><c> because</c><00:54:01.319><c> you</c><00:54:01.559><c> are</c>

00:54:01.670 --> 00:54:01.680 align:start position:0%
and 1 divided by 10 is 0 because you are
 

00:54:01.680 --> 00:54:04.430 align:start position:0%
and 1 divided by 10 is 0 because you are
winding<00:54:02.040><c> down</c><00:54:02.220><c> and</c><00:54:02.579><c> other</c><00:54:02.819><c> results</c><00:54:03.119><c> uh</c><00:54:03.960><c> the</c>

00:54:04.430 --> 00:54:04.440 align:start position:0%
winding down and other results uh the
 

00:54:04.440 --> 00:54:07.010 align:start position:0%
winding down and other results uh the
required<00:54:04.920><c> amount</c><00:54:05.220><c> to</c><00:54:05.579><c> be</c><00:54:05.700><c> sent</c><00:54:05.819><c> is</c><00:54:06.059><c> zero</c><00:54:06.359><c> so</c><00:54:06.720><c> if</c>

00:54:07.010 --> 00:54:07.020 align:start position:0%
required amount to be sent is zero so if
 

00:54:07.020 --> 00:54:09.589 align:start position:0%
required amount to be sent is zero so if
you<00:54:07.200><c> ask</c><00:54:07.500><c> any</c><00:54:08.160><c> number</c><00:54:08.339><c> of</c><00:54:08.520><c> tokens</c><00:54:08.940><c> below</c><00:54:09.359><c> 10</c>

00:54:09.589 --> 00:54:09.599 align:start position:0%
you ask any number of tokens below 10
 

00:54:09.599 --> 00:54:11.990 align:start position:0%
you ask any number of tokens below 10
you<00:54:10.440><c> are</c><00:54:10.619><c> going</c><00:54:10.680><c> to</c><00:54:10.800><c> get</c><00:54:10.920><c> them</c><00:54:11.099><c> for</c><00:54:11.280><c> free</c><00:54:11.460><c> and</c>

00:54:11.990 --> 00:54:12.000 align:start position:0%
you are going to get them for free and
 

00:54:12.000 --> 00:54:14.030 align:start position:0%
you are going to get them for free and
this<00:54:12.180><c> is</c><00:54:12.300><c> again</c><00:54:12.839><c> again</c><00:54:13.020><c> an</c><00:54:13.260><c> example</c><00:54:13.559><c> where</c><00:54:13.859><c> we</c>

00:54:14.030 --> 00:54:14.040 align:start position:0%
this is again again an example where we
 

00:54:14.040 --> 00:54:15.589 align:start position:0%
this is again again an example where we
Define<00:54:14.220><c> an</c><00:54:14.460><c> invariant</c><00:54:14.940><c> we</c><00:54:15.240><c> don't</c><00:54:15.359><c> actually</c>

00:54:15.589 --> 00:54:15.599 align:start position:0%
Define an invariant we don't actually
 

00:54:15.599 --> 00:54:17.930 align:start position:0%
Define an invariant we don't actually
look<00:54:16.079><c> at</c><00:54:16.380><c> the</c><00:54:16.619><c> formula</c><00:54:17.220><c> we</c><00:54:17.400><c> are</c><00:54:17.579><c> not</c><00:54:17.700><c> looking</c>

00:54:17.930 --> 00:54:17.940 align:start position:0%
look at the formula we are not looking
 

00:54:17.940 --> 00:54:20.329 align:start position:0%
look at the formula we are not looking
at<00:54:18.240><c> how</c><00:54:18.720><c> this</c><00:54:18.960><c> formula</c><00:54:19.380><c> works</c><00:54:19.680><c> we</c><00:54:19.980><c> just</c><00:54:20.220><c> Define</c>

00:54:20.329 --> 00:54:20.339 align:start position:0%
at how this formula works we just Define
 

00:54:20.339 --> 00:54:22.970 align:start position:0%
at how this formula works we just Define
an<00:54:20.640><c> invariant</c><00:54:21.059><c> that</c><00:54:21.240><c> if</c><00:54:21.839><c> you</c><00:54:21.960><c> don't</c><00:54:22.079><c> send</c><00:54:22.740><c> ETA</c>

00:54:22.970 --> 00:54:22.980 align:start position:0%
an invariant that if you don't send ETA
 

00:54:22.980 --> 00:54:25.130 align:start position:0%
an invariant that if you don't send ETA
you<00:54:23.160><c> should</c><00:54:23.280><c> receive</c><00:54:23.579><c> not</c><00:54:23.819><c> okay</c><00:54:24.059><c> and</c><00:54:24.780><c> by</c><00:54:24.960><c> doing</c>

00:54:25.130 --> 00:54:25.140 align:start position:0%
you should receive not okay and by doing
 

00:54:25.140 --> 00:54:26.930 align:start position:0%
you should receive not okay and by doing
that<00:54:25.380><c> akina</c><00:54:25.980><c> can</c><00:54:26.220><c> find</c><00:54:26.400><c> you</c><00:54:26.520><c> know</c><00:54:26.640><c> how</c><00:54:26.760><c> it</c>

00:54:26.930 --> 00:54:26.940 align:start position:0%
that akina can find you know how it
 

00:54:26.940 --> 00:54:29.690 align:start position:0%
that akina can find you know how it
matching<00:54:27.300><c> issue</c><00:54:27.599><c> and</c><00:54:28.380><c> we</c><00:54:28.740><c> actually</c><00:54:28.980><c> evenly</c>

00:54:29.690 --> 00:54:29.700 align:start position:0%
matching issue and we actually evenly
 

00:54:29.700 --> 00:54:32.349 align:start position:0%
matching issue and we actually evenly
using<00:54:30.000><c> Akinator</c><00:54:30.660><c> for</c><00:54:30.839><c> bonding</c><00:54:31.680><c> for</c><00:54:31.980><c> you</c><00:54:32.160><c> know</c>

00:54:32.349 --> 00:54:32.359 align:start position:0%
using Akinator for bonding for you know
 

00:54:32.359 --> 00:54:35.030 align:start position:0%
using Akinator for bonding for you know
mistake<00:54:33.359><c> in</c><00:54:33.540><c> the</c><00:54:33.599><c> formula</c><00:54:34.020><c> and</c><00:54:34.200><c> and</c><00:54:34.440><c> so</c><00:54:34.859><c> on</c>

00:54:35.030 --> 00:54:35.040 align:start position:0%
mistake in the formula and and so on
 

00:54:35.040 --> 00:54:37.010 align:start position:0%
mistake in the formula and and so on
yeah

00:54:37.010 --> 00:54:37.020 align:start position:0%
yeah
 

00:54:37.020 --> 00:54:39.589 align:start position:0%
yeah
oh<00:54:37.680><c> yeah</c><00:54:37.980><c> yeah</c><00:54:38.040><c> I</c><00:54:38.700><c> gave</c><00:54:38.819><c> that</c><00:54:39.000><c> this</c><00:54:39.300><c> function</c>

00:54:39.589 --> 00:54:39.599 align:start position:0%
oh yeah yeah I gave that this function
 

00:54:39.599 --> 00:54:42.049 align:start position:0%
oh yeah yeah I gave that this function
is<00:54:39.780><c> for</c><00:54:40.020><c> testing</c><00:54:40.440><c> purposes</c><00:54:40.920><c> but</c><00:54:41.579><c> um</c><00:54:41.640><c> in</c><00:54:41.819><c> a</c><00:54:41.940><c> real</c>

00:54:42.049 --> 00:54:42.059 align:start position:0%
is for testing purposes but um in a real
 

00:54:42.059 --> 00:54:44.150 align:start position:0%
is for testing purposes but um in a real
situation<00:54:42.359><c> where</c><00:54:42.660><c> Cent</c><00:54:42.960><c> is</c><00:54:43.200><c> not</c><00:54:43.380><c> part</c><00:54:43.619><c> of</c><00:54:43.800><c> the</c>

00:54:44.150 --> 00:54:44.160 align:start position:0%
situation where Cent is not part of the
 

00:54:44.160 --> 00:54:45.890 align:start position:0%
situation where Cent is not part of the
of<00:54:44.579><c> the</c><00:54:44.819><c> signature</c><00:54:45.180><c> of</c><00:54:45.420><c> the</c><00:54:45.480><c> function</c><00:54:45.720><c> right</c>

00:54:45.890 --> 00:54:45.900 align:start position:0%
of the signature of the function right
 

00:54:45.900 --> 00:54:47.990 align:start position:0%
of the signature of the function right
you<00:54:46.140><c> read</c><00:54:46.319><c> that</c><00:54:46.500><c> from</c><00:54:46.680><c> the</c><00:54:46.859><c> message</c><00:54:47.040><c> yeah</c><00:54:47.819><c> yeah</c>

00:54:47.990 --> 00:54:48.000 align:start position:0%
you read that from the message yeah yeah
 

00:54:48.000 --> 00:54:50.210 align:start position:0%
you read that from the message yeah yeah
yeah<00:54:48.119><c> this</c><00:54:48.780><c> is</c><00:54:48.900><c> happy</c><00:54:49.140><c> like</c><00:54:49.380><c> like</c><00:54:49.559><c> deeper</c><00:54:50.099><c> into</c>

00:54:50.210 --> 00:54:50.220 align:start position:0%
yeah this is happy like like deeper into
 

00:54:50.220 --> 00:54:52.549 align:start position:0%
yeah this is happy like like deeper into
the<00:54:50.460><c> code</c><00:54:50.640><c> right</c><00:54:51.059><c> right</c><00:54:51.240><c> so</c><00:54:52.079><c> how</c><00:54:52.319><c> are</c><00:54:52.500><c> you</c>

00:54:52.549 --> 00:54:52.559 align:start position:0%
the code right right so how are you
 

00:54:52.559 --> 00:54:54.890 align:start position:0%
the code right right so how are you
doing<00:54:52.740><c> that</c><00:54:52.920><c> okay</c><00:54:53.040><c> you</c><00:54:53.280><c> read</c><00:54:53.460><c> that</c><00:54:53.700><c> into</c><00:54:54.240><c> the</c><00:54:54.660><c> a</c>

00:54:54.890 --> 00:54:54.900 align:start position:0%
doing that okay you read that into the a
 

00:54:54.900 --> 00:54:58.010 align:start position:0%
doing that okay you read that into the a
certain<00:54:55.079><c> function</c><00:54:55.559><c> how</c><00:54:55.920><c> you</c><00:54:56.040><c> do</c><00:54:56.220><c> that</c><00:54:56.400><c> so</c><00:54:56.940><c> yeah</c>

00:54:58.010 --> 00:54:58.020 align:start position:0%
certain function how you do that so yeah
 

00:54:58.020 --> 00:55:00.470 align:start position:0%
certain function how you do that so yeah
uh<00:54:58.380><c> uh</c><00:54:58.380><c> if</c><00:54:58.859><c> I</c><00:54:59.040><c> understand</c><00:54:59.220><c> it</c><00:54:59.579><c> correctly</c><00:55:00.000><c> so</c>

00:55:00.470 --> 00:55:00.480 align:start position:0%
uh uh if I understand it correctly so
 

00:55:00.480 --> 00:55:03.890 align:start position:0%
uh uh if I understand it correctly so
this<00:55:01.140><c> this</c><00:55:01.680><c> could</c><00:55:02.160><c> be</c><00:55:02.520><c> an</c><00:55:02.760><c> internal</c><00:55:03.180><c> part</c><00:55:03.420><c> and</c>

00:55:03.890 --> 00:55:03.900 align:start position:0%
this this could be an internal part and
 

00:55:03.900 --> 00:55:05.990 align:start position:0%
this this could be an internal part and
you<00:55:04.140><c> can</c><00:55:04.260><c> have</c><00:55:04.440><c> like</c><00:55:04.680><c> a</c><00:55:05.040><c> lot</c><00:55:05.099><c> of</c><00:55:05.220><c> code</c><00:55:05.400><c> that</c><00:55:05.760><c> put</c>

00:55:05.990 --> 00:55:06.000 align:start position:0%
you can have like a lot of code that put
 

00:55:06.000 --> 00:55:08.809 align:start position:0%
you can have like a lot of code that put
like<00:55:06.359><c> gets</c><00:55:07.140><c> the</c><00:55:07.260><c> value</c><00:55:07.559><c> from</c><00:55:08.099><c> them</c><00:55:08.280><c> from</c><00:55:08.700><c> the</c>

00:55:08.809 --> 00:55:08.819 align:start position:0%
like gets the value from them from the
 

00:55:08.819 --> 00:55:10.670 align:start position:0%
like gets the value from them from the
message<00:55:09.059><c> value</c><00:55:09.480><c> and</c><00:55:09.839><c> then</c><00:55:10.020><c> do</c><00:55:10.319><c> something</c><00:55:10.500><c> else</c>

00:55:10.670 --> 00:55:10.680 align:start position:0%
message value and then do something else
 

00:55:10.680 --> 00:55:13.549 align:start position:0%
message value and then do something else
ah<00:55:11.280><c> you</c><00:55:11.400><c> can</c><00:55:11.460><c> do</c><00:55:11.579><c> that</c><00:55:11.760><c> uh</c><00:55:12.720><c> yeah</c><00:55:12.900><c> I</c><00:55:13.079><c> mean</c><00:55:13.200><c> I</c><00:55:13.440><c> mean</c>

00:55:13.549 --> 00:55:13.559 align:start position:0%
ah you can do that uh yeah I mean I mean
 

00:55:13.559 --> 00:55:16.069 align:start position:0%
ah you can do that uh yeah I mean I mean
is<00:55:13.920><c> this</c><00:55:14.220><c> depends</c><00:55:14.640><c> on</c><00:55:14.819><c> on</c><00:55:15.059><c> your</c><00:55:15.240><c> code</c><00:55:15.420><c> here</c><00:55:15.720><c> we</c>

00:55:16.069 --> 00:55:16.079 align:start position:0%
is this depends on on your code here we
 

00:55:16.079 --> 00:55:19.010 align:start position:0%
is this depends on on your code here we
are<00:55:16.260><c> testing</c><00:55:17.040><c> an</c><00:55:17.280><c> internal</c><00:55:17.700><c> function</c><00:55:18.059><c> right</c>

00:55:19.010 --> 00:55:19.020 align:start position:0%
are testing an internal function right
 

00:55:19.020 --> 00:55:24.349 align:start position:0%
are testing an internal function right
using<00:55:19.980><c> using</c><00:55:20.700><c> some</c><00:55:21.000><c> some</c><00:55:21.300><c> defined</c><00:55:21.960><c> yeah</c><00:55:23.160><c> yeah</c>

00:55:24.349 --> 00:55:24.359 align:start position:0%
using using some some defined yeah yeah
 

00:55:24.359 --> 00:55:26.390 align:start position:0%
using using some some defined yeah yeah
yeah and<00:55:24.900><c> if</c><00:55:25.140><c> it</c><00:55:25.440><c> was</c><00:55:25.619><c> using</c><00:55:25.800><c> message</c><00:55:25.980><c> that</c>

00:55:26.390 --> 00:55:26.400 align:start position:0%
yeah and if it was using message that
 

00:55:26.400 --> 00:55:35.030 align:start position:0%
yeah and if it was using message that
value<00:55:27.119><c> um</c><00:55:27.200><c> yeah</c><00:55:28.200><c> exactly</c>

00:55:35.030 --> 00:55:35.040 align:start position:0%
 
 

00:55:35.040 --> 00:55:38.750 align:start position:0%
 
and<00:55:36.000><c> if</c><00:55:36.720><c> you</c><00:55:36.960><c> have</c><00:55:37.140><c> a</c><00:55:37.440><c> constant</c><00:55:37.859><c> in</c><00:55:38.339><c> your</c><00:55:38.520><c> code</c>

00:55:38.750 --> 00:55:38.760 align:start position:0%
and if you have a constant in your code
 

00:55:38.760 --> 00:55:43.130 align:start position:0%
and if you have a constant in your code
saying<00:55:39.359><c> message</c><00:55:39.960><c> value</c><00:55:40.319><c> should</c><00:55:40.680><c> be</c><00:55:41.119><c> uh</c><00:55:42.119><c> 42</c><00:55:42.599><c> 42</c>

00:55:43.130 --> 00:55:43.140 align:start position:0%
saying message value should be uh 42 42
 

00:55:43.140 --> 00:55:46.490 align:start position:0%
saying message value should be uh 42 42
42<00:55:43.740><c> it</c><00:55:44.160><c> will</c><00:55:44.460><c> use</c><00:55:45.059><c> that</c><00:55:45.420><c> constant</c><00:55:45.900><c> eventually</c>

00:55:46.490 --> 00:55:46.500 align:start position:0%
42 it will use that constant eventually
 

00:55:46.500 --> 00:55:49.069 align:start position:0%
42 it will use that constant eventually
so<00:55:46.859><c> you</c><00:55:47.160><c> should</c><00:55:47.339><c> be</c><00:55:47.520><c> able</c><00:55:47.640><c> to</c><00:55:47.819><c> hit</c><00:55:48.180><c> that</c>

00:55:49.069 --> 00:55:49.079 align:start position:0%
so you should be able to hit that
 

00:55:49.079 --> 00:55:51.950 align:start position:0%
so you should be able to hit that
particular<00:55:49.440><c> that</c><00:55:50.220><c> particular</c><00:55:50.579><c> case</c><00:55:50.960><c> given</c>

00:55:51.950 --> 00:55:51.960 align:start position:0%
particular that particular case given
 

00:55:51.960 --> 00:55:53.210 align:start position:0%
particular that particular case given
the<00:55:52.020><c> fact</c><00:55:52.140><c> that</c><00:55:52.319><c> this</c><00:55:52.500><c> is</c><00:55:52.619><c> random</c><00:55:53.040><c> something</c>

00:55:53.210 --> 00:55:53.220 align:start position:0%
the fact that this is random something
 

00:55:53.220 --> 00:55:56.870 align:start position:0%
the fact that this is random something
of<00:55:53.579><c> course</c><00:55:53.940><c> but</c><00:55:54.660><c> can</c><00:55:54.960><c> you</c><00:55:55.260><c> uh</c><00:55:55.980><c> moving</c><00:55:56.460><c> back</c><00:55:56.640><c> to</c>

00:55:56.870 --> 00:55:56.880 align:start position:0%
of course but can you uh moving back to
 

00:55:56.880 --> 00:55:58.910 align:start position:0%
of course but can you uh moving back to
the<00:55:57.059><c> previous</c><00:55:57.180><c> slide</c><00:55:57.540><c> to</c><00:55:57.720><c> the</c><00:55:57.900><c> function</c>

00:55:58.910 --> 00:55:58.920 align:start position:0%
the previous slide to the function
 

00:55:58.920 --> 00:56:01.250 align:start position:0%
the previous slide to the function
what<00:55:59.579><c> I'm</c><00:55:59.760><c> really</c><00:56:00.119><c> wondering</c><00:56:00.599><c> because</c><00:56:00.839><c> we</c>

00:56:01.250 --> 00:56:01.260 align:start position:0%
what I'm really wondering because we
 

00:56:01.260 --> 00:56:04.910 align:start position:0%
what I'm really wondering because we
talk<00:56:01.500><c> about</c><00:56:01.740><c> this</c><00:56:02.280><c> error</c><00:56:02.640><c> whoever</c>

00:56:04.910 --> 00:56:04.920 align:start position:0%
talk about this error whoever
 

00:56:04.920 --> 00:56:08.690 align:start position:0%
talk about this error whoever
tokens<00:56:05.700><c> less</c><00:56:06.119><c> than</c><00:56:06.540><c> is</c><00:56:07.260><c> uh</c><00:56:07.859><c> so</c><00:56:07.980><c> way</c><00:56:08.280><c> less</c><00:56:08.520><c> than</c>

00:56:08.690 --> 00:56:08.700 align:start position:0%
tokens less than is uh so way less than
 

00:56:08.700 --> 00:56:11.150 align:start position:0%
tokens less than is uh so way less than
it's<00:56:09.000><c> so</c><00:56:09.240><c> small</c><00:56:09.480><c> amount</c><00:56:09.900><c> and</c><00:56:10.800><c> the</c><00:56:10.980><c> same</c>

00:56:11.150 --> 00:56:11.160 align:start position:0%
it's so small amount and the same
 

00:56:11.160 --> 00:56:13.990 align:start position:0%
it's so small amount and the same
problem<00:56:11.400><c> which</c><00:56:11.700><c> could</c><00:56:12.000><c> be</c><00:56:12.180><c> here</c><00:56:12.420><c> is</c><00:56:13.140><c> Overflow</c>

00:56:13.990 --> 00:56:14.000 align:start position:0%
problem which could be here is Overflow
 

00:56:14.000 --> 00:56:17.690 align:start position:0%
problem which could be here is Overflow
if<00:56:15.000><c> I</c><00:56:15.420><c> provide</c><00:56:15.900><c> a</c><00:56:16.200><c> huge</c><00:56:16.500><c> amount</c><00:56:16.980><c> of</c><00:56:17.339><c> ease</c>

00:56:17.690 --> 00:56:17.700 align:start position:0%
if I provide a huge amount of ease
 

00:56:17.700 --> 00:56:19.370 align:start position:0%
if I provide a huge amount of ease
because<00:56:17.880><c> we</c><00:56:18.180><c> have</c><00:56:18.359><c> a</c><00:56:18.540><c> multiplication</c><00:56:19.079><c> to</c>

00:56:19.370 --> 00:56:19.380 align:start position:0%
because we have a multiplication to
 

00:56:19.380 --> 00:56:21.770 align:start position:0%
because we have a multiplication to
decimals<00:56:19.980><c> it</c><00:56:20.099><c> could</c><00:56:20.280><c> be</c><00:56:20.400><c> done</c><00:56:20.579><c> on</c><00:56:21.420><c> the</c><00:56:21.599><c> other</c>

00:56:21.770 --> 00:56:21.780 align:start position:0%
decimals it could be done on the other
 

00:56:21.780 --> 00:56:25.549 align:start position:0%
decimals it could be done on the other
side<00:56:22.099><c> we</c><00:56:23.099><c> all</c><00:56:23.400><c> of</c><00:56:23.579><c> us</c><00:56:23.700><c> know</c><00:56:24.119><c> that</c><00:56:24.540><c> the</c><00:56:25.200><c> quantity</c>

00:56:25.549 --> 00:56:25.559 align:start position:0%
side we all of us know that the quantity
 

00:56:25.559 --> 00:56:28.130 align:start position:0%
side we all of us know that the quantity
of<00:56:25.800><c> s</c><00:56:26.099><c> is</c><00:56:26.640><c> limited</c>

00:56:28.130 --> 00:56:28.140 align:start position:0%
of s is limited
 

00:56:28.140 --> 00:56:30.829 align:start position:0%
of s is limited
you<00:56:29.040><c> can't</c><00:56:29.160><c> even</c><00:56:29.460><c> take</c><00:56:29.700><c> a</c><00:56:29.880><c> flash</c><00:56:30.059><c> loan</c><00:56:30.480><c> and</c><00:56:30.599><c> get</c>

00:56:30.829 --> 00:56:30.839 align:start position:0%
you can't even take a flash loan and get
 

00:56:30.839 --> 00:56:34.309 align:start position:0%
you can't even take a flash loan and get
more<00:56:31.140><c> ease</c><00:56:31.500><c> than</c><00:56:31.740><c> it</c><00:56:31.920><c> produce</c><00:56:32.359><c> so</c><00:56:33.359><c> what</c><00:56:34.020><c> is</c><00:56:34.140><c> the</c>

00:56:34.309 --> 00:56:34.319 align:start position:0%
more ease than it produce so what is the
 

00:56:34.319 --> 00:56:36.650 align:start position:0%
more ease than it produce so what is the
best<00:56:34.500><c> practice</c><00:56:34.859><c> follow</c><00:56:35.579><c> this</c><00:56:36.180><c> formal</c>

00:56:36.650 --> 00:56:36.660 align:start position:0%
best practice follow this formal
 

00:56:36.660 --> 00:56:38.870 align:start position:0%
best practice follow this formal
execution<00:56:37.260><c> when</c><00:56:37.680><c> you</c><00:56:37.859><c> write</c><00:56:38.040><c> fuzzing</c><00:56:38.520><c> tests</c>

00:56:38.870 --> 00:56:38.880 align:start position:0%
execution when you write fuzzing tests
 

00:56:38.880 --> 00:56:42.290 align:start position:0%
execution when you write fuzzing tests
or<00:56:39.480><c> take</c><00:56:39.720><c> some</c><00:56:40.079><c> real</c><00:56:40.640><c> examples</c><00:56:41.640><c> as</c>

00:56:42.290 --> 00:56:42.300 align:start position:0%
or take some real examples as
 

00:56:42.300 --> 00:56:45.170 align:start position:0%
or take some real examples as
limitations<00:56:42.960><c> as</c><00:56:43.380><c> there</c><00:56:43.559><c> is</c><00:56:43.800><c> no</c><00:56:44.160><c> match</c><00:56:44.520><c> as</c>

00:56:45.170 --> 00:56:45.180 align:start position:0%
limitations as there is no match as
 

00:56:45.180 --> 00:56:47.450 align:start position:0%
limitations as there is no match as
zeroom<00:56:45.780><c> as</c><00:56:45.960><c> it</c><00:56:46.079><c> exists</c><00:56:46.440><c> at</c><00:56:46.619><c> the</c><00:56:46.740><c> moment</c><00:56:46.980><c> and</c><00:56:47.280><c> we</c>

00:56:47.450 --> 00:56:47.460 align:start position:0%
zeroom as it exists at the moment and we
 

00:56:47.460 --> 00:56:50.089 align:start position:0%
zeroom as it exists at the moment and we
know<00:56:47.700><c> it's</c><00:56:47.880><c> a</c><00:56:48.059><c> deflation</c><00:56:48.480><c> so</c><00:56:48.780><c> we</c><00:56:49.079><c> can</c><00:56:49.319><c> simply</c>

00:56:50.089 --> 00:56:50.099 align:start position:0%
know it's a deflation so we can simply
 

00:56:50.099 --> 00:56:52.970 align:start position:0%
know it's a deflation so we can simply
assume<00:56:51.000><c> that</c><00:56:51.240><c> in</c><00:56:51.780><c> the</c><00:56:51.900><c> future</c><00:56:52.020><c> nobody</c><00:56:52.619><c> could</c>

00:56:52.970 --> 00:56:52.980 align:start position:0%
assume that in the future nobody could
 

00:56:52.980 --> 00:56:55.250 align:start position:0%
assume that in the future nobody could
take<00:56:53.220><c> so</c><00:56:53.520><c> much</c><00:56:53.640><c> to</c><00:56:53.880><c> get</c><00:56:54.059><c> overflow</c><00:56:54.540><c> here</c><00:56:54.780><c> yeah</c>

00:56:55.250 --> 00:56:55.260 align:start position:0%
take so much to get overflow here yeah
 

00:56:55.260 --> 00:56:57.410 align:start position:0%
take so much to get overflow here yeah
yeah exactly<00:56:55.980><c> so</c><00:56:56.339><c> yeah</c><00:56:56.579><c> this</c><00:56:56.819><c> is</c><00:56:56.940><c> is</c><00:56:57.180><c> an</c>

00:56:57.410 --> 00:56:57.420 align:start position:0%
yeah exactly so yeah this is is an
 

00:56:57.420 --> 00:57:00.290 align:start position:0%
yeah exactly so yeah this is is an
interesting<00:56:57.780><c> question</c><00:56:58.160><c> and</c><00:56:59.160><c> it</c><00:56:59.579><c> goes</c><00:56:59.940><c> into</c>

00:57:00.290 --> 00:57:00.300 align:start position:0%
interesting question and it goes into
 

00:57:00.300 --> 00:57:02.329 align:start position:0%
interesting question and it goes into
the<00:57:00.780><c> fact</c><00:57:00.960><c> that</c><00:57:01.200><c> what</c><00:57:01.559><c> are</c><00:57:01.680><c> your</c><00:57:01.920><c> assumptions</c>

00:57:02.329 --> 00:57:02.339 align:start position:0%
the fact that what are your assumptions
 

00:57:02.339 --> 00:57:05.030 align:start position:0%
the fact that what are your assumptions
on<00:57:02.819><c> the</c><00:57:02.940><c> test</c><00:57:03.180><c> right</c><00:57:03.900><c> if</c><00:57:04.440><c> you</c><00:57:04.559><c> if</c><00:57:04.800><c> your</c>

00:57:05.030 --> 00:57:05.040 align:start position:0%
on the test right if you if your
 

00:57:05.040 --> 00:57:07.609 align:start position:0%
on the test right if you if your
assumptions<00:57:05.460><c> are</c><00:57:05.700><c> like</c><00:57:06.000><c> I</c><00:57:06.540><c> have</c><00:57:06.720><c> this</c><00:57:07.200><c> token</c>

00:57:07.609 --> 00:57:07.619 align:start position:0%
assumptions are like I have this token
 

00:57:07.619 --> 00:57:09.770 align:start position:0%
assumptions are like I have this token
with<00:57:07.859><c> this</c><00:57:08.099><c> limited</c><00:57:08.520><c> Supply</c><00:57:08.760><c> that</c><00:57:09.480><c> should</c>

00:57:09.770 --> 00:57:09.780 align:start position:0%
with this limited Supply that should
 

00:57:09.780 --> 00:57:13.010 align:start position:0%
with this limited Supply that should
never<00:57:09.960><c> go</c><00:57:10.319><c> over</c><00:57:10.500><c> something</c><00:57:11.180><c> then</c><00:57:12.180><c> you</c><00:57:12.540><c> you</c><00:57:12.780><c> can</c>

00:57:13.010 --> 00:57:13.020 align:start position:0%
never go over something then you you can
 

00:57:13.020 --> 00:57:16.250 align:start position:0%
never go over something then you you can
just<00:57:13.140><c> say</c><00:57:13.440><c> I</c><00:57:13.920><c> require</c><00:57:14.160><c> that</c><00:57:14.900><c> that</c><00:57:15.900><c> the</c><00:57:16.140><c> value</c>

00:57:16.250 --> 00:57:16.260 align:start position:0%
just say I require that that the value
 

00:57:16.260 --> 00:57:18.230 align:start position:0%
just say I require that that the value
sign<00:57:16.619><c> cannot</c><00:57:17.220><c> be</c><00:57:17.400><c> more</c><00:57:17.640><c> than</c><00:57:17.819><c> the</c><00:57:18.000><c> total</c>

00:57:18.230 --> 00:57:18.240 align:start position:0%
sign cannot be more than the total
 

00:57:18.240 --> 00:57:20.690 align:start position:0%
sign cannot be more than the total
supply<00:57:18.420><c> of</c><00:57:18.780><c> something</c><00:57:18.960><c> right</c><00:57:19.859><c> but</c><00:57:20.400><c> in</c><00:57:20.579><c> the</c>

00:57:20.690 --> 00:57:20.700 align:start position:0%
supply of something right but in the
 

00:57:20.700 --> 00:57:22.730 align:start position:0%
supply of something right but in the
case<00:57:20.819><c> of</c><00:57:20.940><c> interest</c><00:57:21.180><c> is</c><00:57:21.720><c> a</c><00:57:21.839><c> bit</c><00:57:22.020><c> more</c><00:57:22.319><c> tricky</c>

00:57:22.730 --> 00:57:22.740 align:start position:0%
case of interest is a bit more tricky
 

00:57:22.740 --> 00:57:26.390 align:start position:0%
case of interest is a bit more tricky
and<00:57:23.460><c> and</c><00:57:23.700><c> in</c><00:57:24.000><c> fact</c><00:57:24.180><c> in</c><00:57:24.839><c> in</c><00:57:25.079><c> Echidna</c><00:57:25.920><c> what</c><00:57:26.099><c> we</c><00:57:26.220><c> do</c>

00:57:26.390 --> 00:57:26.400 align:start position:0%
and and in fact in in Echidna what we do
 

00:57:26.400 --> 00:57:29.150 align:start position:0%
and and in fact in in Echidna what we do
is<00:57:26.579><c> we</c><00:57:27.359><c> have</c><00:57:27.540><c> we</c><00:57:27.900><c> have</c><00:57:28.260><c> externally</c><00:57:28.920><c> on</c>

00:57:29.150 --> 00:57:29.160 align:start position:0%
is we have we have externally on
 

00:57:29.160 --> 00:57:31.549 align:start position:0%
is we have we have externally on
accounts<00:57:29.640><c> that</c><00:57:29.700><c> are</c><00:57:29.819><c> simulated</c><00:57:30.300><c> we</c><00:57:31.079><c> loaded</c>

00:57:31.549 --> 00:57:31.559 align:start position:0%
accounts that are simulated we loaded
 

00:57:31.559 --> 00:57:33.410 align:start position:0%
accounts that are simulated we loaded
with<00:57:31.800><c> eater</c><00:57:32.280><c> every</c><00:57:32.579><c> at</c><00:57:32.819><c> every</c><00:57:33.000><c> transaction</c>

00:57:33.410 --> 00:57:33.420 align:start position:0%
with eater every at every transaction
 

00:57:33.420 --> 00:57:36.170 align:start position:0%
with eater every at every transaction
because<00:57:34.200><c> you</c><00:57:34.500><c> can</c><00:57:34.680><c> have</c><00:57:34.980><c> a</c><00:57:35.579><c> very</c><00:57:35.640><c> large</c><00:57:35.880><c> amount</c>

00:57:36.170 --> 00:57:36.180 align:start position:0%
because you can have a very large amount
 

00:57:36.180 --> 00:57:39.230 align:start position:0%
because you can have a very large amount
of<00:57:36.300><c> feature</c><00:57:36.660><c> you</c><00:57:36.960><c> can</c><00:57:37.079><c> take</c><00:57:37.500><c> a</c><00:57:37.680><c> flat</c><00:57:37.980><c> loan</c><00:57:38.339><c> uh</c>

00:57:39.230 --> 00:57:39.240 align:start position:0%
of feature you can take a flat loan uh
 

00:57:39.240 --> 00:57:42.410 align:start position:0%
of feature you can take a flat loan uh
you<00:57:39.420><c> you</c><00:57:39.720><c> probably</c><00:57:40.020><c> cannot</c><00:57:40.680><c> have</c><00:57:41.160><c> as</c><00:57:41.700><c> enough</c>

00:57:42.410 --> 00:57:42.420 align:start position:0%
you you probably cannot have as enough
 

00:57:42.420 --> 00:57:46.849 align:start position:0%
you you probably cannot have as enough
eater<00:57:43.079><c> to</c><00:57:43.440><c> overflow</c><00:57:44.280><c> uh</c><00:57:45.119><c> you</c><00:57:45.300><c> into</c><00:57:45.859><c> 256</c>

00:57:46.849 --> 00:57:46.859 align:start position:0%
eater to overflow uh you into 256
 

00:57:46.859 --> 00:57:49.970 align:start position:0%
eater to overflow uh you into 256
because<00:57:47.220><c> that</c><00:57:47.640><c> will</c><00:57:47.880><c> be</c><00:57:48.140><c> a</c><00:57:49.140><c> real</c><00:57:49.260><c> issue</c><00:57:49.740><c> for</c>

00:57:49.970 --> 00:57:49.980 align:start position:0%
because that will be a real issue for
 

00:57:49.980 --> 00:57:53.990 align:start position:0%
because that will be a real issue for
the<00:57:50.160><c> AVM</c><00:57:50.640><c> uh</c><00:57:51.540><c> in</c><00:57:51.780><c> in</c><00:57:51.900><c> itself</c><00:57:52.260><c> but</c>

00:57:53.990 --> 00:57:54.000 align:start position:0%
the AVM uh in in itself but
 

00:57:54.000 --> 00:57:56.630 align:start position:0%
the AVM uh in in itself but
um<00:57:54.059><c> we</c><00:57:54.660><c> can</c><00:57:54.780><c> we</c><00:57:55.020><c> can</c><00:57:55.200><c> Define</c><00:57:55.380><c> in</c><00:57:56.040><c> the</c><00:57:56.160><c> Kinder</c>

00:57:56.630 --> 00:57:56.640 align:start position:0%
um we can we can Define in the Kinder
 

00:57:56.640 --> 00:57:59.150 align:start position:0%
um we can we can Define in the Kinder
config<00:57:57.000><c> which</c><00:57:57.599><c> is</c><00:57:57.780><c> the</c><00:57:58.079><c> maximum</c><00:57:58.619><c> amount</c><00:57:58.980><c> of</c>

00:57:59.150 --> 00:57:59.160 align:start position:0%
config which is the maximum amount of
 

00:57:59.160 --> 00:58:02.150 align:start position:0%
config which is the maximum amount of
value<00:57:59.520><c> that</c><00:57:59.940><c> we</c><00:58:00.119><c> send</c><00:58:00.359><c> per</c><00:58:00.839><c> transaction</c><00:58:01.319><c> right</c>

00:58:02.150 --> 00:58:02.160 align:start position:0%
value that we send per transaction right
 

00:58:02.160 --> 00:58:04.490 align:start position:0%
value that we send per transaction right
so<00:58:02.400><c> if</c><00:58:02.579><c> you</c><00:58:02.640><c> put</c><00:58:02.819><c> like</c><00:58:03.059><c> I</c><00:58:03.599><c> don't</c><00:58:03.780><c> care</c><00:58:04.020><c> if</c><00:58:04.319><c> the</c>

00:58:04.490 --> 00:58:04.500 align:start position:0%
so if you put like I don't care if the
 

00:58:04.500 --> 00:58:07.490 align:start position:0%
so if you put like I don't care if the
attacker<00:58:04.859><c> has</c><00:58:05.040><c> more</c><00:58:05.400><c> than</c><00:58:05.579><c> than</c><00:58:06.359><c> 10</c><00:58:07.020><c> 000</c><00:58:07.079><c> liter</c>

00:58:07.490 --> 00:58:07.500 align:start position:0%
attacker has more than than 10 000 liter
 

00:58:07.500 --> 00:58:10.190 align:start position:0%
attacker has more than than 10 000 liter
because<00:58:08.160><c> that</c><00:58:08.760><c> will</c><00:58:08.940><c> mean</c><00:58:09.240><c> that</c><00:58:09.599><c> they</c><00:58:09.839><c> can</c><00:58:10.020><c> do</c>

00:58:10.190 --> 00:58:10.200 align:start position:0%
because that will mean that they can do
 

00:58:10.200 --> 00:58:13.490 align:start position:0%
because that will mean that they can do
other<00:58:10.319><c> things</c><00:58:10.700><c> then</c><00:58:11.700><c> Echidna</c><00:58:12.359><c> will</c><00:58:12.599><c> happily</c>

00:58:13.490 --> 00:58:13.500 align:start position:0%
other things then Echidna will happily
 

00:58:13.500 --> 00:58:15.710 align:start position:0%
other things then Echidna will happily
uh<00:58:14.099><c> take</c><00:58:14.400><c> that</c><00:58:14.579><c> limit</c><00:58:14.760><c> and</c><00:58:15.059><c> will</c><00:58:15.240><c> never</c><00:58:15.420><c> put</c>

00:58:15.710 --> 00:58:15.720 align:start position:0%
uh take that limit and will never put
 

00:58:15.720 --> 00:58:18.530 align:start position:0%
uh take that limit and will never put
something<00:58:16.020><c> more</c><00:58:16.400><c> however</c><00:58:17.400><c> it's</c><00:58:18.119><c> still</c><00:58:18.300><c> the</c>

00:58:18.530 --> 00:58:18.540 align:start position:0%
something more however it's still the
 

00:58:18.540 --> 00:58:20.870 align:start position:0%
something more however it's still the
case<00:58:18.720><c> that</c><00:58:19.140><c> over</c><00:58:19.680><c> several</c><00:58:20.280><c> number</c><00:58:20.760><c> of</c>

00:58:20.870 --> 00:58:20.880 align:start position:0%
case that over several number of
 

00:58:20.880 --> 00:58:22.790 align:start position:0%
case that over several number of
transactions<00:58:21.480><c> the</c><00:58:21.780><c> accumulate</c><00:58:22.380><c> number</c><00:58:22.559><c> of</c>

00:58:22.790 --> 00:58:22.800 align:start position:0%
transactions the accumulate number of
 

00:58:22.800 --> 00:58:25.370 align:start position:0%
transactions the accumulate number of
features<00:58:23.280><c> can</c><00:58:24.000><c> go</c><00:58:24.180><c> over</c><00:58:24.300><c> that</c><00:58:24.660><c> that</c><00:58:24.960><c> barrier</c>

00:58:25.370 --> 00:58:25.380 align:start position:0%
features can go over that that barrier
 

00:58:25.380 --> 00:58:26.750 align:start position:0%
features can go over that that barrier
so<00:58:25.500><c> you</c><00:58:25.740><c> should</c><00:58:25.859><c> you</c><00:58:26.040><c> should</c><00:58:26.220><c> be</c><00:58:26.339><c> careful</c><00:58:26.579><c> with</c>

00:58:26.750 --> 00:58:26.760 align:start position:0%
so you should you should be careful with
 

00:58:26.760 --> 00:58:28.849 align:start position:0%
so you should you should be careful with
it<00:58:26.940><c> and</c><00:58:27.059><c> there</c><00:58:27.660><c> is</c><00:58:27.780><c> also</c><00:58:27.900><c> no</c><00:58:27.960><c> project</c><00:58:28.200><c> you</c><00:58:28.680><c> can</c>

00:58:28.849 --> 00:58:28.859 align:start position:0%
it and there is also no project you can
 

00:58:28.859 --> 00:58:30.829 align:start position:0%
it and there is also no project you can
take<00:58:28.980><c> here</c><00:58:29.280><c> so</c><00:58:29.819><c> basically</c><00:58:30.240><c> you</c><00:58:30.540><c> are</c><00:58:30.720><c> building</c>

00:58:30.829 --> 00:58:30.839 align:start position:0%
take here so basically you are building
 

00:58:30.839 --> 00:58:32.809 align:start position:0%
take here so basically you are building
an<00:58:31.020><c> invariant</c><00:58:31.500><c> and</c><00:58:31.800><c> the</c><00:58:31.980><c> invariant</c><00:58:32.400><c> of</c><00:58:32.579><c> which</c>

00:58:32.809 --> 00:58:32.819 align:start position:0%
an invariant and the invariant of which
 

00:58:32.819 --> 00:58:35.329 align:start position:0%
an invariant and the invariant of which
we<00:58:33.059><c> thought</c><00:58:33.180><c> as</c><00:58:33.420><c> like</c><00:58:33.660><c> a</c><00:58:33.780><c> value</c>

00:58:35.329 --> 00:58:35.339 align:start position:0%
we thought as like a value
 

00:58:35.339 --> 00:58:39.289 align:start position:0%
we thought as like a value
so<00:58:35.960><c> either</c><00:58:36.960><c> you</c><00:58:37.559><c> start</c><00:58:37.799><c> where</c><00:58:38.460><c> the</c><00:58:38.819><c> invariant</c>

00:58:39.289 --> 00:58:39.299 align:start position:0%
so either you start where the invariant
 

00:58:39.299 --> 00:58:41.930 align:start position:0%
so either you start where the invariant
has<00:58:39.599><c> really</c><00:58:40.099><c> limited</c><00:58:41.099><c> Twitter</c><00:58:41.400><c> like</c><00:58:41.819><c> really</c>

00:58:41.930 --> 00:58:41.940 align:start position:0%
has really limited Twitter like really
 

00:58:41.940 --> 00:58:44.210 align:start position:0%
has really limited Twitter like really
with<00:58:42.240><c> chain</c><00:58:42.540><c> one</c><00:58:42.780><c> and</c><00:58:43.260><c> you</c><00:58:43.440><c> try</c><00:58:43.619><c> to</c><00:58:43.799><c> see</c><00:58:43.980><c> if</c><00:58:44.099><c> it</c>

00:58:44.210 --> 00:58:44.220 align:start position:0%
with chain one and you try to see if it
 

00:58:44.220 --> 00:58:46.309 align:start position:0%
with chain one and you try to see if it
hurts<00:58:44.640><c> if</c><00:58:45.059><c> it's</c><00:58:45.180><c> working</c><00:58:45.420><c> with</c><00:58:45.780><c> like</c><00:58:46.020><c> a</c><00:58:46.140><c> you</c>

00:58:46.309 --> 00:58:46.319 align:start position:0%
hurts if it's working with like a you
 

00:58:46.319 --> 00:58:48.349 align:start position:0%
hurts if it's working with like a you
know<00:58:46.440><c> like</c><00:58:46.619><c> with</c><00:58:47.280><c> one</c><00:58:47.460><c> meter</c><00:58:47.760><c> okay</c><00:58:48.119><c> it's</c>

00:58:48.349 --> 00:58:48.359 align:start position:0%
know like with one meter okay it's
 

00:58:48.359 --> 00:58:49.849 align:start position:0%
know like with one meter okay it's
already<00:58:48.480><c> working</c><00:58:48.780><c> so</c><00:58:49.079><c> you</c><00:58:49.200><c> can</c><00:58:49.319><c> continue</c><00:58:49.440><c> like</c>

00:58:49.849 --> 00:58:49.859 align:start position:0%
already working so you can continue like
 

00:58:49.859 --> 00:58:51.410 align:start position:0%
already working so you can continue like
this<00:58:49.980><c> if</c><00:58:50.280><c> it's</c><00:58:50.460><c> not</c><00:58:50.579><c> breaking</c><00:58:50.940><c> then</c><00:58:51.119><c> you</c><00:58:51.299><c> can</c>

00:58:51.410 --> 00:58:51.420 align:start position:0%
this if it's not breaking then you can
 

00:58:51.420 --> 00:58:53.270 align:start position:0%
this if it's not breaking then you can
increase<00:58:51.720><c> this</c><00:58:52.140><c> with</c><00:58:52.440><c> time</c><00:58:52.859><c> from</c><00:58:53.040><c> time</c><00:58:53.160><c> to</c>

00:58:53.270 --> 00:58:53.280 align:start position:0%
increase this with time from time to
 

00:58:53.280 --> 00:58:54.829 align:start position:0%
increase this with time from time to
time<00:58:53.520><c> or</c><00:58:54.059><c> you</c><00:58:54.180><c> can</c><00:58:54.299><c> take</c><00:58:54.359><c> the</c><00:58:54.540><c> opposite</c>

00:58:54.829 --> 00:58:54.839 align:start position:0%
time or you can take the opposite
 

00:58:54.839 --> 00:58:56.270 align:start position:0%
time or you can take the opposite
approach<00:58:55.200><c> if</c><00:58:55.319><c> you</c><00:58:55.440><c> define</c><00:58:55.559><c> an</c><00:58:55.799><c> invariant</c>

00:58:56.270 --> 00:58:56.280 align:start position:0%
approach if you define an invariant
 

00:58:56.280 --> 00:58:58.910 align:start position:0%
approach if you define an invariant
where<00:58:56.579><c> the</c><00:58:57.359><c> threshold</c><00:58:57.720><c> is</c><00:58:57.900><c> really</c><00:58:58.079><c> large</c>

00:58:58.910 --> 00:58:58.920 align:start position:0%
where the threshold is really large
 

00:58:58.920 --> 00:59:00.589 align:start position:0%
where the threshold is really large
it's<00:58:59.400><c> working</c><00:58:59.640><c> because</c><00:58:59.940><c> it's</c><00:59:00.180><c> really</c><00:59:00.359><c> large</c>

00:59:00.589 --> 00:59:00.599 align:start position:0%
it's working because it's really large
 

00:59:00.599 --> 00:59:02.750 align:start position:0%
it's working because it's really large
and<00:59:00.839><c> then</c><00:59:00.960><c> you</c><00:59:01.200><c> decrease</c><00:59:01.500><c> this</c><00:59:01.980><c> result</c><00:59:02.220><c> so</c>

00:59:02.750 --> 00:59:02.760 align:start position:0%
and then you decrease this result so
 

00:59:02.760 --> 00:59:04.549 align:start position:0%
and then you decrease this result so
that's<00:59:02.819><c> how</c><00:59:03.000><c> you</c><00:59:03.180><c> start</c><00:59:03.420><c> really</c><00:59:03.780><c> limited</c><00:59:04.260><c> and</c>

00:59:04.549 --> 00:59:04.559 align:start position:0%
that's how you start really limited and
 

00:59:04.559 --> 00:59:06.530 align:start position:0%
that's how you start really limited and
you<00:59:04.799><c> know</c><00:59:04.859><c> depending</c><00:59:05.220><c> on</c><00:59:05.339><c> the</c><00:59:05.460><c> result</c><00:59:05.579><c> you</c>

00:59:06.530 --> 00:59:06.540 align:start position:0%
you know depending on the result you
 

00:59:06.540 --> 00:59:08.150 align:start position:0%
you know depending on the result you
remove<00:59:06.780><c> the</c><00:59:07.020><c> limitation</c><00:59:07.440><c> or</c><00:59:07.799><c> you</c><00:59:07.920><c> start</c>

00:59:08.150 --> 00:59:08.160 align:start position:0%
remove the limitation or you start
 

00:59:08.160 --> 00:59:10.789 align:start position:0%
remove the limitation or you start
without<00:59:08.400><c> limitation</c><00:59:09.000><c> and</c><00:59:09.480><c> you</c><00:59:09.599><c> reduce</c><00:59:09.839><c> like</c>

00:59:10.789 --> 00:59:10.799 align:start position:0%
without limitation and you reduce like
 

00:59:10.799 --> 00:59:13.430 align:start position:0%
without limitation and you reduce like
up<00:59:11.460><c> up</c><00:59:11.819><c> to</c><00:59:12.119><c> the</c><00:59:12.240><c> point</c><00:59:12.359><c> where</c><00:59:12.599><c> you</c><00:59:12.839><c> have</c><00:59:12.960><c> a</c><00:59:13.200><c> kind</c>

00:59:13.430 --> 00:59:13.440 align:start position:0%
up up to the point where you have a kind
 

00:59:13.440 --> 00:59:15.470 align:start position:0%
up up to the point where you have a kind
of<00:59:13.559><c> like</c><00:59:13.680><c> a</c><00:59:14.040><c> value</c><00:59:14.700><c> for</c><00:59:14.940><c> which</c><00:59:15.180><c> you</c><00:59:15.299><c> feel</c>

00:59:15.470 --> 00:59:15.480 align:start position:0%
of like a value for which you feel
 

00:59:15.480 --> 00:59:17.450 align:start position:0%
of like a value for which you feel
comfortable<00:59:15.900><c> with</c><00:59:16.140><c> yeah</c><00:59:16.500><c> yeah</c><00:59:16.619><c> and</c><00:59:16.920><c> and</c><00:59:17.040><c> that</c>

00:59:17.450 --> 00:59:17.460 align:start position:0%
comfortable with yeah yeah and and that
 

00:59:17.460 --> 00:59:23.450 align:start position:0%
comfortable with yeah yeah and and that
is<00:59:17.640><c> also</c><00:59:17.819><c> related</c><00:59:18.059><c> with</c>

00:59:23.450 --> 00:59:23.460 align:start position:0%
 
 

00:59:23.460 --> 00:59:25.549 align:start position:0%
 
the if<00:59:24.059><c> we</c><00:59:24.240><c> start</c><00:59:24.420><c> with</c><00:59:24.660><c> very</c><00:59:24.900><c> large</c><00:59:25.079><c> values</c>

00:59:25.549 --> 00:59:25.559 align:start position:0%
the if we start with very large values
 

00:59:25.559 --> 00:59:28.789 align:start position:0%
the if we start with very large values
we<00:59:26.040><c> we</c><00:59:26.339><c> could</c><00:59:26.520><c> have</c><00:59:26.760><c> false</c><00:59:27.119><c> positives</c><00:59:27.540><c> but</c><00:59:28.260><c> and</c>

00:59:28.789 --> 00:59:28.799 align:start position:0%
we we could have false positives but and
 

00:59:28.799 --> 00:59:30.410 align:start position:0%
we we could have false positives but and
if<00:59:28.920><c> we</c><00:59:29.099><c> start</c><00:59:29.220><c> with</c><00:59:29.400><c> very</c><00:59:29.579><c> small</c><00:59:29.760><c> values</c><00:59:30.119><c> we</c>

00:59:30.410 --> 00:59:30.420 align:start position:0%
if we start with very small values we
 

00:59:30.420 --> 00:59:32.690 align:start position:0%
if we start with very small values we
can<00:59:30.540><c> have</c><00:59:30.720><c> a</c><00:59:30.960><c> false</c><00:59:31.559><c> negative</c><00:59:31.859><c> but</c><00:59:32.220><c> which</c><00:59:32.460><c> are</c>

00:59:32.690 --> 00:59:32.700 align:start position:0%
can have a false negative but which are
 

00:59:32.700 --> 00:59:34.430 align:start position:0%
can have a false negative but which are
the<00:59:32.880><c> ones</c><00:59:33.180><c> that</c><00:59:33.660><c> are</c><00:59:33.780><c> going</c><00:59:33.900><c> to</c><00:59:34.020><c> cause</c><00:59:34.200><c> you</c>

00:59:34.430 --> 00:59:34.440 align:start position:0%
the ones that are going to cause you
 

00:59:34.440 --> 00:59:36.710 align:start position:0%
the ones that are going to cause you
more<00:59:34.680><c> trouble</c><00:59:34.920><c> that</c><00:59:35.760><c> is</c><00:59:35.880><c> something</c><00:59:36.059><c> to</c><00:59:36.480><c> to</c>

00:59:36.710 --> 00:59:36.720 align:start position:0%
more trouble that is something to to
 

00:59:36.720 --> 00:59:39.349 align:start position:0%
more trouble that is something to to
think<00:59:37.020><c> about</c><00:59:37.260><c> it</c><00:59:37.500><c> because</c><00:59:37.680><c> if</c><00:59:38.099><c> you</c><00:59:38.280><c> miss</c><00:59:38.520><c> one's</c>

00:59:39.349 --> 00:59:39.359 align:start position:0%
think about it because if you miss one's
 

00:59:39.359 --> 00:59:42.530 align:start position:0%
think about it because if you miss one's
false<00:59:39.660><c> positive</c><00:59:40.020><c> your</c><00:59:40.920><c> your</c><00:59:41.280><c> protocol</c><00:59:41.700><c> can</c><00:59:42.240><c> be</c>

00:59:42.530 --> 00:59:42.540 align:start position:0%
false positive your your protocol can be
 

00:59:42.540 --> 00:59:45.470 align:start position:0%
false positive your your protocol can be
you<00:59:43.200><c> know</c><00:59:43.260><c> destroyed</c><00:59:43.920><c> and</c><00:59:44.339><c> if</c><00:59:44.640><c> you</c><00:59:44.760><c> miss</c><00:59:45.000><c> one</c>

00:59:45.470 --> 00:59:45.480 align:start position:0%
you know destroyed and if you miss one
 

00:59:45.480 --> 00:59:48.770 align:start position:0%
you know destroyed and if you miss one
one<00:59:45.720><c> false</c><00:59:46.140><c> negative</c><00:59:46.500><c> then</c><00:59:46.859><c> it's</c><00:59:47.099><c> okay</c>

00:59:48.770 --> 00:59:48.780 align:start position:0%
one false negative then it's okay
 

00:59:48.780 --> 00:59:50.710 align:start position:0%
one false negative then it's okay
all<00:59:49.380><c> right</c>

00:59:50.710 --> 00:59:50.720 align:start position:0%
all right
 

00:59:50.720 --> 00:59:53.809 align:start position:0%
all right
hey<00:59:51.720><c> there</c><00:59:51.960><c> in</c><00:59:52.559><c> terms</c><00:59:52.799><c> of</c><00:59:52.859><c> fuzzing</c><00:59:53.400><c> mutation</c>

00:59:53.809 --> 00:59:53.819 align:start position:0%
hey there in terms of fuzzing mutation
 

00:59:53.819 --> 00:59:57.230 align:start position:0%
hey there in terms of fuzzing mutation
uh<00:59:54.599><c> do</c><00:59:54.780><c> you</c><00:59:54.960><c> do</c><00:59:55.020><c> any</c><00:59:55.200><c> clever</c><00:59:55.559><c> things</c><00:59:55.859><c> like</c><00:59:56.460><c> uh</c>

00:59:57.230 --> 00:59:57.240 align:start position:0%
uh do you do any clever things like uh
 

00:59:57.240 --> 00:59:59.930 align:start position:0%
uh do you do any clever things like uh
say<00:59:57.480><c> this</c><00:59:57.720><c> function</c><00:59:58.020><c> has</c><00:59:58.500><c> a</c><00:59:58.980><c> constant</c><00:59:59.460><c> of</c><00:59:59.700><c> 10</c>

00:59:59.930 --> 00:59:59.940 align:start position:0%
say this function has a constant of 10
 

00:59:59.940 --> 01:00:03.589 align:start position:0%
say this function has a constant of 10
so<01:00:00.720><c> would</c><01:00:01.020><c> you</c><01:00:01.200><c> then</c><01:00:01.640><c> uh</c><01:00:02.640><c> see</c><01:00:02.940><c> the</c><01:00:03.180><c> constants</c>

01:00:03.589 --> 01:00:03.599 align:start position:0%
so would you then uh see the constants
 

01:00:03.599 --> 01:00:06.109 align:start position:0%
so would you then uh see the constants
in<01:00:04.140><c> the</c><01:00:04.619><c> the</c><01:00:04.859><c> function</c><01:00:05.220><c> and</c><01:00:05.579><c> use</c><01:00:05.760><c> that</c><01:00:05.940><c> as</c>

01:00:06.109 --> 01:00:06.119 align:start position:0%
in the the function and use that as
 

01:00:06.119 --> 01:00:08.270 align:start position:0%
in the the function and use that as
input<01:00:06.480><c> yeah</c><01:00:06.900><c> we</c><01:00:07.200><c> reuse</c><01:00:07.619><c> the</c><01:00:07.799><c> constant</c><01:00:07.980><c> forms</c>

01:00:08.270 --> 01:00:08.280 align:start position:0%
input yeah we reuse the constant forms
 

01:00:08.280 --> 01:00:10.190 align:start position:0%
input yeah we reuse the constant forms
of<01:00:08.339><c> function</c><01:00:08.579><c> and</c><01:00:08.880><c> we</c><01:00:09.059><c> will</c><01:00:09.180><c> first</c><01:00:09.480><c> I</c><01:00:09.900><c> want</c><01:00:10.020><c> the</c>

01:00:10.190 --> 01:00:10.200 align:start position:0%
of function and we will first I want the
 

01:00:10.200 --> 01:00:12.289 align:start position:0%
of function and we will first I want the
constant<01:00:10.500><c> also</c><01:00:10.859><c> like</c><01:00:11.220><c> if</c><01:00:11.400><c> you</c><01:00:11.579><c> see</c><01:00:11.760><c> 10</c><01:00:11.940><c> we</c><01:00:12.180><c> are</c>

01:00:12.289 --> 01:00:12.299 align:start position:0%
constant also like if you see 10 we are
 

01:00:12.299 --> 01:00:14.450 align:start position:0%
constant also like if you see 10 we are
going<01:00:12.420><c> to</c><01:00:12.480><c> use</c><01:00:12.599><c> 10</c><01:00:12.839><c> we</c><01:00:13.140><c> are</c><01:00:13.260><c> going</c><01:00:13.319><c> to</c><01:00:13.440><c> use</c><01:00:13.619><c> 9</c><01:00:13.920><c> 11</c>

01:00:14.450 --> 01:00:14.460 align:start position:0%
going to use 10 we are going to use 9 11
 

01:00:14.460 --> 01:00:18.890 align:start position:0%
going to use 10 we are going to use 9 11
and<01:00:15.059><c> you</c><01:00:15.299><c> know</c><01:00:15.359><c> like</c><01:00:15.540><c> uh</c><01:00:16.140><c> around</c>

01:00:18.890 --> 01:00:18.900 align:start position:0%
 
 

01:00:18.900 --> 01:00:21.770 align:start position:0%
 
uh<01:00:19.559><c> yes</c><01:00:20.160><c> there</c><01:00:20.579><c> are</c><01:00:20.760><c> some</c><01:00:20.940><c> there</c><01:00:21.359><c> are</c><01:00:21.480><c> some</c>

01:00:21.770 --> 01:00:21.780 align:start position:0%
uh yes there are some there are some
 

01:00:21.780 --> 01:00:24.309 align:start position:0%
uh yes there are some there are some
techniques<01:00:22.559><c> I</c><01:00:22.740><c> can</c><01:00:22.920><c> show</c><01:00:23.099><c> you</c><01:00:23.280><c> a</c><01:00:23.520><c> little</c><01:00:23.640><c> bit</c>

01:00:24.309 --> 01:00:24.319 align:start position:0%
techniques I can show you a little bit
 

01:00:24.319 --> 01:00:27.950 align:start position:0%
techniques I can show you a little bit
after<01:00:25.319><c> a</c><01:00:25.980><c> few</c><01:00:26.160><c> lines</c><01:00:26.880><c> of</c><01:00:27.119><c> the</c><01:00:27.359><c> code</c><01:00:27.540><c> of</c>

01:00:27.950 --> 01:00:27.960 align:start position:0%
after a few lines of the code of
 

01:00:27.960 --> 01:00:30.410 align:start position:0%
after a few lines of the code of
Akinator<01:00:28.559><c> that</c><01:00:28.680><c> shows</c><01:00:28.980><c> all</c><01:00:29.040><c> limitations</c><01:00:29.520><c> we</c>

01:00:30.410 --> 01:00:30.420 align:start position:0%
Akinator that shows all limitations we
 

01:00:30.420 --> 01:00:32.630 align:start position:0%
Akinator that shows all limitations we
have<01:00:30.660><c> mutation</c><01:00:31.260><c> interesting</c><01:00:31.680><c> mutations</c><01:00:32.099><c> on</c>

01:00:32.630 --> 01:00:32.640 align:start position:0%
have mutation interesting mutations on
 

01:00:32.640 --> 01:00:34.510 align:start position:0%
have mutation interesting mutations on
list<01:00:32.940><c> of</c><01:00:33.059><c> transactions</c><01:00:33.599><c> in</c><01:00:33.720><c> which</c><01:00:33.900><c> we</c><01:00:34.140><c> Shuffle</c>

01:00:34.510 --> 01:00:34.520 align:start position:0%
list of transactions in which we Shuffle
 

01:00:34.520 --> 01:00:37.809 align:start position:0%
list of transactions in which we Shuffle
we<01:00:35.520><c> do</c><01:00:35.700><c> uh</c><01:00:36.420><c> we</c><01:00:36.720><c> do</c><01:00:36.839><c> like</c>

01:00:37.809 --> 01:00:37.819 align:start position:0%
we do uh we do like
 

01:00:37.819 --> 01:00:41.690 align:start position:0%
we do uh we do like
splice<01:00:38.819><c> as</c><01:00:39.059><c> well</c><01:00:39.180><c> so</c><01:00:39.420><c> we</c><01:00:39.660><c> take</c><01:00:39.900><c> a</c><01:00:40.799><c> list</c><01:00:41.160><c> a</c><01:00:41.520><c> list</c>

01:00:41.690 --> 01:00:41.700 align:start position:0%
splice as well so we take a list a list
 

01:00:41.700 --> 01:00:43.609 align:start position:0%
splice as well so we take a list a list
of<01:00:41.819><c> Interest</c><01:00:41.940><c> transaction</c><01:00:42.599><c> and</c><01:00:43.079><c> another</c><01:00:43.260><c> one</c>

01:00:43.609 --> 01:00:43.619 align:start position:0%
of Interest transaction and another one
 

01:00:43.619 --> 01:00:46.430 align:start position:0%
of Interest transaction and another one
and<01:00:43.980><c> we</c><01:00:44.220><c> splice</c><01:00:44.700><c> it</c><01:00:44.880><c> on</c><01:00:45.180><c> a</c><01:00:45.359><c> random</c><01:00:45.540><c> position</c><01:00:45.780><c> so</c>

01:00:46.430 --> 01:00:46.440 align:start position:0%
and we splice it on a random position so
 

01:00:46.440 --> 01:00:48.470 align:start position:0%
and we splice it on a random position so
there<01:00:46.619><c> are</c><01:00:46.740><c> a</c><01:00:46.980><c> couple</c><01:00:47.099><c> of</c><01:00:47.220><c> fun</c><01:00:47.640><c> things</c><01:00:47.940><c> to</c><01:00:48.240><c> to</c>

01:00:48.470 --> 01:00:48.480 align:start position:0%
there are a couple of fun things to to
 

01:00:48.480 --> 01:00:50.750 align:start position:0%
there are a couple of fun things to to
look<01:00:48.720><c> at</c><01:00:48.900><c> but</c><01:00:49.260><c> uh</c><01:00:49.740><c> yeah</c><01:00:49.980><c> I</c><01:00:50.160><c> think</c><01:00:50.280><c> we</c><01:00:50.579><c> should</c>

01:00:50.750 --> 01:00:50.760 align:start position:0%
look at but uh yeah I think we should
 

01:00:50.760 --> 01:00:52.789 align:start position:0%
look at but uh yeah I think we should
move<01:00:51.480><c> on</c><01:00:51.660><c> a</c><01:00:51.839><c> little</c><01:00:51.960><c> bit</c>

01:00:52.789 --> 01:00:52.799 align:start position:0%
move on a little bit
 

01:00:52.799 --> 01:00:56.089 align:start position:0%
move on a little bit
um<01:00:52.859><c> all</c><01:00:53.280><c> right</c><01:00:53.460><c> so</c><01:00:54.359><c> as</c><01:00:54.720><c> I</c><01:00:54.900><c> was</c><01:00:55.079><c> saying</c><01:00:55.440><c> we</c><01:00:55.920><c> have</c>

01:00:56.089 --> 01:00:56.099 align:start position:0%
um all right so as I was saying we have
 

01:00:56.099 --> 01:00:58.490 align:start position:0%
um all right so as I was saying we have
this<01:00:56.520><c> uh</c><01:00:56.880><c> failing</c><01:00:57.359><c> even</c><01:00:57.900><c> if</c><01:00:58.140><c> you</c><01:00:58.319><c> don't</c>

01:00:58.490 --> 01:00:58.500 align:start position:0%
this uh failing even if you don't
 

01:00:58.500 --> 01:01:02.150 align:start position:0%
this uh failing even if you don't
understand<01:00:58.799><c> what</c><01:00:59.700><c> was</c><01:00:59.880><c> what</c><01:01:00.299><c> is</c><01:01:00.420><c> the</c><01:01:00.599><c> failure</c>

01:01:02.150 --> 01:01:02.160 align:start position:0%
understand what was what is the failure
 

01:01:02.160 --> 01:01:03.770 align:start position:0%
understand what was what is the failure
um<01:01:02.280><c> well</c><01:01:02.700><c> that</c><01:01:02.940><c> is</c><01:01:03.059><c> that</c><01:01:03.299><c> is</c><01:01:03.420><c> a</c><01:01:03.660><c> different</c>

01:01:03.770 --> 01:01:03.780 align:start position:0%
um well that is that is a different
 

01:01:03.780 --> 01:01:06.890 align:start position:0%
um well that is that is a different
there<01:01:04.319><c> is</c><01:01:04.440><c> a</c><01:01:04.559><c> different</c><01:01:04.680><c> Beast</c><01:01:05.299><c> sometimes</c><01:01:06.299><c> you</c>

01:01:06.890 --> 01:01:06.900 align:start position:0%
there is a different Beast sometimes you
 

01:01:06.900 --> 01:01:10.670 align:start position:0%
there is a different Beast sometimes you
you<01:01:07.440><c> you</c><01:01:07.500><c> have</c><01:01:08.280><c> you</c><01:01:08.579><c> put</c><01:01:08.760><c> your</c><01:01:09.059><c> your</c>

01:01:10.670 --> 01:01:10.680 align:start position:0%
you you have you put your your
 

01:01:10.680 --> 01:01:12.890 align:start position:0%
you you have you put your your
um<01:01:10.740><c> your</c><01:01:11.460><c> invariant</c><01:01:12.119><c> and</c><01:01:12.299><c> your</c><01:01:12.480><c> invariant</c>

01:01:12.890 --> 01:01:12.900 align:start position:0%
um your invariant and your invariant
 

01:01:12.900 --> 01:01:16.309 align:start position:0%
um your invariant and your invariant
feels<01:01:13.319><c> and</c><01:01:14.220><c> then</c><01:01:15.180><c> you</c><01:01:15.359><c> start</c><01:01:15.599><c> the</c><01:01:15.780><c> journey</c><01:01:16.079><c> to</c>

01:01:16.309 --> 01:01:16.319 align:start position:0%
feels and then you start the journey to
 

01:01:16.319 --> 01:01:18.950 align:start position:0%
feels and then you start the journey to
understand<01:01:16.500><c> why</c><01:01:17.160><c> it</c><01:01:17.280><c> fits</c><01:01:17.640><c> so</c><01:01:18.299><c> that's</c><01:01:18.480><c> we</c><01:01:18.780><c> are</c>

01:01:18.950 --> 01:01:18.960 align:start position:0%
understand why it fits so that's we are
 

01:01:18.960 --> 01:01:21.829 align:start position:0%
understand why it fits so that's we are
not<01:01:19.079><c> going</c><01:01:19.200><c> to</c><01:01:19.319><c> talk</c><01:01:19.500><c> about</c><01:01:19.619><c> that</c><01:01:20.040><c> you</c><01:01:20.819><c> uh</c><01:01:21.540><c> some</c>

01:01:21.829 --> 01:01:21.839 align:start position:0%
not going to talk about that you uh some
 

01:01:21.839 --> 01:01:25.849 align:start position:0%
not going to talk about that you uh some
people<01:01:21.960><c> like</c><01:01:22.380><c> to</c><01:01:22.799><c> re-u</c><01:01:24.240><c> run</c><01:01:24.960><c> We</c><01:01:25.440><c> Run</c><01:01:25.619><c> The</c>

01:01:25.849 --> 01:01:25.859 align:start position:0%
people like to re-u run We Run The
 

01:01:25.859 --> 01:01:28.789 align:start position:0%
people like to re-u run We Run The
failure<01:01:26.280><c> into</c><01:01:26.579><c> a</c><01:01:26.819><c> unit</c><01:01:27.000><c> test</c><01:01:27.359><c> to</c><01:01:28.200><c> make</c><01:01:28.500><c> sure</c>

01:01:28.789 --> 01:01:28.799 align:start position:0%
failure into a unit test to make sure
 

01:01:28.799 --> 01:01:31.069 align:start position:0%
failure into a unit test to make sure
step<01:01:29.520><c> by</c><01:01:29.640><c> step</c><01:01:29.880><c> what</c><01:01:30.180><c> is</c><01:01:30.359><c> what</c><01:01:30.540><c> is</c><01:01:30.720><c> going</c><01:01:30.839><c> on</c>

01:01:31.069 --> 01:01:31.079 align:start position:0%
step by step what is what is going on
 

01:01:31.079 --> 01:01:33.170 align:start position:0%
step by step what is what is going on
but<01:01:31.680><c> yeah</c><01:01:31.859><c> that's</c><01:01:32.040><c> that's</c><01:01:32.400><c> a</c><01:01:32.760><c> completely</c>

01:01:33.170 --> 01:01:33.180 align:start position:0%
but yeah that's that's a completely
 

01:01:33.180 --> 01:01:35.630 align:start position:0%
but yeah that's that's a completely
different<01:01:33.420><c> uh</c><01:01:34.260><c> type</c><01:01:34.500><c> of</c><01:01:34.680><c> Beast</c><01:01:35.339><c> that</c><01:01:35.520><c> is</c>

01:01:35.630 --> 01:01:35.640 align:start position:0%
different uh type of Beast that is
 

01:01:35.640 --> 01:01:38.630 align:start position:0%
different uh type of Beast that is
related<01:01:35.940><c> with</c><01:01:36.240><c> what</c><01:01:36.780><c> happened</c><01:01:36.900><c> after</c><01:01:37.339><c> and</c><01:01:38.339><c> how</c>

01:01:38.630 --> 01:01:38.640 align:start position:0%
related with what happened after and how
 

01:01:38.640 --> 01:01:41.270 align:start position:0%
related with what happened after and how
we<01:01:38.940><c> can</c><01:01:39.119><c> fix</c><01:01:39.299><c> how</c><01:01:39.720><c> we</c><01:01:39.900><c> can</c><01:01:40.079><c> fixation</c>

01:01:41.270 --> 01:01:41.280 align:start position:0%
we can fix how we can fixation
 

01:01:41.280 --> 01:01:43.190 align:start position:0%
we can fix how we can fixation
all<01:01:41.819><c> right</c><01:01:41.940><c> so</c><01:01:42.240><c> a</c><01:01:42.420><c> little</c><01:01:42.480><c> bit</c><01:01:42.660><c> about</c><01:01:42.780><c> ekin</c>

01:01:43.190 --> 01:01:43.200 align:start position:0%
all right so a little bit about ekin
 

01:01:43.200 --> 01:01:44.870 align:start position:0%
all right so a little bit about ekin
apis<01:01:43.680><c> this</c><01:01:44.040><c> is</c>

01:01:44.870 --> 01:01:44.880 align:start position:0%
apis this is
 

01:01:44.880 --> 01:01:46.910 align:start position:0%
apis this is
um<01:01:44.940><c> a</c><01:01:45.240><c> topic</c><01:01:45.540><c> that</c>

01:01:46.910 --> 01:01:46.920 align:start position:0%
um a topic that
 

01:01:46.920 --> 01:01:47.510 align:start position:0%
um a topic that
um

01:01:47.510 --> 01:01:47.520 align:start position:0%
um
 

01:01:47.520 --> 01:01:51.049 align:start position:0%
um
it's<01:01:48.240><c> uh</c><01:01:48.660><c> it's</c><01:01:49.200><c> it's</c><01:01:49.200><c> still</c><01:01:49.799><c> an</c><01:01:50.400><c> open</c><01:01:50.579><c> debate</c>

01:01:51.049 --> 01:01:51.059 align:start position:0%
it's uh it's it's still an open debate
 

01:01:51.059 --> 01:01:53.150 align:start position:0%
it's uh it's it's still an open debate
in<01:01:51.240><c> some</c><01:01:51.359><c> in</c><01:01:51.599><c> some</c><01:01:51.839><c> cases</c><01:01:52.140><c> so</c><01:01:52.559><c> what</c><01:01:52.799><c> are</c><01:01:53.040><c> the</c>

01:01:53.150 --> 01:01:53.160 align:start position:0%
in some in some cases so what are the
 

01:01:53.160 --> 01:01:56.450 align:start position:0%
in some in some cases so what are the
best<01:01:53.400><c> way</c><01:01:53.700><c> to</c><01:01:53.940><c> test</c><01:01:54.240><c> to</c><01:01:54.900><c> create</c><01:01:55.020><c> properties</c><01:01:55.619><c> so</c>

01:01:56.450 --> 01:01:56.460 align:start position:0%
best way to test to create properties so
 

01:01:56.460 --> 01:01:58.549 align:start position:0%
best way to test to create properties so
Echidna<01:01:57.119><c> supports</c><01:01:57.480><c> a</c><01:01:57.780><c> couple</c><01:01:57.900><c> different</c><01:01:58.140><c> ones</c>

01:01:58.549 --> 01:01:58.559 align:start position:0%
Echidna supports a couple different ones
 

01:01:58.559 --> 01:02:01.190 align:start position:0%
Echidna supports a couple different ones
it's<01:01:58.920><c> about</c><01:01:59.160><c> Boolean</c><01:01:59.640><c> properties</c><01:02:00.059><c> in</c><01:02:00.660><c> which</c><01:02:00.839><c> a</c>

01:02:01.190 --> 01:02:01.200 align:start position:0%
it's about Boolean properties in which a
 

01:02:01.200 --> 01:02:04.789 align:start position:0%
it's about Boolean properties in which a
function<01:02:01.760><c> uh</c><01:02:02.760><c> is</c><01:02:03.119><c> executed</c>

01:02:04.789 --> 01:02:04.799 align:start position:0%
function uh is executed
 

01:02:04.799 --> 01:02:08.030 align:start position:0%
function uh is executed
um<01:02:04.859><c> and</c><01:02:05.700><c> then</c><01:02:05.880><c> it</c><01:02:06.240><c> will</c><01:02:06.359><c> it</c><01:02:06.780><c> should</c><01:02:07.079><c> return</c><01:02:07.319><c> a</c>

01:02:08.030 --> 01:02:08.040 align:start position:0%
um and then it will it should return a
 

01:02:08.040 --> 01:02:09.950 align:start position:0%
um and then it will it should return a
Boolean<01:02:08.460><c> true</c><01:02:08.700><c> or</c><01:02:08.880><c> false</c><01:02:09.119><c> and</c><01:02:09.599><c> if</c><01:02:09.780><c> the</c>

01:02:09.950 --> 01:02:09.960 align:start position:0%
Boolean true or false and if the
 

01:02:09.960 --> 01:02:13.190 align:start position:0%
Boolean true or false and if the
function<01:02:10.260><c> reverts</c><01:02:10.920><c> for</c><01:02:11.520><c> any</c><01:02:11.760><c> reason</c><01:02:12.079><c> that</c><01:02:13.079><c> is</c>

01:02:13.190 --> 01:02:13.200 align:start position:0%
function reverts for any reason that is
 

01:02:13.200 --> 01:02:16.549 align:start position:0%
function reverts for any reason that is
the<01:02:13.500><c> same</c><01:02:13.680><c> as</c><01:02:14.220><c> returning</c><01:02:14.880><c> false</c><01:02:15.240><c> right</c><01:02:15.900><c> so</c><01:02:16.319><c> if</c>

01:02:16.549 --> 01:02:16.559 align:start position:0%
the same as returning false right so if
 

01:02:16.559 --> 01:02:19.490 align:start position:0%
the same as returning false right so if
we<01:02:16.740><c> go</c><01:02:16.920><c> back</c><01:02:17.099><c> a</c><01:02:17.460><c> little</c><01:02:17.579><c> bit</c><01:02:17.819><c> we</c><01:02:18.660><c> can</c><01:02:18.839><c> see</c><01:02:19.079><c> over</c>

01:02:19.490 --> 01:02:19.500 align:start position:0%
we go back a little bit we can see over
 

01:02:19.500 --> 01:02:22.910 align:start position:0%
we go back a little bit we can see over
there<01:02:19.760><c> error</c><01:02:20.760><c> and</c><01:02:21.119><c> recognize</c><01:02:21.599><c> op</c><01:02:22.020><c> code</c><01:02:22.260><c> that</c>

01:02:22.910 --> 01:02:22.920 align:start position:0%
there error and recognize op code that
 

01:02:22.920 --> 01:02:24.890 align:start position:0%
there error and recognize op code that
is<01:02:23.099><c> going</c><01:02:23.280><c> that</c><01:02:24.059><c> is</c><01:02:24.180><c> related</c><01:02:24.480><c> with</c><01:02:24.780><c> the</c>

01:02:24.890 --> 01:02:24.900 align:start position:0%
is going that is related with the
 

01:02:24.900 --> 01:02:28.250 align:start position:0%
is going that is related with the
assertion<01:02:25.319><c> failure</c><01:02:25.740><c> this</c><01:02:26.099><c> that</c><01:02:26.400><c> is</c><01:02:26.579><c> how</c>

01:02:28.250 --> 01:02:28.260 align:start position:0%
assertion failure this that is how
 

01:02:28.260 --> 01:02:31.190 align:start position:0%
assertion failure this that is how
um<01:02:28.380><c> on</c><01:02:29.040><c> version</c><01:02:29.280><c> of</c><01:02:29.579><c> solidity</c><01:02:30.000><c> used</c><01:02:30.299><c> to</c><01:02:30.480><c> uh</c>

01:02:31.190 --> 01:02:31.200 align:start position:0%
um on version of solidity used to uh
 

01:02:31.200 --> 01:02:33.109 align:start position:0%
um on version of solidity used to uh
have

01:02:33.109 --> 01:02:33.119 align:start position:0%
have
 

01:02:33.119 --> 01:02:36.650 align:start position:0%
have
um<01:02:33.440><c> this</c><01:02:34.440><c> uh</c><01:02:34.740><c> assertion</c><01:02:35.400><c> failures</c><01:02:35.819><c> but</c><01:02:36.299><c> if</c><01:02:36.480><c> you</c>

01:02:36.650 --> 01:02:36.660 align:start position:0%
um this uh assertion failures but if you
 

01:02:36.660 --> 01:02:38.210 align:start position:0%
um this uh assertion failures but if you
use<01:02:36.780><c> Boolean</c><01:02:37.319><c> you</c><01:02:37.559><c> will</c><01:02:37.680><c> just</c><01:02:37.740><c> say</c><01:02:37.920><c> return</c>

01:02:38.210 --> 01:02:38.220 align:start position:0%
use Boolean you will just say return
 

01:02:38.220 --> 01:02:41.510 align:start position:0%
use Boolean you will just say return
false<01:02:38.760><c> right</c><01:02:39.299><c> so</c><01:02:39.599><c> you</c><01:02:39.780><c> know</c><01:02:39.900><c> exactly</c><01:02:40.380><c> how</c><01:02:40.740><c> how</c>

01:02:41.510 --> 01:02:41.520 align:start position:0%
false right so you know exactly how how
 

01:02:41.520 --> 01:02:44.390 align:start position:0%
false right so you know exactly how how
everybody<01:02:41.819><c> fail</c><01:02:42.780><c> uh</c><01:02:43.500><c> or</c><01:02:43.740><c> it</c><01:02:43.920><c> could</c><01:02:44.040><c> be</c><01:02:44.160><c> a</c>

01:02:44.390 --> 01:02:44.400 align:start position:0%
everybody fail uh or it could be a
 

01:02:44.400 --> 01:02:46.730 align:start position:0%
everybody fail uh or it could be a
revert<01:02:44.819><c> so</c><01:02:45.000><c> you</c><01:02:45.180><c> you</c><01:02:45.420><c> say</c><01:02:45.839><c> over</c><01:02:46.020><c> there</c><01:02:46.200><c> you</c><01:02:46.619><c> see</c>

01:02:46.730 --> 01:02:46.740 align:start position:0%
revert so you you say over there you see
 

01:02:46.740 --> 01:02:49.789 align:start position:0%
revert so you you say over there you see
over<01:02:46.859><c> there</c><01:02:47.099><c> it</c><01:02:47.400><c> revert</c><01:02:47.940><c> okay</c><01:02:48.660><c> so</c><01:02:49.200><c> either</c><01:02:49.440><c> you</c>

01:02:49.789 --> 01:02:49.799 align:start position:0%
over there it revert okay so either you
 

01:02:49.799 --> 01:02:52.010 align:start position:0%
over there it revert okay so either you
do<01:02:49.980><c> Boolean</c><01:02:50.520><c> properties</c><01:02:50.940><c> which</c><01:02:51.420><c> are</c><01:02:51.780><c> the</c>

01:02:52.010 --> 01:02:52.020 align:start position:0%
do Boolean properties which are the
 

01:02:52.020 --> 01:02:54.950 align:start position:0%
do Boolean properties which are the
classic<01:02:52.400><c> way</c><01:02:53.400><c> to</c><01:02:53.579><c> define</c><01:02:53.760><c> invariants</c><01:02:54.540><c> and</c>

01:02:54.950 --> 01:02:54.960 align:start position:0%
classic way to define invariants and
 

01:02:54.960 --> 01:02:58.190 align:start position:0%
classic way to define invariants and
these<01:02:55.200><c> come</c><01:02:55.380><c> from</c><01:02:55.680><c> uh</c><01:02:56.040><c> uh</c><01:02:56.760><c> some</c><01:02:56.940><c> some</c><01:02:57.000><c> real</c><01:02:57.540><c> old</c>

01:02:58.190 --> 01:02:58.200 align:start position:0%
these come from uh uh some some real old
 

01:02:58.200 --> 01:03:00.470 align:start position:0%
these come from uh uh some some real old
techniques<01:02:58.920><c> uh</c><01:02:59.339><c> in</c><01:02:59.520><c> particular</c><01:02:59.880><c> quick</c><01:03:00.240><c> check</c>

01:03:00.470 --> 01:03:00.480 align:start position:0%
techniques uh in particular quick check
 

01:03:00.480 --> 01:03:03.349 align:start position:0%
techniques uh in particular quick check
which<01:03:01.020><c> is</c><01:03:01.200><c> which</c><01:03:01.740><c> is</c><01:03:01.980><c> a</c><01:03:02.220><c> property</c><01:03:02.940><c> based</c>

01:03:03.349 --> 01:03:03.359 align:start position:0%
which is which is a property based
 

01:03:03.359 --> 01:03:05.450 align:start position:0%
which is which is a property based
testing<01:03:03.720><c> tool</c><01:03:04.140><c> for</c><01:03:04.380><c> Haskell</c><01:03:04.980><c> and</c><01:03:05.160><c> then</c><01:03:05.280><c> a</c>

01:03:05.450 --> 01:03:05.460 align:start position:0%
testing tool for Haskell and then a
 

01:03:05.460 --> 01:03:07.970 align:start position:0%
testing tool for Haskell and then a
couple<01:03:05.520><c> of</c><01:03:05.640><c> other</c><01:03:06.000><c> languages</c><01:03:06.559><c> uh</c><01:03:07.559><c> which</c><01:03:07.799><c> was</c>

01:03:07.970 --> 01:03:07.980 align:start position:0%
couple of other languages uh which was
 

01:03:07.980 --> 01:03:11.270 align:start position:0%
couple of other languages uh which was
an<01:03:08.220><c> inspiration</c><01:03:08.640><c> for</c><01:03:09.059><c> for</c><01:03:09.660><c> for</c><01:03:09.780><c> this</c><01:03:10.440><c> then</c><01:03:11.040><c> you</c>

01:03:11.270 --> 01:03:11.280 align:start position:0%
an inspiration for for for this then you
 

01:03:11.280 --> 01:03:13.970 align:start position:0%
an inspiration for for for this then you
have<01:03:11.400><c> assertion</c><01:03:11.880><c> failure</c><01:03:12.299><c> so</c><01:03:13.020><c> every</c><01:03:13.440><c> time</c><01:03:13.680><c> you</c>

01:03:13.970 --> 01:03:13.980 align:start position:0%
have assertion failure so every time you
 

01:03:13.980 --> 01:03:17.870 align:start position:0%
have assertion failure so every time you
see<01:03:14.220><c> uh</c><01:03:15.000><c> every</c><01:03:15.540><c> time</c><01:03:15.780><c> uh</c><01:03:16.440><c> the</c><01:03:17.160><c> the</c><01:03:17.400><c> assertion</c>

01:03:17.870 --> 01:03:17.880 align:start position:0%
see uh every time uh the the assertion
 

01:03:17.880 --> 01:03:21.109 align:start position:0%
see uh every time uh the the assertion
is<01:03:18.059><c> called</c><01:03:18.240><c> with</c><01:03:18.420><c> false</c><01:03:18.900><c> that</c><01:03:19.799><c> is</c><01:03:19.980><c> uh</c><01:03:20.880><c> that</c>

01:03:21.109 --> 01:03:21.119 align:start position:0%
is called with false that is uh that
 

01:03:21.119 --> 01:03:23.870 align:start position:0%
is called with false that is uh that
will<01:03:21.240><c> fail</c><01:03:21.540><c> however</c><01:03:22.440><c> if</c><01:03:22.980><c> in</c><01:03:23.280><c> the</c><01:03:23.400><c> context</c><01:03:23.700><c> of</c>

01:03:23.870 --> 01:03:23.880 align:start position:0%
will fail however if in the context of
 

01:03:23.880 --> 01:03:26.809 align:start position:0%
will fail however if in the context of
your<01:03:24.119><c> function</c><01:03:24.540><c> you</c><01:03:25.020><c> see</c><01:03:25.200><c> a</c><01:03:25.380><c> revert</c><01:03:25.799><c> that</c><01:03:26.579><c> will</c>

01:03:26.809 --> 01:03:26.819 align:start position:0%
your function you see a revert that will
 

01:03:26.819 --> 01:03:28.789 align:start position:0%
your function you see a revert that will
not<01:03:27.119><c> make</c><01:03:27.660><c> the</c><01:03:27.900><c> function</c>

01:03:28.789 --> 01:03:28.799 align:start position:0%
not make the function
 

01:03:28.799 --> 01:03:31.450 align:start position:0%
not make the function
um the<01:03:29.040><c> property</c><01:03:29.339><c> fail</c><01:03:29.640><c> here</c><01:03:30.359><c> we</c><01:03:30.839><c> can</c><01:03:31.020><c> see</c>

01:03:31.450 --> 01:03:31.460 align:start position:0%
um the property fail here we can see
 

01:03:31.460 --> 01:03:36.770 align:start position:0%
um the property fail here we can see
that<01:03:32.460><c> if</c><01:03:33.299><c> valid</c><01:03:33.960><c> by</c><01:03:34.140><c> reverts</c><01:03:34.859><c> then</c><01:03:35.640><c> the</c><01:03:36.240><c> this</c>

01:03:36.770 --> 01:03:36.780 align:start position:0%
that if valid by reverts then the this
 

01:03:36.780 --> 01:03:39.770 align:start position:0%
that if valid by reverts then the this
Kindle<01:03:37.680><c> will</c><01:03:37.859><c> not</c><01:03:37.920><c> report</c><01:03:38.160><c> that</c><01:03:38.520><c> because</c><01:03:39.359><c> we</c>

01:03:39.770 --> 01:03:39.780 align:start position:0%
Kindle will not report that because we
 

01:03:39.780 --> 01:03:41.690 align:start position:0%
Kindle will not report that because we
are<01:03:39.960><c> using</c><01:03:40.260><c> assertion</c><01:03:40.740><c> mode</c>

01:03:41.690 --> 01:03:41.700 align:start position:0%
are using assertion mode
 

01:03:41.700 --> 01:03:45.109 align:start position:0%
are using assertion mode
fine<01:03:42.420><c> so</c><01:03:43.380><c> you</c><01:03:43.559><c> you</c><01:03:43.799><c> should</c><01:03:44.099><c> be</c><01:03:44.400><c> careful</c><01:03:44.640><c> if</c><01:03:44.940><c> you</c>

01:03:45.109 --> 01:03:45.119 align:start position:0%
fine so you you should be careful if you
 

01:03:45.119 --> 01:03:48.010 align:start position:0%
fine so you you should be careful if you
are<01:03:45.240><c> using</c><01:03:45.780><c> if</c><01:03:46.319><c> you</c><01:03:46.440><c> if</c><01:03:46.799><c> you</c><01:03:46.980><c> cannot</c><01:03:47.280><c> rewards</c>

01:03:48.010 --> 01:03:48.020 align:start position:0%
are using if you if you cannot rewards
 

01:03:48.020 --> 01:03:52.430 align:start position:0%
are using if you if you cannot rewards
uh<01:03:49.020><c> you</c><01:03:49.319><c> should</c><01:03:49.500><c> have</c><01:03:49.740><c> to</c><01:03:50.220><c> uh</c><01:03:50.940><c> either</c><01:03:51.180><c> use</c><01:03:51.599><c> the</c>

01:03:52.430 --> 01:03:52.440 align:start position:0%
uh you should have to uh either use the
 

01:03:52.440 --> 01:03:54.170 align:start position:0%
uh you should have to uh either use the
um<01:03:52.500><c> the</c><01:03:53.099><c> type</c><01:03:53.220><c> of</c>

01:03:54.170 --> 01:03:54.180 align:start position:0%
um the type of
 

01:03:54.180 --> 01:03:57.470 align:start position:0%
um the type of
um the<01:03:55.140><c> Boolean</c><01:03:55.559><c> type</c><01:03:55.740><c> or</c><01:03:56.640><c> what</c><01:03:57.059><c> you</c><01:03:57.180><c> can</c><01:03:57.299><c> do</c>

01:03:57.470 --> 01:03:57.480 align:start position:0%
um the Boolean type or what you can do
 

01:03:57.480 --> 01:03:59.630 align:start position:0%
um the Boolean type or what you can do
is<01:03:57.660><c> if</c><01:03:57.900><c> you</c><01:03:58.079><c> care</c><01:03:58.200><c> about</c><01:03:58.380><c> reverts</c><01:03:58.980><c> invalid</c><01:03:59.400><c> boy</c>

01:03:59.630 --> 01:03:59.640 align:start position:0%
is if you care about reverts invalid boy
 

01:03:59.640 --> 01:04:02.089 align:start position:0%
is if you care about reverts invalid boy
and<01:04:00.180><c> if</c><01:04:00.359><c> it's</c><01:04:00.540><c> an</c><01:04:00.660><c> external</c><01:04:01.079><c> function</c><01:04:01.440><c> you</c><01:04:02.040><c> can</c>

01:04:02.089 --> 01:04:02.099 align:start position:0%
and if it's an external function you can
 

01:04:02.099 --> 01:04:04.130 align:start position:0%
and if it's an external function you can
do<01:04:02.220><c> a</c><01:04:02.339><c> try</c><01:04:02.460><c> and</c><01:04:02.700><c> catch</c><01:04:03.000><c> and</c><01:04:03.299><c> you</c><01:04:03.540><c> can</c><01:04:03.660><c> check</c>

01:04:04.130 --> 01:04:04.140 align:start position:0%
do a try and catch and you can check
 

01:04:04.140 --> 01:04:06.250 align:start position:0%
do a try and catch and you can check
which<01:04:04.440><c> type</c><01:04:04.680><c> of</c><01:04:04.799><c> reverse</c><01:04:05.280><c> and</c><01:04:05.700><c> you</c><01:04:05.880><c> can</c><01:04:06.000><c> even</c>

01:04:06.250 --> 01:04:06.260 align:start position:0%
which type of reverse and you can even
 

01:04:06.260 --> 01:04:09.230 align:start position:0%
which type of reverse and you can even
fail<01:04:07.260><c> in</c><01:04:07.500><c> some</c><01:04:07.920><c> type</c><01:04:08.099><c> of</c><01:04:08.220><c> reverse</c><01:04:08.700><c> and</c><01:04:08.940><c> not</c><01:04:09.059><c> in</c>

01:04:09.230 --> 01:04:09.240 align:start position:0%
fail in some type of reverse and not in
 

01:04:09.240 --> 01:04:11.510 align:start position:0%
fail in some type of reverse and not in
other<01:04:09.420><c> because</c><01:04:09.780><c> you</c><01:04:10.260><c> want</c><01:04:10.500><c> the</c><01:04:10.680><c> user</c><01:04:10.980><c> to</c><01:04:11.160><c> get</c><01:04:11.339><c> a</c>

01:04:11.510 --> 01:04:11.520 align:start position:0%
other because you want the user to get a
 

01:04:11.520 --> 01:04:13.789 align:start position:0%
other because you want the user to get a
good<01:04:11.640><c> message</c><01:04:11.880><c> of</c><01:04:12.240><c> of</c><01:04:12.480><c> alert</c><01:04:12.900><c> and</c><01:04:13.200><c> perhaps</c>

01:04:13.789 --> 01:04:13.799 align:start position:0%
good message of of alert and perhaps
 

01:04:13.799 --> 01:04:15.829 align:start position:0%
good message of of alert and perhaps
other<01:04:14.099><c> type</c><01:04:14.400><c> of</c><01:04:14.460><c> reverse</c><01:04:14.880><c> you</c><01:04:15.119><c> don't</c>

01:04:15.829 --> 01:04:15.839 align:start position:0%
other type of reverse you don't
 

01:04:15.839 --> 01:04:18.349 align:start position:0%
other type of reverse you don't
you<01:04:16.680><c> you</c><01:04:16.920><c> want</c><01:04:17.160><c> to</c><01:04:17.280><c> know</c><01:04:17.400><c> so</c>

01:04:18.349 --> 01:04:18.359 align:start position:0%
you you want to know so
 

01:04:18.359 --> 01:04:20.809 align:start position:0%
you you want to know so
and<01:04:18.900><c> finally</c><01:04:19.260><c> we</c><01:04:19.559><c> have</c><01:04:19.740><c> the</c><01:04:19.920><c> DAP</c><01:04:20.220><c> and</c><01:04:20.400><c> Foundry</c>

01:04:20.809 --> 01:04:20.819 align:start position:0%
and finally we have the DAP and Foundry
 

01:04:20.819 --> 01:04:23.569 align:start position:0%
and finally we have the DAP and Foundry
API<01:04:21.500><c> in</c><01:04:22.500><c> which</c>

01:04:23.569 --> 01:04:23.579 align:start position:0%
API in which
 

01:04:23.579 --> 01:04:26.930 align:start position:0%
API in which
um<01:04:24.000><c> you</c><01:04:24.660><c> will</c><01:04:24.900><c> uh</c><01:04:25.559><c> you</c><01:04:25.859><c> will</c><01:04:26.040><c> have</c>

01:04:26.930 --> 01:04:26.940 align:start position:0%
um you will uh you will have
 

01:04:26.940 --> 01:04:30.710 align:start position:0%
um you will uh you will have
um<01:04:27.000><c> a</c><01:04:27.480><c> function</c><01:04:27.720><c> that</c><01:04:27.960><c> if</c><01:04:28.079><c> it</c><01:04:28.319><c> reverts</c><01:04:29.280><c> uh</c><01:04:30.240><c> it's</c>

01:04:30.710 --> 01:04:30.720 align:start position:0%
um a function that if it reverts uh it's
 

01:04:30.720 --> 01:04:33.230 align:start position:0%
um a function that if it reverts uh it's
going<01:04:30.960><c> to</c><01:04:31.500><c> it's</c><01:04:32.339><c> going</c><01:04:32.579><c> to</c><01:04:32.700><c> fail</c><01:04:32.880><c> and</c>

01:04:33.230 --> 01:04:33.240 align:start position:0%
going to it's going to fail and
 

01:04:33.240 --> 01:04:35.030 align:start position:0%
going to it's going to fail and
otherwise<01:04:33.599><c> it's</c><01:04:34.200><c> not</c><01:04:34.380><c> and</c><01:04:34.619><c> I</c><01:04:34.799><c> hope</c><01:04:34.920><c> The</c>

01:04:35.030 --> 01:04:35.040 align:start position:0%
otherwise it's not and I hope The
 

01:04:35.040 --> 01:04:36.250 align:start position:0%
otherwise it's not and I hope The
Foundry<01:04:35.520><c> team</c>

01:04:36.250 --> 01:04:36.260 align:start position:0%
Foundry team
 

01:04:36.260 --> 01:04:39.890 align:start position:0%
Foundry team
agree<01:04:37.260><c> with</c><01:04:37.380><c> us</c><01:04:37.619><c> and</c><01:04:37.859><c> it's</c><01:04:38.099><c> uh</c><01:04:38.940><c> is</c><01:04:39.420><c> correctly</c>

01:04:39.890 --> 01:04:39.900 align:start position:0%
agree with us and it's uh is correctly
 

01:04:39.900 --> 01:04:41.329 align:start position:0%
agree with us and it's uh is correctly
implemented

01:04:41.329 --> 01:04:41.339 align:start position:0%
implemented
 

01:04:41.339 --> 01:04:44.210 align:start position:0%
implemented
um<01:04:41.460><c> all</c><01:04:41.640><c> right</c><01:04:41.819><c> so</c><01:04:42.180><c> there</c><01:04:42.480><c> is</c><01:04:42.660><c> testing</c><01:04:43.140><c> modes</c>

01:04:44.210 --> 01:04:44.220 align:start position:0%
um all right so there is testing modes
 

01:04:44.220 --> 01:04:47.329 align:start position:0%
um all right so there is testing modes
um<01:04:44.700><c> in</c><01:04:45.540><c> the</c><01:04:45.720><c> in</c><01:04:46.559><c> the</c>

01:04:47.329 --> 01:04:47.339 align:start position:0%
um in the in the
 

01:04:47.339 --> 01:04:50.329 align:start position:0%
um in the in the
um<01:04:47.400><c> in</c><01:04:47.640><c> a</c><01:04:47.880><c> repository</c><01:04:48.420><c> so</c><01:04:49.319><c> we</c><01:04:49.559><c> can</c>

01:04:50.329 --> 01:04:50.339 align:start position:0%
um in a repository so we can
 

01:04:50.339 --> 01:04:52.609 align:start position:0%
um in a repository so we can
um<01:04:50.400><c> you</c><01:04:50.940><c> can</c><01:04:51.059><c> go</c><01:04:51.240><c> there</c><01:04:51.420><c> and</c><01:04:51.599><c> it's</c><01:04:51.720><c> explained</c><01:04:52.500><c> a</c>

01:04:52.609 --> 01:04:52.619 align:start position:0%
um you can go there and it's explained a
 

01:04:52.619 --> 01:04:54.950 align:start position:0%
um you can go there and it's explained a
little<01:04:52.680><c> bit</c><01:04:52.799><c> more</c><01:04:53.099><c> this</c><01:04:53.940><c> is</c><01:04:54.240><c> very</c><01:04:54.540><c> high</c><01:04:54.780><c> level</c>

01:04:54.950 --> 01:04:54.960 align:start position:0%
little bit more this is very high level
 

01:04:54.960 --> 01:04:57.770 align:start position:0%
little bit more this is very high level
overview<01:04:55.640><c> so</c><01:04:56.640><c> yeah</c>

01:04:57.770 --> 01:04:57.780 align:start position:0%
overview so yeah
 

01:04:57.780 --> 01:05:01.250 align:start position:0%
overview so yeah
yeah<01:04:58.380><c> yeah</c><01:04:58.680><c> so</c><01:04:58.859><c> so</c><01:04:58.980><c> so</c><01:04:59.180><c> yeah</c><01:05:00.180><c> again</c><01:05:00.960><c> that's</c>

01:05:01.250 --> 01:05:01.260 align:start position:0%
yeah yeah so so so yeah again that's
 

01:05:01.260 --> 01:05:04.069 align:start position:0%
yeah yeah so so so yeah again that's
something<01:05:01.440><c> returnable</c><01:05:02.040><c> Boolean</c><01:05:02.880><c> uh</c><01:05:03.839><c> it's</c>

01:05:04.069 --> 01:05:04.079 align:start position:0%
something returnable Boolean uh it's
 

01:05:04.079 --> 01:05:06.890 align:start position:0%
something returnable Boolean uh it's
easy<01:05:04.260><c> to</c><01:05:04.680><c> Define</c><01:05:04.940><c> uh</c><01:05:05.940><c> no</c><01:05:06.119><c> side</c><01:05:06.359><c> effects</c><01:05:06.660><c> that's</c>

01:05:06.890 --> 01:05:06.900 align:start position:0%
easy to Define uh no side effects that's
 

01:05:06.900 --> 01:05:10.309 align:start position:0%
easy to Define uh no side effects that's
that<01:05:07.200><c> that</c><01:05:07.500><c> is</c><01:05:08.160><c> so</c><01:05:08.400><c> interesting</c><01:05:09.059><c> when</c><01:05:09.780><c> you</c><01:05:09.960><c> use</c>

01:05:10.309 --> 01:05:10.319 align:start position:0%
that that is so interesting when you use
 

01:05:10.319 --> 01:05:12.349 align:start position:0%
that that is so interesting when you use
Boolean<01:05:10.740><c> properties</c><01:05:11.099><c> all</c><01:05:11.700><c> the</c><01:05:11.819><c> side</c><01:05:12.000><c> effects</c>

01:05:12.349 --> 01:05:12.359 align:start position:0%
Boolean properties all the side effects
 

01:05:12.359 --> 01:05:15.170 align:start position:0%
Boolean properties all the side effects
will<01:05:12.599><c> be</c><01:05:12.720><c> reverted</c><01:05:13.319><c> uh</c><01:05:14.280><c> before</c><01:05:14.520><c> the</c><01:05:14.819><c> execution</c>

01:05:15.170 --> 01:05:15.180 align:start position:0%
will be reverted uh before the execution
 

01:05:15.180 --> 01:05:18.230 align:start position:0%
will be reverted uh before the execution
of<01:05:15.480><c> the</c><01:05:15.720><c> actual</c><01:05:16.020><c> invariant</c><01:05:16.799><c> right</c><01:05:17.640><c> but</c><01:05:18.119><c> if</c>

01:05:18.230 --> 01:05:18.240 align:start position:0%
of the actual invariant right but if
 

01:05:18.240 --> 01:05:21.770 align:start position:0%
of the actual invariant right but if
you're<01:05:18.420><c> using</c><01:05:18.780><c> assert</c><01:05:19.640><c> the</c><01:05:20.640><c> side</c><01:05:21.119><c> effects</c><01:05:21.480><c> so</c>

01:05:21.770 --> 01:05:21.780 align:start position:0%
you're using assert the side effects so
 

01:05:21.780 --> 01:05:23.210 align:start position:0%
you're using assert the side effects so
everything<01:05:22.020><c> you</c><01:05:22.260><c> change</c><01:05:22.500><c> in</c><01:05:22.680><c> the</c><01:05:22.799><c> blockchain</c>

01:05:23.210 --> 01:05:23.220 align:start position:0%
everything you change in the blockchain
 

01:05:23.220 --> 01:05:26.750 align:start position:0%
everything you change in the blockchain
will<01:05:24.000><c> will</c><01:05:24.599><c> remain</c><01:05:25.020><c> so</c><01:05:25.619><c> this</c><01:05:26.040><c> can</c><01:05:26.400><c> be</c><01:05:26.579><c> really</c>

01:05:26.750 --> 01:05:26.760 align:start position:0%
will will remain so this can be really
 

01:05:26.760 --> 01:05:28.910 align:start position:0%
will will remain so this can be really
useful<01:05:27.119><c> for</c><01:05:27.780><c> testing</c><01:05:28.140><c> some</c><01:05:28.319><c> some</c><01:05:28.500><c> complex</c>

01:05:28.910 --> 01:05:28.920 align:start position:0%
useful for testing some some complex
 

01:05:28.920 --> 01:05:32.630 align:start position:0%
useful for testing some some complex
code<01:05:29.160><c> but</c><01:05:29.640><c> yeah</c><01:05:29.819><c> we're</c><01:05:30.000><c> not</c><01:05:30.240><c> going</c><01:05:30.359><c> to</c><01:05:30.960><c> well</c>

01:05:32.630 --> 01:05:32.640 align:start position:0%
code but yeah we're not going to well
 

01:05:32.640 --> 01:05:37.190 align:start position:0%
code but yeah we're not going to well
um<01:05:32.700><c> yeah</c><01:05:32.940><c> assertion</c><01:05:33.720><c> is</c><01:05:34.380><c> can</c><01:05:34.680><c> be</c><01:05:34.799><c> simple</c><01:05:35.040><c> to</c><01:05:35.520><c> to</c>

01:05:37.190 --> 01:05:37.200 align:start position:0%
um yeah assertion is can be simple to to
 

01:05:37.200 --> 01:05:39.650 align:start position:0%
um yeah assertion is can be simple to to
um<01:05:37.260><c> Define</c>

01:05:39.650 --> 01:05:39.660 align:start position:0%
um Define
 

01:05:39.660 --> 01:05:42.289 align:start position:0%
um Define
um<01:05:39.720><c> and</c><01:05:40.020><c> it's</c><01:05:40.200><c> it's</c><01:05:40.559><c> it</c><01:05:41.040><c> will</c><01:05:41.280><c> also</c>

01:05:42.289 --> 01:05:42.299 align:start position:0%
um and it's it's it will also
 

01:05:42.299 --> 01:05:44.809 align:start position:0%
um and it's it's it will also
um<01:05:42.420><c> it</c><01:05:42.780><c> will</c><01:05:42.960><c> also</c><01:05:43.260><c> be</c><01:05:43.680><c> easy</c><01:05:43.920><c> to</c><01:05:44.220><c> see</c><01:05:44.400><c> on</c><01:05:44.700><c> the</c>

01:05:44.809 --> 01:05:44.819 align:start position:0%
um it will also be easy to see on the
 

01:05:44.819 --> 01:05:46.609 align:start position:0%
um it will also be easy to see on the
code<01:05:44.940><c> coverage</c><01:05:45.359><c> if</c><01:05:45.720><c> it's</c><01:05:45.900><c> not</c><01:05:46.079><c> if</c><01:05:46.380><c> it's</c><01:05:46.559><c> not</c>

01:05:46.609 --> 01:05:46.619 align:start position:0%
code coverage if it's not if it's not
 

01:05:46.619 --> 01:05:50.630 align:start position:0%
code coverage if it's not if it's not
covered<01:05:47.040><c> or</c><01:05:47.460><c> or</c><01:05:48.240><c> not</c><01:05:48.420><c> however</c><01:05:48.960><c> some</c><01:05:49.680><c> code</c>

01:05:50.630 --> 01:05:50.640 align:start position:0%
covered or or not however some code
 

01:05:50.640 --> 01:05:52.789 align:start position:0%
covered or or not however some code
especially<01:05:51.299><c> some</c><01:05:51.599><c> old</c><01:05:51.839><c> piece</c><01:05:52.200><c> of</c><01:05:52.260><c> solitary</c>

01:05:52.789 --> 01:05:52.799 align:start position:0%
especially some old piece of solitary
 

01:05:52.799 --> 01:05:55.370 align:start position:0%
especially some old piece of solitary
code<01:05:52.920><c> it's</c><01:05:53.400><c> going</c><01:05:53.579><c> to</c><01:05:53.760><c> have</c><01:05:54.119><c> assertion</c><01:05:54.839><c> as</c>

01:05:55.370 --> 01:05:55.380 align:start position:0%
code it's going to have assertion as
 

01:05:55.380 --> 01:05:57.829 align:start position:0%
code it's going to have assertion as
required<01:05:55.980><c> and</c><01:05:56.460><c> that</c><01:05:56.579><c> is</c><01:05:56.819><c> a</c><01:05:57.059><c> really</c><01:05:57.420><c> bad</c><01:05:57.660><c> thing</c>

01:05:57.829 --> 01:05:57.839 align:start position:0%
required and that is a really bad thing
 

01:05:57.839 --> 01:05:59.990 align:start position:0%
required and that is a really bad thing
you<01:05:58.079><c> should</c><01:05:58.200><c> not</c><01:05:58.380><c> be</c><01:05:58.559><c> doing</c><01:05:58.740><c> it</c><01:05:59.040><c> use</c><01:05:59.640><c> require</c>

01:05:59.990 --> 01:06:00.000 align:start position:0%
you should not be doing it use require
 

01:06:00.000 --> 01:06:03.530 align:start position:0%
you should not be doing it use require
if<01:06:00.480><c> you</c><01:06:00.599><c> want</c><01:06:00.839><c> to</c><01:06:01.020><c> if</c><01:06:01.619><c> you</c><01:06:01.799><c> want</c><01:06:01.980><c> to</c><01:06:02.099><c> actually</c>

01:06:03.530 --> 01:06:03.540 align:start position:0%
if you want to if you want to actually
 

01:06:03.540 --> 01:06:05.930 align:start position:0%
if you want to if you want to actually
um<01:06:03.599><c> have</c><01:06:04.260><c> a</c><01:06:04.440><c> precondition</c><01:06:04.980><c> in</c><01:06:05.400><c> your</c><01:06:05.520><c> call</c><01:06:05.700><c> and</c>

01:06:05.930 --> 01:06:05.940 align:start position:0%
um have a precondition in your call and
 

01:06:05.940 --> 01:06:09.730 align:start position:0%
um have a precondition in your call and
use<01:06:06.119><c> assertion</c><01:06:06.660><c> for</c><01:06:06.960><c> for</c><01:06:07.260><c> testing</c>

01:06:09.730 --> 01:06:09.740 align:start position:0%
use assertion for for testing
 

01:06:09.740 --> 01:06:11.329 align:start position:0%
use assertion for for testing
okay

01:06:11.329 --> 01:06:11.339 align:start position:0%
okay
 

01:06:11.339 --> 01:06:13.130 align:start position:0%
okay
um<01:06:11.400><c> yeah</c><01:06:11.700><c> and</c><01:06:11.880><c> finally</c><01:06:12.299><c> we</c><01:06:12.480><c> have</c><01:06:12.660><c> the</c><01:06:12.900><c> The</c>

01:06:13.130 --> 01:06:13.140 align:start position:0%
um yeah and finally we have the The
 

01:06:13.140 --> 01:06:16.970 align:start position:0%
um yeah and finally we have the The
Foundry<01:06:13.740><c> and</c><01:06:14.460><c> up</c><01:06:14.819><c> uh</c><01:06:15.299><c> compatibility</c><01:06:15.900><c> the</c><01:06:16.859><c> only</c>

01:06:16.970 --> 01:06:16.980 align:start position:0%
Foundry and up uh compatibility the only
 

01:06:16.980 --> 01:06:19.549 align:start position:0%
Foundry and up uh compatibility the only
thing<01:06:17.280><c> well</c><01:06:17.700><c> uh</c><01:06:18.540><c> the</c><01:06:18.900><c> thing</c><01:06:19.020><c> that</c><01:06:19.200><c> we</c><01:06:19.440><c> don't</c>

01:06:19.549 --> 01:06:19.559 align:start position:0%
thing well uh the thing that we don't
 

01:06:19.559 --> 01:06:21.410 align:start position:0%
thing well uh the thing that we don't
support<01:06:19.859><c> is</c><01:06:20.220><c> pranks</c><01:06:20.700><c> so</c><01:06:20.819><c> we</c><01:06:21.000><c> don't</c><01:06:21.059><c> like</c><01:06:21.240><c> to</c>

01:06:21.410 --> 01:06:21.420 align:start position:0%
support is pranks so we don't like to
 

01:06:21.420 --> 01:06:24.410 align:start position:0%
support is pranks so we don't like to
prank<01:06:21.720><c> people</c><01:06:21.980><c> so</c><01:06:22.980><c> we</c><01:06:23.880><c> don't</c><01:06:23.940><c> we</c><01:06:24.240><c> don't</c>

01:06:24.410 --> 01:06:24.420 align:start position:0%
prank people so we don't we don't
 

01:06:24.420 --> 01:06:27.049 align:start position:0%
prank people so we don't we don't
support<01:06:24.539><c> pranks</c><01:06:25.260><c> however</c><01:06:26.039><c> we</c><01:06:26.280><c> support</c><01:06:26.579><c> some</c>

01:06:27.049 --> 01:06:27.059 align:start position:0%
support pranks however we support some
 

01:06:27.059 --> 01:06:29.630 align:start position:0%
support pranks however we support some
of<01:06:27.240><c> the</c><01:06:27.539><c> some</c><01:06:28.260><c> of</c><01:06:28.440><c> the</c>

01:06:29.630 --> 01:06:29.640 align:start position:0%
of the some of the
 

01:06:29.640 --> 01:06:32.870 align:start position:0%
of the some of the
um<01:06:29.780><c> uh</c><01:06:30.780><c> havm</c><01:06:31.500><c> yeah</c><01:06:31.740><c> the</c><01:06:31.980><c> havm</c><01:06:32.520><c> the</c><01:06:32.760><c> original</c>

01:06:32.870 --> 01:06:32.880 align:start position:0%
um uh havm yeah the havm the original
 

01:06:32.880 --> 01:06:35.510 align:start position:0%
um uh havm yeah the havm the original
ones<01:06:33.539><c> uh</c><01:06:34.319><c> cheat</c><01:06:34.500><c> codes</c>

01:06:35.510 --> 01:06:35.520 align:start position:0%
ones uh cheat codes
 

01:06:35.520 --> 01:06:39.650 align:start position:0%
ones uh cheat codes
you<01:06:36.119><c> should</c><01:06:36.240><c> be</c><01:06:36.359><c> careful</c><01:06:36.599><c> using</c><01:06:37.140><c> it</c><01:06:37.280><c> uh</c><01:06:38.280><c> we</c><01:06:39.180><c> uh</c>

01:06:39.650 --> 01:06:39.660 align:start position:0%
you should be careful using it uh we uh
 

01:06:39.660 --> 01:06:42.770 align:start position:0%
you should be careful using it uh we uh
we<01:06:40.079><c> know</c><01:06:40.200><c> that</c><01:06:40.440><c> there</c><01:06:40.619><c> are</c><01:06:40.799><c> some</c><01:06:41.099><c> uh</c><01:06:41.880><c> catch</c>

01:06:42.770 --> 01:06:42.780 align:start position:0%
we know that there are some uh catch
 

01:06:42.780 --> 01:06:46.190 align:start position:0%
we know that there are some uh catch
with<01:06:42.960><c> that</c><01:06:43.400><c> especially</c><01:06:44.400><c> related</c><01:06:45.000><c> uh</c><01:06:45.839><c> with</c>

01:06:46.190 --> 01:06:46.200 align:start position:0%
with that especially related uh with
 

01:06:46.200 --> 01:06:49.370 align:start position:0%
with that especially related uh with
what<01:06:46.740><c> the</c><01:06:46.920><c> solid</c><01:06:47.280><c> compiler</c><01:06:47.760><c> expects</c><01:06:48.420><c> and</c><01:06:49.140><c> what</c>

01:06:49.370 --> 01:06:49.380 align:start position:0%
what the solid compiler expects and what
 

01:06:49.380 --> 01:06:51.970 align:start position:0%
what the solid compiler expects and what
you're<01:06:49.559><c> doing</c><01:06:49.799><c> in</c><01:06:50.160><c> your</c><01:06:50.339><c> in</c><01:06:50.819><c> your</c><01:06:51.059><c> transaction</c>

01:06:51.970 --> 01:06:51.980 align:start position:0%
you're doing in your in your transaction
 

01:06:51.980 --> 01:06:55.069 align:start position:0%
you're doing in your in your transaction
so<01:06:52.980><c> please</c><01:06:53.400><c> be</c><01:06:53.640><c> careful</c><01:06:54.000><c> because</c><01:06:54.359><c> you</c><01:06:54.960><c> could</c>

01:06:55.069 --> 01:06:55.079 align:start position:0%
so please be careful because you could
 

01:06:55.079 --> 01:06:57.170 align:start position:0%
so please be careful because you could
have<01:06:55.380><c> some</c><01:06:55.740><c> uh</c>

01:06:57.170 --> 01:06:57.180 align:start position:0%
have some uh
 

01:06:57.180 --> 01:07:01.609 align:start position:0%
have some uh
um<01:06:57.299><c> some</c><01:06:57.780><c> some</c><01:06:57.780><c> issues</c><01:06:59.160><c> so</c><01:06:59.819><c> we</c><01:07:00.240><c> in</c><01:07:00.539><c> we</c><01:07:01.380><c> rarely</c>

01:07:01.609 --> 01:07:01.619 align:start position:0%
um some some issues so we in we rarely
 

01:07:01.619 --> 01:07:05.029 align:start position:0%
um some some issues so we in we rarely
use<01:07:01.920><c> cheat</c><01:07:02.220><c> codes</c><01:07:02.460><c> uh</c><01:07:03.240><c> we</c><01:07:03.420><c> try</c><01:07:03.599><c> to</c><01:07:03.780><c> keep</c><01:07:04.140><c> all</c>

01:07:05.029 --> 01:07:05.039 align:start position:0%
use cheat codes uh we try to keep all
 

01:07:05.039 --> 01:07:07.490 align:start position:0%
use cheat codes uh we try to keep all
our<01:07:05.579><c> code</c><01:07:05.940><c> as</c><01:07:06.359><c> close</c><01:07:06.599><c> at</c><01:07:06.839><c> the</c><01:07:07.020><c> solidity</c>

01:07:07.490 --> 01:07:07.500 align:start position:0%
our code as close at the solidity
 

01:07:07.500 --> 01:07:09.650 align:start position:0%
our code as close at the solidity
possible<01:07:07.980><c> so</c><01:07:08.640><c> you</c><01:07:08.760><c> can</c><01:07:08.880><c> easily</c><01:07:09.119><c> Port</c><01:07:09.359><c> it</c><01:07:09.539><c> to</c>

01:07:09.650 --> 01:07:09.660 align:start position:0%
possible so you can easily Port it to
 

01:07:09.660 --> 01:07:11.690 align:start position:0%
possible so you can easily Port it to
another<01:07:09.780><c> tool</c><01:07:10.319><c> there's</c><01:07:10.740><c> there's</c><01:07:11.280><c> little</c>

01:07:11.690 --> 01:07:11.700 align:start position:0%
another tool there's there's little
 

01:07:11.700 --> 01:07:14.270 align:start position:0%
another tool there's there's little
Akinator<01:07:12.420><c> specific</c><01:07:12.720><c> uh</c><01:07:13.619><c> but</c><01:07:13.799><c> yeah</c><01:07:13.920><c> we</c><01:07:14.160><c> are</c>

01:07:14.270 --> 01:07:14.280 align:start position:0%
Akinator specific uh but yeah we are
 

01:07:14.280 --> 01:07:16.609 align:start position:0%
Akinator specific uh but yeah we are
also<01:07:14.520><c> open</c><01:07:14.640><c> to</c><01:07:14.880><c> discussion</c><01:07:15.359><c> if</c><01:07:15.660><c> if</c><01:07:16.319><c> the</c>

01:07:16.609 --> 01:07:16.619 align:start position:0%
also open to discussion if if the
 

01:07:16.619 --> 01:07:18.470 align:start position:0%
also open to discussion if if the
community<01:07:16.799><c> agrees</c><01:07:17.400><c> that</c><01:07:17.640><c> we</c><01:07:17.819><c> need</c><01:07:18.000><c> a</c><01:07:18.180><c> specific</c>

01:07:18.470 --> 01:07:18.480 align:start position:0%
community agrees that we need a specific
 

01:07:18.480 --> 01:07:20.089 align:start position:0%
community agrees that we need a specific
cheat<01:07:18.720><c> code</c><01:07:18.960><c> or</c><01:07:19.200><c> we</c><01:07:19.319><c> need</c><01:07:19.440><c> to</c><01:07:19.559><c> avoid</c><01:07:19.859><c> some</c>

01:07:20.089 --> 01:07:20.099 align:start position:0%
cheat code or we need to avoid some
 

01:07:20.099 --> 01:07:22.190 align:start position:0%
cheat code or we need to avoid some
specific<01:07:20.460><c> chicken</c><01:07:20.700><c> then</c><01:07:21.359><c> we</c><01:07:21.599><c> are</c><01:07:21.780><c> open</c><01:07:21.960><c> to</c>

01:07:22.190 --> 01:07:22.200 align:start position:0%
specific chicken then we are open to
 

01:07:22.200 --> 01:07:23.390 align:start position:0%
specific chicken then we are open to
discuss<01:07:22.619><c> it</c>

01:07:23.390 --> 01:07:23.400 align:start position:0%
discuss it
 

01:07:23.400 --> 01:07:25.730 align:start position:0%
discuss it
all<01:07:23.940><c> right</c>

01:07:25.730 --> 01:07:25.740 align:start position:0%
all right
 

01:07:25.740 --> 01:07:29.630 align:start position:0%
all right
um<01:07:25.880><c> so</c><01:07:26.880><c> exercise</c><01:07:27.180><c> four</c><01:07:27.720><c> we're</c><01:07:28.140><c> going</c><01:07:28.440><c> to</c><01:07:28.920><c> deal</c>

01:07:29.630 --> 01:07:29.640 align:start position:0%
um so exercise four we're going to deal
 

01:07:29.640 --> 01:07:31.849 align:start position:0%
um so exercise four we're going to deal
with<01:07:29.880><c> uh</c>

01:07:31.849 --> 01:07:31.859 align:start position:0%
with uh
 

01:07:31.859 --> 01:07:34.250 align:start position:0%
with uh
um<01:07:31.980><c> one</c><01:07:32.760><c> of</c><01:07:32.940><c> the</c>

01:07:34.250 --> 01:07:34.260 align:start position:0%
um one of the
 

01:07:34.260 --> 01:07:37.670 align:start position:0%
um one of the
um<01:07:34.380><c> one</c><01:07:34.859><c> of</c><01:07:34.980><c> the</c><01:07:35.480><c> exercise</c><01:07:36.480><c> for</c><01:07:37.020><c> dumb</c>

01:07:37.670 --> 01:07:37.680 align:start position:0%
um one of the exercise for dumb
 

01:07:37.680 --> 01:07:40.789 align:start position:0%
um one of the exercise for dumb
vulnerable<01:07:38.180><c> defy</c><01:07:39.180><c> so</c><01:07:39.599><c> how</c><01:07:39.780><c> many</c><01:07:39.960><c> of</c><01:07:40.140><c> you</c><01:07:40.380><c> know</c>

01:07:40.789 --> 01:07:40.799 align:start position:0%
vulnerable defy so how many of you know
 

01:07:40.799 --> 01:07:42.710 align:start position:0%
vulnerable defy so how many of you know
this<01:07:41.339><c> uh</c>

01:07:42.710 --> 01:07:42.720 align:start position:0%
this uh
 

01:07:42.720 --> 01:07:45.589 align:start position:0%
this uh
um<01:07:42.839><c> amazing</c><01:07:43.500><c> uh</c><01:07:44.339><c> CTF</c>

01:07:45.589 --> 01:07:45.599 align:start position:0%
um amazing uh CTF
 

01:07:45.599 --> 01:07:46.970 align:start position:0%
um amazing uh CTF
um

01:07:46.970 --> 01:07:46.980 align:start position:0%
um
 

01:07:46.980 --> 01:07:50.029 align:start position:0%
um
ah<01:07:47.760><c> yeah</c><01:07:47.880><c> sorry</c><01:07:48.359><c> you</c><01:07:48.900><c> you</c><01:07:49.140><c> yeah</c><01:07:49.740><c> we're</c><01:07:49.920><c> going</c>

01:07:50.029 --> 01:07:50.039 align:start position:0%
ah yeah sorry you you yeah we're going
 

01:07:50.039 --> 01:07:51.589 align:start position:0%
ah yeah sorry you you yeah we're going
to<01:07:50.099><c> keep</c><01:07:50.220><c> it</c><01:07:50.400><c> up</c><01:07:50.520><c> yeah</c><01:07:50.760><c> yeah</c><01:07:50.819><c> we</c><01:07:51.119><c> can</c><01:07:51.240><c> yeah</c><01:07:51.420><c> we</c>

01:07:51.589 --> 01:07:51.599 align:start position:0%
to keep it up yeah yeah we can yeah we
 

01:07:51.599 --> 01:07:53.210 align:start position:0%
to keep it up yeah yeah we can yeah we
can<01:07:51.780><c> skip</c><01:07:51.900><c> it</c><01:07:52.140><c> this</c><01:07:52.260><c> is</c><01:07:52.440><c> term</c><01:07:52.680><c> so</c><01:07:52.920><c> this</c>

01:07:53.210 --> 01:07:53.220 align:start position:0%
can skip it this is term so this
 

01:07:53.220 --> 01:07:55.309 align:start position:0%
can skip it this is term so this
exercise<01:07:53.400><c> was</c><01:07:53.880><c> exactly</c><01:07:54.299><c> the</c><01:07:54.599><c> same</c><01:07:54.960><c> as</c><01:07:55.140><c> the</c>

01:07:55.309 --> 01:07:55.319 align:start position:0%
exercise was exactly the same as the
 

01:07:55.319 --> 01:07:57.289 align:start position:0%
exercise was exactly the same as the
first<01:07:55.440><c> one</c><01:07:55.619><c> but</c><01:07:55.799><c> instead</c><01:07:56.099><c> of</c><01:07:56.220><c> using</c><01:07:56.579><c> function</c>

01:07:57.289 --> 01:07:57.299 align:start position:0%
first one but instead of using function
 

01:07:57.299 --> 01:08:00.349 align:start position:0%
first one but instead of using function
uh<01:07:58.220><c> we</c><01:07:59.220><c> were</c><01:07:59.339><c> using</c><01:07:59.579><c> assertion</c><01:08:00.000><c> so</c><01:08:00.299><c> it's</c>

01:08:00.349 --> 01:08:00.359 align:start position:0%
uh we were using assertion so it's
 

01:08:00.359 --> 01:08:02.270 align:start position:0%
uh we were using assertion so it's
exactly<01:08:00.660><c> the</c><01:08:00.900><c> same</c><01:08:01.079><c> invariant</c><01:08:01.559><c> exactly</c><01:08:02.039><c> the</c>

01:08:02.270 --> 01:08:02.280 align:start position:0%
exactly the same invariant exactly the
 

01:08:02.280 --> 01:08:04.730 align:start position:0%
exactly the same invariant exactly the
same<01:08:02.460><c> setup</c><01:08:02.880><c> but</c><01:08:03.359><c> with</c><01:08:03.539><c> a</c><01:08:03.780><c> different</c><01:08:03.900><c> API</c><01:08:04.440><c> just</c>

01:08:04.730 --> 01:08:04.740 align:start position:0%
same setup but with a different API just
 

01:08:04.740 --> 01:08:06.710 align:start position:0%
same setup but with a different API just
as<01:08:05.039><c> an</c><01:08:05.160><c> example</c><01:08:05.339><c> yeah</c><01:08:05.760><c> so</c><01:08:05.940><c> we</c><01:08:06.059><c> will</c><01:08:06.180><c> go</c><01:08:06.359><c> into</c><01:08:06.480><c> a</c>

01:08:06.710 --> 01:08:06.720 align:start position:0%
as an example yeah so we will go into a
 

01:08:06.720 --> 01:08:08.750 align:start position:0%
as an example yeah so we will go into a
more<01:08:06.839><c> interesting</c><01:08:07.200><c> example</c>

01:08:08.750 --> 01:08:08.760 align:start position:0%
more interesting example
 

01:08:08.760 --> 01:08:10.309 align:start position:0%
more interesting example
um<01:08:08.880><c> but</c><01:08:09.059><c> before</c><01:08:09.240><c> that</c>

01:08:10.309 --> 01:08:10.319 align:start position:0%
um but before that
 

01:08:10.319 --> 01:08:13.010 align:start position:0%
um but before that
um<01:08:10.440><c> there</c><01:08:10.920><c> is</c><01:08:11.099><c> uh</c><01:08:11.640><c> something</c><01:08:12.180><c> that</c><01:08:12.480><c> you</c>

01:08:13.010 --> 01:08:13.020 align:start position:0%
um there is uh something that you
 

01:08:13.020 --> 01:08:14.329 align:start position:0%
um there is uh something that you
wouldn't<01:08:13.140><c> need</c><01:08:13.500><c> which</c><01:08:13.859><c> is</c><01:08:13.980><c> called</c><01:08:14.160><c> the</c>

01:08:14.329 --> 01:08:14.339 align:start position:0%
wouldn't need which is called the
 

01:08:14.339 --> 01:08:16.550 align:start position:0%
wouldn't need which is called the
multi-aba<01:08:15.059><c> mode</c>

01:08:16.550 --> 01:08:16.560 align:start position:0%
multi-aba mode
 

01:08:16.560 --> 01:08:19.970 align:start position:0%
multi-aba mode
um so<01:08:17.120><c> we</c><01:08:18.120><c> usually</c><01:08:18.480><c> usually</c><01:08:18.960><c> testing</c><01:08:19.500><c> tools</c>

01:08:19.970 --> 01:08:19.980 align:start position:0%
um so we usually usually testing tools
 

01:08:19.980 --> 01:08:22.970 align:start position:0%
um so we usually usually testing tools
take<01:08:20.339><c> a</c><01:08:20.880><c> specific</c><01:08:21.120><c> contract</c><01:08:21.719><c> as</c><01:08:22.500><c> your</c><01:08:22.799><c> main</c>

01:08:22.970 --> 01:08:22.980 align:start position:0%
take a specific contract as your main
 

01:08:22.980 --> 01:08:26.090 align:start position:0%
take a specific contract as your main
contract<01:08:23.339><c> to</c><01:08:23.520><c> interact</c><01:08:23.940><c> so</c><01:08:24.779><c> in</c><01:08:25.319><c> in</c><01:08:25.500><c> the</c>

01:08:26.090 --> 01:08:26.100 align:start position:0%
contract to interact so in in the
 

01:08:26.100 --> 01:08:29.329 align:start position:0%
contract to interact so in in the
default<01:08:26.460><c> mode</c><01:08:26.640><c> echina</c><01:08:27.299><c> will</c><01:08:27.660><c> only</c><01:08:28.500><c> target</c><01:08:28.859><c> a</c>

01:08:29.329 --> 01:08:29.339 align:start position:0%
default mode echina will only target a
 

01:08:29.339 --> 01:08:31.010 align:start position:0%
default mode echina will only target a
specific<01:08:29.520><c> contract</c><01:08:29.940><c> that</c><01:08:30.120><c> you</c><01:08:30.299><c> can</c><01:08:30.420><c> put</c><01:08:30.660><c> in</c><01:08:30.779><c> on</c>

01:08:31.010 --> 01:08:31.020 align:start position:0%
specific contract that you can put in on
 

01:08:31.020 --> 01:08:33.110 align:start position:0%
specific contract that you can put in on
on<01:08:31.199><c> your</c><01:08:31.500><c> command</c><01:08:31.920><c> line</c><01:08:31.980><c> or</c><01:08:32.520><c> if</c><01:08:32.640><c> you</c><01:08:32.880><c> have</c><01:08:32.940><c> only</c>

01:08:33.110 --> 01:08:33.120 align:start position:0%
on your command line or if you have only
 

01:08:33.120 --> 01:08:35.150 align:start position:0%
on your command line or if you have only
one<01:08:33.359><c> contract</c><01:08:33.660><c> you</c><01:08:33.839><c> will</c><01:08:34.020><c> use</c><01:08:34.319><c> the</c><01:08:34.620><c> first</c><01:08:34.980><c> one</c>

01:08:35.150 --> 01:08:35.160 align:start position:0%
one contract you will use the first one
 

01:08:35.160 --> 01:08:36.890 align:start position:0%
one contract you will use the first one
right<01:08:35.880><c> but</c><01:08:36.239><c> there</c><01:08:36.359><c> is</c><01:08:36.540><c> something</c><01:08:36.660><c> called</c>

01:08:36.890 --> 01:08:36.900 align:start position:0%
right but there is something called
 

01:08:36.900 --> 01:08:40.370 align:start position:0%
right but there is something called
multi-avi<01:08:37.620><c> that</c><01:08:37.859><c> would</c><01:08:38.100><c> call</c><01:08:38.540><c> every</c><01:08:39.540><c> every</c>

01:08:40.370 --> 01:08:40.380 align:start position:0%
multi-avi that would call every every
 

01:08:40.380 --> 01:08:42.950 align:start position:0%
multi-avi that would call every every
contract<01:08:41.160><c> that</c><01:08:41.460><c> is</c><01:08:41.580><c> deployed</c><01:08:42.120><c> after</c><01:08:42.660><c> the</c>

01:08:42.950 --> 01:08:42.960 align:start position:0%
contract that is deployed after the
 

01:08:42.960 --> 01:08:45.530 align:start position:0%
contract that is deployed after the
Constructor<01:08:43.380><c> that</c><01:08:44.160><c> you</c><01:08:44.400><c> have</c><01:08:44.520><c> Avi</c><01:08:45.000><c> right</c><01:08:45.299><c> so</c>

01:08:45.530 --> 01:08:45.540 align:start position:0%
Constructor that you have Avi right so
 

01:08:45.540 --> 01:08:47.510 align:start position:0%
Constructor that you have Avi right so
if<01:08:45.719><c> you</c><01:08:45.779><c> deploy</c><01:08:46.080><c> something</c><01:08:46.319><c> in</c><01:08:46.560><c> bike</c><01:08:46.679><c> in</c><01:08:46.920><c> by</c>

01:08:47.510 --> 01:08:47.520 align:start position:0%
if you deploy something in bike in by
 

01:08:47.520 --> 01:08:49.910 align:start position:0%
if you deploy something in bike in by
code<01:08:47.819><c> directly</c><01:08:48.239><c> and</c><01:08:48.660><c> you</c><01:08:48.779><c> don't</c><01:08:49.020><c> have</c><01:08:49.140><c> Avi</c><01:08:49.560><c> in</c>

01:08:49.910 --> 01:08:49.920 align:start position:0%
code directly and you don't have Avi in
 

01:08:49.920 --> 01:08:51.470 align:start position:0%
code directly and you don't have Avi in
the<01:08:50.040><c> won't</c><01:08:50.160><c> be</c><01:08:50.279><c> able</c><01:08:50.460><c> to</c><01:08:50.580><c> call</c><01:08:50.940><c> it</c><01:08:51.120><c> because</c><01:08:51.299><c> it</c>

01:08:51.470 --> 01:08:51.480 align:start position:0%
the won't be able to call it because it
 

01:08:51.480 --> 01:08:53.990 align:start position:0%
the won't be able to call it because it
doesn't<01:08:51.600><c> know</c><01:08:51.960><c> what</c><01:08:52.380><c> is</c><01:08:52.500><c> what</c><01:08:52.859><c> is</c><01:08:52.980><c> there</c><01:08:53.160><c> but</c>

01:08:53.990 --> 01:08:54.000 align:start position:0%
doesn't know what is what is there but
 

01:08:54.000 --> 01:08:56.570 align:start position:0%
doesn't know what is what is there but
if<01:08:54.600><c> you</c><01:08:54.719><c> if</c><01:08:55.020><c> you</c><01:08:55.259><c> deployed</c><01:08:55.799><c> a</c><01:08:56.279><c> couple</c><01:08:56.339><c> of</c>

01:08:56.570 --> 01:08:56.580 align:start position:0%
if you if you deployed a couple of
 

01:08:56.580 --> 01:08:59.689 align:start position:0%
if you if you deployed a couple of
tokens<01:08:57.239><c> and</c><01:08:57.960><c> several</c><01:08:58.620><c> contracts</c><01:08:59.100><c> and</c><01:08:59.400><c> you</c><01:08:59.520><c> use</c>

01:08:59.689 --> 01:08:59.699 align:start position:0%
tokens and several contracts and you use
 

01:08:59.699 --> 01:09:02.450 align:start position:0%
tokens and several contracts and you use
multi<01:09:00.060><c> API</c><01:09:00.480><c> Echidna</c><01:09:01.380><c> will</c><01:09:01.500><c> call</c><01:09:01.679><c> any</c><01:09:01.980><c> function</c>

01:09:02.450 --> 01:09:02.460 align:start position:0%
multi API Echidna will call any function
 

01:09:02.460 --> 01:09:05.570 align:start position:0%
multi API Echidna will call any function
in<01:09:03.000><c> any</c><01:09:03.179><c> deploy</c><01:09:03.600><c> contract</c><01:09:04.080><c> uh</c><01:09:04.920><c> after</c><01:09:05.160><c> after</c>

01:09:05.570 --> 01:09:05.580 align:start position:0%
in any deploy contract uh after after
 

01:09:05.580 --> 01:09:08.930 align:start position:0%
in any deploy contract uh after after
the<01:09:06.120><c> the</c><01:09:06.540><c> end</c><01:09:07.140><c> of</c><01:09:07.319><c> the</c><01:09:07.380><c> Constructor</c><01:09:07.799><c> so</c><01:09:08.640><c> we</c>

01:09:08.930 --> 01:09:08.940 align:start position:0%
the the end of the Constructor so we
 

01:09:08.940 --> 01:09:10.970 align:start position:0%
the the end of the Constructor so we
will<01:09:09.179><c> need</c><01:09:09.540><c> these</c><01:09:10.140><c> in</c><01:09:10.259><c> order</c><01:09:10.440><c> to</c><01:09:10.620><c> deal</c><01:09:10.799><c> with</c>

01:09:10.970 --> 01:09:10.980 align:start position:0%
will need these in order to deal with
 

01:09:10.980 --> 01:09:13.430 align:start position:0%
will need these in order to deal with
the<01:09:11.160><c> next</c><01:09:11.279><c> example</c><01:09:11.759><c> because</c><01:09:12.000><c> sometimes</c><01:09:12.600><c> the</c>

01:09:13.430 --> 01:09:13.440 align:start position:0%
the next example because sometimes the
 

01:09:13.440 --> 01:09:16.070 align:start position:0%
the next example because sometimes the
the<01:09:13.920><c> the</c><01:09:14.100><c> the</c><01:09:14.580><c> debug</c><01:09:15.299><c> that</c><01:09:15.480><c> you</c><01:09:15.660><c> want</c><01:09:15.900><c> to</c>

01:09:16.070 --> 01:09:16.080 align:start position:0%
the the the debug that you want to
 

01:09:16.080 --> 01:09:18.709 align:start position:0%
the the the debug that you want to
detect<01:09:16.620><c> it</c><01:09:17.160><c> doesn't</c><01:09:17.279><c> depend</c><01:09:17.759><c> on</c><01:09:18.179><c> the</c><01:09:18.359><c> state</c><01:09:18.600><c> of</c>

01:09:18.709 --> 01:09:18.719 align:start position:0%
detect it doesn't depend on the state of
 

01:09:18.719 --> 01:09:20.269 align:start position:0%
detect it doesn't depend on the state of
one<01:09:18.900><c> contract</c><01:09:19.319><c> it</c><01:09:19.500><c> depends</c><01:09:19.739><c> on</c><01:09:19.799><c> the</c><01:09:19.920><c> state</c><01:09:20.100><c> of</c>

01:09:20.269 --> 01:09:20.279 align:start position:0%
one contract it depends on the state of
 

01:09:20.279 --> 01:09:23.269 align:start position:0%
one contract it depends on the state of
many<01:09:20.460><c> contracts</c><01:09:21.080><c> and</c><01:09:22.080><c> in</c><01:09:22.440><c> that</c><01:09:22.620><c> case</c><01:09:22.799><c> you</c><01:09:23.160><c> can</c>

01:09:23.269 --> 01:09:23.279 align:start position:0%
many contracts and in that case you can
 

01:09:23.279 --> 01:09:25.729 align:start position:0%
many contracts and in that case you can
you<01:09:23.940><c> can</c><01:09:24.179><c> be</c><01:09:24.420><c> surprised</c><01:09:24.900><c> by</c><01:09:25.140><c> the</c><01:09:25.319><c> fact</c><01:09:25.440><c> that</c>

01:09:25.729 --> 01:09:25.739 align:start position:0%
you can be surprised by the fact that
 

01:09:25.739 --> 01:09:28.070 align:start position:0%
you can be surprised by the fact that
changing<01:09:26.520><c> the</c><01:09:26.699><c> state</c><01:09:26.940><c> in</c><01:09:27.299><c> another</c><01:09:27.480><c> contract</c>

01:09:28.070 --> 01:09:28.080 align:start position:0%
changing the state in another contract
 

01:09:28.080 --> 01:09:30.950 align:start position:0%
changing the state in another contract
can<01:09:28.859><c> break</c><01:09:29.460><c> your</c><01:09:29.699><c> your</c><01:09:30.179><c> property</c><01:09:30.600><c> and</c>

01:09:30.950 --> 01:09:30.960 align:start position:0%
can break your your property and
 

01:09:30.960 --> 01:09:33.050 align:start position:0%
can break your your property and
definitely<01:09:31.319><c> we</c><01:09:31.560><c> want</c><01:09:31.739><c> to</c><01:09:31.859><c> avoid</c><01:09:32.219><c> that</c>

01:09:33.050 --> 01:09:33.060 align:start position:0%
definitely we want to avoid that
 

01:09:33.060 --> 01:09:34.849 align:start position:0%
definitely we want to avoid that
Okay<01:09:33.779><c> so</c>

01:09:34.849 --> 01:09:34.859 align:start position:0%
Okay so
 

01:09:34.859 --> 01:09:37.849 align:start position:0%
Okay so
uh<01:09:35.699><c> again</c><01:09:35.880><c> how</c><01:09:36.179><c> many</c><01:09:36.299><c> of</c><01:09:36.480><c> you</c><01:09:36.660><c> know</c><01:09:36.960><c> about</c><01:09:37.259><c> them</c>

01:09:37.849 --> 01:09:37.859 align:start position:0%
uh again how many of you know about them
 

01:09:37.859 --> 01:09:39.769 align:start position:0%
uh again how many of you know about them
vulnerable<01:09:38.279><c> defy</c>

01:09:39.769 --> 01:09:39.779 align:start position:0%
vulnerable defy
 

01:09:39.779 --> 01:09:42.709 align:start position:0%
vulnerable defy
okay<01:09:40.380><c> a</c><01:09:40.739><c> good</c><01:09:41.040><c> number</c><01:09:41.160><c> and</c><01:09:41.940><c> did</c><01:09:42.179><c> you</c><01:09:42.359><c> actually</c>

01:09:42.709 --> 01:09:42.719 align:start position:0%
okay a good number and did you actually
 

01:09:42.719 --> 01:09:44.390 align:start position:0%
okay a good number and did you actually
well<01:09:43.380><c> this</c><01:09:43.560><c> is</c><01:09:43.679><c> these</c><01:09:43.980><c> are</c><01:09:44.100><c> the</c><01:09:44.279><c> first</c>

01:09:44.390 --> 01:09:44.400 align:start position:0%
well this is these are the first
 

01:09:44.400 --> 01:09:47.990 align:start position:0%
well this is these are the first
exercise<01:09:44.699><c> the</c><01:09:45.120><c> first</c><01:09:45.420><c> the</c><01:09:45.719><c> first</c><01:09:46.020><c> two</c><01:09:46.400><c> uh</c><01:09:47.400><c> so</c><01:09:47.699><c> I</c>

01:09:47.990 --> 01:09:48.000 align:start position:0%
exercise the first the first two uh so I
 

01:09:48.000 --> 01:09:51.110 align:start position:0%
exercise the first the first two uh so I
hope<01:09:48.179><c> that</c><01:09:48.540><c> uh</c><01:09:49.380><c> uh</c><01:09:50.040><c> people</c><01:09:50.160><c> know</c><01:09:50.400><c> so</c><01:09:50.640><c> if</c><01:09:50.940><c> you</c>

01:09:51.110 --> 01:09:51.120 align:start position:0%
hope that uh uh people know so if you
 

01:09:51.120 --> 01:09:53.870 align:start position:0%
hope that uh uh people know so if you
know<01:09:51.299><c> this</c><01:09:51.600><c> this</c><01:09:51.960><c> how</c><01:09:52.319><c> to</c><01:09:52.500><c> solve</c><01:09:52.799><c> it</c><01:09:52.920><c> you</c>

01:09:53.870 --> 01:09:53.880 align:start position:0%
know this this how to solve it you
 

01:09:53.880 --> 01:09:56.209 align:start position:0%
know this this how to solve it you
should<01:09:54.239><c> uh</c><01:09:54.719><c> it's</c><01:09:55.020><c> going</c><01:09:55.140><c> to</c><01:09:55.320><c> be</c><01:09:55.440><c> even</c><01:09:55.739><c> easier</c>

01:09:56.209 --> 01:09:56.219 align:start position:0%
should uh it's going to be even easier
 

01:09:56.219 --> 01:09:58.310 align:start position:0%
should uh it's going to be even easier
uh<01:09:56.940><c> for</c><01:09:57.120><c> you</c><01:09:57.239><c> what</c><01:09:57.480><c> we're</c><01:09:57.600><c> going</c><01:09:57.780><c> to</c><01:09:57.900><c> do</c><01:09:58.080><c> is</c>

01:09:58.310 --> 01:09:58.320 align:start position:0%
uh for you what we're going to do is
 

01:09:58.320 --> 01:10:02.209 align:start position:0%
uh for you what we're going to do is
we're<01:09:58.980><c> going</c><01:09:59.280><c> to</c><01:09:59.520><c> uh</c><01:10:00.480><c> take</c><01:10:00.780><c> a</c><01:10:00.900><c> look</c><01:10:01.020><c> of</c><01:10:01.260><c> this</c>

01:10:02.209 --> 01:10:02.219 align:start position:0%
we're going to uh take a look of this
 

01:10:02.219 --> 01:10:04.669 align:start position:0%
we're going to uh take a look of this
um<01:10:02.280><c> sample</c><01:10:02.880><c> so</c><01:10:03.120><c> yeah</c>

01:10:04.669 --> 01:10:04.679 align:start position:0%
um sample so yeah
 

01:10:04.679 --> 01:10:06.950 align:start position:0%
um sample so yeah
I<01:10:05.520><c> assume</c><01:10:06.000><c> that</c><01:10:06.060><c> we</c><01:10:06.300><c> already</c><01:10:06.420><c> you</c><01:10:06.719><c> already</c>

01:10:06.950 --> 01:10:06.960 align:start position:0%
I assume that we already you already
 

01:10:06.960 --> 01:10:08.750 align:start position:0%
I assume that we already you already
have<01:10:07.140><c> a</c><01:10:07.320><c> code</c>

01:10:08.750 --> 01:10:08.760 align:start position:0%
have a code
 

01:10:08.760 --> 01:10:10.130 align:start position:0%
have a code
so

01:10:10.130 --> 01:10:10.140 align:start position:0%
so
 

01:10:10.140 --> 01:10:11.810 align:start position:0%
so
um<01:10:10.199><c> is</c><01:10:10.620><c> the</c>

01:10:11.810 --> 01:10:11.820 align:start position:0%
um is the
 

01:10:11.820 --> 01:10:16.669 align:start position:0%
um is the
exercise<01:10:12.800><c> the</c><01:10:13.800><c> the</c><01:10:14.100><c> naive</c><01:10:14.460><c> receiver</c><01:10:14.880><c> one</c>

01:10:16.669 --> 01:10:16.679 align:start position:0%
exercise the the naive receiver one
 

01:10:16.679 --> 01:10:19.550 align:start position:0%
exercise the the naive receiver one
um<01:10:16.860><c> so</c><01:10:17.340><c> what</c><01:10:17.580><c> we</c><01:10:17.760><c> want</c><01:10:18.000><c> to</c><01:10:18.179><c> do</c><01:10:18.360><c> is</c>

01:10:19.550 --> 01:10:19.560 align:start position:0%
um so what we want to do is
 

01:10:19.560 --> 01:10:22.430 align:start position:0%
um so what we want to do is
we<01:10:19.980><c> want</c><01:10:20.100><c> to</c><01:10:20.219><c> be</c><01:10:20.280><c> able</c><01:10:20.400><c> to</c><01:10:20.580><c> drain</c>

01:10:22.430 --> 01:10:22.440 align:start position:0%
we want to be able to drain
 

01:10:22.440 --> 01:10:26.810 align:start position:0%
we want to be able to drain
um<01:10:22.620><c> the</c><01:10:23.340><c> the</c><01:10:23.640><c> funds</c><01:10:24.300><c> in</c><01:10:24.900><c> Flash</c><01:10:25.140><c> loan</c><01:10:25.620><c> receiver</c>

01:10:26.810 --> 01:10:26.820 align:start position:0%
um the the funds in Flash loan receiver
 

01:10:26.820 --> 01:10:29.270 align:start position:0%
um the the funds in Flash loan receiver
right<01:10:27.300><c> just</c><01:10:27.780><c> to</c><01:10:28.080><c> give</c><01:10:28.260><c> like</c><01:10:28.500><c> a</c><01:10:28.800><c> bit</c><01:10:29.159><c> of</c>

01:10:29.270 --> 01:10:29.280 align:start position:0%
right just to give like a bit of
 

01:10:29.280 --> 01:10:32.090 align:start position:0%
right just to give like a bit of
description<01:10:29.640><c> of</c><01:10:29.940><c> the</c><01:10:30.060><c> of</c><01:10:30.300><c> the</c><01:10:30.600><c> challenge</c>

01:10:32.090 --> 01:10:32.100 align:start position:0%
description of the of the challenge
 

01:10:32.100 --> 01:10:34.010 align:start position:0%
description of the of the challenge
um<01:10:32.159><c> here</c><01:10:32.400><c> you</c><01:10:32.520><c> have</c><01:10:32.640><c> two</c><01:10:32.880><c> contract</c><01:10:33.300><c> you</c><01:10:33.840><c> have</c>

01:10:34.010 --> 01:10:34.020 align:start position:0%
um here you have two contract you have
 

01:10:34.020 --> 01:10:35.030 align:start position:0%
um here you have two contract you have
the<01:10:34.199><c> naive</c>

01:10:35.030 --> 01:10:35.040 align:start position:0%
the naive
 

01:10:35.040 --> 01:10:37.250 align:start position:0%
the naive
um<01:10:35.100><c> we</c><01:10:35.699><c> see</c><01:10:35.940><c> the</c><01:10:36.060><c> Orlando</c><01:10:36.179><c> pool</c><01:10:36.719><c> which</c>

01:10:37.250 --> 01:10:37.260 align:start position:0%
um we see the Orlando pool which
 

01:10:37.260 --> 01:10:41.570 align:start position:0%
um we see the Orlando pool which
basically<01:10:37.739><c> yeah</c><01:10:38.159><c> yeah</c><01:10:38.699><c> it's</c><01:10:39.179><c> it's</c><01:10:39.420><c> over</c><01:10:39.840><c> there</c>

01:10:41.570 --> 01:10:41.580 align:start position:0%
basically yeah yeah it's it's over there
 

01:10:41.580 --> 01:10:43.370 align:start position:0%
basically yeah yeah it's it's over there
um I<01:10:42.000><c> can</c><01:10:42.120><c> allow</c><01:10:42.480><c> you</c><01:10:42.540><c> to</c><01:10:42.719><c> take</c><01:10:42.840><c> a</c><01:10:43.020><c> Flash</c><01:10:43.140><c> run</c>

01:10:43.370 --> 01:10:43.380 align:start position:0%
um I can allow you to take a Flash run
 

01:10:43.380 --> 01:10:45.950 align:start position:0%
um I can allow you to take a Flash run
for<01:10:43.620><c> a</c><01:10:43.800><c> fee</c><01:10:43.980><c> and</c><01:10:44.760><c> you</c><01:10:44.940><c> have</c><01:10:45.060><c> a</c><01:10:45.179><c> second</c><01:10:45.360><c> contract</c>

01:10:45.950 --> 01:10:45.960 align:start position:0%
for a fee and you have a second contract
 

01:10:45.960 --> 01:10:49.189 align:start position:0%
for a fee and you have a second contract
which<01:10:46.620><c> is</c><01:10:46.739><c> a</c><01:10:46.920><c> user</c><01:10:47.340><c> uh</c><01:10:48.120><c> contract</c><01:10:48.480><c> that</c><01:10:49.080><c> is</c>

01:10:49.189 --> 01:10:49.199 align:start position:0%
which is a user uh contract that is
 

01:10:49.199 --> 01:10:52.669 align:start position:0%
which is a user uh contract that is
going<01:10:49.380><c> to</c><01:10:49.500><c> interact</c><01:10:49.920><c> with</c><01:10:50.159><c> a</c><01:10:50.640><c> pool</c><01:10:51.440><c> and</c><01:10:52.440><c> the</c>

01:10:52.669 --> 01:10:52.679 align:start position:0%
going to interact with a pool and the
 

01:10:52.679 --> 01:10:53.930 align:start position:0%
going to interact with a pool and the
contract<01:10:52.920><c> is</c><01:10:53.100><c> going</c><01:10:53.280><c> to</c><01:10:53.340><c> be</c><01:10:53.460><c> the</c><01:10:53.580><c> user</c>

01:10:53.930 --> 01:10:53.940 align:start position:0%
contract is going to be the user
 

01:10:53.940 --> 01:10:55.250 align:start position:0%
contract is going to be the user
contract<01:10:54.239><c> is</c><01:10:54.360><c> going</c><01:10:54.540><c> to</c><01:10:54.600><c> be</c><01:10:54.719><c> deployed</c><01:10:55.140><c> with</c>

01:10:55.250 --> 01:10:55.260 align:start position:0%
contract is going to be deployed with
 

01:10:55.260 --> 01:10:57.410 align:start position:0%
contract is going to be deployed with
some<01:10:55.440><c> fund</c><01:10:55.860><c> inside</c><01:10:56.040><c> and</c><01:10:56.760><c> the</c><01:10:56.880><c> girl</c><01:10:57.060><c> is</c><01:10:57.239><c> going</c>

01:10:57.410 --> 01:10:57.420 align:start position:0%
some fund inside and the girl is going
 

01:10:57.420 --> 01:11:00.350 align:start position:0%
some fund inside and the girl is going
to<01:10:57.540><c> try</c><01:10:57.780><c> to</c><01:10:57.960><c> see</c><01:10:58.260><c> if</c><01:10:58.980><c> it's</c><01:10:59.159><c> possible</c><01:10:59.640><c> for</c><01:11:00.120><c> this</c>

01:11:00.350 --> 01:11:00.360 align:start position:0%
to try to see if it's possible for this
 

01:11:00.360 --> 01:11:01.910 align:start position:0%
to try to see if it's possible for this
specific<01:11:00.659><c> contract</c><01:11:01.080><c> from</c><01:11:01.320><c> the</c><01:11:01.440><c> user</c><01:11:01.620><c> to</c><01:11:01.800><c> be</c>

01:11:01.910 --> 01:11:01.920 align:start position:0%
specific contract from the user to be
 

01:11:01.920 --> 01:11:03.229 align:start position:0%
specific contract from the user to be
joined

01:11:03.229 --> 01:11:03.239 align:start position:0%
joined
 

01:11:03.239 --> 01:11:09.110 align:start position:0%
joined
exactly<01:11:03.960><c> so</c>

01:11:09.110 --> 01:11:09.120 align:start position:0%
 
 

01:11:09.120 --> 01:11:13.970 align:start position:0%
 
uh<01:11:09.960><c> we</c><01:11:10.320><c> we</c><01:11:10.620><c> want</c><01:11:10.920><c> you</c><01:11:11.040><c> to</c><01:11:11.340><c> review</c><01:11:11.940><c> the</c><01:11:12.480><c> the</c>

01:11:13.970 --> 01:11:13.980 align:start position:0%
uh we we want you to review the the
 

01:11:13.980 --> 01:11:16.250 align:start position:0%
uh we we want you to review the the
um<01:11:14.040><c> the</c><01:11:14.340><c> exercise</c><01:11:14.520><c> if</c><01:11:15.060><c> you</c><01:11:15.179><c> have</c><01:11:15.360><c> already</c><01:11:15.600><c> did</c>

01:11:16.250 --> 01:11:16.260 align:start position:0%
um the exercise if you have already did
 

01:11:16.260 --> 01:11:19.430 align:start position:0%
um the exercise if you have already did
it<01:11:16.500><c> it</c><01:11:17.159><c> requires</c><01:11:18.000><c> you</c><01:11:18.060><c> to</c><01:11:18.239><c> send</c><01:11:18.480><c> some</c><01:11:18.900><c> some</c>

01:11:19.430 --> 01:11:19.440 align:start position:0%
it it requires you to send some some
 

01:11:19.440 --> 01:11:22.910 align:start position:0%
it it requires you to send some some
some<01:11:19.560><c> some</c><01:11:19.920><c> number</c><01:11:20.580><c> of</c><01:11:20.760><c> transactions</c><01:11:21.360><c> so</c><01:11:22.260><c> in</c>

01:11:22.910 --> 01:11:22.920 align:start position:0%
some some number of transactions so in
 

01:11:22.920 --> 01:11:24.350 align:start position:0%
some some number of transactions so in
this<01:11:23.040><c> case</c><01:11:23.219><c> we</c><01:11:23.580><c> are</c><01:11:23.699><c> going</c><01:11:23.820><c> to</c><01:11:24.000><c> prepare</c>

01:11:24.350 --> 01:11:24.360 align:start position:0%
this case we are going to prepare
 

01:11:24.360 --> 01:11:26.649 align:start position:0%
this case we are going to prepare
everything<01:11:24.600><c> for</c><01:11:25.020><c> a</c><01:11:25.199><c> kidnap</c><01:11:25.679><c> to</c><01:11:25.980><c> ReDiscover</c>

01:11:26.649 --> 01:11:26.659 align:start position:0%
everything for a kidnap to ReDiscover
 

01:11:26.659 --> 01:11:32.090 align:start position:0%
everything for a kidnap to ReDiscover
this<01:11:27.659><c> without</c><01:11:28.760><c> telling</c><01:11:29.760><c> it</c><01:11:29.940><c> what</c><01:11:30.540><c> is</c><01:11:30.719><c> what</c><01:11:31.679><c> uh</c>

01:11:32.090 --> 01:11:32.100 align:start position:0%
this without telling it what is what uh
 

01:11:32.100 --> 01:11:36.290 align:start position:0%
this without telling it what is what uh
how<01:11:32.340><c> how</c><01:11:32.760><c> it</c><01:11:33.120><c> can</c><01:11:33.300><c> be</c><01:11:33.540><c> uh</c><01:11:34.500><c> sold</c><01:11:35.159><c> so</c><01:11:35.760><c> we</c><01:11:36.120><c> will</c>

01:11:36.290 --> 01:11:36.300 align:start position:0%
how how it can be uh sold so we will
 

01:11:36.300 --> 01:11:37.729 align:start position:0%
how how it can be uh sold so we will
need<01:11:36.480><c> two</c><01:11:36.659><c> things</c><01:11:36.840><c> we</c><01:11:37.199><c> will</c><01:11:37.320><c> need</c><01:11:37.500><c> to</c>

01:11:37.729 --> 01:11:37.739 align:start position:0%
need two things we will need to
 

01:11:37.739 --> 01:11:40.430 align:start position:0%
need two things we will need to
initialize<01:11:38.400><c> the</c>

01:11:40.430 --> 01:11:40.440 align:start position:0%
initialize the
 

01:11:40.440 --> 01:11:42.470 align:start position:0%
initialize the
um<01:11:40.500><c> the</c><01:11:40.860><c> code</c><01:11:41.040><c> to</c><01:11:41.699><c> have</c>

01:11:42.470 --> 01:11:42.480 align:start position:0%
um the code to have
 

01:11:42.480 --> 01:11:45.410 align:start position:0%
um the code to have
um<01:11:42.540><c> too</c><01:11:43.020><c> much</c><01:11:43.199><c> what</c><01:11:44.100><c> the</c><01:11:44.460><c> what</c><01:11:45.239><c> the</c>

01:11:45.410 --> 01:11:45.420 align:start position:0%
um too much what the what the
 

01:11:45.420 --> 01:11:47.450 align:start position:0%
um too much what the what the
initialization<01:11:45.900><c> is</c><01:11:46.320><c> it's</c>

01:11:47.450 --> 01:11:47.460 align:start position:0%
initialization is it's
 

01:11:47.460 --> 01:11:50.630 align:start position:0%
initialization is it's
um is<01:11:48.000><c> actually</c><01:11:48.199><c> showing</c><01:11:49.199><c> us</c><01:11:49.380><c> let's</c><01:11:49.679><c> see</c>

01:11:50.630 --> 01:11:50.640 align:start position:0%
um is actually showing us let's see
 

01:11:50.640 --> 01:11:53.750 align:start position:0%
um is actually showing us let's see
okay<01:11:51.300><c> so</c><01:11:51.719><c> this</c><01:11:51.900><c> is</c><01:11:52.020><c> the</c><01:11:52.199><c> The</c><01:11:52.380><c> Flash</c><01:11:52.620><c> loan</c><01:11:53.100><c> uh</c>

01:11:53.750 --> 01:11:53.760 align:start position:0%
okay so this is the The Flash loan uh
 

01:11:53.760 --> 01:11:56.030 align:start position:0%
okay so this is the The Flash loan uh
the<01:11:53.880><c> part</c><01:11:54.060><c> of</c><01:11:54.179><c> the</c><01:11:54.300><c> or</c><01:11:54.480><c> the</c><01:11:54.659><c> flash</c><01:11:54.780><c> loan</c><01:11:55.199><c> so</c><01:11:55.800><c> the</c>

01:11:56.030 --> 01:11:56.040 align:start position:0%
the part of the or the flash loan so the
 

01:11:56.040 --> 01:11:57.890 align:start position:0%
the part of the or the flash loan so the
the<01:11:56.400><c> interesting</c><01:11:56.880><c> part</c><01:11:57.060><c> about</c><01:11:57.179><c> this</c><01:11:57.480><c> is</c><01:11:57.600><c> we</c>

01:11:57.890 --> 01:11:57.900 align:start position:0%
the interesting part about this is we
 

01:11:57.900 --> 01:11:59.510 align:start position:0%
the interesting part about this is we
don't<01:11:58.020><c> have</c><01:11:58.260><c> to</c><01:11:58.500><c> care</c><01:11:58.739><c> about</c><01:11:58.920><c> specific</c>

01:11:59.510 --> 01:11:59.520 align:start position:0%
don't have to care about specific
 

01:11:59.520 --> 01:12:02.689 align:start position:0%
don't have to care about specific
details<01:12:00.060><c> in</c><01:12:00.179><c> the</c><01:12:00.360><c> code</c><01:12:00.480><c> we</c><01:12:01.260><c> want</c><01:12:01.560><c> to</c><01:12:01.800><c> we</c><01:12:02.520><c> want</c>

01:12:02.689 --> 01:12:02.699 align:start position:0%
details in the code we want to we want
 

01:12:02.699 --> 01:12:03.590 align:start position:0%
details in the code we want to we want
to

01:12:03.590 --> 01:12:03.600 align:start position:0%
to
 

01:12:03.600 --> 01:12:05.750 align:start position:0%
to
um<01:12:03.659><c> give</c><01:12:04.140><c> a</c><01:12:04.320><c> kid</c><01:12:04.440><c> now</c><01:12:04.620><c> the</c><01:12:04.920><c> same</c><01:12:05.040><c> scenario</c><01:12:05.460><c> that</c>

01:12:05.750 --> 01:12:05.760 align:start position:0%
um give a kid now the same scenario that
 

01:12:05.760 --> 01:12:08.270 align:start position:0%
um give a kid now the same scenario that
we<01:12:05.940><c> have</c><01:12:06.120><c> on</c><01:12:06.420><c> the</c><01:12:06.600><c> on</c><01:12:07.080><c> the</c><01:12:07.320><c> actual</c><01:12:07.679><c> uh</c>

01:12:08.270 --> 01:12:08.280 align:start position:0%
we have on the on the actual uh
 

01:12:08.280 --> 01:12:11.149 align:start position:0%
we have on the on the actual uh
Challenge<01:12:08.580><c> and</c><01:12:09.300><c> we</c><01:12:09.540><c> want</c><01:12:09.719><c> to</c><01:12:09.900><c> know</c><01:12:10.140><c> if</c><01:12:10.560><c> it</c><01:12:10.860><c> can</c>

01:12:11.149 --> 01:12:11.159 align:start position:0%
Challenge and we want to know if it can
 

01:12:11.159 --> 01:12:14.510 align:start position:0%
Challenge and we want to know if it can
actually<01:12:12.060><c> find</c><01:12:12.780><c> a</c><01:12:13.020><c> way</c><01:12:13.199><c> to</c><01:12:13.739><c> drain</c><01:12:14.340><c> the</c>

01:12:14.510 --> 01:12:14.520 align:start position:0%
actually find a way to drain the
 

01:12:14.520 --> 01:12:15.470 align:start position:0%
actually find a way to drain the
contract

01:12:15.470 --> 01:12:15.480 align:start position:0%
contract
 

01:12:15.480 --> 01:12:19.370 align:start position:0%
contract
so<01:12:16.320><c> yeah</c><01:12:16.620><c> we</c><01:12:16.920><c> can</c><01:12:17.100><c> uh</c><01:12:17.699><c> we</c><01:12:18.000><c> can</c><01:12:18.120><c> see</c><01:12:18.480><c> uh</c><01:12:19.020><c> how</c><01:12:19.199><c> the</c>

01:12:19.370 --> 01:12:19.380 align:start position:0%
so yeah we can uh we can see uh how the
 

01:12:19.380 --> 01:12:21.470 align:start position:0%
so yeah we can uh we can see uh how the
reciprocal<01:12:20.100><c> function</c>

01:12:21.470 --> 01:12:21.480 align:start position:0%
reciprocal function
 

01:12:21.480 --> 01:12:23.930 align:start position:0%
reciprocal function
um<01:12:21.600><c> works</c><01:12:22.199><c> here</c><01:12:22.380><c> but</c><01:12:23.400><c> um</c><01:12:23.460><c> yeah</c><01:12:23.699><c> the</c>

01:12:23.930 --> 01:12:23.940 align:start position:0%
um works here but um yeah the
 

01:12:23.940 --> 01:12:25.669 align:start position:0%
um works here but um yeah the
interesting<01:12:24.600><c> part</c><01:12:24.960><c> perhaps</c><01:12:25.380><c> is</c><01:12:25.560><c> the</c>

01:12:25.669 --> 01:12:25.679 align:start position:0%
interesting part perhaps is the
 

01:12:25.679 --> 01:12:27.950 align:start position:0%
interesting part perhaps is the
initialization<01:12:26.179><c> what</c><01:12:27.179><c> we</c><01:12:27.300><c> are</c><01:12:27.420><c> going</c><01:12:27.540><c> to</c><01:12:27.719><c> do</c>

01:12:27.950 --> 01:12:27.960 align:start position:0%
initialization what we are going to do
 

01:12:27.960 --> 01:12:30.590 align:start position:0%
initialization what we are going to do
is<01:12:28.260><c> we</c><01:12:28.800><c> are</c><01:12:28.980><c> going</c><01:12:29.159><c> to</c><01:12:29.460><c> deploy</c><01:12:30.300><c> in</c><01:12:30.420><c> the</c>

01:12:30.590 --> 01:12:30.600 align:start position:0%
is we are going to deploy in the
 

01:12:30.600 --> 01:12:32.689 align:start position:0%
is we are going to deploy in the
Constructor<01:12:30.960><c> of</c><01:12:31.500><c> our</c>

01:12:32.689 --> 01:12:32.699 align:start position:0%
Constructor of our
 

01:12:32.699 --> 01:12:36.050 align:start position:0%
Constructor of our
um test<01:12:33.480><c> we're</c><01:12:33.960><c> going</c><01:12:34.199><c> to</c><01:12:34.320><c> deploy</c><01:12:34.860><c> the</c><01:12:35.820><c> the</c>

01:12:36.050 --> 01:12:36.060 align:start position:0%
um test we're going to deploy the the
 

01:12:36.060 --> 01:12:38.149 align:start position:0%
um test we're going to deploy the the
contracts<01:12:36.600><c> that</c><01:12:36.780><c> we</c><01:12:36.960><c> have</c><01:12:37.140><c> here</c><01:12:37.440><c> and</c><01:12:37.800><c> prepare</c>

01:12:38.149 --> 01:12:38.159 align:start position:0%
contracts that we have here and prepare
 

01:12:38.159 --> 01:12:40.790 align:start position:0%
contracts that we have here and prepare
everything<01:12:38.340><c> and</c><01:12:39.239><c> then</c><01:12:39.360><c> we're</c><01:12:39.540><c> going</c><01:12:39.780><c> to</c><01:12:39.960><c> use</c><01:12:40.500><c> a</c>

01:12:40.790 --> 01:12:40.800 align:start position:0%
everything and then we're going to use a
 

01:12:40.800 --> 01:12:42.530 align:start position:0%
everything and then we're going to use a
suitable

01:12:42.530 --> 01:12:42.540 align:start position:0%
suitable
 

01:12:42.540 --> 01:12:44.930 align:start position:0%
suitable
um<01:12:42.600><c> uh</c><01:12:43.140><c> invariant</c><01:12:43.679><c> which</c><01:12:44.100><c> should</c><01:12:44.520><c> be</c><01:12:44.699><c> really</c>

01:12:44.930 --> 01:12:44.940 align:start position:0%
um uh invariant which should be really
 

01:12:44.940 --> 01:12:48.530 align:start position:0%
um uh invariant which should be really
simple<01:12:45.120><c> you</c><01:12:45.420><c> don't</c><01:12:45.600><c> have</c><01:12:45.840><c> to</c><01:12:46.400><c> overthink</c><01:12:47.540><c> and</c>

01:12:48.530 --> 01:12:48.540 align:start position:0%
simple you don't have to overthink and
 

01:12:48.540 --> 01:12:52.490 align:start position:0%
simple you don't have to overthink and
we<01:12:49.199><c> want</c><01:12:49.500><c> you</c><01:12:49.679><c> to</c><01:12:50.100><c> uh</c><01:12:51.000><c> run</c><01:12:51.239><c> a</c><01:12:51.360><c> kidnap</c><01:12:51.840><c> uh</c><01:12:52.260><c> with</c>

01:12:52.490 --> 01:12:52.500 align:start position:0%
we want you to uh run a kidnap uh with
 

01:12:52.500 --> 01:12:55.250 align:start position:0%
we want you to uh run a kidnap uh with
that<01:12:52.679><c> in</c><01:12:53.040><c> order</c><01:12:53.159><c> to</c><01:12:53.460><c> see</c><01:12:53.820><c> if</c><01:12:54.480><c> it</c><01:12:54.659><c> can</c><01:12:54.780><c> drain</c><01:12:55.020><c> the</c>

01:12:55.250 --> 01:12:55.260 align:start position:0%
that in order to see if it can drain the
 

01:12:55.260 --> 01:12:57.169 align:start position:0%
that in order to see if it can drain the
contract<01:12:55.560><c> uh</c><01:12:55.980><c> with</c><01:12:56.280><c> the</c><01:12:56.400><c> of</c><01:12:56.699><c> course</c><01:12:56.760><c> with</c><01:12:57.000><c> a</c>

01:12:57.169 --> 01:12:57.179 align:start position:0%
contract uh with the of course with a
 

01:12:57.179 --> 01:12:58.189 align:start position:0%
contract uh with the of course with a
suitable

01:12:58.189 --> 01:12:58.199 align:start position:0%
suitable
 

01:12:58.199 --> 01:13:00.410 align:start position:0%
suitable
um<01:12:58.260><c> uh</c><01:12:58.679><c> with</c><01:12:58.860><c> a</c><01:12:58.980><c> suitable</c><01:12:59.219><c> invariant</c><01:12:59.820><c> so</c><01:13:00.300><c> yeah</c>

01:13:00.410 --> 01:13:00.420 align:start position:0%
um uh with a suitable invariant so yeah
 

01:13:00.420 --> 01:13:01.970 align:start position:0%
um uh with a suitable invariant so yeah
we<01:13:00.659><c> will</c><01:13:00.900><c> take</c>

01:13:01.970 --> 01:13:01.980 align:start position:0%
we will take
 

01:13:01.980 --> 01:13:04.850 align:start position:0%
we will take
um<01:13:02.100><c> 10</c><01:13:02.280><c> minutes</c><01:13:02.520><c> I</c><01:13:02.760><c> think</c><01:13:02.880><c> yeah</c><01:13:03.320><c> yeah</c><01:13:04.320><c> we</c><01:13:04.679><c> are</c>

01:13:04.850 --> 01:13:04.860 align:start position:0%
um 10 minutes I think yeah yeah we are
 

01:13:04.860 --> 01:13:08.570 align:start position:0%
um 10 minutes I think yeah yeah we are
running<01:13:05.640><c> out</c><01:13:05.940><c> of</c><01:13:06.120><c> time</c><01:13:06.239><c> but</c><01:13:06.600><c> uh</c><01:13:07.500><c> let's</c><01:13:08.100><c> take</c><01:13:08.340><c> 10</c>

01:13:08.570 --> 01:13:08.580 align:start position:0%
running out of time but uh let's take 10
 

01:13:08.580 --> 01:13:10.729 align:start position:0%
running out of time but uh let's take 10
minutes<01:13:08.880><c> so</c><01:13:09.659><c> the</c><01:13:09.840><c> first</c><01:13:10.080><c> step</c><01:13:10.199><c> is</c><01:13:10.380><c> really</c><01:13:10.560><c> like</c>

01:13:10.729 --> 01:13:10.739 align:start position:0%
minutes so the first step is really like
 

01:13:10.739 --> 01:13:12.770 align:start position:0%
minutes so the first step is really like
this<01:13:11.040><c> is</c><01:13:11.159><c> a</c><01:13:11.400><c> initialization</c><01:13:12.060><c> from</c><01:13:12.480><c> the</c><01:13:12.600><c> test</c>

01:13:12.770 --> 01:13:12.780 align:start position:0%
this is a initialization from the test
 

01:13:12.780 --> 01:13:14.689 align:start position:0%
this is a initialization from the test
case<01:13:13.020><c> of</c><01:13:13.260><c> the</c><01:13:13.380><c> contract</c><01:13:13.739><c> the</c><01:13:14.159><c> first</c><01:13:14.400><c> step</c><01:13:14.580><c> is</c>

01:13:14.689 --> 01:13:14.699 align:start position:0%
case of the contract the first step is
 

01:13:14.699 --> 01:13:16.790 align:start position:0%
case of the contract the first step is
really<01:13:14.880><c> just</c><01:13:15.120><c> to</c><01:13:15.239><c> reply</c><01:13:15.420><c> like</c><01:13:15.900><c> this</c><01:13:16.199><c> into</c><01:13:16.560><c> a</c>

01:13:16.790 --> 01:13:16.800 align:start position:0%
really just to reply like this into a
 

01:13:16.800 --> 01:13:18.950 align:start position:0%
really just to reply like this into a
solidity<01:13:17.219><c> Constructor</c><01:13:17.699><c> and</c><01:13:18.360><c> then</c><01:13:18.540><c> provide</c>

01:13:18.950 --> 01:13:18.960 align:start position:0%
solidity Constructor and then provide
 

01:13:18.960 --> 01:13:22.850 align:start position:0%
solidity Constructor and then provide
the<01:13:19.080><c> environment</c>

01:13:22.850 --> 01:13:22.860 align:start position:0%
 
 

01:13:22.860 --> 01:13:24.350 align:start position:0%
 
yeah<01:13:23.340><c> so</c><01:13:23.460><c> happy</c><01:13:23.699><c> to</c><01:13:23.940><c> take</c><01:13:24.000><c> question</c><01:13:24.300><c> questions</c>

01:13:24.350 --> 01:13:24.360 align:start position:0%
yeah so happy to take question questions
 

01:13:24.360 --> 01:13:31.910 align:start position:0%
yeah so happy to take question questions
or<01:13:24.719><c> any</c><01:13:24.900><c> technical</c><01:13:25.380><c> issues</c>

01:13:31.910 --> 01:13:31.920 align:start position:0%
 
 

01:13:31.920 --> 01:13:34.490 align:start position:0%
 
that's<01:13:32.820><c> a</c><01:13:33.179><c> goal</c><01:13:33.420><c> actually</c><01:13:33.480><c> we</c><01:13:34.080><c> are</c><01:13:34.260><c> going</c><01:13:34.320><c> to</c>

01:13:34.490 --> 01:13:34.500 align:start position:0%
that's a goal actually we are going to
 

01:13:34.500 --> 01:13:37.130 align:start position:0%
that's a goal actually we are going to
do<01:13:35.219><c> exactly</c><01:13:35.520><c> what</c><01:13:35.699><c> he's</c><01:13:35.940><c> doing</c><01:13:36.239><c> here</c><01:13:36.719><c> but</c><01:13:36.960><c> in</c>

01:13:37.130 --> 01:13:37.140 align:start position:0%
do exactly what he's doing here but in
 

01:13:37.140 --> 01:13:38.750 align:start position:0%
do exactly what he's doing here but in
serenity

01:13:38.750 --> 01:13:38.760 align:start position:0%
serenity
 

01:13:38.760 --> 01:13:41.689 align:start position:0%
serenity
there<01:13:39.300><c> there</c><01:13:39.440><c> is</c><01:13:40.440><c> an</c><01:13:40.739><c> alternative</c><01:13:41.100><c> way</c><01:13:41.340><c> to</c><01:13:41.520><c> do</c>

01:13:41.689 --> 01:13:41.699 align:start position:0%
there there is an alternative way to do
 

01:13:41.699 --> 01:13:43.790 align:start position:0%
there there is an alternative way to do
it<01:13:41.820><c> but</c><01:13:42.060><c> the</c><01:13:42.239><c> solidity</c><01:13:42.719><c> approach</c><01:13:43.140><c> is</c><01:13:43.560><c> is</c>

01:13:43.790 --> 01:13:43.800 align:start position:0%
it but the solidity approach is is
 

01:13:43.800 --> 01:13:46.250 align:start position:0%
it but the solidity approach is is
easier<01:13:44.340><c> to</c><01:13:44.640><c> to</c><01:13:44.880><c> avoid</c>

01:13:46.250 --> 01:13:46.260 align:start position:0%
easier to to avoid
 

01:13:46.260 --> 01:13:48.050 align:start position:0%
easier to to avoid
um<01:13:46.380><c> because</c><01:13:46.800><c> well</c><01:13:47.100><c> the</c><01:13:47.400><c> other</c><01:13:47.460><c> tool</c><01:13:47.760><c> is</c><01:13:47.880><c> called</c>

01:13:48.050 --> 01:13:48.060 align:start position:0%
um because well the other tool is called
 

01:13:48.060 --> 01:13:50.390 align:start position:0%
um because well the other tool is called
atino<01:13:48.600><c> that</c><01:13:48.900><c> can</c><01:13:49.020><c> replay</c><01:13:49.320><c> this</c>

01:13:50.390 --> 01:13:50.400 align:start position:0%
atino that can replay this
 

01:13:50.400 --> 01:13:52.550 align:start position:0%
atino that can replay this
in<01:13:50.940><c> a</c><01:13:51.060><c> simulated</c><01:13:51.360><c> blockchain</c><01:13:51.780><c> like</c><01:13:52.020><c> ganache</c>

01:13:52.550 --> 01:13:52.560 align:start position:0%
in a simulated blockchain like ganache
 

01:13:52.560 --> 01:13:55.669 align:start position:0%
in a simulated blockchain like ganache
and<01:13:52.920><c> then</c><01:13:53.040><c> send</c><01:13:53.280><c> it</c><01:13:53.460><c> to</c><01:13:53.640><c> the</c><01:13:53.880><c> to</c><01:13:54.360><c> the</c><01:13:54.600><c> tool</c><01:13:54.900><c> so</c>

01:13:55.669 --> 01:13:55.679 align:start position:0%
and then send it to the to the tool so
 

01:13:55.679 --> 01:13:57.890 align:start position:0%
and then send it to the to the tool so
uh<01:13:56.280><c> in</c><01:13:56.580><c> that</c><01:13:56.699><c> case</c><01:13:56.880><c> you</c><01:13:57.300><c> don't</c><01:13:57.420><c> need</c><01:13:57.659><c> to</c>

01:13:57.890 --> 01:13:57.900 align:start position:0%
uh in that case you don't need to
 

01:13:57.900 --> 01:14:01.850 align:start position:0%
uh in that case you don't need to
replace<01:13:58.340><c> on</c><01:13:59.340><c> solidity</c><01:13:59.940><c> manually</c><01:14:00.659><c> but</c><01:14:01.440><c> you</c><01:14:01.679><c> are</c>

01:14:01.850 --> 01:14:01.860 align:start position:0%
replace on solidity manually but you are
 

01:14:01.860 --> 01:14:03.890 align:start position:0%
replace on solidity manually but you are
still<01:14:02.040><c> I</c><01:14:02.219><c> still</c><01:14:02.460><c> know</c><01:14:02.699><c> still</c><01:14:03.179><c> need</c><01:14:03.480><c> to</c><01:14:03.659><c> know</c>

01:14:03.890 --> 01:14:03.900 align:start position:0%
still I still know still need to know
 

01:14:03.900 --> 01:14:06.709 align:start position:0%
still I still know still need to know
where<01:14:04.800><c> is</c><01:14:05.040><c> everything</c><01:14:05.280><c> deployed</c><01:14:05.940><c> right</c><01:14:06.300><c> so</c><01:14:06.600><c> if</c>

01:14:06.709 --> 01:14:06.719 align:start position:0%
where is everything deployed right so if
 

01:14:06.719 --> 01:14:08.090 align:start position:0%
where is everything deployed right so if
you<01:14:06.840><c> want</c><01:14:06.960><c> to</c><01:14:07.080><c> interact</c><01:14:07.440><c> with</c><01:14:07.560><c> the</c><01:14:07.679><c> pool</c><01:14:07.800><c> you</c>

01:14:08.090 --> 01:14:08.100 align:start position:0%
you want to interact with the pool you
 

01:14:08.100 --> 01:14:09.830 align:start position:0%
you want to interact with the pool you
need<01:14:08.219><c> to</c><01:14:08.340><c> know</c><01:14:08.460><c> where</c><01:14:08.820><c> is</c><01:14:08.940><c> which</c><01:14:09.420><c> is</c><01:14:09.719><c> the</c>

01:14:09.830 --> 01:14:09.840 align:start position:0%
need to know where is which is the
 

01:14:09.840 --> 01:14:12.770 align:start position:0%
need to know where is which is the
address<01:14:09.960><c> of</c><01:14:10.260><c> the</c><01:14:10.380><c> pool</c><01:14:10.520><c> and</c><01:14:11.520><c> you</c><01:14:11.940><c> can</c><01:14:12.060><c> you</c><01:14:12.659><c> can</c>

01:14:12.770 --> 01:14:12.780 align:start position:0%
address of the pool and you can you can
 

01:14:12.780 --> 01:14:16.189 align:start position:0%
address of the pool and you can you can
then<01:14:13.080><c> uh</c><01:14:14.040><c> a</c><01:14:14.460><c> kidney</c><01:14:14.760><c> cannot</c><01:14:15.239><c> actually</c><01:14:15.659><c> call</c>

01:14:16.189 --> 01:14:16.199 align:start position:0%
then uh a kidney cannot actually call
 

01:14:16.199 --> 01:14:18.649 align:start position:0%
then uh a kidney cannot actually call
the<01:14:16.860><c> Paul</c><01:14:17.040><c> functions</c><01:14:17.580><c> uh</c><01:14:18.120><c> automatically</c>

01:14:18.649 --> 01:14:18.659 align:start position:0%
the Paul functions uh automatically
 

01:14:18.659 --> 01:14:20.390 align:start position:0%
the Paul functions uh automatically
because<01:14:18.900><c> it</c><01:14:19.140><c> has</c><01:14:19.500><c> everything</c><01:14:19.679><c> but</c><01:14:20.100><c> in</c><01:14:20.280><c> this</c>

01:14:20.390 --> 01:14:20.400 align:start position:0%
because it has everything but in this
 

01:14:20.400 --> 01:14:22.669 align:start position:0%
because it has everything but in this
case<01:14:20.520><c> we're</c><01:14:20.820><c> going</c><01:14:21.000><c> to</c><01:14:21.120><c> go</c><01:14:21.300><c> into</c><01:14:21.480><c> simple</c><01:14:21.780><c> route</c>

01:14:22.669 --> 01:14:22.679 align:start position:0%
case we're going to go into simple route
 

01:14:22.679 --> 01:14:25.910 align:start position:0%
case we're going to go into simple route
uh<01:14:23.219><c> that</c><01:14:23.520><c> is</c><01:14:23.640><c> going</c><01:14:23.880><c> to</c><01:14:24.060><c> uh</c><01:14:24.780><c> take</c><01:14:25.080><c> us</c><01:14:25.260><c> to</c><01:14:25.560><c> uh</c>

01:14:25.910 --> 01:14:25.920 align:start position:0%
uh that is going to uh take us to uh
 

01:14:25.920 --> 01:14:28.370 align:start position:0%
uh that is going to uh take us to uh
rewrite<01:14:26.400><c> it's</c><01:14:26.820><c> just</c><01:14:27.120><c> a</c><01:14:27.300><c> couple</c><01:14:27.420><c> of</c><01:14:27.600><c> and</c><01:14:28.140><c> this</c>

01:14:28.370 --> 01:14:28.380 align:start position:0%
rewrite it's just a couple of and this
 

01:14:28.380 --> 01:14:29.990 align:start position:0%
rewrite it's just a couple of and this
kind<01:14:28.620><c> of</c><01:14:28.739><c> much</c><01:14:28.980><c> what</c><01:14:29.340><c> we're</c><01:14:29.400><c> doing</c><01:14:29.640><c> here</c><01:14:29.820><c> in</c>

01:14:29.990 --> 01:14:30.000 align:start position:0%
kind of much what we're doing here in
 

01:14:30.000 --> 01:14:32.149 align:start position:0%
kind of much what we're doing here in
order<01:14:30.179><c> we</c><01:14:30.900><c> might</c><01:14:31.020><c> look</c><01:14:31.199><c> at</c><01:14:31.440><c> the</c><01:14:31.739><c> existing</c>

01:14:32.149 --> 01:14:32.159 align:start position:0%
order we might look at the existing
 

01:14:32.159 --> 01:14:33.290 align:start position:0%
order we might look at the existing
unique<01:14:32.520><c> tests</c><01:14:32.760><c> to</c><01:14:32.880><c> understand</c><01:14:33.000><c> the</c>

01:14:33.290 --> 01:14:33.300 align:start position:0%
unique tests to understand the
 

01:14:33.300 --> 01:14:35.090 align:start position:0%
unique tests to understand the
initialization<01:14:33.900><c> and</c><01:14:34.560><c> we</c><01:14:34.739><c> might</c><01:14:34.860><c> translate</c>

01:14:35.090 --> 01:14:35.100 align:start position:0%
initialization and we might translate
 

01:14:35.100 --> 01:14:37.550 align:start position:0%
initialization and we might translate
them<01:14:35.460><c> into</c><01:14:35.640><c> solidity</c><01:14:36.060><c> if</c><01:14:36.179><c> needed</c><01:14:36.600><c> to</c><01:14:37.199><c> assign</c>

01:14:37.550 --> 01:14:37.560 align:start position:0%
them into solidity if needed to assign
 

01:14:37.560 --> 01:14:47.390 align:start position:0%
them into solidity if needed to assign
credit<01:14:37.800><c> for</c><01:14:38.100><c> the</c><01:14:38.219><c> invariants</c>

01:14:47.390 --> 01:14:47.400 align:start position:0%
 
 

01:14:47.400 --> 01:14:49.669 align:start position:0%
 
so<01:14:47.760><c> yeah</c><01:14:47.820><c> the</c><01:14:48.060><c> the</c><01:14:48.239><c> previous</c><01:14:48.719><c> exercises</c><01:14:49.199><c> are</c>

01:14:49.669 --> 01:14:49.679 align:start position:0%
so yeah the the previous exercises are
 

01:14:49.679 --> 01:14:52.130 align:start position:0%
so yeah the the previous exercises are
on<01:14:50.340><c> the</c><01:14:50.460><c> easy</c><01:14:50.580><c> side</c><01:14:50.940><c> this</c><01:14:51.239><c> is</c><01:14:51.360><c> a</c><01:14:51.600><c> bit</c><01:14:51.840><c> more</c>

01:14:52.130 --> 01:14:52.140 align:start position:0%
on the easy side this is a bit more
 

01:14:52.140 --> 01:14:53.870 align:start position:0%
on the easy side this is a bit more
difficult<01:14:52.440><c> but</c><01:14:52.860><c> still</c><01:14:53.040><c> shouldn't</c><01:14:53.699><c> require</c>

01:14:53.870 --> 01:14:53.880 align:start position:0%
difficult but still shouldn't require
 

01:14:53.880 --> 01:14:56.149 align:start position:0%
difficult but still shouldn't require
more<01:14:54.179><c> than</c><01:14:54.300><c> a</c><01:14:54.480><c> few</c><01:14:54.600><c> lines</c>

01:14:56.149 --> 01:14:56.159 align:start position:0%
more than a few lines
 

01:14:56.159 --> 01:14:56.870 align:start position:0%
more than a few lines
um

01:14:56.870 --> 01:14:56.880 align:start position:0%
um
 

01:14:56.880 --> 01:15:00.470 align:start position:0%
um
so<01:14:57.480><c> yeah</c><01:14:58.040><c> but</c><01:14:59.040><c> please</c><01:14:59.219><c> let</c><01:14:59.520><c> us</c><01:14:59.640><c> know</c><01:14:59.760><c> if</c><01:15:00.060><c> you</c><01:15:00.179><c> if</c>

01:15:00.470 --> 01:15:00.480 align:start position:0%
so yeah but please let us know if you if
 

01:15:00.480 --> 01:15:03.169 align:start position:0%
so yeah but please let us know if you if
you<01:15:00.780><c> need</c><01:15:00.900><c> some</c><01:15:01.260><c> some</c><01:15:01.920><c> hints</c><01:15:02.580><c> there</c><01:15:02.820><c> are</c><01:15:02.940><c> some</c>

01:15:03.169 --> 01:15:03.179 align:start position:0%
you need some some hints there are some
 

01:15:03.179 --> 01:15:05.630 align:start position:0%
you need some some hints there are some
hints<01:15:03.719><c> in</c><01:15:04.500><c> um</c>

01:15:05.630 --> 01:15:05.640 align:start position:0%
hints in um
 

01:15:05.640 --> 01:15:08.090 align:start position:0%
hints in um
in<01:15:05.699><c> one</c><01:15:06.480><c> of</c><01:15:06.540><c> the</c><01:15:06.780><c> one</c><01:15:07.199><c> of</c><01:15:07.260><c> the</c><01:15:07.380><c> branches</c><01:15:07.800><c> in</c><01:15:07.980><c> the</c>

01:15:08.090 --> 01:15:08.100 align:start position:0%
in one of the one of the branches in the
 

01:15:08.100 --> 01:15:11.510 align:start position:0%
in one of the one of the branches in the
hint<01:15:08.280><c> Branch</c><01:15:08.699><c> but</c><01:15:09.060><c> yeah</c><01:15:09.300><c> Heather</c><01:15:10.260><c> uh</c><01:15:11.219><c> hello</c>

01:15:11.510 --> 01:15:11.520 align:start position:0%
hint Branch but yeah Heather uh hello
 

01:15:11.520 --> 01:15:14.090 align:start position:0%
hint Branch but yeah Heather uh hello
yeah<01:15:12.480><c> sorry</c><01:15:12.780><c> no</c><01:15:13.199><c> worries</c>

01:15:14.090 --> 01:15:14.100 align:start position:0%
yeah sorry no worries
 

01:15:14.100 --> 01:15:16.669 align:start position:0%
yeah sorry no worries
um<01:15:14.159><c> is</c><01:15:14.460><c> there</c><01:15:14.640><c> any</c><01:15:14.820><c> thought</c><01:15:15.239><c> or</c><01:15:15.840><c> current</c>

01:15:16.669 --> 01:15:16.679 align:start position:0%
um is there any thought or current
 

01:15:16.679 --> 01:15:19.910 align:start position:0%
um is there any thought or current
support<01:15:16.980><c> for</c><01:15:17.400><c> mainnet</c><01:15:18.000><c> forking</c><01:15:18.480><c> or</c>

01:15:19.910 --> 01:15:19.920 align:start position:0%
support for mainnet forking or
 

01:15:19.920 --> 01:15:22.030 align:start position:0%
support for mainnet forking or
um State<01:15:20.280><c> forking</c><01:15:20.760><c> of</c><01:15:20.940><c> some</c><01:15:21.120><c> sort</c>

01:15:22.030 --> 01:15:22.040 align:start position:0%
um State forking of some sort
 

01:15:22.040 --> 01:15:26.870 align:start position:0%
um State forking of some sort
not<01:15:23.040><c> yet</c><01:15:23.219><c> yes</c><01:15:24.179><c> so</c><01:15:24.659><c> not</c><01:15:25.440><c> yet</c><01:15:25.620><c> havm</c><01:15:26.340><c> has</c><01:15:26.580><c> support</c>

01:15:26.870 --> 01:15:26.880 align:start position:0%
not yet yes so not yet havm has support
 

01:15:26.880 --> 01:15:30.709 align:start position:0%
not yet yes so not yet havm has support
for<01:15:27.540><c> that</c><01:15:28.500><c> but</c><01:15:28.980><c> that</c><01:15:29.159><c> will</c><01:15:29.460><c> that</c><01:15:29.940><c> will</c><01:15:30.239><c> need</c><01:15:30.420><c> us</c>

01:15:30.709 --> 01:15:30.719 align:start position:0%
for that but that will that will need us
 

01:15:30.719 --> 01:15:34.669 align:start position:0%
for that but that will that will need us
to<01:15:31.020><c> put</c><01:15:31.340><c> uh</c><01:15:32.340><c> that</c><01:15:32.940><c> requires</c><01:15:33.360><c> to</c><01:15:33.480><c> do</c><01:15:33.659><c> like</c><01:15:33.960><c> input</c>

01:15:34.669 --> 01:15:34.679 align:start position:0%
to put uh that requires to do like input
 

01:15:34.679 --> 01:15:38.149 align:start position:0%
to put uh that requires to do like input
outputs<01:15:35.219><c> on</c><01:15:35.940><c> on</c><01:15:36.120><c> transactions</c><01:15:36.719><c> so</c><01:15:36.900><c> we</c><01:15:37.800><c> need</c><01:15:37.980><c> to</c>

01:15:38.149 --> 01:15:38.159 align:start position:0%
outputs on on transactions so we need to
 

01:15:38.159 --> 01:15:42.169 align:start position:0%
outputs on on transactions so we need to
check<01:15:38.460><c> if</c><01:15:38.820><c> that</c><01:15:39.179><c> will</c><01:15:39.360><c> impact</c><01:15:39.780><c> on</c><01:15:40.320><c> the</c><01:15:40.620><c> actual</c>

01:15:42.169 --> 01:15:42.179 align:start position:0%
check if that will impact on the actual
 

01:15:42.179 --> 01:15:43.790 align:start position:0%
check if that will impact on the actual
um<01:15:42.300><c> on</c><01:15:42.659><c> the</c><01:15:42.780><c> actual</c>

01:15:43.790 --> 01:15:43.800 align:start position:0%
um on the actual
 

01:15:43.800 --> 01:15:47.030 align:start position:0%
um on the actual
um<01:15:43.920><c> performance</c><01:15:44.760><c> on</c><01:15:45.300><c> the</c><01:15:45.420><c> call</c>

01:15:47.030 --> 01:15:47.040 align:start position:0%
um performance on the call
 

01:15:47.040 --> 01:15:48.890 align:start position:0%
um performance on the call
um so<01:15:47.460><c> yeah</c><01:15:47.580><c> that</c><01:15:48.060><c> will</c>

01:15:48.890 --> 01:15:48.900 align:start position:0%
um so yeah that will
 

01:15:48.900 --> 01:15:50.149 align:start position:0%
um so yeah that will
um

01:15:50.149 --> 01:15:50.159 align:start position:0%
um
 

01:15:50.159 --> 01:15:51.890 align:start position:0%
um
yeah

01:15:51.890 --> 01:15:51.900 align:start position:0%
yeah
 

01:15:51.900 --> 01:15:54.890 align:start position:0%
yeah
um<01:15:51.960><c> I</c><01:15:52.260><c> have</c><01:15:52.380><c> kind</c><01:15:52.739><c> of</c><01:15:52.920><c> high</c><01:15:53.640><c> level</c><01:15:53.940><c> questions</c>

01:15:54.890 --> 01:15:54.900 align:start position:0%
um I have kind of high level questions
 

01:15:54.900 --> 01:15:56.930 align:start position:0%
um I have kind of high level questions
so<01:15:55.320><c> I'm</c><01:15:55.440><c> trying</c><01:15:55.920><c> to</c><01:15:56.100><c> think</c><01:15:56.340><c> about</c><01:15:56.460><c> what</c><01:15:56.820><c> the</c>

01:15:56.930 --> 01:15:56.940 align:start position:0%
so I'm trying to think about what the
 

01:15:56.940 --> 01:15:59.750 align:start position:0%
so I'm trying to think about what the
limitations<01:15:57.420><c> are</c><01:15:58.020><c> in</c><01:15:58.440><c> terms</c><01:15:58.679><c> of</c>

01:15:59.750 --> 01:15:59.760 align:start position:0%
limitations are in terms of
 

01:15:59.760 --> 01:16:01.970 align:start position:0%
limitations are in terms of
expressing<01:16:00.600><c> properties</c><01:16:01.080><c> as</c><01:16:01.320><c> invariance</c>

01:16:01.970 --> 01:16:01.980 align:start position:0%
expressing properties as invariance
 

01:16:01.980 --> 01:16:04.910 align:start position:0%
expressing properties as invariance
right<01:16:02.460><c> so</c><01:16:02.760><c> for</c><01:16:03.000><c> example</c><01:16:03.300><c> let's</c><01:16:04.140><c> say</c><01:16:04.260><c> we</c><01:16:04.560><c> have</c><01:16:04.679><c> a</c>

01:16:04.910 --> 01:16:04.920 align:start position:0%
right so for example let's say we have a
 

01:16:04.920 --> 01:16:06.709 align:start position:0%
right so for example let's say we have a
temporal<01:16:05.400><c> property</c><01:16:05.880><c> that</c><01:16:06.300><c> we</c><01:16:06.480><c> want</c><01:16:06.600><c> to</c>

01:16:06.709 --> 01:16:06.719 align:start position:0%
temporal property that we want to
 

01:16:06.719 --> 01:16:09.410 align:start position:0%
temporal property that we want to
express<01:16:06.900><c> like</c><01:16:07.560><c> we</c><01:16:08.340><c> have</c><01:16:08.460><c> a</c><01:16:08.580><c> wallet</c><01:16:08.940><c> contract</c>

01:16:09.410 --> 01:16:09.420 align:start position:0%
express like we have a wallet contract
 

01:16:09.420 --> 01:16:11.570 align:start position:0%
express like we have a wallet contract
and<01:16:09.960><c> we</c><01:16:10.140><c> want</c><01:16:10.260><c> to</c><01:16:10.380><c> be</c><01:16:10.500><c> able</c><01:16:10.620><c> to</c><01:16:10.800><c> say</c><01:16:10.980><c> that</c><01:16:11.340><c> any</c>

01:16:11.570 --> 01:16:11.580 align:start position:0%
and we want to be able to say that any
 

01:16:11.580 --> 01:16:14.270 align:start position:0%
and we want to be able to say that any
user<01:16:12.060><c> who</c><01:16:12.780><c> deposits</c><01:16:13.380><c> their</c><01:16:13.560><c> money</c><01:16:13.800><c> is</c>

01:16:14.270 --> 01:16:14.280 align:start position:0%
user who deposits their money is
 

01:16:14.280 --> 01:16:16.550 align:start position:0%
user who deposits their money is
eventually<01:16:14.699><c> able</c><01:16:15.239><c> to</c><01:16:15.360><c> withdraw</c><01:16:15.840><c> it</c><01:16:16.080><c> is</c><01:16:16.380><c> that</c>

01:16:16.550 --> 01:16:16.560 align:start position:0%
eventually able to withdraw it is that
 

01:16:16.560 --> 01:16:18.649 align:start position:0%
eventually able to withdraw it is that
just<01:16:16.739><c> like</c><01:16:16.980><c> a</c><01:16:17.280><c> fundamental</c><01:16:17.820><c> limitation</c><01:16:18.239><c> of</c>

01:16:18.649 --> 01:16:18.659 align:start position:0%
just like a fundamental limitation of
 

01:16:18.659 --> 01:16:21.169 align:start position:0%
just like a fundamental limitation of
Echidna<01:16:19.199><c> or</c><01:16:19.380><c> is</c><01:16:19.500><c> there</c><01:16:19.679><c> a</c><01:16:19.860><c> way</c><01:16:19.980><c> to</c><01:16:20.159><c> so</c><01:16:20.760><c> if</c><01:16:21.060><c> you</c>

01:16:21.169 --> 01:16:21.179 align:start position:0%
Echidna or is there a way to so if you
 

01:16:21.179 --> 01:16:22.490 align:start position:0%
Echidna or is there a way to so if you
can

01:16:22.490 --> 01:16:22.500 align:start position:0%
can
 

01:16:22.500 --> 01:16:26.450 align:start position:0%
can
so<01:16:23.280><c> the</c><01:16:24.239><c> notion</c><01:16:24.480><c> of</c><01:16:24.659><c> eventually</c><01:16:25.140><c> it's</c><01:16:25.980><c> you</c><01:16:26.340><c> you</c>

01:16:26.450 --> 01:16:26.460 align:start position:0%
so the notion of eventually it's you you
 

01:16:26.460 --> 01:16:28.490 align:start position:0%
so the notion of eventually it's you you
need<01:16:26.820><c> to</c><01:16:26.940><c> have</c><01:16:27.060><c> some</c><01:16:27.239><c> definition</c><01:16:27.360><c> on</c><01:16:27.900><c> the</c><01:16:28.140><c> or</c>

01:16:28.490 --> 01:16:28.500 align:start position:0%
need to have some definition on the or
 

01:16:28.500 --> 01:16:30.950 align:start position:0%
need to have some definition on the or
on<01:16:28.800><c> the</c><01:16:29.100><c> blockchain</c><01:16:29.460><c> right</c><01:16:29.880><c> So</c><01:16:30.480><c> eventually</c>

01:16:30.950 --> 01:16:30.960 align:start position:0%
on the blockchain right So eventually
 

01:16:30.960 --> 01:16:34.250 align:start position:0%
on the blockchain right So eventually
cannot<01:16:31.620><c> mean</c><01:16:32.100><c> like</c><01:16:32.400><c> in</c><01:16:32.520><c> 100</c><01:16:32.640><c> years</c><01:16:33.060><c> right</c><01:16:33.960><c> so</c>

01:16:34.250 --> 01:16:34.260 align:start position:0%
cannot mean like in 100 years right so
 

01:16:34.260 --> 01:16:38.090 align:start position:0%
cannot mean like in 100 years right so
if<01:16:34.440><c> you</c><01:16:34.560><c> if</c><01:16:34.980><c> you</c><01:16:35.280><c> find</c><01:16:35.880><c> say</c><01:16:36.179><c> I</c><01:16:36.840><c> will</c><01:16:37.020><c> only</c><01:16:37.620><c> allow</c>

01:16:38.090 --> 01:16:38.100 align:start position:0%
if you if you find say I will only allow
 

01:16:38.100 --> 01:16:41.330 align:start position:0%
if you if you find say I will only allow
increment<01:16:38.760><c> of</c><01:16:39.000><c> time</c><01:16:39.300><c> up</c><01:16:39.719><c> to</c><01:16:39.900><c> some</c><01:16:40.080><c> limit</c><01:16:40.340><c> yes</c>

01:16:41.330 --> 01:16:41.340 align:start position:0%
increment of time up to some limit yes
 

01:16:41.340 --> 01:16:45.070 align:start position:0%
increment of time up to some limit yes
you<01:16:41.820><c> can</c><01:16:41.940><c> you</c><01:16:42.600><c> can</c><01:16:42.780><c> call</c><01:16:42.960><c> it</c><01:16:43.199><c> as</c><01:16:43.380><c> a</c><01:16:44.000><c> bounded</c>

01:16:45.070 --> 01:16:45.080 align:start position:0%
you can you can call it as a bounded
 

01:16:45.080 --> 01:16:49.130 align:start position:0%
you can you can call it as a bounded
version<01:16:46.080><c> of</c><01:16:46.679><c> that</c><01:16:46.860><c> property</c><01:16:47.280><c> but</c><01:16:48.120><c> you</c><01:16:48.780><c> cannot</c>

01:16:49.130 --> 01:16:49.140 align:start position:0%
version of that property but you cannot
 

01:16:49.140 --> 01:16:52.550 align:start position:0%
version of that property but you cannot
you<01:16:49.800><c> cannot</c><01:16:50.159><c> use</c><01:16:50.580><c> it</c><01:16:50.760><c> as</c><01:16:50.940><c> a</c><01:16:51.179><c> theoretical</c><01:16:52.020><c> thing</c>

01:16:52.550 --> 01:16:52.560 align:start position:0%
you cannot use it as a theoretical thing
 

01:16:52.560 --> 01:16:55.669 align:start position:0%
you cannot use it as a theoretical thing
like<01:16:52.920><c> you</c><01:16:53.460><c> know</c><01:16:53.520><c> I</c><01:16:53.760><c> have</c><01:16:53.940><c> a</c><01:16:54.179><c> state</c><01:16:54.480><c> which</c><01:16:55.320><c> I</c>

01:16:55.669 --> 01:16:55.679 align:start position:0%
like you know I have a state which I
 

01:16:55.679 --> 01:16:57.470 align:start position:0%
like you know I have a state which I
don't<01:16:55.739><c> know</c><01:16:55.920><c> what</c><01:16:56.100><c> it</c><01:16:56.280><c> is</c><01:16:56.400><c> and</c><01:16:56.880><c> then</c><01:16:57.060><c> I</c><01:16:57.239><c> will</c>

01:16:57.470 --> 01:16:57.480 align:start position:0%
don't know what it is and then I will
 

01:16:57.480 --> 01:16:59.810 align:start position:0%
don't know what it is and then I will
transition<01:16:57.900><c> to</c><01:16:58.140><c> another</c><01:16:58.260><c> state</c><01:16:58.679><c> which</c><01:16:59.580><c> I</c>

01:16:59.810 --> 01:16:59.820 align:start position:0%
transition to another state which I
 

01:16:59.820 --> 01:17:03.050 align:start position:0%
transition to another state which I
don't<01:16:59.880><c> know</c><01:17:00.060><c> which</c><01:17:00.300><c> uh</c><01:17:01.080><c> what</c><01:17:01.620><c> it</c><01:17:01.739><c> is</c><01:17:01.860><c> and</c><01:17:02.699><c> in</c>

01:17:03.050 --> 01:17:03.060 align:start position:0%
don't know which uh what it is and in
 

01:17:03.060 --> 01:17:05.510 align:start position:0%
don't know which uh what it is and in
that<01:17:03.239><c> case</c><01:17:03.480><c> you</c><01:17:03.960><c> will</c><01:17:04.080><c> need</c><01:17:04.320><c> to</c><01:17:04.560><c> know</c><01:17:04.800><c> if</c><01:17:05.340><c> the</c>

01:17:05.510 --> 01:17:05.520 align:start position:0%
that case you will need to know if the
 

01:17:05.520 --> 01:17:09.229 align:start position:0%
that case you will need to know if the
original<01:17:05.640><c> state</c><01:17:06.360><c> was</c><01:17:07.020><c> actually</c><01:17:07.320><c> possible</c><01:17:08.239><c> and</c>

01:17:09.229 --> 01:17:09.239 align:start position:0%
original state was actually possible and
 

01:17:09.239 --> 01:17:12.830 align:start position:0%
original state was actually possible and
and<01:17:09.659><c> things</c><01:17:10.140><c> like</c><01:17:10.320><c> that</c><01:17:10.440><c> so</c><01:17:11.239><c> it</c><01:17:12.239><c> kind</c><01:17:12.360><c> of</c><01:17:12.540><c> works</c>

01:17:12.830 --> 01:17:12.840 align:start position:0%
and things like that so it kind of works
 

01:17:12.840 --> 01:17:16.370 align:start position:0%
and things like that so it kind of works
on<01:17:12.900><c> on</c><01:17:13.620><c> a</c><01:17:13.860><c> concrete</c><01:17:14.340><c> on</c><01:17:15.179><c> on</c><01:17:15.420><c> concrete</c><01:17:15.960><c> States</c>

01:17:16.370 --> 01:17:16.380 align:start position:0%
on on a concrete on on concrete States
 

01:17:16.380 --> 01:17:19.610 align:start position:0%
on on a concrete on on concrete States
so<01:17:17.280><c> you</c><01:17:17.580><c> always</c><01:17:17.699><c> have</c><01:17:18.080><c> concrete</c><01:17:19.080><c> data</c><01:17:19.380><c> and</c><01:17:19.500><c> you</c>

01:17:19.610 --> 01:17:19.620 align:start position:0%
so you always have concrete data and you
 

01:17:19.620 --> 01:17:21.169 align:start position:0%
so you always have concrete data and you
need<01:17:19.739><c> to</c><01:17:19.860><c> put</c><01:17:19.980><c> like</c><01:17:20.280><c> boundaries</c><01:17:20.820><c> on</c><01:17:21.000><c> the</c>

01:17:21.169 --> 01:17:21.179 align:start position:0%
need to put like boundaries on the
 

01:17:21.179 --> 01:17:23.270 align:start position:0%
need to put like boundaries on the
things<01:17:21.360><c> that</c><01:17:21.659><c> you</c><01:17:21.840><c> that</c><01:17:22.080><c> you</c><01:17:22.260><c> can</c><01:17:22.320><c> do</c><01:17:22.560><c> so</c><01:17:23.100><c> if</c>

01:17:23.270 --> 01:17:23.280 align:start position:0%
things that you that you can do so if
 

01:17:23.280 --> 01:17:27.649 align:start position:0%
things that you that you can do so if
you<01:17:23.460><c> say</c><01:17:23.760><c> a</c><01:17:24.300><c> user</c><01:17:24.840><c> should</c><01:17:25.340><c> eventually</c><01:17:26.659><c> uh</c>

01:17:27.649 --> 01:17:27.659 align:start position:0%
you say a user should eventually uh
 

01:17:27.659 --> 01:17:30.770 align:start position:0%
you say a user should eventually uh
receive<01:17:28.199><c> this</c><01:17:28.739><c> amount</c><01:17:29.100><c> and</c><01:17:29.940><c> eventually</c><01:17:30.360><c> means</c>

01:17:30.770 --> 01:17:30.780 align:start position:0%
receive this amount and eventually means
 

01:17:30.780 --> 01:17:32.450 align:start position:0%
receive this amount and eventually means
like<01:17:31.020><c> in</c><01:17:31.320><c> a</c><01:17:31.500><c> number</c><01:17:31.560><c> of</c><01:17:31.679><c> transactions</c><01:17:32.159><c> and</c><01:17:32.340><c> a</c>

01:17:32.450 --> 01:17:32.460 align:start position:0%
like in a number of transactions and a
 

01:17:32.460 --> 01:17:34.810 align:start position:0%
like in a number of transactions and a
number<01:17:32.580><c> of</c><01:17:32.699><c> blocks</c><01:17:33.179><c> or</c><01:17:33.239><c> timestamp</c><01:17:33.780><c> then</c><01:17:34.500><c> yes</c>

01:17:34.810 --> 01:17:34.820 align:start position:0%
number of blocks or timestamp then yes
 

01:17:34.820 --> 01:17:37.430 align:start position:0%
number of blocks or timestamp then yes
otherwise<01:17:35.820><c> it's</c><01:17:36.659><c> it's</c><01:17:36.840><c> more</c><01:17:37.080><c> like</c><01:17:37.260><c> a</c>

01:17:37.430 --> 01:17:37.440 align:start position:0%
otherwise it's it's more like a
 

01:17:37.440 --> 01:17:39.830 align:start position:0%
otherwise it's it's more like a
theoretical<01:17:38.000><c> proof</c><01:17:39.000><c> that</c><01:17:39.179><c> you're</c><01:17:39.300><c> doing</c><01:17:39.540><c> and</c>

01:17:39.830 --> 01:17:39.840 align:start position:0%
theoretical proof that you're doing and
 

01:17:39.840 --> 01:17:41.450 align:start position:0%
theoretical proof that you're doing and
you<01:17:40.199><c> probably</c><01:17:40.380><c> need</c><01:17:40.620><c> another</c><01:17:40.739><c> type</c><01:17:41.040><c> of</c><01:17:41.159><c> tool</c>

01:17:41.450 --> 01:17:41.460 align:start position:0%
you probably need another type of tool
 

01:17:41.460 --> 01:17:43.850 align:start position:0%
you probably need another type of tool
yeah<01:17:42.120><c> I</c><01:17:42.300><c> guess</c><01:17:42.480><c> I'm</c><01:17:43.020><c> curious</c><01:17:43.320><c> even</c><01:17:43.560><c> if</c><01:17:43.739><c> you</c>

01:17:43.850 --> 01:17:43.860 align:start position:0%
yeah I guess I'm curious even if you
 

01:17:43.860 --> 01:17:45.290 align:start position:0%
yeah I guess I'm curious even if you
took<01:17:44.040><c> like</c><01:17:44.219><c> the</c><01:17:44.460><c> bounded</c><01:17:44.940><c> case</c><01:17:45.060><c> because</c>

01:17:45.290 --> 01:17:45.300 align:start position:0%
took like the bounded case because
 

01:17:45.300 --> 01:17:46.669 align:start position:0%
took like the bounded case because
that's<01:17:45.480><c> fair</c><01:17:45.719><c> that</c><01:17:46.020><c> you're</c><01:17:46.199><c> dealing</c><01:17:46.560><c> with</c>

01:17:46.669 --> 01:17:46.679 align:start position:0%
that's fair that you're dealing with
 

01:17:46.679 --> 01:17:48.770 align:start position:0%
that's fair that you're dealing with
like<01:17:46.860><c> concrete</c><01:17:47.280><c> traces</c><01:17:47.699><c> here</c><01:17:47.880><c> it</c><01:17:48.420><c> seems</c><01:17:48.659><c> like</c>

01:17:48.770 --> 01:17:48.780 align:start position:0%
like concrete traces here it seems like
 

01:17:48.780 --> 01:17:50.630 align:start position:0%
like concrete traces here it seems like
that's<01:17:49.020><c> not</c><01:17:49.320><c> or</c><01:17:49.679><c> it's</c><01:17:49.800><c> not</c><01:17:49.980><c> intuitive</c><01:17:50.340><c> to</c><01:17:50.580><c> me</c>

01:17:50.630 --> 01:17:50.640 align:start position:0%
that's not or it's not intuitive to me
 

01:17:50.640 --> 01:17:52.189 align:start position:0%
that's not or it's not intuitive to me
anyway<01:17:50.820><c> how</c><01:17:51.120><c> you</c><01:17:51.300><c> would</c><01:17:51.420><c> Express</c><01:17:51.600><c> that</c><01:17:51.960><c> as</c>

01:17:52.189 --> 01:17:52.199 align:start position:0%
anyway how you would Express that as
 

01:17:52.199 --> 01:17:54.169 align:start position:0%
anyway how you would Express that as
like<01:17:52.500><c> one</c><01:17:52.739><c> of</c><01:17:52.860><c> these</c><01:17:53.040><c> invariants</c><01:17:53.520><c> so</c><01:17:53.880><c> you</c><01:17:54.060><c> you</c>

01:17:54.169 --> 01:17:54.179 align:start position:0%
like one of these invariants so you you
 

01:17:54.179 --> 01:17:56.810 align:start position:0%
like one of these invariants so you you
will<01:17:54.360><c> you</c><01:17:55.020><c> will</c><01:17:55.199><c> do</c><01:17:55.380><c> something</c><01:17:55.620><c> like</c><01:17:55.980><c> this</c><01:17:56.159><c> you</c>

01:17:56.810 --> 01:17:56.820 align:start position:0%
will you will do something like this you
 

01:17:56.820 --> 01:18:01.010 align:start position:0%
will you will do something like this you
will<01:17:57.000><c> put</c><01:17:57.300><c> a</c><01:17:57.719><c> function</c><01:17:58.260><c> that</c><01:17:58.920><c> says</c><01:17:59.300><c> uh</c><01:18:00.300><c> and</c><01:18:00.719><c> and</c>

01:18:01.010 --> 01:18:01.020 align:start position:0%
will put a function that says uh and and
 

01:18:01.020 --> 01:18:02.870 align:start position:0%
will put a function that says uh and and
you<01:18:01.440><c> will</c><01:18:01.500><c> need</c><01:18:01.739><c> a</c>

01:18:02.870 --> 01:18:02.880 align:start position:0%
you will need a
 

01:18:02.880 --> 01:18:06.410 align:start position:0%
you will need a
state<01:18:03.719><c> to</c><01:18:04.020><c> track</c><01:18:04.260><c> down</c><01:18:04.560><c> like</c><01:18:04.920><c> uh</c><01:18:05.640><c> you</c><01:18:05.880><c> you</c><01:18:06.120><c> do</c><01:18:06.300><c> a</c>

01:18:06.410 --> 01:18:06.420 align:start position:0%
state to track down like uh you you do a
 

01:18:06.420 --> 01:18:08.810 align:start position:0%
state to track down like uh you you do a
deposit<01:18:06.900><c> and</c><01:18:07.739><c> you</c><01:18:07.920><c> will</c><01:18:08.040><c> need</c><01:18:08.219><c> a</c><01:18:08.400><c> user</c><01:18:08.699><c> to</c>

01:18:08.810 --> 01:18:08.820 align:start position:0%
deposit and you will need a user to
 

01:18:08.820 --> 01:18:11.090 align:start position:0%
deposit and you will need a user to
eventually<01:18:09.120><c> receive</c><01:18:09.659><c> something</c><01:18:09.900><c> right</c><01:18:10.380><c> so</c>

01:18:11.090 --> 01:18:11.100 align:start position:0%
eventually receive something right so
 

01:18:11.100 --> 01:18:12.890 align:start position:0%
eventually receive something right so
you<01:18:11.460><c> will</c><01:18:11.640><c> need</c><01:18:11.820><c> to</c><01:18:12.060><c> have</c><01:18:12.239><c> a</c><01:18:12.420><c> state</c><01:18:12.600><c> that</c>

01:18:12.890 --> 01:18:12.900 align:start position:0%
you will need to have a state that
 

01:18:12.900 --> 01:18:16.370 align:start position:0%
you will need to have a state that
tracks<01:18:13.440><c> deposit</c><01:18:13.980><c> like</c><01:18:14.159><c> a</c><01:18:14.400><c> mapping</c><01:18:14.760><c> right</c><01:18:15.600><c> and</c>

01:18:16.370 --> 01:18:16.380 align:start position:0%
tracks deposit like a mapping right and
 

01:18:16.380 --> 01:18:18.169 align:start position:0%
tracks deposit like a mapping right and
you<01:18:16.620><c> have</c><01:18:16.739><c> a</c><01:18:16.920><c> function</c><01:18:17.159><c> that</c><01:18:17.580><c> is</c><01:18:17.940><c> your</c>

01:18:18.169 --> 01:18:18.179 align:start position:0%
you have a function that is your
 

01:18:18.179 --> 01:18:20.990 align:start position:0%
you have a function that is your
invariant<01:18:18.719><c> so</c><01:18:19.560><c> if</c>

01:18:20.990 --> 01:18:21.000 align:start position:0%
invariant so if
 

01:18:21.000 --> 01:18:23.689 align:start position:0%
invariant so if
um<01:18:21.060><c> and</c><01:18:21.719><c> then</c><01:18:21.960><c> you</c><01:18:22.140><c> receive</c><01:18:22.560><c> the</c><01:18:23.159><c> address</c><01:18:23.280><c> of</c><01:18:23.580><c> a</c>

01:18:23.689 --> 01:18:23.699 align:start position:0%
um and then you receive the address of a
 

01:18:23.699 --> 01:18:26.930 align:start position:0%
um and then you receive the address of a
user<01:18:24.000><c> and</c><01:18:24.540><c> you</c><01:18:24.659><c> check</c><01:18:24.840><c> in</c><01:18:25.020><c> the</c><01:18:25.140><c> mapping</c><01:18:25.520><c> uh</c><01:18:26.520><c> if</c>

01:18:26.930 --> 01:18:26.940 align:start position:0%
user and you check in the mapping uh if
 

01:18:26.940 --> 01:18:29.149 align:start position:0%
user and you check in the mapping uh if
if<01:18:27.360><c> the</c><01:18:27.840><c> time</c>

01:18:29.149 --> 01:18:29.159 align:start position:0%
if the time
 

01:18:29.159 --> 01:18:32.510 align:start position:0%
if the time
um<01:18:29.219><c> between</c><01:18:29.760><c> the</c><01:18:30.300><c> last</c><01:18:30.540><c> deposit</c><01:18:31.199><c> is</c><01:18:31.980><c> in</c><01:18:32.400><c> this</c>

01:18:32.510 --> 01:18:32.520 align:start position:0%
um between the last deposit is in this
 

01:18:32.520 --> 01:18:34.250 align:start position:0%
um between the last deposit is in this
range<01:18:32.940><c> then</c><01:18:33.480><c> you</c><01:18:33.659><c> were</c><01:18:33.840><c> going</c><01:18:33.960><c> to</c><01:18:34.080><c> check</c>

01:18:34.250 --> 01:18:34.260 align:start position:0%
range then you were going to check
 

01:18:34.260 --> 01:18:36.830 align:start position:0%
range then you were going to check
something<01:18:34.560><c> and</c><01:18:35.280><c> if</c><01:18:35.460><c> if</c><01:18:35.699><c> the</c><01:18:36.060><c> time</c><01:18:36.239><c> in</c><01:18:36.420><c> this</c><01:18:36.600><c> in</c>

01:18:36.830 --> 01:18:36.840 align:start position:0%
something and if if the time in this in
 

01:18:36.840 --> 01:18:38.030 align:start position:0%
something and if if the time in this in
this<01:18:36.960><c> other</c><01:18:37.140><c> range</c><01:18:37.440><c> you're</c><01:18:37.620><c> going</c><01:18:37.800><c> to</c><01:18:37.920><c> check</c>

01:18:38.030 --> 01:18:38.040 align:start position:0%
this other range you're going to check
 

01:18:38.040 --> 01:18:40.189 align:start position:0%
this other range you're going to check
some<01:18:38.280><c> something</c><01:18:38.580><c> else</c><01:18:38.880><c> so</c><01:18:39.480><c> it</c><01:18:39.600><c> will</c><01:18:39.780><c> be</c><01:18:39.960><c> like</c>

01:18:40.189 --> 01:18:40.199 align:start position:0%
some something else so it will be like
 

01:18:40.199 --> 01:18:44.149 align:start position:0%
some something else so it will be like
randomly<01:18:40.920><c> checking</c><01:18:41.520><c> in</c><01:18:41.880><c> in</c><01:18:42.239><c> transactions</c>

01:18:44.149 --> 01:18:44.159 align:start position:0%
randomly checking in in transactions
 

01:18:44.159 --> 01:18:46.610 align:start position:0%
randomly checking in in transactions
um<01:18:44.219><c> and</c><01:18:44.880><c> with</c><01:18:45.360><c> that</c><01:18:45.540><c> you</c><01:18:46.020><c> will</c><01:18:46.199><c> be</c><01:18:46.320><c> able</c><01:18:46.440><c> to</c>

01:18:46.610 --> 01:18:46.620 align:start position:0%
um and with that you will be able to
 

01:18:46.620 --> 01:18:47.530 align:start position:0%
um and with that you will be able to
cover

01:18:47.530 --> 01:18:47.540 align:start position:0%
cover
 

01:18:47.540 --> 01:18:50.810 align:start position:0%
cover
uh<01:18:48.540><c> given</c><01:18:49.380><c> the</c><01:18:49.560><c> fact</c><01:18:49.739><c> that</c><01:18:50.100><c> you're</c><01:18:50.400><c> going</c><01:18:50.699><c> to</c>

01:18:50.810 --> 01:18:50.820 align:start position:0%
uh given the fact that you're going to
 

01:18:50.820 --> 01:18:52.610 align:start position:0%
uh given the fact that you're going to
generate<01:18:51.239><c> enough</c><01:18:51.420><c> transactions</c><01:18:52.140><c> and</c><01:18:52.380><c> enough</c>

01:18:52.610 --> 01:18:52.620 align:start position:0%
generate enough transactions and enough
 

01:18:52.620 --> 01:18:54.770 align:start position:0%
generate enough transactions and enough
time<01:18:52.980><c> times</c><01:18:53.219><c> right</c><01:18:53.640><c> so</c><01:18:54.120><c> it</c><01:18:54.300><c> seems</c><01:18:54.540><c> like</c><01:18:54.600><c> the</c>

01:18:54.770 --> 01:18:54.780 align:start position:0%
time times right so it seems like the
 

01:18:54.780 --> 01:18:56.930 align:start position:0%
time times right so it seems like the
answer<01:18:54.960><c> is</c><01:18:55.199><c> it's</c><01:18:55.620><c> capable</c><01:18:56.219><c> of</c><01:18:56.400><c> doing</c><01:18:56.580><c> it</c><01:18:56.760><c> but</c>

01:18:56.930 --> 01:18:56.940 align:start position:0%
answer is it's capable of doing it but
 

01:18:56.940 --> 01:18:58.669 align:start position:0%
answer is it's capable of doing it but
it<01:18:57.120><c> requires</c><01:18:57.540><c> some</c><01:18:57.780><c> like</c><01:18:57.960><c> kind</c><01:18:58.140><c> of</c><01:18:58.260><c> manual</c>

01:18:58.669 --> 01:18:58.679 align:start position:0%
it requires some like kind of manual
 

01:18:58.679 --> 01:19:00.470 align:start position:0%
it requires some like kind of manual
adjustment<01:18:59.280><c> of</c><01:18:59.460><c> the</c><01:18:59.580><c> code</c><01:18:59.699><c> almost</c><01:18:59.940><c> to</c><01:19:00.300><c> add</c>

01:19:00.470 --> 01:19:00.480 align:start position:0%
adjustment of the code almost to add
 

01:19:00.480 --> 01:19:03.470 align:start position:0%
adjustment of the code almost to add
state<01:19:00.780><c> of</c><01:19:00.900><c> it</c><01:19:01.140><c> so</c><01:19:01.320><c> yeah</c><01:19:01.500><c> you</c><01:19:01.679><c> will</c><01:19:01.860><c> you</c><01:19:02.159><c> so</c><01:19:02.820><c> if</c>

01:19:03.470 --> 01:19:03.480 align:start position:0%
state of it so yeah you will you so if
 

01:19:03.480 --> 01:19:05.630 align:start position:0%
state of it so yeah you will you so if
the<01:19:03.719><c> if</c><01:19:04.260><c> the</c><01:19:04.500><c> property</c><01:19:04.800><c> that</c><01:19:04.920><c> you</c><01:19:05.100><c> are</c><01:19:05.280><c> testing</c>

01:19:05.630 --> 01:19:05.640 align:start position:0%
the if the property that you are testing
 

01:19:05.640 --> 01:19:09.290 align:start position:0%
the if the property that you are testing
requires<01:19:06.540><c> to</c><01:19:07.260><c> add</c><01:19:07.620><c> State</c><01:19:07.980><c> yes</c><01:19:08.400><c> you</c><01:19:08.880><c> will</c><01:19:09.060><c> need</c>

01:19:09.290 --> 01:19:09.300 align:start position:0%
requires to add State yes you will need
 

01:19:09.300 --> 01:19:12.470 align:start position:0%
requires to add State yes you will need
to<01:19:09.420><c> add</c><01:19:09.719><c> whatever</c><01:19:10.380><c> state</c><01:19:10.920><c> is</c><01:19:11.460><c> needed</c><01:19:11.880><c> it</c><01:19:12.300><c> won't</c>

01:19:12.470 --> 01:19:12.480 align:start position:0%
to add whatever state is needed it won't
 

01:19:12.480 --> 01:19:14.930 align:start position:0%
to add whatever state is needed it won't
be<01:19:12.600><c> able</c><01:19:12.780><c> to</c><01:19:12.960><c> track</c><01:19:13.199><c> state</c><01:19:13.560><c> outside</c>

01:19:14.930 --> 01:19:14.940 align:start position:0%
be able to track state outside
 

01:19:14.940 --> 01:19:16.729 align:start position:0%
be able to track state outside
right<01:19:15.179><c> the</c><01:19:15.659><c> only</c><01:19:15.719><c> thing</c><01:19:15.960><c> that</c><01:19:16.140><c> will</c><01:19:16.380><c> be</c>

01:19:16.729 --> 01:19:16.739 align:start position:0%
right the only thing that will be
 

01:19:16.739 --> 01:19:20.090 align:start position:0%
right the only thing that will be
tracked<01:19:17.159><c> outside</c><01:19:17.400><c> is</c><01:19:18.199><c> the</c><01:19:19.199><c> increment</c><01:19:19.620><c> between</c>

01:19:20.090 --> 01:19:20.100 align:start position:0%
tracked outside is the increment between
 

01:19:20.100 --> 01:19:24.229 align:start position:0%
tracked outside is the increment between
between<01:19:21.060><c> the</c><01:19:21.840><c> uh</c><01:19:22.620><c> different</c><01:19:22.920><c> blocks</c>

01:19:24.229 --> 01:19:24.239 align:start position:0%
between the uh different blocks
 

01:19:24.239 --> 01:19:26.209 align:start position:0%
between the uh different blocks
for<01:19:24.659><c> instance</c><01:19:24.960><c> so</c><01:19:25.500><c> that</c><01:19:25.620><c> that</c><01:19:25.860><c> will</c><01:19:26.100><c> be</c>

01:19:26.209 --> 01:19:26.219 align:start position:0%
for instance so that that will be
 

01:19:26.219 --> 01:19:28.610 align:start position:0%
for instance so that that will be
tracked<01:19:26.640><c> uh</c><01:19:27.120><c> outside</c><01:19:27.360><c> a</c><01:19:27.780><c> new</c><01:19:27.960><c> Aquino</c><01:19:28.380><c> will</c>

01:19:28.610 --> 01:19:28.620 align:start position:0%
tracked uh outside a new Aquino will
 

01:19:28.620 --> 01:19:30.709 align:start position:0%
tracked uh outside a new Aquino will
show<01:19:28.800><c> you</c><01:19:28.920><c> from</c><01:19:29.640><c> in</c><01:19:30.000><c> between</c><01:19:30.239><c> this</c>

01:19:30.709 --> 01:19:30.719 align:start position:0%
show you from in between this
 

01:19:30.719 --> 01:19:32.390 align:start position:0%
show you from in between this
transactions<01:19:31.260><c> and</c><01:19:31.440><c> this</c><01:19:31.560><c> transaction</c><01:19:31.920><c> I</c><01:19:32.280><c> have</c>

01:19:32.390 --> 01:19:32.400 align:start position:0%
transactions and this transaction I have
 

01:19:32.400 --> 01:19:34.669 align:start position:0%
transactions and this transaction I have
10<01:19:32.699><c> blocks</c><01:19:33.179><c> that</c><01:19:33.600><c> will</c><01:19:33.780><c> be</c><01:19:33.960><c> tracked</c><01:19:34.320><c> uh</c>

01:19:34.669 --> 01:19:34.679 align:start position:0%
10 blocks that will be tracked uh
 

01:19:34.679 --> 01:19:36.649 align:start position:0%
10 blocks that will be tracked uh
outside<01:19:34.920><c> but</c><01:19:35.280><c> everything</c><01:19:35.520><c> else</c><01:19:35.880><c> if</c><01:19:36.420><c> you</c><01:19:36.540><c> need</c>

01:19:36.649 --> 01:19:36.659 align:start position:0%
outside but everything else if you need
 

01:19:36.659 --> 01:19:39.410 align:start position:0%
outside but everything else if you need
to<01:19:36.780><c> do</c><01:19:36.900><c> a</c><01:19:37.080><c> mapping</c><01:19:37.440><c> between</c><01:19:38.040><c> users</c><01:19:38.699><c> and</c><01:19:39.000><c> and</c>

01:19:39.410 --> 01:19:39.420 align:start position:0%
to do a mapping between users and and
 

01:19:39.420 --> 01:19:41.090 align:start position:0%
to do a mapping between users and and
the<01:19:39.719><c> time</c><01:19:39.900><c> between</c>

01:19:41.090 --> 01:19:41.100 align:start position:0%
the time between
 

01:19:41.100 --> 01:19:43.250 align:start position:0%
the time between
certain<01:19:41.760><c> operation</c><01:19:42.239><c> you</c><01:19:42.659><c> will</c><01:19:42.780><c> need</c><01:19:42.960><c> to</c><01:19:43.080><c> keep</c>

01:19:43.250 --> 01:19:43.260 align:start position:0%
certain operation you will need to keep
 

01:19:43.260 --> 01:19:46.430 align:start position:0%
certain operation you will need to keep
that<01:19:43.560><c> in</c><01:19:43.980><c> a</c><01:19:44.159><c> different</c><01:19:44.280><c> in</c><01:19:44.820><c> installation</c><01:19:45.780><c> in</c><01:19:46.020><c> a</c>

01:19:46.430 --> 01:19:46.440 align:start position:0%
that in a different in installation in a
 

01:19:46.440 --> 01:19:51.229 align:start position:0%
that in a different in installation in a
different<01:19:46.560><c> bio</c><01:19:46.920><c> I</c><01:19:47.760><c> see</c><01:19:47.940><c> great</c><01:19:48.239><c> thank</c><01:19:48.480><c> you</c>

01:19:51.229 --> 01:19:51.239 align:start position:0%
 
 

01:19:51.239 --> 01:19:54.169 align:start position:0%
 
all<01:19:51.719><c> right</c><01:19:51.780><c> so</c><01:19:52.460><c> we</c><01:19:53.460><c> have</c>

01:19:54.169 --> 01:19:54.179 align:start position:0%
all right so we have
 

01:19:54.179 --> 01:19:58.669 align:start position:0%
all right so we have
some<01:19:54.659><c> other</c><01:19:54.780><c> questions</c>

01:19:58.669 --> 01:19:58.679 align:start position:0%
 
 

01:19:58.679 --> 01:20:00.169 align:start position:0%
 
hi

01:20:00.169 --> 01:20:00.179 align:start position:0%
hi
 

01:20:00.179 --> 01:20:02.149 align:start position:0%
hi
um<01:20:00.300><c> is</c><01:20:00.540><c> there</c><01:20:00.659><c> any</c><01:20:00.780><c> feature</c><01:20:01.320><c> that</c><01:20:01.500><c> allow</c><01:20:01.860><c> me</c><01:20:02.040><c> to</c>

01:20:02.149 --> 01:20:02.159 align:start position:0%
um is there any feature that allow me to
 

01:20:02.159 --> 01:20:04.370 align:start position:0%
um is there any feature that allow me to
guide<01:20:02.460><c> the</c><01:20:02.699><c> future</c><01:20:02.940><c> or</c><01:20:03.360><c> the</c><01:20:03.600><c> domain</c><01:20:03.840><c> of</c><01:20:04.020><c> values</c>

01:20:04.370 --> 01:20:04.380 align:start position:0%
guide the future or the domain of values
 

01:20:04.380 --> 01:20:06.470 align:start position:0%
guide the future or the domain of values
that<01:20:04.620><c> I</c><01:20:04.800><c> want</c><01:20:04.920><c> to</c><01:20:05.040><c> try</c>

01:20:06.470 --> 01:20:06.480 align:start position:0%
that I want to try
 

01:20:06.480 --> 01:20:10.070 align:start position:0%
that I want to try
um so<01:20:07.440><c> in</c><01:20:07.739><c> order</c><01:20:07.920><c> to</c><01:20:08.159><c> in</c><01:20:08.820><c> order</c><01:20:09.000><c> to</c><01:20:09.360><c> guide</c><01:20:09.719><c> the</c>

01:20:10.070 --> 01:20:10.080 align:start position:0%
um so in order to in order to guide the
 

01:20:10.080 --> 01:20:12.709 align:start position:0%
um so in order to in order to guide the
the<01:20:10.380><c> faster</c><01:20:10.620><c> into</c><01:20:10.920><c> a</c><01:20:11.219><c> particular</c><01:20:11.520><c> State</c><01:20:12.060><c> the</c>

01:20:12.709 --> 01:20:12.719 align:start position:0%
the faster into a particular State the
 

01:20:12.719 --> 01:20:15.830 align:start position:0%
the faster into a particular State the
easiest<01:20:12.960><c> way</c><01:20:13.199><c> to</c><01:20:13.380><c> do</c><01:20:13.560><c> it</c><01:20:13.679><c> is</c><01:20:14.219><c> to</c><01:20:14.460><c> add</c>

01:20:15.830 --> 01:20:15.840 align:start position:0%
easiest way to do it is to add
 

01:20:15.840 --> 01:20:18.830 align:start position:0%
easiest way to do it is to add
um<01:20:15.960><c> is</c><01:20:16.320><c> is</c><01:20:16.620><c> to</c><01:20:16.860><c> add</c><01:20:17.040><c> a</c><01:20:17.580><c> small</c><01:20:18.179><c> piece</c><01:20:18.540><c> of</c><01:20:18.600><c> code</c>

01:20:18.830 --> 01:20:18.840 align:start position:0%
um is is to add a small piece of code
 

01:20:18.840 --> 01:20:22.330 align:start position:0%
um is is to add a small piece of code
that<01:20:19.620><c> will</c><01:20:19.800><c> be</c><01:20:19.920><c> auxiliary</c><01:20:20.520><c> code</c><01:20:20.760><c> in</c><01:20:21.239><c> order</c><01:20:21.360><c> to</c>

01:20:22.330 --> 01:20:22.340 align:start position:0%
that will be auxiliary code in order to
 

01:20:22.340 --> 01:20:25.310 align:start position:0%
that will be auxiliary code in order to
uh<01:20:23.340><c> move</c><01:20:23.699><c> the</c><01:20:24.000><c> state</c><01:20:24.300><c> from</c><01:20:24.840><c> your</c><01:20:25.020><c> contract</c>

01:20:25.310 --> 01:20:25.320 align:start position:0%
uh move the state from your contract
 

01:20:25.320 --> 01:20:27.890 align:start position:0%
uh move the state from your contract
into<01:20:25.500><c> something</c><01:20:25.739><c> else</c><01:20:26.040><c> like</c><01:20:26.520><c> for</c><01:20:26.940><c> instance</c><01:20:27.179><c> if</c>

01:20:27.890 --> 01:20:27.900 align:start position:0%
into something else like for instance if
 

01:20:27.900 --> 01:20:30.709 align:start position:0%
into something else like for instance if
you<01:20:28.080><c> have</c><01:20:28.320><c> if</c><01:20:28.860><c> you</c><01:20:28.980><c> have</c><01:20:29.159><c> a</c><01:20:29.340><c> contract</c><01:20:29.699><c> uh</c><01:20:30.179><c> the</c>

01:20:30.709 --> 01:20:30.719 align:start position:0%
you have if you have a contract uh the
 

01:20:30.719 --> 01:20:34.130 align:start position:0%
you have if you have a contract uh the
protocol<01:20:31.020><c> that</c><01:20:31.260><c> requires</c><01:20:31.820><c> a</c><01:20:32.820><c> deposit</c><01:20:33.540><c> with</c><01:20:33.900><c> a</c>

01:20:34.130 --> 01:20:34.140 align:start position:0%
protocol that requires a deposit with a
 

01:20:34.140 --> 01:20:38.030 align:start position:0%
protocol that requires a deposit with a
particular<01:20:35.000><c> uh</c><01:20:36.000><c> property</c><01:20:36.360><c> let's</c><01:20:36.659><c> say</c><01:20:36.900><c> that</c><01:20:37.320><c> uh</c>

01:20:38.030 --> 01:20:38.040 align:start position:0%
particular uh property let's say that uh
 

01:20:38.040 --> 01:20:41.030 align:start position:0%
particular uh property let's say that uh
you<01:20:38.219><c> have</c><01:20:38.400><c> three</c><01:20:38.880><c> parameters</c><01:20:39.600><c> and</c><01:20:40.140><c> you</c><01:20:40.320><c> need</c><01:20:40.560><c> a</c>

01:20:41.030 --> 01:20:41.040 align:start position:0%
you have three parameters and you need a
 

01:20:41.040 --> 01:20:44.030 align:start position:0%
you have three parameters and you need a
deposit<01:20:41.580><c> that</c><01:20:42.300><c> has</c><01:20:42.540><c> uh</c><01:20:43.380><c> that</c><01:20:43.620><c> has</c><01:20:43.739><c> digital</c>

01:20:44.030 --> 01:20:44.040 align:start position:0%
deposit that has uh that has digital
 

01:20:44.040 --> 01:20:47.450 align:start position:0%
deposit that has uh that has digital
parameter<01:20:44.520><c> in</c><01:20:45.360><c> in</c><01:20:45.780><c> in</c><01:20:46.020><c> the</c><01:20:46.739><c> Sim</c><01:20:46.920><c> in</c><01:20:47.159><c> the</c><01:20:47.340><c> same</c>

01:20:47.450 --> 01:20:47.460 align:start position:0%
parameter in in in the Sim in the same
 

01:20:47.460 --> 01:20:49.550 align:start position:0%
parameter in in in the Sim in the same
number<01:20:47.699><c> or</c><01:20:48.000><c> in</c><01:20:48.420><c> numbers</c><01:20:48.600><c> in</c><01:20:48.900><c> which</c><01:20:49.020><c> in</c><01:20:49.260><c> which</c>

01:20:49.550 --> 01:20:49.560 align:start position:0%
number or in numbers in which in which
 

01:20:49.560 --> 01:20:51.830 align:start position:0%
number or in numbers in which in which
are<01:20:49.739><c> difficult</c><01:20:50.219><c> to</c><01:20:51.000><c> find</c><01:20:51.120><c> you</c><01:20:51.360><c> can</c><01:20:51.480><c> have</c><01:20:51.659><c> this</c>

01:20:51.830 --> 01:20:51.840 align:start position:0%
are difficult to find you can have this
 

01:20:51.840 --> 01:20:52.910 align:start position:0%
are difficult to find you can have this
piece<01:20:52.199><c> of</c><01:20:52.260><c> code</c>

01:20:52.910 --> 01:20:52.920 align:start position:0%
piece of code
 

01:20:52.920 --> 01:20:56.090 align:start position:0%
piece of code
but<01:20:53.880><c> it's</c><01:20:54.659><c> important</c><01:20:55.020><c> to</c><01:20:55.260><c> let</c><01:20:55.380><c> the</c><01:20:55.560><c> kidnap</c><01:20:55.920><c> to</c>

01:20:56.090 --> 01:20:56.100 align:start position:0%
but it's important to let the kidnap to
 

01:20:56.100 --> 01:20:57.770 align:start position:0%
but it's important to let the kidnap to
explore<01:20:56.400><c> freely</c><01:20:56.760><c> at</c><01:20:57.060><c> the</c><01:20:57.239><c> same</c><01:20:57.300><c> time</c><01:20:57.420><c> that</c><01:20:57.659><c> you</c>

01:20:57.770 --> 01:20:57.780 align:start position:0%
explore freely at the same time that you
 

01:20:57.780 --> 01:21:00.290 align:start position:0%
explore freely at the same time that you
are<01:20:57.900><c> allowing</c><01:20:58.320><c> information</c><01:20:58.860><c> so</c><01:20:59.820><c> it's</c><01:21:00.000><c> it's</c>

01:21:00.290 --> 01:21:00.300 align:start position:0%
are allowing information so it's it's
 

01:21:00.300 --> 01:21:04.130 align:start position:0%
are allowing information so it's it's
actually<01:21:00.600><c> important</c><01:21:01.320><c> to</c><01:21:02.040><c> know</c><01:21:02.880><c> that</c><01:21:03.239><c> as</c><01:21:03.900><c> an</c>

01:21:04.130 --> 01:21:04.140 align:start position:0%
actually important to know that as an
 

01:21:04.140 --> 01:21:06.530 align:start position:0%
actually important to know that as an
auditor<01:21:04.560><c> or</c><01:21:04.739><c> as</c><01:21:04.920><c> a</c><01:21:05.040><c> developer</c><01:21:05.460><c> you</c><01:21:06.000><c> are</c><01:21:06.120><c> adding</c>

01:21:06.530 --> 01:21:06.540 align:start position:0%
auditor or as a developer you are adding
 

01:21:06.540 --> 01:21:08.930 align:start position:0%
auditor or as a developer you are adding
information<01:21:06.719><c> into</c><01:21:07.140><c> into</c><01:21:07.560><c> not</c><01:21:08.219><c> just</c><01:21:08.460><c> using</c><01:21:08.820><c> it</c>

01:21:08.930 --> 01:21:08.940 align:start position:0%
information into into not just using it
 

01:21:08.940 --> 01:21:11.930 align:start position:0%
information into into not just using it
as<01:21:09.120><c> a</c><01:21:09.300><c> black</c><01:21:09.360><c> box</c><01:21:09.620><c> right</c><01:21:10.620><c> so</c><01:21:11.219><c> every</c><01:21:11.580><c> state</c>

01:21:11.930 --> 01:21:11.940 align:start position:0%
as a black box right so every state
 

01:21:11.940 --> 01:21:14.270 align:start position:0%
as a black box right so every state
transition<01:21:12.420><c> that</c><01:21:13.020><c> is</c><01:21:13.199><c> non-trivial</c><01:21:13.860><c> to</c><01:21:14.100><c> find</c>

01:21:14.270 --> 01:21:14.280 align:start position:0%
transition that is non-trivial to find
 

01:21:14.280 --> 01:21:17.270 align:start position:0%
transition that is non-trivial to find
or<01:21:14.820><c> is</c><01:21:15.060><c> really</c><01:21:15.239><c> really</c><01:21:15.420><c> important</c><01:21:15.980><c> you</c><01:21:16.980><c> you</c>

01:21:17.270 --> 01:21:17.280 align:start position:0%
or is really really important you you
 

01:21:17.280 --> 01:21:20.149 align:start position:0%
or is really really important you you
can<01:21:17.520><c> have</c><01:21:17.699><c> it</c><01:21:17.880><c> and</c><01:21:18.420><c> make</c><01:21:18.719><c> sure</c><01:21:18.960><c> that</c><01:21:19.320><c> it</c><01:21:19.980><c> can</c>

01:21:20.149 --> 01:21:20.159 align:start position:0%
can have it and make sure that it can
 

01:21:20.159 --> 01:21:22.010 align:start position:0%
can have it and make sure that it can
eventually<01:21:20.580><c> execute</c><01:21:21.120><c> it</c><01:21:21.300><c> because</c><01:21:21.540><c> it's</c><01:21:21.780><c> going</c>

01:21:22.010 --> 01:21:22.020 align:start position:0%
eventually execute it because it's going
 

01:21:22.020 --> 01:21:24.470 align:start position:0%
eventually execute it because it's going
to<01:21:22.140><c> be</c><01:21:22.320><c> another</c><01:21:22.560><c> another</c><01:21:22.980><c> transaction</c><01:21:23.580><c> to</c><01:21:23.940><c> to</c>

01:21:24.470 --> 01:21:24.480 align:start position:0%
to be another another transaction to to
 

01:21:24.480 --> 01:21:27.050 align:start position:0%
to be another another transaction to to
execute<01:21:24.840><c> but</c><01:21:25.320><c> at</c><01:21:25.500><c> the</c><01:21:25.620><c> same</c><01:21:25.800><c> time</c><01:21:26.040><c> you</c><01:21:26.699><c> want</c><01:21:26.940><c> to</c>

01:21:27.050 --> 01:21:27.060 align:start position:0%
execute but at the same time you want to
 

01:21:27.060 --> 01:21:29.750 align:start position:0%
execute but at the same time you want to
allow<01:21:27.480><c> the</c><01:21:27.780><c> tool</c><01:21:28.199><c> to</c><01:21:28.560><c> explore</c><01:21:28.920><c> things</c><01:21:29.520><c> that</c>

01:21:29.750 --> 01:21:29.760 align:start position:0%
allow the tool to explore things that
 

01:21:29.760 --> 01:21:31.850 align:start position:0%
allow the tool to explore things that
you<01:21:29.940><c> don't</c><01:21:30.060><c> expect</c><01:21:30.300><c> because</c><01:21:31.020><c> if</c><01:21:31.380><c> you</c><01:21:31.560><c> just</c>

01:21:31.850 --> 01:21:31.860 align:start position:0%
you don't expect because if you just
 

01:21:31.860 --> 01:21:34.970 align:start position:0%
you don't expect because if you just
restrict<01:21:32.400><c> says</c><01:21:33.239><c> I</c><01:21:33.659><c> only</c><01:21:33.780><c> expect</c><01:21:34.080><c> users</c><01:21:34.620><c> to</c><01:21:34.800><c> do</c>

01:21:34.970 --> 01:21:34.980 align:start position:0%
restrict says I only expect users to do
 

01:21:34.980 --> 01:21:38.450 align:start position:0%
restrict says I only expect users to do
these<01:21:35.280><c> type</c><01:21:35.400><c> of</c><01:21:35.520><c> deposits</c><01:21:36.239><c> then</c><01:21:37.140><c> you</c><01:21:37.560><c> can</c><01:21:37.739><c> you</c>

01:21:38.450 --> 01:21:38.460 align:start position:0%
these type of deposits then you can you
 

01:21:38.460 --> 01:21:40.850 align:start position:0%
these type of deposits then you can you
can<01:21:38.580><c> be</c><01:21:38.880><c> surprised</c><01:21:39.360><c> later</c><01:21:39.600><c> because</c><01:21:40.440><c> there</c>

01:21:40.850 --> 01:21:40.860 align:start position:0%
can be surprised later because there
 

01:21:40.860 --> 01:21:42.830 align:start position:0%
can be surprised later because there
there<01:21:41.159><c> is</c><01:21:41.460><c> a</c><01:21:41.820><c> way</c><01:21:41.940><c> to</c><01:21:42.239><c> break</c><01:21:42.360><c> your</c><01:21:42.600><c> your</c>

01:21:42.830 --> 01:21:42.840 align:start position:0%
there is a way to break your your
 

01:21:42.840 --> 01:21:44.510 align:start position:0%
there is a way to break your your
property<01:21:43.260><c> using</c><01:21:43.739><c> things</c><01:21:44.040><c> that</c><01:21:44.280><c> you</c><01:21:44.400><c> don't</c>

01:21:44.510 --> 01:21:44.520 align:start position:0%
property using things that you don't
 

01:21:44.520 --> 01:21:45.770 align:start position:0%
property using things that you don't
expect

01:21:45.770 --> 01:21:45.780 align:start position:0%
expect
 

01:21:45.780 --> 01:21:47.709 align:start position:0%
expect
okay<01:21:46.380><c> thanks</c>

01:21:47.709 --> 01:21:47.719 align:start position:0%
okay thanks
 

01:21:47.719 --> 01:21:50.090 align:start position:0%
okay thanks
and<01:21:48.719><c> it</c><01:21:49.020><c> comes</c><01:21:49.260><c> down</c><01:21:49.380><c> to</c><01:21:49.560><c> the</c><01:21:49.739><c> previous</c>

01:21:50.090 --> 01:21:50.100 align:start position:0%
and it comes down to the previous
 

01:21:50.100 --> 01:21:52.910 align:start position:0%
and it comes down to the previous
question<01:21:50.520><c> where</c><01:21:50.940><c> either</c><01:21:51.659><c> you</c><01:21:51.960><c> start</c><01:21:52.260><c> with</c><01:21:52.560><c> a</c>

01:21:52.910 --> 01:21:52.920 align:start position:0%
question where either you start with a
 

01:21:52.920 --> 01:21:54.410 align:start position:0%
question where either you start with a
lot<01:21:53.040><c> of</c><01:21:53.159><c> requirements</c><01:21:53.760><c> and</c><01:21:53.940><c> a</c><01:21:54.120><c> lot</c><01:21:54.179><c> of</c><01:21:54.239><c> you</c>

01:21:54.410 --> 01:21:54.420 align:start position:0%
lot of requirements and a lot of you
 

01:21:54.420 --> 01:21:55.669 align:start position:0%
lot of requirements and a lot of you
know<01:21:54.540><c> restriction</c><01:21:54.900><c> in</c><01:21:55.140><c> what</c><01:21:55.320><c> you</c><01:21:55.440><c> are</c><01:21:55.560><c> trying</c>

01:21:55.669 --> 01:21:55.679 align:start position:0%
know restriction in what you are trying
 

01:21:55.679 --> 01:21:58.610 align:start position:0%
know restriction in what you are trying
to<01:21:55.860><c> explore</c><01:21:56.159><c> and</c><01:21:57.060><c> if</c><01:21:57.659><c> it</c><01:21:57.840><c> odds</c><01:21:58.320><c> you</c><01:21:58.380><c> are</c><01:21:58.560><c> going</c>

01:21:58.610 --> 01:21:58.620 align:start position:0%
to explore and if it odds you are going
 

01:21:58.620 --> 01:22:01.250 align:start position:0%
to explore and if it odds you are going
to<01:21:58.739><c> remove</c><01:21:59.340><c> some</c><01:21:59.699><c> of</c><01:21:59.820><c> the</c><01:21:59.940><c> restriction</c><01:22:00.360><c> or</c><01:22:01.020><c> you</c>

01:22:01.250 --> 01:22:01.260 align:start position:0%
to remove some of the restriction or you
 

01:22:01.260 --> 01:22:02.930 align:start position:0%
to remove some of the restriction or you
start<01:22:01.380><c> this</c><01:22:01.560><c> opposing</c><01:22:01.980><c> Direction</c><01:22:02.100><c> you</c><01:22:02.699><c> don't</c>

01:22:02.930 --> 01:22:02.940 align:start position:0%
start this opposing Direction you don't
 

01:22:02.940 --> 01:22:04.850 align:start position:0%
start this opposing Direction you don't
have<01:22:03.060><c> any</c><01:22:03.179><c> restriction</c><01:22:03.719><c> and</c><01:22:04.080><c> you</c><01:22:04.260><c> know</c><01:22:04.380><c> you</c><01:22:04.620><c> go</c>

01:22:04.850 --> 01:22:04.860 align:start position:0%
have any restriction and you know you go
 

01:22:04.860 --> 01:22:16.850 align:start position:0%
have any restriction and you know you go
more<01:22:05.460><c> and</c><01:22:05.640><c> more</c><01:22:05.820><c> restricted</c>

01:22:16.850 --> 01:22:16.860 align:start position:0%
 
 

01:22:16.860 --> 01:22:45.229 align:start position:0%
 
foreign

01:22:45.229 --> 01:22:45.239 align:start position:0%
 
 

01:22:45.239 --> 01:22:51.189 align:start position:0%
 
yeah

01:22:51.189 --> 01:22:51.199 align:start position:0%
 
 

01:22:51.199 --> 01:22:57.430 align:start position:0%
 
thank<01:22:52.199><c> you</c>

01:22:57.430 --> 01:22:57.440 align:start position:0%
 
 

01:22:57.440 --> 01:22:59.110 align:start position:0%
 
okay

01:22:59.110 --> 01:22:59.120 align:start position:0%
okay
 

01:22:59.120 --> 01:23:02.870 align:start position:0%
okay
so<01:23:00.120><c> did</c><01:23:00.239><c> anyone</c><01:23:00.900><c> manage</c><01:23:01.500><c> to</c><01:23:01.620><c> at</c><01:23:01.860><c> least</c><01:23:02.040><c> uh</c>

01:23:02.870 --> 01:23:02.880 align:start position:0%
so did anyone manage to at least uh
 

01:23:02.880 --> 01:23:06.410 align:start position:0%
so did anyone manage to at least uh
Still<01:23:03.300><c> Still</c><01:23:03.719><c> start</c><01:23:04.620><c> to</c><01:23:05.239><c> create</c><01:23:06.239><c> the</c>

01:23:06.410 --> 01:23:06.420 align:start position:0%
Still Still start to create the
 

01:23:06.420 --> 01:23:09.169 align:start position:0%
Still Still start to create the
Constructor<01:23:06.780><c> or</c><01:23:07.140><c> even</c><01:23:07.440><c> run</c><01:23:07.679><c> it</c><01:23:07.920><c> uh</c><01:23:08.580><c> to</c><01:23:09.000><c> have</c>

01:23:09.169 --> 01:23:09.179 align:start position:0%
Constructor or even run it uh to have
 

01:23:09.179 --> 01:23:10.430 align:start position:0%
Constructor or even run it uh to have
some

01:23:10.430 --> 01:23:10.440 align:start position:0%
some
 

01:23:10.440 --> 01:23:13.010 align:start position:0%
some
some<01:23:10.739><c> invariant</c>

01:23:13.010 --> 01:23:13.020 align:start position:0%
some invariant
 

01:23:13.020 --> 01:23:15.290 align:start position:0%
some invariant
or<01:23:13.560><c> even</c><01:23:13.679><c> think</c><01:23:13.920><c> about</c><01:23:14.100><c> the</c><01:23:14.400><c> invariant</c><01:23:15.120><c> that</c>

01:23:15.290 --> 01:23:15.300 align:start position:0%
or even think about the invariant that
 

01:23:15.300 --> 01:23:24.490 align:start position:0%
or even think about the invariant that
you<01:23:15.420><c> need</c>

01:23:24.490 --> 01:23:24.500 align:start position:0%
 
 

01:23:24.500 --> 01:23:29.470 align:start position:0%
 
thank<01:23:25.500><c> you</c>

01:23:29.470 --> 01:23:29.480 align:start position:0%
 
 

01:23:29.480 --> 01:23:32.330 align:start position:0%
 
so<01:23:30.480><c> in</c><01:23:30.719><c> a</c><01:23:31.080><c> couple</c><01:23:31.140><c> of</c><01:23:31.260><c> minutes</c><01:23:31.440><c> we'll</c><01:23:31.739><c> go</c><01:23:31.980><c> over</c>

01:23:32.330 --> 01:23:32.340 align:start position:0%
so in a couple of minutes we'll go over
 

01:23:32.340 --> 01:23:35.390 align:start position:0%
so in a couple of minutes we'll go over
the<01:23:32.640><c> conclusions</c><01:23:33.239><c> and</c><01:23:33.960><c> I</c><01:23:34.199><c> will</c><01:23:34.320><c> show</c><01:23:34.620><c> the</c><01:23:34.920><c> the</c>

01:23:35.390 --> 01:23:35.400 align:start position:0%
the conclusions and I will show the the
 

01:23:35.400 --> 01:23:37.669 align:start position:0%
the conclusions and I will show the the
solution

01:23:37.669 --> 01:23:37.679 align:start position:0%
solution
 

01:23:37.679 --> 01:23:43.550 align:start position:0%
solution
um

01:23:43.550 --> 01:23:43.560 align:start position:0%
 
 

01:23:43.560 --> 01:23:45.169 align:start position:0%
 
but<01:23:43.860><c> yeah</c><01:23:44.040><c> happy</c><01:23:44.219><c> to</c><01:23:44.400><c> take</c><01:23:44.520><c> any</c><01:23:44.640><c> additional</c>

01:23:45.169 --> 01:23:45.179 align:start position:0%
but yeah happy to take any additional
 

01:23:45.179 --> 01:23:58.610 align:start position:0%
but yeah happy to take any additional
questions

01:23:58.610 --> 01:23:58.620 align:start position:0%
 
 

01:23:58.620 --> 01:24:18.590 align:start position:0%
 
thank<01:23:58.739><c> you</c>

01:24:18.590 --> 01:24:18.600 align:start position:0%
 
 

01:24:18.600 --> 01:24:22.550 align:start position:0%
 
just<01:24:19.440><c> from</c><01:24:19.739><c> an</c><01:24:19.920><c> implementation</c><01:24:20.900><c> uh</c><01:24:21.900><c> side</c><01:24:22.260><c> I'm</c>

01:24:22.550 --> 01:24:22.560 align:start position:0%
just from an implementation uh side I'm
 

01:24:22.560 --> 01:24:23.689 align:start position:0%
just from an implementation uh side I'm
curious<01:24:22.860><c> what</c>

01:24:23.689 --> 01:24:23.699 align:start position:0%
curious what
 

01:24:23.699 --> 01:24:26.930 align:start position:0%
curious what
um<01:24:23.960><c> what</c><01:24:24.960><c> actual</c><01:24:25.260><c> like</c><01:24:25.739><c> virtual</c><01:24:26.340><c> machine</c><01:24:26.580><c> do</c>

01:24:26.930 --> 01:24:26.940 align:start position:0%
um what actual like virtual machine do
 

01:24:26.940 --> 01:24:32.350 align:start position:0%
um what actual like virtual machine do
you<01:24:27.120><c> use</c><01:24:27.239><c> to</c><01:24:27.540><c> deploy</c><01:24:27.900><c> and</c><01:24:28.140><c> execute</c><01:24:28.739><c> contracts</c>

01:24:32.350 --> 01:24:32.360 align:start position:0%
 
 

01:24:32.360 --> 01:24:37.250 align:start position:0%
 
so<01:24:33.360><c> we</c><01:24:34.140><c> we</c><01:24:34.320><c> use</c><01:24:34.560><c> havm</c><01:24:35.699><c> uh</c><01:24:36.600><c> which</c><01:24:36.840><c> is</c><01:24:37.020><c> the</c>

01:24:37.250 --> 01:24:37.260 align:start position:0%
so we we use havm uh which is the
 

01:24:37.260 --> 01:24:39.590 align:start position:0%
so we we use havm uh which is the
Virtual<01:24:37.620><c> Machine</c><01:24:37.860><c> written</c><01:24:38.699><c> in</c><01:24:38.820><c> Haskell</c><01:24:39.239><c> I</c>

01:24:39.590 --> 01:24:39.600 align:start position:0%
Virtual Machine written in Haskell I
 

01:24:39.600 --> 01:24:42.649 align:start position:0%
Virtual Machine written in Haskell I
know<01:24:39.780><c> that</c><01:24:40.080><c> it's</c><01:24:40.800><c> in</c><01:24:40.980><c> the</c><01:24:41.159><c> process</c><01:24:41.340><c> of</c><01:24:41.699><c> uh</c>

01:24:42.649 --> 01:24:42.659 align:start position:0%
know that it's in the process of uh
 

01:24:42.659 --> 01:24:45.470 align:start position:0%
know that it's in the process of uh
improving<01:24:43.320><c> and</c><01:24:43.679><c> rewriting</c><01:24:44.640><c> so</c><01:24:44.820><c> it</c><01:24:44.940><c> was</c><01:24:45.120><c> moved</c>

01:24:45.470 --> 01:24:45.480 align:start position:0%
improving and rewriting so it was moved
 

01:24:45.480 --> 01:24:48.189 align:start position:0%
improving and rewriting so it was moved
from<01:24:45.719><c> the</c><01:24:46.020><c> adaptable</c><01:24:46.800><c> into</c><01:24:47.159><c> the</c><01:24:47.400><c> ethereum</c>

01:24:48.189 --> 01:24:48.199 align:start position:0%
from the adaptable into the ethereum
 

01:24:48.199 --> 01:24:51.530 align:start position:0%
from the adaptable into the ethereum
repository<01:24:49.199><c> so</c><01:24:49.560><c> we</c><01:24:49.920><c> are</c><01:24:50.159><c> eager</c><01:24:50.520><c> to</c><01:24:50.820><c> test</c><01:24:51.120><c> new</c>

01:24:51.530 --> 01:24:51.540 align:start position:0%
repository so we are eager to test new
 

01:24:51.540 --> 01:24:55.070 align:start position:0%
repository so we are eager to test new
features

01:24:55.070 --> 01:24:55.080 align:start position:0%
 
 

01:24:55.080 --> 01:24:57.709 align:start position:0%
 
but<01:24:55.500><c> yeah</c><01:24:56.159><c> um</c><01:24:56.280><c> if</c><01:24:56.640><c> you</c><01:24:56.820><c> use</c><01:24:57.000><c> the</c><01:24:57.300><c> Tino</c>

01:24:57.709 --> 01:24:57.719 align:start position:0%
but yeah um if you use the Tino
 

01:24:57.719 --> 01:25:00.350 align:start position:0%
but yeah um if you use the Tino
companion<01:24:58.620><c> tool</c><01:24:58.980><c> to</c><01:24:59.400><c> deploy</c><01:25:00.000><c> your</c><01:25:00.120><c> contract</c>

01:25:00.350 --> 01:25:00.360 align:start position:0%
companion tool to deploy your contract
 

01:25:00.360 --> 01:25:03.229 align:start position:0%
companion tool to deploy your contract
it's<01:25:00.540><c> going</c><01:25:00.719><c> to</c><01:25:00.780><c> use</c><01:25:00.900><c> ganache</c>

01:25:03.229 --> 01:25:03.239 align:start position:0%
it's going to use ganache
 

01:25:03.239 --> 01:25:05.510 align:start position:0%
it's going to use ganache
um and<01:25:04.080><c> you</c><01:25:04.199><c> will</c><01:25:04.380><c> serialize</c><01:25:04.860><c> into</c><01:25:05.040><c> a</c><01:25:05.280><c> Json</c>

01:25:05.510 --> 01:25:05.520 align:start position:0%
um and you will serialize into a Json
 

01:25:05.520 --> 01:25:08.149 align:start position:0%
um and you will serialize into a Json
file<01:25:05.880><c> and</c><01:25:06.300><c> you</c><01:25:06.420><c> can</c><01:25:06.540><c> then</c><01:25:06.659><c> load</c><01:25:07.080><c> it</c><01:25:07.199><c> into</c><01:25:07.679><c> into</c>

01:25:08.149 --> 01:25:08.159 align:start position:0%
file and you can then load it into into
 

01:25:08.159 --> 01:25:12.750 align:start position:0%
file and you can then load it into into
that

01:25:12.750 --> 01:25:12.760 align:start position:0%
 
 

01:25:12.760 --> 01:25:15.530 align:start position:0%
 
[Music]

01:25:15.530 --> 01:25:15.540 align:start position:0%
[Music]
 

01:25:15.540 --> 01:25:18.990 align:start position:0%
[Music]
okay

01:25:18.990 --> 01:25:19.000 align:start position:0%
 
 

01:25:19.000 --> 01:25:34.790 align:start position:0%
 
[Music]

01:25:34.790 --> 01:25:34.800 align:start position:0%
 
 

01:25:34.800 --> 01:25:38.450 align:start position:0%
 
uh<01:25:35.520><c> solution</c><01:25:35.940><c> okay</c><01:25:36.739><c> yeah</c><01:25:37.739><c> we're</c><01:25:37.920><c> going</c><01:25:38.340><c> to</c>

01:25:38.450 --> 01:25:38.460 align:start position:0%
uh solution okay yeah we're going to
 

01:25:38.460 --> 01:25:41.090 align:start position:0%
uh solution okay yeah we're going to
quickly<01:25:39.120><c> go</c><01:25:39.360><c> over</c><01:25:39.480><c> the</c><01:25:39.719><c> solution</c><01:25:40.080><c> uh</c><01:25:40.679><c> so</c><01:25:40.920><c> we</c>

01:25:41.090 --> 01:25:41.100 align:start position:0%
quickly go over the solution uh so we
 

01:25:41.100 --> 01:25:43.550 align:start position:0%
quickly go over the solution uh so we
can<01:25:41.280><c> have</c><01:25:41.640><c> a</c><01:25:41.880><c> couple</c><01:25:41.940><c> of</c><01:25:42.060><c> minutes</c><01:25:42.300><c> for</c><01:25:42.780><c> for</c>

01:25:43.550 --> 01:25:43.560 align:start position:0%
can have a couple of minutes for for
 

01:25:43.560 --> 01:25:46.430 align:start position:0%
can have a couple of minutes for for
this<01:25:43.860><c> so</c><01:25:44.280><c> the</c><01:25:44.520><c> solution</c><01:25:44.760><c> requires</c><01:25:45.420><c> first</c><01:25:45.900><c> to</c>

01:25:46.430 --> 01:25:46.440 align:start position:0%
this so the solution requires first to
 

01:25:46.440 --> 01:25:49.130 align:start position:0%
this so the solution requires first to
uh<01:25:47.159><c> deploy</c><01:25:47.699><c> have</c><01:25:48.179><c> a</c><01:25:48.300><c> contract</c><01:25:48.540><c> with</c><01:25:48.780><c> enough</c>

01:25:49.130 --> 01:25:49.140 align:start position:0%
uh deploy have a contract with enough
 

01:25:49.140 --> 01:25:53.270 align:start position:0%
uh deploy have a contract with enough
amount<01:25:49.560><c> of</c><01:25:49.679><c> heater</c><01:25:50.420><c> uh</c><01:25:51.420><c> to</c><01:25:51.840><c> to</c><01:25:52.140><c> match</c><01:25:52.739><c> what</c><01:25:53.100><c> is</c>

01:25:53.270 --> 01:25:53.280 align:start position:0%
amount of heater uh to to match what is
 

01:25:53.280 --> 01:25:55.010 align:start position:0%
amount of heater uh to to match what is
deployed

01:25:55.010 --> 01:25:55.020 align:start position:0%
deployed
 

01:25:55.020 --> 01:25:56.870 align:start position:0%
deployed
um<01:25:55.080><c> and</c><01:25:56.040><c> then</c>

01:25:56.870 --> 01:25:56.880 align:start position:0%
um and then
 

01:25:56.880 --> 01:26:00.709 align:start position:0%
um and then
um<01:25:56.940><c> you</c><01:25:57.239><c> can</c><01:25:57.360><c> see</c><01:25:57.600><c> here</c><01:25:58.040><c> uh</c><01:25:59.040><c> in</c><01:25:59.460><c> we</c><01:25:59.880><c> we</c><01:25:59.940><c> deployed</c>

01:26:00.709 --> 01:26:00.719 align:start position:0%
um you can see here uh in we we deployed
 

01:26:00.719 --> 01:26:04.189 align:start position:0%
um you can see here uh in we we deployed
all<01:26:01.199><c> the</c><01:26:01.320><c> contracts</c><01:26:01.739><c> that</c><01:26:01.920><c> we</c><01:26:02.100><c> need</c><01:26:02.280><c> and</c><01:26:02.580><c> send</c>

01:26:04.189 --> 01:26:04.199 align:start position:0%
all the contracts that we need and send
 

01:26:04.199 --> 01:26:07.070 align:start position:0%
all the contracts that we need and send
um<01:26:04.320><c> the</c><01:26:04.860><c> amount</c><01:26:05.100><c> of</c><01:26:05.219><c> eater</c><01:26:05.880><c> that</c><01:26:06.540><c> every</c>

01:26:07.070 --> 01:26:07.080 align:start position:0%
um the amount of eater that every
 

01:26:07.080 --> 01:26:10.070 align:start position:0%
um the amount of eater that every
contract<01:26:07.560><c> needs</c><01:26:07.920><c> and</c><01:26:08.580><c> then</c><01:26:08.760><c> what</c><01:26:09.120><c> is</c><01:26:09.300><c> uh</c><01:26:09.719><c> what</c>

01:26:10.070 --> 01:26:10.080 align:start position:0%
contract needs and then what is uh what
 

01:26:10.080 --> 01:26:12.050 align:start position:0%
contract needs and then what is uh what
we're<01:26:10.320><c> going</c><01:26:10.620><c> to</c><01:26:10.739><c> use</c><01:26:11.040><c> we're</c><01:26:11.460><c> going</c><01:26:11.639><c> to</c><01:26:11.760><c> use</c><01:26:11.820><c> a</c>

01:26:12.050 --> 01:26:12.060 align:start position:0%
we're going to use we're going to use a
 

01:26:12.060 --> 01:26:13.430 align:start position:0%
we're going to use we're going to use a
simple<01:26:12.179><c> very</c><01:26:12.420><c> simple</c><01:26:12.600><c> property</c><01:26:13.020><c> that</c><01:26:13.320><c> is</c>

01:26:13.430 --> 01:26:13.440 align:start position:0%
simple very simple property that is
 

01:26:13.440 --> 01:26:15.410 align:start position:0%
simple very simple property that is
going<01:26:13.620><c> to</c><01:26:13.679><c> say</c><01:26:13.860><c> that</c><01:26:14.219><c> the</c><01:26:14.760><c> balance</c><01:26:15.060><c> of</c><01:26:15.239><c> the</c>

01:26:15.410 --> 01:26:15.420 align:start position:0%
going to say that the balance of the
 

01:26:15.420 --> 01:26:18.649 align:start position:0%
going to say that the balance of the
receiver<01:26:15.780><c> is</c><01:26:16.500><c> at</c><01:26:16.739><c> least</c><01:26:16.860><c> 10</c><01:26:17.219><c> liter</c><01:26:17.699><c> so</c><01:26:18.300><c> we</c>

01:26:18.649 --> 01:26:18.659 align:start position:0%
receiver is at least 10 liter so we
 

01:26:18.659 --> 01:26:21.830 align:start position:0%
receiver is at least 10 liter so we
don't<01:26:18.840><c> actually</c><01:26:19.380><c> need</c><01:26:20.280><c> to</c><01:26:20.520><c> follow</c><01:26:21.300><c> exactly</c>

01:26:21.830 --> 01:26:21.840 align:start position:0%
don't actually need to follow exactly
 

01:26:21.840 --> 01:26:24.229 align:start position:0%
don't actually need to follow exactly
what<01:26:22.199><c> the</c><01:26:22.440><c> exercise</c><01:26:22.679><c> says</c><01:26:23.159><c> about</c><01:26:23.280><c> draining</c>

01:26:24.229 --> 01:26:24.239 align:start position:0%
what the exercise says about draining
 

01:26:24.239 --> 01:26:27.530 align:start position:0%
what the exercise says about draining
completely<01:26:24.780><c> the</c><01:26:25.139><c> contract</c><01:26:25.500><c> if</c><01:26:26.280><c> we</c><01:26:26.460><c> have</c><01:26:26.760><c> one</c>

01:26:27.530 --> 01:26:27.540 align:start position:0%
completely the contract if we have one
 

01:26:27.540 --> 01:26:29.689 align:start position:0%
completely the contract if we have one
transaction<01:26:27.960><c> that</c><01:26:28.260><c> allows</c><01:26:28.620><c> you</c><01:26:28.739><c> to</c><01:26:28.920><c> reduce</c>

01:26:29.689 --> 01:26:29.699 align:start position:0%
transaction that allows you to reduce
 

01:26:29.699 --> 01:26:32.870 align:start position:0%
transaction that allows you to reduce
the<01:26:30.120><c> balance</c><01:26:30.480><c> of</c><01:26:30.900><c> the</c><01:26:31.139><c> receiver</c><01:26:31.500><c> then</c><01:26:32.400><c> then</c>

01:26:32.870 --> 01:26:32.880 align:start position:0%
the balance of the receiver then then
 

01:26:32.880 --> 01:26:36.110 align:start position:0%
the balance of the receiver then then
it's<01:26:33.480><c> then</c><01:26:33.840><c> something</c><01:26:34.080><c> is</c><01:26:34.380><c> wrong</c><01:26:34.679><c> and</c><01:26:35.340><c> uh</c>

01:26:36.110 --> 01:26:36.120 align:start position:0%
it's then something is wrong and uh
 

01:26:36.120 --> 01:26:37.970 align:start position:0%
it's then something is wrong and uh
definitely<01:26:36.480><c> uh</c><01:26:37.020><c> it</c><01:26:37.260><c> will</c><01:26:37.320><c> it</c><01:26:37.500><c> will</c><01:26:37.739><c> eventually</c>

01:26:37.970 --> 01:26:37.980 align:start position:0%
definitely uh it will it will eventually
 

01:26:37.980 --> 01:26:40.010 align:start position:0%
definitely uh it will it will eventually
be<01:26:38.219><c> drained</c><01:26:38.639><c> so</c>

01:26:40.010 --> 01:26:40.020 align:start position:0%
be drained so
 

01:26:40.020 --> 01:26:43.550 align:start position:0%
be drained so
yeah<01:26:41.000><c> so</c><01:26:42.000><c> quickly</c><01:26:42.300><c> if</c><01:26:42.480><c> you</c><01:26:42.600><c> run</c><01:26:42.780><c> it</c><01:26:43.020><c> you</c><01:26:43.440><c> will</c>

01:26:43.550 --> 01:26:43.560 align:start position:0%
yeah so quickly if you run it you will
 

01:26:43.560 --> 01:26:46.129 align:start position:0%
yeah so quickly if you run it you will
see<01:26:43.800><c> something</c><01:26:44.040><c> like</c><01:26:44.280><c> this</c>

01:26:46.129 --> 01:26:46.139 align:start position:0%
see something like this
 

01:26:46.139 --> 01:26:49.189 align:start position:0%
see something like this
um<01:26:46.199><c> in</c><01:26:46.679><c> which</c><01:26:46.800><c> well</c><01:26:47.159><c> the</c><01:26:47.580><c> uh</c><01:26:47.719><c> deflection</c><01:26:48.719><c> has</c><01:26:49.020><c> a</c>

01:26:49.189 --> 01:26:49.199 align:start position:0%
um in which well the uh deflection has a
 

01:26:49.199 --> 01:26:52.070 align:start position:0%
um in which well the uh deflection has a
has<01:26:49.380><c> a</c><01:26:49.560><c> parameter</c><01:26:49.980><c> that</c><01:26:50.280><c> is</c><01:26:50.460><c> the</c><01:26:50.639><c> the</c><01:26:51.300><c> borrower</c>

01:26:52.070 --> 01:26:52.080 align:start position:0%
has a parameter that is the the borrower
 

01:26:52.080 --> 01:26:56.090 align:start position:0%
has a parameter that is the the borrower
and<01:26:52.620><c> we</c><01:26:52.739><c> can</c><01:26:52.920><c> control</c><01:26:53.159><c> this</c><01:26:53.580><c> to</c><01:26:54.060><c> in</c><01:26:54.540><c> order</c><01:26:54.659><c> to</c>

01:26:56.090 --> 01:26:56.100 align:start position:0%
and we can control this to in order to
 

01:26:56.100 --> 01:26:59.030 align:start position:0%
and we can control this to in order to
um<01:26:56.159><c> reduce</c><01:26:56.760><c> the</c><01:26:57.179><c> amount</c><01:26:57.420><c> of</c><01:26:57.659><c> balance</c>

01:26:59.030 --> 01:26:59.040 align:start position:0%
um reduce the amount of balance
 

01:26:59.040 --> 01:27:01.490 align:start position:0%
um reduce the amount of balance
all<01:26:59.580><c> right</c><01:26:59.760><c> uh</c><01:27:00.480><c> so</c><01:27:00.659><c> yeah</c><01:27:00.840><c> you</c><01:27:01.020><c> want</c><01:27:01.139><c> to</c><01:27:01.260><c> go</c><01:27:01.380><c> into</c>

01:27:01.490 --> 01:27:01.500 align:start position:0%
all right uh so yeah you want to go into
 

01:27:01.500 --> 01:27:06.709 align:start position:0%
all right uh so yeah you want to go into
the<01:27:01.800><c> conclusion</c><01:27:02.460><c> okay</c>

01:27:06.709 --> 01:27:06.719 align:start position:0%
 
 

01:27:06.719 --> 01:27:08.270 align:start position:0%
 
um<01:27:06.840><c> yeah</c><01:27:07.080><c> we're</c><01:27:07.260><c> the</c><01:27:07.500><c> second</c><01:27:07.620><c> exercise</c><01:27:07.860><c> on</c>

01:27:08.270 --> 01:27:08.280 align:start position:0%
um yeah we're the second exercise on
 

01:27:08.280 --> 01:27:10.790 align:start position:0%
um yeah we're the second exercise on
them<01:27:08.400><c> ruinable</c><01:27:08.880><c> D5</c><01:27:09.300><c> but</c><01:27:09.600><c> uh</c><01:27:10.320><c> we</c><01:27:10.560><c> are</c><01:27:10.679><c> running</c>

01:27:10.790 --> 01:27:10.800 align:start position:0%
them ruinable D5 but uh we are running
 

01:27:10.800 --> 01:27:12.950 align:start position:0%
them ruinable D5 but uh we are running
out<01:27:10.980><c> of</c><01:27:11.100><c> time</c>

01:27:12.950 --> 01:27:12.960 align:start position:0%
out of time
 

01:27:12.960 --> 01:27:14.810 align:start position:0%
out of time
this<01:27:13.440><c> idea</c><01:27:13.860><c> was</c><01:27:13.980><c> the</c><01:27:14.100><c> same</c><01:27:14.219><c> we</c><01:27:14.400><c> are</c><01:27:14.520><c> defining</c>

01:27:14.810 --> 01:27:14.820 align:start position:0%
this idea was the same we are defining
 

01:27:14.820 --> 01:27:16.250 align:start position:0%
this idea was the same we are defining
an<01:27:14.940><c> initialization</c>

01:27:16.250 --> 01:27:16.260 align:start position:0%
an initialization
 

01:27:16.260 --> 01:27:19.070 align:start position:0%
an initialization
which<01:27:17.100><c> was</c><01:27:17.340><c> a</c><01:27:17.460><c> bit</c><01:27:17.580><c> more</c><01:27:17.699><c> complex</c><01:27:18.060><c> and</c><01:27:18.600><c> if</c><01:27:18.900><c> you</c>

01:27:19.070 --> 01:27:19.080 align:start position:0%
which was a bit more complex and if you
 

01:27:19.080 --> 01:27:20.450 align:start position:0%
which was a bit more complex and if you
go<01:27:19.199><c> through</c><01:27:19.380><c> this</c><01:27:19.560><c> exercise</c><01:27:19.739><c> with</c><01:27:20.219><c> something</c>

01:27:20.450 --> 01:27:20.460 align:start position:0%
go through this exercise with something
 

01:27:20.460 --> 01:27:22.729 align:start position:0%
go through this exercise with something
a<01:27:20.760><c> bit</c><01:27:20.820><c> more</c><01:27:21.000><c> specific</c><01:27:21.420><c> is</c><01:27:22.139><c> that</c><01:27:22.320><c> there</c><01:27:22.440><c> is</c><01:27:22.620><c> a</c>

01:27:22.729 --> 01:27:22.739 align:start position:0%
a bit more specific is that there is a
 

01:27:22.739 --> 01:27:25.250 align:start position:0%
a bit more specific is that there is a
callback<01:27:23.100><c> from</c><01:27:24.060><c> the</c><01:27:24.239><c> contract</c><01:27:24.540><c> to</c><01:27:24.719><c> the</c><01:27:24.900><c> caller</c>

01:27:25.250 --> 01:27:25.260 align:start position:0%
callback from the contract to the caller
 

01:27:25.260 --> 01:27:27.169 align:start position:0%
callback from the contract to the caller
so<01:27:25.679><c> on</c><01:27:25.920><c> the</c><01:27:26.040><c> Kindle</c><01:27:26.400><c> test</c><01:27:26.580><c> you</c><01:27:26.760><c> need</c><01:27:26.940><c> to</c><01:27:27.000><c> have</c>

01:27:27.169 --> 01:27:27.179 align:start position:0%
so on the Kindle test you need to have
 

01:27:27.179 --> 01:27:28.910 align:start position:0%
so on the Kindle test you need to have
like<01:27:27.360><c> also</c><01:27:27.659><c> the</c><01:27:27.840><c> Callback</c><01:27:28.080><c> to</c><01:27:28.320><c> implement</c><01:27:28.560><c> the</c>

01:27:28.910 --> 01:27:28.920 align:start position:0%
like also the Callback to implement the
 

01:27:28.920 --> 01:27:30.410 align:start position:0%
like also the Callback to implement the
flashlight

01:27:30.410 --> 01:27:30.420 align:start position:0%
flashlight
 

01:27:30.420 --> 01:27:31.270 align:start position:0%
flashlight
but<01:27:30.840><c> yeah</c>

01:27:31.270 --> 01:27:31.280 align:start position:0%
but yeah
 

01:27:31.280 --> 01:27:36.229 align:start position:0%
but yeah
[Music]

01:27:36.229 --> 01:27:36.239 align:start position:0%
 
 

01:27:36.239 --> 01:27:38.209 align:start position:0%
 
so<01:27:36.540><c> this</c><01:27:36.659><c> is</c><01:27:36.780><c> something</c><01:27:37.080><c> we</c><01:27:37.440><c> kind</c><01:27:37.620><c> of</c><01:27:37.739><c> touch</c><01:27:37.980><c> on</c>

01:27:38.209 --> 01:27:38.219 align:start position:0%
so this is something we kind of touch on
 

01:27:38.219 --> 01:27:40.310 align:start position:0%
so this is something we kind of touch on
a<01:27:38.400><c> bit</c><01:27:38.520><c> during</c><01:27:38.699><c> your</c><01:27:38.940><c> discussion</c><01:27:39.360><c> what</c><01:27:40.139><c> about</c>

01:27:40.310 --> 01:27:40.320 align:start position:0%
a bit during your discussion what about
 

01:27:40.320 --> 01:27:42.410 align:start position:0%
a bit during your discussion what about
the<01:27:40.620><c> other</c><01:27:40.739><c> tools</c><01:27:41.280><c> so</c><01:27:41.639><c> there</c><01:27:41.940><c> are</c><01:27:42.120><c> a</c><01:27:42.179><c> couple</c><01:27:42.300><c> of</c>

01:27:42.410 --> 01:27:42.420 align:start position:0%
the other tools so there are a couple of
 

01:27:42.420 --> 01:27:44.750 align:start position:0%
the other tools so there are a couple of
other<01:27:42.659><c> further</c><01:27:43.199><c> out</c><01:27:43.500><c> there</c><01:27:43.739><c> there</c><01:27:44.159><c> is</c><01:27:44.400><c> Dub</c>

01:27:44.750 --> 01:27:44.760 align:start position:0%
other further out there there is Dub
 

01:27:44.760 --> 01:27:47.330 align:start position:0%
other further out there there is Dub
Brony<01:27:45.360><c> Foundry</c><01:27:46.020><c> at</c><01:27:46.620><c> least</c><01:27:46.739><c> this</c><01:27:46.860><c> one</c><01:27:47.040><c> are</c><01:27:47.219><c> open</c>

01:27:47.330 --> 01:27:47.340 align:start position:0%
Brony Foundry at least this one are open
 

01:27:47.340 --> 01:27:48.970 align:start position:0%
Brony Foundry at least this one are open
source

01:27:48.970 --> 01:27:48.980 align:start position:0%
source
 

01:27:48.980 --> 01:27:53.090 align:start position:0%
source
this<01:27:49.980><c> funnel</c><01:27:50.460><c> might</c><01:27:50.699><c> be</c><01:27:50.880><c> a</c><01:27:51.060><c> bit</c><01:27:51.239><c> uh</c><01:27:52.020><c> better</c><01:27:52.620><c> for</c>

01:27:53.090 --> 01:27:53.100 align:start position:0%
this funnel might be a bit uh better for
 

01:27:53.100 --> 01:27:55.070 align:start position:0%
this funnel might be a bit uh better for
simple<01:27:53.400><c> tests</c><01:27:53.820><c> and</c><01:27:53.940><c> for</c><01:27:54.060><c> like</c><01:27:54.179><c> you</c><01:27:54.360><c> know</c><01:27:54.480><c> ease</c>

01:27:55.070 --> 01:27:55.080 align:start position:0%
simple tests and for like you know ease
 

01:27:55.080 --> 01:27:57.530 align:start position:0%
simple tests and for like you know ease
of<01:27:55.139><c> useful</c><01:27:55.620><c> uh</c><01:27:56.340><c> like</c><01:27:56.580><c> the</c><01:27:56.699><c> first</c><01:27:56.880><c> invariant</c>

01:27:57.530 --> 01:27:57.540 align:start position:0%
of useful uh like the first invariant
 

01:27:57.540 --> 01:27:59.030 align:start position:0%
of useful uh like the first invariant
because<01:27:57.840><c> they</c><01:27:58.080><c> are</c><01:27:58.199><c> integrated</c><01:27:58.500><c> within</c><01:27:58.920><c> the</c>

01:27:59.030 --> 01:27:59.040 align:start position:0%
because they are integrated within the
 

01:27:59.040 --> 01:28:01.189 align:start position:0%
because they are integrated within the
compilation<01:27:59.400><c> framework</c><01:27:59.940><c> but</c><01:28:00.600><c> in</c><01:28:00.900><c> the</c><01:28:01.020><c> long</c>

01:28:01.189 --> 01:28:01.199 align:start position:0%
compilation framework but in the long
 

01:28:01.199 --> 01:28:03.169 align:start position:0%
compilation framework but in the long
run<01:28:01.320><c> they</c><01:28:01.739><c> might</c><01:28:01.980><c> not</c><01:28:02.100><c> be</c><01:28:02.340><c> as</c><01:28:02.520><c> powerful</c><01:28:02.880><c> as</c><01:28:03.060><c> a</c>

01:28:03.169 --> 01:28:03.179 align:start position:0%
run they might not be as powerful as a
 

01:28:03.179 --> 01:28:04.910 align:start position:0%
run they might not be as powerful as a
Kinder<01:28:03.540><c> simply</c><01:28:04.020><c> because</c><01:28:04.199><c> we</c><01:28:04.440><c> have</c><01:28:04.620><c> you</c><01:28:04.800><c> know</c>

01:28:04.910 --> 01:28:04.920 align:start position:0%
Kinder simply because we have you know
 

01:28:04.920 --> 01:28:07.070 align:start position:0%
Kinder simply because we have you know
user<01:28:05.639><c> Kinder</c><01:28:05.940><c> for</c><01:28:06.120><c> a</c><01:28:06.179><c> couple</c><01:28:06.300><c> of</c><01:28:06.360><c> years</c><01:28:06.600><c> and</c><01:28:06.900><c> we</c>

01:28:07.070 --> 01:28:07.080 align:start position:0%
user Kinder for a couple of years and we
 

01:28:07.080 --> 01:28:09.110 align:start position:0%
user Kinder for a couple of years and we
have<01:28:07.260><c> tuned</c><01:28:07.800><c> it</c><01:28:07.920><c> you</c><01:28:08.159><c> know</c><01:28:08.219><c> where</c><01:28:08.460><c> that</c><01:28:08.760><c> it</c>

01:28:09.110 --> 01:28:09.120 align:start position:0%
have tuned it you know where that it
 

01:28:09.120 --> 01:28:11.770 align:start position:0%
have tuned it you know where that it
provides<01:28:09.540><c> the</c><01:28:10.380><c> best</c><01:28:10.500><c> value</c><01:28:10.739><c> that</c><01:28:11.040><c> we</c><01:28:11.159><c> can</c><01:28:11.280><c> do</c>

01:28:11.770 --> 01:28:11.780 align:start position:0%
provides the best value that we can do
 

01:28:11.780 --> 01:28:17.450 align:start position:0%
provides the best value that we can do
I'll<01:28:12.780><c> get</c><01:28:12.900><c> finished</c><01:28:13.139><c> okay</c><01:28:13.860><c> sorry</c><01:28:14.639><c> um</c><01:28:14.699><c> yeah</c>

01:28:17.450 --> 01:28:17.460 align:start position:0%
I'll get finished okay sorry um yeah
 

01:28:17.460 --> 01:28:21.830 align:start position:0%
I'll get finished okay sorry um yeah
okay<01:28:18.000><c> so</c><01:28:18.420><c> I</c><01:28:18.960><c> hope</c><01:28:19.199><c> you</c><01:28:19.320><c> enjoyed</c><01:28:19.800><c> the</c><01:28:20.639><c> workshop</c>

01:28:21.830 --> 01:28:21.840 align:start position:0%
okay so I hope you enjoyed the workshop
 

01:28:21.840 --> 01:28:23.450 align:start position:0%
okay so I hope you enjoyed the workshop
um<01:28:21.900><c> we</c><01:28:22.320><c> have</c><01:28:22.500><c> more</c><01:28:22.679><c> exercise</c><01:28:22.920><c> in</c><01:28:23.280><c> building</c>

01:28:23.450 --> 01:28:23.460 align:start position:0%
um we have more exercise in building
 

01:28:23.460 --> 01:28:24.950 align:start position:0%
um we have more exercise in building
secure<01:28:23.880><c> contract</c>

01:28:24.950 --> 01:28:24.960 align:start position:0%
secure contract
 

01:28:24.960 --> 01:28:26.629 align:start position:0%
secure contract
something<01:28:25.440><c> that</c><01:28:25.739><c> I</c><01:28:25.860><c> would</c><01:28:25.920><c> recommend</c><01:28:26.340><c> for</c><01:28:26.520><c> you</c>

01:28:26.629 --> 01:28:26.639 align:start position:0%
something that I would recommend for you
 

01:28:26.639 --> 01:28:28.370 align:start position:0%
something that I would recommend for you
is<01:28:26.820><c> to</c><01:28:26.940><c> try</c><01:28:27.120><c> to</c><01:28:27.239><c> write</c><01:28:27.420><c> invariant</c><01:28:27.960><c> you</c><01:28:28.139><c> know</c><01:28:28.260><c> in</c>

01:28:28.370 --> 01:28:28.380 align:start position:0%
is to try to write invariant you know in
 

01:28:28.380 --> 01:28:30.709 align:start position:0%
is to try to write invariant you know in
your<01:28:28.440><c> next</c><01:28:28.560><c> project</c><01:28:28.800><c> and</c><01:28:29.760><c> actually</c><01:28:30.000><c> who</c><01:28:30.540><c> is</c>

01:28:30.709 --> 01:28:30.719 align:start position:0%
your next project and actually who is
 

01:28:30.719 --> 01:28:32.570 align:start position:0%
your next project and actually who is
going<01:28:30.900><c> to</c><01:28:31.020><c> try</c><01:28:31.260><c> again</c><01:28:31.500><c> now</c><01:28:31.800><c> on</c><01:28:32.040><c> his</c><01:28:32.280><c> next</c>

01:28:32.570 --> 01:28:32.580 align:start position:0%
going to try again now on his next
 

01:28:32.580 --> 01:28:35.270 align:start position:0%
going to try again now on his next
project

01:28:35.270 --> 01:28:35.280 align:start position:0%
 
 

01:28:35.280 --> 01:28:37.490 align:start position:0%
 
nice

01:28:37.490 --> 01:28:37.500 align:start position:0%
nice
 

01:28:37.500 --> 01:28:39.720 align:start position:0%
nice
and<01:28:38.340><c> thank</c><01:28:38.520><c> you</c>

01:28:39.720 --> 01:28:39.730 align:start position:0%
and thank you
 

01:28:39.730 --> 01:28:42.590 align:start position:0%
and thank you
[Applause]

01:28:42.590 --> 01:28:42.600 align:start position:0%
[Applause]
 

01:28:42.600 --> 01:28:44.570 align:start position:0%
[Applause]
So<01:28:43.260><c> today</c><01:28:43.800><c> we're</c><01:28:44.040><c> going</c><01:28:44.219><c> to</c><01:28:44.340><c> talk</c><01:28:44.460><c> about</c>

01:28:44.570 --> 01:28:44.580 align:start position:0%
So today we're going to talk about
 

01:28:44.580 --> 01:28:47.030 align:start position:0%
So today we're going to talk about
storage<01:28:44.940><c> proofs</c><01:28:45.420><c> I</c><01:28:45.900><c> want</c><01:28:45.960><c> to</c><01:28:46.139><c> introduce</c><01:28:46.560><c> this</c>

01:28:47.030 --> 01:28:47.040 align:start position:0%
storage proofs I want to introduce this
 

01:28:47.040 --> 01:28:49.330 align:start position:0%
storage proofs I want to introduce this
app

01:28:49.330 --> 01:28:49.340 align:start position:0%
app
 

01:28:49.340 --> 01:28:50.890 align:start position:0%
app
yes

01:28:50.890 --> 01:28:50.900 align:start position:0%
yes
 

01:28:50.900 --> 01:28:53.510 align:start position:0%
yes
I'm<01:28:51.900><c> gonna</c><01:28:52.020><c> present</c><01:28:52.500><c> you</c><01:28:52.679><c> storage</c><01:28:52.920><c> proofs</c><01:28:53.400><c> and</c>

01:28:53.510 --> 01:28:53.520 align:start position:0%
I'm gonna present you storage proofs and
 

01:28:53.520 --> 01:28:55.250 align:start position:0%
I'm gonna present you storage proofs and
explain<01:28:53.699><c> why</c><01:28:54.120><c> they're</c><01:28:54.360><c> cool</c><01:28:54.659><c> how</c><01:28:54.900><c> to</c><01:28:55.080><c> work</c>

01:28:55.250 --> 01:28:55.260 align:start position:0%
explain why they're cool how to work
 

01:28:55.260 --> 01:28:57.530 align:start position:0%
explain why they're cool how to work
with<01:28:55.560><c> them</c><01:28:55.860><c> why</c><01:28:56.400><c> you</c><01:28:56.639><c> need</c><01:28:56.760><c> to</c><01:28:56.880><c> link</c><01:28:57.120><c> to</c><01:28:57.420><c> work</c>

01:28:57.530 --> 01:28:57.540 align:start position:0%
with them why you need to link to work
 

01:28:57.540 --> 01:28:58.930 align:start position:0%
with them why you need to link to work
with<01:28:57.780><c> them</c>

01:28:58.930 --> 01:28:58.940 align:start position:0%
with them
 

01:28:58.940 --> 01:29:02.209 align:start position:0%
with them
and<01:28:59.940><c> yeah</c><01:29:00.360><c> a</c><01:29:00.780><c> bunch</c><01:29:00.960><c> of</c><01:29:01.080><c> other</c><01:29:01.380><c> things</c><01:29:01.739><c> why</c><01:29:02.100><c> is</c>

01:29:02.209 --> 01:29:02.219 align:start position:0%
and yeah a bunch of other things why is
 

01:29:02.219 --> 01:29:04.430 align:start position:0%
and yeah a bunch of other things why is
it<01:29:02.400><c> even</c><01:29:02.520><c> possible</c><01:29:03.000><c> all</c><01:29:03.840><c> the</c><01:29:04.020><c> complexities</c>

01:29:04.430 --> 01:29:04.440 align:start position:0%
it even possible all the complexities
 

01:29:04.440 --> 01:29:08.209 align:start position:0%
it even possible all the complexities
behind<01:29:04.920><c> the</c><01:29:05.100><c> trade-offs</c><01:29:06.000><c> and</c><01:29:06.780><c> so</c><01:29:06.900><c> on</c><01:29:07.080><c> so</c><01:29:07.440><c> a</c><01:29:08.040><c> few</c>

01:29:08.209 --> 01:29:08.219 align:start position:0%
behind the trade-offs and so on so a few
 

01:29:08.219 --> 01:29:10.189 align:start position:0%
behind the trade-offs and so on so a few
words<01:29:08.340><c> about</c><01:29:08.580><c> storage</c><01:29:08.820><c> Crews</c><01:29:09.300><c> why</c><01:29:09.840><c> I</c><01:29:10.080><c> really</c>

01:29:10.189 --> 01:29:10.199 align:start position:0%
words about storage Crews why I really
 

01:29:10.199 --> 01:29:12.530 align:start position:0%
words about storage Crews why I really
believe<01:29:10.380><c> that</c><01:29:10.560><c> they</c><01:29:10.739><c> are</c><01:29:10.860><c> cool</c><01:29:11.040><c> especially</c><01:29:11.760><c> uh</c>

01:29:12.530 --> 01:29:12.540 align:start position:0%
believe that they are cool especially uh
 

01:29:12.540 --> 01:29:14.810 align:start position:0%
believe that they are cool especially uh
nowadays<01:29:13.080><c> so</c><01:29:13.860><c> might</c><01:29:14.159><c> as</c><01:29:14.340><c> this</c><01:29:14.520><c> is</c><01:29:14.639><c> that</c>

01:29:14.810 --> 01:29:14.820 align:start position:0%
nowadays so might as this is that
 

01:29:14.820 --> 01:29:17.810 align:start position:0%
nowadays so might as this is that
ethereum<01:29:15.300><c> is</c><01:29:15.540><c> pretty</c><01:29:16.080><c> sharded</c><01:29:16.560><c> nowadays</c><01:29:17.159><c> and</c>

01:29:17.810 --> 01:29:17.820 align:start position:0%
ethereum is pretty sharded nowadays and
 

01:29:17.820 --> 01:29:20.390 align:start position:0%
ethereum is pretty sharded nowadays and
with<01:29:18.000><c> storage</c><01:29:18.239><c> truth</c><01:29:18.719><c> we</c><01:29:19.020><c> can</c><01:29:19.199><c> essentially</c>

01:29:20.390 --> 01:29:20.400 align:start position:0%
with storage truth we can essentially
 

01:29:20.400 --> 01:29:23.689 align:start position:0%
with storage truth we can essentially
read<01:29:21.060><c> the</c><01:29:21.659><c> state</c><01:29:21.840><c> in</c><01:29:22.440><c> a</c><01:29:22.679><c> almost</c><01:29:23.100><c> synchronous</c>

01:29:23.689 --> 01:29:23.699 align:start position:0%
read the state in a almost synchronous
 

01:29:23.699 --> 01:29:26.149 align:start position:0%
read the state in a almost synchronous
manner<01:29:24.120><c> which</c><01:29:24.659><c> is</c><01:29:24.840><c> a</c><01:29:25.260><c> pretty</c><01:29:25.560><c> pretty</c><01:29:25.860><c> nice</c>

01:29:26.149 --> 01:29:26.159 align:start position:0%
manner which is a pretty pretty nice
 

01:29:26.159 --> 01:29:27.430 align:start position:0%
manner which is a pretty pretty nice
thing<01:29:26.400><c> to</c><01:29:26.639><c> do</c>

01:29:27.430 --> 01:29:27.440 align:start position:0%
thing to do
 

01:29:27.440 --> 01:29:31.189 align:start position:0%
thing to do
given<01:29:28.440><c> the</c><01:29:28.980><c> circumstances</c>

01:29:31.189 --> 01:29:31.199 align:start position:0%
given the circumstances
 

01:29:31.199 --> 01:29:33.890 align:start position:0%
given the circumstances
um<01:29:31.260><c> yeah</c><01:29:32.100><c> and</c><01:29:32.639><c> maybe</c><01:29:32.880><c> also</c><01:29:33.480><c> let</c><01:29:33.659><c> me</c><01:29:33.780><c> explain</c>

01:29:33.890 --> 01:29:33.900 align:start position:0%
um yeah and maybe also let me explain
 

01:29:33.900 --> 01:29:36.530 align:start position:0%
um yeah and maybe also let me explain
why<01:29:34.199><c> is</c><01:29:34.380><c> it</c><01:29:34.500><c> even</c><01:29:34.620><c> possible</c><01:29:35.040><c> so</c><01:29:35.760><c> story</c><01:29:36.000><c> is</c>

01:29:36.530 --> 01:29:36.540 align:start position:0%
why is it even possible so story is
 

01:29:36.540 --> 01:29:38.030 align:start position:0%
why is it even possible so story is
essentially<01:29:36.840><c> this</c><01:29:37.080><c> idea</c><01:29:37.320><c> that</c><01:29:37.620><c> the</c><01:29:37.860><c> entire</c>

01:29:38.030 --> 01:29:38.040 align:start position:0%
essentially this idea that the entire
 

01:29:38.040 --> 01:29:39.770 align:start position:0%
essentially this idea that the entire
state<01:29:38.340><c> is</c><01:29:38.580><c> committed</c><01:29:38.940><c> in</c><01:29:39.060><c> a</c><01:29:39.179><c> cryptographic</c>

01:29:39.770 --> 01:29:39.780 align:start position:0%
state is committed in a cryptographic
 

01:29:39.780 --> 01:29:41.090 align:start position:0%
state is committed in a cryptographic
manner

01:29:41.090 --> 01:29:41.100 align:start position:0%
manner
 

01:29:41.100 --> 01:29:42.649 align:start position:0%
manner
um<01:29:41.159><c> using</c><01:29:41.639><c> some</c><01:29:41.820><c> data</c><01:29:42.300><c> structure</c><01:29:42.540><c> like</c>

01:29:42.649 --> 01:29:42.659 align:start position:0%
um using some data structure like
 

01:29:42.659 --> 01:29:44.450 align:start position:0%
um using some data structure like
Miracle<01:29:43.020><c> trees</c><01:29:43.320><c> Marco</c><01:29:43.739><c> Patricia</c><01:29:43.980><c> trees</c><01:29:44.340><c> and</c>

01:29:44.450 --> 01:29:44.460 align:start position:0%
Miracle trees Marco Patricia trees and
 

01:29:44.460 --> 01:29:45.530 align:start position:0%
Miracle trees Marco Patricia trees and
so<01:29:44.580><c> on</c>

01:29:45.530 --> 01:29:45.540 align:start position:0%
so on
 

01:29:45.540 --> 01:29:47.149 align:start position:0%
so on
um<01:29:45.600><c> and</c><01:29:45.780><c> yeah</c><01:29:45.900><c> we</c><01:29:46.139><c> can</c><01:29:46.260><c> essentially</c><01:29:46.620><c> verify</c>

01:29:47.149 --> 01:29:47.159 align:start position:0%
um and yeah we can essentially verify
 

01:29:47.159 --> 01:29:50.450 align:start position:0%
um and yeah we can essentially verify
any<01:29:47.820><c> specific</c><01:29:48.300><c> piece</c><01:29:48.780><c> of</c><01:29:48.840><c> State</c><01:29:49.020><c> at</c><01:29:49.920><c> any</c><01:29:50.219><c> point</c>

01:29:50.450 --> 01:29:50.460 align:start position:0%
any specific piece of State at any point
 

01:29:50.460 --> 01:29:53.750 align:start position:0%
any specific piece of State at any point
in<01:29:50.699><c> time</c><01:29:50.880><c> on</c><01:29:51.540><c> any</c><01:29:51.840><c> domain</c><01:29:52.560><c> which</c><01:29:53.340><c> is</c><01:29:53.520><c> pretty</c>

01:29:53.750 --> 01:29:53.760 align:start position:0%
in time on any domain which is pretty
 

01:29:53.760 --> 01:29:55.669 align:start position:0%
in time on any domain which is pretty
nice<01:29:54.000><c> and</c><01:29:54.300><c> does</c><01:29:54.480><c> introduce</c><01:29:54.900><c> additional</c><01:29:55.320><c> trust</c>

01:29:55.669 --> 01:29:55.679 align:start position:0%
nice and does introduce additional trust
 

01:29:55.679 --> 01:29:57.290 align:start position:0%
nice and does introduce additional trust
assumptions<01:29:56.100><c> you</c><01:29:56.699><c> just</c><01:29:56.820><c> rely</c><01:29:57.120><c> on</c><01:29:57.239><c> the</c>

01:29:57.290 --> 01:29:57.300 align:start position:0%
assumptions you just rely on the
 

01:29:57.300 --> 01:29:59.870 align:start position:0%
assumptions you just rely on the
security<01:29:57.480><c> of</c><01:29:57.840><c> like</c><01:29:58.020><c> the</c><01:29:58.139><c> base</c><01:29:58.440><c> chain</c>

01:29:59.870 --> 01:29:59.880 align:start position:0%
security of like the base chain
 

01:29:59.880 --> 01:30:02.149 align:start position:0%
security of like the base chain
um<01:29:59.940><c> so</c><01:30:00.179><c> yeah</c><01:30:00.300><c> that's</c><01:30:00.719><c> like</c><01:30:01.139><c> storage</c><01:30:01.620><c> proofs</c>

01:30:02.149 --> 01:30:02.159 align:start position:0%
um so yeah that's like storage proofs
 

01:30:02.159 --> 01:30:04.610 align:start position:0%
um so yeah that's like storage proofs
tldr<01:30:02.760><c> where</c><01:30:03.060><c> they're</c><01:30:03.360><c> cool</c>

01:30:04.610 --> 01:30:04.620 align:start position:0%
tldr where they're cool
 

01:30:04.620 --> 01:30:08.290 align:start position:0%
tldr where they're cool
now<01:30:05.340><c> a</c><01:30:05.639><c> bit</c><01:30:05.760><c> of</c><01:30:05.940><c> like</c><01:30:06.120><c> sponsored</c><01:30:06.719><c> section</c><01:30:07.020><c> of</c>

01:30:08.290 --> 01:30:08.300 align:start position:0%
now a bit of like sponsored section of
 

01:30:08.300 --> 01:30:11.090 align:start position:0%
now a bit of like sponsored section of
sponsored<01:30:09.300><c> sections</c><01:30:09.780><c> so</c><01:30:10.080><c> uh</c><01:30:10.500><c> what</c><01:30:10.800><c> we're</c>

01:30:11.090 --> 01:30:11.100 align:start position:0%
sponsored sections so uh what we're
 

01:30:11.100 --> 01:30:14.330 align:start position:0%
sponsored sections so uh what we're
doing<01:30:11.219><c> at</c><01:30:11.400><c> harvardus</c><01:30:12.060><c> so</c><01:30:12.900><c> our</c><01:30:13.440><c> like</c><01:30:13.739><c> goal</c><01:30:14.219><c> is</c>

01:30:14.330 --> 01:30:14.340 align:start position:0%
doing at harvardus so our like goal is
 

01:30:14.340 --> 01:30:17.030 align:start position:0%
doing at harvardus so our like goal is
to<01:30:14.639><c> make</c><01:30:14.880><c> smart</c><01:30:15.719><c> contracts</c><01:30:16.199><c> sell</c><01:30:16.320><c> for</c><01:30:16.560><c> in</c><01:30:16.860><c> a</c>

01:30:17.030 --> 01:30:17.040 align:start position:0%
to make smart contracts sell for in a
 

01:30:17.040 --> 01:30:19.669 align:start position:0%
to make smart contracts sell for in a
way<01:30:17.159><c> by</c><01:30:18.120><c> providing</c><01:30:18.659><c> access</c><01:30:19.020><c> to</c><01:30:19.199><c> historical</c>

01:30:19.669 --> 01:30:19.679 align:start position:0%
way by providing access to historical
 

01:30:19.679 --> 01:30:20.930 align:start position:0%
way by providing access to historical
state

01:30:20.930 --> 01:30:20.940 align:start position:0%
state
 

01:30:20.940 --> 01:30:23.870 align:start position:0%
state
uh<01:30:21.600><c> we</c><01:30:21.780><c> like</c><01:30:22.199><c> I</c><01:30:22.440><c> said</c><01:30:22.560><c> might</c><01:30:22.980><c> as</c><01:30:23.219><c> this</c><01:30:23.460><c> is</c><01:30:23.639><c> that</c>

01:30:23.870 --> 01:30:23.880 align:start position:0%
uh we like I said might as this is that
 

01:30:23.880 --> 01:30:25.669 align:start position:0%
uh we like I said might as this is that
ethereum<01:30:24.420><c> is</c><01:30:24.600><c> pretty</c><01:30:24.719><c> short</c><01:30:24.960><c> that</c><01:30:25.139><c> nowadays</c>

01:30:25.669 --> 01:30:25.679 align:start position:0%
ethereum is pretty short that nowadays
 

01:30:25.679 --> 01:30:27.950 align:start position:0%
ethereum is pretty short that nowadays
we<01:30:25.920><c> want</c><01:30:26.040><c> to</c><01:30:26.159><c> unchart</c><01:30:26.580><c> it</c><01:30:26.820><c> by</c><01:30:27.420><c> using</c><01:30:27.780><c> storage</c>

01:30:27.950 --> 01:30:27.960 align:start position:0%
we want to unchart it by using storage
 

01:30:27.960 --> 01:30:31.129 align:start position:0%
we want to unchart it by using storage
proofs<01:30:28.620><c> and</c><01:30:29.460><c> we</c><01:30:29.880><c> want</c><01:30:30.000><c> to</c><01:30:30.120><c> enable</c><01:30:30.420><c> synchronous</c>

01:30:31.129 --> 01:30:31.139 align:start position:0%
proofs and we want to enable synchronous
 

01:30:31.139 --> 01:30:32.990 align:start position:0%
proofs and we want to enable synchronous
data<01:30:31.500><c> reads</c><01:30:31.739><c> because</c><01:30:31.860><c> today</c><01:30:32.100><c> we</c><01:30:32.460><c> do</c><01:30:32.639><c> not</c><01:30:32.820><c> have</c>

01:30:32.990 --> 01:30:33.000 align:start position:0%
data reads because today we do not have
 

01:30:33.000 --> 01:30:35.629 align:start position:0%
data reads because today we do not have
really<01:30:33.300><c> nice</c><01:30:34.020><c> ways</c><01:30:34.380><c> to</c><01:30:34.560><c> make</c><01:30:34.800><c> synchronous</c>

01:30:35.629 --> 01:30:35.639 align:start position:0%
really nice ways to make synchronous
 

01:30:35.639 --> 01:30:37.669 align:start position:0%
really nice ways to make synchronous
data<01:30:36.060><c> access</c><01:30:36.120><c> without</c><01:30:36.480><c> introducing</c><01:30:37.139><c> New</c>

01:30:37.669 --> 01:30:37.679 align:start position:0%
data access without introducing New
 

01:30:37.679 --> 01:30:40.310 align:start position:0%
data access without introducing New
State<01:30:37.980><c> uh</c><01:30:38.400><c> new</c><01:30:38.639><c> trust</c><01:30:38.880><c> assumptions</c><01:30:39.300><c> so</c><01:30:40.139><c> yeah</c>

01:30:40.310 --> 01:30:40.320 align:start position:0%
State uh new trust assumptions so yeah
 

01:30:40.320 --> 01:30:42.229 align:start position:0%
State uh new trust assumptions so yeah
that's<01:30:40.500><c> we</c><01:30:40.739><c> do</c><01:30:40.920><c> and</c><01:30:41.040><c> how</c><01:30:41.219><c> we</c><01:30:41.340><c> achieve</c><01:30:41.699><c> that</c><01:30:41.820><c> we</c>

01:30:42.229 --> 01:30:42.239 align:start position:0%
that's we do and how we achieve that we
 

01:30:42.239 --> 01:30:44.090 align:start position:0%
that's we do and how we achieve that we
achieve<01:30:42.600><c> that</c><01:30:42.719><c> by</c><01:30:42.960><c> using</c><01:30:43.440><c> obviously</c><01:30:43.860><c> storage</c>

01:30:44.090 --> 01:30:44.100 align:start position:0%
achieve that by using obviously storage
 

01:30:44.100 --> 01:30:48.410 align:start position:0%
achieve that by using obviously storage
proofs<01:30:44.639><c> we</c><01:30:45.000><c> use</c><01:30:45.179><c> snark</c><01:30:45.480><c> Starks</c><01:30:46.139><c> and</c><01:30:46.679><c> NPC</c><01:30:47.420><c> I</c>

01:30:48.410 --> 01:30:48.420 align:start position:0%
proofs we use snark Starks and NPC I
 

01:30:48.420 --> 01:30:50.330 align:start position:0%
proofs we use snark Starks and NPC I
will<01:30:48.540><c> get</c><01:30:48.719><c> why</c><01:30:49.320><c> we</c><01:30:49.560><c> even</c><01:30:49.739><c> use</c><01:30:49.980><c> all</c><01:30:50.159><c> this</c>

01:30:50.330 --> 01:30:50.340 align:start position:0%
will get why we even use all this
 

01:30:50.340 --> 01:30:52.669 align:start position:0%
will get why we even use all this
tooling<01:30:50.760><c> but</c><01:30:51.480><c> first</c><01:30:51.900><c> a</c><01:30:52.139><c> few</c><01:30:52.260><c> words</c><01:30:52.440><c> about</c>

01:30:52.669 --> 01:30:52.679 align:start position:0%
tooling but first a few words about
 

01:30:52.679 --> 01:30:54.830 align:start position:0%
tooling but first a few words about
storage<01:30:52.980><c> rules</c><01:30:53.460><c> what</c><01:30:53.639><c> these</c><01:30:53.940><c> are</c><01:30:54.060><c> and</c><01:30:54.420><c> and</c><01:30:54.600><c> so</c>

01:30:54.830 --> 01:30:54.840 align:start position:0%
storage rules what these are and and so
 

01:30:54.840 --> 01:30:56.330 align:start position:0%
storage rules what these are and and so
on

01:30:56.330 --> 01:30:56.340 align:start position:0%
on
 

01:30:56.340 --> 01:30:58.729 align:start position:0%
on
it's<01:30:56.940><c> so</c><01:30:57.120><c> tricky</c><01:30:57.480><c> actually</c><01:30:57.659><c> I</c><01:30:58.020><c> I</c><01:30:58.320><c> need</c><01:30:58.500><c> to</c><01:30:58.620><c> be</c>

01:30:58.729 --> 01:30:58.739 align:start position:0%
it's so tricky actually I I need to be
 

01:30:58.739 --> 01:31:01.310 align:start position:0%
it's so tricky actually I I need to be
multitasking<01:30:59.639><c> okay</c><01:31:00.239><c> so</c><01:31:00.600><c> uh</c><01:31:00.900><c> what</c><01:31:01.080><c> we're</c><01:31:01.199><c> gonna</c>

01:31:01.310 --> 01:31:01.320 align:start position:0%
multitasking okay so uh what we're gonna
 

01:31:01.320 --> 01:31:04.370 align:start position:0%
multitasking okay so uh what we're gonna
cover<01:31:01.620><c> in</c><01:31:02.159><c> today's</c><01:31:02.460><c> Workshop</c><01:31:03.000><c> so</c><01:31:03.900><c> all</c><01:31:04.199><c> the</c>

01:31:04.370 --> 01:31:04.380 align:start position:0%
cover in today's Workshop so all the
 

01:31:04.380 --> 01:31:05.990 align:start position:0%
cover in today's Workshop so all the
basics<01:31:04.739><c> required</c><01:31:05.340><c> to</c><01:31:05.460><c> like</c><01:31:05.699><c> understand</c>

01:31:05.990 --> 01:31:06.000 align:start position:0%
basics required to like understand
 

01:31:06.000 --> 01:31:09.590 align:start position:0%
basics required to like understand
properly<01:31:06.900><c> this</c><01:31:07.679><c> primitive</c><01:31:08.159><c> how</c><01:31:09.000><c> to</c><01:31:09.120><c> like</c><01:31:09.300><c> work</c>

01:31:09.590 --> 01:31:09.600 align:start position:0%
properly this primitive how to like work
 

01:31:09.600 --> 01:31:11.870 align:start position:0%
properly this primitive how to like work
with<01:31:09.840><c> it</c><01:31:10.020><c> uh</c><01:31:10.800><c> how</c><01:31:10.980><c> you</c><01:31:11.100><c> can</c><01:31:11.219><c> generate</c><01:31:11.580><c> these</c>

01:31:11.870 --> 01:31:11.880 align:start position:0%
with it uh how you can generate these
 

01:31:11.880 --> 01:31:14.149 align:start position:0%
with it uh how you can generate these
proofs<01:31:12.120><c> why</c><01:31:12.360><c> they're</c><01:31:12.600><c> pretty</c><01:31:12.900><c> useful</c><01:31:13.260><c> and</c><01:31:13.920><c> how</c>

01:31:14.149 --> 01:31:14.159 align:start position:0%
proofs why they're pretty useful and how
 

01:31:14.159 --> 01:31:16.970 align:start position:0%
proofs why they're pretty useful and how
actually<01:31:14.400><c> you</c><01:31:14.820><c> can</c><01:31:15.080><c> access</c><01:31:16.080><c> this</c><01:31:16.500><c> commitments</c>

01:31:16.970 --> 01:31:16.980 align:start position:0%
actually you can access this commitments
 

01:31:16.980 --> 01:31:18.649 align:start position:0%
actually you can access this commitments
I'll<01:31:17.100><c> get</c><01:31:17.280><c> later</c><01:31:17.460><c> what</c><01:31:17.880><c> we</c><01:31:18.360><c> call</c><01:31:18.480><c> the</c>

01:31:18.649 --> 01:31:18.659 align:start position:0%
I'll get later what we call the
 

01:31:18.659 --> 01:31:22.129 align:start position:0%
I'll get later what we call the
commitment<01:31:19.159><c> in</c><01:31:20.159><c> a</c><01:31:20.340><c> process</c><01:31:21.000><c> manner</c>

01:31:22.129 --> 01:31:22.139 align:start position:0%
commitment in a process manner
 

01:31:22.139 --> 01:31:24.950 align:start position:0%
commitment in a process manner
and<01:31:22.800><c> how</c><01:31:23.100><c> we</c><01:31:23.219><c> make</c><01:31:23.400><c> smart</c><01:31:23.639><c> contracts</c><01:31:24.300><c> software</c>

01:31:24.950 --> 01:31:24.960 align:start position:0%
and how we make smart contracts software
 

01:31:24.960 --> 01:31:28.910 align:start position:0%
and how we make smart contracts software
and<01:31:25.260><c> enable</c><01:31:25.760><c> historical</c><01:31:26.760><c> data</c><01:31:27.420><c> reads</c>

01:31:28.910 --> 01:31:28.920 align:start position:0%
and enable historical data reads
 

01:31:28.920 --> 01:31:30.830 align:start position:0%
and enable historical data reads
cool<01:31:29.580><c> so</c>

01:31:30.830 --> 01:31:30.840 align:start position:0%
cool so
 

01:31:30.840 --> 01:31:33.410 align:start position:0%
cool so
um

01:31:33.410 --> 01:31:33.420 align:start position:0%
 
 

01:31:33.420 --> 01:31:36.530 align:start position:0%
 
it's<01:31:34.020><c> pretty</c><01:31:34.260><c> that's</c><01:31:34.980><c> pretty</c><01:31:35.280><c> tricky</c>

01:31:36.530 --> 01:31:36.540 align:start position:0%
it's pretty that's pretty tricky
 

01:31:36.540 --> 01:31:39.229 align:start position:0%
it's pretty that's pretty tricky
so<01:31:37.260><c> about</c><01:31:37.800><c> the</c><01:31:38.100><c> background</c><01:31:38.400><c> that</c><01:31:38.820><c> I</c><01:31:39.000><c> want</c><01:31:39.120><c> you</c>

01:31:39.229 --> 01:31:39.239 align:start position:0%
so about the background that I want you
 

01:31:39.239 --> 01:31:41.330 align:start position:0%
so about the background that I want you
to<01:31:39.480><c> have</c><01:31:39.659><c> for</c><01:31:39.960><c> this</c><01:31:40.080><c> Workshop</c><01:31:40.500><c> so</c><01:31:40.980><c> we're</c><01:31:41.159><c> gonna</c>

01:31:41.330 --> 01:31:41.340 align:start position:0%
to have for this Workshop so we're gonna
 

01:31:41.340 --> 01:31:44.570 align:start position:0%
to have for this Workshop so we're gonna
like<01:31:41.940><c> start</c><01:31:42.239><c> from</c><01:31:42.659><c> the</c><01:31:43.260><c> biggest</c><01:31:43.440><c> Basics</c><01:31:43.980><c> so</c>

01:31:44.570 --> 01:31:44.580 align:start position:0%
like start from the biggest Basics so
 

01:31:44.580 --> 01:31:46.250 align:start position:0%
like start from the biggest Basics so
what<01:31:44.760><c> is</c><01:31:44.880><c> the</c><01:31:45.000><c> hashing</c><01:31:45.300><c> function</c><01:31:45.600><c> just</c><01:31:45.900><c> a</c><01:31:46.139><c> very</c>

01:31:46.250 --> 01:31:46.260 align:start position:0%
what is the hashing function just a very
 

01:31:46.260 --> 01:31:48.350 align:start position:0%
what is the hashing function just a very
quick<01:31:46.440><c> reminder</c><01:31:46.739><c> I</c><01:31:47.580><c> hope</c><01:31:47.699><c> it</c><01:31:47.820><c> will</c><01:31:48.000><c> take</c><01:31:48.120><c> less</c>

01:31:48.350 --> 01:31:48.360 align:start position:0%
quick reminder I hope it will take less
 

01:31:48.360 --> 01:31:50.750 align:start position:0%
quick reminder I hope it will take less
than<01:31:48.540><c> a</c><01:31:48.659><c> minute</c><01:31:48.860><c> uh</c><01:31:49.860><c> like</c><01:31:50.159><c> generalized</c>

01:31:50.750 --> 01:31:50.760 align:start position:0%
than a minute uh like generalized
 

01:31:50.760 --> 01:31:53.390 align:start position:0%
than a minute uh like generalized
blockchain<01:31:51.060><c> Anatomy</c><01:31:51.659><c> how</c><01:31:52.320><c> I</c><01:31:52.500><c> ethereum</c><01:31:52.920><c> header</c>

01:31:53.390 --> 01:31:53.400 align:start position:0%
blockchain Anatomy how I ethereum header
 

01:31:53.400 --> 01:31:55.729 align:start position:0%
blockchain Anatomy how I ethereum header
looks<01:31:53.940><c> like</c><01:31:54.000><c> why</c><01:31:54.420><c> ethereum</c><01:31:54.840><c> they're</c><01:31:55.320><c> not</c><01:31:55.560><c> like</c>

01:31:55.729 --> 01:31:55.739 align:start position:0%
looks like why ethereum they're not like
 

01:31:55.739 --> 01:31:58.790 align:start position:0%
looks like why ethereum they're not like
pretty<01:31:56.100><c> on</c><01:31:56.699><c> only</c><01:31:57.120><c> like</c><01:31:57.360><c> ethereum</c><01:31:57.900><c> focused</c><01:31:58.260><c> uh</c>

01:31:58.790 --> 01:31:58.800 align:start position:0%
pretty on only like ethereum focused uh
 

01:31:58.800 --> 01:32:00.410 align:start position:0%
pretty on only like ethereum focused uh
however<01:31:59.100><c> I</c><01:31:59.460><c> think</c><01:31:59.580><c> that</c><01:31:59.760><c> for</c><01:31:59.940><c> the</c><01:32:00.060><c> sake</c><01:32:00.239><c> of</c>

01:32:00.410 --> 01:32:00.420 align:start position:0%
however I think that for the sake of
 

01:32:00.420 --> 01:32:01.790 align:start position:0%
however I think that for the sake of
this<01:32:00.600><c> Workshop</c><01:32:00.900><c> it's</c><01:32:01.199><c> the</c><01:32:01.440><c> best</c><01:32:01.560><c> to</c><01:32:01.679><c> like</c>

01:32:01.790 --> 01:32:01.800 align:start position:0%
this Workshop it's the best to like
 

01:32:01.800 --> 01:32:04.250 align:start position:0%
this Workshop it's the best to like
present<01:32:02.100><c> on</c><01:32:02.280><c> this</c><01:32:02.340><c> concrete</c><01:32:02.699><c> example</c><01:32:03.600><c> Miracle</c>

01:32:04.250 --> 01:32:04.260 align:start position:0%
present on this concrete example Miracle
 

01:32:04.260 --> 01:32:06.229 align:start position:0%
present on this concrete example Miracle
trees<01:32:04.620><c> explain</c><01:32:04.800><c> me</c><01:32:05.100><c> like</c><01:32:05.219><c> on</c><01:32:05.460><c> five</c><01:32:05.639><c> I</c><01:32:06.060><c> will</c>

01:32:06.229 --> 01:32:06.239 align:start position:0%
trees explain me like on five I will
 

01:32:06.239 --> 01:32:09.770 align:start position:0%
trees explain me like on five I will
just<01:32:06.480><c> quickly</c><01:32:07.460><c> explain</c><01:32:08.460><c> the</c><01:32:08.880><c> idea</c><01:32:09.179><c> how</c><01:32:09.600><c> it</c>

01:32:09.770 --> 01:32:09.780 align:start position:0%
just quickly explain the idea how it
 

01:32:09.780 --> 01:32:12.410 align:start position:0%
just quickly explain the idea how it
works<01:32:10.139><c> and</c><01:32:10.920><c> what</c><01:32:11.280><c> is</c><01:32:11.400><c> America</c><01:32:11.580><c> Patricia</c><01:32:12.239><c> tree</c>

01:32:12.410 --> 01:32:12.420 align:start position:0%
works and what is America Patricia tree
 

01:32:12.420 --> 01:32:13.790 align:start position:0%
works and what is America Patricia tree
without<01:32:12.780><c> really</c><01:32:13.139><c> going</c><01:32:13.320><c> too</c><01:32:13.500><c> much</c><01:32:13.620><c> into</c>

01:32:13.790 --> 01:32:13.800 align:start position:0%
without really going too much into
 

01:32:13.800 --> 01:32:15.590 align:start position:0%
without really going too much into
digitals

01:32:15.590 --> 01:32:15.600 align:start position:0%
digitals
 

01:32:15.600 --> 01:32:19.669 align:start position:0%
digitals
um yeah<01:32:16.040><c> finally</c><01:32:17.040><c> no</c><01:32:18.000><c> not</c><01:32:18.239><c> finally</c><01:32:18.600><c> uh</c><01:32:19.500><c> the</c>

01:32:19.669 --> 01:32:19.679 align:start position:0%
um yeah finally no not finally uh the
 

01:32:19.679 --> 01:32:22.250 align:start position:0%
um yeah finally no not finally uh the
anatomy<01:32:20.159><c> the</c><01:32:20.340><c> ethereum</c><01:32:20.820><c> state</c>

01:32:22.250 --> 01:32:22.260 align:start position:0%
anatomy the ethereum state
 

01:32:22.260 --> 01:32:24.410 align:start position:0%
anatomy the ethereum state
it's<01:32:22.440><c> pretty</c><01:32:22.800><c> important</c><01:32:23.460><c> to</c><01:32:23.820><c> like</c><01:32:24.000><c> deal</c><01:32:24.179><c> with</c>

01:32:24.410 --> 01:32:24.420 align:start position:0%
it's pretty important to like deal with
 

01:32:24.420 --> 01:32:27.110 align:start position:0%
it's pretty important to like deal with
this<01:32:24.719><c> uh</c><01:32:25.020><c> with</c><01:32:25.739><c> this</c><01:32:25.920><c> primitive</c><01:32:26.340><c> and</c><01:32:26.760><c> finally</c>

01:32:27.110 --> 01:32:27.120 align:start position:0%
this uh with this primitive and finally
 

01:32:27.120 --> 01:32:29.930 align:start position:0%
this uh with this primitive and finally
how<01:32:27.480><c> to</c><01:32:27.600><c> deal</c><01:32:27.780><c> with</c><01:32:27.960><c> the</c><01:32:28.080><c> storage</c><01:32:28.260><c> layout</c>

01:32:29.930 --> 01:32:29.940 align:start position:0%
how to deal with the storage layout
 

01:32:29.940 --> 01:32:33.229 align:start position:0%
how to deal with the storage layout
cool<01:32:30.600><c> so</c><01:32:31.020><c> touching</c><01:32:31.800><c> function</c><01:32:32.100><c> essential</c><01:32:33.060><c> is</c>

01:32:33.229 --> 01:32:33.239 align:start position:0%
cool so touching function essential is
 

01:32:33.239 --> 01:32:34.910 align:start position:0%
cool so touching function essential is
this<01:32:33.420><c> idea</c>

01:32:34.910 --> 01:32:34.920 align:start position:0%
this idea
 

01:32:34.920 --> 01:32:37.070 align:start position:0%
this idea
essentially<01:32:35.639><c> it's</c><01:32:35.820><c> this</c><01:32:36.120><c> idea</c><01:32:36.420><c> that</c><01:32:36.659><c> I</c><01:32:36.960><c> can</c>

01:32:37.070 --> 01:32:37.080 align:start position:0%
essentially it's this idea that I can
 

01:32:37.080 --> 01:32:39.770 align:start position:0%
essentially it's this idea that I can
have<01:32:37.320><c> a</c><01:32:37.800><c> function</c><01:32:38.219><c> that</c><01:32:38.580><c> takes</c><01:32:38.699><c> some</c><01:32:38.940><c> input</c>

01:32:39.770 --> 01:32:39.780 align:start position:0%
have a function that takes some input
 

01:32:39.780 --> 01:32:42.490 align:start position:0%
have a function that takes some input
of<01:32:40.380><c> any</c><01:32:40.560><c> size</c><01:32:40.800><c> and</c><01:32:41.219><c> it</c><01:32:41.400><c> always</c><01:32:41.639><c> always</c><01:32:42.120><c> return</c>

01:32:42.490 --> 01:32:42.500 align:start position:0%
of any size and it always always return
 

01:32:42.500 --> 01:32:45.290 align:start position:0%
of any size and it always always return
an<01:32:43.500><c> output</c><01:32:43.800><c> of</c><01:32:44.040><c> a</c><01:32:44.159><c> fixed</c><01:32:44.460><c> size</c><01:32:44.580><c> and</c><01:32:44.880><c> now</c><01:32:45.060><c> what's</c>

01:32:45.290 --> 01:32:45.300 align:start position:0%
an output of a fixed size and now what's
 

01:32:45.300 --> 01:32:48.590 align:start position:0%
an output of a fixed size and now what's
also<01:32:45.659><c> important</c><01:32:46.040><c> there</c><01:32:47.040><c> is</c><01:32:47.219><c> no</c><01:32:47.580><c> input</c><01:32:48.000><c> there</c>

01:32:48.590 --> 01:32:48.600 align:start position:0%
also important there is no input there
 

01:32:48.600 --> 01:32:50.149 align:start position:0%
also important there is no input there
are<01:32:48.780><c> no</c><01:32:48.840><c> two</c><01:32:49.020><c> inputs</c><01:32:49.380><c> that</c><01:32:49.500><c> will</c><01:32:49.620><c> generate</c><01:32:49.980><c> the</c>

01:32:50.149 --> 01:32:50.159 align:start position:0%
are no two inputs that will generate the
 

01:32:50.159 --> 01:32:53.510 align:start position:0%
are no two inputs that will generate the
same<01:32:50.340><c> output</c><01:32:50.699><c> and</c><01:32:51.600><c> you</c><01:32:51.840><c> cannot</c><01:32:52.139><c> reverse</c><01:32:52.620><c> the</c>

01:32:53.510 --> 01:32:53.520 align:start position:0%
same output and you cannot reverse the
 

01:32:53.520 --> 01:32:55.129 align:start position:0%
same output and you cannot reverse the
hashing<01:32:53.880><c> function</c><01:32:54.179><c> so</c><01:32:54.360><c> it</c><01:32:54.480><c> means</c><01:32:54.659><c> that</c><01:32:54.780><c> given</c>

01:32:55.129 --> 01:32:55.139 align:start position:0%
hashing function so it means that given
 

01:32:55.139 --> 01:32:56.510 align:start position:0%
hashing function so it means that given
the<01:32:55.260><c> output</c><01:32:55.500><c> you</c><01:32:55.739><c> don't</c><01:32:55.920><c> know</c><01:32:56.040><c> what</c><01:32:56.219><c> is</c><01:32:56.340><c> the</c>

01:32:56.510 --> 01:32:56.520 align:start position:0%
the output you don't know what is the
 

01:32:56.520 --> 01:32:58.430 align:start position:0%
the output you don't know what is the
input<01:32:56.820><c> and</c><01:32:57.300><c> this</c><01:32:57.420><c> is</c><01:32:57.540><c> not</c><01:32:57.719><c> what</c><01:32:57.960><c> we</c><01:32:58.080><c> call</c><01:32:58.199><c> like</c>

01:32:58.430 --> 01:32:58.440 align:start position:0%
input and this is not what we call like
 

01:32:58.440 --> 01:33:00.470 align:start position:0%
input and this is not what we call like
Collision<01:32:58.800><c> resistance</c><01:32:59.460><c> pretty</c><01:33:00.179><c> useful</c>

01:33:00.470 --> 01:33:00.480 align:start position:0%
Collision resistance pretty useful
 

01:33:00.480 --> 01:33:02.570 align:start position:0%
Collision resistance pretty useful
primitive<01:33:00.840><c> like</c><01:33:01.020><c> used</c><01:33:01.199><c> in</c><01:33:01.380><c> blockchains</c><01:33:01.980><c> uh</c><01:33:02.340><c> I</c>

01:33:02.570 --> 01:33:02.580 align:start position:0%
primitive like used in blockchains uh I
 

01:33:02.580 --> 01:33:04.070 align:start position:0%
primitive like used in blockchains uh I
will<01:33:02.760><c> and</c><01:33:03.120><c> I</c><01:33:03.300><c> think</c><01:33:03.420><c> that's</c><01:33:03.600><c> that's</c><01:33:03.900><c> pretty</c>

01:33:04.070 --> 01:33:04.080 align:start position:0%
will and I think that's that's pretty
 

01:33:04.080 --> 01:33:05.510 align:start position:0%
will and I think that's that's pretty
much<01:33:04.199><c> what</c><01:33:04.380><c> I</c><01:33:04.560><c> assume</c><01:33:04.860><c> that</c><01:33:04.980><c> everyone</c><01:33:05.100><c> is</c><01:33:05.340><c> like</c>

01:33:05.510 --> 01:33:05.520 align:start position:0%
much what I assume that everyone is like
 

01:33:05.520 --> 01:33:08.810 align:start position:0%
much what I assume that everyone is like
familiar<01:33:06.000><c> with</c><01:33:06.239><c> like</c><01:33:06.659><c> yeah</c><01:33:07.080><c> okay</c><01:33:07.980><c> why</c><01:33:08.580><c> is</c><01:33:08.699><c> it</c>

01:33:08.810 --> 01:33:08.820 align:start position:0%
familiar with like yeah okay why is it
 

01:33:08.820 --> 01:33:12.229 align:start position:0%
familiar with like yeah okay why is it
important

01:33:12.229 --> 01:33:12.239 align:start position:0%
 
 

01:33:12.239 --> 01:33:14.590 align:start position:0%
 
um<01:33:12.300><c> so</c><01:33:12.659><c> generalized</c><01:33:13.380><c> blockchain</c>

01:33:14.590 --> 01:33:14.600 align:start position:0%
um so generalized blockchain
 

01:33:14.600 --> 01:33:16.850 align:start position:0%
um so generalized blockchain
Anatomy<01:33:15.600><c> so</c><01:33:15.780><c> why</c><01:33:16.020><c> we</c><01:33:16.199><c> call</c><01:33:16.320><c> it</c><01:33:16.500><c> a</c><01:33:16.679><c> chain</c>

01:33:16.850 --> 01:33:16.860 align:start position:0%
Anatomy so why we call it a chain
 

01:33:16.860 --> 01:33:19.729 align:start position:0%
Anatomy so why we call it a chain
because<01:33:17.280><c> we</c><01:33:17.639><c> have</c><01:33:18.000><c> a</c><01:33:18.300><c> bunch</c><01:33:18.659><c> of</c><01:33:18.780><c> blocks</c><01:33:19.199><c> mined</c>

01:33:19.729 --> 01:33:19.739 align:start position:0%
because we have a bunch of blocks mined
 

01:33:19.739 --> 01:33:22.129 align:start position:0%
because we have a bunch of blocks mined
together<01:33:19.860><c> like</c><01:33:20.400><c> linked</c><01:33:21.120><c> together</c><01:33:21.239><c> because</c>

01:33:22.129 --> 01:33:22.139 align:start position:0%
together like linked together because
 

01:33:22.139 --> 01:33:24.530 align:start position:0%
together like linked together because
each<01:33:22.860><c> block</c><01:33:23.100><c> contains</c><01:33:23.699><c> the</c><01:33:24.000><c> reference</c><01:33:24.360><c> the</c>

01:33:24.530 --> 01:33:24.540 align:start position:0%
each block contains the reference the
 

01:33:24.540 --> 01:33:27.169 align:start position:0%
each block contains the reference the
parent<01:33:24.719><c> hash</c><01:33:25.280><c> and</c><01:33:26.280><c> the</c><01:33:26.580><c> previous</c><01:33:26.699><c> header</c>

01:33:27.169 --> 01:33:27.179 align:start position:0%
parent hash and the previous header
 

01:33:27.179 --> 01:33:28.310 align:start position:0%
parent hash and the previous header
contains<01:33:27.600><c> the</c><01:33:27.719><c> reference</c><01:33:27.960><c> of</c><01:33:28.080><c> the</c><01:33:28.199><c> parent</c>

01:33:28.310 --> 01:33:28.320 align:start position:0%
contains the reference of the parent
 

01:33:28.320 --> 01:33:30.590 align:start position:0%
contains the reference of the parent
hash<01:33:28.739><c> which</c><01:33:29.219><c> is</c><01:33:29.340><c> pretty</c><01:33:29.520><c> cool</c><01:33:29.760><c> and</c><01:33:29.940><c> let</c><01:33:30.420><c> me</c>

01:33:30.590 --> 01:33:30.600 align:start position:0%
hash which is pretty cool and let me
 

01:33:30.600 --> 01:33:32.930 align:start position:0%
hash which is pretty cool and let me
remind<01:33:30.719><c> what</c><01:33:31.020><c> the</c><01:33:31.260><c> hash</c><01:33:31.620><c> the</c><01:33:32.159><c> parent</c><01:33:32.520><c> hash</c><01:33:32.820><c> or</c>

01:33:32.930 --> 01:33:32.940 align:start position:0%
remind what the hash the parent hash or
 

01:33:32.940 --> 01:33:35.870 align:start position:0%
remind what the hash the parent hash or
the<01:33:33.060><c> block</c><01:33:33.239><c> hash</c><01:33:33.600><c> of</c><01:33:34.440><c> uh</c><01:33:34.920><c> on</c><01:33:35.159><c> ethereum</c><01:33:35.520><c> is</c><01:33:35.760><c> it's</c>

01:33:35.870 --> 01:33:35.880 align:start position:0%
the block hash of uh on ethereum is it's
 

01:33:35.880 --> 01:33:38.390 align:start position:0%
the block hash of uh on ethereum is it's
essentially<01:33:36.179><c> the</c><01:33:36.360><c> hash</c><01:33:36.600><c> of</c><01:33:36.719><c> the</c><01:33:36.840><c> header</c><01:33:37.560><c> uh</c>

01:33:38.390 --> 01:33:38.400 align:start position:0%
essentially the hash of the header uh
 

01:33:38.400 --> 01:33:40.490 align:start position:0%
essentially the hash of the header uh
pretty<01:33:38.639><c> important</c><01:33:39.120><c> to</c><01:33:39.659><c> deal</c><01:33:39.900><c> with</c><01:33:40.260><c> this</c>

01:33:40.490 --> 01:33:40.500 align:start position:0%
pretty important to deal with this
 

01:33:40.500 --> 01:33:42.229 align:start position:0%
pretty important to deal with this
Primitives<01:33:41.040><c> and</c><01:33:41.340><c> make</c><01:33:41.520><c> smart</c><01:33:41.760><c> contracts</c>

01:33:42.229 --> 01:33:42.239 align:start position:0%
Primitives and make smart contracts
 

01:33:42.239 --> 01:33:44.830 align:start position:0%
Primitives and make smart contracts
software<01:33:42.600><c> so</c><01:33:42.900><c> accessing</c><01:33:43.380><c> six</c><01:33:43.560><c> Oracle</c><01:33:43.980><c> state</c>

01:33:44.830 --> 01:33:44.840 align:start position:0%
software so accessing six Oracle state
 

01:33:44.840 --> 01:33:47.930 align:start position:0%
software so accessing six Oracle state
do<01:33:45.840><c> you</c><01:33:46.020><c> just</c><01:33:46.260><c> keep</c><01:33:46.440><c> that</c><01:33:46.620><c> in</c><01:33:46.739><c> mind</c>

01:33:47.930 --> 01:33:47.940 align:start position:0%
do you just keep that in mind
 

01:33:47.940 --> 01:33:51.830 align:start position:0%
do you just keep that in mind
let's<01:33:48.719><c> get</c><01:33:49.139><c> to</c><01:33:49.320><c> the</c><01:33:49.500><c> next</c><01:33:49.679><c> part</c><01:33:49.980><c> so</c>

01:33:51.830 --> 01:33:51.840 align:start position:0%
let's get to the next part so
 

01:33:51.840 --> 01:33:54.649 align:start position:0%
let's get to the next part so
um no

01:33:54.649 --> 01:33:54.659 align:start position:0%
 
 

01:33:54.659 --> 01:33:58.790 align:start position:0%
 
ah<01:33:55.380><c> I</c><01:33:56.280><c> think</c><01:33:56.400><c> I'm</c><01:33:56.699><c> missing</c><01:33:57.179><c> one</c><01:33:57.780><c> slide</c>

01:33:58.790 --> 01:33:58.800 align:start position:0%
ah I think I'm missing one slide
 

01:33:58.800 --> 01:34:02.930 align:start position:0%
ah I think I'm missing one slide
no<01:33:59.340><c> it's</c><01:33:59.699><c> the</c><01:33:59.940><c> correct</c><01:34:00.239><c> one</c><01:34:00.900><c> okay</c><01:34:01.679><c> so</c><01:34:02.219><c> uh</c><01:34:02.760><c> this</c>

01:34:02.930 --> 01:34:02.940 align:start position:0%
no it's the correct one okay so uh this
 

01:34:02.940 --> 01:34:04.910 align:start position:0%
no it's the correct one okay so uh this
is<01:34:03.060><c> an</c><01:34:03.120><c> ethereum</c><01:34:03.480><c> block</c><01:34:03.659><c> header</c><01:34:04.080><c> uh</c><01:34:04.500><c> as</c><01:34:04.620><c> I</c><01:34:04.739><c> said</c>

01:34:04.910 --> 01:34:04.920 align:start position:0%
is an ethereum block header uh as I said
 

01:34:04.920 --> 01:34:06.649 align:start position:0%
is an ethereum block header uh as I said
we're<01:34:05.100><c> gonna</c><01:34:05.219><c> go</c><01:34:05.520><c> through</c><01:34:05.699><c> the</c><01:34:05.940><c> example</c><01:34:06.420><c> of</c>

01:34:06.649 --> 01:34:06.659 align:start position:0%
we're gonna go through the example of
 

01:34:06.659 --> 01:34:09.830 align:start position:0%
we're gonna go through the example of
ethereum<01:34:07.260><c> concretely</c><01:34:07.739><c> so</c><01:34:08.580><c> a</c><01:34:09.060><c> bit</c><01:34:09.179><c> of</c><01:34:09.300><c> anatomy</c>

01:34:09.830 --> 01:34:09.840 align:start position:0%
ethereum concretely so a bit of anatomy
 

01:34:09.840 --> 01:34:12.290 align:start position:0%
ethereum concretely so a bit of anatomy
so<01:34:10.500><c> to</c><01:34:10.800><c> access</c><01:34:10.980><c> State</c><01:34:11.340><c> obviously</c><01:34:11.760><c> we</c><01:34:11.880><c> need</c><01:34:12.060><c> the</c>

01:34:12.290 --> 01:34:12.300 align:start position:0%
so to access State obviously we need the
 

01:34:12.300 --> 01:34:13.850 align:start position:0%
so to access State obviously we need the
state<01:34:12.540><c> route</c><01:34:12.780><c> what</c><01:34:13.020><c> is</c><01:34:13.139><c> the</c><01:34:13.260><c> state</c><01:34:13.380><c> route</c><01:34:13.620><c> is</c>

01:34:13.850 --> 01:34:13.860 align:start position:0%
state route what is the state route is
 

01:34:13.860 --> 01:34:16.610 align:start position:0%
state route what is the state route is
the<01:34:13.980><c> root</c><01:34:14.340><c> of</c><01:34:14.460><c> the</c><01:34:14.520><c> miracle</c><01:34:14.940><c> Patricia</c><01:34:15.420><c> tree</c><01:34:15.659><c> of</c>

01:34:16.610 --> 01:34:16.620 align:start position:0%
the root of the miracle Patricia tree of
 

01:34:16.620 --> 01:34:17.930 align:start position:0%
the root of the miracle Patricia tree of
the<01:34:16.800><c> ethereum</c><01:34:17.100><c> state</c>

01:34:17.930 --> 01:34:17.940 align:start position:0%
the ethereum state
 

01:34:17.940 --> 01:34:19.850 align:start position:0%
the ethereum state
we<01:34:18.420><c> also</c><01:34:18.780><c> have</c><01:34:18.840><c> the</c><01:34:18.960><c> transactions</c><01:34:19.380><c> rule</c><01:34:19.679><c> which</c>

01:34:19.850 --> 01:34:19.860 align:start position:0%
we also have the transactions rule which
 

01:34:19.860 --> 01:34:21.770 align:start position:0%
we also have the transactions rule which
is<01:34:19.920><c> pretty</c><01:34:20.040><c> useful</c><01:34:20.400><c> if</c><01:34:20.639><c> you</c><01:34:20.760><c> want</c><01:34:21.000><c> to</c><01:34:21.179><c> access</c>

01:34:21.770 --> 01:34:21.780 align:start position:0%
is pretty useful if you want to access
 

01:34:21.780 --> 01:34:23.450 align:start position:0%
is pretty useful if you want to access
historical<01:34:22.440><c> transactions</c><01:34:23.040><c> like</c><01:34:23.219><c> their</c>

01:34:23.450 --> 01:34:23.460 align:start position:0%
historical transactions like their
 

01:34:23.460 --> 01:34:26.330 align:start position:0%
historical transactions like their
entire<01:34:23.760><c> body</c><01:34:24.380><c> and</c><01:34:25.380><c> receive</c><01:34:25.739><c> truth</c><01:34:26.040><c> so</c><01:34:26.219><c> it's</c>

01:34:26.330 --> 01:34:26.340 align:start position:0%
entire body and receive truth so it's
 

01:34:26.340 --> 01:34:29.570 align:start position:0%
entire body and receive truth so it's
really<01:34:26.580><c> useful</c><01:34:26.880><c> to</c><01:34:27.179><c> access</c><01:34:27.440><c> any</c><01:34:28.440><c> events</c><01:34:28.860><c> logs</c>

01:34:29.570 --> 01:34:29.580 align:start position:0%
really useful to access any events logs
 

01:34:29.580 --> 01:34:32.090 align:start position:0%
really useful to access any events logs
and<01:34:29.880><c> and</c><01:34:30.300><c> so</c><01:34:30.540><c> on</c><01:34:30.659><c> and</c><01:34:31.139><c> all</c><01:34:31.380><c> of</c><01:34:31.500><c> these</c><01:34:31.739><c> are</c><01:34:31.920><c> like</c>

01:34:32.090 --> 01:34:32.100 align:start position:0%
and and so on and all of these are like
 

01:34:32.100 --> 01:34:34.370 align:start position:0%
and and so on and all of these are like
root<01:34:32.639><c> of</c><01:34:32.760><c> the</c><01:34:32.820><c> American</c><01:34:32.940><c> Patricia</c><01:34:33.600><c> tree</c>

01:34:34.370 --> 01:34:34.380 align:start position:0%
root of the American Patricia tree
 

01:34:34.380 --> 01:34:37.010 align:start position:0%
root of the American Patricia tree
America<01:34:34.679><c> Patricia</c><01:34:35.340><c> 3's</c><01:34:35.760><c> America</c><01:34:36.420><c> 3</c><01:34:36.780><c> just</c>

01:34:37.010 --> 01:34:37.020 align:start position:0%
America Patricia 3's America 3 just
 

01:34:37.020 --> 01:34:39.350 align:start position:0%
America Patricia 3's America 3 just
think<01:34:37.139><c> of</c><01:34:37.320><c> it</c><01:34:37.440><c> in</c><01:34:37.620><c> that</c><01:34:37.739><c> way</c><01:34:38.280><c> and</c><01:34:39.179><c> most</c>

01:34:39.350 --> 01:34:39.360 align:start position:0%
think of it in that way and most
 

01:34:39.360 --> 01:34:41.510 align:start position:0%
think of it in that way and most
importantly<01:34:39.780><c> we</c><01:34:40.380><c> have</c><01:34:40.440><c> the</c><01:34:40.560><c> parent</c><01:34:40.739><c> hash</c><01:34:41.159><c> and</c>

01:34:41.510 --> 01:34:41.520 align:start position:0%
importantly we have the parent hash and
 

01:34:41.520 --> 01:34:43.729 align:start position:0%
importantly we have the parent hash and
with<01:34:41.699><c> the</c><01:34:41.820><c> parent</c><01:34:41.940><c> hash</c><01:34:42.360><c> we</c><01:34:42.659><c> can</c><01:34:42.900><c> in</c><01:34:43.199><c> a</c><01:34:43.320><c> way</c><01:34:43.440><c> go</c>

01:34:43.729 --> 01:34:43.739 align:start position:0%
with the parent hash we can in a way go
 

01:34:43.739 --> 01:34:48.050 align:start position:0%
with the parent hash we can in a way go
go<01:34:44.040><c> backwards</c><01:34:45.120><c> I</c><01:34:45.840><c> think</c><01:34:46.080><c> that's</c><01:34:46.560><c> it</c><01:34:47.400><c> let's</c><01:34:47.820><c> get</c>

01:34:48.050 --> 01:34:48.060 align:start position:0%
go backwards I think that's it let's get
 

01:34:48.060 --> 01:34:50.149 align:start position:0%
go backwards I think that's it let's get
to<01:34:48.360><c> Miracle</c><01:34:49.020><c> tree</c><01:34:49.139><c> so</c><01:34:49.380><c> essentially</c><01:34:49.739><c> it's</c><01:34:49.920><c> this</c>

01:34:50.149 --> 01:34:50.159 align:start position:0%
to Miracle tree so essentially it's this
 

01:34:50.159 --> 01:34:52.910 align:start position:0%
to Miracle tree so essentially it's this
idea<01:34:50.520><c> that</c><01:34:51.120><c> I</c><01:34:51.360><c> can</c><01:34:51.540><c> take</c><01:34:52.139><c> whatever</c><01:34:52.380><c> amount</c><01:34:52.800><c> of</c>

01:34:52.910 --> 01:34:52.920 align:start position:0%
idea that I can take whatever amount of
 

01:34:52.920 --> 01:34:55.189 align:start position:0%
idea that I can take whatever amount of
data<01:34:53.340><c> and</c><01:34:54.060><c> I</c><01:34:54.179><c> can</c><01:34:54.360><c> commit</c><01:34:54.840><c> it</c><01:34:54.900><c> in</c><01:34:55.080><c> a</c>

01:34:55.189 --> 01:34:55.199 align:start position:0%
data and I can commit it in a
 

01:34:55.199 --> 01:34:58.189 align:start position:0%
data and I can commit it in a
cryptographic<01:34:55.739><c> manner</c><01:34:56.040><c> by</c><01:34:56.820><c> using</c><01:34:57.300><c> this</c><01:34:57.840><c> data</c>

01:34:58.189 --> 01:34:58.199 align:start position:0%
cryptographic manner by using this data
 

01:34:58.199 --> 01:35:00.590 align:start position:0%
cryptographic manner by using this data
structure<01:34:58.620><c> so</c><01:34:59.400><c> on</c><01:34:59.820><c> the</c>

01:35:00.590 --> 01:35:00.600 align:start position:0%
structure so on the
 

01:35:00.600 --> 01:35:03.229 align:start position:0%
structure so on the
left<01:35:01.260><c> side</c><01:35:01.500><c> we</c><01:35:02.040><c> see</c><01:35:02.159><c> a</c><01:35:02.400><c> standard</c><01:35:02.699><c> Merkle</c><01:35:03.060><c> tree</c>

01:35:03.229 --> 01:35:03.239 align:start position:0%
left side we see a standard Merkle tree
 

01:35:03.239 --> 01:35:05.030 align:start position:0%
left side we see a standard Merkle tree
so<01:35:03.659><c> essentially</c><01:35:03.960><c> all</c><01:35:04.320><c> the</c><01:35:04.440><c> data</c><01:35:04.620><c> goes</c><01:35:04.860><c> to</c><01:35:04.920><c> the</c>

01:35:05.030 --> 01:35:05.040 align:start position:0%
so essentially all the data goes to the
 

01:35:05.040 --> 01:35:07.010 align:start position:0%
so essentially all the data goes to the
bottom<01:35:05.280><c> and</c><01:35:05.460><c> we</c><01:35:05.639><c> essentially</c><01:35:06.000><c> hash</c><01:35:06.300><c> it</c><01:35:06.480><c> you</c>

01:35:07.010 --> 01:35:07.020 align:start position:0%
bottom and we essentially hash it you
 

01:35:07.020 --> 01:35:08.209 align:start position:0%
bottom and we essentially hash it you
know<01:35:07.139><c> what</c><01:35:07.199><c> the</c><01:35:07.380><c> hashing</c><01:35:07.679><c> function</c><01:35:07.920><c> is</c><01:35:07.980><c> then</c>

01:35:08.209 --> 01:35:08.219 align:start position:0%
know what the hashing function is then
 

01:35:08.219 --> 01:35:09.290 align:start position:0%
know what the hashing function is then
we<01:35:08.400><c> combine</c><01:35:08.580><c> these</c><01:35:08.760><c> two</c><01:35:08.820><c> hashes</c><01:35:09.179><c> together</c>

01:35:09.290 --> 01:35:09.300 align:start position:0%
we combine these two hashes together
 

01:35:09.300 --> 01:35:12.709 align:start position:0%
we combine these two hashes together
with<01:35:09.600><c> hashtag</c><01:35:10.080><c> we</c><01:35:10.800><c> keep</c><01:35:10.980><c> doing</c><01:35:11.159><c> that</c><01:35:11.400><c> until</c><01:35:11.719><c> we</c>

01:35:12.709 --> 01:35:12.719 align:start position:0%
with hashtag we keep doing that until we
 

01:35:12.719 --> 01:35:14.149 align:start position:0%
with hashtag we keep doing that until we
get<01:35:12.840><c> to</c><01:35:12.960><c> essentially</c><01:35:13.320><c> one</c><01:35:13.500><c> hush</c><01:35:13.800><c> and</c><01:35:13.980><c> this</c><01:35:14.100><c> is</c>

01:35:14.149 --> 01:35:14.159 align:start position:0%
get to essentially one hush and this is
 

01:35:14.159 --> 01:35:16.310 align:start position:0%
get to essentially one hush and this is
what<01:35:14.280><c> we</c><01:35:14.400><c> call</c><01:35:14.460><c> the</c><01:35:14.639><c> root</c><01:35:15.420><c> mark</c><01:35:15.780><c> up</c><01:35:16.020><c> to</c><01:35:16.199><c> three</c>

01:35:16.310 --> 01:35:16.320 align:start position:0%
what we call the root mark up to three
 

01:35:16.320 --> 01:35:18.169 align:start position:0%
what we call the root mark up to three
shot<01:35:16.500><c> three</c><01:35:16.679><c> modified</c><01:35:17.280><c> Miracle</c><01:35:17.699><c> Patricia</c><01:35:18.060><c> 2</c>

01:35:18.169 --> 01:35:18.179 align:start position:0%
shot three modified Miracle Patricia 2
 

01:35:18.179 --> 01:35:21.290 align:start position:0%
shot three modified Miracle Patricia 2
to<01:35:18.420><c> be</c><01:35:18.540><c> exactly</c><01:35:19.219><c> the</c><01:35:20.219><c> data</c><01:35:20.520><c> structure</c><01:35:21.060><c> that</c><01:35:21.179><c> we</c>

01:35:21.290 --> 01:35:21.300 align:start position:0%
to be exactly the data structure that we
 

01:35:21.300 --> 01:35:23.030 align:start position:0%
to be exactly the data structure that we
use<01:35:21.480><c> in</c><01:35:21.659><c> ethereum</c>

01:35:23.030 --> 01:35:23.040 align:start position:0%
use in ethereum
 

01:35:23.040 --> 01:35:26.270 align:start position:0%
use in ethereum
um<01:35:23.159><c> what</c><01:35:23.820><c> you</c><01:35:23.940><c> see</c><01:35:24.060><c> here</c><01:35:24.300><c> I</c><01:35:24.900><c> hope</c><01:35:25.139><c> you</c><01:35:25.320><c> see</c><01:35:25.560><c> on</c>

01:35:26.270 --> 01:35:26.280 align:start position:0%
um what you see here I hope you see on
 

01:35:26.280 --> 01:35:28.070 align:start position:0%
um what you see here I hope you see on
the<01:35:26.400><c> top</c><01:35:26.460><c> we</c><01:35:26.639><c> have</c><01:35:26.760><c> the</c><01:35:26.880><c> state</c><01:35:27.060><c> route</c>

01:35:28.070 --> 01:35:28.080 align:start position:0%
the top we have the state route
 

01:35:28.080 --> 01:35:30.050 align:start position:0%
the top we have the state route
and<01:35:28.620><c> essentially</c><01:35:29.040><c> the</c><01:35:29.280><c> state</c><01:35:29.460><c> route</c><01:35:29.699><c> is</c><01:35:29.880><c> the</c>

01:35:30.050 --> 01:35:30.060 align:start position:0%
and essentially the state route is the
 

01:35:30.060 --> 01:35:31.970 align:start position:0%
and essentially the state route is the
root<01:35:30.480><c> of</c><01:35:30.540><c> this</c><01:35:30.719><c> tree</c><01:35:30.960><c> and</c><01:35:31.320><c> now</c><01:35:31.440><c> how</c><01:35:31.620><c> it</c><01:35:31.739><c> works</c>

01:35:31.970 --> 01:35:31.980 align:start position:0%
root of this tree and now how it works
 

01:35:31.980 --> 01:35:33.830 align:start position:0%
root of this tree and now how it works
and<01:35:32.100><c> how</c><01:35:32.340><c> you</c><01:35:32.460><c> should</c><01:35:32.580><c> think</c><01:35:32.760><c> of</c><01:35:32.940><c> this</c><01:35:33.179><c> of</c><01:35:33.600><c> this</c>

01:35:33.830 --> 01:35:33.840 align:start position:0%
and how you should think of this of this
 

01:35:33.840 --> 01:35:36.050 align:start position:0%
and how you should think of this of this
it's<01:35:34.080><c> a</c><01:35:34.320><c> pretty</c><01:35:34.500><c> complex</c><01:35:35.040><c> data</c><01:35:35.520><c> structure</c><01:35:35.820><c> I</c>

01:35:36.050 --> 01:35:36.060 align:start position:0%
it's a pretty complex data structure I
 

01:35:36.060 --> 01:35:37.570 align:start position:0%
it's a pretty complex data structure I
don't<01:35:36.179><c> want</c><01:35:36.300><c> you</c><01:35:36.420><c> to</c><01:35:36.540><c> bother</c><01:35:36.780><c> with</c><01:35:37.080><c> it</c><01:35:37.320><c> today</c>

01:35:37.570 --> 01:35:37.580 align:start position:0%
don't want you to bother with it today
 

01:35:37.580 --> 01:35:41.330 align:start position:0%
don't want you to bother with it today
but<01:35:38.580><c> essentially</c><01:35:39.260><c> we</c><01:35:40.260><c> have</c><01:35:40.440><c> three</c><01:35:40.800><c> types</c><01:35:41.159><c> of</c>

01:35:41.330 --> 01:35:41.340 align:start position:0%
but essentially we have three types of
 

01:35:41.340 --> 01:35:44.270 align:start position:0%
but essentially we have three types of
like<01:35:41.699><c> notes</c><01:35:42.120><c> we</c><01:35:42.420><c> have</c><01:35:42.600><c> Leaf</c><01:35:43.560><c> nodes</c><01:35:43.800><c> extension</c>

01:35:44.270 --> 01:35:44.280 align:start position:0%
like notes we have Leaf nodes extension
 

01:35:44.280 --> 01:35:47.629 align:start position:0%
like notes we have Leaf nodes extension
notes<01:35:44.760><c> and</c><01:35:45.060><c> Branch</c><01:35:45.480><c> notes</c><01:35:45.960><c> so</c><01:35:46.800><c> Leaf</c><01:35:47.460><c> nodes</c>

01:35:47.629 --> 01:35:47.639 align:start position:0%
notes and Branch notes so Leaf nodes
 

01:35:47.639 --> 01:35:49.850 align:start position:0%
notes and Branch notes so Leaf nodes
contain<01:35:48.000><c> data</c><01:35:48.360><c> Branch</c><01:35:48.719><c> nodes</c><01:35:49.020><c> contain</c><01:35:49.380><c> data</c>

01:35:49.850 --> 01:35:49.860 align:start position:0%
contain data Branch nodes contain data
 

01:35:49.860 --> 01:35:52.189 align:start position:0%
contain data Branch nodes contain data
and<01:35:50.580><c> extension</c><01:35:51.120><c> nodes</c><01:35:51.420><c> like</c><01:35:51.780><c> on</c><01:35:51.960><c> the</c><01:35:52.080><c> high</c>

01:35:52.189 --> 01:35:52.199 align:start position:0%
and extension nodes like on the high
 

01:35:52.199 --> 01:35:53.870 align:start position:0%
and extension nodes like on the high
level<01:35:52.380><c> just</c><01:35:52.860><c> help</c><01:35:53.100><c> us</c><01:35:53.280><c> to</c><01:35:53.460><c> like</c><01:35:53.580><c> sort</c><01:35:53.760><c> of</c>

01:35:53.870 --> 01:35:53.880 align:start position:0%
level just help us to like sort of
 

01:35:53.880 --> 01:35:56.030 align:start position:0%
level just help us to like sort of
navigate<01:35:54.120><c> in</c><01:35:54.540><c> that</c><01:35:54.719><c> tree</c><01:35:54.900><c> but</c><01:35:55.560><c> to</c><01:35:55.679><c> be</c><01:35:55.800><c> honest</c>

01:35:56.030 --> 01:35:56.040 align:start position:0%
navigate in that tree but to be honest
 

01:35:56.040 --> 01:35:57.890 align:start position:0%
navigate in that tree but to be honest
to<01:35:56.760><c> deal</c><01:35:56.820><c> with</c><01:35:57.000><c> storage</c><01:35:57.179><c> truth</c><01:35:57.600><c> you</c><01:35:57.780><c> don't</c>

01:35:57.890 --> 01:35:57.900 align:start position:0%
to deal with storage truth you don't
 

01:35:57.900 --> 01:35:59.750 align:start position:0%
to deal with storage truth you don't
really<01:35:58.020><c> need</c><01:35:58.320><c> to</c><01:35:58.440><c> understand</c><01:35:58.620><c> this</c><01:35:59.100><c> part</c><01:35:59.280><c> but</c>

01:35:59.750 --> 01:35:59.760 align:start position:0%
really need to understand this part but
 

01:35:59.760 --> 01:36:02.149 align:start position:0%
really need to understand this part but
to<01:36:00.000><c> like</c><01:36:00.179><c> build</c><01:36:00.600><c> on</c><01:36:01.080><c> the</c><01:36:01.139><c> low</c><01:36:01.260><c> level</c><01:36:01.500><c> as</c><01:36:01.800><c> we</c><01:36:01.980><c> do</c>

01:36:02.149 --> 01:36:02.159 align:start position:0%
to like build on the low level as we do
 

01:36:02.159 --> 01:36:04.610 align:start position:0%
to like build on the low level as we do
obviously<01:36:02.940><c> we</c><01:36:03.060><c> need</c><01:36:03.239><c> to</c><01:36:03.480><c> we</c><01:36:04.199><c> need</c><01:36:04.380><c> to</c><01:36:04.440><c> do</c>

01:36:04.610 --> 01:36:04.620 align:start position:0%
obviously we need to we need to do
 

01:36:04.620 --> 01:36:07.070 align:start position:0%
obviously we need to we need to do
pretty<01:36:05.100><c> pretty</c><01:36:05.760><c> a</c><01:36:06.000><c> lot</c><01:36:06.120><c> with</c><01:36:06.300><c> that</c><01:36:06.480><c> with</c><01:36:06.719><c> that</c>

01:36:07.070 --> 01:36:07.080 align:start position:0%
pretty pretty a lot with that with that
 

01:36:07.080 --> 01:36:07.850 align:start position:0%
pretty pretty a lot with that with that
part

01:36:07.850 --> 01:36:07.860 align:start position:0%
part
 

01:36:07.860 --> 01:36:09.050 align:start position:0%
part
okay

01:36:09.050 --> 01:36:09.060 align:start position:0%
okay
 

01:36:09.060 --> 01:36:12.169 align:start position:0%
okay
so<01:36:09.780><c> ethereum</c><01:36:10.320><c> State</c><01:36:10.560><c> how</c><01:36:11.460><c> is</c><01:36:11.580><c> it</c><01:36:11.699><c> constructed</c>

01:36:12.169 --> 01:36:12.179 align:start position:0%
so ethereum State how is it constructed
 

01:36:12.179 --> 01:36:14.390 align:start position:0%
so ethereum State how is it constructed
most<01:36:13.020><c> important</c><01:36:13.320><c> takeaway</c><01:36:13.679><c> it's</c><01:36:13.920><c> a</c><01:36:14.100><c> two</c><01:36:14.219><c> level</c>

01:36:14.390 --> 01:36:14.400 align:start position:0%
most important takeaway it's a two level
 

01:36:14.400 --> 01:36:16.550 align:start position:0%
most important takeaway it's a two level
structure<01:36:14.940><c> so</c><01:36:15.659><c> I</c><01:36:15.840><c> mentioned</c><01:36:16.080><c> that</c><01:36:16.260><c> the</c><01:36:16.440><c> state</c>

01:36:16.550 --> 01:36:16.560 align:start position:0%
structure so I mentioned that the state
 

01:36:16.560 --> 01:36:18.229 align:start position:0%
structure so I mentioned that the state
route<01:36:16.860><c> is</c><01:36:17.100><c> the</c><01:36:17.400><c> commitment</c><01:36:17.699><c> of</c><01:36:17.940><c> the</c><01:36:18.000><c> entire</c>

01:36:18.229 --> 01:36:18.239 align:start position:0%
route is the commitment of the entire
 

01:36:18.239 --> 01:36:20.090 align:start position:0%
route is the commitment of the entire
state<01:36:18.540><c> but</c><01:36:19.020><c> it's</c><01:36:19.199><c> not</c><01:36:19.320><c> really</c><01:36:19.500><c> true</c><01:36:19.800><c> because</c>

01:36:20.090 --> 01:36:20.100 align:start position:0%
state but it's not really true because
 

01:36:20.100 --> 01:36:22.129 align:start position:0%
state but it's not really true because
ethereum<01:36:20.940><c> is</c><01:36:21.060><c> a</c>

01:36:22.129 --> 01:36:22.139 align:start position:0%
ethereum is a
 

01:36:22.139 --> 01:36:25.250 align:start position:0%
ethereum is a
does<01:36:22.560><c> it</c><01:36:22.739><c> still</c><01:36:22.860><c> okay</c><01:36:23.219><c> it</c><01:36:23.400><c> works</c><01:36:23.840><c> it's</c><01:36:24.840><c> uh</c><01:36:25.020><c> it's</c>

01:36:25.250 --> 01:36:25.260 align:start position:0%
does it still okay it works it's uh it's
 

01:36:25.260 --> 01:36:26.570 align:start position:0%
does it still okay it works it's uh it's
account<01:36:25.440><c> based</c>

01:36:26.570 --> 01:36:26.580 align:start position:0%
account based
 

01:36:26.580 --> 01:36:28.189 align:start position:0%
account based
um<01:36:26.699><c> and</c><01:36:27.000><c> essentially</c><01:36:27.360><c> the</c><01:36:27.540><c> state</c><01:36:27.659><c> route</c><01:36:27.960><c> is</c>

01:36:28.189 --> 01:36:28.199 align:start position:0%
um and essentially the state route is
 

01:36:28.199 --> 01:36:30.530 align:start position:0%
um and essentially the state route is
the<01:36:28.500><c> commitment</c><01:36:29.400><c> of</c><01:36:29.699><c> all</c><01:36:29.940><c> the</c><01:36:30.060><c> accounts</c><01:36:30.420><c> that</c>

01:36:30.530 --> 01:36:30.540 align:start position:0%
the commitment of all the accounts that
 

01:36:30.540 --> 01:36:32.689 align:start position:0%
the commitment of all the accounts that
exist<01:36:30.780><c> on</c><01:36:30.960><c> ethereum</c><01:36:31.380><c> and</c><01:36:31.920><c> what</c><01:36:32.100><c> an</c><01:36:32.280><c> account</c><01:36:32.400><c> is</c>

01:36:32.689 --> 01:36:32.699 align:start position:0%
exist on ethereum and what an account is
 

01:36:32.699 --> 01:36:34.550 align:start position:0%
exist on ethereum and what an account is
made<01:36:32.880><c> of</c><01:36:33.000><c> it's</c><01:36:33.179><c> made</c><01:36:33.360><c> of</c><01:36:33.540><c> a</c><01:36:33.659><c> balance</c>

01:36:34.550 --> 01:36:34.560 align:start position:0%
made of it's made of a balance
 

01:36:34.560 --> 01:36:36.770 align:start position:0%
made of it's made of a balance
like<01:36:35.100><c> the</c><01:36:35.219><c> if</c><01:36:35.400><c> balance</c><01:36:35.820><c> it's</c><01:36:36.300><c> announced</c>

01:36:36.770 --> 01:36:36.780 align:start position:0%
like the if balance it's announced
 

01:36:36.780 --> 01:36:40.129 align:start position:0%
like the if balance it's announced
transaction<01:36:37.620><c> counter</c><01:36:38.280><c> storage</c><01:36:39.000><c> route</c><01:36:39.420><c> the</c>

01:36:40.129 --> 01:36:40.139 align:start position:0%
transaction counter storage route the
 

01:36:40.139 --> 01:36:42.290 align:start position:0%
transaction counter storage route the
storage<01:36:40.320><c> route</c><01:36:40.620><c> is</c><01:36:41.100><c> like</c><01:36:41.580><c> the</c><01:36:41.820><c> root</c><01:36:42.120><c> of</c>

01:36:42.290 --> 01:36:42.300 align:start position:0%
storage route is like the root of
 

01:36:42.300 --> 01:36:44.330 align:start position:0%
storage route is like the root of
another<01:36:42.420><c> America</c><01:36:42.780><c> Patricia</c><01:36:43.440><c> tree</c><01:36:43.679><c> and</c><01:36:44.219><c> this</c>

01:36:44.330 --> 01:36:44.340 align:start position:0%
another America Patricia tree and this
 

01:36:44.340 --> 01:36:46.910 align:start position:0%
another America Patricia tree and this
America<01:36:44.520><c> Patricia</c><01:36:45.120><c> 3</c><01:36:45.420><c> contains</c><01:36:45.960><c> the</c><01:36:46.139><c> key</c>

01:36:46.910 --> 01:36:46.920 align:start position:0%
America Patricia 3 contains the key
 

01:36:46.920 --> 01:36:49.850 align:start position:0%
America Patricia 3 contains the key
value<01:36:47.219><c> database</c><01:36:47.880><c> that</c><01:36:48.600><c> holds</c><01:36:49.199><c> like</c>

01:36:49.850 --> 01:36:49.860 align:start position:0%
value database that holds like
 

01:36:49.860 --> 01:36:52.610 align:start position:0%
value database that holds like
the<01:36:50.340><c> mapping</c><01:36:50.880><c> from</c><01:36:51.239><c> storage</c><01:36:51.600><c> key</c><01:36:51.960><c> to</c><01:36:52.260><c> its</c>

01:36:52.610 --> 01:36:52.620 align:start position:0%
the mapping from storage key to its
 

01:36:52.620 --> 01:36:54.169 align:start position:0%
the mapping from storage key to its
actual<01:36:52.860><c> value</c>

01:36:54.169 --> 01:36:54.179 align:start position:0%
actual value
 

01:36:54.179 --> 01:36:56.270 align:start position:0%
actual value
and<01:36:54.659><c> finally</c><01:36:54.900><c> we</c><01:36:55.080><c> have</c><01:36:55.199><c> the</c><01:36:55.380><c> code</c><01:36:55.440><c> it's</c>

01:36:56.270 --> 01:36:56.280 align:start position:0%
and finally we have the code it's
 

01:36:56.280 --> 01:36:58.250 align:start position:0%
and finally we have the code it's
essentially<01:36:57.000><c> the</c><01:36:57.179><c> hash</c><01:36:57.420><c> of</c><01:36:57.600><c> the</c><01:36:57.719><c> of</c><01:36:58.080><c> the</c>

01:36:58.250 --> 01:36:58.260 align:start position:0%
essentially the hash of the of the
 

01:36:58.260 --> 01:36:59.209 align:start position:0%
essentially the hash of the of the
bytecode

01:36:59.209 --> 01:36:59.219 align:start position:0%
bytecode
 

01:36:59.219 --> 01:37:01.729 align:start position:0%
bytecode
so<01:36:59.820><c> main</c><01:37:00.179><c> takeaway</c><01:37:00.600><c> first</c><01:37:01.139><c> we</c><01:37:01.500><c> access</c>

01:37:01.729 --> 01:37:01.739 align:start position:0%
so main takeaway first we access
 

01:37:01.739 --> 01:37:04.010 align:start position:0%
so main takeaway first we access
accounts<01:37:02.340><c> and</c><01:37:03.000><c> once</c><01:37:03.360><c> we</c><01:37:03.540><c> have</c><01:37:03.659><c> the</c><01:37:03.840><c> account</c>

01:37:04.010 --> 01:37:04.020 align:start position:0%
accounts and once we have the account
 

01:37:04.020 --> 01:37:06.470 align:start position:0%
accounts and once we have the account
storage<01:37:04.380><c> root</c><01:37:04.800><c> we</c><01:37:04.920><c> can</c><01:37:05.040><c> access</c><01:37:05.219><c> is</c><01:37:05.580><c> it's</c><01:37:06.060><c> it's</c>

01:37:06.470 --> 01:37:06.480 align:start position:0%
storage root we can access is it's it's
 

01:37:06.480 --> 01:37:07.729 align:start position:0%
storage root we can access is it's it's
the

01:37:07.729 --> 01:37:07.739 align:start position:0%
the
 

01:37:07.739 --> 01:37:09.350 align:start position:0%
the
okay

01:37:09.350 --> 01:37:09.360 align:start position:0%
okay
 

01:37:09.360 --> 01:37:10.189 align:start position:0%
okay
um

01:37:10.189 --> 01:37:10.199 align:start position:0%
um
 

01:37:10.199 --> 01:37:13.610 align:start position:0%
um
cool<01:37:10.739><c> so</c><01:37:11.100><c> to</c><01:37:11.400><c> sum</c><01:37:11.520><c> it</c><01:37:11.699><c> up</c><01:37:12.080><c> like</c><01:37:13.080><c> the</c><01:37:13.320><c> background</c>

01:37:13.610 --> 01:37:13.620 align:start position:0%
cool so to sum it up like the background
 

01:37:13.620 --> 01:37:16.250 align:start position:0%
cool so to sum it up like the background
so<01:37:13.980><c> main</c><01:37:14.219><c> takeaways</c><01:37:14.760><c> given</c><01:37:15.540><c> the</c><01:37:15.840><c> block</c><01:37:15.960><c> stay</c>

01:37:16.250 --> 01:37:16.260 align:start position:0%
so main takeaways given the block stay
 

01:37:16.260 --> 01:37:19.490 align:start position:0%
so main takeaways given the block stay
true<01:37:16.440><c> to</c><01:37:16.739><c> you</c><01:37:16.860><c> can</c><01:37:16.980><c> recreate</c><01:37:17.760><c> any</c>

01:37:19.490 --> 01:37:19.500 align:start position:0%
true to you can recreate any
 

01:37:19.500 --> 01:37:22.790 align:start position:0%
true to you can recreate any
any<01:37:20.040><c> state</c><01:37:20.400><c> for</c><01:37:21.179><c> this</c><01:37:21.360><c> specific</c><01:37:21.659><c> block</c><01:37:21.960><c> on</c>

01:37:22.790 --> 01:37:22.800 align:start position:0%
any state for this specific block on
 

01:37:22.800 --> 01:37:23.810 align:start position:0%
any state for this specific block on
this<01:37:22.920><c> network</c>

01:37:23.810 --> 01:37:23.820 align:start position:0%
this network
 

01:37:23.820 --> 01:37:26.330 align:start position:0%
this network
and<01:37:24.540><c> given</c><01:37:24.900><c> an</c><01:37:25.020><c> initial</c><01:37:25.320><c> trusted</c><01:37:25.860><c> blockage</c>

01:37:26.330 --> 01:37:26.340 align:start position:0%
and given an initial trusted blockage
 

01:37:26.340 --> 01:37:28.790 align:start position:0%
and given an initial trusted blockage
you<01:37:27.000><c> can</c><01:37:27.179><c> essentially</c><01:37:27.540><c> recreate</c><01:37:28.260><c> all</c><01:37:28.560><c> the</c>

01:37:28.790 --> 01:37:28.800 align:start position:0%
you can essentially recreate all the
 

01:37:28.800 --> 01:37:31.310 align:start position:0%
you can essentially recreate all the
previous<01:37:29.100><c> headers</c><01:37:29.699><c> which</c><01:37:30.480><c> is</c><01:37:30.659><c> pretty</c><01:37:30.900><c> pretty</c>

01:37:31.310 --> 01:37:31.320 align:start position:0%
previous headers which is pretty pretty
 

01:37:31.320 --> 01:37:34.129 align:start position:0%
previous headers which is pretty pretty
cool<01:37:31.560><c> and</c><01:37:31.980><c> important</c><01:37:32.400><c> to</c><01:37:32.580><c> get</c><01:37:32.880><c> the</c><01:37:33.540><c> ideas</c><01:37:33.719><c> that</c>

01:37:34.129 --> 01:37:34.139 align:start position:0%
cool and important to get the ideas that
 

01:37:34.139 --> 01:37:35.930 align:start position:0%
cool and important to get the ideas that
I<01:37:34.260><c> will</c><01:37:34.380><c> explain</c><01:37:34.500><c> like</c><01:37:34.739><c> pretty</c><01:37:34.980><c> soon</c>

01:37:35.930 --> 01:37:35.940 align:start position:0%
I will explain like pretty soon
 

01:37:35.940 --> 01:37:38.689 align:start position:0%
I will explain like pretty soon
okay<01:37:36.420><c> so</c><01:37:37.260><c> as</c><01:37:37.560><c> it's</c><01:37:37.739><c> gonna</c><01:37:37.920><c> be</c><01:37:38.040><c> a</c><01:37:38.159><c> workshop</c><01:37:38.460><c> it's</c>

01:37:38.689 --> 01:37:38.699 align:start position:0%
okay so as it's gonna be a workshop it's
 

01:37:38.699 --> 01:37:41.870 align:start position:0%
okay so as it's gonna be a workshop it's
a<01:37:38.880><c> short</c><01:37:39.060><c> one</c><01:37:39.300><c> so</c><01:37:39.840><c> I</c><01:37:40.199><c> won't</c><01:37:40.440><c> let</c><01:37:41.040><c> you</c><01:37:41.219><c> code</c><01:37:41.460><c> but</c>

01:37:41.870 --> 01:37:41.880 align:start position:0%
a short one so I won't let you code but
 

01:37:41.880 --> 01:37:43.610 align:start position:0%
a short one so I won't let you code but
I<01:37:42.060><c> will</c><01:37:42.239><c> show</c><01:37:42.480><c> you</c><01:37:42.600><c> some</c><01:37:42.840><c> concrete</c><01:37:43.199><c> examples</c>

01:37:43.610 --> 01:37:43.620 align:start position:0%
I will show you some concrete examples
 

01:37:43.620 --> 01:37:46.370 align:start position:0%
I will show you some concrete examples
so<01:37:44.460><c> what</c><01:37:44.760><c> I</c><01:37:44.940><c> want</c><01:37:45.179><c> you</c><01:37:45.300><c> to</c><01:37:45.480><c> like</c><01:37:45.840><c> go</c><01:37:46.199><c> through</c>

01:37:46.370 --> 01:37:46.380 align:start position:0%
so what I want you to like go through
 

01:37:46.380 --> 01:37:49.790 align:start position:0%
so what I want you to like go through
with<01:37:46.800><c> me</c><01:37:46.980><c> today</c><01:37:47.159><c> is</c><01:37:47.820><c> how</c><01:37:48.179><c> we</c><01:37:48.360><c> can</c><01:37:48.659><c> prove</c><01:37:49.560><c> the</c>

01:37:49.790 --> 01:37:49.800 align:start position:0%
with me today is how we can prove the
 

01:37:49.800 --> 01:37:52.189 align:start position:0%
with me today is how we can prove the
ownership<01:37:50.159><c> of</c><01:37:50.520><c> Alliance</c><01:37:51.000><c> profile</c><01:37:51.360><c> on</c><01:37:51.840><c> another</c>

01:37:52.189 --> 01:37:52.199 align:start position:0%
ownership of Alliance profile on another
 

01:37:52.199 --> 01:37:53.209 align:start position:0%
ownership of Alliance profile on another
chain

01:37:53.209 --> 01:37:53.219 align:start position:0%
chain
 

01:37:53.219 --> 01:37:54.970 align:start position:0%
chain
so

01:37:54.970 --> 01:37:54.980 align:start position:0%
so
 

01:37:54.980 --> 01:37:57.590 align:start position:0%
so
a<01:37:55.980><c> bit</c><01:37:56.219><c> of</c><01:37:56.340><c> background</c><01:37:56.580><c> lens</c><01:37:56.940><c> profiles</c><01:37:57.540><c> are</c>

01:37:57.590 --> 01:37:57.600 align:start position:0%
a bit of background lens profiles are
 

01:37:57.600 --> 01:38:00.649 align:start position:0%
a bit of background lens profiles are
represented<01:37:58.080><c> as</c><01:37:58.199><c> nfts</c><01:37:58.800><c> and</c><01:37:59.639><c> lens</c><01:38:00.060><c> is</c><01:38:00.239><c> deployed</c>

01:38:00.649 --> 01:38:00.659 align:start position:0%
represented as nfts and lens is deployed
 

01:38:00.659 --> 01:38:05.229 align:start position:0%
represented as nfts and lens is deployed
on<01:38:00.840><c> polygon</c><01:38:01.500><c> I</c><01:38:02.219><c> think</c><01:38:02.360><c> that's</c><01:38:03.360><c> it</c><01:38:03.860><c> how</c><01:38:04.860><c> do</c><01:38:04.980><c> we</c>

01:38:05.229 --> 01:38:05.239 align:start position:0%
on polygon I think that's it how do we
 

01:38:05.239 --> 01:38:08.689 align:start position:0%
on polygon I think that's it how do we
get<01:38:06.239><c> to</c><01:38:06.420><c> this</c><01:38:06.600><c> so</c><01:38:07.320><c> first</c><01:38:07.679><c> of</c><01:38:07.800><c> all</c><01:38:07.920><c> the</c><01:38:08.520><c> question</c>

01:38:08.689 --> 01:38:08.699 align:start position:0%
get to this so first of all the question
 

01:38:08.699 --> 01:38:10.430 align:start position:0%
get to this so first of all the question
that<01:38:08.940><c> we</c><01:38:09.060><c> need</c><01:38:09.179><c> to</c><01:38:09.300><c> answer</c><01:38:09.480><c> to</c><01:38:09.719><c> ourselves</c><01:38:10.139><c> is</c>

01:38:10.430 --> 01:38:10.440 align:start position:0%
that we need to answer to ourselves is
 

01:38:10.440 --> 01:38:13.129 align:start position:0%
that we need to answer to ourselves is
how<01:38:11.219><c> does</c><01:38:11.400><c> Polygon</c><01:38:11.940><c> commit</c><01:38:12.239><c> to</c><01:38:12.420><c> ethereum</c><01:38:12.840><c> L1</c>

01:38:13.129 --> 01:38:13.139 align:start position:0%
how does Polygon commit to ethereum L1
 

01:38:13.139 --> 01:38:15.470 align:start position:0%
how does Polygon commit to ethereum L1
because<01:38:13.860><c> if</c><01:38:14.159><c> we</c><01:38:14.280><c> want</c><01:38:14.460><c> to</c><01:38:14.580><c> like</c><01:38:15.000><c> let's</c><01:38:15.300><c> say</c>

01:38:15.470 --> 01:38:15.480 align:start position:0%
because if we want to like let's say
 

01:38:15.480 --> 01:38:17.750 align:start position:0%
because if we want to like let's say
prove<01:38:15.960><c> the</c><01:38:16.080><c> ownership</c><01:38:16.440><c> of</c><01:38:16.800><c> a</c><01:38:16.920><c> lens</c><01:38:17.100><c> profile</c><01:38:17.460><c> on</c>

01:38:17.750 --> 01:38:17.760 align:start position:0%
prove the ownership of a lens profile on
 

01:38:17.760 --> 01:38:19.970 align:start position:0%
prove the ownership of a lens profile on
optimism<01:38:18.659><c> we</c><01:38:18.900><c> need</c><01:38:19.020><c> to</c><01:38:19.080><c> know</c><01:38:19.260><c> the</c><01:38:19.500><c> state</c><01:38:19.739><c> route</c>

01:38:19.970 --> 01:38:19.980 align:start position:0%
optimism we need to know the state route
 

01:38:19.980 --> 01:38:24.229 align:start position:0%
optimism we need to know the state route
of<01:38:20.600><c> polygon</c><01:38:21.600><c> but</c><01:38:22.560><c> there</c><01:38:23.040><c> is</c><01:38:23.219><c> material</c><01:38:23.639><c> one</c><01:38:24.060><c> in</c>

01:38:24.229 --> 01:38:24.239 align:start position:0%
of polygon but there is material one in
 

01:38:24.239 --> 01:38:26.390 align:start position:0%
of polygon but there is material one in
the<01:38:24.360><c> middle</c><01:38:24.480><c> so</c><01:38:24.840><c> how</c><01:38:25.739><c> do</c><01:38:25.860><c> we</c><01:38:25.980><c> actually</c><01:38:26.100><c> access</c>

01:38:26.390 --> 01:38:26.400 align:start position:0%
the middle so how do we actually access
 

01:38:26.400 --> 01:38:29.629 align:start position:0%
the middle so how do we actually access
this<01:38:26.699><c> on</c><01:38:26.820><c> each</c><01:38:27.000><c> terminal</c><01:38:27.300><c> one</c><01:38:27.600><c> primarily</c><01:38:28.639><c> so</c>

01:38:29.629 --> 01:38:29.639 align:start position:0%
this on each terminal one primarily so
 

01:38:29.639 --> 01:38:32.390 align:start position:0%
this on each terminal one primarily so
uh<01:38:30.239><c> polygon</c><01:38:30.900><c> is</c><01:38:31.020><c> a</c><01:38:31.139><c> commitment</c><01:38:31.440><c> commit</c><01:38:32.040><c> commit</c>

01:38:32.390 --> 01:38:32.400 align:start position:0%
uh polygon is a commitment commit commit
 

01:38:32.400 --> 01:38:33.350 align:start position:0%
uh polygon is a commitment commit commit
chain

01:38:33.350 --> 01:38:33.360 align:start position:0%
chain
 

01:38:33.360 --> 01:38:36.590 align:start position:0%
chain
and<01:38:34.020><c> it</c><01:38:34.199><c> commits</c><01:38:34.620><c> to</c><01:38:34.800><c> to</c><01:38:35.040><c> ethereum</c><01:38:35.460><c> a</c><01:38:36.239><c> bunch</c><01:38:36.480><c> of</c>

01:38:36.590 --> 01:38:36.600 align:start position:0%
and it commits to to ethereum a bunch of
 

01:38:36.600 --> 01:38:38.270 align:start position:0%
and it commits to to ethereum a bunch of
things<01:38:36.840><c> every</c>

01:38:38.270 --> 01:38:38.280 align:start position:0%
things every
 

01:38:38.280 --> 01:38:40.910 align:start position:0%
things every
some<01:38:38.760><c> amount</c><01:38:39.000><c> of</c><01:38:39.179><c> time</c><01:38:39.360><c> and</c><01:38:40.139><c> essentially</c><01:38:40.500><c> on</c>

01:38:40.910 --> 01:38:40.920 align:start position:0%
some amount of time and essentially on
 

01:38:40.920 --> 01:38:43.370 align:start position:0%
some amount of time and essentially on
L1<01:38:41.280><c> we</c><01:38:41.580><c> do</c><01:38:41.760><c> not</c><01:38:41.880><c> validate</c><01:38:42.420><c> the</c><01:38:42.900><c> entire</c><01:38:43.080><c> State</c>

01:38:43.370 --> 01:38:43.380 align:start position:0%
L1 we do not validate the entire State
 

01:38:43.380 --> 01:38:44.990 align:start position:0%
L1 we do not validate the entire State
transition<01:38:43.739><c> but</c><01:38:44.100><c> we</c><01:38:44.219><c> just</c><01:38:44.400><c> verify</c><01:38:44.820><c> the</c>

01:38:44.990 --> 01:38:45.000 align:start position:0%
transition but we just verify the
 

01:38:45.000 --> 01:38:47.830 align:start position:0%
transition but we just verify the
consensus<01:38:45.900><c> of</c><01:38:46.380><c> polygon</c><01:38:47.040><c> and</c><01:38:47.580><c> this</c>

01:38:47.830 --> 01:38:47.840 align:start position:0%
consensus of polygon and this
 

01:38:47.840 --> 01:38:50.870 align:start position:0%
consensus of polygon and this
checkpoints<01:38:48.840><c> how</c><01:38:49.080><c> they</c><01:38:49.380><c> call</c><01:38:49.560><c> it</c><01:38:49.880><c> essentially</c>

01:38:50.870 --> 01:38:50.880 align:start position:0%
checkpoints how they call it essentially
 

01:38:50.880 --> 01:38:54.470 align:start position:0%
checkpoints how they call it essentially
contain<01:38:51.540><c> uh</c><01:38:52.320><c> State</c><01:38:53.100><c> routes</c><01:38:53.580><c> and</c><01:38:54.060><c> so</c><01:38:54.179><c> I</c><01:38:54.360><c> mean</c>

01:38:54.470 --> 01:38:54.480 align:start position:0%
contain uh State routes and so I mean
 

01:38:54.480 --> 01:38:57.649 align:start position:0%
contain uh State routes and so I mean
not<01:38:54.840><c> directly</c><01:38:55.260><c> but</c><01:38:55.500><c> we</c><01:38:55.739><c> can</c><01:38:55.980><c> access</c><01:38:56.760><c> them</c><01:38:57.179><c> and</c>

01:38:57.649 --> 01:38:57.659 align:start position:0%
not directly but we can access them and
 

01:38:57.659 --> 01:39:01.129 align:start position:0%
not directly but we can access them and
let's<01:38:58.080><c> get</c><01:38:58.440><c> to</c><01:38:58.620><c> this</c><01:38:58.920><c> to</c><01:38:59.639><c> this</c><01:38:59.940><c> part</c>

01:39:01.129 --> 01:39:01.139 align:start position:0%
let's get to this to this part
 

01:39:01.139 --> 01:39:04.450 align:start position:0%
let's get to this to this part
so<01:39:01.800><c> this</c><01:39:02.100><c> is</c><01:39:02.219><c> taken</c><01:39:02.699><c> from</c><01:39:03.420><c> polygons</c>

01:39:04.450 --> 01:39:04.460 align:start position:0%
so this is taken from polygons
 

01:39:04.460 --> 01:39:07.310 align:start position:0%
so this is taken from polygons
documentation<01:39:05.480><c> and</c><01:39:06.480><c> this</c><01:39:06.719><c> is</c><01:39:06.840><c> how</c><01:39:07.139><c> a</c>

01:39:07.310 --> 01:39:07.320 align:start position:0%
documentation and this is how a
 

01:39:07.320 --> 01:39:09.709 align:start position:0%
documentation and this is how a
checkpoint<01:39:07.739><c> looks</c><01:39:08.159><c> like</c><01:39:08.280><c> so</c><01:39:09.120><c> as</c><01:39:09.300><c> you</c><01:39:09.480><c> can</c><01:39:09.600><c> see</c>

01:39:09.709 --> 01:39:09.719 align:start position:0%
checkpoint looks like so as you can see
 

01:39:09.719 --> 01:39:11.930 align:start position:0%
checkpoint looks like so as you can see
the<01:39:10.139><c> checkpoint</c><01:39:10.500><c> is</c><01:39:10.739><c> made</c><01:39:10.860><c> of</c><01:39:10.980><c> a</c><01:39:11.100><c> proposal</c><01:39:11.639><c> so</c>

01:39:11.930 --> 01:39:11.940 align:start position:0%
the checkpoint is made of a proposal so
 

01:39:11.940 --> 01:39:13.490 align:start position:0%
the checkpoint is made of a proposal so
who<01:39:12.179><c> proposed</c><01:39:12.659><c> The</c><01:39:12.719><c> Block</c>

01:39:13.490 --> 01:39:13.500 align:start position:0%
who proposed The Block
 

01:39:13.500 --> 01:39:16.250 align:start position:0%
who proposed The Block
start<01:39:14.100><c> lock</c><01:39:14.340><c> and</c><01:39:14.580><c> block</c><01:39:14.900><c> give</c><01:39:15.900><c> me</c><01:39:16.020><c> a</c><01:39:16.139><c> second</c>

01:39:16.250 --> 01:39:16.260 align:start position:0%
start lock and block give me a second
 

01:39:16.260 --> 01:39:18.410 align:start position:0%
start lock and block give me a second
I'll<01:39:16.500><c> get</c><01:39:16.679><c> to</c><01:39:16.800><c> this</c><01:39:16.980><c> and</c><01:39:17.639><c> most</c><01:39:17.880><c> importantly</c><01:39:18.239><c> we</c>

01:39:18.410 --> 01:39:18.420 align:start position:0%
I'll get to this and most importantly we
 

01:39:18.420 --> 01:39:20.450 align:start position:0%
I'll get to this and most importantly we
have<01:39:18.540><c> the</c><01:39:18.600><c> root</c><01:39:18.900><c> question</c><01:39:19.020><c> so</c><01:39:19.800><c> the</c><01:39:19.980><c> root</c><01:39:20.159><c> hush</c>

01:39:20.450 --> 01:39:20.460 align:start position:0%
have the root question so the root hush
 

01:39:20.460 --> 01:39:22.370 align:start position:0%
have the root question so the root hush
is<01:39:20.639><c> essentially</c><01:39:21.000><c> a</c><01:39:21.420><c> Merkle</c><01:39:21.900><c> tree</c><01:39:22.020><c> not</c><01:39:22.199><c> America</c>

01:39:22.370 --> 01:39:22.380 align:start position:0%
is essentially a Merkle tree not America
 

01:39:22.380 --> 01:39:25.370 align:start position:0%
is essentially a Merkle tree not America
Patricia<01:39:22.980><c> tree</c><01:39:23.159><c> that</c><01:39:23.880><c> contains</c><01:39:24.480><c> all</c><01:39:25.199><c> the</c>

01:39:25.370 --> 01:39:25.380 align:start position:0%
Patricia tree that contains all the
 

01:39:25.380 --> 01:39:27.950 align:start position:0%
Patricia tree that contains all the
headers<01:39:25.860><c> and</c><01:39:26.520><c> which</c><01:39:26.699><c> headers</c><01:39:27.179><c> the</c><01:39:27.420><c> headers</c><01:39:27.780><c> in</c>

01:39:27.950 --> 01:39:27.960 align:start position:0%
headers and which headers the headers in
 

01:39:27.960 --> 01:39:30.770 align:start position:0%
headers and which headers the headers in
the<01:39:28.080><c> range</c><01:39:28.320><c> of</c><01:39:28.500><c> start</c><01:39:28.739><c> block</c><01:39:29.040><c> and</c><01:39:29.520><c> end</c><01:39:29.760><c> block</c>

01:39:30.770 --> 01:39:30.780 align:start position:0%
the range of start block and end block
 

01:39:30.780 --> 01:39:32.030 align:start position:0%
the range of start block and end block
cool

01:39:32.030 --> 01:39:32.040 align:start position:0%
cool
 

01:39:32.040 --> 01:39:34.250 align:start position:0%
cool
so<01:39:32.699><c> now</c>

01:39:34.250 --> 01:39:34.260 align:start position:0%
so now
 

01:39:34.260 --> 01:39:37.070 align:start position:0%
so now
if<01:39:34.800><c> we</c><01:39:34.920><c> get</c><01:39:35.159><c> back</c><01:39:35.280><c> to</c><01:39:35.520><c> the</c><01:39:35.639><c> previous</c><01:39:35.760><c> part</c><01:39:36.120><c> we</c>

01:39:37.070 --> 01:39:37.080 align:start position:0%
if we get back to the previous part we
 

01:39:37.080 --> 01:39:39.169 align:start position:0%
if we get back to the previous part we
can<01:39:37.260><c> essentially</c><01:39:37.620><c> prove</c><01:39:38.219><c> with</c><01:39:39.000><c> this</c>

01:39:39.169 --> 01:39:39.179 align:start position:0%
can essentially prove with this
 

01:39:39.179 --> 01:39:41.390 align:start position:0%
can essentially prove with this
commitment<01:39:39.600><c> that</c><01:39:39.900><c> we</c><01:39:40.080><c> know</c><01:39:40.260><c> the</c><01:39:40.500><c> valid</c><01:39:41.040><c> state</c>

01:39:41.390 --> 01:39:41.400 align:start position:0%
commitment that we know the valid state
 

01:39:41.400 --> 01:39:43.850 align:start position:0%
commitment that we know the valid state
route<01:39:41.639><c> of</c><01:39:42.000><c> polygon</c>

01:39:43.850 --> 01:39:43.860 align:start position:0%
route of polygon
 

01:39:43.860 --> 01:39:46.729 align:start position:0%
route of polygon
first<01:39:44.340><c> even</c><01:39:44.639><c> block</c>

01:39:46.729 --> 01:39:46.739 align:start position:0%
first even block
 

01:39:46.739 --> 01:39:49.129 align:start position:0%
first even block
okay<01:39:47.280><c> A</c><01:39:47.639><c> bit</c><01:39:47.820><c> of</c><01:39:47.940><c> Hands-On</c><01:39:48.360><c> so</c><01:39:48.659><c> we</c><01:39:48.900><c> want</c><01:39:49.020><c> to</c>

01:39:49.129 --> 01:39:49.139 align:start position:0%
okay A bit of Hands-On so we want to
 

01:39:49.139 --> 01:39:51.890 align:start position:0%
okay A bit of Hands-On so we want to
prove<01:39:49.560><c> that</c><01:39:50.219><c> I</c><01:39:50.460><c> own</c><01:39:50.639><c> a</c><01:39:50.880><c> lens</c><01:39:51.179><c> profile</c><01:39:51.600><c> on</c>

01:39:51.890 --> 01:39:51.900 align:start position:0%
prove that I own a lens profile on
 

01:39:51.900 --> 01:39:53.930 align:start position:0%
prove that I own a lens profile on
polygon<01:39:52.440><c> forever</c>

01:39:53.930 --> 01:39:53.940 align:start position:0%
polygon forever
 

01:39:53.940 --> 01:39:54.950 align:start position:0%
polygon forever
so

01:39:54.950 --> 01:39:54.960 align:start position:0%
so
 

01:39:54.960 --> 01:39:58.250 align:start position:0%
so
number<01:39:55.320><c> one</c><01:39:55.620><c> we</c><01:39:56.340><c> go</c><01:39:56.580><c> to</c><01:39:56.699><c> the</c><01:39:56.880><c> contracts</c><01:39:57.360><c> we</c><01:39:58.020><c> see</c>

01:39:58.250 --> 01:39:58.260 align:start position:0%
number one we go to the contracts we see
 

01:39:58.260 --> 01:39:59.270 align:start position:0%
number one we go to the contracts we see
a<01:39:58.380><c> contract</c>

01:39:59.270 --> 01:39:59.280 align:start position:0%
a contract
 

01:39:59.280 --> 01:40:02.090 align:start position:0%
a contract
we<01:39:59.699><c> go</c><01:39:59.880><c> for</c><01:40:00.060><c> it</c><01:40:00.179><c> and</c><01:40:00.480><c> we</c><01:40:00.659><c> see</c><01:40:00.840><c> that</c><01:40:01.139><c> essentially</c>

01:40:02.090 --> 01:40:02.100 align:start position:0%
we go for it and we see that essentially
 

01:40:02.100 --> 01:40:04.010 align:start position:0%
we go for it and we see that essentially
there<01:40:02.460><c> is</c><01:40:02.580><c> a</c><01:40:02.639><c> bunch</c><01:40:02.760><c> of</c><01:40:03.000><c> logic</c><01:40:03.300><c> on</c><01:40:03.480><c> top</c><01:40:03.600><c> of</c><01:40:03.840><c> this</c>

01:40:04.010 --> 01:40:04.020 align:start position:0%
there is a bunch of logic on top of this
 

01:40:04.020 --> 01:40:05.930 align:start position:0%
there is a bunch of logic on top of this
erc721

01:40:05.930 --> 01:40:05.940 align:start position:0%
erc721
 

01:40:05.940 --> 01:40:08.570 align:start position:0%
erc721
this<01:40:06.480><c> is</c><01:40:06.600><c> like</c><01:40:06.780><c> the</c><01:40:07.139><c> basic</c><01:40:07.500><c> erc71</c><01:40:08.219><c> as</c><01:40:08.400><c> you</c><01:40:08.460><c> can</c>

01:40:08.570 --> 01:40:08.580 align:start position:0%
this is like the basic erc71 as you can
 

01:40:08.580 --> 01:40:10.669 align:start position:0%
this is like the basic erc71 as you can
see<01:40:08.639><c> it's</c><01:40:08.699><c> an</c><01:40:08.820><c> abstract</c><01:40:09.179><c> contract</c><01:40:09.540><c> and</c><01:40:10.440><c> it's</c>

01:40:10.669 --> 01:40:10.679 align:start position:0%
see it's an abstract contract and it's
 

01:40:10.679 --> 01:40:12.290 align:start position:0%
see it's an abstract contract and it's
slightly<01:40:11.040><c> modified</c>

01:40:12.290 --> 01:40:12.300 align:start position:0%
slightly modified
 

01:40:12.300 --> 01:40:13.850 align:start position:0%
slightly modified
instead<01:40:12.900><c> of</c><01:40:13.020><c> having</c><01:40:13.199><c> like</c><01:40:13.380><c> a</c><01:40:13.560><c> standard</c>

01:40:13.850 --> 01:40:13.860 align:start position:0%
instead of having like a standard
 

01:40:13.860 --> 01:40:16.490 align:start position:0%
instead of having like a standard
mapping<01:40:14.219><c> from</c><01:40:14.400><c> like</c><01:40:14.699><c> token</c><01:40:15.360><c> ID</c><01:40:15.480><c> to</c><01:40:15.840><c> its</c><01:40:16.199><c> owner</c>

01:40:16.490 --> 01:40:16.500 align:start position:0%
mapping from like token ID to its owner
 

01:40:16.500 --> 01:40:18.950 align:start position:0%
mapping from like token ID to its owner
we<01:40:16.980><c> have</c><01:40:17.100><c> like</c><01:40:17.280><c> token</c><01:40:17.699><c> ID</c><01:40:17.820><c> to</c><01:40:18.120><c> token</c><01:40:18.540><c> data</c>

01:40:18.950 --> 01:40:18.960 align:start position:0%
we have like token ID to token data
 

01:40:18.960 --> 01:40:22.550 align:start position:0%
we have like token ID to token data
token<01:40:19.620><c> data</c><01:40:19.920><c> is</c><01:40:19.980><c> a</c><01:40:20.219><c> struct</c><01:40:20.659><c> distract</c><01:40:21.659><c> is</c><01:40:22.080><c> 32</c>

01:40:22.550 --> 01:40:22.560 align:start position:0%
token data is a struct distract is 32
 

01:40:22.560 --> 01:40:24.709 align:start position:0%
token data is a struct distract is 32
bytes<01:40:22.920><c> in</c><01:40:23.040><c> total</c><01:40:23.280><c> 20</c><01:40:23.639><c> bytes</c><01:40:24.179><c> is</c><01:40:24.300><c> the</c><01:40:24.420><c> actual</c>

01:40:24.709 --> 01:40:24.719 align:start position:0%
bytes in total 20 bytes is the actual
 

01:40:24.719 --> 01:40:26.629 align:start position:0%
bytes in total 20 bytes is the actual
owner<01:40:25.139><c> and</c><01:40:25.620><c> the</c><01:40:25.739><c> remaining</c><01:40:26.100><c> 12</c><01:40:26.219><c> bytes</c>

01:40:26.629 --> 01:40:26.639 align:start position:0%
owner and the remaining 12 bytes
 

01:40:26.639 --> 01:40:29.209 align:start position:0%
owner and the remaining 12 bytes
represent<01:40:26.940><c> one</c><01:40:27.300><c> the</c><01:40:27.600><c> token</c><01:40:27.900><c> was</c><01:40:28.020><c> minted</c>

01:40:29.209 --> 01:40:29.219 align:start position:0%
represent one the token was minted
 

01:40:29.219 --> 01:40:33.169 align:start position:0%
represent one the token was minted
okay<01:40:29.820><c> but</c><01:40:30.600><c> how</c><01:40:31.080><c> do</c><01:40:31.260><c> I</c><01:40:31.440><c> actually</c><01:40:31.760><c> prove</c><01:40:32.760><c> it</c><01:40:32.880><c> oh</c>

01:40:33.169 --> 01:40:33.179 align:start position:0%
okay but how do I actually prove it oh
 

01:40:33.179 --> 01:40:35.209 align:start position:0%
okay but how do I actually prove it oh
and<01:40:33.420><c> also</c><01:40:33.780><c> very</c><01:40:34.380><c> important</c><01:40:34.739><c> thing</c><01:40:34.980><c> when</c>

01:40:35.209 --> 01:40:35.219 align:start position:0%
and also very important thing when
 

01:40:35.219 --> 01:40:36.950 align:start position:0%
and also very important thing when
dealing<01:40:35.520><c> with</c><01:40:35.639><c> storage</c><01:40:35.880><c> layout</c><01:40:36.360><c> we</c><01:40:36.840><c> have</c>

01:40:36.950 --> 01:40:36.960 align:start position:0%
dealing with storage layout we have
 

01:40:36.960 --> 01:40:38.270 align:start position:0%
dealing with storage layout we have
something<01:40:37.199><c> that</c><01:40:37.500><c> is</c><01:40:37.560><c> called</c><01:40:37.739><c> like</c><01:40:37.920><c> slot</c>

01:40:38.270 --> 01:40:38.280 align:start position:0%
something that is called like slot
 

01:40:38.280 --> 01:40:41.990 align:start position:0%
something that is called like slot
indices<01:40:38.639><c> so</c><01:40:39.360><c> each</c><01:40:39.659><c> variable</c><01:40:40.139><c> has</c><01:40:40.980><c> a</c><01:40:41.280><c> given</c>

01:40:41.990 --> 01:40:42.000 align:start position:0%
indices so each variable has a given
 

01:40:42.000 --> 01:40:45.410 align:start position:0%
indices so each variable has a given
slot<01:40:42.420><c> like</c><01:40:42.659><c> in</c><01:40:42.840><c> the</c><01:40:43.080><c> some</c><01:40:43.980><c> sort</c><01:40:44.219><c> of</c><01:40:44.420><c> meta</c>

01:40:45.410 --> 01:40:45.420 align:start position:0%
slot like in the some sort of meta
 

01:40:45.420 --> 01:40:47.990 align:start position:0%
slot like in the some sort of meta
layout<01:40:45.719><c> I</c><01:40:46.020><c> call</c><01:40:46.139><c> it</c><01:40:46.260><c> like</c><01:40:46.440><c> that</c><01:40:46.620><c> it's</c><01:40:46.980><c> from</c><01:40:47.280><c> the</c>

01:40:47.990 --> 01:40:48.000 align:start position:0%
layout I call it like that it's from the
 

01:40:48.000 --> 01:40:50.090 align:start position:0%
layout I call it like that it's from the
right<01:40:48.120><c> way</c><01:40:48.300><c> anyways</c>

01:40:50.090 --> 01:40:50.100 align:start position:0%
right way anyways
 

01:40:50.100 --> 01:40:53.270 align:start position:0%
right way anyways
this<01:40:50.580><c> mapping</c><01:40:51.060><c> it</c><01:40:51.960><c> has</c><01:40:52.260><c> like</c><01:40:52.440><c> the</c><01:40:52.620><c> slot</c><01:40:52.920><c> index</c>

01:40:53.270 --> 01:40:53.280 align:start position:0%
this mapping it has like the slot index
 

01:40:53.280 --> 01:40:56.270 align:start position:0%
this mapping it has like the slot index
too<01:40:53.580><c> I</c><01:40:54.420><c> will</c><01:40:54.600><c> get</c><01:40:54.780><c> to</c><01:40:55.080><c> this</c><01:40:55.380><c> part</c><01:40:55.620><c> in</c><01:40:56.100><c> a</c><01:40:56.219><c> second</c>

01:40:56.270 --> 01:40:56.280 align:start position:0%
too I will get to this part in a second
 

01:40:56.280 --> 01:40:58.970 align:start position:0%
too I will get to this part in a second
why<01:40:56.639><c> it's</c><01:40:56.820><c> two</c><01:40:57.080><c> and</c><01:40:58.080><c> we</c><01:40:58.320><c> have</c><01:40:58.440><c> a</c><01:40:58.560><c> mapping</c><01:40:58.800><c> from</c>

01:40:58.970 --> 01:40:58.980 align:start position:0%
why it's two and we have a mapping from
 

01:40:58.980 --> 01:41:02.390 align:start position:0%
why it's two and we have a mapping from
token<01:40:59.400><c> ID</c><01:40:59.520><c> so</c><01:41:00.360><c> you</c><01:41:00.719><c> win</c><01:41:00.960><c> to</c><01:41:01.380><c> 32</c><01:41:01.800><c> bytes</c><01:41:02.040><c> of</c><01:41:02.159><c> data</c>

01:41:02.390 --> 01:41:02.400 align:start position:0%
token ID so you win to 32 bytes of data
 

01:41:02.400 --> 01:41:04.610 align:start position:0%
token ID so you win to 32 bytes of data
represented<01:41:03.360><c> as</c><01:41:03.480><c> a</c><01:41:03.600><c> structure</c><01:41:04.020><c> just</c><01:41:04.320><c> think</c><01:41:04.440><c> of</c>

01:41:04.610 --> 01:41:04.620 align:start position:0%
represented as a structure just think of
 

01:41:04.620 --> 01:41:06.709 align:start position:0%
represented as a structure just think of
it<01:41:04.739><c> as</c><01:41:04.920><c> some</c><01:41:05.159><c> bytes</c>

01:41:06.709 --> 01:41:06.719 align:start position:0%
it as some bytes
 

01:41:06.719 --> 01:41:07.930 align:start position:0%
it as some bytes
okay

01:41:07.930 --> 01:41:07.940 align:start position:0%
okay
 

01:41:07.940 --> 01:41:11.810 align:start position:0%
okay
so<01:41:08.940><c> uh</c><01:41:09.540><c> I</c><01:41:09.780><c> guess</c><01:41:09.900><c> most</c><01:41:10.199><c> of</c><01:41:10.320><c> you</c><01:41:10.440><c> use</c><01:41:10.620><c> heart</c><01:41:10.800><c> hot</c>

01:41:11.810 --> 01:41:11.820 align:start position:0%
so uh I guess most of you use heart hot
 

01:41:11.820 --> 01:41:13.970 align:start position:0%
so uh I guess most of you use heart hot
so<01:41:12.300><c> I'm</c><01:41:12.540><c> gonna</c><01:41:12.659><c> present</c><01:41:13.080><c> on</c><01:41:13.320><c> on</c><01:41:13.560><c> hard</c><01:41:13.739><c> Hut</c>

01:41:13.970 --> 01:41:13.980 align:start position:0%
so I'm gonna present on on hard Hut
 

01:41:13.980 --> 01:41:16.310 align:start position:0%
so I'm gonna present on on hard Hut
there<01:41:14.280><c> is</c><01:41:14.400><c> a</c><01:41:14.639><c> very</c><01:41:14.760><c> very</c><01:41:14.940><c> cool</c><01:41:15.239><c> tool</c><01:41:15.659><c> to</c><01:41:16.199><c> deal</c>

01:41:16.310 --> 01:41:16.320 align:start position:0%
there is a very very cool tool to deal
 

01:41:16.320 --> 01:41:17.570 align:start position:0%
there is a very very cool tool to deal
with<01:41:16.560><c> storage</c><01:41:16.800><c> layouts</c><01:41:17.280><c> it's</c><01:41:17.400><c> called</c>

01:41:17.570 --> 01:41:17.580 align:start position:0%
with storage layouts it's called
 

01:41:17.580 --> 01:41:19.970 align:start position:0%
with storage layouts it's called
obviously<01:41:18.000><c> hard</c><01:41:18.179><c> hot</c><01:41:18.420><c> storage</c><01:41:18.719><c> layout</c><01:41:19.260><c> this</c>

01:41:19.970 --> 01:41:19.980 align:start position:0%
obviously hard hot storage layout this
 

01:41:19.980 --> 01:41:21.709 align:start position:0%
obviously hard hot storage layout this
is<01:41:20.040><c> how</c><01:41:20.280><c> you</c><01:41:20.460><c> install</c><01:41:21.000><c> it</c><01:41:21.239><c> it's</c><01:41:21.360><c> literally</c>

01:41:21.709 --> 01:41:21.719 align:start position:0%
is how you install it it's literally
 

01:41:21.719 --> 01:41:24.530 align:start position:0%
is how you install it it's literally
yarn<01:41:22.380><c> install</c><01:41:22.800><c> hardcode</c><01:41:23.520><c> storage</c><01:41:23.760><c> layout</c><01:41:24.179><c> you</c>

01:41:24.530 --> 01:41:24.540 align:start position:0%
yarn install hardcode storage layout you
 

01:41:24.540 --> 01:41:27.530 align:start position:0%
yarn install hardcode storage layout you
add<01:41:24.840><c> one</c><01:41:25.020><c> comment</c><01:41:25.380><c> to</c><01:41:25.620><c> your</c><01:41:25.800><c> heart</c><01:41:25.980><c> config</c><01:41:26.639><c> you</c>

01:41:27.530 --> 01:41:27.540 align:start position:0%
add one comment to your heart config you
 

01:41:27.540 --> 01:41:29.270 align:start position:0%
add one comment to your heart config you
write<01:41:27.840><c> a</c><01:41:28.020><c> new</c><01:41:28.139><c> script</c><01:41:28.380><c> that</c><01:41:28.920><c> contains</c>

01:41:29.270 --> 01:41:29.280 align:start position:0%
write a new script that contains
 

01:41:29.280 --> 01:41:31.550 align:start position:0%
write a new script that contains
literally<01:41:29.699><c> eight</c><01:41:30.060><c> lines</c><01:41:30.300><c> of</c><01:41:30.480><c> code</c><01:41:30.600><c> you</c><01:41:31.320><c> run</c>

01:41:31.550 --> 01:41:31.560 align:start position:0%
literally eight lines of code you run
 

01:41:31.560 --> 01:41:34.189 align:start position:0%
literally eight lines of code you run
the<01:41:31.739><c> script</c><01:41:31.980><c> and</c><01:41:32.340><c> you</c><01:41:32.460><c> get</c><01:41:32.580><c> this</c><01:41:32.760><c> weird</c><01:41:32.940><c> table</c>

01:41:34.189 --> 01:41:34.199 align:start position:0%
the script and you get this weird table
 

01:41:34.199 --> 01:41:35.810 align:start position:0%
the script and you get this weird table
and<01:41:34.679><c> what</c><01:41:34.920><c> does</c><01:41:35.100><c> it</c><01:41:35.219><c> what</c><01:41:35.460><c> does</c><01:41:35.580><c> it</c><01:41:35.699><c> really</c>

01:41:35.810 --> 01:41:35.820 align:start position:0%
and what does it what does it really
 

01:41:35.820 --> 01:41:37.910 align:start position:0%
and what does it what does it really
tell<01:41:36.119><c> you</c><01:41:36.239><c> and</c><01:41:36.659><c> oh</c><01:41:36.900><c> and</c><01:41:37.080><c> by</c><01:41:37.199><c> the</c><01:41:37.320><c> way</c><01:41:37.380><c> why</c><01:41:37.679><c> this</c>

01:41:37.910 --> 01:41:37.920 align:start position:0%
tell you and oh and by the way why this
 

01:41:37.920 --> 01:41:39.950 align:start position:0%
tell you and oh and by the way why this
tool<01:41:38.219><c> is</c><01:41:38.280><c> pretty</c><01:41:38.400><c> useful</c><01:41:38.760><c> as</c><01:41:39.420><c> you</c><01:41:39.600><c> see</c><01:41:39.719><c> this</c>

01:41:39.950 --> 01:41:39.960 align:start position:0%
tool is pretty useful as you see this
 

01:41:39.960 --> 01:41:43.010 align:start position:0%
tool is pretty useful as you see this
contract<01:41:40.320><c> is</c><01:41:40.500><c> abstract</c><01:41:41.060><c> so</c><01:41:42.060><c> some</c><01:41:42.840><c> other</c>

01:41:43.010 --> 01:41:43.020 align:start position:0%
contract is abstract so some other
 

01:41:43.020 --> 01:41:44.270 align:start position:0%
contract is abstract so some other
contracts

01:41:44.270 --> 01:41:44.280 align:start position:0%
contracts
 

01:41:44.280 --> 01:41:46.790 align:start position:0%
contracts
then<01:41:45.119><c> does</c><01:41:45.420><c> it</c><01:41:45.540><c> still</c>

01:41:46.790 --> 01:41:46.800 align:start position:0%
then does it still
 

01:41:46.800 --> 01:41:48.709 align:start position:0%
then does it still
yeah<01:41:47.280><c> some</c><01:41:47.460><c> countries</c><01:41:47.820><c> can</c><01:41:48.000><c> inherit</c><01:41:48.360><c> from</c><01:41:48.540><c> it</c>

01:41:48.709 --> 01:41:48.719 align:start position:0%
yeah some countries can inherit from it
 

01:41:48.719 --> 01:41:50.870 align:start position:0%
yeah some countries can inherit from it
and<01:41:49.320><c> obviously</c><01:41:49.679><c> why</c><01:41:49.920><c> we</c><01:41:50.100><c> inherit</c><01:41:50.460><c> the</c><01:41:50.699><c> storage</c>

01:41:50.870 --> 01:41:50.880 align:start position:0%
and obviously why we inherit the storage
 

01:41:50.880 --> 01:41:52.370 align:start position:0%
and obviously why we inherit the storage
layout<01:41:51.300><c> I</c><01:41:51.540><c> mean</c><01:41:51.659><c> this</c><01:41:51.780><c> does</c><01:41:52.020><c> this</c><01:41:52.260><c> in</c>

01:41:52.370 --> 01:41:52.380 align:start position:0%
layout I mean this does this in
 

01:41:52.380 --> 01:41:54.950 align:start position:0%
layout I mean this does this in
synthesis<01:41:52.860><c> can</c><01:41:53.159><c> can</c><01:41:53.639><c> get</c><01:41:53.880><c> more</c><01:41:54.119><c> trickier</c>

01:41:54.950 --> 01:41:54.960 align:start position:0%
synthesis can can get more trickier
 

01:41:54.960 --> 01:41:57.470 align:start position:0%
synthesis can can get more trickier
because<01:41:55.500><c> it</c><01:41:55.800><c> also</c>

01:41:57.470 --> 01:41:57.480 align:start position:0%
because it also
 

01:41:57.480 --> 01:42:01.149 align:start position:0%
because it also
okay<01:41:58.139><c> so</c><01:41:58.980><c> that's</c>

01:42:01.149 --> 01:42:01.159 align:start position:0%
okay so that's
 

01:42:01.159 --> 01:42:03.890 align:start position:0%
okay so that's
it's<01:42:02.159><c> pretty</c><01:42:02.460><c> hard</c><01:42:02.699><c> to</c><01:42:02.880><c> coordinate</c><01:42:03.360><c> like</c><01:42:03.659><c> one</c>

01:42:03.890 --> 01:42:03.900 align:start position:0%
it's pretty hard to coordinate like one
 

01:42:03.900 --> 01:42:06.229 align:start position:0%
it's pretty hard to coordinate like one
hand<01:42:04.080><c> with</c><01:42:04.320><c> another</c><01:42:04.500><c> hand</c><01:42:04.920><c> even</c><01:42:05.880><c> though</c><01:42:06.060><c> I'm</c>

01:42:06.229 --> 01:42:06.239 align:start position:0%
hand with another hand even though I'm
 

01:42:06.239 --> 01:42:09.410 align:start position:0%
hand with another hand even though I'm
Italian<01:42:06.420><c> okay</c><01:42:06.840><c> anyways</c>

01:42:09.410 --> 01:42:09.420 align:start position:0%
Italian okay anyways
 

01:42:09.420 --> 01:42:12.830 align:start position:0%
Italian okay anyways
um<01:42:09.540><c> yeah</c><01:42:10.500><c> we</c><01:42:10.920><c> know</c><01:42:11.100><c> this</c><01:42:11.400><c> slot</c><01:42:11.820><c> in</c><01:42:12.300><c> the</c><01:42:12.420><c> in</c><01:42:12.659><c> the</c>

01:42:12.830 --> 01:42:12.840 align:start position:0%
um yeah we know this slot in the in the
 

01:42:12.840 --> 01:42:16.189 align:start position:0%
um yeah we know this slot in the in the
index<01:42:13.380><c> and</c><01:42:13.739><c> that's</c><01:42:13.860><c> how</c><01:42:14.340><c> we</c><01:42:14.460><c> get</c><01:42:14.820><c> it</c><01:42:15.000><c> we</c><01:42:15.900><c> have</c><01:42:16.020><c> a</c>

01:42:16.189 --> 01:42:16.199 align:start position:0%
index and that's how we get it we have a
 

01:42:16.199 --> 01:42:18.310 align:start position:0%
index and that's how we get it we have a
column<01:42:16.500><c> that</c><01:42:16.860><c> is</c><01:42:17.040><c> called</c>

01:42:18.310 --> 01:42:18.320 align:start position:0%
column that is called
 

01:42:18.320 --> 01:42:21.890 align:start position:0%
column that is called
storage<01:42:19.320><c> slot</c><01:42:20.040><c> and</c><01:42:20.699><c> as</c><01:42:20.820><c> you</c><01:42:21.000><c> see</c><01:42:21.119><c> underscore</c>

01:42:21.890 --> 01:42:21.900 align:start position:0%
storage slot and as you see underscore
 

01:42:21.900 --> 01:42:24.290 align:start position:0%
storage slot and as you see underscore
token<01:42:22.380><c> data</c><01:42:22.739><c> is</c><01:42:22.860><c> marked</c><01:42:23.219><c> as</c><01:42:23.340><c> two</c><01:42:23.580><c> and</c><01:42:24.179><c> that's</c>

01:42:24.290 --> 01:42:24.300 align:start position:0%
token data is marked as two and that's
 

01:42:24.300 --> 01:42:27.050 align:start position:0%
token data is marked as two and that's
it<01:42:24.480><c> okay</c><01:42:24.960><c> but</c><01:42:25.380><c> what</c><01:42:25.860><c> do</c><01:42:26.040><c> we</c><01:42:26.159><c> do</c><01:42:26.280><c> with</c><01:42:26.340><c> it</c><01:42:26.520><c> how</c><01:42:26.940><c> do</c>

01:42:27.050 --> 01:42:27.060 align:start position:0%
it okay but what do we do with it how do
 

01:42:27.060 --> 01:42:29.990 align:start position:0%
it okay but what do we do with it how do
we<01:42:27.179><c> get</c><01:42:27.300><c> this</c><01:42:27.719><c> storage</c><01:42:28.260><c> key</c>

01:42:29.990 --> 01:42:30.000 align:start position:0%
we get this storage key
 

01:42:30.000 --> 01:42:32.209 align:start position:0%
we get this storage key
and<01:42:30.659><c> yeah</c><01:42:30.960><c> that's</c><01:42:31.320><c> that's</c><01:42:31.619><c> it</c><01:42:31.800><c> let</c><01:42:31.980><c> me</c><01:42:32.100><c> check</c>

01:42:32.209 --> 01:42:32.219 align:start position:0%
and yeah that's that's it let me check
 

01:42:32.219 --> 01:42:34.669 align:start position:0%
and yeah that's that's it let me check
the<01:42:32.460><c> time</c><01:42:32.639><c> okay</c>

01:42:34.669 --> 01:42:34.679 align:start position:0%
the time okay
 

01:42:34.679 --> 01:42:35.930 align:start position:0%
the time okay
um<01:42:34.739><c> so</c>

01:42:35.930 --> 01:42:35.940 align:start position:0%
um so
 

01:42:35.940 --> 01:42:37.790 align:start position:0%
um so
a<01:42:36.420><c> bit</c><01:42:36.540><c> of</c><01:42:36.659><c> Hands-On</c><01:42:37.080><c> how</c><01:42:37.380><c> do</c><01:42:37.440><c> we</c><01:42:37.560><c> get</c><01:42:37.619><c> the</c>

01:42:37.790 --> 01:42:37.800 align:start position:0%
a bit of Hands-On how do we get the
 

01:42:37.800 --> 01:42:41.270 align:start position:0%
a bit of Hands-On how do we get the
actual<01:42:38.100><c> searches</c><01:42:38.520><c> it</c><01:42:39.119><c> sounds</c><01:42:39.360><c> scary</c><01:42:40.020><c> and</c><01:42:40.800><c> it's</c>

01:42:41.270 --> 01:42:41.280 align:start position:0%
actual searches it sounds scary and it's
 

01:42:41.280 --> 01:42:43.129 align:start position:0%
actual searches it sounds scary and it's
meant<01:42:41.580><c> to</c><01:42:41.699><c> be</c><01:42:41.760><c> scary</c><01:42:42.000><c> so</c>

01:42:43.129 --> 01:42:43.139 align:start position:0%
meant to be scary so
 

01:42:43.139 --> 01:42:45.229 align:start position:0%
meant to be scary so
we<01:42:43.500><c> know</c><01:42:43.619><c> the</c><01:42:43.739><c> slot</c><01:42:43.920><c> index</c><01:42:44.280><c> the</c><01:42:44.639><c> storage</c><01:42:44.820><c> index</c>

01:42:45.229 --> 01:42:45.239 align:start position:0%
we know the slot index the storage index
 

01:42:45.239 --> 01:42:49.870 align:start position:0%
we know the slot index the storage index
I<01:42:45.900><c> want</c><01:42:46.139><c> to</c><01:42:46.260><c> prove</c><01:42:46.679><c> that</c><01:42:47.100><c> it's</c><01:42:47.699><c> like</c><01:42:48.320><c> 0x35</c>

01:42:49.870 --> 01:42:49.880 align:start position:0%
I want to prove that it's like 0x35
 

01:42:49.880 --> 01:42:54.709 align:start position:0%
I want to prove that it's like 0x35
owns<01:42:50.960><c> with</c><01:42:51.960><c> ID</c><01:42:52.320><c> 3594</c>

01:42:54.709 --> 01:42:54.719 align:start position:0%
owns with ID 3594
 

01:42:54.719 --> 01:42:57.709 align:start position:0%
owns with ID 3594
how<01:42:55.199><c> do</c><01:42:55.380><c> we</c><01:42:55.500><c> get</c><01:42:55.619><c> the</c><01:42:55.800><c> storage</c><01:42:56.100><c> key</c>

01:42:57.709 --> 01:42:57.719 align:start position:0%
how do we get the storage key
 

01:42:57.719 --> 01:43:02.770 align:start position:0%
how do we get the storage key
we<01:42:58.139><c> essentially</c><01:42:58.500><c> do</c><01:42:58.739><c> this</c><01:42:58.920><c> operation</c><01:42:59.280><c> so</c><01:42:59.940><c> we</c>

01:43:02.770 --> 01:43:02.780 align:start position:0%
 
 

01:43:02.780 --> 01:43:06.770 align:start position:0%
 
concatenate<01:43:03.780><c> the</c><01:43:04.639><c> slot</c><01:43:05.639><c> I</c><01:43:06.179><c> mean</c><01:43:06.300><c> the</c><01:43:06.420><c> key</c><01:43:06.600><c> in</c>

01:43:06.770 --> 01:43:06.780 align:start position:0%
concatenate the slot I mean the key in
 

01:43:06.780 --> 01:43:09.350 align:start position:0%
concatenate the slot I mean the key in
the<01:43:06.900><c> mapping</c><01:43:07.199><c> which</c><01:43:07.860><c> is</c><01:43:07.980><c> 35.94</c><01:43:08.880><c> because</c><01:43:09.119><c> this</c>

01:43:09.350 --> 01:43:09.360 align:start position:0%
the mapping which is 35.94 because this
 

01:43:09.360 --> 01:43:11.390 align:start position:0%
the mapping which is 35.94 because this
is<01:43:09.480><c> the</c><01:43:09.600><c> token</c><01:43:09.960><c> ID</c><01:43:10.080><c> as</c><01:43:10.800><c> you</c><01:43:10.920><c> know</c><01:43:11.040><c> we</c><01:43:11.219><c> have</c><01:43:11.280><c> a</c>

01:43:11.390 --> 01:43:11.400 align:start position:0%
is the token ID as you know we have a
 

01:43:11.400 --> 01:43:13.070 align:start position:0%
is the token ID as you know we have a
mapping<01:43:11.699><c> from</c><01:43:11.820><c> token</c><01:43:12.119><c> ID</c><01:43:12.239><c> to</c><01:43:12.480><c> token</c><01:43:12.840><c> data</c>

01:43:13.070 --> 01:43:13.080 align:start position:0%
mapping from token ID to token data
 

01:43:13.080 --> 01:43:16.810 align:start position:0%
mapping from token ID to token data
token<01:43:13.560><c> data</c><01:43:13.860><c> contains</c><01:43:14.219><c> the</c><01:43:14.340><c> old</c><01:43:15.000><c> okay</c><01:43:15.480><c> so</c><01:43:15.900><c> we</c>

01:43:16.810 --> 01:43:16.820 align:start position:0%
token data contains the old okay so we
 

01:43:16.820 --> 01:43:20.629 align:start position:0%
token data contains the old okay so we
concatenate<01:43:17.820><c> this</c><01:43:18.000><c> with</c><01:43:18.360><c> the</c><01:43:18.600><c> storage</c><01:43:19.639><c> index</c>

01:43:20.629 --> 01:43:20.639 align:start position:0%
concatenate this with the storage index
 

01:43:20.639 --> 01:43:22.790 align:start position:0%
concatenate this with the storage index
we<01:43:21.300><c> hash</c><01:43:21.480><c> it</c><01:43:21.719><c> all</c><01:43:21.840><c> together</c><01:43:21.960><c> this</c><01:43:22.500><c> is</c><01:43:22.679><c> the</c>

01:43:22.790 --> 01:43:22.800 align:start position:0%
we hash it all together this is the
 

01:43:22.800 --> 01:43:25.430 align:start position:0%
we hash it all together this is the
storage<01:43:22.980><c> key</c><01:43:23.520><c> that</c><01:43:23.940><c> we</c><01:43:24.060><c> have</c><01:43:24.320><c> if</c><01:43:25.320><c> you're</c>

01:43:25.430 --> 01:43:25.440 align:start position:0%
storage key that we have if you're
 

01:43:25.440 --> 01:43:28.129 align:start position:0%
storage key that we have if you're
interested<01:43:25.860><c> how</c><01:43:26.280><c> to</c><01:43:26.460><c> deal</c><01:43:27.179><c> with</c><01:43:27.360><c> it</c><01:43:27.540><c> for</c><01:43:27.960><c> like</c>

01:43:28.129 --> 01:43:28.139 align:start position:0%
interested how to deal with it for like
 

01:43:28.139 --> 01:43:32.209 align:start position:0%
interested how to deal with it for like
more<01:43:28.320><c> complex</c><01:43:28.760><c> mappings</c><01:43:29.760><c> and</c><01:43:30.060><c> like</c>

01:43:32.209 --> 01:43:32.219 align:start position:0%
more complex mappings and like
 

01:43:32.219 --> 01:43:33.890 align:start position:0%
more complex mappings and like
layouts

01:43:33.890 --> 01:43:33.900 align:start position:0%
layouts
 

01:43:33.900 --> 01:43:35.930 align:start position:0%
layouts
back<01:43:34.380><c> the</c><01:43:34.619><c> solidity</c><01:43:35.040><c> documentation</c><01:43:35.580><c> it's</c>

01:43:35.930 --> 01:43:35.940 align:start position:0%
back the solidity documentation it's
 

01:43:35.940 --> 01:43:38.270 align:start position:0%
back the solidity documentation it's
explained<01:43:36.480><c> pretty</c><01:43:36.659><c> well</c><01:43:36.900><c> so</c>

01:43:38.270 --> 01:43:38.280 align:start position:0%
explained pretty well so
 

01:43:38.280 --> 01:43:41.209 align:start position:0%
explained pretty well so
now<01:43:39.239><c> that's</c><01:43:39.719><c> to</c><01:43:40.080><c> make</c><01:43:40.199><c> sure</c><01:43:40.380><c> we</c><01:43:40.679><c> got</c><01:43:40.980><c> the</c>

01:43:41.209 --> 01:43:41.219 align:start position:0%
now that's to make sure we got the
 

01:43:41.219 --> 01:43:43.970 align:start position:0%
now that's to make sure we got the
proper<01:43:41.580><c> storage</c><01:43:42.540><c> key</c><01:43:42.900><c> let's</c><01:43:43.260><c> just</c><01:43:43.500><c> check</c><01:43:43.739><c> it</c>

01:43:43.970 --> 01:43:43.980 align:start position:0%
proper storage key let's just check it
 

01:43:43.980 --> 01:43:46.250 align:start position:0%
proper storage key let's just check it
how<01:43:44.159><c> we</c><01:43:44.280><c> can</c><01:43:44.400><c> check</c><01:43:44.520><c> it</c><01:43:44.760><c> super</c><01:43:45.420><c> easy</c><01:43:45.719><c> let's</c>

01:43:46.250 --> 01:43:46.260 align:start position:0%
how we can check it super easy let's
 

01:43:46.260 --> 01:43:48.550 align:start position:0%
how we can check it super easy let's
just<01:43:46.560><c> make</c><01:43:46.679><c> a</c><01:43:46.920><c> one</c><01:43:47.040><c> liter</c><01:43:47.340><c> PC</c><01:43:47.639><c> call</c>

01:43:48.550 --> 01:43:48.560 align:start position:0%
just make a one liter PC call
 

01:43:48.560 --> 01:43:51.530 align:start position:0%
just make a one liter PC call
to<01:43:49.560><c> get</c><01:43:49.679><c> this</c><01:43:49.980><c> storage</c><01:43:50.400><c> at</c><01:43:50.639><c> some</c><01:43:50.820><c> specific</c><01:43:51.119><c> key</c>

01:43:51.530 --> 01:43:51.540 align:start position:0%
to get this storage at some specific key
 

01:43:51.540 --> 01:43:52.810 align:start position:0%
to get this storage at some specific key
please

01:43:52.810 --> 01:43:52.820 align:start position:0%
please
 

01:43:52.820 --> 01:43:57.050 align:start position:0%
please
if<01:43:53.820><c> get</c><01:43:54.119><c> storage</c><01:43:54.420><c> at</c><01:43:54.900><c> so</c><01:43:55.500><c> the</c><01:43:55.739><c> parameters</c><01:43:56.280><c> we</c>

01:43:57.050 --> 01:43:57.060 align:start position:0%
if get storage at so the parameters we
 

01:43:57.060 --> 01:43:58.790 align:start position:0%
if get storage at so the parameters we
want<01:43:57.179><c> to</c><01:43:57.300><c> access</c><01:43:57.480><c> the</c><01:43:57.780><c> storage</c><01:43:57.960><c> of</c><01:43:58.260><c> what</c><01:43:58.500><c> of</c>

01:43:58.790 --> 01:43:58.800 align:start position:0%
want to access the storage of what of
 

01:43:58.800 --> 01:44:02.510 align:start position:0%
want to access the storage of what of
the<01:43:59.159><c> lens</c><01:43:59.699><c> Hub</c><01:44:00.500><c> lens</c><01:44:01.500><c> cap</c><01:44:01.679><c> is</c><01:44:01.860><c> a</c><01:44:02.040><c> contract</c><01:44:02.280><c> that</c>

01:44:02.510 --> 01:44:02.520 align:start position:0%
the lens Hub lens cap is a contract that
 

01:44:02.520 --> 01:44:04.550 align:start position:0%
the lens Hub lens cap is a contract that
essentially<01:44:02.940><c> is</c><01:44:03.719><c> the</c><01:44:03.900><c> representation</c><01:44:04.380><c> of</c>

01:44:04.550 --> 01:44:04.560 align:start position:0%
essentially is the representation of
 

01:44:04.560 --> 01:44:08.390 align:start position:0%
essentially is the representation of
these<01:44:04.739><c> profiles</c><01:44:05.239><c> and</c><01:44:06.239><c> its</c><01:44:06.600><c> address</c><01:44:06.659><c> is</c><01:44:07.400><c> 0xdd4</c>

01:44:08.390 --> 01:44:08.400 align:start position:0%
these profiles and its address is 0xdd4
 

01:44:08.400 --> 01:44:13.149 align:start position:0%
these profiles and its address is 0xdd4
and<01:44:09.000><c> so</c><01:44:09.119><c> on</c><01:44:09.360><c> and</c><01:44:10.320><c> this</c>

01:44:13.149 --> 01:44:13.159 align:start position:0%
 
 

01:44:13.159 --> 01:44:17.510 align:start position:0%
 
oh<01:44:14.159><c> is</c><01:44:15.060><c> it</c><01:44:15.179><c> better</c><01:44:15.360><c> oh</c><01:44:15.659><c> it's</c><01:44:15.960><c> much</c><01:44:16.080><c> better</c><01:44:16.520><c> and</c>

01:44:17.510 --> 01:44:17.520 align:start position:0%
oh is it better oh it's much better and
 

01:44:17.520 --> 01:44:22.790 align:start position:0%
oh is it better oh it's much better and
this<01:44:17.820><c> is</c><01:44:18.060><c> the</c><01:44:18.659><c> the</c><01:44:19.500><c> storage</c><01:44:19.920><c> key</c><01:44:20.639><c> is</c><01:44:21.500><c> 0x1</c><01:44:22.500><c> so</c>

01:44:22.790 --> 01:44:22.800 align:start position:0%
this is the the storage key is 0x1 so
 

01:44:22.800 --> 01:44:24.830 align:start position:0%
this is the the storage key is 0x1 so
essentially<01:44:23.219><c> that's</c><01:44:23.460><c> the</c><01:44:23.699><c> hash</c><01:44:23.820><c> the</c><01:44:24.119><c> 2E</c><01:44:24.659><c> got</c>

01:44:24.830 --> 01:44:24.840 align:start position:0%
essentially that's the hash the 2E got
 

01:44:24.840 --> 01:44:29.510 align:start position:0%
essentially that's the hash the 2E got
and<01:44:25.380><c> the</c><01:44:25.500><c> result</c><01:44:25.679><c> is</c><01:44:26.340><c> 0x000.</c>

01:44:29.510 --> 01:44:29.520 align:start position:0%
 
 

01:44:29.520 --> 01:44:31.729 align:start position:0%
 
and<01:44:30.000><c> we</c><01:44:30.239><c> know</c><01:44:30.360><c> that</c><01:44:30.480><c> it's</c><01:44:30.659><c> 32</c><01:44:31.020><c> bytes</c><01:44:31.320><c> of</c><01:44:31.440><c> data</c>

01:44:31.729 --> 01:44:31.739 align:start position:0%
and we know that it's 32 bytes of data
 

01:44:31.739 --> 01:44:34.669 align:start position:0%
and we know that it's 32 bytes of data
where<01:44:31.980><c> we</c><01:44:32.159><c> have</c><01:44:32.280><c> 20</c><01:44:32.639><c> and</c><01:44:33.000><c> 12.</c><01:44:33.540><c> so</c><01:44:33.780><c> let's</c><01:44:34.139><c> split</c>

01:44:34.669 --> 01:44:34.679 align:start position:0%
where we have 20 and 12. so let's split
 

01:44:34.679 --> 01:44:37.189 align:start position:0%
where we have 20 and 12. so let's split
it<01:44:34.800><c> into</c><01:44:34.980><c> 12</c><01:44:35.159><c> and</c><01:44:35.400><c> 20</c><01:44:35.580><c> bytes</c><01:44:36.060><c> and</c><01:44:36.600><c> what</c><01:44:36.780><c> we</c><01:44:37.020><c> have</c>

01:44:37.189 --> 01:44:37.199 align:start position:0%
it into 12 and 20 bytes and what we have
 

01:44:37.199 --> 01:44:39.590 align:start position:0%
it into 12 and 20 bytes and what we have
is

01:44:39.590 --> 01:44:39.600 align:start position:0%
is
 

01:44:39.600 --> 01:44:42.590 align:start position:0%
is
some<01:44:40.260><c> number</c><01:44:40.500><c> like</c><01:44:40.860><c> you</c><01:44:41.040><c> can</c><01:44:41.340><c> see</c><01:44:41.460><c> Zero</c><01:44:42.000><c> x</c><01:44:42.239><c> a</c>

01:44:42.590 --> 01:44:42.600 align:start position:0%
some number like you can see Zero x a
 

01:44:42.600 --> 01:44:46.729 align:start position:0%
some number like you can see Zero x a
lot<01:44:42.719><c> of</c><01:44:42.900><c> zeros</c><01:44:43.320><c> then</c><01:44:43.679><c> 62</c><01:44:44.219><c> till</c><01:44:44.940><c> D</c><01:44:45.500><c> and</c><01:44:46.500><c> this</c>

01:44:46.729 --> 01:44:46.739 align:start position:0%
lot of zeros then 62 till D and this
 

01:44:46.739 --> 01:44:48.770 align:start position:0%
lot of zeros then 62 till D and this
looks<01:44:46.980><c> like</c><01:44:47.100><c> a</c><01:44:47.219><c> small</c><01:44:47.400><c> number</c><01:44:47.639><c> so</c><01:44:48.179><c> apparently</c>

01:44:48.770 --> 01:44:48.780 align:start position:0%
looks like a small number so apparently
 

01:44:48.780 --> 01:44:50.990 align:start position:0%
looks like a small number so apparently
it<01:44:48.960><c> is</c><01:44:49.139><c> a</c><01:44:49.320><c> timestamp</c><01:44:49.679><c> and</c><01:44:50.219><c> the</c><01:44:50.340><c> second</c><01:44:50.460><c> part</c><01:44:50.760><c> is</c>

01:44:50.990 --> 01:44:51.000 align:start position:0%
it is a timestamp and the second part is
 

01:44:51.000 --> 01:44:52.430 align:start position:0%
it is a timestamp and the second part is
like<01:44:51.179><c> 35</c>

01:44:52.430 --> 01:44:52.440 align:start position:0%
like 35
 

01:44:52.440 --> 01:44:55.850 align:start position:0%
like 35
7<01:44:53.280><c> and</c><01:44:53.760><c> it's</c><01:44:53.940><c> literally</c><01:44:54.239><c> our</c><01:44:54.600><c> address</c><01:44:54.840><c> so</c><01:44:55.560><c> we</c>

01:44:55.850 --> 01:44:55.860 align:start position:0%
7 and it's literally our address so we
 

01:44:55.860 --> 01:44:58.609 align:start position:0%
7 and it's literally our address so we
got<01:44:55.980><c> it</c><01:44:56.159><c> correct</c><01:44:56.460><c> we</c><01:44:56.760><c> have</c><01:44:57.000><c> the</c><01:44:57.179><c> proper</c>

01:44:58.609 --> 01:44:58.619 align:start position:0%
got it correct we have the proper
 

01:44:58.619 --> 01:45:01.609 align:start position:0%
got it correct we have the proper
storage<01:44:59.280><c> key</c><01:44:59.639><c> cool</c>

01:45:01.609 --> 01:45:01.619 align:start position:0%
storage key cool
 

01:45:01.619 --> 01:45:03.189 align:start position:0%
storage key cool
foreign

01:45:03.189 --> 01:45:03.199 align:start position:0%
foreign
 

01:45:03.199 --> 01:45:06.050 align:start position:0%
foreign
but<01:45:04.199><c> how</c><01:45:04.860><c> do</c><01:45:04.980><c> we</c><01:45:05.100><c> actually</c><01:45:05.280><c> get</c><01:45:05.639><c> to</c><01:45:05.820><c> storage</c>

01:45:06.050 --> 01:45:06.060 align:start position:0%
but how do we actually get to storage
 

01:45:06.060 --> 01:45:09.590 align:start position:0%
but how do we actually get to storage
proofs<01:45:06.600><c> so</c><01:45:07.400><c> blurb</c><01:45:08.400><c> standardized</c><01:45:09.000><c> method</c><01:45:09.239><c> in</c>

01:45:09.590 --> 01:45:09.600 align:start position:0%
proofs so blurb standardized method in
 

01:45:09.600 --> 01:45:11.570 align:start position:0%
proofs so blurb standardized method in
like<01:45:09.780><c> the</c><01:45:10.020><c> Json</c><01:45:10.380><c> or</c><01:45:10.560><c> PC</c><01:45:10.920><c> standard</c><01:45:11.340><c> for</c>

01:45:11.570 --> 01:45:11.580 align:start position:0%
like the Json or PC standard for
 

01:45:11.580 --> 01:45:14.090 align:start position:0%
like the Json or PC standard for
ethereum<01:45:12.060><c> clients</c><01:45:12.600><c> and</c><01:45:13.380><c> this</c><01:45:13.679><c> method</c><01:45:13.980><c> is</c>

01:45:14.090 --> 01:45:14.100 align:start position:0%
ethereum clients and this method is
 

01:45:14.100 --> 01:45:16.189 align:start position:0%
ethereum clients and this method is
called<01:45:14.280><c> eth</c><01:45:14.580><c> get</c><01:45:14.940><c> proof</c><01:45:15.239><c> which</c><01:45:15.719><c> essentially</c>

01:45:16.189 --> 01:45:16.199 align:start position:0%
called eth get proof which essentially
 

01:45:16.199 --> 01:45:20.390 align:start position:0%
called eth get proof which essentially
given<01:45:16.940><c> the</c><01:45:17.940><c> contract</c><01:45:18.420><c> address</c><01:45:18.659><c> so</c><01:45:19.080><c> I'm</c><01:45:20.040><c> better</c>

01:45:20.390 --> 01:45:20.400 align:start position:0%
given the contract address so I'm better
 

01:45:20.400 --> 01:45:22.310 align:start position:0%
given the contract address so I'm better
call<01:45:20.699><c> it</c><01:45:20.880><c> account</c><01:45:21.179><c> address</c><01:45:21.540><c> in</c><01:45:21.900><c> this</c><01:45:22.020><c> specific</c>

01:45:22.310 --> 01:45:22.320 align:start position:0%
call it account address in this specific
 

01:45:22.320 --> 01:45:24.649 align:start position:0%
call it account address in this specific
case<01:45:22.560><c> allows</c><01:45:23.340><c> us</c><01:45:23.460><c> to</c><01:45:23.639><c> generate</c><01:45:23.940><c> a</c><01:45:24.119><c> state</c><01:45:24.239><c> proof</c>

01:45:24.649 --> 01:45:24.659 align:start position:0%
case allows us to generate a state proof
 

01:45:24.659 --> 01:45:27.950 align:start position:0%
case allows us to generate a state proof
and<01:45:25.619><c> the</c><01:45:25.860><c> last</c><01:45:26.219><c> argument</c><01:45:26.639><c> I</c><01:45:27.000><c> mean</c><01:45:27.179><c> the</c><01:45:27.659><c> sorry</c>

01:45:27.950 --> 01:45:27.960 align:start position:0%
and the last argument I mean the sorry
 

01:45:27.960 --> 01:45:29.930 align:start position:0%
and the last argument I mean the sorry
the<01:45:28.199><c> second</c><01:45:28.380><c> argument</c><01:45:28.800><c> is</c><01:45:29.340><c> an</c><01:45:29.460><c> array</c><01:45:29.760><c> that</c>

01:45:29.930 --> 01:45:29.940 align:start position:0%
the second argument is an array that
 

01:45:29.940 --> 01:45:32.750 align:start position:0%
the second argument is an array that
contains<01:45:30.300><c> all</c><01:45:30.480><c> this</c><01:45:30.659><c> Storage</c><01:45:31.280><c> storage</c><01:45:32.280><c> keys</c>

01:45:32.750 --> 01:45:32.760 align:start position:0%
contains all this Storage storage keys
 

01:45:32.760 --> 01:45:35.570 align:start position:0%
contains all this Storage storage keys
that<01:45:33.119><c> we</c><01:45:33.300><c> want</c><01:45:33.420><c> to</c><01:45:33.540><c> prove</c><01:45:34.320><c> uh</c><01:45:35.219><c> there</c><01:45:35.460><c> is</c>

01:45:35.570 --> 01:45:35.580 align:start position:0%
that we want to prove uh there is
 

01:45:35.580 --> 01:45:37.149 align:start position:0%
that we want to prove uh there is
another<01:45:35.699><c> argument</c><01:45:36.179><c> which</c><01:45:36.420><c> is</c>

01:45:37.149 --> 01:45:37.159 align:start position:0%
another argument which is
 

01:45:37.159 --> 01:45:39.530 align:start position:0%
another argument which is
0x1a<01:45:38.159><c> it's</c><01:45:38.580><c> essentially</c><01:45:38.940><c> the</c><01:45:39.119><c> block</c><01:45:39.239><c> number</c>

01:45:39.530 --> 01:45:39.540 align:start position:0%
0x1a it's essentially the block number
 

01:45:39.540 --> 01:45:42.290 align:start position:0%
0x1a it's essentially the block number
for<01:45:39.960><c> which</c><01:45:40.199><c> we</c><01:45:40.380><c> prove</c><01:45:40.619><c> the</c><01:45:40.800><c> state</c>

01:45:42.290 --> 01:45:42.300 align:start position:0%
for which we prove the state
 

01:45:42.300 --> 01:45:45.109 align:start position:0%
for which we prove the state
um<01:45:42.360><c> yeah</c><01:45:42.719><c> let's</c><01:45:43.139><c> call</c><01:45:43.440><c> this</c><01:45:43.679><c> method</c><01:45:44.040><c> oh</c><01:45:44.760><c> by</c><01:45:45.000><c> the</c>

01:45:45.109 --> 01:45:45.119 align:start position:0%
um yeah let's call this method oh by the
 

01:45:45.119 --> 01:45:46.850 align:start position:0%
um yeah let's call this method oh by the
way<01:45:45.239><c> uh</c><01:45:45.600><c> you</c><01:45:45.780><c> might</c><01:45:45.900><c> have</c><01:45:46.020><c> a</c><01:45:46.139><c> question</c><01:45:46.260><c> how</c><01:45:46.619><c> do</c>

01:45:46.850 --> 01:45:46.860 align:start position:0%
way uh you might have a question how do
 

01:45:46.860 --> 01:45:49.430 align:start position:0%
way uh you might have a question how do
we<01:45:46.980><c> deal</c><01:45:47.219><c> with</c><01:45:47.639><c> this</c><01:45:47.940><c> method</c><01:45:48.300><c> on</c><01:45:48.540><c> non-evm</c>

01:45:49.430 --> 01:45:49.440 align:start position:0%
we deal with this method on non-evm
 

01:45:49.440 --> 01:45:52.970 align:start position:0%
we deal with this method on non-evm
chains<01:45:50.060><c> because</c><01:45:51.060><c> for</c><01:45:51.420><c> example</c><01:45:51.800><c> on</c><01:45:52.800><c> some</c>

01:45:52.970 --> 01:45:52.980 align:start position:0%
chains because for example on some
 

01:45:52.980 --> 01:45:54.709 align:start position:0%
chains because for example on some
specific<01:45:53.340><c> Roll-Ups</c><01:45:54.000><c> this</c><01:45:54.179><c> method</c><01:45:54.420><c> is</c><01:45:54.540><c> like</c>

01:45:54.709 --> 01:45:54.719 align:start position:0%
specific Roll-Ups this method is like
 

01:45:54.719 --> 01:45:57.290 align:start position:0%
specific Roll-Ups this method is like
not<01:45:54.840><c> supported</c><01:45:55.320><c> actually</c><01:45:55.860><c> it's</c><01:45:56.100><c> not</c><01:45:56.400><c> a</c><01:45:56.880><c> big</c>

01:45:57.290 --> 01:45:57.300 align:start position:0%
not supported actually it's not a big
 

01:45:57.300 --> 01:45:59.030 align:start position:0%
not supported actually it's not a big
deal<01:45:57.480><c> because</c><01:45:57.900><c> if</c><01:45:58.199><c> you</c><01:45:58.320><c> think</c><01:45:58.440><c> of</c><01:45:58.560><c> it</c><01:45:58.679><c> we</c><01:45:58.920><c> just</c>

01:45:59.030 --> 01:45:59.040 align:start position:0%
deal because if you think of it we just
 

01:45:59.040 --> 01:46:01.250 align:start position:0%
deal because if you think of it we just
need<01:45:59.280><c> the</c><01:45:59.460><c> database</c><01:45:59.940><c> and</c><01:46:00.659><c> on</c><01:46:00.900><c> top</c><01:46:01.020><c> of</c><01:46:01.139><c> this</c>

01:46:01.250 --> 01:46:01.260 align:start position:0%
need the database and on top of this
 

01:46:01.260 --> 01:46:02.750 align:start position:0%
need the database and on top of this
database<01:46:01.679><c> we</c><01:46:01.920><c> can</c><01:46:02.040><c> literally</c><01:46:02.280><c> build</c><01:46:02.580><c> this</c>

01:46:02.750 --> 01:46:02.760 align:start position:0%
database we can literally build this
 

01:46:02.760 --> 01:46:05.270 align:start position:0%
database we can literally build this
method<01:46:03.360><c> we</c><01:46:03.900><c> just</c><01:46:04.260><c> need</c><01:46:04.440><c> to</c><01:46:04.500><c> know</c><01:46:04.679><c> how</c><01:46:04.980><c> the</c>

01:46:05.270 --> 01:46:05.280 align:start position:0%
method we just need to know how the
 

01:46:05.280 --> 01:46:08.050 align:start position:0%
method we just need to know how the
storage<01:46:06.179><c> is</c><01:46:06.480><c> constructed</c>

01:46:08.050 --> 01:46:08.060 align:start position:0%
storage is constructed
 

01:46:08.060 --> 01:46:12.050 align:start position:0%
storage is constructed
okay<01:46:09.060><c> this</c><01:46:09.659><c> is</c><01:46:09.719><c> the</c><01:46:09.900><c> proof</c><01:46:10.199><c> it</c><01:46:10.920><c> looks</c><01:46:11.219><c> scary</c><01:46:11.340><c> it</c>

01:46:12.050 --> 01:46:12.060 align:start position:0%
okay this is the proof it looks scary it
 

01:46:12.060 --> 01:46:14.390 align:start position:0%
okay this is the proof it looks scary it
is<01:46:12.179><c> scary</c><01:46:12.380><c> this</c><01:46:13.380><c> entire</c><01:46:13.679><c> object</c><01:46:14.040><c> is</c><01:46:14.219><c> four</c>

01:46:14.390 --> 01:46:14.400 align:start position:0%
is scary this entire object is four
 

01:46:14.400 --> 01:46:17.390 align:start position:0%
is scary this entire object is four
kilobytes<01:46:14.880><c> of</c><01:46:15.060><c> data</c><01:46:15.420><c> and</c><01:46:16.139><c> now</c><01:46:16.380><c> I</c><01:46:16.980><c> mentioned</c>

01:46:17.390 --> 01:46:17.400 align:start position:0%
kilobytes of data and now I mentioned
 

01:46:17.400 --> 01:46:20.270 align:start position:0%
kilobytes of data and now I mentioned
before<01:46:17.820><c> that</c><01:46:18.480><c> the</c><01:46:19.080><c> state</c><01:46:19.619><c> is</c><01:46:19.920><c> like</c><01:46:20.040><c> a</c><01:46:20.159><c> two</c>

01:46:20.270 --> 01:46:20.280 align:start position:0%
before that the state is like a two
 

01:46:20.280 --> 01:46:22.310 align:start position:0%
before that the state is like a two
level<01:46:20.460><c> structure</c><01:46:21.000><c> first</c><01:46:21.600><c> we</c><01:46:21.840><c> have</c><01:46:21.960><c> a</c><01:46:22.080><c> proof</c>

01:46:22.310 --> 01:46:22.320 align:start position:0%
level structure first we have a proof
 

01:46:22.320 --> 01:46:24.350 align:start position:0%
level structure first we have a proof
for<01:46:22.500><c> the</c><01:46:22.619><c> account</c><01:46:22.739><c> itself</c><01:46:23.280><c> and</c><01:46:24.000><c> then</c><01:46:24.119><c> we</c><01:46:24.239><c> have</c>

01:46:24.350 --> 01:46:24.360 align:start position:0%
for the account itself and then we have
 

01:46:24.360 --> 01:46:27.290 align:start position:0%
for the account itself and then we have
the<01:46:24.600><c> proof</c><01:46:25.020><c> for</c><01:46:25.920><c> the</c><01:46:26.280><c> storage</c><01:46:26.460><c> I</c><01:46:26.820><c> mean</c><01:46:26.940><c> for</c><01:46:27.119><c> the</c>

01:46:27.290 --> 01:46:27.300 align:start position:0%
the proof for the storage I mean for the
 

01:46:27.300 --> 01:46:30.410 align:start position:0%
the proof for the storage I mean for the
actual<01:46:27.540><c> storage</c><01:46:27.780><c> slot</c><01:46:28.400><c> it</c><01:46:29.400><c> is</c><01:46:29.580><c> scary</c><01:46:29.760><c> it's</c>

01:46:30.410 --> 01:46:30.420 align:start position:0%
actual storage slot it is scary it's
 

01:46:30.420 --> 01:46:33.410 align:start position:0%
actual storage slot it is scary it's
meant<01:46:30.719><c> to</c><01:46:30.840><c> be</c><01:46:30.960><c> scary</c><01:46:31.340><c> one</c><01:46:32.340><c> proof</c><01:46:32.760><c> is</c><01:46:32.940><c> like</c><01:46:33.179><c> more</c>

01:46:33.410 --> 01:46:33.420 align:start position:0%
meant to be scary one proof is like more
 

01:46:33.420 --> 01:46:37.310 align:start position:0%
meant to be scary one proof is like more
or<01:46:33.600><c> less</c><01:46:33.659><c> 600</c><01:46:34.440><c> bytes</c><01:46:35.600><c> 700</c><01:46:36.600><c> bytes</c><01:46:37.020><c> it</c><01:46:37.199><c> really</c>

01:46:37.310 --> 01:46:37.320 align:start position:0%
or less 600 bytes 700 bytes it really
 

01:46:37.320 --> 01:46:39.350 align:start position:0%
or less 600 bytes 700 bytes it really
depends<01:46:37.980><c> like</c><01:46:38.100><c> bigger</c><01:46:38.460><c> the</c><01:46:38.639><c> storage</c><01:46:38.820><c> is</c><01:46:39.119><c> than</c>

01:46:39.350 --> 01:46:39.360 align:start position:0%
depends like bigger the storage is than
 

01:46:39.360 --> 01:46:41.209 align:start position:0%
depends like bigger the storage is than
bigger<01:46:39.780><c> the</c><01:46:39.900><c> proof</c><01:46:40.199><c> is</c><01:46:40.320><c> and</c><01:46:40.860><c> also</c><01:46:41.040><c> more</c>

01:46:41.209 --> 01:46:41.219 align:start position:0%
bigger the proof is and also more
 

01:46:41.219 --> 01:46:43.129 align:start position:0%
bigger the proof is and also more
accounts<01:46:41.639><c> we</c><01:46:41.820><c> have</c><01:46:42.000><c> than</c><01:46:42.239><c> bigger</c><01:46:42.780><c> the</c><01:46:42.900><c> account</c>

01:46:43.129 --> 01:46:43.139 align:start position:0%
accounts we have than bigger the account
 

01:46:43.139 --> 01:46:44.450 align:start position:0%
accounts we have than bigger the account
proof<01:46:43.619><c> is</c>

01:46:44.450 --> 01:46:44.460 align:start position:0%
proof is
 

01:46:44.460 --> 01:46:47.930 align:start position:0%
proof is
so<01:46:45.119><c> that's</c><01:46:45.360><c> a</c><01:46:45.540><c> lot</c><01:46:45.659><c> of</c><01:46:45.780><c> cool</c><01:46:45.900><c> data</c><01:46:46.380><c> if</c><01:46:47.520><c> um</c><01:46:47.520><c> if</c>

01:46:47.930 --> 01:46:47.940 align:start position:0%
so that's a lot of cool data if um if
 

01:46:47.940 --> 01:46:51.229 align:start position:0%
so that's a lot of cool data if um if
you<01:46:48.060><c> can</c><01:46:48.179><c> imagine</c><01:46:48.360><c> you</c><01:46:49.139><c> can</c><01:46:49.320><c> imagine</c><01:46:49.820><c> uh</c><01:46:50.820><c> and</c>

01:46:51.229 --> 01:46:51.239 align:start position:0%
you can imagine you can imagine uh and
 

01:46:51.239 --> 01:46:52.970 align:start position:0%
you can imagine you can imagine uh and
yeah<01:46:51.420><c> that's</c><01:46:51.780><c> that's</c><01:46:52.020><c> pretty</c><01:46:52.320><c> bad</c><01:46:52.560><c> why</c>

01:46:52.970 --> 01:46:52.980 align:start position:0%
yeah that's that's pretty bad why
 

01:46:52.980 --> 01:46:54.830 align:start position:0%
yeah that's that's pretty bad why
because<01:46:53.219><c> we</c><01:46:53.460><c> need</c><01:46:53.639><c> to</c><01:46:53.760><c> pause</c><01:46:54.060><c> this</c><01:46:54.300><c> proof</c><01:46:54.659><c> on</c>

01:46:54.830 --> 01:46:54.840 align:start position:0%
because we need to pause this proof on
 

01:46:54.840 --> 01:46:57.350 align:start position:0%
because we need to pause this proof on
the<01:46:55.020><c> Chain</c><01:46:55.139><c> so</c><01:46:55.500><c> it's</c><01:46:55.679><c> a</c><01:46:55.860><c> lot</c><01:46:55.980><c> of</c><01:46:56.100><c> cool</c><01:46:56.280><c> data</c><01:46:56.760><c> but</c>

01:46:57.350 --> 01:46:57.360 align:start position:0%
the Chain so it's a lot of cool data but
 

01:46:57.360 --> 01:47:00.109 align:start position:0%
the Chain so it's a lot of cool data but
okay<01:46:57.540><c> let's</c><01:46:58.080><c> let's</c><01:46:58.380><c> try</c>

01:47:00.109 --> 01:47:00.119 align:start position:0%
okay let's let's try
 

01:47:00.119 --> 01:47:02.750 align:start position:0%
okay let's let's try
what's<01:47:00.600><c> going</c><01:47:00.840><c> to</c><01:47:00.960><c> be</c><01:47:01.020><c> the</c><01:47:01.199><c> cost</c><01:47:01.320><c> on</c><01:47:01.679><c> like</c><01:47:02.040><c> an</c>

01:47:02.750 --> 01:47:02.760 align:start position:0%
what's going to be the cost on like an
 

01:47:02.760 --> 01:47:05.870 align:start position:0%
what's going to be the cost on like an
evm<01:47:03.179><c> chain</c><01:47:03.420><c> that's</c><01:47:04.139><c> the</c><01:47:04.440><c> cost</c><01:47:04.560><c> it's</c><01:47:04.860><c> like</c><01:47:05.040><c> 600k</c>

01:47:05.870 --> 01:47:05.880 align:start position:0%
evm chain that's the cost it's like 600k
 

01:47:05.880 --> 01:47:09.890 align:start position:0%
evm chain that's the cost it's like 600k
of<01:47:06.179><c> gas</c><01:47:06.420><c> that's</c><01:47:07.260><c> a</c><01:47:07.440><c> lot</c><01:47:07.820><c> that</c><01:47:08.820><c> kills</c><01:47:09.540><c> almost</c>

01:47:09.890 --> 01:47:09.900 align:start position:0%
of gas that's a lot that kills almost
 

01:47:09.900 --> 01:47:12.290 align:start position:0%
of gas that's a lot that kills almost
every<01:47:10.440><c> single</c><01:47:10.860><c> application</c><01:47:11.699><c> that</c><01:47:12.119><c> you</c><01:47:12.179><c> want</c>

01:47:12.290 --> 01:47:12.300 align:start position:0%
every single application that you want
 

01:47:12.300 --> 01:47:14.510 align:start position:0%
every single application that you want
to<01:47:12.480><c> build</c><01:47:12.600><c> on</c><01:47:12.840><c> top</c><01:47:13.020><c> of</c><01:47:13.139><c> this</c><01:47:13.260><c> nice</c><01:47:13.440><c> primitive</c>

01:47:14.510 --> 01:47:14.520 align:start position:0%
to build on top of this nice primitive
 

01:47:14.520 --> 01:47:16.970 align:start position:0%
to build on top of this nice primitive
so<01:47:15.300><c> it's</c><01:47:15.719><c> pretty</c><01:47:15.900><c> bad</c><01:47:16.139><c> and</c><01:47:16.380><c> why</c><01:47:16.560><c> is</c><01:47:16.679><c> it</c><01:47:16.860><c> that</c>

01:47:16.970 --> 01:47:16.980 align:start position:0%
so it's pretty bad and why is it that
 

01:47:16.980 --> 01:47:19.970 align:start position:0%
so it's pretty bad and why is it that
bad<01:47:17.300><c> so</c><01:47:18.300><c> I</c><01:47:18.900><c> explained</c><01:47:19.320><c> on</c><01:47:19.619><c> the</c><01:47:19.739><c> high</c><01:47:19.800><c> level</c>

01:47:19.970 --> 01:47:19.980 align:start position:0%
bad so I explained on the high level
 

01:47:19.980 --> 01:47:21.770 align:start position:0%
bad so I explained on the high level
what<01:47:20.280><c> Merkel</c><01:47:20.639><c> trees</c><01:47:20.880><c> are</c><01:47:20.940><c> America</c><01:47:21.179><c> Patricia</c>

01:47:21.770 --> 01:47:21.780 align:start position:0%
what Merkel trees are America Patricia
 

01:47:21.780 --> 01:47:23.930 align:start position:0%
what Merkel trees are America Patricia
trees<01:47:22.320><c> are</c><01:47:22.500><c> on</c><01:47:22.980><c> ethereum</c><01:47:23.400><c> we</c><01:47:23.520><c> use</c><01:47:23.639><c> Marco</c>

01:47:23.930 --> 01:47:23.940 align:start position:0%
trees are on ethereum we use Marco
 

01:47:23.940 --> 01:47:25.910 align:start position:0%
trees are on ethereum we use Marco
Patricia<01:47:24.360><c> trees</c><01:47:24.719><c> and</c><01:47:25.260><c> essentially</c><01:47:25.500><c> there</c><01:47:25.739><c> is</c>

01:47:25.910 --> 01:47:25.920 align:start position:0%
Patricia trees and essentially there is
 

01:47:25.920 --> 01:47:27.890 align:start position:0%
Patricia trees and essentially there is
a<01:47:26.040><c> trade-off</c><01:47:26.400><c> that</c><01:47:26.820><c> when</c><01:47:27.300><c> using</c><01:47:27.600><c> Miracle</c>

01:47:27.890 --> 01:47:27.900 align:start position:0%
a trade-off that when using Miracle
 

01:47:27.900 --> 01:47:29.510 align:start position:0%
a trade-off that when using Miracle
Patricia<01:47:28.260><c> trees</c><01:47:28.440><c> the</c><01:47:28.619><c> proof</c><01:47:28.800><c> is</c><01:47:28.920><c> a</c><01:47:29.159><c> slightly</c>

01:47:29.510 --> 01:47:29.520 align:start position:0%
Patricia trees the proof is a slightly
 

01:47:29.520 --> 01:47:32.990 align:start position:0%
Patricia trees the proof is a slightly
bigger<01:47:29.880><c> it's</c><01:47:30.659><c> like</c><01:47:31.080><c> harder</c><01:47:31.619><c> to</c><01:47:32.100><c> decode</c><01:47:32.880><c> it</c>

01:47:32.990 --> 01:47:33.000 align:start position:0%
bigger it's like harder to decode it
 

01:47:33.000 --> 01:47:34.550 align:start position:0%
bigger it's like harder to decode it
because<01:47:33.179><c> actually</c><01:47:33.360><c> we</c><01:47:33.659><c> need</c><01:47:33.780><c> to</c><01:47:33.840><c> do</c><01:47:34.020><c> some</c><01:47:34.320><c> a</c>

01:47:34.550 --> 01:47:34.560 align:start position:0%
because actually we need to do some a
 

01:47:34.560 --> 01:47:36.530 align:start position:0%
because actually we need to do some a
bit<01:47:34.679><c> of</c><01:47:34.860><c> decoding</c><01:47:35.280><c> there</c>

01:47:36.530 --> 01:47:36.540 align:start position:0%
bit of decoding there
 

01:47:36.540 --> 01:47:39.470 align:start position:0%
bit of decoding there
um<01:47:36.600><c> but</c><01:47:37.260><c> we</c><01:47:37.619><c> need</c><01:47:37.860><c> to</c><01:47:37.980><c> do</c><01:47:38.159><c> less</c><01:47:38.340><c> hashing</c><01:47:38.880><c> so</c>

01:47:39.470 --> 01:47:39.480 align:start position:0%
um but we need to do less hashing so
 

01:47:39.480 --> 01:47:41.510 align:start position:0%
um but we need to do less hashing so
this<01:47:39.719><c> is</c><01:47:39.780><c> a</c><01:47:39.960><c> trade-off</c><01:47:40.320><c> but</c><01:47:40.800><c> depending</c><01:47:41.219><c> where</c>

01:47:41.510 --> 01:47:41.520 align:start position:0%
this is a trade-off but depending where
 

01:47:41.520 --> 01:47:43.490 align:start position:0%
this is a trade-off but depending where
we<01:47:41.639><c> actually</c><01:47:41.760><c> verify</c><01:47:42.239><c> this</c><01:47:42.360><c> proof</c><01:47:42.719><c> it</c><01:47:43.320><c> might</c>

01:47:43.490 --> 01:47:43.500 align:start position:0%
we actually verify this proof it might
 

01:47:43.500 --> 01:47:46.070 align:start position:0%
we actually verify this proof it might
be<01:47:43.619><c> more</c><01:47:43.739><c> feasible</c><01:47:44.100><c> to</c><01:47:44.280><c> verify</c><01:47:44.699><c> like</c><01:47:45.659><c> prove</c>

01:47:46.070 --> 01:47:46.080 align:start position:0%
be more feasible to verify like prove
 

01:47:46.080 --> 01:47:47.330 align:start position:0%
be more feasible to verify like prove
that<01:47:46.139><c> is</c><01:47:46.260><c> based</c><01:47:46.440><c> on</c><01:47:46.500><c> record</c><01:47:46.679><c> Patricia</c><01:47:47.040><c> trees</c>

01:47:47.330 --> 01:47:47.340 align:start position:0%
that is based on record Patricia trees
 

01:47:47.340 --> 01:47:48.649 align:start position:0%
that is based on record Patricia trees
or<01:47:47.460><c> Miracle</c><01:47:47.820><c> trees</c>

01:47:48.649 --> 01:47:48.659 align:start position:0%
or Miracle trees
 

01:47:48.659 --> 01:47:51.890 align:start position:0%
or Miracle trees
okay<01:47:49.460><c> but</c><01:47:50.460><c> there</c><01:47:50.760><c> is</c><01:47:50.940><c> a</c><01:47:51.000><c> solution</c>

01:47:51.890 --> 01:47:51.900 align:start position:0%
okay but there is a solution
 

01:47:51.900 --> 01:47:54.890 align:start position:0%
okay but there is a solution
and<01:47:52.440><c> the</c><01:47:52.560><c> solution</c><01:47:52.860><c> is</c><01:47:53.100><c> what</c><01:47:53.520><c> if</c><01:47:53.699><c> we</c><01:47:53.940><c> snarkify</c>

01:47:54.890 --> 01:47:54.900 align:start position:0%
and the solution is what if we snarkify
 

01:47:54.900 --> 01:47:57.649 align:start position:0%
and the solution is what if we snarkify
such<01:47:55.500><c> such</c><01:47:55.800><c> a</c><01:47:56.040><c> proof</c><01:47:56.340><c> and</c><01:47:56.940><c> we</c><01:47:57.119><c> verify</c><01:47:57.480><c> this</c>

01:47:57.649 --> 01:47:57.659 align:start position:0%
such such a proof and we verify this
 

01:47:57.659 --> 01:47:59.930 align:start position:0%
such such a proof and we verify this
proof<01:47:57.960><c> inside</c><01:47:58.080><c> the</c><01:47:58.320><c> Stark</c><01:47:59.040><c> why</c><01:47:59.460><c> is</c><01:47:59.639><c> it</c><01:47:59.760><c> cool</c>

01:47:59.930 --> 01:47:59.940 align:start position:0%
proof inside the Stark why is it cool
 

01:47:59.940 --> 01:48:02.270 align:start position:0%
proof inside the Stark why is it cool
because<01:48:00.300><c> we</c><01:48:01.260><c> can</c><01:48:01.440><c> like</c><01:48:01.560><c> let's</c><01:48:01.800><c> say</c><01:48:01.980><c> that</c><01:48:02.159><c> I'm</c>

01:48:02.270 --> 01:48:02.280 align:start position:0%
because we can like let's say that I'm
 

01:48:02.280 --> 01:48:04.609 align:start position:0%
because we can like let's say that I'm
gonna<01:48:02.400><c> verify</c><01:48:02.940><c> this</c><01:48:03.119><c> proof</c><01:48:03.480><c> inside</c><01:48:03.600><c> the</c><01:48:03.960><c> craft</c>

01:48:04.609 --> 01:48:04.619 align:start position:0%
gonna verify this proof inside the craft
 

01:48:04.619 --> 01:48:07.729 align:start position:0%
gonna verify this proof inside the craft
craft<01:48:04.980><c> 16</c><01:48:05.219><c> circuit</c>

01:48:07.729 --> 01:48:07.739 align:start position:0%
craft 16 circuit
 

01:48:07.739 --> 01:48:09.649 align:start position:0%
craft 16 circuit
um<01:48:07.800><c> and</c><01:48:08.159><c> yeah</c><01:48:08.280><c> the</c><01:48:08.699><c> verification</c><01:48:09.119><c> costs</c><01:48:09.600><c> more</c>

01:48:09.649 --> 01:48:09.659 align:start position:0%
um and yeah the verification costs more
 

01:48:09.659 --> 01:48:13.010 align:start position:0%
um and yeah the verification costs more
or<01:48:09.840><c> less</c><01:48:09.900><c> like</c><01:48:10.520><c> 210k</c><01:48:11.520><c> gas</c><01:48:11.760><c> the</c><01:48:12.360><c> proof</c><01:48:12.659><c> is</c><01:48:12.780><c> like</c>

01:48:13.010 --> 01:48:13.020 align:start position:0%
or less like 210k gas the proof is like
 

01:48:13.020 --> 01:48:15.950 align:start position:0%
or less like 210k gas the proof is like
way<01:48:13.320><c> less</c><01:48:13.560><c> than</c><01:48:13.800><c> 600</c><01:48:14.460><c> bytes</c><01:48:15.000><c> so</c><01:48:15.420><c> it's</c><01:48:15.540><c> good</c><01:48:15.780><c> so</c>

01:48:15.950 --> 01:48:15.960 align:start position:0%
way less than 600 bytes so it's good so
 

01:48:15.960 --> 01:48:17.510 align:start position:0%
way less than 600 bytes so it's good so
essentially<01:48:16.320><c> get</c><01:48:16.560><c> rid</c><01:48:16.739><c> of</c><01:48:16.860><c> the</c><01:48:17.040><c> cold</c><01:48:17.159><c> data</c>

01:48:17.510 --> 01:48:17.520 align:start position:0%
essentially get rid of the cold data
 

01:48:17.520 --> 01:48:19.910 align:start position:0%
essentially get rid of the cold data
because<01:48:17.639><c> the</c><01:48:17.880><c> proof</c><01:48:18.060><c> itself</c><01:48:18.360><c> can</c><01:48:18.659><c> be</c><01:48:18.780><c> the</c>

01:48:19.910 --> 01:48:19.920 align:start position:0%
because the proof itself can be the
 

01:48:19.920 --> 01:48:22.729 align:start position:0%
because the proof itself can be the
private<01:48:20.639><c> input</c><01:48:20.880><c> to</c><01:48:21.060><c> the</c><01:48:21.239><c> Circuit</c>

01:48:22.729 --> 01:48:22.739 align:start position:0%
private input to the Circuit
 

01:48:22.739 --> 01:48:25.310 align:start position:0%
private input to the Circuit
um yeah<01:48:23.219><c> we</c><01:48:23.639><c> can</c><01:48:23.760><c> like</c><01:48:23.940><c> use</c><01:48:24.239><c> multiple</c><01:48:24.900><c> proving</c>

01:48:25.310 --> 01:48:25.320 align:start position:0%
um yeah we can like use multiple proving
 

01:48:25.320 --> 01:48:27.229 align:start position:0%
um yeah we can like use multiple proving
system<01:48:25.500><c> depending</c><01:48:26.040><c> on</c><01:48:26.280><c> the</c><01:48:26.460><c> on</c><01:48:26.880><c> the</c><01:48:27.060><c> actual</c>

01:48:27.229 --> 01:48:27.239 align:start position:0%
system depending on the on the actual
 

01:48:27.239 --> 01:48:30.169 align:start position:0%
system depending on the on the actual
use<01:48:27.480><c> case</c><01:48:27.780><c> and</c><01:48:28.440><c> now</c><01:48:28.619><c> why</c><01:48:28.980><c> is</c><01:48:29.280><c> it</c><01:48:29.460><c> like</c><01:48:29.880><c> very</c>

01:48:30.169 --> 01:48:30.179 align:start position:0%
use case and now why is it like very
 

01:48:30.179 --> 01:48:31.970 align:start position:0%
use case and now why is it like very
very<01:48:30.360><c> cool</c><01:48:30.600><c> so</c><01:48:30.900><c> first</c><01:48:31.020><c> of</c><01:48:31.199><c> all</c><01:48:31.260><c> it</c><01:48:31.619><c> removes</c>

01:48:31.970 --> 01:48:31.980 align:start position:0%
very cool so first of all it removes
 

01:48:31.980 --> 01:48:33.410 align:start position:0%
very cool so first of all it removes
call<01:48:32.159><c> data</c>

01:48:33.410 --> 01:48:33.420 align:start position:0%
call data
 

01:48:33.420 --> 01:48:36.109 align:start position:0%
call data
second<01:48:33.840><c> model</c><01:48:34.139><c> it</c><01:48:34.920><c> allows</c><01:48:35.219><c> us</c><01:48:35.340><c> to</c><01:48:35.580><c> deal</c><01:48:35.820><c> with</c>

01:48:36.109 --> 01:48:36.119 align:start position:0%
second model it allows us to deal with
 

01:48:36.119 --> 01:48:38.930 align:start position:0%
second model it allows us to deal with
very<01:48:36.480><c> UNH</c><01:48:36.960><c> unfriendly</c><01:48:37.560><c> hashing</c><01:48:37.980><c> functions</c><01:48:38.460><c> or</c>

01:48:38.930 --> 01:48:38.940 align:start position:0%
very UNH unfriendly hashing functions or
 

01:48:38.940 --> 01:48:41.750 align:start position:0%
very UNH unfriendly hashing functions or
the<01:48:39.119><c> evm</c><01:48:39.540><c> is</c><01:48:40.260><c> the</c><01:48:40.619><c> ones</c><01:48:40.860><c> that</c><01:48:41.100><c> we</c><01:48:41.460><c> don't</c><01:48:41.580><c> have</c>

01:48:41.750 --> 01:48:41.760 align:start position:0%
the evm is the ones that we don't have
 

01:48:41.760 --> 01:48:45.830 align:start position:0%
the evm is the ones that we don't have
pre-compiled<01:48:42.420><c> for</c><01:48:42.540><c> like</c><01:48:43.199><c> let's</c><01:48:43.500><c> say</c><01:48:43.679><c> Peterson</c>

01:48:45.830 --> 01:48:45.840 align:start position:0%
pre-compiled for like let's say Peterson
 

01:48:45.840 --> 01:48:48.169 align:start position:0%
pre-compiled for like let's say Peterson
um<01:48:46.040><c> so</c><01:48:47.040><c> it</c><01:48:47.159><c> might</c><01:48:47.280><c> be</c><01:48:47.400><c> like</c><01:48:47.580><c> super</c><01:48:47.760><c> expensive</c>

01:48:48.169 --> 01:48:48.179 align:start position:0%
um so it might be like super expensive
 

01:48:48.179 --> 01:48:49.790 align:start position:0%
um so it might be like super expensive
to<01:48:48.420><c> verify</c><01:48:48.659><c> such</c><01:48:48.900><c> a</c><01:48:49.080><c> proof</c><01:48:49.260><c> on</c><01:48:49.380><c> the</c><01:48:49.440><c> evm</c>

01:48:49.790 --> 01:48:49.800 align:start position:0%
to verify such a proof on the evm
 

01:48:49.800 --> 01:48:50.930 align:start position:0%
to verify such a proof on the evm
because<01:48:49.980><c> first</c><01:48:50.159><c> of</c><01:48:50.340><c> all</c><01:48:50.400><c> that's</c><01:48:50.580><c> a</c><01:48:50.760><c> lot</c><01:48:50.820><c> of</c>

01:48:50.930 --> 01:48:50.940 align:start position:0%
because first of all that's a lot of
 

01:48:50.940 --> 01:48:52.850 align:start position:0%
because first of all that's a lot of
cool<01:48:51.060><c> data</c><01:48:51.480><c> and</c><01:48:51.900><c> the</c><01:48:52.020><c> hashing</c><01:48:52.380><c> function</c><01:48:52.679><c> is</c>

01:48:52.850 --> 01:48:52.860 align:start position:0%
cool data and the hashing function is
 

01:48:52.860 --> 01:48:55.070 align:start position:0%
cool data and the hashing function is
pretty<01:48:53.040><c> like</c><01:48:53.219><c> unfriendly</c><01:48:53.820><c> but</c><01:48:54.420><c> what</c><01:48:54.719><c> if</c><01:48:54.900><c> we</c>

01:48:55.070 --> 01:48:55.080 align:start position:0%
pretty like unfriendly but what if we
 

01:48:55.080 --> 01:48:56.810 align:start position:0%
pretty like unfriendly but what if we
can<01:48:55.260><c> like</c><01:48:55.440><c> do</c><01:48:55.800><c> it</c><01:48:55.920><c> inside</c><01:48:56.040><c> the</c><01:48:56.280><c> snark</c><01:48:56.520><c> and</c><01:48:56.699><c> just</c>

01:48:56.810 --> 01:48:56.820 align:start position:0%
can like do it inside the snark and just
 

01:48:56.820 --> 01:49:00.050 align:start position:0%
can like do it inside the snark and just
verify<01:48:57.119><c> snark</c><01:48:57.619><c> and</c><01:48:58.619><c> yeah</c><01:48:58.980><c> so</c><01:48:59.639><c> another</c>

01:49:00.050 --> 01:49:00.060 align:start position:0%
verify snark and yeah so another
 

01:49:00.060 --> 01:49:02.990 align:start position:0%
verify snark and yeah so another
benefits<01:49:00.900><c> this</c><01:49:01.619><c> really</c><01:49:02.040><c> really</c><01:49:02.340><c> helps</c><01:49:02.820><c> in</c>

01:49:02.990 --> 01:49:03.000 align:start position:0%
benefits this really really helps in
 

01:49:03.000 --> 01:49:05.209 align:start position:0%
benefits this really really helps in
obstructing<01:49:03.600><c> the</c><01:49:03.840><c> way</c><01:49:04.020><c> how</c><01:49:04.500><c> we</c><01:49:04.739><c> verify</c><01:49:05.100><c> this</c>

01:49:05.209 --> 01:49:05.219 align:start position:0%
obstructing the way how we verify this
 

01:49:05.219 --> 01:49:06.709 align:start position:0%
obstructing the way how we verify this
proofs<01:49:05.639><c> because</c><01:49:05.940><c> you</c><01:49:06.179><c> don't</c><01:49:06.300><c> need</c><01:49:06.480><c> to</c><01:49:06.600><c> have</c>

01:49:06.709 --> 01:49:06.719 align:start position:0%
proofs because you don't need to have
 

01:49:06.719 --> 01:49:09.590 align:start position:0%
proofs because you don't need to have
like<01:49:06.960><c> one</c><01:49:07.260><c> generalized</c><01:49:07.860><c> verifier</c><01:49:08.340><c> for</c><01:49:09.179><c> each</c>

01:49:09.590 --> 01:49:09.600 align:start position:0%
like one generalized verifier for each
 

01:49:09.600 --> 01:49:12.070 align:start position:0%
like one generalized verifier for each
type<01:49:09.960><c> of</c><01:49:10.440><c> of</c><01:49:10.679><c> proof</c>

01:49:12.070 --> 01:49:12.080 align:start position:0%
type of of proof
 

01:49:12.080 --> 01:49:14.390 align:start position:0%
type of of proof
but<01:49:13.080><c> you</c><01:49:13.320><c> can</c><01:49:13.440><c> essentially</c><01:49:13.800><c> obstruct</c><01:49:14.159><c> it</c>

01:49:14.390 --> 01:49:14.400 align:start position:0%
but you can essentially obstruct it
 

01:49:14.400 --> 01:49:17.090 align:start position:0%
but you can essentially obstruct it
behind<01:49:14.760><c> behind</c><01:49:15.420><c> the</c><01:49:15.540><c> behind</c><01:49:15.960><c> the</c><01:49:16.020><c> snark</c><01:49:16.320><c> which</c>

01:49:17.090 --> 01:49:17.100 align:start position:0%
behind behind the behind the snark which
 

01:49:17.100 --> 01:49:19.729 align:start position:0%
behind behind the behind the snark which
is<01:49:17.219><c> which</c><01:49:17.520><c> is</c><01:49:17.760><c> great</c><01:49:17.940><c> uh</c><01:49:18.900><c> these</c><01:49:19.199><c> numbers</c><01:49:19.320><c> were</c>

01:49:19.729 --> 01:49:19.739 align:start position:0%
is which is great uh these numbers were
 

01:49:19.739 --> 01:49:23.689 align:start position:0%
is which is great uh these numbers were
taken<01:49:20.219><c> from</c><01:49:20.460><c> a</c><01:49:20.820><c> very</c><01:49:21.000><c> nice</c><01:49:21.800><c> article</c><01:49:22.800><c> written</c>

01:49:23.689 --> 01:49:23.699 align:start position:0%
taken from a very nice article written
 

01:49:23.699 --> 01:49:26.870 align:start position:0%
taken from a very nice article written
by<01:49:24.000><c> a16z</c><01:49:24.840><c> like</c><01:49:25.199><c> a</c><01:49:25.320><c> bunch</c><01:49:25.560><c> of</c><01:49:25.739><c> uh</c><01:49:26.219><c> a</c><01:49:26.460><c> few</c><01:49:26.520><c> a</c><01:49:26.699><c> few</c>

01:49:26.870 --> 01:49:26.880 align:start position:0%
by a16z like a bunch of uh a few a few
 

01:49:26.880 --> 01:49:28.430 align:start position:0%
by a16z like a bunch of uh a few a few
months<01:49:27.060><c> ago</c>

01:49:28.430 --> 01:49:28.440 align:start position:0%
months ago
 

01:49:28.440 --> 01:49:30.709 align:start position:0%
months ago
um<01:49:28.560><c> yeah</c><01:49:29.219><c> and</c><01:49:29.400><c> I</c><01:49:29.520><c> think</c><01:49:29.699><c> that's</c><01:49:29.940><c> pretty</c><01:49:30.480><c> much</c>

01:49:30.709 --> 01:49:30.719 align:start position:0%
um yeah and I think that's pretty much
 

01:49:30.719 --> 01:49:34.310 align:start position:0%
um yeah and I think that's pretty much
it<01:49:31.020><c> let's</c><01:49:31.320><c> get</c><01:49:31.619><c> to</c><01:49:31.739><c> the</c><01:49:31.920><c> next</c><01:49:32.159><c> slide</c><01:49:32.520><c> so</c>

01:49:34.310 --> 01:49:34.320 align:start position:0%
it let's get to the next slide so
 

01:49:34.320 --> 01:49:37.010 align:start position:0%
it let's get to the next slide so
synchronous<01:49:35.100><c> cross</c><01:49:35.280><c> layer</c><01:49:35.639><c> State</c><01:49:35.820><c> access</c><01:49:36.179><c> so</c>

01:49:37.010 --> 01:49:37.020 align:start position:0%
synchronous cross layer State access so
 

01:49:37.020 --> 01:49:38.930 align:start position:0%
synchronous cross layer State access so
how<01:49:37.199><c> can</c><01:49:37.380><c> actually</c><01:49:37.560><c> a</c><01:49:37.920><c> control</c><01:49:38.040><c> deployed</c><01:49:38.639><c> on</c>

01:49:38.930 --> 01:49:38.940 align:start position:0%
how can actually a control deployed on
 

01:49:38.940 --> 01:49:41.270 align:start position:0%
how can actually a control deployed on
some<01:49:39.420><c> layer</c><01:49:39.780><c> access</c><01:49:40.139><c> the</c><01:49:40.500><c> state</c><01:49:40.679><c> of</c><01:49:40.920><c> another</c>

01:49:41.270 --> 01:49:41.280 align:start position:0%
some layer access the state of another
 

01:49:41.280 --> 01:49:43.669 align:start position:0%
some layer access the state of another
L2<01:49:42.000><c> or</c><01:49:42.179><c> L1</c>

01:49:43.669 --> 01:49:43.679 align:start position:0%
L2 or L1
 

01:49:43.679 --> 01:49:46.669 align:start position:0%
L2 or L1
so<01:49:44.400><c> I</c><01:49:44.699><c> mentioned</c><01:49:45.060><c> that</c><01:49:45.360><c> we</c><01:49:45.900><c> always</c><01:49:46.080><c> need</c><01:49:46.500><c> the</c>

01:49:46.669 --> 01:49:46.679 align:start position:0%
so I mentioned that we always need the
 

01:49:46.679 --> 01:49:48.649 align:start position:0%
so I mentioned that we always need the
state<01:49:46.860><c> route</c><01:49:47.100><c> but</c><01:49:47.580><c> because</c><01:49:47.880><c> all</c><01:49:48.239><c> of</c><01:49:48.420><c> these</c>

01:49:48.649 --> 01:49:48.659 align:start position:0%
state route but because all of these
 

01:49:48.659 --> 01:49:50.990 align:start position:0%
state route but because all of these
systems<01:49:49.139><c> have</c><01:49:49.619><c> a</c><01:49:49.920><c> native</c><01:49:50.280><c> messaging</c><01:49:50.820><c> system</c>

01:49:50.990 --> 01:49:51.000 align:start position:0%
systems have a native messaging system
 

01:49:51.000 --> 01:49:53.090 align:start position:0%
systems have a native messaging system
we<01:49:51.719><c> can</c><01:49:51.840><c> send</c><01:49:52.020><c> the</c><01:49:52.199><c> small</c><01:49:52.380><c> commitments</c><01:49:52.980><c> like</c>

01:49:53.090 --> 01:49:53.100 align:start position:0%
we can send the small commitments like
 

01:49:53.100 --> 01:49:55.669 align:start position:0%
we can send the small commitments like
for<01:49:53.280><c> example</c><01:49:53.520><c> the</c><01:49:53.760><c> blockage</c><01:49:54.119><c> to</c><01:49:54.960><c> like</c><01:49:55.199><c> L1</c>

01:49:55.669 --> 01:49:55.679 align:start position:0%
for example the blockage to like L1
 

01:49:55.679 --> 01:49:58.910 align:start position:0%
for example the blockage to like L1
usually<01:49:56.639><c> it</c><01:49:57.000><c> goes</c><01:49:57.300><c> off-road</c><01:49:57.780><c> one</c><01:49:58.020><c> and</c><01:49:58.679><c> and</c>

01:49:58.910 --> 01:49:58.920 align:start position:0%
usually it goes off-road one and and
 

01:49:58.920 --> 01:50:00.709 align:start position:0%
usually it goes off-road one and and
yeah<01:49:59.100><c> we</c><01:49:59.340><c> can</c><01:49:59.460><c> like</c><01:49:59.580><c> enroll</c><01:50:00.000><c> it</c><01:50:00.179><c> or</c><01:50:00.360><c> send</c><01:50:00.540><c> the</c>

01:50:00.709 --> 01:50:00.719 align:start position:0%
yeah we can like enroll it or send the
 

01:50:00.719 --> 01:50:02.390 align:start position:0%
yeah we can like enroll it or send the
state<01:50:00.840><c> through</c><01:50:01.080><c> directly</c><01:50:01.440><c> and</c><01:50:01.920><c> also</c><01:50:02.100><c> we</c><01:50:02.280><c> don't</c>

01:50:02.390 --> 01:50:02.400 align:start position:0%
state through directly and also we don't
 

01:50:02.400 --> 01:50:04.310 align:start position:0%
state through directly and also we don't
need<01:50:02.580><c> to</c><01:50:02.760><c> rely</c><01:50:03.060><c> on</c><01:50:03.179><c> messaging</c><01:50:03.540><c> but</c><01:50:03.780><c> we</c><01:50:03.960><c> can</c><01:50:04.080><c> for</c>

01:50:04.310 --> 01:50:04.320 align:start position:0%
need to rely on messaging but we can for
 

01:50:04.320 --> 01:50:07.010 align:start position:0%
need to rely on messaging but we can for
example<01:50:04.619><c> uh</c><01:50:05.460><c> rely</c><01:50:05.760><c> on</c><01:50:05.880><c> the</c><01:50:06.000><c> fact</c><01:50:06.179><c> that</c><01:50:06.420><c> polygon</c>

01:50:07.010 --> 01:50:07.020 align:start position:0%
example uh rely on the fact that polygon
 

01:50:07.020 --> 01:50:09.050 align:start position:0%
example uh rely on the fact that polygon
is<01:50:07.199><c> like</c><01:50:07.380><c> a</c><01:50:07.560><c> commit</c><01:50:07.860><c> chain</c><01:50:08.040><c> and</c><01:50:08.340><c> all</c><01:50:08.820><c> these</c>

01:50:09.050 --> 01:50:09.060 align:start position:0%
is like a commit chain and all these
 

01:50:09.060 --> 01:50:11.090 align:start position:0%
is like a commit chain and all these
Roll-Ups<01:50:09.600><c> like</c><01:50:09.719><c> commit</c><01:50:10.080><c> from</c><01:50:10.560><c> time</c><01:50:10.739><c> to</c><01:50:10.920><c> time</c>

01:50:11.090 --> 01:50:11.100 align:start position:0%
Roll-Ups like commit from time to time
 

01:50:11.100 --> 01:50:14.570 align:start position:0%
Roll-Ups like commit from time to time
they're<01:50:11.460><c> like</c><01:50:11.840><c> batches</c><01:50:12.840><c> and</c><01:50:13.500><c> and</c><01:50:13.679><c> so</c><01:50:13.920><c> on</c><01:50:14.040><c> so</c>

01:50:14.570 --> 01:50:14.580 align:start position:0%
they're like batches and and so on so
 

01:50:14.580 --> 01:50:16.070 align:start position:0%
they're like batches and and so on so
this<01:50:14.760><c> is</c><01:50:14.880><c> like</c><01:50:15.000><c> pretty</c><01:50:15.239><c> important</c><01:50:15.659><c> and</c><01:50:15.840><c> we</c>

01:50:16.070 --> 01:50:16.080 align:start position:0%
this is like pretty important and we
 

01:50:16.080 --> 01:50:18.350 align:start position:0%
this is like pretty important and we
sort<01:50:16.560><c> of</c><01:50:16.679><c> can</c><01:50:16.920><c> get</c><01:50:17.159><c> the</c><01:50:17.400><c> commitment</c><01:50:17.820><c> from</c>

01:50:18.350 --> 01:50:18.360 align:start position:0%
sort of can get the commitment from
 

01:50:18.360 --> 01:50:20.930 align:start position:0%
sort of can get the commitment from
which<01:50:18.600><c> we'll</c><01:50:18.840><c> recreate</c><01:50:19.440><c> the</c><01:50:19.560><c> state</c><01:50:19.940><c> directly</c>

01:50:20.930 --> 01:50:20.940 align:start position:0%
which we'll recreate the state directly
 

01:50:20.940 --> 01:50:22.609 align:start position:0%
which we'll recreate the state directly
on<01:50:21.179><c> on</c><01:50:21.360><c> another</c><01:50:21.600><c> one</c><01:50:21.900><c> and</c><01:50:22.020><c> then</c><01:50:22.139><c> send</c><01:50:22.320><c> it</c><01:50:22.500><c> to</c>

01:50:22.609 --> 01:50:22.619 align:start position:0%
on on another one and then send it to
 

01:50:22.619 --> 01:50:24.649 align:start position:0%
on on another one and then send it to
another

01:50:24.649 --> 01:50:24.659 align:start position:0%
another
 

01:50:24.659 --> 01:50:27.229 align:start position:0%
another
um so<01:50:25.340><c> if</c>

01:50:27.229 --> 01:50:27.239 align:start position:0%
um so if
 

01:50:27.239 --> 01:50:29.810 align:start position:0%
um so if
let's<01:50:27.840><c> say</c><01:50:28.020><c> polygon</c><01:50:28.500><c> commits</c><01:50:28.980><c> another</c><01:50:29.219><c> one</c><01:50:29.580><c> I</c>

01:50:29.810 --> 01:50:29.820 align:start position:0%
let's say polygon commits another one I
 

01:50:29.820 --> 01:50:31.310 align:start position:0%
let's say polygon commits another one I
can<01:50:30.000><c> send</c><01:50:30.119><c> this</c><01:50:30.360><c> commitment</c><01:50:30.780><c> then</c><01:50:31.020><c> to</c><01:50:31.199><c> start</c>

01:50:31.310 --> 01:50:31.320 align:start position:0%
can send this commitment then to start
 

01:50:31.320 --> 01:50:32.629 align:start position:0%
can send this commitment then to start
and<01:50:31.619><c> I'm</c><01:50:31.800><c> starting</c><01:50:31.920><c> to</c><01:50:32.159><c> do</c><01:50:32.280><c> their</c><01:50:32.460><c> actual</c>

01:50:32.629 --> 01:50:32.639 align:start position:0%
and I'm starting to do their actual
 

01:50:32.639 --> 01:50:34.370 align:start position:0%
and I'm starting to do their actual
verification

01:50:34.370 --> 01:50:34.380 align:start position:0%
verification
 

01:50:34.380 --> 01:50:37.910 align:start position:0%
verification
cool<01:50:34.860><c> so</c><01:50:35.580><c> now</c><01:50:35.900><c> how</c><01:50:36.900><c> do</c><01:50:37.020><c> we</c><01:50:37.199><c> actually</c><01:50:37.440><c> do</c><01:50:37.739><c> that</c>

01:50:37.910 --> 01:50:37.920 align:start position:0%
cool so now how do we actually do that
 

01:50:37.920 --> 01:50:40.010 align:start position:0%
cool so now how do we actually do that
so<01:50:38.219><c> let's</c><01:50:38.400><c> break</c><01:50:38.699><c> the</c><01:50:38.880><c> entire</c><01:50:39.119><c> flow</c><01:50:39.540><c> into</c><01:50:39.719><c> like</c>

01:50:40.010 --> 01:50:40.020 align:start position:0%
so let's break the entire flow into like
 

01:50:40.020 --> 01:50:41.330 align:start position:0%
so let's break the entire flow into like
smallest<01:50:40.500><c> pieces</c>

01:50:41.330 --> 01:50:41.340 align:start position:0%
smallest pieces
 

01:50:41.340 --> 01:50:43.189 align:start position:0%
smallest pieces
so<01:50:41.699><c> the</c><01:50:41.820><c> flow</c><01:50:42.000><c> is</c><01:50:42.239><c> the</c><01:50:42.360><c> following</c><01:50:42.659><c> we</c><01:50:42.900><c> need</c><01:50:43.080><c> to</c>

01:50:43.189 --> 01:50:43.199 align:start position:0%
so the flow is the following we need to
 

01:50:43.199 --> 01:50:45.229 align:start position:0%
so the flow is the following we need to
have<01:50:43.380><c> access</c><01:50:43.619><c> to</c><01:50:43.920><c> the</c><01:50:44.040><c> commitment</c><01:50:44.520><c> which</c><01:50:45.060><c> is</c>

01:50:45.229 --> 01:50:45.239 align:start position:0%
have access to the commitment which is
 

01:50:45.239 --> 01:50:47.390 align:start position:0%
have access to the commitment which is
either<01:50:45.480><c> a</c><01:50:45.780><c> block</c><01:50:45.900><c> hush</c><01:50:46.260><c> or</c><01:50:46.380><c> a</c><01:50:46.500><c> state</c><01:50:46.619><c> route</c>

01:50:47.390 --> 01:50:47.400 align:start position:0%
either a block hush or a state route
 

01:50:47.400 --> 01:50:50.149 align:start position:0%
either a block hush or a state route
and<01:50:47.940><c> again</c><01:50:48.239><c> we</c><01:50:48.480><c> can</c><01:50:48.600><c> get</c><01:50:48.780><c> it</c><01:50:48.900><c> or</c><01:50:49.260><c> I</c><01:50:49.500><c> either</c><01:50:49.860><c> by</c>

01:50:50.149 --> 01:50:50.159 align:start position:0%
and again we can get it or I either by
 

01:50:50.159 --> 01:50:52.310 align:start position:0%
and again we can get it or I either by
sending<01:50:50.520><c> a</c><01:50:50.639><c> message</c><01:50:50.900><c> relying</c><01:50:51.900><c> on</c><01:50:52.020><c> the</c><01:50:52.139><c> fact</c>

01:50:52.310 --> 01:50:52.320 align:start position:0%
sending a message relying on the fact
 

01:50:52.320 --> 01:50:53.090 align:start position:0%
sending a message relying on the fact
that

01:50:53.090 --> 01:50:53.100 align:start position:0%
that
 

01:50:53.100 --> 01:50:55.609 align:start position:0%
that
is<01:50:53.760><c> this</c><01:50:54.000><c> chain</c><01:50:54.119><c> commit</c><01:50:54.540><c> so</c><01:50:54.780><c> in</c><01:50:55.080><c> a</c><01:50:55.199><c> sense</c><01:50:55.320><c> it's</c>

01:50:55.609 --> 01:50:55.619 align:start position:0%
is this chain commit so in a sense it's
 

01:50:55.619 --> 01:50:57.709 align:start position:0%
is this chain commit so in a sense it's
still<01:50:55.800><c> a</c><01:50:56.040><c> message</c><01:50:56.219><c> we</c><01:50:56.940><c> can</c><01:50:57.119><c> relate</c><01:50:57.480><c> in</c><01:50:57.659><c> an</c>

01:50:57.709 --> 01:50:57.719 align:start position:0%
still a message we can relate in an
 

01:50:57.719 --> 01:51:00.350 align:start position:0%
still a message we can relate in an
optimistic<01:50:58.199><c> manner</c><01:50:58.560><c> or</c><01:50:59.159><c> we</c><01:50:59.520><c> can</c><01:50:59.639><c> go</c><01:50:59.880><c> even</c><01:51:00.119><c> more</c>

01:51:00.350 --> 01:51:00.360 align:start position:0%
optimistic manner or we can go even more
 

01:51:00.360 --> 01:51:03.470 align:start position:0%
optimistic manner or we can go even more
crazy<01:51:00.600><c> and</c><01:51:00.900><c> verify</c><01:51:01.260><c> the</c><01:51:01.380><c> entire</c><01:51:01.619><c> consensus</c>

01:51:03.470 --> 01:51:03.480 align:start position:0%
crazy and verify the entire consensus
 

01:51:03.480 --> 01:51:05.750 align:start position:0%
crazy and verify the entire consensus
okay<01:51:04.020><c> so</c><01:51:04.440><c> this</c><01:51:04.560><c> is</c><01:51:04.679><c> Step</c><01:51:04.920><c> number</c><01:51:05.100><c> one</c><01:51:05.340><c> we</c><01:51:05.639><c> need</c>

01:51:05.750 --> 01:51:05.760 align:start position:0%
okay so this is Step number one we need
 

01:51:05.760 --> 01:51:08.390 align:start position:0%
okay so this is Step number one we need
to<01:51:05.880><c> get</c><01:51:06.000><c> the</c><01:51:06.179><c> commitment</c><01:51:06.540><c> step</c><01:51:07.020><c> number</c><01:51:07.260><c> two</c><01:51:07.560><c> we</c>

01:51:08.390 --> 01:51:08.400 align:start position:0%
to get the commitment step number two we
 

01:51:08.400 --> 01:51:10.370 align:start position:0%
to get the commitment step number two we
need<01:51:08.580><c> to</c><01:51:08.880><c> somehow</c><01:51:09.300><c> access</c><01:51:09.600><c> the</c><01:51:09.960><c> state</c><01:51:10.139><c> route</c>

01:51:10.370 --> 01:51:10.380 align:start position:0%
need to somehow access the state route
 

01:51:10.380 --> 01:51:12.410 align:start position:0%
need to somehow access the state route
so<01:51:10.619><c> the</c><01:51:10.739><c> commitments</c><01:51:11.219><c> of</c><01:51:11.340><c> the</c><01:51:11.520><c> state</c><01:51:11.699><c> from</c>

01:51:12.410 --> 01:51:12.420 align:start position:0%
so the commitments of the state from
 

01:51:12.420 --> 01:51:14.149 align:start position:0%
so the commitments of the state from
like<01:51:12.659><c> a</c><01:51:12.780><c> previous</c><01:51:12.960><c> block</c><01:51:13.260><c> or</c><01:51:13.500><c> the</c><01:51:13.679><c> actual</c><01:51:13.920><c> blog</c>

01:51:14.149 --> 01:51:14.159 align:start position:0%
like a previous block or the actual blog
 

01:51:14.159 --> 01:51:15.229 align:start position:0%
like a previous block or the actual blog
because<01:51:14.340><c> keep</c><01:51:14.639><c> in</c><01:51:14.760><c> mind</c><01:51:14.880><c> that</c><01:51:15.060><c> these</c>

01:51:15.229 --> 01:51:15.239 align:start position:0%
because keep in mind that these
 

01:51:15.239 --> 01:51:17.270 align:start position:0%
because keep in mind that these
commitments<01:51:15.719><c> are</c><01:51:15.840><c> only</c><01:51:16.080><c> block</c><01:51:16.380><c> hashes</c><01:51:16.920><c> and</c>

01:51:17.270 --> 01:51:17.280 align:start position:0%
commitments are only block hashes and
 

01:51:17.280 --> 01:51:18.709 align:start position:0%
commitments are only block hashes and
with<01:51:17.460><c> block</c><01:51:17.639><c> hashes</c><01:51:18.000><c> we</c><01:51:18.179><c> can</c><01:51:18.300><c> recreate</c>

01:51:18.709 --> 01:51:18.719 align:start position:0%
with block hashes we can recreate
 

01:51:18.719 --> 01:51:22.129 align:start position:0%
with block hashes we can recreate
headers<01:51:19.080><c> but</c><01:51:19.320><c> we</c><01:51:19.500><c> cannot</c><01:51:19.980><c> access</c><01:51:20.159><c> the</c><01:51:20.460><c> state</c>

01:51:22.129 --> 01:51:22.139 align:start position:0%
headers but we cannot access the state
 

01:51:22.139 --> 01:51:24.830 align:start position:0%
headers but we cannot access the state
okay<01:51:22.560><c> so</c><01:51:23.100><c> once</c><01:51:23.639><c> we</c><01:51:23.699><c> have</c><01:51:23.820><c> the</c><01:51:24.000><c> state</c><01:51:24.119><c> route</c><01:51:24.420><c> we</c>

01:51:24.830 --> 01:51:24.840 align:start position:0%
okay so once we have the state route we
 

01:51:24.840 --> 01:51:27.350 align:start position:0%
okay so once we have the state route we
obviously<01:51:25.139><c> need</c><01:51:25.320><c> to</c><01:51:25.500><c> verify</c><01:51:25.980><c> this</c><01:51:26.520><c> state</c>

01:51:27.350 --> 01:51:27.360 align:start position:0%
obviously need to verify this state
 

01:51:27.360 --> 01:51:30.649 align:start position:0%
obviously need to verify this state
storage<01:51:28.199><c> groups</c><01:51:29.159><c> okay</c><01:51:29.760><c> and</c><01:51:30.239><c> there</c><01:51:30.480><c> are</c>

01:51:30.649 --> 01:51:30.659 align:start position:0%
storage groups okay and there are
 

01:51:30.659 --> 01:51:33.050 align:start position:0%
storage groups okay and there are
multiple<01:51:31.080><c> pictures</c><01:51:31.440><c> to</c><01:51:31.860><c> do</c><01:51:31.980><c> that</c><01:51:32.159><c> all</c><01:51:32.760><c> of</c><01:51:32.940><c> them</c>

01:51:33.050 --> 01:51:33.060 align:start position:0%
multiple pictures to do that all of them
 

01:51:33.060 --> 01:51:35.330 align:start position:0%
multiple pictures to do that all of them
come<01:51:33.300><c> with</c><01:51:33.480><c> some</c><01:51:33.659><c> trade-offs</c><01:51:34.199><c> and</c><01:51:34.679><c> let's</c><01:51:34.980><c> go</c>

01:51:35.330 --> 01:51:35.340 align:start position:0%
come with some trade-offs and let's go
 

01:51:35.340 --> 01:51:38.570 align:start position:0%
come with some trade-offs and let's go
through<01:51:35.639><c> all</c><01:51:36.060><c> these</c><01:51:36.239><c> approaches</c>

01:51:38.570 --> 01:51:38.580 align:start position:0%
through all these approaches
 

01:51:38.580 --> 01:51:42.169 align:start position:0%
through all these approaches
so<01:51:39.360><c> approach</c><01:51:40.020><c> number</c><01:51:40.320><c> one</c><01:51:40.679><c> messaging</c>

01:51:42.169 --> 01:51:42.179 align:start position:0%
so approach number one messaging
 

01:51:42.179 --> 01:51:47.990 align:start position:0%
so approach number one messaging
so<01:51:43.139><c> I</c><01:51:43.920><c> can</c><01:51:44.040><c> send</c><01:51:44.280><c> the</c><01:51:44.580><c> message</c><01:51:44.820><c> from</c><01:51:45.540><c> let's</c><01:51:45.960><c> say</c>

01:51:47.990 --> 01:51:48.000 align:start position:0%
so I can send the message from let's say
 

01:51:48.000 --> 01:51:50.629 align:start position:0%
so I can send the message from let's say
optimism<01:51:48.920><c> to</c>

01:51:50.629 --> 01:51:50.639 align:start position:0%
optimism to
 

01:51:50.639 --> 01:51:53.390 align:start position:0%
optimism to
Eternal<01:51:50.940><c> one</c><01:51:51.239><c> I</c><01:51:51.900><c> can</c><01:51:52.020><c> get</c><01:51:52.199><c> the</c><01:51:52.380><c> optical</c><01:51:52.800><c> I</c><01:51:53.100><c> can</c>

01:51:53.390 --> 01:51:53.400 align:start position:0%
Eternal one I can get the optical I can
 

01:51:53.400 --> 01:51:54.770 align:start position:0%
Eternal one I can get the optical I can
get<01:51:53.520><c> the</c><01:51:53.639><c> blockers</c><01:51:54.000><c> by</c><01:51:54.119><c> just</c><01:51:54.360><c> calling</c><01:51:54.600><c> the</c>

01:51:54.770 --> 01:51:54.780 align:start position:0%
get the blockers by just calling the
 

01:51:54.780 --> 01:51:58.310 align:start position:0%
get the blockers by just calling the
proper<01:51:55.020><c> op</c><01:51:55.199><c> code</c><01:51:55.580><c> and</c><01:51:56.580><c> and</c><01:51:57.000><c> I</c><01:51:57.239><c> get</c><01:51:57.600><c> it</c><01:51:57.780><c> take</c>

01:51:58.310 --> 01:51:58.320 align:start position:0%
proper op code and and I get it take
 

01:51:58.320 --> 01:52:00.649 align:start position:0%
proper op code and and I get it take
some<01:51:58.500><c> time</c><01:51:58.679><c> but</c><01:51:59.100><c> still</c><01:51:59.340><c> I</c><01:51:59.639><c> get</c><01:51:59.760><c> it</c><01:51:59.940><c> this</c><01:52:00.480><c> is</c>

01:52:00.649 --> 01:52:00.659 align:start position:0%
some time but still I get it this is
 

01:52:00.659 --> 01:52:02.990 align:start position:0%
some time but still I get it this is
approach<01:52:00.960><c> number</c><01:52:01.139><c> one</c><01:52:01.380><c> so</c><01:52:02.040><c> we</c><01:52:02.400><c> rely</c><01:52:02.699><c> on</c><01:52:02.880><c> the</c>

01:52:02.990 --> 01:52:03.000 align:start position:0%
approach number one so we rely on the
 

01:52:03.000 --> 01:52:05.330 align:start position:0%
approach number one so we rely on the
built-in<01:52:03.300><c> messaging</c><01:52:03.719><c> system</c><01:52:03.900><c> which</c><01:52:04.860><c> is</c><01:52:05.040><c> I</c>

01:52:05.330 --> 01:52:05.340 align:start position:0%
built-in messaging system which is I
 

01:52:05.340 --> 01:52:07.430 align:start position:0%
built-in messaging system which is I
think<01:52:05.460><c> Fair</c><01:52:05.820><c> because</c><01:52:06.179><c> the</c><01:52:06.600><c> security</c><01:52:06.780><c> of</c><01:52:07.139><c> it</c><01:52:07.260><c> is</c>

01:52:07.430 --> 01:52:07.440 align:start position:0%
think Fair because the security of it is
 

01:52:07.440 --> 01:52:09.410 align:start position:0%
think Fair because the security of it is
equal<01:52:07.679><c> to</c><01:52:07.920><c> the</c><01:52:08.100><c> security</c><01:52:08.219><c> of</c><01:52:08.580><c> the</c><01:52:08.699><c> roll</c><01:52:08.820><c> up</c><01:52:09.000><c> and</c>

01:52:09.410 --> 01:52:09.420 align:start position:0%
equal to the security of the roll up and
 

01:52:09.420 --> 01:52:10.729 align:start position:0%
equal to the security of the roll up and
if<01:52:09.540><c> you're</c><01:52:09.659><c> deploying</c><01:52:10.080><c> an</c><01:52:10.139><c> application</c><01:52:10.500><c> of</c>

01:52:10.729 --> 01:52:10.739 align:start position:0%
if you're deploying an application of
 

01:52:10.739 --> 01:52:13.129 align:start position:0%
if you're deploying an application of
the<01:52:10.860><c> scroll</c><01:52:11.040><c> up</c><01:52:11.280><c> it's</c><01:52:11.760><c> a</c><01:52:11.940><c> fair</c><01:52:12.060><c> assumption</c><01:52:12.780><c> to</c>

01:52:13.129 --> 01:52:13.139 align:start position:0%
the scroll up it's a fair assumption to
 

01:52:13.139 --> 01:52:14.990 align:start position:0%
the scroll up it's a fair assumption to
do<01:52:13.260><c> so</c>

01:52:14.990 --> 01:52:15.000 align:start position:0%
do so
 

01:52:15.000 --> 01:52:18.109 align:start position:0%
do so
um<01:52:15.020><c> yeah</c><01:52:16.020><c> it</c><01:52:16.679><c> doesn't</c><01:52:16.920><c> oh</c><01:52:17.580><c> they</c><01:52:17.820><c> don't</c><01:52:17.940><c> know</c>

01:52:18.109 --> 01:52:18.119 align:start position:0%
um yeah it doesn't oh they don't know
 

01:52:18.119 --> 01:52:20.330 align:start position:0%
um yeah it doesn't oh they don't know
about<01:52:18.300><c> the</c><01:52:18.540><c> downsides</c><01:52:19.080><c> so</c><01:52:19.619><c> the</c><01:52:19.920><c> message</c><01:52:20.040><c> must</c>

01:52:20.330 --> 01:52:20.340 align:start position:0%
about the downsides so the message must
 

01:52:20.340 --> 01:52:21.950 align:start position:0%
about the downsides so the message must
be<01:52:20.520><c> delivered</c><01:52:20.820><c> so</c><01:52:21.000><c> it</c><01:52:21.179><c> introduces</c><01:52:21.719><c> a</c>

01:52:21.950 --> 01:52:21.960 align:start position:0%
be delivered so it introduces a
 

01:52:21.960 --> 01:52:24.290 align:start position:0%
be delivered so it introduces a
significant<01:52:22.380><c> delay</c><01:52:22.880><c> especially</c><01:52:23.880><c> when</c>

01:52:24.290 --> 01:52:24.300 align:start position:0%
significant delay especially when
 

01:52:24.300 --> 01:52:25.970 align:start position:0%
significant delay especially when
dealing<01:52:24.719><c> with</c><01:52:24.780><c> the</c><01:52:24.960><c> withdrawal</c><01:52:25.440><c> period</c><01:52:25.739><c> in</c>

01:52:25.970 --> 01:52:25.980 align:start position:0%
dealing with the withdrawal period in
 

01:52:25.980 --> 01:52:28.609 align:start position:0%
dealing with the withdrawal period in
the<01:52:26.100><c> in</c><01:52:26.280><c> in</c><01:52:26.460><c> the</c><01:52:26.699><c> middle</c><01:52:26.820><c> uh</c><01:52:27.780><c> and</c><01:52:28.020><c> it</c><01:52:28.199><c> requires</c>

01:52:28.609 --> 01:52:28.619 align:start position:0%
the in in the middle uh and it requires
 

01:52:28.619 --> 01:52:31.250 align:start position:0%
the in in the middle uh and it requires
we<01:52:28.980><c> it</c><01:52:29.699><c> requires</c><01:52:30.179><c> interacting</c><01:52:30.719><c> with</c><01:52:30.840><c> multiple</c>

01:52:31.250 --> 01:52:31.260 align:start position:0%
we it requires interacting with multiple
 

01:52:31.260 --> 01:52:32.689 align:start position:0%
we it requires interacting with multiple
layers<01:52:31.619><c> so</c><01:52:31.800><c> first</c><01:52:31.980><c> you</c><01:52:32.159><c> need</c><01:52:32.340><c> to</c><01:52:32.400><c> send</c><01:52:32.520><c> a</c>

01:52:32.689 --> 01:52:32.699 align:start position:0%
layers so first you need to send a
 

01:52:32.699 --> 01:52:33.770 align:start position:0%
layers so first you need to send a
message<01:52:32.820><c> and</c><01:52:33.060><c> then</c><01:52:33.179><c> actually</c><01:52:33.360><c> you</c><01:52:33.540><c> need</c><01:52:33.659><c> to</c>

01:52:33.770 --> 01:52:33.780 align:start position:0%
message and then actually you need to
 

01:52:33.780 --> 01:52:34.910 align:start position:0%
message and then actually you need to
consume<01:52:34.260><c> it</c>

01:52:34.910 --> 01:52:34.920 align:start position:0%
consume it
 

01:52:34.920 --> 01:52:36.590 align:start position:0%
consume it
so<01:52:35.520><c> it's</c>

01:52:36.590 --> 01:52:36.600 align:start position:0%
so it's
 

01:52:36.600 --> 01:52:39.109 align:start position:0%
so it's
it's<01:52:36.659><c> not</c><01:52:37.260><c> ideal</c>

01:52:39.109 --> 01:52:39.119 align:start position:0%
it's not ideal
 

01:52:39.119 --> 01:52:41.750 align:start position:0%
it's not ideal
but<01:52:39.840><c> the</c><01:52:40.260><c> trust</c><01:52:40.560><c> assumptions</c><01:52:40.980><c> are</c><01:52:41.340><c> pretty</c>

01:52:41.750 --> 01:52:41.760 align:start position:0%
but the trust assumptions are pretty
 

01:52:41.760 --> 01:52:44.090 align:start position:0%
but the trust assumptions are pretty
occasional

01:52:44.090 --> 01:52:44.100 align:start position:0%
occasional
 

01:52:44.100 --> 01:52:47.209 align:start position:0%
occasional
another<01:52:44.639><c> approach</c><01:52:45.179><c> consensus</c><01:52:45.960><c> validation</c>

01:52:47.209 --> 01:52:47.219 align:start position:0%
another approach consensus validation
 

01:52:47.219 --> 01:52:49.850 align:start position:0%
another approach consensus validation
by<01:52:47.820><c> the</c><01:52:47.940><c> way</c><01:52:48.000><c> this</c><01:52:48.480><c> like</c><01:52:48.780><c> Gremlin</c><01:52:49.380><c> is</c><01:52:49.679><c> supposed</c>

01:52:49.850 --> 01:52:49.860 align:start position:0%
by the way this like Gremlin is supposed
 

01:52:49.860 --> 01:52:52.609 align:start position:0%
by the way this like Gremlin is supposed
to<01:52:50.040><c> verify</c><01:52:50.460><c> a</c><01:52:50.699><c> bunch</c><01:52:50.820><c> of</c><01:52:50.940><c> BLS</c><01:52:51.420><c> signatures</c><01:52:51.960><c> I</c><01:52:52.380><c> I</c>

01:52:52.609 --> 01:52:52.619 align:start position:0%
to verify a bunch of BLS signatures I I
 

01:52:52.619 --> 01:52:56.330 align:start position:0%
to verify a bunch of BLS signatures I I
hope<01:52:52.920><c> it's</c><01:52:53.840><c> self-explanatory</c><01:52:54.840><c> uh</c><01:52:55.800><c> okay</c><01:52:55.980><c> so</c>

01:52:56.330 --> 01:52:56.340 align:start position:0%
hope it's self-explanatory uh okay so
 

01:52:56.340 --> 01:52:59.450 align:start position:0%
hope it's self-explanatory uh okay so
maybe<01:52:56.820><c> a</c><01:52:57.179><c> few</c><01:52:57.360><c> a</c><01:52:57.780><c> bit</c><01:52:58.020><c> of</c><01:52:58.199><c> an</c><01:52:58.320><c> intro</c>

01:52:59.450 --> 01:52:59.460 align:start position:0%
maybe a few a bit of an intro
 

01:52:59.460 --> 01:53:02.209 align:start position:0%
maybe a few a bit of an intro
um<01:52:59.520><c> right</c><01:52:59.880><c> now</c><01:53:00.060><c> we</c><01:53:00.420><c> have</c><01:53:00.600><c> POS</c><01:53:01.080><c> as</c><01:53:01.619><c> the</c><01:53:01.860><c> native</c>

01:53:02.209 --> 01:53:02.219 align:start position:0%
um right now we have POS as the native
 

01:53:02.219 --> 01:53:04.250 align:start position:0%
um right now we have POS as the native
like<01:53:02.400><c> consensus</c><01:53:02.940><c> algorithm</c><01:53:03.540><c> on</c><01:53:03.840><c> ethereum</c>

01:53:04.250 --> 01:53:04.260 align:start position:0%
like consensus algorithm on ethereum
 

01:53:04.260 --> 01:53:06.410 align:start position:0%
like consensus algorithm on ethereum
which<01:53:04.800><c> is</c><01:53:04.980><c> pretty</c><01:53:05.159><c> great</c><01:53:05.520><c> because</c><01:53:05.760><c> verifying</c>

01:53:06.410 --> 01:53:06.420 align:start position:0%
which is pretty great because verifying
 

01:53:06.420 --> 01:53:09.890 align:start position:0%
which is pretty great because verifying
the<01:53:06.540><c> consensus</c><01:53:07.020><c> is</c><01:53:07.440><c> finally</c><01:53:08.540><c> doable</c><01:53:09.540><c> because</c>

01:53:09.890 --> 01:53:09.900 align:start position:0%
the consensus is finally doable because
 

01:53:09.900 --> 01:53:12.290 align:start position:0%
the consensus is finally doable because
before<01:53:10.260><c> like</c><01:53:10.739><c> verifying</c><01:53:11.340><c> the</c><01:53:11.820><c> hashing</c>

01:53:12.290 --> 01:53:12.300 align:start position:0%
before like verifying the hashing
 

01:53:12.300 --> 01:53:14.090 align:start position:0%
before like verifying the hashing
function<01:53:12.540><c> eth</c><01:53:12.960><c> hash</c><01:53:13.380><c> which</c><01:53:13.560><c> was</c><01:53:13.739><c> used</c><01:53:13.920><c> for</c>

01:53:14.090 --> 01:53:14.100 align:start position:0%
function eth hash which was used for
 

01:53:14.100 --> 01:53:16.850 align:start position:0%
function eth hash which was used for
proof<01:53:14.460><c> of</c><01:53:14.520><c> work</c><01:53:14.639><c> was</c><01:53:14.880><c> very</c><01:53:15.119><c> memory</c><01:53:15.480><c> intense</c><01:53:15.900><c> so</c>

01:53:16.850 --> 01:53:16.860 align:start position:0%
proof of work was very memory intense so
 

01:53:16.860 --> 01:53:20.149 align:start position:0%
proof of work was very memory intense so
not<01:53:17.280><c> possible</c><01:53:17.639><c> to</c><01:53:17.820><c> do</c><01:53:17.940><c> inside</c><01:53:18.179><c> the</c><01:53:18.480><c> snark</c>

01:53:20.149 --> 01:53:20.159 align:start position:0%
not possible to do inside the snark
 

01:53:20.159 --> 01:53:22.850 align:start position:0%
not possible to do inside the snark
um<01:53:20.280><c> on</c><01:53:20.940><c> chain</c><01:53:21.179><c> directly</c><01:53:21.719><c> so</c><01:53:22.020><c> it</c><01:53:22.260><c> was</c><01:53:22.440><c> almost</c>

01:53:22.850 --> 01:53:22.860 align:start position:0%
um on chain directly so it was almost
 

01:53:22.860 --> 01:53:24.770 align:start position:0%
um on chain directly so it was almost
impossible<01:53:23.400><c> to</c><01:53:23.639><c> do</c><01:53:23.760><c> so</c>

01:53:24.770 --> 01:53:24.780 align:start position:0%
impossible to do so
 

01:53:24.780 --> 01:53:27.350 align:start position:0%
impossible to do so
um<01:53:24.900><c> so</c><01:53:25.320><c> now</c><01:53:25.560><c> we</c><01:53:25.800><c> also</c><01:53:26.040><c> have</c><01:53:26.219><c> this</c><01:53:26.639><c> Workshop</c>

01:53:27.350 --> 01:53:27.360 align:start position:0%
um so now we also have this Workshop
 

01:53:27.360 --> 01:53:30.370 align:start position:0%
um so now we also have this Workshop
called<01:53:27.780><c> lmd</c><01:53:28.199><c> ghost</c><01:53:28.380><c> which</c><01:53:28.980><c> is</c><01:53:29.360><c> implementable</c>

01:53:30.370 --> 01:53:30.380 align:start position:0%
called lmd ghost which is implementable
 

01:53:30.380 --> 01:53:33.350 align:start position:0%
called lmd ghost which is implementable
but<01:53:31.380><c> doing</c><01:53:31.980><c> all</c><01:53:32.159><c> of</c><01:53:32.280><c> this</c><01:53:32.400><c> like</c><01:53:32.639><c> directly</c><01:53:33.060><c> is</c>

01:53:33.350 --> 01:53:33.360 align:start position:0%
but doing all of this like directly is
 

01:53:33.360 --> 01:53:35.149 align:start position:0%
but doing all of this like directly is
pretty<01:53:33.600><c> expensive</c><01:53:34.139><c> so</c><01:53:34.500><c> we</c><01:53:34.679><c> need</c><01:53:34.800><c> to</c><01:53:34.920><c> ideally</c>

01:53:35.149 --> 01:53:35.159 align:start position:0%
pretty expensive so we need to ideally
 

01:53:35.159 --> 01:53:36.890 align:start position:0%
pretty expensive so we need to ideally
wrap<01:53:35.520><c> inside</c><01:53:35.699><c> the</c><01:53:35.880><c> snark</c><01:53:36.119><c> but</c><01:53:36.420><c> there</c><01:53:36.659><c> is</c>

01:53:36.890 --> 01:53:36.900 align:start position:0%
wrap inside the snark but there is
 

01:53:36.900 --> 01:53:39.470 align:start position:0%
wrap inside the snark but there is
another<01:53:37.320><c> downside</c><01:53:37.860><c> so</c><01:53:38.219><c> a</c><01:53:38.880><c> few</c><01:53:39.060><c> words</c><01:53:39.239><c> about</c>

01:53:39.470 --> 01:53:39.480 align:start position:0%
another downside so a few words about
 

01:53:39.480 --> 01:53:41.590 align:start position:0%
another downside so a few words about
the<01:53:39.719><c> trust</c><01:53:40.080><c> assumptions</c>

01:53:41.590 --> 01:53:41.600 align:start position:0%
the trust assumptions
 

01:53:41.600 --> 01:53:44.030 align:start position:0%
the trust assumptions
you<01:53:42.600><c> well</c><01:53:42.960><c> you</c><01:53:43.199><c> verify</c><01:53:43.500><c> the</c><01:53:43.619><c> consensus</c>

01:53:44.030 --> 01:53:44.040 align:start position:0%
you well you verify the consensus
 

01:53:44.040 --> 01:53:46.370 align:start position:0%
you well you verify the consensus
directly<01:53:44.460><c> so</c><01:53:44.880><c> it's</c><01:53:45.239><c> it's</c><01:53:45.540><c> fine</c>

01:53:46.370 --> 01:53:46.380 align:start position:0%
directly so it's it's fine
 

01:53:46.380 --> 01:53:48.890 align:start position:0%
directly so it's it's fine
he<01:53:47.159><c> do</c><01:53:48.000><c> you</c><01:53:48.179><c> introduce</c><01:53:48.420><c> any</c><01:53:48.480><c> trust</c>

01:53:48.890 --> 01:53:48.900 align:start position:0%
he do you introduce any trust
 

01:53:48.900 --> 01:53:51.169 align:start position:0%
he do you introduce any trust
assumptions<01:53:49.320><c> not</c><01:53:50.040><c> really</c><01:53:50.280><c> but</c><01:53:50.880><c> the</c><01:53:51.060><c> biggest</c>

01:53:51.169 --> 01:53:51.179 align:start position:0%
assumptions not really but the biggest
 

01:53:51.179 --> 01:53:52.970 align:start position:0%
assumptions not really but the biggest
downside<01:53:51.659><c> that</c><01:53:51.900><c> generating</c><01:53:52.380><c> the</c><01:53:52.619><c> proof</c>

01:53:52.970 --> 01:53:52.980 align:start position:0%
downside that generating the proof
 

01:53:52.980 --> 01:53:56.810 align:start position:0%
downside that generating the proof
actually<01:53:53.280><c> takes</c><01:53:53.699><c> some</c><01:53:54.000><c> time</c><01:53:54.440><c> so</c><01:53:55.440><c> to</c><01:53:56.340><c> be</c><01:53:56.460><c> honest</c>

01:53:56.810 --> 01:53:56.820 align:start position:0%
actually takes some time so to be honest
 

01:53:56.820 --> 01:54:00.169 align:start position:0%
actually takes some time so to be honest
this<01:53:57.659><c> approach</c><01:53:58.020><c> is</c><01:53:58.500><c> feasible</c><01:53:59.340><c> but</c><01:53:59.699><c> comparing</c>

01:54:00.169 --> 01:54:00.179 align:start position:0%
this approach is feasible but comparing
 

01:54:00.179 --> 01:54:02.990 align:start position:0%
this approach is feasible but comparing
to<01:54:00.300><c> messaging</c><01:54:00.900><c> like</c><01:54:01.800><c> quite</c><01:54:02.159><c> often</c><01:54:02.400><c> is</c><01:54:02.580><c> like</c>

01:54:02.990 --> 01:54:03.000 align:start position:0%
to messaging like quite often is like
 

01:54:03.000 --> 01:54:05.629 align:start position:0%
to messaging like quite often is like
almost<01:54:03.360><c> the</c><01:54:03.659><c> same</c><01:54:03.840><c> and</c><01:54:04.500><c> you</c><01:54:04.739><c> pay</c><01:54:04.920><c> a</c><01:54:05.400><c> lot</c><01:54:05.460><c> of</c>

01:54:05.629 --> 01:54:05.639 align:start position:0%
almost the same and you pay a lot of
 

01:54:05.639 --> 01:54:07.669 align:start position:0%
almost the same and you pay a lot of
improving<01:54:06.300><c> time</c>

01:54:07.669 --> 01:54:07.679 align:start position:0%
improving time
 

01:54:07.679 --> 01:54:10.370 align:start position:0%
improving time
and<01:54:08.159><c> requires</c><01:54:08.639><c> like</c><01:54:08.760><c> having</c><01:54:09.000><c> more</c><01:54:09.659><c> advanced</c>

01:54:10.370 --> 01:54:10.380 align:start position:0%
and requires like having more advanced
 

01:54:10.380 --> 01:54:13.609 align:start position:0%
and requires like having more advanced
infrastructure<01:54:11.280><c> okay</c><01:54:12.179><c> last</c><01:54:12.659><c> approach</c><01:54:13.080><c> that</c>

01:54:13.609 --> 01:54:13.619 align:start position:0%
infrastructure okay last approach that
 

01:54:13.619 --> 01:54:16.550 align:start position:0%
infrastructure okay last approach that
we<01:54:13.920><c> actually</c><01:54:14.159><c> use</c><01:54:15.119><c> is</c><01:54:15.960><c> something</c><01:54:16.199><c> that</c><01:54:16.440><c> we</c>

01:54:16.550 --> 01:54:16.560 align:start position:0%
we actually use is something that we
 

01:54:16.560 --> 01:54:18.470 align:start position:0%
we actually use is something that we
call<01:54:16.679><c> like</c><01:54:16.800><c> an</c><01:54:16.980><c> optimistic</c><01:54:17.520><c> relator</c><01:54:17.880><c> based</c><01:54:18.360><c> on</c>

01:54:18.470 --> 01:54:18.480 align:start position:0%
call like an optimistic relator based on
 

01:54:18.480 --> 01:54:21.290 align:start position:0%
call like an optimistic relator based on
NPC<01:54:19.199><c> MPC</c><01:54:20.159><c> stands</c><01:54:20.520><c> for</c><01:54:20.580><c> multi-party</c>

01:54:21.290 --> 01:54:21.300 align:start position:0%
NPC MPC stands for multi-party
 

01:54:21.300 --> 01:54:25.010 align:start position:0%
NPC MPC stands for multi-party
computation<01:54:21.780><c> maybe</c><01:54:22.500><c> before</c><01:54:22.860><c> I</c><01:54:23.540><c> explain</c><01:54:24.540><c> how</c>

01:54:25.010 --> 01:54:25.020 align:start position:0%
computation maybe before I explain how
 

01:54:25.020 --> 01:54:27.350 align:start position:0%
computation maybe before I explain how
it<01:54:25.139><c> works</c><01:54:25.380><c> let</c><01:54:25.560><c> me</c><01:54:25.739><c> explain</c><01:54:25.860><c> the</c><01:54:26.340><c> the</c><01:54:26.760><c> image</c><01:54:27.119><c> I</c>

01:54:27.350 --> 01:54:27.360 align:start position:0%
it works let me explain the the image I
 

01:54:27.360 --> 01:54:29.629 align:start position:0%
it works let me explain the the image I
hope<01:54:27.480><c> it's</c><01:54:27.659><c> self-explanatory</c><01:54:28.619><c> so</c><01:54:29.340><c> it's</c><01:54:29.520><c> an</c>

01:54:29.629 --> 01:54:29.639 align:start position:0%
hope it's self-explanatory so it's an
 

01:54:29.639 --> 01:54:31.609 align:start position:0%
hope it's self-explanatory so it's an
NPC<01:54:30.000><c> protocol</c><01:54:30.360><c> we</c><01:54:30.659><c> have</c><01:54:30.840><c> multiple</c><01:54:31.199><c> parties</c>

01:54:31.609 --> 01:54:31.619 align:start position:0%
NPC protocol we have multiple parties
 

01:54:31.619 --> 01:54:35.030 align:start position:0%
NPC protocol we have multiple parties
it's<01:54:32.100><c> multiple</c><01:54:32.520><c> parties</c><01:54:33.139><c> attached</c><01:54:34.139><c> something</c>

01:54:35.030 --> 01:54:35.040 align:start position:0%
it's multiple parties attached something
 

01:54:35.040 --> 01:54:38.870 align:start position:0%
it's multiple parties attached something
then<01:54:35.940><c> we</c><01:54:36.119><c> have</c><01:54:36.360><c> an</c><01:54:36.960><c> observer</c><01:54:37.560><c> that</c><01:54:38.460><c> can</c>

01:54:38.870 --> 01:54:38.880 align:start position:0%
then we have an observer that can
 

01:54:38.880 --> 01:54:41.149 align:start position:0%
then we have an observer that can
challenge<01:54:39.239><c> it</c><01:54:39.600><c> and</c><01:54:39.960><c> then</c><01:54:40.080><c> we</c><01:54:40.320><c> have</c><01:54:40.500><c> finally</c>

01:54:41.149 --> 01:54:41.159 align:start position:0%
challenge it and then we have finally
 

01:54:41.159 --> 01:54:43.070 align:start position:0%
challenge it and then we have finally
the<01:54:41.400><c> commitment</c><01:54:41.820><c> given</c><01:54:42.179><c> to</c><01:54:42.360><c> a</c><01:54:42.480><c> specific</c><01:54:42.780><c> chain</c>

01:54:43.070 --> 01:54:43.080 align:start position:0%
the commitment given to a specific chain
 

01:54:43.080 --> 01:54:44.930 align:start position:0%
the commitment given to a specific chain
in<01:54:43.320><c> this</c><01:54:43.500><c> case</c><01:54:43.619><c> start</c><01:54:43.920><c> net</c><01:54:44.219><c> once</c><01:54:44.820><c> everything</c>

01:54:44.930 --> 01:54:44.940 align:start position:0%
in this case start net once everything
 

01:54:44.940 --> 01:54:46.129 align:start position:0%
in this case start net once everything
is<01:54:45.300><c> fine</c>

01:54:46.129 --> 01:54:46.139 align:start position:0%
is fine
 

01:54:46.139 --> 01:54:49.910 align:start position:0%
is fine
how<01:54:46.619><c> does</c><01:54:46.800><c> it</c><01:54:46.920><c> work</c><01:54:47.239><c> so</c><01:54:48.239><c> we</c><01:54:48.600><c> have</c><01:54:48.719><c> a</c><01:54:48.900><c> set</c><01:54:49.080><c> of</c>

01:54:49.910 --> 01:54:49.920 align:start position:0%
how does it work so we have a set of
 

01:54:49.920 --> 01:54:53.090 align:start position:0%
how does it work so we have a set of
trusted<01:54:50.760><c> three</c><01:54:50.940><c> layers</c><01:54:51.560><c> validators</c><01:54:52.560><c> however</c>

01:54:53.090 --> 01:54:53.100 align:start position:0%
trusted three layers validators however
 

01:54:53.100 --> 01:54:54.950 align:start position:0%
trusted three layers validators however
and<01:54:53.400><c> they</c><01:54:53.520><c> attested</c><01:54:54.060><c> a</c><01:54:54.239><c> specific</c><01:54:54.480><c> commitment</c>

01:54:54.950 --> 01:54:54.960 align:start position:0%
and they attested a specific commitment
 

01:54:54.960 --> 01:54:57.950 align:start position:0%
and they attested a specific commitment
is<01:54:55.199><c> valid</c><01:54:55.500><c> so</c><01:54:56.040><c> how</c><01:54:56.280><c> does</c><01:54:56.460><c> it</c><01:54:56.639><c> work</c><01:54:56.820><c> if</c><01:54:57.540><c> we</c><01:54:57.719><c> want</c>

01:54:57.950 --> 01:54:57.960 align:start position:0%
is valid so how does it work if we want
 

01:54:57.960 --> 01:55:01.310 align:start position:0%
is valid so how does it work if we want
to<01:54:58.320><c> get</c><01:54:59.100><c> the</c><01:54:59.400><c> commitment</c><01:55:00.179><c> acreated</c><01:55:01.020><c> block</c>

01:55:01.310 --> 01:55:01.320 align:start position:0%
to get the commitment acreated block
 

01:55:01.320 --> 01:55:04.189 align:start position:0%
to get the commitment acreated block
hash<01:55:01.739><c> of</c><01:55:02.340><c> block</c><01:55:02.580><c> number</c>

01:55:04.189 --> 01:55:04.199 align:start position:0%
hash of block number
 

01:55:04.199 --> 01:55:07.669 align:start position:0%
hash of block number
X<01:55:04.800><c> on</c><01:55:05.580><c> startnet</c><01:55:06.239><c> then</c><01:55:06.780><c> instead</c><01:55:07.080><c> of</c><01:55:07.199><c> sending</c><01:55:07.560><c> a</c>

01:55:07.669 --> 01:55:07.679 align:start position:0%
X on startnet then instead of sending a
 

01:55:07.679 --> 01:55:10.790 align:start position:0%
X on startnet then instead of sending a
message<01:55:07.800><c> that</c><01:55:08.100><c> will</c><01:55:08.219><c> be</c><01:55:08.340><c> delayed</c><01:55:08.699><c> with</c><01:55:09.000><c> a</c><01:55:09.800><c> like</c>

01:55:10.790 --> 01:55:10.800 align:start position:0%
message that will be delayed with a like
 

01:55:10.800 --> 01:55:12.950 align:start position:0%
message that will be delayed with a like
slightly<01:55:11.219><c> delayed</c><01:55:11.639><c> we</c><01:55:12.179><c> can</c><01:55:12.360><c> essentially</c><01:55:12.719><c> make</c>

01:55:12.950 --> 01:55:12.960 align:start position:0%
slightly delayed we can essentially make
 

01:55:12.960 --> 01:55:15.290 align:start position:0%
slightly delayed we can essentially make
an<01:55:13.139><c> offshing</c><01:55:13.560><c> call</c><01:55:13.739><c> just</c><01:55:14.340><c> get</c><01:55:14.699><c> the</c><01:55:14.880><c> latest</c><01:55:15.060><c> one</c>

01:55:15.290 --> 01:55:15.300 align:start position:0%
an offshing call just get the latest one
 

01:55:15.300 --> 01:55:16.490 align:start position:0%
an offshing call just get the latest one
and<01:55:15.480><c> essentially</c><01:55:15.840><c> relay</c><01:55:16.199><c> this</c><01:55:16.320><c> message</c>

01:55:16.490 --> 01:55:16.500 align:start position:0%
and essentially relay this message
 

01:55:16.500 --> 01:55:18.890 align:start position:0%
and essentially relay this message
directly<01:55:17.040><c> to</c><01:55:17.639><c> start</c><01:55:17.880><c> net</c><01:55:18.179><c> but</c><01:55:18.360><c> it</c><01:55:18.480><c> comes</c><01:55:18.719><c> with</c>

01:55:18.890 --> 01:55:18.900 align:start position:0%
directly to start net but it comes with
 

01:55:18.900 --> 01:55:20.870 align:start position:0%
directly to start net but it comes with
a<01:55:19.080><c> few</c><01:55:19.199><c> downsides</c><01:55:19.800><c> because</c><01:55:20.340><c> while</c><01:55:20.639><c> we</c>

01:55:20.870 --> 01:55:20.880 align:start position:0%
a few downsides because while we
 

01:55:20.880 --> 01:55:24.350 align:start position:0%
a few downsides because while we
introduce<01:55:21.239><c> some</c><01:55:21.840><c> trust</c><01:55:22.679><c> assumptions</c><01:55:23.119><c> uh</c><01:55:24.119><c> but</c>

01:55:24.350 --> 01:55:24.360 align:start position:0%
introduce some trust assumptions uh but
 

01:55:24.360 --> 01:55:26.270 align:start position:0%
introduce some trust assumptions uh but
still<01:55:24.540><c> it's</c><01:55:24.719><c> okay</c><01:55:24.780><c> okay</c><01:55:24.960><c> how</c><01:55:25.199><c> does</c><01:55:25.380><c> it</c><01:55:25.560><c> work</c><01:55:25.739><c> so</c>

01:55:26.270 --> 01:55:26.280 align:start position:0%
still it's okay okay how does it work so
 

01:55:26.280 --> 01:55:27.590 align:start position:0%
still it's okay okay how does it work so
it<01:55:26.340><c> works</c><01:55:26.639><c> in</c><01:55:26.760><c> a</c><01:55:26.880><c> way</c><01:55:26.940><c> that</c><01:55:27.119><c> we</c><01:55:27.239><c> have</c><01:55:27.300><c> a</c><01:55:27.480><c> bunch</c>

01:55:27.590 --> 01:55:27.600 align:start position:0%
it works in a way that we have a bunch
 

01:55:27.600 --> 01:55:29.570 align:start position:0%
it works in a way that we have a bunch
of<01:55:27.719><c> off</c><01:55:27.840><c> chain</c><01:55:28.080><c> actors</c><01:55:28.500><c> who</c><01:55:29.040><c> essentially</c><01:55:29.340><c> make</c>

01:55:29.570 --> 01:55:29.580 align:start position:0%
of off chain actors who essentially make
 

01:55:29.580 --> 01:55:31.970 align:start position:0%
of off chain actors who essentially make
this<01:55:29.760><c> calls</c><01:55:30.119><c> and</c><01:55:30.960><c> it</c><01:55:31.260><c> works</c><01:55:31.560><c> more</c><01:55:31.739><c> or</c><01:55:31.920><c> less</c>

01:55:31.970 --> 01:55:31.980 align:start position:0%
this calls and it works more or less
 

01:55:31.980 --> 01:55:34.850 align:start position:0%
this calls and it works more or less
like<01:55:32.159><c> a</c><01:55:32.400><c> multi-seek</c><01:55:33.000><c> but</c><01:55:33.659><c> the</c><01:55:33.900><c> reason</c><01:55:34.020><c> why</c><01:55:34.679><c> we</c>

01:55:34.850 --> 01:55:34.860 align:start position:0%
like a multi-seek but the reason why we
 

01:55:34.860 --> 01:55:37.790 align:start position:0%
like a multi-seek but the reason why we
have<01:55:34.980><c> NPC</c><01:55:35.460><c> is</c><01:55:35.639><c> because</c><01:55:35.880><c> more</c><01:55:36.780><c> validators</c><01:55:37.560><c> you</c>

01:55:37.790 --> 01:55:37.800 align:start position:0%
have NPC is because more validators you
 

01:55:37.800 --> 01:55:39.430 align:start position:0%
have NPC is because more validators you
have<01:55:37.920><c> than</c><01:55:38.159><c> obviously</c>

01:55:39.430 --> 01:55:39.440 align:start position:0%
have than obviously
 

01:55:39.440 --> 01:55:42.050 align:start position:0%
have than obviously
more<01:55:40.440><c> Securities</c><01:55:41.040><c> but</c>

01:55:42.050 --> 01:55:42.060 align:start position:0%
more Securities but
 

01:55:42.060 --> 01:55:43.970 align:start position:0%
more Securities but
more<01:55:42.600><c> validators</c><01:55:43.139><c> you</c><01:55:43.380><c> have</c><01:55:43.500><c> in</c><01:55:43.619><c> it</c><01:55:43.800><c> like</c>

01:55:43.970 --> 01:55:43.980 align:start position:0%
more validators you have in it like
 

01:55:43.980 --> 01:55:46.370 align:start position:0%
more validators you have in it like
standard<01:55:44.460><c> multi-sig</c><01:55:44.940><c> approach</c><01:55:45.300><c> you</c><01:55:46.199><c> have</c>

01:55:46.370 --> 01:55:46.380 align:start position:0%
standard multi-sig approach you have
 

01:55:46.380 --> 01:55:48.290 align:start position:0%
standard multi-sig approach you have
more<01:55:46.679><c> signatures</c><01:55:47.340><c> so</c>

01:55:48.290 --> 01:55:48.300 align:start position:0%
more signatures so
 

01:55:48.300 --> 01:55:50.510 align:start position:0%
more signatures so
more<01:55:48.900><c> in</c><01:55:49.199><c> a</c><01:55:49.380><c> way</c><01:55:49.440><c> decentralized</c><01:55:50.100><c> it</c><01:55:50.159><c> is</c><01:55:50.340><c> then</c>

01:55:50.510 --> 01:55:50.520 align:start position:0%
more in a way decentralized it is then
 

01:55:50.520 --> 01:55:52.790 align:start position:0%
more in a way decentralized it is then
it's<01:55:51.000><c> more</c><01:55:51.659><c> expensive</c><01:55:52.080><c> to</c><01:55:52.260><c> verify</c><01:55:52.619><c> because</c>

01:55:52.790 --> 01:55:52.800 align:start position:0%
it's more expensive to verify because
 

01:55:52.800 --> 01:55:54.530 align:start position:0%
it's more expensive to verify because
you<01:55:52.980><c> need</c><01:55:53.100><c> to</c><01:55:53.219><c> verify</c><01:55:53.580><c> multiple</c><01:55:53.940><c> signatures</c>

01:55:54.530 --> 01:55:54.540 align:start position:0%
you need to verify multiple signatures
 

01:55:54.540 --> 01:55:57.169 align:start position:0%
you need to verify multiple signatures
and<01:55:55.500><c> you</c><01:55:55.860><c> need</c><01:55:55.980><c> to</c><01:55:56.100><c> like</c><01:55:56.340><c> pause</c><01:55:56.940><c> the</c>

01:55:57.169 --> 01:55:57.179 align:start position:0%
and you need to like pause the
 

01:55:57.179 --> 01:55:59.330 align:start position:0%
and you need to like pause the
signatures<01:55:57.659><c> it's</c><01:55:57.900><c> a</c><01:55:58.080><c> lot</c><01:55:58.199><c> of</c><01:55:58.320><c> cool</c><01:55:58.440><c> data</c><01:55:58.920><c> such</c>

01:55:59.330 --> 01:55:59.340 align:start position:0%
signatures it's a lot of cool data such
 

01:55:59.340 --> 01:56:01.910 align:start position:0%
signatures it's a lot of cool data such
approach<01:55:59.699><c> is</c><01:55:59.880><c> not</c><01:56:00.060><c> feasible</c><01:56:00.480><c> on</c><01:56:01.139><c> chains</c>

01:56:01.910 --> 01:56:01.920 align:start position:0%
approach is not feasible on chains
 

01:56:01.920 --> 01:56:04.330 align:start position:0%
approach is not feasible on chains
Oracle<01:56:02.280><c> data</c><01:56:02.520><c> is</c><01:56:02.580><c> expensive</c><01:56:03.000><c> so</c><01:56:03.300><c> at</c><01:56:03.900><c> one</c>

01:56:04.330 --> 01:56:04.340 align:start position:0%
Oracle data is expensive so at one
 

01:56:04.340 --> 01:56:07.850 align:start position:0%
Oracle data is expensive so at one
optimistic<01:56:05.340><c> rollups</c><01:56:05.880><c> and</c><01:56:06.600><c> yeah</c>

01:56:07.850 --> 01:56:07.860 align:start position:0%
optimistic rollups and yeah
 

01:56:07.860 --> 01:56:10.729 align:start position:0%
optimistic rollups and yeah
okay<01:56:08.340><c> so</c><01:56:08.639><c> how</c><01:56:08.820><c> does</c><01:56:09.000><c> it</c><01:56:09.179><c> work</c><01:56:09.300><c> uh</c><01:56:09.900><c> what</c><01:56:10.260><c> is</c><01:56:10.440><c> uh</c>

01:56:10.729 --> 01:56:10.739 align:start position:0%
okay so how does it work uh what is uh
 

01:56:10.739 --> 01:56:13.550 align:start position:0%
okay so how does it work uh what is uh
actually<01:56:10.980><c> NPC</c><01:56:11.580><c> part</c><01:56:11.760><c> doing</c><01:56:12.060><c> the</c><01:56:12.300><c> MPC</c><01:56:12.719><c> part</c><01:56:12.900><c> is</c>

01:56:13.550 --> 01:56:13.560 align:start position:0%
actually NPC part doing the MPC part is
 

01:56:13.560 --> 01:56:16.010 align:start position:0%
actually NPC part doing the MPC part is
very<01:56:13.860><c> simple</c><01:56:14.040><c> it's</c><01:56:14.520><c> essentially</c><01:56:15.020><c> signing</c>

01:56:16.010 --> 01:56:16.020 align:start position:0%
very simple it's essentially signing
 

01:56:16.020 --> 01:56:19.370 align:start position:0%
very simple it's essentially signing
over<01:56:16.460><c> like</c><01:56:17.460><c> a</c><01:56:17.639><c> specific</c><01:56:18.000><c> curve</c><01:56:18.420><c> some</c><01:56:18.960><c> specific</c>

01:56:19.370 --> 01:56:19.380 align:start position:0%
over like a specific curve some specific
 

01:56:19.380 --> 01:56:20.990 align:start position:0%
over like a specific curve some specific
payload<01:56:19.920><c> and</c><01:56:20.040><c> the</c><01:56:20.159><c> payload</c><01:56:20.580><c> is</c><01:56:20.699><c> the</c>

01:56:20.990 --> 01:56:21.000 align:start position:0%
payload and the payload is the
 

01:56:21.000 --> 01:56:23.629 align:start position:0%
payload and the payload is the
commitment<01:56:21.360><c> itself</c><01:56:21.719><c> and</c><01:56:22.619><c> that's</c><01:56:22.800><c> it</c><01:56:22.980><c> okay</c><01:56:23.219><c> so</c>

01:56:23.629 --> 01:56:23.639 align:start position:0%
commitment itself and that's it okay so
 

01:56:23.639 --> 01:56:26.510 align:start position:0%
commitment itself and that's it okay so
this<01:56:23.820><c> is</c><01:56:23.940><c> how</c><01:56:24.300><c> we</c><01:56:25.020><c> actually</c><01:56:25.199><c> attest</c><01:56:25.860><c> but</c><01:56:26.280><c> now</c>

01:56:26.510 --> 01:56:26.520 align:start position:0%
this is how we actually attest but now
 

01:56:26.520 --> 01:56:28.550 align:start position:0%
this is how we actually attest but now
how<01:56:26.940><c> why</c><01:56:27.360><c> this</c><01:56:27.719><c> approach</c><01:56:28.260><c> is</c><01:56:28.380><c> called</c>

01:56:28.550 --> 01:56:28.560 align:start position:0%
how why this approach is called
 

01:56:28.560 --> 01:56:31.010 align:start position:0%
how why this approach is called
optimistic<01:56:29.159><c> and</c><01:56:29.400><c> why</c><01:56:29.639><c> it's</c><01:56:29.820><c> still</c><01:56:30.060><c> secure</c>

01:56:31.010 --> 01:56:31.020 align:start position:0%
optimistic and why it's still secure
 

01:56:31.020 --> 01:56:34.310 align:start position:0%
optimistic and why it's still secure
so<01:56:31.920><c> first</c><01:56:32.280><c> of</c><01:56:32.460><c> all</c><01:56:32.639><c> we</c><01:56:33.540><c> just</c><01:56:33.719><c> posted</c><01:56:34.080><c> some</c>

01:56:34.310 --> 01:56:34.320 align:start position:0%
so first of all we just posted some
 

01:56:34.320 --> 01:56:36.530 align:start position:0%
so first of all we just posted some
something<01:56:34.619><c> on</c><01:56:34.980><c> the</c><01:56:35.100><c> actual</c><01:56:35.340><c> L2</c><01:56:35.760><c> and</c><01:56:36.119><c> as</c><01:56:36.360><c> you</c>

01:56:36.530 --> 01:56:36.540 align:start position:0%
something on the actual L2 and as you
 

01:56:36.540 --> 01:56:38.810 align:start position:0%
something on the actual L2 and as you
may<01:56:36.659><c> know</c><01:56:36.840><c> we</c><01:56:37.260><c> can</c><01:56:37.440><c> send</c><01:56:37.560><c> messages</c><01:56:37.860><c> from</c><01:56:38.219><c> L1</c><01:56:38.580><c> to</c>

01:56:38.810 --> 01:56:38.820 align:start position:0%
may know we can send messages from L1 to
 

01:56:38.820 --> 01:56:42.350 align:start position:0%
may know we can send messages from L1 to
L2<01:56:39.600><c> and</c><01:56:39.960><c> such</c><01:56:40.080><c> a</c><01:56:40.320><c> message</c><01:56:40.500><c> can</c><01:56:40.920><c> contain</c><01:56:41.400><c> like</c>

01:56:42.350 --> 01:56:42.360 align:start position:0%
L2 and such a message can contain like
 

01:56:42.360 --> 01:56:43.910 align:start position:0%
L2 and such a message can contain like
the<01:56:42.600><c> proper</c><01:56:42.960><c> commitment</c><01:56:43.320><c> so</c><01:56:43.560><c> essentially</c>

01:56:43.910 --> 01:56:43.920 align:start position:0%
the proper commitment so essentially
 

01:56:43.920 --> 01:56:47.570 align:start position:0%
the proper commitment so essentially
even<01:56:44.159><c> if</c><01:56:44.460><c> the</c><01:56:44.639><c> validator</c><01:56:45.360><c> set</c><01:56:45.719><c> will</c><01:56:46.260><c> lie</c><01:56:46.619><c> L1</c>

01:56:47.570 --> 01:56:47.580 align:start position:0%
even if the validator set will lie L1
 

01:56:47.580 --> 01:56:49.430 align:start position:0%
even if the validator set will lie L1
will<01:56:47.880><c> never</c><01:56:48.060><c> lie</c><01:56:48.480><c> so</c><01:56:48.659><c> you</c><01:56:48.840><c> can</c><01:56:48.960><c> just</c><01:56:49.139><c> challenge</c>

01:56:49.430 --> 01:56:49.440 align:start position:0%
will never lie so you can just challenge
 

01:56:49.440 --> 01:56:52.370 align:start position:0%
will never lie so you can just challenge
such<01:56:49.800><c> a</c><01:56:49.980><c> message</c><01:56:50.100><c> and</c><01:56:50.699><c> now</c><01:56:50.940><c> to</c><01:56:51.719><c> participate</c><01:56:52.199><c> in</c>

01:56:52.370 --> 01:56:52.380 align:start position:0%
such a message and now to participate in
 

01:56:52.380 --> 01:56:54.410 align:start position:0%
such a message and now to participate in
verifying<01:56:53.100><c> this</c><01:56:53.400><c> validators</c><01:56:54.000><c> it's</c><01:56:54.239><c> super</c>

01:56:54.410 --> 01:56:54.420 align:start position:0%
verifying this validators it's super
 

01:56:54.420 --> 01:56:56.810 align:start position:0%
verifying this validators it's super
easy<01:56:54.600><c> because</c><01:56:54.900><c> literally</c><01:56:55.320><c> two</c><01:56:55.800><c> RP</c><01:56:56.340><c> sequels</c>

01:56:56.810 --> 01:56:56.820 align:start position:0%
easy because literally two RP sequels
 

01:56:56.820 --> 01:56:58.970 align:start position:0%
easy because literally two RP sequels
one<01:56:57.480><c> call</c><01:56:57.719><c> is</c><01:56:58.020><c> gonna</c><01:56:58.260><c> check</c><01:56:58.500><c> the</c><01:56:58.739><c> actual</c>

01:56:58.970 --> 01:56:58.980 align:start position:0%
one call is gonna check the actual
 

01:56:58.980 --> 01:57:01.070 align:start position:0%
one call is gonna check the actual
commitment<01:56:59.400><c> on</c><01:56:59.699><c> the</c><01:56:59.820><c> actual</c><01:57:00.060><c> chain</c><01:57:00.300><c> and</c><01:57:00.900><c> the</c>

01:57:01.070 --> 01:57:01.080 align:start position:0%
commitment on the actual chain and the
 

01:57:01.080 --> 01:57:03.709 align:start position:0%
commitment on the actual chain and the
other<01:57:01.199><c> one</c><01:57:01.440><c> checks</c><01:57:01.980><c> like</c><01:57:02.400><c> what</c><01:57:03.179><c> is</c><01:57:03.360><c> the</c>

01:57:03.709 --> 01:57:03.719 align:start position:0%
other one checks like what is the
 

01:57:03.719 --> 01:57:06.890 align:start position:0%
other one checks like what is the
claimed<01:57:04.260><c> Commitment</c><01:57:04.679><c> if</c><01:57:05.340><c> you</c><01:57:05.460><c> disagree</c>

01:57:06.890 --> 01:57:06.900 align:start position:0%
claimed Commitment if you disagree
 

01:57:06.900 --> 01:57:09.530 align:start position:0%
claimed Commitment if you disagree
you<01:57:07.440><c> just</c><01:57:07.679><c> send</c><01:57:07.920><c> a</c><01:57:08.100><c> message</c><01:57:08.280><c> it</c><01:57:08.699><c> costs</c><01:57:09.060><c> roughly</c>

01:57:09.530 --> 01:57:09.540 align:start position:0%
you just send a message it costs roughly
 

01:57:09.540 --> 01:57:12.350 align:start position:0%
you just send a message it costs roughly
60<01:57:10.260><c> K</c><01:57:10.679><c> of</c><01:57:10.920><c> gas</c>

01:57:12.350 --> 01:57:12.360 align:start position:0%
60 K of gas
 

01:57:12.360 --> 01:57:15.350 align:start position:0%
60 K of gas
and<01:57:12.840><c> that's</c><01:57:12.960><c> it</c><01:57:13.199><c> everyone</c><01:57:13.739><c> can</c><01:57:14.040><c> do</c><01:57:14.219><c> that</c>

01:57:15.350 --> 01:57:15.360 align:start position:0%
and that's it everyone can do that
 

01:57:15.360 --> 01:57:16.010 align:start position:0%
and that's it everyone can do that
um

01:57:16.010 --> 01:57:16.020 align:start position:0%
um
 

01:57:16.020 --> 01:57:18.770 align:start position:0%
um
and<01:57:16.739><c> again</c><01:57:16.920><c> the</c><01:57:17.580><c> fraud</c><01:57:17.940><c> proving</c><01:57:18.300><c> window</c><01:57:18.420><c> is</c>

01:57:18.770 --> 01:57:18.780 align:start position:0%
and again the fraud proving window is
 

01:57:18.780 --> 01:57:21.410 align:start position:0%
and again the fraud proving window is
pretty<01:57:19.020><c> short</c><01:57:19.199><c> because</c><01:57:20.119><c> it's</c><01:57:21.119><c> essentially</c>

01:57:21.410 --> 01:57:21.420 align:start position:0%
pretty short because it's essentially
 

01:57:21.420 --> 01:57:23.209 align:start position:0%
pretty short because it's essentially
how<01:57:21.659><c> long</c><01:57:21.780><c> it</c><01:57:21.960><c> will</c><01:57:22.139><c> take</c><01:57:22.260><c> to</c><01:57:22.500><c> generate</c><01:57:23.099><c> like</c>

01:57:23.209 --> 01:57:23.219 align:start position:0%
how long it will take to generate like
 

01:57:23.219 --> 01:57:25.129 align:start position:0%
how long it will take to generate like
the<01:57:23.400><c> proof</c><01:57:23.639><c> of</c><01:57:23.699><c> consensus</c><01:57:24.179><c> if</c><01:57:24.599><c> it's</c><01:57:24.719><c> possible</c>

01:57:25.129 --> 01:57:25.139 align:start position:0%
the proof of consensus if it's possible
 

01:57:25.139 --> 01:57:27.770 align:start position:0%
the proof of consensus if it's possible
or<01:57:26.099><c> how</c><01:57:26.520><c> long</c><01:57:26.639><c> does</c><01:57:26.820><c> it</c><01:57:27.000><c> take</c><01:57:27.119><c> to</c><01:57:27.239><c> deliver</c><01:57:27.420><c> the</c>

01:57:27.770 --> 01:57:27.780 align:start position:0%
or how long does it take to deliver the
 

01:57:27.780 --> 01:57:29.990 align:start position:0%
or how long does it take to deliver the
message<01:57:27.960><c> and</c><01:57:28.920><c> what</c><01:57:29.040><c> is</c><01:57:29.280><c> pretty</c><01:57:29.460><c> cool</c><01:57:29.639><c> in</c><01:57:29.820><c> this</c>

01:57:29.990 --> 01:57:30.000 align:start position:0%
message and what is pretty cool in this
 

01:57:30.000 --> 01:57:32.450 align:start position:0%
message and what is pretty cool in this
approach<01:57:30.300><c> it's</c><01:57:30.599><c> not</c><01:57:30.840><c> gas</c><01:57:31.080><c> intensive</c><01:57:31.679><c> we</c>

01:57:32.450 --> 01:57:32.460 align:start position:0%
approach it's not gas intensive we
 

01:57:32.460 --> 01:57:35.689 align:start position:0%
approach it's not gas intensive we
verify<01:57:32.880><c> just</c><01:57:33.060><c> one</c><01:57:33.239><c> signature</c><01:57:33.980><c> so</c><01:57:34.980><c> that's</c>

01:57:35.689 --> 01:57:35.699 align:start position:0%
verify just one signature so that's
 

01:57:35.699 --> 01:57:37.129 align:start position:0%
verify just one signature so that's
about<01:57:35.940><c> this</c><01:57:36.179><c> approach</c>

01:57:37.129 --> 01:57:37.139 align:start position:0%
about this approach
 

01:57:37.139 --> 01:57:39.530 align:start position:0%
about this approach
let's<01:57:37.920><c> make</c><01:57:38.159><c> a</c><01:57:38.280><c> recap</c><01:57:38.580><c> and</c><01:57:38.940><c> let's</c><01:57:39.119><c> identify</c>

01:57:39.530 --> 01:57:39.540 align:start position:0%
let's make a recap and let's identify
 

01:57:39.540 --> 01:57:41.089 align:start position:0%
let's make a recap and let's identify
the<01:57:39.719><c> trade-offs</c>

01:57:41.089 --> 01:57:41.099 align:start position:0%
the trade-offs
 

01:57:41.099 --> 01:57:43.669 align:start position:0%
the trade-offs
so<01:57:41.639><c> we</c><01:57:42.000><c> have</c><01:57:42.119><c> three</c><01:57:42.420><c> approaches</c><01:57:42.960><c> the</c><01:57:43.560><c> first</c>

01:57:43.669 --> 01:57:43.679 align:start position:0%
so we have three approaches the first
 

01:57:43.679 --> 01:57:45.770 align:start position:0%
so we have three approaches the first
one<01:57:43.860><c> is</c><01:57:44.040><c> messaging</c><01:57:44.580><c> the</c><01:57:45.300><c> second</c><01:57:45.480><c> one</c><01:57:45.659><c> is</c>

01:57:45.770 --> 01:57:45.780 align:start position:0%
one is messaging the second one is
 

01:57:45.780 --> 01:57:47.810 align:start position:0%
one is messaging the second one is
validating<01:57:46.199><c> the</c><01:57:46.380><c> consensus</c><01:57:46.860><c> and</c><01:57:47.580><c> the</c><01:57:47.699><c> third</c>

01:57:47.810 --> 01:57:47.820 align:start position:0%
validating the consensus and the third
 

01:57:47.820 --> 01:57:50.990 align:start position:0%
validating the consensus and the third
one<01:57:48.060><c> is</c><01:57:48.239><c> having</c><01:57:48.900><c> this</c><01:57:49.199><c> optimistic</c><01:57:49.679><c> layer</c><01:57:50.099><c> so</c><01:57:50.760><c> I</c>

01:57:50.990 --> 01:57:51.000 align:start position:0%
one is having this optimistic layer so I
 

01:57:51.000 --> 01:57:55.129 align:start position:0%
one is having this optimistic layer so I
categorize<01:57:51.480><c> it</c><01:57:51.719><c> in</c><01:57:52.219><c> four</c><01:57:53.480><c> categories</c><01:57:54.480><c> the</c>

01:57:55.129 --> 01:57:55.139 align:start position:0%
categorize it in four categories the
 

01:57:55.139 --> 01:57:58.430 align:start position:0%
categorize it in four categories the
first<01:57:55.320><c> one</c><01:57:55.500><c> is</c><01:57:55.860><c> latency</c><01:57:56.540><c> the</c><01:57:57.540><c> second</c><01:57:57.719><c> one</c><01:57:58.080><c> is</c>

01:57:58.430 --> 01:57:58.440 align:start position:0%
first one is latency the second one is
 

01:57:58.440 --> 01:58:01.970 align:start position:0%
first one is latency the second one is
the<01:57:58.980><c> gas</c><01:57:59.159><c> cost</c><01:57:59.460><c> the</c><01:58:00.420><c> third</c><01:58:00.599><c> one</c><01:58:00.780><c> is</c><01:58:01.020><c> trust</c><01:58:01.679><c> and</c>

01:58:01.970 --> 01:58:01.980 align:start position:0%
the gas cost the third one is trust and
 

01:58:01.980 --> 01:58:03.770 align:start position:0%
the gas cost the third one is trust and
the<01:58:02.099><c> last</c><01:58:02.219><c> one</c><01:58:02.400><c> is</c><01:58:02.580><c> what</c><01:58:03.060><c> is</c><01:58:03.179><c> the</c><01:58:03.300><c> off-ching</c>

01:58:03.770 --> 01:58:03.780 align:start position:0%
the last one is what is the off-ching
 

01:58:03.780 --> 01:58:06.229 align:start position:0%
the last one is what is the off-ching
computation<01:58:04.260><c> overhead</c><01:58:04.860><c> why</c><01:58:05.520><c> do</c><01:58:05.699><c> I</c><01:58:05.820><c> even</c><01:58:05.940><c> list</c>

01:58:06.229 --> 01:58:06.239 align:start position:0%
computation overhead why do I even list
 

01:58:06.239 --> 01:58:08.450 align:start position:0%
computation overhead why do I even list
it<01:58:06.420><c> because</c><01:58:06.599><c> if</c><01:58:06.960><c> we</c><01:58:07.139><c> do</c><01:58:07.320><c> some</c><01:58:07.560><c> sort</c><01:58:07.800><c> of</c><01:58:07.920><c> proving</c>

01:58:08.450 --> 01:58:08.460 align:start position:0%
it because if we do some sort of proving
 

01:58:08.460 --> 01:58:10.010 align:start position:0%
it because if we do some sort of proving
then<01:58:08.760><c> obviously</c><01:58:09.179><c> it</c><01:58:09.300><c> takes</c><01:58:09.420><c> time</c><01:58:09.659><c> because</c><01:58:09.840><c> we</c>

01:58:10.010 --> 01:58:10.020 align:start position:0%
then obviously it takes time because we
 

01:58:10.020 --> 01:58:11.570 align:start position:0%
then obviously it takes time because we
need<01:58:10.139><c> to</c><01:58:10.260><c> generate</c><01:58:10.560><c> the</c><01:58:10.739><c> proof</c>

01:58:11.570 --> 01:58:11.580 align:start position:0%
need to generate the proof
 

01:58:11.580 --> 01:58:15.350 align:start position:0%
need to generate the proof
so<01:58:12.179><c> messaging</c><01:58:12.780><c> in</c><01:58:13.320><c> terms</c><01:58:13.560><c> of</c><01:58:13.619><c> latency</c><01:58:14.099><c> we</c><01:58:15.060><c> are</c>

01:58:15.350 --> 01:58:15.360 align:start position:0%
so messaging in terms of latency we are
 

01:58:15.360 --> 01:58:17.629 align:start position:0%
so messaging in terms of latency we are
quite<01:58:15.599><c> sad</c><01:58:15.900><c> because</c><01:58:16.440><c> well</c><01:58:16.860><c> the</c><01:58:17.099><c> message</c><01:58:17.280><c> needs</c>

01:58:17.629 --> 01:58:17.639 align:start position:0%
quite sad because well the message needs
 

01:58:17.639 --> 01:58:19.850 align:start position:0%
quite sad because well the message needs
to<01:58:17.699><c> get</c><01:58:17.820><c> delivered</c><01:58:18.300><c> so</c><01:58:18.840><c> once</c><01:58:19.560><c> the</c><01:58:19.679><c> message</c>

01:58:19.850 --> 01:58:19.860 align:start position:0%
to get delivered so once the message
 

01:58:19.860 --> 01:58:23.510 align:start position:0%
to get delivered so once the message
gets<01:58:20.280><c> delivered</c><01:58:20.639><c> to</c><01:58:20.940><c> some</c><01:58:21.540><c> specific</c><01:58:22.020><c> L2</c><01:58:22.619><c> L1</c>

01:58:23.510 --> 01:58:23.520 align:start position:0%
gets delivered to some specific L2 L1
 

01:58:23.520 --> 01:58:25.910 align:start position:0%
gets delivered to some specific L2 L1
will<01:58:24.119><c> be</c><01:58:24.780><c> able</c><01:58:24.960><c> to</c><01:58:25.080><c> generate</c><01:58:25.380><c> already</c><01:58:25.619><c> new</c>

01:58:25.910 --> 01:58:25.920 align:start position:0%
will be able to generate already new
 

01:58:25.920 --> 01:58:27.589 align:start position:0%
will be able to generate already new
block<01:58:26.099><c> so</c><01:58:26.340><c> we</c><01:58:26.460><c> don't</c><01:58:26.580><c> have</c><01:58:26.760><c> like</c><01:58:27.000><c> access</c><01:58:27.239><c> to</c>

01:58:27.589 --> 01:58:27.599 align:start position:0%
block so we don't have like access to
 

01:58:27.599 --> 01:58:29.450 align:start position:0%
block so we don't have like access to
the<01:58:27.840><c> newest</c><01:58:28.320><c> values</c>

01:58:29.450 --> 01:58:29.460 align:start position:0%
the newest values
 

01:58:29.460 --> 01:58:32.149 align:start position:0%
the newest values
in<01:58:29.760><c> terms</c><01:58:29.880><c> of</c><01:58:30.000><c> gas</c><01:58:30.179><c> cost</c><01:58:30.480><c> it's</c><01:58:31.440><c> not</c><01:58:31.679><c> bad</c><01:58:31.860><c> but</c>

01:58:32.149 --> 01:58:32.159 align:start position:0%
in terms of gas cost it's not bad but
 

01:58:32.159 --> 01:58:33.709 align:start position:0%
in terms of gas cost it's not bad but
it's<01:58:32.340><c> not</c><01:58:32.520><c> perfect</c><01:58:32.699><c> because</c><01:58:33.119><c> we</c><01:58:33.480><c> need</c><01:58:33.599><c> to</c>

01:58:33.709 --> 01:58:33.719 align:start position:0%
it's not perfect because we need to
 

01:58:33.719 --> 01:58:35.270 align:start position:0%
it's not perfect because we need to
interact<01:58:34.080><c> with</c><01:58:34.320><c> two</c><01:58:34.500><c> chains</c><01:58:34.860><c> at</c><01:58:34.980><c> the</c><01:58:35.159><c> same</c>

01:58:35.270 --> 01:58:35.280 align:start position:0%
interact with two chains at the same
 

01:58:35.280 --> 01:58:36.830 align:start position:0%
interact with two chains at the same
time<01:58:35.400><c> so</c><01:58:35.699><c> first</c><01:58:35.880><c> we</c><01:58:36.060><c> need</c><01:58:36.239><c> to</c><01:58:36.360><c> send</c><01:58:36.540><c> a</c><01:58:36.719><c> message</c>

01:58:36.830 --> 01:58:36.840 align:start position:0%
time so first we need to send a message
 

01:58:36.840 --> 01:58:38.629 align:start position:0%
time so first we need to send a message
and<01:58:37.139><c> consume</c><01:58:37.739><c> it</c>

01:58:38.629 --> 01:58:38.639 align:start position:0%
and consume it
 

01:58:38.639 --> 01:58:40.669 align:start position:0%
and consume it
in<01:58:39.119><c> terms</c><01:58:39.300><c> of</c><01:58:39.420><c> trust</c><01:58:39.719><c> we</c><01:58:39.960><c> are</c><01:58:40.199><c> pretty</c><01:58:40.380><c> happy</c>

01:58:40.669 --> 01:58:40.679 align:start position:0%
in terms of trust we are pretty happy
 

01:58:40.679 --> 01:58:43.729 align:start position:0%
in terms of trust we are pretty happy
because<01:58:41.520><c> we</c><01:58:42.119><c> trust</c><01:58:42.719><c> the</c><01:58:42.960><c> roll</c><01:58:43.080><c> up</c><01:58:43.260><c> itself</c><01:58:43.560><c> and</c>

01:58:43.729 --> 01:58:43.739 align:start position:0%
because we trust the roll up itself and
 

01:58:43.739 --> 01:58:45.649 align:start position:0%
because we trust the roll up itself and
it's<01:58:43.860><c> a</c><01:58:44.040><c> fair</c><01:58:44.159><c> assumption</c>

01:58:45.649 --> 01:58:45.659 align:start position:0%
it's a fair assumption
 

01:58:45.659 --> 01:58:47.570 align:start position:0%
it's a fair assumption
option<01:58:46.260><c> computation</c><01:58:46.739><c> overhead</c><01:58:47.099><c> we're</c><01:58:47.340><c> very</c>

01:58:47.570 --> 01:58:47.580 align:start position:0%
option computation overhead we're very
 

01:58:47.580 --> 01:58:49.970 align:start position:0%
option computation overhead we're very
happy<01:58:47.820><c> because</c><01:58:48.119><c> there</c><01:58:48.420><c> is</c><01:58:48.599><c> no</c><01:58:48.960><c> computation</c><01:58:49.560><c> to</c>

01:58:49.970 --> 01:58:49.980 align:start position:0%
happy because there is no computation to
 

01:58:49.980 --> 01:58:53.209 align:start position:0%
happy because there is no computation to
do<01:58:50.280><c> off-chain</c><01:58:50.960><c> verifying</c><01:58:51.960><c> the</c><01:58:52.080><c> consensus</c><01:58:52.560><c> so</c>

01:58:53.209 --> 01:58:53.219 align:start position:0%
do off-chain verifying the consensus so
 

01:58:53.219 --> 01:58:54.830 align:start position:0%
do off-chain verifying the consensus so
in<01:58:53.340><c> terms</c><01:58:53.520><c> of</c><01:58:53.580><c> latency</c><01:58:53.940><c> we</c><01:58:54.239><c> are</c><01:58:54.420><c> side</c><01:58:54.599><c> because</c>

01:58:54.830 --> 01:58:54.840 align:start position:0%
in terms of latency we are side because
 

01:58:54.840 --> 01:58:56.990 align:start position:0%
in terms of latency we are side because
we<01:58:55.020><c> need</c><01:58:55.139><c> to</c><01:58:55.260><c> generate</c><01:58:55.560><c> the</c><01:58:55.739><c> proof</c>

01:58:56.990 --> 01:58:57.000 align:start position:0%
we need to generate the proof
 

01:58:57.000 --> 01:58:58.430 align:start position:0%
we need to generate the proof
that<01:58:57.239><c> we've</c><01:58:57.420><c> done</c><01:58:57.599><c> it</c><01:58:57.719><c> it</c><01:58:57.840><c> takes</c><01:58:58.020><c> a</c><01:58:58.199><c> bit</c><01:58:58.320><c> of</c>

01:58:58.430 --> 01:58:58.440 align:start position:0%
that we've done it it takes a bit of
 

01:58:58.440 --> 01:59:01.970 align:start position:0%
that we've done it it takes a bit of
time<01:58:58.679><c> in</c><01:58:59.219><c> terms</c><01:58:59.400><c> of</c><01:58:59.460><c> gas</c><01:58:59.699><c> cost</c><01:58:59.940><c> we</c><01:59:00.780><c> are</c><01:59:01.020><c> I</c><01:59:01.860><c> would</c>

01:59:01.970 --> 01:59:01.980 align:start position:0%
time in terms of gas cost we are I would
 

01:59:01.980 --> 01:59:04.010 align:start position:0%
time in terms of gas cost we are I would
say<01:59:02.159><c> sad</c><01:59:02.520><c> because</c><01:59:02.880><c> we</c><01:59:03.239><c> need</c><01:59:03.360><c> to</c><01:59:03.480><c> verify</c><01:59:03.840><c> the</c>

01:59:04.010 --> 01:59:04.020 align:start position:0%
say sad because we need to verify the
 

01:59:04.020 --> 01:59:05.930 align:start position:0%
say sad because we need to verify the
actual<01:59:04.260><c> ZK</c><01:59:04.619><c> proof</c><01:59:04.980><c> which</c><01:59:05.099><c> is</c><01:59:05.280><c> way</c><01:59:05.760><c> more</c>

01:59:05.930 --> 01:59:05.940 align:start position:0%
actual ZK proof which is way more
 

01:59:05.940 --> 01:59:08.990 align:start position:0%
actual ZK proof which is way more
expensive<01:59:06.480><c> than</c><01:59:06.840><c> just</c>

01:59:08.990 --> 01:59:09.000 align:start position:0%
expensive than just
 

01:59:09.000 --> 01:59:11.089 align:start position:0%
expensive than just
consuming<01:59:09.659><c> a</c><01:59:09.840><c> message</c><01:59:10.020><c> or</c><01:59:10.440><c> verifying</c><01:59:10.980><c> a</c>

01:59:11.089 --> 01:59:11.099 align:start position:0%
consuming a message or verifying a
 

01:59:11.099 --> 01:59:13.430 align:start position:0%
consuming a message or verifying a
signature<01:59:11.580><c> in</c><01:59:12.300><c> terms</c><01:59:12.420><c> of</c><01:59:12.480><c> trust</c><01:59:12.840><c> we</c><01:59:13.080><c> are</c><01:59:13.260><c> happy</c>

01:59:13.430 --> 01:59:13.440 align:start position:0%
signature in terms of trust we are happy
 

01:59:13.440 --> 01:59:15.890 align:start position:0%
signature in terms of trust we are happy
because<01:59:13.739><c> we</c><01:59:13.980><c> verify</c><01:59:14.340><c> the</c><01:59:14.460><c> consensus</c><01:59:14.880><c> itself</c>

01:59:15.890 --> 01:59:15.900 align:start position:0%
because we verify the consensus itself
 

01:59:15.900 --> 01:59:18.290 align:start position:0%
because we verify the consensus itself
and<01:59:16.860><c> computation</c><01:59:17.400><c> overhead</c><01:59:17.880><c> it's</c>

01:59:18.290 --> 01:59:18.300 align:start position:0%
and computation overhead it's
 

01:59:18.300 --> 01:59:19.609 align:start position:0%
and computation overhead it's
significant<01:59:18.719><c> right</c><01:59:18.960><c> because</c><01:59:19.199><c> we</c><01:59:19.380><c> need</c><01:59:19.500><c> to</c>

01:59:19.609 --> 01:59:19.619 align:start position:0%
significant right because we need to
 

01:59:19.619 --> 01:59:21.050 align:start position:0%
significant right because we need to
generate<01:59:19.860><c> the</c><01:59:19.980><c> proof</c>

01:59:21.050 --> 01:59:21.060 align:start position:0%
generate the proof
 

01:59:21.060 --> 01:59:22.550 align:start position:0%
generate the proof
Final<01:59:21.480><c> Approach</c>

01:59:22.550 --> 01:59:22.560 align:start position:0%
Final Approach
 

01:59:22.560 --> 01:59:25.550 align:start position:0%
Final Approach
this<01:59:23.099><c> optimistic</c><01:59:23.699><c> layer</c><01:59:24.239><c> so</c><01:59:25.080><c> in</c><01:59:25.260><c> terms</c><01:59:25.500><c> of</c>

01:59:25.550 --> 01:59:25.560 align:start position:0%
this optimistic layer so in terms of
 

01:59:25.560 --> 01:59:27.410 align:start position:0%
this optimistic layer so in terms of
latency<01:59:25.920><c> we're</c><01:59:26.159><c> happy</c><01:59:26.340><c> because</c><01:59:26.580><c> we</c><01:59:26.940><c> simply</c>

01:59:27.410 --> 01:59:27.420 align:start position:0%
latency we're happy because we simply
 

01:59:27.420 --> 01:59:29.149 align:start position:0%
latency we're happy because we simply
make<01:59:27.540><c> a</c><01:59:27.719><c> claim</c><01:59:27.960><c> and</c><01:59:28.080><c> we</c><01:59:28.260><c> post</c><01:59:28.619><c> it</c><01:59:28.860><c> on</c><01:59:28.980><c> the</c><01:59:29.099><c> other</c>

01:59:29.149 --> 01:59:29.159 align:start position:0%
make a claim and we post it on the other
 

01:59:29.159 --> 01:59:31.669 align:start position:0%
make a claim and we post it on the other
chain<01:59:29.520><c> that's</c><01:59:29.880><c> it</c><01:59:30.119><c> gas</c><01:59:30.659><c> cost</c><01:59:30.960><c> we're</c><01:59:31.500><c> very</c>

01:59:31.669 --> 01:59:31.679 align:start position:0%
chain that's it gas cost we're very
 

01:59:31.679 --> 01:59:33.169 align:start position:0%
chain that's it gas cost we're very
happy<01:59:31.860><c> because</c><01:59:32.159><c> the</c>

01:59:33.169 --> 01:59:33.179 align:start position:0%
happy because the
 

01:59:33.179 --> 01:59:35.629 align:start position:0%
happy because the
well<01:59:33.599><c> we</c><01:59:33.900><c> just</c><01:59:34.020><c> verify</c><01:59:34.320><c> a</c><01:59:34.440><c> signature</c>

01:59:35.629 --> 01:59:35.639 align:start position:0%
well we just verify a signature
 

01:59:35.639 --> 01:59:38.030 align:start position:0%
well we just verify a signature
in<01:59:35.940><c> terms</c><01:59:36.179><c> of</c><01:59:36.300><c> trust</c><01:59:36.780><c> well</c><01:59:37.139><c> we</c><01:59:37.440><c> are</c><01:59:37.679><c> not</c><01:59:37.800><c> that</c>

01:59:38.030 --> 01:59:38.040 align:start position:0%
in terms of trust well we are not that
 

01:59:38.040 --> 01:59:39.950 align:start position:0%
in terms of trust well we are not that
happy<01:59:38.280><c> but</c><01:59:38.580><c> also</c><01:59:38.820><c> not</c><01:59:39.000><c> that</c><01:59:39.179><c> sad</c><01:59:39.420><c> at</c><01:59:39.659><c> the</c><01:59:39.780><c> same</c>

01:59:39.950 --> 01:59:39.960 align:start position:0%
happy but also not that sad at the same
 

01:59:39.960 --> 01:59:42.229 align:start position:0%
happy but also not that sad at the same
time<01:59:40.139><c> because</c><01:59:40.679><c> it</c><01:59:41.099><c> still</c><01:59:41.520><c> can</c><01:59:41.699><c> be</c><01:59:41.880><c> challenged</c>

01:59:42.229 --> 01:59:42.239 align:start position:0%
time because it still can be challenged
 

01:59:42.239 --> 01:59:44.450 align:start position:0%
time because it still can be challenged
in<01:59:42.420><c> an</c><01:59:42.599><c> optimistic</c><01:59:43.080><c> manner</c><01:59:43.440><c> using</c><01:59:44.099><c> a</c><01:59:44.219><c> fraud</c>

01:59:44.450 --> 01:59:44.460 align:start position:0%
in an optimistic manner using a fraud
 

01:59:44.460 --> 01:59:45.790 align:start position:0%
in an optimistic manner using a fraud
proof

01:59:45.790 --> 01:59:45.800 align:start position:0%
proof
 

01:59:45.800 --> 01:59:48.350 align:start position:0%
proof
computation<01:59:46.800><c> option</c><01:59:47.460><c> computation</c><01:59:47.940><c> overhead</c>

01:59:48.350 --> 01:59:48.360 align:start position:0%
computation option computation overhead
 

01:59:48.360 --> 01:59:50.330 align:start position:0%
computation option computation overhead
are<01:59:48.900><c> pretty</c><01:59:49.080><c> happy</c><01:59:49.320><c> because</c><01:59:49.560><c> we</c><01:59:49.860><c> participate</c>

01:59:50.330 --> 01:59:50.340 align:start position:0%
are pretty happy because we participate
 

01:59:50.340 --> 01:59:52.910 align:start position:0%
are pretty happy because we participate
like<01:59:50.520><c> an</c><01:59:50.699><c> MPC</c><01:59:51.179><c> protocol</c><01:59:51.960><c> so</c><01:59:52.320><c> essentially</c><01:59:52.679><c> the</c>

01:59:52.910 --> 01:59:52.920 align:start position:0%
like an MPC protocol so essentially the
 

01:59:52.920 --> 01:59:54.830 align:start position:0%
like an MPC protocol so essentially the
overhead<01:59:53.340><c> comes</c><01:59:53.820><c> mostly</c><01:59:54.060><c> from</c><01:59:54.300><c> communication</c>

01:59:54.830 --> 01:59:54.840 align:start position:0%
overhead comes mostly from communication
 

01:59:54.840 --> 01:59:57.770 align:start position:0%
overhead comes mostly from communication
not<01:59:55.739><c> computation</c><01:59:56.340><c> itself</c>

01:59:57.770 --> 01:59:57.780 align:start position:0%
not computation itself
 

01:59:57.780 --> 02:00:00.830 align:start position:0%
not computation itself
cool<01:59:58.440><c> so</c><01:59:59.099><c> this</c><01:59:59.460><c> is</c><01:59:59.580><c> part</c><01:59:59.820><c> number</c><02:00:00.000><c> one</c><02:00:00.300><c> these</c>

02:00:00.830 --> 02:00:00.840 align:start position:0%
cool so this is part number one these
 

02:00:00.840 --> 02:00:03.229 align:start position:0%
cool so this is part number one these
are<02:00:00.900><c> the</c><02:00:01.139><c> three</c><02:00:01.560><c> approaches</c><02:00:02.219><c> obviously</c><02:00:02.760><c> I'm</c>

02:00:03.229 --> 02:00:03.239 align:start position:0%
are the three approaches obviously I'm
 

02:00:03.239 --> 02:00:04.729 align:start position:0%
are the three approaches obviously I'm
not<02:00:03.420><c> gonna</c><02:00:03.540><c> say</c><02:00:03.780><c> which</c><02:00:04.080><c> one</c><02:00:04.260><c> is</c><02:00:04.440><c> the</c><02:00:04.619><c> best</c>

02:00:04.729 --> 02:00:04.739 align:start position:0%
not gonna say which one is the best
 

02:00:04.739 --> 02:00:06.709 align:start position:0%
not gonna say which one is the best
because<02:00:05.280><c> all</c><02:00:05.940><c> of</c><02:00:06.060><c> them</c><02:00:06.179><c> come</c><02:00:06.360><c> with</c><02:00:06.540><c> some</c>

02:00:06.709 --> 02:00:06.719 align:start position:0%
because all of them come with some
 

02:00:06.719 --> 02:00:08.270 align:start position:0%
because all of them come with some
trade-offs

02:00:08.270 --> 02:00:08.280 align:start position:0%
trade-offs
 

02:00:08.280 --> 02:00:11.149 align:start position:0%
trade-offs
um<02:00:08.400><c> okay</c><02:00:08.900><c> accessing</c><02:00:09.900><c> the</c><02:00:10.080><c> headers</c><02:00:10.440><c> I</c><02:00:11.040><c> hope</c>

02:00:11.149 --> 02:00:11.159 align:start position:0%
um okay accessing the headers I hope
 

02:00:11.159 --> 02:00:12.709 align:start position:0%
um okay accessing the headers I hope
it's<02:00:11.280><c> self-explanatory</c><02:00:12.119><c> because</c><02:00:12.420><c> we</c>

02:00:12.709 --> 02:00:12.719 align:start position:0%
it's self-explanatory because we
 

02:00:12.719 --> 02:00:15.109 align:start position:0%
it's self-explanatory because we
literally<02:00:13.500><c> unroll</c><02:00:14.040><c> something</c><02:00:14.699><c> from</c><02:00:15.000><c> The</c>

02:00:15.109 --> 02:00:15.119 align:start position:0%
literally unroll something from The
 

02:00:15.119 --> 02:00:17.030 align:start position:0%
literally unroll something from The
Trusted<02:00:15.540><c> input</c>

02:00:17.030 --> 02:00:17.040 align:start position:0%
Trusted input
 

02:00:17.040 --> 02:00:19.010 align:start position:0%
Trusted input
and<02:00:17.400><c> The</c><02:00:17.520><c> Trusted</c><02:00:17.880><c> input</c><02:00:18.179><c> is</c><02:00:18.360><c> again</c><02:00:18.480><c> a</c><02:00:18.840><c> block</c>

02:00:19.010 --> 02:00:19.020 align:start position:0%
and The Trusted input is again a block
 

02:00:19.020 --> 02:00:22.850 align:start position:0%
and The Trusted input is again a block
hush<02:00:19.440><c> for</c><02:00:19.800><c> a</c><02:00:20.040><c> specific</c><02:00:20.340><c> block</c><02:00:20.760><c> X</c><02:00:21.060><c> and</c><02:00:22.020><c> if</c><02:00:22.619><c> you</c>

02:00:22.850 --> 02:00:22.860 align:start position:0%
hush for a specific block X and if you
 

02:00:22.860 --> 02:00:24.950 align:start position:0%
hush for a specific block X and if you
follow<02:00:23.280><c> the</c><02:00:23.639><c> initial</c><02:00:23.940><c> slides</c><02:00:24.420><c> that's</c>

02:00:24.950 --> 02:00:24.960 align:start position:0%
follow the initial slides that's
 

02:00:24.960 --> 02:00:26.870 align:start position:0%
follow the initial slides that's
essentially<02:00:25.380><c> each</c><02:00:25.739><c> block</c><02:00:26.040><c> we</c><02:00:26.400><c> given</c><02:00:26.760><c> a</c>

02:00:26.870 --> 02:00:26.880 align:start position:0%
essentially each block we given a
 

02:00:26.880 --> 02:00:28.070 align:start position:0%
essentially each block we given a
blockage<02:00:27.179><c> you</c><02:00:27.420><c> can</c><02:00:27.480><c> recreate</c><02:00:27.840><c> the</c><02:00:27.960><c> block</c>

02:00:28.070 --> 02:00:28.080 align:start position:0%
blockage you can recreate the block
 

02:00:28.080 --> 02:00:30.350 align:start position:0%
blockage you can recreate the block
header<02:00:28.560><c> and</c><02:00:29.099><c> knowing</c><02:00:29.460><c> the</c><02:00:29.580><c> block</c><02:00:29.699><c> header</c><02:00:30.179><c> we</c>

02:00:30.350 --> 02:00:30.360 align:start position:0%
header and knowing the block header we
 

02:00:30.360 --> 02:00:31.430 align:start position:0%
header and knowing the block header we
can

02:00:31.430 --> 02:00:31.440 align:start position:0%
can
 

02:00:31.440 --> 02:00:33.589 align:start position:0%
can
access<02:00:32.040><c> the</c><02:00:32.340><c> parent</c><02:00:32.460><c> question</c><02:00:32.820><c> by</c><02:00:33.300><c> knowing</c>

02:00:33.589 --> 02:00:33.599 align:start position:0%
access the parent question by knowing
 

02:00:33.599 --> 02:00:34.910 align:start position:0%
access the parent question by knowing
the<02:00:33.659><c> parent</c><02:00:33.780><c> hash</c><02:00:34.139><c> you</c><02:00:34.320><c> can</c><02:00:34.380><c> recreate</c><02:00:34.800><c> the</c>

02:00:34.910 --> 02:00:34.920 align:start position:0%
the parent hash you can recreate the
 

02:00:34.920 --> 02:00:36.890 align:start position:0%
the parent hash you can recreate the
previous<02:00:35.040><c> block</c><02:00:35.280><c> header</c><02:00:35.760><c> to</c><02:00:36.119><c> essentially</c><02:00:36.540><c> go</c>

02:00:36.890 --> 02:00:36.900 align:start position:0%
previous block header to essentially go
 

02:00:36.900 --> 02:00:40.010 align:start position:0%
previous block header to essentially go
to<02:00:37.139><c> the</c><02:00:37.380><c> Genesis</c><02:00:38.040><c> block</c><02:00:38.760><c> so</c><02:00:39.239><c> given</c><02:00:39.599><c> this</c><02:00:39.840><c> very</c>

02:00:40.010 --> 02:00:40.020 align:start position:0%
to the Genesis block so given this very
 

02:00:40.020 --> 02:00:41.990 align:start position:0%
to the Genesis block so given this very
small<02:00:40.260><c> input</c><02:00:40.679><c> we</c><02:00:40.980><c> can</c><02:00:41.099><c> essentially</c><02:00:41.460><c> unroll</c>

02:00:41.990 --> 02:00:42.000 align:start position:0%
small input we can essentially unroll
 

02:00:42.000 --> 02:00:44.149 align:start position:0%
small input we can essentially unroll
the<02:00:42.420><c> state</c><02:00:42.659><c> or</c><02:00:42.960><c> whatever</c><02:00:43.139><c> was</c><02:00:43.500><c> present</c><02:00:43.800><c> on</c><02:00:43.980><c> the</c>

02:00:44.149 --> 02:00:44.159 align:start position:0%
the state or whatever was present on the
 

02:00:44.159 --> 02:00:46.490 align:start position:0%
the state or whatever was present on the
chain<02:00:44.280><c> from</c><02:00:44.880><c> this</c><02:00:45.000><c> block</c><02:00:45.239><c> till</c><02:00:45.840><c> the</c><02:00:46.080><c> Journey's</c>

02:00:46.490 --> 02:00:46.500 align:start position:0%
chain from this block till the Journey's
 

02:00:46.500 --> 02:00:47.629 align:start position:0%
chain from this block till the Journey's
block

02:00:47.629 --> 02:00:47.639 align:start position:0%
block
 

02:00:47.639 --> 02:00:50.930 align:start position:0%
block
okay<02:00:48.119><c> so</c><02:00:49.020><c> as</c><02:00:49.860><c> I</c><02:00:49.980><c> said</c><02:00:50.159><c> I'm</c><02:00:50.460><c> gonna</c><02:00:50.639><c> explain</c>

02:00:50.930 --> 02:00:50.940 align:start position:0%
okay so as I said I'm gonna explain
 

02:00:50.940 --> 02:00:53.870 align:start position:0%
okay so as I said I'm gonna explain
everything<02:00:51.480><c> on</c><02:00:52.380><c> on</c><02:00:52.800><c> the</c><02:00:52.980><c> example</c><02:00:53.219><c> of</c><02:00:53.400><c> ethereum</c>

02:00:53.870 --> 02:00:53.880 align:start position:0%
everything on on the example of ethereum
 

02:00:53.880 --> 02:00:57.229 align:start position:0%
everything on on the example of ethereum
and<02:00:54.599><c> today</c><02:00:55.199><c> all</c><02:00:55.739><c> the</c><02:00:55.980><c> block</c><02:00:56.099><c> headers</c><02:00:56.580><c> together</c>

02:00:57.229 --> 02:00:57.239 align:start position:0%
and today all the block headers together
 

02:00:57.239 --> 02:01:00.830 align:start position:0%
and today all the block headers together
are<02:00:57.719><c> like</c><02:00:57.960><c> roughly</c><02:00:58.500><c> seven</c><02:00:58.800><c> gigabytes</c><02:00:59.280><c> of</c><02:00:59.460><c> data</c>

02:01:00.830 --> 02:01:00.840 align:start position:0%
are like roughly seven gigabytes of data
 

02:01:00.840 --> 02:01:03.589 align:start position:0%
are like roughly seven gigabytes of data
so<02:01:01.199><c> it's</c><02:01:01.380><c> quite</c><02:01:01.560><c> a</c><02:01:01.739><c> lot</c><02:01:01.800><c> but</c><02:01:02.699><c> okay</c><02:01:02.820><c> this</c><02:01:03.239><c> is</c><02:01:03.300><c> how</c>

02:01:03.589 --> 02:01:03.599 align:start position:0%
so it's quite a lot but okay this is how
 

02:01:03.599 --> 02:01:05.149 align:start position:0%
so it's quite a lot but okay this is how
we<02:01:03.780><c> actually</c><02:01:04.199><c> do</c><02:01:04.560><c> that</c><02:01:04.679><c> this</c><02:01:04.860><c> is</c><02:01:04.920><c> the</c><02:01:05.040><c> high</c>

02:01:05.149 --> 02:01:05.159 align:start position:0%
we actually do that this is the high
 

02:01:05.159 --> 02:01:06.530 align:start position:0%
we actually do that this is the high
level<02:01:05.340><c> concept</c><02:01:05.820><c> and</c><02:01:06.060><c> what</c><02:01:06.239><c> are</c><02:01:06.420><c> the</c>

02:01:06.530 --> 02:01:06.540 align:start position:0%
level concept and what are the
 

02:01:06.540 --> 02:01:07.550 align:start position:0%
level concept and what are the
approaches

02:01:07.550 --> 02:01:07.560 align:start position:0%
approaches
 

02:01:07.560 --> 02:01:09.350 align:start position:0%
approaches
so<02:01:08.159><c> the</c><02:01:08.400><c> first</c><02:01:08.520><c> one</c><02:01:08.699><c> we</c><02:01:08.880><c> call</c><02:01:09.000><c> it</c><02:01:09.179><c> like</c>

02:01:09.350 --> 02:01:09.360 align:start position:0%
so the first one we call it like
 

02:01:09.360 --> 02:01:11.629 align:start position:0%
so the first one we call it like
on-train<02:01:09.780><c> accumulation</c><02:01:10.320><c> so</c><02:01:10.980><c> essentially</c><02:01:11.400><c> we</c>

02:01:11.629 --> 02:01:11.639 align:start position:0%
on-train accumulation so essentially we
 

02:01:11.639 --> 02:01:13.609 align:start position:0%
on-train accumulation so essentially we
do<02:01:11.820><c> this</c><02:01:12.119><c> procedure</c><02:01:12.780><c> this</c><02:01:13.139><c> computation</c>

02:01:13.609 --> 02:01:13.619 align:start position:0%
do this procedure this computation
 

02:01:13.619 --> 02:01:16.490 align:start position:0%
do this procedure this computation
directly<02:01:14.520><c> on</c><02:01:14.699><c> the</c><02:01:14.820><c> Chain</c><02:01:15.000><c> so</c><02:01:15.300><c> we</c><02:01:15.480><c> provide</c><02:01:15.840><c> all</c>

02:01:16.490 --> 02:01:16.500 align:start position:0%
directly on the Chain so we provide all
 

02:01:16.500 --> 02:01:18.229 align:start position:0%
directly on the Chain so we provide all
these<02:01:16.800><c> properly</c><02:01:17.159><c> encoded</c><02:01:17.639><c> block</c><02:01:17.760><c> headers</c>

02:01:18.229 --> 02:01:18.239 align:start position:0%
these properly encoded block headers
 

02:01:18.239 --> 02:01:20.629 align:start position:0%
these properly encoded block headers
inside<02:01:19.080><c> the</c><02:01:19.320><c> call</c><02:01:19.440><c> data</c>

02:01:20.629 --> 02:01:20.639 align:start position:0%
inside the call data
 

02:01:20.639 --> 02:01:23.209 align:start position:0%
inside the call data
and<02:01:21.420><c> the</c><02:01:21.960><c> blockers</c><02:01:22.260><c> that</c><02:01:22.500><c> we</c><02:01:22.619><c> might</c><02:01:22.860><c> receive</c>

02:01:23.209 --> 02:01:23.219 align:start position:0%
and the blockers that we might receive
 

02:01:23.219 --> 02:01:25.310 align:start position:0%
and the blockers that we might receive
as<02:01:23.520><c> like</c><02:01:23.699><c> The</c><02:01:23.820><c> Trusted</c><02:01:24.239><c> input</c><02:01:24.540><c> by</c><02:01:24.840><c> sending</c><02:01:25.139><c> a</c>

02:01:25.310 --> 02:01:25.320 align:start position:0%
as like The Trusted input by sending a
 

02:01:25.320 --> 02:01:27.530 align:start position:0%
as like The Trusted input by sending a
message<02:01:25.500><c> relaying</c><02:01:26.400><c> it</c><02:01:26.460><c> in</c><02:01:26.580><c> optimistic</c><02:01:27.179><c> manner</c>

02:01:27.530 --> 02:01:27.540 align:start position:0%
message relaying it in optimistic manner
 

02:01:27.540 --> 02:01:29.990 align:start position:0%
message relaying it in optimistic manner
or<02:01:27.960><c> validating</c><02:01:28.380><c> the</c><02:01:28.619><c> consensus</c>

02:01:29.990 --> 02:01:30.000 align:start position:0%
or validating the consensus
 

02:01:30.000 --> 02:01:33.050 align:start position:0%
or validating the consensus
and<02:01:30.900><c> yeah</c><02:01:31.440><c> like</c><02:01:31.739><c> recursively</c><02:01:32.400><c> go</c><02:01:32.639><c> through</c><02:01:32.820><c> all</c>

02:01:33.050 --> 02:01:33.060 align:start position:0%
and yeah like recursively go through all
 

02:01:33.060 --> 02:01:35.629 align:start position:0%
and yeah like recursively go through all
these<02:01:33.239><c> headers</c><02:01:33.659><c> and</c><02:01:34.260><c> and</c><02:01:34.380><c> verify</c><02:01:34.800><c> them</c><02:01:35.040><c> but</c>

02:01:35.629 --> 02:01:35.639 align:start position:0%
these headers and and verify them but
 

02:01:35.639 --> 02:01:38.270 align:start position:0%
these headers and and verify them but
there<02:01:36.179><c> are</c><02:01:36.360><c> many</c><02:01:36.780><c> many</c><02:01:36.960><c> downsides</c><02:01:37.739><c> because</c>

02:01:38.270 --> 02:01:38.280 align:start position:0%
there are many many downsides because
 

02:01:38.280 --> 02:01:40.609 align:start position:0%
there are many many downsides because
first<02:01:38.639><c> of</c><02:01:38.760><c> all</c><02:01:38.880><c> it's</c><02:01:39.599><c> very</c><02:01:39.960><c> cool</c><02:01:40.199><c> data</c>

02:01:40.609 --> 02:01:40.619 align:start position:0%
first of all it's very cool data
 

02:01:40.619 --> 02:01:42.290 align:start position:0%
first of all it's very cool data
intensive<02:01:41.159><c> it's</c><02:01:41.639><c> very</c><02:01:41.880><c> computational</c>

02:01:42.290 --> 02:01:42.300 align:start position:0%
intensive it's very computational
 

02:01:42.300 --> 02:01:44.990 align:start position:0%
intensive it's very computational
intensive<02:01:43.080><c> and</c><02:01:43.679><c> now</c><02:01:43.860><c> we</c><02:01:44.040><c> can</c><02:01:44.219><c> store</c><02:01:44.460><c> all</c><02:01:44.820><c> these</c>

02:01:44.990 --> 02:01:45.000 align:start position:0%
intensive and now we can store all these
 

02:01:45.000 --> 02:01:47.450 align:start position:0%
intensive and now we can store all these
headers<02:01:45.360><c> on</c><02:01:46.080><c> the</c><02:01:46.199><c> actual</c><02:01:46.500><c> chain</c><02:01:46.739><c> but</c><02:01:47.040><c> you</c><02:01:47.340><c> know</c>

02:01:47.450 --> 02:01:47.460 align:start position:0%
headers on the actual chain but you know
 

02:01:47.460 --> 02:01:49.010 align:start position:0%
headers on the actual chain but you know
even<02:01:47.699><c> storing</c>

02:01:49.010 --> 02:01:49.020 align:start position:0%
even storing
 

02:01:49.020 --> 02:01:52.910 align:start position:0%
even storing
on<02:01:49.560><c> an</c><02:01:49.679><c> L2</c><02:01:50.099><c> storing</c><02:01:51.060><c> 7</c><02:01:51.179><c> gigabytes</c><02:01:51.719><c> of</c><02:01:51.840><c> data</c><02:01:52.260><c> is</c>

02:01:52.910 --> 02:01:52.920 align:start position:0%
on an L2 storing 7 gigabytes of data is
 

02:01:52.920 --> 02:01:55.129 align:start position:0%
on an L2 storing 7 gigabytes of data is
still<02:01:53.159><c> a</c><02:01:53.400><c> significant</c><02:01:53.760><c> cost</c><02:01:54.000><c> because</c><02:01:54.360><c> the</c>

02:01:55.129 --> 02:01:55.139 align:start position:0%
still a significant cost because the
 

02:01:55.139 --> 02:01:57.530 align:start position:0%
still a significant cost because the
state<02:01:55.320><c> on</c><02:01:55.500><c> an</c><02:01:55.679><c> L2</c><02:01:55.980><c> is</c><02:01:56.099><c> reflected</c><02:01:56.580><c> as</c><02:01:56.820><c> call</c><02:01:57.179><c> data</c>

02:01:57.530 --> 02:01:57.540 align:start position:0%
state on an L2 is reflected as call data
 

02:01:57.540 --> 02:02:01.430 align:start position:0%
state on an L2 is reflected as call data
on<02:01:57.659><c> L1</c><02:01:58.020><c> so</c><02:01:58.800><c> it's</c><02:01:59.520><c> still</c><02:01:59.880><c> expensive</c><02:02:00.420><c> either</c><02:02:00.659><c> way</c>

02:02:01.430 --> 02:02:01.440 align:start position:0%
on L1 so it's still expensive either way
 

02:02:01.440 --> 02:02:03.410 align:start position:0%
on L1 so it's still expensive either way
but<02:02:01.920><c> the</c><02:02:02.040><c> cool</c><02:02:02.159><c> thing</c><02:02:02.460><c> is</c><02:02:02.639><c> that</c><02:02:02.760><c> I</c><02:02:02.940><c> have</c><02:02:03.119><c> direct</c>

02:02:03.410 --> 02:02:03.420 align:start position:0%
but the cool thing is that I have direct
 

02:02:03.420 --> 02:02:06.169 align:start position:0%
but the cool thing is that I have direct
access<02:02:03.780><c> to</c><02:02:04.560><c> like</c><02:02:05.099><c> State</c><02:02:05.400><c> router</c><02:02:05.820><c> or</c><02:02:06.000><c> anything</c>

02:02:06.169 --> 02:02:06.179 align:start position:0%
access to like State router or anything
 

02:02:06.179 --> 02:02:09.290 align:start position:0%
access to like State router or anything
that<02:02:06.480><c> I</c><02:02:06.599><c> want</c><02:02:06.780><c> to</c><02:02:06.900><c> access</c>

02:02:09.290 --> 02:02:09.300 align:start position:0%
 
 

02:02:09.300 --> 02:02:13.189 align:start position:0%
 
next<02:02:09.780><c> approach</c><02:02:10.199><c> is</c><02:02:11.099><c> unchain</c><02:02:11.580><c> compression</c>

02:02:13.189 --> 02:02:13.199 align:start position:0%
next approach is unchain compression
 

02:02:13.199 --> 02:02:16.070 align:start position:0%
next approach is unchain compression
so<02:02:13.800><c> we</c><02:02:14.280><c> can</c><02:02:14.520><c> still</c><02:02:14.880><c> use</c><02:02:15.300><c> the</c><02:02:15.540><c> same</c><02:02:15.659><c> approaches</c>

02:02:16.070 --> 02:02:16.080 align:start position:0%
so we can still use the same approaches
 

02:02:16.080 --> 02:02:19.430 align:start position:0%
so we can still use the same approaches
previously<02:02:16.560><c> so</c><02:02:16.980><c> literally</c><02:02:17.340><c> unroll</c><02:02:17.760><c> it</c><02:02:18.480><c> and</c>

02:02:19.430 --> 02:02:19.440 align:start position:0%
previously so literally unroll it and
 

02:02:19.440 --> 02:02:21.709 align:start position:0%
previously so literally unroll it and
process<02:02:20.040><c> this</c><02:02:20.340><c> seven</c><02:02:20.580><c> gigabytes</c><02:02:21.119><c> of</c><02:02:21.239><c> data</c><02:02:21.540><c> but</c>

02:02:21.709 --> 02:02:21.719 align:start position:0%
process this seven gigabytes of data but
 

02:02:21.719 --> 02:02:23.810 align:start position:0%
process this seven gigabytes of data but
instead<02:02:22.080><c> of</c><02:02:22.139><c> like</c><02:02:22.320><c> storing</c><02:02:22.800><c> then</c><02:02:23.340><c> we</c><02:02:23.580><c> can</c><02:02:23.639><c> just</c>

02:02:23.810 --> 02:02:23.820 align:start position:0%
instead of like storing then we can just
 

02:02:23.820 --> 02:02:25.790 align:start position:0%
instead of like storing then we can just
update<02:02:24.119><c> the</c><02:02:24.300><c> miracle</c><02:02:24.599><c> tree</c><02:02:24.780><c> it's</c><02:02:25.440><c> a</c><02:02:25.679><c> nice</c>

02:02:25.790 --> 02:02:25.800 align:start position:0%
update the miracle tree it's a nice
 

02:02:25.800 --> 02:02:27.770 align:start position:0%
update the miracle tree it's a nice
approach<02:02:26.159><c> but</c><02:02:26.460><c> comes</c><02:02:26.940><c> again</c><02:02:27.119><c> with</c><02:02:27.360><c> a</c><02:02:27.540><c> few</c><02:02:27.599><c> dump</c>

02:02:27.770 --> 02:02:27.780 align:start position:0%
approach but comes again with a few dump
 

02:02:27.780 --> 02:02:30.350 align:start position:0%
approach but comes again with a few dump
sites<02:02:28.199><c> it's</c><02:02:28.920><c> very</c><02:02:29.159><c> computationally</c><02:02:29.820><c> intense</c>

02:02:30.350 --> 02:02:30.360 align:start position:0%
sites it's very computationally intense
 

02:02:30.360 --> 02:02:31.970 align:start position:0%
sites it's very computationally intense
because<02:02:30.719><c> if</c><02:02:31.139><c> we</c><02:02:31.199><c> have</c><02:02:31.380><c> like</c><02:02:31.500><c> millions</c><02:02:31.860><c> of</c>

02:02:31.970 --> 02:02:31.980 align:start position:0%
because if we have like millions of
 

02:02:31.980 --> 02:02:34.129 align:start position:0%
because if we have like millions of
headers<02:02:32.340><c> we</c><02:02:32.580><c> need</c><02:02:32.760><c> to</c><02:02:32.880><c> perform</c><02:02:33.360><c> millions</c><02:02:33.960><c> of</c>

02:02:34.129 --> 02:02:34.139 align:start position:0%
headers we need to perform millions of
 

02:02:34.139 --> 02:02:36.530 align:start position:0%
headers we need to perform millions of
hashes<02:02:34.560><c> on</c><02:02:34.980><c> the</c><02:02:35.099><c> Chain</c><02:02:35.300><c> that's</c><02:02:36.300><c> that's</c>

02:02:36.530 --> 02:02:36.540 align:start position:0%
hashes on the Chain that's that's
 

02:02:36.540 --> 02:02:39.169 align:start position:0%
hashes on the Chain that's that's
expensive<02:02:37.139><c> but</c><02:02:37.619><c> at</c><02:02:37.739><c> least</c><02:02:37.920><c> we</c><02:02:38.159><c> we</c><02:02:38.460><c> save</c><02:02:38.699><c> on</c><02:02:39.000><c> on</c>

02:02:39.169 --> 02:02:39.179 align:start position:0%
expensive but at least we we save on on
 

02:02:39.179 --> 02:02:42.169 align:start position:0%
expensive but at least we we save on on
storing<02:02:39.659><c> data</c><02:02:40.460><c> and</c><02:02:41.460><c> also</c><02:02:41.639><c> we</c><02:02:41.760><c> need</c><02:02:41.880><c> to</c><02:02:41.940><c> update</c>

02:02:42.169 --> 02:02:42.179 align:start position:0%
storing data and also we need to update
 

02:02:42.179 --> 02:02:43.550 align:start position:0%
storing data and also we need to update
the<02:02:42.300><c> miracle</c><02:02:42.599><c> tree</c><02:02:42.780><c> which</c><02:02:43.020><c> is</c><02:02:43.080><c> which</c><02:02:43.380><c> is</c>

02:02:43.550 --> 02:02:43.560 align:start position:0%
the miracle tree which is which is
 

02:02:43.560 --> 02:02:45.470 align:start position:0%
the miracle tree which is which is
another<02:02:43.679><c> cost</c>

02:02:45.470 --> 02:02:45.480 align:start position:0%
another cost
 

02:02:45.480 --> 02:02:46.129 align:start position:0%
another cost
um

02:02:46.129 --> 02:02:46.139 align:start position:0%
um
 

02:02:46.139 --> 02:02:49.070 align:start position:0%
um
last<02:02:46.739><c> downside</c><02:02:47.219><c> is</c><02:02:48.000><c> that</c><02:02:48.179><c> we</c><02:02:48.300><c> need</c><02:02:48.480><c> to</c><02:02:48.659><c> index</c>

02:02:49.070 --> 02:02:49.080 align:start position:0%
last downside is that we need to index
 

02:02:49.080 --> 02:02:50.930 align:start position:0%
last downside is that we need to index
all<02:02:49.500><c> the</c><02:02:49.619><c> headers</c><02:02:49.920><c> that</c><02:02:50.099><c> have</c><02:02:50.280><c> been</c><02:02:50.460><c> processed</c>

02:02:50.930 --> 02:02:50.940 align:start position:0%
all the headers that have been processed
 

02:02:50.940 --> 02:02:53.030 align:start position:0%
all the headers that have been processed
why<02:02:51.360><c> we</c><02:02:51.599><c> need</c><02:02:51.719><c> to</c><02:02:51.780><c> index</c><02:02:52.080><c> them</c><02:02:52.320><c> because</c><02:02:52.500><c> if</c><02:02:52.860><c> I</c>

02:02:53.030 --> 02:02:53.040 align:start position:0%
why we need to index them because if I
 

02:02:53.040 --> 02:02:54.109 align:start position:0%
why we need to index them because if I
want<02:02:53.219><c> to</c>

02:02:54.109 --> 02:02:54.119 align:start position:0%
want to
 

02:02:54.119 --> 02:02:58.010 align:start position:0%
want to
up<02:02:54.659><c> the</c><02:02:54.900><c> access</c><02:02:55.440><c> a</c><02:02:56.219><c> specific</c><02:02:56.580><c> block</c><02:02:56.820><c> header</c><02:02:57.300><c> I</c>

02:02:58.010 --> 02:02:58.020 align:start position:0%
up the access a specific block header I
 

02:02:58.020 --> 02:02:59.450 align:start position:0%
up the access a specific block header I
need<02:02:58.139><c> to</c><02:02:58.260><c> provide</c><02:02:58.500><c> a</c><02:02:58.619><c> miracle</c><02:02:58.980><c> tab</c><02:02:59.219><c> because</c><02:02:59.340><c> as</c>

02:02:59.450 --> 02:02:59.460 align:start position:0%
need to provide a miracle tab because as
 

02:02:59.460 --> 02:03:01.729 align:start position:0%
need to provide a miracle tab because as
we<02:02:59.639><c> update</c><02:02:59.880><c> the</c><02:03:00.060><c> miracle</c><02:03:00.360><c> 3</c><02:03:00.480><c> and</c><02:03:01.440><c> we</c><02:03:01.560><c> just</c>

02:03:01.729 --> 02:03:01.739 align:start position:0%
we update the miracle 3 and we just
 

02:03:01.739 --> 02:03:03.830 align:start position:0%
we update the miracle 3 and we just
store<02:03:01.920><c> the</c><02:03:02.159><c> root</c><02:03:02.280><c> in</c><02:03:03.060><c> the</c><02:03:03.239><c> contract</c><02:03:03.480><c> itself</c>

02:03:03.830 --> 02:03:03.840 align:start position:0%
store the root in the contract itself
 

02:03:03.840 --> 02:03:05.510 align:start position:0%
store the root in the contract itself
then<02:03:04.199><c> I</c><02:03:04.380><c> need</c><02:03:04.440><c> to</c><02:03:04.560><c> know</c><02:03:04.619><c> the</c><02:03:04.800><c> path</c><02:03:04.920><c> right</c><02:03:05.159><c> so</c><02:03:05.400><c> I</c>

02:03:05.510 --> 02:03:05.520 align:start position:0%
then I need to know the path right so I
 

02:03:05.520 --> 02:03:07.790 align:start position:0%
then I need to know the path right so I
need<02:03:05.639><c> to</c><02:03:05.760><c> index</c><02:03:06.300><c> the</c><02:03:06.540><c> data</c><02:03:06.900><c> and</c><02:03:07.020><c> essentially</c>

02:03:07.790 --> 02:03:07.800 align:start position:0%
need to index the data and essentially
 

02:03:07.800 --> 02:03:09.950 align:start position:0%
need to index the data and essentially
once<02:03:08.639><c> I</c><02:03:08.820><c> it's</c><02:03:09.119><c> the</c><02:03:09.300><c> moment</c><02:03:09.480><c> that</c><02:03:09.659><c> I</c><02:03:09.780><c> want</c><02:03:09.900><c> to</c>

02:03:09.950 --> 02:03:09.960 align:start position:0%
once I it's the moment that I want to
 

02:03:09.960 --> 02:03:12.109 align:start position:0%
once I it's the moment that I want to
access<02:03:10.080><c> it</c><02:03:10.320><c> I</c><02:03:10.500><c> need</c><02:03:10.619><c> to</c><02:03:10.679><c> provide</c><02:03:10.980><c> the</c><02:03:11.219><c> miracle</c>

02:03:12.109 --> 02:03:12.119 align:start position:0%
access it I need to provide the miracle
 

02:03:12.119 --> 02:03:13.129 align:start position:0%
access it I need to provide the miracle
path

02:03:13.129 --> 02:03:13.139 align:start position:0%
path
 

02:03:13.139 --> 02:03:15.709 align:start position:0%
path
this<02:03:13.560><c> approach</c><02:03:13.860><c> is</c><02:03:14.040><c> okay</c><02:03:14.400><c> it's</c>

02:03:15.709 --> 02:03:15.719 align:start position:0%
this approach is okay it's
 

02:03:15.719 --> 02:03:17.390 align:start position:0%
this approach is okay it's
I<02:03:16.260><c> wouldn't</c><02:03:16.440><c> say</c><02:03:16.619><c> way</c><02:03:16.800><c> better</c><02:03:17.040><c> than</c><02:03:17.219><c> the</c>

02:03:17.390 --> 02:03:17.400 align:start position:0%
I wouldn't say way better than the
 

02:03:17.400 --> 02:03:21.589 align:start position:0%
I wouldn't say way better than the
previous<02:03:17.580><c> one</c><02:03:17.820><c> but</c><02:03:18.239><c> it's</c><02:03:18.840><c> way</c><02:03:19.320><c> cheaper</c>

02:03:21.589 --> 02:03:21.599 align:start position:0%
previous one but it's way cheaper
 

02:03:21.599 --> 02:03:23.330 align:start position:0%
previous one but it's way cheaper
last<02:03:22.199><c> approach</c>

02:03:23.330 --> 02:03:23.340 align:start position:0%
last approach
 

02:03:23.340 --> 02:03:25.790 align:start position:0%
last approach
so<02:03:23.820><c> there</c><02:03:24.119><c> is</c><02:03:24.300><c> a</c><02:03:24.540><c> very</c><02:03:24.659><c> cool</c><02:03:24.900><c> primitive</c><02:03:25.440><c> called</c>

02:03:25.790 --> 02:03:25.800 align:start position:0%
so there is a very cool primitive called
 

02:03:25.800 --> 02:03:27.890 align:start position:0%
so there is a very cool primitive called
Merkel<02:03:26.340><c> mountain</c><02:03:26.520><c> ranges</c>

02:03:27.890 --> 02:03:27.900 align:start position:0%
Merkel mountain ranges
 

02:03:27.900 --> 02:03:31.129 align:start position:0%
Merkel mountain ranges
love<02:03:28.560><c> it</c><02:03:28.800><c> and</c><02:03:29.639><c> the</c><02:03:29.820><c> idea</c><02:03:30.060><c> is</c><02:03:30.239><c> let's</c><02:03:30.599><c> do</c><02:03:30.900><c> the</c>

02:03:31.129 --> 02:03:31.139 align:start position:0%
love it and the idea is let's do the
 

02:03:31.139 --> 02:03:32.510 align:start position:0%
love it and the idea is let's do the
same

02:03:32.510 --> 02:03:32.520 align:start position:0%
same
 

02:03:32.520 --> 02:03:35.510 align:start position:0%
same
that<02:03:32.940><c> we</c><02:03:33.119><c> do</c><02:03:33.239><c> previously</c><02:03:33.719><c> inside</c><02:03:34.080><c> this</c><02:03:34.320><c> Arc</c><02:03:34.800><c> so</c>

02:03:35.510 --> 02:03:35.520 align:start position:0%
that we do previously inside this Arc so
 

02:03:35.520 --> 02:03:38.089 align:start position:0%
that we do previously inside this Arc so
we<02:03:35.699><c> can</c><02:03:35.820><c> provide</c><02:03:36.239><c> this</c><02:03:36.960><c> tremendous</c><02:03:37.679><c> amount</c><02:03:37.980><c> of</c>

02:03:38.089 --> 02:03:38.099 align:start position:0%
we can provide this tremendous amount of
 

02:03:38.099 --> 02:03:41.149 align:start position:0%
we can provide this tremendous amount of
data<02:03:38.520><c> as</c><02:03:39.060><c> a</c><02:03:39.239><c> private</c><02:03:39.480><c> input</c><02:03:39.719><c> to</c><02:03:39.840><c> the</c><02:03:40.020><c> circuit</c>

02:03:41.149 --> 02:03:41.159 align:start position:0%
data as a private input to the circuit
 

02:03:41.159 --> 02:03:43.430 align:start position:0%
data as a private input to the circuit
and<02:03:41.820><c> essentially</c><02:03:42.300><c> do</c><02:03:42.659><c> the</c><02:03:42.780><c> same</c><02:03:42.960><c> computation</c>

02:03:43.430 --> 02:03:43.440 align:start position:0%
and essentially do the same computation
 

02:03:43.440 --> 02:03:46.370 align:start position:0%
and essentially do the same computation
like<02:03:43.679><c> unrolling</c><02:03:44.420><c> inside</c><02:03:45.420><c> this</c><02:03:45.659><c> record</c><02:03:45.900><c> itself</c>

02:03:46.370 --> 02:03:46.380 align:start position:0%
like unrolling inside this record itself
 

02:03:46.380 --> 02:03:48.950 align:start position:0%
like unrolling inside this record itself
and<02:03:46.980><c> now</c><02:03:47.159><c> we</c><02:03:47.820><c> have</c><02:03:47.940><c> a</c><02:03:48.060><c> public</c><02:03:48.239><c> input</c><02:03:48.599><c> which</c><02:03:48.840><c> is</c>

02:03:48.950 --> 02:03:48.960 align:start position:0%
and now we have a public input which is
 

02:03:48.960 --> 02:03:50.209 align:start position:0%
and now we have a public input which is
the<02:03:49.080><c> blockage</c><02:03:49.440><c> so</c><02:03:49.679><c> essentially</c><02:03:50.040><c> the</c>

02:03:50.209 --> 02:03:50.219 align:start position:0%
the blockage so essentially the
 

02:03:50.219 --> 02:03:52.790 align:start position:0%
the blockage so essentially the
commitment<02:03:50.580><c> from</c><02:03:50.880><c> which</c><02:03:51.060><c> we</c><02:03:51.360><c> unroll</c><02:03:52.020><c> it</c>

02:03:52.790 --> 02:03:52.800 align:start position:0%
commitment from which we unroll it
 

02:03:52.800 --> 02:03:55.189 align:start position:0%
commitment from which we unroll it
so<02:03:53.520><c> the</c><02:03:53.820><c> trusted</c><02:03:54.179><c> input</c><02:03:54.480><c> the</c><02:03:54.659><c> public</c><02:03:54.780><c> input</c>

02:03:55.189 --> 02:03:55.199 align:start position:0%
so the trusted input the public input
 

02:03:55.199 --> 02:03:56.870 align:start position:0%
so the trusted input the public input
can<02:03:55.380><c> be</c><02:03:55.560><c> literally</c><02:03:55.860><c> asserted</c><02:03:56.400><c> when</c><02:03:56.580><c> we</c><02:03:56.699><c> do</c><02:03:56.820><c> the</c>

02:03:56.870 --> 02:03:56.880 align:start position:0%
can be literally asserted when we do the
 

02:03:56.880 --> 02:03:58.609 align:start position:0%
can be literally asserted when we do the
on-train<02:03:57.300><c> verification</c>

02:03:58.609 --> 02:03:58.619 align:start position:0%
on-train verification
 

02:03:58.619 --> 02:04:00.830 align:start position:0%
on-train verification
and<02:03:59.159><c> why</c><02:03:59.340><c> we</c><02:03:59.460><c> unroll</c><02:03:59.820><c> it</c><02:04:00.060><c> we</c><02:04:00.239><c> can</c><02:04:00.360><c> accumulate</c>

02:04:00.830 --> 02:04:00.840 align:start position:0%
and why we unroll it we can accumulate
 

02:04:00.840 --> 02:04:02.930 align:start position:0%
and why we unroll it we can accumulate
inside<02:04:01.020><c> the</c><02:04:01.260><c> miracle</c><02:04:01.560><c> tree</c><02:04:01.800><c> or</c><02:04:02.639><c> American</c>

02:04:02.930 --> 02:04:02.940 align:start position:0%
inside the miracle tree or American
 

02:04:02.940 --> 02:04:04.850 align:start position:0%
inside the miracle tree or American
mountain<02:04:03.360><c> range</c><02:04:03.780><c> why</c><02:04:04.139><c> American</c><02:04:04.440><c> mountain</c>

02:04:04.850 --> 02:04:04.860 align:start position:0%
mountain range why American mountain
 

02:04:04.860 --> 02:04:07.370 align:start position:0%
mountain range why American mountain
range<02:04:05.340><c> is</c><02:04:05.699><c> is</c><02:04:05.940><c> cool</c><02:04:06.239><c> because</c><02:04:06.599><c> well</c><02:04:06.900><c> let's</c>

02:04:07.370 --> 02:04:07.380 align:start position:0%
range is is cool because well let's
 

02:04:07.380 --> 02:04:09.709 align:start position:0%
range is is cool because well let's
imagine<02:04:07.560><c> that</c><02:04:07.860><c> you</c><02:04:07.980><c> want</c><02:04:08.159><c> to</c><02:04:08.280><c> have</c><02:04:08.460><c> like</c><02:04:08.760><c> seven</c>

02:04:09.709 --> 02:04:09.719 align:start position:0%
imagine that you want to have like seven
 

02:04:09.719 --> 02:04:11.689 align:start position:0%
imagine that you want to have like seven
gigabytes<02:04:10.500><c> of</c><02:04:10.619><c> data</c><02:04:10.920><c> processing</c><02:04:11.280><c> one</c><02:04:11.520><c> star</c>

02:04:11.689 --> 02:04:11.699 align:start position:0%
gigabytes of data processing one star
 

02:04:11.699 --> 02:04:13.370 align:start position:0%
gigabytes of data processing one star
like<02:04:11.880><c> the</c><02:04:12.060><c> proving</c><02:04:12.300><c> time</c><02:04:12.480><c> is</c><02:04:12.659><c> going</c><02:04:13.020><c> to</c><02:04:13.139><c> be</c>

02:04:13.370 --> 02:04:13.380 align:start position:0%
like the proving time is going to be
 

02:04:13.380 --> 02:04:15.229 align:start position:0%
like the proving time is going to be
horrible<02:04:13.739><c> and</c><02:04:14.040><c> why</c><02:04:14.280><c> would</c><02:04:14.580><c> you</c><02:04:14.820><c> even</c><02:04:14.880><c> like</c>

02:04:15.229 --> 02:04:15.239 align:start position:0%
horrible and why would you even like
 

02:04:15.239 --> 02:04:18.050 align:start position:0%
horrible and why would you even like
prove<02:04:16.560><c> this</c><02:04:16.980><c> commitment</c><02:04:17.400><c> for</c><02:04:17.699><c> like</c><02:04:17.880><c> the</c>

02:04:18.050 --> 02:04:18.060 align:start position:0%
prove this commitment for like the
 

02:04:18.060 --> 02:04:19.850 align:start position:0%
prove this commitment for like the
entire<02:04:18.360><c> history</c><02:04:18.599><c> like</c><02:04:19.139><c> do</c><02:04:19.320><c> you</c><02:04:19.500><c> really</c><02:04:19.619><c> need</c>

02:04:19.850 --> 02:04:19.860 align:start position:0%
entire history like do you really need
 

02:04:19.860 --> 02:04:23.390 align:start position:0%
entire history like do you really need
that<02:04:20.040><c> probably</c><02:04:20.639><c> not</c><02:04:20.940><c> so</c><02:04:21.840><c> let's</c><02:04:22.560><c> chunk</c><02:04:23.040><c> it</c><02:04:23.219><c> like</c>

02:04:23.390 --> 02:04:23.400 align:start position:0%
that probably not so let's chunk it like
 

02:04:23.400 --> 02:04:25.430 align:start position:0%
that probably not so let's chunk it like
into<02:04:23.580><c> smaller</c><02:04:24.000><c> pieces</c><02:04:24.420><c> and</c><02:04:24.900><c> Miracle</c><02:04:25.320><c> mountain</c>

02:04:25.430 --> 02:04:25.440 align:start position:0%
into smaller pieces and Miracle mountain
 

02:04:25.440 --> 02:04:27.830 align:start position:0%
into smaller pieces and Miracle mountain
ranges<02:04:26.040><c> are</c><02:04:26.280><c> pretty</c><02:04:26.580><c> cool</c><02:04:26.760><c> primitive</c><02:04:27.239><c> that</c>

02:04:27.830 --> 02:04:27.840 align:start position:0%
ranges are pretty cool primitive that
 

02:04:27.840 --> 02:04:30.589 align:start position:0%
ranges are pretty cool primitive that
allow<02:04:28.139><c> to</c><02:04:28.380><c> do</c><02:04:28.440><c> this</c><02:04:28.619><c> to</c><02:04:29.040><c> do</c><02:04:29.219><c> to</c><02:04:29.340><c> do</c><02:04:29.580><c> this</c>

02:04:30.589 --> 02:04:30.599 align:start position:0%
allow to do this to do to do this
 

02:04:30.599 --> 02:04:34.070 align:start position:0%
allow to do this to do to do this
to<02:04:31.080><c> give</c><02:04:31.260><c> you</c><02:04:31.380><c> like</c><02:04:31.619><c> a</c><02:04:32.159><c> bit</c><02:04:32.460><c> of</c><02:04:32.580><c> intuition</c><02:04:33.080><c> how</c>

02:04:34.070 --> 02:04:34.080 align:start position:0%
to give you like a bit of intuition how
 

02:04:34.080 --> 02:04:36.410 align:start position:0%
to give you like a bit of intuition how
how<02:04:34.260><c> does</c><02:04:34.440><c> it</c><02:04:34.619><c> work</c><02:04:34.800><c> it's</c><02:04:35.520><c> essential</c><02:04:35.940><c> think</c><02:04:36.239><c> of</c>

02:04:36.410 --> 02:04:36.420 align:start position:0%
how does it work it's essential think of
 

02:04:36.420 --> 02:04:38.810 align:start position:0%
how does it work it's essential think of
it<02:04:36.540><c> as</c><02:04:36.719><c> a</c><02:04:36.900><c> tree</c><02:04:37.020><c> of</c><02:04:37.260><c> trees</c>

02:04:38.810 --> 02:04:38.820 align:start position:0%
it as a tree of trees
 

02:04:38.820 --> 02:04:41.330 align:start position:0%
it as a tree of trees
um<02:04:38.940><c> yeah</c><02:04:39.239><c> so</c><02:04:39.659><c> once</c><02:04:40.380><c> we</c><02:04:40.440><c> do</c><02:04:40.619><c> all</c><02:04:40.800><c> this</c><02:04:40.920><c> proving</c>

02:04:41.330 --> 02:04:41.340 align:start position:0%
um yeah so once we do all this proving
 

02:04:41.340 --> 02:04:43.490 align:start position:0%
um yeah so once we do all this proving
like<02:04:41.460><c> of</c><02:04:41.699><c> chain</c><02:04:41.940><c> we</c><02:04:42.300><c> simply</c><02:04:42.659><c> verify</c><02:04:43.080><c> the</c><02:04:43.199><c> proof</c>

02:04:43.490 --> 02:04:43.500 align:start position:0%
like of chain we simply verify the proof
 

02:04:43.500 --> 02:04:45.470 align:start position:0%
like of chain we simply verify the proof
on<02:04:43.619><c> chain</c><02:04:43.920><c> as</c><02:04:44.580><c> you</c><02:04:44.699><c> know</c><02:04:44.820><c> like</c><02:04:44.940><c> refine</c><02:04:45.360><c> the</c>

02:04:45.470 --> 02:04:45.480 align:start position:0%
on chain as you know like refine the
 

02:04:45.480 --> 02:04:48.109 align:start position:0%
on chain as you know like refine the
proof<02:04:45.780><c> is</c><02:04:45.960><c> is</c><02:04:46.679><c> way</c><02:04:47.219><c> cheaper</c><02:04:47.520><c> than</c><02:04:47.699><c> doing</c><02:04:47.880><c> this</c>

02:04:48.109 --> 02:04:48.119 align:start position:0%
proof is is way cheaper than doing this
 

02:04:48.119 --> 02:04:49.669 align:start position:0%
proof is is way cheaper than doing this
directly<02:04:48.480><c> on</c><02:04:48.659><c> the</c><02:04:48.780><c> chain</c>

02:04:49.669 --> 02:04:49.679 align:start position:0%
directly on the chain
 

02:04:49.679 --> 02:04:52.669 align:start position:0%
directly on the chain
and<02:04:50.340><c> still</c><02:04:50.699><c> we</c><02:04:51.300><c> just</c><02:04:51.719><c> provide</c><02:04:52.020><c> a</c><02:04:52.139><c> miracle</c><02:04:52.500><c> path</c>

02:04:52.669 --> 02:04:52.679 align:start position:0%
and still we just provide a miracle path
 

02:04:52.679 --> 02:04:55.010 align:start position:0%
and still we just provide a miracle path
and<02:04:53.040><c> that's</c><02:04:53.159><c> it</c><02:04:53.820><c> we</c><02:04:54.239><c> essentially</c><02:04:54.599><c> have</c><02:04:54.840><c> access</c>

02:04:55.010 --> 02:04:55.020 align:start position:0%
and that's it we essentially have access
 

02:04:55.020 --> 02:04:57.350 align:start position:0%
and that's it we essentially have access
to<02:04:55.260><c> any</c><02:04:55.380><c> sort</c><02:04:55.619><c> of</c><02:04:55.739><c> data</c><02:04:56.040><c> we</c><02:04:56.159><c> want</c>

02:04:57.350 --> 02:04:57.360 align:start position:0%
to any sort of data we want
 

02:04:57.360 --> 02:05:00.709 align:start position:0%
to any sort of data we want
let's<02:04:57.780><c> do</c><02:04:58.020><c> a</c><02:04:58.139><c> recap</c><02:04:58.500><c> again</c><02:04:58.980><c> so</c><02:04:59.719><c> approach</c>

02:05:00.709 --> 02:05:00.719 align:start position:0%
let's do a recap again so approach
 

02:05:00.719 --> 02:05:03.290 align:start position:0%
let's do a recap again so approach
number<02:05:00.900><c> one</c><02:05:01.139><c> on</c><02:05:01.440><c> the</c><02:05:01.619><c> accumulation</c><02:05:02.159><c> on</c><02:05:03.000><c> chain</c>

02:05:03.290 --> 02:05:03.300 align:start position:0%
number one on the accumulation on chain
 

02:05:03.300 --> 02:05:06.229 align:start position:0%
number one on the accumulation on chain
compression<02:05:03.840><c> of</c><02:05:04.500><c> chain</c><02:05:04.800><c> compression</c><02:05:05.340><c> three</c>

02:05:06.229 --> 02:05:06.239 align:start position:0%
compression of chain compression three
 

02:05:06.239 --> 02:05:08.930 align:start position:0%
compression of chain compression three
categories<02:05:06.780><c> prover</c><02:05:07.440><c> overhead</c><02:05:07.920><c> gas</c><02:05:08.639><c> cost</c>

02:05:08.930 --> 02:05:08.940 align:start position:0%
categories prover overhead gas cost
 

02:05:08.940 --> 02:05:10.850 align:start position:0%
categories prover overhead gas cost
storage<02:05:09.540><c> cost</c>

02:05:10.850 --> 02:05:10.860 align:start position:0%
storage cost
 

02:05:10.860 --> 02:05:12.350 align:start position:0%
storage cost
actually<02:05:11.340><c> gas</c><02:05:11.760><c> costs</c><02:05:12.119><c> should</c><02:05:12.239><c> be</c>

02:05:12.350 --> 02:05:12.360 align:start position:0%
actually gas costs should be
 

02:05:12.360 --> 02:05:14.390 align:start position:0%
actually gas costs should be
computational<02:05:13.020><c> cost</c>

02:05:14.390 --> 02:05:14.400 align:start position:0%
computational cost
 

02:05:14.400 --> 02:05:16.370 align:start position:0%
computational cost
okay<02:05:14.820><c> so</c><02:05:15.060><c> prover</c><02:05:15.360><c> overhead</c><02:05:15.840><c> on-chain</c>

02:05:16.370 --> 02:05:16.380 align:start position:0%
okay so prover overhead on-chain
 

02:05:16.380 --> 02:05:18.350 align:start position:0%
okay so prover overhead on-chain
accumulation<02:05:16.800><c> do</c><02:05:17.400><c> we</c><02:05:17.520><c> prove</c><02:05:17.760><c> anything</c><02:05:17.940><c> well</c>

02:05:18.350 --> 02:05:18.360 align:start position:0%
accumulation do we prove anything well
 

02:05:18.360 --> 02:05:21.410 align:start position:0%
accumulation do we prove anything well
not<02:05:18.780><c> really</c><02:05:18.960><c> so</c><02:05:19.800><c> we</c><02:05:19.980><c> are</c><02:05:20.159><c> happy</c><02:05:20.420><c> answering</c>

02:05:21.410 --> 02:05:21.420 align:start position:0%
not really so we are happy answering
 

02:05:21.420 --> 02:05:27.050 align:start position:0%
not really so we are happy answering
compression<02:05:21.900><c> well</c>

02:05:27.050 --> 02:05:27.060 align:start position:0%
 
 

02:05:27.060 --> 02:05:29.030 align:start position:0%
 
we<02:05:27.599><c> still</c><02:05:27.780><c> like</c><02:05:28.020><c> need</c><02:05:28.199><c> to</c><02:05:28.320><c> update</c><02:05:28.619><c> the</c><02:05:28.679><c> miracle</c>

02:05:29.030 --> 02:05:29.040 align:start position:0%
we still like need to update the miracle
 

02:05:29.040 --> 02:05:31.250 align:start position:0%
we still like need to update the miracle
tree<02:05:29.099><c> I</c><02:05:29.460><c> think</c><02:05:29.520><c> actually</c><02:05:29.699><c> there</c><02:05:30.060><c> is</c><02:05:30.239><c> uh</c><02:05:30.719><c> there</c>

02:05:31.250 --> 02:05:31.260 align:start position:0%
tree I think actually there is uh there
 

02:05:31.260 --> 02:05:33.290 align:start position:0%
tree I think actually there is uh there
is<02:05:31.380><c> an</c><02:05:31.440><c> issue</c><02:05:31.739><c> here</c><02:05:31.920><c> so</c><02:05:32.400><c> I'll</c><02:05:32.639><c> just</c><02:05:32.880><c> skip</c><02:05:33.060><c> this</c>

02:05:33.290 --> 02:05:33.300 align:start position:0%
is an issue here so I'll just skip this
 

02:05:33.300 --> 02:05:35.870 align:start position:0%
is an issue here so I'll just skip this
part<02:05:33.480><c> after</c><02:05:33.960><c> in</c><02:05:34.320><c> compression</c><02:05:34.800><c> you're</c><02:05:35.460><c> very</c>

02:05:35.870 --> 02:05:35.880 align:start position:0%
part after in compression you're very
 

02:05:35.880 --> 02:05:38.689 align:start position:0%
part after in compression you're very
very<02:05:36.060><c> sad</c><02:05:36.480><c> because</c><02:05:36.960><c> well</c><02:05:37.800><c> we</c><02:05:38.099><c> need</c><02:05:38.219><c> to</c><02:05:38.340><c> prove</c>

02:05:38.689 --> 02:05:38.699 align:start position:0%
very sad because well we need to prove
 

02:05:38.699 --> 02:05:41.570 align:start position:0%
very sad because well we need to prove
actually<02:05:38.940><c> significant</c><02:05:39.900><c> computation</c><02:05:40.440><c> so</c><02:05:41.340><c> the</c>

02:05:41.570 --> 02:05:41.580 align:start position:0%
actually significant computation so the
 

02:05:41.580 --> 02:05:44.030 align:start position:0%
actually significant computation so the
proving<02:05:41.880><c> time</c><02:05:42.060><c> is</c><02:05:42.239><c> significant</c><02:05:42.719><c> okay</c><02:05:43.560><c> now</c><02:05:43.860><c> in</c>

02:05:44.030 --> 02:05:44.040 align:start position:0%
proving time is significant okay now in
 

02:05:44.040 --> 02:05:45.830 align:start position:0%
proving time is significant okay now in
terms<02:05:44.219><c> of</c><02:05:44.280><c> gas</c><02:05:44.520><c> cause</c><02:05:44.760><c> the</c><02:05:45.000><c> third</c><02:05:45.119><c> approach</c><02:05:45.540><c> is</c>

02:05:45.830 --> 02:05:45.840 align:start position:0%
terms of gas cause the third approach is
 

02:05:45.840 --> 02:05:47.570 align:start position:0%
terms of gas cause the third approach is
horrible<02:05:46.199><c> because</c><02:05:46.560><c> it</c><02:05:46.800><c> just</c><02:05:46.920><c> costs</c><02:05:47.340><c> a</c><02:05:47.460><c> lot</c>

02:05:47.570 --> 02:05:47.580 align:start position:0%
horrible because it just costs a lot
 

02:05:47.580 --> 02:05:49.669 align:start position:0%
horrible because it just costs a lot
because<02:05:48.179><c> we</c><02:05:48.480><c> do</c><02:05:48.659><c> the</c><02:05:48.780><c> entire</c><02:05:49.139><c> computation</c>

02:05:49.669 --> 02:05:49.679 align:start position:0%
because we do the entire computation
 

02:05:49.679 --> 02:05:52.550 align:start position:0%
because we do the entire computation
engine<02:05:50.520><c> compression</c><02:05:51.119><c> well</c><02:05:51.360><c> we're</c><02:05:52.080><c> a</c><02:05:52.440><c> bit</c>

02:05:52.550 --> 02:05:52.560 align:start position:0%
engine compression well we're a bit
 

02:05:52.560 --> 02:05:54.290 align:start position:0%
engine compression well we're a bit
happy<02:05:52.800><c> because</c><02:05:53.159><c> we</c><02:05:53.400><c> just</c><02:05:53.580><c> do</c><02:05:53.760><c> a</c><02:05:53.940><c> bit</c><02:05:54.119><c> of</c>

02:05:54.290 --> 02:05:54.300 align:start position:0%
happy because we just do a bit of
 

02:05:54.300 --> 02:05:56.990 align:start position:0%
happy because we just do a bit of
computation<02:05:54.960><c> but</c><02:05:55.500><c> still</c><02:05:55.920><c> it's</c><02:05:56.520><c> a</c><02:05:56.639><c> lot</c><02:05:56.760><c> of</c><02:05:56.880><c> cool</c>

02:05:56.990 --> 02:05:57.000 align:start position:0%
computation but still it's a lot of cool
 

02:05:57.000 --> 02:05:59.390 align:start position:0%
computation but still it's a lot of cool
data<02:05:57.360><c> a</c><02:05:57.540><c> lot</c><02:05:57.659><c> of</c><02:05:57.780><c> computation</c><02:05:58.260><c> but</c><02:05:58.619><c> at</c><02:05:59.280><c> least</c>

02:05:59.390 --> 02:05:59.400 align:start position:0%
data a lot of computation but at least
 

02:05:59.400 --> 02:06:02.629 align:start position:0%
data a lot of computation but at least
not<02:05:59.639><c> so</c><02:05:59.880><c> much</c><02:06:00.000><c> storage</c><02:06:00.320><c> storage</c><02:06:01.320><c> cost</c><02:06:01.739><c> uh</c><02:06:02.460><c> oh</c>

02:06:02.629 --> 02:06:02.639 align:start position:0%
not so much storage storage cost uh oh
 

02:06:02.639 --> 02:06:04.729 align:start position:0%
not so much storage storage cost uh oh
sorry<02:06:02.940><c> gas</c><02:06:03.300><c> cost</c><02:06:03.540><c> in</c><02:06:04.020><c> the</c><02:06:04.199><c> second</c><02:06:04.380><c> approach</c>

02:06:04.729 --> 02:06:04.739 align:start position:0%
sorry gas cost in the second approach
 

02:06:04.739 --> 02:06:06.290 align:start position:0%
sorry gas cost in the second approach
while<02:06:04.980><c> we</c><02:06:05.219><c> just</c><02:06:05.340><c> verify</c><02:06:05.699><c> approved</c><02:06:06.119><c> so</c><02:06:06.179><c> it's</c>

02:06:06.290 --> 02:06:06.300 align:start position:0%
while we just verify approved so it's
 

02:06:06.300 --> 02:06:07.850 align:start position:0%
while we just verify approved so it's
cool

02:06:07.850 --> 02:06:07.860 align:start position:0%
cool
 

02:06:07.860 --> 02:06:10.070 align:start position:0%
cool
um<02:06:07.920><c> okay</c><02:06:08.280><c> storage</c><02:06:08.940><c> cost</c><02:06:09.300><c> for</c><02:06:09.780><c> the</c><02:06:09.960><c> first</c>

02:06:10.070 --> 02:06:10.080 align:start position:0%
um okay storage cost for the first
 

02:06:10.080 --> 02:06:13.010 align:start position:0%
um okay storage cost for the first
approach<02:06:10.440><c> well</c><02:06:10.800><c> seven</c><02:06:11.460><c> gigabytes</c><02:06:12.000><c> of</c><02:06:12.119><c> data</c><02:06:12.480><c> it</c>

02:06:13.010 --> 02:06:13.020 align:start position:0%
approach well seven gigabytes of data it
 

02:06:13.020 --> 02:06:15.350 align:start position:0%
approach well seven gigabytes of data it
is<02:06:13.139><c> horrible</c><02:06:13.500><c> so</c><02:06:13.860><c> we</c><02:06:13.980><c> are</c><02:06:14.159><c> very</c><02:06:14.280><c> set</c>

02:06:15.350 --> 02:06:15.360 align:start position:0%
is horrible so we are very set
 

02:06:15.360 --> 02:06:17.149 align:start position:0%
is horrible so we are very set
on<02:06:15.719><c> chain</c><02:06:15.960><c> compression</c>

02:06:17.149 --> 02:06:17.159 align:start position:0%
on chain compression
 

02:06:17.159 --> 02:06:19.790 align:start position:0%
on chain compression
uh<02:06:17.760><c> sorry</c><02:06:17.940><c> storage</c><02:06:18.900><c> cost</c><02:06:19.199><c> for</c><02:06:19.380><c> launching</c>

02:06:19.790 --> 02:06:19.800 align:start position:0%
uh sorry storage cost for launching
 

02:06:19.800 --> 02:06:21.950 align:start position:0%
uh sorry storage cost for launching
compression<02:06:20.280><c> we</c><02:06:20.639><c> just</c>

02:06:21.950 --> 02:06:21.960 align:start position:0%
compression we just
 

02:06:21.960 --> 02:06:23.810 align:start position:0%
compression we just
the root<02:06:22.560><c> of</c><02:06:22.679><c> the</c><02:06:22.800><c> miracle</c><02:06:23.040><c> tree</c><02:06:23.219><c> so</c><02:06:23.520><c> we</c><02:06:23.639><c> are</c>

02:06:23.810 --> 02:06:23.820 align:start position:0%
the root of the miracle tree so we are
 

02:06:23.820 --> 02:06:27.290 align:start position:0%
the root of the miracle tree so we are
happy<02:06:24.139><c> and</c><02:06:25.139><c> in</c><02:06:25.500><c> the</c><02:06:25.739><c> second</c><02:06:26.340><c> case</c><02:06:26.699><c> we're</c><02:06:26.940><c> even</c>

02:06:27.290 --> 02:06:27.300 align:start position:0%
happy and in the second case we're even
 

02:06:27.300 --> 02:06:29.149 align:start position:0%
happy and in the second case we're even
more<02:06:27.480><c> happy</c><02:06:27.719><c> because</c><02:06:28.020><c> we</c><02:06:28.320><c> again</c><02:06:28.679><c> we</c><02:06:28.980><c> just</c>

02:06:29.149 --> 02:06:29.159 align:start position:0%
more happy because we again we just
 

02:06:29.159 --> 02:06:31.310 align:start position:0%
more happy because we again we just
essentially<02:06:29.760><c> keep</c><02:06:30.000><c> updating</c><02:06:30.300><c> a</c><02:06:30.540><c> tree</c><02:06:30.780><c> and</c><02:06:31.020><c> we</c>

02:06:31.310 --> 02:06:31.320 align:start position:0%
essentially keep updating a tree and we
 

02:06:31.320 --> 02:06:33.169 align:start position:0%
essentially keep updating a tree and we
don't<02:06:31.440><c> even</c><02:06:31.619><c> need</c><02:06:31.860><c> to</c><02:06:31.980><c> post</c><02:06:32.159><c> a</c><02:06:32.400><c> lot</c><02:06:32.520><c> post</c><02:06:32.880><c> a</c><02:06:33.060><c> lot</c>

02:06:33.169 --> 02:06:33.179 align:start position:0%
don't even need to post a lot post a lot
 

02:06:33.179 --> 02:06:34.609 align:start position:0%
don't even need to post a lot post a lot
of<02:06:33.239><c> cool</c><02:06:33.360><c> data</c><02:06:33.780><c> because</c><02:06:33.840><c> the</c><02:06:34.020><c> cool</c><02:06:34.139><c> data</c><02:06:34.500><c> we</c>

02:06:34.609 --> 02:06:34.619 align:start position:0%
of cool data because the cool data we
 

02:06:34.619 --> 02:06:36.950 align:start position:0%
of cool data because the cool data we
passed<02:06:34.980><c> is</c><02:06:35.400><c> literally</c><02:06:35.699><c> just</c><02:06:35.940><c> the</c><02:06:36.119><c> proof</c><02:06:36.480><c> so</c>

02:06:36.950 --> 02:06:36.960 align:start position:0%
passed is literally just the proof so
 

02:06:36.960 --> 02:06:39.649 align:start position:0%
passed is literally just the proof so
we're<02:06:37.260><c> very</c><02:06:37.679><c> very</c><02:06:37.860><c> happy</c><02:06:38.580><c> but</c><02:06:39.060><c> again</c><02:06:39.239><c> I</c><02:06:39.540><c> don't</c>

02:06:39.649 --> 02:06:39.659 align:start position:0%
we're very very happy but again I don't
 

02:06:39.659 --> 02:06:41.629 align:start position:0%
we're very very happy but again I don't
want<02:06:39.780><c> to</c><02:06:39.840><c> say</c><02:06:40.020><c> that</c><02:06:40.260><c> all</c><02:06:40.500><c> of</c><02:06:40.739><c> the</c><02:06:41.099><c> one</c><02:06:41.400><c> of</c><02:06:41.460><c> these</c>

02:06:41.629 --> 02:06:41.639 align:start position:0%
want to say that all of the one of these
 

02:06:41.639 --> 02:06:43.669 align:start position:0%
want to say that all of the one of these
approaches<02:06:41.940><c> is</c><02:06:42.119><c> the</c><02:06:42.360><c> best</c><02:06:42.480><c> one</c><02:06:42.659><c> because</c><02:06:43.260><c> as</c>

02:06:43.669 --> 02:06:43.679 align:start position:0%
approaches is the best one because as
 

02:06:43.679 --> 02:06:45.770 align:start position:0%
approaches is the best one because as
you<02:06:43.860><c> see</c><02:06:43.980><c> there</c><02:06:44.340><c> are</c><02:06:44.580><c> trade-offs</c>

02:06:45.770 --> 02:06:45.780 align:start position:0%
you see there are trade-offs
 

02:06:45.780 --> 02:06:47.930 align:start position:0%
you see there are trade-offs
and

02:06:47.930 --> 02:06:47.940 align:start position:0%
and
 

02:06:47.940 --> 02:06:50.750 align:start position:0%
and
yeah<02:06:48.420><c> so</c><02:06:49.199><c> this</c><02:06:49.500><c> part</c><02:06:49.679><c> is</c><02:06:50.040><c> actually</c><02:06:50.280><c> pretty</c>

02:06:50.750 --> 02:06:50.760 align:start position:0%
yeah so this part is actually pretty
 

02:06:50.760 --> 02:06:52.970 align:start position:0%
yeah so this part is actually pretty
easy<02:06:51.000><c> so</c><02:06:51.599><c> as</c><02:06:51.780><c> you</c><02:06:51.960><c> know</c><02:06:52.080><c> as</c><02:06:52.380><c> you</c><02:06:52.500><c> may</c><02:06:52.619><c> notice</c>

02:06:52.970 --> 02:06:52.980 align:start position:0%
easy so as you know as you may notice
 

02:06:52.980 --> 02:06:55.070 align:start position:0%
easy so as you know as you may notice
here<02:06:53.880><c> I</c><02:06:54.060><c> was</c><02:06:54.179><c> explaining</c><02:06:54.540><c> like</c><02:06:54.719><c> the</c><02:06:54.900><c> second</c>

02:06:55.070 --> 02:06:55.080 align:start position:0%
here I was explaining like the second
 

02:06:55.080 --> 02:06:57.050 align:start position:0%
here I was explaining like the second
step<02:06:55.440><c> when</c><02:06:55.860><c> it</c><02:06:56.219><c> comes</c><02:06:56.400><c> to</c><02:06:56.520><c> two</c><02:06:56.699><c> linguist</c>

02:06:57.050 --> 02:06:57.060 align:start position:0%
step when it comes to two linguist
 

02:06:57.060 --> 02:06:59.870 align:start position:0%
step when it comes to two linguist
storage<02:06:57.300><c> proofs</c><02:06:57.780><c> and</c><02:06:58.380><c> now</c><02:06:58.560><c> there</c><02:06:58.920><c> is</c><02:06:59.099><c> the</c><02:06:59.699><c> the</c>

02:06:59.870 --> 02:06:59.880 align:start position:0%
storage proofs and now there is the the
 

02:06:59.880 --> 02:07:01.370 align:start position:0%
storage proofs and now there is the the
last<02:07:00.060><c> part</c><02:07:00.239><c> which</c><02:07:00.420><c> is</c><02:07:00.599><c> essentially</c><02:07:00.900><c> verifying</c>

02:07:01.370 --> 02:07:01.380 align:start position:0%
last part which is essentially verifying
 

02:07:01.380 --> 02:07:04.250 align:start position:0%
last part which is essentially verifying
the<02:07:01.560><c> proof</c><02:07:01.739><c> itself</c><02:07:02.179><c> so</c><02:07:03.179><c> approach</c><02:07:03.780><c> number</c><02:07:04.020><c> one</c>

02:07:04.250 --> 02:07:04.260 align:start position:0%
the proof itself so approach number one
 

02:07:04.260 --> 02:07:05.990 align:start position:0%
the proof itself so approach number one
is<02:07:04.560><c> verifying</c><02:07:05.040><c> the</c><02:07:05.159><c> proof</c><02:07:05.400><c> directly</c><02:07:05.699><c> on</c><02:07:05.880><c> the</c>

02:07:05.990 --> 02:07:06.000 align:start position:0%
is verifying the proof directly on the
 

02:07:06.000 --> 02:07:08.149 align:start position:0%
is verifying the proof directly on the
Chain<02:07:06.179><c> approach</c><02:07:06.900><c> number</c><02:07:07.080><c> two</c><02:07:07.320><c> let's</c><02:07:07.739><c> verify</c>

02:07:08.149 --> 02:07:08.159 align:start position:0%
Chain approach number two let's verify
 

02:07:08.159 --> 02:07:09.350 align:start position:0%
Chain approach number two let's verify
the<02:07:08.280><c> proving</c><02:07:08.580><c> side</c><02:07:08.760><c> the</c><02:07:08.880><c> star</c><02:07:09.000><c> can</c><02:07:09.239><c> then</c>

02:07:09.350 --> 02:07:09.360 align:start position:0%
the proving side the star can then
 

02:07:09.360 --> 02:07:11.330 align:start position:0%
the proving side the star can then
verify<02:07:09.719><c> the</c><02:07:09.840><c> Stark</c><02:07:10.080><c> approach</c><02:07:10.920><c> number</c><02:07:11.040><c> three</c>

02:07:11.330 --> 02:07:11.340 align:start position:0%
verify the Stark approach number three
 

02:07:11.340 --> 02:07:13.850 align:start position:0%
verify the Stark approach number three
let's<02:07:11.760><c> verify</c><02:07:12.420><c> multiple</c><02:07:12.900><c> proofs</c><02:07:13.320><c> inside</c><02:07:13.560><c> the</c>

02:07:13.850 --> 02:07:13.860 align:start position:0%
let's verify multiple proofs inside the
 

02:07:13.860 --> 02:07:15.770 align:start position:0%
let's verify multiple proofs inside the
snark<02:07:14.159><c> and</c><02:07:14.340><c> then</c><02:07:14.460><c> verify</c><02:07:14.760><c> the</c><02:07:14.880><c> snark</c><02:07:15.239><c> we</c><02:07:15.659><c> can</c>

02:07:15.770 --> 02:07:15.780 align:start position:0%
snark and then verify the snark we can
 

02:07:15.780 --> 02:07:17.870 align:start position:0%
snark and then verify the snark we can
aggregate<02:07:16.199><c> multiple</c><02:07:16.500><c> sharks</c><02:07:16.920><c> together</c><02:07:17.040><c> and</c>

02:07:17.870 --> 02:07:17.880 align:start position:0%
aggregate multiple sharks together and
 

02:07:17.880 --> 02:07:19.729 align:start position:0%
aggregate multiple sharks together and
so<02:07:18.000><c> on</c><02:07:18.179><c> but</c><02:07:18.360><c> obviously</c><02:07:18.840><c> there</c><02:07:19.500><c> are</c><02:07:19.619><c> some</c>

02:07:19.729 --> 02:07:19.739 align:start position:0%
so on but obviously there are some
 

02:07:19.739 --> 02:07:20.990 align:start position:0%
so on but obviously there are some
trade-offs<02:07:20.280><c> especially</c><02:07:20.520><c> when</c><02:07:20.639><c> it</c><02:07:20.760><c> comes</c><02:07:20.880><c> to</c>

02:07:20.990 --> 02:07:21.000 align:start position:0%
trade-offs especially when it comes to
 

02:07:21.000 --> 02:07:22.550 align:start position:0%
trade-offs especially when it comes to
proving<02:07:21.360><c> time</c>

02:07:22.550 --> 02:07:22.560 align:start position:0%
proving time
 

02:07:22.560 --> 02:07:25.189 align:start position:0%
proving time
um<02:07:22.619><c> and</c><02:07:23.340><c> yeah</c><02:07:23.400><c> so</c><02:07:23.760><c> now</c><02:07:23.940><c> why</c><02:07:24.780><c> the</c><02:07:25.020><c> first</c>

02:07:25.189 --> 02:07:25.199 align:start position:0%
um and yeah so now why the first
 

02:07:25.199 --> 02:07:27.950 align:start position:0%
um and yeah so now why the first
approach<02:07:25.560><c> is</c><02:07:25.860><c> feasible</c><02:07:26.400><c> on</c><02:07:26.760><c> on</c><02:07:27.060><c> ZK</c><02:07:27.480><c> rollups</c>

02:07:27.950 --> 02:07:27.960 align:start position:0%
approach is feasible on on ZK rollups
 

02:07:27.960 --> 02:07:29.570 align:start position:0%
approach is feasible on on ZK rollups
for<02:07:28.020><c> example</c><02:07:28.260><c> on</c><02:07:28.380><c> structural</c><02:07:28.860><c> data</c><02:07:29.340><c> is</c><02:07:29.400><c> very</c>

02:07:29.570 --> 02:07:29.580 align:start position:0%
for example on structural data is very
 

02:07:29.580 --> 02:07:31.790 align:start position:0%
for example on structural data is very
cheap<02:07:29.820><c> and</c><02:07:30.420><c> what</c><02:07:30.599><c> we</c><02:07:30.719><c> want</c><02:07:30.900><c> to</c><02:07:31.020><c> avoid</c><02:07:31.320><c> in</c><02:07:31.560><c> this</c>

02:07:31.790 --> 02:07:31.800 align:start position:0%
cheap and what we want to avoid in this
 

02:07:31.800 --> 02:07:34.250 align:start position:0%
cheap and what we want to avoid in this
specific<02:07:32.099><c> processes</c><02:07:32.699><c> called</c><02:07:33.119><c> Data</c><02:07:33.599><c> so</c><02:07:34.080><c> this</c>

02:07:34.250 --> 02:07:34.260 align:start position:0%
specific processes called Data so this
 

02:07:34.260 --> 02:07:35.810 align:start position:0%
specific processes called Data so this
approach<02:07:34.560><c> is</c><02:07:34.679><c> for</c><02:07:34.920><c> example</c><02:07:35.099><c> feasible</c><02:07:35.580><c> on</c>

02:07:35.810 --> 02:07:35.820 align:start position:0%
approach is for example feasible on
 

02:07:35.820 --> 02:07:38.089 align:start position:0%
approach is for example feasible on
starknet<02:07:36.360><c> but</c><02:07:36.960><c> for</c><02:07:37.260><c> example</c><02:07:37.500><c> if</c><02:07:37.679><c> you</c><02:07:37.860><c> want</c><02:07:37.980><c> to</c>

02:07:38.089 --> 02:07:38.099 align:start position:0%
starknet but for example if you want to
 

02:07:38.099 --> 02:07:39.830 align:start position:0%
starknet but for example if you want to
verify<02:07:38.460><c> like</c><02:07:38.639><c> a</c><02:07:38.760><c> proof</c><02:07:39.000><c> on</c><02:07:39.119><c> optimism</c><02:07:39.480><c> or</c><02:07:39.719><c> a</c>

02:07:39.830 --> 02:07:39.840 align:start position:0%
verify like a proof on optimism or a
 

02:07:39.840 --> 02:07:41.570 align:start position:0%
verify like a proof on optimism or a
collate<02:07:40.080><c> is</c><02:07:40.260><c> very</c><02:07:40.380><c> expensive</c><02:07:40.800><c> you</c><02:07:41.280><c> want</c><02:07:41.460><c> to</c>

02:07:41.570 --> 02:07:41.580 align:start position:0%
collate is very expensive you want to
 

02:07:41.580 --> 02:07:43.609 align:start position:0%
collate is very expensive you want to
reduce<02:07:41.820><c> it</c><02:07:42.060><c> as</c><02:07:42.300><c> much</c><02:07:42.480><c> as</c><02:07:42.599><c> possible</c><02:07:42.960><c> so</c><02:07:43.440><c> for</c>

02:07:43.609 --> 02:07:43.619 align:start position:0%
reduce it as much as possible so for
 

02:07:43.619 --> 02:07:45.050 align:start position:0%
reduce it as much as possible so for
that<02:07:43.800><c> reason</c><02:07:43.920><c> you</c><02:07:44.219><c> might</c><02:07:44.520><c> want</c><02:07:44.699><c> to</c><02:07:44.820><c> use</c><02:07:44.940><c> a</c>

02:07:45.050 --> 02:07:45.060 align:start position:0%
that reason you might want to use a
 

02:07:45.060 --> 02:07:48.589 align:start position:0%
that reason you might want to use a
snark<02:07:45.360><c> and</c><02:07:46.020><c> finally</c><02:07:46.320><c> if</c><02:07:46.679><c> you</c><02:07:46.739><c> have</c><02:07:46.920><c> like</c><02:07:47.159><c> many</c>

02:07:48.589 --> 02:07:48.599 align:start position:0%
snark and finally if you have like many
 

02:07:48.599 --> 02:07:50.990 align:start position:0%
snark and finally if you have like many
slots<02:07:49.260><c> that</c><02:07:49.440><c> you</c><02:07:49.560><c> want</c><02:07:49.679><c> to</c><02:07:49.800><c> prove</c><02:07:50.099><c> why</c><02:07:50.699><c> can't</c>

02:07:50.990 --> 02:07:51.000 align:start position:0%
slots that you want to prove why can't
 

02:07:51.000 --> 02:07:52.790 align:start position:0%
slots that you want to prove why can't
you<02:07:51.179><c> just</c><02:07:51.300><c> verify</c><02:07:51.719><c> them</c><02:07:51.960><c> inside</c><02:07:52.139><c> one</c><02:07:52.440><c> snark</c>

02:07:52.790 --> 02:07:52.800 align:start position:0%
you just verify them inside one snark
 

02:07:52.800 --> 02:07:55.790 align:start position:0%
you just verify them inside one snark
you're<02:07:53.159><c> gonna</c><02:07:53.340><c> pay</c><02:07:53.520><c> improver</c><02:07:53.940><c> time</c><02:07:54.179><c> but</c><02:07:55.020><c> you</c>

02:07:55.790 --> 02:07:55.800 align:start position:0%
you're gonna pay improver time but you
 

02:07:55.800 --> 02:07:57.770 align:start position:0%
you're gonna pay improver time but you
just<02:07:55.980><c> present</c><02:07:56.219><c> one</c><02:07:56.400><c> proof</c><02:07:56.820><c> at</c><02:07:56.940><c> the</c><02:07:57.060><c> end</c><02:07:57.179><c> so</c>

02:07:57.770 --> 02:07:57.780 align:start position:0%
just present one proof at the end so
 

02:07:57.780 --> 02:08:01.669 align:start position:0%
just present one proof at the end so
this<02:07:58.139><c> approach</c><02:07:58.500><c> is</c><02:07:59.280><c> cheaper</c><02:08:00.060><c> is</c><02:08:00.780><c> the</c><02:08:01.080><c> cheapest</c>

02:08:01.669 --> 02:08:01.679 align:start position:0%
this approach is cheaper is the cheapest
 

02:08:01.679 --> 02:08:03.470 align:start position:0%
this approach is cheaper is the cheapest
one<02:08:01.800><c> but</c><02:08:02.040><c> only</c><02:08:02.219><c> if</c><02:08:02.460><c> you</c><02:08:02.580><c> have</c><02:08:02.820><c> multiple</c>

02:08:03.470 --> 02:08:03.480 align:start position:0%
one but only if you have multiple
 

02:08:03.480 --> 02:08:07.010 align:start position:0%
one but only if you have multiple
actions<02:08:04.020><c> to</c><02:08:04.199><c> to</c><02:08:04.440><c> take</c><02:08:04.679><c> so</c>

02:08:07.010 --> 02:08:07.020 align:start position:0%
actions to to take so
 

02:08:07.020 --> 02:08:09.649 align:start position:0%
actions to to take so
there<02:08:07.500><c> are</c><02:08:07.619><c> trade-offs</c>

02:08:09.649 --> 02:08:09.659 align:start position:0%
there are trade-offs
 

02:08:09.659 --> 02:08:13.089 align:start position:0%
there are trade-offs
so<02:08:10.440><c> let's</c><02:08:10.800><c> identify</c><02:08:11.400><c> them</c>

02:08:13.089 --> 02:08:13.099 align:start position:0%
so let's identify them
 

02:08:13.099 --> 02:08:15.649 align:start position:0%
so let's identify them
categories<02:08:14.099><c> approver</c><02:08:14.639><c> overhead</c><02:08:15.060><c> latency</c>

02:08:15.649 --> 02:08:15.659 align:start position:0%
categories approver overhead latency
 

02:08:15.659 --> 02:08:19.490 align:start position:0%
categories approver overhead latency
verification<02:08:16.380><c> cost</c><02:08:17.060><c> so</c><02:08:18.199><c> verifying</c><02:08:19.199><c> the</c><02:08:19.260><c> proof</c>

02:08:19.490 --> 02:08:19.500 align:start position:0%
verification cost so verifying the proof
 

02:08:19.500 --> 02:08:21.770 align:start position:0%
verification cost so verifying the proof
directly<02:08:19.860><c> prover</c><02:08:20.520><c> overhead</c><02:08:20.940><c> doesn't</c><02:08:21.420><c> exist</c>

02:08:21.770 --> 02:08:21.780 align:start position:0%
directly prover overhead doesn't exist
 

02:08:21.780 --> 02:08:23.990 align:start position:0%
directly prover overhead doesn't exist
latency<02:08:22.560><c> doesn't</c><02:08:23.159><c> exist</c><02:08:23.460><c> because</c><02:08:23.639><c> we</c><02:08:23.880><c> don't</c>

02:08:23.990 --> 02:08:24.000 align:start position:0%
latency doesn't exist because we don't
 

02:08:24.000 --> 02:08:25.790 align:start position:0%
latency doesn't exist because we don't
need<02:08:24.119><c> to</c><02:08:24.239><c> prove</c><02:08:24.480><c> anything</c><02:08:24.800><c> verification</c>

02:08:25.790 --> 02:08:25.800 align:start position:0%
need to prove anything verification
 

02:08:25.800 --> 02:08:27.709 align:start position:0%
need to prove anything verification
costs<02:08:26.219><c> well</c><02:08:26.340><c> it</c><02:08:26.639><c> is</c><02:08:26.699><c> significant</c>

02:08:27.709 --> 02:08:27.719 align:start position:0%
costs well it is significant
 

02:08:27.719 --> 02:08:29.870 align:start position:0%
costs well it is significant
because<02:08:28.320><c> we</c><02:08:28.860><c> need</c><02:08:29.040><c> to</c><02:08:29.099><c> post</c><02:08:29.219><c> School</c><02:08:29.460><c> data</c><02:08:29.760><c> and</c>

02:08:29.870 --> 02:08:29.880 align:start position:0%
because we need to post School data and
 

02:08:29.880 --> 02:08:31.189 align:start position:0%
because we need to post School data and
we<02:08:30.000><c> need</c><02:08:30.119><c> and</c><02:08:30.420><c> we</c><02:08:30.599><c> need</c><02:08:30.659><c> to</c><02:08:30.780><c> do</c><02:08:30.840><c> the</c><02:08:30.960><c> actual</c>

02:08:31.189 --> 02:08:31.199 align:start position:0%
we need and we need to do the actual
 

02:08:31.199 --> 02:08:32.750 align:start position:0%
we need and we need to do the actual
computation<02:08:31.679><c> so</c><02:08:31.980><c> like</c><02:08:32.159><c> going</c><02:08:32.400><c> through</c><02:08:32.580><c> the</c>

02:08:32.750 --> 02:08:32.760 align:start position:0%
computation so like going through the
 

02:08:32.760 --> 02:08:34.850 align:start position:0%
computation so like going through the
entire<02:08:33.000><c> path</c><02:08:33.300><c> and</c><02:08:33.840><c> each</c><02:08:34.020><c> step</c><02:08:34.260><c> in</c><02:08:34.440><c> the</c><02:08:34.560><c> path</c><02:08:34.739><c> is</c>

02:08:34.850 --> 02:08:34.860 align:start position:0%
entire path and each step in the path is
 

02:08:34.860 --> 02:08:38.270 align:start position:0%
entire path and each step in the path is
one<02:08:35.099><c> hashing</c><02:08:35.520><c> function</c><02:08:35.820><c> oh</c><02:08:36.780><c> and</c><02:08:37.139><c> also</c>

02:08:38.270 --> 02:08:38.280 align:start position:0%
one hashing function oh and also
 

02:08:38.280 --> 02:08:40.490 align:start position:0%
one hashing function oh and also
let<02:08:38.699><c> me</c><02:08:38.820><c> get</c><02:08:39.000><c> back</c><02:08:39.119><c> to</c><02:08:39.239><c> the</c><02:08:39.360><c> previous</c><02:08:39.540><c> slide</c><02:08:39.900><c> I</c>

02:08:40.490 --> 02:08:40.500 align:start position:0%
let me get back to the previous slide I
 

02:08:40.500 --> 02:08:43.070 align:start position:0%
let me get back to the previous slide I
forgot<02:08:40.739><c> this</c><02:08:41.040><c> is</c><02:08:41.159><c> very</c><02:08:41.340><c> important</c><02:08:41.699><c> why</c>

02:08:43.070 --> 02:08:43.080 align:start position:0%
forgot this is very important why
 

02:08:43.080 --> 02:08:45.350 align:start position:0%
forgot this is very important why
wrapping<02:08:43.800><c> inside</c><02:08:44.099><c> this</c><02:08:44.460><c> wrapping</c><02:08:45.179><c> inside</c>

02:08:45.350 --> 02:08:45.360 align:start position:0%
wrapping inside this wrapping inside
 

02:08:45.360 --> 02:08:47.330 align:start position:0%
wrapping inside this wrapping inside
this<02:08:45.659><c> Arc</c><02:08:45.960><c> is</c><02:08:46.020><c> pretty</c><02:08:46.199><c> important</c><02:08:46.619><c> if</c><02:08:47.219><c> you're</c>

02:08:47.330 --> 02:08:47.340 align:start position:0%
this Arc is pretty important if you're
 

02:08:47.340 --> 02:08:50.030 align:start position:0%
this Arc is pretty important if you're
like<02:08:47.580><c> dealing</c><02:08:47.940><c> with</c><02:08:48.119><c> a</c><02:08:48.239><c> storage</c><02:08:48.739><c> layout</c><02:08:49.739><c> that</c>

02:08:50.030 --> 02:08:50.040 align:start position:0%
like dealing with a storage layout that
 

02:08:50.040 --> 02:08:51.950 align:start position:0%
like dealing with a storage layout that
is<02:08:50.219><c> using</c><02:08:50.699><c> a</c><02:08:50.880><c> specific</c><02:08:51.119><c> hashing</c><02:08:51.599><c> function</c>

02:08:51.950 --> 02:08:51.960 align:start position:0%
is using a specific hashing function
 

02:08:51.960 --> 02:08:55.370 align:start position:0%
is using a specific hashing function
let's<02:08:52.619><c> say</c><02:08:52.800><c> for</c><02:08:53.099><c> example</c><02:08:53.480><c> Peterson</c><02:08:54.480><c> Peterson</c>

02:08:55.370 --> 02:08:55.380 align:start position:0%
let's say for example Peterson Peterson
 

02:08:55.380 --> 02:08:58.129 align:start position:0%
let's say for example Peterson Peterson
is<02:08:55.739><c> not</c><02:08:55.920><c> available</c><02:08:56.040><c> like</c><02:08:56.580><c> on</c><02:08:56.760><c> on</c><02:08:57.000><c> the</c><02:08:57.420><c> evm</c><02:08:57.840><c> like</c>

02:08:58.129 --> 02:08:58.139 align:start position:0%
is not available like on on the evm like
 

02:08:58.139 --> 02:08:59.810 align:start position:0%
is not available like on on the evm like
you<02:08:58.500><c> just</c><02:08:58.739><c> need</c><02:08:58.920><c> to</c><02:08:59.040><c> implement</c><02:08:59.280><c> it's</c><02:08:59.520><c> not</c><02:08:59.699><c> the</c>

02:08:59.810 --> 02:08:59.820 align:start position:0%
you just need to implement it's not the
 

02:08:59.820 --> 02:09:02.270 align:start position:0%
you just need to implement it's not the
pre-composed<02:09:00.360><c> it's</c><02:09:00.719><c> gonna</c><02:09:00.840><c> be</c><02:09:01.080><c> costly</c><02:09:01.440><c> but</c><02:09:02.040><c> if</c>

02:09:02.270 --> 02:09:02.280 align:start position:0%
pre-composed it's gonna be costly but if
 

02:09:02.280 --> 02:09:04.010 align:start position:0%
pre-composed it's gonna be costly but if
you<02:09:02.400><c> do</c><02:09:02.520><c> inside</c><02:09:02.699><c> the</c><02:09:03.000><c> snork</c><02:09:03.239><c> and</c><02:09:03.420><c> Peterson</c><02:09:03.780><c> is</c>

02:09:04.010 --> 02:09:04.020 align:start position:0%
you do inside the snork and Peterson is
 

02:09:04.020 --> 02:09:05.930 align:start position:0%
you do inside the snork and Peterson is
pretty<02:09:04.139><c> smart</c><02:09:04.440><c> friendly</c><02:09:04.920><c> it's</c><02:09:05.340><c> not</c><02:09:05.580><c> friendly</c>

02:09:05.930 --> 02:09:05.940 align:start position:0%
pretty smart friendly it's not friendly
 

02:09:05.940 --> 02:09:08.030 align:start position:0%
pretty smart friendly it's not friendly
then<02:09:06.360><c> well</c><02:09:06.780><c> it</c><02:09:07.020><c> just</c><02:09:07.260><c> verifies</c><02:09:07.739><c> in</c><02:09:07.920><c> our</c>

02:09:08.030 --> 02:09:08.040 align:start position:0%
then well it just verifies in our
 

02:09:08.040 --> 02:09:09.350 align:start position:0%
then well it just verifies in our
control<02:09:08.219><c> one</c><02:09:08.460><c> and</c><02:09:08.580><c> you</c><02:09:08.699><c> abstract</c><02:09:09.000><c> it</c><02:09:09.119><c> so</c><02:09:09.239><c> it's</c>

02:09:09.350 --> 02:09:09.360 align:start position:0%
control one and you abstract it so it's
 

02:09:09.360 --> 02:09:11.629 align:start position:0%
control one and you abstract it so it's
going<02:09:09.540><c> to</c><02:09:09.659><c> be</c><02:09:09.780><c> way</c><02:09:10.320><c> way</c><02:09:10.380><c> way</c><02:09:10.560><c> cheaper</c><02:09:11.219><c> but</c>

02:09:11.629 --> 02:09:11.639 align:start position:0%
going to be way way way cheaper but
 

02:09:11.639 --> 02:09:13.970 align:start position:0%
going to be way way way cheaper but
again<02:09:11.820><c> there</c><02:09:12.480><c> are</c><02:09:12.659><c> trade-offs</c><02:09:13.199><c> let</c><02:09:13.739><c> me</c><02:09:13.860><c> get</c>

02:09:13.970 --> 02:09:13.980 align:start position:0%
again there are trade-offs let me get
 

02:09:13.980 --> 02:09:16.070 align:start position:0%
again there are trade-offs let me get
back<02:09:14.159><c> to</c><02:09:14.280><c> this</c><02:09:14.460><c> so</c><02:09:15.239><c> I</c><02:09:15.480><c> went</c><02:09:15.599><c> for</c><02:09:15.780><c> this</c><02:09:15.960><c> the</c>

02:09:16.070 --> 02:09:16.080 align:start position:0%
back to this so I went for this the
 

02:09:16.080 --> 02:09:17.750 align:start position:0%
back to this so I went for this the
normal<02:09:16.260><c> competition</c><02:09:16.679><c> 3</c><02:09:16.980><c> star</c><02:09:17.280><c> Cricket</c><02:09:17.580><c> fight</c>

02:09:17.750 --> 02:09:17.760 align:start position:0%
normal competition 3 star Cricket fight
 

02:09:17.760 --> 02:09:21.410 align:start position:0%
normal competition 3 star Cricket fight
proof<02:09:18.119><c> through</c><02:09:18.540><c> the</c><02:09:18.719><c> overhead</c><02:09:19.080><c> it</c><02:09:19.980><c> exists</c><02:09:20.460><c> so</c>

02:09:21.410 --> 02:09:21.420 align:start position:0%
proof through the overhead it exists so
 

02:09:21.420 --> 02:09:25.250 align:start position:0%
proof through the overhead it exists so
we<02:09:21.840><c> are</c><02:09:22.020><c> not</c><02:09:22.320><c> super</c><02:09:23.040><c> happy</c><02:09:23.480><c> latency</c><02:09:24.480><c> you're</c>

02:09:25.250 --> 02:09:25.260 align:start position:0%
we are not super happy latency you're
 

02:09:25.260 --> 02:09:26.750 align:start position:0%
we are not super happy latency you're
also<02:09:25.500><c> not</c><02:09:25.619><c> happy</c><02:09:25.800><c> because</c><02:09:26.040><c> we</c><02:09:26.340><c> actually</c><02:09:26.460><c> need</c>

02:09:26.750 --> 02:09:26.760 align:start position:0%
also not happy because we actually need
 

02:09:26.760 --> 02:09:28.490 align:start position:0%
also not happy because we actually need
to<02:09:26.880><c> spend</c><02:09:27.119><c> time</c><02:09:27.360><c> on</c><02:09:27.540><c> improving</c><02:09:28.080><c> this</c><02:09:28.260><c> this</c>

02:09:28.490 --> 02:09:28.500 align:start position:0%
to spend time on improving this this
 

02:09:28.500 --> 02:09:31.430 align:start position:0%
to spend time on improving this this
thing<02:09:29.119><c> verification</c><02:09:30.119><c> costs</c><02:09:30.659><c> we</c><02:09:31.139><c> are</c><02:09:31.260><c> happy</c>

02:09:31.430 --> 02:09:31.440 align:start position:0%
thing verification costs we are happy
 

02:09:31.440 --> 02:09:33.410 align:start position:0%
thing verification costs we are happy
because<02:09:31.739><c> well</c><02:09:32.099><c> we</c><02:09:32.460><c> we</c><02:09:32.760><c> just</c><02:09:33.000><c> verify</c><02:09:33.300><c> your</c>

02:09:33.410 --> 02:09:33.420 align:start position:0%
because well we we just verify your
 

02:09:33.420 --> 02:09:36.050 align:start position:0%
because well we we just verify your
proof<02:09:33.719><c> so</c><02:09:33.900><c> it's</c><02:09:34.020><c> fine</c><02:09:34.199><c> and</c><02:09:35.040><c> it's</c><02:09:35.340><c> an</c><02:09:35.520><c> artifying</c>

02:09:36.050 --> 02:09:36.060 align:start position:0%
proof so it's fine and it's an artifying
 

02:09:36.060 --> 02:09:38.149 align:start position:0%
proof so it's fine and it's an artifying
multiple<02:09:36.360><c> proofs</c><02:09:36.780><c> the</c><02:09:37.139><c> prover</c><02:09:37.440><c> overhead</c><02:09:37.920><c> is</c>

02:09:38.149 --> 02:09:38.159 align:start position:0%
multiple proofs the prover overhead is
 

02:09:38.159 --> 02:09:40.310 align:start position:0%
multiple proofs the prover overhead is
still<02:09:38.340><c> there</c><02:09:38.580><c> latency</c><02:09:39.300><c> is</c><02:09:39.719><c> still</c><02:09:39.900><c> there</c><02:09:40.080><c> it's</c>

02:09:40.310 --> 02:09:40.320 align:start position:0%
still there latency is still there it's
 

02:09:40.320 --> 02:09:41.750 align:start position:0%
still there latency is still there it's
even<02:09:40.560><c> bigger</c><02:09:40.860><c> because</c><02:09:41.040><c> it</c><02:09:41.340><c> takes</c><02:09:41.460><c> a</c><02:09:41.699><c> bit</c>

02:09:41.750 --> 02:09:41.760 align:start position:0%
even bigger because it takes a bit
 

02:09:41.760 --> 02:09:43.910 align:start position:0%
even bigger because it takes a bit
longer<02:09:42.179><c> in</c><02:09:42.599><c> improving</c><02:09:43.020><c> time</c><02:09:43.560><c> and</c>

02:09:43.910 --> 02:09:43.920 align:start position:0%
longer in improving time and
 

02:09:43.920 --> 02:09:45.410 align:start position:0%
longer in improving time and
verification<02:09:44.400><c> because</c><02:09:44.639><c> we</c><02:09:44.940><c> are</c><02:09:45.060><c> super</c><02:09:45.179><c> happy</c>

02:09:45.410 --> 02:09:45.420 align:start position:0%
verification because we are super happy
 

02:09:45.420 --> 02:09:47.810 align:start position:0%
verification because we are super happy
because<02:09:45.719><c> essentially</c><02:09:46.139><c> we</c><02:09:46.440><c> can</c><02:09:46.639><c> mutualize</c><02:09:47.639><c> the</c>

02:09:47.810 --> 02:09:47.820 align:start position:0%
because essentially we can mutualize the
 

02:09:47.820 --> 02:09:50.810 align:start position:0%
because essentially we can mutualize the
cost<02:09:48.000><c> of</c><02:09:48.179><c> verifying</c><02:09:48.719><c> multiple</c><02:09:49.080><c> proofs</c>

02:09:50.810 --> 02:09:50.820 align:start position:0%
cost of verifying multiple proofs
 

02:09:50.820 --> 02:09:56.570 align:start position:0%
cost of verifying multiple proofs
by<02:09:51.239><c> just</c><02:09:51.420><c> verifying</c><02:09:51.960><c> one</c><02:09:52.320><c> single</c><02:09:52.679><c> Stark</c><02:09:53.099><c> proof</c>

02:09:56.570 --> 02:09:56.580 align:start position:0%
 
 

02:09:56.580 --> 02:09:59.589 align:start position:0%
 
okay<02:09:57.260><c> went</c><02:09:58.260><c> through</c><02:09:58.500><c> quite</c><02:09:58.980><c> a</c><02:09:59.099><c> lot</c><02:09:59.219><c> of</c><02:09:59.340><c> things</c>

02:09:59.589 --> 02:09:59.599 align:start position:0%
okay went through quite a lot of things
 

02:09:59.599 --> 02:10:02.810 align:start position:0%
okay went through quite a lot of things
let's<02:10:00.599><c> put</c><02:10:01.080><c> this</c><02:10:01.260><c> all</c><02:10:01.440><c> together</c>

02:10:02.810 --> 02:10:02.820 align:start position:0%
let's put this all together
 

02:10:02.820 --> 02:10:04.609 align:start position:0%
let's put this all together
so<02:10:03.179><c> let's</c><02:10:03.300><c> imagine</c><02:10:03.540><c> we</c><02:10:03.840><c> have</c><02:10:03.960><c> three</c><02:10:04.139><c> chains</c>

02:10:04.609 --> 02:10:04.619 align:start position:0%
so let's imagine we have three chains
 

02:10:04.619 --> 02:10:06.470 align:start position:0%
so let's imagine we have three chains
and<02:10:05.099><c> we</c><02:10:05.340><c> want</c><02:10:05.400><c> to</c><02:10:05.520><c> have</c><02:10:05.699><c> interoperability</c>

02:10:06.470 --> 02:10:06.480 align:start position:0%
and we want to have interoperability
 

02:10:06.480 --> 02:10:09.109 align:start position:0%
and we want to have interoperability
interoperability<02:10:07.380><c> between</c><02:10:07.739><c> them</c><02:10:08.040><c> so</c><02:10:08.760><c> we</c><02:10:09.000><c> have</c>

02:10:09.109 --> 02:10:09.119 align:start position:0%
interoperability between them so we have
 

02:10:09.119 --> 02:10:11.930 align:start position:0%
interoperability between them so we have
chain<02:10:09.360><c> Z</c><02:10:09.599><c> chain</c><02:10:09.900><c> X</c><02:10:10.080><c> and</c><02:10:10.260><c> chain</c><02:10:10.380><c> y</c>

02:10:11.930 --> 02:10:11.940 align:start position:0%
chain Z chain X and chain y
 

02:10:11.940 --> 02:10:14.570 align:start position:0%
chain Z chain X and chain y
so<02:10:12.239><c> it</c><02:10:12.719><c> all</c><02:10:12.840><c> starts</c><02:10:13.199><c> with</c><02:10:13.320><c> a</c><02:10:13.560><c> message</c><02:10:13.679><c> AKA</c>

02:10:14.570 --> 02:10:14.580 align:start position:0%
so it all starts with a message AKA
 

02:10:14.580 --> 02:10:16.729 align:start position:0%
so it all starts with a message AKA
commitment<02:10:15.179><c> we</c><02:10:15.659><c> send</c><02:10:15.840><c> a</c><02:10:16.020><c> message</c><02:10:16.139><c> in</c><02:10:16.440><c> order</c><02:10:16.560><c> to</c>

02:10:16.729 --> 02:10:16.739 align:start position:0%
commitment we send a message in order to
 

02:10:16.739 --> 02:10:19.010 align:start position:0%
commitment we send a message in order to
get<02:10:17.099><c> the</c><02:10:17.280><c> commitment</c><02:10:17.639><c> so</c><02:10:18.060><c> let's</c><02:10:18.480><c> say</c><02:10:18.659><c> that</c><02:10:18.840><c> we</c>

02:10:19.010 --> 02:10:19.020 align:start position:0%
get the commitment so let's say that we
 

02:10:19.020 --> 02:10:22.030 align:start position:0%
get the commitment so let's say that we
send<02:10:19.199><c> a</c><02:10:19.380><c> message</c><02:10:19.500><c> from</c><02:10:19.860><c> chain</c><02:10:20.280><c> Z</c><02:10:20.639><c> to</c><02:10:21.360><c> chain</c><02:10:21.659><c> X</c>

02:10:22.030 --> 02:10:22.040 align:start position:0%
send a message from chain Z to chain X
 

02:10:22.040 --> 02:10:25.129 align:start position:0%
send a message from chain Z to chain X
because<02:10:23.040><c> on</c><02:10:23.340><c> chain</c><02:10:23.520><c> X</c><02:10:23.760><c> we</c><02:10:24.000><c> want</c><02:10:24.179><c> to</c><02:10:24.300><c> access</c><02:10:24.540><c> the</c>

02:10:25.129 --> 02:10:25.139 align:start position:0%
because on chain X we want to access the
 

02:10:25.139 --> 02:10:28.370 align:start position:0%
because on chain X we want to access the
the<02:10:25.560><c> state</c><02:10:25.800><c> of</c><02:10:26.040><c> changing</c><02:10:26.820><c> so</c><02:10:27.719><c> what</c><02:10:27.900><c> do</c><02:10:28.080><c> we</c><02:10:28.199><c> do</c>

02:10:28.370 --> 02:10:28.380 align:start position:0%
the state of changing so what do we do
 

02:10:28.380 --> 02:10:30.050 align:start position:0%
the state of changing so what do we do
once<02:10:28.739><c> we</c><02:10:28.800><c> have</c><02:10:28.860><c> the</c><02:10:28.980><c> commitment</c><02:10:29.340><c> we</c><02:10:29.699><c> literally</c>

02:10:30.050 --> 02:10:30.060 align:start position:0%
once we have the commitment we literally
 

02:10:30.060 --> 02:10:32.209 align:start position:0%
once we have the commitment we literally
recreate<02:10:30.659><c> all</c><02:10:30.840><c> the</c><02:10:30.960><c> headers</c>

02:10:32.209 --> 02:10:32.219 align:start position:0%
recreate all the headers
 

02:10:32.219 --> 02:10:35.089 align:start position:0%
recreate all the headers
using<02:10:33.000><c> one</c><02:10:33.179><c> of</c><02:10:33.300><c> the</c><02:10:33.360><c> three</c><02:10:33.480><c> approaches</c>

02:10:35.089 --> 02:10:35.099 align:start position:0%
using one of the three approaches
 

02:10:35.099 --> 02:10:37.250 align:start position:0%
using one of the three approaches
and<02:10:35.639><c> once</c><02:10:35.940><c> we</c><02:10:36.000><c> recreate</c><02:10:36.480><c> it</c><02:10:36.540><c> the</c><02:10:36.840><c> header</c><02:10:37.139><c> is</c>

02:10:37.250 --> 02:10:37.260 align:start position:0%
and once we recreate it the header is
 

02:10:37.260 --> 02:10:38.870 align:start position:0%
and once we recreate it the header is
still<02:10:37.380><c> the</c><02:10:37.500><c> point</c><02:10:37.679><c> for</c><02:10:38.280><c> which</c><02:10:38.400><c> I</c><02:10:38.639><c> want</c><02:10:38.760><c> to</c>

02:10:38.870 --> 02:10:38.880 align:start position:0%
still the point for which I want to
 

02:10:38.880 --> 02:10:41.089 align:start position:0%
still the point for which I want to
prove<02:10:39.239><c> the</c><02:10:39.360><c> storage</c><02:10:39.540><c> I</c><02:10:40.199><c> just</c><02:10:40.380><c> verify</c><02:10:40.739><c> a</c><02:10:40.860><c> proof</c>

02:10:41.089 --> 02:10:41.099 align:start position:0%
prove the storage I just verify a proof
 

02:10:41.099 --> 02:10:42.589 align:start position:0%
prove the storage I just verify a proof
and<02:10:41.219><c> again</c><02:10:41.340><c> for</c><02:10:41.520><c> verifying</c><02:10:42.000><c> get</c><02:10:42.119><c> proof</c><02:10:42.360><c> there</c>

02:10:42.589 --> 02:10:42.599 align:start position:0%
and again for verifying get proof there
 

02:10:42.599 --> 02:10:44.149 align:start position:0%
and again for verifying get proof there
are<02:10:42.780><c> multiple</c><02:10:43.080><c> approaches</c><02:10:43.560><c> but</c><02:10:43.739><c> now</c><02:10:43.920><c> let's</c>

02:10:44.149 --> 02:10:44.159 align:start position:0%
are multiple approaches but now let's
 

02:10:44.159 --> 02:10:46.609 align:start position:0%
are multiple approaches but now let's
say<02:10:44.400><c> that</c><02:10:44.520><c> on</c><02:10:44.699><c> chain</c><02:10:44.880><c> y</c><02:10:45.179><c> I</c><02:10:45.960><c> want</c><02:10:46.020><c> to</c><02:10:46.139><c> access</c><02:10:46.320><c> the</c>

02:10:46.609 --> 02:10:46.619 align:start position:0%
say that on chain y I want to access the
 

02:10:46.619 --> 02:10:49.010 align:start position:0%
say that on chain y I want to access the
state<02:10:46.739><c> of</c><02:10:46.920><c> change</c><02:10:47.099><c> Z</c><02:10:47.400><c> and</c><02:10:48.239><c> there</c><02:10:48.540><c> is</c><02:10:48.719><c> no</c><02:10:48.840><c> direct</c>

02:10:49.010 --> 02:10:49.020 align:start position:0%
state of change Z and there is no direct
 

02:10:49.020 --> 02:10:51.470 align:start position:0%
state of change Z and there is no direct
communication<02:10:49.679><c> between</c><02:10:50.040><c> chain</c><02:10:50.400><c> Y</c><02:10:51.060><c> and</c><02:10:51.300><c> chain</c>

02:10:51.470 --> 02:10:51.480 align:start position:0%
communication between chain Y and chain
 

02:10:51.480 --> 02:10:55.010 align:start position:0%
communication between chain Y and chain
Z<02:10:51.780><c> so</c><02:10:52.320><c> it</c><02:10:52.739><c> must</c><02:10:52.860><c> be</c><02:10:52.980><c> routed</c><02:10:53.340><c> through</c><02:10:53.520><c> trainx</c><02:10:54.659><c> by</c>

02:10:55.010 --> 02:10:55.020 align:start position:0%
Z so it must be routed through trainx by
 

02:10:55.020 --> 02:10:56.149 align:start position:0%
Z so it must be routed through trainx by
the<02:10:55.199><c> way</c><02:10:55.199><c> I'm</c>

02:10:56.149 --> 02:10:56.159 align:start position:0%
the way I'm
 

02:10:56.159 --> 02:10:58.609 align:start position:0%
the way I'm
like<02:10:56.820><c> talking</c><02:10:57.179><c> about</c><02:10:58.020><c> this</c><02:10:58.199><c> in</c><02:10:58.380><c> a</c><02:10:58.500><c> pretty</c>

02:10:58.609 --> 02:10:58.619 align:start position:0%
like talking about this in a pretty
 

02:10:58.619 --> 02:11:00.770 align:start position:0%
like talking about this in a pretty
abstract<02:10:58.920><c> Way</c><02:10:59.099><c> by</c><02:10:59.340><c> Chain</c><02:10:59.699><c> X</c><02:10:59.940><c> I</c><02:11:00.119><c> just</c><02:11:00.239><c> mini</c><02:11:00.420><c> room</c>

02:11:00.770 --> 02:11:00.780 align:start position:0%
abstract Way by Chain X I just mini room
 

02:11:00.780 --> 02:11:02.750 align:start position:0%
abstract Way by Chain X I just mini room
later<02:11:01.020><c> one</c>

02:11:02.750 --> 02:11:02.760 align:start position:0%
later one
 

02:11:02.760 --> 02:11:05.030 align:start position:0%
later one
um<02:11:02.880><c> yeah</c><02:11:03.119><c> so</c><02:11:03.480><c> from</c><02:11:04.020><c> chain</c><02:11:04.199><c> X</c><02:11:04.500><c> I'm</c><02:11:04.739><c> just</c><02:11:04.920><c> gonna</c>

02:11:05.030 --> 02:11:05.040 align:start position:0%
um yeah so from chain X I'm just gonna
 

02:11:05.040 --> 02:11:06.709 align:start position:0%
um yeah so from chain X I'm just gonna
send<02:11:05.340><c> again</c><02:11:05.580><c> the</c><02:11:05.820><c> commitment</c><02:11:06.179><c> about</c><02:11:06.420><c> change</c>

02:11:06.709 --> 02:11:06.719 align:start position:0%
send again the commitment about change
 

02:11:06.719 --> 02:11:08.990 align:start position:0%
send again the commitment about change
the<02:11:07.080><c> as</c><02:11:07.380><c> a</c><02:11:07.560><c> message</c><02:11:07.739><c> and</c><02:11:08.460><c> then</c><02:11:08.639><c> simply</c>

02:11:08.990 --> 02:11:09.000 align:start position:0%
the as a message and then simply
 

02:11:09.000 --> 02:11:11.629 align:start position:0%
the as a message and then simply
recreate<02:11:09.540><c> all</c><02:11:09.840><c> these</c><02:11:10.139><c> all</c><02:11:10.440><c> these</c><02:11:10.739><c> headers</c><02:11:11.099><c> as</c>

02:11:11.629 --> 02:11:11.639 align:start position:0%
recreate all these all these headers as
 

02:11:11.639 --> 02:11:14.209 align:start position:0%
recreate all these all these headers as
you<02:11:11.820><c> may</c><02:11:12.000><c> not</c><02:11:12.239><c> notice</c><02:11:13.020><c> it's</c><02:11:13.440><c> pretty</c><02:11:13.679><c> redundant</c>

02:11:14.209 --> 02:11:14.219 align:start position:0%
you may not notice it's pretty redundant
 

02:11:14.219 --> 02:11:16.189 align:start position:0%
you may not notice it's pretty redundant
because<02:11:14.460><c> we</c><02:11:14.880><c> perform</c><02:11:15.179><c> the</c><02:11:15.540><c> same</c><02:11:15.659><c> computation</c>

02:11:16.189 --> 02:11:16.199 align:start position:0%
because we perform the same computation
 

02:11:16.199 --> 02:11:19.729 align:start position:0%
because we perform the same computation
on<02:11:16.739><c> two</c><02:11:17.099><c> different</c><02:11:17.280><c> chains</c><02:11:17.960><c> and</c><02:11:18.960><c> we</c><02:11:19.619><c> don't</c>

02:11:19.729 --> 02:11:19.739 align:start position:0%
on two different chains and we don't
 

02:11:19.739 --> 02:11:21.169 align:start position:0%
on two different chains and we don't
need<02:11:19.920><c> to</c><02:11:20.040><c> do</c><02:11:20.159><c> that</c><02:11:20.280><c> especially</c><02:11:20.699><c> if</c><02:11:20.880><c> you</c><02:11:21.060><c> use</c>

02:11:21.169 --> 02:11:21.179 align:start position:0%
need to do that especially if you use
 

02:11:21.179 --> 02:11:22.850 align:start position:0%
need to do that especially if you use
like<02:11:21.360><c> the</c><02:11:21.599><c> third</c><02:11:21.960><c> approach</c><02:11:22.500><c> which</c><02:11:22.739><c> is</c>

02:11:22.850 --> 02:11:22.860 align:start position:0%
like the third approach which is
 

02:11:22.860 --> 02:11:25.850 align:start position:0%
like the third approach which is
generating<02:11:23.460><c> the</c><02:11:23.699><c> proof</c><02:11:24.000><c> on</c><02:11:24.179><c> chain</c><02:11:24.679><c> but</c><02:11:25.679><c> now</c>

02:11:25.850 --> 02:11:25.860 align:start position:0%
generating the proof on chain but now
 

02:11:25.860 --> 02:11:27.950 align:start position:0%
generating the proof on chain but now
there<02:11:26.159><c> is</c><02:11:26.280><c> another</c><02:11:26.400><c> problem</c><02:11:26.880><c> how</c><02:11:27.659><c> do</c><02:11:27.780><c> you</c>

02:11:27.950 --> 02:11:27.960 align:start position:0%
there is another problem how do you
 

02:11:27.960 --> 02:11:29.570 align:start position:0%
there is another problem how do you
actually<02:11:28.080><c> know</c><02:11:28.320><c> what</c><02:11:28.560><c> you</c><02:11:28.739><c> should</c><02:11:28.860><c> do</c><02:11:29.099><c> like</c>

02:11:29.570 --> 02:11:29.580 align:start position:0%
actually know what you should do like
 

02:11:29.580 --> 02:11:31.550 align:start position:0%
actually know what you should do like
you<02:11:29.760><c> need</c><02:11:29.940><c> to</c><02:11:30.060><c> be</c><02:11:30.239><c> somehow</c><02:11:30.599><c> aware</c><02:11:30.960><c> of</c><02:11:31.080><c> what</c><02:11:31.380><c> is</c>

02:11:31.550 --> 02:11:31.560 align:start position:0%
you need to be somehow aware of what is
 

02:11:31.560 --> 02:11:34.129 align:start position:0%
you need to be somehow aware of what is
happening<02:11:31.920><c> and</c><02:11:32.520><c> for</c><02:11:32.699><c> that</c><02:11:32.820><c> reason</c><02:11:33.139><c> we</c>

02:11:34.129 --> 02:11:34.139 align:start position:0%
happening and for that reason we
 

02:11:34.139 --> 02:11:36.770 align:start position:0%
happening and for that reason we
introduce<02:11:34.560><c> an</c><02:11:34.980><c> API</c><02:11:35.400><c> we</c><02:11:36.000><c> don't</c><02:11:36.179><c> expect</c><02:11:36.360><c> like</c>

02:11:36.770 --> 02:11:36.780 align:start position:0%
introduce an API we don't expect like
 

02:11:36.780 --> 02:11:38.689 align:start position:0%
introduce an API we don't expect like
developers<02:11:37.560><c> to</c><02:11:37.860><c> deal</c><02:11:38.159><c> with</c><02:11:38.400><c> all</c><02:11:38.580><c> that</c>

02:11:38.689 --> 02:11:38.699 align:start position:0%
developers to deal with all that
 

02:11:38.699 --> 02:11:40.910 align:start position:0%
developers to deal with all that
complexities<02:11:39.300><c> choosing</c><02:11:40.260><c> the</c><02:11:40.440><c> right</c><02:11:40.560><c> approach</c>

02:11:40.910 --> 02:11:40.920 align:start position:0%
complexities choosing the right approach
 

02:11:40.920 --> 02:11:43.729 align:start position:0%
complexities choosing the right approach
for<02:11:41.219><c> the</c><02:11:41.460><c> direct</c><02:11:41.940><c> thing</c><02:11:42.239><c> essentially</c><02:11:43.139><c> right</c>

02:11:43.729 --> 02:11:43.739 align:start position:0%
for the direct thing essentially right
 

02:11:43.739 --> 02:11:48.050 align:start position:0%
for the direct thing essentially right
now<02:11:43.860><c> our</c><02:11:44.099><c> apis</c><02:11:45.139><c> optimizes</c><02:11:46.139><c> cost</c><02:11:46.500><c> wise</c><02:11:47.060><c> soon</c>

02:11:48.050 --> 02:11:48.060 align:start position:0%
now our apis optimizes cost wise soon
 

02:11:48.060 --> 02:11:50.990 align:start position:0%
now our apis optimizes cost wise soon
we'll<02:11:48.300><c> be</c><02:11:48.480><c> able</c><02:11:48.659><c> to</c><02:11:48.780><c> optimize</c><02:11:49.260><c> latency</c><02:11:49.679><c> wise</c>

02:11:50.990 --> 02:11:51.000 align:start position:0%
we'll be able to optimize latency wise
 

02:11:51.000 --> 02:11:53.689 align:start position:0%
we'll be able to optimize latency wise
um<02:11:51.060><c> and</c><02:11:51.900><c> yeah</c><02:11:52.020><c> and</c><02:11:52.500><c> essentially</c>

02:11:53.689 --> 02:11:53.699 align:start position:0%
um and yeah and essentially
 

02:11:53.699 --> 02:11:55.189 align:start position:0%
um and yeah and essentially
that's<02:11:54.239><c> it</c>

02:11:55.189 --> 02:11:55.199 align:start position:0%
that's it
 

02:11:55.199 --> 02:11:58.490 align:start position:0%
that's it
um<02:11:55.260><c> just</c><02:11:56.040><c> about</c><02:11:56.280><c> our</c><02:11:56.580><c> API</c><02:11:57.060><c> I</c><02:11:57.780><c> highly</c><02:11:58.080><c> highly</c>

02:11:58.490 --> 02:11:58.500 align:start position:0%
um just about our API I highly highly
 

02:11:58.500 --> 02:12:01.609 align:start position:0%
um just about our API I highly highly
encourage<02:11:58.920><c> you</c><02:11:59.099><c> to</c><02:11:59.639><c> check</c><02:12:00.119><c> this</c><02:12:00.300><c> out</c>

02:12:01.609 --> 02:12:01.619 align:start position:0%
encourage you to check this out
 

02:12:01.619 --> 02:12:03.649 align:start position:0%
encourage you to check this out
um<02:12:01.739><c> and</c><02:12:02.219><c> yeah</c><02:12:02.340><c> like</c><02:12:02.639><c> a</c><02:12:02.820><c> few</c><02:12:03.000><c> final</c><02:12:03.119><c> words</c><02:12:03.480><c> about</c>

02:12:03.649 --> 02:12:03.659 align:start position:0%
um and yeah like a few final words about
 

02:12:03.659 --> 02:12:06.229 align:start position:0%
um and yeah like a few final words about
the<02:12:03.900><c> API</c><02:12:04.199><c> it</c><02:12:04.739><c> acts</c><02:12:04.980><c> as</c><02:12:05.040><c> a</c><02:12:05.219><c> coordinator</c><02:12:05.639><c> it</c>

02:12:06.229 --> 02:12:06.239 align:start position:0%
the API it acts as a coordinator it
 

02:12:06.239 --> 02:12:08.510 align:start position:0%
the API it acts as a coordinator it
optimize<02:12:06.719><c> the</c><02:12:06.900><c> costs</c><02:12:07.199><c> it</c><02:12:07.619><c> optimizes</c><02:12:08.099><c> the</c><02:12:08.340><c> cost</c>

02:12:08.510 --> 02:12:08.520 align:start position:0%
optimize the costs it optimizes the cost
 

02:12:08.520 --> 02:12:11.209 align:start position:0%
optimize the costs it optimizes the cost
because<02:12:08.760><c> we</c><02:12:09.179><c> can</c><02:12:09.300><c> batch</c><02:12:09.540><c> multiple</c><02:12:09.900><c> things</c><02:12:10.219><c> and</c>

02:12:11.209 --> 02:12:11.219 align:start position:0%
because we can batch multiple things and
 

02:12:11.219 --> 02:12:13.609 align:start position:0%
because we can batch multiple things and
once<02:12:11.639><c> the</c><02:12:11.760><c> job</c><02:12:11.940><c> is</c><02:12:12.119><c> done</c><02:12:12.300><c> we</c><02:12:13.080><c> get</c><02:12:13.500><c> a</c>

02:12:13.609 --> 02:12:13.619 align:start position:0%
once the job is done we get a
 

02:12:13.619 --> 02:12:16.370 align:start position:0%
once the job is done we get a
notification<02:12:14.040><c> like</c><02:12:14.280><c> via</c><02:12:14.639><c> webhook</c><02:12:15.300><c> VIA</c><02:12:16.260><c> an</c>

02:12:16.370 --> 02:12:16.380 align:start position:0%
notification like via webhook VIA an
 

02:12:16.380 --> 02:12:17.930 align:start position:0%
notification like via webhook VIA an
event<02:12:16.500><c> like</c><02:12:16.739><c> whatever</c><02:12:16.920><c> you</c><02:12:17.340><c> want</c><02:12:17.460><c> so</c>

02:12:17.930 --> 02:12:17.940 align:start position:0%
event like whatever you want so
 

02:12:17.940 --> 02:12:20.149 align:start position:0%
event like whatever you want so
essentially<02:12:18.300><c> you're</c><02:12:19.199><c> not</c><02:12:19.380><c> you</c><02:12:19.800><c> don't</c><02:12:19.920><c> need</c><02:12:20.099><c> to</c>

02:12:20.149 --> 02:12:20.159 align:start position:0%
essentially you're not you don't need to
 

02:12:20.159 --> 02:12:23.209 align:start position:0%
essentially you're not you don't need to
be<02:12:20.400><c> like</c><02:12:20.940><c> a</c><02:12:21.179><c> infrastructure</c><02:12:21.900><c> maintainer</c><02:12:22.619><c> and</c>

02:12:23.209 --> 02:12:23.219 align:start position:0%
be like a infrastructure maintainer and
 

02:12:23.219 --> 02:12:24.470 align:start position:0%
be like a infrastructure maintainer and
you<02:12:23.400><c> can</c><02:12:23.520><c> just</c><02:12:23.639><c> focus</c><02:12:23.940><c> on</c><02:12:24.119><c> essentially</c>

02:12:24.470 --> 02:12:24.480 align:start position:0%
you can just focus on essentially
 

02:12:24.480 --> 02:12:26.750 align:start position:0%
you can just focus on essentially
building<02:12:24.840><c> on</c><02:12:25.199><c> top</c><02:12:25.380><c> of</c><02:12:25.560><c> this</c><02:12:25.679><c> primitive</c>

02:12:26.750 --> 02:12:26.760 align:start position:0%
building on top of this primitive
 

02:12:26.760 --> 02:12:28.609 align:start position:0%
building on top of this primitive
and<02:12:27.239><c> I</c><02:12:27.360><c> think</c><02:12:27.540><c> that's</c><02:12:27.719><c> it</c>

02:12:28.609 --> 02:12:28.619 align:start position:0%
and I think that's it
 

02:12:28.619 --> 02:12:43.430 align:start position:0%
and I think that's it
um<02:12:28.679><c> questions</c>

02:12:43.430 --> 02:12:43.440 align:start position:0%
 
 

02:12:43.440 --> 02:12:46.609 align:start position:0%
 
so<02:12:44.340><c> the</c><02:12:44.699><c> API</c><02:12:45.119><c> essentially</c><02:12:45.540><c> is</c><02:12:45.659><c> a</c><02:12:45.840><c> rest</c><02:12:46.020><c> API</c><02:12:46.440><c> for</c>

02:12:46.609 --> 02:12:46.619 align:start position:0%
so the API essentially is a rest API for
 

02:12:46.619 --> 02:12:49.129 align:start position:0%
so the API essentially is a rest API for
now<02:12:46.800><c> we</c><02:12:47.340><c> also</c><02:12:47.580><c> have</c><02:12:47.699><c> a</c><02:12:47.820><c> Json</c><02:12:48.060><c> interface</c><02:12:48.599><c> we</c>

02:12:49.129 --> 02:12:49.139 align:start position:0%
now we also have a Json interface we
 

02:12:49.139 --> 02:12:52.189 align:start position:0%
now we also have a Json interface we
have<02:12:49.320><c> option</c><02:12:49.920><c> function</c><02:12:50.520><c> entry</c><02:12:50.880><c> points</c><02:12:51.239><c> so</c><02:12:51.780><c> we</c>

02:12:52.189 --> 02:12:52.199 align:start position:0%
have option function entry points so we
 

02:12:52.199 --> 02:12:54.169 align:start position:0%
have option function entry points so we
can<02:12:52.320><c> request</c><02:12:52.619><c> the</c><02:12:52.860><c> data</c><02:12:53.219><c> like</c><02:12:53.760><c> by</c><02:12:54.000><c> making</c>

02:12:54.169 --> 02:12:54.179 align:start position:0%
can request the data like by making
 

02:12:54.179 --> 02:12:56.689 align:start position:0%
can request the data like by making
enough<02:12:54.360><c> jingle</c><02:12:54.840><c> like</c><02:12:55.199><c> calling</c><02:12:55.920><c> a</c><02:12:55.980><c> rest</c><02:12:56.099><c> API</c><02:12:56.579><c> or</c>

02:12:56.689 --> 02:12:56.699 align:start position:0%
enough jingle like calling a rest API or
 

02:12:56.699 --> 02:13:00.229 align:start position:0%
enough jingle like calling a rest API or
like<02:12:56.880><c> calling</c><02:12:57.179><c> a</c><02:12:57.300><c> Json</c><02:12:57.960><c> or</c><02:12:58.139><c> PC</c><02:12:58.380><c> method</c><02:12:59.000><c> or</c><02:13:00.000><c> if</c>

02:13:00.229 --> 02:13:00.239 align:start position:0%
like calling a Json or PC method or if
 

02:13:00.239 --> 02:13:01.609 align:start position:0%
like calling a Json or PC method or if
you're<02:13:00.360><c> a</c><02:13:00.540><c> smart</c><02:13:00.599><c> contracts</c><02:13:01.079><c> like</c><02:13:01.260><c> wants</c><02:13:01.560><c> to</c>

02:13:01.609 --> 02:13:01.619 align:start position:0%
you're a smart contracts like wants to
 

02:13:01.619 --> 02:13:03.410 align:start position:0%
you're a smart contracts like wants to
access<02:13:01.800><c> this</c><02:13:02.040><c> data</c><02:13:02.400><c> then</c><02:13:02.520><c> you</c><02:13:02.880><c> just</c><02:13:03.000><c> submit</c><02:13:03.300><c> an</c>

02:13:03.410 --> 02:13:03.420 align:start position:0%
access this data then you just submit an
 

02:13:03.420 --> 02:13:05.330 align:start position:0%
access this data then you just submit an
event<02:13:03.599><c> we're</c><02:13:03.840><c> gonna</c><02:13:03.960><c> catch</c><02:13:04.320><c> the</c><02:13:04.380><c> event</c><02:13:04.560><c> and</c>

02:13:05.330 --> 02:13:05.340 align:start position:0%
event we're gonna catch the event and
 

02:13:05.340 --> 02:13:08.089 align:start position:0%
event we're gonna catch the event and
later<02:13:05.579><c> on</c><02:13:05.820><c> like</c><02:13:06.060><c> after</c><02:13:06.780><c> a</c><02:13:07.020><c> bit</c><02:13:07.139><c> of</c><02:13:07.320><c> time</c><02:13:07.440><c> fit</c>

02:13:08.089 --> 02:13:08.099 align:start position:0%
later on like after a bit of time fit
 

02:13:08.099 --> 02:13:10.069 align:start position:0%
later on like after a bit of time fit
this<02:13:08.520><c> uh</c><02:13:08.940><c> the</c><02:13:09.179><c> specific</c><02:13:09.360><c> data</c><02:13:09.719><c> inside</c><02:13:09.900><c> the</c>

02:13:10.069 --> 02:13:10.079 align:start position:0%
this uh the specific data inside the
 

02:13:10.079 --> 02:13:11.810 align:start position:0%
this uh the specific data inside the
smart<02:13:10.260><c> contract</c><02:13:10.679><c> so</c><02:13:11.159><c> we</c><02:13:11.280><c> have</c><02:13:11.460><c> like</c><02:13:11.579><c> a</c><02:13:11.699><c> bunch</c>

02:13:11.810 --> 02:13:11.820 align:start position:0%
smart contract so we have like a bunch
 

02:13:11.820 --> 02:13:14.030 align:start position:0%
smart contract so we have like a bunch
of<02:13:11.940><c> interfaces</c><02:13:12.599><c> and</c><02:13:13.320><c> by</c><02:13:13.380><c> the</c><02:13:13.500><c> way</c><02:13:13.560><c> speaking</c><02:13:13.980><c> of</c>

02:13:14.030 --> 02:13:14.040 align:start position:0%
of interfaces and by the way speaking of
 

02:13:14.040 --> 02:13:15.830 align:start position:0%
of interfaces and by the way speaking of
like<02:13:14.219><c> the</c><02:13:14.340><c> off-train</c><02:13:14.760><c> entry</c><02:13:15.000><c> points</c><02:13:15.300><c> once</c><02:13:15.719><c> the</c>

02:13:15.830 --> 02:13:15.840 align:start position:0%
like the off-train entry points once the
 

02:13:15.840 --> 02:13:18.050 align:start position:0%
like the off-train entry points once the
entire<02:13:16.199><c> leg</c><02:13:16.380><c> work</c><02:13:16.619><c> is</c><02:13:16.800><c> done</c><02:13:16.920><c> on</c><02:13:17.099><c> our</c><02:13:17.280><c> site</c><02:13:17.579><c> you</c>

02:13:18.050 --> 02:13:18.060 align:start position:0%
entire leg work is done on our site you
 

02:13:18.060 --> 02:13:20.870 align:start position:0%
entire leg work is done on our site you
can<02:13:18.179><c> get</c><02:13:18.300><c> a</c><02:13:18.540><c> notification</c><02:13:19.440><c> it</c><02:13:19.860><c> can</c><02:13:20.099><c> be</c><02:13:20.219><c> like</c><02:13:20.460><c> a</c>

02:13:20.870 --> 02:13:20.880 align:start position:0%
can get a notification it can be like a
 

02:13:20.880 --> 02:13:22.910 align:start position:0%
can get a notification it can be like a
web<02:13:21.000><c> hook</c><02:13:21.239><c> we</c><02:13:21.840><c> can</c><02:13:22.020><c> like</c><02:13:22.139><c> send</c><02:13:22.380><c> you</c><02:13:22.500><c> a</c><02:13:22.679><c> bit</c><02:13:22.800><c> of</c>

02:13:22.910 --> 02:13:22.920 align:start position:0%
web hook we can like send you a bit of
 

02:13:22.920 --> 02:13:25.729 align:start position:0%
web hook we can like send you a bit of
information<02:13:23.159><c> like</c><02:13:23.760><c> using</c><02:13:24.179><c> a</c><02:13:24.300><c> websocket</c><02:13:24.840><c> uh</c><02:13:25.560><c> it</c>

02:13:25.729 --> 02:13:25.739 align:start position:0%
information like using a websocket uh it
 

02:13:25.739 --> 02:13:27.589 align:start position:0%
information like using a websocket uh it
can<02:13:25.860><c> be</c><02:13:25.920><c> essentially</c><02:13:26.340><c> whatever</c><02:13:26.760><c> whatever</c><02:13:27.179><c> you</c>

02:13:27.589 --> 02:13:27.599 align:start position:0%
can be essentially whatever whatever you
 

02:13:27.599 --> 02:13:31.069 align:start position:0%
can be essentially whatever whatever you
want

02:13:31.069 --> 02:13:31.079 align:start position:0%
 
 

02:13:31.079 --> 02:13:37.209 align:start position:0%
 
foreign

02:13:37.209 --> 02:13:37.219 align:start position:0%
 
 

02:13:37.219 --> 02:13:40.129 align:start position:0%
 
oh<02:13:38.219><c> yeah</c><02:13:38.340><c> so</c><02:13:38.699><c> uh</c><02:13:39.119><c> that's</c><02:13:39.480><c> actually</c><02:13:39.719><c> a</c><02:13:39.960><c> great</c>

02:13:40.129 --> 02:13:40.139 align:start position:0%
oh yeah so uh that's actually a great
 

02:13:40.139 --> 02:13:43.010 align:start position:0%
oh yeah so uh that's actually a great
question<02:13:40.380><c> so</c><02:13:41.280><c> different</c><02:13:42.119><c> chains</c><02:13:42.659><c> use</c><02:13:42.780><c> a</c>

02:13:43.010 --> 02:13:43.020 align:start position:0%
question so different chains use a
 

02:13:43.020 --> 02:13:45.649 align:start position:0%
question so different chains use a
different<02:13:43.199><c> like</c><02:13:43.500><c> storage</c><02:13:43.800><c> uh</c><02:13:44.579><c> I</c><02:13:45.480><c> would</c><02:13:45.599><c> say</c>

02:13:45.649 --> 02:13:45.659 align:start position:0%
different like storage uh I would say
 

02:13:45.659 --> 02:13:46.970 align:start position:0%
different like storage uh I would say
architecture<02:13:46.199><c> they</c><02:13:46.440><c> might</c><02:13:46.619><c> commit</c><02:13:46.860><c> to</c>

02:13:46.970 --> 02:13:46.980 align:start position:0%
architecture they might commit to
 

02:13:46.980 --> 02:13:50.209 align:start position:0%
architecture they might commit to
America<02:13:47.099><c> Patricia</c><02:13:47.699><c> 3</c><02:13:47.940><c> Miracle</c><02:13:48.540><c> 3</c><02:13:48.739><c> uh</c><02:13:49.739><c> maybe</c>

02:13:50.209 --> 02:13:50.219 align:start position:0%
America Patricia 3 Miracle 3 uh maybe
 

02:13:50.219 --> 02:13:52.609 align:start position:0%
America Patricia 3 Miracle 3 uh maybe
even<02:13:50.400><c> vertical</c><02:13:50.880><c> tree</c><02:13:51.119><c> and</c><02:13:51.719><c> obviously</c><02:13:52.079><c> like</c><02:13:52.440><c> I</c>

02:13:52.609 --> 02:13:52.619 align:start position:0%
even vertical tree and obviously like I
 

02:13:52.619 --> 02:13:55.609 align:start position:0%
even vertical tree and obviously like I
said<02:13:52.739><c> having</c><02:13:52.980><c> a</c><02:13:53.219><c> generalized</c><02:13:53.820><c> verifier</c><02:13:54.780><c> it's</c>

02:13:55.609 --> 02:13:55.619 align:start position:0%
said having a generalized verifier it's
 

02:13:55.619 --> 02:13:59.149 align:start position:0%
said having a generalized verifier it's
like<02:13:55.980><c> pretty</c><02:13:56.360><c> it's</c><02:13:57.360><c> not</c><02:13:57.599><c> a</c><02:13:57.900><c> clean</c><02:13:58.079><c> approach</c><02:13:58.500><c> so</c>

02:13:59.149 --> 02:13:59.159 align:start position:0%
like pretty it's not a clean approach so
 

02:13:59.159 --> 02:14:01.970 align:start position:0%
like pretty it's not a clean approach so
we<02:13:59.400><c> essentially</c><02:13:59.760><c> abstract</c><02:14:00.300><c> it</c><02:14:00.719><c> but</c><02:14:01.440><c> by</c><02:14:01.739><c> using</c>

02:14:01.970 --> 02:14:01.980 align:start position:0%
we essentially abstract it but by using
 

02:14:01.980 --> 02:14:04.790 align:start position:0%
we essentially abstract it but by using
a<02:14:02.159><c> snark</c><02:14:02.400><c> and</c><02:14:03.239><c> inside</c><02:14:03.480><c> the</c><02:14:03.719><c> snark</c><02:14:04.079><c> itself</c><02:14:04.440><c> we</c>

02:14:04.790 --> 02:14:04.800 align:start position:0%
a snark and inside the snark itself we
 

02:14:04.800 --> 02:14:08.030 align:start position:0%
a snark and inside the snark itself we
just<02:14:04.980><c> do</c><02:14:05.880><c> the</c><02:14:06.119><c> proper</c><02:14:06.719><c> work</c><02:14:07.020><c> like</c>

02:14:08.030 --> 02:14:08.040 align:start position:0%
just do the proper work like
 

02:14:08.040 --> 02:14:10.129 align:start position:0%
just do the proper work like
you<02:14:08.639><c> know</c><02:14:08.820><c> you</c><02:14:09.060><c> go</c><02:14:09.239><c> for</c><02:14:09.420><c> the</c><02:14:09.599><c> for</c><02:14:09.780><c> the</c><02:14:10.020><c> tree</c>

02:14:10.129 --> 02:14:10.139 align:start position:0%
you know you go for the for the tree
 

02:14:10.139 --> 02:14:11.810 align:start position:0%
you know you go for the for the tree
like<02:14:10.380><c> for</c><02:14:10.500><c> the</c><02:14:10.739><c> for</c><02:14:10.980><c> the</c><02:14:11.280><c> um</c><02:14:11.280><c> through</c><02:14:11.699><c> the</c>

02:14:11.810 --> 02:14:11.820 align:start position:0%
like for the for the um through the
 

02:14:11.820 --> 02:14:13.490 align:start position:0%
like for the for the um through the
elements<02:14:12.119><c> of</c><02:14:12.239><c> the</c><02:14:12.360><c> proof</c><02:14:12.659><c> and</c><02:14:12.840><c> then</c><02:14:12.960><c> we</c><02:14:13.320><c> can</c>

02:14:13.490 --> 02:14:13.500 align:start position:0%
elements of the proof and then we can
 

02:14:13.500 --> 02:14:15.770 align:start position:0%
elements of the proof and then we can
like<02:14:13.679><c> use</c><02:14:13.860><c> a</c><02:14:14.099><c> specific</c><02:14:14.340><c> hashing</c><02:14:14.820><c> function</c><02:14:15.119><c> so</c>

02:14:15.770 --> 02:14:15.780 align:start position:0%
like use a specific hashing function so
 

02:14:15.780 --> 02:14:18.890 align:start position:0%
like use a specific hashing function so
for<02:14:15.960><c> example</c><02:14:16.340><c> now</c><02:14:17.340><c> Poseidon</c><02:14:17.940><c> is</c><02:14:18.119><c> Poseidon</c><02:14:18.659><c> is</c>

02:14:18.890 --> 02:14:18.900 align:start position:0%
for example now Poseidon is Poseidon is
 

02:14:18.900 --> 02:14:21.890 align:start position:0%
for example now Poseidon is Poseidon is
uh<02:14:19.500><c> is</c><02:14:20.099><c> is</c><02:14:20.219><c> pretty</c><02:14:20.520><c> popular</c>

02:14:21.890 --> 02:14:21.900 align:start position:0%
uh is is pretty popular
 

02:14:21.900 --> 02:14:24.410 align:start position:0%
uh is is pretty popular
um<02:14:22.020><c> I</c><02:14:22.560><c> think</c><02:14:22.739><c> that</c><02:14:22.980><c> scroll</c><02:14:23.340><c> uses</c><02:14:23.760><c> Poseidon</c><02:14:24.239><c> and</c>

02:14:24.410 --> 02:14:24.420 align:start position:0%
um I think that scroll uses Poseidon and
 

02:14:24.420 --> 02:14:27.770 align:start position:0%
um I think that scroll uses Poseidon and
also<02:14:24.780><c> SDK</c><02:14:25.500><c> sync</c><02:14:25.800><c> uses</c><02:14:25.980><c> Poseidon</c><02:14:26.520><c> on</c><02:14:27.360><c> the</c><02:14:27.480><c> avian</c>

02:14:27.770 --> 02:14:27.780 align:start position:0%
also SDK sync uses Poseidon on the avian
 

02:14:27.780 --> 02:14:29.569 align:start position:0%
also SDK sync uses Poseidon on the avian
like<02:14:28.079><c> performing</c><02:14:28.679><c> Poseidon</c><02:14:29.099><c> will</c><02:14:29.280><c> be</c><02:14:29.400><c> pretty</c>

02:14:29.569 --> 02:14:29.579 align:start position:0%
like performing Poseidon will be pretty
 

02:14:29.579 --> 02:14:31.669 align:start position:0%
like performing Poseidon will be pretty
expensive<02:14:30.060><c> so</c><02:14:30.780><c> for</c><02:14:30.960><c> that</c><02:14:31.079><c> reason</c><02:14:31.260><c> you</c><02:14:31.500><c> cannot</c>

02:14:31.669 --> 02:14:31.679 align:start position:0%
expensive so for that reason you cannot
 

02:14:31.679 --> 02:14:33.350 align:start position:0%
expensive so for that reason you cannot
verify<02:14:31.980><c> the</c><02:14:32.159><c> proof</c><02:14:32.400><c> directly</c><02:14:32.760><c> but</c><02:14:33.060><c> what</c><02:14:33.239><c> you</c>

02:14:33.350 --> 02:14:33.360 align:start position:0%
verify the proof directly but what you
 

02:14:33.360 --> 02:14:34.550 align:start position:0%
verify the proof directly but what you
can<02:14:33.540><c> do</c><02:14:33.599><c> you</c><02:14:33.780><c> can</c><02:14:33.900><c> do</c><02:14:34.139><c> the</c><02:14:34.320><c> entire</c>

02:14:34.550 --> 02:14:34.560 align:start position:0%
can do you can do the entire
 

02:14:34.560 --> 02:14:36.530 align:start position:0%
can do you can do the entire
verification<02:14:34.920><c> inside</c><02:14:35.159><c> the</c><02:14:35.400><c> snark</c><02:14:35.699><c> and</c><02:14:36.360><c> then</c>

02:14:36.530 --> 02:14:36.540 align:start position:0%
verification inside the snark and then
 

02:14:36.540 --> 02:14:37.850 align:start position:0%
verification inside the snark and then
on<02:14:36.719><c> the</c><02:14:36.900><c> one</c><02:14:37.020><c> you</c><02:14:37.199><c> don't</c><02:14:37.320><c> really</c><02:14:37.500><c> care</c><02:14:37.679><c> about</c>

02:14:37.850 --> 02:14:37.860 align:start position:0%
on the one you don't really care about
 

02:14:37.860 --> 02:14:39.890 align:start position:0%
on the one you don't really care about
the<02:14:38.219><c> Strunk</c><02:14:38.639><c> is</c><02:14:38.880><c> like</c><02:14:39.060><c> doing</c><02:14:39.300><c> you</c><02:14:39.540><c> just</c><02:14:39.719><c> just</c>

02:14:39.890 --> 02:14:39.900 align:start position:0%
the Strunk is like doing you just just
 

02:14:39.900 --> 02:14:41.990 align:start position:0%
the Strunk is like doing you just just
verify<02:14:40.380><c> it</c><02:14:40.500><c> so</c><02:14:40.980><c> that's</c><02:14:41.099><c> how</c><02:14:41.340><c> we</c><02:14:41.460><c> actually</c><02:14:41.579><c> did</c>

02:14:41.990 --> 02:14:42.000 align:start position:0%
verify it so that's how we actually did
 

02:14:42.000 --> 02:14:43.790 align:start position:0%
verify it so that's how we actually did
it<02:14:42.179><c> deal</c><02:14:42.480><c> with</c><02:14:42.659><c> it</c><02:14:42.840><c> if</c><02:14:43.079><c> we</c><02:14:43.199><c> need</c><02:14:43.380><c> to</c><02:14:43.440><c> have</c><02:14:43.619><c> it</c>

02:14:43.790 --> 02:14:43.800 align:start position:0%
it deal with it if we need to have it
 

02:14:43.800 --> 02:14:45.290 align:start position:0%
it deal with it if we need to have it
abstracted<02:14:44.159><c> we</c><02:14:44.340><c> have</c><02:14:44.460><c> it</c><02:14:44.520><c> abstracted</c><02:14:44.940><c> if</c><02:14:45.179><c> we</c>

02:14:45.290 --> 02:14:45.300 align:start position:0%
abstracted we have it abstracted if we
 

02:14:45.300 --> 02:14:49.850 align:start position:0%
abstracted we have it abstracted if we
don't<02:14:45.420><c> then</c><02:14:45.900><c> we</c><02:14:46.260><c> just</c><02:14:46.440><c> don't</c>

02:14:49.850 --> 02:14:49.860 align:start position:0%
 
 

02:14:49.860 --> 02:14:54.830 align:start position:0%
 
foreign

02:14:54.830 --> 02:14:54.840 align:start position:0%
 
 

02:14:54.840 --> 02:15:00.830 align:start position:0%
 
oh<02:14:55.380><c> yeah</c>

02:15:00.830 --> 02:15:00.840 align:start position:0%
 
 

02:15:00.840 --> 02:15:03.109 align:start position:0%
 
oh<02:15:01.380><c> yeah</c><02:15:01.619><c> that's</c><02:15:01.920><c> uh</c><02:15:02.280><c> that's</c><02:15:02.639><c> actually</c><02:15:02.820><c> a</c><02:15:03.000><c> good</c>

02:15:03.109 --> 02:15:03.119 align:start position:0%
oh yeah that's uh that's actually a good
 

02:15:03.119 --> 02:15:04.790 align:start position:0%
oh yeah that's uh that's actually a good
question<02:15:03.300><c> because</c><02:15:03.599><c> I</c><02:15:03.840><c> think</c><02:15:03.960><c> I</c><02:15:04.139><c> went</c><02:15:04.380><c> super</c>

02:15:04.790 --> 02:15:04.800 align:start position:0%
question because I think I went super
 

02:15:04.800 --> 02:15:07.129 align:start position:0%
question because I think I went super
technical<02:15:05.280><c> uh</c><02:15:06.119><c> so</c><02:15:06.300><c> actually</c><02:15:06.420><c> what</c><02:15:06.719><c> we</c><02:15:06.900><c> do</c><02:15:07.020><c> at</c>

02:15:07.129 --> 02:15:07.139 align:start position:0%
technical uh so actually what we do at
 

02:15:07.139 --> 02:15:09.830 align:start position:0%
technical uh so actually what we do at
Herodotus<02:15:07.739><c> every</c><02:15:08.340><c> two</c><02:15:09.179><c> weeks</c><02:15:09.420><c> we</c><02:15:09.540><c> have</c><02:15:09.719><c> some</c>

02:15:09.830 --> 02:15:09.840 align:start position:0%
Herodotus every two weeks we have some
 

02:15:09.840 --> 02:15:11.930 align:start position:0%
Herodotus every two weeks we have some
internal<02:15:10.199><c> hackathons</c><02:15:10.679><c> and</c><02:15:11.040><c> right</c><02:15:11.400><c> before</c><02:15:11.639><c> the</c>

02:15:11.930 --> 02:15:11.940 align:start position:0%
internal hackathons and right before the
 

02:15:11.940 --> 02:15:14.930 align:start position:0%
internal hackathons and right before the
merge<02:15:12.300><c> uh</c><02:15:13.199><c> we</c><02:15:13.500><c> built</c><02:15:14.040><c> a</c><02:15:14.159><c> proof</c><02:15:14.520><c> of</c><02:15:14.579><c> concept</c>

02:15:14.930 --> 02:15:14.940 align:start position:0%
merge uh we built a proof of concept
 

02:15:14.940 --> 02:15:16.850 align:start position:0%
merge uh we built a proof of concept
that<02:15:15.239><c> we</c><02:15:15.360><c> called</c><02:15:15.540><c> merge</c><02:15:16.020><c> Swap</c><02:15:16.320><c> and</c>

02:15:16.850 --> 02:15:16.860 align:start position:0%
that we called merge Swap and
 

02:15:16.860 --> 02:15:18.830 align:start position:0%
that we called merge Swap and
essentially<02:15:17.219><c> we</c><02:15:17.520><c> allowed</c><02:15:17.940><c> anyone</c><02:15:18.420><c> to</c><02:15:18.659><c> dump</c>

02:15:18.830 --> 02:15:18.840 align:start position:0%
essentially we allowed anyone to dump
 

02:15:18.840 --> 02:15:21.830 align:start position:0%
essentially we allowed anyone to dump
their<02:15:19.139><c> proof</c><02:15:19.800><c> of</c><02:15:19.920><c> work</c><02:15:20.460><c> if</c><02:15:20.760><c> on</c><02:15:21.119><c> proof</c><02:15:21.420><c> of</c><02:15:21.480><c> stake</c>

02:15:21.830 --> 02:15:21.840 align:start position:0%
their proof of work if on proof of stake
 

02:15:21.840 --> 02:15:23.390 align:start position:0%
their proof of work if on proof of stake
and<02:15:22.260><c> the</c><02:15:22.380><c> way</c><02:15:22.500><c> how</c><02:15:22.679><c> it</c><02:15:22.800><c> works</c><02:15:23.099><c> would</c><02:15:23.219><c> you</c>

02:15:23.390 --> 02:15:23.400 align:start position:0%
and the way how it works would you
 

02:15:23.400 --> 02:15:24.890 align:start position:0%
and the way how it works would you
literally<02:15:23.699><c> build</c><02:15:23.880><c> the</c><02:15:24.060><c> bridge</c><02:15:24.239><c> on</c><02:15:24.540><c> top</c><02:15:24.659><c> of</c>

02:15:24.890 --> 02:15:24.900 align:start position:0%
literally build the bridge on top of
 

02:15:24.900 --> 02:15:27.109 align:start position:0%
literally build the bridge on top of
this<02:15:25.139><c> technology</c><02:15:25.860><c> and</c><02:15:26.219><c> the</c><02:15:26.340><c> bridge</c><02:15:26.579><c> Works</c><02:15:27.000><c> in</c>

02:15:27.109 --> 02:15:27.119 align:start position:0%
this technology and the bridge Works in
 

02:15:27.119 --> 02:15:30.649 align:start position:0%
this technology and the bridge Works in
a<02:15:27.239><c> way</c><02:15:27.360><c> that</c><02:15:27.480><c> you</c><02:15:27.659><c> can</c><02:15:27.780><c> lock</c><02:15:28.380><c> your</c><02:15:29.400><c> if</c><02:15:30.179><c> proof</c><02:15:30.599><c> of</c>

02:15:30.649 --> 02:15:30.659 align:start position:0%
a way that you can lock your if proof of
 

02:15:30.659 --> 02:15:33.770 align:start position:0%
a way that you can lock your if proof of
work<02:15:30.840><c> inside</c><02:15:31.139><c> a</c><02:15:31.440><c> smart</c><02:15:31.679><c> contract</c><02:15:32.159><c> on</c><02:15:33.119><c> if</c><02:15:33.420><c> proof</c>

02:15:33.770 --> 02:15:33.780 align:start position:0%
work inside a smart contract on if proof
 

02:15:33.780 --> 02:15:35.750 align:start position:0%
work inside a smart contract on if proof
of<02:15:33.840><c> under</c><02:15:34.020><c> if</c><02:15:34.260><c> proof</c><02:15:34.619><c> of</c><02:15:34.619><c> work</c><02:15:34.800><c> chain</c><02:15:35.040><c> you</c><02:15:35.639><c> can</c>

02:15:35.750 --> 02:15:35.760 align:start position:0%
of under if proof of work chain you can
 

02:15:35.760 --> 02:15:37.970 align:start position:0%
of under if proof of work chain you can
prove<02:15:36.060><c> that</c><02:15:36.179><c> you've</c><02:15:36.360><c> done</c><02:15:36.540><c> it</c><02:15:36.719><c> on</c><02:15:37.139><c> ethereum</c>

02:15:37.970 --> 02:15:37.980 align:start position:0%
prove that you've done it on ethereum
 

02:15:37.980 --> 02:15:40.010 align:start position:0%
prove that you've done it on ethereum
proof<02:15:38.219><c> of</c><02:15:38.280><c> stake</c><02:15:38.579><c> you</c><02:15:39.179><c> can</c><02:15:39.360><c> once</c><02:15:39.719><c> you</c><02:15:39.840><c> the</c>

02:15:40.010 --> 02:15:40.020 align:start position:0%
proof of stake you can once you the
 

02:15:40.020 --> 02:15:42.229 align:start position:0%
proof of stake you can once you the
proof<02:15:40.260><c> is</c><02:15:40.380><c> verified</c><02:15:40.679><c> you</c><02:15:41.280><c> can</c><02:15:41.400><c> meet</c><02:15:41.579><c> the</c><02:15:41.760><c> erc20</c>

02:15:42.229 --> 02:15:42.239 align:start position:0%
proof is verified you can meet the erc20
 

02:15:42.239 --> 02:15:44.629 align:start position:0%
proof is verified you can meet the erc20
token<02:15:42.780><c> and</c><02:15:43.619><c> you</c><02:15:43.860><c> can</c><02:15:43.920><c> do</c><02:15:44.040><c> whatever</c><02:15:44.159><c> you</c><02:15:44.520><c> want</c>

02:15:44.629 --> 02:15:44.639 align:start position:0%
token and you can do whatever you want
 

02:15:44.639 --> 02:15:46.370 align:start position:0%
token and you can do whatever you want
with<02:15:44.820><c> this</c><02:15:45.000><c> token</c><02:15:45.360><c> and</c><02:15:45.780><c> then</c><02:15:45.900><c> if</c><02:15:46.079><c> you</c><02:15:46.199><c> want</c><02:15:46.320><c> to</c>

02:15:46.370 --> 02:15:46.380 align:start position:0%
with this token and then if you want to
 

02:15:46.380 --> 02:15:47.990 align:start position:0%
with this token and then if you want to
withdraw<02:15:46.800><c> back</c><02:15:46.980><c> to</c><02:15:47.099><c> if</c><02:15:47.400><c> you're</c><02:15:47.579><c> in</c><02:15:47.699><c> proof</c><02:15:47.940><c> of</c>

02:15:47.990 --> 02:15:48.000 align:start position:0%
withdraw back to if you're in proof of
 

02:15:48.000 --> 02:15:50.569 align:start position:0%
withdraw back to if you're in proof of
work<02:15:48.420><c> you</c><02:15:48.960><c> just</c><02:15:49.139><c> burn</c><02:15:49.320><c> it</c><02:15:49.560><c> you</c><02:15:50.040><c> prove</c><02:15:50.340><c> the</c><02:15:50.400><c> fact</c>

02:15:50.569 --> 02:15:50.579 align:start position:0%
work you just burn it you prove the fact
 

02:15:50.579 --> 02:15:52.970 align:start position:0%
work you just burn it you prove the fact
that<02:15:50.760><c> you</c><02:15:51.000><c> burned</c><02:15:51.599><c> on</c><02:15:51.780><c> the</c><02:15:51.960><c> other</c><02:15:52.020><c> side</c><02:15:52.320><c> and</c>

02:15:52.970 --> 02:15:52.980 align:start position:0%
that you burned on the other side and
 

02:15:52.980 --> 02:15:54.830 align:start position:0%
that you burned on the other side and
and<02:15:53.219><c> yeah</c><02:15:53.400><c> that's</c><02:15:53.579><c> it</c><02:15:53.820><c> also</c><02:15:54.360><c> in</c><02:15:54.540><c> terms</c><02:15:54.719><c> of</c>

02:15:54.830 --> 02:15:54.840 align:start position:0%
and yeah that's it also in terms of
 

02:15:54.840 --> 02:15:58.149 align:start position:0%
and yeah that's it also in terms of
other<02:15:55.380><c> use</c><02:15:55.739><c> cases</c><02:15:56.040><c> I</c><02:15:56.940><c> think</c><02:15:57.060><c> that</c>

02:15:58.149 --> 02:15:58.159 align:start position:0%
other use cases I think that
 

02:15:58.159 --> 02:16:00.770 align:start position:0%
other use cases I think that
cross-chain<02:15:59.159><c> collateralization</c><02:15:59.880><c> is</c><02:16:00.480><c> pretty</c>

02:16:00.770 --> 02:16:00.780 align:start position:0%
cross-chain collateralization is pretty
 

02:16:00.780 --> 02:16:02.990 align:start position:0%
cross-chain collateralization is pretty
cool<02:16:01.020><c> because</c><02:16:01.679><c> this</c><02:16:01.980><c> is</c><02:16:02.099><c> the</c><02:16:02.340><c> place</c><02:16:02.520><c> where</c><02:16:02.820><c> you</c>

02:16:02.990 --> 02:16:03.000 align:start position:0%
cool because this is the place where you
 

02:16:03.000 --> 02:16:04.669 align:start position:0%
cool because this is the place where you
want<02:16:03.179><c> to</c><02:16:03.300><c> avoid</c><02:16:03.599><c> latency</c><02:16:04.020><c> as</c><02:16:04.380><c> much</c><02:16:04.500><c> as</c>

02:16:04.669 --> 02:16:04.679 align:start position:0%
want to avoid latency as much as
 

02:16:04.679 --> 02:16:07.490 align:start position:0%
want to avoid latency as much as
possible<02:16:04.980><c> and</c><02:16:05.639><c> you</c><02:16:05.820><c> want</c><02:16:06.000><c> to</c><02:16:06.119><c> be</c><02:16:06.500><c> asynchronous</c>

02:16:07.490 --> 02:16:07.500 align:start position:0%
possible and you want to be asynchronous
 

02:16:07.500 --> 02:16:09.290 align:start position:0%
possible and you want to be asynchronous
as<02:16:07.739><c> much</c><02:16:07.920><c> as</c><02:16:08.040><c> possible</c><02:16:08.340><c> and</c><02:16:08.940><c> essentially</c>

02:16:09.290 --> 02:16:09.300 align:start position:0%
as much as possible and essentially
 

02:16:09.300 --> 02:16:11.510 align:start position:0%
as much as possible and essentially
that's<02:16:09.599><c> that's</c><02:16:10.020><c> what</c><02:16:10.380><c> we</c><02:16:10.560><c> do</c><02:16:10.679><c> here</c><02:16:10.860><c> because</c>

02:16:11.510 --> 02:16:11.520 align:start position:0%
that's that's what we do here because
 

02:16:11.520 --> 02:16:14.030 align:start position:0%
that's that's what we do here because
our<02:16:11.820><c> latency</c><02:16:12.239><c> comes</c><02:16:12.659><c> only</c><02:16:12.840><c> from</c><02:16:13.320><c> from</c><02:16:13.800><c> the</c>

02:16:14.030 --> 02:16:14.040 align:start position:0%
our latency comes only from from the
 

02:16:14.040 --> 02:16:16.310 align:start position:0%
our latency comes only from from the
proving<02:16:14.340><c> time</c><02:16:14.579><c> but</c><02:16:15.300><c> again</c><02:16:15.480><c> using</c><02:16:16.199><c> some</c>

02:16:16.310 --> 02:16:16.320 align:start position:0%
proving time but again using some
 

02:16:16.320 --> 02:16:18.229 align:start position:0%
proving time but again using some
optimistic<02:16:16.860><c> approaches</c><02:16:17.159><c> and</c><02:16:17.280><c> so</c><02:16:17.460><c> on</c><02:16:17.579><c> there</c><02:16:17.760><c> a</c>

02:16:18.229 --> 02:16:18.239 align:start position:0%
optimistic approaches and so on there a
 

02:16:18.239 --> 02:16:19.729 align:start position:0%
optimistic approaches and so on there a
lot<02:16:18.360><c> of</c><02:16:18.480><c> things</c><02:16:18.659><c> we</c><02:16:18.840><c> can</c><02:16:19.079><c> do</c>

02:16:19.729 --> 02:16:19.739 align:start position:0%
lot of things we can do
 

02:16:19.739 --> 02:16:30.709 align:start position:0%
lot of things we can do
cure<02:16:20.340><c> I</c><02:16:20.880><c> hope</c><02:16:21.000><c> it</c><02:16:21.239><c> answers</c><02:16:21.960><c> the</c><02:16:22.199><c> question</c>

02:16:30.709 --> 02:16:30.719 align:start position:0%
 
 

02:16:30.719 --> 02:16:32.750 align:start position:0%
 
okay<02:16:31.020><c> I</c><02:16:31.440><c> think</c><02:16:31.500><c> that's</c><02:16:31.619><c> it</c><02:16:31.800><c> I</c><02:16:32.040><c> have</c><02:16:32.219><c> like</c><02:16:32.460><c> three</c>

02:16:32.750 --> 02:16:32.760 align:start position:0%
okay I think that's it I have like three
 

02:16:32.760 --> 02:16:35.629 align:start position:0%
okay I think that's it I have like three
minutes<02:16:33.000><c> so</c><02:16:33.540><c> I</c><02:16:33.780><c> guess</c><02:16:33.840><c> we</c><02:16:34.080><c> can</c><02:16:34.200><c> wrap</c><02:16:34.380><c> it</c><02:16:34.500><c> up</c><02:16:35.160><c> and</c>

02:16:35.629 --> 02:16:35.639 align:start position:0%
minutes so I guess we can wrap it up and
 

02:16:35.639 --> 02:16:38.120 align:start position:0%
minutes so I guess we can wrap it up and
yeah<02:16:35.820><c> thanks</c>

