WEBVTT
Kind: captions
Language: en

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

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

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

00:00:16.630 --> 00:00:16.640 align:start position:0%
 
 

00:00:16.640 --> 00:00:19.550 align:start position:0%
 
so<00:00:17.640><c> looking</c><00:00:17.820><c> forward</c><00:00:18.000><c> to</c><00:00:18.119><c> the</c><00:00:18.359><c> next</c><00:00:18.539><c> talk</c><00:00:18.779><c> uh</c>

00:00:19.550 --> 00:00:19.560 align:start position:0%
so looking forward to the next talk uh
 

00:00:19.560 --> 00:00:22.070 align:start position:0%
so looking forward to the next talk uh
who<00:00:19.859><c> is</c><00:00:20.039><c> who</c><00:00:20.220><c> is</c><00:00:20.400><c> here</c><00:00:20.460><c> for</c><00:00:20.640><c> for</c><00:00:20.880><c> zkps</c>

00:00:22.070 --> 00:00:22.080 align:start position:0%
who is who is here for for zkps
 

00:00:22.080 --> 00:00:24.410 align:start position:0%
who is who is here for for zkps
who<00:00:22.439><c> thinks</c><00:00:23.039><c> who</c><00:00:23.400><c> thinks</c>

00:00:24.410 --> 00:00:24.420 align:start position:0%
who thinks who thinks
 

00:00:24.420 --> 00:00:26.810 align:start position:0%
who thinks who thinks
zkps<00:00:25.199><c> are</c><00:00:25.560><c> the</c><00:00:25.740><c> greatest</c><00:00:25.859><c> things</c><00:00:26.160><c> that</c>

00:00:26.810 --> 00:00:26.820 align:start position:0%
zkps are the greatest things that
 

00:00:26.820 --> 00:00:29.630 align:start position:0%
zkps are the greatest things that
blockchains<00:00:27.720><c> uh</c><00:00:28.380><c> ever</c><00:00:28.560><c> enabled</c><00:00:29.039><c> in</c><00:00:29.220><c> the</c><00:00:29.460><c> space</c>

00:00:29.630 --> 00:00:29.640 align:start position:0%
blockchains uh ever enabled in the space
 

00:00:29.640 --> 00:00:34.430 align:start position:0%
blockchains uh ever enabled in the space
in<00:00:30.180><c> terms</c><00:00:30.359><c> of</c><00:00:30.480><c> getting</c><00:00:30.960><c> it</c><00:00:31.140><c> funded</c>

00:00:34.430 --> 00:00:34.440 align:start position:0%
 
 

00:00:34.440 --> 00:00:36.410 align:start position:0%
 
all<00:00:34.980><c> right</c><00:00:35.040><c> all</c><00:00:35.280><c> right</c><00:00:35.460><c> that's</c><00:00:36.059><c> just</c><00:00:36.239><c> my</c>

00:00:36.410 --> 00:00:36.420 align:start position:0%
all right all right that's just my
 

00:00:36.420 --> 00:00:38.389 align:start position:0%
all right all right that's just my
personal<00:00:36.540><c> opinion</c><00:00:36.960><c> though</c><00:00:37.200><c> but</c><00:00:37.380><c> I</c><00:00:37.559><c> think</c><00:00:37.680><c> zkps</c>

00:00:38.389 --> 00:00:38.399 align:start position:0%
personal opinion though but I think zkps
 

00:00:38.399 --> 00:00:39.650 align:start position:0%
personal opinion though but I think zkps
are<00:00:38.640><c> actually</c><00:00:38.760><c> the</c><00:00:39.059><c> the</c><00:00:39.180><c> nice</c><00:00:39.360><c> thing</c><00:00:39.480><c> that</c>

00:00:39.650 --> 00:00:39.660 align:start position:0%
are actually the the nice thing that
 

00:00:39.660 --> 00:00:41.150 align:start position:0%
are actually the the nice thing that
nobody<00:00:39.960><c> expected</c><00:00:40.440><c> coming</c><00:00:40.920><c> from</c>

00:00:41.150 --> 00:00:41.160 align:start position:0%
nobody expected coming from
 

00:00:41.160 --> 00:00:43.430 align:start position:0%
nobody expected coming from
cryptocurrencies<00:00:41.879><c> but</c><00:00:42.120><c> they</c><00:00:42.239><c> still</c><00:00:42.420><c> happened</c>

00:00:43.430 --> 00:00:43.440 align:start position:0%
cryptocurrencies but they still happened
 

00:00:43.440 --> 00:00:46.430 align:start position:0%
cryptocurrencies but they still happened
uh<00:00:44.100><c> so</c><00:00:44.399><c> next</c><00:00:44.820><c> up</c><00:00:45.000><c> uh</c><00:00:45.480><c> we</c><00:00:45.719><c> have</c><00:00:45.840><c> Henry</c><00:00:46.260><c> de</c>

00:00:46.430 --> 00:00:46.440 align:start position:0%
uh so next up uh we have Henry de
 

00:00:46.440 --> 00:00:48.350 align:start position:0%
uh so next up uh we have Henry de
valence<00:00:46.739><c> uh</c><00:00:47.160><c> the</c><00:00:47.280><c> founder</c><00:00:47.520><c> of</c><00:00:47.640><c> penumbra</c><00:00:48.120><c> and</c>

00:00:48.350 --> 00:00:48.360 align:start position:0%
valence uh the founder of penumbra and
 

00:00:48.360 --> 00:00:51.229 align:start position:0%
valence uh the founder of penumbra and
he's<00:00:48.480><c> going</c><00:00:48.719><c> to</c><00:00:48.840><c> uh</c><00:00:49.200><c> to</c><00:00:49.500><c> be</c><00:00:49.620><c> talking</c><00:00:49.739><c> about</c>

00:00:51.229 --> 00:00:51.239 align:start position:0%
he's going to uh to be talking about
 

00:00:51.239 --> 00:00:54.049 align:start position:0%
he's going to uh to be talking about
um<00:00:51.300><c> their</c><00:00:51.600><c> experience</c><00:00:51.960><c> of</c><00:00:52.200><c> building</c><00:00:52.879><c> uh</c><00:00:53.879><c> a</c>

00:00:54.049 --> 00:00:54.059 align:start position:0%
um their experience of building uh a
 

00:00:54.059 --> 00:00:55.850 align:start position:0%
um their experience of building uh a
privacy<00:00:54.420><c> oh</c><00:00:54.660><c> they</c><00:00:54.960><c> just</c><00:00:55.079><c> disappeared</c><00:00:55.680><c> in</c>

00:00:55.850 --> 00:00:55.860 align:start position:0%
privacy oh they just disappeared in
 

00:00:55.860 --> 00:00:57.590 align:start position:0%
privacy oh they just disappeared in
front<00:00:55.980><c> of</c><00:00:56.100><c> my</c><00:00:56.280><c> eyes</c><00:00:56.399><c> because</c><00:00:56.760><c> the</c><00:00:57.239><c> talk</c><00:00:57.360><c> is</c>

00:00:57.590 --> 00:00:57.600 align:start position:0%
front of my eyes because the talk is
 

00:00:57.600 --> 00:01:01.130 align:start position:0%
front of my eyes because the talk is
starting<00:00:57.719><c> now</c><00:00:57.960><c> but</c><00:00:58.620><c> uh</c><00:00:59.360><c> Henry's</c><00:01:00.360><c> building</c><00:01:00.539><c> uh</c>

00:01:01.130 --> 00:01:01.140 align:start position:0%
starting now but uh Henry's building uh
 

00:01:01.140 --> 00:01:04.850 align:start position:0%
starting now but uh Henry's building uh
privacy<00:01:01.920><c> preserving</c><00:01:02.340><c> decks</c><00:01:02.760><c> uh</c><00:01:03.660><c> using</c><00:01:04.140><c> zkp</c><00:01:04.619><c> so</c>

00:01:04.850 --> 00:01:04.860 align:start position:0%
privacy preserving decks uh using zkp so
 

00:01:04.860 --> 00:01:06.890 align:start position:0%
privacy preserving decks uh using zkp so
please<00:01:04.979><c> put</c><00:01:05.159><c> chance</c><00:01:05.339><c> together</c><00:01:05.580><c> for</c><00:01:05.880><c> Henry</c><00:01:06.240><c> all</c>

00:01:06.890 --> 00:01:06.900 align:start position:0%
please put chance together for Henry all
 

00:01:06.900 --> 00:01:07.730 align:start position:0%
please put chance together for Henry all
right

00:01:07.730 --> 00:01:07.740 align:start position:0%
right
 

00:01:07.740 --> 00:01:10.490 align:start position:0%
right
um<00:01:07.860><c> yeah</c><00:01:08.340><c> well</c><00:01:08.700><c> uh</c><00:01:09.060><c> great</c><00:01:09.299><c> to</c><00:01:09.420><c> see</c><00:01:09.479><c> everyone</c>

00:01:10.490 --> 00:01:10.500 align:start position:0%
um yeah well uh great to see everyone
 

00:01:10.500 --> 00:01:12.950 align:start position:0%
um yeah well uh great to see everyone
um<00:01:10.560><c> so</c><00:01:11.400><c> I'm</c><00:01:11.939><c> gonna</c><00:01:12.119><c> be</c><00:01:12.240><c> giving</c><00:01:12.360><c> a</c><00:01:12.540><c> talk</c><00:01:12.720><c> about</c>

00:01:12.950 --> 00:01:12.960 align:start position:0%
um so I'm gonna be giving a talk about
 

00:01:12.960 --> 00:01:15.230 align:start position:0%
um so I'm gonna be giving a talk about
how<00:01:13.439><c> to</c><00:01:13.500><c> build</c><00:01:13.680><c> a</c><00:01:13.860><c> private</c><00:01:14.100><c> decks</c><00:01:14.520><c> however</c>

00:01:15.230 --> 00:01:15.240 align:start position:0%
how to build a private decks however
 

00:01:15.240 --> 00:01:17.870 align:start position:0%
how to build a private decks however
just<00:01:15.600><c> as</c><00:01:15.780><c> a</c><00:01:15.960><c> kind</c><00:01:16.080><c> of</c><00:01:16.200><c> a</c><00:01:16.260><c> pre-warning</c>

00:01:17.870 --> 00:01:17.880 align:start position:0%
just as a kind of a pre-warning
 

00:01:17.880 --> 00:01:19.789 align:start position:0%
just as a kind of a pre-warning
um<00:01:17.939><c> if</c><00:01:18.360><c> you're</c><00:01:18.479><c> really</c><00:01:18.659><c> interested</c><00:01:19.080><c> in</c><00:01:19.380><c> all</c><00:01:19.740><c> of</c>

00:01:19.789 --> 00:01:19.799 align:start position:0%
um if you're really interested in all of
 

00:01:19.799 --> 00:01:22.910 align:start position:0%
um if you're really interested in all of
the<00:01:19.979><c> sort</c><00:01:20.159><c> of</c><00:01:20.280><c> details</c><00:01:20.820><c> of</c><00:01:21.299><c> ZK</c><00:01:21.900><c> proofs</c><00:01:22.380><c> that</c>

00:01:22.910 --> 00:01:22.920 align:start position:0%
the sort of details of ZK proofs that
 

00:01:22.920 --> 00:01:24.350 align:start position:0%
the sort of details of ZK proofs that
actually<00:01:23.100><c> won't</c><00:01:23.400><c> be</c><00:01:23.580><c> covered</c><00:01:23.880><c> in</c><00:01:24.000><c> the</c><00:01:24.180><c> talk</c>

00:01:24.350 --> 00:01:24.360 align:start position:0%
actually won't be covered in the talk
 

00:01:24.360 --> 00:01:27.710 align:start position:0%
actually won't be covered in the talk
and<00:01:25.320><c> the</c><00:01:25.860><c> reason</c><00:01:25.979><c> is</c><00:01:26.280><c> that</c><00:01:26.520><c> I</c><00:01:26.820><c> think</c><00:01:26.939><c> part</c><00:01:27.540><c> of</c>

00:01:27.710 --> 00:01:27.720 align:start position:0%
and the reason is that I think part of
 

00:01:27.720 --> 00:01:32.090 align:start position:0%
and the reason is that I think part of
the<00:01:28.020><c> problem</c><00:01:28.200><c> with</c><00:01:28.740><c> deploying</c><00:01:29.400><c> zkps</c><00:01:30.380><c> for</c><00:01:31.380><c> uh</c>

00:01:32.090 --> 00:01:32.100 align:start position:0%
the problem with deploying zkps for uh
 

00:01:32.100 --> 00:01:34.789 align:start position:0%
the problem with deploying zkps for uh
privacy<00:01:32.700><c> rather</c><00:01:33.540><c> than</c><00:01:33.720><c> just</c><00:01:33.960><c> for</c><00:01:34.200><c> scalability</c>

00:01:34.789 --> 00:01:34.799 align:start position:0%
privacy rather than just for scalability
 

00:01:34.799 --> 00:01:37.010 align:start position:0%
privacy rather than just for scalability
is<00:01:35.460><c> that</c><00:01:35.640><c> there's</c><00:01:35.880><c> some</c><00:01:36.119><c> interesting</c><00:01:36.659><c> and</c>

00:01:37.010 --> 00:01:37.020 align:start position:0%
is that there's some interesting and
 

00:01:37.020 --> 00:01:39.770 align:start position:0%
is that there's some interesting and
fundamental<00:01:37.740><c> challenges</c><00:01:38.360><c> in</c><00:01:39.360><c> the</c><00:01:39.540><c> state</c>

00:01:39.770 --> 00:01:39.780 align:start position:0%
fundamental challenges in the state
 

00:01:39.780 --> 00:01:41.810 align:start position:0%
fundamental challenges in the state
model<00:01:40.079><c> so</c><00:01:40.500><c> that's</c><00:01:40.619><c> actually</c><00:01:40.860><c> sort</c><00:01:41.340><c> of</c><00:01:41.520><c> the</c>

00:01:41.810 --> 00:01:41.820 align:start position:0%
model so that's actually sort of the
 

00:01:41.820 --> 00:01:44.149 align:start position:0%
model so that's actually sort of the
whole<00:01:42.000><c> summary</c><00:01:42.299><c> of</c><00:01:42.479><c> the</c><00:01:42.600><c> talk</c><00:01:42.780><c> so</c><00:01:43.380><c> to</c><00:01:43.979><c> get</c>

00:01:44.149 --> 00:01:44.159 align:start position:0%
whole summary of the talk so to get
 

00:01:44.159 --> 00:01:46.730 align:start position:0%
whole summary of the talk so to get
started

00:01:46.730 --> 00:01:46.740 align:start position:0%
 
 

00:01:46.740 --> 00:01:49.490 align:start position:0%
 
for<00:01:47.640><c> context</c><00:01:48.060><c> so</c><00:01:48.479><c> I'm</c><00:01:48.659><c> working</c><00:01:49.020><c> on</c><00:01:49.200><c> a</c><00:01:49.380><c> project</c>

00:01:49.490 --> 00:01:49.500 align:start position:0%
for context so I'm working on a project
 

00:01:49.500 --> 00:01:52.249 align:start position:0%
for context so I'm working on a project
called<00:01:49.860><c> penumbra</c><00:01:50.399><c> what</c><00:01:51.299><c> that</c><00:01:51.420><c> is</c><00:01:51.600><c> is</c><00:01:51.960><c> a</c>

00:01:52.249 --> 00:01:52.259 align:start position:0%
called penumbra what that is is a
 

00:01:52.259 --> 00:01:55.370 align:start position:0%
called penumbra what that is is a
private<00:01:52.680><c> proof</c><00:01:53.100><c> of</c><00:01:53.159><c> stake</c><00:01:53.460><c> L1</c><00:01:54.000><c> inside</c><00:01:54.960><c> of</c><00:01:55.259><c> that</c>

00:01:55.370 --> 00:01:55.380 align:start position:0%
private proof of stake L1 inside of that
 

00:01:55.380 --> 00:01:57.950 align:start position:0%
private proof of stake L1 inside of that
L1<00:01:55.740><c> we</c><00:01:56.280><c> have</c><00:01:56.460><c> an</c><00:01:56.820><c> interchange</c><00:01:57.240><c> shielded</c><00:01:57.780><c> pool</c>

00:01:57.950 --> 00:01:57.960 align:start position:0%
L1 we have an interchange shielded pool
 

00:01:57.960 --> 00:02:00.649 align:start position:0%
L1 we have an interchange shielded pool
so<00:01:58.500><c> you</c><00:01:58.680><c> can</c><00:01:58.799><c> take</c><00:01:58.860><c> any</c><00:01:59.100><c> IBC</c><00:01:59.640><c> compatible</c><00:02:00.180><c> asset</c>

00:02:00.649 --> 00:02:00.659 align:start position:0%
so you can take any IBC compatible asset
 

00:02:00.659 --> 00:02:03.889 align:start position:0%
so you can take any IBC compatible asset
moving<00:02:01.619><c> into</c><00:02:01.799><c> this</c><00:02:02.159><c> chain</c><00:02:02.700><c> and</c><00:02:03.299><c> that's</c><00:02:03.600><c> the</c>

00:02:03.889 --> 00:02:03.899 align:start position:0%
moving into this chain and that's the
 

00:02:03.899 --> 00:02:06.350 align:start position:0%
moving into this chain and that's the
Privacy<00:02:04.619><c> boundary</c><00:02:05.040><c> so</c><00:02:05.340><c> as</c><00:02:05.520><c> it</c><00:02:05.700><c> moves</c><00:02:05.939><c> in</c><00:02:06.060><c> it's</c>

00:02:06.350 --> 00:02:06.360 align:start position:0%
Privacy boundary so as it moves in it's
 

00:02:06.360 --> 00:02:08.270 align:start position:0%
Privacy boundary so as it moves in it's
recorded<00:02:06.780><c> in</c><00:02:06.899><c> this</c><00:02:07.020><c> shielded</c><00:02:07.380><c> pool</c>

00:02:08.270 --> 00:02:08.280 align:start position:0%
recorded in this shielded pool
 

00:02:08.280 --> 00:02:10.910 align:start position:0%
recorded in this shielded pool
and<00:02:09.000><c> the</c><00:02:09.420><c> cool</c><00:02:09.539><c> feature</c><00:02:09.959><c> that</c><00:02:10.080><c> we</c><00:02:10.259><c> have</c><00:02:10.380><c> is</c>

00:02:10.910 --> 00:02:10.920 align:start position:0%
and the cool feature that we have is
 

00:02:10.920 --> 00:02:13.550 align:start position:0%
and the cool feature that we have is
this<00:02:11.580><c> private</c><00:02:12.120><c> Dax</c><00:02:12.420><c> that's</c><00:02:12.780><c> integrated</c><00:02:13.260><c> with</c>

00:02:13.550 --> 00:02:13.560 align:start position:0%
this private Dax that's integrated with
 

00:02:13.560 --> 00:02:15.729 align:start position:0%
this private Dax that's integrated with
that<00:02:13.739><c> shielded</c><00:02:14.099><c> pool</c><00:02:14.280><c> on</c><00:02:15.060><c> top</c><00:02:15.180><c> of</c><00:02:15.420><c> that</c>

00:02:15.729 --> 00:02:15.739 align:start position:0%
that shielded pool on top of that
 

00:02:15.739 --> 00:02:18.350 align:start position:0%
that shielded pool on top of that
privacy<00:02:16.739><c> preserving</c><00:02:17.220><c> base</c><00:02:17.459><c> layer</c>

00:02:18.350 --> 00:02:18.360 align:start position:0%
privacy preserving base layer
 

00:02:18.360 --> 00:02:20.030 align:start position:0%
privacy preserving base layer
however

00:02:20.030 --> 00:02:20.040 align:start position:0%
however
 

00:02:20.040 --> 00:02:22.970 align:start position:0%
however
um I'm<00:02:20.700><c> not</c><00:02:20.940><c> sort</c><00:02:21.300><c> of</c><00:02:21.360><c> here</c><00:02:21.540><c> to</c><00:02:21.780><c> just</c><00:02:22.020><c> you</c><00:02:22.379><c> know</c>

00:02:22.970 --> 00:02:22.980 align:start position:0%
um I'm not sort of here to just you know
 

00:02:22.980 --> 00:02:25.190 align:start position:0%
um I'm not sort of here to just you know
chill<00:02:23.459><c> the</c><00:02:23.760><c> project</c><00:02:24.180><c> I'm</c><00:02:24.540><c> here</c><00:02:24.780><c> to</c><00:02:24.900><c> talk</c><00:02:25.020><c> about</c>

00:02:25.190 --> 00:02:25.200 align:start position:0%
chill the project I'm here to talk about
 

00:02:25.200 --> 00:02:26.869 align:start position:0%
chill the project I'm here to talk about
the<00:02:25.500><c> kind</c><00:02:25.680><c> of</c><00:02:25.739><c> technical</c><00:02:26.040><c> aspects</c><00:02:26.580><c> and</c>

00:02:26.869 --> 00:02:26.879 align:start position:0%
the kind of technical aspects and
 

00:02:26.879 --> 00:02:29.089 align:start position:0%
the kind of technical aspects and
specifically<00:02:27.360><c> what</c><00:02:28.020><c> are</c><00:02:28.200><c> the</c><00:02:28.319><c> challenges</c><00:02:28.739><c> to</c>

00:02:29.089 --> 00:02:29.099 align:start position:0%
specifically what are the challenges to
 

00:02:29.099 --> 00:02:31.070 align:start position:0%
specifically what are the challenges to
actually<00:02:29.340><c> building</c><00:02:29.700><c> this</c><00:02:30.060><c> system</c>

00:02:31.070 --> 00:02:31.080 align:start position:0%
actually building this system
 

00:02:31.080 --> 00:02:35.330 align:start position:0%
actually building this system
so<00:02:31.680><c> the</c><00:02:32.220><c> first</c><00:02:32.400><c> challenge</c><00:02:32.700><c> is</c><00:02:33.480><c> oh</c><00:02:33.840><c> sorry</c><00:02:34.260><c> uh</c><00:02:35.099><c> so</c>

00:02:35.330 --> 00:02:35.340 align:start position:0%
so the first challenge is oh sorry uh so
 

00:02:35.340 --> 00:02:37.729 align:start position:0%
so the first challenge is oh sorry uh so
just<00:02:35.819><c> as</c><00:02:36.000><c> as</c><00:02:36.300><c> a</c><00:02:36.599><c> bit</c><00:02:36.840><c> of</c><00:02:37.020><c> motivation</c><00:02:37.379><c> right</c>

00:02:37.729 --> 00:02:37.739 align:start position:0%
just as as a bit of motivation right
 

00:02:37.739 --> 00:02:39.710 align:start position:0%
just as as a bit of motivation right
like<00:02:38.220><c> why</c><00:02:38.580><c> do</c><00:02:38.760><c> we</c><00:02:38.879><c> actually</c><00:02:39.060><c> care</c><00:02:39.420><c> about</c>

00:02:39.710 --> 00:02:39.720 align:start position:0%
like why do we actually care about
 

00:02:39.720 --> 00:02:40.970 align:start position:0%
like why do we actually care about
having

00:02:40.970 --> 00:02:40.980 align:start position:0%
having
 

00:02:40.980 --> 00:02:44.089 align:start position:0%
having
um a<00:02:41.580><c> private</c><00:02:41.879><c> decks</c><00:02:42.239><c> in</c><00:02:42.480><c> the</c><00:02:42.540><c> first</c><00:02:42.660><c> place</c>

00:02:44.089 --> 00:02:44.099 align:start position:0%
um a private decks in the first place
 

00:02:44.099 --> 00:02:46.430 align:start position:0%
um a private decks in the first place
um<00:02:44.160><c> the</c><00:02:44.519><c> the</c><00:02:44.700><c> thought</c><00:02:44.940><c> is</c><00:02:45.180><c> that</c><00:02:45.480><c> every</c><00:02:46.140><c> Market</c>

00:02:46.430 --> 00:02:46.440 align:start position:0%
um the the thought is that every Market
 

00:02:46.440 --> 00:02:49.250 align:start position:0%
um the the thought is that every Market
is<00:02:47.340><c> also</c><00:02:47.700><c> a</c><00:02:47.879><c> marketing</c><00:02:48.360><c> information</c><00:02:48.660><c> when</c><00:02:49.140><c> we</c>

00:02:49.250 --> 00:02:49.260 align:start position:0%
is also a marketing information when we
 

00:02:49.260 --> 00:02:50.869 align:start position:0%
is also a marketing information when we
talk<00:02:49.379><c> about</c><00:02:49.560><c> price</c><00:02:49.860><c> Discovery</c><00:02:50.459><c> for</c><00:02:50.640><c> instance</c>

00:02:50.869 --> 00:02:50.879 align:start position:0%
talk about price Discovery for instance
 

00:02:50.879 --> 00:02:52.790 align:start position:0%
talk about price Discovery for instance
you<00:02:51.420><c> can</c><00:02:51.480><c> think</c><00:02:51.660><c> of</c><00:02:51.780><c> that</c><00:02:51.959><c> as</c><00:02:52.140><c> being</c><00:02:52.319><c> a</c><00:02:52.560><c> kind</c><00:02:52.680><c> of</c>

00:02:52.790 --> 00:02:52.800 align:start position:0%
you can think of that as being a kind of
 

00:02:52.800 --> 00:02:55.910 align:start position:0%
you can think of that as being a kind of
decentralized<00:02:53.640><c> computational</c><00:02:54.599><c> process</c><00:02:55.080><c> that</c>

00:02:55.910 --> 00:02:55.920 align:start position:0%
decentralized computational process that
 

00:02:55.920 --> 00:02:57.530 align:start position:0%
decentralized computational process that
as<00:02:56.160><c> a</c><00:02:56.340><c> side</c><00:02:56.459><c> effect</c><00:02:56.640><c> produces</c><00:02:57.239><c> some</c>

00:02:57.530 --> 00:02:57.540 align:start position:0%
as a side effect produces some
 

00:02:57.540 --> 00:02:59.410 align:start position:0%
as a side effect produces some
information<00:02:57.780><c> about</c><00:02:58.379><c> prices</c>

00:02:59.410 --> 00:02:59.420 align:start position:0%
information about prices
 

00:02:59.420 --> 00:03:02.270 align:start position:0%
information about prices
but<00:03:00.420><c> that</c><00:03:00.599><c> means</c><00:03:00.900><c> that</c><00:03:01.140><c> information</c><00:03:01.379><c> leaks</c>

00:03:02.270 --> 00:03:02.280 align:start position:0%
but that means that information leaks
 

00:03:02.280 --> 00:03:06.350 align:start position:0%
but that means that information leaks
are<00:03:03.120><c> value</c><00:03:03.420><c> leaks</c><00:03:04.400><c> when</c><00:03:05.400><c> people</c><00:03:05.580><c> talk</c><00:03:06.120><c> about</c>

00:03:06.350 --> 00:03:06.360 align:start position:0%
are value leaks when people talk about
 

00:03:06.360 --> 00:03:08.690 align:start position:0%
are value leaks when people talk about
Mev<00:03:07.140><c> and</c><00:03:07.379><c> have</c><00:03:07.560><c> these</c><00:03:07.860><c> you</c><00:03:08.040><c> know</c><00:03:08.099><c> dashboards</c>

00:03:08.690 --> 00:03:08.700 align:start position:0%
Mev and have these you know dashboards
 

00:03:08.700 --> 00:03:10.729 align:start position:0%
Mev and have these you know dashboards
of<00:03:08.879><c> here's</c><00:03:09.239><c> how</c><00:03:09.420><c> much</c><00:03:09.540><c> value</c><00:03:09.780><c> is</c><00:03:10.080><c> extracted</c>

00:03:10.729 --> 00:03:10.739 align:start position:0%
of here's how much value is extracted
 

00:03:10.739 --> 00:03:12.410 align:start position:0%
of here's how much value is extracted
from<00:03:11.099><c> people</c><00:03:11.340><c> who</c><00:03:11.580><c> are</c><00:03:11.640><c> trying</c><00:03:11.819><c> to</c><00:03:11.940><c> do</c><00:03:12.060><c> trading</c>

00:03:12.410 --> 00:03:12.420 align:start position:0%
from people who are trying to do trading
 

00:03:12.420 --> 00:03:14.330 align:start position:0%
from people who are trying to do trading
really<00:03:13.080><c> that's</c><00:03:13.379><c> just</c><00:03:13.620><c> the</c><00:03:13.800><c> sort</c><00:03:13.980><c> of</c><00:03:14.099><c> first</c>

00:03:14.330 --> 00:03:14.340 align:start position:0%
really that's just the sort of first
 

00:03:14.340 --> 00:03:17.030 align:start position:0%
really that's just the sort of first
order<00:03:14.580><c> symptom</c><00:03:15.000><c> of</c><00:03:15.900><c> this</c><00:03:16.140><c> problem</c><00:03:16.379><c> it's</c><00:03:16.860><c> not</c>

00:03:17.030 --> 00:03:17.040 align:start position:0%
order symptom of this problem it's not
 

00:03:17.040 --> 00:03:20.750 align:start position:0%
order symptom of this problem it's not
even<00:03:17.459><c> if</c><00:03:17.700><c> you</c><00:03:17.940><c> fixed</c><00:03:18.599><c> Mev</c><00:03:19.140><c> in</c><00:03:19.440><c> some</c><00:03:19.560><c> way</c>

00:03:20.750 --> 00:03:20.760 align:start position:0%
even if you fixed Mev in some way
 

00:03:20.760 --> 00:03:21.589 align:start position:0%
even if you fixed Mev in some way
um

00:03:21.589 --> 00:03:21.599 align:start position:0%
um
 

00:03:21.599 --> 00:03:24.530 align:start position:0%
um
you<00:03:22.260><c> still</c><00:03:22.500><c> have</c><00:03:22.680><c> the</c><00:03:22.860><c> problem</c><00:03:23.099><c> that</c><00:03:23.640><c> you're</c>

00:03:24.530 --> 00:03:24.540 align:start position:0%
you still have the problem that you're
 

00:03:24.540 --> 00:03:26.449 align:start position:0%
you still have the problem that you're
you're<00:03:24.780><c> leaking</c><00:03:25.140><c> information</c><00:03:25.440><c> about</c><00:03:26.040><c> what</c>

00:03:26.449 --> 00:03:26.459 align:start position:0%
you're leaking information about what
 

00:03:26.459 --> 00:03:28.490 align:start position:0%
you're leaking information about what
trades<00:03:26.819><c> are</c><00:03:26.940><c> doing</c><00:03:27.180><c> what</c><00:03:27.959><c> trades</c><00:03:28.319><c> your</c>

00:03:28.490 --> 00:03:28.500 align:start position:0%
trades are doing what trades your
 

00:03:28.500 --> 00:03:30.589 align:start position:0%
trades are doing what trades your
account<00:03:28.680><c> has</c><00:03:29.099><c> done</c><00:03:29.280><c> your</c><00:03:29.700><c> entire</c><00:03:29.940><c> history</c><00:03:30.239><c> of</c>

00:03:30.589 --> 00:03:30.599 align:start position:0%
account has done your entire history of
 

00:03:30.599 --> 00:03:32.809 align:start position:0%
account has done your entire history of
your<00:03:30.720><c> whole</c><00:03:30.840><c> trading</c><00:03:31.260><c> strategy</c><00:03:31.680><c> all</c><00:03:32.459><c> of</c><00:03:32.580><c> that</c>

00:03:32.809 --> 00:03:32.819 align:start position:0%
your whole trading strategy all of that
 

00:03:32.819 --> 00:03:34.910 align:start position:0%
your whole trading strategy all of that
information<00:03:33.000><c> is</c><00:03:33.540><c> valuable</c><00:03:33.900><c> too</c><00:03:34.200><c> it's</c><00:03:34.739><c> just</c>

00:03:34.910 --> 00:03:34.920 align:start position:0%
information is valuable too it's just
 

00:03:34.920 --> 00:03:36.770 align:start position:0%
information is valuable too it's just
harder<00:03:35.159><c> to</c><00:03:35.280><c> make</c><00:03:35.400><c> a</c><00:03:35.580><c> dashboard</c><00:03:35.879><c> of</c><00:03:36.120><c> it</c>

00:03:36.770 --> 00:03:36.780 align:start position:0%
harder to make a dashboard of it
 

00:03:36.780 --> 00:03:39.830 align:start position:0%
harder to make a dashboard of it
so<00:03:37.319><c> the</c><00:03:38.040><c> the</c><00:03:38.159><c> thought</c><00:03:38.459><c> here</c><00:03:38.700><c> is</c><00:03:38.879><c> that</c><00:03:39.180><c> privacy</c>

00:03:39.830 --> 00:03:39.840 align:start position:0%
so the the thought here is that privacy
 

00:03:39.840 --> 00:03:43.009 align:start position:0%
so the the thought here is that privacy
is<00:03:40.080><c> a</c><00:03:40.260><c> really</c><00:03:40.379><c> interesting</c><00:03:40.860><c> thing</c><00:03:41.280><c> for</c><00:03:42.239><c> uh</c>

00:03:43.009 --> 00:03:43.019 align:start position:0%
is a really interesting thing for uh
 

00:03:43.019 --> 00:03:45.830 align:start position:0%
is a really interesting thing for uh
trading<00:03:43.500><c> because</c><00:03:44.280><c> trading</c><00:03:45.239><c> is</c><00:03:45.420><c> a</c><00:03:45.540><c> context</c>

00:03:45.830 --> 00:03:45.840 align:start position:0%
trading because trading is a context
 

00:03:45.840 --> 00:03:47.570 align:start position:0%
trading because trading is a context
where<00:03:46.140><c> having</c><00:03:46.440><c> privacy</c><00:03:46.980><c> allows</c><00:03:47.340><c> you</c><00:03:47.400><c> to</c>

00:03:47.570 --> 00:03:47.580 align:start position:0%
where having privacy allows you to
 

00:03:47.580 --> 00:03:50.390 align:start position:0%
where having privacy allows you to
unlock<00:03:47.819><c> greater</c><00:03:48.540><c> Capital</c><00:03:48.720><c> efficiency</c><00:03:49.379><c> and</c><00:03:50.220><c> as</c>

00:03:50.390 --> 00:03:50.400 align:start position:0%
unlock greater Capital efficiency and as
 

00:03:50.400 --> 00:03:51.770 align:start position:0%
unlock greater Capital efficiency and as
somebody<00:03:50.580><c> who's</c><00:03:50.879><c> really</c><00:03:51.120><c> interested</c><00:03:51.480><c> in</c>

00:03:51.770 --> 00:03:51.780 align:start position:0%
somebody who's really interested in
 

00:03:51.780 --> 00:03:54.289 align:start position:0%
somebody who's really interested in
privacy<00:03:52.260><c> you</c><00:03:52.860><c> know</c><00:03:52.920><c> for</c><00:03:53.220><c> its</c><00:03:53.459><c> own</c><00:03:53.519><c> sake</c><00:03:53.760><c> as</c><00:03:54.120><c> a</c>

00:03:54.289 --> 00:03:54.299 align:start position:0%
privacy you know for its own sake as a
 

00:03:54.299 --> 00:03:56.690 align:start position:0%
privacy you know for its own sake as a
value<00:03:54.480><c> as</c><00:03:54.780><c> a</c><00:03:54.900><c> human</c><00:03:55.019><c> right</c><00:03:55.620><c> Etc</c>

00:03:56.690 --> 00:03:56.700 align:start position:0%
value as a human right Etc
 

00:03:56.700 --> 00:03:58.670 align:start position:0%
value as a human right Etc
um<00:03:57.060><c> this</c><00:03:57.599><c> is</c><00:03:57.780><c> a</c><00:03:57.900><c> really</c><00:03:58.019><c> interesting</c><00:03:58.440><c> and</c>

00:03:58.670 --> 00:03:58.680 align:start position:0%
um this is a really interesting and
 

00:03:58.680 --> 00:04:01.009 align:start position:0%
um this is a really interesting and
exciting<00:03:59.159><c> uh</c>

00:04:01.009 --> 00:04:01.019 align:start position:0%
exciting uh
 

00:04:01.019 --> 00:04:03.289 align:start position:0%
exciting uh
opportunity<00:04:01.920><c> because</c><00:04:02.519><c> it</c><00:04:02.819><c> means</c><00:04:03.120><c> that</c>

00:04:03.289 --> 00:04:03.299 align:start position:0%
opportunity because it means that
 

00:04:03.299 --> 00:04:05.390 align:start position:0%
opportunity because it means that
there's<00:04:03.659><c> the</c><00:04:03.900><c> potential</c><00:04:04.319><c> to</c><00:04:04.620><c> build</c><00:04:04.799><c> a</c><00:04:05.040><c> private</c>

00:04:05.390 --> 00:04:05.400 align:start position:0%
there's the potential to build a private
 

00:04:05.400 --> 00:04:07.369 align:start position:0%
there's the potential to build a private
product<00:04:05.580><c> that</c><00:04:06.120><c> can</c><00:04:06.299><c> actually</c><00:04:06.420><c> out</c><00:04:06.840><c> compete</c>

00:04:07.369 --> 00:04:07.379 align:start position:0%
product that can actually out compete
 

00:04:07.379 --> 00:04:10.190 align:start position:0%
product that can actually out compete
the<00:04:07.980><c> non-private</c><00:04:08.700><c> ones</c><00:04:09.060><c> because</c><00:04:09.840><c> it's</c>

00:04:10.190 --> 00:04:10.200 align:start position:0%
the non-private ones because it's
 

00:04:10.200 --> 00:04:12.170 align:start position:0%
the non-private ones because it's
private<00:04:10.620><c> so</c><00:04:10.799><c> we</c><00:04:10.980><c> we</c><00:04:11.099><c> get</c><00:04:11.340><c> out</c><00:04:11.459><c> of</c><00:04:11.640><c> this</c><00:04:11.760><c> mode</c><00:04:12.000><c> of</c>

00:04:12.170 --> 00:04:12.180 align:start position:0%
private so we we get out of this mode of
 

00:04:12.180 --> 00:04:14.390 align:start position:0%
private so we we get out of this mode of
like<00:04:12.360><c> oh</c><00:04:12.659><c> well</c><00:04:12.900><c> we'll</c><00:04:13.260><c> you</c><00:04:13.920><c> know</c><00:04:14.040><c> have</c><00:04:14.220><c> people</c>

00:04:14.390 --> 00:04:14.400 align:start position:0%
like oh well we'll you know have people
 

00:04:14.400 --> 00:04:16.129 align:start position:0%
like oh well we'll you know have people
accept<00:04:14.700><c> all</c><00:04:15.060><c> these</c><00:04:15.239><c> trade-offs</c><00:04:15.720><c> to</c><00:04:15.840><c> use</c><00:04:15.959><c> the</c>

00:04:16.129 --> 00:04:16.139 align:start position:0%
accept all these trade-offs to use the
 

00:04:16.139 --> 00:04:17.750 align:start position:0%
accept all these trade-offs to use the
private<00:04:16.440><c> thing</c><00:04:16.620><c> no</c><00:04:17.220><c> we're</c><00:04:17.400><c> going</c><00:04:17.519><c> to</c><00:04:17.579><c> build</c>

00:04:17.750 --> 00:04:17.760 align:start position:0%
private thing no we're going to build
 

00:04:17.760 --> 00:04:19.370 align:start position:0%
private thing no we're going to build
something<00:04:18.000><c> that's</c><00:04:18.299><c> that's</c><00:04:18.600><c> better</c><00:04:18.959><c> because</c>

00:04:19.370 --> 00:04:19.380 align:start position:0%
something that's that's better because
 

00:04:19.380 --> 00:04:22.550 align:start position:0%
something that's that's better because
it's<00:04:19.620><c> private</c><00:04:20.100><c> so</c><00:04:20.820><c> right</c><00:04:21.239><c> I</c><00:04:22.019><c> said</c><00:04:22.199><c> I</c><00:04:22.320><c> was</c><00:04:22.440><c> going</c>

00:04:22.550 --> 00:04:22.560 align:start position:0%
it's private so right I said I was going
 

00:04:22.560 --> 00:04:25.129 align:start position:0%
it's private so right I said I was going
to<00:04:22.620><c> talk</c><00:04:22.740><c> about</c><00:04:22.860><c> the</c><00:04:23.100><c> challenges</c><00:04:23.720><c> and</c><00:04:24.720><c> the</c>

00:04:25.129 --> 00:04:25.139 align:start position:0%
to talk about the challenges and the
 

00:04:25.139 --> 00:04:26.570 align:start position:0%
to talk about the challenges and the
first<00:04:25.320><c> challenge</c><00:04:25.620><c> which</c><00:04:26.040><c> is</c><00:04:26.220><c> the</c><00:04:26.460><c> most</c>

00:04:26.570 --> 00:04:26.580 align:start position:0%
first challenge which is the most
 

00:04:26.580 --> 00:04:28.930 align:start position:0%
first challenge which is the most
fundamental<00:04:27.240><c> is</c><00:04:27.780><c> actually</c><00:04:28.139><c> the</c><00:04:28.380><c> state</c><00:04:28.620><c> model</c>

00:04:28.930 --> 00:04:28.940 align:start position:0%
fundamental is actually the state model
 

00:04:28.940 --> 00:04:31.730 align:start position:0%
fundamental is actually the state model
so<00:04:29.940><c> if</c><00:04:30.300><c> we</c><00:04:30.419><c> consider</c><00:04:30.780><c> a</c><00:04:31.080><c> transparent</c><00:04:31.560><c> chain</c>

00:04:31.730 --> 00:04:31.740 align:start position:0%
so if we consider a transparent chain
 

00:04:31.740 --> 00:04:34.790 align:start position:0%
so if we consider a transparent chain
like<00:04:32.040><c> ethereum</c><00:04:32.639><c> the</c><00:04:33.419><c> the</c><00:04:33.660><c> Paradigm</c><00:04:34.320><c> of</c><00:04:34.560><c> that</c>

00:04:34.790 --> 00:04:34.800 align:start position:0%
like ethereum the the Paradigm of that
 

00:04:34.800 --> 00:04:37.550 align:start position:0%
like ethereum the the Paradigm of that
state<00:04:35.100><c> is</c><00:04:35.520><c> global</c><00:04:36.060><c> mutable</c><00:04:36.540><c> State</c><00:04:36.780><c> there's</c>

00:04:37.550 --> 00:04:37.560 align:start position:0%
state is global mutable State there's
 

00:04:37.560 --> 00:04:40.010 align:start position:0%
state is global mutable State there's
like<00:04:37.800><c> one</c><00:04:38.160><c> big</c><00:04:38.340><c> ethereum</c><00:04:38.880><c> state</c><00:04:39.180><c> and</c><00:04:39.840><c> every</c>

00:04:40.010 --> 00:04:40.020 align:start position:0%
like one big ethereum state and every
 

00:04:40.020 --> 00:04:42.350 align:start position:0%
like one big ethereum state and every
transaction<00:04:40.560><c> is</c><00:04:40.860><c> applied</c><00:04:41.220><c> sequentially</c><00:04:41.820><c> and</c>

00:04:42.350 --> 00:04:42.360 align:start position:0%
transaction is applied sequentially and
 

00:04:42.360 --> 00:04:44.150 align:start position:0%
transaction is applied sequentially and
it<00:04:42.540><c> can</c><00:04:42.660><c> do</c><00:04:42.840><c> whatever</c><00:04:43.020><c> mutation</c><00:04:43.620><c> to</c><00:04:43.979><c> that</c>

00:04:44.150 --> 00:04:44.160 align:start position:0%
it can do whatever mutation to that
 

00:04:44.160 --> 00:04:46.310 align:start position:0%
it can do whatever mutation to that
state<00:04:44.400><c> and</c><00:04:45.120><c> as</c><00:04:45.300><c> it's</c><00:04:45.419><c> doing</c><00:04:45.660><c> that</c><00:04:45.900><c> mutation</c>

00:04:46.310 --> 00:04:46.320 align:start position:0%
state and as it's doing that mutation
 

00:04:46.320 --> 00:04:48.110 align:start position:0%
state and as it's doing that mutation
effectively<00:04:47.040><c> it's</c><00:04:47.220><c> taking</c><00:04:47.460><c> like</c><00:04:47.639><c> a</c><00:04:47.820><c> global</c>

00:04:48.110 --> 00:04:48.120 align:start position:0%
effectively it's taking like a global
 

00:04:48.120 --> 00:04:49.790 align:start position:0%
effectively it's taking like a global
lock<00:04:48.300><c> over</c><00:04:48.660><c> the</c><00:04:48.900><c> whole</c><00:04:49.020><c> state</c>

00:04:49.790 --> 00:04:49.800 align:start position:0%
lock over the whole state
 

00:04:49.800 --> 00:04:51.650 align:start position:0%
lock over the whole state
doing<00:04:50.340><c> some</c><00:04:50.580><c> changes</c><00:04:50.880><c> then</c><00:04:51.120><c> you</c><00:04:51.300><c> do</c><00:04:51.419><c> the</c><00:04:51.540><c> next</c>

00:04:51.650 --> 00:04:51.660 align:start position:0%
doing some changes then you do the next
 

00:04:51.660 --> 00:04:53.210 align:start position:0%
doing some changes then you do the next
transaction<00:04:52.080><c> and</c><00:04:52.380><c> so</c><00:04:52.500><c> on</c>

00:04:53.210 --> 00:04:53.220 align:start position:0%
transaction and so on
 

00:04:53.220 --> 00:04:56.330 align:start position:0%
transaction and so on
but<00:04:53.759><c> in</c><00:04:54.180><c> order</c><00:04:54.360><c> to</c><00:04:54.660><c> have</c><00:04:54.900><c> a</c><00:04:55.560><c> shielded</c><00:04:56.100><c> chain</c>

00:04:56.330 --> 00:04:56.340 align:start position:0%
but in order to have a shielded chain
 

00:04:56.340 --> 00:04:59.030 align:start position:0%
but in order to have a shielded chain
where<00:04:57.060><c> the</c><00:04:57.479><c> user</c><00:04:57.780><c> state</c><00:04:57.960><c> is</c><00:04:58.320><c> not</c><00:04:58.680><c> public</c>

00:04:59.030 --> 00:04:59.040 align:start position:0%
where the user state is not public
 

00:04:59.040 --> 00:05:02.090 align:start position:0%
where the user state is not public
information<00:04:59.600><c> we</c><00:05:00.600><c> have</c><00:05:00.780><c> to</c><00:05:00.960><c> change</c><00:05:01.380><c> the</c><00:05:01.919><c> state</c>

00:05:02.090 --> 00:05:02.100 align:start position:0%
information we have to change the state
 

00:05:02.100 --> 00:05:05.270 align:start position:0%
information we have to change the state
model<00:05:02.400><c> to</c><00:05:03.300><c> a</c><00:05:03.540><c> model</c><00:05:03.660><c> of</c><00:05:03.960><c> immutable</c><00:05:04.560><c> composable</c>

00:05:05.270 --> 00:05:05.280 align:start position:0%
model to a model of immutable composable
 

00:05:05.280 --> 00:05:06.830 align:start position:0%
model to a model of immutable composable
State<00:05:05.580><c> this</c><00:05:06.120><c> is</c><00:05:06.360><c> actually</c><00:05:06.479><c> kind</c><00:05:06.660><c> of</c><00:05:06.780><c> like</c>

00:05:06.830 --> 00:05:06.840 align:start position:0%
State this is actually kind of like
 

00:05:06.840 --> 00:05:08.629 align:start position:0%
State this is actually kind of like
historically<00:05:07.740><c> speaking</c><00:05:08.100><c> this</c><00:05:08.280><c> is</c><00:05:08.460><c> sort</c><00:05:08.580><c> of</c>

00:05:08.629 --> 00:05:08.639 align:start position:0%
historically speaking this is sort of
 

00:05:08.639 --> 00:05:11.450 align:start position:0%
historically speaking this is sort of
rewinding<00:05:09.180><c> to</c><00:05:09.419><c> a</c><00:05:09.680><c> Bitcoin</c><00:05:10.680><c> style</c><00:05:10.979><c> sort</c><00:05:11.340><c> of</c>

00:05:11.450 --> 00:05:11.460 align:start position:0%
rewinding to a Bitcoin style sort of
 

00:05:11.460 --> 00:05:15.409 align:start position:0%
rewinding to a Bitcoin style sort of
utxo<00:05:12.000><c> model</c><00:05:12.180><c> but</c><00:05:13.220><c> I</c><00:05:14.220><c> think</c><00:05:14.340><c> utxo</c><00:05:15.060><c> is</c><00:05:15.240><c> a</c><00:05:15.360><c> little</c>

00:05:15.409 --> 00:05:15.419 align:start position:0%
utxo model but I think utxo is a little
 

00:05:15.419 --> 00:05:18.409 align:start position:0%
utxo model but I think utxo is a little
bit<00:05:15.540><c> of</c><00:05:15.720><c> a</c><00:05:15.900><c> loaded</c><00:05:16.620><c> like</c><00:05:17.340><c> baggage</c><00:05:17.759><c> Laden</c><00:05:18.240><c> term</c>

00:05:18.409 --> 00:05:18.419 align:start position:0%
bit of a loaded like baggage Laden term
 

00:05:18.419 --> 00:05:20.629 align:start position:0%
bit of a loaded like baggage Laden term
so<00:05:18.780><c> I</c><00:05:18.900><c> prefer</c><00:05:19.259><c> just</c><00:05:19.500><c> having</c><00:05:19.740><c> this</c><00:05:19.979><c> idea</c><00:05:20.340><c> of</c><00:05:20.460><c> a</c>

00:05:20.629 --> 00:05:20.639 align:start position:0%
so I prefer just having this idea of a
 

00:05:20.639 --> 00:05:23.450 align:start position:0%
so I prefer just having this idea of a
state<00:05:20.820><c> fragment</c><00:05:21.300><c> and</c><00:05:22.199><c> instead</c><00:05:22.620><c> of</c><00:05:22.740><c> having</c><00:05:22.919><c> one</c>

00:05:23.450 --> 00:05:23.460 align:start position:0%
state fragment and instead of having one
 

00:05:23.460 --> 00:05:25.550 align:start position:0%
state fragment and instead of having one
big<00:05:23.699><c> Global</c><00:05:24.240><c> State</c><00:05:24.479><c> we're</c><00:05:24.960><c> going</c><00:05:25.139><c> to</c><00:05:25.199><c> have</c><00:05:25.320><c> a</c>

00:05:25.550 --> 00:05:25.560 align:start position:0%
big Global State we're going to have a
 

00:05:25.560 --> 00:05:27.350 align:start position:0%
big Global State we're going to have a
tree<00:05:25.740><c> of</c><00:05:26.100><c> State</c><00:05:26.340><c> fragments</c><00:05:27.060><c> which</c><00:05:27.240><c> are</c>

00:05:27.350 --> 00:05:27.360 align:start position:0%
tree of State fragments which are
 

00:05:27.360 --> 00:05:29.689 align:start position:0%
tree of State fragments which are
immutable<00:05:27.780><c> and</c><00:05:28.500><c> each</c><00:05:28.680><c> transaction</c><00:05:29.160><c> is</c><00:05:29.520><c> going</c>

00:05:29.689 --> 00:05:29.699 align:start position:0%
immutable and each transaction is going
 

00:05:29.699 --> 00:05:32.330 align:start position:0%
immutable and each transaction is going
to<00:05:29.880><c> consume</c><00:05:30.660><c> some</c><00:05:30.840><c> State</c><00:05:31.080><c> fragments</c><00:05:31.680><c> produce</c>

00:05:32.330 --> 00:05:32.340 align:start position:0%
to consume some State fragments produce
 

00:05:32.340 --> 00:05:34.430 align:start position:0%
to consume some State fragments produce
some<00:05:32.520><c> new</c><00:05:32.759><c> ones</c><00:05:33.000><c> and</c><00:05:33.539><c> put</c><00:05:33.780><c> those</c><00:05:34.020><c> you</c><00:05:34.380><c> know</c>

00:05:34.430 --> 00:05:34.440 align:start position:0%
some new ones and put those you know
 

00:05:34.440 --> 00:05:36.529 align:start position:0%
some new ones and put those you know
append<00:05:34.860><c> those</c><00:05:35.039><c> into</c><00:05:35.280><c> this</c><00:05:35.580><c> tree</c>

00:05:36.529 --> 00:05:36.539 align:start position:0%
append those into this tree
 

00:05:36.539 --> 00:05:38.930 align:start position:0%
append those into this tree
the<00:05:37.080><c> reason</c><00:05:37.259><c> that</c><00:05:37.500><c> we</c><00:05:37.620><c> want</c><00:05:37.740><c> to</c><00:05:37.860><c> do</c><00:05:38.039><c> this</c><00:05:38.220><c> is</c>

00:05:38.930 --> 00:05:38.940 align:start position:0%
the reason that we want to do this is
 

00:05:38.940 --> 00:05:40.370 align:start position:0%
the reason that we want to do this is
that<00:05:39.060><c> that</c><00:05:39.240><c> way</c><00:05:39.419><c> we</c><00:05:39.660><c> can</c><00:05:39.780><c> make</c><00:05:39.960><c> the</c><00:05:40.199><c> state</c>

00:05:40.370 --> 00:05:40.380 align:start position:0%
that that way we can make the state
 

00:05:40.380 --> 00:05:42.469 align:start position:0%
that that way we can make the state
transitions<00:05:41.039><c> private</c><00:05:41.460><c> and</c><00:05:41.820><c> the</c><00:05:41.940><c> move</c><00:05:42.060><c> to</c><00:05:42.360><c> do</c>

00:05:42.469 --> 00:05:42.479 align:start position:0%
transitions private and the move to do
 

00:05:42.479 --> 00:05:44.870 align:start position:0%
transitions private and the move to do
that<00:05:42.660><c> is</c><00:05:43.080><c> you</c><00:05:43.680><c> replace</c><00:05:43.860><c> all</c><00:05:44.340><c> of</c><00:05:44.460><c> those</c><00:05:44.639><c> State</c>

00:05:44.870 --> 00:05:44.880 align:start position:0%
that is you replace all of those State
 

00:05:44.880 --> 00:05:47.629 align:start position:0%
that is you replace all of those State
fragments<00:05:45.479><c> with</c><00:05:45.979><c> cryptographic</c><00:05:46.979><c> commitments</c>

00:05:47.629 --> 00:05:47.639 align:start position:0%
fragments with cryptographic commitments
 

00:05:47.639 --> 00:05:50.890 align:start position:0%
fragments with cryptographic commitments
to<00:05:47.880><c> States</c><00:05:48.259><c> and</c><00:05:49.259><c> then</c><00:05:49.380><c> in</c><00:05:49.979><c> your</c><00:05:50.220><c> transaction</c>

00:05:50.890 --> 00:05:50.900 align:start position:0%
to States and then in your transaction
 

00:05:50.900 --> 00:05:53.810 align:start position:0%
to States and then in your transaction
rather<00:05:51.900><c> than</c><00:05:52.020><c> explicitly</c><00:05:52.800><c> declaring</c><00:05:53.400><c> the</c>

00:05:53.810 --> 00:05:53.820 align:start position:0%
rather than explicitly declaring the
 

00:05:53.820 --> 00:05:55.490 align:start position:0%
rather than explicitly declaring the
plaintext<00:05:54.360><c> values</c><00:05:54.900><c> of</c><00:05:55.080><c> those</c><00:05:55.259><c> State</c>

00:05:55.490 --> 00:05:55.500 align:start position:0%
plaintext values of those State
 

00:05:55.500 --> 00:05:58.730 align:start position:0%
plaintext values of those State
fragments<00:05:56.180><c> you</c><00:05:57.180><c> can</c><00:05:57.300><c> just</c><00:05:57.479><c> have</c><00:05:57.840><c> a</c><00:05:58.020><c> ZK</c><00:05:58.320><c> proof</c>

00:05:58.730 --> 00:05:58.740 align:start position:0%
fragments you can just have a ZK proof
 

00:05:58.740 --> 00:06:00.770 align:start position:0%
fragments you can just have a ZK proof
that<00:05:58.919><c> the</c><00:05:59.039><c> state</c><00:05:59.220><c> transition</c><00:05:59.580><c> was</c><00:05:59.880><c> valid</c><00:06:00.240><c> and</c>

00:06:00.770 --> 00:06:00.780 align:start position:0%
that the state transition was valid and
 

00:06:00.780 --> 00:06:02.029 align:start position:0%
that the state transition was valid and
here<00:06:00.900><c> are</c><00:06:01.080><c> the</c><00:06:01.199><c> commitments</c><00:06:01.620><c> to</c><00:06:01.740><c> the</c><00:06:01.919><c> new</c>

00:06:02.029 --> 00:06:02.039 align:start position:0%
here are the commitments to the new
 

00:06:02.039 --> 00:06:04.070 align:start position:0%
here are the commitments to the new
states<00:06:02.220><c> that</c><00:06:02.460><c> I</c><00:06:02.639><c> produced</c><00:06:03.000><c> okay</c><00:06:03.479><c> so</c><00:06:03.780><c> this</c><00:06:03.960><c> is</c>

00:06:04.070 --> 00:06:04.080 align:start position:0%
states that I produced okay so this is
 

00:06:04.080 --> 00:06:05.870 align:start position:0%
states that I produced okay so this is
all<00:06:04.199><c> cool</c><00:06:04.440><c> and</c><00:06:04.740><c> that's</c><00:06:04.860><c> why</c><00:06:05.160><c> everybody's</c><00:06:05.699><c> like</c>

00:06:05.870 --> 00:06:05.880 align:start position:0%
all cool and that's why everybody's like
 

00:06:05.880 --> 00:06:08.870 align:start position:0%
all cool and that's why everybody's like
using<00:06:06.360><c> like</c><00:06:06.840><c> private</c><00:06:07.800><c> blockchains</c><00:06:08.400><c> all</c><00:06:08.759><c> the</c>

00:06:08.870 --> 00:06:08.880 align:start position:0%
using like private blockchains all the
 

00:06:08.880 --> 00:06:12.110 align:start position:0%
using like private blockchains all the
time<00:06:09.060><c> no</c><00:06:09.840><c> why</c><00:06:10.440><c> is</c><00:06:10.620><c> that</c><00:06:10.800><c> because</c><00:06:11.340><c> that</c><00:06:11.639><c> diagram</c>

00:06:12.110 --> 00:06:12.120 align:start position:0%
time no why is that because that diagram
 

00:06:12.120 --> 00:06:13.969 align:start position:0%
time no why is that because that diagram
isn't<00:06:12.539><c> quite</c><00:06:12.720><c> right</c><00:06:12.840><c> in</c><00:06:13.440><c> fact</c><00:06:13.560><c> what</c><00:06:13.800><c> you're</c>

00:06:13.969 --> 00:06:13.979 align:start position:0%
isn't quite right in fact what you're
 

00:06:13.979 --> 00:06:16.850 align:start position:0%
isn't quite right in fact what you're
submitting<00:06:14.400><c> to</c><00:06:14.580><c> the</c><00:06:14.699><c> chain</c><00:06:14.940><c> is</c><00:06:15.660><c> this</c><00:06:15.900><c> ZK</c><00:06:16.320><c> proof</c>

00:06:16.850 --> 00:06:16.860 align:start position:0%
submitting to the chain is this ZK proof
 

00:06:16.860 --> 00:06:20.210 align:start position:0%
submitting to the chain is this ZK proof
pi<00:06:17.940><c> that</c><00:06:18.720><c> represents</c><00:06:19.320><c> the</c><00:06:19.560><c> state</c><00:06:19.800><c> transition</c>

00:06:20.210 --> 00:06:20.220 align:start position:0%
pi that represents the state transition
 

00:06:20.220 --> 00:06:22.550 align:start position:0%
pi that represents the state transition
but<00:06:21.120><c> what</c><00:06:21.360><c> we've</c><00:06:21.600><c> actually</c><00:06:21.780><c> done</c><00:06:22.080><c> is</c><00:06:22.319><c> we've</c>

00:06:22.550 --> 00:06:22.560 align:start position:0%
but what we've actually done is we've
 

00:06:22.560 --> 00:06:24.230 align:start position:0%
but what we've actually done is we've
moved<00:06:22.860><c> all</c><00:06:23.039><c> of</c><00:06:23.160><c> the</c><00:06:23.280><c> execution</c><00:06:23.699><c> off</c><00:06:24.000><c> chain</c>

00:06:24.230 --> 00:06:24.240 align:start position:0%
moved all of the execution off chain
 

00:06:24.240 --> 00:06:26.390 align:start position:0%
moved all of the execution off chain
along<00:06:24.960><c> with</c><00:06:25.199><c> moving</c><00:06:25.500><c> all</c><00:06:25.680><c> the</c><00:06:25.800><c> user</c><00:06:26.100><c> data</c><00:06:26.340><c> off</c>

00:06:26.390 --> 00:06:26.400 align:start position:0%
along with moving all the user data off
 

00:06:26.400 --> 00:06:29.809 align:start position:0%
along with moving all the user data off
chain<00:06:26.699><c> right</c><00:06:27.120><c> but</c><00:06:28.080><c> now</c><00:06:28.860><c> we</c><00:06:29.280><c> don't</c><00:06:29.400><c> really</c><00:06:29.520><c> have</c>

00:06:29.809 --> 00:06:29.819 align:start position:0%
chain right but now we don't really have
 

00:06:29.819 --> 00:06:32.150 align:start position:0%
chain right but now we don't really have
any<00:06:30.000><c> way</c><00:06:30.300><c> to</c><00:06:30.600><c> access</c><00:06:30.840><c> any</c><00:06:31.500><c> shared</c><00:06:31.919><c> State</c>

00:06:32.150 --> 00:06:32.160 align:start position:0%
any way to access any shared State
 

00:06:32.160 --> 00:06:34.490 align:start position:0%
any way to access any shared State
because<00:06:32.759><c> when</c><00:06:33.060><c> somebody's</c><00:06:33.539><c> submitting</c><00:06:34.080><c> their</c>

00:06:34.490 --> 00:06:34.500 align:start position:0%
because when somebody's submitting their
 

00:06:34.500 --> 00:06:36.650 align:start position:0%
because when somebody's submitting their
transaction<00:06:35.100><c> effectively</c><00:06:35.940><c> every</c>

00:06:36.650 --> 00:06:36.660 align:start position:0%
transaction effectively every
 

00:06:36.660 --> 00:06:38.870 align:start position:0%
transaction effectively every
transaction<00:06:37.139><c> is</c><00:06:37.380><c> is</c><00:06:37.800><c> its</c><00:06:38.220><c> own</c><00:06:38.280><c> little</c><00:06:38.520><c> micro</c>

00:06:38.870 --> 00:06:38.880 align:start position:0%
transaction is is its own little micro
 

00:06:38.880 --> 00:06:40.210 align:start position:0%
transaction is is its own little micro
Roll-Up

00:06:40.210 --> 00:06:40.220 align:start position:0%
Roll-Up
 

00:06:40.220 --> 00:06:42.770 align:start position:0%
Roll-Up
and<00:06:41.220><c> what</c><00:06:41.580><c> I</c><00:06:41.759><c> would</c><00:06:41.819><c> claim</c><00:06:42.120><c> is</c><00:06:42.300><c> that</c><00:06:42.479><c> the</c><00:06:42.600><c> key</c>

00:06:42.770 --> 00:06:42.780 align:start position:0%
and what I would claim is that the key
 

00:06:42.780 --> 00:06:44.629 align:start position:0%
and what I would claim is that the key
problem<00:06:43.020><c> here</c><00:06:43.380><c> is</c><00:06:43.560><c> is</c><00:06:43.740><c> one</c><00:06:44.039><c> of</c><00:06:44.160><c> early</c><00:06:44.340><c> versus</c>

00:06:44.629 --> 00:06:44.639 align:start position:0%
problem here is is one of early versus
 

00:06:44.639 --> 00:06:47.930 align:start position:0%
problem here is is one of early versus
late<00:06:45.000><c> binding</c><00:06:45.539><c> so</c><00:06:46.199><c> what</c><00:06:46.380><c> we</c><00:06:46.560><c> have</c><00:06:46.860><c> in</c><00:06:47.699><c> this</c>

00:06:47.930 --> 00:06:47.940 align:start position:0%
late binding so what we have in this
 

00:06:47.940 --> 00:06:51.950 align:start position:0%
late binding so what we have in this
sort<00:06:48.240><c> of</c><00:06:48.360><c> ZK</c><00:06:48.840><c> model</c><00:06:49.639><c> is</c><00:06:50.639><c> early</c><00:06:51.060><c> binding</c><00:06:51.600><c> every</c>

00:06:51.950 --> 00:06:51.960 align:start position:0%
sort of ZK model is early binding every
 

00:06:51.960 --> 00:06:54.469 align:start position:0%
sort of ZK model is early binding every
transaction<00:06:52.440><c> has</c><00:06:52.800><c> to</c><00:06:52.979><c> have</c><00:06:53.220><c> this</c><00:06:53.639><c> fully</c>

00:06:54.469 --> 00:06:54.479 align:start position:0%
transaction has to have this fully
 

00:06:54.479 --> 00:06:58.249 align:start position:0%
transaction has to have this fully
sealed<00:06:55.460><c> complete</c><00:06:56.460><c> State</c><00:06:56.819><c> transition</c><00:06:57.300><c> but</c>

00:06:58.249 --> 00:06:58.259 align:start position:0%
sealed complete State transition but
 

00:06:58.259 --> 00:06:59.930 align:start position:0%
sealed complete State transition but
that's<00:06:58.680><c> not</c><00:06:58.919><c> actually</c><00:06:59.160><c> what</c><00:06:59.460><c> we</c><00:06:59.639><c> generally</c>

00:06:59.930 --> 00:06:59.940 align:start position:0%
that's not actually what we generally
 

00:06:59.940 --> 00:07:02.150 align:start position:0%
that's not actually what we generally
want<00:07:00.180><c> right</c><00:07:00.539><c> if</c><00:07:00.900><c> you</c><00:07:01.020><c> make</c><00:07:01.380><c> a</c><00:07:01.560><c> trade</c><00:07:01.979><c> on</c>

00:07:02.150 --> 00:07:02.160 align:start position:0%
want right if you make a trade on
 

00:07:02.160 --> 00:07:04.189 align:start position:0%
want right if you make a trade on
uniswap<00:07:02.759><c> you're</c><00:07:03.240><c> not</c><00:07:03.419><c> going</c><00:07:03.600><c> to</c><00:07:03.660><c> sign</c><00:07:03.960><c> over</c>

00:07:04.189 --> 00:07:04.199 align:start position:0%
uniswap you're not going to sign over
 

00:07:04.199 --> 00:07:05.870 align:start position:0%
uniswap you're not going to sign over
here's<00:07:04.740><c> the</c><00:07:04.860><c> exact</c><00:07:05.160><c> State</c><00:07:05.460><c> of</c><00:07:05.639><c> the</c><00:07:05.759><c> Union</c>

00:07:05.870 --> 00:07:05.880 align:start position:0%
here's the exact State of the Union
 

00:07:05.880 --> 00:07:08.210 align:start position:0%
here's the exact State of the Union
reserves<00:07:06.479><c> of</c><00:07:06.720><c> this</c><00:07:06.900><c> contract</c><00:07:07.259><c> here's</c><00:07:08.039><c> the</c>

00:07:08.210 --> 00:07:08.220 align:start position:0%
reserves of this contract here's the
 

00:07:08.220 --> 00:07:10.670 align:start position:0%
reserves of this contract here's the
exact<00:07:08.460><c> outputs</c><00:07:09.000><c> that</c><00:07:09.120><c> I'll</c><00:07:09.300><c> get</c><00:07:09.479><c> because</c>

00:07:10.670 --> 00:07:10.680 align:start position:0%
exact outputs that I'll get because
 

00:07:10.680 --> 00:07:12.590 align:start position:0%
exact outputs that I'll get because
the<00:07:11.220><c> only</c><00:07:11.340><c> way</c><00:07:11.520><c> that</c><00:07:11.699><c> you</c><00:07:11.819><c> could</c><00:07:11.940><c> do</c><00:07:12.120><c> that</c><00:07:12.300><c> is</c>

00:07:12.590 --> 00:07:12.600 align:start position:0%
the only way that you could do that is
 

00:07:12.600 --> 00:07:15.050 align:start position:0%
the only way that you could do that is
by<00:07:12.960><c> sort</c><00:07:13.319><c> of</c><00:07:13.380><c> having</c><00:07:13.680><c> the</c><00:07:13.979><c> entire</c><00:07:14.280><c> world</c><00:07:14.580><c> stop</c>

00:07:15.050 --> 00:07:15.060 align:start position:0%
by sort of having the entire world stop
 

00:07:15.060 --> 00:07:16.730 align:start position:0%
by sort of having the entire world stop
while<00:07:15.539><c> you</c><00:07:15.840><c> you</c><00:07:16.080><c> know</c><00:07:16.199><c> submit</c><00:07:16.560><c> your</c>

00:07:16.730 --> 00:07:16.740 align:start position:0%
while you you know submit your
 

00:07:16.740 --> 00:07:19.370 align:start position:0%
while you you know submit your
transaction<00:07:17.160><c> right</c><00:07:18.000><c> what</c><00:07:18.600><c> we</c><00:07:18.780><c> want</c><00:07:18.960><c> is</c><00:07:19.139><c> the</c>

00:07:19.370 --> 00:07:19.380 align:start position:0%
transaction right what we want is the
 

00:07:19.380 --> 00:07:21.529 align:start position:0%
transaction right what we want is the
ability<00:07:19.620><c> to</c><00:07:20.039><c> have</c><00:07:20.280><c> a</c><00:07:20.759><c> partially</c><00:07:21.060><c> filled</c>

00:07:21.529 --> 00:07:21.539 align:start position:0%
ability to have a partially filled
 

00:07:21.539 --> 00:07:24.170 align:start position:0%
ability to have a partially filled
transaction<00:07:22.280><c> where</c><00:07:23.280><c> we</c><00:07:23.639><c> can</c><00:07:23.759><c> have</c><00:07:23.940><c> some</c>

00:07:24.170 --> 00:07:24.180 align:start position:0%
transaction where we can have some
 

00:07:24.180 --> 00:07:25.670 align:start position:0%
transaction where we can have some
placeholder<00:07:24.720><c> values</c><00:07:25.020><c> where</c><00:07:25.259><c> when</c><00:07:25.440><c> the</c>

00:07:25.670 --> 00:07:25.680 align:start position:0%
placeholder values where when the
 

00:07:25.680 --> 00:07:28.129 align:start position:0%
placeholder values where when the
transaction<00:07:25.979><c> is</c><00:07:26.220><c> executed</c><00:07:26.819><c> the</c><00:07:27.539><c> the</c><00:07:27.720><c> shared</c>

00:07:28.129 --> 00:07:28.139 align:start position:0%
transaction is executed the the shared
 

00:07:28.139 --> 00:07:30.409 align:start position:0%
transaction is executed the the shared
state<00:07:28.319><c> is</c><00:07:28.560><c> going</c><00:07:28.740><c> to</c><00:07:28.740><c> go</c><00:07:28.919><c> in</c><00:07:29.039><c> that</c><00:07:29.220><c> spot</c><00:07:29.819><c> and</c>

00:07:30.409 --> 00:07:30.419 align:start position:0%
state is going to go in that spot and
 

00:07:30.419 --> 00:07:33.170 align:start position:0%
state is going to go in that spot and
then<00:07:30.479><c> it'll</c><00:07:30.720><c> determine</c><00:07:31.139><c> some</c><00:07:31.380><c> outputs</c>

00:07:33.170 --> 00:07:33.180 align:start position:0%
then it'll determine some outputs
 

00:07:33.180 --> 00:07:34.610 align:start position:0%
then it'll determine some outputs
um<00:07:33.300><c> so</c>

00:07:34.610 --> 00:07:34.620 align:start position:0%
um so
 

00:07:34.620 --> 00:07:37.969 align:start position:0%
um so
in<00:07:35.160><c> order</c><00:07:35.220><c> to</c><00:07:35.520><c> make</c><00:07:35.699><c> this</c><00:07:35.940><c> work</c><00:07:36.240><c> with</c><00:07:36.960><c> the</c><00:07:37.680><c> sort</c>

00:07:37.969 --> 00:07:37.979 align:start position:0%
in order to make this work with the sort
 

00:07:37.979 --> 00:07:40.909 align:start position:0%
in order to make this work with the sort
of<00:07:38.099><c> ZK</c><00:07:38.520><c> model</c><00:07:39.120><c> where</c><00:07:39.660><c> we're</c><00:07:40.259><c> keeping</c><00:07:40.620><c> all</c><00:07:40.800><c> of</c>

00:07:40.909 --> 00:07:40.919 align:start position:0%
of ZK model where we're keeping all of
 

00:07:40.919 --> 00:07:43.249 align:start position:0%
of ZK model where we're keeping all of
the<00:07:41.099><c> user</c><00:07:41.400><c> data</c><00:07:41.639><c> off</c><00:07:41.819><c> chain</c><00:07:42.060><c> we</c><00:07:42.720><c> need</c><00:07:42.840><c> to</c><00:07:43.080><c> have</c>

00:07:43.249 --> 00:07:43.259 align:start position:0%
the user data off chain we need to have
 

00:07:43.259 --> 00:07:45.469 align:start position:0%
the user data off chain we need to have
some<00:07:43.560><c> better</c><00:07:43.800><c> concurrency</c><00:07:44.460><c> model</c><00:07:44.759><c> for</c><00:07:45.060><c> shared</c>

00:07:45.469 --> 00:07:45.479 align:start position:0%
some better concurrency model for shared
 

00:07:45.479 --> 00:07:48.230 align:start position:0%
some better concurrency model for shared
state<00:07:45.660><c> right</c><00:07:46.319><c> fundamentally</c><00:07:47.280><c> the</c><00:07:47.759><c> problem</c><00:07:47.940><c> is</c>

00:07:48.230 --> 00:07:48.240 align:start position:0%
state right fundamentally the problem is
 

00:07:48.240 --> 00:07:51.050 align:start position:0%
state right fundamentally the problem is
that<00:07:49.080><c> if</c><00:07:49.740><c> you're</c><00:07:49.919><c> doing</c><00:07:50.160><c> this</c><00:07:50.520><c> off</c><00:07:50.819><c> chain</c>

00:07:51.050 --> 00:07:51.060 align:start position:0%
that if you're doing this off chain
 

00:07:51.060 --> 00:07:53.570 align:start position:0%
that if you're doing this off chain
execution<00:07:51.660><c> you</c><00:07:52.380><c> need</c><00:07:52.500><c> to</c><00:07:52.680><c> have</c><00:07:52.919><c> some</c><00:07:53.280><c> kind</c><00:07:53.460><c> of</c>

00:07:53.570 --> 00:07:53.580 align:start position:0%
execution you need to have some kind of
 

00:07:53.580 --> 00:07:56.089 align:start position:0%
execution you need to have some kind of
like<00:07:53.819><c> exclusive</c><00:07:54.419><c> control</c><00:07:54.720><c> over</c><00:07:55.139><c> the</c><00:07:55.440><c> the</c><00:07:55.620><c> data</c>

00:07:56.089 --> 00:07:56.099 align:start position:0%
like exclusive control over the the data
 

00:07:56.099 --> 00:07:59.029 align:start position:0%
like exclusive control over the the data
that<00:07:56.280><c> you're</c><00:07:56.400><c> executing</c><00:07:56.940><c> on</c><00:07:57.259><c> and</c><00:07:58.259><c> you</c><00:07:58.919><c> can</c>

00:07:59.029 --> 00:07:59.039 align:start position:0%
that you're executing on and you can
 

00:07:59.039 --> 00:08:01.430 align:start position:0%
that you're executing on and you can
start<00:07:59.400><c> with</c><00:07:59.819><c> the</c><00:08:00.120><c> kind</c><00:08:00.360><c> of</c><00:08:00.539><c> oh</c><00:08:01.020><c> well</c><00:08:01.199><c> we'll</c>

00:08:01.430 --> 00:08:01.440 align:start position:0%
start with the kind of oh well we'll
 

00:08:01.440 --> 00:08:03.409 align:start position:0%
start with the kind of oh well we'll
take<00:08:01.560><c> a</c><00:08:01.680><c> big</c><00:08:01.800><c> Global</c><00:08:02.160><c> lock</c><00:08:02.340><c> and</c><00:08:02.639><c> you</c><00:08:02.819><c> can</c><00:08:02.940><c> make</c>

00:08:03.409 --> 00:08:03.419 align:start position:0%
take a big Global lock and you can make
 

00:08:03.419 --> 00:08:06.350 align:start position:0%
take a big Global lock and you can make
the<00:08:03.660><c> locks</c><00:08:04.080><c> you</c><00:08:04.380><c> know</c><00:08:04.440><c> smaller</c><00:08:04.979><c> but</c>

00:08:06.350 --> 00:08:06.360 align:start position:0%
the locks you know smaller but
 

00:08:06.360 --> 00:08:09.050 align:start position:0%
the locks you know smaller but
the<00:08:07.020><c> the</c><00:08:07.259><c> more</c><00:08:07.740><c> interesting</c><00:08:08.099><c> idea</c><00:08:08.460><c> I</c><00:08:08.639><c> think</c><00:08:08.819><c> is</c>

00:08:09.050 --> 00:08:09.060 align:start position:0%
the the more interesting idea I think is
 

00:08:09.060 --> 00:08:11.629 align:start position:0%
the the more interesting idea I think is
what<00:08:09.300><c> if</c><00:08:09.479><c> we</c><00:08:09.599><c> try</c><00:08:09.780><c> to</c><00:08:09.900><c> model</c><00:08:10.139><c> concurrency</c><00:08:10.800><c> with</c>

00:08:11.629 --> 00:08:11.639 align:start position:0%
what if we try to model concurrency with
 

00:08:11.639 --> 00:08:14.390 align:start position:0%
what if we try to model concurrency with
message<00:08:12.000><c> passing</c><00:08:12.660><c> rather</c><00:08:13.440><c> than</c><00:08:13.560><c> locking</c><00:08:14.099><c> if</c>

00:08:14.390 --> 00:08:14.400 align:start position:0%
message passing rather than locking if
 

00:08:14.400 --> 00:08:16.010 align:start position:0%
message passing rather than locking if
you<00:08:14.520><c> look</c><00:08:14.699><c> outside</c><00:08:15.060><c> of</c><00:08:15.360><c> blockchains</c><00:08:15.840><c> that</c>

00:08:16.010 --> 00:08:16.020 align:start position:0%
you look outside of blockchains that
 

00:08:16.020 --> 00:08:18.050 align:start position:0%
you look outside of blockchains that
just<00:08:16.199><c> kind</c><00:08:16.319><c> of</c><00:08:16.380><c> like</c><00:08:16.560><c> normal</c><00:08:17.220><c> you</c><00:08:17.699><c> know</c><00:08:17.819><c> high</c>

00:08:18.050 --> 00:08:18.060 align:start position:0%
just kind of like normal you know high
 

00:08:18.060 --> 00:08:19.850 align:start position:0%
just kind of like normal you know high
performance<00:08:18.479><c> High</c><00:08:18.840><c> concurrency</c><00:08:19.319><c> software</c>

00:08:19.850 --> 00:08:19.860 align:start position:0%
performance High concurrency software
 

00:08:19.860 --> 00:08:21.110 align:start position:0%
performance High concurrency software
systems

00:08:21.110 --> 00:08:21.120 align:start position:0%
systems
 

00:08:21.120 --> 00:08:22.430 align:start position:0%
systems
um

00:08:22.430 --> 00:08:22.440 align:start position:0%
um
 

00:08:22.440 --> 00:08:24.469 align:start position:0%
um
you<00:08:22.919><c> can</c><00:08:22.979><c> do</c><00:08:23.160><c> better</c><00:08:23.400><c> by</c><00:08:23.759><c> having</c><00:08:23.940><c> finer</c>

00:08:24.469 --> 00:08:24.479 align:start position:0%
you can do better by having finer
 

00:08:24.479 --> 00:08:27.110 align:start position:0%
you can do better by having finer
locking<00:08:24.900><c> but</c><00:08:25.319><c> a</c><00:08:25.800><c> cleaner</c><00:08:26.400><c> and</c><00:08:26.520><c> more</c><00:08:26.759><c> scalable</c>

00:08:27.110 --> 00:08:27.120 align:start position:0%
locking but a cleaner and more scalable
 

00:08:27.120 --> 00:08:29.689 align:start position:0%
locking but a cleaner and more scalable
approach<00:08:27.599><c> is</c><00:08:27.960><c> to</c><00:08:28.259><c> have</c><00:08:28.500><c> different</c><00:08:29.099><c> parts</c><00:08:29.460><c> of</c>

00:08:29.689 --> 00:08:29.699 align:start position:0%
approach is to have different parts of
 

00:08:29.699 --> 00:08:32.209 align:start position:0%
approach is to have different parts of
the<00:08:29.940><c> system</c><00:08:30.199><c> executing</c><00:08:31.199><c> independently</c><00:08:31.860><c> with</c>

00:08:32.209 --> 00:08:32.219 align:start position:0%
the system executing independently with
 

00:08:32.219 --> 00:08:33.949 align:start position:0%
the system executing independently with
their<00:08:32.399><c> own</c><00:08:32.580><c> State</c><00:08:32.820><c> and</c><00:08:33.360><c> passing</c><00:08:33.719><c> messages</c>

00:08:33.949 --> 00:08:33.959 align:start position:0%
their own State and passing messages
 

00:08:33.959 --> 00:08:36.649 align:start position:0%
their own State and passing messages
back<00:08:34.440><c> and</c><00:08:34.560><c> forth</c><00:08:34.800><c> to</c><00:08:34.919><c> each</c><00:08:35.099><c> other</c><00:08:35.760><c> so</c><00:08:36.360><c> what</c>

00:08:36.649 --> 00:08:36.659 align:start position:0%
back and forth to each other so what
 

00:08:36.659 --> 00:08:38.870 align:start position:0%
back and forth to each other so what
would<00:08:36.839><c> that</c><00:08:36.959><c> look</c><00:08:37.200><c> like</c><00:08:37.380><c> in</c><00:08:38.159><c> the</c><00:08:38.279><c> context</c><00:08:38.580><c> of</c>

00:08:38.870 --> 00:08:38.880 align:start position:0%
would that look like in the context of
 

00:08:38.880 --> 00:08:40.790 align:start position:0%
would that look like in the context of
trying<00:08:39.060><c> to</c><00:08:39.240><c> build</c><00:08:39.479><c> a</c><00:08:39.779><c> privacy</c><00:08:40.320><c> preserving</c>

00:08:40.790 --> 00:08:40.800 align:start position:0%
trying to build a privacy preserving
 

00:08:40.800 --> 00:08:43.610 align:start position:0%
trying to build a privacy preserving
chain<00:08:41.039><c> well</c><00:08:42.000><c> we</c><00:08:42.599><c> could</c><00:08:42.719><c> try</c><00:08:42.899><c> to</c><00:08:43.020><c> think</c><00:08:43.200><c> of</c><00:08:43.380><c> this</c>

00:08:43.610 --> 00:08:43.620 align:start position:0%
chain well we could try to think of this
 

00:08:43.620 --> 00:08:46.670 align:start position:0%
chain well we could try to think of this
kind<00:08:43.740><c> of</c><00:08:43.860><c> actor</c><00:08:44.279><c> model</c><00:08:44.459><c> for</c><00:08:44.820><c> chains</c><00:08:45.300><c> where</c><00:08:46.140><c> a</c>

00:08:46.670 --> 00:08:46.680 align:start position:0%
kind of actor model for chains where a
 

00:08:46.680 --> 00:08:49.490 align:start position:0%
kind of actor model for chains where a
transaction<00:08:47.040><c> rather</c><00:08:47.820><c> than</c><00:08:48.500><c> synchronously</c>

00:08:49.490 --> 00:08:49.500 align:start position:0%
transaction rather than synchronously
 

00:08:49.500 --> 00:08:52.310 align:start position:0%
transaction rather than synchronously
doing<00:08:49.860><c> a</c><00:08:50.339><c> contract</c><00:08:51.000><c> call</c><00:08:51.360><c> where</c><00:08:51.720><c> it</c><00:08:51.899><c> locks</c>

00:08:52.310 --> 00:08:52.320 align:start position:0%
doing a contract call where it locks
 

00:08:52.320 --> 00:08:55.130 align:start position:0%
doing a contract call where it locks
some<00:08:52.560><c> state</c><00:08:52.800><c> does</c><00:08:53.700><c> some</c><00:08:53.940><c> execution</c><00:08:54.660><c> and</c><00:08:54.959><c> then</c>

00:08:55.130 --> 00:08:55.140 align:start position:0%
some state does some execution and then
 

00:08:55.140 --> 00:08:57.350 align:start position:0%
some state does some execution and then
finishes<00:08:55.620><c> and</c><00:08:55.800><c> releases</c><00:08:56.220><c> the</c><00:08:56.459><c> look</c><00:08:56.580><c> we</c><00:08:57.240><c> could</c>

00:08:57.350 --> 00:08:57.360 align:start position:0%
finishes and releases the look we could
 

00:08:57.360 --> 00:08:58.670 align:start position:0%
finishes and releases the look we could
say<00:08:57.480><c> that</c><00:08:57.660><c> the</c><00:08:57.839><c> transaction</c><00:08:58.200><c> is</c><00:08:58.380><c> going</c><00:08:58.620><c> to</c>

00:08:58.670 --> 00:08:58.680 align:start position:0%
say that the transaction is going to
 

00:08:58.680 --> 00:09:00.769 align:start position:0%
say that the transaction is going to
pass<00:08:58.920><c> a</c><00:08:59.160><c> message</c><00:08:59.339><c> to</c><00:08:59.700><c> a</c><00:08:59.880><c> contract</c>

00:09:00.769 --> 00:09:00.779 align:start position:0%
pass a message to a contract
 

00:09:00.779 --> 00:09:02.750 align:start position:0%
pass a message to a contract
and<00:09:01.440><c> now</c><00:09:01.680><c> we're</c><00:09:01.980><c> going</c><00:09:02.160><c> to</c><00:09:02.220><c> have</c><00:09:02.399><c> each</c>

00:09:02.750 --> 00:09:02.760 align:start position:0%
and now we're going to have each
 

00:09:02.760 --> 00:09:06.230 align:start position:0%
and now we're going to have each
contract<00:09:03.300><c> execute</c><00:09:04.140><c> once</c><00:09:04.740><c> per</c><00:09:04.860><c> block</c><00:09:05.100><c> but</c><00:09:05.940><c> as</c>

00:09:06.230 --> 00:09:06.240 align:start position:0%
contract execute once per block but as
 

00:09:06.240 --> 00:09:08.509 align:start position:0%
contract execute once per block but as
it<00:09:06.480><c> executes</c><00:09:07.019><c> it's</c><00:09:07.380><c> going</c><00:09:07.560><c> to</c><00:09:07.680><c> receive</c><00:09:08.100><c> the</c>

00:09:08.509 --> 00:09:08.519 align:start position:0%
it executes it's going to receive the
 

00:09:08.519 --> 00:09:10.370 align:start position:0%
it executes it's going to receive the
set<00:09:08.700><c> of</c><00:09:08.940><c> all</c><00:09:09.180><c> of</c><00:09:09.300><c> the</c><00:09:09.480><c> messages</c><00:09:09.600><c> that</c><00:09:10.200><c> any</c>

00:09:10.370 --> 00:09:10.380 align:start position:0%
set of all of the messages that any
 

00:09:10.380 --> 00:09:12.350 align:start position:0%
set of all of the messages that any
transaction<00:09:10.860><c> passed</c><00:09:11.399><c> to</c><00:09:11.459><c> it</c><00:09:11.640><c> and</c><00:09:12.120><c> it</c><00:09:12.240><c> can</c>

00:09:12.350 --> 00:09:12.360 align:start position:0%
transaction passed to it and it can
 

00:09:12.360 --> 00:09:14.090 align:start position:0%
transaction passed to it and it can
process<00:09:12.660><c> those</c><00:09:12.959><c> all</c><00:09:13.260><c> in</c><00:09:13.440><c> a</c><00:09:13.560><c> batch</c><00:09:13.740><c> and</c>

00:09:14.090 --> 00:09:14.100 align:start position:0%
process those all in a batch and
 

00:09:14.100 --> 00:09:16.430 align:start position:0%
process those all in a batch and
depending<00:09:14.459><c> on</c><00:09:14.700><c> you</c><00:09:15.240><c> know</c><00:09:15.300><c> the</c><00:09:15.600><c> specifics</c><00:09:16.200><c> of</c>

00:09:16.430 --> 00:09:16.440 align:start position:0%
depending on you know the specifics of
 

00:09:16.440 --> 00:09:19.490 align:start position:0%
depending on you know the specifics of
that<00:09:16.620><c> contract</c><00:09:17.040><c> logic</c><00:09:17.519><c> in</c><00:09:18.300><c> some</c><00:09:18.420><c> cases</c><00:09:18.779><c> you</c>

00:09:19.490 --> 00:09:19.500 align:start position:0%
that contract logic in some cases you
 

00:09:19.500 --> 00:09:20.930 align:start position:0%
that contract logic in some cases you
know<00:09:19.560><c> you</c><00:09:19.800><c> could</c><00:09:19.920><c> combine</c><00:09:20.459><c> all</c><00:09:20.700><c> of</c><00:09:20.820><c> those</c>

00:09:20.930 --> 00:09:20.940 align:start position:0%
know you could combine all of those
 

00:09:20.940 --> 00:09:22.790 align:start position:0%
know you could combine all of those
messages<00:09:21.180><c> into</c><00:09:21.720><c> one</c><00:09:22.080><c> right</c><00:09:22.380><c> like</c><00:09:22.560><c> you</c><00:09:22.740><c> could</c>

00:09:22.790 --> 00:09:22.800 align:start position:0%
messages into one right like you could
 

00:09:22.800 --> 00:09:25.070 align:start position:0%
messages into one right like you could
do<00:09:22.980><c> a</c><00:09:23.100><c> batch</c><00:09:23.220><c> swap</c><00:09:23.640><c> which</c><00:09:24.060><c> I'll</c><00:09:24.180><c> get</c><00:09:24.600><c> to</c><00:09:24.720><c> later</c>

00:09:25.070 --> 00:09:25.080 align:start position:0%
do a batch swap which I'll get to later
 

00:09:25.080 --> 00:09:27.470 align:start position:0%
do a batch swap which I'll get to later
on<00:09:25.260><c> in</c><00:09:25.440><c> the</c><00:09:25.560><c> talk</c><00:09:25.740><c> but</c><00:09:26.640><c> also</c><00:09:27.180><c> you</c><00:09:27.360><c> could</c>

00:09:27.470 --> 00:09:27.480 align:start position:0%
on in the talk but also you could
 

00:09:27.480 --> 00:09:29.030 align:start position:0%
on in the talk but also you could
imagine<00:09:27.660><c> say</c><00:09:28.019><c> like</c><00:09:28.200><c> an</c><00:09:28.380><c> auction</c><00:09:28.560><c> protocol</c>

00:09:29.030 --> 00:09:29.040 align:start position:0%
imagine say like an auction protocol
 

00:09:29.040 --> 00:09:31.190 align:start position:0%
imagine say like an auction protocol
that<00:09:29.459><c> orders</c><00:09:29.820><c> these</c><00:09:30.120><c> messages</c><00:09:30.300><c> by</c><00:09:30.839><c> the</c><00:09:31.019><c> the</c>

00:09:31.190 --> 00:09:31.200 align:start position:0%
that orders these messages by the the
 

00:09:31.200 --> 00:09:32.990 align:start position:0%
that orders these messages by the the
bid<00:09:31.500><c> amount</c>

00:09:32.990 --> 00:09:33.000 align:start position:0%
bid amount
 

00:09:33.000 --> 00:09:34.790 align:start position:0%
bid amount
um<00:09:33.060><c> and</c><00:09:33.360><c> the</c><00:09:33.480><c> key</c><00:09:33.839><c> thing</c><00:09:34.019><c> is</c><00:09:34.200><c> that</c><00:09:34.380><c> you're</c><00:09:34.620><c> not</c>

00:09:34.790 --> 00:09:34.800 align:start position:0%
um and the key thing is that you're not
 

00:09:34.800 --> 00:09:37.490 align:start position:0%
um and the key thing is that you're not
doing<00:09:35.040><c> any</c><00:09:35.399><c> execution</c><00:09:35.940><c> at</c><00:09:36.839><c> a</c><00:09:36.959><c> higher</c><00:09:37.260><c> time</c>

00:09:37.490 --> 00:09:37.500 align:start position:0%
doing any execution at a higher time
 

00:09:37.500 --> 00:09:41.090 align:start position:0%
doing any execution at a higher time
resolution<00:09:37.980><c> than</c><00:09:38.760><c> is</c><00:09:39.000><c> actually</c><00:09:39.240><c> provided</c><00:09:40.019><c> by</c>

00:09:41.090 --> 00:09:41.100 align:start position:0%
resolution than is actually provided by
 

00:09:41.100 --> 00:09:43.490 align:start position:0%
resolution than is actually provided by
the<00:09:41.760><c> underlying</c><00:09:42.300><c> consensus</c><00:09:42.899><c> right</c><00:09:43.260><c> when</c>

00:09:43.490 --> 00:09:43.500 align:start position:0%
the underlying consensus right when
 

00:09:43.500 --> 00:09:45.710 align:start position:0%
the underlying consensus right when
people<00:09:43.680><c> talk</c><00:09:43.920><c> about</c><00:09:44.100><c> transaction</c><00:09:44.580><c> ordering</c><00:09:45.120><c> a</c>

00:09:45.710 --> 00:09:45.720 align:start position:0%
people talk about transaction ordering a
 

00:09:45.720 --> 00:09:48.230 align:start position:0%
people talk about transaction ordering a
lot<00:09:45.839><c> of</c><00:09:45.959><c> the</c><00:09:46.260><c> problems</c><00:09:46.920><c> arise</c><00:09:47.519><c> from</c><00:09:47.880><c> this</c>

00:09:48.230 --> 00:09:48.240 align:start position:0%
lot of the problems arise from this
 

00:09:48.240 --> 00:09:50.690 align:start position:0%
lot of the problems arise from this
mismatch<00:09:48.660><c> between</c><00:09:49.080><c> the</c><00:09:49.800><c> economic</c><00:09:50.279><c> mechanism</c>

00:09:50.690 --> 00:09:50.700 align:start position:0%
mismatch between the economic mechanism
 

00:09:50.700 --> 00:09:52.730 align:start position:0%
mismatch between the economic mechanism
and<00:09:51.000><c> the</c><00:09:51.120><c> contract</c><00:09:51.540><c> which</c><00:09:52.200><c> is</c><00:09:52.320><c> trying</c><00:09:52.560><c> to</c>

00:09:52.730 --> 00:09:52.740 align:start position:0%
and the contract which is trying to
 

00:09:52.740 --> 00:09:54.829 align:start position:0%
and the contract which is trying to
execute<00:09:53.160><c> at</c><00:09:53.339><c> this</c><00:09:53.519><c> sort</c><00:09:53.700><c> of</c><00:09:53.880><c> faster</c><00:09:54.540><c> than</c>

00:09:54.829 --> 00:09:54.839 align:start position:0%
execute at this sort of faster than
 

00:09:54.839 --> 00:09:57.829 align:start position:0%
execute at this sort of faster than
consensus<00:09:55.500><c> speed</c><00:09:55.920><c> and</c><00:09:56.640><c> the</c><00:09:56.880><c> actual</c><00:09:57.240><c> you</c><00:09:57.779><c> know</c>

00:09:57.829 --> 00:09:57.839 align:start position:0%
consensus speed and the actual you know
 

00:09:57.839 --> 00:10:00.110 align:start position:0%
consensus speed and the actual you know
consensus<00:09:58.740><c> ordering</c><00:09:59.220><c> guarantees</c><00:09:59.700><c> that</c><00:10:00.000><c> are</c>

00:10:00.110 --> 00:10:00.120 align:start position:0%
consensus ordering guarantees that are
 

00:10:00.120 --> 00:10:02.449 align:start position:0%
consensus ordering guarantees that are
provided<00:10:00.600><c> by</c><00:10:01.019><c> the</c><00:10:01.200><c> blockchain</c><00:10:01.560><c> which</c><00:10:02.220><c> happen</c>

00:10:02.449 --> 00:10:02.459 align:start position:0%
provided by the blockchain which happen
 

00:10:02.459 --> 00:10:04.250 align:start position:0%
provided by the blockchain which happen
block<00:10:02.940><c> by</c><00:10:03.180><c> block</c><00:10:03.420><c> right</c><00:10:03.720><c> like</c><00:10:03.959><c> if</c><00:10:04.140><c> you're</c>

00:10:04.250 --> 00:10:04.260 align:start position:0%
block by block right like if you're
 

00:10:04.260 --> 00:10:07.130 align:start position:0%
block by block right like if you're
agreeing<00:10:04.740><c> on</c><00:10:05.060><c> transactions</c><00:10:06.060><c> in</c><00:10:06.300><c> in</c><00:10:06.600><c> batches</c>

00:10:07.130 --> 00:10:07.140 align:start position:0%
agreeing on transactions in in batches
 

00:10:07.140 --> 00:10:09.290 align:start position:0%
agreeing on transactions in in batches
like<00:10:07.620><c> maybe</c><00:10:07.860><c> you</c><00:10:08.040><c> should</c><00:10:08.220><c> also</c><00:10:08.459><c> be</c><00:10:08.640><c> executing</c>

00:10:09.290 --> 00:10:09.300 align:start position:0%
like maybe you should also be executing
 

00:10:09.300 --> 00:10:11.750 align:start position:0%
like maybe you should also be executing
them<00:10:09.660><c> in</c><00:10:09.839><c> batches</c>

00:10:11.750 --> 00:10:11.760 align:start position:0%
them in batches
 

00:10:11.760 --> 00:10:15.110 align:start position:0%
them in batches
um<00:10:11.820><c> and</c><00:10:12.660><c> on</c><00:10:13.320><c> the</c><00:10:13.440><c> other</c><00:10:13.500><c> hand</c><00:10:13.740><c> our</c><00:10:14.580><c> our</c><00:10:14.820><c> per</c>

00:10:15.110 --> 00:10:15.120 align:start position:0%
um and on the other hand our our per
 

00:10:15.120 --> 00:10:17.990 align:start position:0%
um and on the other hand our our per
user<00:10:15.480><c> State</c><00:10:15.740><c> we</c><00:10:16.740><c> can</c><00:10:16.860><c> still</c><00:10:17.100><c> have</c><00:10:17.339><c> this</c><00:10:17.700><c> sort</c>

00:10:17.990 --> 00:10:18.000 align:start position:0%
user State we can still have this sort
 

00:10:18.000 --> 00:10:21.889 align:start position:0%
user State we can still have this sort
of<00:10:18.120><c> off-chain</c><00:10:18.839><c> uh</c><00:10:19.680><c> execution</c><00:10:20.240><c> but</c><00:10:21.240><c> now</c><00:10:21.600><c> the</c>

00:10:21.889 --> 00:10:21.899 align:start position:0%
of off-chain uh execution but now the
 

00:10:21.899 --> 00:10:23.449 align:start position:0%
of off-chain uh execution but now the
execution<00:10:22.260><c> is</c><00:10:22.500><c> going</c><00:10:22.620><c> to</c><00:10:22.680><c> be</c><00:10:22.800><c> asynchronous</c>

00:10:23.449 --> 00:10:23.459 align:start position:0%
execution is going to be asynchronous
 

00:10:23.459 --> 00:10:26.810 align:start position:0%
execution is going to be asynchronous
right<00:10:23.700><c> when</c><00:10:24.420><c> I</c><00:10:24.660><c> consume</c><00:10:25.320><c> my</c><00:10:25.560><c> state</c><00:10:25.800><c> and</c><00:10:26.459><c> I</c><00:10:26.580><c> pass</c>

00:10:26.810 --> 00:10:26.820 align:start position:0%
right when I consume my state and I pass
 

00:10:26.820 --> 00:10:29.810 align:start position:0%
right when I consume my state and I pass
a<00:10:27.060><c> message</c><00:10:27.240><c> to</c><00:10:27.540><c> a</c><00:10:27.720><c> contract</c><00:10:28.100><c> I</c><00:10:29.100><c> can't</c><00:10:29.339><c> compute</c>

00:10:29.810 --> 00:10:29.820 align:start position:0%
a message to a contract I can't compute
 

00:10:29.820 --> 00:10:31.730 align:start position:0%
a message to a contract I can't compute
my<00:10:30.000><c> outputs</c><00:10:30.480><c> yet</c><00:10:30.600><c> because</c><00:10:30.899><c> I</c><00:10:31.140><c> haven't</c><00:10:31.260><c> got</c><00:10:31.560><c> a</c>

00:10:31.730 --> 00:10:31.740 align:start position:0%
my outputs yet because I haven't got a
 

00:10:31.740 --> 00:10:35.290 align:start position:0%
my outputs yet because I haven't got a
message<00:10:31.920><c> back</c><00:10:32.339><c> so</c><00:10:33.000><c> I</c><00:10:33.120><c> need</c><00:10:33.300><c> to</c><00:10:33.480><c> somehow</c><00:10:33.980><c> record</c>

00:10:35.290 --> 00:10:35.300 align:start position:0%
message back so I need to somehow record
 

00:10:35.300 --> 00:10:38.690 align:start position:0%
message back so I need to somehow record
this<00:10:36.300><c> sort</c><00:10:36.480><c> of</c><00:10:36.600><c> intermediate</c><00:10:37.320><c> future</c>

00:10:38.690 --> 00:10:38.700 align:start position:0%
this sort of intermediate future
 

00:10:38.700 --> 00:10:41.329 align:start position:0%
this sort of intermediate future
that<00:10:39.300><c> represents</c><00:10:39.839><c> the</c><00:10:40.260><c> eventual</c><00:10:40.740><c> result</c><00:10:41.040><c> of</c>

00:10:41.329 --> 00:10:41.339 align:start position:0%
that represents the eventual result of
 

00:10:41.339 --> 00:10:42.530 align:start position:0%
that represents the eventual result of
the<00:10:41.459><c> computation</c><00:10:41.880><c> that</c><00:10:42.120><c> I'm</c><00:10:42.240><c> going</c><00:10:42.360><c> to</c><00:10:42.420><c> be</c>

00:10:42.530 --> 00:10:42.540 align:start position:0%
the computation that I'm going to be
 

00:10:42.540 --> 00:10:46.190 align:start position:0%
the computation that I'm going to be
doing<00:10:43.080><c> but</c><00:10:43.740><c> I</c><00:10:43.980><c> can</c><00:10:44.100><c> do</c><00:10:44.220><c> all</c><00:10:44.459><c> of</c><00:10:44.579><c> the</c><00:10:44.880><c> uh</c><00:10:45.480><c> all</c><00:10:46.079><c> of</c>

00:10:46.190 --> 00:10:46.200 align:start position:0%
doing but I can do all of the uh all of
 

00:10:46.200 --> 00:10:49.130 align:start position:0%
doing but I can do all of the uh all of
the<00:10:46.380><c> computation</c><00:10:46.800><c> that</c><00:10:47.399><c> is</c><00:10:47.579><c> only</c><00:10:47.880><c> touching</c><00:10:48.720><c> a</c>

00:10:49.130 --> 00:10:49.140 align:start position:0%
the computation that is only touching a
 

00:10:49.140 --> 00:10:51.530 align:start position:0%
the computation that is only touching a
particular<00:10:49.440><c> user</c><00:10:49.920><c> State</c><00:10:50.160><c> can</c><00:10:50.880><c> happen</c><00:10:51.120><c> off</c>

00:10:51.530 --> 00:10:51.540 align:start position:0%
particular user State can happen off
 

00:10:51.540 --> 00:10:55.130 align:start position:0%
particular user State can happen off
chain<00:10:51.980><c> uh</c><00:10:52.980><c> privately</c><00:10:53.339><c> in</c><00:10:53.640><c> ZK</c><00:10:54.000><c> so</c><00:10:54.779><c> the</c><00:10:54.959><c> really</c>

00:10:55.130 --> 00:10:55.140 align:start position:0%
chain uh privately in ZK so the really
 

00:10:55.140 --> 00:10:56.870 align:start position:0%
chain uh privately in ZK so the really
interesting<00:10:55.500><c> thing</c><00:10:55.680><c> about</c><00:10:55.920><c> this</c><00:10:56.279><c> model</c><00:10:56.579><c> is</c>

00:10:56.870 --> 00:10:56.880 align:start position:0%
interesting thing about this model is
 

00:10:56.880 --> 00:10:59.630 align:start position:0%
interesting thing about this model is
that<00:10:57.180><c> it</c><00:10:57.839><c> actually</c><00:10:58.040><c> simultaneously</c><00:10:59.040><c> unlocks</c>

00:10:59.630 --> 00:10:59.640 align:start position:0%
that it actually simultaneously unlocks
 

00:10:59.640 --> 00:11:03.290 align:start position:0%
that it actually simultaneously unlocks
both<00:11:00.060><c> scalability</c><00:11:01.019><c> and</c><00:11:01.620><c> privacy</c><00:11:02.160><c> because</c><00:11:02.880><c> all</c>

00:11:03.290 --> 00:11:03.300 align:start position:0%
both scalability and privacy because all
 

00:11:03.300 --> 00:11:05.150 align:start position:0%
both scalability and privacy because all
of<00:11:03.420><c> the</c><00:11:03.600><c> data</c><00:11:03.959><c> that</c><00:11:04.260><c> doesn't</c><00:11:04.440><c> need</c><00:11:04.740><c> to</c><00:11:04.980><c> be</c>

00:11:05.150 --> 00:11:05.160 align:start position:0%
of the data that doesn't need to be
 

00:11:05.160 --> 00:11:08.090 align:start position:0%
of the data that doesn't need to be
having<00:11:05.760><c> any</c><00:11:06.000><c> shared</c><00:11:06.420><c> execution</c><00:11:06.839><c> is</c><00:11:07.680><c> happening</c>

00:11:08.090 --> 00:11:08.100 align:start position:0%
having any shared execution is happening
 

00:11:08.100 --> 00:11:10.790 align:start position:0%
having any shared execution is happening
that<00:11:08.820><c> execution</c><00:11:09.300><c> is</c><00:11:09.540><c> is</c><00:11:09.779><c> happening</c><00:11:10.260><c> on</c><00:11:10.500><c> each</c>

00:11:10.790 --> 00:11:10.800 align:start position:0%
that execution is is happening on each
 

00:11:10.800 --> 00:11:13.670 align:start position:0%
that execution is is happening on each
individual<00:11:11.220><c> user's</c><00:11:11.760><c> client</c>

00:11:13.670 --> 00:11:13.680 align:start position:0%
individual user's client
 

00:11:13.680 --> 00:11:17.389 align:start position:0%
individual user's client
and<00:11:14.579><c> the</c><00:11:15.060><c> on-chain</c><00:11:15.480><c> data</c><00:11:15.899><c> is</c><00:11:16.200><c> limited</c><00:11:16.620><c> to</c><00:11:16.980><c> the</c>

00:11:17.389 --> 00:11:17.399 align:start position:0%
and the on-chain data is limited to the
 

00:11:17.399 --> 00:11:20.630 align:start position:0%
and the on-chain data is limited to the
minimum<00:11:17.880><c> uh</c><00:11:18.720><c> shared</c><00:11:19.140><c> computation</c><00:11:19.680><c> and</c><00:11:20.519><c> it's</c>

00:11:20.630 --> 00:11:20.640 align:start position:0%
minimum uh shared computation and it's
 

00:11:20.640 --> 00:11:22.310 align:start position:0%
minimum uh shared computation and it's
executing<00:11:21.180><c> in</c><00:11:21.420><c> a</c><00:11:21.600><c> batch</c><00:11:21.720><c> so</c><00:11:22.079><c> you</c><00:11:22.200><c> can</c>

00:11:22.310 --> 00:11:22.320 align:start position:0%
executing in a batch so you can
 

00:11:22.320 --> 00:11:23.690 align:start position:0%
executing in a batch so you can
potentially<00:11:22.680><c> have</c><00:11:22.860><c> a</c><00:11:23.040><c> much</c><00:11:23.160><c> more</c><00:11:23.339><c> efficient</c>

00:11:23.690 --> 00:11:23.700 align:start position:0%
potentially have a much more efficient
 

00:11:23.700 --> 00:11:26.569 align:start position:0%
potentially have a much more efficient
implementation<00:11:24.240><c> so</c><00:11:25.200><c> to</c><00:11:25.680><c> see</c><00:11:25.800><c> kind</c><00:11:26.100><c> of</c><00:11:26.220><c> how</c>

00:11:26.569 --> 00:11:26.579 align:start position:0%
implementation so to see kind of how
 

00:11:26.579 --> 00:11:29.449 align:start position:0%
implementation so to see kind of how
this<00:11:26.760><c> works</c><00:11:27.060><c> in</c><00:11:27.240><c> a</c><00:11:27.360><c> in</c><00:11:27.540><c> a</c><00:11:27.720><c> diagram</c><00:11:28.160><c> uh</c><00:11:29.160><c> which</c><00:11:29.339><c> I</c>

00:11:29.449 --> 00:11:29.459 align:start position:0%
this works in a in a diagram uh which I
 

00:11:29.459 --> 00:11:30.829 align:start position:0%
this works in a in a diagram uh which I
think<00:11:29.640><c> it</c><00:11:29.880><c> might</c><00:11:30.060><c> be</c><00:11:30.180><c> a</c><00:11:30.300><c> little</c><00:11:30.360><c> bit</c><00:11:30.540><c> more</c>

00:11:30.829 --> 00:11:30.839 align:start position:0%
think it might be a little bit more
 

00:11:30.839 --> 00:11:34.009 align:start position:0%
think it might be a little bit more
clear<00:11:31.019><c> we're</c><00:11:31.860><c> going</c><00:11:32.040><c> to</c><00:11:32.100><c> start</c><00:11:32.279><c> off</c><00:11:32.459><c> with</c><00:11:33.019><c> our</c>

00:11:34.009 --> 00:11:34.019 align:start position:0%
clear we're going to start off with our
 

00:11:34.019 --> 00:11:37.370 align:start position:0%
clear we're going to start off with our
first<00:11:34.519><c> uh</c><00:11:35.519><c> you</c><00:11:36.060><c> know</c><00:11:36.180><c> somebody's</c><00:11:36.660><c> preparing</c><00:11:37.200><c> a</c>

00:11:37.370 --> 00:11:37.380 align:start position:0%
first uh you know somebody's preparing a
 

00:11:37.380 --> 00:11:40.009 align:start position:0%
first uh you know somebody's preparing a
transaction<00:11:37.800><c> they're</c><00:11:38.519><c> going</c><00:11:38.700><c> to</c><00:11:38.820><c> perform</c><00:11:39.120><c> a</c>

00:11:40.009 --> 00:11:40.019 align:start position:0%
transaction they're going to perform a
 

00:11:40.019 --> 00:11:43.370 align:start position:0%
transaction they're going to perform a
state<00:11:40.260><c> transition</c><00:11:41.060><c> and</c><00:11:42.060><c> produce</c><00:11:42.480><c> a</c><00:11:42.600><c> ZK</c><00:11:42.959><c> proof</c>

00:11:43.370 --> 00:11:43.380 align:start position:0%
state transition and produce a ZK proof
 

00:11:43.380 --> 00:11:45.650 align:start position:0%
state transition and produce a ZK proof
of<00:11:43.500><c> it</c><00:11:43.620><c> with</c><00:11:44.160><c> their</c><00:11:44.339><c> private</c><00:11:44.700><c> inputs</c>

00:11:45.650 --> 00:11:45.660 align:start position:0%
of it with their private inputs
 

00:11:45.660 --> 00:11:48.590 align:start position:0%
of it with their private inputs
and<00:11:46.500><c> that</c><00:11:47.220><c> transaction</c><00:11:47.640><c> is</c><00:11:47.880><c> going</c><00:11:48.060><c> to</c><00:11:48.120><c> send</c><00:11:48.360><c> a</c>

00:11:48.590 --> 00:11:48.600 align:start position:0%
and that transaction is going to send a
 

00:11:48.600 --> 00:11:52.130 align:start position:0%
and that transaction is going to send a
message<00:11:48.779><c> out</c><00:11:49.380><c> to</c><00:11:49.800><c> this</c><00:11:50.459><c> contract</c>

00:11:52.130 --> 00:11:52.140 align:start position:0%
message out to this contract
 

00:11:52.140 --> 00:11:54.949 align:start position:0%
message out to this contract
what<00:11:52.680><c> it's</c><00:11:52.800><c> going</c><00:11:53.040><c> to</c><00:11:53.220><c> record</c><00:11:53.640><c> as</c><00:11:54.240><c> the</c><00:11:54.540><c> output</c>

00:11:54.949 --> 00:11:54.959 align:start position:0%
what it's going to record as the output
 

00:11:54.959 --> 00:11:57.949 align:start position:0%
what it's going to record as the output
of<00:11:55.440><c> that</c><00:11:55.740><c> initial</c><00:11:56.339><c> transaction</c><00:11:56.820><c> is</c><00:11:57.720><c> actually</c>

00:11:57.949 --> 00:11:57.959 align:start position:0%
of that initial transaction is actually
 

00:11:57.959 --> 00:12:01.069 align:start position:0%
of that initial transaction is actually
a<00:11:58.560><c> privately</c><00:11:58.920><c> minted</c><00:11:59.459><c> state</c><00:11:59.940><c> nft</c>

00:12:01.069 --> 00:12:01.079 align:start position:0%
a privately minted state nft
 

00:12:01.079 --> 00:12:05.449 align:start position:0%
a privately minted state nft
which<00:12:01.680><c> commits</c><00:12:02.459><c> to</c><00:12:03.420><c> the</c><00:12:04.140><c> Future</c><00:12:04.440><c> that</c><00:12:05.100><c> this</c>

00:12:05.449 --> 00:12:05.459 align:start position:0%
which commits to the Future that this
 

00:12:05.459 --> 00:12:07.730 align:start position:0%
which commits to the Future that this
computation<00:12:06.060><c> is</c><00:12:06.360><c> supposed</c><00:12:06.540><c> to</c><00:12:06.720><c> be</c><00:12:06.959><c> uh</c>

00:12:07.730 --> 00:12:07.740 align:start position:0%
computation is supposed to be uh
 

00:12:07.740 --> 00:12:10.670 align:start position:0%
computation is supposed to be uh
representing<00:12:08.339><c> so</c><00:12:09.240><c> now</c><00:12:09.660><c> this</c><00:12:09.959><c> user</c><00:12:10.260><c> has</c><00:12:10.440><c> this</c>

00:12:10.670 --> 00:12:10.680 align:start position:0%
representing so now this user has this
 

00:12:10.680 --> 00:12:12.710 align:start position:0%
representing so now this user has this
in<00:12:11.220><c> this</c><00:12:11.399><c> diagram</c><00:12:11.700><c> this</c><00:12:12.000><c> is</c><00:12:12.120><c> the</c><00:12:12.300><c> the</c><00:12:12.480><c> Diamond</c>

00:12:12.710 --> 00:12:12.720 align:start position:0%
in this diagram this is the the Diamond
 

00:12:12.720 --> 00:12:15.470 align:start position:0%
in this diagram this is the the Diamond
is<00:12:13.079><c> this</c><00:12:13.380><c> nft</c><00:12:13.860><c> that</c><00:12:14.399><c> records</c><00:12:14.940><c> the</c><00:12:15.180><c> kind</c><00:12:15.360><c> of</c>

00:12:15.470 --> 00:12:15.480 align:start position:0%
is this nft that records the kind of
 

00:12:15.480 --> 00:12:17.750 align:start position:0%
is this nft that records the kind of
intermediate<00:12:16.079><c> state</c><00:12:16.320><c> of</c><00:12:16.620><c> their</c><00:12:16.980><c> per</c><00:12:17.399><c> user</c>

00:12:17.750 --> 00:12:17.760 align:start position:0%
intermediate state of their per user
 

00:12:17.760 --> 00:12:19.069 align:start position:0%
intermediate state of their per user
computation

00:12:19.069 --> 00:12:19.079 align:start position:0%
computation
 

00:12:19.079 --> 00:12:21.110 align:start position:0%
computation
after<00:12:19.740><c> they</c><00:12:20.040><c> send</c><00:12:20.220><c> that</c><00:12:20.399><c> all</c><00:12:20.519><c> out</c><00:12:20.760><c> to</c><00:12:20.940><c> the</c>

00:12:21.110 --> 00:12:21.120 align:start position:0%
after they send that all out to the
 

00:12:21.120 --> 00:12:23.030 align:start position:0%
after they send that all out to the
chain<00:12:21.240><c> it's</c><00:12:21.540><c> included</c><00:12:21.959><c> in</c><00:12:22.140><c> a</c><00:12:22.260><c> block</c>

00:12:23.030 --> 00:12:23.040 align:start position:0%
chain it's included in a block
 

00:12:23.040 --> 00:12:24.829 align:start position:0%
chain it's included in a block
the<00:12:23.700><c> chain</c><00:12:23.940><c> is</c><00:12:24.180><c> going</c><00:12:24.300><c> to</c><00:12:24.360><c> send</c><00:12:24.480><c> a</c><00:12:24.660><c> message</c>

00:12:24.829 --> 00:12:24.839 align:start position:0%
the chain is going to send a message
 

00:12:24.839 --> 00:12:27.050 align:start position:0%
the chain is going to send a message
back<00:12:25.140><c> by</c><00:12:25.500><c> publishing</c><00:12:25.980><c> data</c><00:12:26.279><c> to</c><00:12:26.459><c> the</c><00:12:26.640><c> the</c><00:12:26.820><c> chain</c>

00:12:27.050 --> 00:12:27.060 align:start position:0%
back by publishing data to the the chain
 

00:12:27.060 --> 00:12:28.550 align:start position:0%
back by publishing data to the the chain
or<00:12:27.300><c> the</c><00:12:27.420><c> contract's</c><00:12:27.839><c> going</c><00:12:28.019><c> to</c><00:12:28.140><c> send</c><00:12:28.260><c> a</c>

00:12:28.550 --> 00:12:28.560 align:start position:0%
or the contract's going to send a
 

00:12:28.560 --> 00:12:30.230 align:start position:0%
or the contract's going to send a
message<00:12:28.680><c> back</c><00:12:28.980><c> by</c><00:12:29.339><c> publishing</c><00:12:29.700><c> the</c><00:12:29.820><c> data</c><00:12:30.120><c> to</c>

00:12:30.230 --> 00:12:30.240 align:start position:0%
message back by publishing the data to
 

00:12:30.240 --> 00:12:32.329 align:start position:0%
message back by publishing the data to
the<00:12:30.360><c> chain</c><00:12:30.540><c> and</c>

00:12:32.329 --> 00:12:32.339 align:start position:0%
the chain and
 

00:12:32.339 --> 00:12:34.190 align:start position:0%
the chain and
we<00:12:32.760><c> take</c><00:12:32.940><c> that</c><00:12:33.120><c> message</c><00:12:33.360><c> from</c><00:12:33.660><c> the</c><00:12:33.779><c> contract</c>

00:12:34.190 --> 00:12:34.200 align:start position:0%
we take that message from the contract
 

00:12:34.200 --> 00:12:36.410 align:start position:0%
we take that message from the contract
combine<00:12:35.040><c> it</c><00:12:35.220><c> with</c><00:12:35.519><c> our</c><00:12:35.760><c> intermediate</c>

00:12:36.410 --> 00:12:36.420 align:start position:0%
combine it with our intermediate
 

00:12:36.420 --> 00:12:39.050 align:start position:0%
combine it with our intermediate
execution<00:12:36.959><c> state</c><00:12:37.800><c> we're</c><00:12:38.160><c> going</c><00:12:38.279><c> to</c><00:12:38.399><c> burn</c><00:12:38.700><c> that</c>

00:12:39.050 --> 00:12:39.060 align:start position:0%
execution state we're going to burn that
 

00:12:39.060 --> 00:12:43.190 align:start position:0%
execution state we're going to burn that
state<00:12:39.800><c> and</c><00:12:40.800><c> inside</c><00:12:41.220><c> of</c><00:12:41.579><c> this</c><00:12:41.700><c> ZK</c><00:12:42.060><c> proof</c><00:12:42.480><c> we</c><00:12:43.079><c> can</c>

00:12:43.190 --> 00:12:43.200 align:start position:0%
state and inside of this ZK proof we can
 

00:12:43.200 --> 00:12:46.009 align:start position:0%
state and inside of this ZK proof we can
now<00:12:43.820><c> prove</c><00:12:44.820><c> that</c><00:12:45.060><c> we've</c><00:12:45.420><c> you</c><00:12:45.600><c> know</c><00:12:45.720><c> modeled</c>

00:12:46.009 --> 00:12:46.019 align:start position:0%
now prove that we've you know modeled
 

00:12:46.019 --> 00:12:48.949 align:start position:0%
now prove that we've you know modeled
the<00:12:46.260><c> correct</c><00:12:46.560><c> future</c><00:12:46.800><c> with</c><00:12:47.279><c> the</c><00:12:47.519><c> correct</c><00:12:47.820><c> uh</c>

00:12:48.949 --> 00:12:48.959 align:start position:0%
the correct future with the correct uh
 

00:12:48.959 --> 00:12:51.290 align:start position:0%
the correct future with the correct uh
you<00:12:49.500><c> know</c><00:12:49.620><c> same</c><00:12:49.920><c> input</c><00:12:50.339><c> values</c><00:12:50.760><c> that</c><00:12:51.000><c> we</c><00:12:51.180><c> had</c>

00:12:51.290 --> 00:12:51.300 align:start position:0%
you know same input values that we had
 

00:12:51.300 --> 00:12:52.970 align:start position:0%
you know same input values that we had
committed<00:12:51.660><c> to</c><00:12:51.839><c> in</c><00:12:52.260><c> the</c><00:12:52.380><c> first</c><00:12:52.500><c> transaction</c>

00:12:52.970 --> 00:12:52.980 align:start position:0%
committed to in the first transaction
 

00:12:52.980 --> 00:12:55.250 align:start position:0%
committed to in the first transaction
and<00:12:53.820><c> now</c><00:12:53.940><c> we</c><00:12:54.180><c> can</c><00:12:54.300><c> privately</c><00:12:54.600><c> mint</c><00:12:54.959><c> some</c>

00:12:55.250 --> 00:12:55.260 align:start position:0%
and now we can privately mint some
 

00:12:55.260 --> 00:12:56.389 align:start position:0%
and now we can privately mint some
outputs

00:12:56.389 --> 00:12:56.399 align:start position:0%
outputs
 

00:12:56.399 --> 00:12:58.670 align:start position:0%
outputs
so<00:12:56.940><c> this</c><00:12:57.240><c> is</c><00:12:57.360><c> this</c><00:12:57.600><c> sort</c><00:12:57.839><c> of</c><00:12:57.959><c> big</c><00:12:58.440><c> picture</c>

00:12:58.670 --> 00:12:58.680 align:start position:0%
so this is this sort of big picture
 

00:12:58.680 --> 00:13:01.970 align:start position:0%
so this is this sort of big picture
diagram<00:12:59.519><c> of</c><00:12:59.820><c> how</c><00:13:00.480><c> this</c><00:13:00.660><c> sort</c><00:13:00.839><c> of</c><00:13:00.959><c> async</c><00:13:01.560><c> ZK</c>

00:13:01.970 --> 00:13:01.980 align:start position:0%
diagram of how this sort of async ZK
 

00:13:01.980 --> 00:13:04.430 align:start position:0%
diagram of how this sort of async ZK
execution<00:13:02.639><c> can</c><00:13:03.000><c> work</c>

00:13:04.430 --> 00:13:04.440 align:start position:0%
execution can work
 

00:13:04.440 --> 00:13:07.190 align:start position:0%
execution can work
um<00:13:04.560><c> in</c><00:13:05.220><c> principle</c>

00:13:07.190 --> 00:13:07.200 align:start position:0%
um in principle
 

00:13:07.200 --> 00:13:10.009 align:start position:0%
um in principle
um<00:13:07.260><c> and</c><00:13:08.160><c> we'll</c><00:13:08.399><c> get</c><00:13:08.579><c> to</c><00:13:08.760><c> a</c><00:13:09.000><c> concrete</c><00:13:09.660><c> example</c>

00:13:10.009 --> 00:13:10.019 align:start position:0%
um and we'll get to a concrete example
 

00:13:10.019 --> 00:13:11.870 align:start position:0%
um and we'll get to a concrete example
of<00:13:10.139><c> how</c><00:13:10.320><c> that</c><00:13:10.500><c> works</c><00:13:10.800><c> out</c><00:13:10.920><c> for</c><00:13:11.279><c> the</c><00:13:11.519><c> case</c><00:13:11.700><c> of</c>

00:13:11.870 --> 00:13:11.880 align:start position:0%
of how that works out for the case of
 

00:13:11.880 --> 00:13:15.170 align:start position:0%
of how that works out for the case of
doing<00:13:12.000><c> batch</c><00:13:12.300><c> swaps</c><00:13:12.959><c> but</c><00:13:13.800><c> before</c><00:13:14.100><c> that</c><00:13:14.459><c> I</c><00:13:15.060><c> just</c>

00:13:15.170 --> 00:13:15.180 align:start position:0%
doing batch swaps but before that I just
 

00:13:15.180 --> 00:13:16.970 align:start position:0%
doing batch swaps but before that I just
want<00:13:15.300><c> to</c><00:13:15.420><c> get</c><00:13:15.540><c> into</c><00:13:15.779><c> this</c><00:13:16.380><c> second</c><00:13:16.560><c> challenge</c>

00:13:16.970 --> 00:13:16.980 align:start position:0%
want to get into this second challenge
 

00:13:16.980 --> 00:13:19.009 align:start position:0%
want to get into this second challenge
which<00:13:17.700><c> is</c>

00:13:19.009 --> 00:13:19.019 align:start position:0%
which is
 

00:13:19.019 --> 00:13:21.949 align:start position:0%
which is
um once<00:13:19.800><c> you</c><00:13:19.920><c> have</c><00:13:20.160><c> an</c><00:13:20.639><c> idea</c><00:13:20.940><c> of</c><00:13:21.120><c> okay</c><00:13:21.600><c> we</c><00:13:21.839><c> have</c>

00:13:21.949 --> 00:13:21.959 align:start position:0%
um once you have an idea of okay we have
 

00:13:21.959 --> 00:13:23.870 align:start position:0%
um once you have an idea of okay we have
maybe<00:13:22.200><c> a</c><00:13:22.440><c> workable</c><00:13:22.680><c> State</c><00:13:22.920><c> model</c><00:13:23.160><c> but</c><00:13:23.459><c> what</c><00:13:23.700><c> is</c>

00:13:23.870 --> 00:13:23.880 align:start position:0%
maybe a workable State model but what is
 

00:13:23.880 --> 00:13:25.550 align:start position:0%
maybe a workable State model but what is
the<00:13:24.000><c> Privacy</c><00:13:24.360><c> model</c><00:13:24.600><c> right</c>

00:13:25.550 --> 00:13:25.560 align:start position:0%
the Privacy model right
 

00:13:25.560 --> 00:13:27.290 align:start position:0%
the Privacy model right
and

00:13:27.290 --> 00:13:27.300 align:start position:0%
and
 

00:13:27.300 --> 00:13:29.449 align:start position:0%
and
the<00:13:27.839><c> the</c><00:13:27.839><c> claim</c><00:13:28.380><c> here</c><00:13:28.500><c> is</c><00:13:28.740><c> that</c><00:13:29.040><c> basically</c>

00:13:29.449 --> 00:13:29.459 align:start position:0%
the the claim here is that basically
 

00:13:29.459 --> 00:13:32.090 align:start position:0%
the the claim here is that basically
every<00:13:29.880><c> useful</c><00:13:30.360><c> blockchain</c><00:13:30.959><c> revolves</c><00:13:31.740><c> around</c>

00:13:32.090 --> 00:13:32.100 align:start position:0%
every useful blockchain revolves around
 

00:13:32.100 --> 00:13:35.389 align:start position:0%
every useful blockchain revolves around
public<00:13:32.820><c> shared</c><00:13:33.480><c> State</c><00:13:33.720><c> that's</c><00:13:34.680><c> why</c><00:13:35.040><c> you</c><00:13:35.339><c> know</c>

00:13:35.389 --> 00:13:35.399 align:start position:0%
public shared State that's why you know
 

00:13:35.399 --> 00:13:36.889 align:start position:0%
public shared State that's why you know
for<00:13:35.579><c> instance</c><00:13:35.760><c> ethereum</c><00:13:36.360><c> is</c><00:13:36.540><c> valuable</c>

00:13:36.889 --> 00:13:36.899 align:start position:0%
for instance ethereum is valuable
 

00:13:36.899 --> 00:13:38.810 align:start position:0%
for instance ethereum is valuable
because<00:13:37.200><c> it</c><00:13:37.500><c> has</c><00:13:37.680><c> everybody's</c><00:13:38.279><c> state</c><00:13:38.399><c> in</c><00:13:38.639><c> it</c>

00:13:38.810 --> 00:13:38.820 align:start position:0%
because it has everybody's state in it
 

00:13:38.820 --> 00:13:40.910 align:start position:0%
because it has everybody's state in it
and<00:13:39.000><c> it's</c><00:13:39.180><c> all</c><00:13:39.420><c> there</c>

00:13:40.910 --> 00:13:40.920 align:start position:0%
and it's all there
 

00:13:40.920 --> 00:13:42.829 align:start position:0%
and it's all there
um<00:13:41.040><c> so</c><00:13:41.459><c> the</c><00:13:41.700><c> idea</c><00:13:41.940><c> of</c><00:13:42.120><c> like</c><00:13:42.240><c> oh</c><00:13:42.420><c> well</c><00:13:42.600><c> we're</c>

00:13:42.829 --> 00:13:42.839 align:start position:0%
um so the idea of like oh well we're
 

00:13:42.839 --> 00:13:45.170 align:start position:0%
um so the idea of like oh well we're
gonna<00:13:42.959><c> just</c><00:13:43.320><c> like</c><00:13:43.560><c> make</c><00:13:43.920><c> everything</c><00:13:44.339><c> private</c>

00:13:45.170 --> 00:13:45.180 align:start position:0%
gonna just like make everything private
 

00:13:45.180 --> 00:13:47.269 align:start position:0%
gonna just like make everything private
and<00:13:45.660><c> like</c><00:13:45.899><c> everything</c><00:13:46.320><c> will</c><00:13:46.680><c> be</c><00:13:46.860><c> completely</c>

00:13:47.269 --> 00:13:47.279 align:start position:0%
and like everything will be completely
 

00:13:47.279 --> 00:13:49.550 align:start position:0%
and like everything will be completely
private<00:13:47.639><c> doesn't</c><00:13:47.880><c> actually</c><00:13:48.120><c> work</c><00:13:48.480><c> because</c><00:13:48.839><c> in</c>

00:13:49.550 --> 00:13:49.560 align:start position:0%
private doesn't actually work because in
 

00:13:49.560 --> 00:13:51.110 align:start position:0%
private doesn't actually work because in
fact<00:13:49.680><c> like</c><00:13:49.980><c> the</c><00:13:50.220><c> reason</c><00:13:50.339><c> that</c><00:13:50.700><c> we're</c><00:13:50.880><c> we're</c>

00:13:51.110 --> 00:13:51.120 align:start position:0%
fact like the reason that we're we're
 

00:13:51.120 --> 00:13:54.050 align:start position:0%
fact like the reason that we're we're
using<00:13:51.540><c> the</c><00:13:51.720><c> coordination</c><00:13:52.139><c> tool</c><00:13:53.040><c> is</c><00:13:53.700><c> so</c><00:13:53.940><c> that</c>

00:13:54.050 --> 00:13:54.060 align:start position:0%
using the coordination tool is so that
 

00:13:54.060 --> 00:13:55.850 align:start position:0%
using the coordination tool is so that
we<00:13:54.240><c> can</c><00:13:54.360><c> coordinate</c><00:13:54.779><c> nobody</c><00:13:55.200><c> wants</c><00:13:55.440><c> to</c><00:13:55.560><c> use</c><00:13:55.680><c> a</c>

00:13:55.850 --> 00:13:55.860 align:start position:0%
we can coordinate nobody wants to use a
 

00:13:55.860 --> 00:13:57.590 align:start position:0%
we can coordinate nobody wants to use a
market<00:13:56.040><c> where</c><00:13:56.399><c> they</c><00:13:56.700><c> have</c><00:13:56.820><c> no</c><00:13:57.000><c> idea</c><00:13:57.240><c> what</c><00:13:57.420><c> the</c>

00:13:57.590 --> 00:13:57.600 align:start position:0%
market where they have no idea what the
 

00:13:57.600 --> 00:14:00.290 align:start position:0%
market where they have no idea what the
liquidity<00:13:58.019><c> is</c><00:13:58.279><c> or</c><00:13:59.279><c> what</c><00:13:59.459><c> prices</c><00:13:59.700><c> they</c><00:14:00.120><c> might</c>

00:14:00.290 --> 00:14:00.300 align:start position:0%
liquidity is or what prices they might
 

00:14:00.300 --> 00:14:03.530 align:start position:0%
liquidity is or what prices they might
get<00:14:00.540><c> or</c><00:14:01.139><c> you</c><00:14:01.560><c> know</c><00:14:01.620><c> what</c><00:14:01.920><c> the</c><00:14:02.040><c> volume</c><00:14:02.279><c> is</c>

00:14:03.530 --> 00:14:03.540 align:start position:0%
get or you know what the volume is
 

00:14:03.540 --> 00:14:04.670 align:start position:0%
get or you know what the volume is
um

00:14:04.670 --> 00:14:04.680 align:start position:0%
um
 

00:14:04.680 --> 00:14:07.069 align:start position:0%
um
and<00:14:05.639><c> all</c><00:14:06.120><c> of</c><00:14:06.240><c> the</c>

00:14:07.069 --> 00:14:07.079 align:start position:0%
and all of the
 

00:14:07.079 --> 00:14:10.790 align:start position:0%
and all of the
the<00:14:07.440><c> sort</c><00:14:07.800><c> of</c><00:14:07.920><c> big</c><00:14:08.100><c> breakout</c><00:14:08.639><c> successes</c><00:14:09.360><c> uh</c>

00:14:10.790 --> 00:14:10.800 align:start position:0%
the sort of big breakout successes uh
 

00:14:10.800 --> 00:14:13.490 align:start position:0%
the sort of big breakout successes uh
of<00:14:11.279><c> of</c><00:14:11.339><c> useful</c><00:14:12.060><c> contracts</c><00:14:12.600><c> have</c><00:14:12.899><c> the</c>

00:14:13.490 --> 00:14:13.500 align:start position:0%
of of useful contracts have the
 

00:14:13.500 --> 00:14:16.370 align:start position:0%
of of useful contracts have the
contracts<00:14:14.160><c> uh</c><00:14:15.000><c> public</c><00:14:15.180><c> shared</c><00:14:15.600><c> State</c><00:14:15.779><c> acting</c>

00:14:16.370 --> 00:14:16.380 align:start position:0%
contracts uh public shared State acting
 

00:14:16.380 --> 00:14:18.170 align:start position:0%
contracts uh public shared State acting
as<00:14:16.500><c> this</c><00:14:16.740><c> kind</c><00:14:16.920><c> of</c><00:14:16.980><c> universal</c><00:14:17.459><c> counterparty</c>

00:14:18.170 --> 00:14:18.180 align:start position:0%
as this kind of universal counterparty
 

00:14:18.180 --> 00:14:20.030 align:start position:0%
as this kind of universal counterparty
so<00:14:18.480><c> you</c><00:14:18.779><c> don't</c><00:14:18.899><c> need</c><00:14:19.019><c> to</c><00:14:19.139><c> go</c><00:14:19.320><c> and</c><00:14:19.440><c> find</c><00:14:19.740><c> some</c>

00:14:20.030 --> 00:14:20.040 align:start position:0%
so you don't need to go and find some
 

00:14:20.040 --> 00:14:21.650 align:start position:0%
so you don't need to go and find some
some<00:14:20.339><c> person</c><00:14:20.579><c> to</c><00:14:20.880><c> interact</c><00:14:21.120><c> with</c><00:14:21.300><c> you</c><00:14:21.540><c> can</c>

00:14:21.650 --> 00:14:21.660 align:start position:0%
some person to interact with you can
 

00:14:21.660 --> 00:14:23.569 align:start position:0%
some person to interact with you can
just<00:14:21.779><c> interact</c><00:14:22.200><c> with</c><00:14:22.380><c> the</c><00:14:22.560><c> chain</c><00:14:22.680><c> so</c><00:14:23.279><c> we</c><00:14:23.399><c> need</c>

00:14:23.569 --> 00:14:23.579 align:start position:0%
just interact with the chain so we need
 

00:14:23.579 --> 00:14:25.850 align:start position:0%
just interact with the chain so we need
to<00:14:23.700><c> have</c><00:14:23.820><c> public</c><00:14:24.060><c> shared</c><00:14:24.480><c> state</c><00:14:24.660><c> but</c><00:14:25.500><c> you</c><00:14:25.800><c> know</c>

00:14:25.850 --> 00:14:25.860 align:start position:0%
to have public shared state but you know
 

00:14:25.860 --> 00:14:27.949 align:start position:0%
to have public shared state but you know
maybe<00:14:26.040><c> we</c><00:14:26.279><c> want</c><00:14:26.399><c> it</c><00:14:26.519><c> to</c><00:14:26.639><c> be</c><00:14:26.760><c> private</c><00:14:27.120><c> so</c><00:14:27.540><c> what</c>

00:14:27.949 --> 00:14:27.959 align:start position:0%
maybe we want it to be private so what
 

00:14:27.959 --> 00:14:29.990 align:start position:0%
maybe we want it to be private so what
what<00:14:28.079><c> does</c><00:14:28.740><c> that</c><00:14:28.920><c> mean</c><00:14:29.100><c> exactly</c><00:14:29.459><c> right</c><00:14:29.700><c> this</c>

00:14:29.990 --> 00:14:30.000 align:start position:0%
what does that mean exactly right this
 

00:14:30.000 --> 00:14:31.850 align:start position:0%
what does that mean exactly right this
question<00:14:30.240><c> the</c><00:14:30.540><c> question</c><00:14:30.720><c> is</c><00:14:30.839><c> like</c><00:14:31.139><c> how</c><00:14:31.620><c> do</c><00:14:31.740><c> you</c>

00:14:31.850 --> 00:14:31.860 align:start position:0%
question the question is like how do you
 

00:14:31.860 --> 00:14:35.329 align:start position:0%
question the question is like how do you
allow<00:14:32.240><c> private</c><00:14:33.240><c> interaction</c><00:14:33.860><c> with</c><00:14:34.860><c> public</c>

00:14:35.329 --> 00:14:35.339 align:start position:0%
allow private interaction with public
 

00:14:35.339 --> 00:14:37.370 align:start position:0%
allow private interaction with public
shared<00:14:35.880><c> State</c>

00:14:37.370 --> 00:14:37.380 align:start position:0%
shared State
 

00:14:37.380 --> 00:14:40.550 align:start position:0%
shared State
um we<00:14:37.860><c> want</c><00:14:37.980><c> to</c><00:14:38.160><c> have</c><00:14:38.720><c> uh</c><00:14:39.720><c> some</c><00:14:40.260><c> kind</c><00:14:40.440><c> of</c>

00:14:40.550 --> 00:14:40.560 align:start position:0%
um we want to have uh some kind of
 

00:14:40.560 --> 00:14:43.730 align:start position:0%
um we want to have uh some kind of
notion<00:14:40.920><c> where</c><00:14:41.339><c> the</c><00:14:42.300><c> individual</c><00:14:43.260><c> users</c>

00:14:43.730 --> 00:14:43.740 align:start position:0%
notion where the individual users
 

00:14:43.740 --> 00:14:46.069 align:start position:0%
notion where the individual users
transactions<00:14:44.519><c> have</c><00:14:44.820><c> privacy</c><00:14:45.300><c> but</c><00:14:45.600><c> all</c><00:14:45.779><c> of</c><00:14:45.899><c> the</c>

00:14:46.069 --> 00:14:46.079 align:start position:0%
transactions have privacy but all of the
 

00:14:46.079 --> 00:14:48.170 align:start position:0%
transactions have privacy but all of the
aggregate<00:14:46.620><c> state</c><00:14:47.220><c> of</c><00:14:47.399><c> the</c><00:14:47.519><c> chain</c><00:14:47.639><c> like</c><00:14:47.880><c> you</c>

00:14:48.170 --> 00:14:48.180 align:start position:0%
aggregate state of the chain like you
 

00:14:48.180 --> 00:14:49.970 align:start position:0%
aggregate state of the chain like you
know<00:14:48.300><c> all</c><00:14:48.480><c> of</c><00:14:48.600><c> the</c><00:14:48.720><c> aggregate</c><00:14:49.139><c> Market</c><00:14:49.320><c> data</c><00:14:49.800><c> is</c>

00:14:49.970 --> 00:14:49.980 align:start position:0%
know all of the aggregate Market data is
 

00:14:49.980 --> 00:14:52.310 align:start position:0%
know all of the aggregate Market data is
public<00:14:50.279><c> but</c><00:14:51.000><c> the</c><00:14:51.180><c> individual</c><00:14:51.600><c> users</c><00:14:51.959><c> trades</c>

00:14:52.310 --> 00:14:52.320 align:start position:0%
public but the individual users trades
 

00:14:52.320 --> 00:14:54.650 align:start position:0%
public but the individual users trades
are<00:14:52.500><c> not</c><00:14:52.680><c> so</c><00:14:53.399><c> here's</c><00:14:53.699><c> two</c><00:14:53.880><c> basic</c><00:14:54.240><c> strategies</c>

00:14:54.650 --> 00:14:54.660 align:start position:0%
are not so here's two basic strategies
 

00:14:54.660 --> 00:14:56.870 align:start position:0%
are not so here's two basic strategies
of<00:14:54.839><c> how</c><00:14:55.019><c> you</c><00:14:55.139><c> could</c><00:14:55.320><c> have</c><00:14:55.560><c> a</c><00:14:56.399><c> private</c>

00:14:56.870 --> 00:14:56.880 align:start position:0%
of how you could have a private
 

00:14:56.880 --> 00:14:59.750 align:start position:0%
of how you could have a private
interaction<00:14:57.300><c> with</c><00:14:57.660><c> public</c><00:14:57.839><c> State</c><00:14:58.339><c> one</c><00:14:59.339><c> is</c>

00:14:59.750 --> 00:14:59.760 align:start position:0%
interaction with public State one is
 

00:14:59.760 --> 00:15:01.970 align:start position:0%
interaction with public State one is
splitting<00:15:00.480><c> flows</c><00:15:00.959><c> and</c><00:15:01.320><c> the</c><00:15:01.440><c> other</c><00:15:01.560><c> is</c>

00:15:01.970 --> 00:15:01.980 align:start position:0%
splitting flows and the other is
 

00:15:01.980 --> 00:15:05.509 align:start position:0%
splitting flows and the other is
batching<00:15:02.579><c> flows</c><00:15:03.000><c> when</c><00:15:03.600><c> I</c><00:15:03.779><c> say</c><00:15:03.899><c> flow</c><00:15:04.519><c> the</c>

00:15:05.509 --> 00:15:05.519 align:start position:0%
batching flows when I say flow the
 

00:15:05.519 --> 00:15:07.550 align:start position:0%
batching flows when I say flow the
reason<00:15:05.639><c> I</c><00:15:05.940><c> use</c><00:15:06.420><c> that</c><00:15:06.600><c> word</c><00:15:06.779><c> is</c><00:15:06.959><c> that</c><00:15:07.139><c> I</c><00:15:07.260><c> think</c>

00:15:07.550 --> 00:15:07.560 align:start position:0%
reason I use that word is that I think
 

00:15:07.560 --> 00:15:08.990 align:start position:0%
reason I use that word is that I think
of

00:15:08.990 --> 00:15:09.000 align:start position:0%
of
 

00:15:09.000 --> 00:15:11.629 align:start position:0%
of
um<00:15:09.060><c> you</c><00:15:09.300><c> know</c><00:15:09.360><c> value</c><00:15:09.800><c> being</c><00:15:10.800><c> in</c><00:15:11.100><c> in</c><00:15:11.399><c> different</c>

00:15:11.629 --> 00:15:11.639 align:start position:0%
um you know value being in in different
 

00:15:11.639 --> 00:15:15.230 align:start position:0%
um you know value being in in different
sort<00:15:12.060><c> of</c><00:15:12.180><c> pieces</c><00:15:12.899><c> of</c><00:15:13.500><c> the</c><00:15:13.860><c> chain</c><00:15:14.100><c> State</c><00:15:14.459><c> and</c><00:15:15.120><c> as</c>

00:15:15.230 --> 00:15:15.240 align:start position:0%
sort of pieces of the chain State and as
 

00:15:15.240 --> 00:15:16.490 align:start position:0%
sort of pieces of the chain State and as
people<00:15:15.480><c> do</c><00:15:15.779><c> things</c><00:15:15.959><c> you're</c><00:15:16.139><c> going</c><00:15:16.320><c> to</c><00:15:16.380><c> have</c>

00:15:16.490 --> 00:15:16.500 align:start position:0%
people do things you're going to have
 

00:15:16.500 --> 00:15:18.889 align:start position:0%
people do things you're going to have
flows<00:15:16.980><c> of</c><00:15:17.160><c> value</c><00:15:17.459><c> between</c><00:15:18.360><c> different</c>

00:15:18.889 --> 00:15:18.899 align:start position:0%
flows of value between different
 

00:15:18.899 --> 00:15:21.290 align:start position:0%
flows of value between different
portions<00:15:19.560><c> of</c><00:15:19.800><c> the</c><00:15:19.920><c> chain</c><00:15:20.100><c> State</c><00:15:20.399><c> and</c><00:15:21.060><c> we</c><00:15:21.180><c> want</c>

00:15:21.290 --> 00:15:21.300 align:start position:0%
portions of the chain State and we want
 

00:15:21.300 --> 00:15:24.110 align:start position:0%
portions of the chain State and we want
to<00:15:21.420><c> have</c><00:15:21.540><c> some</c><00:15:21.839><c> kind</c><00:15:22.019><c> of</c><00:15:22.079><c> system</c><00:15:22.320><c> where</c><00:15:23.120><c> people</c>

00:15:24.110 --> 00:15:24.120 align:start position:0%
to have some kind of system where people
 

00:15:24.120 --> 00:15:26.689 align:start position:0%
to have some kind of system where people
can<00:15:25.019><c> have</c><00:15:25.560><c> privacy</c><00:15:26.040><c> about</c><00:15:26.220><c> what</c><00:15:26.579><c> their</c>

00:15:26.689 --> 00:15:26.699 align:start position:0%
can have privacy about what their
 

00:15:26.699 --> 00:15:29.150 align:start position:0%
can have privacy about what their
contribution<00:15:27.240><c> to</c><00:15:27.720><c> that</c><00:15:28.019><c> specific</c><00:15:28.380><c> flow</c><00:15:28.980><c> is</c>

00:15:29.150 --> 00:15:29.160 align:start position:0%
contribution to that specific flow is
 

00:15:29.160 --> 00:15:33.050 align:start position:0%
contribution to that specific flow is
but<00:15:29.820><c> still</c><00:15:30.060><c> have</c><00:15:30.300><c> a</c><00:15:30.540><c> sort</c><00:15:31.139><c> of</c><00:15:31.320><c> overall</c>

00:15:33.050 --> 00:15:33.060 align:start position:0%
but still have a sort of overall
 

00:15:33.060 --> 00:15:33.949 align:start position:0%
but still have a sort of overall
um

00:15:33.949 --> 00:15:33.959 align:start position:0%
um
 

00:15:33.959 --> 00:15:36.350 align:start position:0%
um
a<00:15:34.440><c> transparent</c><00:15:35.040><c> aggregate</c>

00:15:36.350 --> 00:15:36.360 align:start position:0%
a transparent aggregate
 

00:15:36.360 --> 00:15:39.310 align:start position:0%
a transparent aggregate
so<00:15:36.839><c> looking</c><00:15:36.959><c> at</c><00:15:37.260><c> these</c><00:15:37.620><c> two</c><00:15:37.800><c> in</c><00:15:38.220><c> turn</c>

00:15:39.310 --> 00:15:39.320 align:start position:0%
so looking at these two in turn
 

00:15:39.320 --> 00:15:42.050 align:start position:0%
so looking at these two in turn
for<00:15:40.320><c> splitting</c><00:15:40.740><c> flows</c><00:15:41.040><c> the</c><00:15:41.339><c> idea</c><00:15:41.579><c> is</c><00:15:41.820><c> that</c>

00:15:42.050 --> 00:15:42.060 align:start position:0%
for splitting flows the idea is that
 

00:15:42.060 --> 00:15:44.030 align:start position:0%
for splitting flows the idea is that
we're<00:15:42.240><c> going</c><00:15:42.420><c> to</c><00:15:42.540><c> start</c><00:15:42.720><c> off</c><00:15:42.899><c> with</c><00:15:43.260><c> some</c><00:15:43.620><c> users</c>

00:15:44.030 --> 00:15:44.040 align:start position:0%
we're going to start off with some users
 

00:15:44.040 --> 00:15:46.310 align:start position:0%
we're going to start off with some users
value<00:15:45.000><c> that</c><00:15:45.360><c> you</c><00:15:45.540><c> know</c><00:15:45.600><c> this</c><00:15:45.720><c> maybe</c><00:15:45.959><c> this</c><00:15:46.139><c> is</c>

00:15:46.310 --> 00:15:46.320 align:start position:0%
value that you know this maybe this is
 

00:15:46.320 --> 00:15:48.170 align:start position:0%
value that you know this maybe this is
an<00:15:46.500><c> amount</c><00:15:46.800><c> that</c><00:15:46.980><c> they</c><00:15:47.100><c> want</c><00:15:47.279><c> to</c><00:15:47.399><c> trade</c><00:15:47.579><c> they</c>

00:15:48.170 --> 00:15:48.180 align:start position:0%
an amount that they want to trade they
 

00:15:48.180 --> 00:15:49.730 align:start position:0%
an amount that they want to trade they
can<00:15:48.300><c> split</c><00:15:48.600><c> that</c><00:15:48.779><c> into</c><00:15:48.959><c> randomized</c><00:15:49.560><c> sub</c>

00:15:49.730 --> 00:15:49.740 align:start position:0%
can split that into randomized sub
 

00:15:49.740 --> 00:15:52.970 align:start position:0%
can split that into randomized sub
amounts<00:15:50.279><c> and</c><00:15:51.060><c> then</c><00:15:51.240><c> reveal</c><00:15:51.959><c> each</c><00:15:52.620><c> of</c><00:15:52.740><c> those</c>

00:15:52.970 --> 00:15:52.980 align:start position:0%
amounts and then reveal each of those
 

00:15:52.980 --> 00:15:56.210 align:start position:0%
amounts and then reveal each of those
sub<00:15:53.160><c> amounts</c><00:15:53.699><c> in</c><00:15:54.060><c> distinct</c><00:15:54.480><c> transactions</c><00:15:55.260><c> and</c>

00:15:56.210 --> 00:15:56.220 align:start position:0%
sub amounts in distinct transactions and
 

00:15:56.220 --> 00:15:57.189 align:start position:0%
sub amounts in distinct transactions and
then

00:15:57.189 --> 00:15:57.199 align:start position:0%
then
 

00:15:57.199 --> 00:16:01.310 align:start position:0%
then
reunify<00:15:58.199><c> them</c><00:15:58.500><c> later</c><00:15:59.220><c> so</c><00:16:00.120><c> this</c><00:16:00.480><c> method</c><00:16:00.839><c> only</c>

00:16:01.310 --> 00:16:01.320 align:start position:0%
reunify them later so this method only
 

00:16:01.320 --> 00:16:04.069 align:start position:0%
reunify them later so this method only
works<00:16:01.740><c> if</c><00:16:02.160><c> you</c><00:16:02.339><c> have</c><00:16:02.639><c> a</c><00:16:03.120><c> shielded</c><00:16:03.540><c> base</c><00:16:03.720><c> layer</c>

00:16:04.069 --> 00:16:04.079 align:start position:0%
works if you have a shielded base layer
 

00:16:04.079 --> 00:16:06.230 align:start position:0%
works if you have a shielded base layer
if<00:16:04.680><c> you</c><00:16:04.800><c> have</c><00:16:04.920><c> a</c><00:16:05.160><c> transparent</c><00:16:05.579><c> based</c><00:16:05.940><c> layer</c>

00:16:06.230 --> 00:16:06.240 align:start position:0%
if you have a transparent based layer
 

00:16:06.240 --> 00:16:08.449 align:start position:0%
if you have a transparent based layer
then<00:16:06.899><c> this</c><00:16:07.260><c> like</c><00:16:07.440><c> is</c><00:16:07.680><c> trivially</c><00:16:08.160><c> broken</c>

00:16:08.449 --> 00:16:08.459 align:start position:0%
then this like is trivially broken
 

00:16:08.459 --> 00:16:09.949 align:start position:0%
then this like is trivially broken
because<00:16:08.880><c> you</c><00:16:09.060><c> just</c><00:16:09.240><c> like</c><00:16:09.360><c> look</c><00:16:09.540><c> at</c><00:16:09.720><c> what</c><00:16:09.899><c> the</c>

00:16:09.949 --> 00:16:09.959 align:start position:0%
because you just like look at what the
 

00:16:09.959 --> 00:16:12.170 align:start position:0%
because you just like look at what the
account<00:16:10.079><c> was</c><00:16:10.380><c> and</c><00:16:10.620><c> then</c><00:16:10.740><c> you</c><00:16:10.980><c> can</c><00:16:11.100><c> see</c><00:16:11.339><c> what</c><00:16:12.000><c> it</c>

00:16:12.170 --> 00:16:12.180 align:start position:0%
account was and then you can see what it
 

00:16:12.180 --> 00:16:14.750 align:start position:0%
account was and then you can see what it
did<00:16:12.300><c> but</c><00:16:13.079><c> if</c><00:16:13.620><c> everything</c><00:16:13.860><c> else</c><00:16:14.100><c> is</c><00:16:14.339><c> private</c>

00:16:14.750 --> 00:16:14.760 align:start position:0%
did but if everything else is private
 

00:16:14.760 --> 00:16:16.910 align:start position:0%
did but if everything else is private
and<00:16:14.940><c> you're</c><00:16:15.120><c> only</c><00:16:15.300><c> revealing</c><00:16:15.839><c> like</c><00:16:16.139><c> here</c><00:16:16.500><c> is</c><00:16:16.680><c> a</c>

00:16:16.910 --> 00:16:16.920 align:start position:0%
and you're only revealing like here is a
 

00:16:16.920 --> 00:16:18.769 align:start position:0%
and you're only revealing like here is a
specific<00:16:17.160><c> amount</c><00:16:17.579><c> that</c><00:16:17.820><c> I'm</c><00:16:18.000><c> sending</c><00:16:18.360><c> to</c><00:16:18.600><c> this</c>

00:16:18.769 --> 00:16:18.779 align:start position:0%
specific amount that I'm sending to this
 

00:16:18.779 --> 00:16:21.110 align:start position:0%
specific amount that I'm sending to this
part<00:16:19.079><c> of</c><00:16:19.260><c> the</c><00:16:19.320><c> system</c><00:16:19.500><c> like</c><00:16:19.920><c> this</c><00:16:20.459><c> is</c><00:16:20.579><c> a</c><00:16:20.820><c> a</c>

00:16:21.110 --> 00:16:21.120 align:start position:0%
part of the system like this is a a
 

00:16:21.120 --> 00:16:22.910 align:start position:0%
part of the system like this is a a
public<00:16:21.660><c> delegation</c><00:16:22.199><c> amount</c><00:16:22.560><c> to</c><00:16:22.800><c> some</c>

00:16:22.910 --> 00:16:22.920 align:start position:0%
public delegation amount to some
 

00:16:22.920 --> 00:16:25.550 align:start position:0%
public delegation amount to some
validator<00:16:23.459><c> this</c><00:16:24.180><c> is</c><00:16:24.300><c> like</c><00:16:24.480><c> an</c><00:16:24.660><c> amount</c><00:16:24.959><c> in</c><00:16:25.260><c> in</c>

00:16:25.550 --> 00:16:25.560 align:start position:0%
validator this is like an amount in in
 

00:16:25.560 --> 00:16:29.150 align:start position:0%
validator this is like an amount in in
one<00:16:25.980><c> sort</c><00:16:26.279><c> of</c><00:16:26.399><c> randomized</c><00:16:27.060><c> sub</c><00:16:27.300><c> trade</c><00:16:28.160><c> this</c>

00:16:29.150 --> 00:16:29.160 align:start position:0%
one sort of randomized sub trade this
 

00:16:29.160 --> 00:16:32.689 align:start position:0%
one sort of randomized sub trade this
might<00:16:29.339><c> be</c><00:16:29.519><c> okay</c><00:16:29.959><c> and</c><00:16:30.959><c> it's</c><00:16:31.800><c> a</c><00:16:31.980><c> it's</c><00:16:32.220><c> a</c><00:16:32.339><c> fairly</c>

00:16:32.689 --> 00:16:32.699 align:start position:0%
might be okay and it's a it's a fairly
 

00:16:32.699 --> 00:16:35.030 align:start position:0%
might be okay and it's a it's a fairly
practical<00:16:33.300><c> and</c><00:16:33.660><c> simple</c><00:16:34.079><c> thing</c><00:16:34.380><c> however</c><00:16:34.860><c> it's</c>

00:16:35.030 --> 00:16:35.040 align:start position:0%
practical and simple thing however it's
 

00:16:35.040 --> 00:16:38.090 align:start position:0%
practical and simple thing however it's
it's<00:16:35.279><c> not</c><00:16:35.519><c> really</c><00:16:35.820><c> ideal</c><00:16:36.600><c> so</c><00:16:37.380><c> the</c><00:16:37.980><c> other</c>

00:16:38.090 --> 00:16:38.100 align:start position:0%
it's not really ideal so the other
 

00:16:38.100 --> 00:16:40.249 align:start position:0%
it's not really ideal so the other
strategy<00:16:38.639><c> which</c><00:16:39.000><c> is</c><00:16:39.180><c> more</c><00:16:39.540><c> interesting</c><00:16:39.899><c> and</c>

00:16:40.249 --> 00:16:40.259 align:start position:0%
strategy which is more interesting and
 

00:16:40.259 --> 00:16:42.949 align:start position:0%
strategy which is more interesting and
more<00:16:40.800><c> cool</c><00:16:40.980><c> is</c><00:16:41.279><c> this</c><00:16:41.459><c> idea</c><00:16:41.759><c> of</c><00:16:41.880><c> batching</c><00:16:42.540><c> flows</c>

00:16:42.949 --> 00:16:42.959 align:start position:0%
more cool is this idea of batching flows
 

00:16:42.959 --> 00:16:44.569 align:start position:0%
more cool is this idea of batching flows
so<00:16:43.380><c> if</c><00:16:43.500><c> we</c><00:16:43.620><c> know</c><00:16:43.740><c> that</c><00:16:43.920><c> we're</c><00:16:44.160><c> already</c><00:16:44.339><c> going</c>

00:16:44.569 --> 00:16:44.579 align:start position:0%
so if we know that we're already going
 

00:16:44.579 --> 00:16:47.389 align:start position:0%
so if we know that we're already going
to<00:16:44.639><c> be</c><00:16:44.699><c> processing</c><00:16:45.300><c> uh</c><00:16:46.500><c> uh</c><00:16:46.680><c> the</c><00:16:47.040><c> contract</c>

00:16:47.389 --> 00:16:47.399 align:start position:0%
to be processing uh uh the contract
 

00:16:47.399 --> 00:16:49.430 align:start position:0%
to be processing uh uh the contract
state<00:16:47.699><c> in</c><00:16:48.060><c> batches</c><00:16:48.540><c> it</c><00:16:48.839><c> would</c><00:16:48.899><c> be</c><00:16:49.079><c> nice</c><00:16:49.259><c> to</c>

00:16:49.430 --> 00:16:49.440 align:start position:0%
state in batches it would be nice to
 

00:16:49.440 --> 00:16:52.069 align:start position:0%
state in batches it would be nice to
have<00:16:49.560><c> a</c><00:16:49.740><c> way</c><00:16:49.860><c> to</c><00:16:50.160><c> batch</c><00:16:50.339><c> up</c><00:16:50.579><c> flows</c>

00:16:52.069 --> 00:16:52.079 align:start position:0%
have a way to batch up flows
 

00:16:52.079 --> 00:16:54.530 align:start position:0%
have a way to batch up flows
um<00:16:52.199><c> we</c><00:16:52.620><c> do</c><00:16:52.740><c> this</c><00:16:52.860><c> using</c><00:16:53.339><c> a</c><00:16:53.579><c> construction</c><00:16:54.060><c> that</c>

00:16:54.530 --> 00:16:54.540 align:start position:0%
um we do this using a construction that
 

00:16:54.540 --> 00:16:56.269 align:start position:0%
um we do this using a construction that
we<00:16:54.660><c> we're</c><00:16:54.839><c> calling</c><00:16:55.139><c> flow</c><00:16:55.560><c> encryption</c><00:16:55.980><c> which</c>

00:16:56.269 --> 00:16:56.279 align:start position:0%
we we're calling flow encryption which
 

00:16:56.279 --> 00:16:58.269 align:start position:0%
we we're calling flow encryption which
is<00:16:56.519><c> effectively</c>

00:16:58.269 --> 00:16:58.279 align:start position:0%
is effectively
 

00:16:58.279 --> 00:17:01.249 align:start position:0%
is effectively
additively<00:16:59.279><c> homomorphic</c><00:17:00.259><c> threshold</c>

00:17:01.249 --> 00:17:01.259 align:start position:0%
additively homomorphic threshold
 

00:17:01.259 --> 00:17:04.370 align:start position:0%
additively homomorphic threshold
encryption<00:17:01.940><c> uh</c><00:17:02.940><c> with</c><00:17:03.300><c> sort</c><00:17:03.720><c> of</c><00:17:03.839><c> end-to-end</c>

00:17:04.370 --> 00:17:04.380 align:start position:0%
encryption uh with sort of end-to-end
 

00:17:04.380 --> 00:17:07.069 align:start position:0%
encryption uh with sort of end-to-end
verifiability<00:17:05.220><c> once</c><00:17:06.000><c> you've</c><00:17:06.120><c> tacked</c><00:17:06.600><c> on</c><00:17:06.720><c> you</c>

00:17:07.069 --> 00:17:07.079 align:start position:0%
verifiability once you've tacked on you
 

00:17:07.079 --> 00:17:08.510 align:start position:0%
verifiability once you've tacked on you
know<00:17:07.140><c> six</c><00:17:07.439><c> different</c><00:17:07.679><c> properties</c><00:17:08.160><c> you</c><00:17:08.459><c> might</c>

00:17:08.510 --> 00:17:08.520 align:start position:0%
know six different properties you might
 

00:17:08.520 --> 00:17:10.390 align:start position:0%
know six different properties you might
as<00:17:08.640><c> well</c><00:17:08.760><c> give</c><00:17:08.939><c> it</c><00:17:09.059><c> a</c><00:17:09.240><c> distinct</c><00:17:09.540><c> name</c>

00:17:10.390 --> 00:17:10.400 align:start position:0%
as well give it a distinct name
 

00:17:10.400 --> 00:17:13.669 align:start position:0%
as well give it a distinct name
but<00:17:11.400><c> the</c><00:17:11.699><c> idea</c><00:17:11.939><c> is</c><00:17:12.179><c> that</c><00:17:12.540><c> each</c><00:17:13.199><c> individual</c>

00:17:13.669 --> 00:17:13.679 align:start position:0%
but the idea is that each individual
 

00:17:13.679 --> 00:17:16.490 align:start position:0%
but the idea is that each individual
user<00:17:14.160><c> with</c><00:17:14.520><c> their</c><00:17:15.000><c> you</c><00:17:15.959><c> know</c><00:17:16.079><c> distinct</c>

00:17:16.490 --> 00:17:16.500 align:start position:0%
user with their you know distinct
 

00:17:16.500 --> 00:17:19.730 align:start position:0%
user with their you know distinct
contribution<00:17:17.100><c> to</c><00:17:17.459><c> this</c><00:17:17.640><c> flow</c><00:17:17.939><c> can</c><00:17:18.720><c> encrypt</c><00:17:19.380><c> an</c>

00:17:19.730 --> 00:17:19.740 align:start position:0%
contribution to this flow can encrypt an
 

00:17:19.740 --> 00:17:21.189 align:start position:0%
contribution to this flow can encrypt an
integer<00:17:20.160><c> amount</c>

00:17:21.189 --> 00:17:21.199 align:start position:0%
integer amount
 

00:17:21.199 --> 00:17:24.590 align:start position:0%
integer amount
uh<00:17:22.199><c> include</c><00:17:22.860><c> that</c><00:17:23.040><c> in</c><00:17:23.339><c> their</c><00:17:23.459><c> transaction</c><00:17:23.880><c> and</c>

00:17:24.590 --> 00:17:24.600 align:start position:0%
uh include that in their transaction and
 

00:17:24.600 --> 00:17:27.169 align:start position:0%
uh include that in their transaction and
then<00:17:24.720><c> the</c><00:17:24.900><c> validators</c><00:17:25.380><c> can</c><00:17:25.740><c> sum</c><00:17:25.980><c> up</c><00:17:26.179><c> those</c>

00:17:27.169 --> 00:17:27.179 align:start position:0%
then the validators can sum up those
 

00:17:27.179 --> 00:17:29.750 align:start position:0%
then the validators can sum up those
encryptions<00:17:27.959><c> and</c><00:17:28.620><c> decrypt</c><00:17:29.100><c> only</c><00:17:29.340><c> a</c><00:17:29.580><c> batch</c>

00:17:29.750 --> 00:17:29.760 align:start position:0%
encryptions and decrypt only a batch
 

00:17:29.760 --> 00:17:31.370 align:start position:0%
encryptions and decrypt only a batch
total

00:17:31.370 --> 00:17:31.380 align:start position:0%
total
 

00:17:31.380 --> 00:17:33.710 align:start position:0%
total
um<00:17:31.500><c> so</c><00:17:31.679><c> that</c><00:17:31.799><c> there's</c><00:17:31.980><c> the</c><00:17:32.220><c> batch</c><00:17:32.400><c> total</c><00:17:32.880><c> and</c>

00:17:33.710 --> 00:17:33.720 align:start position:0%
um so that there's the batch total and
 

00:17:33.720 --> 00:17:35.510 align:start position:0%
um so that there's the batch total and
the<00:17:33.960><c> idea</c><00:17:34.200><c> is</c><00:17:34.320><c> that</c><00:17:34.500><c> now</c><00:17:34.679><c> you</c><00:17:34.860><c> can</c><00:17:34.980><c> use</c><00:17:35.160><c> that</c><00:17:35.340><c> as</c>

00:17:35.510 --> 00:17:35.520 align:start position:0%
the idea is that now you can use that as
 

00:17:35.520 --> 00:17:37.370 align:start position:0%
the idea is that now you can use that as
the<00:17:35.760><c> input</c><00:17:36.000><c> to</c><00:17:36.240><c> some</c><00:17:36.480><c> public</c><00:17:36.780><c> on-chain</c>

00:17:37.370 --> 00:17:37.380 align:start position:0%
the input to some public on-chain
 

00:17:37.380 --> 00:17:39.710 align:start position:0%
the input to some public on-chain
computation<00:17:38.039><c> but</c><00:17:38.640><c> still</c><00:17:38.880><c> have</c><00:17:39.059><c> long-term</c>

00:17:39.710 --> 00:17:39.720 align:start position:0%
computation but still have long-term
 

00:17:39.720 --> 00:17:41.930 align:start position:0%
computation but still have long-term
privacy<00:17:40.080><c> for</c><00:17:40.440><c> individual</c><00:17:40.860><c> transactions</c><00:17:41.640><c> you</c>

00:17:41.930 --> 00:17:41.940 align:start position:0%
privacy for individual transactions you
 

00:17:41.940 --> 00:17:44.090 align:start position:0%
privacy for individual transactions you
know<00:17:42.059><c> as</c><00:17:42.419><c> long</c><00:17:42.539><c> as</c><00:17:42.660><c> the</c><00:17:42.900><c> the</c><00:17:43.080><c> batch</c><00:17:43.380><c> size</c><00:17:43.620><c> is</c><00:17:43.860><c> is</c>

00:17:44.090 --> 00:17:44.100 align:start position:0%
know as long as the the batch size is is
 

00:17:44.100 --> 00:17:46.370 align:start position:0%
know as long as the the batch size is is
big<00:17:44.340><c> enough</c><00:17:44.520><c> as</c><00:17:45.179><c> an</c><00:17:45.360><c> example</c><00:17:45.660><c> if</c><00:17:46.260><c> you're</c>

00:17:46.370 --> 00:17:46.380 align:start position:0%
big enough as an example if you're
 

00:17:46.380 --> 00:17:47.630 align:start position:0%
big enough as an example if you're
trying<00:17:46.559><c> to</c><00:17:46.740><c> have</c>

00:17:47.630 --> 00:17:47.640 align:start position:0%
trying to have
 

00:17:47.640 --> 00:17:50.570 align:start position:0%
trying to have
um<00:17:47.700><c> you</c><00:17:48.179><c> know</c><00:17:48.299><c> a</c><00:17:48.720><c> a</c><00:17:49.020><c> delegated</c><00:17:49.679><c> proof</c><00:17:50.220><c> of</c><00:17:50.280><c> stake</c>

00:17:50.570 --> 00:17:50.580 align:start position:0%
um you know a a delegated proof of stake
 

00:17:50.580 --> 00:17:52.970 align:start position:0%
um you know a a delegated proof of stake
system<00:17:50.760><c> you</c><00:17:51.539><c> could</c><00:17:51.660><c> make</c><00:17:51.840><c> it</c><00:17:52.020><c> so</c><00:17:52.260><c> that</c><00:17:52.440><c> oh</c><00:17:52.799><c> the</c>

00:17:52.970 --> 00:17:52.980 align:start position:0%
system you could make it so that oh the
 

00:17:52.980 --> 00:17:55.190 align:start position:0%
system you could make it so that oh the
validator<00:17:53.400><c> weights</c><00:17:54.000><c> will</c><00:17:54.419><c> change</c><00:17:54.660><c> you</c><00:17:55.140><c> know</c>

00:17:55.190 --> 00:17:55.200 align:start position:0%
validator weights will change you know
 

00:17:55.200 --> 00:17:58.010 align:start position:0%
validator weights will change you know
in<00:17:55.320><c> each</c><00:17:55.500><c> Epoch</c><00:17:56.160><c> and</c><00:17:56.520><c> we'll</c><00:17:56.640><c> just</c><00:17:56.820><c> sum</c><00:17:57.120><c> up</c><00:17:57.240><c> all</c>

00:17:58.010 --> 00:17:58.020 align:start position:0%
in each Epoch and we'll just sum up all
 

00:17:58.020 --> 00:18:00.169 align:start position:0%
in each Epoch and we'll just sum up all
of<00:17:58.200><c> the</c><00:17:58.440><c> the</c><00:17:58.620><c> delegations</c><00:17:59.220><c> or</c><00:17:59.520><c> undelegations</c>

00:18:00.169 --> 00:18:00.179 align:start position:0%
of the the delegations or undelegations
 

00:18:00.179 --> 00:18:02.570 align:start position:0%
of the the delegations or undelegations
in<00:18:00.480><c> each</c><00:18:00.660><c> Epoch</c><00:18:01.200><c> and</c><00:18:01.320><c> only</c><00:18:01.440><c> reveal</c><00:18:01.860><c> the</c><00:18:02.340><c> net</c>

00:18:02.570 --> 00:18:02.580 align:start position:0%
in each Epoch and only reveal the net
 

00:18:02.580 --> 00:18:05.210 align:start position:0%
in each Epoch and only reveal the net
change

00:18:05.210 --> 00:18:05.220 align:start position:0%
change
 

00:18:05.220 --> 00:18:07.909 align:start position:0%
change
um so<00:18:05.700><c> these</c><00:18:06.299><c> are</c><00:18:06.419><c> sort</c><00:18:06.600><c> of</c><00:18:06.720><c> the</c><00:18:07.320><c> the</c><00:18:07.559><c> two</c>

00:18:07.909 --> 00:18:07.919 align:start position:0%
um so these are sort of the the two
 

00:18:07.919 --> 00:18:09.950 align:start position:0%
um so these are sort of the the two
pieces<00:18:08.460><c> let's</c><00:18:08.820><c> see</c><00:18:09.000><c> how</c><00:18:09.179><c> this</c><00:18:09.360><c> kind</c><00:18:09.600><c> of</c><00:18:09.660><c> works</c>

00:18:09.950 --> 00:18:09.960 align:start position:0%
pieces let's see how this kind of works
 

00:18:09.960 --> 00:18:14.150 align:start position:0%
pieces let's see how this kind of works
out<00:18:10.340><c> uh</c><00:18:11.340><c> as</c><00:18:11.640><c> a</c><00:18:11.760><c> as</c><00:18:11.940><c> a</c><00:18:12.179><c> concrete</c><00:18:12.539><c> worked</c><00:18:12.900><c> example</c>

00:18:14.150 --> 00:18:14.160 align:start position:0%
out uh as a as a concrete worked example
 

00:18:14.160 --> 00:18:16.430 align:start position:0%
out uh as a as a concrete worked example
um<00:18:14.280><c> which</c><00:18:14.580><c> is</c><00:18:14.700><c> doing</c><00:18:15.000><c> sealed</c><00:18:15.600><c> input</c><00:18:15.900><c> batch</c>

00:18:16.430 --> 00:18:16.440 align:start position:0%
um which is doing sealed input batch
 

00:18:16.440 --> 00:18:19.250 align:start position:0%
um which is doing sealed input batch
swaps<00:18:17.039><c> on</c><00:18:17.580><c> penumbra</c>

00:18:19.250 --> 00:18:19.260 align:start position:0%
swaps on penumbra
 

00:18:19.260 --> 00:18:21.529 align:start position:0%
swaps on penumbra
um<00:18:19.380><c> so</c><00:18:19.679><c> looking</c><00:18:20.039><c> first</c><00:18:20.400><c> at</c><00:18:20.700><c> the</c><00:18:20.940><c> private</c><00:18:21.360><c> State</c>

00:18:21.529 --> 00:18:21.539 align:start position:0%
um so looking first at the private State
 

00:18:21.539 --> 00:18:23.690 align:start position:0%
um so looking first at the private State
part<00:18:21.840><c> right</c><00:18:22.200><c> remember</c><00:18:22.679><c> that</c><00:18:22.980><c> we</c><00:18:23.160><c> have</c><00:18:23.520><c> this</c>

00:18:23.690 --> 00:18:23.700 align:start position:0%
part right remember that we have this
 

00:18:23.700 --> 00:18:25.850 align:start position:0%
part right remember that we have this
model<00:18:23.880><c> where</c><00:18:24.240><c> we</c><00:18:24.419><c> explicitly</c><00:18:25.020><c> segment</c><00:18:25.440><c> away</c>

00:18:25.850 --> 00:18:25.860 align:start position:0%
model where we explicitly segment away
 

00:18:25.860 --> 00:18:29.090 align:start position:0%
model where we explicitly segment away
the<00:18:26.700><c> per</c><00:18:26.880><c> user</c><00:18:27.360><c> private</c><00:18:27.840><c> state</c><00:18:28.080><c> from</c><00:18:28.799><c> the</c>

00:18:29.090 --> 00:18:29.100 align:start position:0%
the per user private state from the
 

00:18:29.100 --> 00:18:31.130 align:start position:0%
the per user private state from the
shared<00:18:29.580><c> public</c><00:18:29.880><c> state</c>

00:18:31.130 --> 00:18:31.140 align:start position:0%
shared public state
 

00:18:31.140 --> 00:18:32.630 align:start position:0%
shared public state
we're<00:18:31.620><c> going</c><00:18:31.740><c> to</c><00:18:31.860><c> start</c><00:18:32.039><c> off</c><00:18:32.220><c> with</c><00:18:32.460><c> okay</c>

00:18:32.630 --> 00:18:32.640 align:start position:0%
we're going to start off with okay
 

00:18:32.640 --> 00:18:35.570 align:start position:0%
we're going to start off with okay
here's<00:18:33.120><c> the</c><00:18:33.299><c> the</c><00:18:33.539><c> private</c><00:18:33.960><c> input</c><00:18:34.320><c> for</c><00:18:34.980><c> this</c>

00:18:35.570 --> 00:18:35.580 align:start position:0%
here's the the private input for this
 

00:18:35.580 --> 00:18:38.090 align:start position:0%
here's the the private input for this
trade<00:18:36.120><c> that</c><00:18:36.299><c> a</c><00:18:36.419><c> user</c><00:18:36.720><c> wants</c><00:18:36.960><c> to</c><00:18:37.080><c> make</c><00:18:37.200><c> they're</c>

00:18:38.090 --> 00:18:38.100 align:start position:0%
trade that a user wants to make they're
 

00:18:38.100 --> 00:18:41.150 align:start position:0%
trade that a user wants to make they're
going<00:18:38.340><c> to</c><00:18:38.840><c> encrypt</c><00:18:39.840><c> that</c><00:18:39.960><c> input</c><00:18:40.320><c> include</c><00:18:40.980><c> that</c>

00:18:41.150 --> 00:18:41.160 align:start position:0%
going to encrypt that input include that
 

00:18:41.160 --> 00:18:43.370 align:start position:0%
going to encrypt that input include that
in<00:18:41.460><c> their</c><00:18:41.640><c> transaction</c><00:18:42.120><c> the</c><00:18:42.960><c> rest</c><00:18:43.080><c> of</c><00:18:43.200><c> the</c>

00:18:43.370 --> 00:18:43.380 align:start position:0%
in their transaction the rest of the
 

00:18:43.380 --> 00:18:45.770 align:start position:0%
in their transaction the rest of the
transaction<00:18:43.740><c> right</c><00:18:44.160><c> is</c><00:18:44.520><c> is</c><00:18:44.820><c> totally</c><00:18:45.360><c> shielded</c>

00:18:45.770 --> 00:18:45.780 align:start position:0%
transaction right is is totally shielded
 

00:18:45.780 --> 00:18:48.169 align:start position:0%
transaction right is is totally shielded
because<00:18:46.080><c> we</c><00:18:46.380><c> have</c><00:18:46.559><c> this</c><00:18:46.919><c> shielded</c><00:18:47.580><c> base</c><00:18:47.760><c> layer</c>

00:18:48.169 --> 00:18:48.179 align:start position:0%
because we have this shielded base layer
 

00:18:48.179 --> 00:18:49.970 align:start position:0%
because we have this shielded base layer
so<00:18:48.360><c> there's</c><00:18:48.539><c> no</c><00:18:48.840><c> Public</c><00:18:49.200><c> Accounts</c><00:18:49.740><c> or</c><00:18:49.860><c> any</c>

00:18:49.970 --> 00:18:49.980 align:start position:0%
so there's no Public Accounts or any
 

00:18:49.980 --> 00:18:53.029 align:start position:0%
so there's no Public Accounts or any
other<00:18:50.160><c> metadata</c><00:18:50.880><c> in</c><00:18:51.539><c> the</c><00:18:51.720><c> the</c><00:18:51.900><c> transaction</c>

00:18:53.029 --> 00:18:53.039 align:start position:0%
other metadata in the the transaction
 

00:18:53.039 --> 00:18:56.870 align:start position:0%
other metadata in the the transaction
and<00:18:54.000><c> what</c><00:18:54.600><c> though</c><00:18:54.780><c> meant</c><00:18:55.140><c> in</c><00:18:55.679><c> that</c><00:18:55.919><c> swap</c>

00:18:56.870 --> 00:18:56.880 align:start position:0%
and what though meant in that swap
 

00:18:56.880 --> 00:19:02.029 align:start position:0%
and what though meant in that swap
transaction<00:18:57.559><c> is</c><00:18:58.640><c> a</c><00:18:59.640><c> swap</c><00:19:00.419><c> nft</c><00:19:00.840><c> where</c><00:19:01.620><c> the</c><00:19:01.799><c> the</c>

00:19:02.029 --> 00:19:02.039 align:start position:0%
transaction is a swap nft where the the
 

00:19:02.039 --> 00:19:05.690 align:start position:0%
transaction is a swap nft where the the
asset<00:19:02.400><c> ID</c><00:19:02.580><c> of</c><00:19:03.000><c> that</c><00:19:03.240><c> uh</c><00:19:03.900><c> nft</c><00:19:04.260><c> is</c><00:19:05.220><c> a</c><00:19:05.400><c> snark</c>

00:19:05.690 --> 00:19:05.700 align:start position:0%
asset ID of that uh nft is a snark
 

00:19:05.700 --> 00:19:08.390 align:start position:0%
asset ID of that uh nft is a snark
friendly<00:19:06.179><c> hash</c><00:19:06.600><c> of</c><00:19:07.020><c> their</c><00:19:07.620><c> input</c><00:19:07.980><c> trade</c>

00:19:08.390 --> 00:19:08.400 align:start position:0%
friendly hash of their input trade
 

00:19:08.400 --> 00:19:10.970 align:start position:0%
friendly hash of their input trade
amounts<00:19:08.820><c> the</c><00:19:09.059><c> trading</c><00:19:09.480><c> pair</c><00:19:09.840><c> their</c><00:19:10.559><c> you</c><00:19:10.860><c> know</c>

00:19:10.970 --> 00:19:10.980 align:start position:0%
amounts the trading pair their you know
 

00:19:10.980 --> 00:19:12.350 align:start position:0%
amounts the trading pair their you know
the<00:19:11.340><c> address</c><00:19:11.520><c> that</c><00:19:11.820><c> they're</c><00:19:11.940><c> going</c><00:19:12.059><c> to</c><00:19:12.120><c> Mint</c>

00:19:12.350 --> 00:19:12.360 align:start position:0%
the address that they're going to Mint
 

00:19:12.360 --> 00:19:18.169 align:start position:0%
the address that they're going to Mint
the<00:19:12.539><c> funds</c><00:19:12.840><c> to</c><00:19:13.340><c> some</c><00:19:14.340><c> prepaid</c><00:19:14.700><c> fees</c><00:19:15.799><c> uh</c><00:19:16.799><c> and</c><00:19:17.340><c> as</c>

00:19:18.169 --> 00:19:18.179 align:start position:0%
the funds to some prepaid fees uh and as
 

00:19:18.179 --> 00:19:20.390 align:start position:0%
the funds to some prepaid fees uh and as
this<00:19:18.600><c> transaction</c><00:19:19.200><c> that</c><00:19:19.500><c> they</c><00:19:19.679><c> submitted</c><00:19:20.100><c> is</c>

00:19:20.390 --> 00:19:20.400 align:start position:0%
this transaction that they submitted is
 

00:19:20.400 --> 00:19:22.730 align:start position:0%
this transaction that they submitted is
included<00:19:21.000><c> in</c><00:19:21.120><c> a</c><00:19:21.299><c> block</c><00:19:21.480><c> it</c><00:19:22.140><c> gets</c><00:19:22.380><c> batched</c>

00:19:22.730 --> 00:19:22.740 align:start position:0%
included in a block it gets batched
 

00:19:22.740 --> 00:19:25.370 align:start position:0%
included in a block it gets batched
together<00:19:22.860><c> with</c><00:19:23.820><c> the</c><00:19:24.240><c> others</c>

00:19:25.370 --> 00:19:25.380 align:start position:0%
together with the others
 

00:19:25.380 --> 00:19:29.990 align:start position:0%
together with the others
decrypted<00:19:26.660><c> you</c><00:19:27.660><c> send</c><00:19:28.200><c> that</c><00:19:28.440><c> into</c><00:19:28.740><c> the</c><00:19:29.280><c> Dex</c>

00:19:29.990 --> 00:19:30.000 align:start position:0%
decrypted you send that into the Dex
 

00:19:30.000 --> 00:19:32.390 align:start position:0%
decrypted you send that into the Dex
engine<00:19:30.240><c> which</c><00:19:30.840><c> resolves</c><00:19:31.440><c> all</c><00:19:31.740><c> of</c><00:19:31.860><c> the</c><00:19:32.100><c> trade</c>

00:19:32.390 --> 00:19:32.400 align:start position:0%
engine which resolves all of the trade
 

00:19:32.400 --> 00:19:34.610 align:start position:0%
engine which resolves all of the trade
intent<00:19:32.820><c> and</c><00:19:33.120><c> publishes</c><00:19:33.600><c> the</c><00:19:33.900><c> output</c><00:19:34.140><c> data</c>

00:19:34.610 --> 00:19:34.620 align:start position:0%
intent and publishes the output data
 

00:19:34.620 --> 00:19:37.789 align:start position:0%
intent and publishes the output data
into<00:19:35.160><c> the</c><00:19:35.400><c> chain</c><00:19:35.580><c> State</c><00:19:35.840><c> and</c><00:19:36.840><c> now</c><00:19:37.020><c> that</c><00:19:37.440><c> user</c>

00:19:37.789 --> 00:19:37.799 align:start position:0%
into the chain State and now that user
 

00:19:37.799 --> 00:19:40.549 align:start position:0%
into the chain State and now that user
can<00:19:38.160><c> consume</c><00:19:38.760><c> their</c><00:19:39.240><c> swap</c><00:19:39.720><c> nft</c><00:19:40.080><c> which</c>

00:19:40.549 --> 00:19:40.559 align:start position:0%
can consume their swap nft which
 

00:19:40.559 --> 00:19:43.330 align:start position:0%
can consume their swap nft which
remember<00:19:40.799><c> is</c><00:19:41.100><c> modeling</c><00:19:41.820><c> this</c><00:19:42.120><c> sort</c><00:19:42.360><c> of</c><00:19:42.480><c> future</c>

00:19:43.330 --> 00:19:43.340 align:start position:0%
remember is modeling this sort of future
 

00:19:43.340 --> 00:19:46.130 align:start position:0%
remember is modeling this sort of future
that<00:19:44.340><c> resolves</c><00:19:45.000><c> eventually</c><00:19:45.360><c> to</c><00:19:45.660><c> their</c><00:19:45.840><c> swap</c>

00:19:46.130 --> 00:19:46.140 align:start position:0%
that resolves eventually to their swap
 

00:19:46.140 --> 00:19:47.150 align:start position:0%
that resolves eventually to their swap
outputs

00:19:47.150 --> 00:19:47.160 align:start position:0%
outputs
 

00:19:47.160 --> 00:19:50.690 align:start position:0%
outputs
and<00:19:47.820><c> produce</c><00:19:48.419><c> a</c><00:19:48.600><c> proof</c><00:19:48.960><c> that</c><00:19:49.260><c> uses</c><00:19:49.620><c> these</c><00:19:50.160><c> uh</c>

00:19:50.690 --> 00:19:50.700 align:start position:0%
and produce a proof that uses these uh
 

00:19:50.700 --> 00:19:54.289 align:start position:0%
and produce a proof that uses these uh
public<00:19:51.240><c> back</c><00:19:52.080><c> swap</c><00:19:52.500><c> data</c><00:19:52.860><c> as</c><00:19:53.100><c> a</c><00:19:53.280><c> public</c><00:19:53.820><c> input</c>

00:19:54.289 --> 00:19:54.299 align:start position:0%
public back swap data as a public input
 

00:19:54.299 --> 00:19:58.669 align:start position:0%
public back swap data as a public input
and<00:19:55.140><c> their</c><00:19:55.620><c> swap</c><00:19:56.280><c> nft</c><00:19:56.580><c> is</c><00:19:56.940><c> a</c><00:19:57.120><c> private</c><00:19:57.419><c> input</c><00:19:57.720><c> to</c>

00:19:58.669 --> 00:19:58.679 align:start position:0%
and their swap nft is a private input to
 

00:19:58.679 --> 00:20:01.490 align:start position:0%
and their swap nft is a private input to
privately<00:19:59.220><c> mint</c><00:19:59.640><c> their</c><00:20:00.120><c> correct</c><00:20:00.539><c> prorata</c>

00:20:01.490 --> 00:20:01.500 align:start position:0%
privately mint their correct prorata
 

00:20:01.500 --> 00:20:06.049 align:start position:0%
privately mint their correct prorata
share<00:20:01.860><c> of</c><00:20:02.640><c> the</c><00:20:02.880><c> batch</c><00:20:03.120><c> Swap</c><00:20:03.919><c> and</c><00:20:04.919><c> so</c>

00:20:06.049 --> 00:20:06.059 align:start position:0%
share of the batch Swap and so
 

00:20:06.059 --> 00:20:08.750 align:start position:0%
share of the batch Swap and so
that<00:20:06.720><c> that</c><00:20:06.960><c> means</c><00:20:07.320><c> that</c><00:20:07.620><c> that</c><00:20:08.220><c> individual</c>

00:20:08.750 --> 00:20:08.760 align:start position:0%
that that means that that individual
 

00:20:08.760 --> 00:20:11.570 align:start position:0%
that that means that that individual
user's<00:20:09.419><c> output</c><00:20:09.900><c> can</c><00:20:10.260><c> be</c><00:20:10.500><c> minted</c><00:20:11.160><c> completely</c>

00:20:11.570 --> 00:20:11.580 align:start position:0%
user's output can be minted completely
 

00:20:11.580 --> 00:20:13.310 align:start position:0%
user's output can be minted completely
privately<00:20:12.000><c> and</c><00:20:12.480><c> as</c><00:20:12.660><c> long</c><00:20:12.840><c> as</c><00:20:12.900><c> you</c><00:20:13.080><c> have</c>

00:20:13.310 --> 00:20:13.320 align:start position:0%
privately and as long as you have
 

00:20:13.320 --> 00:20:16.010 align:start position:0%
privately and as long as you have
sufficient<00:20:13.860><c> uh</c>

00:20:16.010 --> 00:20:16.020 align:start position:0%
sufficient uh
 

00:20:16.020 --> 00:20:18.950 align:start position:0%
sufficient uh
uh<00:20:16.260><c> sufficient</c><00:20:16.740><c> volume</c><00:20:17.039><c> in</c><00:20:17.400><c> in</c><00:20:17.520><c> the</c><00:20:17.760><c> batch</c>

00:20:18.950 --> 00:20:18.960 align:start position:0%
uh sufficient volume in in the batch
 

00:20:18.960 --> 00:20:21.409 align:start position:0%
uh sufficient volume in in the batch
um<00:20:19.020><c> you</c><00:20:19.679><c> can</c><00:20:19.799><c> get</c><00:20:19.980><c> long-term</c><00:20:20.520><c> privacy</c><00:20:20.940><c> for</c>

00:20:21.409 --> 00:20:21.419 align:start position:0%
um you can get long-term privacy for
 

00:20:21.419 --> 00:20:24.230 align:start position:0%
um you can get long-term privacy for
individual<00:20:22.080><c> users</c><00:20:22.440><c> trade</c><00:20:22.740><c> amounts</c><00:20:23.160><c> now</c><00:20:23.760><c> if</c>

00:20:24.230 --> 00:20:24.240 align:start position:0%
individual users trade amounts now if
 

00:20:24.240 --> 00:20:26.630 align:start position:0%
individual users trade amounts now if
you're<00:20:24.360><c> on</c><00:20:24.539><c> say</c><00:20:24.780><c> like</c><00:20:24.960><c> a</c><00:20:25.140><c> thinly</c><00:20:25.440><c> traded</c><00:20:25.860><c> uh</c>

00:20:26.630 --> 00:20:26.640 align:start position:0%
you're on say like a thinly traded uh
 

00:20:26.640 --> 00:20:28.909 align:start position:0%
you're on say like a thinly traded uh
pair<00:20:27.000><c> maybe</c><00:20:27.480><c> you</c><00:20:27.720><c> end</c><00:20:27.840><c> up</c><00:20:27.900><c> in</c><00:20:28.080><c> a</c><00:20:28.200><c> badge</c><00:20:28.500><c> size</c><00:20:28.679><c> of</c>

00:20:28.909 --> 00:20:28.919 align:start position:0%
pair maybe you end up in a badge size of
 

00:20:28.919 --> 00:20:31.970 align:start position:0%
pair maybe you end up in a badge size of
one<00:20:29.100><c> but</c><00:20:29.760><c> in</c><00:20:29.880><c> that</c><00:20:30.059><c> case</c><00:20:30.240><c> you</c><00:20:30.720><c> can</c><00:20:30.840><c> use</c><00:20:31.080><c> this</c><00:20:31.559><c> uh</c>

00:20:31.970 --> 00:20:31.980 align:start position:0%
one but in that case you can use this uh
 

00:20:31.980 --> 00:20:33.890 align:start position:0%
one but in that case you can use this uh
sort<00:20:32.160><c> of</c><00:20:32.280><c> randomized</c><00:20:32.940><c> splitting</c><00:20:33.480><c> technique</c>

00:20:33.890 --> 00:20:33.900 align:start position:0%
sort of randomized splitting technique
 

00:20:33.900 --> 00:20:35.870 align:start position:0%
sort of randomized splitting technique
that<00:20:34.320><c> I</c><00:20:34.440><c> mentioned</c><00:20:34.679><c> earlier</c><00:20:35.039><c> to</c><00:20:35.760><c> make</c>

00:20:35.870 --> 00:20:35.880 align:start position:0%
that I mentioned earlier to make
 

00:20:35.880 --> 00:20:37.789 align:start position:0%
that I mentioned earlier to make
effectively<00:20:36.539><c> a</c><00:20:36.720><c> kind</c><00:20:36.840><c> of</c><00:20:36.960><c> like</c><00:20:37.020><c> randomized</c>

00:20:37.789 --> 00:20:37.799 align:start position:0%
effectively a kind of like randomized
 

00:20:37.799 --> 00:20:41.090 align:start position:0%
effectively a kind of like randomized
t-wop<00:20:38.400><c> of</c><00:20:39.360><c> your</c><00:20:39.780><c> trade</c>

00:20:41.090 --> 00:20:41.100 align:start position:0%
t-wop of your trade
 

00:20:41.100 --> 00:20:44.270 align:start position:0%
t-wop of your trade
so<00:20:42.179><c> zooming</c><00:20:42.840><c> out</c><00:20:43.020><c> of</c><00:20:43.200><c> the</c><00:20:43.440><c> the</c><00:20:43.620><c> private</c><00:20:44.100><c> State</c>

00:20:44.270 --> 00:20:44.280 align:start position:0%
so zooming out of the the private State
 

00:20:44.280 --> 00:20:46.730 align:start position:0%
so zooming out of the the private State
part<00:20:44.700><c> to</c><00:20:45.299><c> how</c><00:20:45.660><c> this</c><00:20:45.840><c> works</c><00:20:46.080><c> on</c><00:20:46.260><c> the</c><00:20:46.440><c> public</c>

00:20:46.730 --> 00:20:46.740 align:start position:0%
part to how this works on the public
 

00:20:46.740 --> 00:20:48.650 align:start position:0%
part to how this works on the public
State<00:20:47.039><c> Side</c>

00:20:48.650 --> 00:20:48.660 align:start position:0%
State Side
 

00:20:48.660 --> 00:20:51.890 align:start position:0%
State Side
um<00:20:48.780><c> we</c><00:20:49.260><c> have</c><00:20:49.380><c> all</c><00:20:49.620><c> of</c><00:20:49.740><c> these</c><00:20:50.100><c> uh</c>

00:20:51.890 --> 00:20:51.900 align:start position:0%
um we have all of these uh
 

00:20:51.900 --> 00:20:54.289 align:start position:0%
um we have all of these uh
uh<00:20:51.960><c> all</c><00:20:52.559><c> of</c><00:20:52.740><c> these</c><00:20:52.980><c> swap</c><00:20:53.460><c> transactions</c><00:20:54.120><c> that</c>

00:20:54.289 --> 00:20:54.299 align:start position:0%
uh all of these swap transactions that
 

00:20:54.299 --> 00:20:56.690 align:start position:0%
uh all of these swap transactions that
have<00:20:54.419><c> been</c><00:20:54.600><c> included</c><00:20:55.020><c> in</c><00:20:55.260><c> the</c><00:20:55.380><c> the</c><00:20:55.500><c> block</c><00:20:55.740><c> we</c>

00:20:56.690 --> 00:20:56.700 align:start position:0%
have been included in the the block we
 

00:20:56.700 --> 00:20:58.909 align:start position:0%
have been included in the the block we
have<00:20:57.179><c> the</c><00:20:57.360><c> Dex</c><00:20:57.720><c> engine</c><00:20:57.960><c> group</c><00:20:58.440><c> all</c><00:20:58.679><c> of</c><00:20:58.799><c> those</c>

00:20:58.909 --> 00:20:58.919 align:start position:0%
have the Dex engine group all of those
 

00:20:58.919 --> 00:21:01.549 align:start position:0%
have the Dex engine group all of those
inputs<00:20:59.280><c> by</c><00:20:59.520><c> pair</c><00:20:59.760><c> we</c><00:21:00.600><c> do</c><00:21:00.780><c> this</c><00:21:00.900><c> batching</c><00:21:01.380><c> and</c>

00:21:01.549 --> 00:21:01.559 align:start position:0%
inputs by pair we do this batching and
 

00:21:01.559 --> 00:21:04.909 align:start position:0%
inputs by pair we do this batching and
decryption<00:21:02.039><c> but</c><00:21:02.880><c> now</c><00:21:03.419><c> at</c><00:21:03.600><c> this</c><00:21:03.780><c> point</c><00:21:04.020><c> we</c><00:21:04.620><c> we</c>

00:21:04.909 --> 00:21:04.919 align:start position:0%
decryption but now at this point we we
 

00:21:04.919 --> 00:21:08.510 align:start position:0%
decryption but now at this point we we
don't<00:21:05.160><c> just</c><00:21:05.400><c> have</c><00:21:05.760><c> you</c><00:21:06.179><c> know</c><00:21:06.240><c> a</c><00:21:06.720><c> single</c>

00:21:08.510 --> 00:21:08.520 align:start position:0%
don't just have you know a single
 

00:21:08.520 --> 00:21:11.090 align:start position:0%
don't just have you know a single
swap<00:21:09.240><c> we</c><00:21:09.720><c> don't</c><00:21:09.840><c> just</c><00:21:10.020><c> have</c><00:21:10.140><c> a</c><00:21:10.380><c> single</c><00:21:10.860><c> Swap</c>

00:21:11.090 --> 00:21:11.100 align:start position:0%
swap we don't just have a single Swap
 

00:21:11.100 --> 00:21:13.610 align:start position:0%
swap we don't just have a single Swap
transaction<00:21:11.520><c> on</c><00:21:11.820><c> a</c><00:21:12.000><c> single</c><00:21:12.240><c> pair</c><00:21:12.419><c> we</c><00:21:13.200><c> have</c><00:21:13.320><c> a</c>

00:21:13.610 --> 00:21:13.620 align:start position:0%
transaction on a single pair we have a
 

00:21:13.620 --> 00:21:15.890 align:start position:0%
transaction on a single pair we have a
complete<00:21:13.980><c> picture</c><00:21:14.220><c> of</c><00:21:14.700><c> here's</c><00:21:15.480><c> all</c><00:21:15.720><c> the</c>

00:21:15.890 --> 00:21:15.900 align:start position:0%
complete picture of here's all the
 

00:21:15.900 --> 00:21:17.210 align:start position:0%
complete picture of here's all the
trading<00:21:16.260><c> intent</c>

00:21:17.210 --> 00:21:17.220 align:start position:0%
trading intent
 

00:21:17.220 --> 00:21:21.169 align:start position:0%
trading intent
uh<00:21:18.120><c> for</c><00:21:18.419><c> the</c><00:21:18.600><c> entire</c><00:21:18.960><c> chain</c><00:21:19.320><c> in</c><00:21:20.220><c> this</c><00:21:20.400><c> block</c>

00:21:21.169 --> 00:21:21.179 align:start position:0%
uh for the entire chain in this block
 

00:21:21.179 --> 00:21:23.690 align:start position:0%
uh for the entire chain in this block
and<00:21:21.840><c> we</c><00:21:22.200><c> also</c><00:21:22.380><c> know</c><00:21:22.559><c> that</c><00:21:22.860><c> we</c><00:21:23.160><c> only</c><00:21:23.280><c> have</c><00:21:23.520><c> to</c>

00:21:23.690 --> 00:21:23.700 align:start position:0%
and we also know that we only have to
 

00:21:23.700 --> 00:21:26.350 align:start position:0%
and we also know that we only have to
run<00:21:23.940><c> the</c><00:21:24.240><c> Dex</c><00:21:24.539><c> engine</c><00:21:24.860><c> once</c><00:21:25.860><c> per</c><00:21:25.980><c> block</c>

00:21:26.350 --> 00:21:26.360 align:start position:0%
run the Dex engine once per block
 

00:21:26.360 --> 00:21:28.909 align:start position:0%
run the Dex engine once per block
because<00:21:27.360><c> we're</c><00:21:27.960><c> in</c><00:21:28.200><c> this</c><00:21:28.440><c> batched</c>

00:21:28.909 --> 00:21:28.919 align:start position:0%
because we're in this batched
 

00:21:28.919 --> 00:21:31.610 align:start position:0%
because we're in this batched
computation<00:21:29.460><c> model</c><00:21:29.760><c> so</c><00:21:30.659><c> that</c><00:21:31.020><c> means</c><00:21:31.260><c> that</c><00:21:31.380><c> we</c>

00:21:31.610 --> 00:21:31.620 align:start position:0%
computation model so that means that we
 

00:21:31.620 --> 00:21:33.649 align:start position:0%
computation model so that means that we
can<00:21:31.740><c> actually</c><00:21:31.919><c> be</c><00:21:32.400><c> you</c><00:21:33.000><c> know</c><00:21:33.000><c> considerably</c>

00:21:33.649 --> 00:21:33.659 align:start position:0%
can actually be you know considerably
 

00:21:33.659 --> 00:21:36.529 align:start position:0%
can actually be you know considerably
more<00:21:34.080><c> sophisticated</c><00:21:34.740><c> in</c><00:21:35.400><c> how</c><00:21:35.640><c> we</c><00:21:35.820><c> resolve</c>

00:21:36.529 --> 00:21:36.539 align:start position:0%
more sophisticated in how we resolve
 

00:21:36.539 --> 00:21:40.750 align:start position:0%
more sophisticated in how we resolve
these<00:21:37.440><c> trades</c><00:21:37.860><c> we</c><00:21:38.520><c> can</c><00:21:38.700><c> load</c><00:21:39.419><c> up</c><00:21:39.600><c> the</c><00:21:40.260><c> entire</c>

00:21:40.750 --> 00:21:40.760 align:start position:0%
these trades we can load up the entire
 

00:21:40.760 --> 00:21:43.549 align:start position:0%
these trades we can load up the entire
liquidity<00:21:41.760><c> graph</c><00:21:42.179><c> of</c><00:21:42.539><c> all</c><00:21:42.780><c> of</c><00:21:42.840><c> the</c><00:21:43.020><c> assets</c><00:21:43.320><c> on</c>

00:21:43.549 --> 00:21:43.559 align:start position:0%
liquidity graph of all of the assets on
 

00:21:43.559 --> 00:21:47.330 align:start position:0%
liquidity graph of all of the assets on
the<00:21:43.740><c> Chain</c><00:21:43.919><c> sort</c><00:21:44.820><c> of</c><00:21:44.940><c> put</c><00:21:45.240><c> the</c><00:21:45.980><c> trade</c><00:21:46.980><c> intent</c>

00:21:47.330 --> 00:21:47.340 align:start position:0%
the Chain sort of put the trade intent
 

00:21:47.340 --> 00:21:50.390 align:start position:0%
the Chain sort of put the trade intent
into<00:21:47.700><c> the</c><00:21:47.940><c> correct</c><00:21:48.299><c> spots</c><00:21:48.780><c> on</c><00:21:48.900><c> that</c><00:21:49.080><c> graph</c><00:21:49.440><c> and</c>

00:21:50.390 --> 00:21:50.400 align:start position:0%
into the correct spots on that graph and
 

00:21:50.400 --> 00:21:54.049 align:start position:0%
into the correct spots on that graph and
then<00:21:50.659><c> compute</c><00:21:51.740><c> uh</c><00:21:52.740><c> some</c><00:21:53.159><c> optimal</c><00:21:53.640><c> resolution</c>

00:21:54.049 --> 00:21:54.059 align:start position:0%
then compute uh some optimal resolution
 

00:21:54.059 --> 00:21:58.010 align:start position:0%
then compute uh some optimal resolution
of<00:21:54.600><c> all</c><00:21:54.840><c> of</c><00:21:55.020><c> these</c><00:21:55.320><c> trades</c><00:21:56.120><c> simultaneously</c><00:21:57.120><c> so</c>

00:21:58.010 --> 00:21:58.020 align:start position:0%
of all of these trades simultaneously so
 

00:21:58.020 --> 00:21:59.690 align:start position:0%
of all of these trades simultaneously so
you<00:21:58.440><c> can</c><00:21:58.500><c> do</c><00:21:58.740><c> some</c><00:21:58.980><c> kind</c><00:21:59.159><c> of</c><00:21:59.280><c> global</c>

00:21:59.690 --> 00:21:59.700 align:start position:0%
you can do some kind of global
 

00:21:59.700 --> 00:22:02.450 align:start position:0%
you can do some kind of global
resolution<00:22:00.120><c> of</c><00:22:00.960><c> the</c><00:22:01.200><c> trading</c><00:22:01.500><c> intent</c><00:22:01.919><c> do</c>

00:22:02.450 --> 00:22:02.460 align:start position:0%
resolution of the trading intent do
 

00:22:02.460 --> 00:22:05.450 align:start position:0%
resolution of the trading intent do
optimal<00:22:02.940><c> Arbitrage</c><00:22:03.559><c> and</c><00:22:04.559><c> this</c><00:22:05.280><c> is</c>

00:22:05.450 --> 00:22:05.460 align:start position:0%
optimal Arbitrage and this is
 

00:22:05.460 --> 00:22:07.909 align:start position:0%
optimal Arbitrage and this is
computationally<00:22:06.120><c> tractable</c><00:22:06.780><c> to</c><00:22:07.320><c> do</c><00:22:07.500><c> just</c>

00:22:07.909 --> 00:22:07.919 align:start position:0%
computationally tractable to do just
 

00:22:07.919 --> 00:22:10.789 align:start position:0%
computationally tractable to do just
like<00:22:08.100><c> in</c><00:22:08.460><c> consensus</c><00:22:09.059><c> because</c><00:22:09.900><c> you</c><00:22:10.500><c> know</c><00:22:10.620><c> that</c>

00:22:10.789 --> 00:22:10.799 align:start position:0%
like in consensus because you know that
 

00:22:10.799 --> 00:22:13.310 align:start position:0%
like in consensus because you know that
you're<00:22:10.980><c> only</c><00:22:11.159><c> doing</c><00:22:11.460><c> this</c><00:22:11.760><c> once</c><00:22:12.240><c> per</c><00:22:12.419><c> block</c><00:22:12.659><c> so</c>

00:22:13.310 --> 00:22:13.320 align:start position:0%
you're only doing this once per block so
 

00:22:13.320 --> 00:22:15.529 align:start position:0%
you're only doing this once per block so
you<00:22:13.440><c> you</c><00:22:13.620><c> end</c><00:22:13.799><c> up</c><00:22:13.919><c> in</c><00:22:14.159><c> a</c><00:22:14.280><c> model</c><00:22:14.460><c> where</c><00:22:14.880><c> rather</c>

00:22:15.529 --> 00:22:15.539 align:start position:0%
you you end up in a model where rather
 

00:22:15.539 --> 00:22:17.930 align:start position:0%
you you end up in a model where rather
than<00:22:15.780><c> sort</c><00:22:16.260><c> of</c><00:22:16.320><c> having</c><00:22:16.679><c> to</c><00:22:17.039><c> call</c><00:22:17.400><c> each</c>

00:22:17.930 --> 00:22:17.940 align:start position:0%
than sort of having to call each
 

00:22:17.940 --> 00:22:19.789 align:start position:0%
than sort of having to call each
contract<00:22:18.480><c> you</c><00:22:19.080><c> know</c><00:22:19.200><c> potentially</c><00:22:19.559><c> like</c>

00:22:19.789 --> 00:22:19.799 align:start position:0%
contract you know potentially like
 

00:22:19.799 --> 00:22:22.190 align:start position:0%
contract you know potentially like
thousands<00:22:20.340><c> of</c><00:22:20.400><c> times</c><00:22:20.520><c> a</c><00:22:20.760><c> block</c><00:22:21.240><c> you</c><00:22:21.780><c> just</c><00:22:21.960><c> know</c>

00:22:22.190 --> 00:22:22.200 align:start position:0%
thousands of times a block you just know
 

00:22:22.200 --> 00:22:24.710 align:start position:0%
thousands of times a block you just know
that<00:22:22.620><c> the</c><00:22:22.980><c> chain</c><00:22:23.159><c> is</c><00:22:23.400><c> going</c><00:22:23.520><c> to</c><00:22:23.700><c> step</c><00:22:23.940><c> in</c>

00:22:24.710 --> 00:22:24.720 align:start position:0%
that the chain is going to step in
 

00:22:24.720 --> 00:22:27.169 align:start position:0%
that the chain is going to step in
discrete<00:22:25.140><c> time</c><00:22:25.440><c> from</c><00:22:26.159><c> one</c><00:22:26.400><c> set</c><00:22:26.580><c> of</c><00:22:26.760><c> consistent</c>

00:22:27.169 --> 00:22:27.179 align:start position:0%
discrete time from one set of consistent
 

00:22:27.179 --> 00:22:29.570 align:start position:0%
discrete time from one set of consistent
prices<00:22:27.480><c> to</c><00:22:28.320><c> a</c><00:22:28.440><c> new</c><00:22:28.559><c> set</c><00:22:28.799><c> of</c><00:22:28.919><c> consistent</c><00:22:29.340><c> prices</c>

00:22:29.570 --> 00:22:29.580 align:start position:0%
prices to a new set of consistent prices
 

00:22:29.580 --> 00:22:32.990 align:start position:0%
prices to a new set of consistent prices
you<00:22:30.360><c> can</c><00:22:30.419><c> handle</c><00:22:30.720><c> all</c><00:22:31.020><c> of</c><00:22:31.200><c> the</c><00:22:31.559><c> uh</c><00:22:32.100><c> newly</c><00:22:32.520><c> added</c>

00:22:32.990 --> 00:22:33.000 align:start position:0%
you can handle all of the uh newly added
 

00:22:33.000 --> 00:22:35.570 align:start position:0%
you can handle all of the uh newly added
or<00:22:33.179><c> removed</c><00:22:33.600><c> liquidity</c><00:22:34.140><c> also</c><00:22:34.919><c> in</c><00:22:35.100><c> a</c><00:22:35.280><c> batched</c>

00:22:35.570 --> 00:22:35.580 align:start position:0%
or removed liquidity also in a batched
 

00:22:35.580 --> 00:22:38.029 align:start position:0%
or removed liquidity also in a batched
way<00:22:35.700><c> right</c><00:22:36.000><c> so</c><00:22:36.240><c> you</c><00:22:36.480><c> first</c><00:22:37.140><c> add</c><00:22:37.620><c> all</c><00:22:37.799><c> of</c><00:22:37.919><c> the</c>

00:22:38.029 --> 00:22:38.039 align:start position:0%
way right so you first add all of the
 

00:22:38.039 --> 00:22:40.430 align:start position:0%
way right so you first add all of the
newly<00:22:38.340><c> created</c><00:22:38.760><c> liquidity</c><00:22:39.360><c> then</c><00:22:39.840><c> you</c><00:22:40.020><c> resolve</c>

00:22:40.430 --> 00:22:40.440 align:start position:0%
newly created liquidity then you resolve
 

00:22:40.440 --> 00:22:42.710 align:start position:0%
newly created liquidity then you resolve
all<00:22:40.620><c> of</c><00:22:40.799><c> the</c><00:22:40.919><c> trading</c><00:22:41.400><c> tent</c><00:22:41.640><c> then</c><00:22:42.179><c> you</c><00:22:42.360><c> are</c><00:22:42.539><c> up</c>

00:22:42.710 --> 00:22:42.720 align:start position:0%
all of the trading tent then you are up
 

00:22:42.720 --> 00:22:44.570 align:start position:0%
all of the trading tent then you are up
all<00:22:42.960><c> the</c><00:22:43.080><c> prices</c><00:22:43.200><c> to</c><00:22:43.799><c> be</c><00:22:43.919><c> consistent</c><00:22:44.340><c> with</c>

00:22:44.570 --> 00:22:44.580 align:start position:0%
all the prices to be consistent with
 

00:22:44.580 --> 00:22:46.850 align:start position:0%
all the prices to be consistent with
each<00:22:44.760><c> other</c><00:22:44.880><c> then</c><00:22:45.600><c> you</c><00:22:45.780><c> close</c><00:22:46.020><c> all</c><00:22:46.440><c> the</c><00:22:46.559><c> you</c>

00:22:46.850 --> 00:22:46.860 align:start position:0%
each other then you close all the you
 

00:22:46.860 --> 00:22:49.190 align:start position:0%
each other then you close all the you
know<00:22:46.980><c> closed</c><00:22:47.400><c> positions</c><00:22:48.000><c> and</c><00:22:48.539><c> this</c><00:22:48.659><c> also</c><00:22:48.900><c> lets</c>

00:22:49.190 --> 00:22:49.200 align:start position:0%
know closed positions and this also lets
 

00:22:49.200 --> 00:22:50.870 align:start position:0%
know closed positions and this also lets
you<00:22:49.260><c> as</c><00:22:49.500><c> a</c><00:22:49.620><c> side</c><00:22:49.740><c> effect</c><00:22:49.919><c> have</c><00:22:50.280><c> like</c><00:22:50.520><c> single</c>

00:22:50.870 --> 00:22:50.880 align:start position:0%
you as a side effect have like single
 

00:22:50.880 --> 00:22:52.789 align:start position:0%
you as a side effect have like single
block<00:22:51.120><c> uh</c>

00:22:52.789 --> 00:22:52.799 align:start position:0%
block uh
 

00:22:52.799 --> 00:22:55.669 align:start position:0%
block uh
jit<00:22:53.400><c> liquidity</c><00:22:54.360><c> uh</c><00:22:54.960><c> with</c><00:22:55.200><c> the</c><00:22:55.320><c> kind</c><00:22:55.500><c> of</c><00:22:55.559><c> like</c>

00:22:55.669 --> 00:22:55.679 align:start position:0%
jit liquidity uh with the kind of like
 

00:22:55.679 --> 00:22:57.710 align:start position:0%
jit liquidity uh with the kind of like
batch<00:22:55.980><c> semantics</c><00:22:56.580><c> so</c><00:22:56.880><c> there's</c><00:22:57.360><c> a</c><00:22:57.480><c> lot</c><00:22:57.539><c> of</c>

00:22:57.710 --> 00:22:57.720 align:start position:0%
batch semantics so there's a lot of
 

00:22:57.720 --> 00:22:59.510 align:start position:0%
batch semantics so there's a lot of
really<00:22:57.840><c> interesting</c><00:22:58.260><c> pieces</c><00:22:59.220><c> of</c><00:22:59.340><c> Market</c>

00:22:59.510 --> 00:22:59.520 align:start position:0%
really interesting pieces of Market
 

00:22:59.520 --> 00:23:03.770 align:start position:0%
really interesting pieces of Market
design<00:22:59.880><c> that</c><00:23:00.600><c> get</c><00:23:00.720><c> unlocked</c><00:23:01.200><c> by</c><00:23:01.440><c> this</c><00:23:01.679><c> model</c>

00:23:03.770 --> 00:23:03.780 align:start position:0%
design that get unlocked by this model
 

00:23:03.780 --> 00:23:06.169 align:start position:0%
design that get unlocked by this model
um so<00:23:04.620><c> that's</c><00:23:04.980><c> basically</c><00:23:05.340><c> the</c><00:23:05.520><c> content</c><00:23:06.059><c> of</c>

00:23:06.169 --> 00:23:06.179 align:start position:0%
um so that's basically the content of
 

00:23:06.179 --> 00:23:08.230 align:start position:0%
um so that's basically the content of
the<00:23:06.360><c> talk</c><00:23:06.539><c> if</c><00:23:07.260><c> you</c><00:23:07.380><c> want</c><00:23:07.500><c> to</c><00:23:07.620><c> play</c><00:23:07.740><c> with</c><00:23:07.919><c> this</c>

00:23:08.230 --> 00:23:08.240 align:start position:0%
the talk if you want to play with this
 

00:23:08.240 --> 00:23:11.450 align:start position:0%
the talk if you want to play with this
we<00:23:09.240><c> have</c><00:23:09.419><c> some</c><00:23:10.080><c> weekly</c><00:23:10.500><c> test</c><00:23:10.679><c> Nets</c><00:23:11.100><c> that</c><00:23:11.280><c> you</c>

00:23:11.450 --> 00:23:11.460 align:start position:0%
we have some weekly test Nets that you
 

00:23:11.460 --> 00:23:13.730 align:start position:0%
we have some weekly test Nets that you
can<00:23:11.580><c> you</c><00:23:12.179><c> know</c><00:23:12.240><c> play</c><00:23:12.780><c> around</c><00:23:12.960><c> with</c><00:23:13.200><c> here's</c><00:23:13.679><c> a</c>

00:23:13.730 --> 00:23:13.740 align:start position:0%
can you know play around with here's a
 

00:23:13.740 --> 00:23:15.409 align:start position:0%
can you know play around with here's a
bunch<00:23:13.919><c> of</c><00:23:13.980><c> links</c>

00:23:15.409 --> 00:23:15.419 align:start position:0%
bunch of links
 

00:23:15.419 --> 00:23:16.070 align:start position:0%
bunch of links
um

00:23:16.070 --> 00:23:16.080 align:start position:0%
um
 

00:23:16.080 --> 00:23:20.029 align:start position:0%
um
so<00:23:16.559><c> far</c><00:23:16.799><c> uh</c><00:23:17.580><c> the</c><00:23:17.820><c> the</c><00:23:18.059><c> big</c><00:23:18.659><c> last</c><00:23:18.900><c> sort</c><00:23:19.320><c> of</c><00:23:19.440><c> piece</c>

00:23:20.029 --> 00:23:20.039 align:start position:0%
so far uh the the big last sort of piece
 

00:23:20.039 --> 00:23:21.950 align:start position:0%
so far uh the the big last sort of piece
to<00:23:20.220><c> build</c><00:23:20.400><c> is</c><00:23:20.700><c> the</c><00:23:20.880><c> the</c><00:23:21.059><c> actual</c><00:23:21.360><c> Dex</c><00:23:21.780><c> engine</c>

00:23:21.950 --> 00:23:21.960 align:start position:0%
to build is the the actual Dex engine
 

00:23:21.960 --> 00:23:25.430 align:start position:0%
to build is the the actual Dex engine
but<00:23:22.500><c> we</c><00:23:22.740><c> have</c><00:23:22.860><c> a</c><00:23:23.100><c> toy</c><00:23:23.820><c> uh</c><00:23:24.419><c> amm</c><00:23:24.840><c> that</c><00:23:25.080><c> you</c><00:23:25.200><c> can</c><00:23:25.260><c> do</c>

00:23:25.430 --> 00:23:25.440 align:start position:0%
but we have a toy uh amm that you can do
 

00:23:25.440 --> 00:23:28.430 align:start position:0%
but we have a toy uh amm that you can do
these<00:23:25.860><c> shielded</c><00:23:26.580><c> swaps</c><00:23:27.000><c> against</c><00:23:27.120><c> uh</c><00:23:28.020><c> on</c><00:23:28.320><c> our</c>

00:23:28.430 --> 00:23:28.440 align:start position:0%
these shielded swaps against uh on our
 

00:23:28.440 --> 00:23:30.890 align:start position:0%
these shielded swaps against uh on our
test<00:23:28.620><c> net</c><00:23:28.860><c> so</c><00:23:29.640><c> that's</c><00:23:30.000><c> a</c><00:23:30.240><c> talk</c><00:23:30.299><c> if</c><00:23:30.480><c> anybody</c><00:23:30.780><c> has</c>

00:23:30.890 --> 00:23:30.900 align:start position:0%
test net so that's a talk if anybody has
 

00:23:30.900 --> 00:23:31.970 align:start position:0%
test net so that's a talk if anybody has
any<00:23:31.080><c> questions</c>

00:23:31.970 --> 00:23:31.980 align:start position:0%
any questions
 

00:23:31.980 --> 00:23:33.930 align:start position:0%
any questions
happy<00:23:32.400><c> to</c><00:23:32.640><c> get</c><00:23:32.760><c> into</c><00:23:32.880><c> it</c>

00:23:33.930 --> 00:23:33.940 align:start position:0%
happy to get into it
 

00:23:33.940 --> 00:23:42.710 align:start position:0%
happy to get into it
[Applause]

00:23:42.710 --> 00:23:42.720 align:start position:0%
 
 

00:23:42.720 --> 00:23:45.470 align:start position:0%
 
uh<00:23:43.500><c> just</c><00:23:43.860><c> wait</c><00:23:44.159><c> for</c><00:23:44.340><c> the</c><00:23:44.460><c> mic</c><00:23:44.640><c> please</c><00:23:44.820><c> I'll</c><00:23:45.240><c> run</c>

00:23:45.470 --> 00:23:45.480 align:start position:0%
uh just wait for the mic please I'll run
 

00:23:45.480 --> 00:23:49.970 align:start position:0%
uh just wait for the mic please I'll run
to<00:23:45.720><c> you</c><00:23:45.840><c> with</c><00:23:46.020><c> the</c><00:23:46.200><c> mic</c>

00:23:49.970 --> 00:23:49.980 align:start position:0%
 
 

00:23:49.980 --> 00:23:53.810 align:start position:0%
 
thanks<00:23:50.880><c> for</c><00:23:51.120><c> the</c><00:23:51.299><c> talk</c><00:23:51.480><c> uh</c><00:23:52.140><c> just</c><00:23:52.559><c> curious</c><00:23:53.100><c> so</c>

00:23:53.810 --> 00:23:53.820 align:start position:0%
thanks for the talk uh just curious so
 

00:23:53.820 --> 00:23:56.029 align:start position:0%
thanks for the talk uh just curious so
have<00:23:54.000><c> you</c><00:23:54.179><c> found</c><00:23:54.419><c> a</c><00:23:54.659><c> tight</c><00:23:54.780><c> Bound</c><00:23:55.260><c> for</c><00:23:55.679><c> how</c>

00:23:56.029 --> 00:23:56.039 align:start position:0%
have you found a tight Bound for how
 

00:23:56.039 --> 00:23:57.770 align:start position:0%
have you found a tight Bound for how
much<00:23:56.159><c> of</c><00:23:56.340><c> a</c><00:23:56.460><c> loss</c><00:23:56.760><c> you</c><00:23:56.940><c> have</c><00:23:57.059><c> when</c><00:23:57.299><c> you</c><00:23:57.480><c> provide</c>

00:23:57.770 --> 00:23:57.780 align:start position:0%
much of a loss you have when you provide
 

00:23:57.780 --> 00:24:00.950 align:start position:0%
much of a loss you have when you provide
batching<00:23:58.320><c> because</c><00:23:58.980><c> if</c><00:23:59.760><c> it's</c><00:24:00.179><c> the</c><00:24:00.419><c> content</c>

00:24:00.950 --> 00:24:00.960 align:start position:0%
batching because if it's the content
 

00:24:00.960 --> 00:24:03.350 align:start position:0%
batching because if it's the content
function<00:24:01.200><c> Market</c><00:24:01.440><c> maker</c><00:24:01.919><c> there's</c><00:24:02.760><c> a</c><00:24:03.000><c> loss</c><00:24:03.179><c> in</c>

00:24:03.350 --> 00:24:03.360 align:start position:0%
function Market maker there's a loss in
 

00:24:03.360 --> 00:24:05.630 align:start position:0%
function Market maker there's a loss in
what<00:24:03.600><c> sense</c><00:24:03.840><c> uh</c><00:24:04.620><c> so</c><00:24:04.860><c> you're</c><00:24:05.100><c> going</c><00:24:05.280><c> to</c><00:24:05.340><c> get</c><00:24:05.460><c> an</c>

00:24:05.630 --> 00:24:05.640 align:start position:0%
what sense uh so you're going to get an
 

00:24:05.640 --> 00:24:07.430 align:start position:0%
what sense uh so you're going to get an
average<00:24:05.760><c> you're</c><00:24:06.120><c> smoothing</c><00:24:06.539><c> it</c><00:24:06.780><c> out</c><00:24:06.900><c> in</c><00:24:07.260><c> that</c>

00:24:07.430 --> 00:24:07.440 align:start position:0%
average you're smoothing it out in that
 

00:24:07.440 --> 00:24:09.110 align:start position:0%
average you're smoothing it out in that
sense<00:24:07.620><c> of</c><00:24:07.799><c> speaking</c><00:24:08.159><c> so</c><00:24:08.700><c> you</c><00:24:08.880><c> can</c><00:24:09.000><c> actually</c>

00:24:09.110 --> 00:24:09.120 align:start position:0%
sense of speaking so you can actually
 

00:24:09.120 --> 00:24:10.730 align:start position:0%
sense of speaking so you can actually
have<00:24:09.360><c> a</c><00:24:09.600><c> spike</c><00:24:09.840><c> in</c><00:24:10.020><c> a</c><00:24:10.200><c> block</c><00:24:10.320><c> you're</c><00:24:10.559><c> just</c>

00:24:10.730 --> 00:24:10.740 align:start position:0%
have a spike in a block you're just
 

00:24:10.740 --> 00:24:12.110 align:start position:0%
have a spike in a block you're just
averaging

00:24:12.110 --> 00:24:12.120 align:start position:0%
averaging
 

00:24:12.120 --> 00:24:14.330 align:start position:0%
averaging
so<00:24:12.780><c> have</c><00:24:13.020><c> you</c><00:24:13.200><c> done</c><00:24:13.380><c> an</c><00:24:13.500><c> announcements</c><00:24:13.980><c> I</c><00:24:14.100><c> did</c>

00:24:14.330 --> 00:24:14.340 align:start position:0%
so have you done an announcements I did
 

00:24:14.340 --> 00:24:15.830 align:start position:0%
so have you done an announcements I did
some<00:24:14.460><c> analysis</c><00:24:14.880><c> so</c><00:24:15.000><c> I'm</c><00:24:15.179><c> curious</c><00:24:15.480><c> if</c><00:24:15.600><c> you</c><00:24:15.720><c> have</c>

00:24:15.830 --> 00:24:15.840 align:start position:0%
some analysis so I'm curious if you have
 

00:24:15.840 --> 00:24:18.770 align:start position:0%
some analysis so I'm curious if you have
done<00:24:15.960><c> that</c><00:24:16.140><c> so</c><00:24:16.919><c> I</c><00:24:17.159><c> guess</c><00:24:17.280><c> the</c><00:24:17.700><c> question</c><00:24:18.059><c> that</c><00:24:18.299><c> I</c>

00:24:18.770 --> 00:24:18.780 align:start position:0%
done that so I guess the question that I
 

00:24:18.780 --> 00:24:20.510 align:start position:0%
done that so I guess the question that I
have<00:24:18.840><c> is</c><00:24:19.020><c> like</c><00:24:19.200><c> a</c><00:24:19.320><c> loss</c><00:24:19.620><c> relative</c><00:24:19.980><c> to</c><00:24:20.280><c> what</c>

00:24:20.510 --> 00:24:20.520 align:start position:0%
have is like a loss relative to what
 

00:24:20.520 --> 00:24:23.570 align:start position:0%
have is like a loss relative to what
right<00:24:20.940><c> assuming</c><00:24:21.720><c> no</c><00:24:21.840><c> private</c><00:24:22.260><c> so</c><00:24:22.860><c> two</c><00:24:23.159><c> volts</c>

00:24:23.570 --> 00:24:23.580 align:start position:0%
right assuming no private so two volts
 

00:24:23.580 --> 00:24:26.930 align:start position:0%
right assuming no private so two volts
same<00:24:24.059><c> block</c><00:24:24.299><c> private</c><00:24:24.840><c> versus</c><00:24:24.960><c> non-private</c>

00:24:26.930 --> 00:24:26.940 align:start position:0%
same block private versus non-private
 

00:24:26.940 --> 00:24:29.029 align:start position:0%
same block private versus non-private
uh

00:24:29.029 --> 00:24:29.039 align:start position:0%
uh
 

00:24:29.039 --> 00:24:37.010 align:start position:0%
uh
uh<00:24:29.100><c> I'm</c><00:24:30.080><c> no</c><00:24:31.080><c> okay</c>

00:24:37.010 --> 00:24:37.020 align:start position:0%
 
 

00:24:37.020 --> 00:24:38.690 align:start position:0%
 
do<00:24:37.320><c> we</c><00:24:37.440><c> have</c><00:24:37.559><c> more</c><00:24:37.740><c> questions</c><00:24:37.919><c> yeah</c><00:24:38.280><c> they're</c>

00:24:38.690 --> 00:24:38.700 align:start position:0%
do we have more questions yeah they're
 

00:24:38.700 --> 00:24:43.430 align:start position:0%
do we have more questions yeah they're
not<00:24:39.240><c> sure</c><00:24:39.360><c> who</c><00:24:39.539><c> was</c><00:24:39.720><c> first</c><00:24:39.960><c> sorry</c>

00:24:43.430 --> 00:24:43.440 align:start position:0%
 
 

00:24:43.440 --> 00:24:44.990 align:start position:0%
 
just<00:24:43.799><c> a</c><00:24:43.919><c> quick</c><00:24:44.100><c> one</c><00:24:44.280><c> thanks</c><00:24:44.460><c> very</c><00:24:44.640><c> much</c><00:24:44.820><c> for</c>

00:24:44.990 --> 00:24:45.000 align:start position:0%
just a quick one thanks very much for
 

00:24:45.000 --> 00:24:47.149 align:start position:0%
just a quick one thanks very much for
the<00:24:45.120><c> talk</c><00:24:45.299><c> this</c><00:24:45.659><c> is</c><00:24:45.780><c> fantastic</c><00:24:46.260><c> to</c><00:24:46.620><c> hear</c><00:24:46.860><c> and</c>

00:24:47.149 --> 00:24:47.159 align:start position:0%
the talk this is fantastic to hear and
 

00:24:47.159 --> 00:24:50.870 align:start position:0%
the talk this is fantastic to hear and
to<00:24:47.340><c> get</c><00:24:47.580><c> uh</c><00:24:48.299><c> this</c><00:24:48.600><c> content</c><00:24:49.020><c> and</c><00:24:49.320><c> this</c>

00:24:50.870 --> 00:24:50.880 align:start position:0%
to get uh this content and this
 

00:24:50.880 --> 00:24:53.029 align:start position:0%
to get uh this content and this
all<00:24:51.419><c> right</c><00:24:51.600><c> quick</c><00:24:51.780><c> question</c><00:24:52.020><c> on</c><00:24:52.380><c> reverts</c><00:24:52.980><c> the</c>

00:24:53.029 --> 00:24:53.039 align:start position:0%
all right quick question on reverts the
 

00:24:53.039 --> 00:24:55.130 align:start position:0%
all right quick question on reverts the
whole<00:24:53.159><c> batch</c><00:24:53.340><c> reverts</c><00:24:54.299><c> all</c><00:24:54.780><c> right</c><00:24:54.840><c> so</c><00:24:55.020><c> I</c>

00:24:55.130 --> 00:24:55.140 align:start position:0%
whole batch reverts all right so I
 

00:24:55.140 --> 00:24:57.350 align:start position:0%
whole batch reverts all right so I
missed<00:24:55.559><c> that</c><00:24:55.679><c> on</c><00:24:55.919><c> revert</c><00:24:56.520><c> the</c><00:24:56.940><c> whole</c><00:24:57.059><c> batch</c>

00:24:57.350 --> 00:24:57.360 align:start position:0%
missed that on revert the whole batch
 

00:24:57.360 --> 00:24:58.730 align:start position:0%
missed that on revert the whole batch
reverts

00:24:58.730 --> 00:24:58.740 align:start position:0%
reverts
 

00:24:58.740 --> 00:25:01.490 align:start position:0%
reverts
if<00:24:59.159><c> a</c><00:24:59.400><c> transaction</c><00:24:59.760><c> reverts</c><00:25:00.419><c> oh</c><00:25:00.780><c> objection</c><00:25:01.200><c> is</c>

00:25:01.490 --> 00:25:01.500 align:start position:0%
if a transaction reverts oh objection is
 

00:25:01.500 --> 00:25:04.190 align:start position:0%
if a transaction reverts oh objection is
not<00:25:01.740><c> valid</c><00:25:02.159><c> yeah</c><00:25:03.000><c> so</c>

00:25:04.190 --> 00:25:04.200 align:start position:0%
not valid yeah so
 

00:25:04.200 --> 00:25:05.990 align:start position:0%
not valid yeah so
um<00:25:04.260><c> it's</c><00:25:04.980><c> possible</c><00:25:05.340><c> for</c><00:25:05.580><c> instance</c><00:25:05.820><c> that</c>

00:25:05.990 --> 00:25:06.000 align:start position:0%
um it's possible for instance that
 

00:25:06.000 --> 00:25:08.990 align:start position:0%
um it's possible for instance that
someone<00:25:06.240><c> could</c><00:25:06.659><c> submit</c><00:25:07.260><c> a</c><00:25:07.559><c> transaction</c><00:25:08.000><c> that</c>

00:25:08.990 --> 00:25:09.000 align:start position:0%
someone could submit a transaction that
 

00:25:09.000 --> 00:25:12.350 align:start position:0%
someone could submit a transaction that
say<00:25:09.840><c> you</c><00:25:10.320><c> know</c><00:25:10.380><c> they</c><00:25:10.740><c> submit</c><00:25:11.159><c> a</c><00:25:11.340><c> trade</c><00:25:11.880><c> for</c><00:25:12.179><c> a</c>

00:25:12.350 --> 00:25:12.360 align:start position:0%
say you know they submit a trade for a
 

00:25:12.360 --> 00:25:15.350 align:start position:0%
say you know they submit a trade for a
trading<00:25:12.659><c> pair</c><00:25:12.840><c> that</c><00:25:13.380><c> doesn't</c><00:25:13.679><c> have</c><00:25:13.919><c> any</c>

00:25:15.350 --> 00:25:15.360 align:start position:0%
trading pair that doesn't have any
 

00:25:15.360 --> 00:25:17.630 align:start position:0%
trading pair that doesn't have any
um<00:25:15.419><c> liquidity</c><00:25:15.900><c> on</c><00:25:16.080><c> it</c><00:25:16.200><c> right</c><00:25:16.500><c> so</c><00:25:17.039><c> one</c><00:25:17.400><c> of</c><00:25:17.520><c> the</c>

00:25:17.630 --> 00:25:17.640 align:start position:0%
um liquidity on it right so one of the
 

00:25:17.640 --> 00:25:20.149 align:start position:0%
um liquidity on it right so one of the
outcomes<00:25:18.120><c> of</c><00:25:18.419><c> the</c><00:25:18.659><c> the</c><00:25:18.960><c> batch</c><00:25:19.260><c> swap</c><00:25:19.679><c> is</c><00:25:19.919><c> that</c>

00:25:20.149 --> 00:25:20.159 align:start position:0%
outcomes of the the batch swap is that
 

00:25:20.159 --> 00:25:22.669 align:start position:0%
outcomes of the the batch swap is that
the<00:25:20.400><c> the</c><00:25:20.580><c> trade</c><00:25:20.940><c> can</c><00:25:21.179><c> fail</c><00:25:21.419><c> and</c><00:25:22.200><c> in</c><00:25:22.320><c> that</c><00:25:22.500><c> case</c>

00:25:22.669 --> 00:25:22.679 align:start position:0%
the the trade can fail and in that case
 

00:25:22.679 --> 00:25:24.649 align:start position:0%
the the trade can fail and in that case
rather<00:25:23.280><c> than</c><00:25:23.460><c> having</c><00:25:23.760><c> people</c><00:25:24.059><c> privately</c>

00:25:24.649 --> 00:25:24.659 align:start position:0%
rather than having people privately
 

00:25:24.659 --> 00:25:27.649 align:start position:0%
rather than having people privately
meant<00:25:25.200><c> their</c><00:25:26.159><c> Pro</c><00:25:26.400><c> rata</c><00:25:26.820><c> share</c><00:25:27.120><c> of</c><00:25:27.419><c> the</c>

00:25:27.649 --> 00:25:27.659 align:start position:0%
meant their Pro rata share of the
 

00:25:27.659 --> 00:25:29.990 align:start position:0%
meant their Pro rata share of the
outputs<00:25:28.140><c> they</c><00:25:28.919><c> privately</c><00:25:29.279><c> meant</c><00:25:29.640><c> their</c><00:25:29.820><c> Pro</c>

00:25:29.990 --> 00:25:30.000 align:start position:0%
outputs they privately meant their Pro
 

00:25:30.000 --> 00:25:31.909 align:start position:0%
outputs they privately meant their Pro
rata<00:25:30.360><c> share</c><00:25:30.539><c> of</c><00:25:30.659><c> the</c><00:25:30.840><c> inputs</c><00:25:31.260><c> they</c><00:25:31.440><c> get</c><00:25:31.620><c> their</c>

00:25:31.909 --> 00:25:31.919 align:start position:0%
rata share of the inputs they get their
 

00:25:31.919 --> 00:25:35.630 align:start position:0%
rata share of the inputs they get their
their<00:25:32.279><c> funds</c><00:25:32.760><c> back</c>

00:25:35.630 --> 00:25:35.640 align:start position:0%
 
 

00:25:35.640 --> 00:25:38.149 align:start position:0%
 
uh<00:25:36.360><c> yeah</c><00:25:36.539><c> so</c><00:25:36.779><c> the</c><00:25:36.960><c> whole</c><00:25:37.080><c> batch</c><00:25:37.260><c> goes</c><00:25:37.679><c> goes</c><00:25:38.100><c> at</c>

00:25:38.149 --> 00:25:38.159 align:start position:0%
uh yeah so the whole batch goes goes at
 

00:25:38.159 --> 00:25:41.269 align:start position:0%
uh yeah so the whole batch goes goes at
once<00:25:38.460><c> so</c><00:25:38.700><c> like</c><00:25:39.679><c> technically</c><00:25:40.679><c> I</c><00:25:40.919><c> guess</c><00:25:41.039><c> you</c>

00:25:41.269 --> 00:25:41.279 align:start position:0%
once so like technically I guess you
 

00:25:41.279 --> 00:25:42.649 align:start position:0%
once so like technically I guess you
could<00:25:41.400><c> have</c><00:25:41.520><c> some</c><00:25:41.820><c> kind</c><00:25:41.940><c> of</c><00:25:42.059><c> griefing</c><00:25:42.480><c> attack</c>

00:25:42.649 --> 00:25:42.659 align:start position:0%
could have some kind of griefing attack
 

00:25:42.659 --> 00:25:45.070 align:start position:0%
could have some kind of griefing attack
where<00:25:43.020><c> someone</c><00:25:43.260><c> is</c><00:25:43.500><c> like</c><00:25:43.740><c> continually</c>

00:25:45.070 --> 00:25:45.080 align:start position:0%
where someone is like continually
 

00:25:45.080 --> 00:25:48.649 align:start position:0%
where someone is like continually
locking<00:25:46.080><c> up</c><00:25:46.200><c> capital</c><00:25:46.580><c> in</c><00:25:47.580><c> trying</c><00:25:47.940><c> to</c><00:25:48.120><c> like</c><00:25:48.240><c> dot</c>

00:25:48.649 --> 00:25:48.659 align:start position:0%
locking up capital in trying to like dot
 

00:25:48.659 --> 00:25:50.630 align:start position:0%
locking up capital in trying to like dot
prevent<00:25:49.020><c> other</c><00:25:49.260><c> people</c><00:25:49.440><c> from</c><00:25:49.740><c> Trading</c><00:25:50.159><c> by</c>

00:25:50.630 --> 00:25:50.640 align:start position:0%
prevent other people from Trading by
 

00:25:50.640 --> 00:25:53.450 align:start position:0%
prevent other people from Trading by
submitting<00:25:51.600><c> a</c><00:25:51.960><c> giant</c><00:25:52.440><c> whale</c><00:25:52.740><c> trade</c><00:25:53.100><c> but</c><00:25:53.279><c> like</c>

00:25:53.450 --> 00:25:53.460 align:start position:0%
submitting a giant whale trade but like
 

00:25:53.460 --> 00:25:54.710 align:start position:0%
submitting a giant whale trade but like
they<00:25:53.640><c> can't</c><00:25:53.820><c> actually</c><00:25:54.000><c> do</c><00:25:54.299><c> that</c><00:25:54.419><c> without</c>

00:25:54.710 --> 00:25:54.720 align:start position:0%
they can't actually do that without
 

00:25:54.720 --> 00:25:57.169 align:start position:0%
they can't actually do that without
running<00:25:55.380><c> the</c><00:25:55.679><c> risk</c><00:25:55.980><c> that</c><00:25:56.159><c> like</c><00:25:56.460><c> someone</c><00:25:56.880><c> will</c>

00:25:57.169 --> 00:25:57.179 align:start position:0%
running the risk that like someone will
 

00:25:57.179 --> 00:25:59.390 align:start position:0%
running the risk that like someone will
provide<00:25:57.480><c> liquidity</c><00:25:58.020><c> at</c><00:25:58.200><c> a</c><00:25:58.320><c> bad</c><00:25:58.440><c> price</c><00:25:58.679><c> so</c><00:25:59.039><c> I</c>

00:25:59.390 --> 00:25:59.400 align:start position:0%
provide liquidity at a bad price so I
 

00:25:59.400 --> 00:26:03.169 align:start position:0%
provide liquidity at a bad price so I
think<00:25:59.700><c> it's</c><00:25:59.820><c> probably</c><00:26:00.059><c> not</c><00:26:00.240><c> a</c><00:26:00.360><c> big</c><00:26:00.480><c> deal</c>

00:26:03.169 --> 00:26:03.179 align:start position:0%
 
 

00:26:03.179 --> 00:26:05.890 align:start position:0%
 
right<00:26:03.720><c> the</c><00:26:04.020><c> time</c><00:26:04.200><c> is</c><00:26:04.320><c> off</c><00:26:04.500><c> well</c>

00:26:05.890 --> 00:26:05.900 align:start position:0%
right the time is off well
 

00:26:05.900 --> 00:26:08.029 align:start position:0%
right the time is off well
one<00:26:06.900><c> more</c><00:26:07.080><c> round</c><00:26:07.260><c> of</c><00:26:07.440><c> applause</c><00:26:07.679><c> forehand</c>

00:26:08.029 --> 00:26:08.039 align:start position:0%
one more round of applause forehand
 

00:26:08.039 --> 00:26:11.990 align:start position:0%
one more round of applause forehand
really<00:26:08.220><c> please</c>

00:26:11.990 --> 00:26:12.000 align:start position:0%
 
 

00:26:12.000 --> 00:26:14.840 align:start position:0%
 
thank<00:26:12.360><c> you</c><00:26:12.539><c> Henry</c>

