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.549 align:start position:0%
 
[Music]

00:00:13.549 --> 00:00:13.559 align:start position:0%
 
 

00:00:13.559 --> 00:00:14.930 align:start position:0%
 
so<00:00:13.980><c> in</c><00:00:14.040><c> my</c><00:00:14.219><c> talk</c><00:00:14.340><c> today</c><00:00:14.519><c> I'm</c><00:00:14.700><c> going</c><00:00:14.820><c> to</c><00:00:14.880><c> be</c>

00:00:14.930 --> 00:00:14.940 align:start position:0%
so in my talk today I'm going to be
 

00:00:14.940 --> 00:00:16.910 align:start position:0%
so in my talk today I'm going to be
talking<00:00:15.059><c> for</c><00:00:15.420><c> the</c><00:00:15.540><c> first</c><00:00:15.660><c> time</c><00:00:15.839><c> about</c>

00:00:16.910 --> 00:00:16.920 align:start position:0%
talking for the first time about
 

00:00:16.920 --> 00:00:19.730 align:start position:0%
talking for the first time about
um<00:00:17.340><c> how</c><00:00:18.180><c> we've</c><00:00:18.480><c> designed</c><00:00:18.840><c> a</c><00:00:19.080><c> polygon</c><00:00:19.440><c> Milan</c>

00:00:19.730 --> 00:00:19.740 align:start position:0%
um how we've designed a polygon Milan
 

00:00:19.740 --> 00:00:21.410 align:start position:0%
um how we've designed a polygon Milan
roll<00:00:19.859><c> up</c><00:00:20.039><c> and</c><00:00:20.220><c> specifically</c><00:00:20.580><c> how</c><00:00:20.820><c> we</c><00:00:21.000><c> use</c><00:00:21.180><c> this</c>

00:00:21.410 --> 00:00:21.420 align:start position:0%
roll up and specifically how we use this
 

00:00:21.420 --> 00:00:23.269 align:start position:0%
roll up and specifically how we use this
hybrid<00:00:21.720><c> utx</c><00:00:22.199><c> or</c><00:00:22.380><c> an</c><00:00:22.500><c> account</c><00:00:22.619><c> based</c><00:00:22.980><c> model</c><00:00:23.039><c> to</c>

00:00:23.269 --> 00:00:23.279 align:start position:0%
hybrid utx or an account based model to
 

00:00:23.279 --> 00:00:25.070 align:start position:0%
hybrid utx or an account based model to
achieve<00:00:23.580><c> some</c><00:00:23.699><c> interesting</c><00:00:24.060><c> properties</c>

00:00:25.070 --> 00:00:25.080 align:start position:0%
achieve some interesting properties
 

00:00:25.080 --> 00:00:27.910 align:start position:0%
achieve some interesting properties
so<00:00:25.980><c> just</c><00:00:26.160><c> to</c><00:00:26.340><c> set</c><00:00:26.460><c> the</c><00:00:26.580><c> context</c><00:00:26.880><c> at</c><00:00:27.119><c> first</c>

00:00:27.910 --> 00:00:27.920 align:start position:0%
so just to set the context at first
 

00:00:27.920 --> 00:00:30.589 align:start position:0%
so just to set the context at first
the<00:00:28.920><c> goal</c><00:00:29.220><c> that</c><00:00:29.580><c> we</c><00:00:29.699><c> have</c><00:00:29.820><c> in</c><00:00:30.000><c> mind</c><00:00:30.119><c> is</c><00:00:30.300><c> we</c><00:00:30.480><c> want</c>

00:00:30.589 --> 00:00:30.599 align:start position:0%
the goal that we have in mind is we want
 

00:00:30.599 --> 00:00:31.849 align:start position:0%
the goal that we have in mind is we want
to<00:00:30.720><c> build</c><00:00:30.779><c> a</c><00:00:31.019><c> scalable</c><00:00:31.320><c> decentralized</c>

00:00:31.849 --> 00:00:31.859 align:start position:0%
to build a scalable decentralized
 

00:00:31.859 --> 00:00:33.590 align:start position:0%
to build a scalable decentralized
roll-up<00:00:32.220><c> with</c><00:00:32.460><c> privacy</c><00:00:33.239><c> enabling</c>

00:00:33.590 --> 00:00:33.600 align:start position:0%
roll-up with privacy enabling
 

00:00:33.600 --> 00:00:35.510 align:start position:0%
roll-up with privacy enabling
architecture<00:00:34.200><c> and</c><00:00:34.800><c> what</c><00:00:34.920><c> I</c><00:00:34.980><c> mean</c><00:00:35.100><c> by</c><00:00:35.219><c> that</c><00:00:35.399><c> is</c>

00:00:35.510 --> 00:00:35.520 align:start position:0%
architecture and what I mean by that is
 

00:00:35.520 --> 00:00:37.130 align:start position:0%
architecture and what I mean by that is
that<00:00:35.700><c> our</c><00:00:35.940><c> immediate</c><00:00:36.300><c> goal</c><00:00:36.600><c> is</c><00:00:36.719><c> to</c><00:00:36.899><c> achieve</c>

00:00:37.130 --> 00:00:37.140 align:start position:0%
that our immediate goal is to achieve
 

00:00:37.140 --> 00:00:38.930 align:start position:0%
that our immediate goal is to achieve
scaling<00:00:37.559><c> but</c><00:00:37.980><c> we</c><00:00:38.160><c> want</c><00:00:38.280><c> to</c><00:00:38.399><c> design</c><00:00:38.520><c> the</c><00:00:38.700><c> role</c>

00:00:38.930 --> 00:00:38.940 align:start position:0%
scaling but we want to design the role
 

00:00:38.940 --> 00:00:40.130 align:start position:0%
scaling but we want to design the role
up<00:00:39.059><c> in</c><00:00:39.120><c> such</c><00:00:39.239><c> a</c><00:00:39.360><c> way</c><00:00:39.480><c> that</c><00:00:39.600><c> when</c><00:00:39.780><c> we</c><00:00:39.899><c> want</c><00:00:40.020><c> to</c>

00:00:40.130 --> 00:00:40.140 align:start position:0%
up in such a way that when we want to
 

00:00:40.140 --> 00:00:42.170 align:start position:0%
up in such a way that when we want to
turn<00:00:40.260><c> on</c><00:00:40.379><c> privacy</c><00:00:40.739><c> it</c><00:00:40.980><c> will</c><00:00:41.160><c> not</c><00:00:41.280><c> require</c><00:00:41.520><c> a</c>

00:00:42.170 --> 00:00:42.180 align:start position:0%
turn on privacy it will not require a
 

00:00:42.180 --> 00:00:43.910 align:start position:0%
turn on privacy it will not require a
complete<00:00:42.660><c> architecture</c><00:00:43.020><c> overhaul</c><00:00:43.500><c> it</c><00:00:43.739><c> should</c>

00:00:43.910 --> 00:00:43.920 align:start position:0%
complete architecture overhaul it should
 

00:00:43.920 --> 00:00:47.150 align:start position:0%
complete architecture overhaul it should
be<00:00:44.040><c> very</c><00:00:44.460><c> easy</c><00:00:44.700><c> to</c><00:00:44.879><c> achieve</c><00:00:45.180><c> that</c>

00:00:47.150 --> 00:00:47.160 align:start position:0%
be very easy to achieve that
 

00:00:47.160 --> 00:00:48.950 align:start position:0%
be very easy to achieve that
um<00:00:47.219><c> and</c><00:00:47.700><c> I'm</c><00:00:47.879><c> sure</c><00:00:48.059><c> a</c><00:00:48.300><c> lot</c><00:00:48.360><c> of</c><00:00:48.420><c> you</c><00:00:48.539><c> here</c><00:00:48.780><c> are</c>

00:00:48.950 --> 00:00:48.960 align:start position:0%
um and I'm sure a lot of you here are
 

00:00:48.960 --> 00:00:50.330 align:start position:0%
um and I'm sure a lot of you here are
already<00:00:49.079><c> familiar</c><00:00:49.559><c> with</c><00:00:49.680><c> this</c><00:00:49.860><c> but</c><00:00:50.039><c> just</c><00:00:50.219><c> to</c>

00:00:50.330 --> 00:00:50.340 align:start position:0%
already familiar with this but just to
 

00:00:50.340 --> 00:00:51.709 align:start position:0%
already familiar with this but just to
set<00:00:50.460><c> a</c><00:00:50.579><c> context</c><00:00:50.820><c> of</c><00:00:50.940><c> what</c><00:00:51.120><c> is</c><00:00:51.239><c> a</c><00:00:51.360><c> decentralized</c>

00:00:51.709 --> 00:00:51.719 align:start position:0%
set a context of what is a decentralized
 

00:00:51.719 --> 00:00:54.410 align:start position:0%
set a context of what is a decentralized
roll<00:00:51.960><c> up</c><00:00:52.140><c> we</c><00:00:52.800><c> have</c><00:00:52.980><c> users</c><00:00:53.340><c> we</c><00:00:53.879><c> have</c><00:00:54.000><c> rollup</c>

00:00:54.410 --> 00:00:54.420 align:start position:0%
roll up we have users we have rollup
 

00:00:54.420 --> 00:00:55.549 align:start position:0%
roll up we have users we have rollup
operators

00:00:55.549 --> 00:00:55.559 align:start position:0%
operators
 

00:00:55.559 --> 00:00:58.610 align:start position:0%
operators
um<00:00:55.620><c> and</c><00:00:56.160><c> we</c><00:00:56.280><c> have</c><00:00:56.399><c> ethereum</c><00:00:56.820><c> L1</c><00:00:57.300><c> and</c><00:00:57.960><c> in</c><00:00:58.500><c> this</c>

00:00:58.610 --> 00:00:58.620 align:start position:0%
um and we have ethereum L1 and in this
 

00:00:58.620 --> 00:01:01.250 align:start position:0%
um and we have ethereum L1 and in this
model<00:00:59.180><c> users</c><00:01:00.180><c> and</c><00:01:00.420><c> transactions</c><00:01:00.899><c> to</c><00:01:01.079><c> The</c>

00:01:01.250 --> 00:01:01.260 align:start position:0%
model users and transactions to The
 

00:01:01.260 --> 00:01:02.810 align:start position:0%
model users and transactions to The
Operators<00:01:01.680><c> operators</c><00:01:02.219><c> aggregate</c><00:01:02.640><c> those</c>

00:01:02.810 --> 00:01:02.820 align:start position:0%
Operators operators aggregate those
 

00:01:02.820 --> 00:01:04.670 align:start position:0%
Operators operators aggregate those
transactions<00:01:03.180><c> into</c><00:01:03.359><c> blocks</c><00:01:03.840><c> and</c><00:01:04.440><c> then</c><00:01:04.500><c> they</c>

00:01:04.670 --> 00:01:04.680 align:start position:0%
transactions into blocks and then they
 

00:01:04.680 --> 00:01:06.350 align:start position:0%
transactions into blocks and then they
submit<00:01:05.040><c> kind</c><00:01:05.220><c> of</c><00:01:05.339><c> the</c><00:01:05.400><c> state</c><00:01:05.580><c> Delta</c><00:01:06.060><c> in</c><00:01:06.180><c> a</c>

00:01:06.350 --> 00:01:06.360 align:start position:0%
submit kind of the state Delta in a
 

00:01:06.360 --> 00:01:08.210 align:start position:0%
submit kind of the state Delta in a
context<00:01:06.600><c> of</c><00:01:06.720><c> a</c><00:01:06.840><c> ZK</c><00:01:07.080><c> roll</c><00:01:07.260><c> up</c><00:01:07.439><c> with</c><00:01:07.560><c> a</c><00:01:07.680><c> ZK</c><00:01:07.979><c> proof</c>

00:01:08.210 --> 00:01:08.220 align:start position:0%
context of a ZK roll up with a ZK proof
 

00:01:08.220 --> 00:01:10.670 align:start position:0%
context of a ZK roll up with a ZK proof
to<00:01:08.400><c> A3</c><00:01:08.700><c> ml1</c><00:01:09.119><c> and</c><00:01:10.020><c> then</c>

00:01:10.670 --> 00:01:10.680 align:start position:0%
to A3 ml1 and then
 

00:01:10.680 --> 00:01:13.730 align:start position:0%
to A3 ml1 and then
um<00:01:11.240><c> uh</c><00:01:12.240><c> what</c><00:01:12.600><c> we</c><00:01:12.720><c> get</c><00:01:12.900><c> and</c><00:01:13.200><c> this</c><00:01:13.380><c> is</c><00:01:13.560><c> not</c>

00:01:13.730 --> 00:01:13.740 align:start position:0%
um uh what we get and this is not
 

00:01:13.740 --> 00:01:15.170 align:start position:0%
um uh what we get and this is not
specific<00:01:13.979><c> to</c><00:01:14.159><c> a</c><00:01:14.280><c> decentralized</c><00:01:14.640><c> roll-up</c><00:01:15.000><c> this</c>

00:01:15.170 --> 00:01:15.180 align:start position:0%
specific to a decentralized roll-up this
 

00:01:15.180 --> 00:01:17.990 align:start position:0%
specific to a decentralized roll-up this
is<00:01:15.299><c> a</c><00:01:15.479><c> true</c><00:01:15.600><c> for</c><00:01:15.780><c> any</c><00:01:15.900><c> roll-up</c><00:01:16.580><c> we</c><00:01:17.580><c> inherit</c>

00:01:17.990 --> 00:01:18.000 align:start position:0%
is a true for any roll-up we inherit
 

00:01:18.000 --> 00:01:19.910 align:start position:0%
is a true for any roll-up we inherit
security<00:01:18.119><c> from</c><00:01:18.479><c> ethereum</c>

00:01:19.910 --> 00:01:19.920 align:start position:0%
security from ethereum
 

00:01:19.920 --> 00:01:21.950 align:start position:0%
security from ethereum
um<00:01:19.979><c> what</c><00:01:20.759><c> is</c><00:01:20.880><c> specific</c><00:01:21.180><c> for</c><00:01:21.360><c> a</c><00:01:21.479><c> decentralized</c>

00:01:21.950 --> 00:01:21.960 align:start position:0%
um what is specific for a decentralized
 

00:01:21.960 --> 00:01:24.050 align:start position:0%
um what is specific for a decentralized
rollup<00:01:22.259><c> is</c><00:01:22.439><c> that</c><00:01:22.619><c> a</c><00:01:22.860><c> roll-up</c><00:01:23.220><c> is</c><00:01:23.460><c> has</c><00:01:23.700><c> its</c><00:01:24.000><c> own</c>

00:01:24.050 --> 00:01:24.060 align:start position:0%
rollup is that a roll-up is has its own
 

00:01:24.060 --> 00:01:27.109 align:start position:0%
rollup is that a roll-up is has its own
L2<00:01:24.540><c> chain</c><00:01:25.200><c> and</c><00:01:25.680><c> it's</c><00:01:26.220><c> um</c><00:01:26.220><c> its</c><00:01:26.700><c> own</c><00:01:26.759><c> consensus</c>

00:01:27.109 --> 00:01:27.119 align:start position:0%
L2 chain and it's um its own consensus
 

00:01:27.119 --> 00:01:28.730 align:start position:0%
L2 chain and it's um its own consensus
mechanism<00:01:27.540><c> because</c><00:01:27.780><c> the</c><00:01:28.020><c> operators</c><00:01:28.439><c> need</c><00:01:28.680><c> to</c>

00:01:28.730 --> 00:01:28.740 align:start position:0%
mechanism because the operators need to
 

00:01:28.740 --> 00:01:31.010 align:start position:0%
mechanism because the operators need to
agree<00:01:29.100><c> on</c><00:01:29.700><c> the</c><00:01:29.820><c> state</c><00:01:30.000><c> of</c><00:01:30.180><c> the</c><00:01:30.299><c> of</c><00:01:30.600><c> the</c><00:01:30.840><c> chain</c>

00:01:31.010 --> 00:01:31.020 align:start position:0%
agree on the state of the of the chain
 

00:01:31.020 --> 00:01:33.170 align:start position:0%
agree on the state of the of the chain
and<00:01:31.740><c> then</c><00:01:31.799><c> we</c><00:01:32.100><c> want</c><00:01:32.220><c> to</c><00:01:32.340><c> have</c><00:01:32.520><c> these</c><00:01:32.820><c> operators</c>

00:01:33.170 --> 00:01:33.180 align:start position:0%
and then we want to have these operators
 

00:01:33.180 --> 00:01:35.210 align:start position:0%
and then we want to have these operators
to<00:01:33.479><c> be</c><00:01:33.720><c> the</c><00:01:34.380><c> set</c><00:01:34.560><c> of</c><00:01:34.680><c> operators</c><00:01:34.979><c> to</c><00:01:35.159><c> be</c>

00:01:35.210 --> 00:01:35.220 align:start position:0%
to be the set of operators to be
 

00:01:35.220 --> 00:01:36.649 align:start position:0%
to be the set of operators to be
permissionless<00:01:35.640><c> meaning</c><00:01:35.880><c> anybody</c><00:01:36.240><c> can</c><00:01:36.420><c> join</c>

00:01:36.649 --> 00:01:36.659 align:start position:0%
permissionless meaning anybody can join
 

00:01:36.659 --> 00:01:39.890 align:start position:0%
permissionless meaning anybody can join
and<00:01:36.780><c> leave</c><00:01:36.960><c> the</c><00:01:37.140><c> set</c><00:01:37.259><c> as</c><00:01:37.560><c> they</c><00:01:37.680><c> please</c>

00:01:39.890 --> 00:01:39.900 align:start position:0%
 
 

00:01:39.900 --> 00:01:41.870 align:start position:0%
 
um now<00:01:40.200><c> compared</c><00:01:40.619><c> to</c><00:01:40.740><c> a</c><00:01:41.040><c> centralized</c><00:01:41.520><c> roll-up</c>

00:01:41.870 --> 00:01:41.880 align:start position:0%
um now compared to a centralized roll-up
 

00:01:41.880 --> 00:01:44.149 align:start position:0%
um now compared to a centralized roll-up
where<00:01:42.060><c> we</c><00:01:42.240><c> have</c><00:01:42.360><c> only</c><00:01:42.479><c> one</c><00:01:42.659><c> operator</c><00:01:43.159><c> a</c>

00:01:44.149 --> 00:01:44.159 align:start position:0%
where we have only one operator a
 

00:01:44.159 --> 00:01:45.410 align:start position:0%
where we have only one operator a
decentralized<00:01:44.579><c> rollup</c><00:01:45.000><c> has</c><00:01:45.119><c> a</c><00:01:45.180><c> number</c><00:01:45.299><c> of</c>

00:01:45.410 --> 00:01:45.420 align:start position:0%
decentralized rollup has a number of
 

00:01:45.420 --> 00:01:46.850 align:start position:0%
decentralized rollup has a number of
challenges<00:01:45.780><c> and</c><00:01:46.020><c> the</c><00:01:46.200><c> most</c><00:01:46.259><c> important</c><00:01:46.560><c> ones</c>

00:01:46.850 --> 00:01:46.860 align:start position:0%
challenges and the most important ones
 

00:01:46.860 --> 00:01:47.870 align:start position:0%
challenges and the most important ones
are

00:01:47.870 --> 00:01:47.880 align:start position:0%
are
 

00:01:47.880 --> 00:01:49.130 align:start position:0%
are
um<00:01:47.939><c> you</c><00:01:48.119><c> know</c><00:01:48.180><c> you</c><00:01:48.420><c> need</c><00:01:48.600><c> to</c><00:01:48.720><c> have</c><00:01:48.840><c> a</c><00:01:48.960><c> separate</c>

00:01:49.130 --> 00:01:49.140 align:start position:0%
um you know you need to have a separate
 

00:01:49.140 --> 00:01:51.109 align:start position:0%
um you know you need to have a separate
consensus<00:01:49.560><c> mechanism</c>

00:01:51.109 --> 00:01:51.119 align:start position:0%
consensus mechanism
 

00:01:51.119 --> 00:01:53.090 align:start position:0%
consensus mechanism
um<00:01:51.180><c> you</c><00:01:51.420><c> need</c><00:01:51.540><c> you</c><00:01:51.899><c> also</c><00:01:52.140><c> have</c><00:01:52.259><c> this</c><00:01:52.619><c> execution</c>

00:01:53.090 --> 00:01:53.100 align:start position:0%
um you need you also have this execution
 

00:01:53.100 --> 00:01:54.590 align:start position:0%
um you need you also have this execution
bloat<00:01:53.460><c> problem</c><00:01:53.579><c> and</c><00:01:53.820><c> I'll</c><00:01:53.939><c> explain</c><00:01:54.119><c> what</c><00:01:54.420><c> it</c>

00:01:54.590 --> 00:01:54.600 align:start position:0%
bloat problem and I'll explain what it
 

00:01:54.600 --> 00:01:57.350 align:start position:0%
bloat problem and I'll explain what it
is<00:01:54.720><c> in</c><00:01:55.380><c> a</c><00:01:55.619><c> couple</c><00:01:55.860><c> of</c><00:01:56.040><c> seconds</c><00:01:56.340><c> and</c><00:01:57.119><c> then</c><00:01:57.240><c> you</c>

00:01:57.350 --> 00:01:57.360 align:start position:0%
is in a couple of seconds and then you
 

00:01:57.360 --> 00:02:00.170 align:start position:0%
is in a couple of seconds and then you
have<00:01:57.479><c> a</c><00:01:57.540><c> state</c><00:01:57.659><c> load</c><00:01:58.020><c> problem</c><00:01:58.680><c> so</c><00:01:59.100><c> in</c><00:01:59.280><c> this</c><00:01:59.579><c> uh</c>

00:02:00.170 --> 00:02:00.180 align:start position:0%
have a state load problem so in this uh
 

00:02:00.180 --> 00:02:01.730 align:start position:0%
have a state load problem so in this uh
talk<00:02:00.479><c> in</c><00:02:00.960><c> this</c><00:02:01.020><c> talk</c><00:02:01.140><c> I'm</c><00:02:01.380><c> going</c><00:02:01.500><c> to</c><00:02:01.560><c> talk</c>

00:02:01.730 --> 00:02:01.740 align:start position:0%
talk in this talk I'm going to talk
 

00:02:01.740 --> 00:02:03.469 align:start position:0%
talk in this talk I'm going to talk
about<00:02:01.860><c> specifically</c><00:02:02.579><c> execution</c><00:02:02.939><c> bloat</c><00:02:03.360><c> and</c>

00:02:03.469 --> 00:02:03.479 align:start position:0%
about specifically execution bloat and
 

00:02:03.479 --> 00:02:05.990 align:start position:0%
about specifically execution bloat and
state<00:02:03.600><c> load</c><00:02:03.960><c> and</c><00:02:04.860><c> so</c><00:02:05.159><c> let's</c><00:02:05.340><c> get</c><00:02:05.579><c> into</c><00:02:05.700><c> it</c><00:02:05.880><c> so</c>

00:02:05.990 --> 00:02:06.000 align:start position:0%
state load and so let's get into it so
 

00:02:06.000 --> 00:02:08.570 align:start position:0%
state load and so let's get into it so
what<00:02:06.299><c> is</c><00:02:06.479><c> execution</c><00:02:07.259><c> bloat</c><00:02:07.680><c> an</c><00:02:08.160><c> execution</c>

00:02:08.570 --> 00:02:08.580 align:start position:0%
what is execution bloat an execution
 

00:02:08.580 --> 00:02:09.830 align:start position:0%
what is execution bloat an execution
load<00:02:08.940><c> basically</c><00:02:09.179><c> means</c><00:02:09.420><c> that</c><00:02:09.539><c> the</c><00:02:09.660><c> network</c>

00:02:09.830 --> 00:02:09.840 align:start position:0%
load basically means that the network
 

00:02:09.840 --> 00:02:11.570 align:start position:0%
load basically means that the network
needs<00:02:10.200><c> to</c><00:02:10.319><c> execute</c><00:02:10.739><c> all</c><00:02:10.920><c> the</c><00:02:11.039><c> transactions</c>

00:02:11.570 --> 00:02:11.580 align:start position:0%
needs to execute all the transactions
 

00:02:11.580 --> 00:02:13.850 align:start position:0%
needs to execute all the transactions
and<00:02:11.940><c> more</c><00:02:12.120><c> specifically</c><00:02:12.599><c> a</c><00:02:13.260><c> block</c><00:02:13.440><c> producer</c>

00:02:13.850 --> 00:02:13.860 align:start position:0%
and more specifically a block producer
 

00:02:13.860 --> 00:02:15.229 align:start position:0%
and more specifically a block producer
needs<00:02:14.160><c> to</c><00:02:14.220><c> execute</c><00:02:14.459><c> on</c><00:02:14.580><c> the</c><00:02:14.760><c> transactions</c><00:02:15.120><c> in</c>

00:02:15.229 --> 00:02:15.239 align:start position:0%
needs to execute on the transactions in
 

00:02:15.239 --> 00:02:17.930 align:start position:0%
needs to execute on the transactions in
the<00:02:15.420><c> block</c><00:02:15.540><c> but</c><00:02:16.319><c> also</c><00:02:16.739><c> everybody</c><00:02:17.340><c> else</c><00:02:17.640><c> in</c><00:02:17.819><c> the</c>

00:02:17.930 --> 00:02:17.940 align:start position:0%
the block but also everybody else in the
 

00:02:17.940 --> 00:02:19.250 align:start position:0%
the block but also everybody else in the
network<00:02:18.120><c> needs</c><00:02:18.480><c> to</c><00:02:18.540><c> re-execute</c><00:02:19.140><c> the</c>

00:02:19.250 --> 00:02:19.260 align:start position:0%
network needs to re-execute the
 

00:02:19.260 --> 00:02:20.510 align:start position:0%
network needs to re-execute the
transactions<00:02:19.620><c> to</c><00:02:19.739><c> make</c><00:02:19.860><c> sure</c><00:02:19.980><c> that</c><00:02:20.099><c> block</c><00:02:20.340><c> is</c>

00:02:20.510 --> 00:02:20.520 align:start position:0%
transactions to make sure that block is
 

00:02:20.520 --> 00:02:22.610 align:start position:0%
transactions to make sure that block is
valid<00:02:20.819><c> and</c><00:02:21.420><c> you</c><00:02:21.599><c> know</c><00:02:21.720><c> that</c><00:02:21.900><c> leads</c><00:02:22.319><c> to</c><00:02:22.379><c> a</c><00:02:22.560><c> lot</c>

00:02:22.610 --> 00:02:22.620 align:start position:0%
valid and you know that leads to a lot
 

00:02:22.620 --> 00:02:24.050 align:start position:0%
valid and you know that leads to a lot
of<00:02:22.680><c> free</c><00:02:22.800><c> executing</c><00:02:23.280><c> the</c><00:02:23.400><c> same</c><00:02:23.520><c> code</c><00:02:23.640><c> over</c><00:02:23.879><c> and</c>

00:02:24.050 --> 00:02:24.060 align:start position:0%
of free executing the same code over and
 

00:02:24.060 --> 00:02:26.869 align:start position:0%
of free executing the same code over and
over<00:02:24.180><c> again</c><00:02:24.379><c> what</c><00:02:25.379><c> is</c><00:02:25.500><c> State</c><00:02:25.620><c> load</c><00:02:25.980><c> I'm</c><00:02:26.580><c> sure</c><00:02:26.760><c> a</c>

00:02:26.869 --> 00:02:26.879 align:start position:0%
over again what is State load I'm sure a
 

00:02:26.879 --> 00:02:27.949 align:start position:0%
over again what is State load I'm sure a
lot<00:02:26.940><c> of</c><00:02:27.000><c> you</c><00:02:27.120><c> are</c><00:02:27.239><c> familiar</c><00:02:27.480><c> with</c><00:02:27.599><c> that</c><00:02:27.780><c> this</c>

00:02:27.949 --> 00:02:27.959 align:start position:0%
lot of you are familiar with that this
 

00:02:27.959 --> 00:02:30.050 align:start position:0%
lot of you are familiar with that this
is<00:02:28.140><c> basically</c><00:02:28.440><c> means</c><00:02:28.739><c> that</c><00:02:28.860><c> state</c><00:02:29.160><c> size</c><00:02:29.700><c> grows</c>

00:02:30.050 --> 00:02:30.060 align:start position:0%
is basically means that state size grows
 

00:02:30.060 --> 00:02:31.490 align:start position:0%
is basically means that state size grows
with<00:02:30.239><c> time</c><00:02:30.420><c> the</c><00:02:30.720><c> more</c><00:02:30.840><c> accounts</c><00:02:31.260><c> there</c><00:02:31.379><c> are</c>

00:02:31.490 --> 00:02:31.500 align:start position:0%
with time the more accounts there are
 

00:02:31.500 --> 00:02:33.410 align:start position:0%
with time the more accounts there are
the<00:02:31.739><c> more</c><00:02:31.920><c> tokens</c><00:02:32.400><c> accounts</c><00:02:32.819><c> hold</c><00:02:32.940><c> and</c><00:02:33.180><c> all</c><00:02:33.300><c> of</c>

00:02:33.410 --> 00:02:33.420 align:start position:0%
the more tokens accounts hold and all of
 

00:02:33.420 --> 00:02:35.869 align:start position:0%
the more tokens accounts hold and all of
that<00:02:33.800><c> you</c><00:02:34.800><c> know</c><00:02:34.860><c> the</c><00:02:34.980><c> state</c><00:02:35.099><c> size</c><00:02:35.340><c> increases</c>

00:02:35.869 --> 00:02:35.879 align:start position:0%
that you know the state size increases
 

00:02:35.879 --> 00:02:38.330 align:start position:0%
that you know the state size increases
and<00:02:36.420><c> the</c><00:02:36.599><c> reason</c><00:02:36.720><c> why</c><00:02:37.020><c> we</c><00:02:37.260><c> can't</c><00:02:37.500><c> do</c><00:02:37.860><c> much</c><00:02:38.099><c> with</c>

00:02:38.330 --> 00:02:38.340 align:start position:0%
and the reason why we can't do much with
 

00:02:38.340 --> 00:02:41.210 align:start position:0%
and the reason why we can't do much with
about<00:02:38.640><c> that</c><00:02:38.819><c> is</c><00:02:39.000><c> that</c><00:02:39.379><c> nodes</c><00:02:40.379><c> or</c><00:02:40.739><c> operators</c>

00:02:41.210 --> 00:02:41.220 align:start position:0%
about that is that nodes or operators
 

00:02:41.220 --> 00:02:43.070 align:start position:0%
about that is that nodes or operators
need<00:02:41.580><c> to</c><00:02:41.700><c> be</c><00:02:41.879><c> able</c><00:02:42.060><c> need</c><00:02:42.300><c> to</c><00:02:42.480><c> hold</c><00:02:42.780><c> the</c><00:02:42.959><c> full</c>

00:02:43.070 --> 00:02:43.080 align:start position:0%
need to be able need to hold the full
 

00:02:43.080 --> 00:02:46.130 align:start position:0%
need to be able need to hold the full
state<00:02:43.260><c> to</c><00:02:43.500><c> be</c><00:02:43.620><c> able</c><00:02:43.739><c> to</c><00:02:43.920><c> validate</c><00:02:44.340><c> the</c><00:02:45.000><c> blocks</c>

00:02:46.130 --> 00:02:46.140 align:start position:0%
state to be able to validate the blocks
 

00:02:46.140 --> 00:02:48.830 align:start position:0%
state to be able to validate the blocks
and<00:02:47.099><c> nodes</c><00:02:47.819><c> need</c><00:02:48.060><c> the</c><00:02:48.239><c> full</c><00:02:48.300><c> state</c><00:02:48.480><c> to</c><00:02:48.660><c> be</c><00:02:48.780><c> able</c>

00:02:48.830 --> 00:02:48.840 align:start position:0%
and nodes need the full state to be able
 

00:02:48.840 --> 00:02:50.330 align:start position:0%
and nodes need the full state to be able
to<00:02:48.959><c> produce</c><00:02:49.200><c> new</c><00:02:49.440><c> blocks</c>

00:02:50.330 --> 00:02:50.340 align:start position:0%
to produce new blocks
 

00:02:50.340 --> 00:02:52.670 align:start position:0%
to produce new blocks
now<00:02:50.819><c> why</c><00:02:51.180><c> are</c><00:02:51.360><c> these</c><00:02:51.599><c> things</c><00:02:51.660><c> bad</c><00:02:51.900><c> like</c><00:02:52.200><c> I</c><00:02:52.560><c> said</c>

00:02:52.670 --> 00:02:52.680 align:start position:0%
now why are these things bad like I said
 

00:02:52.680 --> 00:02:54.229 align:start position:0%
now why are these things bad like I said
there<00:02:52.860><c> are</c><00:02:52.980><c> challenges</c><00:02:53.340><c> so</c><00:02:53.519><c> why</c><00:02:53.760><c> exactly</c><00:02:54.120><c> are</c>

00:02:54.229 --> 00:02:54.239 align:start position:0%
there are challenges so why exactly are
 

00:02:54.239 --> 00:02:56.630 align:start position:0%
there are challenges so why exactly are
they<00:02:54.360><c> challenges</c><00:02:54.720><c> so</c><00:02:54.900><c> the</c><00:02:55.019><c> first</c><00:02:55.200><c> thing</c><00:02:55.379><c> is</c>

00:02:56.630 --> 00:02:56.640 align:start position:0%
they challenges so the first thing is
 

00:02:56.640 --> 00:02:58.070 align:start position:0%
they challenges so the first thing is
um if<00:02:56.940><c> you</c><00:02:57.060><c> have</c><00:02:57.180><c> state</c><00:02:57.360><c> load</c><00:02:57.720><c> and</c><00:02:57.780><c> execution</c>

00:02:58.070 --> 00:02:58.080 align:start position:0%
um if you have state load and execution
 

00:02:58.080 --> 00:02:59.930 align:start position:0%
um if you have state load and execution
bloat<00:02:58.440><c> you</c><00:02:58.560><c> need</c><00:02:58.680><c> powerful</c><00:02:59.040><c> machines</c><00:02:59.400><c> to</c><00:02:59.640><c> like</c>

00:02:59.930 --> 00:02:59.940 align:start position:0%
bloat you need powerful machines to like
 

00:02:59.940 --> 00:03:01.190 align:start position:0%
bloat you need powerful machines to like
let's<00:03:00.300><c> say</c><00:03:00.420><c> we</c><00:03:00.599><c> have</c><00:03:00.720><c> thousands</c><00:03:01.140><c> and</c>

00:03:01.190 --> 00:03:01.200 align:start position:0%
let's say we have thousands and
 

00:03:01.200 --> 00:03:02.630 align:start position:0%
let's say we have thousands and
transactions<00:03:01.739><c> per</c><00:03:01.860><c> second</c><00:03:01.980><c> you</c><00:03:02.280><c> need</c><00:03:02.459><c> a</c>

00:03:02.630 --> 00:03:02.640 align:start position:0%
transactions per second you need a
 

00:03:02.640 --> 00:03:04.070 align:start position:0%
transactions per second you need a
powerful<00:03:02.819><c> powerful</c><00:03:03.360><c> machine</c><00:03:03.540><c> to</c><00:03:03.840><c> process</c>

00:03:04.070 --> 00:03:04.080 align:start position:0%
powerful powerful machine to process
 

00:03:04.080 --> 00:03:05.750 align:start position:0%
powerful powerful machine to process
that<00:03:04.319><c> if</c><00:03:04.860><c> you</c><00:03:04.980><c> have</c><00:03:05.099><c> a</c><00:03:05.280><c> large</c><00:03:05.340><c> you</c><00:03:05.700><c> know</c>

00:03:05.750 --> 00:03:05.760 align:start position:0%
that if you have a large you know
 

00:03:05.760 --> 00:03:07.610 align:start position:0%
that if you have a large you know
terabyte<00:03:06.239><c> size</c><00:03:06.420><c> State</c><00:03:06.720><c> you</c><00:03:07.140><c> need</c><00:03:07.260><c> a</c><00:03:07.440><c> large</c>

00:03:07.610 --> 00:03:07.620 align:start position:0%
terabyte size State you need a large
 

00:03:07.620 --> 00:03:10.130 align:start position:0%
terabyte size State you need a large
machine<00:03:07.860><c> to</c><00:03:08.340><c> hold</c><00:03:09.000><c> that</c><00:03:09.180><c> in</c><00:03:09.420><c> memory</c><00:03:09.599><c> and</c><00:03:10.019><c> that</c>

00:03:10.130 --> 00:03:10.140 align:start position:0%
machine to hold that in memory and that
 

00:03:10.140 --> 00:03:11.509 align:start position:0%
machine to hold that in memory and that
leads<00:03:10.379><c> to</c><00:03:10.440><c> essentialization</c><00:03:11.099><c> and</c><00:03:11.280><c> if</c><00:03:11.400><c> you</c>

00:03:11.509 --> 00:03:11.519 align:start position:0%
leads to essentialization and if you
 

00:03:11.519 --> 00:03:12.530 align:start position:0%
leads to essentialization and if you
don't<00:03:11.640><c> have</c><00:03:11.760><c> good</c><00:03:11.940><c> solutions</c><00:03:12.239><c> to</c><00:03:12.420><c> this</c>

00:03:12.530 --> 00:03:12.540 align:start position:0%
don't have good solutions to this
 

00:03:12.540 --> 00:03:13.910 align:start position:0%
don't have good solutions to this
problem<00:03:12.720><c> you</c><00:03:13.019><c> might</c><00:03:13.080><c> as</c><00:03:13.200><c> well</c><00:03:13.319><c> just</c><00:03:13.440><c> build</c><00:03:13.620><c> a</c>

00:03:13.910 --> 00:03:13.920 align:start position:0%
problem you might as well just build a
 

00:03:13.920 --> 00:03:15.530 align:start position:0%
problem you might as well just build a
centralized<00:03:14.220><c> roll</c><00:03:14.459><c> up</c><00:03:14.640><c> uh</c><00:03:15.120><c> the</c><00:03:15.239><c> other</c><00:03:15.360><c> one</c>

00:03:15.530 --> 00:03:15.540 align:start position:0%
centralized roll up uh the other one
 

00:03:15.540 --> 00:03:16.910 align:start position:0%
centralized roll up uh the other one
because<00:03:15.659><c> everyone</c><00:03:16.019><c> sees</c><00:03:16.500><c> everything</c><00:03:16.680><c> and</c>

00:03:16.910 --> 00:03:16.920 align:start position:0%
because everyone sees everything and
 

00:03:16.920 --> 00:03:17.930 align:start position:0%
because everyone sees everything and
everybody<00:03:17.099><c> needs</c><00:03:17.459><c> to</c><00:03:17.519><c> re-execute</c>

00:03:17.930 --> 00:03:17.940 align:start position:0%
everybody needs to re-execute
 

00:03:17.940 --> 00:03:19.550 align:start position:0%
everybody needs to re-execute
transactions<00:03:18.420><c> and</c><00:03:18.659><c> have</c><00:03:18.959><c> the</c><00:03:19.140><c> full</c><00:03:19.319><c> State</c>

00:03:19.550 --> 00:03:19.560 align:start position:0%
transactions and have the full State
 

00:03:19.560 --> 00:03:23.030 align:start position:0%
transactions and have the full State
there<00:03:20.519><c> is</c><00:03:20.700><c> inherently</c><00:03:21.300><c> less</c><00:03:21.480><c> privacy</c><00:03:21.959><c> in</c><00:03:22.860><c> this</c>

00:03:23.030 --> 00:03:23.040 align:start position:0%
there is inherently less privacy in this
 

00:03:23.040 --> 00:03:24.649 align:start position:0%
there is inherently less privacy in this
uh<00:03:23.280><c> in</c><00:03:23.519><c> the</c><00:03:23.580><c> setup</c>

00:03:24.649 --> 00:03:24.659 align:start position:0%
uh in the setup
 

00:03:24.659 --> 00:03:27.949 align:start position:0%
uh in the setup
and<00:03:25.440><c> last</c><00:03:25.860><c> one</c><00:03:26.099><c> is</c><00:03:26.340><c> especially</c><00:03:26.819><c> specific</c><00:03:27.720><c> to</c>

00:03:27.949 --> 00:03:27.959 align:start position:0%
and last one is especially specific to
 

00:03:27.959 --> 00:03:29.930 align:start position:0%
and last one is especially specific to
State<00:03:28.319><c> load</c><00:03:28.739><c> this</c><00:03:29.099><c> is</c><00:03:29.159><c> not</c><00:03:29.400><c> sustainable</c><00:03:29.760><c> if</c>

00:03:29.930 --> 00:03:29.940 align:start position:0%
State load this is not sustainable if
 

00:03:29.940 --> 00:03:31.610 align:start position:0%
State load this is not sustainable if
the<00:03:30.060><c> state</c><00:03:30.180><c> grows</c><00:03:30.480><c> you</c><00:03:30.659><c> can</c><00:03:30.840><c> you</c><00:03:31.080><c> know</c><00:03:31.140><c> scale</c>

00:03:31.610 --> 00:03:31.620 align:start position:0%
the state grows you can you know scale
 

00:03:31.620 --> 00:03:32.930 align:start position:0%
the state grows you can you know scale
the<00:03:31.739><c> role</c><00:03:31.980><c> up</c><00:03:32.099><c> only</c><00:03:32.159><c> as</c><00:03:32.400><c> fast</c><00:03:32.519><c> as</c><00:03:32.640><c> the</c><00:03:32.760><c> hardware</c>

00:03:32.930 --> 00:03:32.940 align:start position:0%
the role up only as fast as the hardware
 

00:03:32.940 --> 00:03:34.910 align:start position:0%
the role up only as fast as the hardware
scales<00:03:33.360><c> you</c><00:03:33.480><c> can</c><00:03:33.599><c> you</c><00:03:33.780><c> can</c><00:03:33.959><c> go</c><00:03:34.260><c> uh</c><00:03:34.680><c> like</c><00:03:34.860><c> a</c>

00:03:34.910 --> 00:03:34.920 align:start position:0%
scales you can you can go uh like a
 

00:03:34.920 --> 00:03:35.930 align:start position:0%
scales you can you can go uh like a
Hardware<00:03:35.040><c> in</c><00:03:35.280><c> a</c><00:03:35.400><c> single</c><00:03:35.580><c> machine</c><00:03:35.700><c> or</c>

00:03:35.930 --> 00:03:35.940 align:start position:0%
Hardware in a single machine or
 

00:03:35.940 --> 00:03:37.190 align:start position:0%
Hardware in a single machine or
something<00:03:36.060><c> like</c><00:03:36.239><c> that</c>

00:03:37.190 --> 00:03:37.200 align:start position:0%
something like that
 

00:03:37.200 --> 00:03:38.809 align:start position:0%
something like that
um<00:03:37.260><c> so</c><00:03:37.680><c> what</c><00:03:37.800><c> do</c><00:03:37.920><c> we</c><00:03:38.040><c> want</c><00:03:38.159><c> to</c><00:03:38.280><c> achieve</c><00:03:38.519><c> what</c><00:03:38.640><c> is</c>

00:03:38.809 --> 00:03:38.819 align:start position:0%
um so what do we want to achieve what is
 

00:03:38.819 --> 00:03:41.030 align:start position:0%
um so what do we want to achieve what is
the<00:03:38.940><c> ideal</c><00:03:39.239><c> solution</c><00:03:39.599><c> to</c><00:03:39.840><c> this</c><00:03:40.019><c> so</c><00:03:40.799><c> the</c><00:03:40.920><c> first</c>

00:03:41.030 --> 00:03:41.040 align:start position:0%
the ideal solution to this so the first
 

00:03:41.040 --> 00:03:42.289 align:start position:0%
the ideal solution to this so the first
thing<00:03:41.159><c> we</c><00:03:41.340><c> want</c><00:03:41.459><c> to</c><00:03:41.580><c> minimize</c><00:03:41.879><c> execution</c>

00:03:42.289 --> 00:03:42.299 align:start position:0%
thing we want to minimize execution
 

00:03:42.299 --> 00:03:44.210 align:start position:0%
thing we want to minimize execution
bloat<00:03:42.659><c> and</c><00:03:42.840><c> that</c><00:03:43.019><c> means</c><00:03:43.260><c> we</c><00:03:43.799><c> want</c><00:03:43.860><c> to</c><00:03:43.980><c> execute</c>

00:03:44.210 --> 00:03:44.220 align:start position:0%
bloat and that means we want to execute
 

00:03:44.220 --> 00:03:46.970 align:start position:0%
bloat and that means we want to execute
transaction<00:03:44.580><c> only</c><00:03:44.879><c> once</c><00:03:45.720><c> and</c><00:03:46.319><c> also</c><00:03:46.680><c> we</c><00:03:46.799><c> want</c>

00:03:46.970 --> 00:03:46.980 align:start position:0%
transaction only once and also we want
 

00:03:46.980 --> 00:03:48.350 align:start position:0%
transaction only once and also we want
to<00:03:47.099><c> make</c><00:03:47.159><c> sure</c><00:03:47.340><c> that</c><00:03:47.580><c> it</c><00:03:47.879><c> doesn't</c><00:03:48.000><c> have</c><00:03:48.180><c> to</c><00:03:48.239><c> be</c>

00:03:48.350 --> 00:03:48.360 align:start position:0%
to make sure that it doesn't have to be
 

00:03:48.360 --> 00:03:50.210 align:start position:0%
to make sure that it doesn't have to be
executed<00:03:48.840><c> by</c><00:03:49.019><c> the</c><00:03:49.200><c> same</c><00:03:49.379><c> party</c><00:03:49.680><c> so</c><00:03:49.980><c> it's</c><00:03:50.099><c> not</c>

00:03:50.210 --> 00:03:50.220 align:start position:0%
executed by the same party so it's not
 

00:03:50.220 --> 00:03:51.410 align:start position:0%
executed by the same party so it's not
the<00:03:50.340><c> same</c><00:03:50.400><c> block</c><00:03:50.580><c> producer</c><00:03:51.060><c> that</c><00:03:51.180><c> needs</c><00:03:51.360><c> to</c>

00:03:51.410 --> 00:03:51.420 align:start position:0%
the same block producer that needs to
 

00:03:51.420 --> 00:03:52.789 align:start position:0%
the same block producer that needs to
execute<00:03:51.659><c> all</c><00:03:51.780><c> transactions</c><00:03:52.260><c> we</c><00:03:52.379><c> want</c><00:03:52.560><c> to</c><00:03:52.620><c> have</c>

00:03:52.789 --> 00:03:52.799 align:start position:0%
execute all transactions we want to have
 

00:03:52.799 --> 00:03:54.289 align:start position:0%
execute all transactions we want to have
distinct<00:03:53.220><c> actors</c><00:03:53.580><c> in</c><00:03:53.700><c> a</c><00:03:53.819><c> network</c><00:03:53.940><c> that</c><00:03:54.180><c> can</c>

00:03:54.289 --> 00:03:54.299 align:start position:0%
distinct actors in a network that can
 

00:03:54.299 --> 00:03:56.330 align:start position:0%
distinct actors in a network that can
execute<00:03:54.659><c> transactions</c><00:03:55.200><c> we</c><00:03:55.920><c> also</c><00:03:56.159><c> want</c><00:03:56.220><c> to</c>

00:03:56.330 --> 00:03:56.340 align:start position:0%
execute transactions we also want to
 

00:03:56.340 --> 00:03:58.149 align:start position:0%
execute transactions we also want to
minimize<00:03:56.640><c> the</c><00:03:56.760><c> state</c><00:03:56.879><c> load</c><00:03:57.239><c> and</c><00:03:57.360><c> that</c><00:03:57.540><c> means</c>

00:03:58.149 --> 00:03:58.159 align:start position:0%
minimize the state load and that means
 

00:03:58.159 --> 00:04:00.410 align:start position:0%
minimize the state load and that means
we<00:03:59.159><c> don't</c><00:03:59.340><c> want</c><00:03:59.700><c> to</c><00:03:59.819><c> enforce</c><00:04:00.180><c> the</c><00:04:00.360><c> condition</c>

00:04:00.410 --> 00:04:00.420 align:start position:0%
we don't want to enforce the condition
 

00:04:00.420 --> 00:04:01.789 align:start position:0%
we don't want to enforce the condition
where<00:04:00.720><c> you</c><00:04:00.840><c> need</c><00:04:00.959><c> to</c><00:04:01.080><c> know</c><00:04:01.200><c> the</c><00:04:01.319><c> full</c><00:04:01.440><c> state</c><00:04:01.620><c> to</c>

00:04:01.789 --> 00:04:01.799 align:start position:0%
where you need to know the full state to
 

00:04:01.799 --> 00:04:03.890 align:start position:0%
where you need to know the full state to
validate<00:04:02.159><c> blocks</c><00:04:02.580><c> and</c><00:04:03.120><c> we</c><00:04:03.360><c> also</c><00:04:03.599><c> don't</c><00:04:03.720><c> want</c>

00:04:03.890 --> 00:04:03.900 align:start position:0%
validate blocks and we also don't want
 

00:04:03.900 --> 00:04:05.270 align:start position:0%
validate blocks and we also don't want
to<00:04:04.019><c> enforce</c><00:04:04.379><c> the</c><00:04:04.500><c> condition</c><00:04:04.799><c> where</c><00:04:05.099><c> you</c><00:04:05.220><c> need</c>

00:04:05.270 --> 00:04:05.280 align:start position:0%
to enforce the condition where you need
 

00:04:05.280 --> 00:04:06.530 align:start position:0%
to enforce the condition where you need
to<00:04:05.400><c> know</c><00:04:05.519><c> the</c><00:04:05.640><c> full</c><00:04:05.760><c> state</c><00:04:05.940><c> to</c><00:04:06.120><c> produce</c><00:04:06.360><c> new</c>

00:04:06.530 --> 00:04:06.540 align:start position:0%
to know the full state to produce new
 

00:04:06.540 --> 00:04:09.830 align:start position:0%
to know the full state to produce new
blocks<00:04:07.340><c> zkps</c><00:04:08.340><c> can</c><00:04:08.640><c> give</c><00:04:08.879><c> us</c><00:04:09.120><c> you</c><00:04:09.480><c> know</c><00:04:09.540><c> these</c>

00:04:09.830 --> 00:04:09.840 align:start position:0%
blocks zkps can give us you know these
 

00:04:09.840 --> 00:04:12.170 align:start position:0%
blocks zkps can give us you know these
two<00:04:09.900><c> upper</c><00:04:10.260><c> properties</c><00:04:10.680><c> if</c><00:04:11.459><c> you</c><00:04:11.580><c> have</c><00:04:11.700><c> the</c><00:04:11.819><c> KPS</c>

00:04:12.170 --> 00:04:12.180 align:start position:0%
two upper properties if you have the KPS
 

00:04:12.180 --> 00:04:14.149 align:start position:0%
two upper properties if you have the KPS
you<00:04:13.019><c> can</c><00:04:13.140><c> you</c><00:04:13.260><c> know</c><00:04:13.379><c> produce</c><00:04:13.680><c> a</c><00:04:13.860><c> proof</c><00:04:14.099><c> of</c>

00:04:14.149 --> 00:04:14.159 align:start position:0%
you can you know produce a proof of
 

00:04:14.159 --> 00:04:15.410 align:start position:0%
you can you know produce a proof of
execution<00:04:14.459><c> for</c><00:04:14.700><c> example</c><00:04:14.879><c> and</c><00:04:15.060><c> you</c><00:04:15.239><c> don't</c><00:04:15.299><c> need</c>

00:04:15.410 --> 00:04:15.420 align:start position:0%
execution for example and you don't need
 

00:04:15.420 --> 00:04:16.729 align:start position:0%
execution for example and you don't need
to<00:04:15.540><c> re-execute</c><00:04:15.959><c> the</c><00:04:16.019><c> same</c><00:04:16.139><c> transaction</c><00:04:16.500><c> over</c>

00:04:16.729 --> 00:04:16.739 align:start position:0%
to re-execute the same transaction over
 

00:04:16.739 --> 00:04:18.590 align:start position:0%
to re-execute the same transaction over
and<00:04:16.859><c> over</c><00:04:17.040><c> again</c><00:04:17.160><c> but</c><00:04:17.880><c> to</c><00:04:18.120><c> achieve</c><00:04:18.359><c> the</c><00:04:18.479><c> other</c>

00:04:18.590 --> 00:04:18.600 align:start position:0%
and over again but to achieve the other
 

00:04:18.600 --> 00:04:19.729 align:start position:0%
and over again but to achieve the other
two<00:04:18.780><c> properties</c><00:04:19.079><c> you</c><00:04:19.260><c> need</c><00:04:19.380><c> something</c><00:04:19.560><c> else</c>

00:04:19.729 --> 00:04:19.739 align:start position:0%
two properties you need something else
 

00:04:19.739 --> 00:04:21.650 align:start position:0%
two properties you need something else
zkp<00:04:20.459><c> is</c><00:04:20.519><c> alone</c><00:04:20.699><c> are</c><00:04:21.000><c> not</c><00:04:21.180><c> enough</c><00:04:21.299><c> you</c><00:04:21.540><c> need</c>

00:04:21.650 --> 00:04:21.660 align:start position:0%
zkp is alone are not enough you need
 

00:04:21.660 --> 00:04:24.469 align:start position:0%
zkp is alone are not enough you need
what<00:04:21.900><c> I</c><00:04:22.079><c> call</c><00:04:22.199><c> a</c><00:04:22.320><c> concurrent</c><00:04:22.800><c> State</c><00:04:23.340><c> model</c><00:04:23.580><c> and</c>

00:04:24.469 --> 00:04:24.479 align:start position:0%
what I call a concurrent State model and
 

00:04:24.479 --> 00:04:25.610 align:start position:0%
what I call a concurrent State model and
before<00:04:24.540><c> I</c><00:04:24.720><c> get</c><00:04:24.840><c> into</c><00:04:24.960><c> the</c><00:04:25.139><c> concurrent</c><00:04:25.500><c> State</c>

00:04:25.610 --> 00:04:25.620 align:start position:0%
before I get into the concurrent State
 

00:04:25.620 --> 00:04:27.290 align:start position:0%
before I get into the concurrent State
model<00:04:25.860><c> let's</c><00:04:26.160><c> talk</c><00:04:26.280><c> about</c><00:04:26.460><c> like</c><00:04:26.759><c> the</c><00:04:27.060><c> popular</c>

00:04:27.290 --> 00:04:27.300 align:start position:0%
model let's talk about like the popular
 

00:04:27.300 --> 00:04:29.390 align:start position:0%
model let's talk about like the popular
approaches<00:04:28.199><c> to</c><00:04:28.380><c> what</c><00:04:28.560><c> that</c><00:04:28.800><c> you</c><00:04:29.040><c> know</c><00:04:29.100><c> the</c>

00:04:29.390 --> 00:04:29.400 align:start position:0%
approaches to what that you know the
 

00:04:29.400 --> 00:04:31.550 align:start position:0%
approaches to what that you know the
popular<00:04:29.880><c> state</c><00:04:30.120><c> models</c><00:04:30.540><c> right</c><00:04:30.720><c> now</c><00:04:30.840><c> so</c><00:04:31.440><c> we</c>

00:04:31.550 --> 00:04:31.560 align:start position:0%
popular state models right now so we
 

00:04:31.560 --> 00:04:32.930 align:start position:0%
popular state models right now so we
usually<00:04:31.860><c> have</c><00:04:31.979><c> an</c><00:04:32.100><c> account</c><00:04:32.280><c> based</c><00:04:32.639><c> State</c><00:04:32.759><c> and</c>

00:04:32.930 --> 00:04:32.940 align:start position:0%
usually have an account based State and
 

00:04:32.940 --> 00:04:36.290 align:start position:0%
usually have an account based State and
a<00:04:33.060><c> utxo</c><00:04:33.540><c> based</c><00:04:33.840><c> date</c><00:04:34.440><c> and</c><00:04:35.040><c> if</c><00:04:35.220><c> we</c><00:04:35.400><c> look</c><00:04:35.520><c> at</c><00:04:35.820><c> pros</c>

00:04:36.290 --> 00:04:36.300 align:start position:0%
a utxo based date and if we look at pros
 

00:04:36.300 --> 00:04:38.090 align:start position:0%
a utxo based date and if we look at pros
and<00:04:36.360><c> cons</c><00:04:36.479><c> of</c><00:04:36.780><c> each</c><00:04:36.960><c> let's</c><00:04:37.500><c> say</c><00:04:37.680><c> for</c><00:04:37.860><c> account</c>

00:04:38.090 --> 00:04:38.100 align:start position:0%
and cons of each let's say for account
 

00:04:38.100 --> 00:04:40.070 align:start position:0%
and cons of each let's say for account
based<00:04:38.580><c> date</c><00:04:39.180><c> um</c><00:04:39.240><c> you</c><00:04:39.479><c> know</c><00:04:39.540><c> it's</c><00:04:39.660><c> great</c><00:04:39.900><c> for</c>

00:04:40.070 --> 00:04:40.080 align:start position:0%
based date um you know it's great for
 

00:04:40.080 --> 00:04:41.330 align:start position:0%
based date um you know it's great for
expressive<00:04:40.500><c> smart</c><00:04:40.680><c> contracts</c><00:04:41.040><c> this</c><00:04:41.160><c> is</c><00:04:41.220><c> what</c>

00:04:41.330 --> 00:04:41.340 align:start position:0%
expressive smart contracts this is what
 

00:04:41.340 --> 00:04:43.070 align:start position:0%
expressive smart contracts this is what
we<00:04:41.460><c> love</c><00:04:41.580><c> about</c><00:04:41.699><c> ethereum</c><00:04:42.240><c> we</c><00:04:42.419><c> can</c><00:04:42.540><c> write</c><00:04:42.780><c> very</c>

00:04:43.070 --> 00:04:43.080 align:start position:0%
we love about ethereum we can write very
 

00:04:43.080 --> 00:04:45.110 align:start position:0%
we love about ethereum we can write very
cool<00:04:43.919><c> applications</c><00:04:44.400><c> you</c><00:04:44.699><c> have</c><00:04:44.820><c> a</c><00:04:44.880><c> lot</c><00:04:45.000><c> of</c>

00:04:45.110 --> 00:04:45.120 align:start position:0%
cool applications you have a lot of
 

00:04:45.120 --> 00:04:47.030 align:start position:0%
cool applications you have a lot of
freedom<00:04:45.419><c> and</c><00:04:46.020><c> they</c><00:04:46.259><c> all</c><00:04:46.500><c> interact</c><00:04:46.800><c> with</c><00:04:46.919><c> each</c>

00:04:47.030 --> 00:04:47.040 align:start position:0%
freedom and they all interact with each
 

00:04:47.040 --> 00:04:49.189 align:start position:0%
freedom and they all interact with each
other<00:04:47.160><c> very</c><00:04:47.400><c> well</c><00:04:47.660><c> uh</c><00:04:48.660><c> it's</c><00:04:48.780><c> not</c><00:04:48.960><c> great</c><00:04:49.080><c> for</c>

00:04:49.189 --> 00:04:49.199 align:start position:0%
other very well uh it's not great for
 

00:04:49.199 --> 00:04:51.050 align:start position:0%
other very well uh it's not great for
concurrent<00:04:49.620><c> execution</c><00:04:50.040><c> it</c><00:04:50.400><c> is</c><00:04:50.520><c> possible</c><00:04:50.820><c> to</c>

00:04:51.050 --> 00:04:51.060 align:start position:0%
concurrent execution it is possible to
 

00:04:51.060 --> 00:04:53.330 align:start position:0%
concurrent execution it is possible to
achieve<00:04:51.300><c> but</c><00:04:51.419><c> it</c><00:04:51.600><c> is</c><00:04:51.780><c> not</c><00:04:51.900><c> very</c><00:04:52.080><c> easy</c><00:04:52.320><c> and</c><00:04:53.160><c> you</c>

00:04:53.330 --> 00:04:53.340 align:start position:0%
achieve but it is not very easy and you
 

00:04:53.340 --> 00:04:55.550 align:start position:0%
achieve but it is not very easy and you
know<00:04:53.460><c> has</c><00:04:53.580><c> a</c><00:04:53.759><c> lot</c><00:04:53.820><c> of</c><00:04:53.940><c> issues</c><00:04:54.540><c> and</c><00:04:55.139><c> it</c><00:04:55.259><c> is</c><00:04:55.380><c> also</c>

00:04:55.550 --> 00:04:55.560 align:start position:0%
know has a lot of issues and it is also
 

00:04:55.560 --> 00:04:57.830 align:start position:0%
know has a lot of issues and it is also
bad<00:04:55.680><c> anonymity</c><00:04:56.280><c> because</c><00:04:56.520><c> if</c><00:04:56.820><c> you</c><00:04:56.940><c> want</c><00:04:57.180><c> to</c><00:04:57.300><c> if</c>

00:04:57.830 --> 00:04:57.840 align:start position:0%
bad anonymity because if you want to if
 

00:04:57.840 --> 00:04:59.270 align:start position:0%
bad anonymity because if you want to if
you<00:04:57.960><c> have</c><00:04:58.080><c> accounts</c><00:04:58.500><c> and</c><00:04:58.800><c> you</c><00:04:58.979><c> know</c><00:04:59.100><c> which</c>

00:04:59.270 --> 00:04:59.280 align:start position:0%
you have accounts and you know which
 

00:04:59.280 --> 00:05:00.890 align:start position:0%
you have accounts and you know which
account<00:04:59.460><c> participation</c><00:05:00.300><c> which</c><00:05:00.540><c> transaction</c>

00:05:00.890 --> 00:05:00.900 align:start position:0%
account participation which transaction
 

00:05:00.900 --> 00:05:03.110 align:start position:0%
account participation which transaction
it's<00:05:01.800><c> very</c><00:05:01.979><c> difficult</c><00:05:02.280><c> to</c><00:05:02.460><c> hide</c><00:05:02.639><c> kind</c><00:05:02.820><c> of</c><00:05:02.940><c> this</c>

00:05:03.110 --> 00:05:03.120 align:start position:0%
it's very difficult to hide kind of this
 

00:05:03.120 --> 00:05:04.909 align:start position:0%
it's very difficult to hide kind of this
transaction<00:05:03.419><c> graph</c><00:05:03.780><c> so</c><00:05:03.900><c> to</c><00:05:04.139><c> say</c>

00:05:04.909 --> 00:05:04.919 align:start position:0%
transaction graph so to say
 

00:05:04.919 --> 00:05:06.950 align:start position:0%
transaction graph so to say
utxo<00:05:05.820><c> base</c><00:05:05.940><c> model</c><00:05:06.120><c> is</c><00:05:06.300><c> kind</c><00:05:06.419><c> of</c><00:05:06.540><c> opposite</c><00:05:06.840><c> of</c>

00:05:06.950 --> 00:05:06.960 align:start position:0%
utxo base model is kind of opposite of
 

00:05:06.960 --> 00:05:08.510 align:start position:0%
utxo base model is kind of opposite of
that<00:05:07.080><c> it's</c><00:05:07.320><c> great</c><00:05:07.500><c> for</c><00:05:07.680><c> concurrent</c><00:05:08.100><c> execution</c>

00:05:08.510 --> 00:05:08.520 align:start position:0%
that it's great for concurrent execution
 

00:05:08.520 --> 00:05:10.850 align:start position:0%
that it's great for concurrent execution
because<00:05:08.759><c> in</c><00:05:09.419><c> a</c><00:05:09.540><c> utxo</c><00:05:10.020><c> model</c><00:05:10.139><c> transactions</c><00:05:10.680><c> are</c>

00:05:10.850 --> 00:05:10.860 align:start position:0%
because in a utxo model transactions are
 

00:05:10.860 --> 00:05:12.950 align:start position:0%
because in a utxo model transactions are
logically<00:05:11.280><c> separate</c><00:05:11.820><c> from</c><00:05:12.000><c> each</c><00:05:12.180><c> other</c>

00:05:12.950 --> 00:05:12.960 align:start position:0%
logically separate from each other
 

00:05:12.960 --> 00:05:14.629 align:start position:0%
logically separate from each other
it's<00:05:13.740><c> actually</c><00:05:13.919><c> a</c><00:05:14.100><c> very</c><00:05:14.220><c> good</c><00:05:14.340><c> tool</c><00:05:14.580><c> for</c>

00:05:14.629 --> 00:05:14.639 align:start position:0%
it's actually a very good tool for
 

00:05:14.639 --> 00:05:16.189 align:start position:0%
it's actually a very good tool for
anonymity<00:05:15.060><c> like</c><00:05:15.419><c> if</c><00:05:15.540><c> you</c><00:05:15.660><c> want</c><00:05:15.780><c> to</c><00:05:15.840><c> achieve</c><00:05:16.080><c> an</c>

00:05:16.189 --> 00:05:16.199 align:start position:0%
anonymity like if you want to achieve an
 

00:05:16.199 --> 00:05:18.469 align:start position:0%
anonymity like if you want to achieve an
image<00:05:16.500><c> you</c><00:05:16.919><c> almost</c><00:05:17.280><c> have</c><00:05:17.580><c> to</c><00:05:17.759><c> use</c><00:05:17.820><c> a</c><00:05:17.940><c> utxo</c>

00:05:18.469 --> 00:05:18.479 align:start position:0%
image you almost have to use a utxo
 

00:05:18.479 --> 00:05:19.670 align:start position:0%
image you almost have to use a utxo
model<00:05:18.660><c> it's</c><00:05:18.960><c> not</c><00:05:19.080><c> the</c><00:05:19.199><c> only</c><00:05:19.320><c> thing</c><00:05:19.440><c> that</c><00:05:19.560><c> you</c>

00:05:19.670 --> 00:05:19.680 align:start position:0%
model it's not the only thing that you
 

00:05:19.680 --> 00:05:21.710 align:start position:0%
model it's not the only thing that you
have<00:05:19.800><c> to</c><00:05:19.919><c> use</c><00:05:20.040><c> but</c><00:05:20.340><c> it</c><00:05:20.820><c> is</c><00:05:20.940><c> one</c><00:05:21.120><c> of</c><00:05:21.240><c> the</c><00:05:21.360><c> kind</c><00:05:21.660><c> of</c>

00:05:21.710 --> 00:05:21.720 align:start position:0%
have to use but it is one of the kind of
 

00:05:21.720 --> 00:05:24.110 align:start position:0%
have to use but it is one of the kind of
basic<00:05:21.960><c> building</c><00:05:22.139><c> blocks</c><00:05:22.759><c> but</c><00:05:23.759><c> it</c><00:05:23.880><c> is</c><00:05:24.000><c> not</c>

00:05:24.110 --> 00:05:24.120 align:start position:0%
basic building blocks but it is not
 

00:05:24.120 --> 00:05:26.270 align:start position:0%
basic building blocks but it is not
great<00:05:24.240><c> for</c><00:05:24.479><c> expressive</c><00:05:24.960><c> smart</c><00:05:25.139><c> contracts</c><00:05:25.620><c> you</c>

00:05:26.270 --> 00:05:26.280 align:start position:0%
great for expressive smart contracts you
 

00:05:26.280 --> 00:05:28.010 align:start position:0%
great for expressive smart contracts you
can<00:05:26.400><c> kind</c><00:05:26.580><c> of</c><00:05:26.639><c> get</c><00:05:26.820><c> smart</c><00:05:26.940><c> contracts</c><00:05:27.360><c> in</c><00:05:27.479><c> utxo</c>

00:05:28.010 --> 00:05:28.020 align:start position:0%
can kind of get smart contracts in utxo
 

00:05:28.020 --> 00:05:29.629 align:start position:0%
can kind of get smart contracts in utxo
model<00:05:28.139><c> but</c><00:05:28.320><c> it's</c><00:05:28.440><c> not</c><00:05:28.620><c> easy</c><00:05:28.860><c> and</c><00:05:29.160><c> you</c><00:05:29.340><c> know</c><00:05:29.460><c> the</c>

00:05:29.629 --> 00:05:29.639 align:start position:0%
model but it's not easy and you know the
 

00:05:29.639 --> 00:05:30.830 align:start position:0%
model but it's not easy and you know the
more<00:05:29.820><c> expressive</c><00:05:30.120><c> they</c><00:05:30.300><c> are</c><00:05:30.419><c> the</c><00:05:30.539><c> more</c><00:05:30.720><c> it</c>

00:05:30.830 --> 00:05:30.840 align:start position:0%
more expressive they are the more it
 

00:05:30.840 --> 00:05:31.969 align:start position:0%
more expressive they are the more it
starts<00:05:31.020><c> to</c><00:05:31.080><c> look</c><00:05:31.139><c> like</c><00:05:31.259><c> an</c><00:05:31.380><c> account</c><00:05:31.560><c> based</c>

00:05:31.969 --> 00:05:31.979 align:start position:0%
starts to look like an account based
 

00:05:31.979 --> 00:05:35.290 align:start position:0%
starts to look like an account based
model<00:05:32.039><c> so</c><00:05:32.759><c> what</c><00:05:33.120><c> we</c><00:05:33.240><c> want</c><00:05:33.360><c> to</c><00:05:33.539><c> do</c><00:05:33.600><c> is</c><00:05:33.780><c> combine</c>

00:05:35.290 --> 00:05:35.300 align:start position:0%
model so what we want to do is combine
 

00:05:35.300 --> 00:05:37.490 align:start position:0%
model so what we want to do is combine
the<00:05:36.300><c> nice</c><00:05:36.419><c> properties</c><00:05:36.780><c> of</c><00:05:36.960><c> each</c><00:05:37.080><c> of</c><00:05:37.199><c> this</c><00:05:37.380><c> into</c>

00:05:37.490 --> 00:05:37.500 align:start position:0%
the nice properties of each of this into
 

00:05:37.500 --> 00:05:39.050 align:start position:0%
the nice properties of each of this into
a<00:05:37.740><c> single</c><00:05:37.979><c> model</c><00:05:38.100><c> and</c><00:05:38.400><c> I</c><00:05:38.520><c> call</c><00:05:38.639><c> this</c><00:05:38.820><c> like</c>

00:05:39.050 --> 00:05:39.060 align:start position:0%
a single model and I call this like
 

00:05:39.060 --> 00:05:40.550 align:start position:0%
a single model and I call this like
basically<00:05:39.360><c> account</c><00:05:39.600><c> based</c><00:05:39.900><c> model</c><00:05:39.960><c> each</c><00:05:40.199><c> Excel</c>

00:05:40.550 --> 00:05:40.560 align:start position:0%
basically account based model each Excel
 

00:05:40.560 --> 00:05:42.710 align:start position:0%
basically account based model each Excel
based<00:05:40.800><c> model</c><00:05:40.919><c> and</c><00:05:41.639><c> combine</c><00:05:42.180><c> that</c><00:05:42.360><c> with</c><00:05:42.479><c> EK</c>

00:05:42.710 --> 00:05:42.720 align:start position:0%
based model and combine that with EK
 

00:05:42.720 --> 00:05:44.210 align:start position:0%
based model and combine that with EK
proofs<00:05:43.020><c> and</c><00:05:43.139><c> we'll</c><00:05:43.320><c> get</c><00:05:43.680><c> something</c><00:05:43.860><c> that</c><00:05:44.100><c> I</c>

00:05:44.210 --> 00:05:44.220 align:start position:0%
proofs and we'll get something that I
 

00:05:44.220 --> 00:05:46.670 align:start position:0%
proofs and we'll get something that I
call<00:05:44.340><c> is</c><00:05:44.520><c> the</c><00:05:44.699><c> actor</c><00:05:45.060><c> based</c><00:05:45.780><c> model</c><00:05:46.380><c> with</c>

00:05:46.670 --> 00:05:46.680 align:start position:0%
call is the actor based model with
 

00:05:46.680 --> 00:05:48.770 align:start position:0%
call is the actor based model with
concurrent<00:05:47.160><c> of</c><00:05:47.460><c> chain</c><00:05:47.639><c> State</c><00:05:48.000><c> and</c><00:05:48.419><c> I'll</c><00:05:48.600><c> get</c>

00:05:48.770 --> 00:05:48.780 align:start position:0%
concurrent of chain State and I'll get
 

00:05:48.780 --> 00:05:51.230 align:start position:0%
concurrent of chain State and I'll get
into<00:05:48.960><c> what</c><00:05:49.199><c> all</c><00:05:49.380><c> of</c><00:05:49.620><c> those</c><00:05:49.740><c> terms</c><00:05:50.039><c> mean</c><00:05:50.220><c> in</c><00:05:50.400><c> the</c>

00:05:51.230 --> 00:05:51.240 align:start position:0%
into what all of those terms mean in the
 

00:05:51.240 --> 00:05:52.610 align:start position:0%
into what all of those terms mean in the
course<00:05:51.360><c> of</c><00:05:51.479><c> this</c><00:05:51.600><c> presentation</c>

00:05:52.610 --> 00:05:52.620 align:start position:0%
course of this presentation
 

00:05:52.620 --> 00:05:54.830 align:start position:0%
course of this presentation
so<00:05:53.400><c> first</c>

00:05:54.830 --> 00:05:54.840 align:start position:0%
so first
 

00:05:54.840 --> 00:05:56.510 align:start position:0%
so first
thing<00:05:55.259><c> that</c><00:05:55.500><c> I</c><00:05:55.680><c> want</c><00:05:55.740><c> to</c><00:05:55.860><c> explain</c><00:05:55.979><c> of</c><00:05:56.220><c> how</c><00:05:56.400><c> this</c>

00:05:56.510 --> 00:05:56.520 align:start position:0%
thing that I want to explain of how this
 

00:05:56.520 --> 00:05:57.950 align:start position:0%
thing that I want to explain of how this
works<00:05:56.699><c> is</c><00:05:56.820><c> how</c><00:05:56.940><c> do</c><00:05:57.120><c> transactions</c><00:05:57.600><c> work</c><00:05:57.780><c> in</c>

00:05:57.950 --> 00:05:57.960 align:start position:0%
works is how do transactions work in
 

00:05:57.960 --> 00:05:58.790 align:start position:0%
works is how do transactions work in
this<00:05:58.139><c> model</c>

00:05:58.790 --> 00:05:58.800 align:start position:0%
this model
 

00:05:58.800 --> 00:06:01.070 align:start position:0%
this model
and<00:05:59.220><c> what</c><00:05:59.460><c> is</c><00:05:59.639><c> an</c><00:06:00.060><c> actual</c><00:06:00.419><c> model</c><00:06:00.660><c> specifically</c>

00:06:01.070 --> 00:06:01.080 align:start position:0%
and what is an actual model specifically
 

00:06:01.080 --> 00:06:02.390 align:start position:0%
and what is an actual model specifically
and<00:06:01.199><c> how</c><00:06:01.380><c> we</c><00:06:01.500><c> think</c><00:06:01.620><c> of</c><00:06:01.740><c> transactions</c><00:06:02.160><c> in</c><00:06:02.280><c> that</c>

00:06:02.390 --> 00:06:02.400 align:start position:0%
and how we think of transactions in that
 

00:06:02.400 --> 00:06:03.110 align:start position:0%
and how we think of transactions in that
model

00:06:03.110 --> 00:06:03.120 align:start position:0%
model
 

00:06:03.120 --> 00:06:05.210 align:start position:0%
model
so<00:06:03.539><c> just</c><00:06:03.900><c> to</c><00:06:04.080><c> take</c><00:06:04.259><c> a</c><00:06:04.440><c> step</c><00:06:04.680><c> back</c><00:06:04.860><c> and</c><00:06:05.039><c> explain</c>

00:06:05.210 --> 00:06:05.220 align:start position:0%
so just to take a step back and explain
 

00:06:05.220 --> 00:06:06.710 align:start position:0%
so just to take a step back and explain
what<00:06:05.520><c> is</c><00:06:05.639><c> an</c><00:06:05.699><c> actual</c><00:06:06.000><c> model</c><00:06:06.180><c> it's</c><00:06:06.360><c> a</c><00:06:06.479><c> concept</c>

00:06:06.710 --> 00:06:06.720 align:start position:0%
what is an actual model it's a concept
 

00:06:06.720 --> 00:06:08.510 align:start position:0%
what is an actual model it's a concept
from<00:06:06.900><c> distributed</c><00:06:07.380><c> uh</c><00:06:07.800><c> kind</c><00:06:08.039><c> of</c><00:06:08.160><c> systems</c>

00:06:08.510 --> 00:06:08.520 align:start position:0%
from distributed uh kind of systems
 

00:06:08.520 --> 00:06:10.909 align:start position:0%
from distributed uh kind of systems
where<00:06:08.820><c> you</c><00:06:09.120><c> have</c><00:06:09.240><c> actors</c><00:06:09.660><c> which</c><00:06:10.020><c> are</c><00:06:10.199><c> kind</c><00:06:10.800><c> of</c>

00:06:10.909 --> 00:06:10.919 align:start position:0%
where you have actors which are kind of
 

00:06:10.919 --> 00:06:14.629 align:start position:0%
where you have actors which are kind of
state<00:06:11.400><c> machines</c><00:06:11.759><c> with</c><00:06:11.940><c> inboxes</c><00:06:13.080><c> and</c><00:06:13.740><c> actors</c>

00:06:14.629 --> 00:06:14.639 align:start position:0%
state machines with inboxes and actors
 

00:06:14.639 --> 00:06:16.189 align:start position:0%
state machines with inboxes and actors
communicate<00:06:15.060><c> by</c><00:06:15.240><c> sending</c><00:06:15.539><c> messages</c><00:06:15.720><c> to</c><00:06:16.020><c> each</c>

00:06:16.189 --> 00:06:16.199 align:start position:0%
communicate by sending messages to each
 

00:06:16.199 --> 00:06:18.590 align:start position:0%
communicate by sending messages to each
other<00:06:16.320><c> and</c><00:06:17.220><c> the</c><00:06:17.520><c> important</c><00:06:18.060><c> property</c><00:06:18.360><c> is</c><00:06:18.419><c> that</c>

00:06:18.590 --> 00:06:18.600 align:start position:0%
other and the important property is that
 

00:06:18.600 --> 00:06:19.790 align:start position:0%
other and the important property is that
the<00:06:18.780><c> messages</c><00:06:18.840><c> are</c><00:06:19.139><c> asynchronous</c><00:06:19.560><c> so</c><00:06:19.680><c> an</c>

00:06:19.790 --> 00:06:19.800 align:start position:0%
the messages are asynchronous so an
 

00:06:19.800 --> 00:06:21.650 align:start position:0%
the messages are asynchronous so an
actor<00:06:20.100><c> can</c><00:06:20.220><c> produce</c><00:06:20.460><c> a</c><00:06:20.580><c> message</c><00:06:20.759><c> and</c><00:06:21.360><c> then</c><00:06:21.479><c> a</c>

00:06:21.650 --> 00:06:21.660 align:start position:0%
actor can produce a message and then a
 

00:06:21.660 --> 00:06:23.029 align:start position:0%
actor can produce a message and then a
different<00:06:22.020><c> doctor</c><00:06:22.259><c> can</c><00:06:22.560><c> consume</c><00:06:22.919><c> this</c>

00:06:23.029 --> 00:06:23.039 align:start position:0%
different doctor can consume this
 

00:06:23.039 --> 00:06:25.010 align:start position:0%
different doctor can consume this
message<00:06:23.160><c> at</c><00:06:23.460><c> a</c><00:06:23.580><c> later</c><00:06:23.699><c> point</c><00:06:23.880><c> in</c><00:06:24.060><c> time</c><00:06:24.240><c> the</c><00:06:24.900><c> way</c>

00:06:25.010 --> 00:06:25.020 align:start position:0%
message at a later point in time the way
 

00:06:25.020 --> 00:06:26.689 align:start position:0%
message at a later point in time the way
we<00:06:25.259><c> apply</c><00:06:25.680><c> this</c><00:06:25.860><c> active</c><00:06:26.220><c> model</c><00:06:26.400><c> to</c><00:06:26.580><c> a</c>

00:06:26.689 --> 00:06:26.699 align:start position:0%
we apply this active model to a
 

00:06:26.699 --> 00:06:28.370 align:start position:0%
we apply this active model to a
blockchain<00:06:27.060><c> is</c><00:06:27.360><c> that</c><00:06:27.539><c> in</c><00:06:27.780><c> our</c><00:06:27.900><c> context</c><00:06:28.199><c> in</c>

00:06:28.370 --> 00:06:28.380 align:start position:0%
blockchain is that in our context in
 

00:06:28.380 --> 00:06:30.070 align:start position:0%
blockchain is that in our context in
context<00:06:28.620><c> of</c><00:06:28.740><c> Maiden</c>

00:06:30.070 --> 00:06:30.080 align:start position:0%
context of Maiden
 

00:06:30.080 --> 00:06:32.749 align:start position:0%
context of Maiden
actors<00:06:31.080><c> are</c><00:06:31.259><c> accounts</c><00:06:31.740><c> an</c><00:06:31.919><c> account</c><00:06:32.160><c> holds</c><00:06:32.699><c> a</c>

00:06:32.749 --> 00:06:32.759 align:start position:0%
actors are accounts an account holds a
 

00:06:32.759 --> 00:06:35.390 align:start position:0%
actors are accounts an account holds a
state<00:06:33.120><c> and</c><00:06:33.660><c> exposes</c><00:06:34.139><c> an</c><00:06:34.319><c> interface</c><00:06:34.919><c> and</c>

00:06:35.390 --> 00:06:35.400 align:start position:0%
state and exposes an interface and
 

00:06:35.400 --> 00:06:36.469 align:start position:0%
state and exposes an interface and
interface<00:06:35.819><c> is</c><00:06:35.880><c> just</c><00:06:36.060><c> a</c><00:06:36.180><c> collection</c><00:06:36.360><c> of</c>

00:06:36.469 --> 00:06:36.479 align:start position:0%
interface is just a collection of
 

00:06:36.479 --> 00:06:37.909 align:start position:0%
interface is just a collection of
methods<00:06:36.900><c> which</c><00:06:37.080><c> you</c><00:06:37.319><c> know</c><00:06:37.440><c> every</c><00:06:37.620><c> of</c><00:06:37.860><c> those</c>

00:06:37.909 --> 00:06:37.919 align:start position:0%
methods which you know every of those
 

00:06:37.919 --> 00:06:39.710 align:start position:0%
methods which you know every of those
methods<00:06:38.220><c> is</c><00:06:38.280><c> a</c><00:06:38.400><c> mighty</c><00:06:38.759><c> NVM</c><00:06:39.000><c> program</c><00:06:39.539><c> and</c>

00:06:39.710 --> 00:06:39.720 align:start position:0%
methods is a mighty NVM program and
 

00:06:39.720 --> 00:06:41.150 align:start position:0%
methods is a mighty NVM program and
might<00:06:39.900><c> and</c><00:06:40.080><c> VM</c><00:06:40.319><c> is</c><00:06:40.500><c> a</c><00:06:40.620><c> you</c><00:06:40.740><c> know</c><00:06:40.860><c> fully</c><00:06:41.039><c> to</c>

00:06:41.150 --> 00:06:41.160 align:start position:0%
might and VM is a you know fully to
 

00:06:41.160 --> 00:06:43.430 align:start position:0%
might and VM is a you know fully to
recomplete<00:06:41.759><c> sck</c><00:06:42.360><c> VM</c>

00:06:43.430 --> 00:06:43.440 align:start position:0%
recomplete sck VM
 

00:06:43.440 --> 00:06:45.890 align:start position:0%
recomplete sck VM
um<00:06:43.500><c> so</c><00:06:44.100><c> you</c><00:06:44.460><c> can</c><00:06:44.580><c> think</c><00:06:44.639><c> about</c><00:06:44.759><c> it</c><00:06:44.940><c> as</c><00:06:45.120><c> very</c><00:06:45.479><c> you</c>

00:06:45.890 --> 00:06:45.900 align:start position:0%
um so you can think about it as very you
 

00:06:45.900 --> 00:06:47.330 align:start position:0%
um so you can think about it as very you
know<00:06:46.020><c> expressive</c><00:06:46.560><c> functions</c><00:06:46.919><c> that</c><00:06:47.100><c> you</c><00:06:47.220><c> can</c>

00:06:47.330 --> 00:06:47.340 align:start position:0%
know expressive functions that you can
 

00:06:47.340 --> 00:06:49.670 align:start position:0%
know expressive functions that you can
write<00:06:47.520><c> uh</c><00:06:47.940><c> for</c><00:06:48.180><c> the</c><00:06:48.300><c> account</c><00:06:48.539><c> interface</c>

00:06:49.670 --> 00:06:49.680 align:start position:0%
write uh for the account interface
 

00:06:49.680 --> 00:06:51.650 align:start position:0%
write uh for the account interface
accounts<00:06:50.460><c> communicate</c><00:06:50.880><c> with</c><00:06:51.060><c> each</c><00:06:51.300><c> other</c><00:06:51.419><c> by</c>

00:06:51.650 --> 00:06:51.660 align:start position:0%
accounts communicate with each other by
 

00:06:51.660 --> 00:06:52.969 align:start position:0%
accounts communicate with each other by
sending<00:06:51.960><c> nodes</c><00:06:52.139><c> to</c><00:06:52.319><c> each</c><00:06:52.440><c> other</c><00:06:52.560><c> and</c><00:06:52.740><c> nodes</c>

00:06:52.969 --> 00:06:52.979 align:start position:0%
sending nodes to each other and nodes
 

00:06:52.979 --> 00:06:55.070 align:start position:0%
sending nodes to each other and nodes
can<00:06:53.220><c> carry</c><00:06:53.460><c> assets</c><00:06:53.819><c> and</c><00:06:54.300><c> the</c><00:06:54.419><c> node</c><00:06:54.660><c> also</c><00:06:54.960><c> has</c>

00:06:55.070 --> 00:06:55.080 align:start position:0%
can carry assets and the node also has
 

00:06:55.080 --> 00:06:56.809 align:start position:0%
can carry assets and the node also has
this<00:06:55.319><c> pen</c><00:06:55.560><c> script</c><00:06:55.919><c> which</c><00:06:56.280><c> needs</c><00:06:56.699><c> to</c><00:06:56.759><c> be</c>

00:06:56.809 --> 00:06:56.819 align:start position:0%
this pen script which needs to be
 

00:06:56.819 --> 00:06:58.430 align:start position:0%
this pen script which needs to be
executed<00:06:57.240><c> to</c><00:06:57.360><c> be</c><00:06:57.479><c> able</c><00:06:57.600><c> to</c><00:06:57.720><c> consume</c><00:06:58.080><c> a</c><00:06:58.199><c> node</c>

00:06:58.430 --> 00:06:58.440 align:start position:0%
executed to be able to consume a node
 

00:06:58.440 --> 00:07:01.670 align:start position:0%
executed to be able to consume a node
and<00:06:59.280><c> one</c><00:06:59.940><c> important</c><00:07:00.900><c> property</c><00:07:01.259><c> is</c><00:07:01.380><c> that</c><00:07:01.560><c> in</c>

00:07:01.670 --> 00:07:01.680 align:start position:0%
and one important property is that in
 

00:07:01.680 --> 00:07:02.749 align:start position:0%
and one important property is that in
this<00:07:01.800><c> model</c><00:07:01.919><c> is</c><00:07:02.160><c> actually</c><00:07:02.280><c> takes</c><00:07:02.580><c> two</c>

00:07:02.749 --> 00:07:02.759 align:start position:0%
this model is actually takes two
 

00:07:02.759 --> 00:07:05.629 align:start position:0%
this model is actually takes two
transactions<00:07:03.419><c> to</c><00:07:03.900><c> move</c><00:07:04.620><c> assets</c><00:07:05.100><c> from</c><00:07:05.400><c> one</c>

00:07:05.629 --> 00:07:05.639 align:start position:0%
transactions to move assets from one
 

00:07:05.639 --> 00:07:07.490 align:start position:0%
transactions to move assets from one
account<00:07:05.759><c> to</c><00:07:06.060><c> another</c><00:07:06.240><c> so</c><00:07:06.900><c> in</c><00:07:07.020><c> a</c><00:07:07.199><c> traditional</c>

00:07:07.490 --> 00:07:07.500 align:start position:0%
account to another so in a traditional
 

00:07:07.500 --> 00:07:09.529 align:start position:0%
account to another so in a traditional
kind<00:07:07.800><c> of</c><00:07:07.919><c> ethereum</c><00:07:08.460><c> model</c><00:07:08.639><c> for</c><00:07:08.880><c> example</c><00:07:09.120><c> you</c>

00:07:09.529 --> 00:07:09.539 align:start position:0%
kind of ethereum model for example you
 

00:07:09.539 --> 00:07:10.969 align:start position:0%
kind of ethereum model for example you
usually<00:07:09.900><c> have</c><00:07:10.080><c> just</c><00:07:10.199><c> one</c><00:07:10.380><c> transaction</c><00:07:10.740><c> that</c>

00:07:10.969 --> 00:07:10.979 align:start position:0%
usually have just one transaction that
 

00:07:10.979 --> 00:07:12.770 align:start position:0%
usually have just one transaction that
moves<00:07:11.280><c> assets</c><00:07:12.000><c> from</c><00:07:12.120><c> one</c><00:07:12.300><c> account</c><00:07:12.419><c> to</c><00:07:12.600><c> another</c>

00:07:12.770 --> 00:07:12.780 align:start position:0%
moves assets from one account to another
 

00:07:12.780 --> 00:07:15.770 align:start position:0%
moves assets from one account to another
in<00:07:13.440><c> this</c><00:07:13.560><c> model</c><00:07:13.680><c> you</c><00:07:13.979><c> have</c><00:07:14.100><c> to</c><00:07:14.280><c> have</c><00:07:14.520><c> two</c><00:07:15.060><c> uh</c>

00:07:15.770 --> 00:07:15.780 align:start position:0%
in this model you have to have two uh
 

00:07:15.780 --> 00:07:17.029 align:start position:0%
in this model you have to have two uh
transactions<00:07:16.380><c> because</c><00:07:16.560><c> the</c><00:07:16.919><c> first</c>

00:07:17.029 --> 00:07:17.039 align:start position:0%
transactions because the first
 

00:07:17.039 --> 00:07:18.469 align:start position:0%
transactions because the first
transactions<00:07:17.580><c> create</c><00:07:17.759><c> a</c><00:07:17.940><c> node</c><00:07:18.120><c> and</c><00:07:18.300><c> the</c>

00:07:18.469 --> 00:07:18.479 align:start position:0%
transactions create a node and the
 

00:07:18.479 --> 00:07:20.809 align:start position:0%
transactions create a node and the
second<00:07:18.539><c> transactions</c><00:07:19.080><c> consume</c><00:07:19.440><c> a</c><00:07:19.500><c> node</c>

00:07:20.809 --> 00:07:20.819 align:start position:0%
second transactions consume a node
 

00:07:20.819 --> 00:07:22.730 align:start position:0%
second transactions consume a node
now<00:07:21.419><c> let's</c><00:07:21.660><c> talk</c><00:07:21.840><c> about</c><00:07:21.960><c> transactions</c><00:07:22.560><c> have</c>

00:07:22.730 --> 00:07:22.740 align:start position:0%
now let's talk about transactions have
 

00:07:22.740 --> 00:07:23.990 align:start position:0%
now let's talk about transactions have
been<00:07:22.860><c> in</c><00:07:22.979><c> a</c><00:07:23.039><c> bit</c><00:07:23.160><c> more</c><00:07:23.220><c> detail</c><00:07:23.520><c> so</c><00:07:23.639><c> what</c><00:07:23.759><c> is</c><00:07:23.940><c> the</c>

00:07:23.990 --> 00:07:24.000 align:start position:0%
been in a bit more detail so what is the
 

00:07:24.000 --> 00:07:26.089 align:start position:0%
been in a bit more detail so what is the
transaction<00:07:24.300><c> in</c><00:07:24.479><c> the</c><00:07:24.599><c> context</c><00:07:24.780><c> of</c><00:07:24.960><c> Maiden</c><00:07:25.620><c> a</c>

00:07:26.089 --> 00:07:26.099 align:start position:0%
transaction in the context of Maiden a
 

00:07:26.099 --> 00:07:27.830 align:start position:0%
transaction in the context of Maiden a
transaction<00:07:26.460><c> always</c><00:07:26.880><c> involves</c><00:07:27.360><c> only</c><00:07:27.599><c> one</c>

00:07:27.830 --> 00:07:27.840 align:start position:0%
transaction always involves only one
 

00:07:27.840 --> 00:07:29.510 align:start position:0%
transaction always involves only one
account<00:07:28.020><c> the</c><00:07:28.560><c> transaction</c><00:07:28.860><c> does</c><00:07:29.099><c> not</c><00:07:29.220><c> enroll</c>

00:07:29.510 --> 00:07:29.520 align:start position:0%
account the transaction does not enroll
 

00:07:29.520 --> 00:07:30.950 align:start position:0%
account the transaction does not enroll
more<00:07:29.699><c> account</c><00:07:29.880><c> and</c><00:07:30.120><c> you</c><00:07:30.360><c> know</c><00:07:30.419><c> as</c><00:07:30.599><c> a</c><00:07:30.720><c> in</c><00:07:30.900><c> the</c>

00:07:30.950 --> 00:07:30.960 align:start position:0%
more account and you know as a in the
 

00:07:30.960 --> 00:07:31.969 align:start position:0%
more account and you know as a in the
course<00:07:31.080><c> of</c><00:07:31.199><c> a</c><00:07:31.259><c> different</c><00:07:31.380><c> section</c><00:07:31.620><c> the</c><00:07:31.860><c> state</c>

00:07:31.969 --> 00:07:31.979 align:start position:0%
course of a different section the state
 

00:07:31.979 --> 00:07:33.890 align:start position:0%
course of a different section the state
of<00:07:32.099><c> the</c><00:07:32.220><c> account</c><00:07:32.340><c> gets</c><00:07:32.759><c> updated</c>

00:07:33.890 --> 00:07:33.900 align:start position:0%
of the account gets updated
 

00:07:33.900 --> 00:07:36.710 align:start position:0%
of the account gets updated
um<00:07:34.340><c> transaction</c><00:07:35.340><c> can</c><00:07:35.639><c> consume</c><00:07:36.120><c> zero</c><00:07:36.539><c> more</c>

00:07:36.710 --> 00:07:36.720 align:start position:0%
um transaction can consume zero more
 

00:07:36.720 --> 00:07:37.550 align:start position:0%
um transaction can consume zero more
nodes

00:07:37.550 --> 00:07:37.560 align:start position:0%
nodes
 

00:07:37.560 --> 00:07:39.830 align:start position:0%
nodes
and<00:07:38.099><c> a</c><00:07:38.280><c> transaction</c><00:07:38.699><c> can</c><00:07:39.000><c> produce</c><00:07:39.360><c> zero</c><00:07:39.780><c> more</c>

00:07:39.830 --> 00:07:39.840 align:start position:0%
and a transaction can produce zero more
 

00:07:39.840 --> 00:07:41.150 align:start position:0%
and a transaction can produce zero more
nodes<00:07:40.080><c> so</c><00:07:40.259><c> in</c><00:07:40.380><c> the</c><00:07:40.500><c> previous</c><00:07:40.620><c> example</c><00:07:41.039><c> for</c>

00:07:41.150 --> 00:07:41.160 align:start position:0%
nodes so in the previous example for
 

00:07:41.160 --> 00:07:42.529 align:start position:0%
nodes so in the previous example for
example<00:07:41.400><c> there</c><00:07:41.580><c> was</c><00:07:41.699><c> a</c><00:07:41.819><c> one</c><00:07:42.060><c> transaction</c><00:07:42.360><c> that</c>

00:07:42.529 --> 00:07:42.539 align:start position:0%
example there was a one transaction that
 

00:07:42.539 --> 00:07:43.730 align:start position:0%
example there was a one transaction that
produced<00:07:42.840><c> One</c><00:07:42.960><c> node</c><00:07:43.139><c> and</c><00:07:43.319><c> one</c><00:07:43.440><c> transaction</c>

00:07:43.730 --> 00:07:43.740 align:start position:0%
produced One node and one transaction
 

00:07:43.740 --> 00:07:45.650 align:start position:0%
produced One node and one transaction
that<00:07:43.919><c> consumed</c><00:07:44.280><c> one</c><00:07:44.400><c> node</c><00:07:44.699><c> and</c><00:07:45.180><c> we</c><00:07:45.360><c> can</c><00:07:45.479><c> have</c>

00:07:45.650 --> 00:07:45.660 align:start position:0%
that consumed one node and we can have
 

00:07:45.660 --> 00:07:46.850 align:start position:0%
that consumed one node and we can have
also<00:07:45.960><c> transactions</c><00:07:46.380><c> that</c><00:07:46.500><c> produce</c><00:07:46.740><c> and</c>

00:07:46.850 --> 00:07:46.860 align:start position:0%
also transactions that produce and
 

00:07:46.860 --> 00:07:48.890 align:start position:0%
also transactions that produce and
consume<00:07:47.220><c> nodes</c><00:07:47.400><c> in</c><00:07:47.520><c> the</c><00:07:47.639><c> same</c><00:07:47.699><c> transactions</c>

00:07:48.890 --> 00:07:48.900 align:start position:0%
consume nodes in the same transactions
 

00:07:48.900 --> 00:07:50.330 align:start position:0%
consume nodes in the same transactions
um<00:07:49.020><c> now</c>

00:07:50.330 --> 00:07:50.340 align:start position:0%
um now
 

00:07:50.340 --> 00:07:52.070 align:start position:0%
um now
the<00:07:50.759><c> execution</c><00:07:51.180><c> graph</c><00:07:51.479><c> of</c><00:07:51.660><c> how</c><00:07:51.780><c> like</c><00:07:51.960><c> let's</c>

00:07:52.070 --> 00:07:52.080 align:start position:0%
the execution graph of how like let's
 

00:07:52.080 --> 00:07:53.930 align:start position:0%
the execution graph of how like let's
say<00:07:52.199><c> nodes</c><00:07:52.380><c> get</c><00:07:52.620><c> consumed</c><00:07:53.340><c> um</c><00:07:53.460><c> kind</c><00:07:53.639><c> of</c><00:07:53.819><c> to</c>

00:07:53.930 --> 00:07:53.940 align:start position:0%
say nodes get consumed um kind of to
 

00:07:53.940 --> 00:07:55.610 align:start position:0%
say nodes get consumed um kind of to
explain<00:07:54.120><c> how</c><00:07:54.539><c> this</c><00:07:54.720><c> whole</c><00:07:54.900><c> process</c><00:07:55.199><c> works</c><00:07:55.500><c> is</c>

00:07:55.610 --> 00:07:55.620 align:start position:0%
explain how this whole process works is
 

00:07:55.620 --> 00:07:57.230 align:start position:0%
explain how this whole process works is
let's<00:07:55.979><c> say</c><00:07:56.099><c> we</c><00:07:56.340><c> have</c><00:07:56.460><c> a</c><00:07:56.580><c> transaction</c><00:07:56.880><c> that</c>

00:07:57.230 --> 00:07:57.240 align:start position:0%
let's say we have a transaction that
 

00:07:57.240 --> 00:07:58.790 align:start position:0%
let's say we have a transaction that
wants<00:07:57.479><c> to</c><00:07:57.539><c> consume</c><00:07:57.840><c> two</c><00:07:57.960><c> nodes</c><00:07:58.199><c> in</c><00:07:58.440><c> a</c><00:07:58.560><c> context</c>

00:07:58.790 --> 00:07:58.800 align:start position:0%
wants to consume two nodes in a context
 

00:07:58.800 --> 00:08:00.110 align:start position:0%
wants to consume two nodes in a context
of<00:07:58.919><c> one</c><00:07:59.039><c> account</c><00:07:59.280><c> so</c><00:07:59.460><c> the</c><00:07:59.580><c> way</c><00:07:59.759><c> it</c><00:07:59.819><c> would</c><00:07:59.940><c> start</c>

00:08:00.110 --> 00:08:00.120 align:start position:0%
of one account so the way it would start
 

00:08:00.120 --> 00:08:01.309 align:start position:0%
of one account so the way it would start
is<00:08:00.240><c> like</c><00:08:00.479><c> we</c><00:08:00.599><c> have</c><00:08:00.720><c> this</c><00:08:00.900><c> product</c><00:08:01.080><c> and</c>

00:08:01.309 --> 00:08:01.319 align:start position:0%
is like we have this product and
 

00:08:01.319 --> 00:08:03.050 align:start position:0%
is like we have this product and
epilogue<00:08:01.800><c> that</c><00:08:01.919><c> do</c><00:08:02.039><c> some</c><00:08:02.220><c> bookkeeping</c><00:08:02.699><c> to</c>

00:08:03.050 --> 00:08:03.060 align:start position:0%
epilogue that do some bookkeeping to
 

00:08:03.060 --> 00:08:04.309 align:start position:0%
epilogue that do some bookkeeping to
make<00:08:03.180><c> sure</c><00:08:03.300><c> that</c><00:08:03.479><c> like</c><00:08:03.720><c> let's</c><00:08:03.900><c> say</c><00:08:04.020><c> sum</c><00:08:04.199><c> of</c>

00:08:04.309 --> 00:08:04.319 align:start position:0%
make sure that like let's say sum of
 

00:08:04.319 --> 00:08:06.770 align:start position:0%
make sure that like let's say sum of
inputs<00:08:04.620><c> is</c><00:08:04.680><c> equal</c><00:08:04.800><c> to</c><00:08:04.919><c> sum</c><00:08:05.099><c> of</c><00:08:05.220><c> outputs</c><00:08:05.639><c> uh</c><00:08:06.599><c> and</c>

00:08:06.770 --> 00:08:06.780 align:start position:0%
inputs is equal to sum of outputs uh and
 

00:08:06.780 --> 00:08:08.150 align:start position:0%
inputs is equal to sum of outputs uh and
nothing<00:08:06.900><c> kind</c><00:08:07.199><c> of</c><00:08:07.319><c> no</c><00:08:07.380><c> new</c><00:08:07.680><c> assets</c><00:08:07.979><c> get</c>

00:08:08.150 --> 00:08:08.160 align:start position:0%
nothing kind of no new assets get
 

00:08:08.160 --> 00:08:09.529 align:start position:0%
nothing kind of no new assets get
created<00:08:08.400><c> in</c><00:08:08.520><c> the</c><00:08:08.699><c> process</c><00:08:09.120><c> of</c><00:08:09.180><c> transaction</c>

00:08:09.529 --> 00:08:09.539 align:start position:0%
created in the process of transaction
 

00:08:09.539 --> 00:08:11.330 align:start position:0%
created in the process of transaction
but<00:08:09.720><c> then</c><00:08:09.840><c> we</c><00:08:10.020><c> go</c><00:08:10.199><c> into</c><00:08:10.319><c> this</c><00:08:10.500><c> execution</c><00:08:10.979><c> stage</c>

00:08:11.330 --> 00:08:11.340 align:start position:0%
but then we go into this execution stage
 

00:08:11.340 --> 00:08:13.670 align:start position:0%
but then we go into this execution stage
where<00:08:12.240><c> the</c><00:08:12.599><c> first</c><00:08:12.840><c> thing</c><00:08:12.960><c> that</c><00:08:13.080><c> happens</c><00:08:13.259><c> is</c><00:08:13.500><c> we</c>

00:08:13.670 --> 00:08:13.680 align:start position:0%
where the first thing that happens is we
 

00:08:13.680 --> 00:08:15.770 align:start position:0%
where the first thing that happens is we
call<00:08:13.860><c> execute</c><00:08:14.400><c> we</c><00:08:14.580><c> execute</c><00:08:15.000><c> a</c><00:08:15.180><c> script</c><00:08:15.419><c> of</c><00:08:15.599><c> the</c>

00:08:15.770 --> 00:08:15.780 align:start position:0%
call execute we execute a script of the
 

00:08:15.780 --> 00:08:17.930 align:start position:0%
call execute we execute a script of the
node<00:08:16.160><c> of</c><00:08:17.160><c> the</c><00:08:17.340><c> first</c><00:08:17.460><c> node</c><00:08:17.699><c> in</c><00:08:17.819><c> this</c>

00:08:17.930 --> 00:08:17.940 align:start position:0%
node of the first node in this
 

00:08:17.940 --> 00:08:20.029 align:start position:0%
node of the first node in this
transaction<00:08:18.240><c> and</c><00:08:18.720><c> then</c><00:08:18.840><c> this</c><00:08:19.139><c> uh</c><00:08:19.440><c> execute</c>

00:08:20.029 --> 00:08:20.039 align:start position:0%
transaction and then this uh execute
 

00:08:20.039 --> 00:08:21.770 align:start position:0%
transaction and then this uh execute
script<00:08:20.340><c> can</c><00:08:20.580><c> call</c><00:08:20.759><c> any</c><00:08:21.000><c> number</c><00:08:21.180><c> of</c><00:08:21.360><c> methods</c><00:08:21.660><c> on</c>

00:08:21.770 --> 00:08:21.780 align:start position:0%
script can call any number of methods on
 

00:08:21.780 --> 00:08:23.450 align:start position:0%
script can call any number of methods on
the<00:08:21.900><c> account</c><00:08:22.020><c> interface</c><00:08:22.560><c> so</c><00:08:22.919><c> you</c><00:08:23.280><c> know</c><00:08:23.400><c> in</c>

00:08:23.450 --> 00:08:23.460 align:start position:0%
the account interface so you know in
 

00:08:23.460 --> 00:08:24.650 align:start position:0%
the account interface so you know in
this<00:08:23.639><c> case</c><00:08:23.699><c> let's</c><00:08:23.879><c> say</c><00:08:24.000><c> there</c><00:08:24.180><c> is</c><00:08:24.300><c> a</c><00:08:24.419><c> receive</c>

00:08:24.650 --> 00:08:24.660 align:start position:0%
this case let's say there is a receive
 

00:08:24.660 --> 00:08:25.969 align:start position:0%
this case let's say there is a receive
method<00:08:25.020><c> that</c><00:08:25.139><c> receives</c><00:08:25.379><c> assets</c><00:08:25.740><c> on</c><00:08:25.860><c> the</c>

00:08:25.969 --> 00:08:25.979 align:start position:0%
method that receives assets on the
 

00:08:25.979 --> 00:08:28.309 align:start position:0%
method that receives assets on the
account<00:08:26.160><c> so</c><00:08:26.460><c> a</c><00:08:26.819><c> node</c><00:08:27.060><c> can</c><00:08:27.360><c> pass</c><00:08:27.720><c> assets</c><00:08:28.139><c> to</c>

00:08:28.309 --> 00:08:28.319 align:start position:0%
account so a node can pass assets to
 

00:08:28.319 --> 00:08:29.210 align:start position:0%
account so a node can pass assets to
their<00:08:28.440><c> account</c><00:08:28.620><c> through</c><00:08:28.860><c> this</c><00:08:29.039><c> receive</c>

00:08:29.210 --> 00:08:29.220 align:start position:0%
their account through this receive
 

00:08:29.220 --> 00:08:31.189 align:start position:0%
their account through this receive
method<00:08:29.699><c> and</c><00:08:30.300><c> one</c><00:08:30.419><c> important</c><00:08:30.780><c> thing</c><00:08:30.900><c> is</c><00:08:31.020><c> that</c>

00:08:31.189 --> 00:08:31.199 align:start position:0%
method and one important thing is that
 

00:08:31.199 --> 00:08:33.350 align:start position:0%
method and one important thing is that
account<00:08:31.500><c> uh</c><00:08:32.339><c> methods</c><00:08:32.760><c> are</c><00:08:32.880><c> the</c><00:08:33.000><c> only</c><00:08:33.120><c> ones</c>

00:08:33.350 --> 00:08:33.360 align:start position:0%
account uh methods are the only ones
 

00:08:33.360 --> 00:08:34.610 align:start position:0%
account uh methods are the only ones
that<00:08:33.479><c> have</c><00:08:33.599><c> access</c><00:08:33.779><c> to</c><00:08:33.959><c> account</c><00:08:34.140><c> State</c><00:08:34.440><c> and</c>

00:08:34.610 --> 00:08:34.620 align:start position:0%
that have access to account State and
 

00:08:34.620 --> 00:08:36.230 align:start position:0%
that have access to account State and
node<00:08:34.800><c> cannot</c><00:08:35.159><c> modify</c><00:08:35.520><c> the</c><00:08:35.760><c> state</c><00:08:35.940><c> of</c><00:08:36.120><c> their</c>

00:08:36.230 --> 00:08:36.240 align:start position:0%
node cannot modify the state of their
 

00:08:36.240 --> 00:08:37.490 align:start position:0%
node cannot modify the state of their
account<00:08:36.360><c> directly</c><00:08:36.719><c> it</c><00:08:36.899><c> needs</c><00:08:37.080><c> to</c><00:08:37.200><c> call</c><00:08:37.260><c> a</c>

00:08:37.490 --> 00:08:37.500 align:start position:0%
account directly it needs to call a
 

00:08:37.500 --> 00:08:38.750 align:start position:0%
account directly it needs to call a
method<00:08:37.680><c> on</c><00:08:37.800><c> the</c><00:08:37.919><c> account</c><00:08:38.039><c> interface</c><00:08:38.520><c> to</c>

00:08:38.750 --> 00:08:38.760 align:start position:0%
method on the account interface to
 

00:08:38.760 --> 00:08:41.930 align:start position:0%
method on the account interface to
modify<00:08:39.599><c> an</c><00:08:39.719><c> account</c><00:08:39.839><c> and</c><00:08:40.560><c> then</c><00:08:40.760><c> the</c><00:08:41.760><c> account</c>

00:08:41.930 --> 00:08:41.940 align:start position:0%
modify an account and then the account
 

00:08:41.940 --> 00:08:44.029 align:start position:0%
modify an account and then the account
interface<00:08:42.899><c> methods</c><00:08:43.320><c> can</c><00:08:43.380><c> create</c><00:08:43.560><c> other</c><00:08:43.740><c> nodes</c>

00:08:44.029 --> 00:08:44.039 align:start position:0%
interface methods can create other nodes
 

00:08:44.039 --> 00:08:45.590 align:start position:0%
interface methods can create other nodes
that's<00:08:44.279><c> how</c><00:08:44.459><c> you</c><00:08:44.760><c> can</c><00:08:44.880><c> for</c><00:08:45.000><c> example</c><00:08:45.240><c> create</c>

00:08:45.590 --> 00:08:45.600 align:start position:0%
that's how you can for example create
 

00:08:45.600 --> 00:08:47.389 align:start position:0%
that's how you can for example create
new<00:08:46.260><c> nodes</c><00:08:46.500><c> in</c><00:08:46.680><c> the</c><00:08:46.800><c> process</c><00:08:47.160><c> of</c><00:08:47.279><c> a</c>

00:08:47.389 --> 00:08:47.399 align:start position:0%
new nodes in the process of a
 

00:08:47.399 --> 00:08:49.850 align:start position:0%
new nodes in the process of a
transaction<00:08:47.839><c> and</c><00:08:48.839><c> then</c><00:08:48.959><c> you</c><00:08:49.500><c> know</c><00:08:49.620><c> if</c><00:08:49.680><c> we</c><00:08:49.800><c> have</c>

00:08:49.850 --> 00:08:49.860 align:start position:0%
transaction and then you know if we have
 

00:08:49.860 --> 00:08:51.170 align:start position:0%
transaction and then you know if we have
another<00:08:49.980><c> node</c><00:08:50.160><c> we</c><00:08:50.279><c> do</c><00:08:50.700><c> the</c><00:08:50.880><c> same</c><00:08:51.060><c> thing</c>

00:08:51.170 --> 00:08:51.180 align:start position:0%
another node we do the same thing
 

00:08:51.180 --> 00:08:53.750 align:start position:0%
another node we do the same thing
sequentially<00:08:52.019><c> execute</c><00:08:52.920><c> the</c><00:08:53.040><c> second</c><00:08:53.220><c> node</c><00:08:53.519><c> in</c>

00:08:53.750 --> 00:08:53.760 align:start position:0%
sequentially execute the second node in
 

00:08:53.760 --> 00:08:56.090 align:start position:0%
sequentially execute the second node in
the<00:08:53.940><c> context</c><00:08:54.120><c> of</c><00:08:54.300><c> the</c><00:08:54.480><c> same</c><00:08:54.660><c> account</c><00:08:55.080><c> and</c><00:08:55.860><c> that</c>

00:08:56.090 --> 00:08:56.100 align:start position:0%
the context of the same account and that
 

00:08:56.100 --> 00:08:57.829 align:start position:0%
the context of the same account and that
node<00:08:56.459><c> can</c><00:08:56.640><c> again</c><00:08:56.820><c> call</c><00:08:57.180><c> the</c><00:08:57.480><c> same</c><00:08:57.660><c> or</c>

00:08:57.829 --> 00:08:57.839 align:start position:0%
node can again call the same or
 

00:08:57.839 --> 00:08:59.810 align:start position:0%
node can again call the same or
different<00:08:58.019><c> method</c><00:08:58.380><c> on</c><00:08:58.560><c> the</c><00:08:58.980><c> account</c><00:08:59.100><c> to</c><00:08:59.519><c> have</c>

00:08:59.810 --> 00:08:59.820 align:start position:0%
different method on the account to have
 

00:08:59.820 --> 00:09:02.750 align:start position:0%
different method on the account to have
different<00:09:00.060><c> effects</c><00:09:00.480><c> and</c><00:09:00.660><c> so</c><00:09:00.779><c> forth</c><00:09:01.019><c> now</c>

00:09:02.750 --> 00:09:02.760 align:start position:0%
different effects and so forth now
 

00:09:02.760 --> 00:09:05.389 align:start position:0%
different effects and so forth now
in<00:09:03.300><c> our</c><00:09:03.420><c> context</c><00:09:03.779><c> the</c>

00:09:05.389 --> 00:09:05.399 align:start position:0%
in our context the
 

00:09:05.399 --> 00:09:08.690 align:start position:0%
in our context the
because<00:09:05.820><c> we</c><00:09:06.240><c> can</c><00:09:06.420><c> kind</c><00:09:06.959><c> of</c><00:09:07.080><c> execute</c><00:09:07.560><c> and</c><00:09:08.100><c> nodes</c>

00:09:08.690 --> 00:09:08.700 align:start position:0%
because we can kind of execute and nodes
 

00:09:08.700 --> 00:09:10.490 align:start position:0%
because we can kind of execute and nodes
only<00:09:08.880><c> touch</c><00:09:09.060><c> a</c><00:09:09.300><c> single</c><00:09:09.540><c> account</c><00:09:09.660><c> what</c><00:09:10.200><c> we</c><00:09:10.380><c> do</c>

00:09:10.490 --> 00:09:10.500 align:start position:0%
only touch a single account what we do
 

00:09:10.500 --> 00:09:11.750 align:start position:0%
only touch a single account what we do
is<00:09:10.620><c> we</c><00:09:10.740><c> execute</c><00:09:11.040><c> a</c><00:09:11.220><c> transaction</c><00:09:11.519><c> and</c>

00:09:11.750 --> 00:09:11.760 align:start position:0%
is we execute a transaction and
 

00:09:11.760 --> 00:09:13.430 align:start position:0%
is we execute a transaction and
immediately<00:09:12.120><c> produce</c><00:09:12.480><c> a</c><00:09:12.600><c> proof</c><00:09:12.839><c> for</c><00:09:12.959><c> it</c><00:09:13.019><c> so</c><00:09:13.200><c> in</c>

00:09:13.430 --> 00:09:13.440 align:start position:0%
immediately produce a proof for it so in
 

00:09:13.440 --> 00:09:14.810 align:start position:0%
immediately produce a proof for it so in
our<00:09:13.560><c> case</c><00:09:13.740><c> we</c><00:09:13.920><c> use</c><00:09:13.980><c> the</c><00:09:14.160><c> Stark</c><00:09:14.339><c> proving</c><00:09:14.700><c> system</c>

00:09:14.810 --> 00:09:14.820 align:start position:0%
our case we use the Stark proving system
 

00:09:14.820 --> 00:09:16.970 align:start position:0%
our case we use the Stark proving system
so<00:09:15.060><c> might</c><00:09:15.240><c> and</c><00:09:15.360><c> VM</c><00:09:15.660><c> is</c><00:09:15.720><c> a</c><00:09:15.839><c> stark</c><00:09:16.019><c> based</c><00:09:16.320><c> VM</c><00:09:16.560><c> so</c>

00:09:16.970 --> 00:09:16.980 align:start position:0%
so might and VM is a stark based VM so
 

00:09:16.980 --> 00:09:18.590 align:start position:0%
so might and VM is a stark based VM so
whenever<00:09:17.339><c> a</c><00:09:17.459><c> transaction</c><00:09:17.700><c> is</c><00:09:17.940><c> executed</c><00:09:18.360><c> we</c>

00:09:18.590 --> 00:09:18.600 align:start position:0%
whenever a transaction is executed we
 

00:09:18.600 --> 00:09:20.870 align:start position:0%
whenever a transaction is executed we
immediately<00:09:18.899><c> produce</c><00:09:19.260><c> a</c><00:09:19.380><c> proof</c><00:09:19.620><c> of</c><00:09:19.680><c> execution</c>

00:09:20.870 --> 00:09:20.880 align:start position:0%
immediately produce a proof of execution
 

00:09:20.880 --> 00:09:22.670 align:start position:0%
immediately produce a proof of execution
and<00:09:21.540><c> because</c><00:09:21.779><c> again</c><00:09:22.080><c> I</c><00:09:22.320><c> mentioned</c><00:09:22.560><c> the</c>

00:09:22.670 --> 00:09:22.680 align:start position:0%
and because again I mentioned the
 

00:09:22.680 --> 00:09:24.050 align:start position:0%
and because again I mentioned the
transactions<00:09:23.160><c> are</c><00:09:23.279><c> logically</c><00:09:23.580><c> distinct</c><00:09:23.880><c> they</c>

00:09:24.050 --> 00:09:24.060 align:start position:0%
transactions are logically distinct they
 

00:09:24.060 --> 00:09:26.210 align:start position:0%
transactions are logically distinct they
only<00:09:24.180><c> touch</c><00:09:24.420><c> each</c><00:09:25.080><c> account</c><00:09:25.260><c> separately</c><00:09:25.800><c> we</c>

00:09:26.210 --> 00:09:26.220 align:start position:0%
only touch each account separately we
 

00:09:26.220 --> 00:09:28.190 align:start position:0%
only touch each account separately we
can<00:09:26.399><c> produce</c><00:09:26.820><c> many</c><00:09:27.120><c> transaction</c><00:09:27.660><c> proofs</c><00:09:28.140><c> in</c>

00:09:28.190 --> 00:09:28.200 align:start position:0%
can produce many transaction proofs in
 

00:09:28.200 --> 00:09:30.590 align:start position:0%
can produce many transaction proofs in
parallel<00:09:28.560><c> so</c><00:09:29.040><c> we</c><00:09:29.760><c> actually</c><00:09:29.940><c> produce</c><00:09:30.300><c> all</c><00:09:30.480><c> the</c>

00:09:30.590 --> 00:09:30.600 align:start position:0%
parallel so we actually produce all the
 

00:09:30.600 --> 00:09:32.269 align:start position:0%
parallel so we actually produce all the
all<00:09:30.660><c> the</c><00:09:30.839><c> transaction</c><00:09:31.080><c> groups</c><00:09:31.440><c> in</c><00:09:31.500><c> parallel</c>

00:09:32.269 --> 00:09:32.279 align:start position:0%
all the transaction groups in parallel
 

00:09:32.279 --> 00:09:34.310 align:start position:0%
all the transaction groups in parallel
and<00:09:32.640><c> then</c><00:09:32.700><c> what</c><00:09:32.940><c> we</c><00:09:33.060><c> do</c><00:09:33.180><c> is</c><00:09:33.420><c> once</c><00:09:34.019><c> we</c><00:09:34.140><c> have</c><00:09:34.200><c> a</c>

00:09:34.310 --> 00:09:34.320 align:start position:0%
and then what we do is once we have a
 

00:09:34.320 --> 00:09:36.829 align:start position:0%
and then what we do is once we have a
bunch<00:09:34.440><c> of</c><00:09:34.560><c> these</c><00:09:34.740><c> transaction</c><00:09:35.040><c> proofs</c><00:09:35.839><c> we</c>

00:09:36.829 --> 00:09:36.839 align:start position:0%
bunch of these transaction proofs we
 

00:09:36.839 --> 00:09:38.449 align:start position:0%
bunch of these transaction proofs we
recursively<00:09:37.380><c> aggregate</c><00:09:37.800><c> them</c><00:09:37.920><c> into</c><00:09:38.100><c> the</c><00:09:38.279><c> into</c>

00:09:38.449 --> 00:09:38.459 align:start position:0%
recursively aggregate them into the into
 

00:09:38.459 --> 00:09:40.310 align:start position:0%
recursively aggregate them into the into
batches<00:09:39.000><c> and</c><00:09:39.660><c> this</c><00:09:39.779><c> batches</c><00:09:40.140><c> then</c>

00:09:40.310 --> 00:09:40.320 align:start position:0%
batches and this batches then
 

00:09:40.320 --> 00:09:42.710 align:start position:0%
batches and this batches then
recursively<00:09:40.800><c> get</c><00:09:40.980><c> aggregated</c><00:09:41.399><c> into</c><00:09:41.760><c> block</c>

00:09:42.710 --> 00:09:42.720 align:start position:0%
recursively get aggregated into block
 

00:09:42.720 --> 00:09:44.570 align:start position:0%
recursively get aggregated into block
proofs<00:09:43.140><c> and</c><00:09:43.680><c> then</c><00:09:43.740><c> these</c><00:09:43.980><c> blog</c><00:09:44.160><c> proofs</c><00:09:44.399><c> get</c>

00:09:44.570 --> 00:09:44.580 align:start position:0%
proofs and then these blog proofs get
 

00:09:44.580 --> 00:09:46.790 align:start position:0%
proofs and then these blog proofs get
further<00:09:44.880><c> aggregated</c><00:09:45.300><c> into</c><00:09:45.839><c> like</c><00:09:46.380><c> Epoch</c>

00:09:46.790 --> 00:09:46.800 align:start position:0%
further aggregated into like Epoch
 

00:09:46.800 --> 00:09:47.990 align:start position:0%
further aggregated into like Epoch
proofs<00:09:47.040><c> and</c><00:09:47.160><c> that's</c><00:09:47.220><c> what</c><00:09:47.399><c> gets</c><00:09:47.580><c> submitted</c><00:09:47.820><c> to</c>

00:09:47.990 --> 00:09:48.000 align:start position:0%
proofs and that's what gets submitted to
 

00:09:48.000 --> 00:09:49.030 align:start position:0%
proofs and that's what gets submitted to
ethereum

00:09:49.030 --> 00:09:49.040 align:start position:0%
ethereum
 

00:09:49.040 --> 00:09:51.230 align:start position:0%
ethereum
now<00:09:50.040><c> it's</c><00:09:50.339><c> important</c><00:09:50.640><c> to</c><00:09:50.760><c> know</c><00:09:50.880><c> that</c><00:09:51.000><c> all</c><00:09:51.120><c> of</c>

00:09:51.230 --> 00:09:51.240 align:start position:0%
now it's important to know that all of
 

00:09:51.240 --> 00:09:52.550 align:start position:0%
now it's important to know that all of
this<00:09:51.360><c> recursive</c><00:09:51.720><c> aggregation</c><00:09:52.140><c> can</c><00:09:52.320><c> also</c><00:09:52.500><c> be</c>

00:09:52.550 --> 00:09:52.560 align:start position:0%
this recursive aggregation can also be
 

00:09:52.560 --> 00:09:53.990 align:start position:0%
this recursive aggregation can also be
done<00:09:52.680><c> in</c><00:09:52.860><c> parallel</c><00:09:53.160><c> so</c><00:09:53.339><c> as</c><00:09:53.519><c> I</c><00:09:53.640><c> mentioned</c><00:09:53.820><c> all</c>

00:09:53.990 --> 00:09:54.000 align:start position:0%
done in parallel so as I mentioned all
 

00:09:54.000 --> 00:09:56.630 align:start position:0%
done in parallel so as I mentioned all
transactions<00:09:54.540><c> have</c><00:09:54.779><c> been</c><00:09:54.959><c> can</c><00:09:55.260><c> be</c><00:09:55.519><c> proved</c><00:09:56.519><c> in</c>

00:09:56.630 --> 00:09:56.640 align:start position:0%
transactions have been can be proved in
 

00:09:56.640 --> 00:09:58.370 align:start position:0%
transactions have been can be proved in
parallel<00:09:57.000><c> but</c><00:09:57.420><c> also</c><00:09:57.660><c> all</c><00:09:57.779><c> batches</c><00:09:58.140><c> can</c><00:09:58.320><c> be</c>

00:09:58.370 --> 00:09:58.380 align:start position:0%
parallel but also all batches can be
 

00:09:58.380 --> 00:10:00.050 align:start position:0%
parallel but also all batches can be
proved<00:09:58.620><c> in</c><00:09:58.740><c> parallel</c><00:09:59.040><c> the</c><00:09:59.519><c> only</c><00:09:59.640><c> thing</c><00:09:59.820><c> that</c>

00:10:00.050 --> 00:10:00.060 align:start position:0%
proved in parallel the only thing that
 

00:10:00.060 --> 00:10:01.370 align:start position:0%
proved in parallel the only thing that
doesn't<00:10:00.240><c> get</c><00:10:00.480><c> proof</c><00:10:00.779><c> to</c><00:10:00.839><c> parallel</c><00:10:01.140><c> is</c><00:10:01.200><c> the</c>

00:10:01.370 --> 00:10:01.380 align:start position:0%
doesn't get proof to parallel is the
 

00:10:01.380 --> 00:10:03.410 align:start position:0%
doesn't get proof to parallel is the
final<00:10:01.560><c> kind</c><00:10:01.800><c> of</c><00:10:01.920><c> tip</c><00:10:02.220><c> of</c><00:10:02.459><c> this</c><00:10:02.640><c> block</c><00:10:03.000><c> proof</c>

00:10:03.410 --> 00:10:03.420 align:start position:0%
final kind of tip of this block proof
 

00:10:03.420 --> 00:10:05.030 align:start position:0%
final kind of tip of this block proof
and<00:10:04.080><c> then</c><00:10:04.200><c> there</c><00:10:04.320><c> is</c><00:10:04.440><c> another</c><00:10:04.560><c> interesting</c>

00:10:05.030 --> 00:10:05.040 align:start position:0%
and then there is another interesting
 

00:10:05.040 --> 00:10:06.769 align:start position:0%
and then there is another interesting
property<00:10:05.399><c> is</c><00:10:05.519><c> that</c><00:10:05.820><c> we</c><00:10:06.300><c> can</c><00:10:06.420><c> prove</c>

00:10:06.769 --> 00:10:06.779 align:start position:0%
property is that we can prove
 

00:10:06.779 --> 00:10:08.509 align:start position:0%
property is that we can prove
transactions<00:10:07.320><c> locally</c><00:10:07.680><c> and</c><00:10:07.980><c> I'll</c><00:10:08.160><c> get</c><00:10:08.399><c> into</c>

00:10:08.509 --> 00:10:08.519 align:start position:0%
transactions locally and I'll get into
 

00:10:08.519 --> 00:10:10.190 align:start position:0%
transactions locally and I'll get into
that<00:10:08.760><c> in</c><00:10:09.000><c> a</c><00:10:09.300><c> second</c><00:10:09.420><c> of</c><00:10:09.540><c> what</c><00:10:09.720><c> exactly</c><00:10:10.080><c> it</c>

00:10:10.190 --> 00:10:10.200 align:start position:0%
that in a second of what exactly it
 

00:10:10.200 --> 00:10:12.829 align:start position:0%
that in a second of what exactly it
means<00:10:10.860><c> um</c><00:10:10.920><c> but</c><00:10:11.459><c> then</c><00:10:11.580><c> the</c><00:10:12.120><c> segregation</c><00:10:12.540><c> steps</c>

00:10:12.829 --> 00:10:12.839 align:start position:0%
means um but then the segregation steps
 

00:10:12.839 --> 00:10:13.970 align:start position:0%
means um but then the segregation steps
need<00:10:12.959><c> to</c><00:10:13.080><c> be</c><00:10:13.200><c> done</c><00:10:13.320><c> by</c><00:10:13.440><c> the</c><00:10:13.620><c> network</c><00:10:13.680><c> for</c>

00:10:13.970 --> 00:10:13.980 align:start position:0%
need to be done by the network for
 

00:10:13.980 --> 00:10:15.350 align:start position:0%
need to be done by the network for
example<00:10:14.160><c> a</c><00:10:14.339><c> block</c><00:10:14.459><c> producer</c><00:10:14.940><c> or</c><00:10:15.120><c> a</c><00:10:15.240><c> block</c>

00:10:15.350 --> 00:10:15.360 align:start position:0%
example a block producer or a block
 

00:10:15.360 --> 00:10:17.329 align:start position:0%
example a block producer or a block
producer<00:10:15.779><c> can</c><00:10:15.899><c> delegate</c><00:10:16.260><c> this</c><00:10:16.560><c> kind</c><00:10:17.160><c> of</c>

00:10:17.329 --> 00:10:17.339 align:start position:0%
producer can delegate this kind of
 

00:10:17.339 --> 00:10:18.650 align:start position:0%
producer can delegate this kind of
aggregation<00:10:17.700><c> to</c><00:10:17.880><c> someone</c><00:10:18.060><c> else</c><00:10:18.240><c> some</c><00:10:18.480><c> other</c>

00:10:18.650 --> 00:10:18.660 align:start position:0%
aggregation to someone else some other
 

00:10:18.660 --> 00:10:20.090 align:start position:0%
aggregation to someone else some other
actors

00:10:20.090 --> 00:10:20.100 align:start position:0%
actors
 

00:10:20.100 --> 00:10:21.769 align:start position:0%
actors
now<00:10:20.700><c> let's</c><00:10:21.000><c> talk</c><00:10:21.180><c> a</c><00:10:21.300><c> little</c><00:10:21.360><c> bit</c><00:10:21.480><c> more</c><00:10:21.600><c> about</c>

00:10:21.769 --> 00:10:21.779 align:start position:0%
now let's talk a little bit more about
 

00:10:21.779 --> 00:10:23.389 align:start position:0%
now let's talk a little bit more about
what<00:10:22.080><c> this</c><00:10:22.320><c> concept</c><00:10:22.680><c> of</c><00:10:22.860><c> local</c><00:10:23.100><c> versus</c>

00:10:23.389 --> 00:10:23.399 align:start position:0%
what this concept of local versus
 

00:10:23.399 --> 00:10:25.370 align:start position:0%
what this concept of local versus
Network<00:10:23.700><c> execution</c><00:10:24.240><c> so</c><00:10:24.779><c> in</c><00:10:24.899><c> a</c><00:10:25.080><c> traditional</c>

00:10:25.370 --> 00:10:25.380 align:start position:0%
Network execution so in a traditional
 

00:10:25.380 --> 00:10:27.470 align:start position:0%
Network execution so in a traditional
kind<00:10:25.620><c> of</c><00:10:25.740><c> uh</c><00:10:26.160><c> model</c><00:10:26.339><c> okay</c><00:10:26.700><c> when</c><00:10:26.940><c> we</c><00:10:27.060><c> execute</c><00:10:27.360><c> a</c>

00:10:27.470 --> 00:10:27.480 align:start position:0%
kind of uh model okay when we execute a
 

00:10:27.480 --> 00:10:29.210 align:start position:0%
kind of uh model okay when we execute a
transaction<00:10:27.720><c> we</c><00:10:28.080><c> have</c><00:10:28.200><c> you</c><00:10:28.560><c> know</c><00:10:28.680><c> a</c><00:10:28.860><c> step</c><00:10:28.980><c> that</c>

00:10:29.210 --> 00:10:29.220 align:start position:0%
transaction we have you know a step that
 

00:10:29.220 --> 00:10:30.470 align:start position:0%
transaction we have you know a step that
prepares<00:10:29.580><c> some</c><00:10:29.760><c> inputs</c><00:10:30.000><c> for</c><00:10:30.120><c> the</c><00:10:30.240><c> transaction</c>

00:10:30.470 --> 00:10:30.480 align:start position:0%
prepares some inputs for the transaction
 

00:10:30.480 --> 00:10:32.630 align:start position:0%
prepares some inputs for the transaction
signs<00:10:31.019><c> the</c><00:10:31.080><c> transaction</c><00:10:31.380><c> and</c><00:10:31.620><c> so</c><00:10:31.740><c> forth</c><00:10:31.980><c> then</c>

00:10:32.630 --> 00:10:32.640 align:start position:0%
signs the transaction and so forth then
 

00:10:32.640 --> 00:10:34.310 align:start position:0%
signs the transaction and so forth then
we<00:10:32.820><c> execute</c><00:10:33.300><c> it</c>

00:10:34.310 --> 00:10:34.320 align:start position:0%
we execute it
 

00:10:34.320 --> 00:10:36.590 align:start position:0%
we execute it
um<00:10:34.440><c> then</c><00:10:34.740><c> in</c><00:10:34.920><c> the</c><00:10:35.040><c> context</c><00:10:35.279><c> of</c><00:10:35.459><c> SDK</c><00:10:35.940><c> system</c><00:10:36.300><c> we</c>

00:10:36.590 --> 00:10:36.600 align:start position:0%
um then in the context of SDK system we
 

00:10:36.600 --> 00:10:37.850 align:start position:0%
um then in the context of SDK system we
generate<00:10:37.019><c> a</c><00:10:37.140><c> proof</c><00:10:37.380><c> for</c><00:10:37.500><c> this</c><00:10:37.560><c> transaction</c>

00:10:37.850 --> 00:10:37.860 align:start position:0%
generate a proof for this transaction
 

00:10:37.860 --> 00:10:39.170 align:start position:0%
generate a proof for this transaction
and<00:10:38.100><c> finally</c><00:10:38.339><c> we</c><00:10:38.519><c> get</c><00:10:38.640><c> this</c><00:10:38.820><c> transaction</c>

00:10:39.170 --> 00:10:39.180 align:start position:0%
and finally we get this transaction
 

00:10:39.180 --> 00:10:41.449 align:start position:0%
and finally we get this transaction
proof<00:10:39.660><c> that</c><00:10:40.440><c> you</c><00:10:40.620><c> know</c><00:10:40.740><c> according</c><00:10:41.160><c> to</c><00:10:41.279><c> the</c>

00:10:41.449 --> 00:10:41.459 align:start position:0%
proof that you know according to the
 

00:10:41.459 --> 00:10:42.650 align:start position:0%
proof that you know according to the
previous<00:10:41.580><c> slide</c><00:10:41.880><c> gets</c><00:10:42.180><c> aggregated</c><00:10:42.480><c> into</c>

00:10:42.650 --> 00:10:42.660 align:start position:0%
previous slide gets aggregated into
 

00:10:42.660 --> 00:10:44.269 align:start position:0%
previous slide gets aggregated into
batches<00:10:43.080><c> and</c><00:10:43.200><c> it</c><00:10:43.380><c> finally</c><00:10:43.740><c> end</c><00:10:43.920><c> UPS</c><00:10:44.160><c> in</c><00:10:44.220><c> the</c>

00:10:44.269 --> 00:10:44.279 align:start position:0%
batches and it finally end UPS in the
 

00:10:44.279 --> 00:10:47.090 align:start position:0%
batches and it finally end UPS in the
block<00:10:44.399><c> now</c><00:10:45.360><c> in</c><00:10:45.959><c> a</c><00:10:46.140><c> network</c><00:10:46.320><c> model</c><00:10:46.680><c> the</c><00:10:46.980><c> block</c>

00:10:47.090 --> 00:10:47.100 align:start position:0%
block now in a network model the block
 

00:10:47.100 --> 00:10:48.710 align:start position:0%
block now in a network model the block
producer<00:10:47.579><c> so</c><00:10:47.760><c> that</c><00:10:47.940><c> the</c><00:10:48.120><c> user</c><00:10:48.300><c> prepares</c><00:10:48.660><c> the</c>

00:10:48.710 --> 00:10:48.720 align:start position:0%
producer so that the user prepares the
 

00:10:48.720 --> 00:10:50.630 align:start position:0%
producer so that the user prepares the
transaction<00:10:49.079><c> sends</c><00:10:49.620><c> it</c><00:10:49.740><c> to</c><00:10:49.860><c> the</c>

00:10:50.630 --> 00:10:50.640 align:start position:0%
transaction sends it to the
 

00:10:50.640 --> 00:10:51.769 align:start position:0%
transaction sends it to the
um you<00:10:50.880><c> know</c><00:10:50.940><c> the</c><00:10:51.060><c> network</c><00:10:51.180><c> and</c><00:10:51.420><c> then</c><00:10:51.540><c> a</c><00:10:51.720><c> block</c>

00:10:51.769 --> 00:10:51.779 align:start position:0%
um you know the network and then a block
 

00:10:51.779 --> 00:10:53.030 align:start position:0%
um you know the network and then a block
producer<00:10:52.200><c> would</c><00:10:52.320><c> execute</c><00:10:52.620><c> this</c><00:10:52.740><c> transaction</c>

00:10:53.030 --> 00:10:53.040 align:start position:0%
producer would execute this transaction
 

00:10:53.040 --> 00:10:55.610 align:start position:0%
producer would execute this transaction
generator<00:10:53.519><c> proof</c><00:10:53.940><c> and</c><00:10:54.480><c> then</c><00:10:54.600><c> you</c><00:10:55.560><c> know</c>

00:10:55.610 --> 00:10:55.620 align:start position:0%
generator proof and then you know
 

00:10:55.620 --> 00:10:57.050 align:start position:0%
generator proof and then you know
aggregate<00:10:56.040><c> this</c><00:10:56.160><c> proof</c><00:10:56.399><c> as</c><00:10:56.519><c> I</c><00:10:56.700><c> described</c><00:10:56.940><c> on</c>

00:10:57.050 --> 00:10:57.060 align:start position:0%
aggregate this proof as I described on
 

00:10:57.060 --> 00:10:59.449 align:start position:0%
aggregate this proof as I described on
the<00:10:57.180><c> previous</c><00:10:57.240><c> slide</c><00:10:58.019><c> in</c><00:10:58.680><c> a</c><00:10:58.800><c> local</c><00:10:58.980><c> context</c>

00:10:59.449 --> 00:10:59.459 align:start position:0%
the previous slide in a local context
 

00:10:59.459 --> 00:11:01.190 align:start position:0%
the previous slide in a local context
the<00:10:59.820><c> user</c><00:11:00.120><c> can</c><00:11:00.240><c> actually</c><00:11:00.360><c> do</c><00:11:00.660><c> all</c><00:11:00.839><c> of</c><00:11:00.899><c> this</c><00:11:01.019><c> so</c>

00:11:01.190 --> 00:11:01.200 align:start position:0%
the user can actually do all of this so
 

00:11:01.200 --> 00:11:02.750 align:start position:0%
the user can actually do all of this so
the<00:11:01.440><c> user</c><00:11:01.740><c> can</c><00:11:01.980><c> both</c><00:11:02.220><c> prepare</c><00:11:02.640><c> the</c>

00:11:02.750 --> 00:11:02.760 align:start position:0%
the user can both prepare the
 

00:11:02.760 --> 00:11:04.550 align:start position:0%
the user can both prepare the
transaction<00:11:03.120><c> execute</c><00:11:03.720><c> it</c><00:11:03.839><c> and</c><00:11:04.019><c> generate</c><00:11:04.380><c> a</c>

00:11:04.550 --> 00:11:04.560 align:start position:0%
transaction execute it and generate a
 

00:11:04.560 --> 00:11:07.370 align:start position:0%
transaction execute it and generate a
transaction<00:11:04.800><c> proof</c><00:11:05.279><c> and</c><00:11:06.120><c> then</c><00:11:06.360><c> what</c><00:11:07.079><c> gets</c>

00:11:07.370 --> 00:11:07.380 align:start position:0%
transaction proof and then what gets
 

00:11:07.380 --> 00:11:08.750 align:start position:0%
transaction proof and then what gets
sent<00:11:07.500><c> to</c><00:11:07.680><c> the</c><00:11:07.800><c> network</c><00:11:07.920><c> is</c><00:11:08.160><c> actually</c><00:11:08.279><c> just</c><00:11:08.579><c> the</c>

00:11:08.750 --> 00:11:08.760 align:start position:0%
sent to the network is actually just the
 

00:11:08.760 --> 00:11:10.670 align:start position:0%
sent to the network is actually just the
transactional<00:11:09.180><c> proof</c><00:11:09.420><c> itself</c><00:11:09.660><c> and</c><00:11:10.320><c> then</c><00:11:10.440><c> the</c>

00:11:10.670 --> 00:11:10.680 align:start position:0%
transactional proof itself and then the
 

00:11:10.680 --> 00:11:12.530 align:start position:0%
transactional proof itself and then the
block<00:11:11.399><c> producer</c><00:11:11.820><c> doesn't</c><00:11:12.000><c> actually</c><00:11:12.180><c> need</c><00:11:12.420><c> to</c>

00:11:12.530 --> 00:11:12.540 align:start position:0%
block producer doesn't actually need to
 

00:11:12.540 --> 00:11:14.090 align:start position:0%
block producer doesn't actually need to
execute<00:11:12.899><c> the</c><00:11:13.019><c> transaction</c><00:11:13.380><c> and</c><00:11:13.620><c> doesn't</c><00:11:13.800><c> need</c>

00:11:14.090 --> 00:11:14.100 align:start position:0%
execute the transaction and doesn't need
 

00:11:14.100 --> 00:11:15.069 align:start position:0%
execute the transaction and doesn't need
to

00:11:15.069 --> 00:11:15.079 align:start position:0%
to
 

00:11:15.079 --> 00:11:17.389 align:start position:0%
to
generate<00:11:16.079><c> the</c><00:11:16.260><c> proof</c><00:11:16.440><c> for</c><00:11:16.560><c> it</c><00:11:16.680><c> it</c><00:11:16.920><c> just</c><00:11:17.220><c> the</c>

00:11:17.389 --> 00:11:17.399 align:start position:0%
generate the proof for it it just the
 

00:11:17.399 --> 00:11:18.829 align:start position:0%
generate the proof for it it just the
block<00:11:17.640><c> producer</c><00:11:18.060><c> just</c><00:11:18.180><c> needs</c><00:11:18.360><c> to</c><00:11:18.420><c> aggregate</c>

00:11:18.829 --> 00:11:18.839 align:start position:0%
block producer just needs to aggregate
 

00:11:18.839 --> 00:11:20.449 align:start position:0%
block producer just needs to aggregate
it<00:11:19.019><c> but</c><00:11:19.140><c> it</c><00:11:19.380><c> was</c><00:11:19.560><c> other</c><00:11:19.680><c> transactions</c><00:11:20.220><c> for</c>

00:11:20.449 --> 00:11:20.459 align:start position:0%
it but it was other transactions for
 

00:11:20.459 --> 00:11:22.970 align:start position:0%
it but it was other transactions for
which<00:11:20.940><c> it</c><00:11:21.060><c> has</c><00:11:21.240><c> generated</c><00:11:21.660><c> the</c><00:11:21.899><c> proofs</c>

00:11:22.970 --> 00:11:22.980 align:start position:0%
which it has generated the proofs
 

00:11:22.980 --> 00:11:24.769 align:start position:0%
which it has generated the proofs
um one<00:11:23.339><c> important</c><00:11:23.640><c> thing</c><00:11:23.760><c> to</c><00:11:23.880><c> note</c><00:11:24.000><c> is</c><00:11:24.240><c> how</c><00:11:24.660><c> do</c>

00:11:24.769 --> 00:11:24.779 align:start position:0%
um one important thing to note is how do
 

00:11:24.779 --> 00:11:26.329 align:start position:0%
um one important thing to note is how do
we<00:11:24.899><c> handle</c><00:11:25.140><c> shared</c><00:11:25.440><c> State</c><00:11:25.620><c> because</c><00:11:25.860><c> you</c><00:11:26.220><c> know</c>

00:11:26.329 --> 00:11:26.339 align:start position:0%
we handle shared State because you know
 

00:11:26.339 --> 00:11:28.009 align:start position:0%
we handle shared State because you know
it<00:11:26.640><c> works</c><00:11:26.880><c> what</c><00:11:27.060><c> I</c><00:11:27.240><c> described</c><00:11:27.540><c> works</c><00:11:27.839><c> very</c>

00:11:28.009 --> 00:11:28.019 align:start position:0%
it works what I described works very
 

00:11:28.019 --> 00:11:29.990 align:start position:0%
it works what I described works very
nice<00:11:28.560><c> when</c><00:11:28.860><c> you</c><00:11:28.980><c> have</c><00:11:29.160><c> like</c><00:11:29.339><c> transactions</c>

00:11:29.990 --> 00:11:30.000 align:start position:0%
nice when you have like transactions
 

00:11:30.000 --> 00:11:32.030 align:start position:0%
nice when you have like transactions
which<00:11:30.300><c> go</c><00:11:30.600><c> and</c><00:11:31.260><c> don't</c><00:11:31.440><c> touch</c><00:11:31.680><c> multiple</c>

00:11:32.030 --> 00:11:32.040 align:start position:0%
which go and don't touch multiple
 

00:11:32.040 --> 00:11:33.590 align:start position:0%
which go and don't touch multiple
accounts<00:11:32.399><c> or</c><00:11:32.519><c> like</c><00:11:32.760><c> when</c><00:11:32.940><c> you</c><00:11:33.120><c> have</c><00:11:33.360><c> nodes</c>

00:11:33.590 --> 00:11:33.600 align:start position:0%
accounts or like when you have nodes
 

00:11:33.600 --> 00:11:34.850 align:start position:0%
accounts or like when you have nodes
that<00:11:33.779><c> go</c><00:11:33.959><c> to</c><00:11:34.019><c> different</c><00:11:34.200><c> accounts</c><00:11:34.620><c> and</c><00:11:34.740><c> so</c>

00:11:34.850 --> 00:11:34.860 align:start position:0%
that go to different accounts and so
 

00:11:34.860 --> 00:11:36.290 align:start position:0%
that go to different accounts and so
forth<00:11:35.100><c> but</c><00:11:35.579><c> let's</c><00:11:35.700><c> say</c><00:11:35.820><c> we</c><00:11:36.000><c> have</c><00:11:36.120><c> something</c>

00:11:36.290 --> 00:11:36.300 align:start position:0%
forth but let's say we have something
 

00:11:36.300 --> 00:11:38.210 align:start position:0%
forth but let's say we have something
like<00:11:36.480><c> a</c><00:11:36.660><c> uni</c><00:11:36.899><c> swap</c><00:11:37.140><c> situation</c><00:11:37.500><c> where</c><00:11:37.740><c> we</c><00:11:37.980><c> want</c>

00:11:38.210 --> 00:11:38.220 align:start position:0%
like a uni swap situation where we want
 

00:11:38.220 --> 00:11:39.949 align:start position:0%
like a uni swap situation where we want
we<00:11:38.940><c> have</c><00:11:39.060><c> several</c><00:11:39.300><c> accounts</c><00:11:39.600><c> that</c><00:11:39.720><c> want</c><00:11:39.839><c> to</c>

00:11:39.949 --> 00:11:39.959 align:start position:0%
we have several accounts that want to
 

00:11:39.959 --> 00:11:42.170 align:start position:0%
we have several accounts that want to
send<00:11:40.079><c> nodes</c><00:11:40.380><c> in</c><00:11:40.560><c> exchange</c><00:11:40.860><c> let's</c><00:11:41.459><c> say</c><00:11:41.700><c> assets</c>

00:11:42.170 --> 00:11:42.180 align:start position:0%
send nodes in exchange let's say assets
 

00:11:42.180 --> 00:11:44.630 align:start position:0%
send nodes in exchange let's say assets
for<00:11:42.660><c> some</c><00:11:42.839><c> other</c><00:11:42.959><c> assets</c><00:11:43.380><c> uh</c><00:11:43.800><c> using</c><00:11:44.100><c> uni</c><00:11:44.459><c> swap</c>

00:11:44.630 --> 00:11:44.640 align:start position:0%
for some other assets uh using uni swap
 

00:11:44.640 --> 00:11:45.410 align:start position:0%
for some other assets uh using uni swap
account

00:11:45.410 --> 00:11:45.420 align:start position:0%
account
 

00:11:45.420 --> 00:11:47.690 align:start position:0%
account
so<00:11:45.959><c> in</c><00:11:46.140><c> the</c><00:11:46.500><c> way</c><00:11:46.560><c> we</c><00:11:46.740><c> would</c><00:11:46.860><c> do</c><00:11:46.980><c> it</c><00:11:47.160><c> is</c><00:11:47.339><c> that</c>

00:11:47.690 --> 00:11:47.700 align:start position:0%
so in the way we would do it is that
 

00:11:47.700 --> 00:11:49.850 align:start position:0%
so in the way we would do it is that
first<00:11:48.420><c> we</c><00:11:48.959><c> would</c><00:11:49.140><c> have</c><00:11:49.320><c> you</c><00:11:49.680><c> know</c><00:11:49.740><c> each</c>

00:11:49.850 --> 00:11:49.860 align:start position:0%
first we would have you know each
 

00:11:49.860 --> 00:11:51.530 align:start position:0%
first we would have you know each
account<00:11:50.040><c> generates</c><00:11:50.640><c> its</c><00:11:50.880><c> own</c><00:11:50.940><c> transaction</c><00:11:51.300><c> to</c>

00:11:51.530 --> 00:11:51.540 align:start position:0%
account generates its own transaction to
 

00:11:51.540 --> 00:11:53.150 align:start position:0%
account generates its own transaction to
create<00:11:51.720><c> a</c><00:11:51.839><c> node</c><00:11:52.079><c> that</c><00:11:52.260><c> targets</c><00:11:52.620><c> a</c><00:11:52.740><c> uni</c><00:11:52.920><c> swap</c>

00:11:53.150 --> 00:11:53.160 align:start position:0%
create a node that targets a uni swap
 

00:11:53.160 --> 00:11:54.410 align:start position:0%
create a node that targets a uni swap
account

00:11:54.410 --> 00:11:54.420 align:start position:0%
account
 

00:11:54.420 --> 00:11:56.630 align:start position:0%
account
um<00:11:54.540><c> this</c><00:11:54.720><c> would</c><00:11:54.839><c> be</c><00:11:54.959><c> two</c><00:11:55.140><c> separate</c><00:11:55.560><c> kind</c><00:11:56.519><c> of</c>

00:11:56.630 --> 00:11:56.640 align:start position:0%
um this would be two separate kind of
 

00:11:56.640 --> 00:11:58.329 align:start position:0%
um this would be two separate kind of
logically<00:11:56.940><c> separate</c><00:11:57.240><c> transactions</c>

00:11:58.329 --> 00:11:58.339 align:start position:0%
logically separate transactions
 

00:11:58.339 --> 00:12:00.829 align:start position:0%
logically separate transactions
then<00:11:59.339><c> the</c><00:11:59.579><c> block</c><00:11:59.700><c> producer</c><00:12:00.180><c> will</c><00:12:00.300><c> generate</c><00:12:00.660><c> a</c>

00:12:00.829 --> 00:12:00.839 align:start position:0%
then the block producer will generate a
 

00:12:00.839 --> 00:12:02.389 align:start position:0%
then the block producer will generate a
third<00:12:00.899><c> transaction</c><00:12:01.320><c> that</c><00:12:01.620><c> would</c><00:12:01.800><c> consume</c><00:12:02.279><c> the</c>

00:12:02.389 --> 00:12:02.399 align:start position:0%
third transaction that would consume the
 

00:12:02.399 --> 00:12:03.889 align:start position:0%
third transaction that would consume the
first<00:12:02.579><c> two</c><00:12:02.760><c> nodes</c><00:12:03.000><c> in</c><00:12:03.240><c> a</c><00:12:03.360><c> single</c><00:12:03.600><c> transaction</c>

00:12:03.889 --> 00:12:03.899 align:start position:0%
first two nodes in a single transaction
 

00:12:03.899 --> 00:12:05.870 align:start position:0%
first two nodes in a single transaction
and<00:12:04.260><c> also</c><00:12:04.440><c> as</c><00:12:04.560><c> a</c><00:12:04.740><c> result</c><00:12:04.800><c> of</c><00:12:05.100><c> this</c><00:12:05.339><c> consumption</c>

00:12:05.870 --> 00:12:05.880 align:start position:0%
and also as a result of this consumption
 

00:12:05.880 --> 00:12:06.949 align:start position:0%
and also as a result of this consumption
of<00:12:06.000><c> this</c><00:12:06.060><c> node</c><00:12:06.300><c> that</c><00:12:06.420><c> would</c><00:12:06.540><c> generate</c><00:12:06.839><c> other</c>

00:12:06.949 --> 00:12:06.959 align:start position:0%
of this node that would generate other
 

00:12:06.959 --> 00:12:08.690 align:start position:0%
of this node that would generate other
two<00:12:07.200><c> nodes</c><00:12:07.440><c> that</c><00:12:07.680><c> would</c><00:12:07.860><c> kind</c><00:12:08.100><c> of</c><00:12:08.160><c> Target</c><00:12:08.339><c> back</c>

00:12:08.690 --> 00:12:08.700 align:start position:0%
two nodes that would kind of Target back
 

00:12:08.700 --> 00:12:11.150 align:start position:0%
two nodes that would kind of Target back
create<00:12:09.060><c> like</c><00:12:09.360><c> the</c><00:12:09.480><c> exchange</c><00:12:09.779><c> tokens</c><00:12:10.200><c> back</c><00:12:10.980><c> to</c>

00:12:11.150 --> 00:12:11.160 align:start position:0%
create like the exchange tokens back to
 

00:12:11.160 --> 00:12:13.250 align:start position:0%
create like the exchange tokens back to
their<00:12:11.339><c> original</c><00:12:11.459><c> accounts</c><00:12:12.480><c> and</c><00:12:12.959><c> then</c><00:12:13.079><c> we</c>

00:12:13.250 --> 00:12:13.260 align:start position:0%
their original accounts and then we
 

00:12:13.260 --> 00:12:14.509 align:start position:0%
their original accounts and then we
would<00:12:13.800><c> um</c>

00:12:14.509 --> 00:12:14.519 align:start position:0%
would um
 

00:12:14.519 --> 00:12:16.910 align:start position:0%
would um
and<00:12:15.180><c> then</c><00:12:15.360><c> we</c><00:12:15.720><c> would</c><00:12:15.899><c> have</c><00:12:16.079><c> the</c><00:12:16.440><c> you</c><00:12:16.860><c> know</c>

00:12:16.910 --> 00:12:16.920 align:start position:0%
and then we would have the you know
 

00:12:16.920 --> 00:12:19.009 align:start position:0%
and then we would have the you know
additional<00:12:17.519><c> transactions</c><00:12:18.060><c> that</c><00:12:18.360><c> uh</c><00:12:18.720><c> the</c>

00:12:19.009 --> 00:12:19.019 align:start position:0%
additional transactions that uh the
 

00:12:19.019 --> 00:12:20.569 align:start position:0%
additional transactions that uh the
accounts<00:12:19.440><c> the</c><00:12:19.560><c> users</c><00:12:19.800><c> of</c><00:12:19.980><c> accounts</c><00:12:20.339><c> one</c><00:12:20.399><c> and</c>

00:12:20.569 --> 00:12:20.579 align:start position:0%
accounts the users of accounts one and
 

00:12:20.579 --> 00:12:22.069 align:start position:0%
accounts the users of accounts one and
two<00:12:20.700><c> would</c><00:12:20.880><c> execute</c><00:12:21.240><c> to</c><00:12:21.360><c> consume</c><00:12:21.779><c> kind</c><00:12:21.959><c> of</c>

00:12:22.069 --> 00:12:22.079 align:start position:0%
two would execute to consume kind of
 

00:12:22.079 --> 00:12:24.590 align:start position:0%
two would execute to consume kind of
this<00:12:22.200><c> nodes</c><00:12:22.500><c> back</c><00:12:22.740><c> into</c><00:12:22.860><c> the</c><00:12:23.279><c> uh</c><00:12:24.180><c> back</c><00:12:24.480><c> into</c>

00:12:24.590 --> 00:12:24.600 align:start position:0%
this nodes back into the uh back into
 

00:12:24.600 --> 00:12:27.170 align:start position:0%
this nodes back into the uh back into
the<00:12:24.959><c> their</c><00:12:25.260><c> respective</c><00:12:25.740><c> accounts</c><00:12:26.459><c> so</c>

00:12:27.170 --> 00:12:27.180 align:start position:0%
the their respective accounts so
 

00:12:27.180 --> 00:12:29.870 align:start position:0%
the their respective accounts so
basically<00:12:27.600><c> in</c><00:12:27.779><c> this</c><00:12:27.959><c> model</c><00:12:28.579><c> we</c><00:12:29.579><c> still</c><00:12:29.700><c> have</c>

00:12:29.870 --> 00:12:29.880 align:start position:0%
basically in this model we still have
 

00:12:29.880 --> 00:12:31.490 align:start position:0%
basically in this model we still have
this<00:12:30.060><c> ability</c><00:12:30.300><c> to</c><00:12:30.540><c> interact</c><00:12:30.779><c> with</c><00:12:30.959><c> a</c><00:12:31.140><c> contract</c>

00:12:31.490 --> 00:12:31.500 align:start position:0%
this ability to interact with a contract
 

00:12:31.500 --> 00:12:34.130 align:start position:0%
this ability to interact with a contract
or<00:12:31.980><c> account</c><00:12:32.160><c> with</c><00:12:32.399><c> a</c><00:12:32.579><c> shared</c><00:12:32.820><c> State</c><00:12:33.019><c> just</c><00:12:34.019><c> in</c>

00:12:34.130 --> 00:12:34.140 align:start position:0%
or account with a shared State just in
 

00:12:34.140 --> 00:12:37.190 align:start position:0%
or account with a shared State just in
this<00:12:34.260><c> case</c><00:12:34.380><c> the</c><00:12:35.000><c> transaction</c><00:12:36.000><c> that</c><00:12:36.779><c> interacts</c>

00:12:37.190 --> 00:12:37.200 align:start position:0%
this case the transaction that interacts
 

00:12:37.200 --> 00:12:38.569 align:start position:0%
this case the transaction that interacts
with<00:12:37.260><c> the</c><00:12:37.500><c> account</c><00:12:37.860><c> of</c><00:12:38.100><c> the</c><00:12:38.220><c> shared</c><00:12:38.459><c> State</c>

00:12:38.569 --> 00:12:38.579 align:start position:0%
with the account of the shared State
 

00:12:38.579 --> 00:12:40.190 align:start position:0%
with the account of the shared State
needs<00:12:38.820><c> to</c><00:12:38.880><c> be</c><00:12:39.000><c> a</c><00:12:39.060><c> network</c><00:12:39.240><c> transactions</c><00:12:39.899><c> it's</c>

00:12:40.190 --> 00:12:40.200 align:start position:0%
needs to be a network transactions it's
 

00:12:40.200 --> 00:12:41.870 align:start position:0%
needs to be a network transactions it's
not<00:12:40.320><c> a</c><00:12:40.560><c> locally</c><00:12:40.860><c> executed</c><00:12:41.339><c> transaction</c><00:12:41.579><c> must</c>

00:12:41.870 --> 00:12:41.880 align:start position:0%
not a locally executed transaction must
 

00:12:41.880 --> 00:12:43.670 align:start position:0%
not a locally executed transaction must
be<00:12:42.000><c> executed</c><00:12:42.480><c> by</c><00:12:42.600><c> the</c><00:12:42.720><c> network</c><00:12:42.899><c> or</c><00:12:43.440><c> the</c><00:12:43.560><c> block</c>

00:12:43.670 --> 00:12:43.680 align:start position:0%
be executed by the network or the block
 

00:12:43.680 --> 00:12:44.990 align:start position:0%
be executed by the network or the block
producer<00:12:44.160><c> because</c><00:12:44.279><c> the</c><00:12:44.459><c> block</c><00:12:44.519><c> producer</c>

00:12:44.990 --> 00:12:45.000 align:start position:0%
producer because the block producer
 

00:12:45.000 --> 00:12:47.269 align:start position:0%
producer because the block producer
needs<00:12:45.240><c> to</c><00:12:45.300><c> sequence</c><00:12:46.019><c> the</c><00:12:46.200><c> nodes</c><00:12:46.500><c> according</c><00:12:47.160><c> to</c>

00:12:47.269 --> 00:12:47.279 align:start position:0%
needs to sequence the nodes according to
 

00:12:47.279 --> 00:12:48.949 align:start position:0%
needs to sequence the nodes according to
whatever<00:12:47.459><c> logic</c><00:12:48.060><c> they</c><00:12:48.180><c> want</c><00:12:48.300><c> to</c><00:12:48.420><c> do</c><00:12:48.540><c> and</c><00:12:48.839><c> then</c>

00:12:48.949 --> 00:12:48.959 align:start position:0%
whatever logic they want to do and then
 

00:12:48.959 --> 00:12:50.329 align:start position:0%
whatever logic they want to do and then
execute<00:12:49.320><c> all</c><00:12:49.500><c> of</c><00:12:49.620><c> the</c><00:12:49.680><c> nodes</c><00:12:49.860><c> against</c><00:12:50.040><c> the</c>

00:12:50.329 --> 00:12:50.339 align:start position:0%
execute all of the nodes against the
 

00:12:50.339 --> 00:12:52.490 align:start position:0%
execute all of the nodes against the
same<00:12:50.519><c> account</c>

00:12:52.490 --> 00:12:52.500 align:start position:0%
same account
 

00:12:52.500 --> 00:12:54.829 align:start position:0%
same account
now<00:12:53.160><c> just</c><00:12:53.519><c> to</c><00:12:53.639><c> kind</c><00:12:53.820><c> of</c><00:12:53.880><c> summarize</c><00:12:54.240><c> this</c><00:12:54.540><c> you</c>

00:12:54.829 --> 00:12:54.839 align:start position:0%
now just to kind of summarize this you
 

00:12:54.839 --> 00:12:56.030 align:start position:0%
now just to kind of summarize this you
know<00:12:54.959><c> pros</c><00:12:55.260><c> and</c><00:12:55.320><c> cons</c><00:12:55.440><c> of</c><00:12:55.680><c> local</c><00:12:55.800><c> versus</c>

00:12:56.030 --> 00:12:56.040 align:start position:0%
know pros and cons of local versus
 

00:12:56.040 --> 00:12:57.949 align:start position:0%
know pros and cons of local versus
Network<00:12:56.339><c> execution</c><00:12:56.880><c> so</c><00:12:57.300><c> if</c><00:12:57.480><c> we</c><00:12:57.600><c> want</c><00:12:57.720><c> to</c><00:12:57.839><c> have</c>

00:12:57.949 --> 00:12:57.959 align:start position:0%
Network execution so if we want to have
 

00:12:57.959 --> 00:12:59.750 align:start position:0%
Network execution so if we want to have
a<00:12:58.139><c> shared</c><00:12:58.440><c> State</c><00:12:58.680><c> kind</c><00:12:59.220><c> of</c><00:12:59.399><c> an</c><00:12:59.459><c> account</c><00:12:59.579><c> with</c>

00:12:59.750 --> 00:12:59.760 align:start position:0%
a shared State kind of an account with
 

00:12:59.760 --> 00:13:00.829 align:start position:0%
a shared State kind of an account with
share<00:12:59.940><c> State</c><00:13:00.180><c> we</c><00:13:00.360><c> cannot</c><00:13:00.540><c> use</c><00:13:00.660><c> local</c>

00:13:00.829 --> 00:13:00.839 align:start position:0%
share State we cannot use local
 

00:13:00.839 --> 00:13:02.150 align:start position:0%
share State we cannot use local
transactions<00:13:01.380><c> but</c><00:13:01.560><c> we</c><00:13:01.680><c> can</c><00:13:01.800><c> use</c><00:13:01.980><c> Network</c>

00:13:02.150 --> 00:13:02.160 align:start position:0%
transactions but we can use Network
 

00:13:02.160 --> 00:13:03.530 align:start position:0%
transactions but we can use Network
transactions

00:13:03.530 --> 00:13:03.540 align:start position:0%
transactions
 

00:13:03.540 --> 00:13:05.870 align:start position:0%
transactions
now<00:13:04.320><c> if</c><00:13:04.680><c> we</c><00:13:04.800><c> use</c><00:13:04.920><c> a</c><00:13:05.040><c> local</c><00:13:05.160><c> transaction</c><00:13:05.519><c> we</c><00:13:05.760><c> can</c>

00:13:05.870 --> 00:13:05.880 align:start position:0%
now if we use a local transaction we can
 

00:13:05.880 --> 00:13:08.449 align:start position:0%
now if we use a local transaction we can
have<00:13:06.000><c> privacy</c><00:13:06.480><c> because</c><00:13:07.380><c> nobody</c><00:13:08.040><c> actually</c><00:13:08.220><c> on</c>

00:13:08.449 --> 00:13:08.459 align:start position:0%
have privacy because nobody actually on
 

00:13:08.459 --> 00:13:09.530 align:start position:0%
have privacy because nobody actually on
a<00:13:08.579><c> network</c><00:13:08.700><c> needs</c><00:13:09.000><c> to</c><00:13:09.060><c> execute</c><00:13:09.420><c> those</c>

00:13:09.530 --> 00:13:09.540 align:start position:0%
a network needs to execute those
 

00:13:09.540 --> 00:13:10.910 align:start position:0%
a network needs to execute those
transactions

00:13:10.910 --> 00:13:10.920 align:start position:0%
transactions
 

00:13:10.920 --> 00:13:12.230 align:start position:0%
transactions
um<00:13:10.980><c> we</c><00:13:11.160><c> cannot</c><00:13:11.339><c> have</c><00:13:11.459><c> privacy</c><00:13:11.880><c> with</c><00:13:12.060><c> network</c>

00:13:12.230 --> 00:13:12.240 align:start position:0%
um we cannot have privacy with network
 

00:13:12.240 --> 00:13:13.370 align:start position:0%
um we cannot have privacy with network
transactions<00:13:12.720><c> because</c><00:13:12.839><c> obviously</c><00:13:13.200><c> somebody</c>

00:13:13.370 --> 00:13:13.380 align:start position:0%
transactions because obviously somebody
 

00:13:13.380 --> 00:13:15.889 align:start position:0%
transactions because obviously somebody
needs<00:13:13.740><c> to</c><00:13:13.800><c> execute</c><00:13:14.160><c> them</c><00:13:14.760><c> now</c><00:13:15.180><c> generating</c>

00:13:15.889 --> 00:13:15.899 align:start position:0%
needs to execute them now generating
 

00:13:15.899 --> 00:13:18.050 align:start position:0%
needs to execute them now generating
proofs<00:13:16.440><c> is</c><00:13:16.740><c> a</c><00:13:16.980><c> fairly</c><00:13:17.579><c> computationally</c>

00:13:18.050 --> 00:13:18.060 align:start position:0%
proofs is a fairly computationally
 

00:13:18.060 --> 00:13:20.090 align:start position:0%
proofs is a fairly computationally
intensive<00:13:18.480><c> process</c><00:13:18.839><c> so</c><00:13:19.200><c> the</c><00:13:19.500><c> client</c><00:13:19.740><c> Hardware</c>

00:13:20.090 --> 00:13:20.100 align:start position:0%
intensive process so the client Hardware
 

00:13:20.100 --> 00:13:22.069 align:start position:0%
intensive process so the client Hardware
requirements<00:13:20.820><c> might</c><00:13:21.000><c> be</c><00:13:21.180><c> high</c><00:13:21.420><c> for</c><00:13:21.839><c> local</c>

00:13:22.069 --> 00:13:22.079 align:start position:0%
requirements might be high for local
 

00:13:22.079 --> 00:13:23.290 align:start position:0%
requirements might be high for local
transactions

00:13:23.290 --> 00:13:23.300 align:start position:0%
transactions
 

00:13:23.300 --> 00:13:25.670 align:start position:0%
transactions
but<00:13:24.300><c> on</c><00:13:24.600><c> the</c><00:13:24.720><c> flip</c><00:13:24.959><c> side</c><00:13:25.079><c> because</c><00:13:25.440><c> you</c>

00:13:25.670 --> 00:13:25.680 align:start position:0%
but on the flip side because you
 

00:13:25.680 --> 00:13:27.590 align:start position:0%
but on the flip side because you
generated<00:13:26.040><c> the</c><00:13:26.220><c> proof</c><00:13:26.459><c> locally</c><00:13:26.760><c> there</c><00:13:27.420><c> is</c>

00:13:27.590 --> 00:13:27.600 align:start position:0%
generated the proof locally there is
 

00:13:27.600 --> 00:13:29.210 align:start position:0%
generated the proof locally there is
much<00:13:27.720><c> less</c><00:13:27.899><c> work</c><00:13:28.200><c> than</c><00:13:28.440><c> a</c><00:13:28.620><c> Blog</c><00:13:28.800><c> producer</c>

00:13:29.210 --> 00:13:29.220 align:start position:0%
much less work than a Blog producer
 

00:13:29.220 --> 00:13:30.829 align:start position:0%
much less work than a Blog producer
needs<00:13:29.459><c> to</c><00:13:29.519><c> do</c><00:13:29.639><c> they</c><00:13:30.240><c> don't</c><00:13:30.360><c> need</c><00:13:30.480><c> to</c><00:13:30.540><c> generate</c>

00:13:30.829 --> 00:13:30.839 align:start position:0%
needs to do they don't need to generate
 

00:13:30.839 --> 00:13:32.210 align:start position:0%
needs to do they don't need to generate
the<00:13:30.959><c> proof</c><00:13:31.139><c> for</c><00:13:31.500><c> the</c><00:13:31.560><c> transaction</c><00:13:31.860><c> they</c><00:13:32.100><c> don't</c>

00:13:32.210 --> 00:13:32.220 align:start position:0%
the proof for the transaction they don't
 

00:13:32.220 --> 00:13:33.590 align:start position:0%
the proof for the transaction they don't
need<00:13:32.339><c> to</c><00:13:32.399><c> execute</c><00:13:32.700><c> the</c><00:13:32.820><c> transaction</c><00:13:33.060><c> so</c><00:13:33.420><c> the</c>

00:13:33.590 --> 00:13:33.600 align:start position:0%
need to execute the transaction so the
 

00:13:33.600 --> 00:13:35.150 align:start position:0%
need to execute the transaction so the
fees<00:13:33.839><c> for</c><00:13:34.079><c> such</c><00:13:34.380><c> transactions</c><00:13:34.800><c> for</c><00:13:35.040><c> local</c>

00:13:35.150 --> 00:13:35.160 align:start position:0%
fees for such transactions for local
 

00:13:35.160 --> 00:13:36.889 align:start position:0%
fees for such transactions for local
transactions<00:13:35.940><c> would</c><00:13:36.120><c> be</c><00:13:36.240><c> lower</c><00:13:36.360><c> than</c><00:13:36.540><c> for</c><00:13:36.720><c> the</c>

00:13:36.889 --> 00:13:36.899 align:start position:0%
transactions would be lower than for the
 

00:13:36.899 --> 00:13:38.810 align:start position:0%
transactions would be lower than for the
ones<00:13:37.200><c> that</c><00:13:37.380><c> are</c><00:13:37.620><c> requested</c><00:13:38.459><c> for</c><00:13:38.579><c> the</c><00:13:38.700><c> network</c>

00:13:38.810 --> 00:13:38.820 align:start position:0%
ones that are requested for the network
 

00:13:38.820 --> 00:13:41.870 align:start position:0%
ones that are requested for the network
to<00:13:39.120><c> execute</c><00:13:39.620><c> now</c><00:13:40.620><c> the</c><00:13:41.279><c> next</c><00:13:41.339><c> thing</c><00:13:41.519><c> I</c><00:13:41.639><c> want</c><00:13:41.760><c> to</c>

00:13:41.870 --> 00:13:41.880 align:start position:0%
to execute now the next thing I want to
 

00:13:41.880 --> 00:13:43.550 align:start position:0%
to execute now the next thing I want to
talk<00:13:41.940><c> about</c><00:13:42.060><c> is</c><00:13:42.420><c> what</c><00:13:42.779><c> kind</c><00:13:42.959><c> of</c><00:13:43.019><c> a</c><00:13:43.139><c> state</c><00:13:43.320><c> model</c>

00:13:43.550 --> 00:13:43.560 align:start position:0%
talk about is what kind of a state model
 

00:13:43.560 --> 00:13:46.310 align:start position:0%
talk about is what kind of a state model
do<00:13:43.860><c> we</c><00:13:43.980><c> need</c><00:13:44.160><c> to</c><00:13:44.459><c> support</c><00:13:45.079><c> this</c><00:13:46.079><c> type</c><00:13:46.200><c> of</c>

00:13:46.310 --> 00:13:46.320 align:start position:0%
do we need to support this type of
 

00:13:46.320 --> 00:13:48.110 align:start position:0%
do we need to support this type of
transaction<00:13:46.680><c> model</c><00:13:47.040><c> and</c><00:13:47.579><c> this</c><00:13:47.700><c> is</c><00:13:47.820><c> where</c><00:13:48.000><c> the</c>

00:13:48.110 --> 00:13:48.120 align:start position:0%
transaction model and this is where the
 

00:13:48.120 --> 00:13:50.090 align:start position:0%
transaction model and this is where the
uatxon<00:13:48.779><c> account</c><00:13:49.019><c> based</c><00:13:49.380><c> model</c><00:13:49.500><c> kind</c><00:13:49.740><c> of</c><00:13:49.860><c> comes</c>

00:13:50.090 --> 00:13:50.100 align:start position:0%
uatxon account based model kind of comes
 

00:13:50.100 --> 00:13:51.050 align:start position:0%
uatxon account based model kind of comes
together

00:13:51.050 --> 00:13:51.060 align:start position:0%
together
 

00:13:51.060 --> 00:13:52.430 align:start position:0%
together
so

00:13:52.430 --> 00:13:52.440 align:start position:0%
so
 

00:13:52.440 --> 00:13:54.230 align:start position:0%
so
um My<00:13:53.100><c> Little</c><00:13:53.279><c> roll</c><00:13:53.519><c> up</c><00:13:53.700><c> state</c><00:13:53.880><c> is</c><00:13:54.120><c> actually</c>

00:13:54.230 --> 00:13:54.240 align:start position:0%
um My Little roll up state is actually
 

00:13:54.240 --> 00:13:56.030 align:start position:0%
um My Little roll up state is actually
described<00:13:54.600><c> by</c><00:13:54.720><c> three</c><00:13:54.839><c> databases</c><00:13:55.380><c> usually</c><00:13:55.740><c> you</c>

00:13:56.030 --> 00:13:56.040 align:start position:0%
described by three databases usually you
 

00:13:56.040 --> 00:13:57.650 align:start position:0%
described by three databases usually you
have<00:13:56.160><c> a</c><00:13:56.279><c> single</c><00:13:56.459><c> database</c><00:13:56.820><c> you</c><00:13:57.060><c> have</c><00:13:57.240><c> usually</c>

00:13:57.650 --> 00:13:57.660 align:start position:0%
have a single database you have usually
 

00:13:57.660 --> 00:13:59.750 align:start position:0%
have a single database you have usually
an<00:13:58.019><c> account</c><00:13:58.260><c> database</c><00:13:58.740><c> or</c><00:13:59.100><c> you</c><00:13:59.399><c> know</c><00:13:59.519><c> in</c><00:13:59.639><c> each</c>

00:13:59.750 --> 00:13:59.760 align:start position:0%
an account database or you know in each
 

00:13:59.760 --> 00:14:01.670 align:start position:0%
an account database or you know in each
Excel<00:14:00.120><c> context</c><00:14:00.360><c> you</c><00:14:00.540><c> have</c><00:14:00.660><c> a</c><00:14:00.899><c> kind</c><00:14:01.079><c> of</c><00:14:01.139><c> ATX</c><00:14:01.500><c> or</c>

00:14:01.670 --> 00:14:01.680 align:start position:0%
Excel context you have a kind of ATX or
 

00:14:01.680 --> 00:14:03.470 align:start position:0%
Excel context you have a kind of ATX or
database<00:14:02.040><c> but</c><00:14:02.639><c> in</c><00:14:02.820><c> our</c><00:14:02.940><c> context</c><00:14:03.240><c> actually</c>

00:14:03.470 --> 00:14:03.480 align:start position:0%
database but in our context actually
 

00:14:03.480 --> 00:14:05.030 align:start position:0%
database but in our context actually
three<00:14:03.839><c> separate</c><00:14:04.200><c> databases</c><00:14:04.560><c> there</c><00:14:04.800><c> is</c><00:14:04.920><c> an</c>

00:14:05.030 --> 00:14:05.040 align:start position:0%
three separate databases there is an
 

00:14:05.040 --> 00:14:06.470 align:start position:0%
three separate databases there is an
account<00:14:05.160><c> database</c><00:14:05.639><c> there</c><00:14:06.060><c> is</c><00:14:06.240><c> a</c><00:14:06.300><c> nodes</c>

00:14:06.470 --> 00:14:06.480 align:start position:0%
account database there is a nodes
 

00:14:06.480 --> 00:14:07.910 align:start position:0%
account database there is a nodes
database<00:14:06.899><c> and</c><00:14:07.079><c> there</c><00:14:07.320><c> is</c><00:14:07.500><c> a</c><00:14:07.560><c> nullifier</c>

00:14:07.910 --> 00:14:07.920 align:start position:0%
database and there is a nullifier
 

00:14:07.920 --> 00:14:10.009 align:start position:0%
database and there is a nullifier
database<00:14:08.220><c> and</c><00:14:08.399><c> I'll</c><00:14:08.519><c> explain</c><00:14:08.639><c> why</c><00:14:09.540><c> you</c><00:14:09.959><c> know</c>

00:14:10.009 --> 00:14:10.019 align:start position:0%
database and I'll explain why you know
 

00:14:10.019 --> 00:14:11.990 align:start position:0%
database and I'll explain why you know
why<00:14:10.200><c> all</c><00:14:10.380><c> of</c><00:14:10.500><c> them</c><00:14:10.560><c> are</c><00:14:10.680><c> needed</c><00:14:10.980><c> and</c><00:14:11.760><c> then</c><00:14:11.820><c> in</c>

00:14:11.990 --> 00:14:12.000 align:start position:0%
why all of them are needed and then in
 

00:14:12.000 --> 00:14:13.670 align:start position:0%
why all of them are needed and then in
our<00:14:12.180><c> case</c><00:14:12.360><c> updates</c><00:14:12.720><c> to</c><00:14:12.959><c> all</c><00:14:13.019><c> of</c><00:14:13.139><c> this</c><00:14:13.260><c> three</c>

00:14:13.670 --> 00:14:13.680 align:start position:0%
our case updates to all of this three
 

00:14:13.680 --> 00:14:15.110 align:start position:0%
our case updates to all of this three
database<00:14:13.920><c> so</c><00:14:14.040><c> like</c><00:14:14.220><c> when</c><00:14:14.339><c> you</c><00:14:14.459><c> have</c><00:14:14.519><c> a</c><00:14:14.639><c> Blog</c><00:14:14.880><c> a</c>

00:14:15.110 --> 00:14:15.120 align:start position:0%
database so like when you have a Blog a
 

00:14:15.120 --> 00:14:17.030 align:start position:0%
database so like when you have a Blog a
block<00:14:15.360><c> contains</c><00:14:15.899><c> information</c><00:14:16.079><c> that</c><00:14:16.620><c> updates</c>

00:14:17.030 --> 00:14:17.040 align:start position:0%
block contains information that updates
 

00:14:17.040 --> 00:14:18.530 align:start position:0%
block contains information that updates
all<00:14:17.220><c> of</c><00:14:17.339><c> the</c><00:14:17.459><c> three</c><00:14:17.579><c> databases</c><00:14:18.060><c> and</c><00:14:18.300><c> you</c><00:14:18.480><c> know</c>

00:14:18.530 --> 00:14:18.540 align:start position:0%
all of the three databases and you know
 

00:14:18.540 --> 00:14:21.410 align:start position:0%
all of the three databases and you know
takes<00:14:18.779><c> the</c><00:14:19.019><c> state</c><00:14:19.260><c> of</c><00:14:19.500><c> the</c><00:14:19.760><c> network</c><00:14:20.760><c> from</c><00:14:21.180><c> you</c>

00:14:21.410 --> 00:14:21.420 align:start position:0%
takes the state of the network from you
 

00:14:21.420 --> 00:14:25.069 align:start position:0%
takes the state of the network from you
know<00:14:21.540><c> stay</c><00:14:21.720><c> tuned</c><00:14:21.899><c> to</c><00:14:22.139><c> extend</c><00:14:22.380><c> n</c><00:14:23.040><c> plus</c><00:14:23.220><c> one</c>

00:14:25.069 --> 00:14:25.079 align:start position:0%
know stay tuned to extend n plus one
 

00:14:25.079 --> 00:14:25.610 align:start position:0%
know stay tuned to extend n plus one
um

00:14:25.610 --> 00:14:25.620 align:start position:0%
um
 

00:14:25.620 --> 00:14:27.829 align:start position:0%
um
account<00:14:26.100><c> database</c><00:14:26.639><c> account</c><00:14:26.940><c> database</c><00:14:27.420><c> holds</c>

00:14:27.829 --> 00:14:27.839 align:start position:0%
account database account database holds
 

00:14:27.839 --> 00:14:30.350 align:start position:0%
account database account database holds
all<00:14:28.079><c> of</c><00:14:28.260><c> the</c><00:14:28.620><c> you</c><00:14:29.519><c> know</c><00:14:29.579><c> current</c><00:14:29.820><c> states</c><00:14:30.120><c> of</c>

00:14:30.350 --> 00:14:30.360 align:start position:0%
all of the you know current states of
 

00:14:30.360 --> 00:14:32.870 align:start position:0%
all of the you know current states of
their<00:14:30.480><c> accounts</c><00:14:31.200><c> and</c><00:14:32.160><c> we</c><00:14:32.279><c> use</c><00:14:32.399><c> the</c><00:14:32.579><c> sparse</c>

00:14:32.870 --> 00:14:32.880 align:start position:0%
their accounts and we use the sparse
 

00:14:32.880 --> 00:14:37.250 align:start position:0%
their accounts and we use the sparse
Merkle<00:14:33.180><c> tree</c><00:14:33.440><c> to</c><00:14:34.579><c> kind</c><00:14:35.579><c> of</c><00:14:35.760><c> uh</c><00:14:36.480><c> as</c><00:14:36.899><c> a</c><00:14:37.079><c> data</c>

00:14:37.250 --> 00:14:37.260 align:start position:0%
Merkle tree to kind of uh as a data
 

00:14:37.260 --> 00:14:39.410 align:start position:0%
Merkle tree to kind of uh as a data
structure<00:14:37.500><c> that</c><00:14:37.680><c> holds</c><00:14:37.920><c> this</c><00:14:38.040><c> information</c><00:14:38.420><c> uh</c>

00:14:39.410 --> 00:14:39.420 align:start position:0%
structure that holds this information uh
 

00:14:39.420 --> 00:14:41.150 align:start position:0%
structure that holds this information uh
and<00:14:39.720><c> the</c><00:14:40.019><c> sparse</c><00:14:40.320><c> Michael</c><00:14:40.440><c> tree</c><00:14:40.680><c> Maps</c><00:14:41.040><c> account</c>

00:14:41.150 --> 00:14:41.160 align:start position:0%
and the sparse Michael tree Maps account
 

00:14:41.160 --> 00:14:44.930 align:start position:0%
and the sparse Michael tree Maps account
IDs<00:14:41.760><c> to</c><00:14:42.000><c> account</c><00:14:42.360><c> hashes</c><00:14:43.440><c> but</c><00:14:44.339><c> we</c><00:14:44.519><c> have</c><00:14:44.639><c> one</c>

00:14:44.930 --> 00:14:44.940 align:start position:0%
IDs to account hashes but we have one
 

00:14:44.940 --> 00:14:46.129 align:start position:0%
IDs to account hashes but we have one
kind<00:14:45.060><c> of</c><00:14:45.120><c> twist</c><00:14:45.360><c> to</c><00:14:45.480><c> this</c><00:14:45.660><c> we</c><00:14:45.839><c> have</c><00:14:45.959><c> two</c>

00:14:46.129 --> 00:14:46.139 align:start position:0%
kind of twist to this we have two
 

00:14:46.139 --> 00:14:47.509 align:start position:0%
kind of twist to this we have two
different<00:14:46.320><c> types</c><00:14:46.680><c> of</c><00:14:46.800><c> two</c><00:14:47.040><c> different</c><00:14:47.220><c> modes</c>

00:14:47.509 --> 00:14:47.519 align:start position:0%
different types of two different modes
 

00:14:47.519 --> 00:14:49.970 align:start position:0%
different types of two different modes
of<00:14:47.639><c> storing</c><00:14:47.940><c> accounts</c><00:14:48.360><c> in</c><00:14:48.540><c> this</c><00:14:48.720><c> database</c><00:14:49.380><c> the</c>

00:14:49.970 --> 00:14:49.980 align:start position:0%
of storing accounts in this database the
 

00:14:49.980 --> 00:14:51.470 align:start position:0%
of storing accounts in this database the
first<00:14:50.100><c> one</c><00:14:50.220><c> is</c><00:14:50.399><c> on</c><00:14:50.579><c> chainstate</c><00:14:51.120><c> which</c><00:14:51.300><c> is</c>

00:14:51.470 --> 00:14:51.480 align:start position:0%
first one is on chainstate which is
 

00:14:51.480 --> 00:14:53.210 align:start position:0%
first one is on chainstate which is
basically<00:14:51.839><c> the</c><00:14:52.199><c> same</c><00:14:52.320><c> as</c><00:14:52.440><c> what</c><00:14:52.680><c> you</c><00:14:52.800><c> would</c><00:14:52.980><c> get</c>

00:14:53.210 --> 00:14:53.220 align:start position:0%
basically the same as what you would get
 

00:14:53.220 --> 00:14:55.430 align:start position:0%
basically the same as what you would get
was<00:14:53.399><c> ethereum</c><00:14:53.880><c> where</c><00:14:54.060><c> for</c><00:14:54.660><c> each</c><00:14:54.839><c> hash</c><00:14:55.079><c> the</c>

00:14:55.430 --> 00:14:55.440 align:start position:0%
was ethereum where for each hash the
 

00:14:55.440 --> 00:14:58.069 align:start position:0%
was ethereum where for each hash the
nodes<00:14:55.800><c> store</c><00:14:56.220><c> also</c><00:14:57.000><c> all</c><00:14:57.120><c> the</c><00:14:57.300><c> associated</c><00:14:57.720><c> data</c>

00:14:58.069 --> 00:14:58.079 align:start position:0%
nodes store also all the associated data
 

00:14:58.079 --> 00:14:59.329 align:start position:0%
nodes store also all the associated data
for<00:14:58.139><c> the</c><00:14:58.260><c> accounts</c><00:14:58.560><c> such</c><00:14:58.680><c> as</c><00:14:58.800><c> like</c><00:14:59.040><c> storage</c>

00:14:59.329 --> 00:14:59.339 align:start position:0%
for the accounts such as like storage
 

00:14:59.339 --> 00:15:02.210 align:start position:0%
for the accounts such as like storage
code<00:14:59.940><c> you</c><00:15:00.540><c> know</c><00:15:00.660><c> nons</c><00:15:00.959><c> and</c><00:15:01.199><c> so</c><00:15:01.260><c> forth</c>

00:15:02.210 --> 00:15:02.220 align:start position:0%
code you know nons and so forth
 

00:15:02.220 --> 00:15:04.069 align:start position:0%
code you know nons and so forth
but<00:15:02.699><c> there</c><00:15:02.880><c> is</c><00:15:03.000><c> also</c><00:15:03.180><c> an</c><00:15:03.360><c> option</c><00:15:03.540><c> to</c><00:15:03.720><c> do</c><00:15:03.839><c> just</c>

00:15:04.069 --> 00:15:04.079 align:start position:0%
but there is also an option to do just
 

00:15:04.079 --> 00:15:07.129 align:start position:0%
but there is also an option to do just
an<00:15:04.380><c> off-chain</c><00:15:04.800><c> state</c><00:15:05.040><c> where</c><00:15:05.779><c> what</c><00:15:06.779><c> the</c><00:15:06.959><c> node</c>

00:15:07.129 --> 00:15:07.139 align:start position:0%
an off-chain state where what the node
 

00:15:07.139 --> 00:15:08.710 align:start position:0%
an off-chain state where what the node
store<00:15:07.320><c> adjusts</c><00:15:07.740><c> the</c><00:15:07.800><c> hash</c><00:15:07.980><c> of</c><00:15:08.160><c> the</c><00:15:08.279><c> account</c>

00:15:08.710 --> 00:15:08.720 align:start position:0%
store adjusts the hash of the account
 

00:15:08.720 --> 00:15:12.410 align:start position:0%
store adjusts the hash of the account
and<00:15:09.720><c> uh</c><00:15:10.199><c> the</c><00:15:10.860><c> the</c><00:15:10.980><c> user</c><00:15:11.399><c> himself</c><00:15:11.820><c> or</c><00:15:12.060><c> herself</c>

00:15:12.410 --> 00:15:12.420 align:start position:0%
and uh the the user himself or herself
 

00:15:12.420 --> 00:15:14.930 align:start position:0%
and uh the the user himself or herself
is<00:15:12.600><c> responsible</c><00:15:13.079><c> for</c><00:15:13.560><c> storing</c><00:15:14.279><c> the</c><00:15:14.699><c> actual</c>

00:15:14.930 --> 00:15:14.940 align:start position:0%
is responsible for storing the actual
 

00:15:14.940 --> 00:15:17.769 align:start position:0%
is responsible for storing the actual
state<00:15:15.120><c> of</c><00:15:15.300><c> the</c><00:15:15.480><c> account</c><00:15:15.600><c> so</c><00:15:16.440><c> network</c>

00:15:17.769 --> 00:15:17.779 align:start position:0%
state of the account so network
 

00:15:17.779 --> 00:15:20.210 align:start position:0%
state of the account so network
not<00:15:18.779><c> Network</c><00:15:18.959><c> don't</c><00:15:19.380><c> do</c><00:15:19.620><c> not</c><00:15:19.800><c> store</c><00:15:19.980><c> the</c>

00:15:20.210 --> 00:15:20.220 align:start position:0%
not Network don't do not store the
 

00:15:20.220 --> 00:15:21.889 align:start position:0%
not Network don't do not store the
actual<00:15:20.399><c> account</c><00:15:20.579><c> State</c><00:15:20.880><c> let's</c><00:15:21.540><c> go</c><00:15:21.720><c> to</c><00:15:21.779><c> the</c>

00:15:21.889 --> 00:15:21.899 align:start position:0%
actual account State let's go to the
 

00:15:21.899 --> 00:15:23.750 align:start position:0%
actual account State let's go to the
nodes<00:15:22.139><c> database</c><00:15:22.500><c> next</c><00:15:22.740><c> the</c><00:15:23.160><c> nodes</c><00:15:23.399><c> database</c>

00:15:23.750 --> 00:15:23.760 align:start position:0%
nodes database next the nodes database
 

00:15:23.760 --> 00:15:25.310 align:start position:0%
nodes database next the nodes database
stores<00:15:24.060><c> all</c><00:15:24.360><c> nodes</c><00:15:24.720><c> that</c><00:15:24.899><c> have</c><00:15:25.019><c> been</c><00:15:25.139><c> ever</c>

00:15:25.310 --> 00:15:25.320 align:start position:0%
stores all nodes that have been ever
 

00:15:25.320 --> 00:15:27.530 align:start position:0%
stores all nodes that have been ever
created<00:15:25.740><c> and</c><00:15:26.339><c> for</c><00:15:26.519><c> this</c><00:15:26.639><c> we</c><00:15:26.880><c> use</c><00:15:27.000><c> a</c><00:15:27.180><c> miracle</c>

00:15:27.530 --> 00:15:27.540 align:start position:0%
created and for this we use a miracle
 

00:15:27.540 --> 00:15:29.030 align:start position:0%
created and for this we use a miracle
mountain<00:15:27.660><c> range</c><00:15:28.079><c> which</c><00:15:28.320><c> is</c><00:15:28.440><c> a</c><00:15:28.620><c> append</c><00:15:28.920><c> only</c>

00:15:29.030 --> 00:15:29.040 align:start position:0%
mountain range which is a append only
 

00:15:29.040 --> 00:15:32.210 align:start position:0%
mountain range which is a append only
accumulator<00:15:29.720><c> and</c><00:15:30.720><c> a</c><00:15:31.019><c> leaf</c><00:15:31.320><c> in</c><00:15:31.440><c> this</c><00:15:31.680><c> miracle</c>

00:15:32.210 --> 00:15:32.220 align:start position:0%
accumulator and a leaf in this miracle
 

00:15:32.220 --> 00:15:33.949 align:start position:0%
accumulator and a leaf in this miracle
mountain<00:15:32.339><c> range</c><00:15:32.639><c> is</c><00:15:32.820><c> basically</c><00:15:33.120><c> just</c><00:15:33.420><c> a</c><00:15:33.600><c> set</c>

00:15:33.949 --> 00:15:33.959 align:start position:0%
mountain range is basically just a set
 

00:15:33.959 --> 00:15:35.750 align:start position:0%
mountain range is basically just a set
of<00:15:34.199><c> nodes</c><00:15:34.680><c> that</c><00:15:34.860><c> were</c><00:15:34.980><c> created</c><00:15:35.279><c> in</c><00:15:35.399><c> a</c><00:15:35.579><c> specific</c>

00:15:35.750 --> 00:15:35.760 align:start position:0%
of nodes that were created in a specific
 

00:15:35.760 --> 00:15:36.590 align:start position:0%
of nodes that were created in a specific
block

00:15:36.590 --> 00:15:36.600 align:start position:0%
block
 

00:15:36.600 --> 00:15:39.050 align:start position:0%
block
and<00:15:37.199><c> one</c><00:15:37.380><c> of</c><00:15:37.500><c> the</c><00:15:37.560><c> reasons</c><00:15:37.860><c> we</c><00:15:38.040><c> chose</c><00:15:38.279><c> this</c><00:15:38.699><c> uh</c>

00:15:39.050 --> 00:15:39.060 align:start position:0%
and one of the reasons we chose this uh
 

00:15:39.060 --> 00:15:40.490 align:start position:0%
and one of the reasons we chose this uh
there<00:15:39.480><c> are</c><00:15:39.600><c> a</c><00:15:39.839><c> number</c><00:15:39.959><c> of</c><00:15:40.019><c> reasons</c><00:15:40.260><c> why</c><00:15:40.380><c> we</c>

00:15:40.490 --> 00:15:40.500 align:start position:0%
there are a number of reasons why we
 

00:15:40.500 --> 00:15:41.689 align:start position:0%
there are a number of reasons why we
chose<00:15:40.620><c> the</c><00:15:40.740><c> miracle</c><00:15:41.040><c> mountain</c><00:15:41.160><c> region</c><00:15:41.579><c> it's</c>

00:15:41.689 --> 00:15:41.699 align:start position:0%
chose the miracle mountain region it's
 

00:15:41.699 --> 00:15:43.670 align:start position:0%
chose the miracle mountain region it's
very<00:15:42.000><c> convenient</c><00:15:42.420><c> for</c><00:15:42.779><c> a</c><00:15:43.079><c> number</c><00:15:43.260><c> of</c><00:15:43.380><c> purposes</c>

00:15:43.670 --> 00:15:43.680 align:start position:0%
very convenient for a number of purposes
 

00:15:43.680 --> 00:15:45.650 align:start position:0%
very convenient for a number of purposes
but<00:15:43.920><c> one</c><00:15:44.100><c> of</c><00:15:44.220><c> this</c><00:15:44.279><c> is</c><00:15:44.399><c> that</c>

00:15:45.650 --> 00:15:45.660 align:start position:0%
but one of this is that
 

00:15:45.660 --> 00:15:48.530 align:start position:0%
but one of this is that
um<00:15:46.199><c> you</c><00:15:46.860><c> can</c><00:15:46.980><c> extend</c><00:15:47.399><c> or</c><00:15:47.579><c> add</c><00:15:47.820><c> new</c><00:15:48.060><c> nodes</c><00:15:48.300><c> to</c>

00:15:48.530 --> 00:15:48.540 align:start position:0%
um you can extend or add new nodes to
 

00:15:48.540 --> 00:15:49.670 align:start position:0%
um you can extend or add new nodes to
this<00:15:48.720><c> accumulator</c><00:15:49.079><c> without</c><00:15:49.380><c> actually</c>

00:15:49.670 --> 00:15:49.680 align:start position:0%
this accumulator without actually
 

00:15:49.680 --> 00:15:51.050 align:start position:0%
this accumulator without actually
knowing<00:15:50.040><c> most</c><00:15:50.220><c> of</c><00:15:50.339><c> the</c><00:15:50.399><c> previous</c><00:15:50.519><c> nodes</c><00:15:50.940><c> so</c>

00:15:51.050 --> 00:15:51.060 align:start position:0%
knowing most of the previous nodes so
 

00:15:51.060 --> 00:15:53.150 align:start position:0%
knowing most of the previous nodes so
you<00:15:51.120><c> can</c><00:15:51.240><c> discard</c><00:15:51.480><c> the</c><00:15:51.660><c> big</c><00:15:51.839><c> part</c><00:15:52.079><c> of</c><00:15:52.260><c> the</c><00:15:52.500><c> uh</c>

00:15:53.150 --> 00:15:53.160 align:start position:0%
you can discard the big part of the uh
 

00:15:53.160 --> 00:15:55.310 align:start position:0%
you can discard the big part of the uh
of<00:15:53.459><c> the</c><00:15:53.639><c> nodes</c><00:15:53.760><c> database</c><00:15:54.240><c> and</c><00:15:54.839><c> still</c><00:15:54.959><c> be</c><00:15:55.139><c> able</c>

00:15:55.310 --> 00:15:55.320 align:start position:0%
of the nodes database and still be able
 

00:15:55.320 --> 00:15:58.009 align:start position:0%
of the nodes database and still be able
to<00:15:55.440><c> add</c><00:15:55.620><c> new</c><00:15:55.800><c> nodes</c><00:15:56.100><c> to</c><00:15:56.220><c> it</c><00:15:56.339><c> without</c><00:15:56.459><c> problem</c>

00:15:58.009 --> 00:15:58.019 align:start position:0%
to add new nodes to it without problem
 

00:15:58.019 --> 00:15:59.449 align:start position:0%
to add new nodes to it without problem
the<00:15:58.380><c> other</c><00:15:58.500><c> property</c><00:15:59.040><c> that</c><00:15:59.220><c> is</c><00:15:59.339><c> very</c>

00:15:59.449 --> 00:15:59.459 align:start position:0%
the other property that is very
 

00:15:59.459 --> 00:16:01.009 align:start position:0%
the other property that is very
important<00:15:59.760><c> is</c><00:15:59.940><c> EK</c><00:16:00.240><c> context</c><00:16:00.540><c> because</c><00:16:00.720><c> we</c><00:16:00.899><c> need</c>

00:16:01.009 --> 00:16:01.019 align:start position:0%
important is EK context because we need
 

00:16:01.019 --> 00:16:04.850 align:start position:0%
important is EK context because we need
to<00:16:01.139><c> prove</c><00:16:01.440><c> the</c><00:16:01.620><c> inclusion</c><00:16:02.040><c> of</c><00:16:03.000><c> um</c><00:16:03.500><c> you</c><00:16:04.500><c> need</c><00:16:04.680><c> we</c>

00:16:04.850 --> 00:16:04.860 align:start position:0%
to prove the inclusion of um you need we
 

00:16:04.860 --> 00:16:06.110 align:start position:0%
to prove the inclusion of um you need we
need<00:16:04.980><c> to</c><00:16:05.040><c> prove</c><00:16:05.220><c> that</c><00:16:05.339><c> we're</c><00:16:05.459><c> spending</c><00:16:05.820><c> a</c><00:16:05.940><c> node</c>

00:16:06.110 --> 00:16:06.120 align:start position:0%
need to prove that we're spending a node
 

00:16:06.120 --> 00:16:07.790 align:start position:0%
need to prove that we're spending a node
that<00:16:06.240><c> has</c><00:16:06.360><c> been</c><00:16:06.600><c> you</c><00:16:07.139><c> know</c><00:16:07.260><c> has</c><00:16:07.380><c> been</c><00:16:07.560><c> created</c>

00:16:07.790 --> 00:16:07.800 align:start position:0%
that has been you know has been created
 

00:16:07.800 --> 00:16:09.470 align:start position:0%
that has been you know has been created
at<00:16:07.980><c> some</c><00:16:08.100><c> point</c><00:16:08.220><c> in</c><00:16:08.339><c> the</c><00:16:08.519><c> past</c><00:16:08.639><c> is</c><00:16:09.180><c> that</c><00:16:09.300><c> the</c>

00:16:09.470 --> 00:16:09.480 align:start position:0%
at some point in the past is that the
 

00:16:09.480 --> 00:16:11.389 align:start position:0%
at some point in the past is that the
witness<00:16:09.660><c> kind</c><00:16:10.500><c> of</c><00:16:10.620><c> inclusion</c><00:16:10.980><c> witness</c><00:16:11.160><c> does</c>

00:16:11.389 --> 00:16:11.399 align:start position:0%
witness kind of inclusion witness does
 

00:16:11.399 --> 00:16:13.370 align:start position:0%
witness kind of inclusion witness does
not<00:16:11.519><c> become</c><00:16:11.760><c> stale</c><00:16:12.120><c> so</c><00:16:12.480><c> you</c><00:16:12.959><c> know</c><00:16:13.019><c> if</c><00:16:13.139><c> you</c><00:16:13.260><c> have</c>

00:16:13.370 --> 00:16:13.380 align:start position:0%
not become stale so you know if you have
 

00:16:13.380 --> 00:16:14.930 align:start position:0%
not become stale so you know if you have
a<00:16:13.440><c> mortal</c><00:16:13.740><c> path</c><00:16:14.040><c> it</c><00:16:14.339><c> actually</c><00:16:14.459><c> just</c><00:16:14.699><c> needs</c><00:16:14.880><c> to</c>

00:16:14.930 --> 00:16:14.940 align:start position:0%
a mortal path it actually just needs to
 

00:16:14.940 --> 00:16:16.189 align:start position:0%
a mortal path it actually just needs to
be<00:16:15.000><c> extended</c><00:16:15.360><c> from</c><00:16:15.480><c> time</c><00:16:15.660><c> to</c><00:16:15.779><c> time</c><00:16:15.899><c> very</c>

00:16:16.189 --> 00:16:16.199 align:start position:0%
be extended from time to time very
 

00:16:16.199 --> 00:16:18.110 align:start position:0%
be extended from time to time very
infrequently<00:16:16.800><c> but</c><00:16:17.160><c> it</c><00:16:17.279><c> doesn't</c><00:16:17.399><c> become</c><00:16:17.760><c> stale</c>

00:16:18.110 --> 00:16:18.120 align:start position:0%
infrequently but it doesn't become stale
 

00:16:18.120 --> 00:16:19.850 align:start position:0%
infrequently but it doesn't become stale
and<00:16:18.480><c> that</c><00:16:18.660><c> means</c><00:16:18.899><c> that</c><00:16:18.959><c> the</c><00:16:19.139><c> hdk</c><00:16:19.500><c> proof</c><00:16:19.740><c> that</c>

00:16:19.850 --> 00:16:19.860 align:start position:0%
and that means that the hdk proof that
 

00:16:19.860 --> 00:16:21.170 align:start position:0%
and that means that the hdk proof that
you<00:16:19.920><c> generate</c><00:16:20.220><c> does</c><00:16:20.519><c> not</c><00:16:20.579><c> become</c><00:16:20.820><c> absolute</c>

00:16:21.170 --> 00:16:21.180 align:start position:0%
you generate does not become absolute
 

00:16:21.180 --> 00:16:23.269 align:start position:0%
you generate does not become absolute
very<00:16:21.420><c> quickly</c><00:16:21.660><c> this</c><00:16:22.199><c> is</c><00:16:22.440><c> a</c><00:16:22.680><c> very</c><00:16:22.980><c> important</c>

00:16:23.269 --> 00:16:23.279 align:start position:0%
very quickly this is a very important
 

00:16:23.279 --> 00:16:24.889 align:start position:0%
very quickly this is a very important
SDK<00:16:23.699><c> context</c>

00:16:24.889 --> 00:16:24.899 align:start position:0%
SDK context
 

00:16:24.899 --> 00:16:28.189 align:start position:0%
SDK context
uh<00:16:25.560><c> and</c><00:16:25.740><c> then</c><00:16:25.860><c> lastly</c><00:16:26.420><c> we</c><00:16:27.420><c> have</c><00:16:27.540><c> the</c><00:16:27.720><c> nullify</c>

00:16:28.189 --> 00:16:28.199 align:start position:0%
uh and then lastly we have the nullify
 

00:16:28.199 --> 00:16:29.750 align:start position:0%
uh and then lastly we have the nullify
database<00:16:28.560><c> and</c><00:16:29.040><c> the</c><00:16:29.100><c> reason</c><00:16:29.220><c> why</c><00:16:29.399><c> we</c><00:16:29.579><c> need</c><00:16:29.639><c> this</c>

00:16:29.750 --> 00:16:29.760 align:start position:0%
database and the reason why we need this
 

00:16:29.760 --> 00:16:32.150 align:start position:0%
database and the reason why we need this
nullifier<00:16:30.180><c> database</c><00:16:30.480><c> is</c><00:16:30.660><c> that</c><00:16:31.440><c> um</c><00:16:31.440><c> you</c><00:16:32.040><c> know</c>

00:16:32.150 --> 00:16:32.160 align:start position:0%
nullifier database is that um you know
 

00:16:32.160 --> 00:16:33.829 align:start position:0%
nullifier database is that um you know
we<00:16:32.699><c> have</c><00:16:32.820><c> the</c><00:16:33.000><c> account</c><00:16:33.120><c> database</c><00:16:33.660><c> which</c>

00:16:33.829 --> 00:16:33.839 align:start position:0%
we have the account database which
 

00:16:33.839 --> 00:16:35.090 align:start position:0%
we have the account database which
stores<00:16:34.019><c> states</c><00:16:34.320><c> of</c><00:16:34.440><c> accounts</c><00:16:34.740><c> we</c><00:16:34.860><c> have</c><00:16:34.980><c> the</c>

00:16:35.090 --> 00:16:35.100 align:start position:0%
stores states of accounts we have the
 

00:16:35.100 --> 00:16:37.430 align:start position:0%
stores states of accounts we have the
nodes<00:16:35.279><c> database</c><00:16:35.639><c> that</c><00:16:35.880><c> stores</c><00:16:36.240><c> all</c><00:16:36.720><c> the</c><00:16:37.079><c> all</c>

00:16:37.430 --> 00:16:37.440 align:start position:0%
nodes database that stores all the all
 

00:16:37.440 --> 00:16:38.810 align:start position:0%
nodes database that stores all the all
the<00:16:37.560><c> nodes</c><00:16:37.740><c> ever</c><00:16:37.920><c> created</c><00:16:38.220><c> but</c><00:16:38.399><c> we</c><00:16:38.579><c> do</c><00:16:38.699><c> not</c>

00:16:38.810 --> 00:16:38.820 align:start position:0%
the nodes ever created but we do not
 

00:16:38.820 --> 00:16:42.290 align:start position:0%
the nodes ever created but we do not
remove<00:16:39.000><c> nodes</c><00:16:39.480><c> from</c><00:16:39.959><c> the</c><00:16:40.259><c> uh</c><00:16:40.880><c> nodes</c><00:16:41.880><c> database</c>

00:16:42.290 --> 00:16:42.300 align:start position:0%
remove nodes from the uh nodes database
 

00:16:42.300 --> 00:16:43.550 align:start position:0%
remove nodes from the uh nodes database
because<00:16:42.600><c> we</c><00:16:42.899><c> want</c><00:16:42.959><c> to</c><00:16:43.139><c> have</c><00:16:43.199><c> this</c><00:16:43.380><c> nice</c>

00:16:43.550 --> 00:16:43.560 align:start position:0%
because we want to have this nice
 

00:16:43.560 --> 00:16:44.930 align:start position:0%
because we want to have this nice
property<00:16:43.920><c> of</c><00:16:44.040><c> append</c><00:16:44.279><c> only</c><00:16:44.459><c> accumulator</c>

00:16:44.930 --> 00:16:44.940 align:start position:0%
property of append only accumulator
 

00:16:44.940 --> 00:16:47.449 align:start position:0%
property of append only accumulator
therefore<00:16:45.899><c> we</c><00:16:46.139><c> need</c><00:16:46.259><c> another</c><00:16:46.500><c> data</c><00:16:47.160><c> structure</c>

00:16:47.449 --> 00:16:47.459 align:start position:0%
therefore we need another data structure
 

00:16:47.459 --> 00:16:48.590 align:start position:0%
therefore we need another data structure
that<00:16:47.579><c> will</c><00:16:47.699><c> tell</c><00:16:47.820><c> us</c><00:16:47.880><c> which</c><00:16:48.060><c> nodes</c><00:16:48.300><c> have</c><00:16:48.480><c> been</c>

00:16:48.590 --> 00:16:48.600 align:start position:0%
that will tell us which nodes have been
 

00:16:48.600 --> 00:16:50.930 align:start position:0%
that will tell us which nodes have been
consumed<00:16:49.019><c> so</c><00:16:49.800><c> the</c><00:16:49.920><c> notify</c><00:16:50.339><c> database</c><00:16:50.699><c> is</c>

00:16:50.930 --> 00:16:50.940 align:start position:0%
consumed so the notify database is
 

00:16:50.940 --> 00:16:52.370 align:start position:0%
consumed so the notify database is
something<00:16:51.120><c> that</c><00:16:51.300><c> keeps</c><00:16:51.600><c> track</c><00:16:51.720><c> of</c><00:16:51.899><c> nodes</c><00:16:52.199><c> that</c>

00:16:52.370 --> 00:16:52.380 align:start position:0%
something that keeps track of nodes that
 

00:16:52.380 --> 00:16:54.470 align:start position:0%
something that keeps track of nodes that
have<00:16:52.500><c> been</c><00:16:52.620><c> consumed</c><00:16:53.040><c> and</c><00:16:53.820><c> for</c><00:16:54.000><c> this</c><00:16:54.120><c> we</c><00:16:54.300><c> also</c>

00:16:54.470 --> 00:16:54.480 align:start position:0%
have been consumed and for this we also
 

00:16:54.480 --> 00:16:55.730 align:start position:0%
have been consumed and for this we also
use<00:16:54.540><c> a</c><00:16:54.660><c> sparse</c><00:16:54.899><c> Merkel</c><00:16:55.199><c> tree</c><00:16:55.320><c> where</c><00:16:55.560><c> we</c>

00:16:55.730 --> 00:16:55.740 align:start position:0%
use a sparse Merkel tree where we
 

00:16:55.740 --> 00:16:58.009 align:start position:0%
use a sparse Merkel tree where we
basically<00:16:56.040><c> map</c><00:16:56.579><c> a</c><00:16:56.759><c> node</c><00:16:57.000><c> hash</c><00:16:57.240><c> to</c><00:16:57.420><c> either</c><00:16:57.600><c> zero</c>

00:16:58.009 --> 00:16:58.019 align:start position:0%
basically map a node hash to either zero
 

00:16:58.019 --> 00:16:59.749 align:start position:0%
basically map a node hash to either zero
one<00:16:58.199><c> zero</c><00:16:58.800><c> indicates</c><00:16:59.040><c> that</c><00:16:59.160><c> the</c><00:16:59.339><c> node</c><00:16:59.519><c> hasn't</c>

00:16:59.749 --> 00:16:59.759 align:start position:0%
one zero indicates that the node hasn't
 

00:16:59.759 --> 00:17:01.069 align:start position:0%
one zero indicates that the node hasn't
been<00:16:59.820><c> consumed</c><00:17:00.180><c> one</c><00:17:00.300><c> indicator</c><00:17:00.660><c> the</c><00:17:00.899><c> nodes</c>

00:17:01.069 --> 00:17:01.079 align:start position:0%
been consumed one indicator the nodes
 

00:17:01.079 --> 00:17:02.629 align:start position:0%
been consumed one indicator the nodes
has<00:17:01.259><c> been</c><00:17:01.380><c> consumed</c><00:17:01.740><c> so</c><00:17:02.160><c> whenever</c><00:17:02.459><c> we</c>

00:17:02.629 --> 00:17:02.639 align:start position:0%
has been consumed so whenever we
 

00:17:02.639 --> 00:17:04.370 align:start position:0%
has been consumed so whenever we
generate<00:17:03.000><c> a</c><00:17:03.180><c> proof</c><00:17:03.480><c> for</c><00:17:03.540><c> a</c><00:17:03.660><c> block</c><00:17:03.839><c> the</c><00:17:04.260><c> the</c>

00:17:04.370 --> 00:17:04.380 align:start position:0%
generate a proof for a block the the
 

00:17:04.380 --> 00:17:05.990 align:start position:0%
generate a proof for a block the the
proof<00:17:04.679><c> must</c><00:17:04.799><c> include</c><00:17:05.220><c> that</c><00:17:05.339><c> you</c><00:17:05.699><c> know</c><00:17:05.819><c> this</c>

00:17:05.990 --> 00:17:06.000 align:start position:0%
proof must include that you know this
 

00:17:06.000 --> 00:17:08.329 align:start position:0%
proof must include that you know this
node<00:17:06.299><c> existed</c><00:17:06.839><c> in</c><00:17:07.140><c> a</c><00:17:07.319><c> accounts</c><00:17:07.860><c> database</c><00:17:08.160><c> and</c>

00:17:08.329 --> 00:17:08.339 align:start position:0%
node existed in a accounts database and
 

00:17:08.339 --> 00:17:09.829 align:start position:0%
node existed in a accounts database and
it<00:17:08.459><c> did</c><00:17:08.579><c> not</c><00:17:08.699><c> exist</c><00:17:09.000><c> in</c><00:17:09.179><c> the</c><00:17:09.299><c> nullifier</c>

00:17:09.829 --> 00:17:09.839 align:start position:0%
it did not exist in the nullifier
 

00:17:09.839 --> 00:17:11.870 align:start position:0%
it did not exist in the nullifier
database

00:17:11.870 --> 00:17:11.880 align:start position:0%
database
 

00:17:11.880 --> 00:17:12.890 align:start position:0%
database
um

00:17:12.890 --> 00:17:12.900 align:start position:0%
um
 

00:17:12.900 --> 00:17:14.329 align:start position:0%
um
we<00:17:13.500><c> actually</c><00:17:13.620><c> have</c><00:17:13.860><c> a</c><00:17:14.040><c> slightly</c><00:17:14.280><c> more</c>

00:17:14.329 --> 00:17:14.339 align:start position:0%
we actually have a slightly more
 

00:17:14.339 --> 00:17:16.549 align:start position:0%
we actually have a slightly more
sophisticated<00:17:14.819><c> data</c><00:17:15.240><c> structure</c><00:17:15.540><c> where</c><00:17:16.319><c> there</c>

00:17:16.549 --> 00:17:16.559 align:start position:0%
sophisticated data structure where there
 

00:17:16.559 --> 00:17:18.049 align:start position:0%
sophisticated data structure where there
are<00:17:16.740><c> multiple</c><00:17:16.919><c> epochs</c><00:17:17.520><c> and</c><00:17:17.579><c> you</c><00:17:17.819><c> know</c><00:17:17.880><c> those</c>

00:17:18.049 --> 00:17:18.059 align:start position:0%
are multiple epochs and you know those
 

00:17:18.059 --> 00:17:19.250 align:start position:0%
are multiple epochs and you know those
are<00:17:18.240><c> time</c><00:17:18.360><c> periods</c><00:17:18.720><c> and</c><00:17:18.839><c> for</c><00:17:18.959><c> each</c><00:17:19.079><c> airport</c>

00:17:19.250 --> 00:17:19.260 align:start position:0%
are time periods and for each airport
 

00:17:19.260 --> 00:17:21.530 align:start position:0%
are time periods and for each airport
you<00:17:19.559><c> have</c><00:17:19.679><c> a</c><00:17:19.740><c> separate</c><00:17:19.919><c> nullifier</c><00:17:20.400><c> tree</c><00:17:20.640><c> uh</c>

00:17:21.530 --> 00:17:21.540 align:start position:0%
you have a separate nullifier tree uh
 

00:17:21.540 --> 00:17:22.730 align:start position:0%
you have a separate nullifier tree uh
and<00:17:21.900><c> then</c>

00:17:22.730 --> 00:17:22.740 align:start position:0%
and then
 

00:17:22.740 --> 00:17:23.990 align:start position:0%
and then
um you<00:17:22.980><c> know</c><00:17:23.040><c> nodes</c><00:17:23.339><c> are</c><00:17:23.520><c> expected</c><00:17:23.760><c> to</c><00:17:23.939><c> keep</c>

00:17:23.990 --> 00:17:24.000 align:start position:0%
um you know nodes are expected to keep
 

00:17:24.000 --> 00:17:25.909 align:start position:0%
um you know nodes are expected to keep
the<00:17:24.179><c> last</c><00:17:24.299><c> two</c><00:17:24.480><c> epochs</c><00:17:25.020><c> but</c><00:17:25.140><c> can</c><00:17:25.319><c> discard</c><00:17:25.679><c> the</c>

00:17:25.909 --> 00:17:25.919 align:start position:0%
the last two epochs but can discard the
 

00:17:25.919 --> 00:17:28.970 align:start position:0%
the last two epochs but can discard the
nullifiers<00:17:26.459><c> for</c><00:17:26.640><c> the</c><00:17:26.819><c> prior</c><00:17:27.299><c> epochs</c><00:17:27.900><c> now</c><00:17:28.500><c> uh</c>

00:17:28.970 --> 00:17:28.980 align:start position:0%
nullifiers for the prior epochs now uh
 

00:17:28.980 --> 00:17:30.710 align:start position:0%
nullifiers for the prior epochs now uh
we<00:17:29.220><c> have</c><00:17:29.340><c> two</c><00:17:29.580><c> uh</c><00:17:30.000><c> we</c><00:17:30.179><c> have</c><00:17:30.299><c> this</c><00:17:30.480><c> different</c>

00:17:30.710 --> 00:17:30.720 align:start position:0%
we have two uh we have this different
 

00:17:30.720 --> 00:17:32.450 align:start position:0%
we have two uh we have this different
databases<00:17:31.320><c> and</c><00:17:31.740><c> there</c><00:17:32.040><c> are</c><00:17:32.220><c> very</c><00:17:32.340><c> different</c>

00:17:32.450 --> 00:17:32.460 align:start position:0%
databases and there are very different
 

00:17:32.460 --> 00:17:33.830 align:start position:0%
databases and there are very different
growth<00:17:32.940><c> drivers</c><00:17:33.240><c> for</c><00:17:33.419><c> each</c><00:17:33.540><c> of</c><00:17:33.660><c> these</c>

00:17:33.830 --> 00:17:33.840 align:start position:0%
growth drivers for each of these
 

00:17:33.840 --> 00:17:35.150 align:start position:0%
growth drivers for each of these
databases<00:17:34.260><c> so</c>

00:17:35.150 --> 00:17:35.160 align:start position:0%
databases so
 

00:17:35.160 --> 00:17:37.549 align:start position:0%
databases so
An<00:17:35.580><c> accounts</c><00:17:35.940><c> database</c><00:17:36.299><c> grows</c><00:17:37.140><c> primarily</c>

00:17:37.549 --> 00:17:37.559 align:start position:0%
An accounts database grows primarily
 

00:17:37.559 --> 00:17:39.169 align:start position:0%
An accounts database grows primarily
with<00:17:37.740><c> the</c><00:17:37.860><c> state</c><00:17:38.039><c> of</c><00:17:38.220><c> with</c><00:17:38.580><c> a</c><00:17:38.820><c> number</c><00:17:38.940><c> of</c>

00:17:39.169 --> 00:17:39.179 align:start position:0%
with the state of with a number of
 

00:17:39.179 --> 00:17:40.970 align:start position:0%
with the state of with a number of
Public<00:17:39.360><c> Accounts</c>

00:17:40.970 --> 00:17:40.980 align:start position:0%
Public Accounts
 

00:17:40.980 --> 00:17:42.890 align:start position:0%
Public Accounts
um<00:17:41.100><c> or</c><00:17:41.700><c> the</c><00:17:41.880><c> accounts</c><00:17:42.240><c> that</c><00:17:42.299><c> have</c><00:17:42.480><c> on</c><00:17:42.660><c> chain</c>

00:17:42.890 --> 00:17:42.900 align:start position:0%
um or the accounts that have on chain
 

00:17:42.900 --> 00:17:45.590 align:start position:0%
um or the accounts that have on chain
State<00:17:43.340><c> because</c><00:17:44.340><c> if</c><00:17:44.760><c> you</c><00:17:44.880><c> you</c><00:17:45.120><c> know</c><00:17:45.299><c> it</c><00:17:45.419><c> does</c>

00:17:45.590 --> 00:17:45.600 align:start position:0%
State because if you you know it does
 

00:17:45.600 --> 00:17:46.909 align:start position:0%
State because if you you know it does
grow<00:17:45.720><c> within</c><00:17:46.080><c> a</c><00:17:46.200><c> total</c><00:17:46.380><c> number</c><00:17:46.440><c> of</c><00:17:46.559><c> accounts</c>

00:17:46.909 --> 00:17:46.919 align:start position:0%
grow within a total number of accounts
 

00:17:46.919 --> 00:17:48.409 align:start position:0%
grow within a total number of accounts
but<00:17:47.100><c> if</c><00:17:47.220><c> you</c><00:17:47.340><c> only</c><00:17:47.400><c> have</c><00:17:47.640><c> to</c><00:17:47.820><c> store</c><00:17:48.000><c> a</c><00:17:48.179><c> single</c>

00:17:48.409 --> 00:17:48.419 align:start position:0%
but if you only have to store a single
 

00:17:48.419 --> 00:17:49.970 align:start position:0%
but if you only have to store a single
hash<00:17:48.600><c> for</c><00:17:48.780><c> an</c><00:17:48.900><c> account</c><00:17:49.080><c> that</c><00:17:49.440><c> you</c><00:17:49.679><c> know</c><00:17:49.740><c> that's</c>

00:17:49.970 --> 00:17:49.980 align:start position:0%
hash for an account that you know that's
 

00:17:49.980 --> 00:17:51.350 align:start position:0%
hash for an account that you know that's
almost<00:17:50.160><c> negligible</c><00:17:50.640><c> like</c><00:17:50.820><c> you</c><00:17:51.000><c> can</c><00:17:51.120><c> store</c><00:17:51.179><c> a</c>

00:17:51.350 --> 00:17:51.360 align:start position:0%
almost negligible like you can store a
 

00:17:51.360 --> 00:17:52.370 align:start position:0%
almost negligible like you can store a
billion<00:17:51.600><c> accounts</c><00:17:51.900><c> and</c><00:17:51.960><c> it's</c><00:17:52.080><c> going</c><00:17:52.260><c> to</c><00:17:52.320><c> be</c>

00:17:52.370 --> 00:17:52.380 align:start position:0%
billion accounts and it's going to be
 

00:17:52.380 --> 00:17:54.169 align:start position:0%
billion accounts and it's going to be
only<00:17:52.500><c> 64</c><00:17:52.860><c> gigabytes</c>

00:17:54.169 --> 00:17:54.179 align:start position:0%
only 64 gigabytes
 

00:17:54.179 --> 00:17:56.570 align:start position:0%
only 64 gigabytes
uh<00:17:54.960><c> and</c><00:17:55.260><c> also</c><00:17:55.500><c> we</c><00:17:55.620><c> can</c><00:17:55.799><c> dynamically</c><00:17:56.220><c> kind</c><00:17:56.460><c> of</c>

00:17:56.570 --> 00:17:56.580 align:start position:0%
uh and also we can dynamically kind of
 

00:17:56.580 --> 00:17:58.789 align:start position:0%
uh and also we can dynamically kind of
prune<00:17:56.940><c> this</c><00:17:57.059><c> we</c><00:17:57.299><c> can</c><00:17:57.480><c> you</c><00:17:57.900><c> know</c><00:17:58.020><c> for</c><00:17:58.320><c> accounts</c>

00:17:58.789 --> 00:17:58.799 align:start position:0%
prune this we can you know for accounts
 

00:17:58.799 --> 00:18:00.169 align:start position:0%
prune this we can you know for accounts
for<00:17:58.919><c> example</c><00:17:59.100><c> that</c><00:17:59.280><c> haven't</c><00:17:59.460><c> been</c><00:17:59.700><c> used</c><00:17:59.820><c> in</c><00:18:00.059><c> a</c>

00:18:00.169 --> 00:18:00.179 align:start position:0%
for example that haven't been used in a
 

00:18:00.179 --> 00:18:02.630 align:start position:0%
for example that haven't been used in a
while<00:18:00.240><c> we</c><00:18:00.480><c> can</c><00:18:00.660><c> just</c><00:18:01.039><c> remove</c><00:18:02.039><c> all</c><00:18:02.280><c> the</c><00:18:02.460><c> data</c>

00:18:02.630 --> 00:18:02.640 align:start position:0%
while we can just remove all the data
 

00:18:02.640 --> 00:18:04.070 align:start position:0%
while we can just remove all the data
and<00:18:02.760><c> store</c><00:18:02.940><c> the</c><00:18:03.059><c> hash</c><00:18:03.179><c> for</c><00:18:03.419><c> that</c><00:18:03.600><c> account</c><00:18:03.780><c> or</c>

00:18:04.070 --> 00:18:04.080 align:start position:0%
and store the hash for that account or
 

00:18:04.080 --> 00:18:05.390 align:start position:0%
and store the hash for that account or
nodes<00:18:04.380><c> can</c><00:18:04.559><c> choose</c><00:18:04.740><c> to</c><00:18:04.799><c> do</c><00:18:04.919><c> that</c><00:18:04.980><c> if</c><00:18:05.100><c> they</c><00:18:05.280><c> wish</c>

00:18:05.390 --> 00:18:05.400 align:start position:0%
nodes can choose to do that if they wish
 

00:18:05.400 --> 00:18:06.350 align:start position:0%
nodes can choose to do that if they wish
to

00:18:06.350 --> 00:18:06.360 align:start position:0%
to
 

00:18:06.360 --> 00:18:09.169 align:start position:0%
to
uh<00:18:06.900><c> the</c><00:18:07.080><c> notes</c><00:18:07.320><c> database</c><00:18:07.820><c> grows</c><00:18:08.820><c> with</c><00:18:08.940><c> the</c>

00:18:09.169 --> 00:18:09.179 align:start position:0%
uh the notes database grows with the
 

00:18:09.179 --> 00:18:10.669 align:start position:0%
uh the notes database grows with the
number<00:18:09.240><c> of</c><00:18:09.360><c> unconsumed</c><00:18:09.900><c> nodes</c><00:18:10.080><c> so</c><00:18:10.200><c> as</c><00:18:10.440><c> soon</c><00:18:10.559><c> as</c>

00:18:10.669 --> 00:18:10.679 align:start position:0%
number of unconsumed nodes so as soon as
 

00:18:10.679 --> 00:18:12.049 align:start position:0%
number of unconsumed nodes so as soon as
the<00:18:10.740><c> node</c><00:18:10.980><c> is</c><00:18:11.100><c> consumed</c><00:18:11.400><c> it</c><00:18:11.520><c> can</c><00:18:11.700><c> be</c><00:18:11.760><c> safely</c>

00:18:12.049 --> 00:18:12.059 align:start position:0%
the node is consumed it can be safely
 

00:18:12.059 --> 00:18:13.549 align:start position:0%
the node is consumed it can be safely
discarded<00:18:12.539><c> you</c><00:18:12.900><c> don't</c><00:18:13.020><c> need</c><00:18:13.140><c> to</c><00:18:13.260><c> store</c><00:18:13.380><c> it</c>

00:18:13.549 --> 00:18:13.559 align:start position:0%
discarded you don't need to store it
 

00:18:13.559 --> 00:18:15.950 align:start position:0%
discarded you don't need to store it
anymore<00:18:13.880><c> so</c><00:18:14.880><c> unconsumed</c><00:18:15.419><c> nodes</c><00:18:15.660><c> is</c><00:18:15.780><c> what</c>

00:18:15.950 --> 00:18:15.960 align:start position:0%
anymore so unconsumed nodes is what
 

00:18:15.960 --> 00:18:18.169 align:start position:0%
anymore so unconsumed nodes is what
drives<00:18:16.260><c> the</c><00:18:17.160><c> um</c><00:18:17.160><c> the</c><00:18:17.460><c> size</c><00:18:17.580><c> of</c><00:18:17.760><c> the</c><00:18:17.820><c> database</c>

00:18:18.169 --> 00:18:18.179 align:start position:0%
drives the um the size of the database
 

00:18:18.179 --> 00:18:19.610 align:start position:0%
drives the um the size of the database
but<00:18:18.360><c> also</c><00:18:18.539><c> you</c><00:18:18.720><c> can</c><00:18:18.840><c> have</c><00:18:18.960><c> this</c><00:18:19.140><c> pruning</c><00:18:19.500><c> where</c>

00:18:19.610 --> 00:18:19.620 align:start position:0%
but also you can have this pruning where
 

00:18:19.620 --> 00:18:20.870 align:start position:0%
but also you can have this pruning where
you<00:18:19.740><c> can</c><00:18:19.860><c> you</c><00:18:20.039><c> can</c><00:18:20.160><c> remove</c><00:18:20.280><c> some</c><00:18:20.460><c> of</c><00:18:20.580><c> the</c><00:18:20.700><c> notes</c>

00:18:20.870 --> 00:18:20.880 align:start position:0%
you can you can remove some of the notes
 

00:18:20.880 --> 00:18:22.190 align:start position:0%
you can you can remove some of the notes
and<00:18:21.000><c> just</c><00:18:21.120><c> keep</c><00:18:21.240><c> the</c><00:18:21.360><c> hash</c>

00:18:22.190 --> 00:18:22.200 align:start position:0%
and just keep the hash
 

00:18:22.200 --> 00:18:23.870 align:start position:0%
and just keep the hash
then<00:18:22.799><c> finally</c><00:18:23.100><c> we</c><00:18:23.280><c> have</c><00:18:23.400><c> the</c><00:18:23.460><c> nullifier</c>

00:18:23.870 --> 00:18:23.880 align:start position:0%
then finally we have the nullifier
 

00:18:23.880 --> 00:18:25.310 align:start position:0%
then finally we have the nullifier
database<00:18:24.240><c> and</c><00:18:24.360><c> this</c><00:18:24.539><c> one</c><00:18:24.660><c> is</c><00:18:24.720><c> a</c><00:18:24.900><c> different</c><00:18:25.020><c> one</c>

00:18:25.310 --> 00:18:25.320 align:start position:0%
database and this one is a different one
 

00:18:25.320 --> 00:18:26.450 align:start position:0%
database and this one is a different one
because<00:18:25.500><c> you</c><00:18:25.740><c> can't</c><00:18:25.860><c> easily</c><00:18:26.160><c> prune</c>

00:18:26.450 --> 00:18:26.460 align:start position:0%
because you can't easily prune
 

00:18:26.460 --> 00:18:28.190 align:start position:0%
because you can't easily prune
nullifiers<00:18:26.940><c> to</c><00:18:27.059><c> be</c><00:18:27.120><c> able</c><00:18:27.299><c> to</c><00:18:27.419><c> create</c><00:18:27.960><c> new</c>

00:18:28.190 --> 00:18:28.200 align:start position:0%
nullifiers to be able to create new
 

00:18:28.200 --> 00:18:29.570 align:start position:0%
nullifiers to be able to create new
blocks<00:18:28.500><c> you</c><00:18:28.679><c> actually</c><00:18:28.799><c> need</c><00:18:29.039><c> to</c><00:18:29.160><c> keep</c><00:18:29.280><c> all</c><00:18:29.460><c> the</c>

00:18:29.570 --> 00:18:29.580 align:start position:0%
blocks you actually need to keep all the
 

00:18:29.580 --> 00:18:31.669 align:start position:0%
blocks you actually need to keep all the
notifiers<00:18:30.120><c> and</c><00:18:30.780><c> the</c><00:18:30.900><c> nullifier</c><00:18:31.320><c> database</c>

00:18:31.669 --> 00:18:31.679 align:start position:0%
notifiers and the nullifier database
 

00:18:31.679 --> 00:18:33.289 align:start position:0%
notifiers and the nullifier database
depends<00:18:31.980><c> on</c><00:18:32.100><c> the</c><00:18:32.220><c> throughput</c><00:18:32.520><c> so</c><00:18:32.760><c> like</c><00:18:33.000><c> the</c>

00:18:33.289 --> 00:18:33.299 align:start position:0%
depends on the throughput so like the
 

00:18:33.299 --> 00:18:35.270 align:start position:0%
depends on the throughput so like the
more<00:18:33.539><c> transactions</c><00:18:34.080><c> per</c><00:18:34.200><c> second</c><00:18:34.380><c> you</c><00:18:35.220><c> have</c>

00:18:35.270 --> 00:18:35.280 align:start position:0%
more transactions per second you have
 

00:18:35.280 --> 00:18:36.770 align:start position:0%
more transactions per second you have
the<00:18:35.520><c> more</c><00:18:35.640><c> nullifiers</c><00:18:36.179><c> you</c><00:18:36.299><c> need</c><00:18:36.360><c> to</c><00:18:36.480><c> keep</c><00:18:36.600><c> in</c>

00:18:36.770 --> 00:18:36.780 align:start position:0%
the more nullifiers you need to keep in
 

00:18:36.780 --> 00:18:38.990 align:start position:0%
the more nullifiers you need to keep in
for<00:18:37.140><c> a</c><00:18:37.260><c> given</c><00:18:37.440><c> Epoch</c><00:18:37.919><c> we</c><00:18:38.220><c> can</c><00:18:38.340><c> make</c><00:18:38.520><c> Epoch</c>

00:18:38.990 --> 00:18:39.000 align:start position:0%
for a given Epoch we can make Epoch
 

00:18:39.000 --> 00:18:40.310 align:start position:0%
for a given Epoch we can make Epoch
smaller<00:18:39.360><c> but</c><00:18:39.660><c> you</c><00:18:39.900><c> know</c><00:18:39.960><c> there</c><00:18:40.140><c> are</c><00:18:40.260><c> some</c>

00:18:40.310 --> 00:18:40.320 align:start position:0%
smaller but you know there are some
 

00:18:40.320 --> 00:18:43.970 align:start position:0%
smaller but you know there are some
downsides<00:18:40.799><c> to</c><00:18:40.860><c> that</c><00:18:40.980><c> so</c><00:18:41.220><c> overall</c>

00:18:43.970 --> 00:18:43.980 align:start position:0%
downsides to that so overall
 

00:18:43.980 --> 00:18:46.549 align:start position:0%
downsides to that so overall
you<00:18:44.520><c> know</c><00:18:44.580><c> if</c><00:18:44.700><c> we</c><00:18:44.820><c> look</c><00:18:45.000><c> at</c><00:18:45.179><c> kind</c><00:18:45.600><c> of</c><00:18:45.660><c> like</c><00:18:45.900><c> what</c>

00:18:46.549 --> 00:18:46.559 align:start position:0%
you know if we look at kind of like what
 

00:18:46.559 --> 00:18:48.049 align:start position:0%
you know if we look at kind of like what
sizes<00:18:46.980><c> of</c><00:18:47.160><c> these</c><00:18:47.280><c> databases</c><00:18:47.640><c> could</c><00:18:47.820><c> be</c><00:18:47.940><c> that</c>

00:18:48.049 --> 00:18:48.059 align:start position:0%
sizes of these databases could be that
 

00:18:48.059 --> 00:18:49.549 align:start position:0%
sizes of these databases could be that
nullifier<00:18:48.480><c> database</c><00:18:48.840><c> is</c><00:18:48.960><c> going</c><00:18:49.140><c> to</c><00:18:49.200><c> be</c><00:18:49.260><c> by</c><00:18:49.380><c> far</c>

00:18:49.549 --> 00:18:49.559 align:start position:0%
nullifier database is going to be by far
 

00:18:49.559 --> 00:18:50.750 align:start position:0%
nullifier database is going to be by far
the<00:18:49.740><c> ones</c><00:18:49.919><c> that</c><00:18:50.039><c> drive</c><00:18:50.220><c> the</c><00:18:50.400><c> size</c><00:18:50.520><c> of</c><00:18:50.700><c> the</c>

00:18:50.750 --> 00:18:50.760 align:start position:0%
the ones that drive the size of the
 

00:18:50.760 --> 00:18:51.830 align:start position:0%
the ones that drive the size of the
overall<00:18:51.000><c> State</c><00:18:51.120><c> it's</c><00:18:51.299><c> going</c><00:18:51.480><c> to</c><00:18:51.480><c> be</c><00:18:51.600><c> larger</c>

00:18:51.830 --> 00:18:51.840 align:start position:0%
overall State it's going to be larger
 

00:18:51.840 --> 00:18:53.930 align:start position:0%
overall State it's going to be larger
than<00:18:52.020><c> the</c><00:18:52.320><c> nodes</c><00:18:53.039><c> or</c><00:18:53.220><c> accounts</c><00:18:53.580><c> databases</c>

00:18:53.930 --> 00:18:53.940 align:start position:0%
than the nodes or accounts databases
 

00:18:53.940 --> 00:18:56.750 align:start position:0%
than the nodes or accounts databases
combined<00:18:54.419><c> now</c><00:18:55.080><c> I</c><00:18:55.980><c> have</c><00:18:56.039><c> a</c><00:18:56.160><c> few</c><00:18:56.280><c> slides</c><00:18:56.520><c> to</c><00:18:56.640><c> wrap</c>

00:18:56.750 --> 00:18:56.760 align:start position:0%
combined now I have a few slides to wrap
 

00:18:56.760 --> 00:18:58.310 align:start position:0%
combined now I have a few slides to wrap
up<00:18:56.820><c> the</c><00:18:57.000><c> talk</c><00:18:57.120><c> to</c><00:18:57.240><c> say</c><00:18:57.480><c> well</c><00:18:57.600><c> well</c><00:18:57.780><c> what</c><00:18:58.080><c> did</c><00:18:58.200><c> we</c>

00:18:58.310 --> 00:18:58.320 align:start position:0%
up the talk to say well well what did we
 

00:18:58.320 --> 00:19:00.950 align:start position:0%
up the talk to say well well what did we
achieve<00:18:58.620><c> first</c><00:18:59.160><c> we</c><00:18:59.820><c> have</c><00:19:00.000><c> this</c><00:19:00.179><c> concept</c><00:19:00.539><c> of</c>

00:19:00.950 --> 00:19:00.960 align:start position:0%
achieve first we have this concept of
 

00:19:00.960 --> 00:19:02.870 align:start position:0%
achieve first we have this concept of
different<00:19:01.559><c> models</c><00:19:02.100><c> of</c><00:19:02.160><c> execution</c><00:19:02.520><c> so</c><00:19:02.760><c> the</c>

00:19:02.870 --> 00:19:02.880 align:start position:0%
different models of execution so the
 

00:19:02.880 --> 00:19:04.610 align:start position:0%
different models of execution so the
network<00:19:03.059><c> execution</c><00:19:03.780><c> and</c><00:19:03.960><c> local</c><00:19:04.140><c> execution</c>

00:19:04.610 --> 00:19:04.620 align:start position:0%
network execution and local execution
 

00:19:04.620 --> 00:19:06.830 align:start position:0%
network execution and local execution
and<00:19:05.160><c> we</c><00:19:05.280><c> have</c><00:19:05.400><c> this</c><00:19:05.580><c> concept</c><00:19:05.880><c> of</c><00:19:06.120><c> on-chain</c>

00:19:06.830 --> 00:19:06.840 align:start position:0%
and we have this concept of on-chain
 

00:19:06.840 --> 00:19:08.990 align:start position:0%
and we have this concept of on-chain
data<00:19:07.140><c> and</c><00:19:07.260><c> off-chain</c><00:19:07.679><c> data</c><00:19:08.100><c> and</c><00:19:08.820><c> the</c>

00:19:08.990 --> 00:19:09.000 align:start position:0%
data and off-chain data and the
 

00:19:09.000 --> 00:19:10.669 align:start position:0%
data and off-chain data and the
combination<00:19:09.360><c> of</c><00:19:09.539><c> this</c><00:19:09.720><c> gives</c><00:19:10.020><c> us</c><00:19:10.200><c> you</c><00:19:10.559><c> know</c>

00:19:10.669 --> 00:19:10.679 align:start position:0%
combination of this gives us you know
 

00:19:10.679 --> 00:19:12.110 align:start position:0%
combination of this gives us you know
different<00:19:10.860><c> nice</c><00:19:11.100><c> properties</c><00:19:11.520><c> so</c><00:19:11.760><c> for</c><00:19:11.880><c> example</c>

00:19:12.110 --> 00:19:12.120 align:start position:0%
different nice properties so for example
 

00:19:12.120 --> 00:19:13.909 align:start position:0%
different nice properties so for example
if<00:19:12.539><c> we</c><00:19:12.600><c> have</c><00:19:12.720><c> on-chain</c><00:19:13.320><c> data</c><00:19:13.620><c> and</c><00:19:13.740><c> network</c>

00:19:13.909 --> 00:19:13.919 align:start position:0%
if we have on-chain data and network
 

00:19:13.919 --> 00:19:15.770 align:start position:0%
if we have on-chain data and network
execution<00:19:14.400><c> this</c><00:19:14.820><c> is</c><00:19:14.940><c> a</c><00:19:15.059><c> typical</c><00:19:15.240><c> you</c><00:19:15.600><c> know</c>

00:19:15.770 --> 00:19:15.780 align:start position:0%
execution this is a typical you know
 

00:19:15.780 --> 00:19:16.970 align:start position:0%
execution this is a typical you know
public<00:19:15.960><c> transactions</c><00:19:16.500><c> something</c><00:19:16.740><c> that</c>

00:19:16.970 --> 00:19:16.980 align:start position:0%
public transactions something that
 

00:19:16.980 --> 00:19:19.130 align:start position:0%
public transactions something that
happens<00:19:17.100><c> on</c><00:19:17.340><c> ethereum</c><00:19:17.760><c> right</c><00:19:17.880><c> now</c><00:19:18.539><c> we</c><00:19:18.960><c> can</c>

00:19:19.130 --> 00:19:19.140 align:start position:0%
happens on ethereum right now we can
 

00:19:19.140 --> 00:19:20.690 align:start position:0%
happens on ethereum right now we can
also<00:19:19.320><c> have</c><00:19:19.440><c> stateless</c><00:19:19.799><c> transactions</c><00:19:20.340><c> if</c><00:19:20.520><c> we</c>

00:19:20.690 --> 00:19:20.700 align:start position:0%
also have stateless transactions if we
 

00:19:20.700 --> 00:19:21.890 align:start position:0%
also have stateless transactions if we
have<00:19:20.820><c> off-chain</c><00:19:21.299><c> data</c><00:19:21.600><c> but</c><00:19:21.720><c> Network</c>

00:19:21.890 --> 00:19:21.900 align:start position:0%
have off-chain data but Network
 

00:19:21.900 --> 00:19:24.409 align:start position:0%
have off-chain data but Network
execution<00:19:22.380><c> where</c><00:19:23.880><c> um</c><00:19:23.880><c> you</c><00:19:24.120><c> know</c><00:19:24.179><c> the</c><00:19:24.299><c> network</c>

00:19:24.409 --> 00:19:24.419 align:start position:0%
execution where um you know the network
 

00:19:24.419 --> 00:19:25.909 align:start position:0%
execution where um you know the network
doesn't<00:19:24.720><c> store</c><00:19:25.020><c> the</c><00:19:25.200><c> state</c><00:19:25.380><c> of</c><00:19:25.500><c> the</c><00:19:25.559><c> accounts</c>

00:19:25.909 --> 00:19:25.919 align:start position:0%
doesn't store the state of the accounts
 

00:19:25.919 --> 00:19:27.110 align:start position:0%
doesn't store the state of the accounts
for<00:19:26.039><c> example</c><00:19:26.220><c> but</c><00:19:26.460><c> the</c><00:19:26.580><c> user</c><00:19:26.820><c> needs</c><00:19:27.059><c> to</c>

00:19:27.110 --> 00:19:27.120 align:start position:0%
for example but the user needs to
 

00:19:27.120 --> 00:19:28.549 align:start position:0%
for example but the user needs to
provide<00:19:27.419><c> the</c><00:19:27.600><c> state</c><00:19:27.720><c> of</c><00:19:27.900><c> the</c><00:19:28.020><c> account</c><00:19:28.140><c> with</c>

00:19:28.549 --> 00:19:28.559 align:start position:0%
provide the state of the account with
 

00:19:28.559 --> 00:19:29.930 align:start position:0%
provide the state of the account with
every<00:19:28.679><c> transaction</c><00:19:29.039><c> so</c><00:19:29.280><c> the</c><00:19:29.460><c> network</c><00:19:29.640><c> can</c>

00:19:29.930 --> 00:19:29.940 align:start position:0%
every transaction so the network can
 

00:19:29.940 --> 00:19:31.430 align:start position:0%
every transaction so the network can
execute<00:19:30.240><c> the</c><00:19:30.360><c> transaction</c>

00:19:31.430 --> 00:19:31.440 align:start position:0%
execute the transaction
 

00:19:31.440 --> 00:19:33.350 align:start position:0%
execute the transaction
and<00:19:31.860><c> the</c><00:19:31.980><c> next</c><00:19:32.100><c> thing</c><00:19:32.220><c> we</c><00:19:32.400><c> can</c><00:19:32.520><c> do</c><00:19:32.640><c> if</c><00:19:32.820><c> the</c><00:19:33.179><c> data</c>

00:19:33.350 --> 00:19:33.360 align:start position:0%
and the next thing we can do if the data
 

00:19:33.360 --> 00:19:34.909 align:start position:0%
and the next thing we can do if the data
is<00:19:33.480><c> off</c><00:19:33.660><c> chain</c><00:19:33.840><c> and</c><00:19:34.080><c> local</c><00:19:34.260><c> execution</c><00:19:34.740><c> is</c>

00:19:34.909 --> 00:19:34.919 align:start position:0%
is off chain and local execution is
 

00:19:34.919 --> 00:19:35.990 align:start position:0%
is off chain and local execution is
happening<00:19:35.160><c> we</c><00:19:35.400><c> can</c><00:19:35.520><c> have</c><00:19:35.640><c> private</c>

00:19:35.990 --> 00:19:36.000 align:start position:0%
happening we can have private
 

00:19:36.000 --> 00:19:37.850 align:start position:0%
happening we can have private
transactions<00:19:36.539><c> where</c><00:19:36.900><c> the</c><00:19:37.260><c> network</c><00:19:37.380><c> is</c><00:19:37.679><c> not</c>

00:19:37.850 --> 00:19:37.860 align:start position:0%
transactions where the network is not
 

00:19:37.860 --> 00:19:39.470 align:start position:0%
transactions where the network is not
aware<00:19:38.100><c> not</c><00:19:38.280><c> only</c><00:19:38.460><c> of</c><00:19:38.640><c> what</c><00:19:38.760><c> code</c><00:19:38.940><c> was</c><00:19:39.120><c> executed</c>

00:19:39.470 --> 00:19:39.480 align:start position:0%
aware not only of what code was executed
 

00:19:39.480 --> 00:19:40.970 align:start position:0%
aware not only of what code was executed
necessarily<00:19:40.080><c> but</c><00:19:40.140><c> also</c><00:19:40.380><c> is</c><00:19:40.500><c> not</c><00:19:40.620><c> aware</c><00:19:40.740><c> of</c><00:19:40.860><c> the</c>

00:19:40.970 --> 00:19:40.980 align:start position:0%
necessarily but also is not aware of the
 

00:19:40.980 --> 00:19:42.289 align:start position:0%
necessarily but also is not aware of the
data<00:19:41.160><c> that</c><00:19:41.280><c> is</c><00:19:41.400><c> in</c><00:19:41.580><c> the</c><00:19:41.700><c> account</c><00:19:41.820><c> and</c><00:19:42.059><c> we</c><00:19:42.179><c> can</c>

00:19:42.289 --> 00:19:42.299 align:start position:0%
data that is in the account and we can
 

00:19:42.299 --> 00:19:44.029 align:start position:0%
data that is in the account and we can
also<00:19:42.539><c> hide</c><00:19:42.960><c> the</c><00:19:43.140><c> transaction</c><00:19:43.440><c> graph</c><00:19:43.740><c> using</c>

00:19:44.029 --> 00:19:44.039 align:start position:0%
also hide the transaction graph using
 

00:19:44.039 --> 00:19:45.230 align:start position:0%
also hide the transaction graph using
utxos

00:19:45.230 --> 00:19:45.240 align:start position:0%
utxos
 

00:19:45.240 --> 00:19:46.789 align:start position:0%
utxos
um<00:19:45.299><c> it's</c><00:19:45.660><c> I'm</c><00:19:45.900><c> not</c><00:19:46.080><c> going</c><00:19:46.200><c> to</c><00:19:46.260><c> get</c><00:19:46.380><c> into</c><00:19:46.620><c> that</c>

00:19:46.789 --> 00:19:46.799 align:start position:0%
um it's I'm not going to get into that
 

00:19:46.799 --> 00:19:48.230 align:start position:0%
um it's I'm not going to get into that
right<00:19:46.980><c> now</c><00:19:47.100><c> but</c><00:19:47.280><c> it's</c><00:19:47.460><c> a</c><00:19:47.700><c> bit</c><00:19:47.820><c> slightly</c><00:19:48.120><c> more</c>

00:19:48.230 --> 00:19:48.240 align:start position:0%
right now but it's a bit slightly more
 

00:19:48.240 --> 00:19:50.090 align:start position:0%
right now but it's a bit slightly more
complicated<00:19:48.600><c> but</c><00:19:48.780><c> we</c><00:19:48.900><c> can</c><00:19:49.020><c> do</c><00:19:49.140><c> that</c><00:19:49.260><c> as</c><00:19:49.380><c> well</c>

00:19:50.090 --> 00:19:50.100 align:start position:0%
complicated but we can do that as well
 

00:19:50.100 --> 00:19:51.890 align:start position:0%
complicated but we can do that as well
and<00:19:50.580><c> then</c><00:19:50.760><c> finally</c><00:19:51.000><c> for</c><00:19:51.240><c> completeness</c><00:19:51.660><c> there</c>

00:19:51.890 --> 00:19:51.900 align:start position:0%
and then finally for completeness there
 

00:19:51.900 --> 00:19:53.450 align:start position:0%
and then finally for completeness there
is<00:19:52.020><c> this</c><00:19:52.260><c> uh</c><00:19:52.440><c> you</c><00:19:52.620><c> know</c><00:19:52.679><c> local</c><00:19:52.860><c> execution</c><00:19:53.280><c> and</c>

00:19:53.450 --> 00:19:53.460 align:start position:0%
is this uh you know local execution and
 

00:19:53.460 --> 00:19:55.250 align:start position:0%
is this uh you know local execution and
on<00:19:53.640><c> chain</c><00:19:53.880><c> data</c><00:19:54.299><c> I</c><00:19:54.720><c> personally</c><00:19:54.960><c> don't</c><00:19:55.140><c> know</c>

00:19:55.250 --> 00:19:55.260 align:start position:0%
on chain data I personally don't know
 

00:19:55.260 --> 00:19:56.570 align:start position:0%
on chain data I personally don't know
which<00:19:55.500><c> use</c><00:19:55.679><c> cases</c><00:19:55.860><c> that</c><00:19:56.100><c> would</c><00:19:56.220><c> cover</c><00:19:56.340><c> but</c>

00:19:56.570 --> 00:19:56.580 align:start position:0%
which use cases that would cover but
 

00:19:56.580 --> 00:19:57.830 align:start position:0%
which use cases that would cover but
maybe<00:19:56.760><c> people</c><00:19:57.000><c> will</c><00:19:57.240><c> come</c><00:19:57.419><c> up</c><00:19:57.480><c> with</c><00:19:57.600><c> something</c>

00:19:57.830 --> 00:19:57.840 align:start position:0%
maybe people will come up with something
 

00:19:57.840 --> 00:20:00.049 align:start position:0%
maybe people will come up with something
how<00:19:58.679><c> did</c><00:19:58.799><c> we</c><00:19:58.919><c> address</c><00:19:59.039><c> execution</c><00:19:59.520><c> load</c><00:19:59.880><c> with</c>

00:20:00.049 --> 00:20:00.059 align:start position:0%
how did we address execution load with
 

00:20:00.059 --> 00:20:02.029 align:start position:0%
how did we address execution load with
those<00:20:00.179><c> models</c><00:20:00.660><c> so</c><00:20:01.140><c> first</c><00:20:01.320><c> we</c><00:20:01.620><c> achieved</c><00:20:01.919><c> no</c>

00:20:02.029 --> 00:20:02.039 align:start position:0%
those models so first we achieved no
 

00:20:02.039 --> 00:20:03.650 align:start position:0%
those models so first we achieved no
re-execution<00:20:02.640><c> so</c><00:20:02.880><c> all</c><00:20:03.059><c> transactions</c><00:20:03.539><c> are</c>

00:20:03.650 --> 00:20:03.660 align:start position:0%
re-execution so all transactions are
 

00:20:03.660 --> 00:20:06.350 align:start position:0%
re-execution so all transactions are
executed<00:20:04.020><c> only</c><00:20:04.260><c> once</c><00:20:05.100><c> uh</c><00:20:05.820><c> second</c><00:20:06.000><c> we</c><00:20:06.240><c> have</c>

00:20:06.350 --> 00:20:06.360 align:start position:0%
executed only once uh second we have
 

00:20:06.360 --> 00:20:08.270 align:start position:0%
executed only once uh second we have
concurrent<00:20:06.780><c> processing</c><00:20:07.200><c> where</c><00:20:07.500><c> transactions</c>

00:20:08.270 --> 00:20:08.280 align:start position:0%
concurrent processing where transactions
 

00:20:08.280 --> 00:20:10.490 align:start position:0%
concurrent processing where transactions
can<00:20:08.460><c> be</c><00:20:08.580><c> processed</c><00:20:09.000><c> in</c><00:20:09.120><c> parallel</c><00:20:09.539><c> uh</c><00:20:10.320><c> on</c>

00:20:10.490 --> 00:20:10.500 align:start position:0%
can be processed in parallel uh on
 

00:20:10.500 --> 00:20:11.990 align:start position:0%
can be processed in parallel uh on
Independent<00:20:10.980><c> machines</c><00:20:11.280><c> and</c><00:20:11.460><c> you</c><00:20:11.580><c> can</c><00:20:11.700><c> almost</c>

00:20:11.990 --> 00:20:12.000 align:start position:0%
Independent machines and you can almost
 

00:20:12.000 --> 00:20:14.090 align:start position:0%
Independent machines and you can almost
scale<00:20:12.419><c> this</c><00:20:12.660><c> thing</c><00:20:12.960><c> horizontally</c><00:20:13.500><c> by</c><00:20:13.740><c> adding</c>

00:20:14.090 --> 00:20:14.100 align:start position:0%
scale this thing horizontally by adding
 

00:20:14.100 --> 00:20:15.650 align:start position:0%
scale this thing horizontally by adding
more<00:20:14.340><c> and</c><00:20:14.460><c> more</c><00:20:14.640><c> machines</c><00:20:14.880><c> to</c><00:20:15.059><c> generate</c>

00:20:15.650 --> 00:20:15.660 align:start position:0%
more and more machines to generate
 

00:20:15.660 --> 00:20:17.870 align:start position:0%
more and more machines to generate
proofs<00:20:16.440><c> and</c><00:20:17.039><c> finally</c><00:20:17.220><c> we</c><00:20:17.400><c> have</c><00:20:17.520><c> this</c><00:20:17.700><c> local</c>

00:20:17.870 --> 00:20:17.880 align:start position:0%
proofs and finally we have this local
 

00:20:17.880 --> 00:20:21.049 align:start position:0%
proofs and finally we have this local
execution<00:20:18.360><c> where</c><00:20:18.860><c> transactions</c><00:20:19.940><c> can</c><00:20:20.940><c> be</c>

00:20:21.049 --> 00:20:21.059 align:start position:0%
execution where transactions can be
 

00:20:21.059 --> 00:20:23.150 align:start position:0%
execution where transactions can be
executed<00:20:21.419><c> by</c><00:20:21.780><c> the</c><00:20:22.320><c> users</c><00:20:22.620><c> that</c><00:20:22.799><c> are</c><00:20:22.919><c> involved</c>

00:20:23.150 --> 00:20:23.160 align:start position:0%
executed by the users that are involved
 

00:20:23.160 --> 00:20:24.770 align:start position:0%
executed by the users that are involved
in<00:20:23.280><c> those</c><00:20:23.400><c> transactions</c><00:20:24.000><c> and</c><00:20:24.419><c> the</c><00:20:24.600><c> nice</c>

00:20:24.770 --> 00:20:24.780 align:start position:0%
in those transactions and the nice
 

00:20:24.780 --> 00:20:26.390 align:start position:0%
in those transactions and the nice
property<00:20:25.140><c> here</c><00:20:25.320><c> is</c><00:20:25.500><c> the</c><00:20:25.620><c> more</c><00:20:25.740><c> locally</c><00:20:26.039><c> proven</c>

00:20:26.390 --> 00:20:26.400 align:start position:0%
property here is the more locally proven
 

00:20:26.400 --> 00:20:28.010 align:start position:0%
property here is the more locally proven
transactions<00:20:26.820><c> you</c><00:20:27.000><c> have</c><00:20:27.120><c> the</c><00:20:27.360><c> less</c><00:20:27.600><c> burden</c>

00:20:28.010 --> 00:20:28.020 align:start position:0%
transactions you have the less burden
 

00:20:28.020 --> 00:20:29.750 align:start position:0%
transactions you have the less burden
computation<00:20:28.620><c> loaded</c><00:20:28.980><c> in</c><00:20:29.100><c> the</c><00:20:29.220><c> network</c><00:20:29.340><c> has</c><00:20:29.640><c> to</c>

00:20:29.750 --> 00:20:29.760 align:start position:0%
computation loaded in the network has to
 

00:20:29.760 --> 00:20:31.850 align:start position:0%
computation loaded in the network has to
encounter<00:20:30.179><c> because</c><00:20:30.780><c> let's</c><00:20:31.080><c> say</c><00:20:31.200><c> 90</c><00:20:31.440><c> of</c>

00:20:31.850 --> 00:20:31.860 align:start position:0%
encounter because let's say 90 of
 

00:20:31.860 --> 00:20:32.930 align:start position:0%
encounter because let's say 90 of
transactions<00:20:32.280><c> are</c><00:20:32.460><c> something</c><00:20:32.640><c> that</c><00:20:32.820><c> has</c>

00:20:32.930 --> 00:20:32.940 align:start position:0%
transactions are something that has
 

00:20:32.940 --> 00:20:34.730 align:start position:0%
transactions are something that has
proven<00:20:33.240><c> locally</c><00:20:33.539><c> there</c><00:20:33.960><c> is</c><00:20:34.200><c> very</c><00:20:34.320><c> little</c><00:20:34.500><c> work</c>

00:20:34.730 --> 00:20:34.740 align:start position:0%
proven locally there is very little work
 

00:20:34.740 --> 00:20:36.409 align:start position:0%
proven locally there is very little work
that<00:20:34.980><c> the</c><00:20:35.220><c> block</c><00:20:35.400><c> producer</c><00:20:35.880><c> needs</c><00:20:36.120><c> to</c><00:20:36.179><c> do</c><00:20:36.299><c> to</c>

00:20:36.409 --> 00:20:36.419 align:start position:0%
that the block producer needs to do to
 

00:20:36.419 --> 00:20:38.090 align:start position:0%
that the block producer needs to do to
uh<00:20:36.780><c> to</c><00:20:37.140><c> they</c><00:20:37.380><c> don't</c><00:20:37.500><c> need</c><00:20:37.620><c> to</c><00:20:37.679><c> execute</c><00:20:37.980><c> them</c>

00:20:38.090 --> 00:20:38.100 align:start position:0%
uh to they don't need to execute them
 

00:20:38.100 --> 00:20:39.110 align:start position:0%
uh to they don't need to execute them
they<00:20:38.280><c> don't</c><00:20:38.400><c> need</c><00:20:38.520><c> to</c><00:20:38.580><c> prove</c><00:20:38.760><c> them</c><00:20:38.880><c> they</c><00:20:39.000><c> just</c>

00:20:39.110 --> 00:20:39.120 align:start position:0%
they don't need to prove them they just
 

00:20:39.120 --> 00:20:40.850 align:start position:0%
they don't need to prove them they just
aggregate<00:20:39.539><c> them</c><00:20:39.660><c> into</c><00:20:39.780><c> blocks</c>

00:20:40.850 --> 00:20:40.860 align:start position:0%
aggregate them into blocks
 

00:20:40.860 --> 00:20:43.370 align:start position:0%
aggregate them into blocks
and<00:20:41.520><c> then</c><00:20:41.700><c> regarding</c><00:20:42.299><c> State</c><00:20:42.480><c> load</c><00:20:42.900><c> we</c><00:20:43.200><c> have</c>

00:20:43.370 --> 00:20:43.380 align:start position:0%
and then regarding State load we have
 

00:20:43.380 --> 00:20:45.590 align:start position:0%
and then regarding State load we have
kind<00:20:43.919><c> of</c><00:20:44.039><c> this</c><00:20:44.160><c> Dynamic</c><00:20:44.520><c> pruning</c><00:20:45.299><c> where</c><00:20:45.419><c> we</c>

00:20:45.590 --> 00:20:45.600 align:start position:0%
kind of this Dynamic pruning where we
 

00:20:45.600 --> 00:20:47.330 align:start position:0%
kind of this Dynamic pruning where we
can<00:20:45.780><c> collapse</c><00:20:46.260><c> accounts</c><00:20:46.799><c> and</c><00:20:46.860><c> nodes</c><00:20:47.160><c> into</c>

00:20:47.330 --> 00:20:47.340 align:start position:0%
can collapse accounts and nodes into
 

00:20:47.340 --> 00:20:48.950 align:start position:0%
can collapse accounts and nodes into
their<00:20:47.520><c> hashes</c>

00:20:48.950 --> 00:20:48.960 align:start position:0%
their hashes
 

00:20:48.960 --> 00:20:50.330 align:start position:0%
their hashes
um<00:20:49.020><c> we</c><00:20:49.200><c> can</c><00:20:49.320><c> have</c><00:20:49.440><c> very</c><00:20:49.620><c> light</c><00:20:49.860><c> verifying</c>

00:20:50.330 --> 00:20:50.340 align:start position:0%
um we can have very light verifying
 

00:20:50.340 --> 00:20:51.890 align:start position:0%
um we can have very light verifying
notes<00:20:50.580><c> if</c><00:20:50.820><c> you</c><00:20:50.940><c> only</c><00:20:51.059><c> want</c><00:20:51.240><c> to</c><00:20:51.360><c> verify</c><00:20:51.720><c> State</c>

00:20:51.890 --> 00:20:51.900 align:start position:0%
notes if you only want to verify State
 

00:20:51.900 --> 00:20:53.390 align:start position:0%
notes if you only want to verify State
Transitions<00:20:52.440><c> and</c><00:20:52.559><c> you</c><00:20:52.679><c> don't</c><00:20:52.860><c> want</c><00:20:53.100><c> to</c><00:20:53.280><c> create</c>

00:20:53.390 --> 00:20:53.400 align:start position:0%
Transitions and you don't want to create
 

00:20:53.400 --> 00:20:54.890 align:start position:0%
Transitions and you don't want to create
new<00:20:53.640><c> blocks</c><00:20:53.940><c> you</c><00:20:54.360><c> actually</c><00:20:54.480><c> don't</c><00:20:54.720><c> need</c><00:20:54.840><c> to</c>

00:20:54.890 --> 00:20:54.900 align:start position:0%
new blocks you actually don't need to
 

00:20:54.900 --> 00:20:56.450 align:start position:0%
new blocks you actually don't need to
maintain<00:20:55.200><c> the</c><00:20:55.320><c> nullifier</c><00:20:55.740><c> database</c><00:20:56.100><c> at</c><00:20:56.340><c> all</c>

00:20:56.450 --> 00:20:56.460 align:start position:0%
maintain the nullifier database at all
 

00:20:56.460 --> 00:20:58.610 align:start position:0%
maintain the nullifier database at all
and<00:20:56.880><c> in</c><00:20:57.000><c> that</c><00:20:57.179><c> case</c><00:20:57.419><c> as</c><00:20:58.020><c> I</c><00:20:58.200><c> mentioned</c><00:20:58.380><c> the</c>

00:20:58.610 --> 00:20:58.620 align:start position:0%
and in that case as I mentioned the
 

00:20:58.620 --> 00:21:00.230 align:start position:0%
and in that case as I mentioned the
nullify<00:20:59.100><c> database</c><00:20:59.460><c> is</c><00:20:59.640><c> the</c><00:20:59.760><c> biggest</c><00:20:59.880><c> part</c><00:21:00.120><c> of</c>

00:21:00.230 --> 00:21:00.240 align:start position:0%
nullify database is the biggest part of
 

00:21:00.240 --> 00:21:01.370 align:start position:0%
nullify database is the biggest part of
the<00:21:00.360><c> state</c><00:21:00.480><c> so</c><00:21:00.720><c> you</c><00:21:00.840><c> can</c><00:21:00.900><c> actually</c><00:21:01.020><c> discard</c>

00:21:01.370 --> 00:21:01.380 align:start position:0%
the state so you can actually discard
 

00:21:01.380 --> 00:21:03.529 align:start position:0%
the state so you can actually discard
the<00:21:01.500><c> biggest</c><00:21:01.620><c> part</c><00:21:01.860><c> of</c><00:21:01.980><c> the</c><00:21:02.100><c> state</c><00:21:02.280><c> and</c><00:21:03.240><c> we</c>

00:21:03.529 --> 00:21:03.539 align:start position:0%
the biggest part of the state and we
 

00:21:03.539 --> 00:21:05.330 align:start position:0%
the biggest part of the state and we
have<00:21:03.720><c> this</c><00:21:03.900><c> nice</c><00:21:04.080><c> thing</c><00:21:04.260><c> where</c><00:21:04.500><c> because</c><00:21:04.860><c> the</c>

00:21:05.330 --> 00:21:05.340 align:start position:0%
have this nice thing where because the
 

00:21:05.340 --> 00:21:06.890 align:start position:0%
have this nice thing where because the
nullifier<00:21:05.760><c> database</c><00:21:06.179><c> dominates</c><00:21:06.660><c> this</c>

00:21:06.890 --> 00:21:06.900 align:start position:0%
nullifier database dominates this
 

00:21:06.900 --> 00:21:09.409 align:start position:0%
nullifier database dominates this
overall<00:21:07.260><c> State</c><00:21:07.500><c> size</c><00:21:07.760><c> the</c><00:21:08.760><c> oral</c><00:21:09.059><c> State</c><00:21:09.240><c> size</c>

00:21:09.409 --> 00:21:09.419 align:start position:0%
overall State size the oral State size
 

00:21:09.419 --> 00:21:11.090 align:start position:0%
overall State size the oral State size
really<00:21:09.660><c> depends</c><00:21:09.960><c> on</c><00:21:10.080><c> GPS</c><00:21:10.200><c> so</c><00:21:10.620><c> the</c><00:21:10.740><c> higher</c><00:21:10.980><c> the</c>

00:21:11.090 --> 00:21:11.100 align:start position:0%
really depends on GPS so the higher the
 

00:21:11.100 --> 00:21:13.669 align:start position:0%
really depends on GPS so the higher the
GPS<00:21:11.220><c> the</c><00:21:11.820><c> higher</c><00:21:12.059><c> the</c><00:21:12.120><c> nullifier</c><00:21:12.600><c> the</c><00:21:13.380><c> bigger</c>

00:21:13.669 --> 00:21:13.679 align:start position:0%
GPS the higher the nullifier the bigger
 

00:21:13.679 --> 00:21:15.230 align:start position:0%
GPS the higher the nullifier the bigger
the<00:21:13.799><c> state</c><00:21:13.980><c> but</c><00:21:14.160><c> it</c><00:21:14.280><c> doesn't</c><00:21:14.400><c> vary</c><00:21:14.700><c> with</c><00:21:14.940><c> the</c>

00:21:15.230 --> 00:21:15.240 align:start position:0%
the state but it doesn't vary with the
 

00:21:15.240 --> 00:21:16.610 align:start position:0%
the state but it doesn't vary with the
number<00:21:15.360><c> of</c><00:21:15.539><c> accounts</c><00:21:15.900><c> for</c><00:21:16.020><c> example</c><00:21:16.260><c> as</c><00:21:16.500><c> much</c>

00:21:16.610 --> 00:21:16.620 align:start position:0%
number of accounts for example as much
 

00:21:16.620 --> 00:21:18.710 align:start position:0%
number of accounts for example as much
or<00:21:16.799><c> number</c><00:21:16.980><c> of</c><00:21:17.220><c> nodes</c><00:21:17.520><c> in</c><00:21:17.640><c> the</c><00:21:17.760><c> system</c>

00:21:18.710 --> 00:21:18.720 align:start position:0%
or number of nodes in the system
 

00:21:18.720 --> 00:21:20.750 align:start position:0%
or number of nodes in the system
and<00:21:19.500><c> last</c><00:21:19.980><c> thing</c><00:21:20.100><c> that</c><00:21:20.280><c> I</c><00:21:20.400><c> want</c><00:21:20.460><c> to</c><00:21:20.580><c> leave</c><00:21:20.640><c> you</c>

00:21:20.750 --> 00:21:20.760 align:start position:0%
and last thing that I want to leave you
 

00:21:20.760 --> 00:21:21.950 align:start position:0%
and last thing that I want to leave you
with<00:21:20.820><c> is</c><00:21:21.000><c> that</c><00:21:21.179><c> this</c><00:21:21.360><c> is</c><00:21:21.480><c> what</c><00:21:21.600><c> we're</c><00:21:21.720><c> trying</c>

00:21:21.950 --> 00:21:21.960 align:start position:0%
with is that this is what we're trying
 

00:21:21.960 --> 00:21:23.630 align:start position:0%
with is that this is what we're trying
to<00:21:22.080><c> achieve</c><00:21:22.380><c> where</c><00:21:22.620><c> the</c><00:21:23.039><c> more</c><00:21:23.100><c> privacy</c><00:21:23.460><c> there</c>

00:21:23.630 --> 00:21:23.640 align:start position:0%
to achieve where the more privacy there
 

00:21:23.640 --> 00:21:25.310 align:start position:0%
to achieve where the more privacy there
is<00:21:23.820><c> in</c><00:21:23.940><c> a</c><00:21:24.240><c> network</c><00:21:24.360><c> the</c><00:21:24.660><c> more</c><00:21:24.780><c> scalable</c><00:21:25.080><c> it</c><00:21:25.260><c> is</c>

00:21:25.310 --> 00:21:25.320 align:start position:0%
is in a network the more scalable it is
 

00:21:25.320 --> 00:21:26.750 align:start position:0%
is in a network the more scalable it is
the<00:21:25.500><c> more</c><00:21:25.620><c> scalable</c><00:21:25.919><c> it</c><00:21:26.039><c> is</c><00:21:26.160><c> the</c><00:21:26.340><c> more</c><00:21:26.520><c> private</c>

00:21:26.750 --> 00:21:26.760 align:start position:0%
the more scalable it is the more private
 

00:21:26.760 --> 00:21:28.730 align:start position:0%
the more scalable it is the more private
it<00:21:26.880><c> is</c><00:21:27.059><c> and</c><00:21:27.299><c> this</c><00:21:27.539><c> is</c><00:21:27.600><c> our</c><00:21:27.960><c> goal</c><00:21:28.320><c> with</c><00:21:28.500><c> the</c>

00:21:28.730 --> 00:21:28.740 align:start position:0%
it is and this is our goal with the
 

00:21:28.740 --> 00:21:32.149 align:start position:0%
it is and this is our goal with the
maiden<00:21:29.100><c> roll-up</c><00:21:29.460><c> thank</c><00:21:30.000><c> you</c>

00:21:32.149 --> 00:21:32.159 align:start position:0%
 
 

00:21:32.159 --> 00:21:35.149 align:start position:0%
 
so<00:21:32.820><c> how</c><00:21:33.539><c> would</c><00:21:33.659><c> the</c><00:21:33.780><c> network</c><00:21:33.960><c> result</c><00:21:34.559><c> when</c><00:21:34.919><c> two</c>

00:21:35.149 --> 00:21:35.159 align:start position:0%
so how would the network result when two
 

00:21:35.159 --> 00:21:37.490 align:start position:0%
so how would the network result when two
accounts<00:21:35.580><c> try</c><00:21:35.700><c> to</c><00:21:35.940><c> spend</c><00:21:36.299><c> the</c><00:21:36.419><c> same</c><00:21:36.539><c> utxo</c><00:21:37.200><c> like</c>

00:21:37.490 --> 00:21:37.500 align:start position:0%
accounts try to spend the same utxo like
 

00:21:37.500 --> 00:21:39.649 align:start position:0%
accounts try to spend the same utxo like
in<00:21:37.620><c> a</c><00:21:37.799><c> text</c><00:21:37.919><c> or</c><00:21:38.220><c> something</c><00:21:38.400><c> like</c><00:21:38.580><c> that</c>

00:21:39.649 --> 00:21:39.659 align:start position:0%
in a text or something like that
 

00:21:39.659 --> 00:21:40.730 align:start position:0%
in a text or something like that
so

00:21:40.730 --> 00:21:40.740 align:start position:0%
so
 

00:21:40.740 --> 00:21:42.289 align:start position:0%
so
um<00:21:40.799><c> if</c><00:21:41.159><c> two</c><00:21:41.340><c> accounts</c><00:21:41.700><c> are</c><00:21:41.820><c> trying</c><00:21:42.000><c> to</c><00:21:42.120><c> spend</c>

00:21:42.289 --> 00:21:42.299 align:start position:0%
um if two accounts are trying to spend
 

00:21:42.299 --> 00:21:43.909 align:start position:0%
um if two accounts are trying to spend
the<00:21:42.419><c> same</c><00:21:42.539><c> utx</c><00:21:42.960><c> oh</c><00:21:43.080><c> that's</c><00:21:43.320><c> a</c><00:21:43.440><c> conflict</c><00:21:43.679><c> you</c>

00:21:43.909 --> 00:21:43.919 align:start position:0%
the same utx oh that's a conflict you
 

00:21:43.919 --> 00:21:46.549 align:start position:0%
the same utx oh that's a conflict you
can't<00:21:44.039><c> spend</c><00:21:44.340><c> the</c><00:21:44.460><c> same</c><00:21:44.580><c> ejx</c><00:21:45.000><c> or</c><00:21:45.179><c> twice</c><00:21:45.840><c> um</c><00:21:45.900><c> so</c>

00:21:46.549 --> 00:21:46.559 align:start position:0%
can't spend the same ejx or twice um so
 

00:21:46.559 --> 00:21:48.590 align:start position:0%
can't spend the same ejx or twice um so
I<00:21:47.340><c> think</c><00:21:47.460><c> the</c><00:21:47.700><c> problem</c>

00:21:48.590 --> 00:21:48.600 align:start position:0%
I think the problem
 

00:21:48.600 --> 00:21:50.510 align:start position:0%
I think the problem
um<00:21:48.659><c> so</c><00:21:49.440><c> it's</c><00:21:49.620><c> not</c><00:21:49.740><c> really</c><00:21:49.860><c> a</c><00:21:50.039><c> problem</c><00:21:50.159><c> in</c><00:21:50.400><c> that</c>

00:21:50.510 --> 00:21:50.520 align:start position:0%
um so it's not really a problem in that
 

00:21:50.520 --> 00:21:52.130 align:start position:0%
um so it's not really a problem in that
case<00:21:50.700><c> like</c><00:21:50.940><c> if</c><00:21:51.120><c> you</c><00:21:51.419><c> are</c><00:21:51.600><c> trying</c><00:21:51.780><c> to</c><00:21:51.960><c> spend</c>

00:21:52.130 --> 00:21:52.140 align:start position:0%
case like if you are trying to spend
 

00:21:52.140 --> 00:21:53.870 align:start position:0%
case like if you are trying to spend
like<00:21:52.320><c> if</c><00:21:52.500><c> you</c><00:21:52.679><c> if</c><00:21:52.860><c> you</c><00:21:53.039><c> have</c><00:21:53.100><c> utxo</c><00:21:53.640><c> and</c><00:21:53.760><c> I</c><00:21:53.820><c> have</c>

00:21:53.870 --> 00:21:53.880 align:start position:0%
like if you if you have utxo and I have
 

00:21:53.880 --> 00:21:55.490 align:start position:0%
like if you if you have utxo and I have
utxo<00:21:54.360><c> and</c><00:21:54.480><c> we</c><00:21:54.720><c> submit</c><00:21:55.020><c> transactions</c><00:21:55.380><c> for</c>

00:21:55.490 --> 00:21:55.500 align:start position:0%
utxo and we submit transactions for
 

00:21:55.500 --> 00:21:57.289 align:start position:0%
utxo and we submit transactions for
whatever<00:21:55.620><c> reason</c><00:21:55.799><c> that</c><00:21:56.159><c> both</c><00:21:56.880><c> of</c><00:21:57.000><c> us</c><00:21:57.120><c> can</c>

00:21:57.289 --> 00:21:57.299 align:start position:0%
whatever reason that both of us can
 

00:21:57.299 --> 00:21:59.149 align:start position:0%
whatever reason that both of us can
consume<00:21:57.720><c> the</c><00:21:58.080><c> blog</c><00:21:58.380><c> producer</c><00:21:58.740><c> will</c><00:21:58.860><c> need</c><00:21:59.039><c> to</c>

00:21:59.149 --> 00:21:59.159 align:start position:0%
consume the blog producer will need to
 

00:21:59.159 --> 00:22:01.310 align:start position:0%
consume the blog producer will need to
decide<00:21:59.400><c> which</c><00:21:59.760><c> of</c><00:22:00.419><c> those</c><00:22:00.600><c> transaction</c><00:22:00.960><c> goes</c>

00:22:01.310 --> 00:22:01.320 align:start position:0%
decide which of those transaction goes
 

00:22:01.320 --> 00:22:02.690 align:start position:0%
decide which of those transaction goes
through<00:22:01.440><c> because</c>

00:22:02.690 --> 00:22:02.700 align:start position:0%
through because
 

00:22:02.700 --> 00:22:05.570 align:start position:0%
through because
um<00:22:02.760><c> you</c><00:22:03.000><c> know</c><00:22:03.059><c> you</c><00:22:03.240><c> can't</c><00:22:03.419><c> you</c><00:22:04.260><c> can't</c><00:22:04.580><c> execute</c>

00:22:05.570 --> 00:22:05.580 align:start position:0%
um you know you can't you can't execute
 

00:22:05.580 --> 00:22:06.289 align:start position:0%
um you know you can't you can't execute
both<00:22:05.700><c> of</c><00:22:05.820><c> those</c><00:22:05.880><c> transactions</c>

00:22:06.289 --> 00:22:06.299 align:start position:0%
both of those transactions
 

00:22:06.299 --> 00:22:07.909 align:start position:0%
both of those transactions
simultaneously<00:22:06.900><c> because</c><00:22:07.080><c> there</c><00:22:07.320><c> will</c><00:22:07.440><c> be</c><00:22:07.620><c> you</c>

00:22:07.909 --> 00:22:07.919 align:start position:0%
simultaneously because there will be you
 

00:22:07.919 --> 00:22:08.930 align:start position:0%
simultaneously because there will be you
know<00:22:07.980><c> one</c><00:22:08.220><c> of</c><00:22:08.340><c> them</c><00:22:08.460><c> will</c><00:22:08.580><c> produce</c><00:22:08.880><c> a</c>

00:22:08.930 --> 00:22:08.940 align:start position:0%
know one of them will produce a
 

00:22:08.940 --> 00:22:10.490 align:start position:0%
know one of them will produce a
nullifier<00:22:09.360><c> that</c><00:22:09.600><c> the</c><00:22:10.020><c> second</c><00:22:10.140><c> transaction</c>

00:22:10.490 --> 00:22:10.500 align:start position:0%
nullifier that the second transaction
 

00:22:10.500 --> 00:22:11.810 align:start position:0%
nullifier that the second transaction
will<00:22:10.740><c> not</c><00:22:10.860><c> succeed</c><00:22:11.159><c> because</c><00:22:11.280><c> the</c><00:22:11.460><c> nullifier</c>

00:22:11.810 --> 00:22:11.820 align:start position:0%
will not succeed because the nullifier
 

00:22:11.820 --> 00:22:13.970 align:start position:0%
will not succeed because the nullifier
for<00:22:12.000><c> this</c><00:22:12.120><c> utxo</c><00:22:12.600><c> has</c><00:22:12.780><c> already</c><00:22:12.900><c> been</c><00:22:13.080><c> created</c>

00:22:13.970 --> 00:22:13.980 align:start position:0%
for this utxo has already been created
 

00:22:13.980 --> 00:22:16.010 align:start position:0%
for this utxo has already been created
so<00:22:14.520><c> like</c><00:22:14.760><c> in</c><00:22:14.880><c> the</c><00:22:15.000><c> union</c><00:22:15.120><c> swap</c><00:22:15.419><c> example</c><00:22:15.780><c> you</c>

00:22:16.010 --> 00:22:16.020 align:start position:0%
so like in the union swap example you
 

00:22:16.020 --> 00:22:18.230 align:start position:0%
so like in the union swap example you
can<00:22:16.140><c> send</c><00:22:16.380><c> so</c><00:22:16.620><c> like</c><00:22:16.799><c> you</c><00:22:16.919><c> can</c><00:22:17.100><c> send</c><00:22:17.280><c> a</c><00:22:17.760><c> note</c>

00:22:18.230 --> 00:22:18.240 align:start position:0%
can send so like you can send a note
 

00:22:18.240 --> 00:22:19.850 align:start position:0%
can send so like you can send a note
that<00:22:18.480><c> says</c><00:22:18.659><c> I</c><00:22:18.840><c> want</c><00:22:19.020><c> to</c><00:22:19.140><c> swap</c><00:22:19.260><c> token</c><00:22:19.620><c> a</c><00:22:19.679><c> for</c>

00:22:19.850 --> 00:22:19.860 align:start position:0%
that says I want to swap token a for
 

00:22:19.860 --> 00:22:22.130 align:start position:0%
that says I want to swap token a for
token<00:22:20.159><c> B</c><00:22:20.280><c> right</c><00:22:20.520><c> at</c><00:22:20.700><c> this</c><00:22:20.880><c> price</c><00:22:21.059><c> and</c><00:22:21.360><c> somebody</c>

00:22:22.130 --> 00:22:22.140 align:start position:0%
token B right at this price and somebody
 

00:22:22.140 --> 00:22:23.630 align:start position:0%
token B right at this price and somebody
else<00:22:22.380><c> can</c><00:22:22.559><c> do</c><00:22:22.679><c> the</c><00:22:22.799><c> same</c><00:22:22.919><c> thing</c><00:22:23.039><c> and</c><00:22:23.280><c> those</c><00:22:23.400><c> are</c>

00:22:23.630 --> 00:22:23.640 align:start position:0%
else can do the same thing and those are
 

00:22:23.640 --> 00:22:25.370 align:start position:0%
else can do the same thing and those are
two<00:22:23.820><c> different</c><00:22:24.179><c> requests</c><00:22:24.720><c> but</c><00:22:25.080><c> then</c><00:22:25.200><c> the</c>

00:22:25.370 --> 00:22:25.380 align:start position:0%
two different requests but then the
 

00:22:25.380 --> 00:22:26.750 align:start position:0%
two different requests but then the
block<00:22:25.500><c> producer</c><00:22:25.980><c> will</c><00:22:26.159><c> aggregate</c><00:22:26.580><c> those</c>

00:22:26.750 --> 00:22:26.760 align:start position:0%
block producer will aggregate those
 

00:22:26.760 --> 00:22:28.909 align:start position:0%
block producer will aggregate those
requests<00:22:27.179><c> sequence</c><00:22:27.840><c> them</c><00:22:28.080><c> in</c><00:22:28.559><c> a</c><00:22:28.679><c> single</c>

00:22:28.909 --> 00:22:28.919 align:start position:0%
requests sequence them in a single
 

00:22:28.919 --> 00:22:30.289 align:start position:0%
requests sequence them in a single
transaction<00:22:29.220><c> and</c><00:22:29.520><c> execute</c><00:22:29.880><c> them</c><00:22:30.000><c> and</c><00:22:30.179><c> there</c>

00:22:30.289 --> 00:22:30.299 align:start position:0%
transaction and execute them and there
 

00:22:30.299 --> 00:22:31.970 align:start position:0%
transaction and execute them and there
will<00:22:30.419><c> be</c><00:22:30.539><c> no</c><00:22:30.720><c> conflict</c><00:22:31.020><c> on</c><00:22:31.200><c> that</c><00:22:31.380><c> because</c><00:22:31.500><c> the</c>

00:22:31.970 --> 00:22:31.980 align:start position:0%
will be no conflict on that because the
 

00:22:31.980 --> 00:22:34.490 align:start position:0%
will be no conflict on that because the
the<00:22:32.340><c> state</c><00:22:32.580><c> of</c><00:22:32.820><c> the</c><00:22:33.120><c> uni</c><00:22:33.539><c> swap</c><00:22:33.780><c> contract</c><00:22:34.080><c> gets</c>

00:22:34.490 --> 00:22:34.500 align:start position:0%
the state of the uni swap contract gets
 

00:22:34.500 --> 00:22:37.270 align:start position:0%
the state of the uni swap contract gets
updated<00:22:34.740><c> sequentially</c><00:22:35.220><c> after</c><00:22:35.580><c> each</c><00:22:36.059><c> uh</c>

00:22:37.270 --> 00:22:37.280 align:start position:0%
updated sequentially after each uh
 

00:22:37.280 --> 00:22:39.590 align:start position:0%
updated sequentially after each uh
consume<00:22:38.280><c> node</c><00:22:38.520><c> so</c><00:22:38.880><c> you're</c><00:22:39.000><c> not</c><00:22:39.120><c> consuming</c><00:22:39.480><c> the</c>

00:22:39.590 --> 00:22:39.600 align:start position:0%
consume node so you're not consuming the
 

00:22:39.600 --> 00:22:41.330 align:start position:0%
consume node so you're not consuming the
same<00:22:39.720><c> utxo</c><00:22:40.260><c> you're</c><00:22:40.500><c> applying</c><00:22:40.980><c> the</c><00:22:41.159><c> different</c>

00:22:41.330 --> 00:22:41.340 align:start position:0%
same utxo you're applying the different
 

00:22:41.340 --> 00:22:43.310 align:start position:0%
same utxo you're applying the different
nodes<00:22:41.640><c> to</c><00:22:41.820><c> the</c><00:22:42.000><c> same</c><00:22:42.120><c> account</c><00:22:42.240><c> but</c><00:22:42.720><c> yes</c><00:22:43.080><c> that</c>

00:22:43.310 --> 00:22:43.320 align:start position:0%
nodes to the same account but yes that
 

00:22:43.320 --> 00:22:44.570 align:start position:0%
nodes to the same account but yes that
cannot<00:22:43.559><c> be</c><00:22:43.679><c> done</c><00:22:43.799><c> locally</c><00:22:44.100><c> that</c><00:22:44.280><c> needs</c><00:22:44.460><c> to</c><00:22:44.460><c> be</c>

00:22:44.570 --> 00:22:44.580 align:start position:0%
cannot be done locally that needs to be
 

00:22:44.580 --> 00:22:46.909 align:start position:0%
cannot be done locally that needs to be
done<00:22:44.640><c> by</c><00:22:44.820><c> a</c><00:22:44.940><c> block</c><00:22:45.059><c> producer</c>

00:22:46.909 --> 00:22:46.919 align:start position:0%
done by a block producer
 

00:22:46.919 --> 00:22:49.310 align:start position:0%
done by a block producer
um it's<00:22:47.460><c> an</c><00:22:47.640><c> optimization</c><00:22:48.179><c> uh</c><00:22:48.720><c> the</c><00:22:48.900><c> idea</c><00:22:49.200><c> is</c>

00:22:49.310 --> 00:22:49.320 align:start position:0%
um it's an optimization uh the idea is
 

00:22:49.320 --> 00:22:51.770 align:start position:0%
um it's an optimization uh the idea is
that<00:22:49.620><c> if</c><00:22:49.980><c> you</c><00:22:50.159><c> want</c><00:22:50.280><c> to</c><00:22:50.400><c> have</c><00:22:50.580><c> an</c><00:22:51.240><c> um</c><00:22:51.240><c> if</c><00:22:51.600><c> like</c>

00:22:51.770 --> 00:22:51.780 align:start position:0%
that if you want to have an um if like
 

00:22:51.780 --> 00:22:52.970 align:start position:0%
that if you want to have an um if like
let's<00:22:52.080><c> say</c>

00:22:52.970 --> 00:22:52.980 align:start position:0%
let's say
 

00:22:52.980 --> 00:22:54.830 align:start position:0%
let's say
um<00:22:53.039><c> your</c><00:22:53.580><c> node</c><00:22:53.820><c> was</c><00:22:54.059><c> created</c><00:22:54.299><c> in</c><00:22:54.480><c> a</c><00:22:54.659><c> prior</c>

00:22:54.830 --> 00:22:54.840 align:start position:0%
um your node was created in a prior
 

00:22:54.840 --> 00:22:56.690 align:start position:0%
um your node was created in a prior
Epoch<00:22:55.380><c> and</c><00:22:55.500><c> the</c><00:22:55.620><c> nullifier</c><00:22:56.039><c> was</c><00:22:56.280><c> created</c><00:22:56.460><c> then</c>

00:22:56.690 --> 00:22:56.700 align:start position:0%
Epoch and the nullifier was created then
 

00:22:56.700 --> 00:22:58.789 align:start position:0%
Epoch and the nullifier was created then
you<00:22:57.360><c> you</c><00:22:57.539><c> will</c><00:22:57.780><c> need</c><00:22:57.900><c> to</c><00:22:58.020><c> provide</c><00:22:58.320><c> the</c><00:22:58.559><c> path</c>

00:22:58.789 --> 00:22:58.799 align:start position:0%
you you will need to provide the path
 

00:22:58.799 --> 00:23:00.710 align:start position:0%
you you will need to provide the path
that<00:22:59.159><c> proves</c><00:22:59.460><c> that</c><00:22:59.640><c> it</c><00:22:59.760><c> was</c><00:23:00.240><c> it</c><00:23:00.419><c> hasn't</c><00:23:00.659><c> been</c>

00:23:00.710 --> 00:23:00.720 align:start position:0%
that proves that it was it hasn't been
 

00:23:00.720 --> 00:23:02.450 align:start position:0%
that proves that it was it hasn't been
consumed<00:23:01.080><c> yourself</c><00:23:01.260><c> the</c><00:23:01.679><c> node</c><00:23:01.919><c> the</c><00:23:02.159><c> nodes</c><00:23:02.340><c> are</c>

00:23:02.450 --> 00:23:02.460 align:start position:0%
consumed yourself the node the nodes are
 

00:23:02.460 --> 00:23:04.610 align:start position:0%
consumed yourself the node the nodes are
not<00:23:02.640><c> responsible</c><00:23:03.059><c> for</c><00:23:03.240><c> that</c><00:23:03.360><c> so</c><00:23:03.900><c> the</c><00:23:04.080><c> notes</c>

00:23:04.610 --> 00:23:04.620 align:start position:0%
not responsible for that so the notes
 

00:23:04.620 --> 00:23:05.930 align:start position:0%
not responsible for that so the notes
are<00:23:04.740><c> meant</c><00:23:04.919><c> to</c><00:23:05.039><c> be</c><00:23:05.100><c> like</c><00:23:05.340><c> a</c><00:23:05.520><c> short-lived</c>

00:23:05.930 --> 00:23:05.940 align:start position:0%
are meant to be like a short-lived
 

00:23:05.940 --> 00:23:07.610 align:start position:0%
are meant to be like a short-lived
object<00:23:06.240><c> so</c><00:23:06.480><c> they</c><00:23:06.659><c> are</c><00:23:06.780><c> not</c><00:23:06.900><c> meant</c><00:23:07.140><c> to</c><00:23:07.200><c> stay</c><00:23:07.440><c> in</c>

00:23:07.610 --> 00:23:07.620 align:start position:0%
object so they are not meant to stay in
 

00:23:07.620 --> 00:23:09.350 align:start position:0%
object so they are not meant to stay in
a<00:23:07.740><c> state</c><00:23:07.919><c> for</c><00:23:08.159><c> a</c><00:23:08.280><c> long</c><00:23:08.400><c> time</c><00:23:08.580><c> and</c><00:23:09.059><c> if</c><00:23:09.179><c> for</c>

00:23:09.350 --> 00:23:09.360 align:start position:0%
a state for a long time and if for
 

00:23:09.360 --> 00:23:10.669 align:start position:0%
a state for a long time and if for
whatever<00:23:09.419><c> reason</c><00:23:09.659><c> you</c><00:23:09.840><c> decided</c><00:23:10.200><c> to</c><00:23:10.320><c> keep</c><00:23:10.500><c> the</c>

00:23:10.669 --> 00:23:10.679 align:start position:0%
whatever reason you decided to keep the
 

00:23:10.679 --> 00:23:12.649 align:start position:0%
whatever reason you decided to keep the
state<00:23:10.860><c> there</c><00:23:11.159><c> for</c><00:23:11.520><c> uh</c><00:23:12.059><c> quite</c><00:23:12.240><c> long</c><00:23:12.419><c> that's</c>

00:23:12.649 --> 00:23:12.659 align:start position:0%
state there for uh quite long that's
 

00:23:12.659 --> 00:23:13.789 align:start position:0%
state there for uh quite long that's
your<00:23:12.780><c> responsibility</c><00:23:13.200><c> to</c><00:23:13.440><c> be</c><00:23:13.559><c> able</c><00:23:13.679><c> to</c>

00:23:13.789 --> 00:23:13.799 align:start position:0%
your responsibility to be able to
 

00:23:13.799 --> 00:23:15.529 align:start position:0%
your responsibility to be able to
provide<00:23:14.039><c> this</c><00:23:14.220><c> proof</c><00:23:14.520><c> to</c><00:23:14.700><c> uh</c><00:23:15.179><c> the</c><00:23:15.419><c> network</c>

00:23:15.529 --> 00:23:15.539 align:start position:0%
provide this proof to uh the network
 

00:23:15.539 --> 00:23:17.090 align:start position:0%
provide this proof to uh the network
it's<00:23:15.840><c> not</c><00:23:16.020><c> Network's</c><00:23:16.380><c> responsibility</c><00:23:16.860><c> to</c>

00:23:17.090 --> 00:23:17.100 align:start position:0%
it's not Network's responsibility to
 

00:23:17.100 --> 00:23:18.830 align:start position:0%
it's not Network's responsibility to
keep<00:23:17.220><c> it</c><00:23:17.400><c> for</c><00:23:17.580><c> more</c><00:23:18.120><c> than</c><00:23:18.240><c> let's</c><00:23:18.419><c> say</c><00:23:18.539><c> six</c>

00:23:18.830 --> 00:23:18.840 align:start position:0%
keep it for more than let's say six
 

00:23:18.840 --> 00:23:21.490 align:start position:0%
keep it for more than let's say six
months<00:23:19.080><c> or</c><00:23:19.200><c> so</c>

00:23:21.490 --> 00:23:21.500 align:start position:0%
 
 

00:23:21.500 --> 00:23:24.679 align:start position:0%
 
thank<00:23:22.500><c> you</c>

