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

00:00:16.670 --> 00:00:16.680 align:start position:0%
 
 

00:00:16.680 --> 00:00:18.769 align:start position:0%
 
welcome<00:00:17.340><c> back</c>

00:00:18.769 --> 00:00:18.779 align:start position:0%
welcome back
 

00:00:18.779 --> 00:00:22.130 align:start position:0%
welcome back
um our<00:00:19.260><c> next</c><00:00:19.440><c> speaker</c><00:00:19.800><c> is</c><00:00:20.160><c> Chance</c><00:00:20.580><c> Hudson</c><00:00:21.420><c> and</c>

00:00:22.130 --> 00:00:22.140 align:start position:0%
um our next speaker is Chance Hudson and
 

00:00:22.140 --> 00:00:24.410 align:start position:0%
um our next speaker is Chance Hudson and
he'll<00:00:22.380><c> be</c><00:00:22.500><c> talking</c><00:00:22.740><c> about</c><00:00:23.039><c> how</c><00:00:23.699><c> to</c><00:00:23.820><c> build</c><00:00:24.060><c> an</c>

00:00:24.410 --> 00:00:24.420 align:start position:0%
he'll be talking about how to build an
 

00:00:24.420 --> 00:00:28.009 align:start position:0%
he'll be talking about how to build an
identity<00:00:24.900><c> ecosystem</c><00:00:25.500><c> on</c><00:00:26.039><c> unirp</c><00:00:26.760><c> and</c><00:00:27.420><c> unirp</c>

00:00:28.009 --> 00:00:28.019 align:start position:0%
identity ecosystem on unirp and unirp
 

00:00:28.019 --> 00:00:31.130 align:start position:0%
identity ecosystem on unirp and unirp
itself<00:00:28.500><c> is</c><00:00:29.220><c> an</c><00:00:29.760><c> anonymous</c><00:00:30.180><c> reputation</c><00:00:30.779><c> system</c>

00:00:31.130 --> 00:00:31.140 align:start position:0%
itself is an anonymous reputation system
 

00:00:31.140 --> 00:00:33.290 align:start position:0%
itself is an anonymous reputation system
so<00:00:32.040><c> chance</c>

00:00:33.290 --> 00:00:33.300 align:start position:0%
so chance
 

00:00:33.300 --> 00:00:38.990 align:start position:0%
so chance
thank<00:00:33.840><c> you</c>

00:00:38.990 --> 00:00:39.000 align:start position:0%
 
 

00:00:39.000 --> 00:00:40.790 align:start position:0%
 
all<00:00:39.540><c> right</c><00:00:39.600><c> so</c><00:00:39.840><c> thank</c><00:00:40.140><c> you</c><00:00:40.260><c> all</c><00:00:40.379><c> for</c><00:00:40.620><c> being</c>

00:00:40.790 --> 00:00:40.800 align:start position:0%
all right so thank you all for being
 

00:00:40.800 --> 00:00:41.810 align:start position:0%
all right so thank you all for being
here

00:00:41.810 --> 00:00:41.820 align:start position:0%
here
 

00:00:41.820 --> 00:00:44.270 align:start position:0%
here
um<00:00:41.879><c> oops</c><00:00:42.960><c> I'm</c><00:00:43.320><c> excited</c><00:00:43.680><c> to</c><00:00:43.800><c> talk</c><00:00:43.920><c> to</c><00:00:44.040><c> you</c><00:00:44.160><c> guys</c>

00:00:44.270 --> 00:00:44.280 align:start position:0%
um oops I'm excited to talk to you guys
 

00:00:44.280 --> 00:00:46.310 align:start position:0%
um oops I'm excited to talk to you guys
today<00:00:44.460><c> about</c><00:00:44.820><c> a</c><00:00:45.120><c> protocol</c><00:00:45.420><c> I</c><00:00:45.600><c> work</c><00:00:45.780><c> on</c><00:00:45.899><c> called</c>

00:00:46.310 --> 00:00:46.320 align:start position:0%
today about a protocol I work on called
 

00:00:46.320 --> 00:00:47.750 align:start position:0%
today about a protocol I work on called
unirp

00:00:47.750 --> 00:00:47.760 align:start position:0%
unirp
 

00:00:47.760 --> 00:00:49.790 align:start position:0%
unirp
so<00:00:48.180><c> before</c><00:00:48.360><c> we</c><00:00:48.600><c> get</c><00:00:48.719><c> into</c><00:00:48.840><c> it</c><00:00:49.079><c> this</c><00:00:49.379><c> is</c><00:00:49.500><c> a</c><00:00:49.680><c> quick</c>

00:00:49.790 --> 00:00:49.800 align:start position:0%
so before we get into it this is a quick
 

00:00:49.800 --> 00:00:51.410 align:start position:0%
so before we get into it this is a quick
road<00:00:49.980><c> map</c><00:00:50.219><c> of</c><00:00:50.520><c> how</c><00:00:50.760><c> this</c><00:00:50.879><c> presentation</c><00:00:51.239><c> is</c>

00:00:51.410 --> 00:00:51.420 align:start position:0%
road map of how this presentation is
 

00:00:51.420 --> 00:00:53.330 align:start position:0%
road map of how this presentation is
going<00:00:51.600><c> to</c><00:00:51.719><c> go</c><00:00:51.840><c> first</c><00:00:52.559><c> I'm</c><00:00:52.800><c> going</c><00:00:52.980><c> to</c><00:00:53.039><c> give</c><00:00:53.219><c> a</c>

00:00:53.330 --> 00:00:53.340 align:start position:0%
going to go first I'm going to give a
 

00:00:53.340 --> 00:00:55.069 align:start position:0%
going to go first I'm going to give a
semi-technical<00:00:54.059><c> overview</c><00:00:54.420><c> of</c><00:00:54.539><c> what</c><00:00:54.840><c> unit</c>

00:00:55.069 --> 00:00:55.079 align:start position:0%
semi-technical overview of what unit
 

00:00:55.079 --> 00:00:57.470 align:start position:0%
semi-technical overview of what unit
protocol<00:00:55.739><c> is</c><00:00:56.100><c> then</c><00:00:56.760><c> I'll</c><00:00:56.940><c> talk</c><00:00:57.059><c> a</c><00:00:57.239><c> little</c><00:00:57.300><c> bit</c>

00:00:57.470 --> 00:00:57.480 align:start position:0%
protocol is then I'll talk a little bit
 

00:00:57.480 --> 00:00:59.510 align:start position:0%
protocol is then I'll talk a little bit
about<00:00:57.780><c> improving</c><00:00:58.440><c> the</c><00:00:58.620><c> user</c><00:00:58.920><c> experience</c><00:00:59.280><c> of</c>

00:00:59.510 --> 00:00:59.520 align:start position:0%
about improving the user experience of
 

00:00:59.520 --> 00:01:01.430 align:start position:0%
about improving the user experience of
ZK<00:00:59.879><c> and</c><00:01:00.180><c> blockchain</c><00:01:00.539><c> applications</c><00:01:01.079><c> in</c>

00:01:01.430 --> 00:01:01.440 align:start position:0%
ZK and blockchain applications in
 

00:01:01.440 --> 00:01:03.049 align:start position:0%
ZK and blockchain applications in
general<00:01:01.559><c> and</c><00:01:02.340><c> then</c><00:01:02.460><c> I'll</c><00:01:02.579><c> talk</c><00:01:02.699><c> a</c><00:01:02.820><c> little</c><00:01:02.940><c> bit</c>

00:01:03.049 --> 00:01:03.059 align:start position:0%
general and then I'll talk a little bit
 

00:01:03.059 --> 00:01:04.789 align:start position:0%
general and then I'll talk a little bit
about<00:01:03.239><c> how</c><00:01:03.539><c> we</c><00:01:03.660><c> can</c><00:01:03.780><c> scale</c><00:01:04.080><c> ZK</c><00:01:04.440><c> on</c><00:01:04.680><c> the</c>

00:01:04.789 --> 00:01:04.799 align:start position:0%
about how we can scale ZK on the
 

00:01:04.799 --> 00:01:06.410 align:start position:0%
about how we can scale ZK on the
blockchain<00:01:05.159><c> and</c><00:01:05.580><c> sort</c><00:01:05.760><c> of</c><00:01:05.880><c> where</c><00:01:06.060><c> we're</c><00:01:06.240><c> at</c>

00:01:06.410 --> 00:01:06.420 align:start position:0%
blockchain and sort of where we're at
 

00:01:06.420 --> 00:01:09.469 align:start position:0%
blockchain and sort of where we're at
with<00:01:06.720><c> the</c><00:01:06.900><c> capacity</c><00:01:07.320><c> right</c><00:01:07.619><c> now</c>

00:01:09.469 --> 00:01:09.479 align:start position:0%
with the capacity right now
 

00:01:09.479 --> 00:01:12.109 align:start position:0%
with the capacity right now
right<00:01:09.960><c> so</c><00:01:10.200><c> let's</c><00:01:10.439><c> dive</c><00:01:10.680><c> into</c><00:01:10.799><c> it</c><00:01:11.040><c> uh</c><00:01:11.460><c> unirp</c><00:01:12.000><c> is</c>

00:01:12.109 --> 00:01:12.119 align:start position:0%
right so let's dive into it uh unirp is
 

00:01:12.119 --> 00:01:14.630 align:start position:0%
right so let's dive into it uh unirp is
short<00:01:12.299><c> for</c><00:01:12.540><c> Universal</c><00:01:13.439><c> reputation</c><00:01:13.920><c> and</c><00:01:14.520><c> you</c>

00:01:14.630 --> 00:01:14.640 align:start position:0%
short for Universal reputation and you
 

00:01:14.640 --> 00:01:16.250 align:start position:0%
short for Universal reputation and you
can<00:01:14.700><c> think</c><00:01:14.820><c> of</c><00:01:15.000><c> it</c><00:01:15.180><c> as</c><00:01:15.420><c> two</c><00:01:15.780><c> different</c><00:01:15.960><c> things</c>

00:01:16.250 --> 00:01:16.260 align:start position:0%
can think of it as two different things
 

00:01:16.260 --> 00:01:18.530 align:start position:0%
can think of it as two different things
first<00:01:17.100><c> it's</c><00:01:17.400><c> an</c><00:01:17.520><c> identity</c><00:01:17.939><c> system</c><00:01:18.119><c> that</c><00:01:18.420><c> gives</c>

00:01:18.530 --> 00:01:18.540 align:start position:0%
first it's an identity system that gives
 

00:01:18.540 --> 00:01:20.330 align:start position:0%
first it's an identity system that gives
you<00:01:18.659><c> anonymity</c><00:01:19.200><c> and</c><00:01:19.680><c> it</c><00:01:19.740><c> does</c><00:01:19.920><c> this</c><00:01:20.100><c> by</c>

00:01:20.330 --> 00:01:20.340 align:start position:0%
you anonymity and it does this by
 

00:01:20.340 --> 00:01:21.830 align:start position:0%
you anonymity and it does this by
creating<00:01:20.640><c> public</c><00:01:20.820><c> keys</c><00:01:21.299><c> that</c><00:01:21.420><c> change</c><00:01:21.600><c> over</c>

00:01:21.830 --> 00:01:21.840 align:start position:0%
creating public keys that change over
 

00:01:21.840 --> 00:01:23.990 align:start position:0%
creating public keys that change over
time<00:01:22.619><c> the</c><00:01:23.040><c> second</c><00:01:23.100><c> component</c><00:01:23.580><c> is</c><00:01:23.759><c> this</c>

00:01:23.990 --> 00:01:24.000 align:start position:0%
time the second component is this
 

00:01:24.000 --> 00:01:26.330 align:start position:0%
time the second component is this
attestation<00:01:24.600><c> system</c><00:01:25.020><c> uh</c><00:01:25.799><c> within</c><00:01:26.100><c> the</c><00:01:26.220><c> system</c>

00:01:26.330 --> 00:01:26.340 align:start position:0%
attestation system uh within the system
 

00:01:26.340 --> 00:01:27.950 align:start position:0%
attestation system uh within the system
we<00:01:26.640><c> have</c><00:01:26.700><c> a</c><00:01:26.820><c> testers</c><00:01:27.240><c> which</c><00:01:27.540><c> you</c><00:01:27.659><c> can</c><00:01:27.780><c> also</c>

00:01:27.950 --> 00:01:27.960 align:start position:0%
we have a testers which you can also
 

00:01:27.960 --> 00:01:29.570 align:start position:0%
we have a testers which you can also
think<00:01:28.080><c> of</c><00:01:28.259><c> as</c><00:01:28.380><c> applications</c><00:01:28.920><c> or</c><00:01:29.220><c> just</c><00:01:29.400><c> smart</c>

00:01:29.570 --> 00:01:29.580 align:start position:0%
think of as applications or just smart
 

00:01:29.580 --> 00:01:31.550 align:start position:0%
think of as applications or just smart
contracts<00:01:30.119><c> and</c><00:01:30.600><c> these</c><00:01:30.780><c> are</c><00:01:30.960><c> testers</c><00:01:31.259><c> give</c>

00:01:31.550 --> 00:01:31.560 align:start position:0%
contracts and these are testers give
 

00:01:31.560 --> 00:01:34.010 align:start position:0%
contracts and these are testers give
reputation<00:01:32.100><c> to</c><00:01:32.460><c> users</c><00:01:32.880><c> and</c><00:01:33.600><c> you</c><00:01:33.720><c> can</c><00:01:33.780><c> think</c><00:01:33.900><c> of</c>

00:01:34.010 --> 00:01:34.020 align:start position:0%
reputation to users and you can think of
 

00:01:34.020 --> 00:01:36.490 align:start position:0%
reputation to users and you can think of
an<00:01:34.200><c> attest</c><00:01:34.500><c> or</c><00:01:34.680><c> to</c><00:01:34.799><c> reputation</c><00:01:35.280><c> like</c><00:01:35.700><c> erc20</c>

00:01:36.490 --> 00:01:36.500 align:start position:0%
an attest or to reputation like erc20
 

00:01:36.500 --> 00:01:39.530 align:start position:0%
an attest or to reputation like erc20
contracts<00:01:37.500><c> to</c><00:01:37.680><c> tokens</c><00:01:38.159><c> they</c><00:01:38.700><c> create</c><00:01:39.240><c> the</c>

00:01:39.530 --> 00:01:39.540 align:start position:0%
contracts to tokens they create the
 

00:01:39.540 --> 00:01:41.210 align:start position:0%
contracts to tokens they create the
system<00:01:39.720><c> to</c><00:01:39.960><c> find</c><00:01:40.200><c> how</c><00:01:40.439><c> the</c><00:01:40.619><c> reputation</c><00:01:40.979><c> is</c>

00:01:41.210 --> 00:01:41.220 align:start position:0%
system to find how the reputation is
 

00:01:41.220 --> 00:01:43.130 align:start position:0%
system to find how the reputation is
distributed<00:01:41.700><c> and</c><00:01:42.060><c> spent</c><00:01:42.420><c> and</c><00:01:42.600><c> destroyed</c><00:01:43.020><c> and</c>

00:01:43.130 --> 00:01:43.140 align:start position:0%
distributed and spent and destroyed and
 

00:01:43.140 --> 00:01:45.289 align:start position:0%
distributed and spent and destroyed and
everything<00:01:43.320><c> like</c><00:01:43.619><c> that</c>

00:01:45.289 --> 00:01:45.299 align:start position:0%
everything like that
 

00:01:45.299 --> 00:01:48.289 align:start position:0%
everything like that
and<00:01:45.900><c> so</c><00:01:46.140><c> we</c><00:01:46.560><c> Define</c><00:01:46.740><c> reputation</c><00:01:47.340><c> as</c><00:01:47.880><c> two</c>

00:01:48.289 --> 00:01:48.299 align:start position:0%
and so we Define reputation as two
 

00:01:48.299 --> 00:01:50.030 align:start position:0%
and so we Define reputation as two
different<00:01:48.479><c> integers</c><00:01:49.020><c> uh</c><00:01:49.560><c> positive</c><00:01:49.920><c> and</c>

00:01:50.030 --> 00:01:50.040 align:start position:0%
different integers uh positive and
 

00:01:50.040 --> 00:01:52.069 align:start position:0%
different integers uh positive and
negative<00:01:50.340><c> reputation</c><00:01:50.759><c> and</c><00:01:51.299><c> we</c><00:01:51.420><c> do</c><00:01:51.600><c> this</c><00:01:51.720><c> so</c><00:01:51.899><c> we</c>

00:01:52.069 --> 00:01:52.079 align:start position:0%
negative reputation and we do this so we
 

00:01:52.079 --> 00:01:53.690 align:start position:0%
negative reputation and we do this so we
can<00:01:52.140><c> represent</c><00:01:52.500><c> negative</c><00:01:52.920><c> reputation</c><00:01:53.399><c> like</c>

00:01:53.690 --> 00:01:53.700 align:start position:0%
can represent negative reputation like
 

00:01:53.700 --> 00:01:56.450 align:start position:0%
can represent negative reputation like
net<00:01:53.939><c> negative</c><00:01:54.299><c> reputation</c><00:01:54.780><c> in</c><00:01:55.500><c> CK</c><00:01:55.920><c> proofs</c><00:01:56.280><c> and</c>

00:01:56.450 --> 00:01:56.460 align:start position:0%
net negative reputation in CK proofs and
 

00:01:56.460 --> 00:01:57.830 align:start position:0%
net negative reputation in CK proofs and
in<00:01:56.640><c> smart</c><00:01:56.820><c> contracts</c><00:01:57.240><c> without</c><00:01:57.420><c> having</c><00:01:57.720><c> to</c>

00:01:57.830 --> 00:01:57.840 align:start position:0%
in smart contracts without having to
 

00:01:57.840 --> 00:01:59.870 align:start position:0%
in smart contracts without having to
deal<00:01:57.960><c> with</c><00:01:58.259><c> assigned</c><00:01:58.799><c> integers</c><00:01:59.159><c> or</c><00:01:59.460><c> wrapping</c>

00:01:59.870 --> 00:01:59.880 align:start position:0%
deal with assigned integers or wrapping
 

00:01:59.880 --> 00:02:01.370 align:start position:0%
deal with assigned integers or wrapping
around<00:02:00.000><c> unsigned</c><00:02:00.659><c> integers</c><00:02:01.079><c> or</c><00:02:01.259><c> anything</c>

00:02:01.370 --> 00:02:01.380 align:start position:0%
around unsigned integers or anything
 

00:02:01.380 --> 00:02:02.929 align:start position:0%
around unsigned integers or anything
like<00:02:01.560><c> that</c>

00:02:02.929 --> 00:02:02.939 align:start position:0%
like that
 

00:02:02.939 --> 00:02:04.670 align:start position:0%
like that
so<00:02:03.240><c> that's</c><00:02:03.360><c> one</c><00:02:03.600><c> component</c><00:02:03.960><c> of</c><00:02:04.259><c> the</c><00:02:04.380><c> user</c>

00:02:04.670 --> 00:02:04.680 align:start position:0%
so that's one component of the user
 

00:02:04.680 --> 00:02:06.950 align:start position:0%
so that's one component of the user
State<00:02:04.860><c> the</c><00:02:05.579><c> other</c><00:02:05.640><c> is</c><00:02:06.000><c> this</c><00:02:06.299><c> graffiti</c><00:02:06.780><c> value</c>

00:02:06.950 --> 00:02:06.960 align:start position:0%
State the other is this graffiti value
 

00:02:06.960 --> 00:02:10.249 align:start position:0%
State the other is this graffiti value
which<00:02:07.380><c> the</c><00:02:07.740><c> uh</c><00:02:07.860><c> the</c><00:02:08.220><c> a</c><00:02:08.280><c> tester</c><00:02:08.640><c> can</c><00:02:08.759><c> use</c><00:02:08.940><c> for</c><00:02:09.360><c> uh</c>

00:02:10.249 --> 00:02:10.259 align:start position:0%
which the uh the a tester can use for uh
 

00:02:10.259 --> 00:02:12.410 align:start position:0%
which the uh the a tester can use for uh
anything<00:02:10.619><c> in</c><00:02:11.039><c> anything</c><00:02:11.580><c> they</c><00:02:11.760><c> want</c><00:02:11.940><c> to</c><00:02:12.060><c> within</c>

00:02:12.410 --> 00:02:12.420 align:start position:0%
anything in anything they want to within
 

00:02:12.420 --> 00:02:14.449 align:start position:0%
anything in anything they want to within
the<00:02:12.540><c> application</c><00:02:12.959><c> and</c><00:02:13.560><c> this</c><00:02:13.680><c> is</c><00:02:13.800><c> just</c><00:02:13.980><c> 32</c>

00:02:14.449 --> 00:02:14.459 align:start position:0%
the application and this is just 32
 

00:02:14.459 --> 00:02:16.490 align:start position:0%
the application and this is just 32
bytes<00:02:14.879><c> uh</c><00:02:15.420><c> and</c><00:02:15.660><c> yeah</c><00:02:15.780><c> the</c><00:02:15.959><c> assessor</c><00:02:16.260><c> can</c><00:02:16.379><c> use</c>

00:02:16.490 --> 00:02:16.500 align:start position:0%
bytes uh and yeah the assessor can use
 

00:02:16.500 --> 00:02:18.589 align:start position:0%
bytes uh and yeah the assessor can use
it<00:02:16.560><c> as</c><00:02:16.680><c> they</c><00:02:16.860><c> like</c><00:02:17.040><c> and</c><00:02:17.760><c> so</c><00:02:17.879><c> one</c><00:02:18.060><c> example</c><00:02:18.420><c> use</c>

00:02:18.589 --> 00:02:18.599 align:start position:0%
it as they like and so one example use
 

00:02:18.599 --> 00:02:20.930 align:start position:0%
it as they like and so one example use
case<00:02:18.840><c> of</c><00:02:19.020><c> this</c><00:02:19.200><c> is</c><00:02:19.560><c> and</c><00:02:19.860><c> a</c><00:02:20.040><c> tester</c><00:02:20.340><c> can</c><00:02:20.640><c> allow</c>

00:02:20.930 --> 00:02:20.940 align:start position:0%
case of this is and a tester can allow
 

00:02:20.940 --> 00:02:23.449 align:start position:0%
case of this is and a tester can allow
users<00:02:21.300><c> to</c><00:02:21.540><c> register</c><00:02:21.840><c> a</c><00:02:22.080><c> username</c><00:02:22.500><c> and</c><00:02:23.160><c> so</c><00:02:23.280><c> the</c>

00:02:23.449 --> 00:02:23.459 align:start position:0%
users to register a username and so the
 

00:02:23.459 --> 00:02:25.430 align:start position:0%
users to register a username and so the
user<00:02:23.760><c> requests</c><00:02:24.360><c> a</c><00:02:24.480><c> username</c><00:02:24.840><c> and</c><00:02:25.200><c> then</c><00:02:25.319><c> the</c>

00:02:25.430 --> 00:02:25.440 align:start position:0%
user requests a username and then the
 

00:02:25.440 --> 00:02:27.830 align:start position:0%
user requests a username and then the
tester<00:02:25.920><c> attests</c><00:02:26.520><c> giving</c><00:02:26.819><c> the</c><00:02:27.180><c> hash</c><00:02:27.360><c> of</c><00:02:27.660><c> the</c>

00:02:27.830 --> 00:02:27.840 align:start position:0%
tester attests giving the hash of the
 

00:02:27.840 --> 00:02:30.710 align:start position:0%
tester attests giving the hash of the
username<00:02:28.260><c> as</c><00:02:28.500><c> graffiti</c><00:02:29.040><c> to</c><00:02:29.160><c> the</c><00:02:29.340><c> user</c><00:02:30.000><c> now</c>

00:02:30.710 --> 00:02:30.720 align:start position:0%
username as graffiti to the user now
 

00:02:30.720 --> 00:02:33.050 align:start position:0%
username as graffiti to the user now
when<00:02:31.080><c> the</c><00:02:31.200><c> user</c><00:02:31.560><c> takes</c><00:02:31.860><c> an</c><00:02:32.040><c> action</c><00:02:32.280><c> or</c><00:02:32.580><c> makes</c><00:02:32.879><c> a</c>

00:02:33.050 --> 00:02:33.060 align:start position:0%
when the user takes an action or makes a
 

00:02:33.060 --> 00:02:34.670 align:start position:0%
when the user takes an action or makes a
proof<00:02:33.300><c> they</c><00:02:33.599><c> can</c><00:02:33.720><c> prove</c><00:02:34.020><c> the</c><00:02:34.140><c> pre-image</c><00:02:34.560><c> of</c>

00:02:34.670 --> 00:02:34.680 align:start position:0%
proof they can prove the pre-image of
 

00:02:34.680 --> 00:02:37.190 align:start position:0%
proof they can prove the pre-image of
the<00:02:34.800><c> graffiti</c><00:02:35.280><c> and</c><00:02:35.700><c> move</c><00:02:35.819><c> from</c><00:02:36.180><c> anonymity</c><00:02:36.720><c> to</c>

00:02:37.190 --> 00:02:37.200 align:start position:0%
the graffiti and move from anonymity to
 

00:02:37.200 --> 00:02:39.710 align:start position:0%
the graffiti and move from anonymity to
pseudonymity<00:02:37.920><c> so</c><00:02:38.700><c> that's</c><00:02:38.819><c> one</c><00:02:39.180><c> example</c><00:02:39.480><c> use</c>

00:02:39.710 --> 00:02:39.720 align:start position:0%
pseudonymity so that's one example use
 

00:02:39.720 --> 00:02:41.630 align:start position:0%
pseudonymity so that's one example use
case<00:02:39.900><c> that's</c><00:02:40.200><c> relatively</c><00:02:40.739><c> simple</c><00:02:40.920><c> a</c><00:02:41.519><c> more</c>

00:02:41.630 --> 00:02:41.640 align:start position:0%
case that's relatively simple a more
 

00:02:41.640 --> 00:02:43.250 align:start position:0%
case that's relatively simple a more
complex<00:02:41.879><c> example</c><00:02:42.300><c> would</c><00:02:42.540><c> be</c><00:02:42.660><c> storing</c><00:02:43.080><c> the</c>

00:02:43.250 --> 00:02:43.260 align:start position:0%
complex example would be storing the
 

00:02:43.260 --> 00:02:45.530 align:start position:0%
complex example would be storing the
state<00:02:43.440><c> route</c><00:02:43.620><c> of</c><00:02:43.860><c> a</c><00:02:43.980><c> Merkle</c><00:02:44.340><c> tree</c><00:02:44.519><c> inside</c><00:02:45.180><c> of</c>

00:02:45.530 --> 00:02:45.540 align:start position:0%
state route of a Merkle tree inside of
 

00:02:45.540 --> 00:02:47.809 align:start position:0%
state route of a Merkle tree inside of
this<00:02:45.840><c> graffiti</c><00:02:46.440><c> and</c><00:02:46.980><c> then</c><00:02:47.099><c> the</c><00:02:47.220><c> attester</c><00:02:47.700><c> can</c>

00:02:47.809 --> 00:02:47.819 align:start position:0%
this graffiti and then the attester can
 

00:02:47.819 --> 00:02:49.610 align:start position:0%
this graffiti and then the attester can
extend<00:02:48.180><c> the</c><00:02:48.360><c> ZK</c><00:02:48.720><c> proof</c><00:02:49.019><c> system</c><00:02:49.140><c> to</c><00:02:49.379><c> prove</c>

00:02:49.610 --> 00:02:49.620 align:start position:0%
extend the ZK proof system to prove
 

00:02:49.620 --> 00:02:51.650 align:start position:0%
extend the ZK proof system to prove
things<00:02:49.800><c> about</c><00:02:50.099><c> the</c><00:02:50.760><c> contents</c><00:02:51.180><c> of</c><00:02:51.300><c> that</c><00:02:51.480><c> tree</c>

00:02:51.650 --> 00:02:51.660 align:start position:0%
things about the contents of that tree
 

00:02:51.660 --> 00:02:53.330 align:start position:0%
things about the contents of that tree
that's<00:02:51.900><c> in</c><00:02:52.080><c> the</c><00:02:52.200><c> graffiti</c><00:02:52.620><c> so</c><00:02:53.040><c> for</c><00:02:53.160><c> example</c>

00:02:53.330 --> 00:02:53.340 align:start position:0%
that's in the graffiti so for example
 

00:02:53.340 --> 00:02:55.309 align:start position:0%
that's in the graffiti so for example
they<00:02:53.640><c> could</c><00:02:53.760><c> use</c><00:02:53.940><c> an</c><00:02:54.060><c> incremental</c><00:02:54.959><c> Merkle</c>

00:02:55.309 --> 00:02:55.319 align:start position:0%
they could use an incremental Merkle
 

00:02:55.319 --> 00:02:57.290 align:start position:0%
they could use an incremental Merkle
tree<00:02:55.440><c> to</c><00:02:55.980><c> give</c><00:02:56.160><c> achievements</c><00:02:56.700><c> to</c><00:02:56.819><c> the</c><00:02:56.940><c> user</c><00:02:57.180><c> or</c>

00:02:57.290 --> 00:02:57.300 align:start position:0%
tree to give achievements to the user or
 

00:02:57.300 --> 00:02:59.330 align:start position:0%
tree to give achievements to the user or
to<00:02:57.480><c> track</c><00:02:57.720><c> actions</c><00:02:58.379><c> the</c><00:02:58.560><c> user</c><00:02:58.860><c> has</c><00:02:58.980><c> taken</c>

00:02:59.330 --> 00:02:59.340 align:start position:0%
to track actions the user has taken
 

00:02:59.340 --> 00:03:01.790 align:start position:0%
to track actions the user has taken
anything<00:02:59.879><c> like</c><00:03:00.180><c> that</c><00:03:00.360><c> so</c><00:03:01.019><c> very</c><00:03:01.379><c> extensible</c>

00:03:01.790 --> 00:03:01.800 align:start position:0%
anything like that so very extensible
 

00:03:01.800 --> 00:03:03.170 align:start position:0%
anything like that so very extensible
system

00:03:03.170 --> 00:03:03.180 align:start position:0%
system
 

00:03:03.180 --> 00:03:06.589 align:start position:0%
system
so<00:03:03.720><c> the</c><00:03:03.900><c> two</c><00:03:04.140><c> main</c><00:03:04.440><c> properties</c><00:03:04.920><c> of</c><00:03:05.459><c> unirp</c><00:03:06.239><c> are</c>

00:03:06.589 --> 00:03:06.599 align:start position:0%
so the two main properties of unirp are
 

00:03:06.599 --> 00:03:08.990 align:start position:0%
so the two main properties of unirp are
anonymity<00:03:07.200><c> and</c><00:03:07.440><c> non-confidentiality</c><00:03:08.400><c> that</c>

00:03:08.990 --> 00:03:09.000 align:start position:0%
anonymity and non-confidentiality that
 

00:03:09.000 --> 00:03:10.369 align:start position:0%
anonymity and non-confidentiality that
means<00:03:09.239><c> we</c><00:03:09.480><c> can</c><00:03:09.599><c> see</c><00:03:09.780><c> everything</c><00:03:10.080><c> that's</c>

00:03:10.369 --> 00:03:10.379 align:start position:0%
means we can see everything that's
 

00:03:10.379 --> 00:03:11.990 align:start position:0%
means we can see everything that's
happening<00:03:10.739><c> inside</c><00:03:10.980><c> of</c><00:03:11.280><c> the</c><00:03:11.400><c> system</c><00:03:11.519><c> how</c><00:03:11.879><c> much</c>

00:03:11.990 --> 00:03:12.000 align:start position:0%
happening inside of the system how much
 

00:03:12.000 --> 00:03:13.250 align:start position:0%
happening inside of the system how much
reputation<00:03:12.420><c> is</c><00:03:12.599><c> being</c><00:03:12.720><c> transferred</c><00:03:13.200><c> and</c>

00:03:13.250 --> 00:03:13.260 align:start position:0%
reputation is being transferred and
 

00:03:13.260 --> 00:03:15.050 align:start position:0%
reputation is being transferred and
whatnot<00:03:13.620><c> but</c><00:03:14.099><c> we</c><00:03:14.280><c> don't</c><00:03:14.400><c> know</c><00:03:14.580><c> who's</c><00:03:14.760><c> doing</c>

00:03:15.050 --> 00:03:15.060 align:start position:0%
whatnot but we don't know who's doing
 

00:03:15.060 --> 00:03:17.050 align:start position:0%
whatnot but we don't know who's doing
what

00:03:17.050 --> 00:03:17.060 align:start position:0%
what
 

00:03:17.060 --> 00:03:19.490 align:start position:0%
what
so<00:03:18.060><c> let's</c><00:03:18.180><c> talk</c><00:03:18.420><c> a</c><00:03:18.599><c> little</c><00:03:18.720><c> bit</c><00:03:18.959><c> about</c><00:03:19.140><c> the</c>

00:03:19.490 --> 00:03:19.500 align:start position:0%
so let's talk a little bit about the
 

00:03:19.500 --> 00:03:22.070 align:start position:0%
so let's talk a little bit about the
unirap<00:03:19.980><c> identity</c><00:03:20.459><c> system</c><00:03:20.700><c> we</c><00:03:21.540><c> build</c><00:03:21.720><c> on</c><00:03:21.959><c> top</c>

00:03:22.070 --> 00:03:22.080 align:start position:0%
unirap identity system we build on top
 

00:03:22.080 --> 00:03:23.809 align:start position:0%
unirap identity system we build on top
of<00:03:22.200><c> a</c><00:03:22.319><c> system</c><00:03:22.500><c> called</c><00:03:22.739><c> semaphore</c><00:03:23.340><c> which</c><00:03:23.700><c> is</c>

00:03:23.809 --> 00:03:23.819 align:start position:0%
of a system called semaphore which is
 

00:03:23.819 --> 00:03:25.430 align:start position:0%
of a system called semaphore which is
also<00:03:24.060><c> developed</c><00:03:24.420><c> by</c><00:03:24.780><c> the</c><00:03:24.959><c> privacy</c><00:03:25.319><c> and</c>

00:03:25.430 --> 00:03:25.440 align:start position:0%
also developed by the privacy and
 

00:03:25.440 --> 00:03:26.930 align:start position:0%
also developed by the privacy and
scalability<00:03:25.980><c> team</c>

00:03:26.930 --> 00:03:26.940 align:start position:0%
scalability team
 

00:03:26.940 --> 00:03:28.729 align:start position:0%
scalability team
uh<00:03:27.360><c> and</c><00:03:27.480><c> with</c><00:03:27.659><c> some</c><00:03:27.840><c> before</c><00:03:28.019><c> we</c><00:03:28.440><c> have</c><00:03:28.560><c> this</c>

00:03:28.729 --> 00:03:28.739 align:start position:0%
uh and with some before we have this
 

00:03:28.739 --> 00:03:30.229 align:start position:0%
uh and with some before we have this
public<00:03:28.920><c> private</c><00:03:29.280><c> Key</c><00:03:29.400><c> System</c><00:03:29.640><c> that's</c><00:03:30.060><c> the</c>

00:03:30.229 --> 00:03:30.239 align:start position:0%
public private Key System that's the
 

00:03:30.239 --> 00:03:32.390 align:start position:0%
public private Key System that's the
most<00:03:30.360><c> simple</c><00:03:30.540><c> explanation</c><00:03:31.140><c> it</c><00:03:32.040><c> has</c><00:03:32.220><c> two</c>

00:03:32.390 --> 00:03:32.400 align:start position:0%
most simple explanation it has two
 

00:03:32.400 --> 00:03:34.550 align:start position:0%
most simple explanation it has two
Secrets<00:03:32.760><c> a</c><00:03:32.940><c> chapter</c><00:03:33.120><c> and</c><00:03:33.420><c> a</c><00:03:33.540><c> nullifier</c><00:03:33.959><c> and</c><00:03:34.440><c> we</c>

00:03:34.550 --> 00:03:34.560 align:start position:0%
Secrets a chapter and a nullifier and we
 

00:03:34.560 --> 00:03:36.649 align:start position:0%
Secrets a chapter and a nullifier and we
defined<00:03:34.920><c> a</c><00:03:35.040><c> public</c><00:03:35.159><c> key</c><00:03:35.400><c> as</c><00:03:35.760><c> the</c><00:03:36.060><c> hash</c><00:03:36.239><c> of</c><00:03:36.480><c> the</c>

00:03:36.649 --> 00:03:36.659 align:start position:0%
defined a public key as the hash of the
 

00:03:36.659 --> 00:03:38.990 align:start position:0%
defined a public key as the hash of the
hash<00:03:36.900><c> of</c><00:03:37.200><c> those</c><00:03:37.379><c> two</c><00:03:37.560><c> secrets</c><00:03:38.040><c> we</c><00:03:38.700><c> also</c><00:03:38.879><c> call</c>

00:03:38.990 --> 00:03:39.000 align:start position:0%
hash of those two secrets we also call
 

00:03:39.000 --> 00:03:40.850 align:start position:0%
hash of those two secrets we also call
this<00:03:39.180><c> an</c><00:03:39.420><c> identity</c><00:03:39.780><c> commitment</c><00:03:40.140><c> in</c><00:03:40.379><c> semaphore</c>

00:03:40.850 --> 00:03:40.860 align:start position:0%
this an identity commitment in semaphore
 

00:03:40.860 --> 00:03:43.430 align:start position:0%
this an identity commitment in semaphore
talk<00:03:41.099><c> and</c><00:03:42.000><c> we</c><00:03:42.120><c> use</c><00:03:42.299><c> the</c><00:03:42.659><c> Poseidon</c><00:03:43.200><c> hash</c>

00:03:43.430 --> 00:03:43.440 align:start position:0%
talk and we use the Poseidon hash
 

00:03:43.440 --> 00:03:45.470 align:start position:0%
talk and we use the Poseidon hash
function<00:03:43.799><c> to</c><00:03:44.220><c> calculate</c><00:03:44.640><c> these</c><00:03:44.879><c> values</c><00:03:45.239><c> which</c>

00:03:45.470 --> 00:03:45.480 align:start position:0%
function to calculate these values which
 

00:03:45.480 --> 00:03:48.110 align:start position:0%
function to calculate these values which
makes<00:03:45.659><c> it</c><00:03:45.959><c> a</c><00:03:46.319><c> ZK</c><00:03:46.560><c> friendly</c><00:03:46.980><c> protocol</c><00:03:47.340><c> and</c><00:03:48.060><c> that</c>

00:03:48.110 --> 00:03:48.120 align:start position:0%
makes it a ZK friendly protocol and that
 

00:03:48.120 --> 00:03:49.430 align:start position:0%
makes it a ZK friendly protocol and that
means<00:03:48.360><c> that</c><00:03:48.420><c> you</c><00:03:48.599><c> can</c><00:03:48.720><c> extend</c><00:03:49.019><c> it</c><00:03:49.140><c> to</c><00:03:49.260><c> do</c>

00:03:49.430 --> 00:03:49.440 align:start position:0%
means that you can extend it to do
 

00:03:49.440 --> 00:03:51.170 align:start position:0%
means that you can extend it to do
arbitrary<00:03:49.920><c> things</c><00:03:50.099><c> so</c><00:03:50.519><c> so</c><00:03:50.640><c> in</c><00:03:50.819><c> this</c><00:03:50.940><c> example</c>

00:03:51.170 --> 00:03:51.180 align:start position:0%
arbitrary things so so in this example
 

00:03:51.180 --> 00:03:53.030 align:start position:0%
arbitrary things so so in this example
we<00:03:51.480><c> have</c><00:03:51.599><c> just</c><00:03:51.900><c> a</c><00:03:52.140><c> public</c><00:03:52.260><c> private</c><00:03:52.680><c> key</c><00:03:52.799><c> system</c>

00:03:53.030 --> 00:03:53.040 align:start position:0%
we have just a public private key system
 

00:03:53.040 --> 00:03:55.009 align:start position:0%
we have just a public private key system
which<00:03:53.400><c> isn't</c><00:03:53.700><c> particularly</c><00:03:54.060><c> useful</c><00:03:54.420><c> but</c>

00:03:55.009 --> 00:03:55.019 align:start position:0%
which isn't particularly useful but
 

00:03:55.019 --> 00:03:57.110 align:start position:0%
which isn't particularly useful but
using<00:03:55.319><c> a</c><00:03:55.440><c> ZK</c><00:03:55.739><c> proof</c><00:03:56.040><c> you</c><00:03:56.220><c> could</c><00:03:56.340><c> extend</c><00:03:56.640><c> it</c><00:03:56.760><c> to</c>

00:03:57.110 --> 00:03:57.120 align:start position:0%
using a ZK proof you could extend it to
 

00:03:57.120 --> 00:03:59.210 align:start position:0%
using a ZK proof you could extend it to
do<00:03:57.299><c> signatures</c><00:03:57.840><c> for</c><00:03:58.080><c> example</c><00:03:58.319><c> by</c><00:03:58.799><c> writing</c><00:03:59.159><c> a</c>

00:03:59.210 --> 00:03:59.220 align:start position:0%
do signatures for example by writing a
 

00:03:59.220 --> 00:04:01.490 align:start position:0%
do signatures for example by writing a
proof<00:03:59.459><c> that</c><00:03:59.640><c> proves</c><00:04:00.120><c> the</c><00:04:00.480><c> secret</c><00:04:00.659><c> values</c><00:04:01.140><c> as</c>

00:04:01.490 --> 00:04:01.500 align:start position:0%
proof that proves the secret values as
 

00:04:01.500 --> 00:04:03.770 align:start position:0%
proof that proves the secret values as
well<00:04:01.680><c> as</c><00:04:01.799><c> the</c><00:04:02.099><c> hash</c><00:04:02.340><c> of</c><00:04:02.700><c> some</c><00:04:03.180><c> data</c><00:04:03.599><c> that</c><00:04:03.659><c> you</c>

00:04:03.770 --> 00:04:03.780 align:start position:0%
well as the hash of some data that you
 

00:04:03.780 --> 00:04:06.229 align:start position:0%
well as the hash of some data that you
want<00:04:03.900><c> to</c><00:04:04.019><c> assign</c><00:04:04.739><c> uh</c><00:04:05.280><c> yes</c><00:04:05.400><c> you</c><00:04:05.640><c> can</c><00:04:05.760><c> extend</c><00:04:05.940><c> ZK</c>

00:04:06.229 --> 00:04:06.239 align:start position:0%
want to assign uh yes you can extend ZK
 

00:04:06.239 --> 00:04:08.149 align:start position:0%
want to assign uh yes you can extend ZK
proofs<00:04:06.599><c> in</c><00:04:06.720><c> our</c><00:04:06.840><c> in</c><00:04:07.200><c> arbitrary</c><00:04:07.680><c> ways</c><00:04:08.040><c> like</c>

00:04:08.149 --> 00:04:08.159 align:start position:0%
proofs in our in arbitrary ways like
 

00:04:08.159 --> 00:04:09.410 align:start position:0%
proofs in our in arbitrary ways like
this

00:04:09.410 --> 00:04:09.420 align:start position:0%
this
 

00:04:09.420 --> 00:04:11.449 align:start position:0%
this
another<00:04:09.900><c> way</c><00:04:10.140><c> you</c><00:04:10.260><c> can</c><00:04:10.379><c> extend</c><00:04:10.620><c> it</c><00:04:10.799><c> is</c><00:04:11.099><c> by</c>

00:04:11.449 --> 00:04:11.459 align:start position:0%
another way you can extend it is by
 

00:04:11.459 --> 00:04:13.910 align:start position:0%
another way you can extend it is by
building<00:04:11.760><c> something</c><00:04:12.000><c> like</c><00:04:12.239><c> unirap</c><00:04:12.780><c> so</c><00:04:13.560><c> we</c>

00:04:13.910 --> 00:04:13.920 align:start position:0%
building something like unirap so we
 

00:04:13.920 --> 00:04:15.170 align:start position:0%
building something like unirap so we
have<00:04:14.040><c> these</c><00:04:14.220><c> public</c><00:04:14.340><c> keys</c><00:04:14.700><c> that</c><00:04:14.819><c> change</c><00:04:14.939><c> over</c>

00:04:15.170 --> 00:04:15.180 align:start position:0%
have these public keys that change over
 

00:04:15.180 --> 00:04:17.330 align:start position:0%
have these public keys that change over
time<00:04:15.420><c> and</c><00:04:15.900><c> we</c><00:04:16.019><c> call</c><00:04:16.199><c> these</c><00:04:16.440><c> epoc</c><00:04:16.799><c> keys</c><00:04:17.160><c> because</c>

00:04:17.330 --> 00:04:17.340 align:start position:0%
time and we call these epoc keys because
 

00:04:17.340 --> 00:04:19.189 align:start position:0%
time and we call these epoc keys because
they<00:04:17.639><c> are</c><00:04:17.820><c> valid</c><00:04:18.060><c> for</c><00:04:18.299><c> the</c><00:04:18.600><c> length</c><00:04:18.840><c> of</c><00:04:18.959><c> one</c>

00:04:19.189 --> 00:04:19.199 align:start position:0%
they are valid for the length of one
 

00:04:19.199 --> 00:04:21.469 align:start position:0%
they are valid for the length of one
Epoch<00:04:19.799><c> uh</c><00:04:20.400><c> and</c><00:04:20.579><c> this</c><00:04:20.699><c> is</c><00:04:20.820><c> some</c><00:04:20.940><c> amount</c><00:04:21.180><c> of</c><00:04:21.359><c> time</c>

00:04:21.469 --> 00:04:21.479 align:start position:0%
Epoch uh and this is some amount of time
 

00:04:21.479 --> 00:04:23.510 align:start position:0%
Epoch uh and this is some amount of time
that<00:04:21.780><c> is</c><00:04:21.900><c> set</c><00:04:22.199><c> by</c><00:04:22.440><c> the</c><00:04:22.620><c> tester</c><00:04:23.100><c> in</c><00:04:23.340><c> question</c>

00:04:23.510 --> 00:04:23.520 align:start position:0%
that is set by the tester in question
 

00:04:23.520 --> 00:04:26.150 align:start position:0%
that is set by the tester in question
and<00:04:24.240><c> so</c><00:04:24.360><c> the</c><00:04:24.479><c> epoch</c><00:04:24.900><c> key</c><00:04:25.020><c> is</c><00:04:25.259><c> the</c><00:04:25.560><c> hash</c><00:04:25.680><c> of</c><00:04:26.040><c> the</c>

00:04:26.150 --> 00:04:26.160 align:start position:0%
and so the epoch key is the hash of the
 

00:04:26.160 --> 00:04:28.490 align:start position:0%
and so the epoch key is the hash of the
nullifier<00:04:26.699><c> the</c><00:04:27.000><c> tester</c><00:04:27.300><c> ID</c><00:04:27.419><c> Epoch</c><00:04:28.139><c> and</c><00:04:28.199><c> Knots</c>

00:04:28.490 --> 00:04:28.500 align:start position:0%
nullifier the tester ID Epoch and Knots
 

00:04:28.500 --> 00:04:30.290 align:start position:0%
nullifier the tester ID Epoch and Knots
and<00:04:28.919><c> so</c><00:04:29.040><c> as</c><00:04:29.160><c> you</c><00:04:29.280><c> can</c><00:04:29.400><c> see</c><00:04:29.460><c> because</c><00:04:29.699><c> the</c><00:04:29.880><c> epoch</c>

00:04:30.290 --> 00:04:30.300 align:start position:0%
and so as you can see because the epoch
 

00:04:30.300 --> 00:04:32.210 align:start position:0%
and so as you can see because the epoch
is<00:04:30.360><c> part</c><00:04:30.479><c> of</c><00:04:30.540><c> the</c><00:04:30.600><c> hash</c><00:04:30.840><c> it</c><00:04:31.139><c> changes</c><00:04:31.500><c> uh</c><00:04:32.040><c> every</c>

00:04:32.210 --> 00:04:32.220 align:start position:0%
is part of the hash it changes uh every
 

00:04:32.220 --> 00:04:34.550 align:start position:0%
is part of the hash it changes uh every
epoch<00:04:33.060><c> we</c><00:04:33.540><c> also</c><00:04:33.720><c> have</c><00:04:33.900><c> this</c><00:04:34.080><c> nonce</c><00:04:34.380><c> value</c>

00:04:34.550 --> 00:04:34.560 align:start position:0%
epoch we also have this nonce value
 

00:04:34.560 --> 00:04:37.490 align:start position:0%
epoch we also have this nonce value
which<00:04:35.160><c> is</c><00:04:35.340><c> a</c><00:04:35.820><c> value</c><00:04:36.180><c> between</c><00:04:36.419><c> like</c><00:04:36.720><c> one</c><00:04:36.900><c> and</c><00:04:37.139><c> or</c>

00:04:37.490 --> 00:04:37.500 align:start position:0%
which is a value between like one and or
 

00:04:37.500 --> 00:04:39.469 align:start position:0%
which is a value between like one and or
zero<00:04:37.800><c> and</c><00:04:37.860><c> two</c><00:04:38.040><c> by</c><00:04:38.280><c> default</c><00:04:38.580><c> and</c><00:04:39.060><c> it</c><00:04:39.180><c> allows</c><00:04:39.419><c> us</c>

00:04:39.469 --> 00:04:39.479 align:start position:0%
zero and two by default and it allows us
 

00:04:39.479 --> 00:04:41.390 align:start position:0%
zero and two by default and it allows us
to<00:04:39.660><c> give</c><00:04:39.780><c> the</c><00:04:39.960><c> user</c><00:04:40.199><c> multiple</c><00:04:40.620><c> Epoch</c><00:04:41.100><c> keys</c><00:04:41.340><c> for</c>

00:04:41.390 --> 00:04:41.400 align:start position:0%
to give the user multiple Epoch keys for
 

00:04:41.400 --> 00:04:43.249 align:start position:0%
to give the user multiple Epoch keys for
a<00:04:41.520><c> single</c><00:04:41.699><c> Epoch</c><00:04:42.180><c> so</c><00:04:42.540><c> if</c><00:04:42.720><c> your</c><00:04:42.840><c> user</c><00:04:43.020><c> wants</c><00:04:43.199><c> to</c>

00:04:43.249 --> 00:04:43.259 align:start position:0%
a single Epoch so if your user wants to
 

00:04:43.259 --> 00:04:44.629 align:start position:0%
a single Epoch so if your user wants to
commit<00:04:43.500><c> an</c><00:04:43.620><c> action</c><00:04:43.860><c> and</c><00:04:44.160><c> then</c><00:04:44.220><c> wants</c><00:04:44.460><c> to</c><00:04:44.520><c> give</c>

00:04:44.629 --> 00:04:44.639 align:start position:0%
commit an action and then wants to give
 

00:04:44.639 --> 00:04:45.890 align:start position:0%
commit an action and then wants to give
it<00:04:44.820><c> another</c><00:04:44.880><c> action</c><00:04:45.240><c> but</c><00:04:45.479><c> doesn't</c><00:04:45.600><c> want</c><00:04:45.840><c> to</c>

00:04:45.890 --> 00:04:45.900 align:start position:0%
it another action but doesn't want to
 

00:04:45.900 --> 00:04:47.810 align:start position:0%
it another action but doesn't want to
link<00:04:46.020><c> their</c><00:04:46.199><c> identity</c><00:04:46.620><c> between</c><00:04:46.919><c> uh</c><00:04:47.520><c> the</c><00:04:47.759><c> two</c>

00:04:47.810 --> 00:04:47.820 align:start position:0%
link their identity between uh the two
 

00:04:47.820 --> 00:04:50.390 align:start position:0%
link their identity between uh the two
keys<00:04:48.180><c> they</c><00:04:48.479><c> can</c><00:04:48.600><c> use</c><00:04:48.720><c> different</c><00:04:48.960><c> epochies</c><00:04:49.740><c> uh</c>

00:04:50.390 --> 00:04:50.400 align:start position:0%
keys they can use different epochies uh
 

00:04:50.400 --> 00:04:51.890 align:start position:0%
keys they can use different epochies uh
and<00:04:50.580><c> still</c><00:04:50.759><c> be</c><00:04:50.940><c> able</c><00:04:51.120><c> to</c><00:04:51.240><c> prove</c><00:04:51.660><c> the</c><00:04:51.780><c> same</c>

00:04:51.890 --> 00:04:51.900 align:start position:0%
and still be able to prove the same
 

00:04:51.900 --> 00:04:53.930 align:start position:0%
and still be able to prove the same
amount<00:04:52.020><c> of</c><00:04:52.199><c> reputation</c><00:04:52.560><c> and</c><00:04:52.740><c> whatnot</c><00:04:53.460><c> and</c>

00:04:53.930 --> 00:04:53.940 align:start position:0%
amount of reputation and whatnot and
 

00:04:53.940 --> 00:04:55.610 align:start position:0%
amount of reputation and whatnot and
just<00:04:54.120><c> like</c><00:04:54.240><c> some</c><00:04:54.419><c> of</c><00:04:54.540><c> our</c><00:04:54.720><c> this</c><00:04:55.020><c> system</c><00:04:55.139><c> is</c><00:04:55.320><c> ZK</c>

00:04:55.610 --> 00:04:55.620 align:start position:0%
just like some of our this system is ZK
 

00:04:55.620 --> 00:04:58.129 align:start position:0%
just like some of our this system is ZK
friendly<00:04:55.979><c> and</c><00:04:56.280><c> therefore</c><00:04:56.520><c> extensible</c><00:04:57.180><c> so</c><00:04:57.840><c> if</c>

00:04:58.129 --> 00:04:58.139 align:start position:0%
friendly and therefore extensible so if
 

00:04:58.139 --> 00:04:59.210 align:start position:0%
friendly and therefore extensible so if
you<00:04:58.199><c> want</c><00:04:58.320><c> to</c><00:04:58.440><c> make</c><00:04:58.560><c> a</c><00:04:58.680><c> signature</c><00:04:59.040><c> system</c>

00:04:59.210 --> 00:04:59.220 align:start position:0%
you want to make a signature system
 

00:04:59.220 --> 00:05:01.430 align:start position:0%
you want to make a signature system
using<00:04:59.639><c> these</c><00:04:59.820><c> epochies</c><00:05:00.419><c> you</c><00:05:00.840><c> would</c><00:05:01.020><c> use</c><00:05:01.199><c> the</c>

00:05:01.430 --> 00:05:01.440 align:start position:0%
using these epochies you would use the
 

00:05:01.440 --> 00:05:03.950 align:start position:0%
using these epochies you would use the
exact<00:05:01.740><c> same</c><00:05:01.919><c> approach</c><00:05:02.400><c> where</c><00:05:03.000><c> you</c><00:05:03.360><c> prove</c><00:05:03.720><c> the</c>

00:05:03.950 --> 00:05:03.960 align:start position:0%
exact same approach where you prove the
 

00:05:03.960 --> 00:05:05.990 align:start position:0%
exact same approach where you prove the
proof<00:05:04.740><c> control</c><00:05:04.919><c> of</c><00:05:05.100><c> the</c><00:05:05.220><c> nullifier</c><00:05:05.639><c> and</c><00:05:05.880><c> the</c>

00:05:05.990 --> 00:05:06.000 align:start position:0%
proof control of the nullifier and the
 

00:05:06.000 --> 00:05:07.610 align:start position:0%
proof control of the nullifier and the
public<00:05:06.120><c> signals</c><00:05:06.600><c> and</c><00:05:07.020><c> then</c><00:05:07.080><c> you</c><00:05:07.259><c> pass</c><00:05:07.440><c> in</c>

00:05:07.610 --> 00:05:07.620 align:start position:0%
public signals and then you pass in
 

00:05:07.620 --> 00:05:09.230 align:start position:0%
public signals and then you pass in
whatever<00:05:07.979><c> you</c><00:05:08.280><c> want</c><00:05:08.400><c> to</c><00:05:08.520><c> hash</c><00:05:08.699><c> and</c><00:05:08.940><c> it</c><00:05:09.060><c> all</c>

00:05:09.230 --> 00:05:09.240 align:start position:0%
whatever you want to hash and it all
 

00:05:09.240 --> 00:05:11.990 align:start position:0%
whatever you want to hash and it all
gets<00:05:09.540><c> output</c>

00:05:11.990 --> 00:05:12.000 align:start position:0%
 
 

00:05:12.000 --> 00:05:13.490 align:start position:0%
 
yeah<00:05:12.240><c> so</c><00:05:12.600><c> now</c><00:05:12.720><c> I</c><00:05:12.840><c> want</c><00:05:12.960><c> to</c><00:05:13.080><c> talk</c><00:05:13.199><c> a</c><00:05:13.259><c> little</c><00:05:13.320><c> bit</c>

00:05:13.490 --> 00:05:13.500 align:start position:0%
yeah so now I want to talk a little bit
 

00:05:13.500 --> 00:05:14.870 align:start position:0%
yeah so now I want to talk a little bit
about<00:05:13.680><c> data</c><00:05:14.220><c> structures</c><00:05:14.460><c> that</c><00:05:14.580><c> we</c><00:05:14.699><c> use</c><00:05:14.820><c> in</c>

00:05:14.870 --> 00:05:14.880 align:start position:0%
about data structures that we use in
 

00:05:14.880 --> 00:05:16.430 align:start position:0%
about data structures that we use in
unit<00:05:15.000><c> so</c><00:05:15.600><c> we</c><00:05:15.720><c> have</c><00:05:15.840><c> like</c><00:05:15.960><c> this</c><00:05:16.080><c> identity</c>

00:05:16.430 --> 00:05:16.440 align:start position:0%
unit so we have like this identity
 

00:05:16.440 --> 00:05:18.290 align:start position:0%
unit so we have like this identity
system<00:05:16.680><c> but</c><00:05:16.979><c> how</c><00:05:17.160><c> do</c><00:05:17.280><c> we</c><00:05:17.400><c> assign</c><00:05:17.759><c> reputation</c>

00:05:18.290 --> 00:05:18.300 align:start position:0%
system but how do we assign reputation
 

00:05:18.300 --> 00:05:20.330 align:start position:0%
system but how do we assign reputation
and<00:05:18.540><c> graffiti</c><00:05:19.020><c> to</c><00:05:19.259><c> users</c><00:05:19.620><c> in</c><00:05:19.800><c> the</c><00:05:19.919><c> system</c><00:05:20.040><c> and</c>

00:05:20.330 --> 00:05:20.340 align:start position:0%
and graffiti to users in the system and
 

00:05:20.340 --> 00:05:22.790 align:start position:0%
and graffiti to users in the system and
then<00:05:20.460><c> like</c><00:05:20.699><c> continue</c><00:05:21.000><c> to</c><00:05:21.300><c> prove</c><00:05:21.600><c> it</c>

00:05:22.790 --> 00:05:22.800 align:start position:0%
then like continue to prove it
 

00:05:22.800 --> 00:05:25.010 align:start position:0%
then like continue to prove it
so<00:05:23.220><c> we</c><00:05:23.400><c> really</c><00:05:23.580><c> have</c><00:05:23.759><c> two</c><00:05:23.940><c> structures</c>

00:05:25.010 --> 00:05:25.020 align:start position:0%
so we really have two structures
 

00:05:25.020 --> 00:05:27.110 align:start position:0%
so we really have two structures
um<00:05:25.080><c> we</c><00:05:25.380><c> have</c><00:05:25.500><c> this</c><00:05:25.680><c> state</c><00:05:25.979><c> tree</c><00:05:26.220><c> first</c><00:05:26.460><c> which</c>

00:05:27.110 --> 00:05:27.120 align:start position:0%
um we have this state tree first which
 

00:05:27.120 --> 00:05:29.210 align:start position:0%
um we have this state tree first which
controls<00:05:27.660><c> uh</c><00:05:28.139><c> or</c><00:05:28.259><c> measures</c><00:05:28.620><c> whether</c><00:05:28.860><c> or</c><00:05:28.979><c> not</c><00:05:29.039><c> a</c>

00:05:29.210 --> 00:05:29.220 align:start position:0%
controls uh or measures whether or not a
 

00:05:29.220 --> 00:05:31.010 align:start position:0%
controls uh or measures whether or not a
user<00:05:29.460><c> is</c><00:05:29.580><c> a</c><00:05:29.759><c> member</c><00:05:30.000><c> of</c><00:05:30.120><c> the</c><00:05:30.240><c> current</c><00:05:30.360><c> Epoch</c>

00:05:31.010 --> 00:05:31.020 align:start position:0%
user is a member of the current Epoch
 

00:05:31.020 --> 00:05:32.570 align:start position:0%
user is a member of the current Epoch
and<00:05:31.380><c> as</c><00:05:31.560><c> you</c><00:05:31.680><c> can</c><00:05:31.740><c> see</c><00:05:31.860><c> it's</c><00:05:32.039><c> an</c><00:05:32.160><c> incremental</c>

00:05:32.570 --> 00:05:32.580 align:start position:0%
and as you can see it's an incremental
 

00:05:32.580 --> 00:05:34.010 align:start position:0%
and as you can see it's an incremental
Merkel<00:05:32.880><c> tree</c><00:05:33.000><c> that</c><00:05:33.240><c> we</c><00:05:33.300><c> store</c><00:05:33.479><c> completely</c><00:05:33.840><c> on</c>

00:05:34.010 --> 00:05:34.020 align:start position:0%
Merkel tree that we store completely on
 

00:05:34.020 --> 00:05:36.590 align:start position:0%
Merkel tree that we store completely on
chain<00:05:34.220><c> and</c><00:05:35.220><c> the</c><00:05:35.520><c> the</c><00:05:35.639><c> leaves</c><00:05:36.000><c> themselves</c><00:05:36.360><c> are</c>

00:05:36.590 --> 00:05:36.600 align:start position:0%
chain and the the leaves themselves are
 

00:05:36.600 --> 00:05:38.210 align:start position:0%
chain and the the leaves themselves are
the<00:05:36.720><c> hash</c><00:05:36.900><c> of</c><00:05:37.259><c> this</c><00:05:37.560><c> private</c><00:05:37.919><c> identity</c>

00:05:38.210 --> 00:05:38.220 align:start position:0%
the hash of this private identity
 

00:05:38.220 --> 00:05:40.670 align:start position:0%
the hash of this private identity
nullifier<00:05:38.820><c> the</c><00:05:39.539><c> tester</c><00:05:39.900><c> in</c><00:05:40.020><c> the</c><00:05:40.080><c> epoch</c><00:05:40.500><c> and</c>

00:05:40.670 --> 00:05:40.680 align:start position:0%
nullifier the tester in the epoch and
 

00:05:40.680 --> 00:05:42.650 align:start position:0%
nullifier the tester in the epoch and
then<00:05:40.740><c> the</c><00:05:41.039><c> reputation</c><00:05:41.400><c> the</c><00:05:41.699><c> user</c><00:05:42.000><c> has</c><00:05:42.240><c> at</c><00:05:42.539><c> the</c>

00:05:42.650 --> 00:05:42.660 align:start position:0%
then the reputation the user has at the
 

00:05:42.660 --> 00:05:44.629 align:start position:0%
then the reputation the user has at the
start<00:05:42.840><c> of</c><00:05:43.080><c> the</c><00:05:43.199><c> epoch</c><00:05:43.680><c> so</c><00:05:44.039><c> this</c><00:05:44.220><c> tree</c><00:05:44.400><c> control</c>

00:05:44.629 --> 00:05:44.639 align:start position:0%
start of the epoch so this tree control
 

00:05:44.639 --> 00:05:46.850 align:start position:0%
start of the epoch so this tree control
or<00:05:45.060><c> this</c><00:05:45.240><c> tree</c><00:05:45.360><c> has</c><00:05:45.660><c> leaves</c><00:05:46.020><c> that</c><00:05:46.199><c> a</c><00:05:46.620><c> user</c>

00:05:46.850 --> 00:05:46.860 align:start position:0%
or this tree has leaves that a user
 

00:05:46.860 --> 00:05:48.590 align:start position:0%
or this tree has leaves that a user
inserts<00:05:47.160><c> into</c><00:05:47.280><c> when</c><00:05:47.639><c> they</c><00:05:47.880><c> join</c><00:05:48.360><c> the</c><00:05:48.479><c> current</c>

00:05:48.590 --> 00:05:48.600 align:start position:0%
inserts into when they join the current
 

00:05:48.600 --> 00:05:50.749 align:start position:0%
inserts into when they join the current
Epoch<00:05:49.199><c> so</c><00:05:49.620><c> for</c><00:05:49.740><c> example</c><00:05:49.919><c> when</c><00:05:50.100><c> a</c><00:05:50.220><c> user</c><00:05:50.460><c> signs</c>

00:05:50.749 --> 00:05:50.759 align:start position:0%
Epoch so for example when a user signs
 

00:05:50.759 --> 00:05:53.510 align:start position:0%
Epoch so for example when a user signs
up<00:05:50.880><c> we</c><00:05:51.180><c> insert</c><00:05:51.539><c> a</c><00:05:51.720><c> leaf</c><00:05:52.020><c> or</c><00:05:52.440><c> the</c><00:05:52.740><c> the</c><00:05:53.220><c> user</c>

00:05:53.510 --> 00:05:53.520 align:start position:0%
up we insert a leaf or the the user
 

00:05:53.520 --> 00:05:55.430 align:start position:0%
up we insert a leaf or the the user
makes<00:05:53.580><c> a</c><00:05:53.759><c> ZK</c><00:05:54.000><c> proof</c><00:05:54.360><c> and</c><00:05:54.479><c> then</c><00:05:54.660><c> creates</c><00:05:55.020><c> a</c><00:05:55.139><c> leaf</c>

00:05:55.430 --> 00:05:55.440 align:start position:0%
makes a ZK proof and then creates a leaf
 

00:05:55.440 --> 00:05:56.870 align:start position:0%
makes a ZK proof and then creates a leaf
with<00:05:55.680><c> zero</c><00:05:56.100><c> positive</c><00:05:56.400><c> and</c><00:05:56.580><c> negative</c>

00:05:56.870 --> 00:05:56.880 align:start position:0%
with zero positive and negative
 

00:05:56.880 --> 00:05:58.310 align:start position:0%
with zero positive and negative
reputation<00:05:57.300><c> because</c><00:05:57.600><c> they're</c><00:05:57.840><c> just</c><00:05:58.020><c> joining</c>

00:05:58.310 --> 00:05:58.320 align:start position:0%
reputation because they're just joining
 

00:05:58.320 --> 00:06:00.650 align:start position:0%
reputation because they're just joining
the<00:05:58.500><c> system</c><00:05:58.620><c> so</c><00:05:58.800><c> they</c><00:05:58.979><c> start</c><00:05:59.160><c> with</c><00:05:59.280><c> zero</c>

00:06:00.650 --> 00:06:00.660 align:start position:0%
the system so they start with zero
 

00:06:00.660 --> 00:06:02.510 align:start position:0%
the system so they start with zero
the<00:06:01.139><c> other</c><00:06:01.259><c> structure</c><00:06:01.620><c> we</c><00:06:01.740><c> have</c><00:06:01.919><c> is</c><00:06:02.220><c> what</c><00:06:02.400><c> we</c>

00:06:02.510 --> 00:06:02.520 align:start position:0%
the other structure we have is what we
 

00:06:02.520 --> 00:06:04.969 align:start position:0%
the other structure we have is what we
call<00:06:02.639><c> an</c><00:06:02.759><c> epoxy</c><00:06:03.360><c> so</c><00:06:04.020><c> the</c><00:06:04.139><c> state</c><00:06:04.320><c> tree</c><00:06:04.500><c> tracks</c>

00:06:04.969 --> 00:06:04.979 align:start position:0%
call an epoxy so the state tree tracks
 

00:06:04.979 --> 00:06:07.189 align:start position:0%
call an epoxy so the state tree tracks
the<00:06:05.220><c> starting</c><00:06:05.400><c> ballots</c><00:06:05.880><c> for</c><00:06:06.479><c> the</c><00:06:06.539><c> epoch</c><00:06:07.020><c> and</c>

00:06:07.189 --> 00:06:07.199 align:start position:0%
the starting ballots for the epoch and
 

00:06:07.199 --> 00:06:09.290 align:start position:0%
the starting ballots for the epoch and
the<00:06:07.320><c> epoch</c><00:06:07.740><c> tree</c><00:06:07.919><c> uh</c><00:06:08.400><c> tracks</c><00:06:08.820><c> the</c><00:06:08.940><c> amount</c><00:06:09.180><c> of</c>

00:06:09.290 --> 00:06:09.300 align:start position:0%
the epoch tree uh tracks the amount of
 

00:06:09.300 --> 00:06:11.390 align:start position:0%
the epoch tree uh tracks the amount of
reputation<00:06:09.840><c> that</c><00:06:10.139><c> was</c><00:06:10.259><c> received</c><00:06:10.860><c> during</c><00:06:11.160><c> the</c>

00:06:11.390 --> 00:06:11.400 align:start position:0%
reputation that was received during the
 

00:06:11.400 --> 00:06:13.969 align:start position:0%
reputation that was received during the
epoch<00:06:12.360><c> and</c><00:06:12.780><c> as</c><00:06:12.900><c> you</c><00:06:13.020><c> can</c><00:06:13.080><c> see</c><00:06:13.199><c> it's</c><00:06:13.500><c> a</c><00:06:13.680><c> sparse</c>

00:06:13.969 --> 00:06:13.979 align:start position:0%
epoch and as you can see it's a sparse
 

00:06:13.979 --> 00:06:16.370 align:start position:0%
epoch and as you can see it's a sparse
Miracle<00:06:14.220><c> tree</c><00:06:14.460><c> and</c><00:06:15.300><c> we</c><00:06:15.419><c> store</c><00:06:15.660><c> only</c><00:06:15.960><c> the</c><00:06:16.139><c> root</c>

00:06:16.370 --> 00:06:16.380 align:start position:0%
Miracle tree and we store only the root
 

00:06:16.380 --> 00:06:18.350 align:start position:0%
Miracle tree and we store only the root
of<00:06:16.500><c> this</c><00:06:16.680><c> tree</c><00:06:16.860><c> on</c><00:06:17.100><c> chain</c><00:06:17.340><c> and</c><00:06:17.699><c> we</c><00:06:17.820><c> use</c><00:06:17.940><c> ZK</c>

00:06:18.350 --> 00:06:18.360 align:start position:0%
of this tree on chain and we use ZK
 

00:06:18.360 --> 00:06:20.570 align:start position:0%
of this tree on chain and we use ZK
proof's<00:06:18.780><c> off</c><00:06:18.960><c> chain</c><00:06:19.199><c> to</c><00:06:19.740><c> insert</c><00:06:20.039><c> and</c><00:06:20.280><c> update</c>

00:06:20.570 --> 00:06:20.580 align:start position:0%
proof's off chain to insert and update
 

00:06:20.580 --> 00:06:22.550 align:start position:0%
proof's off chain to insert and update
leaves<00:06:21.000><c> in</c><00:06:21.479><c> the</c><00:06:21.660><c> street</c><00:06:21.840><c> and</c><00:06:22.139><c> then</c><00:06:22.259><c> we</c><00:06:22.440><c> just</c>

00:06:22.550 --> 00:06:22.560 align:start position:0%
leaves in the street and then we just
 

00:06:22.560 --> 00:06:24.830 align:start position:0%
leaves in the street and then we just
post<00:06:22.919><c> the</c><00:06:23.220><c> new</c><00:06:23.340><c> route</c><00:06:23.580><c> along</c><00:06:24.240><c> with</c><00:06:24.479><c> the</c><00:06:24.600><c> ZK</c>

00:06:24.830 --> 00:06:24.840 align:start position:0%
post the new route along with the ZK
 

00:06:24.840 --> 00:06:26.570 align:start position:0%
post the new route along with the ZK
proof<00:06:25.139><c> to</c><00:06:25.319><c> the</c><00:06:25.500><c> chain</c>

00:06:26.570 --> 00:06:26.580 align:start position:0%
proof to the chain
 

00:06:26.580 --> 00:06:28.670 align:start position:0%
proof to the chain
and<00:06:27.060><c> you</c><00:06:27.120><c> can</c><00:06:27.240><c> see</c><00:06:27.360><c> that</c><00:06:27.539><c> the</c><00:06:27.780><c> leaf</c><00:06:28.020><c> values</c><00:06:28.380><c> in</c>

00:06:28.670 --> 00:06:28.680 align:start position:0%
and you can see that the leaf values in
 

00:06:28.680 --> 00:06:30.529 align:start position:0%
and you can see that the leaf values in
this<00:06:28.800><c> tree</c><00:06:28.979><c> are</c><00:06:29.400><c> the</c><00:06:29.580><c> hash</c><00:06:29.759><c> of</c><00:06:30.120><c> the</c><00:06:30.300><c> total</c>

00:06:30.529 --> 00:06:30.539 align:start position:0%
this tree are the hash of the total
 

00:06:30.539 --> 00:06:32.990 align:start position:0%
this tree are the hash of the total
reputation<00:06:30.960><c> owned</c><00:06:31.380><c> by</c><00:06:31.500><c> this</c><00:06:31.680><c> Epoch</c><00:06:32.220><c> key</c>

00:06:32.990 --> 00:06:33.000 align:start position:0%
reputation owned by this Epoch key
 

00:06:33.000 --> 00:06:35.629 align:start position:0%
reputation owned by this Epoch key
and<00:06:33.479><c> so</c><00:06:33.720><c> we</c><00:06:33.960><c> determined</c><00:06:34.380><c> the</c><00:06:34.560><c> index</c><00:06:34.919><c> of</c><00:06:35.340><c> the</c>

00:06:35.629 --> 00:06:35.639 align:start position:0%
and so we determined the index of the
 

00:06:35.639 --> 00:06:37.430 align:start position:0%
and so we determined the index of the
user's<00:06:35.940><c> Leaf</c><00:06:36.240><c> in</c><00:06:36.360><c> the</c><00:06:36.479><c> tree</c><00:06:36.600><c> in</c><00:06:37.080><c> the</c><00:06:37.259><c> tree</c>

00:06:37.430 --> 00:06:37.440 align:start position:0%
user's Leaf in the tree in the tree
 

00:06:37.440 --> 00:06:39.529 align:start position:0%
user's Leaf in the tree in the tree
using<00:06:37.979><c> the</c><00:06:38.100><c> epoch</c><00:06:38.580><c> key</c><00:06:38.699><c> so</c><00:06:39.180><c> in</c><00:06:39.300><c> the</c><00:06:39.419><c> previous</c>

00:06:39.529 --> 00:06:39.539 align:start position:0%
using the epoch key so in the previous
 

00:06:39.539 --> 00:06:41.390 align:start position:0%
using the epoch key so in the previous
slide<00:06:39.840><c> you</c><00:06:40.020><c> saw</c><00:06:40.199><c> that</c><00:06:40.440><c> the</c><00:06:40.620><c> epoch</c><00:06:41.039><c> key</c><00:06:41.160><c> is</c><00:06:41.280><c> just</c>

00:06:41.390 --> 00:06:41.400 align:start position:0%
slide you saw that the epoch key is just
 

00:06:41.400 --> 00:06:43.610 align:start position:0%
slide you saw that the epoch key is just
smash<00:06:41.759><c> of</c><00:06:41.940><c> some</c><00:06:42.120><c> arbitrary</c><00:06:42.479><c> data</c><00:06:42.900><c> and</c><00:06:43.500><c> we're</c>

00:06:43.610 --> 00:06:43.620 align:start position:0%
smash of some arbitrary data and we're
 

00:06:43.620 --> 00:06:47.029 align:start position:0%
smash of some arbitrary data and we're
able<00:06:43.919><c> to</c><00:06:44.039><c> uh</c><00:06:44.900><c> apply</c><00:06:45.900><c> or</c><00:06:46.139><c> were</c><00:06:46.740><c> able</c><00:06:46.979><c> to</c>

00:06:47.029 --> 00:06:47.039 align:start position:0%
able to uh apply or were able to
 

00:06:47.039 --> 00:06:48.890 align:start position:0%
able to uh apply or were able to
determine<00:06:47.460><c> a</c><00:06:47.580><c> leaf</c><00:06:47.819><c> in</c><00:06:47.940><c> the</c><00:06:48.060><c> tree</c><00:06:48.240><c> by</c><00:06:48.780><c> taking</c>

00:06:48.890 --> 00:06:48.900 align:start position:0%
determine a leaf in the tree by taking
 

00:06:48.900 --> 00:06:52.249 align:start position:0%
determine a leaf in the tree by taking
the<00:06:49.259><c> modulus</c><00:06:49.740><c> of</c><00:06:49.919><c> that</c><00:06:50.100><c> hash</c><00:06:50.419><c> uh</c><00:06:51.419><c> across</c><00:06:52.080><c> the</c>

00:06:52.249 --> 00:06:52.259 align:start position:0%
the modulus of that hash uh across the
 

00:06:52.259 --> 00:06:54.230 align:start position:0%
the modulus of that hash uh across the
the<00:06:52.440><c> number</c><00:06:52.680><c> of</c><00:06:52.860><c> leaves</c><00:06:53.160><c> in</c><00:06:53.280><c> the</c><00:06:53.400><c> tree</c><00:06:53.520><c> so</c><00:06:54.060><c> if</c>

00:06:54.230 --> 00:06:54.240 align:start position:0%
the number of leaves in the tree so if
 

00:06:54.240 --> 00:06:56.450 align:start position:0%
the number of leaves in the tree so if
we<00:06:54.360><c> use</c><00:06:54.539><c> this</c><00:06:54.780><c> exact</c><00:06:55.199><c> tree</c><00:06:55.440><c> we</c><00:06:55.860><c> would</c><00:06:55.979><c> take</c><00:06:56.160><c> the</c>

00:06:56.450 --> 00:06:56.460 align:start position:0%
we use this exact tree we would take the
 

00:06:56.460 --> 00:06:58.430 align:start position:0%
we use this exact tree we would take the
hash<00:06:56.819><c> modulus</c><00:06:57.479><c> two</c><00:06:57.720><c> to</c><00:06:57.960><c> the</c><00:06:58.080><c> third</c><00:06:58.199><c> because</c>

00:06:58.430 --> 00:06:58.440 align:start position:0%
hash modulus two to the third because
 

00:06:58.440 --> 00:07:00.110 align:start position:0%
hash modulus two to the third because
it's<00:06:58.680><c> only</c><00:06:58.800><c> three</c><00:06:58.979><c> levels</c><00:06:59.280><c> deep</c><00:06:59.460><c> but</c><00:07:00.000><c> of</c>

00:07:00.110 --> 00:07:00.120 align:start position:0%
it's only three levels deep but of
 

00:07:00.120 --> 00:07:01.430 align:start position:0%
it's only three levels deep but of
course<00:07:00.180><c> if</c><00:07:00.300><c> we</c><00:07:00.419><c> did</c><00:07:00.539><c> that</c><00:07:00.660><c> we</c><00:07:00.780><c> would</c><00:07:00.900><c> have</c><00:07:01.020><c> lots</c>

00:07:01.430 --> 00:07:01.440 align:start position:0%
course if we did that we would have lots
 

00:07:01.440 --> 00:07:03.590 align:start position:0%
course if we did that we would have lots
of collisions<00:07:01.860><c> so</c><00:07:02.639><c> when</c><00:07:02.880><c> we</c><00:07:03.000><c> operate</c><00:07:03.419><c> this</c>

00:07:03.590 --> 00:07:03.600 align:start position:0%
of collisions so when we operate this
 

00:07:03.600 --> 00:07:07.010 align:start position:0%
of collisions so when we operate this
tree<00:07:03.840><c> in</c><00:07:04.199><c> production</c><00:07:04.560><c> we</c><00:07:04.979><c> use</c><00:07:05.160><c> a</c><00:07:05.460><c> depth</c><00:07:05.880><c> of</c><00:07:06.060><c> 128</c>

00:07:07.010 --> 00:07:07.020 align:start position:0%
tree in production we use a depth of 128
 

00:07:07.020 --> 00:07:09.469 align:start position:0%
tree in production we use a depth of 128
so<00:07:07.500><c> we</c><00:07:07.680><c> take</c><00:07:07.860><c> the</c><00:07:08.039><c> hash</c><00:07:08.280><c> modulus</c><00:07:08.940><c> 2</c><00:07:09.180><c> to</c><00:07:09.360><c> the</c>

00:07:09.469 --> 00:07:09.479 align:start position:0%
so we take the hash modulus 2 to the
 

00:07:09.479 --> 00:07:11.629 align:start position:0%
so we take the hash modulus 2 to the
128th<00:07:10.080><c> and</c><00:07:10.380><c> now</c><00:07:10.620><c> everyone</c><00:07:10.860><c> gets</c><00:07:11.280><c> a</c><00:07:11.400><c> unique</c>

00:07:11.629 --> 00:07:11.639 align:start position:0%
128th and now everyone gets a unique
 

00:07:11.639 --> 00:07:14.150 align:start position:0%
128th and now everyone gets a unique
Epoch<00:07:12.180><c> key</c><00:07:12.300><c> and</c><00:07:12.539><c> we</c><00:07:12.780><c> have</c><00:07:12.900><c> 128</c><00:07:13.620><c> bits</c><00:07:13.979><c> of</c>

00:07:14.150 --> 00:07:14.160 align:start position:0%
Epoch key and we have 128 bits of
 

00:07:14.160 --> 00:07:15.710 align:start position:0%
Epoch key and we have 128 bits of
collision<00:07:14.520><c> resistance</c>

00:07:15.710 --> 00:07:15.720 align:start position:0%
collision resistance
 

00:07:15.720 --> 00:07:18.170 align:start position:0%
collision resistance
so<00:07:16.199><c> the</c><00:07:16.380><c> whole</c><00:07:16.500><c> idea</c><00:07:16.740><c> behind</c><00:07:16.979><c> unirp</c><00:07:17.460><c> is</c><00:07:17.639><c> users</c>

00:07:18.170 --> 00:07:18.180 align:start position:0%
so the whole idea behind unirp is users
 

00:07:18.180 --> 00:07:19.730 align:start position:0%
so the whole idea behind unirp is users
have<00:07:18.419><c> these</c><00:07:18.720><c> identities</c>

00:07:19.730 --> 00:07:19.740 align:start position:0%
have these identities
 

00:07:19.740 --> 00:07:21.469 align:start position:0%
have these identities
um<00:07:19.800><c> for</c><00:07:19.979><c> that</c><00:07:20.220><c> are</c><00:07:20.280><c> valid</c><00:07:20.520><c> for</c><00:07:20.639><c> an</c><00:07:20.699><c> Epoch</c><00:07:21.180><c> and</c>

00:07:21.469 --> 00:07:21.479 align:start position:0%
um for that are valid for an Epoch and
 

00:07:21.479 --> 00:07:22.790 align:start position:0%
um for that are valid for an Epoch and
then<00:07:21.599><c> at</c><00:07:21.720><c> the</c><00:07:21.840><c> end</c><00:07:21.900><c> of</c><00:07:22.020><c> that</c><00:07:22.080><c> Epoch</c><00:07:22.560><c> they</c><00:07:22.680><c> pack</c>

00:07:22.790 --> 00:07:22.800 align:start position:0%
then at the end of that Epoch they pack
 

00:07:22.800 --> 00:07:24.830 align:start position:0%
then at the end of that Epoch they pack
up<00:07:22.919><c> their</c><00:07:23.099><c> reputation</c><00:07:23.520><c> and</c><00:07:24.060><c> they</c><00:07:24.180><c> move</c><00:07:24.360><c> to</c><00:07:24.599><c> a</c>

00:07:24.830 --> 00:07:24.840 align:start position:0%
up their reputation and they move to a
 

00:07:24.840 --> 00:07:26.629 align:start position:0%
up their reputation and they move to a
new<00:07:24.900><c> identity</c><00:07:25.259><c> and</c><00:07:25.440><c> the</c><00:07:25.560><c> next</c><00:07:25.680><c> Epoch</c><00:07:26.220><c> by</c>

00:07:26.629 --> 00:07:26.639 align:start position:0%
new identity and the next Epoch by
 

00:07:26.639 --> 00:07:30.350 align:start position:0%
new identity and the next Epoch by
inserting<00:07:27.120><c> a</c><00:07:27.360><c> leaf</c><00:07:28.139><c> into</c><00:07:28.440><c> the</c><00:07:29.099><c> new</c><00:07:29.220><c> state</c><00:07:29.400><c> tree</c>

00:07:30.350 --> 00:07:30.360 align:start position:0%
inserting a leaf into the new state tree
 

00:07:30.360 --> 00:07:32.270 align:start position:0%
inserting a leaf into the new state tree
uh<00:07:30.900><c> I</c><00:07:31.199><c> didn't</c><00:07:31.259><c> say</c><00:07:31.440><c> this</c><00:07:31.500><c> before</c><00:07:31.680><c> but</c><00:07:31.860><c> we</c><00:07:32.099><c> have</c>

00:07:32.270 --> 00:07:32.280 align:start position:0%
uh I didn't say this before but we have
 

00:07:32.280 --> 00:07:34.670 align:start position:0%
uh I didn't say this before but we have
a<00:07:32.639><c> copy</c><00:07:32.819><c> of</c><00:07:32.940><c> these</c><00:07:33.180><c> trees</c><00:07:33.479><c> every</c><00:07:33.720><c> Epoch</c><00:07:34.380><c> that</c>

00:07:34.670 --> 00:07:34.680 align:start position:0%
a copy of these trees every Epoch that
 

00:07:34.680 --> 00:07:37.249 align:start position:0%
a copy of these trees every Epoch that
we<00:07:34.800><c> that</c><00:07:35.160><c> we</c><00:07:35.400><c> use</c>

00:07:37.249 --> 00:07:37.259 align:start position:0%
we that we use
 

00:07:37.259 --> 00:07:38.870 align:start position:0%
we that we use
right<00:07:37.500><c> so</c><00:07:37.860><c> let's</c><00:07:37.979><c> change</c><00:07:38.220><c> gears</c><00:07:38.580><c> a</c><00:07:38.699><c> little</c><00:07:38.759><c> bit</c>

00:07:38.870 --> 00:07:38.880 align:start position:0%
right so let's change gears a little bit
 

00:07:38.880 --> 00:07:41.450 align:start position:0%
right so let's change gears a little bit
and<00:07:39.180><c> talk</c><00:07:39.300><c> about</c><00:07:39.539><c> the</c><00:07:40.020><c> user</c><00:07:40.319><c> experience</c><00:07:40.800><c> for</c>

00:07:41.450 --> 00:07:41.460 align:start position:0%
and talk about the user experience for
 

00:07:41.460 --> 00:07:44.029 align:start position:0%
and talk about the user experience for
uh<00:07:42.060><c> zero</c><00:07:42.419><c> knowledge</c><00:07:42.660><c> applications</c><00:07:43.139><c> so</c><00:07:43.919><c> we</c>

00:07:44.029 --> 00:07:44.039 align:start position:0%
uh zero knowledge applications so we
 

00:07:44.039 --> 00:07:46.010 align:start position:0%
uh zero knowledge applications so we
have<00:07:44.160><c> these</c><00:07:44.400><c> proofs</c><00:07:44.759><c> with</c><00:07:45.000><c> unrap</c><00:07:45.599><c> and</c><00:07:45.780><c> we</c><00:07:45.900><c> want</c>

00:07:46.010 --> 00:07:46.020 align:start position:0%
have these proofs with unrap and we want
 

00:07:46.020 --> 00:07:49.129 align:start position:0%
have these proofs with unrap and we want
the<00:07:46.139><c> users</c><00:07:46.380><c> to</c><00:07:46.560><c> be</c><00:07:46.680><c> able</c><00:07:46.860><c> to</c><00:07:46.979><c> uh</c><00:07:48.240><c> make</c><00:07:48.900><c> these</c>

00:07:49.129 --> 00:07:49.139 align:start position:0%
the users to be able to uh make these
 

00:07:49.139 --> 00:07:50.629 align:start position:0%
the users to be able to uh make these
proofs<00:07:49.440><c> inside</c><00:07:49.620><c> of</c><00:07:49.860><c> like</c><00:07:49.979><c> their</c><00:07:50.160><c> browser</c><00:07:50.460><c> for</c>

00:07:50.629 --> 00:07:50.639 align:start position:0%
proofs inside of like their browser for
 

00:07:50.639 --> 00:07:52.010 align:start position:0%
proofs inside of like their browser for
example<00:07:50.819><c> on</c><00:07:51.000><c> a</c><00:07:51.120><c> computer</c>

00:07:52.010 --> 00:07:52.020 align:start position:0%
example on a computer
 

00:07:52.020 --> 00:07:54.770 align:start position:0%
example on a computer
so<00:07:52.680><c> here</c><00:07:53.160><c> we</c><00:07:53.340><c> have</c><00:07:53.460><c> a</c><00:07:53.580><c> graph</c><00:07:53.819><c> of</c><00:07:54.180><c> the</c><00:07:54.479><c> proving</c>

00:07:54.770 --> 00:07:54.780 align:start position:0%
so here we have a graph of the proving
 

00:07:54.780 --> 00:07:56.930 align:start position:0%
so here we have a graph of the proving
time<00:07:54.960><c> for</c><00:07:55.259><c> proofs</c><00:07:55.620><c> of</c><00:07:55.740><c> various</c><00:07:56.039><c> sizes</c><00:07:56.400><c> on</c><00:07:56.819><c> a</c>

00:07:56.930 --> 00:07:56.940 align:start position:0%
time for proofs of various sizes on a
 

00:07:56.940 --> 00:07:59.029 align:start position:0%
time for proofs of various sizes on a
few<00:07:57.060><c> different</c><00:07:57.240><c> devices</c><00:07:57.660><c> and</c><00:07:58.560><c> yeah</c><00:07:58.800><c> you</c><00:07:58.979><c> can</c>

00:07:59.029 --> 00:07:59.039 align:start position:0%
few different devices and yeah you can
 

00:07:59.039 --> 00:08:01.129 align:start position:0%
few different devices and yeah you can
read<00:07:59.160><c> it</c><00:07:59.340><c> pretty</c><00:07:59.460><c> well</c><00:07:59.639><c> uh</c><00:08:00.419><c> so</c><00:08:00.720><c> you</c><00:08:00.900><c> can</c><00:08:00.960><c> see</c>

00:08:01.129 --> 00:08:01.139 align:start position:0%
read it pretty well uh so you can see
 

00:08:01.139 --> 00:08:04.189 align:start position:0%
read it pretty well uh so you can see
that<00:08:01.560><c> there's</c><00:08:02.160><c> a</c><00:08:02.340><c> sweet</c><00:08:02.520><c> spot</c><00:08:02.759><c> below</c><00:08:03.300><c> 30</c><00:08:04.080><c> 000</c>

00:08:04.189 --> 00:08:04.199 align:start position:0%
that there's a sweet spot below 30 000
 

00:08:04.199 --> 00:08:06.170 align:start position:0%
that there's a sweet spot below 30 000
constraints<00:08:04.680><c> where</c><00:08:05.160><c> any</c><00:08:05.340><c> proof</c><00:08:05.639><c> you</c><00:08:05.759><c> make</c><00:08:05.940><c> is</c>

00:08:06.170 --> 00:08:06.180 align:start position:0%
constraints where any proof you make is
 

00:08:06.180 --> 00:08:08.150 align:start position:0%
constraints where any proof you make is
going<00:08:06.300><c> to</c><00:08:06.419><c> take</c><00:08:06.539><c> less</c><00:08:06.780><c> than</c><00:08:06.960><c> five</c><00:08:07.139><c> seconds</c><00:08:07.380><c> on</c>

00:08:08.150 --> 00:08:08.160 align:start position:0%
going to take less than five seconds on
 

00:08:08.160 --> 00:08:10.550 align:start position:0%
going to take less than five seconds on
most<00:08:08.340><c> modern</c><00:08:08.639><c> devices</c><00:08:09.120><c> that</c><00:08:09.840><c> purple</c><00:08:10.080><c> line</c><00:08:10.319><c> at</c>

00:08:10.550 --> 00:08:10.560 align:start position:0%
most modern devices that purple line at
 

00:08:10.560 --> 00:08:13.550 align:start position:0%
most modern devices that purple line at
the<00:08:10.680><c> top</c><00:08:10.740><c> is</c><00:08:11.099><c> uh</c><00:08:11.520><c> an</c><00:08:11.819><c> iPhone</c><00:08:11.940><c> from</c><00:08:12.360><c> like</c><00:08:12.560><c> 2016.</c>

00:08:13.550 --> 00:08:13.560 align:start position:0%
the top is uh an iPhone from like 2016.
 

00:08:13.560 --> 00:08:15.350 align:start position:0%
the top is uh an iPhone from like 2016.
so<00:08:13.919><c> like</c><00:08:14.039><c> older</c><00:08:14.400><c> mobile</c><00:08:14.580><c> devices</c><00:08:14.819><c> can</c><00:08:15.180><c> still</c>

00:08:15.350 --> 00:08:15.360 align:start position:0%
so like older mobile devices can still
 

00:08:15.360 --> 00:08:17.270 align:start position:0%
so like older mobile devices can still
do<00:08:15.479><c> that</c><00:08:15.660><c> in</c><00:08:15.900><c> less</c><00:08:16.020><c> than</c><00:08:16.139><c> 10</c><00:08:16.319><c> seconds</c><00:08:16.560><c> which</c><00:08:17.039><c> is</c>

00:08:17.270 --> 00:08:17.280 align:start position:0%
do that in less than 10 seconds which is
 

00:08:17.280 --> 00:08:19.670 align:start position:0%
do that in less than 10 seconds which is
pretty<00:08:17.759><c> acceptable</c><00:08:18.180><c> performance</c>

00:08:19.670 --> 00:08:19.680 align:start position:0%
pretty acceptable performance
 

00:08:19.680 --> 00:08:21.770 align:start position:0%
pretty acceptable performance
so<00:08:20.220><c> where's</c><00:08:20.400><c> unirup</c><00:08:21.000><c> where</c><00:08:21.360><c> where</c><00:08:21.479><c> are</c><00:08:21.660><c> our</c>

00:08:21.770 --> 00:08:21.780 align:start position:0%
so where's unirup where where are our
 

00:08:21.780 --> 00:08:23.029 align:start position:0%
so where's unirup where where are our
proofs<00:08:22.020><c> on</c><00:08:22.139><c> this</c><00:08:22.259><c> graph</c>

00:08:23.029 --> 00:08:23.039 align:start position:0%
proofs on this graph
 

00:08:23.039 --> 00:08:24.710 align:start position:0%
proofs on this graph
the<00:08:23.460><c> first</c><00:08:23.699><c> proof</c><00:08:23.940><c> we</c><00:08:24.060><c> have</c><00:08:24.180><c> is</c><00:08:24.300><c> a</c><00:08:24.419><c> sign</c><00:08:24.539><c> up</c>

00:08:24.710 --> 00:08:24.720 align:start position:0%
the first proof we have is a sign up
 

00:08:24.720 --> 00:08:26.210 align:start position:0%
the first proof we have is a sign up
proof<00:08:24.960><c> it's</c><00:08:25.259><c> very</c><00:08:25.440><c> small</c><00:08:25.620><c> it's</c><00:08:25.800><c> 700</c>

00:08:26.210 --> 00:08:26.220 align:start position:0%
proof it's very small it's 700
 

00:08:26.220 --> 00:08:28.249 align:start position:0%
proof it's very small it's 700
constraints<00:08:26.639><c> and</c><00:08:26.940><c> all</c><00:08:27.060><c> it</c><00:08:27.240><c> does</c><00:08:27.360><c> is</c><00:08:27.599><c> output</c><00:08:28.020><c> a</c>

00:08:28.249 --> 00:08:28.259 align:start position:0%
constraints and all it does is output a
 

00:08:28.259 --> 00:08:31.070 align:start position:0%
constraints and all it does is output a
hash<00:08:28.440><c> value</c><00:08:28.680><c> so</c><00:08:29.639><c> less</c><00:08:29.879><c> than</c><00:08:30.000><c> one</c><00:08:30.180><c> second</c>

00:08:31.070 --> 00:08:31.080 align:start position:0%
hash value so less than one second
 

00:08:31.080 --> 00:08:32.690 align:start position:0%
hash value so less than one second
a<00:08:31.379><c> little</c><00:08:31.560><c> bit</c><00:08:31.680><c> bigger</c><00:08:31.919><c> we</c><00:08:32.039><c> have</c><00:08:32.159><c> an</c><00:08:32.279><c> Epoch</c>

00:08:32.690 --> 00:08:32.700 align:start position:0%
a little bit bigger we have an Epoch
 

00:08:32.700 --> 00:08:34.310 align:start position:0%
a little bit bigger we have an Epoch
keep<00:08:32.760><c> proof</c><00:08:33.120><c> this</c><00:08:33.479><c> proves</c><00:08:33.779><c> control</c><00:08:33.959><c> of</c><00:08:34.200><c> an</c>

00:08:34.310 --> 00:08:34.320 align:start position:0%
keep proof this proves control of an
 

00:08:34.320 --> 00:08:36.409 align:start position:0%
keep proof this proves control of an
Epoch<00:08:34.680><c> key</c><00:08:34.800><c> and</c><00:08:34.919><c> also</c><00:08:35.159><c> proves</c><00:08:35.520><c> a</c><00:08:35.820><c> leaf</c><00:08:36.120><c> in</c><00:08:36.300><c> the</c>

00:08:36.409 --> 00:08:36.419 align:start position:0%
Epoch key and also proves a leaf in the
 

00:08:36.419 --> 00:08:38.089 align:start position:0%
Epoch key and also proves a leaf in the
state<00:08:36.539><c> tree</c><00:08:36.779><c> so</c><00:08:37.260><c> it's</c><00:08:37.440><c> a</c><00:08:37.560><c> little</c><00:08:37.620><c> bit</c><00:08:37.740><c> bigger</c>

00:08:38.089 --> 00:08:38.099 align:start position:0%
state tree so it's a little bit bigger
 

00:08:38.099 --> 00:08:40.370 align:start position:0%
state tree so it's a little bit bigger
3000<00:08:38.880><c> constraints</c><00:08:39.300><c> still</c><00:08:39.779><c> less</c><00:08:40.020><c> than</c><00:08:40.200><c> one</c>

00:08:40.370 --> 00:08:40.380 align:start position:0%
3000 constraints still less than one
 

00:08:40.380 --> 00:08:42.889 align:start position:0%
3000 constraints still less than one
second<00:08:40.560><c> on</c><00:08:40.800><c> most</c><00:08:40.979><c> devices</c><00:08:41.279><c> and</c><00:08:42.240><c> way</c><00:08:42.599><c> over</c><00:08:42.719><c> here</c>

00:08:42.889 --> 00:08:42.899 align:start position:0%
second on most devices and way over here
 

00:08:42.899 --> 00:08:45.050 align:start position:0%
second on most devices and way over here
we<00:08:43.380><c> have</c><00:08:43.500><c> this</c><00:08:43.740><c> user</c><00:08:44.099><c> State</c><00:08:44.219><c> transition</c><00:08:44.640><c> proof</c>

00:08:45.050 --> 00:08:45.060 align:start position:0%
we have this user State transition proof
 

00:08:45.060 --> 00:08:47.630 align:start position:0%
we have this user State transition proof
and<00:08:45.600><c> in</c><00:08:45.779><c> this</c><00:08:45.959><c> proof</c><00:08:46.260><c> we</c><00:08:46.560><c> add</c><00:08:46.740><c> up</c><00:08:46.920><c> the</c><00:08:47.100><c> value</c><00:08:47.339><c> in</c>

00:08:47.630 --> 00:08:47.640 align:start position:0%
and in this proof we add up the value in
 

00:08:47.640 --> 00:08:49.190 align:start position:0%
and in this proof we add up the value in
the<00:08:47.820><c> state</c><00:08:47.940><c> tree</c><00:08:48.120><c> leaf</c><00:08:48.540><c> as</c><00:08:48.720><c> well</c><00:08:48.899><c> as</c><00:08:49.019><c> the</c>

00:08:49.190 --> 00:08:49.200 align:start position:0%
the state tree leaf as well as the
 

00:08:49.200 --> 00:08:50.990 align:start position:0%
the state tree leaf as well as the
values<00:08:49.500><c> in</c><00:08:49.680><c> all</c><00:08:49.860><c> of</c><00:08:49.920><c> the</c><00:08:50.040><c> epoch</c><00:08:50.459><c> tree</c><00:08:50.580><c> leaves</c>

00:08:50.990 --> 00:08:51.000 align:start position:0%
values in all of the epoch tree leaves
 

00:08:51.000 --> 00:08:52.850 align:start position:0%
values in all of the epoch tree leaves
and<00:08:51.360><c> output</c><00:08:51.720><c> a</c><00:08:51.899><c> new</c><00:08:52.019><c> state</c><00:08:52.140><c> tree</c><00:08:52.320><c> leaf</c><00:08:52.680><c> with</c>

00:08:52.850 --> 00:08:52.860 align:start position:0%
and output a new state tree leaf with
 

00:08:52.860 --> 00:08:55.250 align:start position:0%
and output a new state tree leaf with
the<00:08:53.040><c> sum</c><00:08:53.220><c> of</c><00:08:53.760><c> the</c><00:08:53.880><c> reputation</c><00:08:54.300><c> the</c><00:08:54.600><c> user</c><00:08:54.899><c> owns</c>

00:08:55.250 --> 00:08:55.260 align:start position:0%
the sum of the reputation the user owns
 

00:08:55.260 --> 00:08:56.870 align:start position:0%
the sum of the reputation the user owns
so<00:08:55.680><c> we</c><00:08:55.860><c> have</c><00:08:55.980><c> to</c><00:08:56.100><c> do</c><00:08:56.160><c> multiple</c><00:08:56.459><c> inclusion</c>

00:08:56.870 --> 00:08:56.880 align:start position:0%
so we have to do multiple inclusion
 

00:08:56.880 --> 00:08:58.670 align:start position:0%
so we have to do multiple inclusion
inclusion<00:08:57.600><c> proofs</c><00:08:57.899><c> over</c><00:08:58.019><c> trees</c><00:08:58.440><c> that</c><00:08:58.560><c> are</c>

00:08:58.670 --> 00:08:58.680 align:start position:0%
inclusion proofs over trees that are
 

00:08:58.680 --> 00:09:00.530 align:start position:0%
inclusion proofs over trees that are
quite<00:08:58.800><c> large</c><00:08:59.040><c> but</c><00:08:59.700><c> we</c><00:08:59.880><c> still</c><00:09:00.060><c> end</c><00:09:00.240><c> up</c><00:09:00.360><c> with</c>

00:09:00.530 --> 00:09:00.540 align:start position:0%
quite large but we still end up with
 

00:09:00.540 --> 00:09:02.930 align:start position:0%
quite large but we still end up with
about<00:09:00.720><c> 29</c><00:09:01.380><c> 000</c><00:09:01.440><c> constraints</c><00:09:01.920><c> so</c><00:09:02.459><c> less</c><00:09:02.820><c> than</c>

00:09:02.930 --> 00:09:02.940 align:start position:0%
about 29 000 constraints so less than
 

00:09:02.940 --> 00:09:05.030 align:start position:0%
about 29 000 constraints so less than
five<00:09:03.120><c> seconds</c><00:09:03.300><c> on</c><00:09:03.540><c> Modern</c><00:09:03.720><c> devices</c><00:09:04.080><c> and</c><00:09:04.860><c> we</c>

00:09:05.030 --> 00:09:05.040 align:start position:0%
five seconds on Modern devices and we
 

00:09:05.040 --> 00:09:06.410 align:start position:0%
five seconds on Modern devices and we
can<00:09:05.160><c> also</c><00:09:05.399><c> execute</c><00:09:05.760><c> this</c><00:09:05.940><c> proof</c><00:09:06.180><c> in</c><00:09:06.300><c> the</c>

00:09:06.410 --> 00:09:06.420 align:start position:0%
can also execute this proof in the
 

00:09:06.420 --> 00:09:07.730 align:start position:0%
can also execute this proof in the
background<00:09:06.600><c> so</c><00:09:06.839><c> the</c><00:09:07.019><c> user</c><00:09:07.260><c> doesn't</c><00:09:07.440><c> have</c><00:09:07.620><c> to</c>

00:09:07.730 --> 00:09:07.740 align:start position:0%
background so the user doesn't have to
 

00:09:07.740 --> 00:09:12.050 align:start position:0%
background so the user doesn't have to
know<00:09:07.860><c> about</c><00:09:07.980><c> it</c><00:09:08.100><c> and</c><00:09:08.279><c> doesn't</c><00:09:08.459><c> have</c><00:09:08.700><c> to</c><00:09:08.760><c> wait</c>

00:09:12.050 --> 00:09:12.060 align:start position:0%
 
 

00:09:12.060 --> 00:09:15.230 align:start position:0%
 
right<00:09:12.660><c> so</c><00:09:13.200><c> I</c><00:09:13.680><c> think</c><00:09:13.800><c> a</c><00:09:14.040><c> good</c><00:09:14.160><c> goal</c><00:09:14.519><c> for</c><00:09:14.760><c> zika</c>

00:09:15.230 --> 00:09:15.240 align:start position:0%
right so I think a good goal for zika
 

00:09:15.240 --> 00:09:16.670 align:start position:0%
right so I think a good goal for zika
applications<00:09:15.660><c> and</c><00:09:15.959><c> for</c><00:09:16.080><c> blockchain</c><00:09:16.440><c> in</c>

00:09:16.670 --> 00:09:16.680 align:start position:0%
applications and for blockchain in
 

00:09:16.680 --> 00:09:18.949 align:start position:0%
applications and for blockchain in
general<00:09:16.800><c> is</c><00:09:17.580><c> users</c><00:09:18.000><c> not</c><00:09:18.240><c> being</c><00:09:18.420><c> aware</c><00:09:18.720><c> that</c>

00:09:18.949 --> 00:09:18.959 align:start position:0%
general is users not being aware that
 

00:09:18.959 --> 00:09:20.389 align:start position:0%
general is users not being aware that
they're<00:09:19.140><c> using</c><00:09:19.380><c> the</c><00:09:19.500><c> blockchain</c><00:09:19.920><c> while</c>

00:09:20.389 --> 00:09:20.399 align:start position:0%
they're using the blockchain while
 

00:09:20.399 --> 00:09:22.550 align:start position:0%
they're using the blockchain while
they're<00:09:20.580><c> using</c><00:09:20.880><c> the</c><00:09:21.000><c> blockchain</c><00:09:21.420><c> so</c><00:09:22.140><c> a</c><00:09:22.320><c> lot</c><00:09:22.440><c> of</c>

00:09:22.550 --> 00:09:22.560 align:start position:0%
they're using the blockchain so a lot of
 

00:09:22.560 --> 00:09:23.810 align:start position:0%
they're using the blockchain so a lot of
you<00:09:22.620><c> probably</c><00:09:22.860><c> use</c><00:09:23.100><c> websites</c><00:09:23.700><c> or</c>

00:09:23.810 --> 00:09:23.820 align:start position:0%
you probably use websites or
 

00:09:23.820 --> 00:09:26.750 align:start position:0%
you probably use websites or
applications<00:09:24.240><c> like</c><00:09:24.720><c> Spotify</c><00:09:25.100><c> or</c><00:09:26.100><c> Twitter</c><00:09:26.459><c> or</c>

00:09:26.750 --> 00:09:26.760 align:start position:0%
applications like Spotify or Twitter or
 

00:09:26.760 --> 00:09:29.150 align:start position:0%
applications like Spotify or Twitter or
Reddit<00:09:26.940><c> or</c><00:09:27.240><c> stack</c><00:09:27.480><c> Overflow</c><00:09:27.959><c> uh</c><00:09:28.800><c> just</c><00:09:28.980><c> raise</c>

00:09:29.150 --> 00:09:29.160 align:start position:0%
Reddit or stack Overflow uh just raise
 

00:09:29.160 --> 00:09:30.350 align:start position:0%
Reddit or stack Overflow uh just raise
your<00:09:29.339><c> hand</c><00:09:29.459><c> if</c><00:09:29.640><c> you</c><00:09:29.820><c> know</c><00:09:29.940><c> what</c><00:09:30.180><c> kind</c><00:09:30.300><c> of</c>

00:09:30.350 --> 00:09:30.360 align:start position:0%
your hand if you know what kind of
 

00:09:30.360 --> 00:09:33.889 align:start position:0%
your hand if you know what kind of
database<00:09:30.779><c> those</c><00:09:31.140><c> applications</c><00:09:31.620><c> are</c><00:09:31.920><c> using</c>

00:09:33.889 --> 00:09:33.899 align:start position:0%
database those applications are using
 

00:09:33.899 --> 00:09:35.449 align:start position:0%
database those applications are using
right<00:09:34.140><c> no</c><00:09:34.560><c> one</c><00:09:34.680><c> raised</c><00:09:34.920><c> okay</c><00:09:35.220><c> one</c><00:09:35.339><c> person</c>

00:09:35.449 --> 00:09:35.459 align:start position:0%
right no one raised okay one person
 

00:09:35.459 --> 00:09:36.769 align:start position:0%
right no one raised okay one person
raised<00:09:35.820><c> their</c><00:09:35.880><c> hand</c><00:09:36.000><c> we</c><00:09:36.120><c> have</c><00:09:36.240><c> at</c><00:09:36.540><c> least</c><00:09:36.600><c> one</c>

00:09:36.769 --> 00:09:36.779 align:start position:0%
raised their hand we have at least one
 

00:09:36.779 --> 00:09:38.509 align:start position:0%
raised their hand we have at least one
nerd<00:09:37.019><c> in</c><00:09:37.140><c> the</c><00:09:37.260><c> crowd</c><00:09:37.500><c> but</c><00:09:37.920><c> for</c><00:09:38.100><c> the</c><00:09:38.279><c> most</c><00:09:38.399><c> part</c>

00:09:38.509 --> 00:09:38.519 align:start position:0%
nerd in the crowd but for the most part
 

00:09:38.519 --> 00:09:40.370 align:start position:0%
nerd in the crowd but for the most part
users<00:09:39.060><c> don't</c><00:09:39.240><c> really</c><00:09:39.420><c> care</c><00:09:39.660><c> about</c><00:09:39.899><c> the</c><00:09:40.080><c> data</c>

00:09:40.370 --> 00:09:40.380 align:start position:0%
users don't really care about the data
 

00:09:40.380 --> 00:09:41.389 align:start position:0%
users don't really care about the data
structures<00:09:40.620><c> that</c><00:09:40.860><c> are</c><00:09:40.980><c> backing</c><00:09:41.279><c> the</c>

00:09:41.389 --> 00:09:41.399 align:start position:0%
structures that are backing the
 

00:09:41.399 --> 00:09:43.430 align:start position:0%
structures that are backing the
applications<00:09:41.820><c> they're</c><00:09:42.180><c> using</c><00:09:42.540><c> and</c>

00:09:43.430 --> 00:09:43.440 align:start position:0%
applications they're using and
 

00:09:43.440 --> 00:09:45.170 align:start position:0%
applications they're using and
blockchains<00:09:44.160><c> are</c><00:09:44.279><c> really</c><00:09:44.519><c> the</c><00:09:44.700><c> same</c><00:09:44.880><c> they're</c>

00:09:45.170 --> 00:09:45.180 align:start position:0%
blockchains are really the same they're
 

00:09:45.180 --> 00:09:46.790 align:start position:0%
blockchains are really the same they're
just<00:09:45.360><c> databases</c><00:09:45.899><c> with</c><00:09:46.140><c> different</c><00:09:46.320><c> properties</c>

00:09:46.790 --> 00:09:46.800 align:start position:0%
just databases with different properties
 

00:09:46.800 --> 00:09:48.829 align:start position:0%
just databases with different properties
and<00:09:47.220><c> so</c><00:09:47.459><c> the</c><00:09:47.940><c> user</c><00:09:48.180><c> shouldn't</c><00:09:48.480><c> have</c><00:09:48.600><c> to</c><00:09:48.720><c> be</c>

00:09:48.829 --> 00:09:48.839 align:start position:0%
and so the user shouldn't have to be
 

00:09:48.839 --> 00:09:52.090 align:start position:0%
and so the user shouldn't have to be
aware<00:09:49.140><c> that</c><00:09:49.320><c> they're</c><00:09:49.500><c> using</c><00:09:49.740><c> the</c><00:09:49.800><c> blockchain</c>

00:09:52.090 --> 00:09:52.100 align:start position:0%
aware that they're using the blockchain
 

00:09:52.100 --> 00:09:55.190 align:start position:0%
aware that they're using the blockchain
so<00:09:53.100><c> this</c><00:09:53.339><c> is</c><00:09:53.459><c> the</c><00:09:53.760><c> the</c><00:09:54.000><c> architecture</c><00:09:54.779><c> of</c><00:09:55.080><c> a</c>

00:09:55.190 --> 00:09:55.200 align:start position:0%
so this is the the architecture of a
 

00:09:55.200 --> 00:09:57.590 align:start position:0%
so this is the the architecture of a
traditional<00:09:55.500><c> dap</c><00:09:55.860><c> and</c><00:09:56.700><c> as</c><00:09:57.000><c> an</c><00:09:57.120><c> engineer</c><00:09:57.420><c> I</c>

00:09:57.590 --> 00:09:57.600 align:start position:0%
traditional dap and as an engineer I
 

00:09:57.600 --> 00:09:58.670 align:start position:0%
traditional dap and as an engineer I
really<00:09:57.720><c> like</c><00:09:57.899><c> this</c><00:09:58.019><c> architecture</c><00:09:58.500><c> because</c>

00:09:58.670 --> 00:09:58.680 align:start position:0%
really like this architecture because
 

00:09:58.680 --> 00:10:00.290 align:start position:0%
really like this architecture because
it's<00:09:58.920><c> simple</c><00:09:59.160><c> and</c><00:09:59.760><c> it's</c><00:09:59.940><c> sort</c><00:10:00.180><c> of</c>

00:10:00.290 --> 00:10:00.300 align:start position:0%
it's simple and it's sort of
 

00:10:00.300 --> 00:10:02.329 align:start position:0%
it's simple and it's sort of
unprecedented<00:10:00.839><c> before</c><00:10:01.080><c> blockchain</c><00:10:01.620><c> but</c><00:10:02.220><c> for</c>

00:10:02.329 --> 00:10:02.339 align:start position:0%
unprecedented before blockchain but for
 

00:10:02.339 --> 00:10:04.009 align:start position:0%
unprecedented before blockchain but for
the<00:10:02.459><c> reasons</c><00:10:02.700><c> that</c><00:10:02.820><c> I</c><00:10:03.000><c> like</c><00:10:03.120><c> it</c><00:10:03.300><c> I</c><00:10:03.660><c> think</c><00:10:03.779><c> that</c>

00:10:04.009 --> 00:10:04.019 align:start position:0%
the reasons that I like it I think that
 

00:10:04.019 --> 00:10:05.750 align:start position:0%
the reasons that I like it I think that
users<00:10:04.380><c> kind</c><00:10:04.560><c> of</c><00:10:04.680><c> hate</c><00:10:04.800><c> it</c><00:10:04.980><c> because</c><00:10:05.160><c> they</c><00:10:05.640><c> have</c>

00:10:05.750 --> 00:10:05.760 align:start position:0%
users kind of hate it because they have
 

00:10:05.760 --> 00:10:07.250 align:start position:0%
users kind of hate it because they have
to<00:10:05.880><c> learn</c><00:10:06.000><c> about</c><00:10:06.180><c> the</c><00:10:06.360><c> blockchain</c><00:10:06.720><c> and</c><00:10:07.200><c> then</c>

00:10:07.250 --> 00:10:07.260 align:start position:0%
to learn about the blockchain and then
 

00:10:07.260 --> 00:10:08.389 align:start position:0%
to learn about the blockchain and then
they<00:10:07.380><c> have</c><00:10:07.500><c> to</c><00:10:07.620><c> learn</c><00:10:07.680><c> about</c><00:10:07.860><c> wallets</c><00:10:08.220><c> like</c>

00:10:08.389 --> 00:10:08.399 align:start position:0%
they have to learn about wallets like
 

00:10:08.399 --> 00:10:10.370 align:start position:0%
they have to learn about wallets like
metamask<00:10:08.820><c> and</c><00:10:09.120><c> transactions</c><00:10:09.779><c> and</c><00:10:10.019><c> gas</c><00:10:10.200><c> and</c>

00:10:10.370 --> 00:10:10.380 align:start position:0%
metamask and transactions and gas and
 

00:10:10.380 --> 00:10:12.410 align:start position:0%
metamask and transactions and gas and
gas<00:10:10.620><c> prices</c><00:10:10.800><c> and</c><00:10:11.160><c> way</c><00:10:11.459><c> and</c><00:10:11.880><c> ether</c><00:10:12.120><c> and</c><00:10:12.360><c> they</c>

00:10:12.410 --> 00:10:12.420 align:start position:0%
gas prices and way and ether and they
 

00:10:12.420 --> 00:10:14.090 align:start position:0%
gas prices and way and ether and they
have<00:10:12.480><c> to</c><00:10:12.600><c> get</c><00:10:12.720><c> ether</c><00:10:13.019><c> and</c><00:10:13.500><c> it's</c><00:10:13.620><c> a</c><00:10:13.800><c> whole</c><00:10:13.920><c> thing</c>

00:10:14.090 --> 00:10:14.100 align:start position:0%
have to get ether and it's a whole thing
 

00:10:14.100 --> 00:10:15.530 align:start position:0%
have to get ether and it's a whole thing
and<00:10:14.279><c> it's</c><00:10:14.459><c> it's</c><00:10:14.640><c> a</c><00:10:14.880><c> lot</c><00:10:14.940><c> for</c><00:10:15.120><c> them</c><00:10:15.240><c> to</c><00:10:15.420><c> learn</c>

00:10:15.530 --> 00:10:15.540 align:start position:0%
and it's it's a lot for them to learn
 

00:10:15.540 --> 00:10:18.170 align:start position:0%
and it's it's a lot for them to learn
just<00:10:15.839><c> to</c><00:10:16.019><c> use</c><00:10:16.200><c> a</c><00:10:16.500><c> single</c><00:10:16.740><c> dab</c>

00:10:18.170 --> 00:10:18.180 align:start position:0%
just to use a single dab
 

00:10:18.180 --> 00:10:20.810 align:start position:0%
just to use a single dab
so<00:10:18.720><c> luckily</c><00:10:19.080><c> if</c><00:10:19.440><c> we</c><00:10:19.560><c> use</c><00:10:19.740><c> ZK</c><00:10:20.279><c> identities</c>

00:10:20.810 --> 00:10:20.820 align:start position:0%
so luckily if we use ZK identities
 

00:10:20.820 --> 00:10:22.670 align:start position:0%
so luckily if we use ZK identities
instead<00:10:21.300><c> of</c><00:10:21.420><c> wallets</c><00:10:21.720><c> we</c><00:10:22.260><c> can</c><00:10:22.320><c> build</c><00:10:22.500><c> this</c>

00:10:22.670 --> 00:10:22.680 align:start position:0%
instead of wallets we can build this
 

00:10:22.680 --> 00:10:24.350 align:start position:0%
instead of wallets we can build this
more<00:10:22.860><c> traditional</c><00:10:23.220><c> three-tier</c><00:10:23.820><c> architecture</c>

00:10:24.350 --> 00:10:24.360 align:start position:0%
more traditional three-tier architecture
 

00:10:24.360 --> 00:10:27.530 align:start position:0%
more traditional three-tier architecture
where<00:10:24.899><c> we</c><00:10:25.080><c> introduce</c><00:10:25.440><c> a</c><00:10:25.620><c> relay</c><00:10:25.980><c> uh</c><00:10:26.880><c> that</c><00:10:27.120><c> that</c>

00:10:27.530 --> 00:10:27.540 align:start position:0%
where we introduce a relay uh that that
 

00:10:27.540 --> 00:10:29.449 align:start position:0%
where we introduce a relay uh that that
bundles<00:10:27.959><c> the</c><00:10:28.140><c> transaction</c><00:10:28.440><c> and</c><00:10:28.680><c> sends</c><00:10:29.040><c> it</c><00:10:29.160><c> so</c>

00:10:29.449 --> 00:10:29.459 align:start position:0%
bundles the transaction and sends it so
 

00:10:29.459 --> 00:10:31.250 align:start position:0%
bundles the transaction and sends it so
the<00:10:29.640><c> flow</c><00:10:29.820><c> would</c><00:10:30.000><c> be</c><00:10:30.120><c> the</c><00:10:30.540><c> web</c><00:10:30.660><c> app</c><00:10:30.839><c> generates</c>

00:10:31.250 --> 00:10:31.260 align:start position:0%
the flow would be the web app generates
 

00:10:31.260 --> 00:10:33.350 align:start position:0%
the flow would be the web app generates
a<00:10:31.440><c> ZK</c><00:10:31.740><c> proof</c><00:10:32.040><c> gives</c><00:10:32.339><c> it</c><00:10:32.459><c> to</c><00:10:32.580><c> the</c><00:10:32.640><c> relay</c><00:10:32.940><c> the</c>

00:10:33.350 --> 00:10:33.360 align:start position:0%
a ZK proof gives it to the relay the
 

00:10:33.360 --> 00:10:34.850 align:start position:0%
a ZK proof gives it to the relay the
relay<00:10:33.600><c> creates</c><00:10:33.959><c> a</c><00:10:34.080><c> transaction</c><00:10:34.440><c> and</c><00:10:34.740><c> then</c>

00:10:34.850 --> 00:10:34.860 align:start position:0%
relay creates a transaction and then
 

00:10:34.860 --> 00:10:36.829 align:start position:0%
relay creates a transaction and then
post<00:10:35.040><c> it</c><00:10:35.220><c> to</c><00:10:35.339><c> the</c><00:10:35.459><c> blockchain</c><00:10:35.820><c> and</c><00:10:36.720><c> the</c>

00:10:36.829 --> 00:10:36.839 align:start position:0%
post it to the blockchain and the
 

00:10:36.839 --> 00:10:38.630 align:start position:0%
post it to the blockchain and the
economics<00:10:37.320><c> of</c><00:10:37.500><c> why</c><00:10:37.740><c> the</c><00:10:37.920><c> relay</c><00:10:38.160><c> would</c><00:10:38.399><c> do</c><00:10:38.519><c> this</c>

00:10:38.630 --> 00:10:38.640 align:start position:0%
economics of why the relay would do this
 

00:10:38.640 --> 00:10:40.070 align:start position:0%
economics of why the relay would do this
are<00:10:39.000><c> sort</c><00:10:39.180><c> of</c><00:10:39.300><c> there</c><00:10:39.600><c> are</c><00:10:39.720><c> a</c><00:10:39.779><c> lot</c><00:10:39.839><c> of</c><00:10:39.959><c> different</c>

00:10:40.070 --> 00:10:40.080 align:start position:0%
are sort of there are a lot of different
 

00:10:40.080 --> 00:10:41.210 align:start position:0%
are sort of there are a lot of different
schemes<00:10:40.560><c> you</c><00:10:40.680><c> could</c><00:10:40.740><c> build</c><00:10:40.920><c> like</c>

00:10:41.210 --> 00:10:41.220 align:start position:0%
schemes you could build like
 

00:10:41.220 --> 00:10:42.530 align:start position:0%
schemes you could build like
subscription<00:10:41.519><c> models</c><00:10:41.880><c> or</c><00:10:42.060><c> just</c><00:10:42.240><c> like</c><00:10:42.360><c> free</c>

00:10:42.530 --> 00:10:42.540 align:start position:0%
subscription models or just like free
 

00:10:42.540 --> 00:10:44.810 align:start position:0%
subscription models or just like free
trial<00:10:42.779><c> models</c><00:10:43.260><c> uh</c><00:10:44.160><c> all</c><00:10:44.459><c> sorts</c><00:10:44.640><c> of</c><00:10:44.700><c> different</c>

00:10:44.810 --> 00:10:44.820 align:start position:0%
trial models uh all sorts of different
 

00:10:44.820 --> 00:10:47.269 align:start position:0%
trial models uh all sorts of different
things<00:10:45.000><c> you</c><00:10:45.180><c> could</c><00:10:45.300><c> do</c><00:10:45.899><c> and</c><00:10:46.380><c> so</c><00:10:46.560><c> one</c><00:10:46.800><c> one</c><00:10:46.980><c> note</c>

00:10:47.269 --> 00:10:47.279 align:start position:0%
things you could do and so one one note
 

00:10:47.279 --> 00:10:49.250 align:start position:0%
things you could do and so one one note
about<00:10:47.459><c> like</c><00:10:47.760><c> this</c><00:10:47.940><c> architecture</c><00:10:48.420><c> the</c><00:10:49.019><c> relay</c>

00:10:49.250 --> 00:10:49.260 align:start position:0%
about like this architecture the relay
 

00:10:49.260 --> 00:10:51.829 align:start position:0%
about like this architecture the relay
is<00:10:49.560><c> not</c><00:10:49.680><c> a</c><00:10:49.860><c> trusted</c><00:10:50.220><c> entity</c><00:10:50.519><c> uh</c><00:10:51.120><c> the</c><00:10:51.240><c> Relay</c><00:10:51.540><c> can</c>

00:10:51.829 --> 00:10:51.839 align:start position:0%
is not a trusted entity uh the Relay can
 

00:10:51.839 --> 00:10:53.509 align:start position:0%
is not a trusted entity uh the Relay can
censor<00:10:52.320><c> transactions</c><00:10:52.800><c> that</c><00:10:52.920><c> can</c><00:10:53.100><c> go</c><00:10:53.220><c> offline</c>

00:10:53.509 --> 00:10:53.519 align:start position:0%
censor transactions that can go offline
 

00:10:53.519 --> 00:10:55.610 align:start position:0%
censor transactions that can go offline
it<00:10:54.060><c> doesn't</c><00:10:54.180><c> matter</c><00:10:54.420><c> uh</c><00:10:54.779><c> the</c><00:10:54.959><c> web</c><00:10:55.079><c> applicant</c>

00:10:55.610 --> 00:10:55.620 align:start position:0%
it doesn't matter uh the web applicant
 

00:10:55.620 --> 00:10:57.470 align:start position:0%
it doesn't matter uh the web applicant
or<00:10:55.860><c> the</c><00:10:56.040><c> user</c><00:10:56.339><c> can</c><00:10:56.459><c> only</c><00:10:56.579><c> send</c><00:10:56.760><c> their</c><00:10:56.940><c> ZK</c><00:10:57.180><c> proof</c>

00:10:57.470 --> 00:10:57.480 align:start position:0%
or the user can only send their ZK proof
 

00:10:57.480 --> 00:10:59.269 align:start position:0%
or the user can only send their ZK proof
with<00:10:57.600><c> a</c><00:10:57.779><c> different</c><00:10:57.899><c> relay</c><00:10:58.260><c> or</c><00:10:58.680><c> broadcast</c><00:10:58.920><c> it</c>

00:10:59.269 --> 00:10:59.279 align:start position:0%
with a different relay or broadcast it
 

00:10:59.279 --> 00:11:01.069 align:start position:0%
with a different relay or broadcast it
to<00:10:59.399><c> the</c><00:10:59.459><c> blockchain</c><00:10:59.760><c> themselves</c><00:11:00.180><c> uh</c><00:11:00.899><c> the</c>

00:11:01.069 --> 00:11:01.079 align:start position:0%
to the blockchain themselves uh the
 

00:11:01.079 --> 00:11:03.530 align:start position:0%
to the blockchain themselves uh the
relay<00:11:01.380><c> also</c><00:11:01.740><c> can't</c><00:11:02.040><c> compromise</c><00:11:02.700><c> the</c><00:11:02.940><c> ZK</c><00:11:03.180><c> proof</c>

00:11:03.530 --> 00:11:03.540 align:start position:0%
relay also can't compromise the ZK proof
 

00:11:03.540 --> 00:11:04.730 align:start position:0%
relay also can't compromise the ZK proof
itself<00:11:03.779><c> because</c><00:11:04.019><c> if</c><00:11:04.200><c> they</c><00:11:04.380><c> change</c><00:11:04.560><c> anything</c>

00:11:04.730 --> 00:11:04.740 align:start position:0%
itself because if they change anything
 

00:11:04.740 --> 00:11:06.290 align:start position:0%
itself because if they change anything
about<00:11:05.100><c> it</c><00:11:05.279><c> the</c><00:11:05.579><c> proof</c><00:11:05.820><c> itself</c><00:11:06.000><c> will</c><00:11:06.180><c> be</c>

00:11:06.290 --> 00:11:06.300 align:start position:0%
about it the proof itself will be
 

00:11:06.300 --> 00:11:08.150 align:start position:0%
about it the proof itself will be
invalid<00:11:06.779><c> and</c><00:11:07.200><c> the</c><00:11:07.320><c> proof</c><00:11:07.500><c> determines</c><00:11:07.920><c> what</c>

00:11:08.150 --> 00:11:08.160 align:start position:0%
invalid and the proof determines what
 

00:11:08.160 --> 00:11:10.730 align:start position:0%
invalid and the proof determines what
the<00:11:08.279><c> user</c><00:11:08.579><c> wants</c><00:11:08.820><c> to</c><00:11:08.880><c> do</c><00:11:09.000><c> on</c><00:11:09.180><c> chain</c>

00:11:10.730 --> 00:11:10.740 align:start position:0%
the user wants to do on chain
 

00:11:10.740 --> 00:11:12.889 align:start position:0%
the user wants to do on chain
so<00:11:11.040><c> I</c><00:11:11.100><c> think</c><00:11:11.220><c> a</c><00:11:11.399><c> good</c><00:11:11.519><c> goal</c><00:11:11.820><c> for</c><00:11:12.000><c> this</c><00:11:12.180><c> would</c><00:11:12.720><c> be</c>

00:11:12.889 --> 00:11:12.899 align:start position:0%
so I think a good goal for this would be
 

00:11:12.899 --> 00:11:15.110 align:start position:0%
so I think a good goal for this would be
uh<00:11:13.680><c> from</c><00:11:13.920><c> a</c><00:11:14.040><c> user</c><00:11:14.279><c> experience</c><00:11:14.519><c> perspective</c><00:11:14.940><c> a</c>

00:11:15.110 --> 00:11:15.120 align:start position:0%
uh from a user experience perspective a
 

00:11:15.120 --> 00:11:16.970 align:start position:0%
uh from a user experience perspective a
user<00:11:15.420><c> clicks</c><00:11:15.720><c> a</c><00:11:15.839><c> button</c><00:11:16.140><c> and</c><00:11:16.500><c> then</c><00:11:16.620><c> in</c><00:11:16.800><c> less</c>

00:11:16.970 --> 00:11:16.980 align:start position:0%
user clicks a button and then in less
 

00:11:16.980 --> 00:11:18.590 align:start position:0%
user clicks a button and then in less
than<00:11:17.160><c> five</c><00:11:17.459><c> seconds</c><00:11:17.700><c> we</c><00:11:18.060><c> show</c><00:11:18.180><c> a</c><00:11:18.360><c> loading</c>

00:11:18.590 --> 00:11:18.600 align:start position:0%
than five seconds we show a loading
 

00:11:18.600 --> 00:11:20.750 align:start position:0%
than five seconds we show a loading
animation<00:11:18.899><c> and</c><00:11:19.200><c> we</c><00:11:19.320><c> generate</c><00:11:19.680><c> a</c><00:11:20.100><c> ZK</c><00:11:20.399><c> proof</c>

00:11:20.750 --> 00:11:20.760 align:start position:0%
animation and we generate a ZK proof
 

00:11:20.760 --> 00:11:22.730 align:start position:0%
animation and we generate a ZK proof
give<00:11:20.940><c> it</c><00:11:21.120><c> to</c><00:11:21.180><c> the</c><00:11:21.300><c> relayer</c><00:11:21.779><c> the</c><00:11:22.140><c> relay</c><00:11:22.380><c> then</c>

00:11:22.730 --> 00:11:22.740 align:start position:0%
give it to the relayer the relay then
 

00:11:22.740 --> 00:11:24.650 align:start position:0%
give it to the relayer the relay then
packages<00:11:23.160><c> it</c><00:11:23.399><c> into</c><00:11:23.519><c> a</c><00:11:23.760><c> transaction</c><00:11:24.120><c> and</c><00:11:24.480><c> gives</c>

00:11:24.650 --> 00:11:24.660 align:start position:0%
packages it into a transaction and gives
 

00:11:24.660 --> 00:11:26.870 align:start position:0%
packages it into a transaction and gives
it<00:11:24.839><c> to</c><00:11:24.959><c> an</c><00:11:25.200><c> L2</c><00:11:25.560><c> node</c><00:11:25.860><c> who</c><00:11:26.160><c> then</c><00:11:26.339><c> returns</c><00:11:26.760><c> an</c>

00:11:26.870 --> 00:11:26.880 align:start position:0%
it to an L2 node who then returns an
 

00:11:26.880 --> 00:11:28.970 align:start position:0%
it to an L2 node who then returns an
instant<00:11:27.120><c> finality</c><00:11:27.600><c> guarantee</c><00:11:28.079><c> and</c><00:11:28.740><c> at</c><00:11:28.860><c> that</c>

00:11:28.970 --> 00:11:28.980 align:start position:0%
instant finality guarantee and at that
 

00:11:28.980 --> 00:11:31.430 align:start position:0%
instant finality guarantee and at that
point<00:11:29.100><c> we</c><00:11:29.519><c> can</c><00:11:29.700><c> stop</c><00:11:30.240><c> the</c><00:11:30.839><c> loading</c><00:11:31.140><c> animation</c>

00:11:31.430 --> 00:11:31.440 align:start position:0%
point we can stop the loading animation
 

00:11:31.440 --> 00:11:33.290 align:start position:0%
point we can stop the loading animation
on<00:11:31.620><c> the</c><00:11:31.740><c> front</c><00:11:31.860><c> end</c><00:11:31.980><c> and</c><00:11:32.399><c> say</c><00:11:32.579><c> okay</c><00:11:33.000><c> your</c>

00:11:33.290 --> 00:11:33.300 align:start position:0%
on the front end and say okay your
 

00:11:33.300 --> 00:11:35.509 align:start position:0%
on the front end and say okay your
action<00:11:33.540><c> is</c><00:11:33.779><c> complete</c><00:11:34.140><c> and</c><00:11:34.800><c> even</c><00:11:34.920><c> if</c><00:11:35.100><c> we</c><00:11:35.220><c> get</c><00:11:35.339><c> a</c>

00:11:35.509 --> 00:11:35.519 align:start position:0%
action is complete and even if we get a
 

00:11:35.519 --> 00:11:37.370 align:start position:0%
action is complete and even if we get a
weak<00:11:35.820><c> economic</c><00:11:36.240><c> guarantee</c><00:11:36.600><c> from</c><00:11:36.839><c> this</c><00:11:37.019><c> L2</c>

00:11:37.370 --> 00:11:37.380 align:start position:0%
weak economic guarantee from this L2
 

00:11:37.380 --> 00:11:39.350 align:start position:0%
weak economic guarantee from this L2
node<00:11:37.740><c> we</c><00:11:38.220><c> can</c><00:11:38.339><c> still</c><00:11:38.519><c> do</c><00:11:38.820><c> this</c><00:11:38.940><c> on</c><00:11:39.180><c> the</c><00:11:39.240><c> front</c>

00:11:39.350 --> 00:11:39.360 align:start position:0%
node we can still do this on the front
 

00:11:39.360 --> 00:11:41.509 align:start position:0%
node we can still do this on the front
end<00:11:39.540><c> and</c><00:11:39.899><c> then</c><00:11:40.079><c> have</c><00:11:40.380><c> an</c><00:11:40.680><c> alternate</c><00:11:41.040><c> code</c><00:11:41.220><c> path</c>

00:11:41.509 --> 00:11:41.519 align:start position:0%
end and then have an alternate code path
 

00:11:41.519 --> 00:11:43.190 align:start position:0%
end and then have an alternate code path
where<00:11:41.700><c> if</c><00:11:41.940><c> the</c><00:11:42.060><c> sequencer</c><00:11:42.540><c> doesn't</c><00:11:42.839><c> include</c>

00:11:43.190 --> 00:11:43.200 align:start position:0%
where if the sequencer doesn't include
 

00:11:43.200 --> 00:11:45.230 align:start position:0%
where if the sequencer doesn't include
the<00:11:43.320><c> transaction</c><00:11:43.800><c> we</c><00:11:44.459><c> show</c><00:11:44.640><c> a</c><00:11:44.820><c> notification</c>

00:11:45.230 --> 00:11:45.240 align:start position:0%
the transaction we show a notification
 

00:11:45.240 --> 00:11:47.630 align:start position:0%
the transaction we show a notification
saying<00:11:45.720><c> oh</c><00:11:46.019><c> this</c><00:11:46.500><c> action</c><00:11:46.680><c> failed</c><00:11:47.040><c> or</c><00:11:47.160><c> do</c><00:11:47.579><c> you</c>

00:11:47.630 --> 00:11:47.640 align:start position:0%
saying oh this action failed or do you
 

00:11:47.640 --> 00:11:49.430 align:start position:0%
saying oh this action failed or do you
want<00:11:47.700><c> to</c><00:11:47.820><c> try</c><00:11:47.880><c> again</c><00:11:48.060><c> or</c><00:11:48.360><c> not</c><00:11:48.540><c> and</c><00:11:49.140><c> hopefully</c>

00:11:49.430 --> 00:11:49.440 align:start position:0%
want to try again or not and hopefully
 

00:11:49.440 --> 00:11:51.230 align:start position:0%
want to try again or not and hopefully
that<00:11:49.620><c> code</c><00:11:49.740><c> path</c><00:11:50.040><c> is</c><00:11:50.220><c> relatively</c><00:11:50.579><c> cold</c><00:11:50.820><c> and</c>

00:11:51.230 --> 00:11:51.240 align:start position:0%
that code path is relatively cold and
 

00:11:51.240 --> 00:11:53.750 align:start position:0%
that code path is relatively cold and
sequencers<00:11:52.140><c> include</c><00:11:52.920><c> transactions</c><00:11:53.459><c> as</c><00:11:53.640><c> they</c>

00:11:53.750 --> 00:11:53.760 align:start position:0%
sequencers include transactions as they
 

00:11:53.760 --> 00:11:56.090 align:start position:0%
sequencers include transactions as they
say<00:11:53.940><c> they're</c><00:11:54.060><c> going</c><00:11:54.240><c> to</c>

00:11:56.090 --> 00:11:56.100 align:start position:0%
say they're going to
 

00:11:56.100 --> 00:11:58.610 align:start position:0%
say they're going to
right<00:11:56.519><c> so</c><00:11:56.760><c> how</c><00:11:57.000><c> can</c><00:11:57.120><c> we</c><00:11:57.360><c> build</c><00:11:57.839><c> an</c><00:11:58.079><c> ecosystem</c>

00:11:58.610 --> 00:11:58.620 align:start position:0%
right so how can we build an ecosystem
 

00:11:58.620 --> 00:12:00.889 align:start position:0%
right so how can we build an ecosystem
using<00:11:59.339><c> like</c><00:11:59.579><c> ZK</c><00:11:59.940><c> proofs</c><00:12:00.300><c> in</c><00:12:00.420><c> this</c><00:12:00.600><c> sort</c><00:12:00.779><c> of</c>

00:12:00.889 --> 00:12:00.899 align:start position:0%
using like ZK proofs in this sort of
 

00:12:00.899 --> 00:12:02.750 align:start position:0%
using like ZK proofs in this sort of
abstracted<00:12:01.620><c> architecture</c>

00:12:02.750 --> 00:12:02.760 align:start position:0%
abstracted architecture
 

00:12:02.760 --> 00:12:05.269 align:start position:0%
abstracted architecture
uh<00:12:03.480><c> one</c><00:12:03.720><c> approach</c><00:12:04.019><c> I</c><00:12:04.200><c> think</c><00:12:04.320><c> is</c><00:12:04.800><c> sort</c><00:12:05.160><c> of</c>

00:12:05.269 --> 00:12:05.279 align:start position:0%
uh one approach I think is sort of
 

00:12:05.279 --> 00:12:06.889 align:start position:0%
uh one approach I think is sort of
detailed<00:12:05.519><c> in</c><00:12:05.700><c> this</c><00:12:05.820><c> diagram</c><00:12:06.060><c> you</c><00:12:06.660><c> can</c><00:12:06.779><c> see</c>

00:12:06.889 --> 00:12:06.899 align:start position:0%
detailed in this diagram you can see
 

00:12:06.899 --> 00:12:08.210 align:start position:0%
detailed in this diagram you can see
there<00:12:07.200><c> are</c><00:12:07.320><c> three</c><00:12:07.440><c> different</c><00:12:07.620><c> attestra</c>

00:12:08.210 --> 00:12:08.220 align:start position:0%
there are three different attestra
 

00:12:08.220 --> 00:12:11.030 align:start position:0%
there are three different attestra
applications<00:12:08.640><c> and</c><00:12:09.240><c> a</c><00:12:09.480><c> user's</c><00:12:09.839><c> browser</c><00:12:10.260><c> and</c>

00:12:11.030 --> 00:12:11.040 align:start position:0%
applications and a user's browser and
 

00:12:11.040 --> 00:12:13.550 align:start position:0%
applications and a user's browser and
each<00:12:11.220><c> tester</c><00:12:11.760><c> application</c><00:12:12.180><c> is</c><00:12:12.480><c> managing</c><00:12:13.019><c> a</c>

00:12:13.550 --> 00:12:13.560 align:start position:0%
each tester application is managing a
 

00:12:13.560 --> 00:12:16.069 align:start position:0%
each tester application is managing a
unique<00:12:13.800><c> identity</c><00:12:14.339><c> for</c><00:12:14.820><c> the</c><00:12:15.120><c> user</c><00:12:15.420><c> inside</c><00:12:15.779><c> of</c>

00:12:16.069 --> 00:12:16.079 align:start position:0%
unique identity for the user inside of
 

00:12:16.079 --> 00:12:18.530 align:start position:0%
unique identity for the user inside of
the<00:12:16.260><c> browser</c><00:12:16.620><c> local</c><00:12:16.860><c> storage</c><00:12:17.360><c> and</c><00:12:18.360><c> the</c>

00:12:18.530 --> 00:12:18.540 align:start position:0%
the browser local storage and the
 

00:12:18.540 --> 00:12:20.269 align:start position:0%
the browser local storage and the
advantage<00:12:18.839><c> to</c><00:12:19.019><c> this</c><00:12:19.140><c> is</c><00:12:19.440><c> we</c><00:12:19.740><c> can</c><00:12:19.860><c> treat</c><00:12:20.040><c> these</c>

00:12:20.269 --> 00:12:20.279 align:start position:0%
advantage to this is we can treat these
 

00:12:20.279 --> 00:12:21.710 align:start position:0%
advantage to this is we can treat these
identities<00:12:20.700><c> more</c><00:12:21.060><c> like</c><00:12:21.240><c> web</c><00:12:21.480><c> 2</c>

00:12:21.710 --> 00:12:21.720 align:start position:0%
identities more like web 2
 

00:12:21.720 --> 00:12:23.810 align:start position:0%
identities more like web 2
authentication<00:12:22.380><c> tokens</c><00:12:22.800><c> and</c><00:12:23.339><c> less</c><00:12:23.519><c> like</c>

00:12:23.810 --> 00:12:23.820 align:start position:0%
authentication tokens and less like
 

00:12:23.820 --> 00:12:26.150 align:start position:0%
authentication tokens and less like
Bitcoin<00:12:24.240><c> or</c><00:12:24.420><c> ethereum</c><00:12:24.899><c> private</c><00:12:25.260><c> keys</c><00:12:25.620><c> so</c>

00:12:26.150 --> 00:12:26.160 align:start position:0%
Bitcoin or ethereum private keys so
 

00:12:26.160 --> 00:12:27.829 align:start position:0%
Bitcoin or ethereum private keys so
instead<00:12:26.519><c> of</c><00:12:26.579><c> prompting</c><00:12:27.000><c> the</c><00:12:27.120><c> user</c><00:12:27.420><c> for</c>

00:12:27.829 --> 00:12:27.839 align:start position:0%
instead of prompting the user for
 

00:12:27.839 --> 00:12:29.569 align:start position:0%
instead of prompting the user for
permission<00:12:28.380><c> to</c><00:12:28.620><c> do</c><00:12:28.740><c> a</c><00:12:28.860><c> signature</c><00:12:29.220><c> or</c><00:12:29.279><c> make</c><00:12:29.459><c> a</c>

00:12:29.569 --> 00:12:29.579 align:start position:0%
permission to do a signature or make a
 

00:12:29.579 --> 00:12:32.350 align:start position:0%
permission to do a signature or make a
transaction<00:12:29.940><c> we</c><00:12:30.660><c> just</c><00:12:30.899><c> in</c><00:12:31.860><c> the</c><00:12:31.980><c> background</c>

00:12:32.350 --> 00:12:32.360 align:start position:0%
transaction we just in the background
 

00:12:32.360 --> 00:12:34.610 align:start position:0%
transaction we just in the background
make<00:12:33.360><c> these</c><00:12:33.540><c> ZK</c><00:12:33.779><c> proofs</c><00:12:34.140><c> and</c><00:12:34.260><c> give</c><00:12:34.380><c> them</c><00:12:34.500><c> to</c>

00:12:34.610 --> 00:12:34.620 align:start position:0%
make these ZK proofs and give them to
 

00:12:34.620 --> 00:12:36.829 align:start position:0%
make these ZK proofs and give them to
the<00:12:34.740><c> relayers</c><00:12:35.220><c> and</c><00:12:36.000><c> at</c><00:12:36.180><c> the</c><00:12:36.300><c> same</c><00:12:36.420><c> time</c><00:12:36.600><c> when</c>

00:12:36.829 --> 00:12:36.839 align:start position:0%
the relayers and at the same time when
 

00:12:36.839 --> 00:12:38.389 align:start position:0%
the relayers and at the same time when
we<00:12:37.019><c> use</c><00:12:37.140><c> different</c><00:12:37.380><c> identities</c><00:12:37.920><c> for</c><00:12:38.160><c> each</c><00:12:38.279><c> of</c>

00:12:38.389 --> 00:12:38.399 align:start position:0%
we use different identities for each of
 

00:12:38.399 --> 00:12:40.370 align:start position:0%
we use different identities for each of
these<00:12:38.519><c> websites</c><00:12:39.000><c> if</c><00:12:39.660><c> one</c><00:12:39.779><c> of</c><00:12:39.899><c> the</c><00:12:40.019><c> identities</c>

00:12:40.370 --> 00:12:40.380 align:start position:0%
these websites if one of the identities
 

00:12:40.380 --> 00:12:41.990 align:start position:0%
these websites if one of the identities
is<00:12:40.680><c> compromised</c><00:12:41.220><c> because</c><00:12:41.339><c> the</c><00:12:41.640><c> website</c>

00:12:41.990 --> 00:12:42.000 align:start position:0%
is compromised because the website
 

00:12:42.000 --> 00:12:43.610 align:start position:0%
is compromised because the website
injects<00:12:42.360><c> some</c><00:12:42.480><c> malicious</c><00:12:42.839><c> JavaScript</c><00:12:43.260><c> or</c>

00:12:43.610 --> 00:12:43.620 align:start position:0%
injects some malicious JavaScript or
 

00:12:43.620 --> 00:12:46.129 align:start position:0%
injects some malicious JavaScript or
does<00:12:43.920><c> something</c><00:12:44.160><c> like</c><00:12:44.339><c> this</c><00:12:44.720><c> the</c><00:12:45.720><c> damage</c><00:12:45.959><c> is</c>

00:12:46.129 --> 00:12:46.139 align:start position:0%
does something like this the damage is
 

00:12:46.139 --> 00:12:49.430 align:start position:0%
does something like this the damage is
contained<00:12:46.680><c> to</c><00:12:47.040><c> that</c><00:12:47.399><c> single</c><00:12:47.760><c> a</c><00:12:48.000><c> tester</c>

00:12:49.430 --> 00:12:49.440 align:start position:0%
contained to that single a tester
 

00:12:49.440 --> 00:12:51.350 align:start position:0%
contained to that single a tester
but<00:12:49.980><c> at</c><00:12:50.160><c> the</c><00:12:50.279><c> same</c><00:12:50.399><c> time</c><00:12:50.519><c> we</c><00:12:50.760><c> want</c><00:12:50.880><c> a</c><00:12:51.060><c> testers</c>

00:12:51.350 --> 00:12:51.360 align:start position:0%
but at the same time we want a testers
 

00:12:51.360 --> 00:12:53.930 align:start position:0%
but at the same time we want a testers
to<00:12:51.540><c> be</c><00:12:51.660><c> interoperable</c><00:12:52.139><c> so</c><00:12:52.920><c> if</c><00:12:53.519><c> for</c><00:12:53.700><c> example</c>

00:12:53.930 --> 00:12:53.940 align:start position:0%
to be interoperable so if for example
 

00:12:53.940 --> 00:12:55.910 align:start position:0%
to be interoperable so if for example
this<00:12:54.240><c> to</c><00:12:54.420><c> review</c><00:12:54.540><c> a</c><00:12:54.779><c> tester</c><00:12:55.079><c> wanted</c><00:12:55.380><c> to</c><00:12:55.560><c> get</c><00:12:55.740><c> a</c>

00:12:55.910 --> 00:12:55.920 align:start position:0%
this to review a tester wanted to get a
 

00:12:55.920 --> 00:12:57.949 align:start position:0%
this to review a tester wanted to get a
proof<00:12:56.220><c> of</c><00:12:56.639><c> from</c><00:12:57.120><c> the</c><00:12:57.180><c> Cyber</c><00:12:57.540><c> resistance</c>

00:12:57.949 --> 00:12:57.959 align:start position:0%
proof of from the Cyber resistance
 

00:12:57.959 --> 00:13:00.590 align:start position:0%
proof of from the Cyber resistance
tester<00:12:58.440><c> how</c><00:12:58.860><c> could</c><00:12:58.980><c> we</c><00:12:59.100><c> do</c><00:12:59.279><c> that</c><00:12:59.459><c> and</c><00:13:00.360><c> the</c>

00:13:00.590 --> 00:13:00.600 align:start position:0%
tester how could we do that and the
 

00:13:00.600 --> 00:13:03.889 align:start position:0%
tester how could we do that and the
answer<00:13:00.779><c> is</c><00:13:01.320><c> basically</c><00:13:02.040><c> oauth</c><00:13:02.519><c> for</c><00:13:02.760><c> ZK</c><00:13:03.060><c> so</c><00:13:03.720><c> for</c>

00:13:03.889 --> 00:13:03.899 align:start position:0%
answer is basically oauth for ZK so for
 

00:13:03.899 --> 00:13:05.930 align:start position:0%
answer is basically oauth for ZK so for
so<00:13:04.139><c> in</c><00:13:04.320><c> this</c><00:13:04.500><c> example</c><00:13:04.800><c> flow</c><00:13:05.100><c> I'm</c><00:13:05.639><c> trying</c><00:13:05.820><c> to</c>

00:13:05.930 --> 00:13:05.940 align:start position:0%
so in this example flow I'm trying to
 

00:13:05.940 --> 00:13:08.389 align:start position:0%
so in this example flow I'm trying to
sign<00:13:06.120><c> up</c><00:13:06.300><c> for</c><00:13:06.540><c> this</c><00:13:06.720><c> review</c><00:13:06.959><c> a</c><00:13:07.260><c> tester</c><00:13:07.620><c> and</c><00:13:08.279><c> the</c>

00:13:08.389 --> 00:13:08.399 align:start position:0%
sign up for this review a tester and the
 

00:13:08.399 --> 00:13:10.550 align:start position:0%
sign up for this review a tester and the
reviewer<00:13:08.760><c> tester</c><00:13:09.000><c> wants</c><00:13:09.420><c> a</c><00:13:09.540><c> proof</c><00:13:09.839><c> that</c><00:13:10.019><c> I</c><00:13:10.320><c> am</c>

00:13:10.550 --> 00:13:10.560 align:start position:0%
reviewer tester wants a proof that I am
 

00:13:10.560 --> 00:13:12.949 align:start position:0%
reviewer tester wants a proof that I am
a<00:13:10.800><c> human</c><00:13:10.920><c> being</c><00:13:11.360><c> in</c><00:13:12.360><c> the</c><00:13:12.480><c> form</c><00:13:12.600><c> of</c><00:13:12.839><c> a</c>

00:13:12.949 --> 00:13:12.959 align:start position:0%
a human being in the form of a
 

00:13:12.959 --> 00:13:14.870 align:start position:0%
a human being in the form of a
reputation<00:13:13.380><c> proof</c><00:13:13.740><c> from</c><00:13:13.980><c> this</c><00:13:14.220><c> cyber</c>

00:13:14.870 --> 00:13:14.880 align:start position:0%
reputation proof from this cyber
 

00:13:14.880 --> 00:13:17.210 align:start position:0%
reputation proof from this cyber
resistance<00:13:15.240><c> attester</c><00:13:15.720><c> and</c><00:13:16.500><c> so</c><00:13:16.620><c> in</c><00:13:16.800><c> this</c><00:13:16.920><c> flow</c>

00:13:17.210 --> 00:13:17.220 align:start position:0%
resistance attester and so in this flow
 

00:13:17.220 --> 00:13:19.250 align:start position:0%
resistance attester and so in this flow
I<00:13:17.820><c> create</c><00:13:17.940><c> the</c><00:13:18.120><c> sine</c><00:13:18.360><c> of</c><00:13:18.480><c> proof</c><00:13:18.720><c> from</c><00:13:19.139><c> the</c>

00:13:19.250 --> 00:13:19.260 align:start position:0%
I create the sine of proof from the
 

00:13:19.260 --> 00:13:20.690 align:start position:0%
I create the sine of proof from the
reviewer<00:13:19.560><c> tester</c><00:13:19.860><c> and</c><00:13:20.339><c> then</c><00:13:20.459><c> I</c><00:13:20.579><c> get</c>

00:13:20.690 --> 00:13:20.700 align:start position:0%
reviewer tester and then I get
 

00:13:20.700 --> 00:13:22.670 align:start position:0%
reviewer tester and then I get
redirected<00:13:21.300><c> to</c><00:13:21.660><c> the</c><00:13:21.779><c> Cyber</c><00:13:22.139><c> resistance</c><00:13:22.560><c> to</c>

00:13:22.670 --> 00:13:22.680 align:start position:0%
redirected to the Cyber resistance to
 

00:13:22.680 --> 00:13:25.610 align:start position:0%
redirected to the Cyber resistance to
tester<00:13:23.040><c> and</c><00:13:23.339><c> I</c><00:13:23.579><c> get</c><00:13:23.700><c> prompted</c><00:13:24.180><c> to</c><00:13:24.540><c> make</c><00:13:25.380><c> a</c>

00:13:25.610 --> 00:13:25.620 align:start position:0%
tester and I get prompted to make a
 

00:13:25.620 --> 00:13:28.490 align:start position:0%
tester and I get prompted to make a
proof<00:13:25.860><c> from</c><00:13:26.639><c> this</c><00:13:27.000><c> identity</c><00:13:27.480><c> and</c><00:13:28.260><c> in</c><00:13:28.380><c> this</c>

00:13:28.490 --> 00:13:28.500 align:start position:0%
proof from this identity and in this
 

00:13:28.500 --> 00:13:30.050 align:start position:0%
proof from this identity and in this
case<00:13:28.620><c> we</c><00:13:28.860><c> shouldn't</c><00:13:29.100><c> operate</c><00:13:29.399><c> silently</c><00:13:29.760><c> we</c>

00:13:30.050 --> 00:13:30.060 align:start position:0%
case we shouldn't operate silently we
 

00:13:30.060 --> 00:13:32.329 align:start position:0%
case we shouldn't operate silently we
should<00:13:30.180><c> definitely</c><00:13:30.620><c> request</c><00:13:31.620><c> that</c><00:13:31.860><c> the</c><00:13:32.040><c> user</c>

00:13:32.329 --> 00:13:32.339 align:start position:0%
should definitely request that the user
 

00:13:32.339 --> 00:13:33.710 align:start position:0%
should definitely request that the user
Make<00:13:32.519><c> This</c><00:13:32.700><c> proof</c><00:13:33.000><c> because</c><00:13:33.180><c> we're</c><00:13:33.480><c> going</c><00:13:33.660><c> to</c>

00:13:33.710 --> 00:13:33.720 align:start position:0%
Make This proof because we're going to
 

00:13:33.720 --> 00:13:36.230 align:start position:0%
Make This proof because we're going to
hand<00:13:33.839><c> it</c><00:13:34.019><c> to</c><00:13:34.200><c> a</c><00:13:34.620><c> different</c><00:13:34.740><c> third</c><00:13:34.980><c> party</c><00:13:35.240><c> and</c>

00:13:36.230 --> 00:13:36.240 align:start position:0%
hand it to a different third party and
 

00:13:36.240 --> 00:13:37.850 align:start position:0%
hand it to a different third party and
so<00:13:36.360><c> if</c><00:13:36.480><c> the</c><00:13:36.540><c> user</c><00:13:36.779><c> says</c><00:13:36.959><c> yes</c><00:13:37.079><c> then</c><00:13:37.320><c> we</c><00:13:37.500><c> prove</c>

00:13:37.850 --> 00:13:37.860 align:start position:0%
so if the user says yes then we prove
 

00:13:37.860 --> 00:13:40.009 align:start position:0%
so if the user says yes then we prove
that<00:13:38.100><c> we</c><00:13:38.220><c> have</c><00:13:38.339><c> like</c><00:13:38.459><c> the</c><00:13:38.639><c> reputation</c><00:13:39.120><c> and</c><00:13:39.779><c> we</c>

00:13:40.009 --> 00:13:40.019 align:start position:0%
that we have like the reputation and we
 

00:13:40.019 --> 00:13:41.690 align:start position:0%
that we have like the reputation and we
sign<00:13:40.200><c> the</c><00:13:40.440><c> hash</c><00:13:40.680><c> of</c><00:13:40.860><c> the</c><00:13:41.100><c> sign</c><00:13:41.220><c> up</c><00:13:41.399><c> proof</c><00:13:41.639><c> to</c>

00:13:41.690 --> 00:13:41.700 align:start position:0%
sign the hash of the sign up proof to
 

00:13:41.700 --> 00:13:43.310 align:start position:0%
sign the hash of the sign up proof to
prove<00:13:41.880><c> that</c><00:13:42.000><c> we're</c><00:13:42.180><c> the</c><00:13:42.360><c> same</c><00:13:42.480><c> person</c><00:13:42.660><c> and</c>

00:13:43.310 --> 00:13:43.320 align:start position:0%
prove that we're the same person and
 

00:13:43.320 --> 00:13:45.290 align:start position:0%
prove that we're the same person and
then<00:13:43.380><c> we</c><00:13:43.500><c> get</c><00:13:43.620><c> redirected</c><00:13:44.160><c> back</c><00:13:44.459><c> to</c><00:13:44.760><c> the</c><00:13:45.120><c> the</c>

00:13:45.290 --> 00:13:45.300 align:start position:0%
then we get redirected back to the the
 

00:13:45.300 --> 00:13:46.790 align:start position:0%
then we get redirected back to the the
original<00:13:45.540><c> application</c><00:13:46.139><c> and</c><00:13:46.380><c> we</c><00:13:46.560><c> can</c><00:13:46.620><c> continue</c>

00:13:46.790 --> 00:13:46.800 align:start position:0%
original application and we can continue
 

00:13:46.800 --> 00:13:50.210 align:start position:0%
original application and we can continue
sign<00:13:47.160><c> up</c><00:13:47.339><c> so</c><00:13:48.000><c> using</c><00:13:48.420><c> this</c><00:13:48.540><c> flow</c><00:13:48.839><c> we</c><00:13:49.019><c> can</c><00:13:49.139><c> get</c><00:13:49.380><c> ZK</c>

00:13:50.210 --> 00:13:50.220 align:start position:0%
sign up so using this flow we can get ZK
 

00:13:50.220 --> 00:13:52.250 align:start position:0%
sign up so using this flow we can get ZK
proofs<00:13:50.700><c> from</c><00:13:50.940><c> different</c><00:13:51.120><c> applications</c><00:13:51.720><c> into</c>

00:13:52.250 --> 00:13:52.260 align:start position:0%
proofs from different applications into
 

00:13:52.260 --> 00:13:55.670 align:start position:0%
proofs from different applications into
different<00:13:52.740><c> sort</c><00:13:53.100><c> of</c><00:13:53.220><c> Origins</c>

00:13:55.670 --> 00:13:55.680 align:start position:0%
different sort of Origins
 

00:13:55.680 --> 00:13:57.710 align:start position:0%
different sort of Origins
okay<00:13:56.100><c> so</c><00:13:56.579><c> this</c><00:13:56.940><c> is</c><00:13:57.120><c> part</c><00:13:57.300><c> three</c><00:13:57.540><c> of</c><00:13:57.660><c> the</c>

00:13:57.710 --> 00:13:57.720 align:start position:0%
okay so this is part three of the
 

00:13:57.720 --> 00:13:58.910 align:start position:0%
okay so this is part three of the
presentation

00:13:58.910 --> 00:13:58.920 align:start position:0%
presentation
 

00:13:58.920 --> 00:14:02.030 align:start position:0%
presentation
um how<00:13:59.459><c> can</c><00:13:59.579><c> we</c><00:13:59.760><c> scale</c><00:14:00.120><c> ZK</c><00:14:00.600><c> so</c><00:14:01.440><c> first</c><00:14:01.620><c> I</c><00:14:01.920><c> want</c>

00:14:02.030 --> 00:14:02.040 align:start position:0%
um how can we scale ZK so first I want
 

00:14:02.040 --> 00:14:03.829 align:start position:0%
um how can we scale ZK so first I want
to<00:14:02.160><c> talk</c><00:14:02.279><c> about</c><00:14:02.459><c> uh</c><00:14:03.180><c> like</c><00:14:03.300><c> where</c><00:14:03.540><c> we're</c><00:14:03.660><c> at</c>

00:14:03.829 --> 00:14:03.839 align:start position:0%
to talk about uh like where we're at
 

00:14:03.839 --> 00:14:06.829 align:start position:0%
to talk about uh like where we're at
right<00:14:04.079><c> now</c><00:14:04.260><c> and</c><00:14:04.740><c> the</c><00:14:04.920><c> limitations</c><00:14:05.279><c> of</c><00:14:05.839><c> our</c>

00:14:06.829 --> 00:14:06.839 align:start position:0%
right now and the limitations of our
 

00:14:06.839 --> 00:14:08.690 align:start position:0%
right now and the limitations of our
current<00:14:07.019><c> infrastructure</c><00:14:08.160><c> so</c><00:14:08.399><c> when</c><00:14:08.459><c> we</c><00:14:08.579><c> talk</c>

00:14:08.690 --> 00:14:08.700 align:start position:0%
current infrastructure so when we talk
 

00:14:08.700 --> 00:14:11.090 align:start position:0%
current infrastructure so when we talk
about<00:14:08.820><c> scaling</c><00:14:09.120><c> ZK</c><00:14:09.420><c> there's</c><00:14:09.899><c> two</c><00:14:10.500><c> limitations</c>

00:14:11.090 --> 00:14:11.100 align:start position:0%
about scaling ZK there's two limitations
 

00:14:11.100 --> 00:14:13.730 align:start position:0%
about scaling ZK there's two limitations
one<00:14:11.760><c> is</c><00:14:11.940><c> the</c><00:14:12.180><c> the</c><00:14:12.300><c> call</c><00:14:12.480><c> data</c><00:14:12.899><c> itself</c><00:14:13.079><c> and</c><00:14:13.560><c> two</c>

00:14:13.730 --> 00:14:13.740 align:start position:0%
one is the the call data itself and two
 

00:14:13.740 --> 00:14:15.410 align:start position:0%
one is the the call data itself and two
is<00:14:13.920><c> actually</c><00:14:14.160><c> executing</c><00:14:14.760><c> the</c><00:14:14.880><c> verification</c>

00:14:15.410 --> 00:14:15.420 align:start position:0%
is actually executing the verification
 

00:14:15.420 --> 00:14:18.350 align:start position:0%
is actually executing the verification
on<00:14:15.959><c> chain</c><00:14:16.860><c> so</c><00:14:17.339><c> let's</c><00:14:17.459><c> talk</c><00:14:17.639><c> about</c><00:14:17.700><c> call</c><00:14:17.940><c> data</c>

00:14:18.350 --> 00:14:18.360 align:start position:0%
on chain so let's talk about call data
 

00:14:18.360 --> 00:14:22.190 align:start position:0%
on chain so let's talk about call data
first<00:14:18.540><c> so</c><00:14:19.380><c> for</c><00:14:19.680><c> graph</c><00:14:19.980><c> 16</c><00:14:20.220><c> we</c><00:14:21.120><c> have</c><00:14:21.240><c> about</c><00:14:21.360><c> 130</c>

00:14:22.190 --> 00:14:22.200 align:start position:0%
first so for graph 16 we have about 130
 

00:14:22.200 --> 00:14:24.350 align:start position:0%
first so for graph 16 we have about 130
bytes<00:14:22.620><c> per</c><00:14:23.040><c> proof</c><00:14:23.399><c> and</c><00:14:23.639><c> for</c><00:14:23.760><c> plonk</c><00:14:24.180><c> we</c><00:14:24.240><c> have</c>

00:14:24.350 --> 00:14:24.360 align:start position:0%
bytes per proof and for plonk we have
 

00:14:24.360 --> 00:14:26.930 align:start position:0%
bytes per proof and for plonk we have
about<00:14:24.480><c> half</c><00:14:24.720><c> a</c><00:14:24.899><c> kilobyte</c><00:14:25.380><c> per</c><00:14:25.740><c> proof</c><00:14:26.160><c> so</c>

00:14:26.930 --> 00:14:26.940 align:start position:0%
about half a kilobyte per proof so
 

00:14:26.940 --> 00:14:28.850 align:start position:0%
about half a kilobyte per proof so
assume<00:14:27.360><c> that</c><00:14:27.420><c> we're</c><00:14:27.600><c> talking</c><00:14:27.720><c> about</c><00:14:27.959><c> EIP</c><00:14:28.440><c> like</c>

00:14:28.850 --> 00:14:28.860 align:start position:0%
assume that we're talking about EIP like
 

00:14:28.860 --> 00:14:31.850 align:start position:0%
assume that we're talking about EIP like
a<00:14:28.980><c> post</c><00:14:29.240><c> eip4844</c><00:14:30.240><c> world</c><00:14:30.600><c> and</c><00:14:31.260><c> we</c><00:14:31.380><c> have</c><00:14:31.560><c> two</c>

00:14:31.850 --> 00:14:31.860 align:start position:0%
a post eip4844 world and we have two
 

00:14:31.860 --> 00:14:33.949 align:start position:0%
a post eip4844 world and we have two
megabytes<00:14:32.399><c> per</c><00:14:32.579><c> block</c><00:14:32.820><c> that</c><00:14:33.240><c> we</c><00:14:33.360><c> can</c><00:14:33.480><c> use</c><00:14:33.600><c> for</c>

00:14:33.949 --> 00:14:33.959 align:start position:0%
megabytes per block that we can use for
 

00:14:33.959 --> 00:14:36.650 align:start position:0%
megabytes per block that we can use for
blob<00:14:34.320><c> data</c><00:14:34.740><c> so</c><00:14:35.399><c> at</c><00:14:35.519><c> that</c><00:14:35.700><c> point</c><00:14:35.880><c> we're</c><00:14:36.300><c> able</c><00:14:36.540><c> to</c>

00:14:36.650 --> 00:14:36.660 align:start position:0%
blob data so at that point we're able to
 

00:14:36.660 --> 00:14:39.410 align:start position:0%
blob data so at that point we're able to
do<00:14:36.779><c> 1300</c><00:14:37.380><c> across</c><00:14:37.860><c> 16</c><00:14:38.040><c> fruits</c><00:14:38.459><c> per</c><00:14:38.579><c> second</c><00:14:38.760><c> and</c>

00:14:39.410 --> 00:14:39.420 align:start position:0%
do 1300 across 16 fruits per second and
 

00:14:39.420 --> 00:14:42.170 align:start position:0%
do 1300 across 16 fruits per second and
330<00:14:40.139><c> plonkers</c><00:14:40.980><c> per</c><00:14:41.220><c> second</c>

00:14:42.170 --> 00:14:42.180 align:start position:0%
330 plonkers per second
 

00:14:42.180 --> 00:14:44.389 align:start position:0%
330 plonkers per second
uh<00:14:42.779><c> it's</c><00:14:42.959><c> not</c><00:14:43.199><c> not</c><00:14:43.380><c> terrible</c><00:14:43.740><c> so</c><00:14:44.100><c> let's</c><00:14:44.220><c> open</c>

00:14:44.389 --> 00:14:44.399 align:start position:0%
uh it's not not terrible so let's open
 

00:14:44.399 --> 00:14:45.710 align:start position:0%
uh it's not not terrible so let's open
door<00:14:44.639><c> number</c><00:14:44.880><c> two</c><00:14:45.060><c> and</c><00:14:45.180><c> look</c><00:14:45.360><c> at</c><00:14:45.480><c> the</c>

00:14:45.710 --> 00:14:45.720 align:start position:0%
door number two and look at the
 

00:14:45.720 --> 00:14:47.810 align:start position:0%
door number two and look at the
verification<00:14:46.139><c> costs</c>

00:14:47.810 --> 00:14:47.820 align:start position:0%
verification costs
 

00:14:47.820 --> 00:14:49.790 align:start position:0%
verification costs
so<00:14:48.120><c> across</c><00:14:48.480><c> 16</c><00:14:48.600><c> of</c><00:14:48.839><c> Planck</c><00:14:49.199><c> both</c><00:14:49.380><c> cost</c><00:14:49.560><c> about</c>

00:14:49.790 --> 00:14:49.800 align:start position:0%
so across 16 of Planck both cost about
 

00:14:49.800 --> 00:14:52.129 align:start position:0%
so across 16 of Planck both cost about
250<00:14:50.579><c> 000</c><00:14:50.699><c> gas</c><00:14:50.880><c> to</c><00:14:51.120><c> verify</c>

00:14:52.129 --> 00:14:52.139 align:start position:0%
250 000 gas to verify
 

00:14:52.139 --> 00:14:54.230 align:start position:0%
250 000 gas to verify
this<00:14:52.560><c> isn't</c><00:14:52.800><c> totally</c><00:14:52.980><c> true</c><00:14:53.220><c> cross</c><00:14:53.579><c> 16</c><00:14:53.820><c> is</c><00:14:54.060><c> a</c>

00:14:54.230 --> 00:14:54.240 align:start position:0%
this isn't totally true cross 16 is a
 

00:14:54.240 --> 00:14:55.550 align:start position:0%
this isn't totally true cross 16 is a
little<00:14:54.300><c> bit</c><00:14:54.420><c> cheaper</c><00:14:54.720><c> and</c><00:14:54.959><c> they</c><00:14:55.079><c> both</c><00:14:55.260><c> scale</c>

00:14:55.550 --> 00:14:55.560 align:start position:0%
little bit cheaper and they both scale
 

00:14:55.560 --> 00:14:56.990 align:start position:0%
little bit cheaper and they both scale
up<00:14:55.680><c> with</c><00:14:55.920><c> the</c><00:14:56.040><c> number</c><00:14:56.160><c> of</c><00:14:56.279><c> public</c><00:14:56.459><c> signals</c><00:14:56.940><c> in</c>

00:14:56.990 --> 00:14:57.000 align:start position:0%
up with the number of public signals in
 

00:14:57.000 --> 00:14:59.150 align:start position:0%
up with the number of public signals in
the<00:14:57.180><c> proof</c><00:14:57.420><c> but</c><00:14:57.899><c> for</c><00:14:58.260><c> this</c><00:14:58.500><c> example</c><00:14:58.800><c> we're</c>

00:14:59.150 --> 00:14:59.160 align:start position:0%
the proof but for this example we're
 

00:14:59.160 --> 00:15:00.949 align:start position:0%
the proof but for this example we're
just<00:14:59.279><c> going</c><00:14:59.399><c> to</c><00:14:59.519><c> say</c><00:14:59.579><c> they</c><00:14:59.760><c> both</c><00:14:59.940><c> cost</c><00:15:00.120><c> 250</c>

00:15:00.949 --> 00:15:00.959 align:start position:0%
just going to say they both cost 250
 

00:15:00.959 --> 00:15:02.090 align:start position:0%
just going to say they both cost 250
000.

00:15:02.090 --> 00:15:02.100 align:start position:0%
000.
 

00:15:02.100 --> 00:15:03.949 align:start position:0%
000.
so<00:15:02.279><c> the</c><00:15:02.459><c> ethereum</c><00:15:02.820><c> maina</c><00:15:03.180><c> is</c><00:15:03.300><c> doing</c><00:15:03.420><c> two</c><00:15:03.720><c> and</c><00:15:03.839><c> a</c>

00:15:03.949 --> 00:15:03.959 align:start position:0%
so the ethereum maina is doing two and a
 

00:15:03.959 --> 00:15:05.509 align:start position:0%
so the ethereum maina is doing two and a
half<00:15:04.019><c> million</c><00:15:04.440><c> gas</c><00:15:04.620><c> per</c><00:15:04.860><c> second</c><00:15:05.040><c> right</c><00:15:05.399><c> now</c>

00:15:05.509 --> 00:15:05.519 align:start position:0%
half million gas per second right now
 

00:15:05.519 --> 00:15:08.389 align:start position:0%
half million gas per second right now
they're<00:15:06.000><c> doing</c><00:15:06.300><c> uh</c><00:15:07.260><c> 30</c><00:15:07.440><c> million</c><00:15:07.740><c> gas</c><00:15:07.920><c> every</c><00:15:08.160><c> 12</c>

00:15:08.389 --> 00:15:08.399 align:start position:0%
they're doing uh 30 million gas every 12
 

00:15:08.399 --> 00:15:10.129 align:start position:0%
they're doing uh 30 million gas every 12
seconds<00:15:08.579><c> which</c><00:15:08.820><c> comes</c><00:15:09.060><c> down</c><00:15:09.180><c> to</c><00:15:09.300><c> this</c><00:15:09.540><c> so</c><00:15:09.899><c> it</c>

00:15:10.129 --> 00:15:10.139 align:start position:0%
seconds which comes down to this so it
 

00:15:10.139 --> 00:15:12.230 align:start position:0%
seconds which comes down to this so it
gets<00:15:10.440><c> to</c><00:15:10.500><c> verify</c><00:15:10.920><c> 10</c><00:15:11.279><c> proofs</c><00:15:11.699><c> per</c><00:15:11.820><c> second</c><00:15:12.000><c> on</c>

00:15:12.230 --> 00:15:12.240 align:start position:0%
gets to verify 10 proofs per second on
 

00:15:12.240 --> 00:15:13.730 align:start position:0%
gets to verify 10 proofs per second on
ethereum<00:15:12.660><c> Main</c><00:15:12.839><c> net</c>

00:15:13.730 --> 00:15:13.740 align:start position:0%
ethereum Main net
 

00:15:13.740 --> 00:15:15.889 align:start position:0%
ethereum Main net
so<00:15:14.339><c> on</c><00:15:14.519><c> arbitrum</c><00:15:15.000><c> and</c><00:15:15.120><c> L2</c><00:15:15.420><c> for</c><00:15:15.720><c> example</c>

00:15:15.889 --> 00:15:15.899 align:start position:0%
so on arbitrum and L2 for example
 

00:15:15.899 --> 00:15:17.629 align:start position:0%
so on arbitrum and L2 for example
they're<00:15:16.320><c> doing</c><00:15:16.500><c> 7</c><00:15:16.740><c> million</c><00:15:17.040><c> gas</c><00:15:17.220><c> per</c><00:15:17.459><c> second</c>

00:15:17.629 --> 00:15:17.639 align:start position:0%
they're doing 7 million gas per second
 

00:15:17.639 --> 00:15:20.389 align:start position:0%
they're doing 7 million gas per second
so<00:15:18.180><c> that</c><00:15:18.360><c> number</c><00:15:18.540><c> is</c><00:15:18.720><c> bumped</c><00:15:19.139><c> to</c><00:15:19.199><c> 24</c><00:15:19.860><c> proofs</c>

00:15:20.389 --> 00:15:20.399 align:start position:0%
so that number is bumped to 24 proofs
 

00:15:20.399 --> 00:15:21.769 align:start position:0%
so that number is bumped to 24 proofs
per<00:15:20.519><c> second</c>

00:15:21.769 --> 00:15:21.779 align:start position:0%
per second
 

00:15:21.779 --> 00:15:23.689 align:start position:0%
per second
so<00:15:22.320><c> we</c><00:15:22.620><c> see</c><00:15:22.680><c> an</c><00:15:22.860><c> obvious</c><00:15:23.100><c> bottleneck</c><00:15:23.459><c> here</c>

00:15:23.689 --> 00:15:23.699 align:start position:0%
so we see an obvious bottleneck here
 

00:15:23.699 --> 00:15:26.569 align:start position:0%
so we see an obvious bottleneck here
it's<00:15:24.000><c> the</c><00:15:24.240><c> verification</c><00:15:24.660><c> cost</c><00:15:25.079><c> on</c><00:15:25.620><c> chain</c><00:15:25.860><c> uh</c>

00:15:26.569 --> 00:15:26.579 align:start position:0%
it's the verification cost on chain uh
 

00:15:26.579 --> 00:15:28.310 align:start position:0%
it's the verification cost on chain uh
and<00:15:26.699><c> these</c><00:15:26.880><c> numbers</c><00:15:27.000><c> are</c><00:15:27.300><c> also</c><00:15:27.600><c> extreme</c><00:15:27.959><c> upper</c>

00:15:28.310 --> 00:15:28.320 align:start position:0%
and these numbers are also extreme upper
 

00:15:28.320 --> 00:15:29.629 align:start position:0%
and these numbers are also extreme upper
bounds<00:15:28.620><c> this</c><00:15:28.740><c> assumes</c><00:15:29.100><c> that</c><00:15:29.160><c> we're</c><00:15:29.279><c> filling</c>

00:15:29.629 --> 00:15:29.639 align:start position:0%
bounds this assumes that we're filling
 

00:15:29.639 --> 00:15:32.750 align:start position:0%
bounds this assumes that we're filling
entire<00:15:30.199><c> uh</c><00:15:31.199><c> The</c><00:15:31.740><c> Blob</c><00:15:32.040><c> blocks</c><00:15:32.459><c> with</c><00:15:32.579><c> two</c>

00:15:32.750 --> 00:15:32.760 align:start position:0%
entire uh The Blob blocks with two
 

00:15:32.760 --> 00:15:34.970 align:start position:0%
entire uh The Blob blocks with two
megabytes<00:15:33.480><c> of</c><00:15:33.600><c> ZK</c><00:15:33.899><c> proofs</c><00:15:34.260><c> and</c><00:15:34.560><c> we're</c><00:15:34.680><c> filling</c>

00:15:34.970 --> 00:15:34.980 align:start position:0%
megabytes of ZK proofs and we're filling
 

00:15:34.980 --> 00:15:37.490 align:start position:0%
megabytes of ZK proofs and we're filling
entire<00:15:35.220><c> blocks</c><00:15:35.639><c> with</c><00:15:36.000><c> verification</c><00:15:36.600><c> of</c><00:15:37.199><c> ZK</c>

00:15:37.490 --> 00:15:37.500 align:start position:0%
entire blocks with verification of ZK
 

00:15:37.500 --> 00:15:40.129 align:start position:0%
entire blocks with verification of ZK
proofs<00:15:37.920><c> and</c><00:15:38.040><c> not</c><00:15:38.160><c> even</c><00:15:38.279><c> factoring</c><00:15:38.760><c> call</c><00:15:38.880><c> data</c>

00:15:40.129 --> 00:15:40.139 align:start position:0%
proofs and not even factoring call data
 

00:15:40.139 --> 00:15:42.170 align:start position:0%
proofs and not even factoring call data
all<00:15:40.500><c> right</c><00:15:40.500><c> so</c><00:15:40.800><c> how</c><00:15:40.980><c> can</c><00:15:41.160><c> we</c><00:15:41.339><c> scale</c><00:15:41.699><c> unit</c><00:15:41.880><c> up</c>

00:15:42.170 --> 00:15:42.180 align:start position:0%
all right so how can we scale unit up
 

00:15:42.180 --> 00:15:43.790 align:start position:0%
all right so how can we scale unit up
and<00:15:42.300><c> how</c><00:15:42.420><c> can</c><00:15:42.480><c> we</c><00:15:42.600><c> scale</c><00:15:42.779><c> ZK</c><00:15:43.260><c> proofs</c><00:15:43.680><c> in</c>

00:15:43.790 --> 00:15:43.800 align:start position:0%
and how can we scale ZK proofs in
 

00:15:43.800 --> 00:15:46.670 align:start position:0%
and how can we scale ZK proofs in
general<00:15:43.920><c> given</c><00:15:44.639><c> those</c><00:15:44.940><c> bottlenecks</c>

00:15:46.670 --> 00:15:46.680 align:start position:0%
general given those bottlenecks
 

00:15:46.680 --> 00:15:49.610 align:start position:0%
general given those bottlenecks
so<00:15:47.220><c> this</c><00:15:47.579><c> is</c><00:15:47.699><c> a</c><00:15:48.180><c> proof</c><00:15:48.720><c> from</c><00:15:48.959><c> the</c><00:15:49.019><c> U</c><00:15:49.139><c> interrupt</c>

00:15:49.610 --> 00:15:49.620 align:start position:0%
so this is a proof from the U interrupt
 

00:15:49.620 --> 00:15:51.410 align:start position:0%
so this is a proof from the U interrupt
system<00:15:49.740><c> where</c><00:15:50.399><c> we're</c><00:15:50.579><c> generating</c><00:15:50.940><c> a</c><00:15:51.120><c> user</c>

00:15:51.410 --> 00:15:51.420 align:start position:0%
system where we're generating a user
 

00:15:51.420 --> 00:15:53.329 align:start position:0%
system where we're generating a user
State<00:15:51.600><c> transition</c><00:15:52.019><c> and</c><00:15:52.800><c> as</c><00:15:52.980><c> you</c><00:15:53.160><c> can</c><00:15:53.220><c> see</c>

00:15:53.329 --> 00:15:53.339 align:start position:0%
State transition and as you can see
 

00:15:53.339 --> 00:15:55.790 align:start position:0%
State transition and as you can see
there's<00:15:53.760><c> I</c><00:15:54.060><c> think</c><00:15:54.180><c> seven</c><00:15:54.420><c> public</c><00:15:54.720><c> signals</c><00:15:55.260><c> and</c>

00:15:55.790 --> 00:15:55.800 align:start position:0%
there's I think seven public signals and
 

00:15:55.800 --> 00:15:57.230 align:start position:0%
there's I think seven public signals and
for<00:15:55.980><c> every</c><00:15:56.100><c> user</c><00:15:56.459><c> that</c><00:15:56.639><c> wants</c><00:15:56.820><c> to</c><00:15:56.880><c> join</c><00:15:57.000><c> a</c><00:15:57.120><c> new</c>

00:15:57.230 --> 00:15:57.240 align:start position:0%
for every user that wants to join a new
 

00:15:57.240 --> 00:15:58.790 align:start position:0%
for every user that wants to join a new
Epoch<00:15:57.720><c> we</c><00:15:57.779><c> make</c><00:15:57.959><c> one</c><00:15:58.079><c> of</c><00:15:58.260><c> these</c><00:15:58.320><c> and</c><00:15:58.440><c> put</c><00:15:58.620><c> it</c><00:15:58.680><c> on</c>

00:15:58.790 --> 00:15:58.800 align:start position:0%
Epoch we make one of these and put it on
 

00:15:58.800 --> 00:16:01.189 align:start position:0%
Epoch we make one of these and put it on
the<00:15:58.860><c> blockchain</c><00:15:59.279><c> and</c><00:15:59.459><c> verify</c><00:15:59.880><c> it</c><00:16:00.420><c> so</c><00:16:00.899><c> how</c><00:16:01.079><c> can</c>

00:16:01.189 --> 00:16:01.199 align:start position:0%
the blockchain and verify it so how can
 

00:16:01.199 --> 00:16:03.170 align:start position:0%
the blockchain and verify it so how can
we<00:16:01.320><c> make</c><00:16:01.440><c> this</c><00:16:01.560><c> a</c><00:16:01.680><c> little</c><00:16:01.740><c> bit</c><00:16:01.920><c> more</c><00:16:02.100><c> efficient</c>

00:16:03.170 --> 00:16:03.180 align:start position:0%
we make this a little bit more efficient
 

00:16:03.180 --> 00:16:05.509 align:start position:0%
we make this a little bit more efficient
we<00:16:03.600><c> can</c><00:16:03.660><c> do</c><00:16:03.779><c> recursive</c><00:16:04.440><c> proofs</c><00:16:04.800><c> so</c><00:16:05.160><c> we</c><00:16:05.399><c> have</c>

00:16:05.509 --> 00:16:05.519 align:start position:0%
we can do recursive proofs so we have
 

00:16:05.519 --> 00:16:07.430 align:start position:0%
we can do recursive proofs so we have
the<00:16:05.699><c> users</c><00:16:06.000><c> make</c><00:16:06.180><c> a</c><00:16:06.360><c> proof</c><00:16:06.600><c> and</c><00:16:06.959><c> then</c><00:16:07.079><c> it</c><00:16:07.199><c> gets</c>

00:16:07.430 --> 00:16:07.440 align:start position:0%
the users make a proof and then it gets
 

00:16:07.440 --> 00:16:08.990 align:start position:0%
the users make a proof and then it gets
sent<00:16:07.500><c> to</c><00:16:07.620><c> an</c><00:16:07.800><c> aggregator</c><00:16:08.160><c> and</c><00:16:08.760><c> then</c><00:16:08.820><c> the</c>

00:16:08.990 --> 00:16:09.000 align:start position:0%
sent to an aggregator and then the
 

00:16:09.000 --> 00:16:11.329 align:start position:0%
sent to an aggregator and then the
aggregator<00:16:09.420><c> proves</c><00:16:09.959><c> that</c><00:16:10.260><c> four</c><00:16:10.620><c> proofs</c><00:16:11.040><c> are</c>

00:16:11.329 --> 00:16:11.339 align:start position:0%
aggregator proves that four proofs are
 

00:16:11.339 --> 00:16:13.550 align:start position:0%
aggregator proves that four proofs are
valid<00:16:11.699><c> and</c><00:16:11.880><c> outputs</c><00:16:12.360><c> one</c><00:16:12.540><c> proof</c><00:16:12.959><c> and</c><00:16:13.320><c> so</c><00:16:13.440><c> we're</c>

00:16:13.550 --> 00:16:13.560 align:start position:0%
valid and outputs one proof and so we're
 

00:16:13.560 --> 00:16:15.530 align:start position:0%
valid and outputs one proof and so we're
able<00:16:13.800><c> to</c><00:16:13.860><c> reduce</c><00:16:14.040><c> it</c><00:16:14.339><c> by</c><00:16:14.579><c> in</c><00:16:15.060><c> this</c><00:16:15.180><c> case</c><00:16:15.300><c> a</c>

00:16:15.530 --> 00:16:15.540 align:start position:0%
able to reduce it by in this case a
 

00:16:15.540 --> 00:16:16.790 align:start position:0%
able to reduce it by in this case a
factor<00:16:15.899><c> of</c><00:16:16.019><c> four</c>

00:16:16.790 --> 00:16:16.800 align:start position:0%
factor of four
 

00:16:16.800 --> 00:16:18.889 align:start position:0%
factor of four
there<00:16:17.279><c> are</c><00:16:17.459><c> other</c><00:16:17.519><c> things</c><00:16:17.760><c> we</c><00:16:17.940><c> can</c><00:16:18.120><c> do</c><00:16:18.240><c> like</c><00:16:18.600><c> to</c>

00:16:18.889 --> 00:16:18.899 align:start position:0%
there are other things we can do like to
 

00:16:18.899 --> 00:16:20.629 align:start position:0%
there are other things we can do like to
reduce<00:16:19.019><c> the</c><00:16:19.380><c> public</c><00:16:19.500><c> signals</c><00:16:19.980><c> as</c><00:16:20.100><c> well</c><00:16:20.279><c> like</c>

00:16:20.629 --> 00:16:20.639 align:start position:0%
reduce the public signals as well like
 

00:16:20.639 --> 00:16:22.730 align:start position:0%
reduce the public signals as well like
cue<00:16:21.000><c> the</c><00:16:21.120><c> ZK</c><00:16:21.360><c> proofs</c><00:16:21.720><c> on</c><00:16:21.839><c> chain</c><00:16:21.959><c> and</c><00:16:22.500><c> then</c><00:16:22.560><c> form</c>

00:16:22.730 --> 00:16:22.740 align:start position:0%
cue the ZK proofs on chain and then form
 

00:16:22.740 --> 00:16:24.410 align:start position:0%
cue the ZK proofs on chain and then form
a<00:16:22.920><c> hash</c><00:16:23.040><c> chain</c><00:16:23.279><c> of</c><00:16:23.579><c> the</c><00:16:23.699><c> public</c><00:16:23.820><c> signals</c><00:16:24.300><c> and</c>

00:16:24.410 --> 00:16:24.420 align:start position:0%
a hash chain of the public signals and
 

00:16:24.420 --> 00:16:26.810 align:start position:0%
a hash chain of the public signals and
the<00:16:24.600><c> proof</c><00:16:25.079><c> stuff</c><00:16:25.260><c> uh</c><00:16:25.980><c> to</c><00:16:26.160><c> reduce</c><00:16:26.279><c> it</c><00:16:26.519><c> so</c><00:16:26.639><c> that</c>

00:16:26.810 --> 00:16:26.820 align:start position:0%
the proof stuff uh to reduce it so that
 

00:16:26.820 --> 00:16:28.250 align:start position:0%
the proof stuff uh to reduce it so that
we<00:16:26.940><c> don't</c><00:16:27.060><c> have</c><00:16:27.180><c> to</c><00:16:27.300><c> Output</c><00:16:27.600><c> all</c><00:16:27.899><c> these</c><00:16:28.079><c> public</c>

00:16:28.250 --> 00:16:28.260 align:start position:0%
we don't have to Output all these public
 

00:16:28.260 --> 00:16:29.750 align:start position:0%
we don't have to Output all these public
signals<00:16:28.740><c> at</c><00:16:28.860><c> once</c>

00:16:29.750 --> 00:16:29.760 align:start position:0%
signals at once
 

00:16:29.760 --> 00:16:31.250 align:start position:0%
signals at once
which<00:16:30.060><c> will</c><00:16:30.240><c> also</c><00:16:30.480><c> reduce</c><00:16:30.600><c> the</c><00:16:30.839><c> verification</c>

00:16:31.250 --> 00:16:31.260 align:start position:0%
which will also reduce the verification
 

00:16:31.260 --> 00:16:32.210 align:start position:0%
which will also reduce the verification
cost

00:16:32.210 --> 00:16:32.220 align:start position:0%
cost
 

00:16:32.220 --> 00:16:33.829 align:start position:0%
cost
and<00:16:32.519><c> so</c><00:16:32.579><c> recursive</c><00:16:33.120><c> proving</c><00:16:33.480><c> is</c><00:16:33.660><c> really</c>

00:16:33.829 --> 00:16:33.839 align:start position:0%
and so recursive proving is really
 

00:16:33.839 --> 00:16:35.329 align:start position:0%
and so recursive proving is really
important<00:16:34.139><c> because</c><00:16:34.440><c> it</c><00:16:34.800><c> changes</c><00:16:35.100><c> the</c>

00:16:35.329 --> 00:16:35.339 align:start position:0%
important because it changes the
 

00:16:35.339 --> 00:16:37.730 align:start position:0%
important because it changes the
approach<00:16:35.639><c> from</c><00:16:36.000><c> scaling</c><00:16:36.779><c> the</c><00:16:36.899><c> throughput</c><00:16:37.500><c> of</c>

00:16:37.730 --> 00:16:37.740 align:start position:0%
approach from scaling the throughput of
 

00:16:37.740 --> 00:16:40.430 align:start position:0%
approach from scaling the throughput of
decentralized<00:16:38.339><c> network</c><00:16:38.540><c> to</c><00:16:39.540><c> instead</c><00:16:39.959><c> scaling</c>

00:16:40.430 --> 00:16:40.440 align:start position:0%
decentralized network to instead scaling
 

00:16:40.440 --> 00:16:42.530 align:start position:0%
decentralized network to instead scaling
off-chain<00:16:40.980><c> computational</c><00:16:41.459><c> power</c><00:16:41.820><c> which</c>

00:16:42.530 --> 00:16:42.540 align:start position:0%
off-chain computational power which
 

00:16:42.540 --> 00:16:44.150 align:start position:0%
off-chain computational power which
we're<00:16:42.720><c> much</c><00:16:42.959><c> more</c><00:16:43.079><c> able</c><00:16:43.320><c> to</c><00:16:43.440><c> do</c><00:16:43.620><c> like</c><00:16:43.860><c> Intel</c>

00:16:44.150 --> 00:16:44.160 align:start position:0%
we're much more able to do like Intel
 

00:16:44.160 --> 00:16:46.129 align:start position:0%
we're much more able to do like Intel
and<00:16:44.339><c> AMD</c><00:16:44.639><c> do</c><00:16:44.880><c> this</c><00:16:45.000><c> every</c><00:16:45.180><c> year</c><00:16:45.420><c> we</c><00:16:45.839><c> can</c><00:16:45.959><c> also</c>

00:16:46.129 --> 00:16:46.139 align:start position:0%
and AMD do this every year we can also
 

00:16:46.139 --> 00:16:49.249 align:start position:0%
and AMD do this every year we can also
build<00:16:46.320><c> Asics</c><00:16:46.880><c> to</c><00:16:47.880><c> make</c><00:16:48.360><c> proof</c><00:16:48.660><c> of</c><00:16:48.720><c> it</c><00:16:48.839><c> make</c>

00:16:49.249 --> 00:16:49.259 align:start position:0%
build Asics to make proof of it make
 

00:16:49.259 --> 00:16:51.530 align:start position:0%
build Asics to make proof of it make
proofs<00:16:49.620><c> very</c><00:16:49.800><c> quickly</c><00:16:50.100><c> and</c><00:16:51.000><c> then</c><00:16:51.120><c> we're</c><00:16:51.300><c> able</c>

00:16:51.530 --> 00:16:51.540 align:start position:0%
proofs very quickly and then we're able
 

00:16:51.540 --> 00:16:53.870 align:start position:0%
proofs very quickly and then we're able
to<00:16:51.660><c> see</c><00:16:51.899><c> the</c><00:16:52.380><c> sort</c><00:16:52.620><c> of</c><00:16:52.740><c> uh</c><00:16:53.040><c> improvements</c><00:16:53.759><c> that</c>

00:16:53.870 --> 00:16:53.880 align:start position:0%
to see the sort of uh improvements that
 

00:16:53.880 --> 00:16:55.069 align:start position:0%
to see the sort of uh improvements that
we<00:16:54.000><c> want</c><00:16:54.120><c> to</c><00:16:54.300><c> see</c><00:16:54.360><c> like</c><00:16:54.600><c> if</c><00:16:54.720><c> we're</c><00:16:54.839><c> able</c><00:16:54.959><c> to</c>

00:16:55.069 --> 00:16:55.079 align:start position:0%
we want to see like if we're able to
 

00:16:55.079 --> 00:16:56.810 align:start position:0%
we want to see like if we're able to
bundle<00:16:55.440><c> 10</c><00:16:55.560><c> proofs</c><00:16:55.860><c> at</c><00:16:55.980><c> a</c><00:16:56.100><c> time</c><00:16:56.160><c> we</c><00:16:56.339><c> get</c><00:16:56.459><c> a</c><00:16:56.519><c> 10x</c>

00:16:56.810 --> 00:16:56.820 align:start position:0%
bundle 10 proofs at a time we get a 10x
 

00:16:56.820 --> 00:16:59.090 align:start position:0%
bundle 10 proofs at a time we get a 10x
Improvement<00:16:57.240><c> 100x</c>

00:16:59.090 --> 00:16:59.100 align:start position:0%
Improvement 100x
 

00:16:59.100 --> 00:16:59.990 align:start position:0%
Improvement 100x
Etc

00:16:59.990 --> 00:17:00.000 align:start position:0%
Etc
 

00:17:00.000 --> 00:17:01.970 align:start position:0%
Etc
and<00:17:00.600><c> and</c><00:17:00.779><c> this</c><00:17:01.019><c> does</c><00:17:01.199><c> introduce</c><00:17:01.620><c> a</c><00:17:01.800><c> little</c><00:17:01.860><c> bit</c>

00:17:01.970 --> 00:17:01.980 align:start position:0%
and and this does introduce a little bit
 

00:17:01.980 --> 00:17:03.350 align:start position:0%
and and this does introduce a little bit
of<00:17:02.100><c> complexity</c><00:17:02.579><c> because</c><00:17:02.940><c> we</c><00:17:03.120><c> have</c><00:17:03.180><c> to</c><00:17:03.300><c> deal</c>

00:17:03.350 --> 00:17:03.360 align:start position:0%
of complexity because we have to deal
 

00:17:03.360 --> 00:17:05.030 align:start position:0%
of complexity because we have to deal
with<00:17:03.540><c> approved</c><00:17:03.959><c> aggregator</c><00:17:04.319><c> and</c><00:17:04.679><c> now</c><00:17:04.799><c> the</c>

00:17:05.030 --> 00:17:05.040 align:start position:0%
with approved aggregator and now the
 

00:17:05.040 --> 00:17:06.470 align:start position:0%
with approved aggregator and now the
user<00:17:05.339><c> potentially</c><00:17:05.640><c> has</c><00:17:05.760><c> to</c><00:17:05.939><c> like</c><00:17:06.059><c> wait</c><00:17:06.240><c> on</c>

00:17:06.470 --> 00:17:06.480 align:start position:0%
user potentially has to like wait on
 

00:17:06.480 --> 00:17:08.510 align:start position:0%
user potentially has to like wait on
that<00:17:06.660><c> or</c><00:17:07.199><c> potentially</c><00:17:07.620><c> optimistically</c>

00:17:08.510 --> 00:17:08.520 align:start position:0%
that or potentially optimistically
 

00:17:08.520 --> 00:17:12.110 align:start position:0%
that or potentially optimistically
evaluate<00:17:09.000><c> the</c><00:17:09.299><c> aggregator</c><00:17:09.900><c> but</c><00:17:10.740><c> this</c><00:17:11.459><c> is</c><00:17:11.579><c> a</c>

00:17:12.110 --> 00:17:12.120 align:start position:0%
evaluate the aggregator but this is a
 

00:17:12.120 --> 00:17:14.510 align:start position:0%
evaluate the aggregator but this is a
decent<00:17:12.419><c> approach</c><00:17:12.660><c> to</c><00:17:12.839><c> scaling</c>

00:17:14.510 --> 00:17:14.520 align:start position:0%
decent approach to scaling
 

00:17:14.520 --> 00:17:16.909 align:start position:0%
decent approach to scaling
right<00:17:15.480><c> so</c><00:17:15.660><c> now</c><00:17:16.199><c> um</c><00:17:16.260><c> that's</c><00:17:16.439><c> most</c><00:17:16.679><c> of</c><00:17:16.799><c> the</c>

00:17:16.909 --> 00:17:16.919 align:start position:0%
right so now um that's most of the
 

00:17:16.919 --> 00:17:17.870 align:start position:0%
right so now um that's most of the
presentation<00:17:17.220><c> I'm</c><00:17:17.459><c> just</c><00:17:17.579><c> going</c><00:17:17.699><c> to</c><00:17:17.819><c> talk</c>

00:17:17.870 --> 00:17:17.880 align:start position:0%
presentation I'm just going to talk
 

00:17:17.880 --> 00:17:19.610 align:start position:0%
presentation I'm just going to talk
about<00:17:18.059><c> like</c><00:17:18.360><c> some</c><00:17:18.600><c> of</c><00:17:18.720><c> my</c><00:17:18.780><c> tester</c><00:17:19.079><c> ideas</c><00:17:19.260><c> that</c>

00:17:19.610 --> 00:17:19.620 align:start position:0%
about like some of my tester ideas that
 

00:17:19.620 --> 00:17:20.870 align:start position:0%
about like some of my tester ideas that
I<00:17:19.740><c> think</c><00:17:19.860><c> are</c><00:17:19.980><c> kind</c><00:17:20.220><c> of</c><00:17:20.339><c> cool</c><00:17:20.400><c> that</c><00:17:20.699><c> we</c><00:17:20.819><c> can</c>

00:17:20.870 --> 00:17:20.880 align:start position:0%
I think are kind of cool that we can
 

00:17:20.880 --> 00:17:22.730 align:start position:0%
I think are kind of cool that we can
build<00:17:21.000><c> with</c><00:17:21.179><c> unirp</c><00:17:21.720><c> or</c><00:17:21.959><c> the</c><00:17:22.199><c> other</c><00:17:22.319><c> Universe</c>

00:17:22.730 --> 00:17:22.740 align:start position:0%
build with unirp or the other Universe
 

00:17:22.740 --> 00:17:23.569 align:start position:0%
build with unirp or the other Universe
protocol

00:17:23.569 --> 00:17:23.579 align:start position:0%
protocol
 

00:17:23.579 --> 00:17:26.329 align:start position:0%
protocol
so<00:17:23.939><c> the</c><00:17:24.059><c> first</c><00:17:24.240><c> is</c><00:17:24.419><c> just</c><00:17:24.600><c> like</c><00:17:24.780><c> ZK</c><00:17:25.199><c> Dows</c><00:17:25.740><c> we</c><00:17:26.220><c> can</c>

00:17:26.329 --> 00:17:26.339 align:start position:0%
so the first is just like ZK Dows we can
 

00:17:26.339 --> 00:17:28.789 align:start position:0%
so the first is just like ZK Dows we can
keep<00:17:26.579><c> the</c><00:17:27.120><c> balance</c><00:17:27.480><c> uh</c><00:17:27.959><c> hidden</c><00:17:28.260><c> or</c><00:17:28.620><c> the</c>

00:17:28.789 --> 00:17:28.799 align:start position:0%
keep the balance uh hidden or the
 

00:17:28.799 --> 00:17:30.230 align:start position:0%
keep the balance uh hidden or the
balance<00:17:29.100><c> controlled</c><00:17:29.400><c> by</c><00:17:29.580><c> a</c><00:17:29.700><c> user</c><00:17:29.940><c> hidden</c>

00:17:30.230 --> 00:17:30.240 align:start position:0%
balance controlled by a user hidden
 

00:17:30.240 --> 00:17:31.970 align:start position:0%
balance controlled by a user hidden
within<00:17:30.480><c> the</c><00:17:30.600><c> Dow</c><00:17:30.840><c> we</c><00:17:31.320><c> could</c><00:17:31.380><c> also</c><00:17:31.679><c> do</c><00:17:31.799><c> things</c>

00:17:31.970 --> 00:17:31.980 align:start position:0%
within the Dow we could also do things
 

00:17:31.980 --> 00:17:35.029 align:start position:0%
within the Dow we could also do things
like<00:17:32.400><c> vote</c><00:17:32.880><c> for</c><00:17:33.120><c> proposals</c><00:17:33.720><c> anonymously</c>

00:17:35.029 --> 00:17:35.039 align:start position:0%
like vote for proposals anonymously
 

00:17:35.039 --> 00:17:36.770 align:start position:0%
like vote for proposals anonymously
um a<00:17:35.400><c> lot</c><00:17:35.520><c> of</c><00:17:35.580><c> interesting</c><00:17:36.000><c> ideas</c><00:17:36.179><c> a</c><00:17:36.660><c> lot</c><00:17:36.720><c> of</c>

00:17:36.770 --> 00:17:36.780 align:start position:0%
um a lot of interesting ideas a lot of
 

00:17:36.780 --> 00:17:38.270 align:start position:0%
um a lot of interesting ideas a lot of
interesting<00:17:37.020><c> things</c><00:17:37.200><c> that</c><00:17:37.380><c> can</c><00:17:37.919><c> be</c><00:17:37.980><c> done</c><00:17:38.100><c> with</c>

00:17:38.270 --> 00:17:38.280 align:start position:0%
interesting things that can be done with
 

00:17:38.280 --> 00:17:39.710 align:start position:0%
interesting things that can be done with
this

00:17:39.710 --> 00:17:39.720 align:start position:0%
this
 

00:17:39.720 --> 00:17:42.470 align:start position:0%
this
the<00:17:40.200><c> next</c><00:17:40.380><c> is</c><00:17:40.620><c> anticipal</c><00:17:41.340><c> reputation</c><00:17:41.760><c> I</c><00:17:42.360><c> use</c>

00:17:42.470 --> 00:17:42.480 align:start position:0%
the next is anticipal reputation I use
 

00:17:42.480 --> 00:17:44.270 align:start position:0%
the next is anticipal reputation I use
this<00:17:42.720><c> as</c><00:17:43.020><c> an</c><00:17:43.260><c> example</c><00:17:43.559><c> in</c><00:17:43.980><c> one</c><00:17:44.100><c> of</c><00:17:44.220><c> the</c>

00:17:44.270 --> 00:17:44.280 align:start position:0%
this as an example in one of the
 

00:17:44.280 --> 00:17:46.370 align:start position:0%
this as an example in one of the
previous<00:17:44.400><c> slides</c><00:17:44.820><c> but</c><00:17:45.600><c> what</c><00:17:45.720><c> you</c><00:17:45.840><c> could</c><00:17:45.960><c> do</c><00:17:46.140><c> is</c>

00:17:46.370 --> 00:17:46.380 align:start position:0%
previous slides but what you could do is
 

00:17:46.380 --> 00:17:48.590 align:start position:0%
previous slides but what you could do is
basically<00:17:46.799><c> take</c><00:17:47.520><c> like</c><00:17:47.760><c> proofs</c><00:17:48.179><c> that</c><00:17:48.360><c> you</c><00:17:48.480><c> have</c>

00:17:48.590 --> 00:17:48.600 align:start position:0%
basically take like proofs that you have
 

00:17:48.600 --> 00:17:50.630 align:start position:0%
basically take like proofs that you have
a<00:17:48.780><c> web</c><00:17:48.840><c> 2</c><00:17:49.080><c> identity</c><00:17:49.559><c> and</c><00:17:49.799><c> give</c><00:17:49.980><c> reputation</c><00:17:50.460><c> for</c>

00:17:50.630 --> 00:17:50.640 align:start position:0%
a web 2 identity and give reputation for
 

00:17:50.640 --> 00:17:52.669 align:start position:0%
a web 2 identity and give reputation for
that<00:17:50.820><c> or</c><00:17:51.539><c> potentially</c><00:17:51.900><c> use</c><00:17:52.080><c> like</c><00:17:52.260><c> bright</c><00:17:52.380><c> ID</c>

00:17:52.669 --> 00:17:52.679 align:start position:0%
that or potentially use like bright ID
 

00:17:52.679 --> 00:17:54.890 align:start position:0%
that or potentially use like bright ID
or<00:17:53.039><c> or</c><00:17:53.340><c> approve</c><00:17:53.940><c> that</c><00:17:54.059><c> you</c><00:17:54.179><c> have</c><00:17:54.240><c> like</c><00:17:54.360><c> poapps</c>

00:17:54.890 --> 00:17:54.900 align:start position:0%
or or approve that you have like poapps
 

00:17:54.900 --> 00:17:56.990 align:start position:0%
or or approve that you have like poapps
for<00:17:55.080><c> example</c><00:17:55.320><c> and</c><00:17:55.740><c> just</c><00:17:55.919><c> get</c><00:17:56.220><c> reputation</c><00:17:56.700><c> and</c>

00:17:56.990 --> 00:17:57.000 align:start position:0%
for example and just get reputation and
 

00:17:57.000 --> 00:17:58.730 align:start position:0%
for example and just get reputation and
then<00:17:57.120><c> use</c><00:17:57.360><c> that</c><00:17:57.600><c> to</c><00:17:57.840><c> sign</c><00:17:58.080><c> up</c><00:17:58.260><c> for</c><00:17:58.559><c> other</c>

00:17:58.730 --> 00:17:58.740 align:start position:0%
then use that to sign up for other
 

00:17:58.740 --> 00:18:00.890 align:start position:0%
then use that to sign up for other
testers

00:18:00.890 --> 00:18:00.900 align:start position:0%
testers
 

00:18:00.900 --> 00:18:02.690 align:start position:0%
testers
the<00:18:01.320><c> third</c><00:18:01.380><c> is</c><00:18:01.620><c> like</c><00:18:01.860><c> really</c><00:18:02.280><c> simple</c><00:18:02.460><c> and</c>

00:18:02.690 --> 00:18:02.700 align:start position:0%
the third is like really simple and
 

00:18:02.700 --> 00:18:04.669 align:start position:0%
the third is like really simple and
generic<00:18:03.120><c> which</c><00:18:03.360><c> is</c><00:18:03.539><c> a</c><00:18:03.900><c> recommendation</c><00:18:04.380><c> system</c>

00:18:04.669 --> 00:18:04.679 align:start position:0%
generic which is a recommendation system
 

00:18:04.679 --> 00:18:07.070 align:start position:0%
generic which is a recommendation system
as<00:18:04.919><c> a</c><00:18:05.039><c> web</c><00:18:05.160><c> app</c><00:18:05.340><c> everyone</c><00:18:05.760><c> has</c><00:18:06.179><c> things</c><00:18:06.840><c> that</c>

00:18:07.070 --> 00:18:07.080 align:start position:0%
as a web app everyone has things that
 

00:18:07.080 --> 00:18:08.630 align:start position:0%
as a web app everyone has things that
they<00:18:07.200><c> use</c><00:18:07.380><c> or</c><00:18:07.679><c> that</c><00:18:07.860><c> they</c><00:18:08.039><c> would</c><00:18:08.400><c> want</c><00:18:08.520><c> to</c>

00:18:08.630 --> 00:18:08.640 align:start position:0%
they use or that they would want to
 

00:18:08.640 --> 00:18:11.330 align:start position:0%
they use or that they would want to
recommend<00:18:08.940><c> to</c><00:18:09.179><c> other</c><00:18:09.299><c> people</c><00:18:09.539><c> you</c><00:18:10.799><c> having</c>

00:18:11.330 --> 00:18:11.340 align:start position:0%
recommend to other people you having
 

00:18:11.340 --> 00:18:13.370 align:start position:0%
recommend to other people you having
like<00:18:11.640><c> reputation</c><00:18:12.120><c> for</c><00:18:12.539><c> good</c><00:18:12.840><c> recommendations</c>

00:18:13.370 --> 00:18:13.380 align:start position:0%
like reputation for good recommendations
 

00:18:13.380 --> 00:18:15.830 align:start position:0%
like reputation for good recommendations
seems<00:18:13.919><c> like</c><00:18:14.039><c> a</c><00:18:14.220><c> good</c><00:18:14.400><c> use</c><00:18:14.520><c> of</c><00:18:14.700><c> the</c><00:18:14.820><c> system</c>

00:18:15.830 --> 00:18:15.840 align:start position:0%
seems like a good use of the system
 

00:18:15.840 --> 00:18:17.390 align:start position:0%
seems like a good use of the system
and<00:18:16.260><c> then</c><00:18:16.380><c> the</c><00:18:16.500><c> final</c><00:18:16.620><c> one</c><00:18:16.799><c> is</c><00:18:16.980><c> one</c><00:18:17.160><c> that</c><00:18:17.280><c> I</c>

00:18:17.390 --> 00:18:17.400 align:start position:0%
and then the final one is one that I
 

00:18:17.400 --> 00:18:18.830 align:start position:0%
and then the final one is one that I
thought<00:18:17.520><c> of</c><00:18:17.640><c> when</c><00:18:17.820><c> I</c><00:18:18.000><c> was</c><00:18:18.059><c> given</c><00:18:18.299><c> the</c><00:18:18.480><c> Devcon</c>

00:18:18.830 --> 00:18:18.840 align:start position:0%
thought of when I was given the Devcon
 

00:18:18.840 --> 00:18:21.409 align:start position:0%
thought of when I was given the Devcon
poapp<00:18:19.320><c> I</c><00:18:19.860><c> I</c><00:18:20.039><c> really</c><00:18:20.220><c> hate</c><00:18:20.400><c> claiming</c><00:18:20.820><c> co-ops</c><00:18:21.240><c> on</c>

00:18:21.409 --> 00:18:21.419 align:start position:0%
poapp I I really hate claiming co-ops on
 

00:18:21.419 --> 00:18:23.570 align:start position:0%
poapp I I really hate claiming co-ops on
chain<00:18:21.600><c> because</c><00:18:22.020><c> I'm</c><00:18:22.559><c> just</c><00:18:22.740><c> giving</c><00:18:23.100><c> people</c><00:18:23.340><c> a</c>

00:18:23.570 --> 00:18:23.580 align:start position:0%
chain because I'm just giving people a
 

00:18:23.580 --> 00:18:24.950 align:start position:0%
chain because I'm just giving people a
history<00:18:23.700><c> of</c><00:18:23.940><c> like</c><00:18:24.120><c> the</c><00:18:24.240><c> places</c><00:18:24.419><c> I've</c><00:18:24.720><c> been</c><00:18:24.840><c> in</c>

00:18:24.950 --> 00:18:24.960 align:start position:0%
history of like the places I've been in
 

00:18:24.960 --> 00:18:26.510 align:start position:0%
history of like the places I've been in
the<00:18:25.140><c> real</c><00:18:25.260><c> world</c><00:18:25.440><c> which</c><00:18:25.919><c> I</c><00:18:26.039><c> think</c><00:18:26.160><c> is</c><00:18:26.280><c> kind</c><00:18:26.460><c> of</c>

00:18:26.510 --> 00:18:26.520 align:start position:0%
the real world which I think is kind of
 

00:18:26.520 --> 00:18:28.909 align:start position:0%
the real world which I think is kind of
weird<00:18:26.700><c> uh</c><00:18:27.600><c> so</c><00:18:27.780><c> we</c><00:18:27.900><c> can</c><00:18:28.020><c> use</c><00:18:28.080><c> unirp</c><00:18:28.620><c> to</c><00:18:28.740><c> like</c>

00:18:28.909 --> 00:18:28.919 align:start position:0%
weird uh so we can use unirp to like
 

00:18:28.919 --> 00:18:30.950 align:start position:0%
weird uh so we can use unirp to like
claim<00:18:29.340><c> pull-ups</c><00:18:29.760><c> anonymously</c><00:18:30.240><c> and</c><00:18:30.720><c> then</c><00:18:30.780><c> we</c>

00:18:30.950 --> 00:18:30.960 align:start position:0%
claim pull-ups anonymously and then we
 

00:18:30.960 --> 00:18:32.450 align:start position:0%
claim pull-ups anonymously and then we
could<00:18:31.140><c> make</c><00:18:31.440><c> a</c><00:18:31.559><c> proof</c><00:18:31.799><c> that</c><00:18:31.919><c> you</c><00:18:32.039><c> have</c><00:18:32.160><c> like</c><00:18:32.340><c> a</c>

00:18:32.450 --> 00:18:32.460 align:start position:0%
could make a proof that you have like a
 

00:18:32.460 --> 00:18:34.370 align:start position:0%
could make a proof that you have like a
co-op<00:18:32.760><c> and</c><00:18:32.940><c> a</c><00:18:33.059><c> set</c><00:18:33.179><c> like</c><00:18:33.480><c> for</c><00:18:33.600><c> example</c><00:18:33.900><c> I</c><00:18:34.320><c> could</c>

00:18:34.370 --> 00:18:34.380 align:start position:0%
co-op and a set like for example I could
 

00:18:34.380 --> 00:18:36.289 align:start position:0%
co-op and a set like for example I could
prove<00:18:34.620><c> that</c><00:18:34.740><c> I</c><00:18:34.919><c> have</c><00:18:35.039><c> two</c><00:18:35.220><c> apps</c><00:18:35.820><c> from</c><00:18:35.940><c> the</c><00:18:36.120><c> set</c>

00:18:36.289 --> 00:18:36.299 align:start position:0%
prove that I have two apps from the set
 

00:18:36.299 --> 00:18:38.330 align:start position:0%
prove that I have two apps from the set
of<00:18:36.480><c> all</c><00:18:36.660><c> Defcon</c><00:18:37.200><c> pop-ups</c><00:18:37.799><c> something</c><00:18:38.100><c> like</c>

00:18:38.330 --> 00:18:38.340 align:start position:0%
of all Defcon pop-ups something like
 

00:18:38.340 --> 00:18:40.010 align:start position:0%
of all Defcon pop-ups something like
that

00:18:40.010 --> 00:18:40.020 align:start position:0%
that
 

00:18:40.020 --> 00:18:42.169 align:start position:0%
that
uh<00:18:40.799><c> and</c><00:18:41.039><c> then</c><00:18:41.160><c> just</c><00:18:41.400><c> some</c><00:18:41.580><c> nice</c><00:18:41.820><c> to</c><00:18:42.000><c> have</c>

00:18:42.169 --> 00:18:42.179 align:start position:0%
uh and then just some nice to have
 

00:18:42.179 --> 00:18:44.150 align:start position:0%
uh and then just some nice to have
things<00:18:42.480><c> for</c><00:18:42.960><c> sort</c><00:18:43.260><c> of</c><00:18:43.320><c> the</c><00:18:43.500><c> ecosystem</c><00:18:43.860><c> like</c>

00:18:44.150 --> 00:18:44.160 align:start position:0%
things for sort of the ecosystem like
 

00:18:44.160 --> 00:18:46.490 align:start position:0%
things for sort of the ecosystem like
infrastructure<00:18:44.700><c> wise</c><00:18:45.419><c> the</c><00:18:45.900><c> first</c><00:18:46.080><c> is</c><00:18:46.260><c> like</c><00:18:46.440><c> a</c>

00:18:46.490 --> 00:18:46.500 align:start position:0%
infrastructure wise the first is like a
 

00:18:46.500 --> 00:18:49.130 align:start position:0%
infrastructure wise the first is like a
ZK<00:18:46.799><c> directory</c><00:18:47.400><c> this</c><00:18:48.120><c> just</c><00:18:48.360><c> a</c><00:18:48.539><c> directory</c><00:18:48.960><c> of</c>

00:18:49.130 --> 00:18:49.140 align:start position:0%
ZK directory this just a directory of
 

00:18:49.140 --> 00:18:50.810 align:start position:0%
ZK directory this just a directory of
the<00:18:49.320><c> hashes</c><00:18:49.620><c> of</c><00:18:49.860><c> proofs</c><00:18:50.100><c> and</c><00:18:50.280><c> human</c><00:18:50.400><c> readable</c>

00:18:50.810 --> 00:18:50.820 align:start position:0%
the hashes of proofs and human readable
 

00:18:50.820 --> 00:18:53.150 align:start position:0%
the hashes of proofs and human readable
descriptions<00:18:51.299><c> of</c><00:18:51.660><c> what</c><00:18:51.840><c> the</c><00:18:52.020><c> proofs</c><00:18:52.320><c> do</c><00:18:52.500><c> and</c>

00:18:53.150 --> 00:18:53.160 align:start position:0%
descriptions of what the proofs do and
 

00:18:53.160 --> 00:18:54.770 align:start position:0%
descriptions of what the proofs do and
this<00:18:53.280><c> would</c><00:18:53.400><c> be</c><00:18:53.520><c> really</c><00:18:53.760><c> important</c><00:18:54.179><c> if</c><00:18:54.660><c> we're</c>

00:18:54.770 --> 00:18:54.780 align:start position:0%
this would be really important if we're
 

00:18:54.780 --> 00:18:55.909 align:start position:0%
this would be really important if we're
going<00:18:54.900><c> to</c><00:18:54.960><c> oauth</c><00:18:55.440><c> between</c><00:18:55.559><c> different</c>

00:18:55.909 --> 00:18:55.919 align:start position:0%
going to oauth between different
 

00:18:55.919 --> 00:18:57.890 align:start position:0%
going to oauth between different
applications<00:18:56.460><c> and</c><00:18:56.820><c> request</c><00:18:57.059><c> ZK</c><00:18:57.480><c> proofs</c>

00:18:57.890 --> 00:18:57.900 align:start position:0%
applications and request ZK proofs
 

00:18:57.900 --> 00:18:59.390 align:start position:0%
applications and request ZK proofs
because<00:18:58.200><c> they're</c><00:18:58.440><c> potentially</c><00:18:58.799><c> requests</c>

00:18:59.390 --> 00:18:59.400 align:start position:0%
because they're potentially requests
 

00:18:59.400 --> 00:19:01.370 align:start position:0%
because they're potentially requests
just<00:18:59.760><c> random</c><00:19:00.240><c> proofs</c><00:19:00.539><c> that</c><00:19:00.720><c> are</c><00:19:00.900><c> specific</c><00:19:01.140><c> to</c>

00:19:01.370 --> 00:19:01.380 align:start position:0%
just random proofs that are specific to
 

00:19:01.380 --> 00:19:03.470 align:start position:0%
just random proofs that are specific to
their<00:19:01.620><c> application</c><00:19:02.100><c> and</c><00:19:02.760><c> so</c><00:19:02.940><c> applications</c>

00:19:03.470 --> 00:19:03.480 align:start position:0%
their application and so applications
 

00:19:03.480 --> 00:19:04.610 align:start position:0%
their application and so applications
should<00:19:03.720><c> have</c><00:19:03.900><c> a</c><00:19:04.020><c> place</c><00:19:04.200><c> where</c><00:19:04.380><c> they</c><00:19:04.500><c> can</c>

00:19:04.610 --> 00:19:04.620 align:start position:0%
should have a place where they can
 

00:19:04.620 --> 00:19:06.830 align:start position:0%
should have a place where they can
request<00:19:04.919><c> information</c><00:19:05.220><c> about</c><00:19:05.760><c> a</c><00:19:06.059><c> proof</c><00:19:06.419><c> and</c>

00:19:06.830 --> 00:19:06.840 align:start position:0%
request information about a proof and
 

00:19:06.840 --> 00:19:09.529 align:start position:0%
request information about a proof and
then<00:19:06.960><c> return</c><00:19:07.140><c> it</c><00:19:07.440><c> to</c><00:19:07.559><c> the</c><00:19:07.679><c> user</c>

00:19:09.529 --> 00:19:09.539 align:start position:0%
then return it to the user
 

00:19:09.539 --> 00:19:11.690 align:start position:0%
then return it to the user
the<00:19:10.020><c> next</c><00:19:10.140><c> thing</c><00:19:10.260><c> is</c><00:19:10.380><c> planck</c><00:19:10.860><c> we</c><00:19:11.340><c> already</c><00:19:11.460><c> have</c>

00:19:11.690 --> 00:19:11.700 align:start position:0%
the next thing is planck we already have
 

00:19:11.700 --> 00:19:13.370 align:start position:0%
the next thing is planck we already have
this<00:19:11.940><c> but</c><00:19:12.240><c> I</c><00:19:12.480><c> just</c><00:19:12.600><c> want</c><00:19:12.720><c> to</c><00:19:12.840><c> talk</c><00:19:12.960><c> about</c><00:19:13.080><c> it</c><00:19:13.260><c> a</c>

00:19:13.370 --> 00:19:13.380 align:start position:0%
this but I just want to talk about it a
 

00:19:13.380 --> 00:19:14.630 align:start position:0%
this but I just want to talk about it a
little<00:19:13.440><c> bit</c><00:19:13.559><c> more</c>

00:19:14.630 --> 00:19:14.640 align:start position:0%
little bit more
 

00:19:14.640 --> 00:19:16.850 align:start position:0%
little bit more
um<00:19:15.120><c> the</c><00:19:15.600><c> most</c><00:19:15.660><c> important</c><00:19:15.900><c> part</c><00:19:16.080><c> of</c><00:19:16.200><c> Planck</c><00:19:16.620><c> to</c>

00:19:16.850 --> 00:19:16.860 align:start position:0%
um the most important part of Planck to
 

00:19:16.860 --> 00:19:18.169 align:start position:0%
um the most important part of Planck to
me<00:19:16.919><c> at</c><00:19:17.100><c> least</c><00:19:17.220><c> is</c><00:19:17.400><c> we</c><00:19:17.640><c> don't</c><00:19:17.700><c> have</c><00:19:17.880><c> the</c><00:19:18.000><c> space</c>

00:19:18.169 --> 00:19:18.179 align:start position:0%
me at least is we don't have the space
 

00:19:18.179 --> 00:19:19.789 align:start position:0%
me at least is we don't have the space
to<00:19:18.360><c> use</c><00:19:18.539><c> trusted</c><00:19:18.840><c> setup</c><00:19:19.140><c> that</c><00:19:19.320><c> is</c><00:19:19.440><c> circuit</c>

00:19:19.789 --> 00:19:19.799 align:start position:0%
to use trusted setup that is circuit
 

00:19:19.799 --> 00:19:22.370 align:start position:0%
to use trusted setup that is circuit
specific<00:19:20.100><c> so</c><00:19:20.880><c> with</c><00:19:21.120><c> unirp</c><00:19:21.600><c> we</c><00:19:21.780><c> want</c><00:19:21.960><c> people</c><00:19:22.080><c> to</c>

00:19:22.370 --> 00:19:22.380 align:start position:0%
specific so with unirp we want people to
 

00:19:22.380 --> 00:19:24.289 align:start position:0%
specific so with unirp we want people to
extend<00:19:22.740><c> the</c><00:19:22.919><c> proofs</c><00:19:23.400><c> that</c><00:19:23.520><c> we've</c><00:19:23.640><c> written</c><00:19:23.940><c> and</c>

00:19:24.289 --> 00:19:24.299 align:start position:0%
extend the proofs that we've written and
 

00:19:24.299 --> 00:19:25.549 align:start position:0%
extend the proofs that we've written and
write<00:19:24.419><c> their</c><00:19:24.660><c> own</c><00:19:24.780><c> to</c><00:19:25.080><c> build</c><00:19:25.200><c> their</c><00:19:25.380><c> own</c>

00:19:25.549 --> 00:19:25.559 align:start position:0%
write their own to build their own
 

00:19:25.559 --> 00:19:28.190 align:start position:0%
write their own to build their own
functionality<00:19:26.220><c> and</c><00:19:27.000><c> with</c><00:19:27.299><c> Ross</c><00:19:27.660><c> 16</c><00:19:27.840><c> that's</c>

00:19:28.190 --> 00:19:28.200 align:start position:0%
functionality and with Ross 16 that's
 

00:19:28.200 --> 00:19:29.690 align:start position:0%
functionality and with Ross 16 that's
very<00:19:28.380><c> difficult</c><00:19:28.679><c> to</c><00:19:28.919><c> do</c><00:19:29.039><c> because</c><00:19:29.340><c> they</c><00:19:29.580><c> have</c>

00:19:29.690 --> 00:19:29.700 align:start position:0%
very difficult to do because they have
 

00:19:29.700 --> 00:19:31.909 align:start position:0%
very difficult to do because they have
to<00:19:29.820><c> run</c><00:19:30.000><c> a</c><00:19:30.299><c> trusted</c><00:19:30.660><c> setup</c><00:19:30.960><c> ceremony</c><00:19:31.380><c> for</c><00:19:31.740><c> the</c>

00:19:31.909 --> 00:19:31.919 align:start position:0%
to run a trusted setup ceremony for the
 

00:19:31.919 --> 00:19:33.710 align:start position:0%
to run a trusted setup ceremony for the
circuits<00:19:32.280><c> that</c><00:19:32.400><c> they</c><00:19:32.580><c> build</c><00:19:32.760><c> and</c><00:19:33.360><c> this</c><00:19:33.480><c> is</c><00:19:33.600><c> a</c>

00:19:33.710 --> 00:19:33.720 align:start position:0%
circuits that they build and this is a
 

00:19:33.720 --> 00:19:35.810 align:start position:0%
circuits that they build and this is a
huge<00:19:33.900><c> amount</c><00:19:34.080><c> of</c><00:19:34.260><c> coordination</c><00:19:34.620><c> and</c><00:19:34.919><c> effort</c>

00:19:35.810 --> 00:19:35.820 align:start position:0%
huge amount of coordination and effort
 

00:19:35.820 --> 00:19:38.510 align:start position:0%
huge amount of coordination and effort
can't<00:19:36.299><c> really</c><00:19:36.539><c> expect</c><00:19:36.840><c> most</c><00:19:37.620><c> developers</c><00:19:38.160><c> to</c>

00:19:38.510 --> 00:19:38.520 align:start position:0%
can't really expect most developers to
 

00:19:38.520 --> 00:19:40.610 align:start position:0%
can't really expect most developers to
reasonably<00:19:38.940><c> do</c><00:19:39.179><c> so</c><00:19:39.600><c> with</c><00:19:39.780><c> Planck</c><00:19:40.200><c> we</c><00:19:40.380><c> cut</c><00:19:40.500><c> all</c>

00:19:40.610 --> 00:19:40.620 align:start position:0%
reasonably do so with Planck we cut all
 

00:19:40.620 --> 00:19:42.650 align:start position:0%
reasonably do so with Planck we cut all
the<00:19:40.740><c> head</c><00:19:40.860><c> out</c><00:19:41.039><c> we</c><00:19:41.280><c> get</c><00:19:41.400><c> to</c><00:19:41.520><c> just</c><00:19:41.700><c> use</c><00:19:42.000><c> some</c>

00:19:42.650 --> 00:19:42.660 align:start position:0%
the head out we get to just use some
 

00:19:42.660 --> 00:19:44.570 align:start position:0%
the head out we get to just use some
phase<00:19:43.080><c> one</c><00:19:43.260><c> trusted</c><00:19:43.679><c> setup</c><00:19:43.980><c> made</c><00:19:44.160><c> by</c><00:19:44.400><c> some</c>

00:19:44.570 --> 00:19:44.580 align:start position:0%
phase one trusted setup made by some
 

00:19:44.580 --> 00:19:46.669 align:start position:0%
phase one trusted setup made by some
trusted<00:19:44.880><c> density</c><00:19:45.179><c> or</c><00:19:45.780><c> some</c><00:19:46.020><c> trusted</c><00:19:46.380><c> entities</c>

00:19:46.669 --> 00:19:46.679 align:start position:0%
trusted density or some trusted entities
 

00:19:46.679 --> 00:19:50.330 align:start position:0%
trusted density or some trusted entities
and<00:19:47.340><c> then</c><00:19:47.400><c> you</c><00:19:47.640><c> have</c><00:19:47.820><c> secure</c><00:19:48.419><c> proofs</c>

00:19:50.330 --> 00:19:50.340 align:start position:0%
and then you have secure proofs
 

00:19:50.340 --> 00:19:52.610 align:start position:0%
and then you have secure proofs
and<00:19:50.880><c> the</c><00:19:51.059><c> last</c><00:19:51.179><c> thing</c><00:19:51.360><c> is</c><00:19:51.720><c> easier</c><00:19:52.200><c> browser</c>

00:19:52.610 --> 00:19:52.620 align:start position:0%
and the last thing is easier browser
 

00:19:52.620 --> 00:19:55.549 align:start position:0%
and the last thing is easier browser
proofs<00:19:52.980><c> so</c><00:19:53.460><c> we</c><00:19:54.000><c> have</c><00:19:54.240><c> proofs</c><00:19:55.020><c> in</c><00:19:55.140><c> the</c><00:19:55.260><c> browser</c>

00:19:55.549 --> 00:19:55.559 align:start position:0%
proofs so we have proofs in the browser
 

00:19:55.559 --> 00:19:58.549 align:start position:0%
proofs so we have proofs in the browser
using<00:19:55.860><c> snark.js</c><00:19:56.460><c> but</c><00:19:57.360><c> you</c><00:19:58.200><c> have</c><00:19:58.320><c> to</c><00:19:58.440><c> like</c>

00:19:58.549 --> 00:19:58.559 align:start position:0%
using snark.js but you have to like
 

00:19:58.559 --> 00:20:00.289 align:start position:0%
using snark.js but you have to like
configure<00:19:59.160><c> webpack</c><00:19:59.580><c> really</c><00:19:59.760><c> specifically</c>

00:20:00.289 --> 00:20:00.299 align:start position:0%
configure webpack really specifically
 

00:20:00.299 --> 00:20:02.750 align:start position:0%
configure webpack really specifically
and<00:20:01.080><c> it</c><00:20:01.320><c> also</c><00:20:01.559><c> uses</c><00:20:01.799><c> like</c><00:20:02.039><c> Z</c><00:20:02.280><c> key</c><00:20:02.520><c> and</c>

00:20:02.750 --> 00:20:02.760 align:start position:0%
and it also uses like Z key and
 

00:20:02.760 --> 00:20:03.890 align:start position:0%
and it also uses like Z key and
webassembly<00:20:03.299><c> file</c><00:20:03.480><c> and</c><00:20:03.660><c> a</c><00:20:03.780><c> second</c>

00:20:03.890 --> 00:20:03.900 align:start position:0%
webassembly file and a second
 

00:20:03.900 --> 00:20:05.750 align:start position:0%
webassembly file and a second
webassembly<00:20:04.440><c> file</c><00:20:04.620><c> for</c><00:20:04.799><c> a</c><00:20:04.919><c> curve</c><00:20:05.220><c> and</c><00:20:05.520><c> it'd</c><00:20:05.700><c> be</c>

00:20:05.750 --> 00:20:05.760 align:start position:0%
webassembly file for a curve and it'd be
 

00:20:05.760 --> 00:20:07.250 align:start position:0%
webassembly file for a curve and it'd be
much<00:20:05.880><c> easier</c><00:20:06.120><c> if</c><00:20:06.299><c> we</c><00:20:06.419><c> had</c><00:20:06.480><c> a</c><00:20:06.660><c> tool</c><00:20:06.900><c> that</c><00:20:07.080><c> just</c>

00:20:07.250 --> 00:20:07.260 align:start position:0%
much easier if we had a tool that just
 

00:20:07.260 --> 00:20:09.230 align:start position:0%
much easier if we had a tool that just
sort<00:20:07.440><c> of</c><00:20:07.559><c> bundles</c><00:20:07.860><c> all</c><00:20:08.100><c> of</c><00:20:08.220><c> that</c><00:20:08.400><c> into</c><00:20:08.760><c> a</c>

00:20:09.230 --> 00:20:09.240 align:start position:0%
sort of bundles all of that into a
 

00:20:09.240 --> 00:20:11.330 align:start position:0%
sort of bundles all of that into a
single<00:20:09.480><c> web</c><00:20:09.660><c> assembly</c><00:20:10.140><c> that</c><00:20:10.620><c> we</c><00:20:10.740><c> can</c><00:20:10.860><c> run</c><00:20:11.039><c> in</c>

00:20:11.330 --> 00:20:11.340 align:start position:0%
single web assembly that we can run in
 

00:20:11.340 --> 00:20:13.789 align:start position:0%
single web assembly that we can run in
the<00:20:11.400><c> browser</c><00:20:11.760><c> just</c><00:20:12.059><c> pass</c><00:20:12.539><c> in</c><00:20:12.780><c> signals</c><00:20:13.440><c> and</c><00:20:13.620><c> get</c>

00:20:13.789 --> 00:20:13.799 align:start position:0%
the browser just pass in signals and get
 

00:20:13.799 --> 00:20:16.070 align:start position:0%
the browser just pass in signals and get
the<00:20:14.039><c> proof</c><00:20:14.340><c> back</c><00:20:14.580><c> this</c><00:20:15.480><c> will</c><00:20:15.600><c> give</c><00:20:15.780><c> us</c><00:20:15.900><c> like</c>

00:20:16.070 --> 00:20:16.080 align:start position:0%
the proof back this will give us like
 

00:20:16.080 --> 00:20:18.230 align:start position:0%
the proof back this will give us like
three<00:20:16.200><c> asynchronous</c><00:20:16.860><c> operation</c><00:20:17.280><c> as</c><00:20:17.520><c> well</c>

00:20:18.230 --> 00:20:18.240 align:start position:0%
three asynchronous operation as well
 

00:20:18.240 --> 00:20:19.730 align:start position:0%
three asynchronous operation as well
um<00:20:18.299><c> yeah</c><00:20:18.720><c> it</c><00:20:18.900><c> would</c><00:20:18.960><c> just</c><00:20:19.140><c> be</c><00:20:19.200><c> a</c><00:20:19.320><c> nice</c><00:20:19.440><c> thing</c><00:20:19.559><c> to</c>

00:20:19.730 --> 00:20:19.740 align:start position:0%
um yeah it would just be a nice thing to
 

00:20:19.740 --> 00:20:21.289 align:start position:0%
um yeah it would just be a nice thing to
have

00:20:21.289 --> 00:20:21.299 align:start position:0%
have
 

00:20:21.299 --> 00:20:23.150 align:start position:0%
have
uh<00:20:21.900><c> yeah</c><00:20:22.020><c> that's</c><00:20:22.380><c> pretty</c><00:20:22.679><c> much</c><00:20:22.799><c> the</c><00:20:22.919><c> end</c><00:20:23.039><c> of</c>

00:20:23.150 --> 00:20:23.160 align:start position:0%
uh yeah that's pretty much the end of
 

00:20:23.160 --> 00:20:24.650 align:start position:0%
uh yeah that's pretty much the end of
the<00:20:23.220><c> talk</c><00:20:23.340><c> we</c><00:20:23.700><c> have</c><00:20:23.820><c> a</c><00:20:23.940><c> few</c><00:20:24.059><c> events</c><00:20:24.360><c> happening</c>

00:20:24.650 --> 00:20:24.660 align:start position:0%
the talk we have a few events happening
 

00:20:24.660 --> 00:20:26.810 align:start position:0%
the talk we have a few events happening
related<00:20:25.020><c> to</c><00:20:25.200><c> unirap</c><00:20:25.740><c> so</c><00:20:26.160><c> first</c><00:20:26.280><c> we</c><00:20:26.520><c> have</c><00:20:26.640><c> a</c>

00:20:26.810 --> 00:20:26.820 align:start position:0%
related to unirap so first we have a
 

00:20:26.820 --> 00:20:29.150 align:start position:0%
related to unirap so first we have a
unwrap<00:20:27.240><c> workshop</c><00:20:27.600><c> on</c><00:20:27.840><c> Friday</c><00:20:28.020><c> at</c><00:20:28.380><c> 10</c><00:20:28.500><c> 30</c><00:20:28.740><c> a.m</c>

00:20:29.150 --> 00:20:29.160 align:start position:0%
unwrap workshop on Friday at 10 30 a.m
 

00:20:29.160 --> 00:20:31.010 align:start position:0%
unwrap workshop on Friday at 10 30 a.m
that's<00:20:29.640><c> going</c><00:20:29.880><c> to</c><00:20:29.940><c> be</c><00:20:30.000><c> on</c><00:20:30.240><c> the</c><00:20:30.360><c> first</c><00:20:30.480><c> floor</c><00:20:30.720><c> at</c>

00:20:31.010 --> 00:20:31.020 align:start position:0%
that's going to be on the first floor at
 

00:20:31.020 --> 00:20:33.409 align:start position:0%
that's going to be on the first floor at
the<00:20:31.140><c> ZK</c><00:20:31.440><c> Community</c><00:20:31.679><c> Hub</c><00:20:32.039><c> we</c><00:20:32.700><c> also</c><00:20:32.880><c> have</c><00:20:33.000><c> a</c><00:20:33.120><c> demo</c>

00:20:33.409 --> 00:20:33.419 align:start position:0%
the ZK Community Hub we also have a demo
 

00:20:33.419 --> 00:20:35.450 align:start position:0%
the ZK Community Hub we also have a demo
at<00:20:33.780><c> Thursday</c><00:20:34.020><c> at</c><00:20:34.380><c> three</c><00:20:34.559><c> o'clock</c><00:20:34.860><c> in</c><00:20:35.160><c> the</c><00:20:35.280><c> same</c>

00:20:35.450 --> 00:20:35.460 align:start position:0%
at Thursday at three o'clock in the same
 

00:20:35.460 --> 00:20:38.029 align:start position:0%
at Thursday at three o'clock in the same
place<00:20:35.700><c> a</c><00:20:36.480><c> big</c><00:20:36.780><c> thank</c><00:20:36.900><c> you</c><00:20:37.020><c> to</c><00:20:37.140><c> Xerox</c><00:20:37.500><c> park</c><00:20:37.799><c> for</c>

00:20:38.029 --> 00:20:38.039 align:start position:0%
place a big thank you to Xerox park for
 

00:20:38.039 --> 00:20:39.529 align:start position:0%
place a big thank you to Xerox park for
putting<00:20:38.280><c> on</c><00:20:38.400><c> those</c><00:20:38.640><c> events</c><00:20:38.940><c> and</c><00:20:39.059><c> inviting</c><00:20:39.480><c> us</c>

00:20:39.529 --> 00:20:39.539 align:start position:0%
putting on those events and inviting us
 

00:20:39.539 --> 00:20:40.789 align:start position:0%
putting on those events and inviting us
to<00:20:39.780><c> participate</c>

00:20:40.789 --> 00:20:40.799 align:start position:0%
to participate
 

00:20:40.799 --> 00:20:42.110 align:start position:0%
to participate
uh<00:20:41.160><c> and</c><00:20:41.280><c> then</c><00:20:41.400><c> if</c><00:20:41.580><c> you</c><00:20:41.640><c> want</c><00:20:41.760><c> more</c><00:20:41.940><c> information</c>

00:20:42.110 --> 00:20:42.120 align:start position:0%
uh and then if you want more information
 

00:20:42.120 --> 00:20:44.330 align:start position:0%
uh and then if you want more information
about<00:20:42.539><c> unirp</c><00:20:43.200><c> you</c><00:20:43.500><c> can</c><00:20:43.559><c> go</c><00:20:43.679><c> to</c><00:20:43.740><c> github.com</c>

00:20:44.330 --> 00:20:44.340 align:start position:0%
about unirp you can go to github.com
 

00:20:44.340 --> 00:20:47.090 align:start position:0%
about unirp you can go to github.com
unit<00:20:44.940><c> or</c><00:20:45.480><c> you</c><00:20:45.600><c> can</c><00:20:45.660><c> scan</c><00:20:45.840><c> this</c><00:20:46.020><c> QR</c><00:20:46.440><c> and</c><00:20:46.919><c> it'll</c>

00:20:47.090 --> 00:20:47.100 align:start position:0%
unit or you can scan this QR and it'll
 

00:20:47.100 --> 00:20:48.650 align:start position:0%
unit or you can scan this QR and it'll
take<00:20:47.220><c> you</c><00:20:47.340><c> to</c><00:20:47.520><c> our</c><00:20:47.820><c> organization</c><00:20:48.299><c> homepage</c>

00:20:48.650 --> 00:20:48.660 align:start position:0%
take you to our organization homepage
 

00:20:48.660 --> 00:20:50.810 align:start position:0%
take you to our organization homepage
where<00:20:48.960><c> you</c><00:20:49.080><c> can</c><00:20:49.200><c> find</c><00:20:49.440><c> documentation</c><00:20:50.340><c> links</c>

00:20:50.810 --> 00:20:50.820 align:start position:0%
where you can find documentation links
 

00:20:50.820 --> 00:20:53.150 align:start position:0%
where you can find documentation links
uh<00:20:51.299><c> links</c><00:20:51.600><c> to</c><00:20:51.720><c> our</c><00:20:51.840><c> Discord</c><00:20:52.140><c> and</c><00:20:52.559><c> a</c><00:20:52.679><c> link</c><00:20:52.799><c> to</c><00:20:52.980><c> a</c>

00:20:53.150 --> 00:20:53.160 align:start position:0%
uh links to our Discord and a link to a
 

00:20:53.160 --> 00:20:55.130 align:start position:0%
uh links to our Discord and a link to a
demo<00:20:53.460><c> application</c><00:20:53.880><c> that</c><00:20:54.179><c> we</c><00:20:54.299><c> have</c><00:20:54.419><c> running</c><00:20:54.660><c> on</c>

00:20:55.130 --> 00:20:55.140 align:start position:0%
demo application that we have running on
 

00:20:55.140 --> 00:20:56.510 align:start position:0%
demo application that we have running on
this<00:20:55.380><c> protocol</c>

00:20:56.510 --> 00:20:56.520 align:start position:0%
this protocol
 

00:20:56.520 --> 00:20:59.620 align:start position:0%
this protocol
uh<00:20:57.120><c> yeah</c><00:20:57.240><c> that's</c><00:20:57.539><c> it</c><00:20:57.780><c> uh</c><00:20:58.200><c> any</c><00:20:58.440><c> questions</c>

00:20:59.620 --> 00:20:59.630 align:start position:0%
uh yeah that's it uh any questions
 

00:20:59.630 --> 00:21:11.630 align:start position:0%
uh yeah that's it uh any questions
[Applause]

00:21:11.630 --> 00:21:11.640 align:start position:0%
 
 

00:21:11.640 --> 00:21:13.549 align:start position:0%
 
um<00:21:11.760><c> first</c><00:21:12.120><c> of</c><00:21:12.360><c> all</c><00:21:12.360><c> cool</c><00:21:12.660><c> cool</c><00:21:12.720><c> presentation</c>

00:21:13.549 --> 00:21:13.559 align:start position:0%
um first of all cool cool presentation
 

00:21:13.559 --> 00:21:16.010 align:start position:0%
um first of all cool cool presentation
thank<00:21:13.919><c> you</c><00:21:13.980><c> for</c><00:21:14.160><c> all</c><00:21:14.280><c> the</c><00:21:14.400><c> information</c><00:21:14.900><c> uh</c><00:21:15.900><c> I</c>

00:21:16.010 --> 00:21:16.020 align:start position:0%
thank you for all the information uh I
 

00:21:16.020 --> 00:21:17.390 align:start position:0%
thank you for all the information uh I
was<00:21:16.140><c> wondering</c><00:21:16.380><c> from</c><00:21:16.559><c> a</c><00:21:16.740><c> product</c><00:21:16.860><c> standpoint</c>

00:21:17.390 --> 00:21:17.400 align:start position:0%
was wondering from a product standpoint
 

00:21:17.400 --> 00:21:19.190 align:start position:0%
was wondering from a product standpoint
or<00:21:17.580><c> maybe</c><00:21:17.760><c> from</c><00:21:18.000><c> the</c><00:21:18.179><c> user</c><00:21:18.480><c> perspective</c><00:21:18.840><c> how</c>

00:21:19.190 --> 00:21:19.200 align:start position:0%
or maybe from the user perspective how
 

00:21:19.200 --> 00:21:20.870 align:start position:0%
or maybe from the user perspective how
do<00:21:19.320><c> you</c><00:21:19.440><c> explain</c>

00:21:20.870 --> 00:21:20.880 align:start position:0%
do you explain
 

00:21:20.880 --> 00:21:24.770 align:start position:0%
do you explain
um<00:21:21.000><c> the</c><00:21:21.840><c> need</c><00:21:22.020><c> to</c><00:21:22.820><c> sequentially</c><00:21:23.820><c> create</c><00:21:24.419><c> new</c>

00:21:24.770 --> 00:21:24.780 align:start position:0%
um the need to sequentially create new
 

00:21:24.780 --> 00:21:25.909 align:start position:0%
um the need to sequentially create new
identities

00:21:25.909 --> 00:21:25.919 align:start position:0%
identities
 

00:21:25.919 --> 00:21:29.210 align:start position:0%
identities
in<00:21:26.340><c> order</c><00:21:26.400><c> to</c><00:21:26.580><c> remain</c><00:21:26.880><c> anonymous</c><00:21:27.679><c> and</c><00:21:28.679><c> also</c><00:21:29.100><c> if</c>

00:21:29.210 --> 00:21:29.220 align:start position:0%
in order to remain anonymous and also if
 

00:21:29.220 --> 00:21:30.770 align:start position:0%
in order to remain anonymous and also if
there's<00:21:29.340><c> a</c><00:21:29.580><c> way</c><00:21:29.700><c> to</c><00:21:29.820><c> apps</c><00:21:30.179><c> like</c><00:21:30.360><c> that</c><00:21:30.539><c> maybe</c>

00:21:30.770 --> 00:21:30.780 align:start position:0%
there's a way to apps like that maybe
 

00:21:30.780 --> 00:21:33.230 align:start position:0%
there's a way to apps like that maybe
save<00:21:31.080><c> it</c><00:21:31.320><c> in</c><00:21:31.500><c> the</c><00:21:31.679><c> session</c><00:21:32.159><c> in</c><00:21:32.700><c> the</c><00:21:32.820><c> browser</c>

00:21:33.230 --> 00:21:33.240 align:start position:0%
save it in the session in the browser
 

00:21:33.240 --> 00:21:35.870 align:start position:0%
save it in the session in the browser
you<00:21:33.539><c> know</c><00:21:33.659><c> appstock</c><00:21:34.380><c> the</c><00:21:34.500><c> user</c><00:21:34.799><c> away</c><00:21:34.919><c> from</c>

00:21:35.870 --> 00:21:35.880 align:start position:0%
you know appstock the user away from
 

00:21:35.880 --> 00:21:39.110 align:start position:0%
you know appstock the user away from
such<00:21:36.659><c> a</c><00:21:36.840><c> involved</c><00:21:37.380><c> mechanism</c><00:21:37.740><c> of</c><00:21:38.460><c> creating</c>

00:21:39.110 --> 00:21:39.120 align:start position:0%
such a involved mechanism of creating
 

00:21:39.120 --> 00:21:41.029 align:start position:0%
such a involved mechanism of creating
like<00:21:39.299><c> a</c><00:21:39.539><c> sudden</c><00:21:39.900><c> anonymous</c>

00:21:41.029 --> 00:21:41.039 align:start position:0%
like a sudden anonymous
 

00:21:41.039 --> 00:21:43.909 align:start position:0%
like a sudden anonymous
name<00:21:41.580><c> every</c><00:21:41.880><c> every</c><00:21:42.179><c> Epoch</c><00:21:42.780><c> sure</c>

00:21:43.909 --> 00:21:43.919 align:start position:0%
name every every Epoch sure
 

00:21:43.919 --> 00:21:46.669 align:start position:0%
name every every Epoch sure
yeah<00:21:44.520><c> so</c><00:21:44.880><c> well</c><00:21:45.600><c> the</c><00:21:45.780><c> reason</c><00:21:45.900><c> we</c><00:21:46.080><c> do</c><00:21:46.200><c> this</c><00:21:46.380><c> is</c>

00:21:46.669 --> 00:21:46.679 align:start position:0%
yeah so well the reason we do this is
 

00:21:46.679 --> 00:21:49.130 align:start position:0%
yeah so well the reason we do this is
because<00:21:46.919><c> they</c><00:21:47.580><c> need</c><00:21:47.760><c> to</c><00:21:47.880><c> have</c><00:21:48.179><c> uh</c><00:21:48.840><c> they</c><00:21:49.080><c> need</c>

00:21:49.130 --> 00:21:49.140 align:start position:0%
because they need to have uh they need
 

00:21:49.140 --> 00:21:50.870 align:start position:0%
because they need to have uh they need
to<00:21:49.260><c> be</c><00:21:49.320><c> able</c><00:21:49.440><c> to</c><00:21:49.500><c> prove</c><00:21:49.799><c> a</c><00:21:49.919><c> leaf</c><00:21:50.220><c> in</c><00:21:50.400><c> the</c><00:21:50.460><c> epoch</c>

00:21:50.870 --> 00:21:50.880 align:start position:0%
to be able to prove a leaf in the epoch
 

00:21:50.880 --> 00:21:53.510 align:start position:0%
to be able to prove a leaf in the epoch
tree<00:21:51.000><c> to</c><00:21:51.179><c> claim</c><00:21:51.480><c> reputation</c><00:21:52.100><c> uh</c><00:21:53.100><c> but</c><00:21:53.280><c> I</c><00:21:53.460><c> would</c>

00:21:53.510 --> 00:21:53.520 align:start position:0%
tree to claim reputation uh but I would
 

00:21:53.520 --> 00:21:55.130 align:start position:0%
tree to claim reputation uh but I would
say<00:21:53.700><c> it's</c><00:21:54.059><c> not</c><00:21:54.179><c> as</c><00:21:54.360><c> involved</c><00:21:54.720><c> as</c><00:21:54.840><c> it</c><00:21:55.020><c> might</c>

00:21:55.130 --> 00:21:55.140 align:start position:0%
say it's not as involved as it might
 

00:21:55.140 --> 00:21:56.870 align:start position:0%
say it's not as involved as it might
seem<00:21:55.380><c> we</c><00:21:55.679><c> can</c><00:21:55.860><c> do</c><00:21:55.980><c> this</c><00:21:56.100><c> silently</c><00:21:56.580><c> in</c><00:21:56.760><c> the</c>

00:21:56.870 --> 00:21:56.880 align:start position:0%
seem we can do this silently in the
 

00:21:56.880 --> 00:21:58.490 align:start position:0%
seem we can do this silently in the
background<00:21:57.059><c> in</c><00:21:57.299><c> the</c><00:21:57.480><c> browser</c><00:21:57.780><c> so</c><00:21:58.140><c> like</c><00:21:58.320><c> the</c>

00:21:58.490 --> 00:21:58.500 align:start position:0%
background in the browser so like the
 

00:21:58.500 --> 00:22:00.289 align:start position:0%
background in the browser so like the
user<00:21:58.740><c> enters</c><00:21:59.039><c> the</c><00:21:59.159><c> the</c><00:21:59.340><c> web</c><00:21:59.580><c> page</c><00:21:59.820><c> and</c><00:22:00.179><c> then</c>

00:22:00.289 --> 00:22:00.299 align:start position:0%
user enters the the web page and then
 

00:22:00.299 --> 00:22:01.850 align:start position:0%
user enters the the web page and then
the<00:22:00.419><c> web</c><00:22:00.539><c> page</c><00:22:00.780><c> checks</c><00:22:01.200><c> if</c><00:22:01.440><c> they</c><00:22:01.620><c> need</c><00:22:01.740><c> to</c>

00:22:01.850 --> 00:22:01.860 align:start position:0%
the web page checks if they need to
 

00:22:01.860 --> 00:22:03.529 align:start position:0%
the web page checks if they need to
generate<00:22:02.159><c> a</c><00:22:02.280><c> new</c><00:22:02.400><c> identity</c><00:22:02.820><c> and</c><00:22:03.179><c> if</c><00:22:03.299><c> they</c><00:22:03.419><c> do</c>

00:22:03.529 --> 00:22:03.539 align:start position:0%
generate a new identity and if they do
 

00:22:03.539 --> 00:22:05.330 align:start position:0%
generate a new identity and if they do
they<00:22:03.780><c> generate</c><00:22:04.020><c> a</c><00:22:04.140><c> ZK</c><00:22:04.440><c> proof</c><00:22:04.799><c> in</c><00:22:05.159><c> the</c>

00:22:05.330 --> 00:22:05.340 align:start position:0%
they generate a ZK proof in the
 

00:22:05.340 --> 00:22:07.250 align:start position:0%
they generate a ZK proof in the
background<00:22:05.700><c> and</c><00:22:06.240><c> submit</c><00:22:06.480><c> it</c><00:22:06.600><c> to</c><00:22:06.720><c> a</c><00:22:06.840><c> relayer</c>

00:22:07.250 --> 00:22:07.260 align:start position:0%
background and submit it to a relayer
 

00:22:07.260 --> 00:22:09.049 align:start position:0%
background and submit it to a relayer
and<00:22:07.500><c> it's</c><00:22:07.799><c> done</c>

00:22:09.049 --> 00:22:09.059 align:start position:0%
and it's done
 

00:22:09.059 --> 00:22:09.830 align:start position:0%
and it's done
um

00:22:09.830 --> 00:22:09.840 align:start position:0%
um
 

00:22:09.840 --> 00:22:11.390 align:start position:0%
um
yeah<00:22:10.380><c> there's</c><00:22:10.559><c> not</c><00:22:10.740><c> a</c><00:22:10.860><c> way</c><00:22:10.919><c> to</c><00:22:11.039><c> make</c><00:22:11.159><c> that</c><00:22:11.280><c> less</c>

00:22:11.390 --> 00:22:11.400 align:start position:0%
yeah there's not a way to make that less
 

00:22:11.400 --> 00:22:13.430 align:start position:0%
yeah there's not a way to make that less
manual<00:22:11.820><c> without</c><00:22:12.120><c> changing</c><00:22:12.900><c> the</c><00:22:13.080><c> architecture</c>

00:22:13.430 --> 00:22:13.440 align:start position:0%
manual without changing the architecture
 

00:22:13.440 --> 00:22:14.930 align:start position:0%
manual without changing the architecture
of<00:22:13.620><c> the</c><00:22:13.740><c> system</c><00:22:13.860><c> like</c><00:22:14.159><c> pretty</c><00:22:14.400><c> substantially</c>

00:22:14.930 --> 00:22:14.940 align:start position:0%
of the system like pretty substantially
 

00:22:14.940 --> 00:22:21.230 align:start position:0%
of the system like pretty substantially
though

00:22:21.230 --> 00:22:21.240 align:start position:0%
 
 

00:22:21.240 --> 00:22:24.110 align:start position:0%
 
hello<00:22:21.659><c> so</c>

00:22:24.110 --> 00:22:24.120 align:start position:0%
hello so
 

00:22:24.120 --> 00:22:26.270 align:start position:0%
hello so
how<00:22:24.659><c> often</c><00:22:24.960><c> do</c><00:22:25.140><c> you</c><00:22:25.320><c> see</c><00:22:25.500><c> the</c><00:22:25.799><c> state</c>

00:22:26.270 --> 00:22:26.280 align:start position:0%
how often do you see the state
 

00:22:26.280 --> 00:22:28.610 align:start position:0%
how often do you see the state
transition<00:22:26.640><c> happen</c><00:22:27.140><c> is</c><00:22:28.140><c> it</c><00:22:28.320><c> going</c><00:22:28.440><c> to</c><00:22:28.500><c> be</c>

00:22:28.610 --> 00:22:28.620 align:start position:0%
transition happen is it going to be
 

00:22:28.620 --> 00:22:31.070 align:start position:0%
transition happen is it going to be
peripoc<00:22:29.220><c> or</c><00:22:29.460><c> maybe</c><00:22:29.640><c> there</c><00:22:30.000><c> can</c><00:22:30.120><c> be</c><00:22:30.240><c> some</c>

00:22:31.070 --> 00:22:31.080 align:start position:0%
peripoc or maybe there can be some
 

00:22:31.080 --> 00:22:31.730 align:start position:0%
peripoc or maybe there can be some
um

00:22:31.730 --> 00:22:31.740 align:start position:0%
um
 

00:22:31.740 --> 00:22:34.310 align:start position:0%
um
tricky<00:22:32.280><c> there</c><00:22:32.520><c> to</c><00:22:32.760><c> maybe</c><00:22:32.880><c> avoid</c><00:22:33.480><c> this</c>

00:22:34.310 --> 00:22:34.320 align:start position:0%
tricky there to maybe avoid this
 

00:22:34.320 --> 00:22:36.950 align:start position:0%
tricky there to maybe avoid this
Kevin<00:22:34.799><c> load</c><00:22:35.280><c> in</c><00:22:35.460><c> the</c><00:22:35.640><c> computation</c>

00:22:36.950 --> 00:22:36.960 align:start position:0%
Kevin load in the computation
 

00:22:36.960 --> 00:22:38.990 align:start position:0%
Kevin load in the computation
uh<00:22:37.500><c> yeah</c><00:22:37.620><c> so</c><00:22:37.799><c> the</c><00:22:37.980><c> state</c><00:22:38.100><c> transition</c><00:22:38.460><c> happens</c>

00:22:38.990 --> 00:22:39.000 align:start position:0%
uh yeah so the state transition happens
 

00:22:39.000 --> 00:22:41.090 align:start position:0%
uh yeah so the state transition happens
anytime<00:22:39.659><c> you</c><00:22:39.840><c> want</c><00:22:39.960><c> to</c><00:22:40.080><c> move</c><00:22:40.200><c> to</c><00:22:40.380><c> a</c><00:22:40.500><c> new</c><00:22:40.620><c> Epoch</c>

00:22:41.090 --> 00:22:41.100 align:start position:0%
anytime you want to move to a new Epoch
 

00:22:41.100 --> 00:22:42.770 align:start position:0%
anytime you want to move to a new Epoch
so<00:22:41.220><c> if</c><00:22:41.460><c> you</c><00:22:41.580><c> are</c><00:22:41.700><c> participating</c><00:22:42.240><c> consistently</c>

00:22:42.770 --> 00:22:42.780 align:start position:0%
so if you are participating consistently
 

00:22:42.780 --> 00:22:45.289 align:start position:0%
so if you are participating consistently
then<00:22:43.020><c> yeah</c><00:22:43.200><c> it's</c><00:22:43.380><c> every</c><00:22:43.620><c> Epoch</c><00:22:44.280><c> we</c><00:22:44.880><c> can</c><00:22:45.000><c> adjust</c>

00:22:45.289 --> 00:22:45.299 align:start position:0%
then yeah it's every Epoch we can adjust
 

00:22:45.299 --> 00:22:47.270 align:start position:0%
then yeah it's every Epoch we can adjust
or<00:22:45.720><c> testers</c><00:22:46.140><c> can</c><00:22:46.380><c> set</c><00:22:46.559><c> the</c><00:22:46.679><c> epoch</c><00:22:47.100><c> length</c>

00:22:47.270 --> 00:22:47.280 align:start position:0%
or testers can set the epoch length
 

00:22:47.280 --> 00:22:49.250 align:start position:0%
or testers can set the epoch length
themselves<00:22:47.700><c> though</c><00:22:47.940><c> so</c><00:22:48.240><c> this</c><00:22:48.360><c> could</c><00:22:48.600><c> be</c><00:22:48.780><c> like</c>

00:22:49.250 --> 00:22:49.260 align:start position:0%
themselves though so this could be like
 

00:22:49.260 --> 00:22:50.810 align:start position:0%
themselves though so this could be like
pretty<00:22:49.380><c> short</c><00:22:49.559><c> maybe</c><00:22:49.799><c> one</c><00:22:50.100><c> hour</c><00:22:50.280><c> or</c><00:22:50.520><c> it</c><00:22:50.700><c> could</c>

00:22:50.810 --> 00:22:50.820 align:start position:0%
pretty short maybe one hour or it could
 

00:22:50.820 --> 00:22:52.310 align:start position:0%
pretty short maybe one hour or it could
be<00:22:50.940><c> like</c><00:22:51.059><c> a</c><00:22:51.240><c> week</c><00:22:51.299><c> or</c><00:22:51.480><c> it</c><00:22:51.600><c> could</c><00:22:51.659><c> be</c><00:22:51.780><c> a</c><00:22:51.900><c> month</c><00:22:52.020><c> or</c>

00:22:52.310 --> 00:22:52.320 align:start position:0%
be like a week or it could be a month or
 

00:22:52.320 --> 00:22:53.810 align:start position:0%
be like a week or it could be a month or
anything<00:22:52.559><c> like</c><00:22:52.799><c> that</c><00:22:52.980><c> and</c><00:22:53.460><c> we're</c><00:22:53.580><c> also</c>

00:22:53.810 --> 00:22:53.820 align:start position:0%
anything like that and we're also
 

00:22:53.820 --> 00:22:55.850 align:start position:0%
anything like that and we're also
planning<00:22:54.120><c> to</c><00:22:54.240><c> make</c><00:22:54.480><c> it</c><00:22:54.659><c> so</c><00:22:54.780><c> a</c><00:22:55.020><c> testers</c><00:22:55.320><c> can</c><00:22:55.620><c> set</c>

00:22:55.850 --> 00:22:55.860 align:start position:0%
planning to make it so a testers can set
 

00:22:55.860 --> 00:22:58.190 align:start position:0%
planning to make it so a testers can set
the<00:22:56.340><c> max</c><00:22:56.520><c> knots</c><00:22:56.880><c> value</c><00:22:57.120><c> to</c><00:22:57.419><c> change</c><00:22:57.659><c> like</c><00:22:58.020><c> the</c>

00:22:58.190 --> 00:22:58.200 align:start position:0%
the max knots value to change like the
 

00:22:58.200 --> 00:23:00.830 align:start position:0%
the max knots value to change like the
number<00:22:58.320><c> of</c><00:22:58.500><c> keys</c><00:22:58.799><c> the</c><00:22:58.980><c> user</c><00:22:59.220><c> has</c><00:22:59.400><c> for</c><00:22:59.580><c> Epoch</c><00:23:00.120><c> so</c>

00:23:00.830 --> 00:23:00.840 align:start position:0%
number of keys the user has for Epoch so
 

00:23:00.840 --> 00:23:03.890 align:start position:0%
number of keys the user has for Epoch so
that<00:23:01.620><c> would</c><00:23:01.980><c> sort</c><00:23:02.159><c> of</c><00:23:02.340><c> make</c><00:23:02.640><c> it</c><00:23:02.820><c> so</c><00:23:03.000><c> that</c><00:23:03.179><c> the</c>

00:23:03.890 --> 00:23:03.900 align:start position:0%
that would sort of make it so that the
 

00:23:03.900 --> 00:23:06.230 align:start position:0%
that would sort of make it so that the
power<00:23:04.320><c> key</c><00:23:04.500><c> proof</c><00:23:04.799><c> is</c><00:23:04.919><c> longer</c><00:23:05.340><c> but</c><00:23:05.820><c> you</c><00:23:06.000><c> also</c>

00:23:06.230 --> 00:23:06.240 align:start position:0%
power key proof is longer but you also
 

00:23:06.240 --> 00:23:08.570 align:start position:0%
power key proof is longer but you also
have<00:23:06.299><c> like</c><00:23:06.419><c> longer</c><00:23:06.720><c> epochs</c><00:23:07.320><c> so</c><00:23:07.919><c> there's</c><00:23:08.400><c> sort</c>

00:23:08.570 --> 00:23:08.580 align:start position:0%
have like longer epochs so there's sort
 

00:23:08.580 --> 00:23:11.510 align:start position:0%
have like longer epochs so there's sort
of<00:23:08.640><c> a</c><00:23:08.760><c> lot</c><00:23:08.880><c> of</c><00:23:09.000><c> tuning</c><00:23:09.360><c> we</c><00:23:09.539><c> can</c><00:23:09.659><c> do</c><00:23:09.780><c> with</c><00:23:10.200><c> that</c>

00:23:11.510 --> 00:23:11.520 align:start position:0%
of a lot of tuning we can do with that
 

00:23:11.520 --> 00:23:12.549 align:start position:0%
of a lot of tuning we can do with that
okay

00:23:12.549 --> 00:23:12.559 align:start position:0%
okay
 

00:23:12.559 --> 00:23:15.770 align:start position:0%
okay
any<00:23:13.559><c> thoughts</c><00:23:13.919><c> about</c><00:23:14.039><c> using</c><00:23:14.640><c> dids</c><00:23:15.299><c> and</c><00:23:15.419><c> VCC</c>

00:23:15.770 --> 00:23:15.780 align:start position:0%
any thoughts about using dids and VCC
 

00:23:15.780 --> 00:23:18.649 align:start position:0%
any thoughts about using dids and VCC
standards<00:23:16.500><c> in</c><00:23:16.799><c> this</c><00:23:16.980><c> implementation</c><00:23:17.580><c> uh</c><00:23:18.539><c> any</c>

00:23:18.649 --> 00:23:18.659 align:start position:0%
standards in this implementation uh any
 

00:23:18.659 --> 00:23:20.510 align:start position:0%
standards in this implementation uh any
thoughts<00:23:18.960><c> about</c><00:23:19.080><c> using</c><00:23:19.320><c> what</c><00:23:19.520><c> decentralized</c>

00:23:20.510 --> 00:23:20.520 align:start position:0%
thoughts about using what decentralized
 

00:23:20.520 --> 00:23:23.029 align:start position:0%
thoughts about using what decentralized
identifiers<00:23:21.419><c> and</c><00:23:21.720><c> verifiable</c><00:23:22.260><c> credentials</c>

00:23:23.029 --> 00:23:23.039 align:start position:0%
identifiers and verifiable credentials
 

00:23:23.039 --> 00:23:24.830 align:start position:0%
identifiers and verifiable credentials
from<00:23:23.460><c> the</c><00:23:23.580><c> w3c</c>

00:23:24.830 --> 00:23:24.840 align:start position:0%
from the w3c
 

00:23:24.840 --> 00:23:27.470 align:start position:0%
from the w3c
no<00:23:25.919><c> um</c><00:23:26.039><c> no</c><00:23:26.520><c> I</c><00:23:26.640><c> have</c><00:23:26.820><c> to</c><00:23:26.880><c> look</c><00:23:27.000><c> into</c><00:23:27.120><c> that</c><00:23:27.299><c> I'm</c>

00:23:27.470 --> 00:23:27.480 align:start position:0%
no um no I have to look into that I'm
 

00:23:27.480 --> 00:23:28.970 align:start position:0%
no um no I have to look into that I'm
not<00:23:27.659><c> aware</c><00:23:27.900><c> of</c><00:23:28.020><c> actually</c><00:23:28.200><c> that</c><00:23:28.440><c> but</c><00:23:28.679><c> thank</c><00:23:28.860><c> you</c>

00:23:28.970 --> 00:23:28.980 align:start position:0%
not aware of actually that but thank you
 

00:23:28.980 --> 00:23:32.090 align:start position:0%
not aware of actually that but thank you
thank<00:23:29.100><c> you</c>

00:23:32.090 --> 00:23:32.100 align:start position:0%
 
 

00:23:32.100 --> 00:23:33.770 align:start position:0%
 
uh<00:23:32.700><c> quick</c><00:23:32.940><c> question</c><00:23:33.120><c> you</c><00:23:33.360><c> talked</c><00:23:33.659><c> about</c>

00:23:33.770 --> 00:23:33.780 align:start position:0%
uh quick question you talked about
 

00:23:33.780 --> 00:23:37.490 align:start position:0%
uh quick question you talked about
growth<00:23:34.440><c> 16</c><00:23:34.620><c> verification</c><00:23:35.159><c> after</c><00:23:35.460><c> eip4844</c>

00:23:37.490 --> 00:23:37.500 align:start position:0%
growth 16 verification after eip4844
 

00:23:37.500 --> 00:23:38.750 align:start position:0%
growth 16 verification after eip4844
um I<00:23:37.679><c> would</c><00:23:37.799><c> be</c><00:23:37.919><c> curious</c><00:23:38.159><c> to</c><00:23:38.280><c> understand</c><00:23:38.400><c> if</c>

00:23:38.750 --> 00:23:38.760 align:start position:0%
um I would be curious to understand if
 

00:23:38.760 --> 00:23:40.909 align:start position:0%
um I would be curious to understand if
you<00:23:38.880><c> have</c><00:23:39.000><c> like</c><00:23:39.120><c> more</c><00:23:39.360><c> detailed</c><00:23:39.780><c> thoughts</c><00:23:40.200><c> in</c>

00:23:40.909 --> 00:23:40.919 align:start position:0%
you have like more detailed thoughts in
 

00:23:40.919 --> 00:23:42.230 align:start position:0%
you have like more detailed thoughts in
particular<00:23:41.159><c> two</c><00:23:41.400><c> questions</c><00:23:41.640><c> I</c><00:23:41.940><c> was</c><00:23:42.059><c> thinking</c>

00:23:42.230 --> 00:23:42.240 align:start position:0%
particular two questions I was thinking
 

00:23:42.240 --> 00:23:45.230 align:start position:0%
particular two questions I was thinking
of<00:23:42.419><c> those</c><00:23:42.539><c> like</c><00:23:42.840><c> one</c><00:23:43.620><c> uh</c><00:23:44.340><c> if</c><00:23:44.700><c> you</c><00:23:44.880><c> don't</c><00:23:45.000><c> have</c>

00:23:45.230 --> 00:23:45.240 align:start position:0%
of those like one uh if you don't have
 

00:23:45.240 --> 00:23:48.110 align:start position:0%
of those like one uh if you don't have
your<00:23:45.840><c> uh</c><00:23:46.260><c> I</c><00:23:46.559><c> guess</c><00:23:46.620><c> proof</c><00:23:47.340><c> in</c><00:23:47.460><c> call</c><00:23:47.700><c> data</c>

00:23:48.110 --> 00:23:48.120 align:start position:0%
your uh I guess proof in call data
 

00:23:48.120 --> 00:23:50.029 align:start position:0%
your uh I guess proof in call data
instead<00:23:48.720><c> it's</c><00:23:48.900><c> in</c><00:23:49.080><c> the</c><00:23:49.200><c> blob</c><00:23:49.440><c> you</c><00:23:49.740><c> would</c><00:23:49.860><c> have</c>

00:23:50.029 --> 00:23:50.039 align:start position:0%
instead it's in the blob you would have
 

00:23:50.039 --> 00:23:52.310 align:start position:0%
instead it's in the blob you would have
to<00:23:50.100><c> verify</c><00:23:50.400><c> there's</c><00:23:50.700><c> some</c><00:23:50.940><c> batch</c><00:23:51.299><c> proof</c><00:23:52.080><c> right</c>

00:23:52.310 --> 00:23:52.320 align:start position:0%
to verify there's some batch proof right
 

00:23:52.320 --> 00:23:55.909 align:start position:0%
to verify there's some batch proof right
opening<00:23:53.100><c> your</c><00:23:53.360><c> Kate</c><00:23:54.360><c> polynomial</c><00:23:54.960><c> inside</c><00:23:55.620><c> this</c>

00:23:55.909 --> 00:23:55.919 align:start position:0%
opening your Kate polynomial inside this
 

00:23:55.919 --> 00:23:58.909 align:start position:0%
opening your Kate polynomial inside this
narc<00:23:56.280><c> and</c><00:23:56.520><c> then</c><00:23:56.640><c> doing</c><00:23:56.940><c> recursive</c><00:23:57.539><c> rules</c><00:23:57.840><c> or</c><00:23:58.620><c> I</c>

00:23:58.909 --> 00:23:58.919 align:start position:0%
narc and then doing recursive rules or I
 

00:23:58.919 --> 00:24:00.110 align:start position:0%
narc and then doing recursive rules or I
guess<00:23:59.100><c> what</c><00:23:59.220><c> is</c><00:23:59.400><c> the</c><00:23:59.520><c> exact</c><00:23:59.760><c> setup</c><00:24:00.000><c> you're</c>

00:24:00.110 --> 00:24:00.120 align:start position:0%
guess what is the exact setup you're
 

00:24:00.120 --> 00:24:03.470 align:start position:0%
guess what is the exact setup you're
thinking<00:24:00.419><c> of</c><00:24:00.960><c> uh</c><00:24:01.919><c> do</c><00:24:02.520><c> you</c><00:24:02.640><c> mean</c><00:24:02.700><c> gross16</c><00:24:03.120><c> or</c><00:24:03.360><c> do</c>

00:24:03.470 --> 00:24:03.480 align:start position:0%
thinking of uh do you mean gross16 or do
 

00:24:03.480 --> 00:24:05.990 align:start position:0%
thinking of uh do you mean gross16 or do
you<00:24:03.539><c> mean</c><00:24:03.659><c> Planck</c><00:24:04.140><c> either</c><00:24:04.620><c> one</c><00:24:04.860><c> I</c><00:24:05.159><c> guess</c><00:24:05.340><c> right</c>

00:24:05.990 --> 00:24:06.000 align:start position:0%
you mean Planck either one I guess right
 

00:24:06.000 --> 00:24:07.970 align:start position:0%
you mean Planck either one I guess right
so<00:24:06.720><c> sorry</c><00:24:07.020><c> that</c><00:24:07.260><c> makes</c><00:24:07.440><c> a</c><00:24:07.559><c> little</c><00:24:07.620><c> bit</c><00:24:07.740><c> hard</c><00:24:07.860><c> to</c>

00:24:07.970 --> 00:24:07.980 align:start position:0%
so sorry that makes a little bit hard to
 

00:24:07.980 --> 00:24:09.590 align:start position:0%
so sorry that makes a little bit hard to
hear<00:24:08.340><c> but</c><00:24:08.520><c> it's</c><00:24:08.700><c> just</c><00:24:08.820><c> like</c><00:24:09.000><c> a</c><00:24:09.179><c> question</c><00:24:09.360><c> about</c>

00:24:09.590 --> 00:24:09.600 align:start position:0%
hear but it's just like a question about
 

00:24:09.600 --> 00:24:11.390 align:start position:0%
hear but it's just like a question about
how<00:24:10.080><c> do</c><00:24:10.260><c> we</c><00:24:10.440><c> aggregate</c><00:24:10.799><c> these</c><00:24:10.980><c> proofs</c><00:24:11.159><c> or</c><00:24:11.280><c> how</c>

00:24:11.390 --> 00:24:11.400 align:start position:0%
how do we aggregate these proofs or how
 

00:24:11.400 --> 00:24:13.250 align:start position:0%
how do we aggregate these proofs or how
do<00:24:11.520><c> we</c><00:24:11.580><c> sequence</c><00:24:11.820><c> them</c><00:24:12.000><c> for</c><00:24:12.240><c> aggregation</c>

00:24:13.250 --> 00:24:13.260 align:start position:0%
do we sequence them for aggregation
 

00:24:13.260 --> 00:24:17.390 align:start position:0%
do we sequence them for aggregation
in<00:24:13.740><c> a</c><00:24:13.860><c> post</c><00:24:13.980><c> eip44</c><00:24:14.700><c> world</c><00:24:15.179><c> right</c><00:24:15.539><c> yeah</c><00:24:16.039><c> yeah</c><00:24:17.039><c> so</c>

00:24:17.390 --> 00:24:17.400 align:start position:0%
in a post eip44 world right yeah yeah so
 

00:24:17.400 --> 00:24:18.770 align:start position:0%
in a post eip44 world right yeah yeah so
I<00:24:17.700><c> sort</c><00:24:17.820><c> of</c><00:24:17.940><c> touched</c><00:24:18.179><c> on</c><00:24:18.240><c> it</c><00:24:18.360><c> a</c><00:24:18.480><c> little</c><00:24:18.539><c> bit</c><00:24:18.659><c> but</c>

00:24:18.770 --> 00:24:18.780 align:start position:0%
I sort of touched on it a little bit but
 

00:24:18.780 --> 00:24:20.270 align:start position:0%
I sort of touched on it a little bit but
I<00:24:18.900><c> didn't</c><00:24:18.960><c> talk</c><00:24:19.140><c> about</c><00:24:19.200><c> it</c><00:24:19.380><c> much</c><00:24:19.500><c> but</c><00:24:20.100><c> one</c>

00:24:20.270 --> 00:24:20.280 align:start position:0%
I didn't talk about it much but one
 

00:24:20.280 --> 00:24:22.850 align:start position:0%
I didn't talk about it much but one
approach<00:24:20.640><c> is</c><00:24:21.000><c> users</c><00:24:21.480><c> can't</c><00:24:21.960><c> send</c><00:24:22.440><c> the</c><00:24:22.740><c> public</c>

00:24:22.850 --> 00:24:22.860 align:start position:0%
approach is users can't send the public
 

00:24:22.860 --> 00:24:24.409 align:start position:0%
approach is users can't send the public
signals<00:24:23.220><c> of</c><00:24:23.340><c> the</c><00:24:23.460><c> proof</c><00:24:23.760><c> and</c><00:24:24.000><c> then</c><00:24:24.120><c> the</c><00:24:24.240><c> hash</c>

00:24:24.409 --> 00:24:24.419 align:start position:0%
signals of the proof and then the hash
 

00:24:24.419 --> 00:24:26.270 align:start position:0%
signals of the proof and then the hash
of<00:24:24.600><c> the</c><00:24:24.720><c> proof</c><00:24:25.020><c> onto</c><00:24:25.260><c> the</c><00:24:25.380><c> blockchain</c><00:24:25.740><c> and</c>

00:24:26.270 --> 00:24:26.280 align:start position:0%
of the proof onto the blockchain and
 

00:24:26.280 --> 00:24:28.490 align:start position:0%
of the proof onto the blockchain and
then<00:24:26.340><c> we</c><00:24:26.520><c> form</c><00:24:26.700><c> a</c><00:24:26.880><c> hash</c><00:24:27.059><c> chain</c><00:24:27.299><c> on</c><00:24:27.480><c> chain</c><00:24:27.720><c> and</c>

00:24:28.490 --> 00:24:28.500 align:start position:0%
then we form a hash chain on chain and
 

00:24:28.500 --> 00:24:30.350 align:start position:0%
then we form a hash chain on chain and
then<00:24:28.620><c> the</c><00:24:28.919><c> aggregator</c><00:24:29.340><c> is</c><00:24:29.520><c> able</c><00:24:29.760><c> to</c><00:24:29.820><c> make</c><00:24:30.120><c> a</c>

00:24:30.350 --> 00:24:30.360 align:start position:0%
then the aggregator is able to make a
 

00:24:30.360 --> 00:24:32.990 align:start position:0%
then the aggregator is able to make a
recursive<00:24:30.720><c> proof</c><00:24:31.080><c> using</c><00:24:31.620><c> that</c><00:24:32.039><c> data</c><00:24:32.400><c> and</c><00:24:32.820><c> only</c>

00:24:32.990 --> 00:24:33.000 align:start position:0%
recursive proof using that data and only
 

00:24:33.000 --> 00:24:35.029 align:start position:0%
recursive proof using that data and only
put<00:24:33.240><c> a</c><00:24:33.360><c> hash</c><00:24:33.480><c> chain</c><00:24:33.720><c> on</c><00:24:33.960><c> chain</c>

00:24:35.029 --> 00:24:35.039 align:start position:0%
put a hash chain on chain
 

00:24:35.039 --> 00:24:36.890 align:start position:0%
put a hash chain on chain
um<00:24:35.100><c> but</c><00:24:35.280><c> this</c><00:24:35.400><c> still</c><00:24:35.580><c> involves</c><00:24:36.000><c> like</c><00:24:36.360><c> the</c>

00:24:36.890 --> 00:24:36.900 align:start position:0%
um but this still involves like the
 

00:24:36.900 --> 00:24:38.630 align:start position:0%
um but this still involves like the
aggregator<00:24:37.320><c> receiving</c><00:24:37.740><c> the</c><00:24:37.980><c> full</c><00:24:38.159><c> proof</c><00:24:38.460><c> and</c>

00:24:38.630 --> 00:24:38.640 align:start position:0%
aggregator receiving the full proof and
 

00:24:38.640 --> 00:24:40.789 align:start position:0%
aggregator receiving the full proof and
then<00:24:38.760><c> like</c><00:24:38.940><c> calculating</c><00:24:39.299><c> the</c><00:24:39.539><c> hash</c>

00:24:40.789 --> 00:24:40.799 align:start position:0%
then like calculating the hash
 

00:24:40.799 --> 00:24:41.690 align:start position:0%
then like calculating the hash
um

00:24:41.690 --> 00:24:41.700 align:start position:0%
um
 

00:24:41.700 --> 00:24:44.149 align:start position:0%
um
we<00:24:42.240><c> honestly</c><00:24:42.600><c> we</c><00:24:42.840><c> haven't</c><00:24:42.960><c> gotten</c>

00:24:44.149 --> 00:24:44.159 align:start position:0%
we honestly we haven't gotten
 

00:24:44.159 --> 00:24:46.250 align:start position:0%
we honestly we haven't gotten
uh<00:24:44.880><c> we're</c><00:24:45.120><c> not</c><00:24:45.360><c> really</c><00:24:45.480><c> close</c><00:24:45.659><c> to</c><00:24:45.840><c> doing</c><00:24:46.080><c> that</c>

00:24:46.250 --> 00:24:46.260 align:start position:0%
uh we're not really close to doing that
 

00:24:46.260 --> 00:24:48.710 align:start position:0%
uh we're not really close to doing that
yet<00:24:46.500><c> like</c><00:24:46.980><c> we're</c><00:24:47.159><c> proving</c><00:24:48.059><c> especially</c><00:24:48.539><c> for</c>

00:24:48.710 --> 00:24:48.720 align:start position:0%
yet like we're proving especially for
 

00:24:48.720 --> 00:24:50.090 align:start position:0%
yet like we're proving especially for
like<00:24:48.840><c> solidity</c><00:24:49.260><c> approvers</c><00:24:49.679><c> are</c><00:24:49.799><c> a</c><00:24:49.919><c> little</c><00:24:49.980><c> bit</c>

00:24:50.090 --> 00:24:50.100 align:start position:0%
like solidity approvers are a little bit
 

00:24:50.100 --> 00:24:51.470 align:start position:0%
like solidity approvers are a little bit
far<00:24:50.280><c> out</c>

00:24:51.470 --> 00:24:51.480 align:start position:0%
far out
 

00:24:51.480 --> 00:24:52.970 align:start position:0%
far out
um<00:24:51.600><c> but</c><00:24:52.080><c> yeah</c><00:24:52.200><c> it's</c><00:24:52.380><c> probably</c><00:24:52.620><c> going</c><00:24:52.799><c> to</c><00:24:52.919><c> be</c>

00:24:52.970 --> 00:24:52.980 align:start position:0%
um but yeah it's probably going to be
 

00:24:52.980 --> 00:24:54.770 align:start position:0%
um but yeah it's probably going to be
some<00:24:53.340><c> sort</c><00:24:53.460><c> of</c><00:24:53.580><c> optimistic</c><00:24:54.120><c> system</c><00:24:54.299><c> so</c><00:24:54.600><c> the</c>

00:24:54.770 --> 00:24:54.780 align:start position:0%
some sort of optimistic system so the
 

00:24:54.780 --> 00:25:03.190 align:start position:0%
some sort of optimistic system so the
user<00:24:55.080><c> experience</c><00:24:55.440><c> is</c><00:24:55.679><c> pretty</c><00:24:55.980><c> good</c>

00:25:03.190 --> 00:25:03.200 align:start position:0%
 
 

00:25:03.200 --> 00:25:06.740 align:start position:0%
 
thank<00:25:04.200><c> you</c><00:25:04.320><c> thank</c><00:25:04.559><c> you</c><00:25:04.679><c> all</c>

