WEBVTT
Kind: captions
Language: en

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

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

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

00:00:13.749 --> 00:00:13.759 align:start position:0%
 
 

00:00:13.759 --> 00:00:16.910 align:start position:0%
 
okay<00:00:14.759><c> yeah</c><00:00:15.120><c> I'm</c><00:00:15.540><c> Mike</c><00:00:15.780><c> and</c><00:00:16.379><c> I'm</c><00:00:16.560><c> going</c><00:00:16.680><c> to</c><00:00:16.800><c> talk</c>

00:00:16.910 --> 00:00:16.920 align:start position:0%
okay yeah I'm Mike and I'm going to talk
 

00:00:16.920 --> 00:00:18.590 align:start position:0%
okay yeah I'm Mike and I'm going to talk
to<00:00:17.100><c> you</c><00:00:17.220><c> about</c><00:00:17.820><c> public</c><00:00:18.180><c> private</c>

00:00:18.590 --> 00:00:18.600 align:start position:0%
to you about public private
 

00:00:18.600 --> 00:00:20.330 align:start position:0%
to you about public private
composability<00:00:19.140><c> and</c><00:00:19.440><c> what</c><00:00:19.619><c> that</c><00:00:19.800><c> really</c><00:00:20.100><c> means</c>

00:00:20.330 --> 00:00:20.340 align:start position:0%
composability and what that really means
 

00:00:20.340 --> 00:00:22.630 align:start position:0%
composability and what that really means
is<00:00:20.400><c> I'm</c><00:00:20.580><c> going</c><00:00:20.699><c> to</c><00:00:20.820><c> talk</c><00:00:20.939><c> about</c><00:00:21.560><c> Aztecs</c>

00:00:22.630 --> 00:00:22.640 align:start position:0%
is I'm going to talk about Aztecs
 

00:00:22.640 --> 00:00:25.250 align:start position:0%
is I'm going to talk about Aztecs
private<00:00:23.640><c> smart</c><00:00:23.820><c> contract</c><00:00:24.240><c> architecture</c><00:00:24.840><c> so</c>

00:00:25.250 --> 00:00:25.260 align:start position:0%
private smart contract architecture so
 

00:00:25.260 --> 00:00:26.929 align:start position:0%
private smart contract architecture so
where<00:00:25.439><c> we</c><00:00:25.800><c> spec</c><00:00:26.039><c> it</c><00:00:26.279><c> all</c><00:00:26.400><c> out</c><00:00:26.519><c> and</c><00:00:26.699><c> we're</c><00:00:26.820><c> going</c>

00:00:26.929 --> 00:00:26.939 align:start position:0%
where we spec it all out and we're going
 

00:00:26.939 --> 00:00:29.349 align:start position:0%
where we spec it all out and we're going
to<00:00:27.000><c> be</c><00:00:27.060><c> spending</c><00:00:27.359><c> the</c><00:00:27.480><c> next</c><00:00:27.660><c> year</c><00:00:28.380><c> maybe</c><00:00:28.980><c> more</c>

00:00:29.349 --> 00:00:29.359 align:start position:0%
to be spending the next year maybe more
 

00:00:29.359 --> 00:00:31.790 align:start position:0%
to be spending the next year maybe more
building<00:00:30.359><c> a</c><00:00:31.019><c> general</c><00:00:31.140><c> private</c><00:00:31.619><c> smart</c>

00:00:31.790 --> 00:00:31.800 align:start position:0%
building a general private smart
 

00:00:31.800 --> 00:00:34.970 align:start position:0%
building a general private smart
contract<00:00:32.279><c> platform</c><00:00:32.759><c> for</c><00:00:33.059><c> ethereum</c><00:00:33.500><c> so</c><00:00:34.500><c> what</c>

00:00:34.970 --> 00:00:34.980 align:start position:0%
contract platform for ethereum so what
 

00:00:34.980 --> 00:00:36.290 align:start position:0%
contract platform for ethereum so what
were<00:00:35.160><c> our</c><00:00:35.280><c> aims</c><00:00:35.640><c> when</c><00:00:35.760><c> designing</c><00:00:36.120><c> this</c>

00:00:36.290 --> 00:00:36.300 align:start position:0%
were our aims when designing this
 

00:00:36.300 --> 00:00:38.330 align:start position:0%
were our aims when designing this
private<00:00:36.600><c> smart</c><00:00:36.719><c> contract</c><00:00:37.200><c> platform</c>

00:00:38.330 --> 00:00:38.340 align:start position:0%
private smart contract platform
 

00:00:38.340 --> 00:00:40.790 align:start position:0%
private smart contract platform
well<00:00:39.059><c> firstly</c><00:00:39.540><c> private</c><00:00:40.020><c> States</c><00:00:40.200><c> and</c><00:00:40.620><c> what</c>

00:00:40.790 --> 00:00:40.800 align:start position:0%
well firstly private States and what
 

00:00:40.800 --> 00:00:43.369 align:start position:0%
well firstly private States and what
private<00:00:41.160><c> states</c><00:00:41.340><c> are</c><00:00:41.700><c> are</c><00:00:42.540><c> values</c><00:00:42.960><c> known</c><00:00:43.140><c> to</c>

00:00:43.369 --> 00:00:43.379 align:start position:0%
private states are are values known to
 

00:00:43.379 --> 00:00:45.229 align:start position:0%
private states are are values known to
only<00:00:43.559><c> one</c><00:00:43.800><c> person</c><00:00:44.040><c> so</c><00:00:44.460><c> a</c><00:00:44.579><c> private</c><00:00:44.820><c> state</c><00:00:45.000><c> has</c>

00:00:45.229 --> 00:00:45.239 align:start position:0%
only one person so a private state has
 

00:00:45.239 --> 00:00:47.270 align:start position:0%
only one person so a private state has
an<00:00:45.420><c> owner</c><00:00:45.719><c> and</c><00:00:46.440><c> no</c><00:00:46.620><c> one</c><00:00:46.800><c> else</c><00:00:46.860><c> in</c><00:00:47.040><c> the</c><00:00:47.160><c> world</c>

00:00:47.270 --> 00:00:47.280 align:start position:0%
an owner and no one else in the world
 

00:00:47.280 --> 00:00:49.010 align:start position:0%
an owner and no one else in the world
knows<00:00:47.579><c> the</c><00:00:47.640><c> value</c><00:00:47.760><c> of</c><00:00:48.000><c> that</c><00:00:48.120><c> state</c>

00:00:49.010 --> 00:00:49.020 align:start position:0%
knows the value of that state
 

00:00:49.020 --> 00:00:51.770 align:start position:0%
knows the value of that state
okay<00:00:49.559><c> and</c><00:00:50.399><c> then</c><00:00:50.520><c> private</c><00:00:51.000><c> function</c><00:00:51.300><c> execution</c>

00:00:51.770 --> 00:00:51.780 align:start position:0%
okay and then private function execution
 

00:00:51.780 --> 00:00:53.690 align:start position:0%
okay and then private function execution
and<00:00:52.559><c> this</c><00:00:52.739><c> is</c><00:00:52.800><c> really</c><00:00:52.980><c> cool</c><00:00:53.160><c> this</c><00:00:53.460><c> is</c><00:00:53.520><c> the</c>

00:00:53.690 --> 00:00:53.700 align:start position:0%
and this is really cool this is the
 

00:00:53.700 --> 00:00:55.910 align:start position:0%
and this is really cool this is the
ability<00:00:53.940><c> to</c><00:00:54.300><c> execute</c><00:00:54.660><c> a</c><00:00:54.840><c> function</c><00:00:55.140><c> without</c>

00:00:55.910 --> 00:00:55.920 align:start position:0%
ability to execute a function without
 

00:00:55.920 --> 00:00:57.590 align:start position:0%
ability to execute a function without
revealing<00:00:56.460><c> to</c><00:00:56.579><c> anyone</c><00:00:56.879><c> in</c><00:00:57.059><c> the</c><00:00:57.180><c> world</c><00:00:57.239><c> which</c>

00:00:57.590 --> 00:00:57.600 align:start position:0%
revealing to anyone in the world which
 

00:00:57.600 --> 00:00:59.869 align:start position:0%
revealing to anyone in the world which
function<00:00:57.899><c> you've</c><00:00:58.199><c> just</c><00:00:58.320><c> executed</c><00:00:58.860><c> so</c><00:00:59.579><c> similar</c>

00:00:59.869 --> 00:00:59.879 align:start position:0%
function you've just executed so similar
 

00:00:59.879 --> 00:01:02.170 align:start position:0%
function you've just executed so similar
to<00:01:00.000><c> like</c><00:01:00.120><c> the</c><00:01:00.239><c> sexy</c><00:01:00.660><c> protocol</c>

00:01:02.170 --> 00:01:02.180 align:start position:0%
to like the sexy protocol
 

00:01:02.180 --> 00:01:04.549 align:start position:0%
to like the sexy protocol
and<00:01:03.180><c> we</c><00:01:03.539><c> want</c><00:01:03.660><c> people</c><00:01:03.780><c> to</c><00:01:04.019><c> have</c><00:01:04.080><c> a</c><00:01:04.260><c> similar</c>

00:01:04.549 --> 00:01:04.559 align:start position:0%
and we want people to have a similar
 

00:01:04.559 --> 00:01:06.770 align:start position:0%
and we want people to have a similar
experience<00:01:04.799><c> to</c><00:01:05.040><c> ethereum</c><00:01:05.519><c> so</c><00:01:06.000><c> we</c><00:01:06.479><c> want</c><00:01:06.600><c> people</c>

00:01:06.770 --> 00:01:06.780 align:start position:0%
experience to ethereum so we want people
 

00:01:06.780 --> 00:01:08.810 align:start position:0%
experience to ethereum so we want people
to<00:01:06.960><c> be</c><00:01:07.020><c> able</c><00:01:07.140><c> to</c><00:01:07.260><c> deploy</c><00:01:07.619><c> contracts</c>

00:01:08.810 --> 00:01:08.820 align:start position:0%
to be able to deploy contracts
 

00:01:08.820 --> 00:01:10.670 align:start position:0%
to be able to deploy contracts
permissionlessly<00:01:09.780><c> so</c><00:01:10.080><c> just</c><00:01:10.260><c> any</c><00:01:10.380><c> time</c><00:01:10.560><c> you</c>

00:01:10.670 --> 00:01:10.680 align:start position:0%
permissionlessly so just any time you
 

00:01:10.680 --> 00:01:11.810 align:start position:0%
permissionlessly so just any time you
want<00:01:10.799><c> to</c><00:01:10.860><c> deploy</c><00:01:11.100><c> a</c><00:01:11.159><c> contract</c><00:01:11.400><c> to</c><00:01:11.580><c> the</c><00:01:11.700><c> system</c>

00:01:11.810 --> 00:01:11.820 align:start position:0%
want to deploy a contract to the system
 

00:01:11.820 --> 00:01:14.510 align:start position:0%
want to deploy a contract to the system
you<00:01:12.540><c> can</c><00:01:12.659><c> just</c><00:01:12.720><c> deploy</c><00:01:13.080><c> it</c>

00:01:14.510 --> 00:01:14.520 align:start position:0%
you can just deploy it
 

00:01:14.520 --> 00:01:16.789 align:start position:0%
you can just deploy it
and<00:01:15.119><c> again</c><00:01:15.659><c> similarly</c><00:01:16.140><c> to</c><00:01:16.320><c> ethereum</c>

00:01:16.789 --> 00:01:16.799 align:start position:0%
and again similarly to ethereum
 

00:01:16.799 --> 00:01:19.250 align:start position:0%
and again similarly to ethereum
experience<00:01:17.220><c> we</c><00:01:17.820><c> want</c><00:01:17.939><c> composability</c><00:01:18.659><c> so</c><00:01:19.020><c> we</c>

00:01:19.250 --> 00:01:19.260 align:start position:0%
experience we want composability so we
 

00:01:19.260 --> 00:01:21.109 align:start position:0%
experience we want composability so we
want<00:01:19.439><c> someone</c><00:01:19.860><c> to</c><00:01:20.100><c> be</c><00:01:20.220><c> able</c><00:01:20.340><c> to</c><00:01:20.520><c> call</c><00:01:20.820><c> a</c>

00:01:21.109 --> 00:01:21.119 align:start position:0%
want someone to be able to call a
 

00:01:21.119 --> 00:01:24.109 align:start position:0%
want someone to be able to call a
function<00:01:21.860><c> and</c><00:01:22.860><c> that</c><00:01:23.460><c> function</c><00:01:23.640><c> might</c><00:01:23.880><c> make</c><00:01:24.000><c> a</c>

00:01:24.109 --> 00:01:24.119 align:start position:0%
function and that function might make a
 

00:01:24.119 --> 00:01:25.190 align:start position:0%
function and that function might make a
call<00:01:24.240><c> to</c><00:01:24.420><c> another</c><00:01:24.540><c> function</c><00:01:24.900><c> of</c><00:01:25.080><c> another</c>

00:01:25.190 --> 00:01:25.200 align:start position:0%
call to another function of another
 

00:01:25.200 --> 00:01:27.170 align:start position:0%
call to another function of another
contract<00:01:25.740><c> and</c><00:01:26.340><c> that</c><00:01:26.520><c> function</c><00:01:26.820><c> might</c><00:01:27.000><c> make</c>

00:01:27.170 --> 00:01:27.180 align:start position:0%
contract and that function might make
 

00:01:27.180 --> 00:01:28.550 align:start position:0%
contract and that function might make
another<00:01:27.360><c> call</c><00:01:27.600><c> to</c><00:01:27.840><c> another</c><00:01:28.020><c> function</c><00:01:28.320><c> of</c><00:01:28.500><c> a</c>

00:01:28.550 --> 00:01:28.560 align:start position:0%
another call to another function of a
 

00:01:28.560 --> 00:01:30.289 align:start position:0%
another call to another function of a
different<00:01:28.680><c> contract</c><00:01:29.040><c> and</c><00:01:29.280><c> so</c><00:01:29.460><c> on</c>

00:01:30.289 --> 00:01:30.299 align:start position:0%
different contract and so on
 

00:01:30.299 --> 00:01:32.149 align:start position:0%
different contract and so on
so<00:01:30.720><c> that's</c><00:01:30.900><c> really</c><00:01:31.080><c> important</c>

00:01:32.149 --> 00:01:32.159 align:start position:0%
so that's really important
 

00:01:32.159 --> 00:01:33.590 align:start position:0%
so that's really important
and<00:01:32.520><c> we</c><00:01:32.640><c> want</c><00:01:32.759><c> a</c><00:01:33.119><c> different</c><00:01:33.240><c> kind</c><00:01:33.479><c> of</c>

00:01:33.590 --> 00:01:33.600 align:start position:0%
and we want a different kind of
 

00:01:33.600 --> 00:01:34.969 align:start position:0%
and we want a different kind of
composability<00:01:34.080><c> as</c><00:01:34.439><c> well</c><00:01:34.560><c> we</c><00:01:34.860><c> want</c>

00:01:34.969 --> 00:01:34.979 align:start position:0%
composability as well we want
 

00:01:34.979 --> 00:01:37.010 align:start position:0%
composability as well we want
composability<00:01:35.579><c> between</c>

00:01:37.010 --> 00:01:37.020 align:start position:0%
composability between
 

00:01:37.020 --> 00:01:39.950 align:start position:0%
composability between
private<00:01:37.920><c> and</c><00:01:38.280><c> public</c><00:01:38.460><c> functions</c><00:01:39.060><c> which</c><00:01:39.780><c> I'll</c>

00:01:39.950 --> 00:01:39.960 align:start position:0%
private and public functions which I'll
 

00:01:39.960 --> 00:01:43.609 align:start position:0%
private and public functions which I'll
talk<00:01:40.200><c> about</c><00:01:40.320><c> more</c><00:01:40.619><c> as</c><00:01:41.100><c> we</c><00:01:41.280><c> get</c><00:01:41.400><c> into</c><00:01:41.579><c> it</c>

00:01:43.609 --> 00:01:43.619 align:start position:0%
talk about more as we get into it
 

00:01:43.619 --> 00:01:44.870 align:start position:0%
talk about more as we get into it
um<00:01:43.680><c> and</c><00:01:43.920><c> all</c><00:01:44.040><c> together</c><00:01:44.159><c> we</c><00:01:44.520><c> just</c><00:01:44.640><c> want</c>

00:01:44.870 --> 00:01:44.880 align:start position:0%
um and all together we just want
 

00:01:44.880 --> 00:01:47.510 align:start position:0%
um and all together we just want
intuitive<00:01:45.540><c> transaction</c><00:01:46.320><c> semantics</c><00:01:47.100><c> so</c><00:01:47.340><c> we</c>

00:01:47.510 --> 00:01:47.520 align:start position:0%
intuitive transaction semantics so we
 

00:01:47.520 --> 00:01:49.429 align:start position:0%
intuitive transaction semantics so we
want<00:01:47.700><c> we</c><00:01:48.360><c> don't</c><00:01:48.479><c> want</c><00:01:48.600><c> a</c><00:01:48.720><c> developer</c><00:01:49.200><c> to</c><00:01:49.320><c> have</c>

00:01:49.429 --> 00:01:49.439 align:start position:0%
want we don't want a developer to have
 

00:01:49.439 --> 00:01:50.870 align:start position:0%
want we don't want a developer to have
to<00:01:49.560><c> think</c><00:01:49.740><c> about</c><00:01:49.979><c> the</c><00:01:50.460><c> underlying</c>

00:01:50.870 --> 00:01:50.880 align:start position:0%
to think about the underlying
 

00:01:50.880 --> 00:01:53.210 align:start position:0%
to think about the underlying
cryptography<00:01:51.540><c> or</c><00:01:52.380><c> any</c><00:01:52.439><c> of</c><00:01:52.619><c> that</c><00:01:52.740><c> we</c><00:01:52.979><c> just</c><00:01:53.100><c> want</c>

00:01:53.210 --> 00:01:53.220 align:start position:0%
cryptography or any of that we just want
 

00:01:53.220 --> 00:01:55.069 align:start position:0%
cryptography or any of that we just want
them<00:01:53.399><c> to</c><00:01:53.579><c> have</c><00:01:53.759><c> as</c><00:01:54.360><c> close</c><00:01:54.600><c> to</c><00:01:54.780><c> a</c><00:01:54.960><c> Smart</c>

00:01:55.069 --> 00:01:55.079 align:start position:0%
them to have as close to a Smart
 

00:01:55.079 --> 00:01:56.749 align:start position:0%
them to have as close to a Smart
contract<00:01:55.500><c> experience</c><00:01:56.159><c> that</c><00:01:56.340><c> they</c><00:01:56.520><c> have</c><00:01:56.640><c> with</c>

00:01:56.749 --> 00:01:56.759 align:start position:0%
contract experience that they have with
 

00:01:56.759 --> 00:01:57.830 align:start position:0%
contract experience that they have with
ethereum

00:01:57.830 --> 00:01:57.840 align:start position:0%
ethereum
 

00:01:57.840 --> 00:02:00.710 align:start position:0%
ethereum
okay<00:01:58.320><c> so</c><00:01:58.799><c> I'll</c><00:01:59.100><c> take</c><00:01:59.280><c> a</c><00:01:59.399><c> step</c><00:01:59.520><c> back</c><00:01:59.759><c> what</c>

00:02:00.710 --> 00:02:00.720 align:start position:0%
okay so I'll take a step back what
 

00:02:00.720 --> 00:02:03.230 align:start position:0%
okay so I'll take a step back what
fundamentally<00:02:01.259><c> is</c><00:02:01.500><c> a</c><00:02:01.680><c> smart</c><00:02:01.860><c> contract</c><00:02:02.340><c> well</c>

00:02:03.230 --> 00:02:03.240 align:start position:0%
fundamentally is a smart contract well
 

00:02:03.240 --> 00:02:04.789 align:start position:0%
fundamentally is a smart contract well
at<00:02:03.600><c> its</c><00:02:03.840><c> core</c><00:02:03.899><c> it's</c><00:02:04.079><c> just</c><00:02:04.259><c> a</c><00:02:04.380><c> collection</c><00:02:04.619><c> of</c>

00:02:04.789 --> 00:02:04.799 align:start position:0%
at its core it's just a collection of
 

00:02:04.799 --> 00:02:07.429 align:start position:0%
at its core it's just a collection of
State<00:02:04.979><c> variables</c><00:02:05.659><c> and</c><00:02:06.659><c> a</c><00:02:07.020><c> collection</c><00:02:07.259><c> of</c>

00:02:07.429 --> 00:02:07.439 align:start position:0%
State variables and a collection of
 

00:02:07.439 --> 00:02:09.529 align:start position:0%
State variables and a collection of
functions<00:02:07.920><c> which</c><00:02:08.520><c> may</c><00:02:08.819><c> edit</c><00:02:09.179><c> those</c><00:02:09.360><c> State</c>

00:02:09.529 --> 00:02:09.539 align:start position:0%
functions which may edit those State
 

00:02:09.539 --> 00:02:10.910 align:start position:0%
functions which may edit those State
variables

00:02:10.910 --> 00:02:10.920 align:start position:0%
variables
 

00:02:10.920 --> 00:02:12.710 align:start position:0%
variables
and<00:02:11.400><c> here</c><00:02:11.580><c> we</c><00:02:11.700><c> can</c><00:02:11.819><c> see</c><00:02:11.940><c> a</c><00:02:12.060><c> naughty</c><00:02:12.300><c> example</c><00:02:12.599><c> of</c>

00:02:12.710 --> 00:02:12.720 align:start position:0%
and here we can see a naughty example of
 

00:02:12.720 --> 00:02:15.650 align:start position:0%
and here we can see a naughty example of
an<00:02:12.840><c> erc20</c><00:02:13.379><c> contract</c><00:02:14.120><c> balances</c><00:02:15.120><c> is</c><00:02:15.300><c> a</c><00:02:15.420><c> state</c>

00:02:15.650 --> 00:02:15.660 align:start position:0%
an erc20 contract balances is a state
 

00:02:15.660 --> 00:02:16.790 align:start position:0%
an erc20 contract balances is a state
variable<00:02:15.959><c> and</c><00:02:16.080><c> there's</c><00:02:16.260><c> a</c><00:02:16.379><c> function</c><00:02:16.560><c> called</c>

00:02:16.790 --> 00:02:16.800 align:start position:0%
variable and there's a function called
 

00:02:16.800 --> 00:02:19.250 align:start position:0%
variable and there's a function called
transfer<00:02:17.400><c> which</c><00:02:18.060><c> has</c><00:02:18.239><c> rules</c><00:02:18.660><c> which</c><00:02:18.900><c> allow</c>

00:02:19.250 --> 00:02:19.260 align:start position:0%
transfer which has rules which allow
 

00:02:19.260 --> 00:02:21.949 align:start position:0%
transfer which has rules which allow
people<00:02:19.440><c> to</c><00:02:19.739><c> edit</c><00:02:19.980><c> the</c><00:02:20.220><c> balances</c><00:02:20.700><c> State</c><00:02:21.000><c> and</c>

00:02:21.949 --> 00:02:21.959 align:start position:0%
people to edit the balances State and
 

00:02:21.959 --> 00:02:24.589 align:start position:0%
people to edit the balances State and
there<00:02:22.140><c> are</c><00:02:22.319><c> two</c><00:02:22.500><c> to</c><00:02:22.680><c> the</c><00:02:22.800><c> 160</c><00:02:23.280><c> such</c><00:02:23.700><c> balances</c>

00:02:24.589 --> 00:02:24.599 align:start position:0%
there are two to the 160 such balances
 

00:02:24.599 --> 00:02:26.690 align:start position:0%
there are two to the 160 such balances
States<00:02:24.840><c> in</c><00:02:25.020><c> this</c><00:02:25.200><c> example</c>

00:02:26.690 --> 00:02:26.700 align:start position:0%
States in this example
 

00:02:26.700 --> 00:02:28.670 align:start position:0%
States in this example
but<00:02:27.180><c> what</c><00:02:27.360><c> would</c><00:02:27.540><c> an</c><00:02:27.720><c> Aztec</c><00:02:28.140><c> smart</c><00:02:28.319><c> contract</c>

00:02:28.670 --> 00:02:28.680 align:start position:0%
but what would an Aztec smart contract
 

00:02:28.680 --> 00:02:29.869 align:start position:0%
but what would an Aztec smart contract
look<00:02:28.980><c> like</c>

00:02:29.869 --> 00:02:29.879 align:start position:0%
look like
 

00:02:29.879 --> 00:02:32.449 align:start position:0%
look like
well<00:02:30.959><c> people</c><00:02:31.440><c> will</c><00:02:31.680><c> still</c><00:02:31.860><c> be</c><00:02:31.980><c> able</c><00:02:32.160><c> to</c><00:02:32.280><c> write</c>

00:02:32.449 --> 00:02:32.459 align:start position:0%
well people will still be able to write
 

00:02:32.459 --> 00:02:33.890 align:start position:0%
well people will still be able to write
functions

00:02:33.890 --> 00:02:33.900 align:start position:0%
functions
 

00:02:33.900 --> 00:02:36.710 align:start position:0%
functions
and<00:02:34.440><c> states</c><00:02:34.680><c> in</c><00:02:35.400><c> for</c><00:02:35.640><c> layer</c><00:02:36.120><c> one</c><00:02:36.180><c> so</c><00:02:36.540><c> for</c>

00:02:36.710 --> 00:02:36.720 align:start position:0%
and states in for layer one so for
 

00:02:36.720 --> 00:02:37.910 align:start position:0%
and states in for layer one so for
ethereum

00:02:37.910 --> 00:02:37.920 align:start position:0%
ethereum
 

00:02:37.920 --> 00:02:40.670 align:start position:0%
ethereum
they'll<00:02:38.640><c> also</c><00:02:39.180><c> similarly</c><00:02:40.020><c> to</c><00:02:40.260><c> all</c><00:02:40.379><c> the</c><00:02:40.560><c> other</c>

00:02:40.670 --> 00:02:40.680 align:start position:0%
they'll also similarly to all the other
 

00:02:40.680 --> 00:02:42.770 align:start position:0%
they'll also similarly to all the other
Roll-Ups<00:02:41.459><c> in</c><00:02:41.519><c> existence</c><00:02:41.819><c> the</c><00:02:42.060><c> ZK</c><00:02:42.360><c> Roll-Ups</c>

00:02:42.770 --> 00:02:42.780 align:start position:0%
Roll-Ups in existence the ZK Roll-Ups
 

00:02:42.780 --> 00:02:44.390 align:start position:0%
Roll-Ups in existence the ZK Roll-Ups
and<00:02:42.900><c> the</c><00:02:43.019><c> optimistic</c><00:02:43.379><c> Roll-Ups</c><00:02:43.860><c> they'll</c><00:02:44.280><c> be</c>

00:02:44.390 --> 00:02:44.400 align:start position:0%
and the optimistic Roll-Ups they'll be
 

00:02:44.400 --> 00:02:46.430 align:start position:0%
and the optimistic Roll-Ups they'll be
able<00:02:44.519><c> to</c><00:02:44.580><c> deploy</c><00:02:44.940><c> functions</c><00:02:45.540><c> and</c><00:02:46.200><c> have</c>

00:02:46.430 --> 00:02:46.440 align:start position:0%
able to deploy functions and have
 

00:02:46.440 --> 00:02:49.610 align:start position:0%
able to deploy functions and have
persistent<00:02:47.220><c> State</c><00:02:47.519><c> on</c><00:02:48.180><c> a</c><00:02:48.300><c> layer</c><00:02:48.599><c> two</c><00:02:48.720><c> just</c><00:02:49.440><c> to</c>

00:02:49.610 --> 00:02:49.620 align:start position:0%
persistent State on a layer two just to
 

00:02:49.620 --> 00:02:51.290 align:start position:0%
persistent State on a layer two just to
save<00:02:49.739><c> on</c><00:02:49.920><c> costs</c>

00:02:51.290 --> 00:02:51.300 align:start position:0%
save on costs
 

00:02:51.300 --> 00:02:53.150 align:start position:0%
save on costs
but<00:02:51.660><c> the</c><00:02:51.780><c> key</c><00:02:51.900><c> differentiator</c><00:02:52.440><c> with</c><00:02:52.680><c> Aztec</c>

00:02:53.150 --> 00:02:53.160 align:start position:0%
but the key differentiator with Aztec
 

00:02:53.160 --> 00:02:55.970 align:start position:0%
but the key differentiator with Aztec
contracts<00:02:53.640><c> is</c><00:02:54.120><c> there</c><00:02:54.360><c> will</c><00:02:54.480><c> also</c><00:02:54.720><c> be</c><00:02:54.980><c> private</c>

00:02:55.970 --> 00:02:55.980 align:start position:0%
contracts is there will also be private
 

00:02:55.980 --> 00:02:59.210 align:start position:0%
contracts is there will also be private
functions<00:02:56.760><c> and</c><00:02:57.239><c> private</c><00:02:57.720><c> States</c><00:02:58.220><c> and</c>

00:02:59.210 --> 00:02:59.220 align:start position:0%
functions and private States and
 

00:02:59.220 --> 00:03:01.190 align:start position:0%
functions and private States and
crucially<00:02:59.640><c> you</c><00:02:59.819><c> can</c><00:02:59.940><c> see</c><00:03:00.060><c> here</c><00:03:00.300><c> these</c><00:03:00.900><c> will</c><00:03:01.019><c> be</c>

00:03:01.190 --> 00:03:01.200 align:start position:0%
crucially you can see here these will be
 

00:03:01.200 --> 00:03:05.830 align:start position:0%
crucially you can see here these will be
on<00:03:01.680><c> a</c><00:03:02.519><c> user's</c><00:03:03.120><c> device</c><00:03:03.319><c> rather</c><00:03:04.319><c> than</c><00:03:04.760><c> executed</c>

00:03:05.830 --> 00:03:05.840 align:start position:0%
on a user's device rather than executed
 

00:03:05.840 --> 00:03:09.050 align:start position:0%
on a user's device rather than executed
by<00:03:06.840><c> ethereum</c><00:03:07.620><c> node</c><00:03:07.860><c> or</c><00:03:08.040><c> roll-up</c><00:03:08.459><c> sequencer</c>

00:03:09.050 --> 00:03:09.060 align:start position:0%
by ethereum node or roll-up sequencer
 

00:03:09.060 --> 00:03:11.149 align:start position:0%
by ethereum node or roll-up sequencer
okay<00:03:09.780><c> so</c><00:03:10.080><c> what</c><00:03:10.200><c> do</c><00:03:10.319><c> I</c><00:03:10.440><c> mean</c><00:03:10.560><c> by</c><00:03:10.680><c> private</c><00:03:11.040><c> State</c>

00:03:11.149 --> 00:03:11.159 align:start position:0%
okay so what do I mean by private State
 

00:03:11.159 --> 00:03:13.070 align:start position:0%
okay so what do I mean by private State
let's<00:03:11.760><c> look</c><00:03:11.940><c> into</c><00:03:12.060><c> it</c><00:03:12.239><c> a</c><00:03:12.360><c> bit</c><00:03:12.420><c> more</c><00:03:12.599><c> get</c>

00:03:13.070 --> 00:03:13.080 align:start position:0%
let's look into it a bit more get
 

00:03:13.080 --> 00:03:15.470 align:start position:0%
let's look into it a bit more get
everyone<00:03:13.260><c> up</c><00:03:13.500><c> to</c><00:03:13.620><c> speed</c><00:03:13.739><c> on</c><00:03:13.980><c> some</c><00:03:14.159><c> background</c>

00:03:15.470 --> 00:03:15.480 align:start position:0%
everyone up to speed on some background
 

00:03:15.480 --> 00:03:18.050 align:start position:0%
everyone up to speed on some background
so<00:03:16.080><c> a</c><00:03:16.319><c> public</c><00:03:16.440><c> State</c><00:03:16.739><c> it's</c><00:03:17.340><c> just</c><00:03:17.459><c> a</c><00:03:17.580><c> value</c><00:03:17.700><c> in</c><00:03:17.940><c> a</c>

00:03:18.050 --> 00:03:18.060 align:start position:0%
so a public State it's just a value in a
 

00:03:18.060 --> 00:03:20.149 align:start position:0%
so a public State it's just a value in a
Merkel<00:03:18.360><c> tree</c><00:03:18.540><c> it's</c><00:03:19.379><c> the</c><00:03:19.620><c> same</c><00:03:19.680><c> in</c><00:03:19.860><c> ethereum</c>

00:03:20.149 --> 00:03:20.159 align:start position:0%
Merkel tree it's the same in ethereum
 

00:03:20.159 --> 00:03:21.490 align:start position:0%
Merkel tree it's the same in ethereum
it'll<00:03:20.400><c> be</c><00:03:20.580><c> the</c><00:03:20.640><c> same</c><00:03:20.700><c> on</c><00:03:20.879><c> our</c><00:03:21.000><c> Layer</c><00:03:21.300><c> Two</c>

00:03:21.490 --> 00:03:21.500 align:start position:0%
it'll be the same on our Layer Two
 

00:03:21.500 --> 00:03:24.350 align:start position:0%
it'll be the same on our Layer Two
what's<00:03:22.500><c> a</c><00:03:22.739><c> private</c><00:03:22.980><c> State</c><00:03:23.159><c> well</c><00:03:23.760><c> it's</c><00:03:23.940><c> just</c><00:03:24.120><c> a</c>

00:03:24.350 --> 00:03:24.360 align:start position:0%
what's a private State well it's just a
 

00:03:24.360 --> 00:03:26.809 align:start position:0%
what's a private State well it's just a
commitment<00:03:24.720><c> to</c><00:03:25.019><c> a</c><00:03:25.140><c> value</c><00:03:25.260><c> in</c><00:03:25.500><c> a</c><00:03:25.620><c> tree</c><00:03:26.220><c> and</c><00:03:26.700><c> it</c>

00:03:26.809 --> 00:03:26.819 align:start position:0%
commitment to a value in a tree and it
 

00:03:26.819 --> 00:03:28.369 align:start position:0%
commitment to a value in a tree and it
has<00:03:26.940><c> an</c><00:03:27.120><c> owner</c><00:03:27.420><c> so</c><00:03:27.720><c> here</c><00:03:27.840><c> we</c><00:03:28.019><c> can</c><00:03:28.140><c> see</c><00:03:28.260><c> an</c>

00:03:28.369 --> 00:03:28.379 align:start position:0%
has an owner so here we can see an
 

00:03:28.379 --> 00:03:30.290 align:start position:0%
has an owner so here we can see an
example<00:03:28.620><c> of</c><00:03:28.800><c> a</c><00:03:28.920><c> commitment</c><00:03:29.220><c> it's</c><00:03:30.060><c> got</c><00:03:30.180><c> an</c>

00:03:30.290 --> 00:03:30.300 align:start position:0%
example of a commitment it's got an
 

00:03:30.300 --> 00:03:32.089 align:start position:0%
example of a commitment it's got an
owner<00:03:30.659><c> public</c><00:03:30.780><c> key</c><00:03:31.080><c> it's</c><00:03:31.500><c> got</c><00:03:31.680><c> some</c><00:03:31.860><c> value</c>

00:03:32.089 --> 00:03:32.099 align:start position:0%
owner public key it's got some value
 

00:03:32.099 --> 00:03:33.410 align:start position:0%
owner public key it's got some value
that<00:03:32.340><c> you</c><00:03:32.459><c> want</c><00:03:32.580><c> to</c><00:03:32.760><c> hide</c><00:03:32.940><c> and</c><00:03:33.239><c> store</c>

00:03:33.410 --> 00:03:33.420 align:start position:0%
that you want to hide and store
 

00:03:33.420 --> 00:03:35.930 align:start position:0%
that you want to hide and store
persistently<00:03:34.080><c> in</c><00:03:34.260><c> our</c><00:03:34.379><c> layer</c><00:03:34.620><c> 2</c><00:03:34.739><c> storage</c>

00:03:35.930 --> 00:03:35.940 align:start position:0%
persistently in our layer 2 storage
 

00:03:35.940 --> 00:03:37.729 align:start position:0%
persistently in our layer 2 storage
and<00:03:36.360><c> it's</c><00:03:36.480><c> got</c><00:03:36.659><c> a</c><00:03:36.840><c> salt</c><00:03:37.019><c> which</c><00:03:37.440><c> is</c><00:03:37.560><c> something</c>

00:03:37.729 --> 00:03:37.739 align:start position:0%
and it's got a salt which is something
 

00:03:37.739 --> 00:03:40.250 align:start position:0%
and it's got a salt which is something
random<00:03:38.280><c> to</c><00:03:39.120><c> give</c><00:03:39.420><c> the</c><00:03:39.540><c> commitment</c><00:03:39.840><c> hiding</c>

00:03:40.250 --> 00:03:40.260 align:start position:0%
random to give the commitment hiding
 

00:03:40.260 --> 00:03:42.229 align:start position:0%
random to give the commitment hiding
properties<00:03:40.620><c> and</c><00:03:41.519><c> maybe</c><00:03:41.640><c> some</c><00:03:41.940><c> other</c><00:03:42.060><c> stuff</c>

00:03:42.229 --> 00:03:42.239 align:start position:0%
properties and maybe some other stuff
 

00:03:42.239 --> 00:03:43.430 align:start position:0%
properties and maybe some other stuff
depending<00:03:42.599><c> on</c><00:03:42.720><c> the</c><00:03:42.840><c> application</c><00:03:43.200><c> that</c>

00:03:43.430 --> 00:03:43.440 align:start position:0%
depending on the application that
 

00:03:43.440 --> 00:03:44.809 align:start position:0%
depending on the application that
someone<00:03:43.560><c> deploys</c>

00:03:44.809 --> 00:03:44.819 align:start position:0%
someone deploys
 

00:03:44.819 --> 00:03:46.910 align:start position:0%
someone deploys
public<00:03:45.480><c> States</c><00:03:45.840><c> will</c><00:03:46.260><c> follow</c><00:03:46.440><c> an</c><00:03:46.739><c> account</c>

00:03:46.910 --> 00:03:46.920 align:start position:0%
public States will follow an account
 

00:03:46.920 --> 00:03:49.430 align:start position:0%
public States will follow an account
model<00:03:47.220><c> just</c><00:03:47.819><c> like</c><00:03:48.120><c> States</c><00:03:48.840><c> and</c><00:03:49.080><c> ethereum</c>

00:03:49.430 --> 00:03:49.440 align:start position:0%
model just like States and ethereum
 

00:03:49.440 --> 00:03:51.649 align:start position:0%
model just like States and ethereum
smart<00:03:49.620><c> contracts</c><00:03:50.159><c> and</c><00:03:51.120><c> with</c><00:03:51.360><c> the</c><00:03:51.540><c> account</c>

00:03:51.649 --> 00:03:51.659 align:start position:0%
smart contracts and with the account
 

00:03:51.659 --> 00:03:54.470 align:start position:0%
smart contracts and with the account
model<00:03:52.019><c> a</c><00:03:52.680><c> state</c><00:03:52.920><c> lives</c><00:03:53.340><c> at</c><00:03:53.700><c> one</c><00:03:53.940><c> position</c><00:03:54.060><c> in</c><00:03:54.360><c> a</c>

00:03:54.470 --> 00:03:54.480 align:start position:0%
model a state lives at one position in a
 

00:03:54.480 --> 00:03:57.050 align:start position:0%
model a state lives at one position in a
Merkel<00:03:54.780><c> tree</c><00:03:54.959><c> one</c><00:03:55.560><c> leaf</c><00:03:55.980><c> and</c><00:03:56.519><c> we'll</c><00:03:56.640><c> occupy</c>

00:03:57.050 --> 00:03:57.060 align:start position:0%
Merkel tree one leaf and we'll occupy
 

00:03:57.060 --> 00:03:59.089 align:start position:0%
Merkel tree one leaf and we'll occupy
that<00:03:57.239><c> leaf</c><00:03:57.599><c> forever</c><00:03:58.080><c> so</c><00:03:58.620><c> if</c><00:03:58.739><c> someone</c><00:03:58.920><c> ever</c>

00:03:59.089 --> 00:03:59.099 align:start position:0%
that leaf forever so if someone ever
 

00:03:59.099 --> 00:04:01.850 align:start position:0%
that leaf forever so if someone ever
wants<00:03:59.340><c> to</c><00:03:59.400><c> edit</c><00:03:59.640><c> that</c><00:03:59.819><c> state</c><00:04:00.440><c> the</c><00:04:01.440><c> person</c>

00:04:01.850 --> 00:04:01.860 align:start position:0%
wants to edit that state the person
 

00:04:01.860 --> 00:04:04.070 align:start position:0%
wants to edit that state the person
executing<00:04:02.459><c> the</c><00:04:02.580><c> contract</c><00:04:02.879><c> will</c><00:04:03.540><c> have</c><00:04:03.720><c> to</c><00:04:03.840><c> go</c>

00:04:04.070 --> 00:04:04.080 align:start position:0%
executing the contract will have to go
 

00:04:04.080 --> 00:04:06.170 align:start position:0%
executing the contract will have to go
to<00:04:04.200><c> that</c><00:04:04.379><c> exact</c><00:04:04.620><c> Leaf</c><00:04:04.920><c> position</c><00:04:05.099><c> modify</c><00:04:06.000><c> the</c>

00:04:06.170 --> 00:04:06.180 align:start position:0%
to that exact Leaf position modify the
 

00:04:06.180 --> 00:04:07.130 align:start position:0%
to that exact Leaf position modify the
value

00:04:07.130 --> 00:04:07.140 align:start position:0%
value
 

00:04:07.140 --> 00:04:08.990 align:start position:0%
value
but<00:04:07.620><c> that's</c><00:04:07.799><c> no</c><00:04:07.980><c> good</c><00:04:08.159><c> with</c><00:04:08.400><c> private</c><00:04:08.819><c> States</c>

00:04:08.990 --> 00:04:09.000 align:start position:0%
but that's no good with private States
 

00:04:09.000 --> 00:04:11.929 align:start position:0%
but that's no good with private States
because<00:04:09.739><c> if</c><00:04:10.739><c> you</c><00:04:10.920><c> have</c><00:04:11.040><c> to</c><00:04:11.220><c> tell</c><00:04:11.459><c> the</c><00:04:11.819><c> whole</c>

00:04:11.929 --> 00:04:11.939 align:start position:0%
because if you have to tell the whole
 

00:04:11.939 --> 00:04:14.149 align:start position:0%
because if you have to tell the whole
world<00:04:12.180><c> I'm</c><00:04:12.840><c> editing</c><00:04:13.260><c> this</c><00:04:13.500><c> particular</c><00:04:13.799><c> Leaf</c>

00:04:14.149 --> 00:04:14.159 align:start position:0%
world I'm editing this particular Leaf
 

00:04:14.159 --> 00:04:16.370 align:start position:0%
world I'm editing this particular Leaf
of<00:04:14.580><c> this</c><00:04:14.760><c> tree</c><00:04:15.000><c> please</c><00:04:15.599><c> update</c><00:04:15.959><c> your</c><00:04:16.139><c> node</c>

00:04:16.370 --> 00:04:16.380 align:start position:0%
of this tree please update your node
 

00:04:16.380 --> 00:04:18.469 align:start position:0%
of this tree please update your node
accordingly<00:04:17.100><c> you've</c><00:04:17.820><c> revealed</c><00:04:18.120><c> which</c><00:04:18.299><c> state</c>

00:04:18.469 --> 00:04:18.479 align:start position:0%
accordingly you've revealed which state
 

00:04:18.479 --> 00:04:20.090 align:start position:0%
accordingly you've revealed which state
is<00:04:18.660><c> being</c><00:04:18.840><c> edited</c><00:04:19.139><c> so</c><00:04:19.500><c> that</c><00:04:19.739><c> doesn't</c><00:04:19.859><c> work</c>

00:04:20.090 --> 00:04:20.100 align:start position:0%
is being edited so that doesn't work
 

00:04:20.100 --> 00:04:23.090 align:start position:0%
is being edited so that doesn't work
which<00:04:20.820><c> is</c><00:04:20.940><c> why</c><00:04:21.120><c> we</c><00:04:21.239><c> adopt</c><00:04:21.540><c> a</c><00:04:21.540><c> utxo</c><00:04:22.139><c> model</c><00:04:22.380><c> and</c>

00:04:23.090 --> 00:04:23.100 align:start position:0%
which is why we adopt a utxo model and
 

00:04:23.100 --> 00:04:26.030 align:start position:0%
which is why we adopt a utxo model and
in<00:04:23.220><c> a</c><00:04:23.340><c> utxo</c><00:04:23.880><c> model</c><00:04:24.139><c> once</c><00:04:25.139><c> you</c><00:04:25.199><c> add</c><00:04:25.500><c> one</c><00:04:25.919><c> of</c>

00:04:26.030 --> 00:04:26.040 align:start position:0%
in a utxo model once you add one of
 

00:04:26.040 --> 00:04:27.890 align:start position:0%
in a utxo model once you add one of
these<00:04:26.280><c> commitments</c><00:04:26.940><c> one</c><00:04:27.120><c> of</c><00:04:27.240><c> these</c><00:04:27.360><c> hashes</c><00:04:27.720><c> of</c>

00:04:27.890 --> 00:04:27.900 align:start position:0%
these commitments one of these hashes of
 

00:04:27.900 --> 00:04:30.050 align:start position:0%
these commitments one of these hashes of
a<00:04:28.020><c> private</c><00:04:28.199><c> value</c><00:04:28.380><c> to</c><00:04:28.620><c> the</c><00:04:28.800><c> tree</c><00:04:28.940><c> it</c><00:04:29.940><c> never</c>

00:04:30.050 --> 00:04:30.060 align:start position:0%
a private value to the tree it never
 

00:04:30.060 --> 00:04:32.270 align:start position:0%
a private value to the tree it never
changes<00:04:30.540><c> if</c><00:04:31.139><c> you</c><00:04:31.259><c> ever</c><00:04:31.380><c> want</c><00:04:31.620><c> to</c><00:04:31.740><c> edit</c><00:04:32.040><c> that</c>

00:04:32.270 --> 00:04:32.280 align:start position:0%
changes if you ever want to edit that
 

00:04:32.280 --> 00:04:35.150 align:start position:0%
changes if you ever want to edit that
state<00:04:32.520><c> similar</c><00:04:33.479><c> to</c><00:04:33.600><c> the</c><00:04:33.720><c> zcash</c><00:04:34.139><c> model</c><00:04:34.380><c> you</c>

00:04:35.150 --> 00:04:35.160 align:start position:0%
state similar to the zcash model you
 

00:04:35.160 --> 00:04:37.010 align:start position:0%
state similar to the zcash model you
have<00:04:35.220><c> to</c><00:04:35.340><c> nullify</c><00:04:35.820><c> that</c><00:04:36.000><c> state</c><00:04:36.240><c> which</c><00:04:36.720><c> allows</c>

00:04:37.010 --> 00:04:37.020 align:start position:0%
have to nullify that state which allows
 

00:04:37.020 --> 00:04:39.170 align:start position:0%
have to nullify that state which allows
you<00:04:37.139><c> to</c><00:04:37.380><c> change</c><00:04:37.979><c> it</c><00:04:38.280><c> or</c><00:04:38.580><c> prevent</c><00:04:38.880><c> it</c><00:04:39.000><c> from</c>

00:04:39.170 --> 00:04:39.180 align:start position:0%
you to change it or prevent it from
 

00:04:39.180 --> 00:04:41.930 align:start position:0%
you to change it or prevent it from
being<00:04:39.360><c> used</c><00:04:39.540><c> again</c><00:04:39.780><c> without</c><00:04:40.380><c> revealing</c><00:04:41.100><c> and</c>

00:04:41.930 --> 00:04:41.940 align:start position:0%
being used again without revealing and
 

00:04:41.940 --> 00:04:44.270 align:start position:0%
being used again without revealing and
you<00:04:42.180><c> have</c><00:04:42.300><c> to</c><00:04:42.419><c> add</c><00:04:42.600><c> a</c><00:04:42.720><c> new</c><00:04:42.840><c> commitment</c><00:04:43.259><c> to</c><00:04:43.979><c> the</c>

00:04:44.270 --> 00:04:44.280 align:start position:0%
you have to add a new commitment to the
 

00:04:44.280 --> 00:04:45.530 align:start position:0%
you have to add a new commitment to the
right<00:04:44.580><c> hand</c><00:04:44.759><c> side</c><00:04:44.880><c> of</c><00:04:45.060><c> the</c><00:04:45.120><c> tree</c><00:04:45.240><c> so</c><00:04:45.419><c> you're</c>

00:04:45.530 --> 00:04:45.540 align:start position:0%
right hand side of the tree so you're
 

00:04:45.540 --> 00:04:47.330 align:start position:0%
right hand side of the tree so you're
always<00:04:45.660><c> appending</c><00:04:46.080><c> new</c><00:04:46.259><c> values</c>

00:04:47.330 --> 00:04:47.340 align:start position:0%
always appending new values
 

00:04:47.340 --> 00:04:49.189 align:start position:0%
always appending new values
so<00:04:48.000><c> if</c><00:04:48.120><c> someone</c><00:04:48.300><c> comes</c><00:04:48.600><c> along</c><00:04:48.720><c> and</c><00:04:48.960><c> they</c><00:04:49.080><c> want</c>

00:04:49.189 --> 00:04:49.199 align:start position:0%
so if someone comes along and they want
 

00:04:49.199 --> 00:04:50.689 align:start position:0%
so if someone comes along and they want
to<00:04:49.320><c> edit</c><00:04:49.620><c> your</c><00:04:49.800><c> state</c>

00:04:50.689 --> 00:04:50.699 align:start position:0%
to edit your state
 

00:04:50.699 --> 00:04:52.810 align:start position:0%
to edit your state
they<00:04:51.360><c> will</c><00:04:51.540><c> create</c><00:04:51.900><c> a</c><00:04:52.320><c> new</c><00:04:52.440><c> commitment</c>

00:04:52.810 --> 00:04:52.820 align:start position:0%
they will create a new commitment
 

00:04:52.820 --> 00:04:55.550 align:start position:0%
they will create a new commitment
representing<00:04:53.820><c> maybe</c><00:04:54.360><c> the</c><00:04:54.660><c> add</c><00:04:54.840><c> end</c><00:04:55.080><c> that</c><00:04:55.500><c> they</c>

00:04:55.550 --> 00:04:55.560 align:start position:0%
representing maybe the add end that they
 

00:04:55.560 --> 00:04:56.629 align:start position:0%
representing maybe the add end that they
want<00:04:55.800><c> to</c><00:04:55.860><c> add</c><00:04:55.979><c> to</c><00:04:56.100><c> the</c><00:04:56.160><c> state</c><00:04:56.280><c> or</c><00:04:56.460><c> something</c>

00:04:56.629 --> 00:04:56.639 align:start position:0%
want to add to the state or something
 

00:04:56.639 --> 00:04:59.030 align:start position:0%
want to add to the state or something
like<00:04:56.820><c> that</c><00:04:57.000><c> and</c><00:04:57.960><c> just</c><00:04:58.259><c> to</c><00:04:58.440><c> continue</c><00:04:58.620><c> with</c><00:04:58.860><c> the</c>

00:04:59.030 --> 00:04:59.040 align:start position:0%
like that and just to continue with the
 

00:04:59.040 --> 00:05:00.170 align:start position:0%
like that and just to continue with the
background<00:04:59.280><c> and</c>

00:05:00.170 --> 00:05:00.180 align:start position:0%
background and
 

00:05:00.180 --> 00:05:02.510 align:start position:0%
background and
carry<00:05:00.780><c> on</c><00:05:00.900><c> with</c><00:05:01.080><c> this</c><00:05:01.199><c> zcash</c><00:05:01.740><c> like</c><00:05:01.919><c> protocol</c>

00:05:02.510 --> 00:05:02.520 align:start position:0%
carry on with this zcash like protocol
 

00:05:02.520 --> 00:05:06.050 align:start position:0%
carry on with this zcash like protocol
description<00:05:03.300><c> or</c><00:05:03.840><c> indeed</c><00:05:04.680><c> our</c><00:05:05.100><c> current</c><00:05:05.400><c> Aztec</c>

00:05:06.050 --> 00:05:06.060 align:start position:0%
description or indeed our current Aztec
 

00:05:06.060 --> 00:05:09.170 align:start position:0%
description or indeed our current Aztec
connect<00:05:06.180><c> protocol</c><00:05:07.020><c> description</c><00:05:07.940><c> uh</c><00:05:08.940><c> let's</c>

00:05:09.170 --> 00:05:09.180 align:start position:0%
connect protocol description uh let's
 

00:05:09.180 --> 00:05:12.110 align:start position:0%
connect protocol description uh let's
say<00:05:09.360><c> someone</c><00:05:09.660><c> inputs</c><00:05:10.620><c> a</c><00:05:11.100><c> commitment</c><00:05:11.759><c> into</c>

00:05:12.110 --> 00:05:12.120 align:start position:0%
say someone inputs a commitment into
 

00:05:12.120 --> 00:05:14.090 align:start position:0%
say someone inputs a commitment into
their<00:05:12.360><c> circuit</c><00:05:12.780><c> and</c><00:05:13.320><c> they</c><00:05:13.440><c> want</c><00:05:13.560><c> to</c><00:05:13.680><c> modify</c>

00:05:14.090 --> 00:05:14.100 align:start position:0%
their circuit and they want to modify
 

00:05:14.100 --> 00:05:15.590 align:start position:0%
their circuit and they want to modify
the<00:05:14.400><c> value</c><00:05:14.580><c> contained</c><00:05:15.180><c> within</c><00:05:15.479><c> that</c>

00:05:15.590 --> 00:05:15.600 align:start position:0%
the value contained within that
 

00:05:15.600 --> 00:05:18.469 align:start position:0%
the value contained within that
commitment<00:05:15.900><c> they</c><00:05:16.740><c> pass</c><00:05:16.919><c> it</c><00:05:17.100><c> into</c><00:05:17.220><c> the</c><00:05:17.460><c> circuit</c>

00:05:18.469 --> 00:05:18.479 align:start position:0%
commitment they pass it into the circuit
 

00:05:18.479 --> 00:05:20.570 align:start position:0%
commitment they pass it into the circuit
the<00:05:19.020><c> first</c><00:05:19.139><c> thing</c><00:05:19.259><c> they</c><00:05:19.500><c> would</c><00:05:19.680><c> do</c><00:05:19.860><c> is</c><00:05:20.280><c> prove</c>

00:05:20.570 --> 00:05:20.580 align:start position:0%
the first thing they would do is prove
 

00:05:20.580 --> 00:05:22.129 align:start position:0%
the first thing they would do is prove
that<00:05:20.699><c> this</c><00:05:20.880><c> commitment</c><00:05:21.180><c> does</c><00:05:21.479><c> indeed</c><00:05:21.840><c> exist</c>

00:05:22.129 --> 00:05:22.139 align:start position:0%
that this commitment does indeed exist
 

00:05:22.139 --> 00:05:24.290 align:start position:0%
that this commitment does indeed exist
somewhere<00:05:22.560><c> in</c><00:05:22.740><c> the</c><00:05:22.860><c> Merkel</c><00:05:23.160><c> tree</c><00:05:23.340><c> of</c><00:05:23.520><c> notes</c>

00:05:24.290 --> 00:05:24.300 align:start position:0%
somewhere in the Merkel tree of notes
 

00:05:24.300 --> 00:05:26.990 align:start position:0%
somewhere in the Merkel tree of notes
and<00:05:24.960><c> in</c><00:05:25.440><c> Aztec</c><00:05:25.979><c> connect</c><00:05:26.100><c> the</c><00:05:26.400><c> miracle</c><00:05:26.699><c> tree</c><00:05:26.880><c> is</c>

00:05:26.990 --> 00:05:27.000 align:start position:0%
and in Aztec connect the miracle tree is
 

00:05:27.000 --> 00:05:28.610 align:start position:0%
and in Aztec connect the miracle tree is
2<00:05:27.120><c> to</c><00:05:27.300><c> the</c><00:05:27.419><c> 32</c>

00:05:28.610 --> 00:05:28.620 align:start position:0%
2 to the 32
 

00:05:28.620 --> 00:05:30.830 align:start position:0%
2 to the 32
with<00:05:29.580><c> this</c><00:05:29.940><c> private</c><00:05:30.360><c> smart</c><00:05:30.479><c> contract</c>

00:05:30.830 --> 00:05:30.840 align:start position:0%
with this private smart contract
 

00:05:30.840 --> 00:05:32.150 align:start position:0%
with this private smart contract
platform<00:05:31.080><c> it</c><00:05:31.259><c> might</c><00:05:31.440><c> be</c><00:05:31.560><c> quite</c><00:05:31.680><c> quite</c><00:05:31.979><c> a</c><00:05:32.100><c> lot</c>

00:05:32.150 --> 00:05:32.160 align:start position:0%
platform it might be quite quite a lot
 

00:05:32.160 --> 00:05:34.670 align:start position:0%
platform it might be quite quite a lot
bigger<00:05:32.520><c> because</c><00:05:33.120><c> apps</c><00:05:33.900><c> will</c><00:05:34.139><c> probably</c><00:05:34.380><c> create</c>

00:05:34.670 --> 00:05:34.680 align:start position:0%
bigger because apps will probably create
 

00:05:34.680 --> 00:05:36.650 align:start position:0%
bigger because apps will probably create
a<00:05:34.979><c> lot</c><00:05:35.039><c> more</c><00:05:35.160><c> commitments</c>

00:05:36.650 --> 00:05:36.660 align:start position:0%
a lot more commitments
 

00:05:36.660 --> 00:05:38.090 align:start position:0%
a lot more commitments
okay<00:05:36.960><c> the</c><00:05:37.199><c> next</c><00:05:37.320><c> thing</c><00:05:37.440><c> you</c><00:05:37.560><c> do</c><00:05:37.680><c> is</c><00:05:37.800><c> you</c><00:05:37.979><c> open</c>

00:05:38.090 --> 00:05:38.100 align:start position:0%
okay the next thing you do is you open
 

00:05:38.100 --> 00:05:39.469 align:start position:0%
okay the next thing you do is you open
the<00:05:38.340><c> commitment</c>

00:05:39.469 --> 00:05:39.479 align:start position:0%
the commitment
 

00:05:39.479 --> 00:05:42.230 align:start position:0%
the commitment
and<00:05:40.380><c> you</c><00:05:40.740><c> would</c><00:05:40.860><c> hash</c><00:05:41.039><c> the</c><00:05:41.340><c> values</c><00:05:41.580><c> to</c><00:05:41.880><c> prove</c>

00:05:42.230 --> 00:05:42.240 align:start position:0%
and you would hash the values to prove
 

00:05:42.240 --> 00:05:43.670 align:start position:0%
and you would hash the values to prove
that<00:05:42.360><c> you</c><00:05:42.539><c> indeed</c><00:05:42.780><c> know</c><00:05:43.020><c> the</c><00:05:43.199><c> pre-image</c><00:05:43.560><c> of</c>

00:05:43.670 --> 00:05:43.680 align:start position:0%
that you indeed know the pre-image of
 

00:05:43.680 --> 00:05:45.230 align:start position:0%
that you indeed know the pre-image of
the<00:05:43.740><c> commitment</c>

00:05:45.230 --> 00:05:45.240 align:start position:0%
the commitment
 

00:05:45.240 --> 00:05:47.450 align:start position:0%
the commitment
and<00:05:45.900><c> Alice</c><00:05:46.320><c> in</c><00:05:46.560><c> this</c><00:05:46.680><c> example</c><00:05:46.860><c> is</c><00:05:47.100><c> the</c><00:05:47.280><c> owner</c>

00:05:47.450 --> 00:05:47.460 align:start position:0%
and Alice in this example is the owner
 

00:05:47.460 --> 00:05:49.850 align:start position:0%
and Alice in this example is the owner
of<00:05:47.580><c> this</c><00:05:47.699><c> state</c><00:05:47.880><c> and</c><00:05:48.720><c> so</c><00:05:48.900><c> for</c><00:05:49.020><c> her</c><00:05:49.259><c> to</c><00:05:49.440><c> prove</c>

00:05:49.850 --> 00:05:49.860 align:start position:0%
of this state and so for her to prove
 

00:05:49.860 --> 00:05:52.010 align:start position:0%
of this state and so for her to prove
that<00:05:50.039><c> she</c><00:05:50.220><c> is</c><00:05:50.400><c> indeed</c><00:05:50.820><c> allowed</c><00:05:51.300><c> to</c><00:05:51.419><c> modify</c><00:05:51.840><c> the</c>

00:05:52.010 --> 00:05:52.020 align:start position:0%
that she is indeed allowed to modify the
 

00:05:52.020 --> 00:05:52.790 align:start position:0%
that she is indeed allowed to modify the
state

00:05:52.790 --> 00:05:52.800 align:start position:0%
state
 

00:05:52.800 --> 00:05:54.290 align:start position:0%
state
she<00:05:53.220><c> has</c><00:05:53.400><c> to</c><00:05:53.460><c> prove</c><00:05:53.639><c> knowledge</c><00:05:53.880><c> of</c><00:05:54.000><c> her</c><00:05:54.120><c> secret</c>

00:05:54.290 --> 00:05:54.300 align:start position:0%
she has to prove knowledge of her secret
 

00:05:54.300 --> 00:05:56.029 align:start position:0%
she has to prove knowledge of her secret
key<00:05:54.600><c> and</c><00:05:54.900><c> she</c><00:05:55.020><c> can</c><00:05:55.139><c> do</c><00:05:55.259><c> that</c><00:05:55.380><c> by</c><00:05:55.560><c> just</c><00:05:55.740><c> hashing</c>

00:05:56.029 --> 00:05:56.039 align:start position:0%
key and she can do that by just hashing
 

00:05:56.039 --> 00:05:58.249 align:start position:0%
key and she can do that by just hashing
it<00:05:56.220><c> however</c><00:05:56.880><c> or</c><00:05:57.180><c> following</c><00:05:57.840><c> however</c><00:05:58.080><c> the</c>

00:05:58.249 --> 00:05:58.259 align:start position:0%
it however or following however the
 

00:05:58.259 --> 00:06:00.170 align:start position:0%
it however or following however the
secret<00:05:58.380><c> key</c><00:05:58.620><c> has</c><00:05:58.860><c> arrived</c><00:05:59.220><c> and</c><00:05:59.880><c> then</c><00:06:00.000><c> she</c>

00:06:00.170 --> 00:06:00.180 align:start position:0%
secret key has arrived and then she
 

00:06:00.180 --> 00:06:02.029 align:start position:0%
secret key has arrived and then she
produces<00:06:00.539><c> another</c><00:06:00.780><c> fire</c><00:06:01.139><c> in</c><00:06:01.440><c> the</c><00:06:01.620><c> previous</c>

00:06:02.029 --> 00:06:02.039 align:start position:0%
produces another fire in the previous
 

00:06:02.039 --> 00:06:03.590 align:start position:0%
produces another fire in the previous
talk<00:06:02.340><c> was</c><00:06:02.580><c> quite</c><00:06:02.759><c> helpful</c><00:06:03.000><c> because</c><00:06:03.300><c> it</c>

00:06:03.590 --> 00:06:03.600 align:start position:0%
talk was quite helpful because it
 

00:06:03.600 --> 00:06:06.469 align:start position:0%
talk was quite helpful because it
explained<00:06:03.960><c> nullifies</c><00:06:04.380><c> so</c><00:06:04.560><c> I</c><00:06:04.680><c> don't</c><00:06:04.800><c> have</c><00:06:04.919><c> to</c>

00:06:06.469 --> 00:06:06.479 align:start position:0%
explained nullifies so I don't have to
 

00:06:06.479 --> 00:06:07.310 align:start position:0%
explained nullifies so I don't have to
um

00:06:07.310 --> 00:06:07.320 align:start position:0%
um
 

00:06:07.320 --> 00:06:09.710 align:start position:0%
um
and<00:06:08.220><c> then</c>

00:06:09.710 --> 00:06:09.720 align:start position:0%
and then
 

00:06:09.720 --> 00:06:11.450 align:start position:0%
and then
they<00:06:10.080><c> prove</c><00:06:10.380><c> it</c><00:06:10.440><c> doesn't</c><00:06:10.620><c> yet</c><00:06:10.800><c> exist</c><00:06:11.100><c> in</c><00:06:11.220><c> the</c>

00:06:11.450 --> 00:06:11.460 align:start position:0%
they prove it doesn't yet exist in the
 

00:06:11.460 --> 00:06:14.210 align:start position:0%
they prove it doesn't yet exist in the
nullifier<00:06:12.060><c> tree</c><00:06:12.300><c> and</c><00:06:12.900><c> the</c><00:06:13.020><c> nullify</c><00:06:13.500><c> tree</c><00:06:13.800><c> at</c>

00:06:14.210 --> 00:06:14.220 align:start position:0%
nullifier tree and the nullify tree at
 

00:06:14.220 --> 00:06:17.150 align:start position:0%
nullifier tree and the nullify tree at
the<00:06:14.340><c> moment</c><00:06:14.460><c> is</c><00:06:14.699><c> a</c><00:06:14.880><c> sparse</c><00:06:15.360><c> uh</c><00:06:16.139><c> Merkle</c><00:06:16.560><c> tree</c><00:06:16.800><c> it</c>

00:06:17.150 --> 00:06:17.160 align:start position:0%
the moment is a sparse uh Merkle tree it
 

00:06:17.160 --> 00:06:20.150 align:start position:0%
the moment is a sparse uh Merkle tree it
allows<00:06:17.460><c> you</c><00:06:17.520><c> to</c><00:06:17.699><c> prove</c><00:06:18.080><c> non-membership</c><00:06:19.160><c> but</c>

00:06:20.150 --> 00:06:20.160 align:start position:0%
allows you to prove non-membership but
 

00:06:20.160 --> 00:06:22.010 align:start position:0%
allows you to prove non-membership but
we're<00:06:20.280><c> actually</c><00:06:20.460><c> going</c><00:06:20.639><c> to</c><00:06:20.759><c> update</c><00:06:21.000><c> this</c><00:06:21.240><c> to</c><00:06:21.479><c> a</c>

00:06:22.010 --> 00:06:22.020 align:start position:0%
we're actually going to update this to a
 

00:06:22.020 --> 00:06:23.809 align:start position:0%
we're actually going to update this to a
linked<00:06:22.259><c> list</c><00:06:22.500><c> tree</c><00:06:22.919><c> which</c><00:06:23.280><c> allows</c><00:06:23.580><c> you</c><00:06:23.639><c> to</c>

00:06:23.809 --> 00:06:23.819 align:start position:0%
linked list tree which allows you to
 

00:06:23.819 --> 00:06:25.490 align:start position:0%
linked list tree which allows you to
prove<00:06:24.060><c> much</c><00:06:24.240><c> more</c><00:06:24.539><c> efficiently</c><00:06:24.960><c> that</c>

00:06:25.490 --> 00:06:25.500 align:start position:0%
prove much more efficiently that
 

00:06:25.500 --> 00:06:27.830 align:start position:0%
prove much more efficiently that
something<00:06:25.740><c> doesn't</c><00:06:25.979><c> exist</c><00:06:26.340><c> in</c><00:06:26.520><c> the</c><00:06:26.639><c> tree</c><00:06:27.120><c> and</c>

00:06:27.830 --> 00:06:27.840 align:start position:0%
something doesn't exist in the tree and
 

00:06:27.840 --> 00:06:29.330 align:start position:0%
something doesn't exist in the tree and
suppose<00:06:28.259><c> Alice</c><00:06:28.560><c> wants</c><00:06:28.800><c> to</c><00:06:28.860><c> perform</c><00:06:28.979><c> some</c>

00:06:29.330 --> 00:06:29.340 align:start position:0%
suppose Alice wants to perform some
 

00:06:29.340 --> 00:06:31.610 align:start position:0%
suppose Alice wants to perform some
simple<00:06:29.520><c> operation</c><00:06:30.000><c> on</c><00:06:30.180><c> a</c><00:06:30.300><c> state</c><00:06:30.479><c> if</c><00:06:31.199><c> you</c><00:06:31.380><c> the</c>

00:06:31.610 --> 00:06:31.620 align:start position:0%
simple operation on a state if you the
 

00:06:31.620 --> 00:06:33.770 align:start position:0%
simple operation on a state if you the
circuit<00:06:31.919><c> she'll</c><00:06:32.280><c> add</c><00:06:32.460><c> five</c><00:06:32.639><c> to</c><00:06:32.880><c> it</c>

00:06:33.770 --> 00:06:33.780 align:start position:0%
circuit she'll add five to it
 

00:06:33.780 --> 00:06:35.629 align:start position:0%
circuit she'll add five to it
and<00:06:34.319><c> you</c><00:06:34.500><c> can</c><00:06:34.560><c> see</c><00:06:34.740><c> we've</c><00:06:35.039><c> incremented</c><00:06:35.520><c> the</c>

00:06:35.629 --> 00:06:35.639 align:start position:0%
and you can see we've incremented the
 

00:06:35.639 --> 00:06:37.790 align:start position:0%
and you can see we've incremented the
value<00:06:35.759><c> that</c><00:06:35.940><c> Alice</c><00:06:36.240><c> is</c><00:06:36.360><c> hiding</c><00:06:36.720><c> we've</c><00:06:37.560><c> changed</c>

00:06:37.790 --> 00:06:37.800 align:start position:0%
value that Alice is hiding we've changed
 

00:06:37.800 --> 00:06:40.610 align:start position:0%
value that Alice is hiding we've changed
the<00:06:37.919><c> salt</c><00:06:38.100><c> to</c><00:06:38.280><c> re-randomize</c><00:06:39.080><c> the</c><00:06:40.080><c> commitment</c>

00:06:40.610 --> 00:06:40.620 align:start position:0%
the salt to re-randomize the commitment
 

00:06:40.620 --> 00:06:43.129 align:start position:0%
the salt to re-randomize the commitment
and<00:06:41.400><c> she</c><00:06:41.580><c> adds</c><00:06:41.819><c> it</c><00:06:41.940><c> into</c><00:06:42.000><c> the</c><00:06:42.180><c> tree</c>

00:06:43.129 --> 00:06:43.139 align:start position:0%
and she adds it into the tree
 

00:06:43.139 --> 00:06:46.010 align:start position:0%
and she adds it into the tree
so<00:06:43.500><c> this</c><00:06:43.680><c> is</c><00:06:43.860><c> quite</c><00:06:44.160><c> a</c><00:06:44.580><c> general</c><00:06:45.060><c> way</c><00:06:45.660><c> of</c><00:06:45.900><c> just</c>

00:06:46.010 --> 00:06:46.020 align:start position:0%
so this is quite a general way of just
 

00:06:46.020 --> 00:06:49.430 align:start position:0%
so this is quite a general way of just
modifying<00:06:46.560><c> state</c><00:06:46.740><c> within</c><00:06:47.639><c> a</c><00:06:47.880><c> public</c><00:06:48.060><c> protocol</c>

00:06:49.430 --> 00:06:49.440 align:start position:0%
modifying state within a public protocol
 

00:06:49.440 --> 00:06:51.650 align:start position:0%
modifying state within a public protocol
and<00:06:49.979><c> crucially</c><00:06:50.340><c> this</c><00:06:50.759><c> step</c><00:06:50.940><c> has</c><00:06:51.180><c> to</c><00:06:51.360><c> happen</c><00:06:51.419><c> on</c>

00:06:51.650 --> 00:06:51.660 align:start position:0%
and crucially this step has to happen on
 

00:06:51.660 --> 00:06:53.570 align:start position:0%
and crucially this step has to happen on
a<00:06:51.780><c> user's</c><00:06:52.139><c> device</c><00:06:52.259><c> or</c><00:06:52.860><c> at</c><00:06:53.039><c> least</c><00:06:53.160><c> in</c><00:06:53.340><c> the</c><00:06:53.460><c> most</c>

00:06:53.570 --> 00:06:53.580 align:start position:0%
a user's device or at least in the most
 

00:06:53.580 --> 00:06:55.850 align:start position:0%
a user's device or at least in the most
basic<00:06:54.060><c> systems</c><00:06:54.960><c> this</c><00:06:55.199><c> has</c><00:06:55.319><c> to</c><00:06:55.440><c> happen</c><00:06:55.560><c> on</c><00:06:55.740><c> the</c>

00:06:55.850 --> 00:06:55.860 align:start position:0%
basic systems this has to happen on the
 

00:06:55.860 --> 00:06:57.650 align:start position:0%
basic systems this has to happen on the
user's<00:06:56.160><c> device</c><00:06:56.280><c> you</c><00:06:56.580><c> can</c><00:06:56.699><c> do</c><00:06:56.880><c> some</c><00:06:57.180><c> delegating</c>

00:06:57.650 --> 00:06:57.660 align:start position:0%
user's device you can do some delegating
 

00:06:57.660 --> 00:06:59.629 align:start position:0%
user's device you can do some delegating
schemes<00:06:58.199><c> but</c><00:06:58.500><c> we</c><00:06:58.979><c> won't</c><00:06:59.100><c> talk</c><00:06:59.280><c> about</c><00:06:59.460><c> that</c>

00:06:59.629 --> 00:06:59.639 align:start position:0%
schemes but we won't talk about that
 

00:06:59.639 --> 00:07:00.650 align:start position:0%
schemes but we won't talk about that
here

00:07:00.650 --> 00:07:00.660 align:start position:0%
here
 

00:07:00.660 --> 00:07:03.469 align:start position:0%
here
and<00:07:01.319><c> so</c><00:07:01.620><c> this</c><00:07:02.520><c> gives</c><00:07:02.759><c> our</c><00:07:02.940><c> rollup</c><00:07:03.300><c> something</c>

00:07:03.469 --> 00:07:03.479 align:start position:0%
and so this gives our rollup something
 

00:07:03.479 --> 00:07:05.570 align:start position:0%
and so this gives our rollup something
different<00:07:03.720><c> from</c><00:07:04.020><c> other</c><00:07:04.139><c> Roll-Ups</c><00:07:04.740><c> there</c><00:07:05.280><c> is</c><00:07:05.460><c> a</c>

00:07:05.570 --> 00:07:05.580 align:start position:0%
different from other Roll-Ups there is a
 

00:07:05.580 --> 00:07:07.969 align:start position:0%
different from other Roll-Ups there is a
layer<00:07:05.880><c> where</c><00:07:06.060><c> if</c><00:07:06.240><c> someone</c><00:07:06.419><c> wants</c><00:07:06.840><c> to</c><00:07:07.080><c> modify</c><00:07:07.800><c> a</c>

00:07:07.969 --> 00:07:07.979 align:start position:0%
layer where if someone wants to modify a
 

00:07:07.979 --> 00:07:09.110 align:start position:0%
layer where if someone wants to modify a
private<00:07:08.220><c> State</c><00:07:08.400><c> they</c><00:07:08.639><c> have</c><00:07:08.759><c> to</c><00:07:08.819><c> do</c><00:07:08.940><c> it</c><00:07:09.000><c> on</c>

00:07:09.110 --> 00:07:09.120 align:start position:0%
private State they have to do it on
 

00:07:09.120 --> 00:07:11.330 align:start position:0%
private State they have to do it on
their<00:07:09.240><c> own</c><00:07:09.360><c> device</c><00:07:09.600><c> before</c><00:07:10.500><c> then</c><00:07:10.860><c> passing</c><00:07:11.220><c> it</c>

00:07:11.330 --> 00:07:11.340 align:start position:0%
their own device before then passing it
 

00:07:11.340 --> 00:07:13.189 align:start position:0%
their own device before then passing it
to<00:07:11.520><c> some</c><00:07:11.639><c> sequencer</c><00:07:12.240><c> who</c><00:07:12.600><c> will</c><00:07:12.720><c> deal</c><00:07:12.840><c> with</c><00:07:13.020><c> all</c>

00:07:13.189 --> 00:07:13.199 align:start position:0%
to some sequencer who will deal with all
 

00:07:13.199 --> 00:07:15.290 align:start position:0%
to some sequencer who will deal with all
the<00:07:13.319><c> public</c><00:07:13.440><c> State</c><00:07:13.680><c> changes</c>

00:07:15.290 --> 00:07:15.300 align:start position:0%
the public State changes
 

00:07:15.300 --> 00:07:17.330 align:start position:0%
the public State changes
and<00:07:15.780><c> indeed</c><00:07:16.259><c> because</c><00:07:16.500><c> it</c><00:07:16.740><c> has</c><00:07:16.860><c> to</c><00:07:16.919><c> happen</c><00:07:17.039><c> on</c><00:07:17.220><c> a</c>

00:07:17.330 --> 00:07:17.340 align:start position:0%
and indeed because it has to happen on a
 

00:07:17.340 --> 00:07:19.430 align:start position:0%
and indeed because it has to happen on a
user's<00:07:17.580><c> device</c><00:07:17.759><c> possibly</c><00:07:18.180><c> in</c><00:07:18.360><c> the</c><00:07:18.479><c> browser</c><00:07:18.840><c> we</c>

00:07:19.430 --> 00:07:19.440 align:start position:0%
user's device possibly in the browser we
 

00:07:19.440 --> 00:07:20.930 align:start position:0%
user's device possibly in the browser we
need<00:07:19.560><c> extremely</c><00:07:19.919><c> efficient</c><00:07:20.280><c> proving</c><00:07:20.580><c> systems</c>

00:07:20.930 --> 00:07:20.940 align:start position:0%
need extremely efficient proving systems
 

00:07:20.940 --> 00:07:22.670 align:start position:0%
need extremely efficient proving systems
which<00:07:21.240><c> you</c><00:07:21.780><c> know</c><00:07:21.840><c> we've</c><00:07:22.020><c> been</c><00:07:22.199><c> working</c><00:07:22.319><c> on</c><00:07:22.500><c> and</c>

00:07:22.670 --> 00:07:22.680 align:start position:0%
which you know we've been working on and
 

00:07:22.680 --> 00:07:24.650 align:start position:0%
which you know we've been working on and
we're<00:07:22.860><c> continuing</c><00:07:23.220><c> to</c><00:07:23.520><c> improve</c>

00:07:24.650 --> 00:07:24.660 align:start position:0%
we're continuing to improve
 

00:07:24.660 --> 00:07:27.950 align:start position:0%
we're continuing to improve
so<00:07:25.259><c> on</c><00:07:25.560><c> an</c><00:07:25.740><c> L2</c><00:07:26.479><c> functions</c><00:07:27.479><c> are</c><00:07:27.599><c> slightly</c>

00:07:27.950 --> 00:07:27.960 align:start position:0%
so on an L2 functions are slightly
 

00:07:27.960 --> 00:07:29.749 align:start position:0%
so on an L2 functions are slightly
different<00:07:28.139><c> from</c><00:07:28.680><c> a</c><00:07:29.039><c> solidity</c><00:07:29.400><c> function</c>

00:07:29.749 --> 00:07:29.759 align:start position:0%
different from a solidity function
 

00:07:29.759 --> 00:07:32.510 align:start position:0%
different from a solidity function
they're<00:07:30.720><c> actually</c><00:07:30.900><c> ZK</c><00:07:31.319><c> snark</c><00:07:31.740><c> circuits</c><00:07:32.220><c> so</c>

00:07:32.510 --> 00:07:32.520 align:start position:0%
they're actually ZK snark circuits so
 

00:07:32.520 --> 00:07:35.749 align:start position:0%
they're actually ZK snark circuits so
similar<00:07:32.940><c> to</c><00:07:33.259><c> other</c><00:07:34.259><c> ZK</c><00:07:34.979><c> Roll-Ups</c><00:07:35.580><c> that</c><00:07:35.639><c> you</c>

00:07:35.749 --> 00:07:35.759 align:start position:0%
similar to other ZK Roll-Ups that you
 

00:07:35.759 --> 00:07:38.270 align:start position:0%
similar to other ZK Roll-Ups that you
might<00:07:35.880><c> have</c><00:07:36.060><c> read</c><00:07:36.479><c> about</c><00:07:36.720><c> except</c><00:07:37.259><c> our</c><00:07:37.860><c> role</c><00:07:38.160><c> it</c>

00:07:38.270 --> 00:07:38.280 align:start position:0%
might have read about except our role it
 

00:07:38.280 --> 00:07:40.249 align:start position:0%
might have read about except our role it
will<00:07:38.400><c> need</c><00:07:38.520><c> to</c><00:07:38.639><c> be</c><00:07:38.699><c> actual</c><00:07:39.060><c> ZK</c><00:07:39.539><c> so</c><00:07:39.960><c> provide</c>

00:07:40.249 --> 00:07:40.259 align:start position:0%
will need to be actual ZK so provide
 

00:07:40.259 --> 00:07:43.010 align:start position:0%
will need to be actual ZK so provide
hiding<00:07:40.620><c> properties</c><00:07:41.060><c> so</c><00:07:42.060><c> if</c><00:07:42.539><c> someone</c><00:07:42.660><c> begins</c>

00:07:43.010 --> 00:07:43.020 align:start position:0%
hiding properties so if someone begins
 

00:07:43.020 --> 00:07:44.450 align:start position:0%
hiding properties so if someone begins
with<00:07:43.199><c> a</c><00:07:43.380><c> circuit</c><00:07:43.680><c> suppose</c><00:07:43.979><c> they</c><00:07:44.099><c> write</c><00:07:44.340><c> a</c>

00:07:44.450 --> 00:07:44.460 align:start position:0%
with a circuit suppose they write a
 

00:07:44.460 --> 00:07:47.210 align:start position:0%
with a circuit suppose they write a
circuit<00:07:44.880><c> in</c><00:07:45.060><c> some</c><00:07:45.780><c> circuit</c><00:07:46.620><c> language</c><00:07:46.919><c> like</c>

00:07:47.210 --> 00:07:47.220 align:start position:0%
circuit in some circuit language like
 

00:07:47.220 --> 00:07:48.670 align:start position:0%
circuit in some circuit language like
Noir

00:07:48.670 --> 00:07:48.680 align:start position:0%
Noir
 

00:07:48.680 --> 00:07:51.170 align:start position:0%
Noir
they<00:07:49.680><c> write</c><00:07:49.919><c> the</c><00:07:50.280><c> rules</c><00:07:50.580><c> of</c><00:07:50.759><c> their</c><00:07:50.880><c> function</c>

00:07:51.170 --> 00:07:51.180 align:start position:0%
they write the rules of their function
 

00:07:51.180 --> 00:07:53.150 align:start position:0%
they write the rules of their function
you<00:07:51.539><c> know</c><00:07:51.660><c> it</c><00:07:52.080><c> might</c><00:07:52.259><c> include</c><00:07:52.500><c> State</c><00:07:52.740><c> changes</c>

00:07:53.150 --> 00:07:53.160 align:start position:0%
you know it might include State changes
 

00:07:53.160 --> 00:07:55.490 align:start position:0%
you know it might include State changes
computations<00:07:53.759><c> stuff</c><00:07:54.180><c> like</c><00:07:54.360><c> that</c>

00:07:55.490 --> 00:07:55.500 align:start position:0%
computations stuff like that
 

00:07:55.500 --> 00:07:57.770 align:start position:0%
computations stuff like that
and<00:07:56.280><c> using</c><00:07:56.759><c> something</c><00:07:56.880><c> like</c><00:07:57.060><c> Noir</c><00:07:57.419><c> they</c><00:07:57.599><c> can</c>

00:07:57.770 --> 00:07:57.780 align:start position:0%
and using something like Noir they can
 

00:07:57.780 --> 00:08:00.050 align:start position:0%
and using something like Noir they can
take<00:07:58.380><c> that</c><00:07:58.620><c> circuit</c><00:07:59.039><c> and</c><00:07:59.160><c> compute</c><00:07:59.759><c> a</c><00:07:59.819><c> proven</c>

00:08:00.050 --> 00:08:00.060 align:start position:0%
take that circuit and compute a proven
 

00:08:00.060 --> 00:08:02.570 align:start position:0%
take that circuit and compute a proven
key<00:08:00.180><c> in</c><00:08:00.419><c> a</c><00:08:00.479><c> verification</c><00:08:00.840><c> key</c>

00:08:02.570 --> 00:08:02.580 align:start position:0%
key in a verification key
 

00:08:02.580 --> 00:08:05.089 align:start position:0%
key in a verification key
and<00:08:03.360><c> a</c><00:08:03.660><c> user</c><00:08:03.960><c> will</c><00:08:04.080><c> come</c><00:08:04.259><c> along</c><00:08:04.440><c> and</c><00:08:04.800><c> they</c><00:08:04.979><c> want</c>

00:08:05.089 --> 00:08:05.099 align:start position:0%
and a user will come along and they want
 

00:08:05.099 --> 00:08:07.370 align:start position:0%
and a user will come along and they want
to<00:08:05.220><c> execute</c><00:08:05.580><c> this</c><00:08:05.759><c> function</c><00:08:06.060><c> or</c><00:08:06.599><c> rather</c><00:08:06.840><c> prove</c>

00:08:07.370 --> 00:08:07.380 align:start position:0%
to execute this function or rather prove
 

00:08:07.380 --> 00:08:08.570 align:start position:0%
to execute this function or rather prove
that<00:08:07.500><c> they</c><00:08:07.680><c> have</c><00:08:07.800><c> executed</c><00:08:08.220><c> the</c><00:08:08.340><c> function</c>

00:08:08.570 --> 00:08:08.580 align:start position:0%
that they have executed the function
 

00:08:08.580 --> 00:08:10.189 align:start position:0%
that they have executed the function
correctly

00:08:10.189 --> 00:08:10.199 align:start position:0%
correctly
 

00:08:10.199 --> 00:08:11.870 align:start position:0%
correctly
and<00:08:10.740><c> that</c><00:08:10.979><c> function</c><00:08:11.220><c> will</c><00:08:11.400><c> take</c><00:08:11.580><c> some</c><00:08:11.699><c> secret</c>

00:08:11.870 --> 00:08:11.880 align:start position:0%
and that function will take some secret
 

00:08:11.880 --> 00:08:14.570 align:start position:0%
and that function will take some secret
inputs<00:08:12.419><c> and</c><00:08:12.539><c> some</c><00:08:12.720><c> public</c><00:08:12.900><c> inputs</c>

00:08:14.570 --> 00:08:14.580 align:start position:0%
inputs and some public inputs
 

00:08:14.580 --> 00:08:17.029 align:start position:0%
inputs and some public inputs
and<00:08:15.300><c> they'll</c><00:08:15.479><c> pass</c><00:08:15.780><c> it</c><00:08:15.960><c> into</c><00:08:16.199><c> Noir</c><00:08:16.740><c> a</c><00:08:16.919><c> big</c>

00:08:17.029 --> 00:08:17.039 align:start position:0%
and they'll pass it into Noir a big
 

00:08:17.039 --> 00:08:19.369 align:start position:0%
and they'll pass it into Noir a big
black<00:08:17.220><c> box</c><00:08:17.400><c> and</c><00:08:17.639><c> it</c><00:08:17.759><c> will</c><00:08:17.880><c> generate</c><00:08:18.180><c> a</c><00:08:18.300><c> proof</c>

00:08:19.369 --> 00:08:19.379 align:start position:0%
black box and it will generate a proof
 

00:08:19.379 --> 00:08:21.650 align:start position:0%
black box and it will generate a proof
out<00:08:19.860><c> will</c><00:08:20.099><c> come</c><00:08:20.280><c> the</c><00:08:20.460><c> proof</c>

00:08:21.650 --> 00:08:21.660 align:start position:0%
out will come the proof
 

00:08:21.660 --> 00:08:24.110 align:start position:0%
out will come the proof
and<00:08:22.560><c> you</c><00:08:23.099><c> can</c><00:08:23.160><c> send</c><00:08:23.340><c> the</c><00:08:23.520><c> proof</c><00:08:23.759><c> and</c><00:08:23.940><c> the</c>

00:08:24.110 --> 00:08:24.120 align:start position:0%
and you can send the proof and the
 

00:08:24.120 --> 00:08:25.790 align:start position:0%
and you can send the proof and the
public<00:08:24.240><c> inputs</c><00:08:24.720><c> to</c><00:08:24.900><c> some</c><00:08:25.080><c> verifier</c><00:08:25.560><c> who</c>

00:08:25.790 --> 00:08:25.800 align:start position:0%
public inputs to some verifier who
 

00:08:25.800 --> 00:08:27.529 align:start position:0%
public inputs to some verifier who
already<00:08:25.919><c> has</c><00:08:26.160><c> the</c><00:08:26.340><c> verification</c><00:08:26.759><c> key</c><00:08:27.060><c> and</c>

00:08:27.529 --> 00:08:27.539 align:start position:0%
already has the verification key and
 

00:08:27.539 --> 00:08:29.029 align:start position:0%
already has the verification key and
they<00:08:27.720><c> can</c><00:08:27.840><c> verify</c><00:08:28.199><c> that</c><00:08:28.379><c> you</c><00:08:28.560><c> did</c><00:08:28.680><c> indeed</c>

00:08:29.029 --> 00:08:29.039 align:start position:0%
they can verify that you did indeed
 

00:08:29.039 --> 00:08:31.129 align:start position:0%
they can verify that you did indeed
execute<00:08:29.520><c> the</c><00:08:29.699><c> function</c><00:08:29.940><c> correctly</c>

00:08:31.129 --> 00:08:31.139 align:start position:0%
execute the function correctly
 

00:08:31.139 --> 00:08:34.430 align:start position:0%
execute the function correctly
for<00:08:31.860><c> the</c><00:08:31.919><c> given</c><00:08:32.219><c> set</c><00:08:32.339><c> of</c><00:08:32.520><c> public</c><00:08:32.700><c> inputs</c>

00:08:34.430 --> 00:08:34.440 align:start position:0%
for the given set of public inputs
 

00:08:34.440 --> 00:08:36.110 align:start position:0%
for the given set of public inputs
one<00:08:34.800><c> thing</c><00:08:34.860><c> I</c><00:08:35.039><c> want</c><00:08:35.159><c> to</c><00:08:35.279><c> point</c><00:08:35.399><c> out</c><00:08:35.580><c> in</c><00:08:35.940><c> this</c>

00:08:36.110 --> 00:08:36.120 align:start position:0%
one thing I want to point out in this
 

00:08:36.120 --> 00:08:37.790 align:start position:0%
one thing I want to point out in this
slide<00:08:36.360><c> and</c><00:08:36.539><c> that</c><00:08:36.719><c> we'll</c><00:08:36.899><c> need</c><00:08:37.260><c> going</c><00:08:37.560><c> forward</c>

00:08:37.790 --> 00:08:37.800 align:start position:0%
slide and that we'll need going forward
 

00:08:37.800 --> 00:08:40.130 align:start position:0%
slide and that we'll need going forward
is<00:08:38.580><c> that</c><00:08:38.760><c> the</c><00:08:38.880><c> verification</c><00:08:39.360><c> key</c><00:08:39.599><c> can</c><00:08:39.899><c> be</c><00:08:40.020><c> used</c>

00:08:40.130 --> 00:08:40.140 align:start position:0%
is that the verification key can be used
 

00:08:40.140 --> 00:08:41.750 align:start position:0%
is that the verification key can be used
as<00:08:40.260><c> a</c><00:08:40.440><c> unique</c><00:08:40.620><c> identifier</c><00:08:41.159><c> for</c><00:08:41.339><c> the</c><00:08:41.459><c> circuit</c>

00:08:41.750 --> 00:08:41.760 align:start position:0%
as a unique identifier for the circuit
 

00:08:41.760 --> 00:08:43.310 align:start position:0%
as a unique identifier for the circuit
because<00:08:42.060><c> it</c><00:08:42.240><c> was</c><00:08:42.360><c> derived</c><00:08:42.719><c> from</c><00:08:42.779><c> the</c><00:08:42.959><c> circuit</c>

00:08:43.310 --> 00:08:43.320 align:start position:0%
because it was derived from the circuit
 

00:08:43.320 --> 00:08:45.350 align:start position:0%
because it was derived from the circuit
and<00:08:43.979><c> the</c><00:08:44.159><c> hash</c><00:08:44.279><c> of</c><00:08:44.459><c> the</c><00:08:44.580><c> verification</c><00:08:44.940><c> key</c><00:08:45.180><c> is</c>

00:08:45.350 --> 00:08:45.360 align:start position:0%
and the hash of the verification key is
 

00:08:45.360 --> 00:08:47.690 align:start position:0%
and the hash of the verification key is
like<00:08:45.480><c> a</c><00:08:45.720><c> unique</c><00:08:46.020><c> single</c><00:08:46.380><c> number</c><00:08:46.560><c> that</c><00:08:47.519><c> can</c>

00:08:47.690 --> 00:08:47.700 align:start position:0%
like a unique single number that can
 

00:08:47.700 --> 00:08:50.030 align:start position:0%
like a unique single number that can
completely<00:08:47.940><c> represent</c><00:08:48.360><c> the</c><00:08:48.480><c> circuit</c>

00:08:50.030 --> 00:08:50.040 align:start position:0%
completely represent the circuit
 

00:08:50.040 --> 00:08:51.710 align:start position:0%
completely represent the circuit
and<00:08:50.519><c> yeah</c><00:08:50.640><c> this</c><00:08:50.820><c> this</c><00:08:51.000><c> can</c><00:08:51.180><c> all</c><00:08:51.300><c> be</c><00:08:51.420><c> handled</c><00:08:51.600><c> by</c>

00:08:51.710 --> 00:08:51.720 align:start position:0%
and yeah this this can all be handled by
 

00:08:51.720 --> 00:08:53.750 align:start position:0%
and yeah this this can all be handled by
Noir

00:08:53.750 --> 00:08:53.760 align:start position:0%
Noir
 

00:08:53.760 --> 00:08:56.630 align:start position:0%
Noir
so<00:08:54.420><c> if</c><00:08:55.019><c> a</c><00:08:55.200><c> verification</c><00:08:55.680><c> key</c><00:08:55.920><c> can</c><00:08:56.160><c> represent</c><00:08:56.459><c> a</c>

00:08:56.630 --> 00:08:56.640 align:start position:0%
so if a verification key can represent a
 

00:08:56.640 --> 00:08:59.329 align:start position:0%
so if a verification key can represent a
circuit<00:08:57.080><c> and</c><00:08:58.080><c> if</c><00:08:58.320><c> a</c><00:08:58.440><c> smart</c><00:08:58.620><c> contract</c><00:08:58.980><c> is</c><00:08:59.220><c> a</c>

00:08:59.329 --> 00:08:59.339 align:start position:0%
circuit and if a smart contract is a
 

00:08:59.339 --> 00:09:00.949 align:start position:0%
circuit and if a smart contract is a
collection<00:08:59.580><c> of</c><00:08:59.820><c> functions</c>

00:09:00.949 --> 00:09:00.959 align:start position:0%
collection of functions
 

00:09:00.959 --> 00:09:03.410 align:start position:0%
collection of functions
then<00:09:01.680><c> we</c><00:09:02.220><c> can</c><00:09:02.339><c> create</c>

00:09:03.410 --> 00:09:03.420 align:start position:0%
then we can create
 

00:09:03.420 --> 00:09:05.269 align:start position:0%
then we can create
uh<00:09:03.959><c> well</c><00:09:04.140><c> we</c><00:09:04.380><c> can</c><00:09:04.440><c> represent</c><00:09:04.800><c> our</c><00:09:04.980><c> set</c><00:09:05.160><c> of</c>

00:09:05.269 --> 00:09:05.279 align:start position:0%
uh well we can represent our set of
 

00:09:05.279 --> 00:09:07.009 align:start position:0%
uh well we can represent our set of
functions<00:09:05.640><c> as</c><00:09:06.060><c> just</c><00:09:06.240><c> a</c><00:09:06.360><c> set</c><00:09:06.480><c> of</c><00:09:06.600><c> verification</c>

00:09:07.009 --> 00:09:07.019 align:start position:0%
functions as just a set of verification
 

00:09:07.019 --> 00:09:08.269 align:start position:0%
functions as just a set of verification
keys

00:09:08.269 --> 00:09:08.279 align:start position:0%
keys
 

00:09:08.279 --> 00:09:10.550 align:start position:0%
keys
and<00:09:08.760><c> if</c><00:09:09.000><c> we</c><00:09:09.180><c> want</c><00:09:09.360><c> to</c><00:09:09.480><c> prove</c><00:09:10.019><c> one</c><00:09:10.380><c> of</c><00:09:10.500><c> our</c>

00:09:10.550 --> 00:09:10.560 align:start position:0%
and if we want to prove one of our
 

00:09:10.560 --> 00:09:13.070 align:start position:0%
and if we want to prove one of our
objectives<00:09:10.980><c> that</c><00:09:11.760><c> we</c><00:09:12.000><c> have</c><00:09:12.360><c> executed</c><00:09:12.959><c> a</c>

00:09:13.070 --> 00:09:13.080 align:start position:0%
objectives that we have executed a
 

00:09:13.080 --> 00:09:14.269 align:start position:0%
objectives that we have executed a
function<00:09:13.320><c> without</c><00:09:13.560><c> revealing</c><00:09:14.040><c> which</c>

00:09:14.269 --> 00:09:14.279 align:start position:0%
function without revealing which
 

00:09:14.279 --> 00:09:16.490 align:start position:0%
function without revealing which
function<00:09:14.580><c> we</c><00:09:14.760><c> have</c><00:09:14.880><c> actually</c><00:09:15.060><c> executed</c><00:09:15.720><c> we</c>

00:09:16.490 --> 00:09:16.500 align:start position:0%
function we have actually executed we
 

00:09:16.500 --> 00:09:17.990 align:start position:0%
function we have actually executed we
can<00:09:16.620><c> just</c><00:09:16.740><c> localize</c><00:09:17.279><c> all</c><00:09:17.459><c> our</c><00:09:17.640><c> verification</c>

00:09:17.990 --> 00:09:18.000 align:start position:0%
can just localize all our verification
 

00:09:18.000 --> 00:09:20.509 align:start position:0%
can just localize all our verification
Keys<00:09:18.420><c> into</c><00:09:18.540><c> a</c><00:09:18.839><c> big</c><00:09:18.959><c> tree</c><00:09:19.440><c> and</c><00:09:19.980><c> we</c><00:09:20.040><c> can</c><00:09:20.220><c> add</c><00:09:20.339><c> our</c>

00:09:20.509 --> 00:09:20.519 align:start position:0%
Keys into a big tree and we can add our
 

00:09:20.519 --> 00:09:22.850 align:start position:0%
Keys into a big tree and we can add our
contract<00:09:21.000><c> or</c><00:09:21.600><c> our</c><00:09:21.720><c> set</c><00:09:21.899><c> of</c><00:09:22.019><c> functions</c><00:09:22.320><c> to</c><00:09:22.620><c> a</c>

00:09:22.850 --> 00:09:22.860 align:start position:0%
contract or our set of functions to a
 

00:09:22.860 --> 00:09:25.670 align:start position:0%
contract or our set of functions to a
giant<00:09:23.580><c> contract</c><00:09:23.940><c> tree</c><00:09:24.180><c> which</c><00:09:24.660><c> contains</c><00:09:25.140><c> all</c>

00:09:25.670 --> 00:09:25.680 align:start position:0%
giant contract tree which contains all
 

00:09:25.680 --> 00:09:27.050 align:start position:0%
giant contract tree which contains all
functions<00:09:26.040><c> that</c><00:09:26.220><c> have</c><00:09:26.339><c> ever</c><00:09:26.519><c> been</c><00:09:26.640><c> deployed</c>

00:09:27.050 --> 00:09:27.060 align:start position:0%
functions that have ever been deployed
 

00:09:27.060 --> 00:09:29.750 align:start position:0%
functions that have ever been deployed
to<00:09:27.360><c> this</c><00:09:27.660><c> layer</c><00:09:28.140><c> 2</c><00:09:28.260><c> smart</c><00:09:28.500><c> contract</c><00:09:28.860><c> platform</c>

00:09:29.750 --> 00:09:29.760 align:start position:0%
to this layer 2 smart contract platform
 

00:09:29.760 --> 00:09:31.490 align:start position:0%
to this layer 2 smart contract platform
and<00:09:30.240><c> in</c><00:09:30.420><c> doing</c><00:09:30.600><c> so</c>

00:09:31.490 --> 00:09:31.500 align:start position:0%
and in doing so
 

00:09:31.500 --> 00:09:33.710 align:start position:0%
and in doing so
if<00:09:32.160><c> this</c><00:09:32.459><c> computation</c><00:09:32.940><c> a</c><00:09:33.180><c> miracle</c><00:09:33.480><c> membership</c>

00:09:33.710 --> 00:09:33.720 align:start position:0%
if this computation a miracle membership
 

00:09:33.720 --> 00:09:35.570 align:start position:0%
if this computation a miracle membership
check<00:09:33.899><c> is</c><00:09:34.080><c> done</c><00:09:34.200><c> within</c><00:09:34.500><c> a</c><00:09:34.620><c> circuit</c><00:09:34.920><c> you</c><00:09:35.459><c> can</c>

00:09:35.570 --> 00:09:35.580 align:start position:0%
check is done within a circuit you can
 

00:09:35.580 --> 00:09:38.269 align:start position:0%
check is done within a circuit you can
hide<00:09:35.880><c> which</c><00:09:36.240><c> function</c><00:09:36.540><c> someone</c><00:09:36.779><c> has</c><00:09:37.080><c> executed</c>

00:09:38.269 --> 00:09:38.279 align:start position:0%
hide which function someone has executed
 

00:09:38.279 --> 00:09:41.329 align:start position:0%
hide which function someone has executed
uh<00:09:39.240><c> so</c><00:09:39.839><c> this</c><00:09:40.320><c> actually</c><00:09:40.560><c> already</c><00:09:40.860><c> came</c><00:09:41.040><c> up</c><00:09:41.220><c> with</c>

00:09:41.329 --> 00:09:41.339 align:start position:0%
uh so this actually already came up with
 

00:09:41.339 --> 00:09:43.250 align:start position:0%
uh so this actually already came up with
a<00:09:41.459><c> system</c><00:09:41.640><c> which</c><00:09:42.480><c> was</c><00:09:42.660><c> really</c><00:09:42.839><c> good</c><00:09:42.959><c> a</c><00:09:43.140><c> few</c>

00:09:43.250 --> 00:09:43.260 align:start position:0%
a system which was really good a few
 

00:09:43.260 --> 00:09:45.230 align:start position:0%
a system which was really good a few
years<00:09:43.440><c> ago</c><00:09:43.680><c> it's</c><00:09:44.459><c> a</c><00:09:44.580><c> good</c><00:09:44.640><c> paper</c><00:09:44.820><c> if</c><00:09:45.060><c> you</c>

00:09:45.230 --> 00:09:45.240 align:start position:0%
years ago it's a good paper if you
 

00:09:45.240 --> 00:09:48.110 align:start position:0%
years ago it's a good paper if you
haven't<00:09:45.300><c> read</c><00:09:45.600><c> it</c><00:09:45.779><c> uh</c><00:09:46.620><c> for</c><00:09:47.160><c> hiding</c><00:09:47.880><c> which</c>

00:09:48.110 --> 00:09:48.120 align:start position:0%
haven't read it uh for hiding which
 

00:09:48.120 --> 00:09:50.810 align:start position:0%
haven't read it uh for hiding which
function<00:09:48.420><c> has</c><00:09:48.600><c> been</c><00:09:48.779><c> executed</c><00:09:49.260><c> and</c><00:09:50.220><c> this</c><00:09:50.580><c> hash</c>

00:09:50.810 --> 00:09:50.820 align:start position:0%
function has been executed and this hash
 

00:09:50.820 --> 00:09:53.509 align:start position:0%
function has been executed and this hash
here<00:09:51.000><c> represents</c><00:09:51.779><c> a</c><00:09:52.560><c> commitment</c><00:09:53.220><c> that</c>

00:09:53.509 --> 00:09:53.519 align:start position:0%
here represents a commitment that
 

00:09:53.519 --> 00:09:54.889 align:start position:0%
here represents a commitment that
someone<00:09:53.640><c> might</c><00:09:53.880><c> add</c><00:09:54.000><c> to</c><00:09:54.120><c> a</c><00:09:54.300><c> tree</c><00:09:54.420><c> that</c><00:09:54.720><c> we</c>

00:09:54.889 --> 00:09:54.899 align:start position:0%
someone might add to a tree that we
 

00:09:54.899 --> 00:09:56.269 align:start position:0%
someone might add to a tree that we
talked<00:09:55.080><c> about</c><00:09:55.140><c> earlier</c>

00:09:56.269 --> 00:09:56.279 align:start position:0%
talked about earlier
 

00:09:56.279 --> 00:09:58.250 align:start position:0%
talked about earlier
and<00:09:56.880><c> within</c><00:09:57.240><c> the</c><00:09:57.360><c> commitment</c>

00:09:58.250 --> 00:09:58.260 align:start position:0%
and within the commitment
 

00:09:58.260 --> 00:10:00.949 align:start position:0%
and within the commitment
they<00:09:58.860><c> had</c><00:09:59.040><c> a</c><00:09:59.279><c> nice</c><00:09:59.580><c> idea</c><00:10:00.000><c> that</c><00:10:00.360><c> you</c><00:10:00.720><c> would</c><00:10:00.839><c> put</c>

00:10:00.949 --> 00:10:00.959 align:start position:0%
they had a nice idea that you would put
 

00:10:00.959 --> 00:10:03.290 align:start position:0%
they had a nice idea that you would put
in<00:10:01.140><c> a</c><00:10:01.260><c> birth</c><00:10:01.380><c> predicate</c><00:10:01.860><c> I.E</c><00:10:02.459><c> details</c><00:10:02.880><c> of</c><00:10:03.000><c> the</c>

00:10:03.290 --> 00:10:03.300 align:start position:0%
in a birth predicate I.E details of the
 

00:10:03.300 --> 00:10:05.170 align:start position:0%
in a birth predicate I.E details of the
function<00:10:03.720><c> which</c><00:10:04.019><c> created</c><00:10:04.380><c> this</c><00:10:04.620><c> commitment</c>

00:10:05.170 --> 00:10:05.180 align:start position:0%
function which created this commitment
 

00:10:05.180 --> 00:10:08.090 align:start position:0%
function which created this commitment
and<00:10:06.180><c> a</c><00:10:06.420><c> death</c><00:10:06.540><c> predicate</c><00:10:07.080><c> a</c><00:10:07.440><c> function</c><00:10:07.740><c> which</c>

00:10:08.090 --> 00:10:08.100 align:start position:0%
and a death predicate a function which
 

00:10:08.100 --> 00:10:11.030 align:start position:0%
and a death predicate a function which
the<00:10:08.580><c> only</c><00:10:08.700><c> function</c><00:10:09.120><c> which</c><00:10:09.600><c> may</c><00:10:09.839><c> nullify</c><00:10:10.740><c> this</c>

00:10:11.030 --> 00:10:11.040 align:start position:0%
the only function which may nullify this
 

00:10:11.040 --> 00:10:12.470 align:start position:0%
the only function which may nullify this
commitment

00:10:12.470 --> 00:10:12.480 align:start position:0%
commitment
 

00:10:12.480 --> 00:10:14.509 align:start position:0%
commitment
but<00:10:12.899><c> if</c><00:10:13.080><c> people</c><00:10:13.200><c> are</c><00:10:13.380><c> familiar</c><00:10:13.680><c> with</c><00:10:13.860><c> solidity</c>

00:10:14.509 --> 00:10:14.519 align:start position:0%
but if people are familiar with solidity
 

00:10:14.519 --> 00:10:16.730 align:start position:0%
but if people are familiar with solidity
smart<00:10:14.760><c> contract</c><00:10:15.120><c> development</c><00:10:15.600><c> it's</c><00:10:16.500><c> not</c>

00:10:16.730 --> 00:10:16.740 align:start position:0%
smart contract development it's not
 

00:10:16.740 --> 00:10:18.829 align:start position:0%
smart contract development it's not
quite<00:10:16.920><c> good</c><00:10:17.100><c> enough</c><00:10:17.220><c> to</c><00:10:17.519><c> just</c><00:10:17.640><c> have</c><00:10:17.940><c> one</c>

00:10:18.829 --> 00:10:18.839 align:start position:0%
quite good enough to just have one
 

00:10:18.839 --> 00:10:21.170 align:start position:0%
quite good enough to just have one
function<00:10:19.200><c> a</c><00:10:19.920><c> modify</c><00:10:20.339><c> a</c><00:10:20.459><c> state</c><00:10:20.580><c> you</c><00:10:20.940><c> might</c><00:10:21.000><c> want</c>

00:10:21.170 --> 00:10:21.180 align:start position:0%
function a modify a state you might want
 

00:10:21.180 --> 00:10:22.670 align:start position:0%
function a modify a state you might want
multiple<00:10:21.600><c> functions</c><00:10:21.899><c> to</c><00:10:22.080><c> be</c><00:10:22.140><c> able</c><00:10:22.260><c> to</c><00:10:22.380><c> modify</c>

00:10:22.670 --> 00:10:22.680 align:start position:0%
multiple functions to be able to modify
 

00:10:22.680 --> 00:10:24.350 align:start position:0%
multiple functions to be able to modify
a<00:10:22.800><c> state</c><00:10:22.980><c> which</c><00:10:23.700><c> is</c><00:10:23.760><c> why</c><00:10:23.940><c> on</c><00:10:24.120><c> the</c><00:10:24.240><c> previous</c>

00:10:24.350 --> 00:10:24.360 align:start position:0%
a state which is why on the previous
 

00:10:24.360 --> 00:10:26.570 align:start position:0%
a state which is why on the previous
slide<00:10:24.779><c> we've</c><00:10:25.500><c> kind</c><00:10:25.620><c> of</c><00:10:25.740><c> collected</c><00:10:26.220><c> all</c>

00:10:26.570 --> 00:10:26.580 align:start position:0%
slide we've kind of collected all
 

00:10:26.580 --> 00:10:27.949 align:start position:0%
slide we've kind of collected all
possible<00:10:26.880><c> functions</c><00:10:27.240><c> of</c><00:10:27.420><c> the</c><00:10:27.480><c> smart</c><00:10:27.600><c> contract</c>

00:10:27.949 --> 00:10:27.959 align:start position:0%
possible functions of the smart contract
 

00:10:27.959 --> 00:10:30.170 align:start position:0%
possible functions of the smart contract
and<00:10:28.140><c> added</c><00:10:28.380><c> them</c><00:10:28.500><c> to</c><00:10:28.620><c> a</c><00:10:28.740><c> contract</c><00:10:28.980><c> tree</c><00:10:29.220><c> and</c><00:10:30.000><c> so</c>

00:10:30.170 --> 00:10:30.180 align:start position:0%
and added them to a contract tree and so
 

00:10:30.180 --> 00:10:33.710 align:start position:0%
and added them to a contract tree and so
instead<00:10:30.660><c> what</c><00:10:31.380><c> we</c><00:10:31.500><c> do</c><00:10:31.680><c> in</c><00:10:32.399><c> our</c><00:10:32.820><c> smart</c><00:10:33.300><c> contract</c>

00:10:33.710 --> 00:10:33.720 align:start position:0%
instead what we do in our smart contract
 

00:10:33.720 --> 00:10:36.470 align:start position:0%
instead what we do in our smart contract
spec<00:10:34.279><c> is</c><00:10:35.279><c> we</c><00:10:35.640><c> include</c><00:10:35.940><c> a</c><00:10:36.060><c> contract</c><00:10:36.360><c> address</c>

00:10:36.470 --> 00:10:36.480 align:start position:0%
spec is we include a contract address
 

00:10:36.480 --> 00:10:38.930 align:start position:0%
spec is we include a contract address
and<00:10:36.839><c> that</c><00:10:37.019><c> represents</c><00:10:37.500><c> just</c><00:10:38.040><c> the</c><00:10:38.399><c> set</c><00:10:38.580><c> of</c><00:10:38.760><c> all</c>

00:10:38.930 --> 00:10:38.940 align:start position:0%
and that represents just the set of all
 

00:10:38.940 --> 00:10:40.790 align:start position:0%
and that represents just the set of all
functions<00:10:39.420><c> which</c><00:10:39.720><c> may</c><00:10:39.899><c> edit</c><00:10:40.260><c> this</c><00:10:40.500><c> particular</c>

00:10:40.790 --> 00:10:40.800 align:start position:0%
functions which may edit this particular
 

00:10:40.800 --> 00:10:41.690 align:start position:0%
functions which may edit this particular
state

00:10:41.690 --> 00:10:41.700 align:start position:0%
state
 

00:10:41.700 --> 00:10:45.170 align:start position:0%
state
and<00:10:42.360><c> again</c><00:10:42.600><c> this</c><00:10:43.380><c> is</c><00:10:43.500><c> how</c><00:10:43.680><c> zexe</c><00:10:44.279><c> proposed</c><00:10:44.820><c> to</c>

00:10:45.170 --> 00:10:45.180 align:start position:0%
and again this is how zexe proposed to
 

00:10:45.180 --> 00:10:46.970 align:start position:0%
and again this is how zexe proposed to
hide<00:10:45.600><c> the</c><00:10:45.839><c> function</c><00:10:46.140><c> being</c><00:10:46.320><c> called</c><00:10:46.560><c> so</c><00:10:46.800><c> that</c>

00:10:46.970 --> 00:10:46.980 align:start position:0%
hide the function being called so that
 

00:10:46.980 --> 00:10:48.889 align:start position:0%
hide the function being called so that
no<00:10:47.100><c> one</c><00:10:47.279><c> knows</c><00:10:47.700><c> really</c><00:10:48.120><c> what's</c><00:10:48.360><c> happening</c><00:10:48.720><c> in</c>

00:10:48.889 --> 00:10:48.899 align:start position:0%
no one knows really what's happening in
 

00:10:48.899 --> 00:10:51.230 align:start position:0%
no one knows really what's happening in
the<00:10:49.019><c> system</c><00:10:49.140><c> you</c><00:10:49.680><c> know</c><00:10:49.800><c> all</c><00:10:49.980><c> observers</c><00:10:50.519><c> see</c><00:10:50.700><c> is</c>

00:10:51.230 --> 00:10:51.240 align:start position:0%
the system you know all observers see is
 

00:10:51.240 --> 00:10:52.610 align:start position:0%
the system you know all observers see is
that<00:10:51.420><c> some</c><00:10:51.600><c> function</c><00:10:51.899><c> got</c><00:10:52.079><c> executed</c>

00:10:52.610 --> 00:10:52.620 align:start position:0%
that some function got executed
 

00:10:52.620 --> 00:10:55.130 align:start position:0%
that some function got executed
According<00:10:52.920><c> to</c><00:10:53.100><c> some</c><00:10:53.220><c> set</c><00:10:53.459><c> of</c><00:10:53.579><c> rules</c><00:10:54.360><c> for</c><00:10:54.959><c> some</c>

00:10:55.130 --> 00:10:55.140 align:start position:0%
According to some set of rules for some
 

00:10:55.140 --> 00:10:57.470 align:start position:0%
According to some set of rules for some
smart<00:10:55.440><c> contract</c><00:10:55.920><c> you</c><00:10:56.880><c> take</c><00:10:57.060><c> the</c><00:10:57.180><c> private</c>

00:10:57.470 --> 00:10:57.480 align:start position:0%
smart contract you take the private
 

00:10:57.480 --> 00:10:59.750 align:start position:0%
smart contract you take the private
circuit<00:10:57.839><c> and</c><00:10:58.140><c> generate</c><00:10:58.680><c> a</c><00:10:58.800><c> proof</c>

00:10:59.750 --> 00:10:59.760 align:start position:0%
circuit and generate a proof
 

00:10:59.760 --> 00:11:02.269 align:start position:0%
circuit and generate a proof
and<00:11:00.480><c> if</c><00:11:00.839><c> we</c><00:11:00.959><c> stop</c><00:11:01.140><c> there</c><00:11:01.440><c> the</c><00:11:01.800><c> world</c><00:11:01.860><c> would</c><00:11:02.100><c> see</c>

00:11:02.269 --> 00:11:02.279 align:start position:0%
and if we stop there the world would see
 

00:11:02.279 --> 00:11:04.610 align:start position:0%
and if we stop there the world would see
which<00:11:02.519><c> function</c><00:11:02.880><c> got</c><00:11:03.120><c> executed</c><00:11:03.660><c> so</c><00:11:04.140><c> we</c><00:11:04.320><c> passed</c>

00:11:04.610 --> 00:11:04.620 align:start position:0%
which function got executed so we passed
 

00:11:04.620 --> 00:11:06.650 align:start position:0%
which function got executed so we passed
the<00:11:04.680><c> proof</c><00:11:04.860><c> into</c><00:11:05.040><c> this</c><00:11:05.279><c> kernel</c><00:11:05.700><c> circuit</c>

00:11:06.650 --> 00:11:06.660 align:start position:0%
the proof into this kernel circuit
 

00:11:06.660 --> 00:11:09.350 align:start position:0%
the proof into this kernel circuit
and<00:11:07.200><c> the</c><00:11:07.440><c> kernel</c><00:11:07.740><c> circuit</c><00:11:08.160><c> verifies</c><00:11:08.760><c> the</c>

00:11:09.350 --> 00:11:09.360 align:start position:0%
and the kernel circuit verifies the
 

00:11:09.360 --> 00:11:12.170 align:start position:0%
and the kernel circuit verifies the
earlier<00:11:09.600><c> proof</c><00:11:10.019><c> and</c><00:11:10.800><c> kind</c><00:11:10.980><c> of</c><00:11:11.100><c> masks</c><00:11:11.579><c> from</c><00:11:12.000><c> the</c>

00:11:12.170 --> 00:11:12.180 align:start position:0%
earlier proof and kind of masks from the
 

00:11:12.180 --> 00:11:14.090 align:start position:0%
earlier proof and kind of masks from the
world<00:11:12.240><c> which</c><00:11:12.480><c> function</c><00:11:12.779><c> got</c><00:11:13.019><c> executed</c><00:11:13.560><c> which</c>

00:11:14.090 --> 00:11:14.100 align:start position:0%
world which function got executed which
 

00:11:14.100 --> 00:11:16.250 align:start position:0%
world which function got executed which
is<00:11:14.220><c> really</c><00:11:14.399><c> cool</c><00:11:14.640><c> and</c><00:11:15.420><c> we</c><00:11:15.540><c> take</c><00:11:15.720><c> this</c><00:11:15.899><c> and</c><00:11:16.079><c> we</c>

00:11:16.250 --> 00:11:16.260 align:start position:0%
is really cool and we take this and we
 

00:11:16.260 --> 00:11:17.810 align:start position:0%
is really cool and we take this and we
take<00:11:16.380><c> it</c><00:11:16.500><c> a</c><00:11:16.620><c> step</c><00:11:16.740><c> further</c><00:11:17.100><c> which</c><00:11:17.519><c> I'll</c><00:11:17.700><c> talk</c>

00:11:17.810 --> 00:11:17.820 align:start position:0%
take it a step further which I'll talk
 

00:11:17.820 --> 00:11:19.130 align:start position:0%
take it a step further which I'll talk
about<00:11:18.000><c> in</c><00:11:18.240><c> a</c><00:11:18.360><c> second</c>

00:11:19.130 --> 00:11:19.140 align:start position:0%
about in a second
 

00:11:19.140 --> 00:11:20.930 align:start position:0%
about in a second
I'll<00:11:19.560><c> talk</c><00:11:19.800><c> about</c><00:11:19.860><c> it</c><00:11:20.040><c> here</c>

00:11:20.930 --> 00:11:20.940 align:start position:0%
I'll talk about it here
 

00:11:20.940 --> 00:11:22.550 align:start position:0%
I'll talk about it here
one<00:11:21.480><c> of</c><00:11:21.540><c> the</c><00:11:21.600><c> things</c><00:11:21.720><c> we</c><00:11:21.959><c> said</c><00:11:22.079><c> one</c><00:11:22.320><c> of</c><00:11:22.440><c> our</c>

00:11:22.550 --> 00:11:22.560 align:start position:0%
one of the things we said one of our
 

00:11:22.560 --> 00:11:24.170 align:start position:0%
one of the things we said one of our
aims<00:11:22.860><c> is</c><00:11:22.980><c> the</c><00:11:23.100><c> ability</c><00:11:23.339><c> for</c><00:11:23.640><c> functions</c><00:11:24.060><c> to</c>

00:11:24.170 --> 00:11:24.180 align:start position:0%
aims is the ability for functions to
 

00:11:24.180 --> 00:11:25.850 align:start position:0%
aims is the ability for functions to
make<00:11:24.300><c> calls</c><00:11:24.600><c> to</c><00:11:24.720><c> other</c><00:11:24.839><c> functions</c><00:11:25.260><c> and</c><00:11:25.560><c> so</c><00:11:25.740><c> on</c>

00:11:25.850 --> 00:11:25.860 align:start position:0%
make calls to other functions and so on
 

00:11:25.860 --> 00:11:27.590 align:start position:0%
make calls to other functions and so on
and<00:11:26.040><c> so</c><00:11:26.160><c> on</c><00:11:26.279><c> and</c><00:11:26.399><c> so</c><00:11:26.519><c> on</c><00:11:26.640><c> and</c><00:11:26.760><c> so</c><00:11:26.940><c> on</c>

00:11:27.590 --> 00:11:27.600 align:start position:0%
and so on and so on and so on
 

00:11:27.600 --> 00:11:29.690 align:start position:0%
and so on and so on and so on
so<00:11:27.959><c> how</c><00:11:28.140><c> are</c><00:11:28.260><c> we</c><00:11:28.260><c> going</c><00:11:28.440><c> to</c><00:11:28.500><c> do</c><00:11:28.620><c> that</c><00:11:29.220><c> well</c>

00:11:29.690 --> 00:11:29.700 align:start position:0%
so how are we going to do that well
 

00:11:29.700 --> 00:11:31.490 align:start position:0%
so how are we going to do that well
first<00:11:29.880><c> why</c><00:11:30.120><c> would</c><00:11:30.300><c> we</c><00:11:30.420><c> want</c><00:11:30.600><c> to</c><00:11:30.720><c> do</c><00:11:30.839><c> that</c>

00:11:31.490 --> 00:11:31.500 align:start position:0%
first why would we want to do that
 

00:11:31.500 --> 00:11:33.590 align:start position:0%
first why would we want to do that
here's<00:11:32.100><c> a</c><00:11:32.160><c> really</c><00:11:32.279><c> simple</c><00:11:32.459><c> reason</c><00:11:32.820><c> if</c><00:11:33.540><c> you</c>

00:11:33.590 --> 00:11:33.600 align:start position:0%
here's a really simple reason if you
 

00:11:33.600 --> 00:11:35.810 align:start position:0%
here's a really simple reason if you
consider<00:11:33.899><c> a</c><00:11:34.079><c> decentralized</c><00:11:34.680><c> Exchange</c>

00:11:35.810 --> 00:11:35.820 align:start position:0%
consider a decentralized Exchange
 

00:11:35.820 --> 00:11:38.389 align:start position:0%
consider a decentralized Exchange
just<00:11:36.600><c> on</c><00:11:36.779><c> layer</c><00:11:37.200><c> one</c><00:11:37.320><c> at</c><00:11:37.500><c> the</c><00:11:37.560><c> moment</c><00:11:37.680><c> if</c><00:11:38.100><c> Alice</c>

00:11:38.389 --> 00:11:38.399 align:start position:0%
just on layer one at the moment if Alice
 

00:11:38.399 --> 00:11:40.730 align:start position:0%
just on layer one at the moment if Alice
wants<00:11:38.700><c> to</c><00:11:38.700><c> swap</c><00:11:38.880><c> tokens</c><00:11:39.180><c> A</c><00:11:39.360><c> and</c><00:11:39.540><c> B</c><00:11:40.200><c> she</c><00:11:40.560><c> must</c>

00:11:40.730 --> 00:11:40.740 align:start position:0%
wants to swap tokens A and B she must
 

00:11:40.740 --> 00:11:42.290 align:start position:0%
wants to swap tokens A and B she must
first<00:11:40.920><c> call</c><00:11:41.100><c> The</c><00:11:41.279><c> Exchange</c><00:11:41.579><c> contract</c><00:11:42.000><c> and</c>

00:11:42.290 --> 00:11:42.300 align:start position:0%
first call The Exchange contract and
 

00:11:42.300 --> 00:11:43.850 align:start position:0%
first call The Exchange contract and
then<00:11:42.420><c> the</c><00:11:42.600><c> exchange</c><00:11:42.899><c> contract</c><00:11:43.320><c> has</c><00:11:43.560><c> to</c><00:11:43.740><c> call</c>

00:11:43.850 --> 00:11:43.860 align:start position:0%
then the exchange contract has to call
 

00:11:43.860 --> 00:11:47.210 align:start position:0%
then the exchange contract has to call
the<00:11:44.820><c> erc20</c><00:11:45.420><c> contract</c><00:11:45.959><c> for</c><00:11:46.140><c> token</c><00:11:46.440><c> a</c>

00:11:47.210 --> 00:11:47.220 align:start position:0%
the erc20 contract for token a
 

00:11:47.220 --> 00:11:49.009 align:start position:0%
the erc20 contract for token a
and<00:11:47.519><c> then</c><00:11:47.700><c> she</c><00:11:47.880><c> and</c><00:11:48.180><c> then</c><00:11:48.420><c> the</c><00:11:48.779><c> exchange</c>

00:11:49.009 --> 00:11:49.019 align:start position:0%
and then she and then the exchange
 

00:11:49.019 --> 00:11:50.810 align:start position:0%
and then she and then the exchange
contract<00:11:49.440><c> has</c><00:11:49.620><c> to</c><00:11:49.680><c> call</c><00:11:49.800><c> the</c><00:11:49.920><c> ESC</c><00:11:50.040><c> 20</c><00:11:50.459><c> contract</c>

00:11:50.810 --> 00:11:50.820 align:start position:0%
contract has to call the ESC 20 contract
 

00:11:50.820 --> 00:11:53.870 align:start position:0%
contract has to call the ESC 20 contract
for<00:11:51.000><c> token</c><00:11:51.240><c> B</c><00:11:51.360><c> so</c><00:11:52.140><c> the</c><00:11:52.740><c> most</c><00:11:52.920><c> basic</c><00:11:53.399><c> kind</c><00:11:53.760><c> of</c>

00:11:53.870 --> 00:11:53.880 align:start position:0%
for token B so the most basic kind of
 

00:11:53.880 --> 00:11:55.610 align:start position:0%
for token B so the most basic kind of
applications<00:11:54.360><c> on</c><00:11:54.600><c> ethereum</c><00:11:54.959><c> require</c><00:11:55.140><c> nested</c>

00:11:55.610 --> 00:11:55.620 align:start position:0%
applications on ethereum require nested
 

00:11:55.620 --> 00:11:57.530 align:start position:0%
applications on ethereum require nested
function<00:11:55.920><c> calls</c><00:11:56.279><c> and</c><00:11:56.640><c> we</c><00:11:56.820><c> want</c><00:11:56.940><c> to</c><00:11:57.060><c> mimic</c><00:11:57.360><c> that</c>

00:11:57.530 --> 00:11:57.540 align:start position:0%
function calls and we want to mimic that
 

00:11:57.540 --> 00:11:59.870 align:start position:0%
function calls and we want to mimic that
with<00:11:57.899><c> our</c><00:11:58.140><c> private</c><00:11:58.740><c> programming</c><00:11:59.220><c> uh</c><00:11:59.700><c> smart</c>

00:11:59.870 --> 00:11:59.880 align:start position:0%
with our private programming uh smart
 

00:11:59.880 --> 00:12:02.150 align:start position:0%
with our private programming uh smart
contract<00:12:00.300><c> language</c>

00:12:02.150 --> 00:12:02.160 align:start position:0%
contract language
 

00:12:02.160 --> 00:12:04.550 align:start position:0%
contract language
what<00:12:02.760><c> does</c><00:12:02.940><c> a</c><00:12:03.060><c> function</c><00:12:03.240><c> call</c><00:12:03.420><c> look</c><00:12:03.720><c> like</c><00:12:03.839><c> well</c>

00:12:04.550 --> 00:12:04.560 align:start position:0%
what does a function call look like well
 

00:12:04.560 --> 00:12:07.250 align:start position:0%
what does a function call look like well
in<00:12:04.800><c> ethereum</c><00:12:05.220><c> it's</c><00:12:05.519><c> a</c><00:12:05.760><c> contract</c><00:12:06.180><c> address</c><00:12:06.420><c> some</c>

00:12:07.250 --> 00:12:07.260 align:start position:0%
in ethereum it's a contract address some
 

00:12:07.260 --> 00:12:08.930 align:start position:0%
in ethereum it's a contract address some
identifier<00:12:07.860><c> for</c><00:12:08.100><c> where</c><00:12:08.279><c> people</c><00:12:08.459><c> can</c><00:12:08.579><c> locate</c>

00:12:08.930 --> 00:12:08.940 align:start position:0%
identifier for where people can locate
 

00:12:08.940 --> 00:12:11.690 align:start position:0%
identifier for where people can locate
the<00:12:09.300><c> function</c><00:12:09.600><c> and</c><00:12:10.200><c> a</c><00:12:10.320><c> set</c><00:12:10.440><c> of</c><00:12:10.560><c> arguments</c><00:12:11.040><c> and</c>

00:12:11.690 --> 00:12:11.700 align:start position:0%
the function and a set of arguments and
 

00:12:11.700 --> 00:12:13.250 align:start position:0%
the function and a set of arguments and
so<00:12:11.820><c> similarly</c><00:12:12.240><c> for</c><00:12:12.420><c> Aztec</c><00:12:12.839><c> it</c><00:12:12.959><c> will</c><00:12:13.079><c> be</c><00:12:13.140><c> the</c>

00:12:13.250 --> 00:12:13.260 align:start position:0%
so similarly for Aztec it will be the
 

00:12:13.260 --> 00:12:15.889 align:start position:0%
so similarly for Aztec it will be the
contract<00:12:13.560><c> address</c><00:12:13.740><c> the</c><00:12:14.640><c> VK</c><00:12:14.940><c> index</c><00:12:15.360><c> as</c><00:12:15.600><c> we</c><00:12:15.720><c> saw</c>

00:12:15.889 --> 00:12:15.899 align:start position:0%
contract address the VK index as we saw
 

00:12:15.899 --> 00:12:18.050 align:start position:0%
contract address the VK index as we saw
in<00:12:16.140><c> the</c><00:12:16.320><c> previous</c><00:12:16.560><c> Slide</c><00:12:16.980><c> the</c><00:12:17.339><c> verification</c>

00:12:18.050 --> 00:12:18.060 align:start position:0%
in the previous Slide the verification
 

00:12:18.060 --> 00:12:19.750 align:start position:0%
in the previous Slide the verification
Keys<00:12:18.420><c> all</c><00:12:18.540><c> get</c><00:12:18.660><c> added</c><00:12:18.899><c> to</c><00:12:19.019><c> some</c><00:12:19.140><c> contract</c><00:12:19.500><c> tree</c>

00:12:19.750 --> 00:12:19.760 align:start position:0%
Keys all get added to some contract tree
 

00:12:19.760 --> 00:12:23.329 align:start position:0%
Keys all get added to some contract tree
and<00:12:20.760><c> a</c><00:12:20.940><c> hash</c><00:12:21.240><c> of</c><00:12:21.540><c> the</c><00:12:22.079><c> public</c><00:12:22.200><c> inputs</c><00:12:22.800><c> to</c><00:12:23.160><c> the</c>

00:12:23.329 --> 00:12:23.339 align:start position:0%
and a hash of the public inputs to the
 

00:12:23.339 --> 00:12:25.910 align:start position:0%
and a hash of the public inputs to the
Circuit<00:12:23.760><c> which</c><00:12:24.180><c> represents</c><00:12:24.660><c> a</c><00:12:24.720><c> function</c><00:12:25.019><c> so</c>

00:12:25.910 --> 00:12:25.920 align:start position:0%
Circuit which represents a function so
 

00:12:25.920 --> 00:12:28.190 align:start position:0%
Circuit which represents a function so
let's<00:12:26.100><c> work</c><00:12:26.339><c> through</c><00:12:26.579><c> an</c><00:12:26.820><c> example</c><00:12:27.180><c> and</c><00:12:28.019><c> you</c>

00:12:28.190 --> 00:12:28.200 align:start position:0%
let's work through an example and you
 

00:12:28.200 --> 00:12:29.449 align:start position:0%
let's work through an example and you
don't<00:12:28.260><c> need</c><00:12:28.440><c> to</c><00:12:28.500><c> read</c><00:12:28.620><c> the</c><00:12:28.800><c> code</c><00:12:28.920><c> for</c><00:12:29.100><c> this</c><00:12:29.220><c> or</c>

00:12:29.449 --> 00:12:29.459 align:start position:0%
don't need to read the code for this or
 

00:12:29.459 --> 00:12:31.370 align:start position:0%
don't need to read the code for this or
you<00:12:29.640><c> need</c><00:12:29.820><c> to</c><00:12:29.940><c> really</c><00:12:30.420><c> look</c><00:12:30.600><c> at</c><00:12:30.720><c> is</c><00:12:30.839><c> the</c><00:12:31.079><c> colors</c>

00:12:31.370 --> 00:12:31.380 align:start position:0%
you need to really look at is the colors
 

00:12:31.380 --> 00:12:33.470 align:start position:0%
you need to really look at is the colors
so<00:12:31.980><c> we've</c><00:12:32.100><c> got</c><00:12:32.279><c> to</c><00:12:32.459><c> imagine</c><00:12:32.880><c> someone</c><00:12:33.180><c> calls</c>

00:12:33.470 --> 00:12:33.480 align:start position:0%
so we've got to imagine someone calls
 

00:12:33.480 --> 00:12:35.210 align:start position:0%
so we've got to imagine someone calls
the<00:12:33.600><c> red</c><00:12:33.779><c> function</c><00:12:34.140><c> over</c><00:12:34.440><c> there</c><00:12:34.680><c> function</c><00:12:35.040><c> one</c>

00:12:35.210 --> 00:12:35.220 align:start position:0%
the red function over there function one
 

00:12:35.220 --> 00:12:37.490 align:start position:0%
the red function over there function one
and<00:12:36.120><c> the</c><00:12:36.240><c> red</c><00:12:36.360><c> function</c><00:12:36.720><c> is</c><00:12:36.899><c> making</c><00:12:37.019><c> call</c><00:12:37.320><c> to</c>

00:12:37.490 --> 00:12:37.500 align:start position:0%
and the red function is making call to
 

00:12:37.500 --> 00:12:38.569 align:start position:0%
and the red function is making call to
an<00:12:37.680><c> orange</c><00:12:37.800><c> function</c><00:12:38.160><c> in</c><00:12:38.339><c> a</c><00:12:38.519><c> different</c>

00:12:38.569 --> 00:12:38.579 align:start position:0%
an orange function in a different
 

00:12:38.579 --> 00:12:40.490 align:start position:0%
an orange function in a different
contract<00:12:39.060><c> and</c><00:12:39.839><c> in</c><00:12:40.019><c> turn</c><00:12:40.200><c> that</c><00:12:40.320><c> orange</c>

00:12:40.490 --> 00:12:40.500 align:start position:0%
contract and in turn that orange
 

00:12:40.500 --> 00:12:42.290 align:start position:0%
contract and in turn that orange
function<00:12:40.920><c> is</c><00:12:41.100><c> calling</c><00:12:41.399><c> a</c><00:12:41.519><c> blue</c><00:12:41.640><c> function</c><00:12:42.000><c> in</c><00:12:42.120><c> a</c>

00:12:42.290 --> 00:12:42.300 align:start position:0%
function is calling a blue function in a
 

00:12:42.300 --> 00:12:44.150 align:start position:0%
function is calling a blue function in a
different<00:12:42.360><c> contract</c><00:12:42.899><c> it's</c><00:12:43.560><c> returning</c><00:12:43.980><c> some</c>

00:12:44.150 --> 00:12:44.160 align:start position:0%
different contract it's returning some
 

00:12:44.160 --> 00:12:47.150 align:start position:0%
different contract it's returning some
values<00:12:45.019><c> and</c><00:12:46.019><c> then</c><00:12:46.139><c> it's</c><00:12:46.620><c> calling</c><00:12:46.920><c> a</c><00:12:47.040><c> green</c>

00:12:47.150 --> 00:12:47.160 align:start position:0%
values and then it's calling a green
 

00:12:47.160 --> 00:12:49.550 align:start position:0%
values and then it's calling a green
function<00:12:47.519><c> in</c><00:12:47.700><c> this</c><00:12:47.820><c> green</c><00:12:48.060><c> function</c><00:12:48.480><c> is</c><00:12:49.380><c> a</c>

00:12:49.550 --> 00:12:49.560 align:start position:0%
function in this green function is a
 

00:12:49.560 --> 00:12:51.350 align:start position:0%
function in this green function is a
public<00:12:49.740><c> function</c><00:12:50.100><c> so</c><00:12:50.459><c> what</c><00:12:50.880><c> I'm</c><00:12:51.000><c> going</c><00:12:51.120><c> to</c><00:12:51.240><c> try</c>

00:12:51.350 --> 00:12:51.360 align:start position:0%
public function so what I'm going to try
 

00:12:51.360 --> 00:12:53.569 align:start position:0%
public function so what I'm going to try
and<00:12:51.480><c> demonstrate</c><00:12:51.839><c> is</c><00:12:52.200><c> how</c><00:12:52.620><c> functions</c><00:12:53.459><c> can</c>

00:12:53.569 --> 00:12:53.579 align:start position:0%
and demonstrate is how functions can
 

00:12:53.579 --> 00:12:55.190 align:start position:0%
and demonstrate is how functions can
core<00:12:53.820><c> functions</c><00:12:54.180><c> of</c><00:12:54.300><c> the</c><00:12:54.600><c> smart</c><00:12:54.720><c> contracts</c>

00:12:55.190 --> 00:12:55.200 align:start position:0%
core functions of the smart contracts
 

00:12:55.200 --> 00:12:57.829 align:start position:0%
core functions of the smart contracts
and<00:12:55.380><c> can</c><00:12:55.620><c> also</c><00:12:55.980><c> you</c><00:12:56.579><c> can</c><00:12:56.700><c> have</c><00:12:56.820><c> functions</c><00:12:57.420><c> from</c>

00:12:57.829 --> 00:12:57.839 align:start position:0%
and can also you can have functions from
 

00:12:57.839 --> 00:13:01.610 align:start position:0%
and can also you can have functions from
private<00:12:58.500><c> world</c><00:12:58.980><c> to</c><00:12:59.220><c> the</c><00:12:59.459><c> public</c><00:12:59.579><c> World</c><00:12:59.880><c> well</c>

00:13:01.610 --> 00:13:01.620 align:start position:0%
private world to the public World well
 

00:13:01.620 --> 00:13:03.590 align:start position:0%
private world to the public World well
what<00:13:02.160><c> we</c><00:13:02.339><c> first</c><00:13:02.519><c> have</c><00:13:02.700><c> to</c><00:13:02.880><c> do</c>

00:13:03.590 --> 00:13:03.600 align:start position:0%
what we first have to do
 

00:13:03.600 --> 00:13:06.949 align:start position:0%
what we first have to do
is<00:13:04.380><c> each</c><00:13:05.160><c> of</c><00:13:05.279><c> those</c><00:13:05.519><c> individual</c><00:13:06.180><c> functions</c><00:13:06.600><c> is</c>

00:13:06.949 --> 00:13:06.959 align:start position:0%
is each of those individual functions is
 

00:13:06.959 --> 00:13:08.629 align:start position:0%
is each of those individual functions is
an<00:13:07.079><c> individual</c><00:13:07.440><c> circuit</c>

00:13:08.629 --> 00:13:08.639 align:start position:0%
an individual circuit
 

00:13:08.639 --> 00:13:10.670 align:start position:0%
an individual circuit
and<00:13:09.120><c> so</c><00:13:09.300><c> you</c><00:13:09.480><c> would</c><00:13:09.540><c> have</c><00:13:09.720><c> to</c><00:13:09.839><c> generate</c><00:13:10.260><c> six</c>

00:13:10.670 --> 00:13:10.680 align:start position:0%
and so you would have to generate six
 

00:13:10.680 --> 00:13:12.949 align:start position:0%
and so you would have to generate six
distinct<00:13:11.160><c> proofs</c><00:13:11.700><c> one</c><00:13:12.360><c> for</c><00:13:12.480><c> each</c><00:13:12.720><c> function</c>

00:13:12.949 --> 00:13:12.959 align:start position:0%
distinct proofs one for each function
 

00:13:12.959 --> 00:13:14.569 align:start position:0%
distinct proofs one for each function
that<00:13:13.200><c> you</c><00:13:13.320><c> want</c><00:13:13.440><c> to</c><00:13:13.560><c> prove</c><00:13:13.860><c> you</c><00:13:13.920><c> have</c><00:13:14.100><c> executed</c>

00:13:14.569 --> 00:13:14.579 align:start position:0%
that you want to prove you have executed
 

00:13:14.579 --> 00:13:16.250 align:start position:0%
that you want to prove you have executed
correctly

00:13:16.250 --> 00:13:16.260 align:start position:0%
correctly
 

00:13:16.260 --> 00:13:17.990 align:start position:0%
correctly
but<00:13:16.620><c> then</c><00:13:16.740><c> the</c><00:13:16.920><c> question</c><00:13:17.100><c> is</c><00:13:17.339><c> how</c><00:13:17.519><c> do</c><00:13:17.639><c> we</c><00:13:17.760><c> prove</c>

00:13:17.990 --> 00:13:18.000 align:start position:0%
but then the question is how do we prove
 

00:13:18.000 --> 00:13:19.850 align:start position:0%
but then the question is how do we prove
that<00:13:18.120><c> they</c><00:13:18.300><c> relate</c><00:13:18.540><c> to</c><00:13:18.720><c> each</c><00:13:18.899><c> other</c><00:13:19.019><c> in</c><00:13:19.620><c> a</c><00:13:19.800><c> way</c>

00:13:19.850 --> 00:13:19.860 align:start position:0%
that they relate to each other in a way
 

00:13:19.860 --> 00:13:22.009 align:start position:0%
that they relate to each other in a way
that<00:13:20.160><c> the</c><00:13:20.279><c> code</c><00:13:20.399><c> wants</c><00:13:20.760><c> us</c><00:13:20.880><c> them</c><00:13:21.060><c> to</c><00:13:21.240><c> relate</c><00:13:21.540><c> so</c>

00:13:22.009 --> 00:13:22.019 align:start position:0%
that the code wants us them to relate so
 

00:13:22.019 --> 00:13:23.690 align:start position:0%
that the code wants us them to relate so
how<00:13:22.139><c> do</c><00:13:22.260><c> we</c><00:13:22.380><c> prove</c><00:13:22.620><c> that</c><00:13:22.680><c> they</c><00:13:22.920><c> were</c><00:13:23.040><c> executed</c>

00:13:23.690 --> 00:13:23.700 align:start position:0%
how do we prove that they were executed
 

00:13:23.700 --> 00:13:25.190 align:start position:0%
how do we prove that they were executed
in<00:13:23.880><c> order</c><00:13:24.060><c> and</c><00:13:24.300><c> the</c><00:13:24.480><c> parameters</c><00:13:24.839><c> that</c><00:13:25.019><c> were</c>

00:13:25.190 --> 00:13:25.200 align:start position:0%
in order and the parameters that were
 

00:13:25.200 --> 00:13:27.170 align:start position:0%
in order and the parameters that were
sent<00:13:25.380><c> to</c><00:13:25.620><c> functions</c><00:13:26.339><c> and</c><00:13:26.459><c> the</c><00:13:26.579><c> return</c><00:13:26.700><c> values</c>

00:13:27.170 --> 00:13:27.180 align:start position:0%
sent to functions and the return values
 

00:13:27.180 --> 00:13:30.110 align:start position:0%
sent to functions and the return values
all<00:13:27.420><c> intertwined</c><00:13:28.019><c> correctly</c>

00:13:30.110 --> 00:13:30.120 align:start position:0%
all intertwined correctly
 

00:13:30.120 --> 00:13:33.050 align:start position:0%
all intertwined correctly
well<00:13:30.660><c> we</c><00:13:30.839><c> we</c><00:13:31.079><c> use</c><00:13:31.260><c> call</c><00:13:31.500><c> Stacks</c>

00:13:33.050 --> 00:13:33.060 align:start position:0%
well we we use call Stacks
 

00:13:33.060 --> 00:13:36.170 align:start position:0%
well we we use call Stacks
so<00:13:33.600><c> say</c><00:13:33.839><c> we</c><00:13:34.079><c> want</c><00:13:34.200><c> to</c><00:13:34.380><c> execute</c><00:13:34.860><c> function</c><00:13:35.519><c> one</c>

00:13:36.170 --> 00:13:36.180 align:start position:0%
so say we want to execute function one
 

00:13:36.180 --> 00:13:37.550 align:start position:0%
so say we want to execute function one
first

00:13:37.550 --> 00:13:37.560 align:start position:0%
first
 

00:13:37.560 --> 00:13:40.370 align:start position:0%
first
well<00:13:38.220><c> the</c><00:13:39.000><c> public</c><00:13:39.180><c> inputs</c><00:13:39.720><c> to</c><00:13:39.839><c> every</c><00:13:40.079><c> single</c>

00:13:40.370 --> 00:13:40.380 align:start position:0%
well the public inputs to every single
 

00:13:40.380 --> 00:13:42.410 align:start position:0%
well the public inputs to every single
function<00:13:40.740><c> on</c><00:13:41.279><c> our</c><00:13:41.399><c> smart</c><00:13:41.639><c> contract</c><00:13:42.000><c> platform</c>

00:13:42.410 --> 00:13:42.420 align:start position:0%
function on our smart contract platform
 

00:13:42.420 --> 00:13:44.569 align:start position:0%
function on our smart contract platform
will<00:13:42.959><c> have</c><00:13:43.139><c> to</c><00:13:43.260><c> adhere</c><00:13:43.560><c> to</c><00:13:43.740><c> a</c><00:13:44.040><c> very</c><00:13:44.160><c> rigid</c>

00:13:44.569 --> 00:13:44.579 align:start position:0%
will have to adhere to a very rigid
 

00:13:44.579 --> 00:13:47.030 align:start position:0%
will have to adhere to a very rigid
static<00:13:45.000><c> Avi</c><00:13:45.540><c> and</c><00:13:46.139><c> one</c><00:13:46.380><c> of</c><00:13:46.440><c> the</c><00:13:46.560><c> fields</c><00:13:46.800><c> in</c><00:13:46.920><c> that</c>

00:13:47.030 --> 00:13:47.040 align:start position:0%
static Avi and one of the fields in that
 

00:13:47.040 --> 00:13:48.590 align:start position:0%
static Avi and one of the fields in that
ABI<00:13:47.399><c> will</c><00:13:47.639><c> be</c>

00:13:48.590 --> 00:13:48.600 align:start position:0%
ABI will be
 

00:13:48.600 --> 00:13:50.030 align:start position:0%
ABI will be
call<00:13:48.899><c> Stacks</c>

00:13:50.030 --> 00:13:50.040 align:start position:0%
call Stacks
 

00:13:50.040 --> 00:13:51.889 align:start position:0%
call Stacks
so<00:13:50.459><c> because</c><00:13:50.700><c> function</c><00:13:51.120><c> one</c><00:13:51.300><c> makes</c><00:13:51.540><c> a</c><00:13:51.660><c> call</c><00:13:51.779><c> to</c>

00:13:51.889 --> 00:13:51.899 align:start position:0%
so because function one makes a call to
 

00:13:51.899 --> 00:13:54.110 align:start position:0%
so because function one makes a call to
the<00:13:52.019><c> orange</c><00:13:52.200><c> and</c><00:13:52.440><c> yellow</c><00:13:52.560><c> functions</c><00:13:53.120><c> this</c>

00:13:54.110 --> 00:13:54.120 align:start position:0%
the orange and yellow functions this
 

00:13:54.120 --> 00:13:55.670 align:start position:0%
the orange and yellow functions this
circuit<00:13:54.480><c> will</c><00:13:54.660><c> expose</c><00:13:55.019><c> through</c><00:13:55.260><c> its</c><00:13:55.500><c> private</c>

00:13:55.670 --> 00:13:55.680 align:start position:0%
circuit will expose through its private
 

00:13:55.680 --> 00:13:56.810 align:start position:0%
circuit will expose through its private
inputs

00:13:56.810 --> 00:13:56.820 align:start position:0%
inputs
 

00:13:56.820 --> 00:13:58.850 align:start position:0%
inputs
the<00:13:57.300><c> call</c><00:13:57.480><c> arguments</c><00:13:58.200><c> and</c><00:13:58.560><c> the</c><00:13:58.680><c> function</c>

00:13:58.850 --> 00:13:58.860 align:start position:0%
the call arguments and the function
 

00:13:58.860 --> 00:14:00.769 align:start position:0%
the call arguments and the function
signatures<00:13:59.399><c> of</c><00:13:59.820><c> the</c><00:14:00.180><c> orange</c><00:14:00.300><c> and</c><00:14:00.540><c> the</c><00:14:00.660><c> yellow</c>

00:14:00.769 --> 00:14:00.779 align:start position:0%
signatures of the orange and the yellow
 

00:14:00.779 --> 00:14:03.050 align:start position:0%
signatures of the orange and the yellow
functions

00:14:03.050 --> 00:14:03.060 align:start position:0%
functions
 

00:14:03.060 --> 00:14:05.030 align:start position:0%
functions
and<00:14:03.720><c> similarly</c><00:14:04.139><c> the</c><00:14:04.320><c> orange</c><00:14:04.440><c> function</c><00:14:04.860><c> is</c>

00:14:05.030 --> 00:14:05.040 align:start position:0%
and similarly the orange function is
 

00:14:05.040 --> 00:14:07.550 align:start position:0%
and similarly the orange function is
making<00:14:05.220><c> a</c><00:14:05.459><c> call</c><00:14:05.579><c> to</c><00:14:06.000><c> the</c><00:14:06.180><c> green</c><00:14:06.300><c> function</c><00:14:06.720><c> so</c>

00:14:07.550 --> 00:14:07.560 align:start position:0%
making a call to the green function so
 

00:14:07.560 --> 00:14:10.250 align:start position:0%
making a call to the green function so
oh<00:14:07.980><c> and</c><00:14:08.160><c> the</c><00:14:08.279><c> blue</c><00:14:08.399><c> function</c><00:14:08.760><c> so</c><00:14:09.540><c> it</c><00:14:09.839><c> will</c><00:14:10.019><c> also</c>

00:14:10.250 --> 00:14:10.260 align:start position:0%
oh and the blue function so it will also
 

00:14:10.260 --> 00:14:13.370 align:start position:0%
oh and the blue function so it will also
expose<00:14:10.820><c> calls</c><00:14:11.820><c> to</c><00:14:12.420><c> the</c><00:14:12.720><c> blue</c><00:14:12.839><c> function</c><00:14:13.139><c> of</c><00:14:13.260><c> the</c>

00:14:13.370 --> 00:14:13.380 align:start position:0%
expose calls to the blue function of the
 

00:14:13.380 --> 00:14:15.650 align:start position:0%
expose calls to the blue function of the
green<00:14:13.500><c> function</c><00:14:13.800><c> in</c><00:14:13.980><c> its</c><00:14:14.220><c> public</c><00:14:14.339><c> inputs</c><00:14:15.240><c> and</c>

00:14:15.650 --> 00:14:15.660 align:start position:0%
green function in its public inputs and
 

00:14:15.660 --> 00:14:17.389 align:start position:0%
green function in its public inputs and
notice<00:14:15.959><c> the</c><00:14:16.139><c> green</c><00:14:16.320><c> function</c><00:14:16.680><c> is</c><00:14:16.920><c> labeled</c><00:14:17.220><c> as</c>

00:14:17.389 --> 00:14:17.399 align:start position:0%
notice the green function is labeled as
 

00:14:17.399 --> 00:14:18.230 align:start position:0%
notice the green function is labeled as
public

00:14:18.230 --> 00:14:18.240 align:start position:0%
public
 

00:14:18.240 --> 00:14:20.569 align:start position:0%
public
and<00:14:18.779><c> so</c><00:14:18.959><c> because</c><00:14:19.380><c> public</c><00:14:19.920><c> functions</c><00:14:20.399><c> get</c>

00:14:20.569 --> 00:14:20.579 align:start position:0%
and so because public functions get
 

00:14:20.579 --> 00:14:23.090 align:start position:0%
and so because public functions get
executed<00:14:21.060><c> by</c><00:14:21.240><c> the</c><00:14:21.360><c> sequencer</c><00:14:21.839><c> and</c><00:14:22.740><c> private</c>

00:14:23.090 --> 00:14:23.100 align:start position:0%
executed by the sequencer and private
 

00:14:23.100 --> 00:14:24.949 align:start position:0%
executed by the sequencer and private
functions<00:14:23.459><c> get</c><00:14:23.639><c> executed</c><00:14:24.060><c> by</c><00:14:24.240><c> the</c><00:14:24.360><c> user</c><00:14:24.660><c> they</c>

00:14:24.949 --> 00:14:24.959 align:start position:0%
functions get executed by the user they
 

00:14:24.959 --> 00:14:28.009 align:start position:0%
functions get executed by the user they
have<00:14:25.079><c> to</c><00:14:25.200><c> be</c><00:14:25.260><c> separated</c><00:14:25.620><c> in</c><00:14:25.860><c> this</c><00:14:26.040><c> way</c><00:14:26.639><c> and</c><00:14:27.540><c> on</c>

00:14:28.009 --> 00:14:28.019 align:start position:0%
have to be separated in this way and on
 

00:14:28.019 --> 00:14:30.110 align:start position:0%
have to be separated in this way and on
we<00:14:28.260><c> go</c><00:14:28.440><c> the</c><00:14:29.220><c> green</c><00:14:29.339><c> function</c><00:14:29.700><c> is</c><00:14:29.820><c> making</c><00:14:30.000><c> a</c>

00:14:30.110 --> 00:14:30.120 align:start position:0%
we go the green function is making a
 

00:14:30.120 --> 00:14:31.430 align:start position:0%
we go the green function is making a
call<00:14:30.300><c> to</c><00:14:30.420><c> the</c><00:14:30.540><c> purple</c><00:14:30.660><c> function</c><00:14:31.019><c> so</c><00:14:31.200><c> we</c><00:14:31.320><c> add</c>

00:14:31.430 --> 00:14:31.440 align:start position:0%
call to the purple function so we add
 

00:14:31.440 --> 00:14:33.829 align:start position:0%
call to the purple function so we add
that<00:14:31.620><c> to</c><00:14:32.040><c> the</c><00:14:32.160><c> call</c><00:14:32.279><c> stack</c><00:14:33.060><c> and</c><00:14:33.480><c> here's</c><00:14:33.720><c> the</c>

00:14:33.829 --> 00:14:33.839 align:start position:0%
that to the call stack and here's the
 

00:14:33.839 --> 00:14:36.170 align:start position:0%
that to the call stack and here's the
really<00:14:34.019><c> meaty</c><00:14:34.560><c> cool</c><00:14:34.740><c> bit</c><00:14:34.980><c> and</c><00:14:35.700><c> that's</c><00:14:35.820><c> kind</c><00:14:36.060><c> of</c>

00:14:36.170 --> 00:14:36.180 align:start position:0%
really meaty cool bit and that's kind of
 

00:14:36.180 --> 00:14:38.990 align:start position:0%
really meaty cool bit and that's kind of
extending<00:14:36.660><c> the</c><00:14:37.079><c> the</c><00:14:37.800><c> sexy</c><00:14:38.339><c> example</c><00:14:38.700><c> we</c><00:14:38.820><c> saw</c>

00:14:38.990 --> 00:14:39.000 align:start position:0%
extending the the sexy example we saw
 

00:14:39.000 --> 00:14:40.970 align:start position:0%
extending the the sexy example we saw
before<00:14:39.240><c> where</c><00:14:39.779><c> if</c><00:14:40.139><c> you</c><00:14:40.260><c> pass</c><00:14:40.380><c> a</c><00:14:40.560><c> function</c><00:14:40.800><c> into</c>

00:14:40.970 --> 00:14:40.980 align:start position:0%
before where if you pass a function into
 

00:14:40.980 --> 00:14:42.590 align:start position:0%
before where if you pass a function into
a<00:14:41.220><c> kernel</c><00:14:41.459><c> circuit</c><00:14:41.760><c> it</c><00:14:41.940><c> hides</c><00:14:42.240><c> which</c><00:14:42.360><c> function</c>

00:14:42.590 --> 00:14:42.600 align:start position:0%
a kernel circuit it hides which function
 

00:14:42.600 --> 00:14:45.050 align:start position:0%
a kernel circuit it hides which function
function<00:14:43.199><c> has</c><00:14:43.380><c> been</c><00:14:43.500><c> executed</c><00:14:43.980><c> we</c><00:14:44.699><c> add</c><00:14:44.880><c> some</c>

00:14:45.050 --> 00:14:45.060 align:start position:0%
function has been executed we add some
 

00:14:45.060 --> 00:14:48.250 align:start position:0%
function has been executed we add some
extra<00:14:45.560><c> logic</c><00:14:46.560><c> to</c><00:14:46.800><c> our</c><00:14:46.980><c> kernel</c><00:14:47.339><c> circuit</c>

00:14:48.250 --> 00:14:48.260 align:start position:0%
extra logic to our kernel circuit
 

00:14:48.260 --> 00:14:50.629 align:start position:0%
extra logic to our kernel circuit
to<00:14:49.260><c> allow</c><00:14:49.680><c> these</c><00:14:49.920><c> call</c><00:14:50.040><c> Stacks</c><00:14:50.459><c> to</c><00:14:50.519><c> be</c>

00:14:50.629 --> 00:14:50.639 align:start position:0%
to allow these call Stacks to be
 

00:14:50.639 --> 00:14:52.490 align:start position:0%
to allow these call Stacks to be
interpreted<00:14:51.060><c> and</c><00:14:51.300><c> to</c><00:14:51.480><c> check</c><00:14:51.720><c> that</c><00:14:52.380><c> the</c>

00:14:52.490 --> 00:14:52.500 align:start position:0%
interpreted and to check that the
 

00:14:52.500 --> 00:14:53.750 align:start position:0%
interpreted and to check that the
parameters<00:14:52.860><c> being</c><00:14:53.100><c> passed</c><00:14:53.399><c> between</c><00:14:53.459><c> all</c>

00:14:53.750 --> 00:14:53.760 align:start position:0%
parameters being passed between all
 

00:14:53.760 --> 00:14:55.790 align:start position:0%
parameters being passed between all
these<00:14:53.940><c> functions</c><00:14:54.360><c> make</c><00:14:55.139><c> sense</c><00:14:55.380><c> and</c><00:14:55.620><c> are</c>

00:14:55.790 --> 00:14:55.800 align:start position:0%
these functions make sense and are
 

00:14:55.800 --> 00:14:57.110 align:start position:0%
these functions make sense and are
according<00:14:56.040><c> to</c><00:14:56.160><c> the</c><00:14:56.339><c> rules</c><00:14:56.579><c> of</c><00:14:56.820><c> the</c><00:14:57.000><c> smart</c>

00:14:57.110 --> 00:14:57.120 align:start position:0%
according to the rules of the smart
 

00:14:57.120 --> 00:14:59.210 align:start position:0%
according to the rules of the smart
contract<00:14:57.480><c> that</c><00:14:57.660><c> somebody</c><00:14:57.839><c> wrote</c><00:14:58.199><c> or</c><00:14:58.980><c> smart</c>

00:14:59.210 --> 00:14:59.220 align:start position:0%
contract that somebody wrote or smart
 

00:14:59.220 --> 00:15:02.990 align:start position:0%
contract that somebody wrote or smart
contracts<00:14:59.880><c> floral</c><00:15:00.779><c> that</c><00:15:00.959><c> some</c><00:15:01.079><c> people</c><00:15:01.320><c> wrote</c>

00:15:02.990 --> 00:15:03.000 align:start position:0%
contracts floral that some people wrote
 

00:15:03.000 --> 00:15:05.689 align:start position:0%
contracts floral that some people wrote
so<00:15:03.600><c> we</c><00:15:03.959><c> begin</c><00:15:04.199><c> with</c><00:15:04.440><c> Function</c><00:15:04.740><c> One</c>

00:15:05.689 --> 00:15:05.699 align:start position:0%
so we begin with Function One
 

00:15:05.699 --> 00:15:07.250 align:start position:0%
so we begin with Function One
we<00:15:06.120><c> pass</c><00:15:06.240><c> it</c><00:15:06.420><c> into</c><00:15:06.540><c> the</c><00:15:06.720><c> private</c><00:15:06.959><c> kernel</c>

00:15:07.250 --> 00:15:07.260 align:start position:0%
we pass it into the private kernel
 

00:15:07.260 --> 00:15:08.350 align:start position:0%
we pass it into the private kernel
circuit

00:15:08.350 --> 00:15:08.360 align:start position:0%
circuit
 

00:15:08.360 --> 00:15:11.569 align:start position:0%
circuit
and<00:15:09.360><c> the</c><00:15:09.779><c> private</c><00:15:10.019><c> kernel</c><00:15:10.380><c> circuit</c><00:15:10.740><c> will</c><00:15:11.220><c> read</c>

00:15:11.569 --> 00:15:11.579 align:start position:0%
and the private kernel circuit will read
 

00:15:11.579 --> 00:15:13.730 align:start position:0%
and the private kernel circuit will read
the<00:15:11.880><c> public</c><00:15:12.000><c> inputs</c><00:15:12.480><c> of</c><00:15:12.540><c> function</c><00:15:12.779><c> one</c><00:15:13.019><c> and</c>

00:15:13.730 --> 00:15:13.740 align:start position:0%
the public inputs of function one and
 

00:15:13.740 --> 00:15:16.250 align:start position:0%
the public inputs of function one and
push<00:15:13.920><c> onto</c><00:15:14.279><c> its</c><00:15:14.519><c> own</c><00:15:14.579><c> call</c><00:15:14.820><c> stack</c><00:15:15.660><c> the</c><00:15:16.139><c> two</c>

00:15:16.250 --> 00:15:16.260 align:start position:0%
push onto its own call stack the two
 

00:15:16.260 --> 00:15:19.670 align:start position:0%
push onto its own call stack the two
items<00:15:16.560><c> that</c><00:15:16.680><c> function</c><00:15:16.920><c> one</c><00:15:17.100><c> makes</c><00:15:17.279><c> a</c><00:15:17.459><c> call</c><00:15:17.579><c> to</c>

00:15:19.670 --> 00:15:19.680 align:start position:0%
items that function one makes a call to
 

00:15:19.680 --> 00:15:22.970 align:start position:0%
items that function one makes a call to
um<00:15:19.940><c> and</c><00:15:20.940><c> then</c><00:15:21.600><c> we</c><00:15:22.019><c> will</c><00:15:22.199><c> carry</c><00:15:22.560><c> on</c><00:15:22.680><c> with</c><00:15:22.860><c> our</c>

00:15:22.970 --> 00:15:22.980 align:start position:0%
um and then we will carry on with our
 

00:15:22.980 --> 00:15:25.370 align:start position:0%
um and then we will carry on with our
recursion<00:15:23.480><c> uh</c><00:15:24.480><c> the</c><00:15:24.600><c> private</c><00:15:24.839><c> kernel</c><00:15:25.139><c> circuit</c>

00:15:25.370 --> 00:15:25.380 align:start position:0%
recursion uh the private kernel circuit
 

00:15:25.380 --> 00:15:27.710 align:start position:0%
recursion uh the private kernel circuit
will<00:15:25.500><c> spit</c><00:15:25.680><c> out</c><00:15:25.800><c> of</c><00:15:25.980><c> proof</c><00:15:26.279><c> and</c><00:15:26.820><c> we</c><00:15:27.000><c> will</c><00:15:27.240><c> pop</c>

00:15:27.710 --> 00:15:27.720 align:start position:0%
will spit out of proof and we will pop
 

00:15:27.720 --> 00:15:31.129 align:start position:0%
will spit out of proof and we will pop
the<00:15:28.440><c> next</c><00:15:28.620><c> call</c><00:15:29.220><c> from</c><00:15:29.820><c> the</c><00:15:29.940><c> call</c><00:15:30.060><c> stack</c><00:15:30.480><c> and</c>

00:15:31.129 --> 00:15:31.139 align:start position:0%
the next call from the call stack and
 

00:15:31.139 --> 00:15:33.470 align:start position:0%
the next call from the call stack and
we'll<00:15:31.199><c> pass</c><00:15:31.440><c> it</c><00:15:31.620><c> in</c><00:15:31.860><c> to</c><00:15:32.639><c> another</c><00:15:32.820><c> iteration</c><00:15:33.240><c> of</c>

00:15:33.470 --> 00:15:33.480 align:start position:0%
we'll pass it in to another iteration of
 

00:15:33.480 --> 00:15:35.449 align:start position:0%
we'll pass it in to another iteration of
the<00:15:33.600><c> private</c><00:15:33.839><c> kernel</c><00:15:34.139><c> circuit</c><00:15:34.560><c> so</c><00:15:35.160><c> each</c><00:15:35.339><c> of</c>

00:15:35.449 --> 00:15:35.459 align:start position:0%
the private kernel circuit so each of
 

00:15:35.459 --> 00:15:39.110 align:start position:0%
the private kernel circuit so each of
these<00:15:35.639><c> arrows</c><00:15:36.060><c> is</c><00:15:36.600><c> a</c><00:15:36.720><c> proof</c><00:15:37.560><c> and</c><00:15:38.279><c> within</c><00:15:38.880><c> the</c>

00:15:39.110 --> 00:15:39.120 align:start position:0%
these arrows is a proof and within the
 

00:15:39.120 --> 00:15:40.850 align:start position:0%
these arrows is a proof and within the
private<00:15:39.420><c> kernel</c><00:15:39.720><c> circuit</c><00:15:40.079><c> two</c><00:15:40.320><c> proofs</c><00:15:40.680><c> are</c>

00:15:40.850 --> 00:15:40.860 align:start position:0%
private kernel circuit two proofs are
 

00:15:40.860 --> 00:15:43.250 align:start position:0%
private kernel circuit two proofs are
being<00:15:40.980><c> verified</c><00:15:41.339><c> each</c><00:15:41.639><c> time</c>

00:15:43.250 --> 00:15:43.260 align:start position:0%
being verified each time
 

00:15:43.260 --> 00:15:46.310 align:start position:0%
being verified each time
and<00:15:43.440><c> so</c><00:15:44.220><c> we</c><00:15:44.820><c> can</c><00:15:44.940><c> see</c><00:15:45.120><c> the</c><00:15:45.540><c> cool</c><00:15:45.779><c> stackers</c>

00:15:46.310 --> 00:15:46.320 align:start position:0%
and so we can see the cool stackers
 

00:15:46.320 --> 00:15:49.069 align:start position:0%
and so we can see the cool stackers
shrunk<00:15:46.560><c> a</c><00:15:46.740><c> bit</c><00:15:46.860><c> and</c><00:15:47.579><c> then</c><00:15:47.699><c> we</c><00:15:47.940><c> pop</c><00:15:48.300><c> call</c><00:15:48.839><c> number</c>

00:15:49.069 --> 00:15:49.079 align:start position:0%
shrunk a bit and then we pop call number
 

00:15:49.079 --> 00:15:52.370 align:start position:0%
shrunk a bit and then we pop call number
two<00:15:49.380><c> uh</c><00:15:49.860><c> the</c><00:15:50.459><c> orange</c><00:15:50.579><c> call</c><00:15:50.940><c> off</c><00:15:51.660><c> it</c>

00:15:52.370 --> 00:15:52.380 align:start position:0%
two uh the orange call off it
 

00:15:52.380 --> 00:15:53.930 align:start position:0%
two uh the orange call off it
and<00:15:52.800><c> pass</c><00:15:52.980><c> that</c><00:15:53.100><c> into</c><00:15:53.279><c> the</c><00:15:53.399><c> private</c><00:15:53.639><c> kernel</c>

00:15:53.930 --> 00:15:53.940 align:start position:0%
and pass that into the private kernel
 

00:15:53.940 --> 00:15:56.329 align:start position:0%
and pass that into the private kernel
circuit<00:15:54.360><c> and</c><00:15:55.139><c> we</c><00:15:55.260><c> do</c><00:15:55.380><c> recurse</c><00:15:55.860><c> until</c><00:15:56.040><c> the</c><00:15:56.279><c> call</c>

00:15:56.329 --> 00:15:56.339 align:start position:0%
circuit and we do recurse until the call
 

00:15:56.339 --> 00:15:57.710 align:start position:0%
circuit and we do recurse until the call
Stacks<00:15:56.760><c> are</c><00:15:56.820><c> empty</c><00:15:57.060><c> and</c><00:15:57.240><c> then</c><00:15:57.360><c> we</c><00:15:57.480><c> know</c><00:15:57.600><c> we're</c>

00:15:57.710 --> 00:15:57.720 align:start position:0%
Stacks are empty and then we know we're
 

00:15:57.720 --> 00:16:00.350 align:start position:0%
Stacks are empty and then we know we're
done<00:15:57.959><c> except</c><00:15:58.920><c> the</c><00:15:59.160><c> orange</c><00:15:59.339><c> function</c><00:16:00.120><c> is</c>

00:16:00.350 --> 00:16:00.360 align:start position:0%
done except the orange function is
 

00:16:00.360 --> 00:16:02.689 align:start position:0%
done except the orange function is
making<00:16:00.600><c> calls</c><00:16:01.260><c> to</c><00:16:01.380><c> another</c><00:16:01.500><c> two</c><00:16:01.800><c> so</c><00:16:02.459><c> we'll</c>

00:16:02.689 --> 00:16:02.699 align:start position:0%
making calls to another two so we'll
 

00:16:02.699 --> 00:16:06.230 align:start position:0%
making calls to another two so we'll
just<00:16:02.880><c> keep</c><00:16:03.000><c> going</c><00:16:03.440><c> until</c><00:16:04.440><c> okay</c><00:16:05.100><c> finally</c><00:16:05.639><c> the</c>

00:16:06.230 --> 00:16:06.240 align:start position:0%
just keep going until okay finally the
 

00:16:06.240 --> 00:16:08.150 align:start position:0%
just keep going until okay finally the
private<00:16:06.480><c> call</c><00:16:06.600><c> stack</c><00:16:06.899><c> is</c><00:16:07.079><c> empty</c><00:16:07.380><c> and</c><00:16:07.740><c> therein</c>

00:16:08.150 --> 00:16:08.160 align:start position:0%
private call stack is empty and therein
 

00:16:08.160 --> 00:16:10.610 align:start position:0%
private call stack is empty and therein
ends<00:16:08.579><c> the</c><00:16:08.880><c> work</c><00:16:09.300><c> that</c><00:16:09.540><c> needs</c><00:16:10.079><c> to</c><00:16:10.139><c> happen</c><00:16:10.260><c> on</c><00:16:10.500><c> a</c>

00:16:10.610 --> 00:16:10.620 align:start position:0%
ends the work that needs to happen on a
 

00:16:10.620 --> 00:16:11.750 align:start position:0%
ends the work that needs to happen on a
user's<00:16:10.980><c> device</c>

00:16:11.750 --> 00:16:11.760 align:start position:0%
user's device
 

00:16:11.760 --> 00:16:13.670 align:start position:0%
user's device
so<00:16:12.180><c> because</c><00:16:12.360><c> the</c><00:16:12.600><c> user</c><00:16:12.899><c> only</c><00:16:13.019><c> executes</c>

00:16:13.670 --> 00:16:13.680 align:start position:0%
so because the user only executes
 

00:16:13.680 --> 00:16:15.889 align:start position:0%
so because the user only executes
private<00:16:14.220><c> functions</c><00:16:14.639><c> public</c><00:16:15.180><c> functions</c><00:16:15.720><c> are</c>

00:16:15.889 --> 00:16:15.899 align:start position:0%
private functions public functions are
 

00:16:15.899 --> 00:16:18.110 align:start position:0%
private functions public functions are
executed<00:16:16.320><c> by</c><00:16:16.440><c> the</c><00:16:16.560><c> roller</c><00:16:16.860><c> provider</c>

00:16:18.110 --> 00:16:18.120 align:start position:0%
executed by the roller provider
 

00:16:18.120 --> 00:16:20.810 align:start position:0%
executed by the roller provider
this<00:16:18.779><c> proof</c><00:16:19.199><c> here</c><00:16:19.380><c> will</c><00:16:20.220><c> be</c><00:16:20.399><c> sent</c><00:16:20.519><c> to</c><00:16:20.699><c> the</c>

00:16:20.810 --> 00:16:20.820 align:start position:0%
this proof here will be sent to the
 

00:16:20.820 --> 00:16:22.910 align:start position:0%
this proof here will be sent to the
roller<00:16:21.060><c> provider</c><00:16:21.540><c> what</c><00:16:22.079><c> will</c><00:16:22.199><c> the</c><00:16:22.380><c> parole</c><00:16:22.740><c> a</c>

00:16:22.910 --> 00:16:22.920 align:start position:0%
roller provider what will the parole a
 

00:16:22.920 --> 00:16:25.310 align:start position:0%
roller provider what will the parole a
provider<00:16:23.220><c> see</c><00:16:23.880><c> well</c><00:16:24.480><c> they'll</c><00:16:24.839><c> just</c><00:16:24.959><c> see</c><00:16:25.139><c> that</c>

00:16:25.310 --> 00:16:25.320 align:start position:0%
provider see well they'll just see that
 

00:16:25.320 --> 00:16:27.230 align:start position:0%
provider see well they'll just see that
somebody<00:16:25.560><c> executed</c><00:16:26.160><c> some</c><00:16:26.519><c> function</c><00:16:26.820><c> of</c><00:16:27.000><c> some</c>

00:16:27.230 --> 00:16:27.240 align:start position:0%
somebody executed some function of some
 

00:16:27.240 --> 00:16:28.790 align:start position:0%
somebody executed some function of some
smart<00:16:27.420><c> contract</c><00:16:27.839><c> and</c><00:16:28.019><c> changed</c><00:16:28.380><c> some</c><00:16:28.560><c> kind</c><00:16:28.680><c> of</c>

00:16:28.790 --> 00:16:28.800 align:start position:0%
smart contract and changed some kind of
 

00:16:28.800 --> 00:16:30.650 align:start position:0%
smart contract and changed some kind of
States<00:16:28.980><c> but</c><00:16:29.699><c> the</c><00:16:29.820><c> role</c><00:16:30.060><c> provider</c><00:16:30.360><c> will</c><00:16:30.480><c> have</c>

00:16:30.650 --> 00:16:30.660 align:start position:0%
States but the role provider will have
 

00:16:30.660 --> 00:16:32.629 align:start position:0%
States but the role provider will have
no<00:16:30.779><c> idea</c><00:16:31.019><c> which</c>

00:16:32.629 --> 00:16:32.639 align:start position:0%
no idea which
 

00:16:32.639 --> 00:16:34.490 align:start position:0%
no idea which
um<00:16:32.699><c> which</c><00:16:32.940><c> is</c><00:16:33.060><c> really</c><00:16:33.300><c> really</c><00:16:33.480><c> cool</c><00:16:33.720><c> what</c><00:16:34.320><c> they</c>

00:16:34.490 --> 00:16:34.500 align:start position:0%
um which is really really cool what they
 

00:16:34.500 --> 00:16:35.689 align:start position:0%
um which is really really cool what they
will<00:16:34.680><c> see</c>

00:16:35.689 --> 00:16:35.699 align:start position:0%
will see
 

00:16:35.699 --> 00:16:37.850 align:start position:0%
will see
if<00:16:36.300><c> the</c><00:16:36.600><c> private</c><00:16:36.839><c> function</c><00:16:37.139><c> is</c><00:16:37.320><c> making</c><00:16:37.500><c> a</c><00:16:37.800><c> call</c>

00:16:37.850 --> 00:16:37.860 align:start position:0%
if the private function is making a call
 

00:16:37.860 --> 00:16:39.889 align:start position:0%
if the private function is making a call
to<00:16:38.040><c> a</c><00:16:38.220><c> public</c><00:16:38.399><c> function</c><00:16:38.759><c> they</c><00:16:39.360><c> will</c><00:16:39.600><c> be</c><00:16:39.779><c> able</c>

00:16:39.889 --> 00:16:39.899 align:start position:0%
to a public function they will be able
 

00:16:39.899 --> 00:16:41.509 align:start position:0%
to a public function they will be able
to<00:16:40.019><c> see</c><00:16:40.199><c> the</c><00:16:40.500><c> public</c><00:16:40.620><c> functions</c><00:16:41.100><c> which</c><00:16:41.339><c> need</c>

00:16:41.509 --> 00:16:41.519 align:start position:0%
to see the public functions which need
 

00:16:41.519 --> 00:16:43.550 align:start position:0%
to see the public functions which need
to<00:16:41.639><c> be</c><00:16:41.759><c> called</c><00:16:41.940><c> there's</c><00:16:42.360><c> no</c><00:16:42.540><c> way</c><00:16:42.660><c> around</c><00:16:42.779><c> that</c>

00:16:43.550 --> 00:16:43.560 align:start position:0%
to be called there's no way around that
 

00:16:43.560 --> 00:16:46.910 align:start position:0%
to be called there's no way around that
so<00:16:44.300><c> seeing</c><00:16:45.300><c> the</c><00:16:45.420><c> call</c><00:16:45.540><c> stack</c><00:16:45.899><c> as</c><00:16:46.079><c> it</c><00:16:46.259><c> is</c><00:16:46.440><c> the</c>

00:16:46.910 --> 00:16:46.920 align:start position:0%
so seeing the call stack as it is the
 

00:16:46.920 --> 00:16:49.970 align:start position:0%
so seeing the call stack as it is the
role<00:16:47.160><c> a</c><00:16:47.279><c> provider</c><00:16:47.639><c> will</c><00:16:47.820><c> take</c><00:16:48.600><c> this</c><00:16:49.560><c> function</c>

00:16:49.970 --> 00:16:49.980 align:start position:0%
role a provider will take this function
 

00:16:49.980 --> 00:16:52.129 align:start position:0%
role a provider will take this function
and<00:16:50.459><c> execute</c><00:16:50.940><c> it</c>

00:16:52.129 --> 00:16:52.139 align:start position:0%
and execute it
 

00:16:52.139 --> 00:16:54.410 align:start position:0%
and execute it
and<00:16:52.620><c> pass</c><00:16:52.740><c> it</c><00:16:52.920><c> into</c><00:16:53.100><c> a</c><00:16:53.399><c> public</c><00:16:53.579><c> kernel</c><00:16:54.060><c> circuit</c>

00:16:54.410 --> 00:16:54.420 align:start position:0%
and pass it into a public kernel circuit
 

00:16:54.420 --> 00:16:56.930 align:start position:0%
and pass it into a public kernel circuit
which<00:16:54.720><c> has</c><00:16:54.959><c> instead</c><00:16:55.740><c> of</c><00:16:55.800><c> hiding</c><00:16:56.220><c> logic</c><00:16:56.579><c> it</c>

00:16:56.930 --> 00:16:56.940 align:start position:0%
which has instead of hiding logic it
 

00:16:56.940 --> 00:16:58.490 align:start position:0%
which has instead of hiding logic it
just<00:16:57.180><c> executes</c><00:16:57.660><c> States</c><00:16:57.839><c> out</c><00:16:58.079><c> in</c><00:16:58.259><c> the</c><00:16:58.380><c> open</c>

00:16:58.490 --> 00:16:58.500 align:start position:0%
just executes States out in the open
 

00:16:58.500 --> 00:17:02.090 align:start position:0%
just executes States out in the open
similar<00:16:59.040><c> to</c><00:16:59.220><c> I</c><00:16:59.820><c> guess</c><00:16:59.940><c> other</c><00:17:00.120><c> ZK</c><00:17:00.540><c> roll-ups</c>

00:17:02.090 --> 00:17:02.100 align:start position:0%
similar to I guess other ZK roll-ups
 

00:17:02.100 --> 00:17:03.889 align:start position:0%
similar to I guess other ZK roll-ups
and<00:17:02.699><c> this</c><00:17:02.880><c> function's</c><00:17:03.180><c> making</c><00:17:03.360><c> a</c><00:17:03.600><c> call</c><00:17:03.720><c> and</c>

00:17:03.889 --> 00:17:03.899 align:start position:0%
and this function's making a call and
 

00:17:03.899 --> 00:17:05.929 align:start position:0%
and this function's making a call and
we're<00:17:04.079><c> almost</c><00:17:04.260><c> done</c><00:17:04.620><c> we</c><00:17:05.220><c> pass</c><00:17:05.400><c> that</c><00:17:05.640><c> into</c><00:17:05.819><c> the</c>

00:17:05.929 --> 00:17:05.939 align:start position:0%
we're almost done we pass that into the
 

00:17:05.939 --> 00:17:07.130 align:start position:0%
we're almost done we pass that into the
kernel<00:17:06.179><c> circuit</c><00:17:06.480><c> and</c><00:17:06.600><c> hooray</c><00:17:06.900><c> the</c><00:17:07.079><c> call</c>

00:17:07.130 --> 00:17:07.140 align:start position:0%
kernel circuit and hooray the call
 

00:17:07.140 --> 00:17:09.350 align:start position:0%
kernel circuit and hooray the call
Stacks<00:17:07.500><c> are</c><00:17:07.559><c> empty</c><00:17:07.860><c> we</c><00:17:08.339><c> finished</c><00:17:08.520><c> executing</c>

00:17:09.350 --> 00:17:09.360 align:start position:0%
Stacks are empty we finished executing
 

00:17:09.360 --> 00:17:12.110 align:start position:0%
Stacks are empty we finished executing
our<00:17:10.140><c> function</c><00:17:10.620><c> trace</c><00:17:10.980><c> or</c><00:17:11.339><c> our</c><00:17:11.520><c> stack</c><00:17:11.760><c> trace</c>

00:17:12.110 --> 00:17:12.120 align:start position:0%
our function trace or our stack trace
 

00:17:12.120 --> 00:17:13.909 align:start position:0%
our function trace or our stack trace
and<00:17:12.660><c> this</c><00:17:12.839><c> can</c><00:17:13.020><c> then</c><00:17:13.079><c> be</c><00:17:13.199><c> sent</c><00:17:13.380><c> to</c><00:17:13.559><c> the</c><00:17:13.620><c> roll-up</c>

00:17:13.909 --> 00:17:13.919 align:start position:0%
and this can then be sent to the roll-up
 

00:17:13.919 --> 00:17:16.429 align:start position:0%
and this can then be sent to the roll-up
circuit<00:17:14.400><c> this</c><00:17:15.059><c> entire</c><00:17:15.419><c> thing</c><00:17:15.720><c> represents</c><00:17:16.319><c> a</c>

00:17:16.429 --> 00:17:16.439 align:start position:0%
circuit this entire thing represents a
 

00:17:16.439 --> 00:17:18.230 align:start position:0%
circuit this entire thing represents a
single<00:17:16.799><c> user</c><00:17:17.160><c> transaction</c><00:17:17.579><c> on</c><00:17:17.939><c> our</c><00:17:18.059><c> smart</c>

00:17:18.230 --> 00:17:18.240 align:start position:0%
single user transaction on our smart
 

00:17:18.240 --> 00:17:20.510 align:start position:0%
single user transaction on our smart
contract<00:17:18.600><c> platform</c><00:17:19.020><c> and</c><00:17:19.799><c> it</c><00:17:19.980><c> can</c><00:17:20.100><c> get</c><00:17:20.220><c> rolled</c>

00:17:20.510 --> 00:17:20.520 align:start position:0%
contract platform and it can get rolled
 

00:17:20.520 --> 00:17:25.069 align:start position:0%
contract platform and it can get rolled
up<00:17:20.579><c> with</c><00:17:20.760><c> all</c><00:17:20.880><c> the</c><00:17:21.000><c> other</c><00:17:21.120><c> transactions</c>

00:17:25.069 --> 00:17:25.079 align:start position:0%
 
 

00:17:25.079 --> 00:17:27.169 align:start position:0%
 
uh<00:17:25.740><c> you</c><00:17:25.919><c> don't</c><00:17:26.040><c> need</c><00:17:26.220><c> to</c><00:17:26.339><c> read</c><00:17:26.459><c> this</c><00:17:26.699><c> all</c><00:17:27.000><c> this</c>

00:17:27.169 --> 00:17:27.179 align:start position:0%
uh you don't need to read this all this
 

00:17:27.179 --> 00:17:31.130 align:start position:0%
uh you don't need to read this all this
is<00:17:27.419><c> saying</c><00:17:27.839><c> is</c><00:17:28.380><c> that</c><00:17:29.000><c> the</c><00:17:30.000><c> in</c><00:17:30.480><c> order</c><00:17:30.660><c> for</c><00:17:30.900><c> the</c>

00:17:31.130 --> 00:17:31.140 align:start position:0%
is saying is that the in order for the
 

00:17:31.140 --> 00:17:32.570 align:start position:0%
is saying is that the in order for the
kernel<00:17:31.559><c> circuit</c>

00:17:32.570 --> 00:17:32.580 align:start position:0%
kernel circuit
 

00:17:32.580 --> 00:17:34.730 align:start position:0%
kernel circuit
yeah<00:17:33.179><c> in</c><00:17:33.600><c> order</c><00:17:33.720><c> for</c><00:17:33.900><c> the</c><00:17:34.020><c> kernel</c><00:17:34.260><c> circuit</c><00:17:34.620><c> to</c>

00:17:34.730 --> 00:17:34.740 align:start position:0%
yeah in order for the kernel circuit to
 

00:17:34.740 --> 00:17:36.289 align:start position:0%
yeah in order for the kernel circuit to
be<00:17:34.860><c> able</c><00:17:34.919><c> to</c><00:17:35.100><c> operate</c><00:17:35.400><c> on</c><00:17:35.760><c> any</c><00:17:35.940><c> kind</c><00:17:36.120><c> of</c>

00:17:36.289 --> 00:17:36.299 align:start position:0%
be able to operate on any kind of
 

00:17:36.299 --> 00:17:39.230 align:start position:0%
be able to operate on any kind of
function<00:17:36.600><c> we</c><00:17:37.559><c> need</c><00:17:37.740><c> one</c><00:17:38.400><c> giant</c><00:17:38.820><c> static</c>

00:17:39.230 --> 00:17:39.240 align:start position:0%
function we need one giant static
 

00:17:39.240 --> 00:17:42.230 align:start position:0%
function we need one giant static
interface<00:17:39.740><c> which</c><00:17:40.740><c> it</c><00:17:41.100><c> accommodates</c><00:17:41.640><c> as</c><00:17:42.000><c> many</c>

00:17:42.230 --> 00:17:42.240 align:start position:0%
interface which it accommodates as many
 

00:17:42.240 --> 00:17:44.510 align:start position:0%
interface which it accommodates as many
possible<00:17:42.960><c> function</c><00:17:43.500><c> permutations</c><00:17:44.220><c> as</c>

00:17:44.510 --> 00:17:44.520 align:start position:0%
possible function permutations as
 

00:17:44.520 --> 00:17:45.470 align:start position:0%
possible function permutations as
possible

00:17:45.470 --> 00:17:45.480 align:start position:0%
possible
 

00:17:45.480 --> 00:17:46.970 align:start position:0%
possible
and<00:17:45.900><c> that's</c><00:17:46.020><c> what</c><00:17:46.200><c> these</c><00:17:46.380><c> interfaces</c><00:17:46.799><c> are</c>

00:17:46.970 --> 00:17:46.980 align:start position:0%
and that's what these interfaces are
 

00:17:46.980 --> 00:17:48.890 align:start position:0%
and that's what these interfaces are
there's<00:17:47.220><c> one</c><00:17:47.580><c> for</c><00:17:47.820><c> private</c><00:17:48.179><c> circuits</c><00:17:48.660><c> and</c><00:17:48.780><c> you</c>

00:17:48.890 --> 00:17:48.900 align:start position:0%
there's one for private circuits and you
 

00:17:48.900 --> 00:17:49.789 align:start position:0%
there's one for private circuits and you
can<00:17:49.020><c> see</c>

00:17:49.789 --> 00:17:49.799 align:start position:0%
can see
 

00:17:49.799 --> 00:17:52.310 align:start position:0%
can see
there's<00:17:50.160><c> a</c><00:17:50.280><c> lot</c><00:17:50.340><c> of</c><00:17:50.460><c> arrays</c><00:17:51.000><c> to</c><00:17:51.720><c> allow</c><00:17:51.960><c> for</c>

00:17:52.310 --> 00:17:52.320 align:start position:0%
there's a lot of arrays to allow for
 

00:17:52.320 --> 00:17:54.770 align:start position:0%
there's a lot of arrays to allow for
various<00:17:53.100><c> sizes</c><00:17:53.640><c> and</c><00:17:53.880><c> various</c><00:17:54.179><c> permutations</c>

00:17:54.770 --> 00:17:54.780 align:start position:0%
various sizes and various permutations
 

00:17:54.780 --> 00:17:57.230 align:start position:0%
various sizes and various permutations
of<00:17:55.200><c> stuff</c><00:17:55.559><c> that</c><00:17:56.160><c> an</c><00:17:56.280><c> app</c><00:17:56.400><c> might</c><00:17:56.640><c> wish</c><00:17:56.820><c> to</c><00:17:56.940><c> do</c><00:17:57.059><c> or</c>

00:17:57.230 --> 00:17:57.240 align:start position:0%
of stuff that an app might wish to do or
 

00:17:57.240 --> 00:17:58.549 align:start position:0%
of stuff that an app might wish to do or
a<00:17:57.360><c> function</c><00:17:57.539><c> of</c><00:17:57.720><c> an</c><00:17:57.840><c> app</c><00:17:57.900><c> might</c><00:17:58.080><c> wish</c><00:17:58.320><c> to</c><00:17:58.440><c> do</c>

00:17:58.549 --> 00:17:58.559 align:start position:0%
a function of an app might wish to do
 

00:17:58.559 --> 00:18:01.730 align:start position:0%
a function of an app might wish to do
and<00:17:58.919><c> we've</c><00:17:59.039><c> got</c><00:17:59.160><c> one</c><00:17:59.340><c> for</c><00:17:59.460><c> public</c><00:17:59.700><c> circuits</c>

00:18:01.730 --> 00:18:01.740 align:start position:0%
and we've got one for public circuits
 

00:18:01.740 --> 00:18:04.610 align:start position:0%
and we've got one for public circuits
similarly<00:18:02.660><c> the</c><00:18:03.660><c> private</c><00:18:04.020><c> inputs</c><00:18:04.380><c> and</c><00:18:04.500><c> public</c>

00:18:04.610 --> 00:18:04.620 align:start position:0%
similarly the private inputs and public
 

00:18:04.620 --> 00:18:06.770 align:start position:0%
similarly the private inputs and public
inputs<00:18:05.100><c> to</c><00:18:05.220><c> the</c><00:18:05.400><c> kernel</c><00:18:05.880><c> circuit</c><00:18:06.299><c> there's</c>

00:18:06.770 --> 00:18:06.780 align:start position:0%
inputs to the kernel circuit there's
 

00:18:06.780 --> 00:18:07.970 align:start position:0%
inputs to the kernel circuit there's
loads<00:18:07.140><c> of</c><00:18:07.200><c> them</c><00:18:07.320><c> and</c><00:18:07.620><c> there's</c><00:18:07.740><c> a</c><00:18:07.919><c> lot</c>

00:18:07.970 --> 00:18:07.980 align:start position:0%
loads of them and there's a lot
 

00:18:07.980 --> 00:18:10.490 align:start position:0%
loads of them and there's a lot
happening<00:18:08.480><c> there</c><00:18:09.480><c> is</c><00:18:09.660><c> so</c><00:18:09.900><c> much</c><00:18:09.960><c> computation</c>

00:18:10.490 --> 00:18:10.500 align:start position:0%
happening there is so much computation
 

00:18:10.500 --> 00:18:12.650 align:start position:0%
happening there is so much computation
happening<00:18:10.799><c> in</c><00:18:10.980><c> these</c><00:18:11.100><c> kernel</c><00:18:11.460><c> circuits</c><00:18:11.880><c> that</c>

00:18:12.650 --> 00:18:12.660 align:start position:0%
happening in these kernel circuits that
 

00:18:12.660 --> 00:18:14.930 align:start position:0%
happening in these kernel circuits that
we've<00:18:12.900><c> been</c><00:18:13.020><c> working</c><00:18:13.200><c> on</c><00:18:13.500><c> a</c><00:18:13.799><c> better</c><00:18:14.520><c> proof</c>

00:18:14.930 --> 00:18:14.940 align:start position:0%
we've been working on a better proof
 

00:18:14.940 --> 00:18:16.310 align:start position:0%
we've been working on a better proof
system<00:18:15.120><c> more</c><00:18:15.419><c> efficient</c><00:18:15.720><c> proof</c><00:18:16.020><c> system</c><00:18:16.140><c> for</c>

00:18:16.310 --> 00:18:16.320 align:start position:0%
system more efficient proof system for
 

00:18:16.320 --> 00:18:18.710 align:start position:0%
system more efficient proof system for
ZK<00:18:16.620><c> snarks</c><00:18:17.220><c> and</c><00:18:17.700><c> it's</c><00:18:17.820><c> actually</c><00:18:18.000><c> similar</c><00:18:18.480><c> to</c>

00:18:18.710 --> 00:18:18.720 align:start position:0%
ZK snarks and it's actually similar to
 

00:18:18.720 --> 00:18:20.570 align:start position:0%
ZK snarks and it's actually similar to
hyperplunk<00:18:19.559><c> which</c><00:18:19.740><c> espresso</c><00:18:20.220><c> systems</c><00:18:20.460><c> have</c>

00:18:20.570 --> 00:18:20.580 align:start position:0%
hyperplunk which espresso systems have
 

00:18:20.580 --> 00:18:21.890 align:start position:0%
hyperplunk which espresso systems have
been<00:18:20.760><c> working</c><00:18:20.880><c> on</c>

00:18:21.890 --> 00:18:21.900 align:start position:0%
been working on
 

00:18:21.900 --> 00:18:24.409 align:start position:0%
been working on
um<00:18:21.960><c> it's</c><00:18:22.500><c> really</c><00:18:22.740><c> cool</c><00:18:22.980><c> idea</c><00:18:23.460><c> and</c><00:18:24.240><c> I</c><00:18:24.299><c> guess</c>

00:18:24.409 --> 00:18:24.419 align:start position:0%
um it's really cool idea and I guess
 

00:18:24.419 --> 00:18:25.789 align:start position:0%
um it's really cool idea and I guess
there'll<00:18:24.720><c> be</c><00:18:24.840><c> more</c><00:18:24.900><c> on</c><00:18:25.080><c> that</c><00:18:25.200><c> at</c><00:18:25.500><c> some</c><00:18:25.620><c> point</c>

00:18:25.789 --> 00:18:25.799 align:start position:0%
there'll be more on that at some point
 

00:18:25.799 --> 00:18:26.870 align:start position:0%
there'll be more on that at some point
in<00:18:26.100><c> the</c><00:18:26.220><c> future</c>

00:18:26.870 --> 00:18:26.880 align:start position:0%
in the future
 

00:18:26.880 --> 00:18:28.789 align:start position:0%
in the future
so<00:18:27.299><c> we</c><00:18:27.419><c> have</c><00:18:27.539><c> this</c><00:18:27.720><c> transaction</c><00:18:28.140><c> and</c><00:18:28.620><c> I</c>

00:18:28.789 --> 00:18:28.799 align:start position:0%
so we have this transaction and I
 

00:18:28.799 --> 00:18:30.470 align:start position:0%
so we have this transaction and I
mentioned<00:18:29.160><c> when</c><00:18:29.700><c> we</c><00:18:29.820><c> get</c><00:18:29.940><c> to</c><00:18:30.000><c> this</c><00:18:30.179><c> stage</c><00:18:30.299><c> it</c>

00:18:30.470 --> 00:18:30.480 align:start position:0%
mentioned when we get to this stage it
 

00:18:30.480 --> 00:18:32.330 align:start position:0%
mentioned when we get to this stage it
gets<00:18:30.660><c> sent</c><00:18:30.780><c> to</c><00:18:30.960><c> the</c><00:18:31.080><c> roll-up</c><00:18:31.380><c> what</c><00:18:32.100><c> does</c><00:18:32.220><c> the</c>

00:18:32.330 --> 00:18:32.340 align:start position:0%
gets sent to the roll-up what does the
 

00:18:32.340 --> 00:18:34.850 align:start position:0%
gets sent to the roll-up what does the
roll-up<00:18:32.580><c> topology</c><00:18:33.000><c> look</c><00:18:33.240><c> like</c><00:18:33.360><c> well</c><00:18:34.200><c> first</c><00:18:34.440><c> I</c>

00:18:34.850 --> 00:18:34.860 align:start position:0%
roll-up topology look like well first I
 

00:18:34.860 --> 00:18:36.710 align:start position:0%
roll-up topology look like well first I
want<00:18:34.919><c> to</c><00:18:35.039><c> point</c><00:18:35.160><c> out</c><00:18:35.340><c> that</c><00:18:35.760><c> that</c><00:18:36.299><c> example</c>

00:18:36.710 --> 00:18:36.720 align:start position:0%
want to point out that that example
 

00:18:36.720 --> 00:18:39.230 align:start position:0%
want to point out that that example
transaction<00:18:37.140><c> was</c><00:18:37.500><c> doing</c><00:18:37.940><c> some</c><00:18:38.940><c> private</c>

00:18:39.230 --> 00:18:39.240 align:start position:0%
transaction was doing some private
 

00:18:39.240 --> 00:18:40.850 align:start position:0%
transaction was doing some private
computation<00:18:39.600><c> for</c><00:18:39.840><c> the</c><00:18:39.960><c> user</c><00:18:40.200><c> and</c><00:18:40.440><c> some</c><00:18:40.559><c> public</c>

00:18:40.850 --> 00:18:40.860 align:start position:0%
computation for the user and some public
 

00:18:40.860 --> 00:18:42.409 align:start position:0%
computation for the user and some public
computation

00:18:42.409 --> 00:18:42.419 align:start position:0%
computation
 

00:18:42.419 --> 00:18:44.450 align:start position:0%
computation
but<00:18:42.900><c> it</c><00:18:43.200><c> doesn't</c><00:18:43.380><c> need</c><00:18:43.559><c> to</c><00:18:43.679><c> be</c><00:18:43.740><c> that</c><00:18:43.919><c> way</c><00:18:44.100><c> it</c>

00:18:44.450 --> 00:18:44.460 align:start position:0%
but it doesn't need to be that way it
 

00:18:44.460 --> 00:18:46.370 align:start position:0%
but it doesn't need to be that way it
can<00:18:44.580><c> just</c><00:18:44.760><c> be</c><00:18:45.000><c> this</c><00:18:45.600><c> transaction</c><00:18:45.960><c> is</c><00:18:46.200><c> just</c>

00:18:46.370 --> 00:18:46.380 align:start position:0%
can just be this transaction is just
 

00:18:46.380 --> 00:18:48.110 align:start position:0%
can just be this transaction is just
public<00:18:46.620><c> computation</c>

00:18:48.110 --> 00:18:48.120 align:start position:0%
public computation
 

00:18:48.120 --> 00:18:50.810 align:start position:0%
public computation
um similar<00:18:48.480><c> to</c><00:18:48.660><c> other</c><00:18:48.840><c> ZK</c><00:18:49.320><c> Roll-Ups</c><00:18:49.980><c> or</c><00:18:50.700><c> it</c>

00:18:50.810 --> 00:18:50.820 align:start position:0%
um similar to other ZK Roll-Ups or it
 

00:18:50.820 --> 00:18:52.130 align:start position:0%
um similar to other ZK Roll-Ups or it
can<00:18:50.940><c> be</c><00:18:51.059><c> completely</c><00:18:51.419><c> private</c><00:18:51.780><c> computation</c>

00:18:52.130 --> 00:18:52.140 align:start position:0%
can be completely private computation
 

00:18:52.140 --> 00:18:54.770 align:start position:0%
can be completely private computation
you<00:18:52.440><c> can</c><00:18:52.559><c> think</c><00:18:52.820><c> Z</c><00:18:53.820><c> cash</c><00:18:54.000><c> transactions</c><00:18:54.660><c> are</c>

00:18:54.770 --> 00:18:54.780 align:start position:0%
you can think Z cash transactions are
 

00:18:54.780 --> 00:18:56.450 align:start position:0%
you can think Z cash transactions are
completely<00:18:55.020><c> private</c><00:18:55.440><c> so</c><00:18:55.919><c> you</c><00:18:56.100><c> could</c><00:18:56.160><c> deploy</c>

00:18:56.450 --> 00:18:56.460 align:start position:0%
completely private so you could deploy
 

00:18:56.460 --> 00:18:58.070 align:start position:0%
completely private so you could deploy
an<00:18:56.640><c> app</c><00:18:56.820><c> which</c><00:18:57.240><c> does</c><00:18:57.480><c> zcash</c><00:18:57.900><c> like</c>

00:18:58.070 --> 00:18:58.080 align:start position:0%
an app which does zcash like
 

00:18:58.080 --> 00:18:59.750 align:start position:0%
an app which does zcash like
transactions<00:18:58.799><c> on</c><00:18:59.100><c> this</c><00:18:59.220><c> smart</c><00:18:59.400><c> contract</c>

00:18:59.750 --> 00:18:59.760 align:start position:0%
transactions on this smart contract
 

00:18:59.760 --> 00:19:01.610 align:start position:0%
transactions on this smart contract
platform<00:19:00.179><c> and</c>

00:19:01.610 --> 00:19:01.620 align:start position:0%
platform and
 

00:19:01.620 --> 00:19:03.650 align:start position:0%
platform and
I<00:19:02.100><c> won't</c><00:19:02.220><c> go</c><00:19:02.400><c> into</c><00:19:02.520><c> it</c><00:19:02.760><c> today</c><00:19:02.940><c> but</c><00:19:03.240><c> there's</c>

00:19:03.650 --> 00:19:03.660 align:start position:0%
I won't go into it today but there's
 

00:19:03.660 --> 00:19:06.529 align:start position:0%
I won't go into it today but there's
also<00:19:04.200><c> the</c><00:19:04.380><c> ability</c><00:19:04.620><c> to</c><00:19:04.980><c> deploy</c><00:19:05.400><c> contracts</c><00:19:06.360><c> and</c>

00:19:06.529 --> 00:19:06.539 align:start position:0%
also the ability to deploy contracts and
 

00:19:06.539 --> 00:19:09.950 align:start position:0%
also the ability to deploy contracts and
you<00:19:06.660><c> can</c><00:19:06.780><c> even</c><00:19:06.900><c> have</c><00:19:07.200><c> similar</c><00:19:07.860><c> to</c><00:19:08.039><c> ethereum</c>

00:19:09.950 --> 00:19:09.960 align:start position:0%
you can even have similar to ethereum
 

00:19:09.960 --> 00:19:12.409 align:start position:0%
you can even have similar to ethereum
uh<00:19:10.620><c> functions</c><00:19:11.100><c> deploying</c><00:19:11.640><c> contracts</c><00:19:12.059><c> for</c><00:19:12.240><c> you</c>

00:19:12.409 --> 00:19:12.419 align:start position:0%
uh functions deploying contracts for you
 

00:19:12.419 --> 00:19:15.169 align:start position:0%
uh functions deploying contracts for you
from<00:19:12.840><c> a</c><00:19:12.960><c> smart</c><00:19:13.140><c> contract</c><00:19:13.559><c> Okay</c><00:19:14.460><c> so</c><00:19:14.880><c> we've</c><00:19:15.059><c> got</c>

00:19:15.169 --> 00:19:15.179 align:start position:0%
from a smart contract Okay so we've got
 

00:19:15.179 --> 00:19:17.330 align:start position:0%
from a smart contract Okay so we've got
these<00:19:15.360><c> transactions</c><00:19:15.960><c> and</c><00:19:16.500><c> they</c><00:19:16.620><c> get</c><00:19:16.860><c> sent</c><00:19:17.039><c> to</c>

00:19:17.330 --> 00:19:17.340 align:start position:0%
these transactions and they get sent to
 

00:19:17.340 --> 00:19:19.970 align:start position:0%
these transactions and they get sent to
the<00:19:17.520><c> sequencer</c><00:19:18.419><c> or</c><00:19:18.600><c> roll-up</c><00:19:18.960><c> provider</c>

00:19:19.970 --> 00:19:19.980 align:start position:0%
the sequencer or roll-up provider
 

00:19:19.980 --> 00:19:22.909 align:start position:0%
the sequencer or roll-up provider
and<00:19:20.760><c> this</c><00:19:21.480><c> sequencer</c><00:19:22.080><c> is</c><00:19:22.320><c> going</c><00:19:22.500><c> to</c><00:19:22.620><c> compress</c>

00:19:22.909 --> 00:19:22.919 align:start position:0%
and this sequencer is going to compress
 

00:19:22.919 --> 00:19:24.590 align:start position:0%
and this sequencer is going to compress
compress<00:19:23.400><c> compress</c><00:19:23.760><c> compress</c><00:19:24.179><c> until</c><00:19:24.360><c> they're</c>

00:19:24.590 --> 00:19:24.600 align:start position:0%
compress compress compress until they're
 

00:19:24.600 --> 00:19:26.150 align:start position:0%
compress compress compress until they're
we're<00:19:24.840><c> left</c><00:19:24.960><c> with</c><00:19:25.140><c> one</c><00:19:25.260><c> proof</c>

00:19:26.150 --> 00:19:26.160 align:start position:0%
we're left with one proof
 

00:19:26.160 --> 00:19:29.210 align:start position:0%
we're left with one proof
and<00:19:26.760><c> the</c><00:19:26.940><c> way</c><00:19:27.059><c> you</c><00:19:27.179><c> do</c><00:19:27.360><c> that</c><00:19:27.539><c> is</c><00:19:27.960><c> by</c><00:19:28.320><c> verifying</c>

00:19:29.210 --> 00:19:29.220 align:start position:0%
and the way you do that is by verifying
 

00:19:29.220 --> 00:19:31.190 align:start position:0%
and the way you do that is by verifying
proofs<00:19:29.520><c> within</c><00:19:29.820><c> circuits</c><00:19:30.360><c> so</c><00:19:30.840><c> this</c><00:19:31.020><c> base</c>

00:19:31.190 --> 00:19:31.200 align:start position:0%
proofs within circuits so this base
 

00:19:31.200 --> 00:19:33.409 align:start position:0%
proofs within circuits so this base
roll-up<00:19:31.620><c> circuit</c><00:19:31.980><c> verifies</c><00:19:32.340><c> two</c><00:19:32.580><c> proofs</c><00:19:33.000><c> and</c>

00:19:33.409 --> 00:19:33.419 align:start position:0%
roll-up circuit verifies two proofs and
 

00:19:33.419 --> 00:19:35.690 align:start position:0%
roll-up circuit verifies two proofs and
this<00:19:33.600><c> one</c><00:19:33.720><c> verifies</c><00:19:34.140><c> two</c><00:19:34.320><c> proofs</c><00:19:34.679><c> and</c><00:19:35.400><c> then</c><00:19:35.580><c> we</c>

00:19:35.690 --> 00:19:35.700 align:start position:0%
this one verifies two proofs and then we
 

00:19:35.700 --> 00:19:37.070 align:start position:0%
this one verifies two proofs and then we
go<00:19:35.820><c> to</c><00:19:35.880><c> the</c><00:19:36.059><c> next</c><00:19:36.179><c> level</c>

00:19:37.070 --> 00:19:37.080 align:start position:0%
go to the next level
 

00:19:37.080 --> 00:19:39.470 align:start position:0%
go to the next level
and<00:19:37.559><c> we</c><00:19:37.679><c> verify</c><00:19:38.039><c> two</c><00:19:38.220><c> more</c><00:19:38.400><c> proofs</c>

00:19:39.470 --> 00:19:39.480 align:start position:0%
and we verify two more proofs
 

00:19:39.480 --> 00:19:41.810 align:start position:0%
and we verify two more proofs
and<00:19:39.960><c> then</c><00:19:40.020><c> we</c><00:19:40.200><c> end</c><00:19:40.320><c> up</c><00:19:40.440><c> with</c><00:19:40.620><c> one</c><00:19:40.799><c> proof</c>

00:19:41.810 --> 00:19:41.820 align:start position:0%
and then we end up with one proof
 

00:19:41.820 --> 00:19:43.789 align:start position:0%
and then we end up with one proof
and<00:19:42.360><c> because</c><00:19:42.539><c> the</c><00:19:42.720><c> proof</c><00:19:42.960><c> system</c><00:19:43.140><c> we</c><00:19:43.380><c> use</c><00:19:43.500><c> here</c>

00:19:43.789 --> 00:19:43.799 align:start position:0%
and because the proof system we use here
 

00:19:43.799 --> 00:19:45.950 align:start position:0%
and because the proof system we use here
ends<00:19:44.580><c> up</c><00:19:44.640><c> being</c><00:19:44.760><c> quite</c><00:19:44.940><c> expensive</c><00:19:45.419><c> to</c><00:19:45.600><c> verify</c>

00:19:45.950 --> 00:19:45.960 align:start position:0%
ends up being quite expensive to verify
 

00:19:45.960 --> 00:19:48.650 align:start position:0%
ends up being quite expensive to verify
and<00:19:46.140><c> ethereum</c><00:19:47.100><c> we'll</c><00:19:47.700><c> squish</c><00:19:48.000><c> it</c><00:19:48.179><c> down</c><00:19:48.299><c> to</c><00:19:48.539><c> a</c>

00:19:48.650 --> 00:19:48.660 align:start position:0%
and ethereum we'll squish it down to a
 

00:19:48.660 --> 00:19:51.590 align:start position:0%
and ethereum we'll squish it down to a
cheaper<00:19:49.020><c> proof</c><00:19:49.380><c> like</c><00:19:49.559><c> plonkore</c><00:19:50.280><c> gross16</c><00:19:50.820><c> and</c>

00:19:51.590 --> 00:19:51.600 align:start position:0%
cheaper proof like plonkore gross16 and
 

00:19:51.600 --> 00:19:53.510 align:start position:0%
cheaper proof like plonkore gross16 and
then<00:19:51.720><c> send</c><00:19:51.900><c> it</c><00:19:52.080><c> to</c><00:19:52.260><c> the</c><00:19:52.320><c> smart</c><00:19:52.500><c> contract</c>

00:19:53.510 --> 00:19:53.520 align:start position:0%
then send it to the smart contract
 

00:19:53.520 --> 00:19:54.710 align:start position:0%
then send it to the smart contract
right

00:19:54.710 --> 00:19:54.720 align:start position:0%
right
 

00:19:54.720 --> 00:19:56.270 align:start position:0%
right
and<00:19:55.080><c> then</c><00:19:55.140><c> within</c><00:19:55.440><c> the</c><00:19:55.559><c> smart</c><00:19:55.679><c> contract</c><00:19:56.039><c> this</c>

00:19:56.270 --> 00:19:56.280 align:start position:0%
and then within the smart contract this
 

00:19:56.280 --> 00:19:59.150 align:start position:0%
and then within the smart contract this
proof<00:19:56.520><c> will</c><00:19:56.640><c> be</c><00:19:56.820><c> verified</c><00:19:57.500><c> and</c><00:19:58.500><c> the</c><00:19:58.980><c> state</c>

00:19:59.150 --> 00:19:59.160 align:start position:0%
proof will be verified and the state
 

00:19:59.160 --> 00:20:00.590 align:start position:0%
proof will be verified and the state
trees<00:19:59.520><c> of</c><00:19:59.700><c> all</c><00:19:59.820><c> the</c><00:19:59.940><c> various</c><00:20:00.120><c> trees</c><00:20:00.419><c> we're</c>

00:20:00.590 --> 00:20:00.600 align:start position:0%
trees of all the various trees we're
 

00:20:00.600 --> 00:20:02.570 align:start position:0%
trees of all the various trees we're
managing<00:20:01.020><c> will</c><00:20:01.559><c> be</c><00:20:01.679><c> will</c><00:20:01.919><c> be</c><00:20:02.100><c> updated</c><00:20:02.340><c> or</c>

00:20:02.570 --> 00:20:02.580 align:start position:0%
managing will be will be updated or
 

00:20:02.580 --> 00:20:03.770 align:start position:0%
managing will be will be updated or
rather<00:20:02.760><c> the</c><00:20:02.940><c> roots</c><00:20:03.179><c> of</c><00:20:03.240><c> the</c><00:20:03.360><c> trees</c><00:20:03.539><c> will</c><00:20:03.660><c> be</c>

00:20:03.770 --> 00:20:03.780 align:start position:0%
rather the roots of the trees will be
 

00:20:03.780 --> 00:20:06.289 align:start position:0%
rather the roots of the trees will be
updated<00:20:04.080><c> okay</c><00:20:04.980><c> and</c><00:20:05.400><c> I</c><00:20:05.700><c> think</c><00:20:05.820><c> this</c><00:20:06.000><c> is</c><00:20:06.059><c> the</c>

00:20:06.289 --> 00:20:06.299 align:start position:0%
updated okay and I think this is the
 

00:20:06.299 --> 00:20:08.690 align:start position:0%
updated okay and I think this is the
final<00:20:06.419><c> slide</c><00:20:06.960><c> so</c>

00:20:08.690 --> 00:20:08.700 align:start position:0%
final slide so
 

00:20:08.700 --> 00:20:10.789 align:start position:0%
final slide so
what<00:20:09.240><c> I</c><00:20:09.419><c> want</c><00:20:09.480><c> to</c><00:20:09.600><c> point</c><00:20:09.720><c> out</c><00:20:09.900><c> here</c><00:20:10.260><c> is</c><00:20:10.559><c> that</c>

00:20:10.789 --> 00:20:10.799 align:start position:0%
what I want to point out here is that
 

00:20:10.799 --> 00:20:12.950 align:start position:0%
what I want to point out here is that
there's<00:20:10.980><c> always</c><00:20:11.160><c> this</c><00:20:11.460><c> Arrow</c><00:20:11.820><c> of</c><00:20:11.940><c> time</c><00:20:12.240><c> with</c>

00:20:12.950 --> 00:20:12.960 align:start position:0%
there's always this Arrow of time with
 

00:20:12.960 --> 00:20:15.950 align:start position:0%
there's always this Arrow of time with
these<00:20:13.200><c> transactions</c><00:20:13.740><c> so</c><00:20:14.640><c> you</c><00:20:15.240><c> begin</c><00:20:15.419><c> with</c><00:20:15.720><c> a</c>

00:20:15.950 --> 00:20:15.960 align:start position:0%
these transactions so you begin with a
 

00:20:15.960 --> 00:20:17.810 align:start position:0%
these transactions so you begin with a
private<00:20:16.260><c> function</c><00:20:16.740><c> executions</c><00:20:17.280><c> or</c><00:20:17.520><c> proving</c>

00:20:17.810 --> 00:20:17.820 align:start position:0%
private function executions or proving
 

00:20:17.820 --> 00:20:19.850 align:start position:0%
private function executions or proving
you've<00:20:18.059><c> executed</c><00:20:18.480><c> private</c><00:20:18.840><c> functions</c><00:20:19.200><c> always</c>

00:20:19.850 --> 00:20:19.860 align:start position:0%
you've executed private functions always
 

00:20:19.860 --> 00:20:22.010 align:start position:0%
you've executed private functions always
on<00:20:20.100><c> the</c><00:20:20.220><c> user's</c><00:20:20.580><c> device</c>

00:20:22.010 --> 00:20:22.020 align:start position:0%
on the user's device
 

00:20:22.020 --> 00:20:23.690 align:start position:0%
on the user's device
and<00:20:22.380><c> once</c><00:20:22.559><c> you've</c><00:20:22.679><c> done</c><00:20:22.860><c> that</c><00:20:22.980><c> step</c><00:20:23.160><c> then</c><00:20:23.460><c> you</c>

00:20:23.690 --> 00:20:23.700 align:start position:0%
and once you've done that step then you
 

00:20:23.700 --> 00:20:24.529 align:start position:0%
and once you've done that step then you
can<00:20:23.760><c> go</c>

00:20:24.529 --> 00:20:24.539 align:start position:0%
can go
 

00:20:24.539 --> 00:20:26.930 align:start position:0%
can go
send<00:20:25.140><c> your</c><00:20:25.380><c> transaction</c><00:20:26.039><c> or</c><00:20:26.640><c> your</c><00:20:26.820><c> call</c>

00:20:26.930 --> 00:20:26.940 align:start position:0%
send your transaction or your call
 

00:20:26.940 --> 00:20:29.029 align:start position:0%
send your transaction or your call
Stacks<00:20:27.419><c> to</c><00:20:27.780><c> the</c><00:20:27.900><c> roll-up</c><00:20:28.200><c> provider</c><00:20:28.620><c> who</c><00:20:28.860><c> will</c>

00:20:29.029 --> 00:20:29.039 align:start position:0%
Stacks to the roll-up provider who will
 

00:20:29.039 --> 00:20:31.310 align:start position:0%
Stacks to the roll-up provider who will
execute<00:20:29.400><c> their</c><00:20:29.640><c> stuff</c><00:20:29.880><c> and</c><00:20:30.780><c> we'll</c><00:20:30.840><c> ignore</c><00:20:31.140><c> the</c>

00:20:31.310 --> 00:20:31.320 align:start position:0%
execute their stuff and we'll ignore the
 

00:20:31.320 --> 00:20:33.110 align:start position:0%
execute their stuff and we'll ignore the
contract<00:20:31.559><c> deployment</c><00:20:32.039><c> step</c>

00:20:33.110 --> 00:20:33.120 align:start position:0%
contract deployment step
 

00:20:33.120 --> 00:20:34.610 align:start position:0%
contract deployment step
and<00:20:33.539><c> then</c><00:20:33.600><c> it</c><00:20:33.720><c> gets</c><00:20:33.960><c> sent</c><00:20:34.020><c> to</c><00:20:34.200><c> the</c><00:20:34.320><c> roll-up</c>

00:20:34.610 --> 00:20:34.620 align:start position:0%
and then it gets sent to the roll-up
 

00:20:34.620 --> 00:20:37.190 align:start position:0%
and then it gets sent to the roll-up
contract<00:20:35.039><c> and</c><00:20:35.820><c> from</c><00:20:36.059><c> there</c><00:20:36.240><c> similar</c><00:20:36.600><c> to</c><00:20:36.720><c> Aztec</c>

00:20:37.190 --> 00:20:37.200 align:start position:0%
contract and from there similar to Aztec
 

00:20:37.200 --> 00:20:39.350 align:start position:0%
contract and from there similar to Aztec
connect<00:20:37.320><c> if</c><00:20:37.620><c> you've</c><00:20:37.799><c> looked</c><00:20:38.340><c> into</c><00:20:38.520><c> it</c><00:20:38.760><c> you</c><00:20:39.299><c> can</c>

00:20:39.350 --> 00:20:39.360 align:start position:0%
connect if you've looked into it you can
 

00:20:39.360 --> 00:20:42.230 align:start position:0%
connect if you've looked into it you can
then<00:20:39.539><c> make</c><00:20:39.780><c> calls</c><00:20:40.380><c> to</c><00:20:41.220><c> any</c><00:20:41.460><c> smart</c><00:20:41.700><c> contract</c><00:20:42.059><c> in</c>

00:20:42.230 --> 00:20:42.240 align:start position:0%
then make calls to any smart contract in
 

00:20:42.240 --> 00:20:44.029 align:start position:0%
then make calls to any smart contract in
ethereum<00:20:42.720><c> and</c><00:20:42.840><c> interact</c><00:20:43.140><c> with</c><00:20:43.320><c> any</c><00:20:43.500><c> defy</c>

00:20:44.029 --> 00:20:44.039 align:start position:0%
ethereum and interact with any defy
 

00:20:44.039 --> 00:20:46.190 align:start position:0%
ethereum and interact with any defy
contract<00:20:44.280><c> that</c><00:20:44.460><c> already</c><00:20:44.640><c> exists</c><00:20:45.179><c> but</c><00:20:45.840><c> suppose</c>

00:20:46.190 --> 00:20:46.200 align:start position:0%
contract that already exists but suppose
 

00:20:46.200 --> 00:20:47.810 align:start position:0%
contract that already exists but suppose
your<00:20:46.500><c> private</c><00:20:46.799><c> function</c><00:20:47.039><c> wants</c><00:20:47.400><c> to</c><00:20:47.460><c> make</c><00:20:47.640><c> a</c>

00:20:47.810 --> 00:20:47.820 align:start position:0%
your private function wants to make a
 

00:20:47.820 --> 00:20:50.750 align:start position:0%
your private function wants to make a
call<00:20:47.940><c> to</c><00:20:48.419><c> a</c><00:20:49.200><c> public</c><00:20:49.320><c> function</c><00:20:49.740><c> or</c><00:20:49.919><c> to</c><00:20:50.100><c> a</c><00:20:50.280><c> layer</c>

00:20:50.750 --> 00:20:50.760 align:start position:0%
call to a public function or to a layer
 

00:20:50.760 --> 00:20:53.570 align:start position:0%
call to a public function or to a layer
one<00:20:50.880><c> function</c><00:20:51.240><c> and</c><00:20:51.840><c> receive</c><00:20:52.140><c> return</c><00:20:52.380><c> values</c>

00:20:53.570 --> 00:20:53.580 align:start position:0%
one function and receive return values
 

00:20:53.580 --> 00:20:55.190 align:start position:0%
one function and receive return values
while<00:20:54.059><c> it</c><00:20:54.240><c> can't</c><00:20:54.360><c> receive</c><00:20:54.600><c> return</c><00:20:54.780><c> values</c>

00:20:55.190 --> 00:20:55.200 align:start position:0%
while it can't receive return values
 

00:20:55.200 --> 00:20:56.990 align:start position:0%
while it can't receive return values
immediately<00:20:55.559><c> because</c><00:20:56.220><c> of</c><00:20:56.400><c> this</c><00:20:56.580><c> Arrow</c><00:20:56.880><c> of</c>

00:20:56.990 --> 00:20:57.000 align:start position:0%
immediately because of this Arrow of
 

00:20:57.000 --> 00:20:59.049 align:start position:0%
immediately because of this Arrow of
time<00:20:57.240><c> and</c><00:20:57.660><c> the</c><00:20:57.780><c> order</c><00:20:57.900><c> things</c><00:20:58.140><c> need</c><00:20:58.380><c> to</c><00:20:58.500><c> happen</c>

00:20:59.049 --> 00:20:59.059 align:start position:0%
time and the order things need to happen
 

00:20:59.059 --> 00:21:00.710 align:start position:0%
time and the order things need to happen
excuse<00:21:00.059><c> me</c>

00:21:00.710 --> 00:21:00.720 align:start position:0%
excuse me
 

00:21:00.720 --> 00:21:02.390 align:start position:0%
excuse me
so<00:21:01.140><c> you</c><00:21:01.260><c> will</c><00:21:01.380><c> have</c><00:21:01.500><c> to</c><00:21:01.620><c> wait</c><00:21:01.799><c> until</c><00:21:01.980><c> the</c><00:21:02.220><c> next</c>

00:21:02.390 --> 00:21:02.400 align:start position:0%
so you will have to wait until the next
 

00:21:02.400 --> 00:21:05.029 align:start position:0%
so you will have to wait until the next
Roll-Up<00:21:03.240><c> and</c><00:21:03.660><c> so</c><00:21:03.720><c> what</c><00:21:03.900><c> we</c><00:21:04.080><c> have</c><00:21:04.320><c> and</c><00:21:04.799><c> I</c><00:21:04.919><c> don't</c>

00:21:05.029 --> 00:21:05.039 align:start position:0%
Roll-Up and so what we have and I don't
 

00:21:05.039 --> 00:21:06.890 align:start position:0%
Roll-Up and so what we have and I don't
have<00:21:05.160><c> time</c><00:21:05.280><c> to</c><00:21:05.400><c> go</c><00:21:05.520><c> into</c><00:21:05.580><c> it</c><00:21:05.820><c> here</c><00:21:05.940><c> is</c><00:21:06.240><c> if</c><00:21:06.780><c> a</c>

00:21:06.890 --> 00:21:06.900 align:start position:0%
have time to go into it here is if a
 

00:21:06.900 --> 00:21:08.270 align:start position:0%
have time to go into it here is if a
private<00:21:07.200><c> function</c><00:21:07.380><c> is</c><00:21:07.559><c> making</c><00:21:07.740><c> a</c><00:21:08.039><c> call</c><00:21:08.100><c> to</c>

00:21:08.270 --> 00:21:08.280 align:start position:0%
private function is making a call to
 

00:21:08.280 --> 00:21:10.610 align:start position:0%
private function is making a call to
another<00:21:08.520><c> layer</c><00:21:09.000><c> of</c><00:21:09.120><c> this</c><00:21:09.299><c> stack</c><00:21:09.600><c> it</c><00:21:10.320><c> will</c><00:21:10.440><c> have</c>

00:21:10.610 --> 00:21:10.620 align:start position:0%
another layer of this stack it will have
 

00:21:10.620 --> 00:21:12.950 align:start position:0%
another layer of this stack it will have
to<00:21:10.740><c> record</c><00:21:10.980><c> callback</c><00:21:11.640><c> functions</c><00:21:12.120><c> similar</c><00:21:12.780><c> to</c>

00:21:12.950 --> 00:21:12.960 align:start position:0%
to record callback functions similar to
 

00:21:12.960 --> 00:21:15.230 align:start position:0%
to record callback functions similar to
if<00:21:13.380><c> you're</c><00:21:13.559><c> working</c><00:21:13.740><c> with</c><00:21:13.980><c> JavaScript</c><00:21:14.460><c> and</c>

00:21:15.230 --> 00:21:15.240 align:start position:0%
if you're working with JavaScript and
 

00:21:15.240 --> 00:21:17.330 align:start position:0%
if you're working with JavaScript and
those<00:21:15.480><c> record</c><00:21:16.200><c> of</c><00:21:16.500><c> those</c><00:21:16.620><c> callback</c><00:21:16.919><c> functions</c>

00:21:17.330 --> 00:21:17.340 align:start position:0%
those record of those callback functions
 

00:21:17.340 --> 00:21:18.950 align:start position:0%
those record of those callback functions
will<00:21:17.460><c> be</c><00:21:17.640><c> added</c><00:21:17.820><c> to</c><00:21:17.940><c> a</c><00:21:18.059><c> tree</c>

00:21:18.950 --> 00:21:18.960 align:start position:0%
will be added to a tree
 

00:21:18.960 --> 00:21:21.049 align:start position:0%
will be added to a tree
and<00:21:19.440><c> then</c><00:21:19.500><c> in</c><00:21:19.679><c> the</c><00:21:19.799><c> next</c><00:21:19.919><c> roll</c><00:21:20.160><c> up</c>

00:21:21.049 --> 00:21:21.059 align:start position:0%
and then in the next roll up
 

00:21:21.059 --> 00:21:22.669 align:start position:0%
and then in the next roll up
the<00:21:21.480><c> user</c><00:21:21.720><c> will</c><00:21:21.840><c> have</c><00:21:22.020><c> to</c><00:21:22.080><c> prove</c><00:21:22.380><c> that</c><00:21:22.500><c> they</c>

00:21:22.669 --> 00:21:22.679 align:start position:0%
the user will have to prove that they
 

00:21:22.679 --> 00:21:25.610 align:start position:0%
the user will have to prove that they
are<00:21:22.799><c> executing</c><00:21:23.400><c> the</c><00:21:24.059><c> correct</c><00:21:24.299><c> set</c><00:21:24.600><c> of</c><00:21:24.960><c> success</c>

00:21:25.610 --> 00:21:25.620 align:start position:0%
are executing the correct set of success
 

00:21:25.620 --> 00:21:28.549 align:start position:0%
are executing the correct set of success
or<00:21:26.220><c> failure</c><00:21:26.700><c> callback</c><00:21:27.360><c> function</c>

00:21:28.549 --> 00:21:28.559 align:start position:0%
or failure callback function
 

00:21:28.559 --> 00:21:30.409 align:start position:0%
or failure callback function
in<00:21:29.159><c> order</c><00:21:29.280><c> to</c><00:21:29.460><c> carry</c><00:21:29.700><c> on</c><00:21:29.820><c> with</c><00:21:29.940><c> the</c><00:21:30.120><c> execution</c>

00:21:30.409 --> 00:21:30.419 align:start position:0%
in order to carry on with the execution
 

00:21:30.419 --> 00:21:32.330 align:start position:0%
in order to carry on with the execution
of<00:21:30.659><c> their</c><00:21:30.780><c> function</c><00:21:31.080><c> so</c><00:21:31.860><c> there's</c><00:21:32.039><c> a</c><00:21:32.159><c> lot</c><00:21:32.280><c> of</c>

00:21:32.330 --> 00:21:32.340 align:start position:0%
of their function so there's a lot of
 

00:21:32.340 --> 00:21:33.890 align:start position:0%
of their function so there's a lot of
complexity<00:21:32.760><c> there</c>

00:21:33.890 --> 00:21:33.900 align:start position:0%
complexity there
 

00:21:33.900 --> 00:21:34.490 align:start position:0%
complexity there
um

00:21:34.490 --> 00:21:34.500 align:start position:0%
um
 

00:21:34.500 --> 00:21:36.169 align:start position:0%
um
we've<00:21:35.159><c> written</c><00:21:35.340><c> a</c><00:21:35.460><c> lot</c><00:21:35.580><c> of</c><00:21:35.640><c> documentation</c>

00:21:36.169 --> 00:21:36.179 align:start position:0%
we've written a lot of documentation
 

00:21:36.179 --> 00:21:38.049 align:start position:0%
we've written a lot of documentation
which<00:21:36.840><c> I</c><00:21:36.960><c> think</c><00:21:37.020><c> we're</c><00:21:37.140><c> going</c><00:21:37.320><c> to</c><00:21:37.440><c> publish</c>

00:21:38.049 --> 00:21:38.059 align:start position:0%
which I think we're going to publish
 

00:21:38.059 --> 00:21:40.250 align:start position:0%
which I think we're going to publish
which<00:21:39.059><c> kind</c><00:21:39.240><c> of</c><00:21:39.360><c> explains</c><00:21:39.780><c> all</c><00:21:39.960><c> of</c><00:21:40.140><c> this</c>

00:21:40.250 --> 00:21:40.260 align:start position:0%
which kind of explains all of this
 

00:21:40.260 --> 00:21:41.930 align:start position:0%
which kind of explains all of this
complexity

00:21:41.930 --> 00:21:41.940 align:start position:0%
complexity
 

00:21:41.940 --> 00:21:43.789 align:start position:0%
complexity
um but<00:21:42.840><c> yeah</c><00:21:42.960><c> that's</c><00:21:43.200><c> everything</c><00:21:43.440><c> I</c><00:21:43.679><c> wanted</c>

00:21:43.789 --> 00:21:43.799 align:start position:0%
um but yeah that's everything I wanted
 

00:21:43.799 --> 00:21:47.570 align:start position:0%
um but yeah that's everything I wanted
to<00:21:43.980><c> talk</c><00:21:44.039><c> about</c><00:21:44.159><c> today</c><00:21:44.900><c> uh</c><00:21:45.900><c> oh</c><00:21:46.440><c> and</c><00:21:47.159><c> I</c><00:21:47.340><c> guess</c><00:21:47.460><c> I</c>

00:21:47.570 --> 00:21:47.580 align:start position:0%
to talk about today uh oh and I guess I
 

00:21:47.580 --> 00:21:49.310 align:start position:0%
to talk about today uh oh and I guess I
do<00:21:47.700><c> have</c><00:21:47.880><c> time</c><00:21:48.059><c> to</c><00:21:48.240><c> just</c><00:21:48.539><c> briefly</c><00:21:48.840><c> say</c><00:21:49.080><c> well</c>

00:21:49.310 --> 00:21:49.320 align:start position:0%
do have time to just briefly say well
 

00:21:49.320 --> 00:21:53.390 align:start position:0%
do have time to just briefly say well
the<00:21:49.620><c> kernel</c><00:21:50.039><c> circuit</c><00:21:50.400><c> does</c><00:21:50.640><c> it</c><00:21:51.360><c> does</c><00:21:51.659><c> tons</c>

00:21:53.390 --> 00:21:53.400 align:start position:0%
the kernel circuit does it does tons
 

00:21:53.400 --> 00:21:56.149 align:start position:0%
the kernel circuit does it does tons
um<00:21:53.460><c> and</c><00:21:54.360><c> my</c><00:21:54.539><c> throat's</c><00:21:54.840><c> hurting</c><00:21:55.080><c> so</c><00:21:55.320><c> much</c><00:21:55.500><c> that</c>

00:21:56.149 --> 00:21:56.159 align:start position:0%
um and my throat's hurting so much that
 

00:21:56.159 --> 00:21:57.409 align:start position:0%
um and my throat's hurting so much that
um I'm<00:21:56.400><c> not</c><00:21:56.520><c> going</c><00:21:56.640><c> to</c><00:21:56.760><c> through</c><00:21:56.880><c> go</c><00:21:57.240><c> through</c>

00:21:57.409 --> 00:21:57.419 align:start position:0%
um I'm not going to through go through
 

00:21:57.419 --> 00:21:59.390 align:start position:0%
um I'm not going to through go through
this<00:21:57.659><c> but</c><00:21:57.960><c> uh</c><00:21:58.200><c> feel</c><00:21:58.620><c> free</c><00:21:58.799><c> to</c><00:21:58.919><c> take</c><00:21:59.100><c> a</c><00:21:59.280><c> picture</c>

00:21:59.390 --> 00:21:59.400 align:start position:0%
this but uh feel free to take a picture
 

00:21:59.400 --> 00:22:02.810 align:start position:0%
this but uh feel free to take a picture
and<00:22:00.000><c> uh</c><00:22:00.720><c> ask</c><00:22:01.200><c> me</c><00:22:01.380><c> questions</c><00:22:01.559><c> afterwards</c>

00:22:02.810 --> 00:22:02.820 align:start position:0%
and uh ask me questions afterwards
 

00:22:02.820 --> 00:22:05.149 align:start position:0%
and uh ask me questions afterwards
uh<00:22:03.419><c> yeah</c><00:22:03.600><c> thanks</c><00:22:03.960><c> very</c><00:22:04.140><c> much</c>

00:22:05.149 --> 00:22:05.159 align:start position:0%
uh yeah thanks very much
 

00:22:05.159 --> 00:22:07.250 align:start position:0%
uh yeah thanks very much
we<00:22:05.700><c> still</c><00:22:06.000><c> have</c><00:22:06.179><c> time</c><00:22:06.419><c> for</c><00:22:06.720><c> one</c><00:22:07.020><c> question</c>

00:22:07.250 --> 00:22:07.260 align:start position:0%
we still have time for one question
 

00:22:07.260 --> 00:22:09.830 align:start position:0%
we still have time for one question
maybe<00:22:07.799><c> if</c><00:22:08.580><c> someone</c><00:22:08.760><c> wants</c><00:22:09.179><c> to</c><00:22:09.240><c> do</c><00:22:09.539><c> a</c><00:22:09.659><c> question</c>

00:22:09.830 --> 00:22:09.840 align:start position:0%
maybe if someone wants to do a question
 

00:22:09.840 --> 00:22:12.950 align:start position:0%
maybe if someone wants to do a question
we<00:22:10.260><c> have</c><00:22:10.380><c> our</c><00:22:10.559><c> volunteers</c><00:22:11.220><c> with</c><00:22:11.820><c> the</c><00:22:12.000><c> mics</c>

00:22:12.950 --> 00:22:12.960 align:start position:0%
we have our volunteers with the mics
 

00:22:12.960 --> 00:22:15.590 align:start position:0%
we have our volunteers with the mics
there<00:22:13.320><c> you</c><00:22:13.500><c> go</c><00:22:13.500><c> here</c><00:22:13.799><c> to</c><00:22:14.039><c> the</c><00:22:14.220><c> left</c>

00:22:15.590 --> 00:22:15.600 align:start position:0%
there you go here to the left
 

00:22:15.600 --> 00:22:18.770 align:start position:0%
there you go here to the left
and<00:22:16.020><c> maybe</c><00:22:16.140><c> one</c><00:22:16.380><c> there</c><00:22:16.679><c> Depending</c><00:22:17.100><c> on</c><00:22:17.220><c> time</c>

00:22:18.770 --> 00:22:18.780 align:start position:0%
and maybe one there Depending on time
 

00:22:18.780 --> 00:22:21.169 align:start position:0%
and maybe one there Depending on time
um<00:22:18.900><c> one</c><00:22:19.260><c> thing</c><00:22:19.380><c> that</c><00:22:19.559><c> you</c><00:22:19.740><c> didn't</c><00:22:20.039><c> touch</c><00:22:20.760><c> it</c><00:22:20.940><c> on</c>

00:22:21.169 --> 00:22:21.179 align:start position:0%
um one thing that you didn't touch it on
 

00:22:21.179 --> 00:22:22.730 align:start position:0%
um one thing that you didn't touch it on
the<00:22:21.299><c> presentation</c><00:22:21.780><c> was</c><00:22:22.140><c> about</c><00:22:22.380><c> the</c>

00:22:22.730 --> 00:22:22.740 align:start position:0%
the presentation was about the
 

00:22:22.740 --> 00:22:24.230 align:start position:0%
the presentation was about the
participants<00:22:23.340><c> so</c><00:22:23.760><c> you</c><00:22:23.880><c> mentioned</c><00:22:24.059><c> in</c><00:22:24.179><c> the</c>

00:22:24.230 --> 00:22:24.240 align:start position:0%
participants so you mentioned in the
 

00:22:24.240 --> 00:22:25.970 align:start position:0%
participants so you mentioned in the
beginning<00:22:24.419><c> that</c><00:22:24.960><c> you</c><00:22:25.380><c> might</c><00:22:25.500><c> have</c><00:22:25.740><c> previous</c>

00:22:25.970 --> 00:22:25.980 align:start position:0%
beginning that you might have previous
 

00:22:25.980 --> 00:22:28.669 align:start position:0%
beginning that you might have previous
state<00:22:26.340><c> with</c><00:22:26.580><c> participants</c>

00:22:28.669 --> 00:22:28.679 align:start position:0%
state with participants
 

00:22:28.679 --> 00:22:31.730 align:start position:0%
state with participants
um<00:22:28.740><c> so</c><00:22:29.220><c> for</c><00:22:29.820><c> example</c><00:22:30.120><c> Goku</c><00:22:30.840><c> Autumn</c><00:22:31.200><c> with</c><00:22:31.500><c> the</c>

00:22:31.730 --> 00:22:31.740 align:start position:0%
um so for example Goku Autumn with the
 

00:22:31.740 --> 00:22:33.890 align:start position:0%
um so for example Goku Autumn with the
Sarah<00:22:31.980><c> and</c><00:22:32.460><c> best</c><00:22:32.640><c> with</c><00:22:32.940><c> desire</c><00:22:33.360><c> which</c><00:22:33.659><c> I'm</c>

00:22:33.890 --> 00:22:33.900 align:start position:0%
Sarah and best with desire which I'm
 

00:22:33.900 --> 00:22:35.870 align:start position:0%
Sarah and best with desire which I'm
sure<00:22:34.140><c> you</c><00:22:34.320><c> are</c><00:22:34.440><c> aware</c><00:22:34.679><c> there</c><00:22:35.220><c> are</c><00:22:35.400><c> platforms</c>

00:22:35.870 --> 00:22:35.880 align:start position:0%
sure you are aware there are platforms
 

00:22:35.880 --> 00:22:37.370 align:start position:0%
sure you are aware there are platforms
that<00:22:36.059><c> allow</c><00:22:36.480><c> you</c><00:22:36.600><c> to</c><00:22:36.780><c> have</c><00:22:36.900><c> public</c><00:22:37.080><c> and</c>

00:22:37.370 --> 00:22:37.380 align:start position:0%
that allow you to have public and
 

00:22:37.380 --> 00:22:39.529 align:start position:0%
that allow you to have public and
private<00:22:37.679><c> State</c><00:22:37.919><c> contracts</c>

00:22:39.529 --> 00:22:39.539 align:start position:0%
private State contracts
 

00:22:39.539 --> 00:22:42.169 align:start position:0%
private State contracts
they<00:22:40.140><c> have</c><00:22:40.320><c> different</c><00:22:40.500><c> ways</c><00:22:41.039><c> to</c><00:22:41.159><c> tackle</c><00:22:41.520><c> it</c><00:22:41.640><c> so</c>

00:22:42.169 --> 00:22:42.179 align:start position:0%
they have different ways to tackle it so
 

00:22:42.179 --> 00:22:44.570 align:start position:0%
they have different ways to tackle it so
peso<00:22:42.900><c> does</c><00:22:43.080><c> like</c><00:22:43.320><c> groups</c><00:22:43.799><c> you</c><00:22:44.039><c> define</c><00:22:44.280><c> your</c>

00:22:44.570 --> 00:22:44.580 align:start position:0%
peso does like groups you define your
 

00:22:44.580 --> 00:22:46.490 align:start position:0%
peso does like groups you define your
group<00:22:44.820><c> and</c><00:22:45.360><c> that</c><00:22:45.539><c> group</c><00:22:45.780><c> will</c><00:22:46.020><c> share</c><00:22:46.260><c> a</c>

00:22:46.490 --> 00:22:46.500 align:start position:0%
group and that group will share a
 

00:22:46.500 --> 00:22:49.669 align:start position:0%
group and that group will share a
private<00:22:46.860><c> State</c><00:22:47.299><c> and</c><00:22:48.299><c> Goku</c><00:22:49.140><c> Adam</c><00:22:49.260><c> which</c><00:22:49.500><c> is</c><00:22:49.620><c> a</c>

00:22:49.669 --> 00:22:49.679 align:start position:0%
private State and Goku Adam which is a
 

00:22:49.679 --> 00:22:51.890 align:start position:0%
private State and Goku Adam which is a
follicle<00:22:50.039><c> of</c><00:22:50.159><c> get</c><00:22:50.340><c> with</c><00:22:51.240><c> modification</c><00:22:51.780><c> for</c>

00:22:51.890 --> 00:22:51.900 align:start position:0%
follicle of get with modification for
 

00:22:51.900 --> 00:22:54.049 align:start position:0%
follicle of get with modification for
private<00:22:52.260><c> State</c><00:22:52.559><c> allow</c><00:22:52.919><c> you</c><00:22:53.039><c> to</c><00:22:53.280><c> like</c><00:22:53.460><c> select</c>

00:22:54.049 --> 00:22:54.059 align:start position:0%
private State allow you to like select
 

00:22:54.059 --> 00:22:56.390 align:start position:0%
private State allow you to like select
for<00:22:54.179><c> each</c><00:22:54.419><c> transaction</c><00:22:54.960><c> which</c><00:22:55.620><c> participants</c>

00:22:56.390 --> 00:22:56.400 align:start position:0%
for each transaction which participants
 

00:22:56.400 --> 00:22:58.970 align:start position:0%
for each transaction which participants
will<00:22:57.240><c> see</c><00:22:57.480><c> those</c><00:22:57.780><c> changes</c><00:22:58.200><c> and</c><00:22:58.559><c> that</c><00:22:58.679><c> means</c>

00:22:58.970 --> 00:22:58.980 align:start position:0%
will see those changes and that means
 

00:22:58.980 --> 00:23:01.669 align:start position:0%
will see those changes and that means
that<00:22:59.039><c> you</c><00:22:59.220><c> can</c><00:22:59.340><c> have</c><00:22:59.640><c> the</c><00:23:00.480><c> versions</c><00:23:00.960><c> on</c><00:23:01.500><c> the</c>

00:23:01.669 --> 00:23:01.679 align:start position:0%
that you can have the versions on the
 

00:23:01.679 --> 00:23:03.350 align:start position:0%
that you can have the versions on the
state<00:23:01.860><c> so</c><00:23:02.460><c> like</c><00:23:02.700><c> you</c><00:23:02.880><c> might</c><00:23:03.059><c> have</c><00:23:03.179><c> a</c>

00:23:03.350 --> 00:23:03.360 align:start position:0%
state so like you might have a
 

00:23:03.360 --> 00:23:04.909 align:start position:0%
state so like you might have a
transaction<00:23:03.659><c> that</c><00:23:04.020><c> you</c><00:23:04.140><c> change</c><00:23:04.320><c> one</c><00:23:04.620><c> smart</c>

00:23:04.909 --> 00:23:04.919 align:start position:0%
transaction that you change one smart
 

00:23:04.919 --> 00:23:07.970 align:start position:0%
transaction that you change one smart
contract<00:23:05.840><c> and</c><00:23:06.840><c> you</c><00:23:07.080><c> change</c><00:23:07.260><c> and</c><00:23:07.559><c> you</c><00:23:07.679><c> apply</c>

00:23:07.970 --> 00:23:07.980 align:start position:0%
contract and you change and you apply
 

00:23:07.980 --> 00:23:09.890 align:start position:0%
contract and you change and you apply
that<00:23:08.220><c> state</c><00:23:08.520><c> change</c><00:23:08.820><c> for</c><00:23:09.120><c> two</c><00:23:09.360><c> participants</c>

00:23:09.890 --> 00:23:09.900 align:start position:0%
that state change for two participants
 

00:23:09.900 --> 00:23:11.570 align:start position:0%
that state change for two participants
but<00:23:10.200><c> in</c><00:23:10.440><c> the</c><00:23:10.559><c> next</c><00:23:10.679><c> transaction</c><00:23:11.039><c> you</c><00:23:11.400><c> change</c>

00:23:11.570 --> 00:23:11.580 align:start position:0%
but in the next transaction you change
 

00:23:11.580 --> 00:23:13.549 align:start position:0%
but in the next transaction you change
the<00:23:11.760><c> same</c><00:23:11.940><c> value</c><00:23:12.179><c> and</c><00:23:12.780><c> only</c><00:23:12.960><c> one</c><00:23:13.140><c> but</c><00:23:13.320><c> this</c>

00:23:13.549 --> 00:23:13.559 align:start position:0%
the same value and only one but this
 

00:23:13.559 --> 00:23:15.710 align:start position:0%
the same value and only one but this
move<00:23:13.740><c> will</c><00:23:13.860><c> see</c><00:23:14.039><c> it</c><00:23:14.159><c> not</c><00:23:14.340><c> the</c><00:23:14.520><c> other</c><00:23:15.000><c> how</c><00:23:15.480><c> do</c>

00:23:15.710 --> 00:23:15.720 align:start position:0%
move will see it not the other how do
 

00:23:15.720 --> 00:23:18.289 align:start position:0%
move will see it not the other how do
you<00:23:15.840><c> solve</c><00:23:16.140><c> that</c><00:23:16.260><c> in</c><00:23:16.500><c> your</c><00:23:16.980><c> platform</c>

00:23:18.289 --> 00:23:18.299 align:start position:0%
you solve that in your platform
 

00:23:18.299 --> 00:23:20.630 align:start position:0%
you solve that in your platform
uh<00:23:19.260><c> I</c><00:23:19.559><c> didn't</c><00:23:19.679><c> fully</c><00:23:20.100><c> follow</c><00:23:20.280><c> the</c><00:23:20.460><c> long</c>

00:23:20.630 --> 00:23:20.640 align:start position:0%
uh I didn't fully follow the long
 

00:23:20.640 --> 00:23:21.649 align:start position:0%
uh I didn't fully follow the long
question

00:23:21.649 --> 00:23:21.659 align:start position:0%
question
 

00:23:21.659 --> 00:23:23.149 align:start position:0%
question
um<00:23:21.720><c> maybe</c><00:23:21.840><c> we</c><00:23:22.080><c> can</c><00:23:22.200><c> chat</c><00:23:22.380><c> afterwards</c><00:23:22.799><c> sorry</c>

00:23:23.149 --> 00:23:23.159 align:start position:0%
um maybe we can chat afterwards sorry
 

00:23:23.159 --> 00:23:24.770 align:start position:0%
um maybe we can chat afterwards sorry
about<00:23:23.400><c> that</c>

00:23:24.770 --> 00:23:24.780 align:start position:0%
about that
 

00:23:24.780 --> 00:23:26.930 align:start position:0%
about that
yeah<00:23:25.020><c> you</c><00:23:25.440><c> can</c><00:23:25.620><c> chat</c><00:23:26.039><c> outside</c><00:23:26.280><c> that's</c><00:23:26.700><c> the</c>

00:23:26.930 --> 00:23:26.940 align:start position:0%
yeah you can chat outside that's the
 

00:23:26.940 --> 00:23:28.669 align:start position:0%
yeah you can chat outside that's the
great<00:23:27.179><c> place</c><00:23:27.480><c> to</c><00:23:27.600><c> do</c><00:23:27.780><c> networking</c><00:23:28.320><c> and</c><00:23:28.380><c> to</c><00:23:28.559><c> get</c>

00:23:28.669 --> 00:23:28.679 align:start position:0%
great place to do networking and to get
 

00:23:28.679 --> 00:23:30.289 align:start position:0%
great place to do networking and to get
to<00:23:28.799><c> know</c><00:23:28.919><c> more</c><00:23:29.039><c> and</c><00:23:29.400><c> we</c><00:23:29.640><c> have</c><00:23:29.760><c> one</c><00:23:30.120><c> more</c>

00:23:30.289 --> 00:23:30.299 align:start position:0%
to know more and we have one more
 

00:23:30.299 --> 00:23:34.130 align:start position:0%
to know more and we have one more
question<00:23:30.480><c> there</c><00:23:30.780><c> please</c><00:23:31.320><c> send</c><00:23:31.919><c> to</c><00:23:32.159><c> that</c><00:23:32.340><c> mic</c>

00:23:34.130 --> 00:23:34.140 align:start position:0%
question there please send to that mic
 

00:23:34.140 --> 00:23:35.149 align:start position:0%
question there please send to that mic
hello

00:23:35.149 --> 00:23:35.159 align:start position:0%
hello
 

00:23:35.159 --> 00:23:38.210 align:start position:0%
hello
um<00:23:35.220><c> just</c><00:23:35.460><c> one</c><00:23:35.700><c> quick</c><00:23:35.940><c> question</c><00:23:36.179><c> uh</c><00:23:36.720><c> is</c><00:23:37.080><c> is</c><00:23:37.500><c> this</c>

00:23:38.210 --> 00:23:38.220 align:start position:0%
um just one quick question uh is is this
 

00:23:38.220 --> 00:23:40.789 align:start position:0%
um just one quick question uh is is this
private<00:23:38.700><c> call</c><00:23:38.880><c> for</c><00:23:39.240><c> contracts</c><00:23:40.140><c> already</c>

00:23:40.789 --> 00:23:40.799 align:start position:0%
private call for contracts already
 

00:23:40.799 --> 00:23:42.890 align:start position:0%
private call for contracts already
available<00:23:41.100><c> in</c><00:23:41.580><c> NASDAQ</c><00:23:42.120><c> or</c><00:23:42.299><c> it's</c><00:23:42.419><c> going</c><00:23:42.600><c> to</c><00:23:42.720><c> be</c>

00:23:42.890 --> 00:23:42.900 align:start position:0%
available in NASDAQ or it's going to be
 

00:23:42.900 --> 00:23:44.510 align:start position:0%
available in NASDAQ or it's going to be
in<00:23:43.140><c> the</c><00:23:43.320><c> next</c><00:23:43.440><c> release</c>

00:23:44.510 --> 00:23:44.520 align:start position:0%
in the next release
 

00:23:44.520 --> 00:23:46.669 align:start position:0%
in the next release
uh<00:23:45.120><c> so</c><00:23:45.299><c> we'll</c><00:23:45.419><c> be</c><00:23:45.539><c> releasing</c><00:23:45.900><c> the</c><00:23:46.080><c> specs</c><00:23:46.500><c> but</c>

00:23:46.669 --> 00:23:46.679 align:start position:0%
uh so we'll be releasing the specs but
 

00:23:46.679 --> 00:23:48.350 align:start position:0%
uh so we'll be releasing the specs but
we<00:23:46.919><c> we</c><00:23:47.100><c> haven't</c><00:23:47.280><c> built</c><00:23:47.640><c> this</c>

00:23:48.350 --> 00:23:48.360 align:start position:0%
we we haven't built this
 

00:23:48.360 --> 00:23:50.690 align:start position:0%
we we haven't built this
um we're<00:23:48.840><c> kind</c><00:23:49.020><c> of</c><00:23:49.140><c> we've</c><00:23:49.500><c> begun</c><00:23:49.740><c> building</c><00:23:49.919><c> it</c>

00:23:50.690 --> 00:23:50.700 align:start position:0%
um we're kind of we've begun building it
 

00:23:50.700 --> 00:23:53.029 align:start position:0%
um we're kind of we've begun building it
um<00:23:50.760><c> and</c><00:23:51.000><c> but</c><00:23:51.240><c> it's</c><00:23:51.419><c> we're</c><00:23:52.380><c> probably</c><00:23:52.620><c> maybe</c><00:23:52.860><c> a</c>

00:23:53.029 --> 00:23:53.039 align:start position:0%
um and but it's we're probably maybe a
 

00:23:53.039 --> 00:23:56.390 align:start position:0%
um and but it's we're probably maybe a
year<00:23:53.220><c> away</c><00:23:53.400><c> from</c><00:23:53.640><c> testnet</c><00:23:54.720><c> um</c><00:23:55.140><c> so</c><00:23:55.620><c> yeah</c><00:23:55.799><c> it's</c><00:23:56.220><c> a</c>

00:23:56.390 --> 00:23:56.400 align:start position:0%
year away from testnet um so yeah it's a
 

00:23:56.400 --> 00:23:59.029 align:start position:0%
year away from testnet um so yeah it's a
it's<00:23:56.640><c> a</c><00:23:56.820><c> big</c><00:23:56.940><c> beast</c><00:23:57.380><c> big</c><00:23:58.380><c> round</c><00:23:58.559><c> of</c><00:23:58.740><c> applause</c>

00:23:59.029 --> 00:23:59.039 align:start position:0%
it's a big beast big round of applause
 

00:23:59.039 --> 00:24:03.020 align:start position:0%
it's a big beast big round of applause
once<00:23:59.460><c> again</c><00:23:59.520><c> for</c><00:23:59.760><c> Mike</c><00:23:59.940><c> Connor</c><00:24:00.419><c> Thank</c><00:24:00.900><c> you</c>

