WEBVTT
Kind: captions
Language: en

00:00:01.160 --> 00:00:06.690 align:start position:0%
 
[Music]

00:00:06.690 --> 00:00:06.700 align:start position:0%
 
 

00:00:06.700 --> 00:00:10.669 align:start position:0%
 
[Music]

00:00:10.669 --> 00:00:10.679 align:start position:0%
[Music]
 

00:00:10.679 --> 00:00:12.749 align:start position:0%
[Music]
hello<00:00:11.200><c> thanks</c><00:00:11.400><c> for</c><00:00:11.559><c> the</c><00:00:11.679><c> introduction</c><00:00:12.480><c> so</c>

00:00:12.749 --> 00:00:12.759 align:start position:0%
hello thanks for the introduction so
 

00:00:12.759 --> 00:00:14.990 align:start position:0%
hello thanks for the introduction so
today<00:00:13.040><c> I'm</c><00:00:13.200><c> going</c><00:00:13.360><c> to</c><00:00:13.559><c> talk</c><00:00:13.839><c> about</c><00:00:14.320><c> uh</c>

00:00:14.990 --> 00:00:15.000 align:start position:0%
today I'm going to talk about uh
 

00:00:15.000 --> 00:00:16.670 align:start position:0%
today I'm going to talk about uh
vulnerabilities<00:00:16.000><c> mainly</c><00:00:16.400><c> in</c><00:00:16.560><c> the</c>

00:00:16.670 --> 00:00:16.680 align:start position:0%
vulnerabilities mainly in the
 

00:00:16.680 --> 00:00:20.310 align:start position:0%
vulnerabilities mainly in the
implementation<00:00:17.640><c> of</c><00:00:18.119><c> uh</c><00:00:18.880><c> uh</c><00:00:19.000><c> snarks</c><00:00:19.680><c> or</c><00:00:19.920><c> ZK</c>

00:00:20.310 --> 00:00:20.320 align:start position:0%
implementation of uh uh snarks or ZK
 

00:00:20.320 --> 00:00:23.390 align:start position:0%
implementation of uh uh snarks or ZK
snarks<00:00:21.320><c> and</c><00:00:21.800><c> also</c><00:00:22.199><c> on</c><00:00:22.519><c> what</c><00:00:22.680><c> can</c><00:00:22.880><c> go</c><00:00:23.080><c> wrong</c>

00:00:23.390 --> 00:00:23.400 align:start position:0%
snarks and also on what can go wrong
 

00:00:23.400 --> 00:00:26.109 align:start position:0%
snarks and also on what can go wrong
when<00:00:23.560><c> we</c><00:00:23.720><c> deploy</c><00:00:24.240><c> snarks</c><00:00:24.720><c> in</c><00:00:24.960><c> production</c><00:00:25.960><c> uh</c>

00:00:26.109 --> 00:00:26.119 align:start position:0%
when we deploy snarks in production uh
 

00:00:26.119 --> 00:00:28.269 align:start position:0%
when we deploy snarks in production uh
this<00:00:26.199><c> is</c><00:00:26.279><c> a</c><00:00:26.439><c> joint</c><00:00:26.720><c> work</c><00:00:27.080><c> with</c><00:00:27.519><c> collaborators</c>

00:00:28.269 --> 00:00:28.279 align:start position:0%
this is a joint work with collaborators
 

00:00:28.279 --> 00:00:32.470 align:start position:0%
this is a joint work with collaborators
from<00:00:28.679><c> TM</c><00:00:29.519><c> the</c><00:00:29.720><c> theum</c><00:00:30.119><c> Foundation</c><00:00:30.840><c> ZK</c><00:00:31.480><c> security</c>

00:00:32.470 --> 00:00:32.480 align:start position:0%
from TM the theum Foundation ZK security
 

00:00:32.480 --> 00:00:35.549 align:start position:0%
from TM the theum Foundation ZK security
the<00:00:32.599><c> scroll</c><00:00:33.079><c> foundation</c><00:00:33.960><c> and</c><00:00:34.280><c> also</c><00:00:34.640><c> Imperial</c>

00:00:35.549 --> 00:00:35.559 align:start position:0%
the scroll foundation and also Imperial
 

00:00:35.559 --> 00:00:40.150 align:start position:0%
the scroll foundation and also Imperial
College<00:00:36.239><c> London</c><00:00:37.239><c> okay</c><00:00:37.480><c> so</c><00:00:37.760><c> let's</c><00:00:38.440><c> start</c><00:00:39.440><c> um</c>

00:00:40.150 --> 00:00:40.160 align:start position:0%
College London okay so let's start um
 

00:00:40.160 --> 00:00:42.670 align:start position:0%
College London okay so let's start um
okay<00:00:40.719><c> what</c><00:00:40.840><c> is</c><00:00:40.960><c> the</c><00:00:41.160><c> state</c><00:00:41.559><c> of</c><00:00:41.960><c> uh</c><00:00:42.079><c> zkp</c>

00:00:42.670 --> 00:00:42.680 align:start position:0%
okay what is the state of uh zkp
 

00:00:42.680 --> 00:00:45.630 align:start position:0%
okay what is the state of uh zkp
applications<00:00:43.480><c> uh</c><00:00:43.600><c> today</c><00:00:44.360><c> we</c><00:00:44.520><c> have</c><00:00:44.760><c> ZK</c><00:00:45.200><c> rollups</c>

00:00:45.630 --> 00:00:45.640 align:start position:0%
applications uh today we have ZK rollups
 

00:00:45.640 --> 00:00:48.310 align:start position:0%
applications uh today we have ZK rollups
that<00:00:45.800><c> have</c><00:00:46.079><c> become</c><00:00:46.640><c> uh</c><00:00:47.079><c> very</c><00:00:47.399><c> popular</c><00:00:47.960><c> in</c><00:00:48.079><c> the</c>

00:00:48.310 --> 00:00:48.320 align:start position:0%
that have become uh very popular in the
 

00:00:48.320 --> 00:00:51.270 align:start position:0%
that have become uh very popular in the
last<00:00:48.760><c> two</c><00:00:49.079><c> years</c><00:00:49.800><c> they</c><00:00:49.960><c> have</c><00:00:50.239><c> more</c><00:00:50.520><c> than</c><00:00:50.920><c> 5</c>

00:00:51.270 --> 00:00:51.280 align:start position:0%
last two years they have more than 5
 

00:00:51.280 --> 00:00:55.670 align:start position:0%
last two years they have more than 5
billion<00:00:51.920><c> USD</c><00:00:52.920><c> in</c><00:00:53.320><c> uh</c><00:00:53.559><c> tvl</c><00:00:54.280><c> in</c><00:00:54.520><c> them</c><00:00:55.280><c> uh</c><00:00:55.399><c> we</c><00:00:55.520><c> have</c>

00:00:55.670 --> 00:00:55.680 align:start position:0%
billion USD in uh tvl in them uh we have
 

00:00:55.680 --> 00:00:58.830 align:start position:0%
billion USD in uh tvl in them uh we have
Zas<00:00:56.239><c> which</c><00:00:56.399><c> is</c><00:00:56.640><c> a</c><00:00:56.800><c> payment</c><00:00:57.239><c> system</c><00:00:57.879><c> system</c><00:00:58.680><c> it</c>

00:00:58.830 --> 00:00:58.840 align:start position:0%
Zas which is a payment system system it
 

00:00:58.840 --> 00:01:00.790 align:start position:0%
Zas which is a payment system system it
was<00:00:59.039><c> deployed</c><00:00:59.519><c> I</c><00:00:59.600><c> think</c><00:00:59.760><c> the</c><00:01:00.000><c> ver</c><00:01:00.280><c> version</c>

00:01:00.790 --> 00:01:00.800 align:start position:0%
was deployed I think the ver version
 

00:01:00.800 --> 00:01:04.910 align:start position:0%
was deployed I think the ver version
around<00:01:01.199><c> 2015</c><00:01:02.559><c> 2016</c><00:01:03.559><c> we</c><00:01:03.760><c> have</c><00:01:04.119><c> many</c><00:01:04.479><c> ZK</c>

00:01:04.910 --> 00:01:04.920 align:start position:0%
around 2015 2016 we have many ZK
 

00:01:04.920 --> 00:01:07.749 align:start position:0%
around 2015 2016 we have many ZK
applications<00:01:05.880><c> both</c><00:01:06.159><c> for</c><00:01:06.759><c> infrastructure</c>

00:01:07.749 --> 00:01:07.759 align:start position:0%
applications both for infrastructure
 

00:01:07.759 --> 00:01:09.749 align:start position:0%
applications both for infrastructure
such<00:01:08.119><c> as</c><00:01:08.400><c> ZK</c>

00:01:09.749 --> 00:01:09.759 align:start position:0%
such as ZK
 

00:01:09.759 --> 00:01:13.190 align:start position:0%
such as ZK
Bridges<00:01:10.759><c> but</c><00:01:11.000><c> also</c><00:01:11.320><c> for</c><00:01:11.759><c> private</c><00:01:12.200><c> payments</c>

00:01:13.190 --> 00:01:13.200 align:start position:0%
Bridges but also for private payments
 

00:01:13.200 --> 00:01:16.310 align:start position:0%
Bridges but also for private payments
for<00:01:14.000><c> um</c><00:01:14.400><c> using</c><00:01:14.920><c> wallets</c><00:01:15.439><c> without</c><00:01:15.799><c> having</c><00:01:16.119><c> to</c>

00:01:16.310 --> 00:01:16.320 align:start position:0%
for um using wallets without having to
 

00:01:16.320 --> 00:01:20.350 align:start position:0%
for um using wallets without having to
use<00:01:17.040><c> S</c><00:01:17.280><c> phrases</c><00:01:17.840><c> like</c><00:01:18.159><c> ZK</c><00:01:18.640><c> login</c><00:01:19.520><c> we</c><00:01:19.680><c> have</c>

00:01:20.350 --> 00:01:20.360 align:start position:0%
use S phrases like ZK login we have
 

00:01:20.360 --> 00:01:24.069 align:start position:0%
use S phrases like ZK login we have
private<00:01:21.000><c> programmable</c><00:01:21.799><c> l1s</c><00:01:22.479><c> and</c><00:01:22.720><c> l2s</c><00:01:23.720><c> like</c>

00:01:24.069 --> 00:01:24.079 align:start position:0%
private programmable l1s and l2s like
 

00:01:24.079 --> 00:01:28.030 align:start position:0%
private programmable l1s and l2s like
Mina<00:01:24.759><c> Alo</c><00:01:25.400><c> azdc</c><00:01:26.400><c> and</c><00:01:26.640><c> also</c><00:01:26.920><c> we</c><00:01:27.079><c> have</c><00:01:27.360><c> some</c><00:01:27.759><c> of</c>

00:01:28.030 --> 00:01:28.040 align:start position:0%
Mina Alo azdc and also we have some of
 

00:01:28.040 --> 00:01:31.190 align:start position:0%
Mina Alo azdc and also we have some of
chain<00:01:28.600><c> applications</c><00:01:29.600><c> and</c><00:01:29.960><c> although</c><00:01:30.680><c> all</c><00:01:30.920><c> of</c>

00:01:31.190 --> 00:01:31.200 align:start position:0%
chain applications and although all of
 

00:01:31.200 --> 00:01:33.630 align:start position:0%
chain applications and although all of
those<00:01:31.439><c> systems</c><00:01:31.840><c> have</c><00:01:32.040><c> been</c><00:01:32.399><c> deployed</c><00:01:33.399><c> we</c>

00:01:33.630 --> 00:01:33.640 align:start position:0%
those systems have been deployed we
 

00:01:33.640 --> 00:01:36.429 align:start position:0%
those systems have been deployed we
haven't<00:01:33.960><c> seen</c><00:01:34.439><c> any</c><00:01:34.680><c> major</c><00:01:35.119><c> exploits</c><00:01:35.880><c> like</c><00:01:36.280><c> uh</c>

00:01:36.429 --> 00:01:36.439 align:start position:0%
haven't seen any major exploits like uh
 

00:01:36.439 --> 00:01:39.270 align:start position:0%
haven't seen any major exploits like uh
the<00:01:36.640><c> Dow</c><00:01:37.000><c> exploit</c><00:01:37.720><c> we</c><00:01:37.960><c> had</c><00:01:38.200><c> in</c><00:01:38.439><c> smart</c>

00:01:39.270 --> 00:01:39.280 align:start position:0%
the Dow exploit we had in smart
 

00:01:39.280 --> 00:01:41.550 align:start position:0%
the Dow exploit we had in smart
contracts<00:01:40.280><c> and</c><00:01:40.720><c> although</c><00:01:41.000><c> we</c><00:01:41.119><c> haven't</c><00:01:41.360><c> seen</c>

00:01:41.550 --> 00:01:41.560 align:start position:0%
contracts and although we haven't seen
 

00:01:41.560 --> 00:01:44.190 align:start position:0%
contracts and although we haven't seen
any<00:01:41.759><c> exploit</c><00:01:42.399><c> there</c><00:01:42.600><c> have</c><00:01:42.799><c> been</c><00:01:43.280><c> bugs</c><00:01:43.880><c> in</c>

00:01:44.190 --> 00:01:44.200 align:start position:0%
any exploit there have been bugs in
 

00:01:44.200 --> 00:01:47.789 align:start position:0%
any exploit there have been bugs in
systems<00:01:44.799><c> deployed</c><00:01:45.799><c> uh</c><00:01:46.079><c> in</c><00:01:46.320><c> production</c><00:01:47.040><c> so</c>

00:01:47.789 --> 00:01:47.799 align:start position:0%
systems deployed uh in production so
 

00:01:47.799 --> 00:01:50.870 align:start position:0%
systems deployed uh in production so
zikas<00:01:48.799><c> had</c><00:01:48.960><c> a</c><00:01:49.119><c> vulnerability</c><00:01:50.119><c> sorry</c><00:01:50.439><c> for</c><00:01:50.759><c> the</c>

00:01:50.870 --> 00:01:50.880 align:start position:0%
zikas had a vulnerability sorry for the
 

00:01:50.880 --> 00:01:53.030 align:start position:0%
zikas had a vulnerability sorry for the
pictures<00:01:51.280><c> might</c><00:01:51.439><c> be</c><00:01:51.560><c> a</c><00:01:51.680><c> bit</c><00:01:51.840><c> small</c><00:01:52.280><c> but</c><00:01:52.759><c> I</c><00:01:52.840><c> will</c>

00:01:53.030 --> 00:01:53.040 align:start position:0%
pictures might be a bit small but I will
 

00:01:53.040 --> 00:01:55.590 align:start position:0%
pictures might be a bit small but I will
go<00:01:53.280><c> through</c><00:01:53.920><c> through</c><00:01:54.200><c> them</c><00:01:54.640><c> so</c><00:01:54.920><c> zikas</c><00:01:55.399><c> had</c><00:01:55.520><c> the</c>

00:01:55.590 --> 00:01:55.600 align:start position:0%
go through through them so zikas had the
 

00:01:55.600 --> 00:01:57.749 align:start position:0%
go through through them so zikas had the
vulnerability<00:01:56.280><c> for</c><00:01:56.840><c> I</c><00:01:56.920><c> think</c><00:01:57.200><c> more</c><00:01:57.439><c> than</c><00:01:57.600><c> a</c>

00:01:57.749 --> 00:01:57.759 align:start position:0%
vulnerability for I think more than a
 

00:01:57.759 --> 00:02:00.870 align:start position:0%
vulnerability for I think more than a
year<00:01:57.920><c> in</c><00:01:58.280><c> it</c><00:01:59.280><c> um</c><00:01:59.920><c> people</c><00:02:00.119><c> from</c><00:02:00.399><c> within</c><00:02:00.719><c> the</c>

00:02:00.870 --> 00:02:00.880 align:start position:0%
year in it um people from within the
 

00:02:00.880 --> 00:02:04.830 align:start position:0%
year in it um people from within the
zikas<00:02:01.640><c> found</c><00:02:02.000><c> it</c><00:02:02.360><c> and</c><00:02:02.799><c> ped</c><00:02:03.159><c> it</c><00:02:04.039><c> uh</c><00:02:04.240><c> then</c><00:02:04.560><c> one</c><00:02:04.719><c> of</c>

00:02:04.830 --> 00:02:04.840 align:start position:0%
zikas found it and ped it uh then one of
 

00:02:04.840 --> 00:02:07.190 align:start position:0%
zikas found it and ped it uh then one of
the<00:02:05.039><c> most</c><00:02:05.399><c> popular</c><00:02:06.200><c> mixers</c><00:02:06.920><c> had</c><00:02:07.079><c> a</c>

00:02:07.190 --> 00:02:07.200 align:start position:0%
the most popular mixers had a
 

00:02:07.200 --> 00:02:10.270 align:start position:0%
the most popular mixers had a
vulnerability<00:02:07.960><c> that</c><00:02:08.280><c> if</c><00:02:08.440><c> someone</c><00:02:09.280><c> exploited</c>

00:02:10.270 --> 00:02:10.280 align:start position:0%
vulnerability that if someone exploited
 

00:02:10.280 --> 00:02:12.430 align:start position:0%
vulnerability that if someone exploited
uh<00:02:10.479><c> it</c><00:02:10.640><c> could</c><00:02:10.879><c> have</c><00:02:11.120><c> basically</c><00:02:11.560><c> drained</c><00:02:12.319><c> the</c>

00:02:12.430 --> 00:02:12.440 align:start position:0%
uh it could have basically drained the
 

00:02:12.440 --> 00:02:14.630 align:start position:0%
uh it could have basically drained the
smart<00:02:12.760><c> contracts</c><00:02:13.280><c> of</c><00:02:13.520><c> that</c>

00:02:14.630 --> 00:02:14.640 align:start position:0%
smart contracts of that
 

00:02:14.640 --> 00:02:17.390 align:start position:0%
smart contracts of that
protocol<00:02:15.640><c> one</c><00:02:15.920><c> of</c><00:02:16.080><c> the</c><00:02:16.200><c> most</c><00:02:16.519><c> popular</c><00:02:17.000><c> zik</c>

00:02:17.390 --> 00:02:17.400 align:start position:0%
protocol one of the most popular zik
 

00:02:17.400 --> 00:02:19.990 align:start position:0%
protocol one of the most popular zik
rollups<00:02:18.280><c> had</c><00:02:18.480><c> the</c><00:02:18.640><c> major</c><00:02:19.000><c> vulnerability</c><00:02:19.840><c> that</c>

00:02:19.990 --> 00:02:20.000 align:start position:0%
rollups had the major vulnerability that
 

00:02:20.000 --> 00:02:22.710 align:start position:0%
rollups had the major vulnerability that
someone<00:02:20.599><c> could</c><00:02:20.920><c> again</c><00:02:21.640><c> potentially</c><00:02:22.480><c> could</c>

00:02:22.710 --> 00:02:22.720 align:start position:0%
someone could again potentially could
 

00:02:22.720 --> 00:02:25.509 align:start position:0%
someone could again potentially could
have<00:02:22.959><c> exploited</c><00:02:23.920><c> and</c><00:02:24.160><c> get</c><00:02:24.599><c> everything</c><00:02:25.160><c> out</c><00:02:25.360><c> of</c>

00:02:25.509 --> 00:02:25.519 align:start position:0%
have exploited and get everything out of
 

00:02:25.519 --> 00:02:28.670 align:start position:0%
have exploited and get everything out of
that<00:02:25.720><c> rollup</c><00:02:26.720><c> and</c><00:02:26.959><c> also</c><00:02:27.239><c> I</c><00:02:27.319><c> would</c><00:02:27.519><c> say</c><00:02:27.959><c> that</c><00:02:28.480><c> uh</c>

00:02:28.670 --> 00:02:28.680 align:start position:0%
that rollup and also I would say that uh
 

00:02:28.680 --> 00:02:31.509 align:start position:0%
that rollup and also I would say that uh
in<00:02:28.959><c> audits</c><00:02:29.400><c> in</c><00:02:29.560><c> z</c><00:02:30.040><c> protocols</c><00:02:31.000><c> even</c><00:02:31.239><c> in</c>

00:02:31.509 --> 00:02:31.519 align:start position:0%
in audits in z protocols even in
 

00:02:31.519 --> 00:02:33.430 align:start position:0%
in audits in z protocols even in
topnotch<00:02:32.120><c> protocols</c><00:02:32.680><c> if</c><00:02:32.800><c> you</c><00:02:32.959><c> compare</c><00:02:33.280><c> it</c>

00:02:33.430 --> 00:02:33.440 align:start position:0%
topnotch protocols if you compare it
 

00:02:33.440 --> 00:02:35.710 align:start position:0%
topnotch protocols if you compare it
with<00:02:33.720><c> top</c><00:02:34.000><c> notot</c><00:02:34.760><c> uh</c><00:02:34.879><c> smart</c><00:02:35.280><c> contract</c>

00:02:35.710 --> 00:02:35.720 align:start position:0%
with top notot uh smart contract
 

00:02:35.720 --> 00:02:37.869 align:start position:0%
with top notot uh smart contract
protocols<00:02:36.599><c> the</c><00:02:36.920><c> ratio</c><00:02:37.319><c> of</c><00:02:37.480><c> critical</c>

00:02:37.869 --> 00:02:37.879 align:start position:0%
protocols the ratio of critical
 

00:02:37.879 --> 00:02:40.589 align:start position:0%
protocols the ratio of critical
vulnerabilities<00:02:38.760><c> it's</c><00:02:38.959><c> even</c><00:02:39.280><c> higher</c><00:02:40.280><c> so</c>

00:02:40.589 --> 00:02:40.599 align:start position:0%
vulnerabilities it's even higher so
 

00:02:40.599 --> 00:02:43.710 align:start position:0%
vulnerabilities it's even higher so
there<00:02:40.720><c> are</c><00:02:41.120><c> many</c><00:02:41.360><c> vulnerabilities</c><00:02:42.720><c> and</c>

00:02:43.710 --> 00:02:43.720 align:start position:0%
there are many vulnerabilities and
 

00:02:43.720 --> 00:02:47.149 align:start position:0%
there are many vulnerabilities and
people<00:02:44.040><c> for</c><00:02:44.360><c> many</c><00:02:44.680><c> years</c><00:02:45.000><c> suggested</c><00:02:45.640><c> that</c><00:02:46.159><c> zps</c>

00:02:47.149 --> 00:02:47.159 align:start position:0%
people for many years suggested that zps
 

00:02:47.159 --> 00:02:50.710 align:start position:0%
people for many years suggested that zps
are<00:02:48.159><c> very</c><00:02:48.760><c> difficult</c><00:02:49.200><c> and</c><00:02:49.560><c> very</c><00:02:49.840><c> hard</c><00:02:50.200><c> and</c><00:02:50.440><c> not</c>

00:02:50.710 --> 00:02:50.720 align:start position:0%
are very difficult and very hard and not
 

00:02:50.720 --> 00:02:53.630 align:start position:0%
are very difficult and very hard and not
many<00:02:51.040><c> people</c><00:02:51.879><c> uh</c><00:02:52.120><c> actually</c><00:02:52.760><c> understand</c><00:02:53.000><c> them</c>

00:02:53.630 --> 00:02:53.640 align:start position:0%
many people uh actually understand them
 

00:02:53.640 --> 00:02:56.070 align:start position:0%
many people uh actually understand them
and<00:02:53.959><c> also</c><00:02:54.200><c> they</c><00:02:54.319><c> have</c><00:02:54.519><c> suggested</c><00:02:55.239><c> that</c><00:02:55.800><c> to</c>

00:02:56.070 --> 00:02:56.080 align:start position:0%
and also they have suggested that to
 

00:02:56.080 --> 00:02:58.949 align:start position:0%
and also they have suggested that to
exploit<00:02:56.920><c> a</c><00:02:57.120><c> ZK</c><00:02:57.560><c> protocol</c><00:02:58.040><c> it's</c><00:02:58.319><c> much</c><00:02:58.480><c> more</c>

00:02:58.949 --> 00:02:58.959 align:start position:0%
exploit a ZK protocol it's much more
 

00:02:58.959 --> 00:03:01.110 align:start position:0%
exploit a ZK protocol it's much more
difficult<00:02:59.120><c> to</c><00:02:59.319><c> exploit</c><00:02:59.920><c> for</c><00:03:00.080><c> example</c><00:03:00.440><c> is</c><00:03:00.599><c> smk</c>

00:03:01.110 --> 00:03:01.120 align:start position:0%
difficult to exploit for example is smk
 

00:03:01.120 --> 00:03:04.430 align:start position:0%
difficult to exploit for example is smk
contract<00:03:02.120><c> uh</c><00:03:02.640><c> vulnerability</c><00:03:03.640><c> I</c><00:03:03.720><c> would</c><00:03:03.920><c> say</c>

00:03:04.430 --> 00:03:04.440 align:start position:0%
contract uh vulnerability I would say
 

00:03:04.440 --> 00:03:07.350 align:start position:0%
contract uh vulnerability I would say
the<00:03:04.640><c> first</c><00:03:04.879><c> one</c><00:03:05.120><c> is</c><00:03:05.599><c> not</c><00:03:05.879><c> true</c><00:03:06.159><c> anymore</c><00:03:07.080><c> right</c>

00:03:07.350 --> 00:03:07.360 align:start position:0%
the first one is not true anymore right
 

00:03:07.360 --> 00:03:09.070 align:start position:0%
the first one is not true anymore right
because<00:03:07.879><c> if</c><00:03:08.000><c> you</c><00:03:08.120><c> see</c><00:03:08.480><c> the</c><00:03:08.640><c> number</c><00:03:08.879><c> of</c>

00:03:09.070 --> 00:03:09.080 align:start position:0%
because if you see the number of
 

00:03:09.080 --> 00:03:12.110 align:start position:0%
because if you see the number of
presentations<00:03:09.720><c> in</c><00:03:09.920><c> ZK</c><00:03:10.640><c> in</c><00:03:10.840><c> Devcon</c><00:03:11.319><c> this</c><00:03:11.519><c> year</c>

00:03:12.110 --> 00:03:12.120 align:start position:0%
presentations in ZK in Devcon this year
 

00:03:12.120 --> 00:03:14.550 align:start position:0%
presentations in ZK in Devcon this year
and<00:03:12.360><c> compared</c><00:03:12.840><c> with</c><00:03:13.239><c> three</c><00:03:13.480><c> years</c><00:03:13.760><c> ago</c><00:03:14.400><c> we</c>

00:03:14.550 --> 00:03:14.560 align:start position:0%
and compared with three years ago we
 

00:03:14.560 --> 00:03:18.509 align:start position:0%
and compared with three years ago we
have<00:03:14.799><c> an</c><00:03:15.000><c> exponential</c><00:03:15.799><c> increase</c><00:03:16.799><c> and</c><00:03:17.519><c> also</c>

00:03:18.509 --> 00:03:18.519 align:start position:0%
have an exponential increase and also
 

00:03:18.519 --> 00:03:20.750 align:start position:0%
have an exponential increase and also
although<00:03:18.840><c> it</c><00:03:18.959><c> might</c><00:03:19.200><c> be</c><00:03:19.360><c> true</c><00:03:19.720><c> that</c><00:03:19.920><c> some</c><00:03:20.200><c> ZK</c>

00:03:20.750 --> 00:03:20.760 align:start position:0%
although it might be true that some ZK
 

00:03:20.760 --> 00:03:23.910 align:start position:0%
although it might be true that some ZK
vulnerabilities<00:03:21.760><c> is</c><00:03:22.480><c> difficult</c><00:03:22.640><c> to</c><00:03:22.920><c> exploit</c>

00:03:23.910 --> 00:03:23.920 align:start position:0%
vulnerabilities is difficult to exploit
 

00:03:23.920 --> 00:03:26.309 align:start position:0%
vulnerabilities is difficult to exploit
I<00:03:24.000><c> would</c><00:03:24.200><c> say</c><00:03:24.560><c> that</c><00:03:25.000><c> some</c><00:03:25.200><c> of</c><00:03:25.319><c> them</c><00:03:25.519><c> are</c><00:03:25.920><c> pretty</c>

00:03:26.309 --> 00:03:26.319 align:start position:0%
I would say that some of them are pretty
 

00:03:26.319 --> 00:03:28.910 align:start position:0%
I would say that some of them are pretty
simple<00:03:26.920><c> and</c><00:03:27.080><c> for</c><00:03:27.280><c> example</c><00:03:27.680><c> here</c><00:03:27.879><c> we</c><00:03:28.040><c> have</c><00:03:28.680><c> a</c>

00:03:28.910 --> 00:03:28.920 align:start position:0%
simple and for example here we have a
 

00:03:28.920 --> 00:03:30.350 align:start position:0%
simple and for example here we have a
circum<00:03:29.360><c> circuit</c>

00:03:30.350 --> 00:03:30.360 align:start position:0%
circum circuit
 

00:03:30.360 --> 00:03:34.509 align:start position:0%
circum circuit
it's<00:03:30.840><c> uh</c><00:03:31.640><c> a</c><00:03:31.799><c> very</c><00:03:32.040><c> old</c><00:03:32.319><c> circuit</c><00:03:33.000><c> but</c><00:03:33.879><c> this</c>

00:03:34.509 --> 00:03:34.519 align:start position:0%
it's uh a very old circuit but this
 

00:03:34.519 --> 00:03:37.869 align:start position:0%
it's uh a very old circuit but this
anyone<00:03:35.000><c> who</c><00:03:35.239><c> has</c><00:03:35.799><c> written</c><00:03:36.519><c> a</c><00:03:36.799><c> circum</c><00:03:37.239><c> circuit</c>

00:03:37.869 --> 00:03:37.879 align:start position:0%
anyone who has written a circum circuit
 

00:03:37.879 --> 00:03:39.390 align:start position:0%
anyone who has written a circum circuit
could<00:03:38.159><c> probably</c><00:03:38.799><c> understand</c><00:03:39.000><c> what's</c><00:03:39.200><c> going</c>

00:03:39.390 --> 00:03:39.400 align:start position:0%
could probably understand what's going
 

00:03:39.400 --> 00:03:41.830 align:start position:0%
could probably understand what's going
on<00:03:39.680><c> here</c><00:03:40.280><c> and</c><00:03:40.480><c> still</c><00:03:40.840><c> there</c><00:03:40.959><c> are</c><00:03:41.439><c> such</c>

00:03:41.830 --> 00:03:41.840 align:start position:0%
on here and still there are such
 

00:03:41.840 --> 00:03:44.589 align:start position:0%
on here and still there are such
vulnerabilities<00:03:42.840><c> in</c><00:03:43.040><c> Z</c><00:03:43.519><c> protocols</c><00:03:44.040><c> that</c><00:03:44.480><c> I</c>

00:03:44.589 --> 00:03:44.599 align:start position:0%
vulnerabilities in Z protocols that I
 

00:03:44.599 --> 00:03:47.030 align:start position:0%
vulnerabilities in Z protocols that I
think<00:03:44.760><c> are</c><00:03:45.120><c> pretty</c><00:03:45.439><c> easy</c><00:03:45.760><c> to</c><00:03:45.920><c> exploit</c><00:03:46.799><c> so</c>

00:03:47.030 --> 00:03:47.040 align:start position:0%
think are pretty easy to exploit so
 

00:03:47.040 --> 00:03:49.470 align:start position:0%
think are pretty easy to exploit so
there<00:03:47.159><c> is</c><00:03:47.280><c> a</c><00:03:47.480><c> huge</c><00:03:47.840><c> risk</c><00:03:48.720><c> uh</c><00:03:48.959><c> if</c><00:03:49.159><c> there</c><00:03:49.280><c> are</c>

00:03:49.470 --> 00:03:49.480 align:start position:0%
there is a huge risk uh if there are
 

00:03:49.480 --> 00:03:51.030 align:start position:0%
there is a huge risk uh if there are
still<00:03:49.720><c> vulnerabilities</c><00:03:50.400><c> in</c><00:03:50.560><c> deployed</c>

00:03:51.030 --> 00:03:51.040 align:start position:0%
still vulnerabilities in deployed
 

00:03:51.040 --> 00:03:52.990 align:start position:0%
still vulnerabilities in deployed
protocols<00:03:51.599><c> to</c><00:03:51.760><c> be</c><00:03:51.920><c> able</c><00:03:52.120><c> to</c><00:03:52.239><c> exploit</c><00:03:52.640><c> them</c><00:03:52.840><c> at</c>

00:03:52.990 --> 00:03:53.000 align:start position:0%
protocols to be able to exploit them at
 

00:03:53.000 --> 00:03:53.789 align:start position:0%
protocols to be able to exploit them at
some

00:03:53.789 --> 00:03:53.799 align:start position:0%
some
 

00:03:53.799 --> 00:03:58.309 align:start position:0%
some
point<00:03:54.799><c> okay</c><00:03:55.159><c> so</c><00:03:56.159><c> uh</c><00:03:56.400><c> let's</c><00:03:56.680><c> start</c><00:03:57.040><c> with</c><00:03:57.519><c> uh</c>

00:03:58.309 --> 00:03:58.319 align:start position:0%
point okay so uh let's start with uh
 

00:03:58.319 --> 00:04:01.229 align:start position:0%
point okay so uh let's start with uh
explaining<00:03:59.239><c> what</c><00:03:59.400><c> are</c><00:03:59.879><c> the</c><00:04:00.120><c> properties</c><00:04:00.799><c> of</c><00:04:01.000><c> a</c>

00:04:01.229 --> 00:04:01.239 align:start position:0%
explaining what are the properties of a
 

00:04:01.239 --> 00:04:03.670 align:start position:0%
explaining what are the properties of a
ZK<00:04:01.720><c> protocol</c><00:04:02.239><c> right</c><00:04:02.439><c> we</c><00:04:02.640><c> have</c><00:04:03.200><c> knowledge</c>

00:04:03.670 --> 00:04:03.680 align:start position:0%
ZK protocol right we have knowledge
 

00:04:03.680 --> 00:04:06.750 align:start position:0%
ZK protocol right we have knowledge
sness<00:04:04.480><c> which</c><00:04:04.959><c> M</c><00:04:05.239><c> basically</c><00:04:05.680><c> means</c><00:04:06.079><c> that</c><00:04:06.560><c> a</c>

00:04:06.750 --> 00:04:06.760 align:start position:0%
sness which M basically means that a
 

00:04:06.760 --> 00:04:09.710 align:start position:0%
sness which M basically means that a
dishonest<00:04:07.280><c> Trover</c><00:04:08.159><c> cannot</c><00:04:08.680><c> convince</c><00:04:09.519><c> a</c>

00:04:09.710 --> 00:04:09.720 align:start position:0%
dishonest Trover cannot convince a
 

00:04:09.720 --> 00:04:12.630 align:start position:0%
dishonest Trover cannot convince a
verifier<00:04:10.720><c> of</c><00:04:10.879><c> an</c><00:04:11.040><c> invalid</c><00:04:11.519><c> statement</c><00:04:12.239><c> except</c>

00:04:12.630 --> 00:04:12.640 align:start position:0%
verifier of an invalid statement except
 

00:04:12.640 --> 00:04:15.270 align:start position:0%
verifier of an invalid statement except
with<00:04:12.799><c> a</c><00:04:13.000><c> negligible</c><00:04:13.640><c> probability</c><00:04:14.599><c> we</c><00:04:14.799><c> have</c>

00:04:15.270 --> 00:04:15.280 align:start position:0%
with a negligible probability we have
 

00:04:15.280 --> 00:04:17.629 align:start position:0%
with a negligible probability we have
perfect<00:04:15.760><c> completeness</c><00:04:16.479><c> which</c><00:04:16.639><c> means</c><00:04:17.040><c> that</c><00:04:17.479><c> if</c>

00:04:17.629 --> 00:04:17.639 align:start position:0%
perfect completeness which means that if
 

00:04:17.639 --> 00:04:20.310 align:start position:0%
perfect completeness which means that if
you<00:04:17.840><c> have</c><00:04:18.120><c> a</c><00:04:18.280><c> valid</c><00:04:18.639><c> statement</c><00:04:19.560><c> an</c><00:04:19.880><c> approver</c>

00:04:20.310 --> 00:04:20.320 align:start position:0%
you have a valid statement an approver
 

00:04:20.320 --> 00:04:23.469 align:start position:0%
you have a valid statement an approver
will<00:04:20.680><c> always</c><00:04:21.040><c> be</c><00:04:21.239><c> able</c><00:04:21.479><c> to</c><00:04:21.800><c> convince</c><00:04:22.800><c> H</c><00:04:23.280><c> an</c>

00:04:23.469 --> 00:04:23.479 align:start position:0%
will always be able to convince H an
 

00:04:23.479 --> 00:04:25.550 align:start position:0%
will always be able to convince H an
honest<00:04:23.919><c> verifier</c><00:04:24.680><c> of</c><00:04:24.800><c> the</c><00:04:24.960><c> correctness</c><00:04:25.400><c> of</c>

00:04:25.550 --> 00:04:25.560 align:start position:0%
honest verifier of the correctness of
 

00:04:25.560 --> 00:04:27.710 align:start position:0%
honest verifier of the correctness of
that<00:04:25.759><c> statement</c><00:04:26.600><c> and</c><00:04:26.800><c> also</c><00:04:27.080><c> we</c><00:04:27.240><c> have</c><00:04:27.400><c> zero</c>

00:04:27.710 --> 00:04:27.720 align:start position:0%
that statement and also we have zero
 

00:04:27.720 --> 00:04:29.469 align:start position:0%
that statement and also we have zero
knowledge<00:04:28.240><c> which</c><00:04:28.400><c> means</c><00:04:28.720><c> that</c><00:04:29.000><c> the</c><00:04:29.160><c> proof</c>

00:04:29.469 --> 00:04:29.479 align:start position:0%
knowledge which means that the proof
 

00:04:29.479 --> 00:04:30.550 align:start position:0%
knowledge which means that the proof
pass

00:04:30.550 --> 00:04:30.560 align:start position:0%
pass
 

00:04:30.560 --> 00:04:32.070 align:start position:0%
pass
that<00:04:30.720><c> we</c><00:04:30.919><c> produce</c><00:04:31.280><c> with</c><00:04:31.400><c> a</c><00:04:31.479><c> zero</c><00:04:31.759><c> knowledge</c>

00:04:32.070 --> 00:04:32.080 align:start position:0%
that we produce with a zero knowledge
 

00:04:32.080 --> 00:04:35.150 align:start position:0%
that we produce with a zero knowledge
proof<00:04:32.680><c> does</c><00:04:32.880><c> not</c><00:04:33.120><c> reveal</c><00:04:33.720><c> anything</c><00:04:34.400><c> about</c><00:04:35.000><c> the</c>

00:04:35.150 --> 00:04:35.160 align:start position:0%
proof does not reveal anything about the
 

00:04:35.160 --> 00:04:38.950 align:start position:0%
proof does not reveal anything about the
weakness<00:04:35.560><c> we</c><00:04:35.680><c> are</c><00:04:36.520><c> uh</c>

00:04:38.950 --> 00:04:38.960 align:start position:0%
 
 

00:04:38.960 --> 00:04:42.590 align:start position:0%
 
proving<00:04:39.960><c> so</c><00:04:40.520><c> what</c><00:04:40.680><c> is</c><00:04:40.840><c> our</c><00:04:41.160><c> thread</c><00:04:41.600><c> model</c><00:04:42.160><c> in</c>

00:04:42.590 --> 00:04:42.600 align:start position:0%
proving so what is our thread model in
 

00:04:42.600 --> 00:04:46.310 align:start position:0%
proving so what is our thread model in
uh<00:04:43.160><c> uh</c><00:04:43.479><c> ZK</c><00:04:44.479><c> uh</c><00:04:44.639><c> word</c><00:04:45.160><c> right</c><00:04:45.400><c> we</c><00:04:45.560><c> have</c><00:04:46.000><c> three</c>

00:04:46.310 --> 00:04:46.320 align:start position:0%
uh uh ZK uh word right we have three
 

00:04:46.320 --> 00:04:47.950 align:start position:0%
uh uh ZK uh word right we have three
adversaries<00:04:47.080><c> we</c><00:04:47.199><c> have</c><00:04:47.360><c> the</c><00:04:47.520><c> network</c>

00:04:47.950 --> 00:04:47.960 align:start position:0%
adversaries we have the network
 

00:04:47.960 --> 00:04:50.909 align:start position:0%
adversaries we have the network
adversary<00:04:48.960><c> who</c><00:04:49.240><c> observe</c><00:04:49.680><c> the</c><00:04:49.880><c> system</c><00:04:50.360><c> and</c><00:04:50.639><c> its</c>

00:04:50.909 --> 00:04:50.919 align:start position:0%
adversary who observe the system and its
 

00:04:50.919 --> 00:04:53.029 align:start position:0%
adversary who observe the system and its
public<00:04:51.240><c> values</c><00:04:51.720><c> but</c><00:04:52.039><c> cannot</c><00:04:52.440><c> interact</c><00:04:52.919><c> with</c>

00:04:53.029 --> 00:04:53.039 align:start position:0%
public values but cannot interact with
 

00:04:53.039 --> 00:04:56.790 align:start position:0%
public values but cannot interact with
the<00:04:53.240><c> system</c><00:04:54.160><c> we</c><00:04:54.360><c> have</c><00:04:54.720><c> the</c><00:04:54.880><c> adversarial</c><00:04:55.800><c> user</c>

00:04:56.790 --> 00:04:56.800 align:start position:0%
the system we have the adversarial user
 

00:04:56.800 --> 00:05:00.230 align:start position:0%
the system we have the adversarial user
which<00:04:57.400><c> basically</c><00:04:58.400><c> is</c><00:04:58.639><c> able</c><00:04:58.960><c> to</c><00:04:59.160><c> submit</c><00:04:59.720><c> some</c>

00:05:00.230 --> 00:05:00.240 align:start position:0%
which basically is able to submit some
 

00:05:00.240 --> 00:05:03.350 align:start position:0%
which basically is able to submit some
inputs<00:05:00.800><c> for</c><00:05:01.120><c> proof</c><00:05:01.479><c> generation</c><00:05:02.320><c> in</c><00:05:02.479><c> a</c><00:05:02.720><c> nonest</c>

00:05:03.350 --> 00:05:03.360 align:start position:0%
inputs for proof generation in a nonest
 

00:05:03.360 --> 00:05:06.790 align:start position:0%
inputs for proof generation in a nonest
and<00:05:03.479><c> non</c><00:05:03.759><c> malicious</c><00:05:04.759><c> prover</c><00:05:05.759><c> and</c><00:05:06.280><c> finally</c><00:05:06.680><c> we</c>

00:05:06.790 --> 00:05:06.800 align:start position:0%
and non malicious prover and finally we
 

00:05:06.800 --> 00:05:08.950 align:start position:0%
and non malicious prover and finally we
have<00:05:07.000><c> the</c><00:05:07.120><c> adversary</c><00:05:07.720><c> approver</c><00:05:08.199><c> which</c><00:05:08.360><c> is</c><00:05:08.759><c> the</c>

00:05:08.950 --> 00:05:08.960 align:start position:0%
have the adversary approver which is the
 

00:05:08.960 --> 00:05:12.390 align:start position:0%
have the adversary approver which is the
most<00:05:09.320><c> common</c><00:05:10.120><c> uh</c><00:05:10.240><c> thread</c><00:05:10.560><c> model</c><00:05:11.400><c> and</c><00:05:11.919><c> it's</c><00:05:12.120><c> our</c>

00:05:12.390 --> 00:05:12.400 align:start position:0%
most common uh thread model and it's our
 

00:05:12.400 --> 00:05:14.390 align:start position:0%
most common uh thread model and it's our
thread<00:05:12.759><c> model</c><00:05:13.120><c> when</c><00:05:13.280><c> we</c><00:05:13.479><c> actually</c><00:05:13.880><c> need</c><00:05:14.240><c> the</c>

00:05:14.390 --> 00:05:14.400 align:start position:0%
thread model when we actually need the
 

00:05:14.400 --> 00:05:17.390 align:start position:0%
thread model when we actually need the
ZK<00:05:14.840><c> property</c><00:05:15.840><c> right</c><00:05:16.280><c> but</c><00:05:16.479><c> I</c><00:05:16.600><c> would</c><00:05:16.800><c> argue</c><00:05:17.160><c> that</c>

00:05:17.390 --> 00:05:17.400 align:start position:0%
ZK property right but I would argue that
 

00:05:17.400 --> 00:05:19.350 align:start position:0%
ZK property right but I would argue that
even<00:05:17.600><c> if</c><00:05:17.759><c> we</c><00:05:18.120><c> don't</c><00:05:18.360><c> need</c><00:05:18.560><c> it</c><00:05:18.840><c> if</c><00:05:18.919><c> we</c><00:05:19.080><c> want</c><00:05:19.199><c> to</c>

00:05:19.350 --> 00:05:19.360 align:start position:0%
even if we don't need it if we want to
 

00:05:19.360 --> 00:05:22.710 align:start position:0%
even if we don't need it if we want to
have<00:05:19.520><c> a</c><00:05:19.680><c> fully</c><00:05:20.080><c> permissionless</c><00:05:20.919><c> system</c><00:05:21.759><c> then</c>

00:05:22.710 --> 00:05:22.720 align:start position:0%
have a fully permissionless system then
 

00:05:22.720 --> 00:05:25.230 align:start position:0%
have a fully permissionless system then
that's<00:05:22.880><c> the</c><00:05:23.039><c> addresser</c><00:05:23.600><c> we</c><00:05:23.840><c> have</c><00:05:24.639><c> and</c><00:05:24.960><c> has</c><00:05:25.120><c> the</c>

00:05:25.230 --> 00:05:25.240 align:start position:0%
that's the addresser we have and has the
 

00:05:25.240 --> 00:05:27.110 align:start position:0%
that's the addresser we have and has the
ability<00:05:25.560><c> to</c><00:05:25.720><c> produce</c><00:05:26.080><c> proofs</c><00:05:26.560><c> and</c><00:05:26.800><c> has</c><00:05:26.960><c> the</c>

00:05:27.110 --> 00:05:27.120 align:start position:0%
ability to produce proofs and has the
 

00:05:27.120 --> 00:05:29.029 align:start position:0%
ability to produce proofs and has the
ability<00:05:27.440><c> basically</c><00:05:27.800><c> to</c><00:05:27.960><c> do</c><00:05:28.479><c> everything</c><00:05:28.880><c> to</c>

00:05:29.029 --> 00:05:29.039 align:start position:0%
ability basically to do everything to
 

00:05:29.039 --> 00:05:30.830 align:start position:0%
ability basically to do everything to
try<00:05:29.240><c> to</c><00:05:29.400><c> trick</c><00:05:29.759><c> the</c>

00:05:30.830 --> 00:05:30.840 align:start position:0%
try to trick the
 

00:05:30.840 --> 00:05:33.270 align:start position:0%
try to trick the
verifier<00:05:31.840><c> uh</c><00:05:31.919><c> to</c><00:05:32.080><c> give</c><00:05:32.199><c> you</c><00:05:32.319><c> an</c><00:05:32.520><c> example</c><00:05:33.039><c> of</c>

00:05:33.270 --> 00:05:33.280 align:start position:0%
verifier uh to give you an example of
 

00:05:33.280 --> 00:05:34.870 align:start position:0%
verifier uh to give you an example of
what<00:05:33.440><c> I</c><00:05:33.520><c> mean</c><00:05:33.759><c> with</c><00:05:33.880><c> the</c><00:05:34.039><c> second</c><00:05:34.400><c> category</c>

00:05:34.870 --> 00:05:34.880 align:start position:0%
what I mean with the second category
 

00:05:34.880 --> 00:05:36.749 align:start position:0%
what I mean with the second category
because<00:05:35.080><c> it</c><00:05:35.240><c> might</c><00:05:35.400><c> be</c><00:05:35.520><c> a</c><00:05:35.639><c> bit</c><00:05:35.880><c> confusing</c>

00:05:36.749 --> 00:05:36.759 align:start position:0%
because it might be a bit confusing
 

00:05:36.759 --> 00:05:39.230 align:start position:0%
because it might be a bit confusing
consider<00:05:37.160><c> ZK</c><00:05:37.520><c> rollups</c><00:05:38.080><c> at</c><00:05:38.240><c> the</c><00:05:38.400><c> moment</c><00:05:38.880><c> right</c>

00:05:39.230 --> 00:05:39.240 align:start position:0%
consider ZK rollups at the moment right
 

00:05:39.240 --> 00:05:42.309 align:start position:0%
consider ZK rollups at the moment right
where<00:05:39.479><c> we</c><00:05:39.759><c> have</c><00:05:40.319><c> a</c><00:05:40.520><c> single</c><00:05:41.080><c> centralized</c>

00:05:42.309 --> 00:05:42.319 align:start position:0%
where we have a single centralized
 

00:05:42.319 --> 00:05:45.870 align:start position:0%
where we have a single centralized
trusted<00:05:43.319><c> um</c><00:05:43.759><c> L2</c><00:05:44.280><c> node</c><00:05:44.960><c> that</c><00:05:45.120><c> is</c><00:05:45.319><c> both</c><00:05:45.680><c> the</c>

00:05:45.870 --> 00:05:45.880 align:start position:0%
trusted um L2 node that is both the
 

00:05:45.880 --> 00:05:49.150 align:start position:0%
trusted um L2 node that is both the
sequencer<00:05:46.880><c> and</c><00:05:47.319><c> the</c><00:05:47.479><c> prover</c><00:05:48.199><c> so</c><00:05:48.479><c> users</c><00:05:48.960><c> can</c>

00:05:49.150 --> 00:05:49.160 align:start position:0%
sequencer and the prover so users can
 

00:05:49.160 --> 00:05:51.670 align:start position:0%
sequencer and the prover so users can
only<00:05:49.479><c> submit</c><00:05:49.880><c> the</c><00:05:50.080><c> transactions</c><00:05:50.759><c> there</c><00:05:51.440><c> and</c>

00:05:51.670 --> 00:05:51.680 align:start position:0%
only submit the transactions there and
 

00:05:51.680 --> 00:05:54.070 align:start position:0%
only submit the transactions there and
then<00:05:52.199><c> that</c><00:05:52.639><c> centralized</c><00:05:53.280><c> node</c><00:05:53.520><c> will</c><00:05:53.800><c> produce</c>

00:05:54.070 --> 00:05:54.080 align:start position:0%
then that centralized node will produce
 

00:05:54.080 --> 00:05:56.550 align:start position:0%
then that centralized node will produce
a<00:05:54.280><c> proof</c><00:05:54.840><c> so</c><00:05:55.319><c> in</c><00:05:55.520><c> that</c><00:05:55.720><c> case</c><00:05:56.000><c> we</c><00:05:56.160><c> have</c><00:05:56.400><c> an</c>

00:05:56.550 --> 00:05:56.560 align:start position:0%
a proof so in that case we have an
 

00:05:56.560 --> 00:05:58.469 align:start position:0%
a proof so in that case we have an
adversarial<00:05:57.199><c> user</c>

00:05:58.469 --> 00:05:58.479 align:start position:0%
adversarial user
 

00:05:58.479 --> 00:06:01.990 align:start position:0%
adversarial user
basically<00:05:59.479><c> and</c><00:05:59.840><c> and</c><00:06:00.840><c> what</c><00:06:01.000><c> can</c><00:06:01.160><c> be</c><00:06:01.400><c> the</c><00:06:01.600><c> impact</c>

00:06:01.990 --> 00:06:02.000 align:start position:0%
basically and and what can be the impact
 

00:06:02.000 --> 00:06:05.230 align:start position:0%
basically and and what can be the impact
of<00:06:02.199><c> a</c><00:06:02.720><c> vulnerabilities</c><00:06:03.720><c> so</c><00:06:04.360><c> we</c><00:06:04.520><c> might</c><00:06:04.800><c> be</c><00:06:05.000><c> able</c>

00:06:05.230 --> 00:06:05.240 align:start position:0%
of a vulnerabilities so we might be able
 

00:06:05.240 --> 00:06:07.710 align:start position:0%
of a vulnerabilities so we might be able
to<00:06:05.440><c> try</c><00:06:05.960><c> to</c><00:06:06.160><c> break</c><00:06:06.479><c> soundness</c><00:06:07.160><c> which</c><00:06:07.280><c> means</c>

00:06:07.710 --> 00:06:07.720 align:start position:0%
to try to break soundness which means
 

00:06:07.720 --> 00:06:10.670 align:start position:0%
to try to break soundness which means
that<00:06:08.199><c> aover</c><00:06:09.199><c> can</c><00:06:09.440><c> convince</c><00:06:09.840><c> a</c><00:06:10.000><c> verifier</c><00:06:10.440><c> of</c><00:06:10.560><c> a</c>

00:06:10.670 --> 00:06:10.680 align:start position:0%
that aover can convince a verifier of a
 

00:06:10.680 --> 00:06:13.469 align:start position:0%
that aover can convince a verifier of a
false<00:06:11.000><c> statement</c><00:06:11.919><c> and</c><00:06:12.400><c> that</c><00:06:12.560><c> could</c><00:06:12.800><c> result</c><00:06:13.199><c> in</c>

00:06:13.469 --> 00:06:13.479 align:start position:0%
false statement and that could result in
 

00:06:13.479 --> 00:06:15.589 align:start position:0%
false statement and that could result in
basically<00:06:13.919><c> for</c><00:06:14.080><c> example</c><00:06:14.360><c> in</c><00:06:14.479><c> Zig</c><00:06:14.800><c> rollup</c><00:06:15.319><c> to</c>

00:06:15.589 --> 00:06:15.599 align:start position:0%
basically for example in Zig rollup to
 

00:06:15.599 --> 00:06:18.629 align:start position:0%
basically for example in Zig rollup to
get<00:06:15.919><c> all</c><00:06:16.120><c> the</c><00:06:16.240><c> funds</c><00:06:16.680><c> out</c><00:06:16.880><c> of</c><00:06:17.039><c> it</c><00:06:17.720><c> we</c><00:06:17.880><c> can</c><00:06:18.199><c> break</c>

00:06:18.629 --> 00:06:18.639 align:start position:0%
get all the funds out of it we can break
 

00:06:18.639 --> 00:06:21.710 align:start position:0%
get all the funds out of it we can break
completeness<00:06:19.520><c> which</c><00:06:19.680><c> means</c><00:06:20.120><c> that</c><00:06:20.440><c> a</c><00:06:20.720><c> verifier</c>

00:06:21.710 --> 00:06:21.720 align:start position:0%
completeness which means that a verifier
 

00:06:21.720 --> 00:06:24.710 align:start position:0%
completeness which means that a verifier
cannot<00:06:22.520><c> verify</c><00:06:23.080><c> proofs</c><00:06:23.800><c> or</c><00:06:24.120><c> basically</c><00:06:24.520><c> that</c>

00:06:24.710 --> 00:06:24.720 align:start position:0%
cannot verify proofs or basically that
 

00:06:24.720 --> 00:06:27.629 align:start position:0%
cannot verify proofs or basically that
reprover<00:06:25.319><c> might</c><00:06:25.639><c> generate</c><00:06:26.199><c> invalid</c><00:06:26.720><c> proofs</c>

00:06:27.629 --> 00:06:27.639 align:start position:0%
reprover might generate invalid proofs
 

00:06:27.639 --> 00:06:30.270 align:start position:0%
reprover might generate invalid proofs
right<00:06:28.319><c> and</c><00:06:29.080><c> for</c><00:06:29.280><c> example</c><00:06:29.759><c> such</c><00:06:29.880><c> a</c>

00:06:30.270 --> 00:06:30.280 align:start position:0%
right and for example such a
 

00:06:30.280 --> 00:06:34.150 align:start position:0%
right and for example such a
vulnerability<00:06:31.280><c> uh</c><00:06:31.560><c> could</c><00:06:32.599><c> basically</c><00:06:33.599><c> have</c><00:06:33.759><c> a</c>

00:06:34.150 --> 00:06:34.160 align:start position:0%
vulnerability uh could basically have a
 

00:06:34.160 --> 00:06:37.870 align:start position:0%
vulnerability uh could basically have a
high<00:06:34.440><c> impact</c><00:06:34.960><c> in</c><00:06:35.560><c> the</c><00:06:35.759><c> liveness</c><00:06:36.400><c> of</c><00:06:36.560><c> Zur</c><00:06:36.960><c> olabs</c>

00:06:37.870 --> 00:06:37.880 align:start position:0%
high impact in the liveness of Zur olabs
 

00:06:37.880 --> 00:06:40.070 align:start position:0%
high impact in the liveness of Zur olabs
and<00:06:38.400><c> we</c><00:06:38.599><c> might</c><00:06:38.840><c> also</c><00:06:39.039><c> break</c><00:06:39.360><c> zero</c><00:06:39.639><c> knowledge</c>

00:06:40.070 --> 00:06:40.080 align:start position:0%
and we might also break zero knowledge
 

00:06:40.080 --> 00:06:43.350 align:start position:0%
and we might also break zero knowledge
which<00:06:40.240><c> means</c><00:06:40.560><c> we</c><00:06:40.759><c> have</c><00:06:40.960><c> some</c><00:06:41.479><c> information</c>

00:06:43.350 --> 00:06:43.360 align:start position:0%
which means we have some information
 

00:06:43.360 --> 00:06:46.469 align:start position:0%
which means we have some information
leakage<00:06:44.360><c> um</c><00:06:44.840><c> okay</c><00:06:45.160><c> so</c><00:06:45.440><c> what</c><00:06:45.639><c> we</c><00:06:45.800><c> did</c><00:06:46.120><c> is</c><00:06:46.280><c> we</c>

00:06:46.469 --> 00:06:46.479 align:start position:0%
leakage um okay so what we did is we
 

00:06:46.479 --> 00:06:50.070 align:start position:0%
leakage um okay so what we did is we
analyzed<00:06:47.560><c> 141</c><00:06:48.560><c> uh</c><00:06:48.800><c> bugs</c><00:06:49.120><c> and</c><00:06:49.280><c> vulnerabilities</c>

00:06:50.070 --> 00:06:50.080 align:start position:0%
analyzed 141 uh bugs and vulnerabilities
 

00:06:50.080 --> 00:06:52.629 align:start position:0%
analyzed 141 uh bugs and vulnerabilities
from<00:06:50.319><c> audit</c><00:06:50.759><c> reports</c><00:06:51.639><c> for</c><00:06:52.120><c> from</c>

00:06:52.629 --> 00:06:52.639 align:start position:0%
from audit reports for from
 

00:06:52.639 --> 00:06:54.909 align:start position:0%
from audit reports for from
vulnerability<00:06:53.319><c> disclosures</c><00:06:54.080><c> and</c><00:06:54.280><c> from</c><00:06:54.639><c> backt</c>

00:06:54.909 --> 00:06:54.919 align:start position:0%
vulnerability disclosures and from backt
 

00:06:54.919 --> 00:06:57.990 align:start position:0%
vulnerability disclosures and from backt
trackers<00:06:55.879><c> and</c><00:06:56.240><c> our</c><00:06:56.599><c> goal</c><00:06:56.960><c> was</c><00:06:57.160><c> to</c><00:06:57.440><c> split</c><00:06:57.759><c> those</c>

00:06:57.990 --> 00:06:58.000 align:start position:0%
trackers and our goal was to split those
 

00:06:58.000 --> 00:07:01.430 align:start position:0%
trackers and our goal was to split those
vulnerabilities<00:06:59.000><c> in</c><00:06:59.599><c> layers</c><00:07:00.360><c> and</c><00:07:00.960><c> understand</c>

00:07:01.430 --> 00:07:01.440 align:start position:0%
vulnerabilities in layers and understand
 

00:07:01.440 --> 00:07:03.950 align:start position:0%
vulnerabilities in layers and understand
what<00:07:01.599><c> can</c><00:07:01.840><c> go</c><00:07:02.039><c> wrong</c><00:07:02.360><c> in</c><00:07:02.520><c> each</c><00:07:02.759><c> layer</c><00:07:03.440><c> and</c><00:07:03.720><c> also</c>

00:07:03.950 --> 00:07:03.960 align:start position:0%
what can go wrong in each layer and also
 

00:07:03.960 --> 00:07:06.550 align:start position:0%
what can go wrong in each layer and also
create<00:07:04.319><c> a</c><00:07:04.520><c> taxonomy</c><00:07:05.160><c> of</c>

00:07:06.550 --> 00:07:06.560 align:start position:0%
create a taxonomy of
 

00:07:06.560 --> 00:07:09.510 align:start position:0%
create a taxonomy of
vulnerabilities<00:07:07.560><c> so</c><00:07:08.319><c> let's</c><00:07:08.560><c> start</c><00:07:08.919><c> with</c><00:07:09.319><c> that</c>

00:07:09.510 --> 00:07:09.520 align:start position:0%
vulnerabilities so let's start with that
 

00:07:09.520 --> 00:07:12.909 align:start position:0%
vulnerabilities so let's start with that
figure<00:07:10.120><c> so</c><00:07:10.319><c> in</c><00:07:10.479><c> the</c><00:07:10.759><c> real</c><00:07:11.120><c> work</c><00:07:11.520><c> non</c><00:07:11.840><c> snar</c><00:07:12.240><c> work</c>

00:07:12.909 --> 00:07:12.919 align:start position:0%
figure so in the real work non snar work
 

00:07:12.919 --> 00:07:15.550 align:start position:0%
figure so in the real work non snar work
we'll<00:07:13.280><c> have</c><00:07:13.599><c> a</c><00:07:13.759><c> relation</c><00:07:14.440><c> a</c><00:07:14.599><c> specification</c>

00:07:15.550 --> 00:07:15.560 align:start position:0%
we'll have a relation a specification
 

00:07:15.560 --> 00:07:17.430 align:start position:0%
we'll have a relation a specification
some<00:07:15.840><c> idea</c><00:07:16.400><c> that</c><00:07:16.560><c> we</c><00:07:16.680><c> want</c><00:07:16.879><c> to</c><00:07:17.120><c> actually</c>

00:07:17.430 --> 00:07:17.440 align:start position:0%
some idea that we want to actually
 

00:07:17.440 --> 00:07:20.790 align:start position:0%
some idea that we want to actually
create<00:07:18.120><c> a</c><00:07:18.360><c> zkp</c><00:07:19.080><c> about</c><00:07:19.400><c> it</c><00:07:20.039><c> and</c><00:07:20.240><c> we</c><00:07:20.360><c> might</c><00:07:20.639><c> have</c>

00:07:20.790 --> 00:07:20.800 align:start position:0%
create a zkp about it and we might have
 

00:07:20.800 --> 00:07:23.309 align:start position:0%
create a zkp about it and we might have
some<00:07:21.160><c> public</c><00:07:21.479><c> and</c><00:07:21.720><c> private</c><00:07:22.080><c> inputs</c><00:07:22.960><c> so</c><00:07:23.199><c> the</c>

00:07:23.309 --> 00:07:23.319 align:start position:0%
some public and private inputs so the
 

00:07:23.319 --> 00:07:27.309 align:start position:0%
some public and private inputs so the
first<00:07:24.039><c> uh</c><00:07:24.240><c> step</c><00:07:24.599><c> is</c><00:07:24.720><c> to</c><00:07:25.000><c> manually</c><00:07:26.080><c> encode</c><00:07:27.080><c> that</c>

00:07:27.309 --> 00:07:27.319 align:start position:0%
first uh step is to manually encode that
 

00:07:27.319 --> 00:07:30.629 align:start position:0%
first uh step is to manually encode that
specification<00:07:28.080><c> that</c><00:07:28.319><c> idea</c><00:07:29.080><c> in</c><00:07:29.680><c> a</c><00:07:29.800><c> circuit</c><00:07:30.400><c> and</c>

00:07:30.629 --> 00:07:30.639 align:start position:0%
specification that idea in a circuit and
 

00:07:30.639 --> 00:07:33.790 align:start position:0%
specification that idea in a circuit and
get<00:07:30.840><c> the</c><00:07:30.960><c> circuit</c><00:07:31.479><c> implementation</c><00:07:32.479><c> so</c><00:07:33.400><c> we</c>

00:07:33.790 --> 00:07:33.800 align:start position:0%
get the circuit implementation so we
 

00:07:33.800 --> 00:07:36.670 align:start position:0%
get the circuit implementation so we
figure<00:07:34.160><c> out</c><00:07:34.440><c> that</c><00:07:34.680><c> in</c><00:07:34.879><c> that</c><00:07:35.199><c> level</c><00:07:35.919><c> it's</c><00:07:36.360><c> where</c>

00:07:36.670 --> 00:07:36.680 align:start position:0%
figure out that in that level it's where
 

00:07:36.680 --> 00:07:39.230 align:start position:0%
figure out that in that level it's where
most<00:07:36.919><c> of</c><00:07:37.039><c> the</c><00:07:37.240><c> level</c><00:07:37.639><c> vulnerabilities</c><00:07:38.440><c> happen</c>

00:07:39.230 --> 00:07:39.240 align:start position:0%
most of the level vulnerabilities happen
 

00:07:39.240 --> 00:07:42.070 align:start position:0%
most of the level vulnerabilities happen
and<00:07:39.639><c> the</c><00:07:39.840><c> main</c><00:07:40.240><c> reason</c><00:07:40.599><c> in</c><00:07:40.759><c> our</c><00:07:41.400><c> understanding</c>

00:07:42.070 --> 00:07:42.080 align:start position:0%
and the main reason in our understanding
 

00:07:42.080 --> 00:07:44.070 align:start position:0%
and the main reason in our understanding
is<00:07:42.319><c> because</c><00:07:42.560><c> it's</c><00:07:42.800><c> confusing</c><00:07:43.400><c> for</c><00:07:43.800><c> most</c>

00:07:44.070 --> 00:07:44.080 align:start position:0%
is because it's confusing for most
 

00:07:44.080 --> 00:07:45.990 align:start position:0%
is because it's confusing for most
developers<00:07:44.800><c> to</c><00:07:45.000><c> write</c><00:07:45.240><c> circuits</c><00:07:45.800><c> because</c>

00:07:45.990 --> 00:07:46.000 align:start position:0%
developers to write circuits because
 

00:07:46.000 --> 00:07:48.070 align:start position:0%
developers to write circuits because
they<00:07:46.159><c> have</c><00:07:46.319><c> to</c><00:07:46.599><c> be</c><00:07:46.840><c> to</c><00:07:47.039><c> think</c><00:07:47.400><c> both</c><00:07:47.759><c> about</c>

00:07:48.070 --> 00:07:48.080 align:start position:0%
they have to be to think both about
 

00:07:48.080 --> 00:07:50.670 align:start position:0%
they have to be to think both about
computation<00:07:49.080><c> and</c><00:07:49.280><c> also</c><00:07:49.599><c> about</c><00:07:49.800><c> constraints</c>

00:07:50.670 --> 00:07:50.680 align:start position:0%
computation and also about constraints
 

00:07:50.680 --> 00:07:53.710 align:start position:0%
computation and also about constraints
and<00:07:50.840><c> they</c><00:07:51.000><c> might</c><00:07:51.280><c> do</c><00:07:51.960><c> a</c><00:07:52.280><c> very</c><00:07:53.120><c> aggressive</c>

00:07:53.710 --> 00:07:53.720 align:start position:0%
and they might do a very aggressive
 

00:07:53.720 --> 00:07:56.230 align:start position:0%
and they might do a very aggressive
optimizations<00:07:54.599><c> there</c><00:07:55.159><c> and</c><00:07:55.319><c> they</c><00:07:55.520><c> might</c><00:07:56.000><c> try</c>

00:07:56.230 --> 00:07:56.240 align:start position:0%
optimizations there and they might try
 

00:07:56.240 --> 00:07:58.830 align:start position:0%
optimizations there and they might try
to<00:07:56.440><c> apply</c><00:07:56.800><c> some</c><00:07:57.000><c> trigs</c><00:07:57.759><c> and</c><00:07:58.039><c> that</c><00:07:58.360><c> typically</c>

00:07:58.830 --> 00:07:58.840 align:start position:0%
to apply some trigs and that typically
 

00:07:58.840 --> 00:08:00.790 align:start position:0%
to apply some trigs and that typically
leads<00:07:59.159><c> to</c><00:07:59.479><c> vulnerabilities</c><00:08:00.479><c> so</c><00:08:00.639><c> we</c>

00:08:00.790 --> 00:08:00.800 align:start position:0%
leads to vulnerabilities so we
 

00:08:00.800 --> 00:08:03.149 align:start position:0%
leads to vulnerabilities so we
identified<00:08:01.479><c> three</c><00:08:01.680><c> main</c><00:08:02.159><c> vulnerabilities</c>

00:08:03.149 --> 00:08:03.159 align:start position:0%
identified three main vulnerabilities
 

00:08:03.159 --> 00:08:04.990 align:start position:0%
identified three main vulnerabilities
under<00:08:03.599><c> constraint</c><00:08:04.039><c> vulnerabilities</c><00:08:04.840><c> which</c>

00:08:04.990 --> 00:08:05.000 align:start position:0%
under constraint vulnerabilities which
 

00:08:05.000 --> 00:08:07.990 align:start position:0%
under constraint vulnerabilities which
means<00:08:05.520><c> that</c><00:08:05.919><c> uh</c><00:08:06.280><c> you</c><00:08:06.479><c> forgot</c><00:08:06.960><c> some</c><00:08:07.199><c> constrains</c>

00:08:07.990 --> 00:08:08.000 align:start position:0%
means that uh you forgot some constrains
 

00:08:08.000 --> 00:08:10.390 align:start position:0%
means that uh you forgot some constrains
or<00:08:08.400><c> some</c><00:08:08.680><c> of</c><00:08:08.800><c> your</c><00:08:09.000><c> variables</c><00:08:09.440><c> are</c><00:08:09.759><c> partially</c>

00:08:10.390 --> 00:08:10.400 align:start position:0%
or some of your variables are partially
 

00:08:10.400 --> 00:08:13.070 align:start position:0%
or some of your variables are partially
constrained<00:08:11.400><c> we</c><00:08:11.560><c> might</c><00:08:11.919><c> have</c><00:08:12.400><c> and</c><00:08:12.840><c> that</c>

00:08:13.070 --> 00:08:13.080 align:start position:0%
constrained we might have and that
 

00:08:13.080 --> 00:08:14.469 align:start position:0%
constrained we might have and that
typically<00:08:13.560><c> leads</c><00:08:13.840><c> to</c><00:08:13.960><c> soundness</c>

00:08:14.469 --> 00:08:14.479 align:start position:0%
typically leads to soundness
 

00:08:14.479 --> 00:08:16.350 align:start position:0%
typically leads to soundness
vulnerabilities<00:08:15.240><c> which</c><00:08:15.319><c> is</c><00:08:15.800><c> the</c><00:08:16.080><c> worst</c>

00:08:16.350 --> 00:08:16.360 align:start position:0%
vulnerabilities which is the worst
 

00:08:16.360 --> 00:08:18.950 align:start position:0%
vulnerabilities which is the worst
vulnerability<00:08:17.080><c> can</c><00:08:17.240><c> happen</c><00:08:17.479><c> in</c><00:08:17.639><c> Z</c><00:08:18.120><c> in</c><00:08:18.240><c> the</c><00:08:18.360><c> Z</c>

00:08:18.950 --> 00:08:18.960 align:start position:0%
vulnerability can happen in Z in the Z
 

00:08:18.960 --> 00:08:21.629 align:start position:0%
vulnerability can happen in Z in the Z
system<00:08:19.960><c> then</c><00:08:20.199><c> we</c><00:08:20.400><c> have</c><00:08:20.840><c> over</c><00:08:21.240><c> constraint</c>

00:08:21.629 --> 00:08:21.639 align:start position:0%
system then we have over constraint
 

00:08:21.639 --> 00:08:23.270 align:start position:0%
system then we have over constraint
vulnerabilities<00:08:22.400><c> which</c><00:08:22.520><c> is</c><00:08:22.840><c> the</c><00:08:23.000><c> exact</c>

00:08:23.270 --> 00:08:23.280 align:start position:0%
vulnerabilities which is the exact
 

00:08:23.280 --> 00:08:25.990 align:start position:0%
vulnerabilities which is the exact
opposite<00:08:24.240><c> that</c><00:08:24.840><c> most</c><00:08:25.080><c> typically</c><00:08:25.520><c> will</c><00:08:25.720><c> lead</c>

00:08:25.990 --> 00:08:26.000 align:start position:0%
opposite that most typically will lead
 

00:08:26.000 --> 00:08:28.990 align:start position:0%
opposite that most typically will lead
to<00:08:26.440><c> completeness</c><00:08:27.120><c> issues</c><00:08:28.039><c> and</c><00:08:28.319><c> we</c><00:08:28.479><c> also</c><00:08:28.720><c> have</c>

00:08:28.990 --> 00:08:29.000 align:start position:0%
to completeness issues and we also have
 

00:08:29.000 --> 00:08:31.990 align:start position:0%
to completeness issues and we also have
comput<00:08:29.800><c> or</c><00:08:30.000><c> hint</c><00:08:30.319><c> errors</c><00:08:30.960><c> which</c><00:08:31.159><c> is</c><00:08:31.400><c> on</c><00:08:31.840><c> just</c>

00:08:31.990 --> 00:08:32.000 align:start position:0%
comput or hint errors which is on just
 

00:08:32.000 --> 00:08:34.550 align:start position:0%
comput or hint errors which is on just
on<00:08:32.159><c> the</c><00:08:32.320><c> computation</c><00:08:32.880><c> part</c><00:08:33.640><c> and</c><00:08:33.919><c> accordingly</c>

00:08:34.550 --> 00:08:34.560 align:start position:0%
on the computation part and accordingly
 

00:08:34.560 --> 00:08:37.550 align:start position:0%
on the computation part and accordingly
you<00:08:34.760><c> might</c><00:08:35.080><c> have</c><00:08:35.560><c> messed</c><00:08:35.919><c> up</c><00:08:36.519><c> constraints</c><00:08:37.159><c> but</c>

00:08:37.550 --> 00:08:37.560 align:start position:0%
you might have messed up constraints but
 

00:08:37.560 --> 00:08:40.430 align:start position:0%
you might have messed up constraints but
the<00:08:37.680><c> root</c><00:08:37.959><c> cause</c><00:08:38.279><c> was</c><00:08:38.519><c> in</c><00:08:38.680><c> the</c><00:08:38.839><c> computation</c>

00:08:40.430 --> 00:08:40.440 align:start position:0%
the root cause was in the computation
 

00:08:40.440 --> 00:08:44.230 align:start position:0%
the root cause was in the computation
part<00:08:41.440><c> um</c><00:08:42.080><c> so</c><00:08:42.440><c> we</c><00:08:42.640><c> did</c><00:08:42.919><c> a</c><00:08:43.240><c> complete</c><00:08:43.599><c> root</c><00:08:43.880><c> cause</c>

00:08:44.230 --> 00:08:44.240 align:start position:0%
part um so we did a complete root cause
 

00:08:44.240 --> 00:08:47.509 align:start position:0%
part um so we did a complete root cause
analysis<00:08:45.240><c> and</c><00:08:45.680><c> I</c><00:08:45.760><c> will</c><00:08:45.920><c> share</c><00:08:46.279><c> with</c><00:08:46.440><c> you</c><00:08:47.040><c> uh</c><00:08:47.360><c> a</c>

00:08:47.509 --> 00:08:47.519 align:start position:0%
analysis and I will share with you uh a
 

00:08:47.519 --> 00:08:50.150 align:start position:0%
analysis and I will share with you uh a
QR<00:08:47.880><c> code</c><00:08:48.080><c> for</c><00:08:48.320><c> our</c><00:08:48.760><c> paper</c><00:08:49.360><c> to</c><00:08:49.600><c> look</c><00:08:49.800><c> into</c>

00:08:50.150 --> 00:08:50.160 align:start position:0%
QR code for our paper to look into
 

00:08:50.160 --> 00:08:52.949 align:start position:0%
QR code for our paper to look into
examples<00:08:50.920><c> and</c><00:08:51.080><c> to</c><00:08:51.279><c> look</c><00:08:51.440><c> on</c><00:08:51.760><c> how</c><00:08:51.959><c> you</c><00:08:52.120><c> can</c><00:08:52.360><c> fix</c>

00:08:52.949 --> 00:08:52.959 align:start position:0%
examples and to look on how you can fix
 

00:08:52.959 --> 00:08:55.710 align:start position:0%
examples and to look on how you can fix
some<00:08:53.160><c> of</c><00:08:53.320><c> those</c><00:08:53.560><c> vulnerabilities</c><00:08:54.480><c> Etc</c><00:08:55.399><c> but</c>

00:08:55.710 --> 00:08:55.720 align:start position:0%
some of those vulnerabilities Etc but
 

00:08:55.720 --> 00:08:58.190 align:start position:0%
some of those vulnerabilities Etc but
very<00:08:55.959><c> briefly</c><00:08:56.480><c> here</c><00:08:57.040><c> we</c><00:08:57.320><c> have</c><00:08:57.600><c> categorized</c>

00:08:58.190 --> 00:08:58.200 align:start position:0%
very briefly here we have categorized
 

00:08:58.200 --> 00:09:00.910 align:start position:0%
very briefly here we have categorized
them<00:08:58.399><c> in</c><00:08:58.640><c> three</c><00:08:58.959><c> main</c><00:08:59.560><c> root</c><00:08:59.920><c> cause</c><00:09:00.200><c> classes</c>

00:09:00.910 --> 00:09:00.920 align:start position:0%
them in three main root cause classes
 

00:09:00.920 --> 00:09:03.829 align:start position:0%
them in three main root cause classes
first<00:09:01.640><c> is</c><00:09:02.000><c> that</c><00:09:02.560><c> in</c><00:09:02.880><c> When</c><00:09:03.279><c> developing</c>

00:09:03.829 --> 00:09:03.839 align:start position:0%
first is that in When developing
 

00:09:03.839 --> 00:09:06.269 align:start position:0%
first is that in When developing
circuits<00:09:04.360><c> we</c><00:09:04.560><c> have</c><00:09:05.040><c> a</c><00:09:05.240><c> different</c><00:09:05.680><c> programming</c>

00:09:06.269 --> 00:09:06.279 align:start position:0%
circuits we have a different programming
 

00:09:06.279 --> 00:09:08.990 align:start position:0%
circuits we have a different programming
model<00:09:07.079><c> and</c><00:09:07.560><c> that</c><00:09:07.680><c> could</c><00:09:07.880><c> lead</c><00:09:08.160><c> to</c><00:09:08.320><c> many</c>

00:09:08.990 --> 00:09:09.000 align:start position:0%
model and that could lead to many
 

00:09:09.000 --> 00:09:11.630 align:start position:0%
model and that could lead to many
vulnerabilities<00:09:10.000><c> secondly</c><00:09:10.800><c> we</c><00:09:11.000><c> observed</c>

00:09:11.630 --> 00:09:11.640 align:start position:0%
vulnerabilities secondly we observed
 

00:09:11.640 --> 00:09:13.310 align:start position:0%
vulnerabilities secondly we observed
that<00:09:12.079><c> the</c><00:09:12.160><c> root</c><00:09:12.399><c> cause</c><00:09:12.600><c> of</c><00:09:12.680><c> vulnerabilities</c>

00:09:13.310 --> 00:09:13.320 align:start position:0%
that the root cause of vulnerabilities
 

00:09:13.320 --> 00:09:17.150 align:start position:0%
that the root cause of vulnerabilities
were<00:09:14.640><c> optimizations</c><00:09:15.640><c> and</c><00:09:16.000><c> also</c><00:09:16.560><c> having</c>

00:09:17.150 --> 00:09:17.160 align:start position:0%
were optimizations and also having
 

00:09:17.160 --> 00:09:20.470 align:start position:0%
were optimizations and also having
cryptography<00:09:18.079><c> at</c><00:09:18.279><c> the</c><00:09:18.519><c> outer</c><00:09:18.959><c> layer</c><00:09:19.760><c> and</c><00:09:20.000><c> in</c>

00:09:20.470 --> 00:09:20.480 align:start position:0%
cryptography at the outer layer and in
 

00:09:20.480 --> 00:09:23.590 align:start position:0%
cryptography at the outer layer and in
very<00:09:21.399><c> uh</c><00:09:21.600><c> lowlevel</c><00:09:22.399><c> dsls</c><00:09:23.240><c> that</c><00:09:23.440><c> could</c>

00:09:23.590 --> 00:09:23.600 align:start position:0%
very uh lowlevel dsls that could
 

00:09:23.600 --> 00:09:27.150 align:start position:0%
very uh lowlevel dsls that could
introduce<00:09:24.200><c> many</c><00:09:24.880><c> vulnerabilities</c><00:09:25.880><c> and</c><00:09:26.320><c> also</c>

00:09:27.150 --> 00:09:27.160 align:start position:0%
introduce many vulnerabilities and also
 

00:09:27.160 --> 00:09:29.949 align:start position:0%
introduce many vulnerabilities and also
common<00:09:27.600><c> errors</c><00:09:28.200><c> like</c><00:09:28.399><c> in</c><00:09:28.600><c> any</c><00:09:28.880><c> software</c>

00:09:29.949 --> 00:09:29.959 align:start position:0%
common errors like in any software
 

00:09:29.959 --> 00:09:33.550 align:start position:0%
common errors like in any software
uh<00:09:30.360><c> like</c><00:09:30.760><c> uh</c><00:09:30.959><c> specification</c><00:09:31.760><c> issues</c><00:09:32.680><c> or</c><00:09:33.079><c> API</c>

00:09:33.550 --> 00:09:33.560 align:start position:0%
uh like uh specification issues or API
 

00:09:33.560 --> 00:09:35.710 align:start position:0%
uh like uh specification issues or API
misuses

00:09:35.710 --> 00:09:35.720 align:start position:0%
misuses
 

00:09:35.720 --> 00:09:40.590 align:start position:0%
misuses
Etc<00:09:36.760><c> so</c><00:09:37.760><c> the</c><00:09:37.959><c> next</c><00:09:38.200><c> layer</c><00:09:38.839><c> is</c><00:09:39.399><c> uh</c><00:09:40.079><c> the</c><00:09:40.240><c> front</c>

00:09:40.590 --> 00:09:40.600 align:start position:0%
Etc so the next layer is uh the front
 

00:09:40.600 --> 00:09:43.990 align:start position:0%
Etc so the next layer is uh the front
end<00:09:41.600><c> uh</c><00:09:41.880><c> which</c><00:09:42.040><c> is</c><00:09:42.560><c> basically</c><00:09:43.000><c> composed</c><00:09:43.519><c> from</c>

00:09:43.990 --> 00:09:44.000 align:start position:0%
end uh which is basically composed from
 

00:09:44.000 --> 00:09:46.430 align:start position:0%
end uh which is basically composed from
uh<00:09:44.200><c> two</c><00:09:44.480><c> components</c><00:09:45.399><c> a</c><00:09:45.560><c> compiler</c><00:09:46.160><c> and</c><00:09:46.320><c> a</c>

00:09:46.430 --> 00:09:46.440 align:start position:0%
uh two components a compiler and a
 

00:09:46.440 --> 00:09:48.790 align:start position:0%
uh two components a compiler and a
witness<00:09:46.800><c> generator</c><00:09:47.760><c> the</c><00:09:47.920><c> compiler</c><00:09:48.399><c> will</c><00:09:48.600><c> take</c>

00:09:48.790 --> 00:09:48.800 align:start position:0%
witness generator the compiler will take
 

00:09:48.800 --> 00:09:51.150 align:start position:0%
witness generator the compiler will take
the<00:09:48.920><c> circuit</c><00:09:49.399><c> and</c><00:09:49.560><c> will</c><00:09:49.760><c> try</c><00:09:50.040><c> to</c><00:09:50.440><c> produce</c><00:09:50.880><c> an</c>

00:09:51.150 --> 00:09:51.160 align:start position:0%
the circuit and will try to produce an
 

00:09:51.160 --> 00:09:53.870 align:start position:0%
the circuit and will try to produce an
intermediate<00:09:51.920><c> representation</c><00:09:52.920><c> that</c><00:09:53.120><c> it's</c><00:09:53.600><c> on</c>

00:09:53.870 --> 00:09:53.880 align:start position:0%
intermediate representation that it's on
 

00:09:53.880 --> 00:09:56.630 align:start position:0%
intermediate representation that it's on
what<00:09:54.200><c> our</c><00:09:54.800><c> proof</c><00:09:55.160><c> system</c><00:09:55.560><c> works</c><00:09:55.880><c> on</c><00:09:56.079><c> top</c><00:09:56.399><c> for</c>

00:09:56.630 --> 00:09:56.640 align:start position:0%
what our proof system works on top for
 

00:09:56.640 --> 00:10:00.630 align:start position:0%
what our proof system works on top for
example<00:09:57.480><c> R1</c><00:09:57.920><c> Cs</c><00:09:58.800><c> and</c><00:09:59.040><c> then</c><00:09:59.440><c> witness</c><00:09:59.760><c> gener</c>

00:10:00.630 --> 00:10:00.640 align:start position:0%
example R1 Cs and then witness gener
 

00:10:00.640 --> 00:10:02.509 align:start position:0%
example R1 Cs and then witness gener
generator<00:10:01.279><c> will</c><00:10:01.519><c> take</c><00:10:01.680><c> the</c><00:10:01.839><c> circuit</c><00:10:02.320><c> will</c>

00:10:02.509 --> 00:10:02.519 align:start position:0%
generator will take the circuit will
 

00:10:02.519 --> 00:10:04.230 align:start position:0%
generator will take the circuit will
take<00:10:02.720><c> the</c><00:10:02.959><c> public</c><00:10:03.279><c> and</c><00:10:03.399><c> the</c><00:10:03.600><c> private</c>

00:10:04.230 --> 00:10:04.240 align:start position:0%
take the public and the private
 

00:10:04.240 --> 00:10:06.590 align:start position:0%
take the public and the private
variables<00:10:04.760><c> we</c><00:10:04.959><c> have</c><00:10:05.279><c> and</c><00:10:05.440><c> it</c><00:10:05.560><c> will</c><00:10:05.760><c> produce</c><00:10:06.160><c> a</c>

00:10:06.590 --> 00:10:06.600 align:start position:0%
variables we have and it will produce a
 

00:10:06.600 --> 00:10:09.829 align:start position:0%
variables we have and it will produce a
witness<00:10:07.600><c> and</c><00:10:07.920><c> the</c><00:10:08.079><c> next</c><00:10:08.320><c> one</c><00:10:08.640><c> is</c><00:10:08.839><c> a</c><00:10:09.079><c> backend</c>

00:10:09.829 --> 00:10:09.839 align:start position:0%
witness and the next one is a backend
 

00:10:09.839 --> 00:10:11.750 align:start position:0%
witness and the next one is a backend
the<00:10:10.000><c> backend</c><00:10:10.399><c> is</c><00:10:10.600><c> composed</c><00:10:11.000><c> of</c><00:10:11.240><c> three</c><00:10:11.440><c> main</c>

00:10:11.750 --> 00:10:11.760 align:start position:0%
the backend is composed of three main
 

00:10:11.760 --> 00:10:15.389 align:start position:0%
the backend is composed of three main
functions<00:10:12.760><c> setup</c><00:10:13.640><c> proving</c><00:10:14.360><c> and</c><00:10:14.800><c> uh</c>

00:10:15.389 --> 00:10:15.399 align:start position:0%
functions setup proving and uh
 

00:10:15.399 --> 00:10:18.269 align:start position:0%
functions setup proving and uh
verification<00:10:16.399><c> and</c><00:10:16.880><c> things</c><00:10:17.160><c> can</c><00:10:17.360><c> go</c><00:10:17.560><c> wrong</c><00:10:17.959><c> in</c>

00:10:18.269 --> 00:10:18.279 align:start position:0%
verification and things can go wrong in
 

00:10:18.279 --> 00:10:21.550 align:start position:0%
verification and things can go wrong in
all<00:10:18.600><c> those</c><00:10:19.160><c> functions</c><00:10:20.399><c> so</c><00:10:21.399><c> the</c>

00:10:21.550 --> 00:10:21.560 align:start position:0%
all those functions so the
 

00:10:21.560 --> 00:10:23.389 align:start position:0%
all those functions so the
vulnerabilities<00:10:22.200><c> we</c><00:10:22.320><c> identified</c><00:10:22.959><c> here</c><00:10:23.240><c> in</c>

00:10:23.389 --> 00:10:23.399 align:start position:0%
vulnerabilities we identified here in
 

00:10:23.399 --> 00:10:25.910 align:start position:0%
vulnerabilities we identified here in
the<00:10:23.519><c> front</c><00:10:23.839><c> end</c><00:10:24.160><c> is</c><00:10:24.519><c> incorrect</c><00:10:25.120><c> constraint</c>

00:10:25.910 --> 00:10:25.920 align:start position:0%
the front end is incorrect constraint
 

00:10:25.920 --> 00:10:28.750 align:start position:0%
the front end is incorrect constraint
compilation<00:10:26.920><c> and</c><00:10:27.640><c> errors</c><00:10:28.079><c> in</c><00:10:28.399><c> witness</c>

00:10:28.750 --> 00:10:28.760 align:start position:0%
compilation and errors in witness
 

00:10:28.760 --> 00:10:30.829 align:start position:0%
compilation and errors in witness
generation<00:10:29.800><c> and</c><00:10:30.040><c> in</c><00:10:30.160><c> the</c><00:10:30.360><c> previous</c>

00:10:30.829 --> 00:10:30.839 align:start position:0%
generation and in the previous
 

00:10:30.839 --> 00:10:33.630 align:start position:0%
generation and in the previous
presentation<00:10:31.640><c> we</c><00:10:32.040><c> saw</c><00:10:32.720><c> how</c><00:10:32.959><c> things</c><00:10:33.200><c> can</c><00:10:33.399><c> go</c>

00:10:33.630 --> 00:10:33.640 align:start position:0%
presentation we saw how things can go
 

00:10:33.640 --> 00:10:37.470 align:start position:0%
presentation we saw how things can go
bad<00:10:34.519><c> uh</c><00:10:34.760><c> there</c><00:10:35.320><c> and</c><00:10:35.560><c> it's</c><00:10:36.120><c> very</c><00:10:36.440><c> critical</c><00:10:36.959><c> to</c>

00:10:37.470 --> 00:10:37.480 align:start position:0%
bad uh there and it's very critical to
 

00:10:37.480 --> 00:10:42.829 align:start position:0%
bad uh there and it's very critical to
actually<00:10:38.079><c> trust</c><00:10:38.880><c> and</c><00:10:39.240><c> be</c><00:10:39.480><c> able</c><00:10:39.800><c> to</c><00:10:40.680><c> H</c><00:10:40.880><c> have</c><00:10:41.839><c> um</c>

00:10:42.829 --> 00:10:42.839 align:start position:0%
actually trust and be able to H have um
 

00:10:42.839 --> 00:10:44.870 align:start position:0%
actually trust and be able to H have um
correct<00:10:43.320><c> implementations</c><00:10:43.959><c> of</c><00:10:44.120><c> front</c><00:10:44.360><c> ends</c>

00:10:44.870 --> 00:10:44.880 align:start position:0%
correct implementations of front ends
 

00:10:44.880 --> 00:10:46.829 align:start position:0%
correct implementations of front ends
and<00:10:45.240><c> in</c><00:10:45.399><c> the</c><00:10:45.519><c> back</c><00:10:45.720><c> end</c><00:10:46.000><c> the</c><00:10:46.160><c> situation</c><00:10:46.560><c> is</c>

00:10:46.829 --> 00:10:46.839 align:start position:0%
and in the back end the situation is
 

00:10:46.839 --> 00:10:50.629 align:start position:0%
and in the back end the situation is
quite<00:10:47.279><c> similar</c><00:10:48.279><c> um</c><00:10:48.920><c> we</c><00:10:49.639><c> from</c><00:10:49.839><c> our</c><00:10:50.160><c> data</c><00:10:50.519><c> we</c>

00:10:50.629 --> 00:10:50.639 align:start position:0%
quite similar um we from our data we
 

00:10:50.639 --> 00:10:53.389 align:start position:0%
quite similar um we from our data we
found<00:10:50.920><c> out</c><00:10:51.240><c> that</c><00:10:51.800><c> UNS</c><00:10:52.079><c> safe</c><00:10:52.320><c> verifier</c><00:10:52.920><c> it's</c><00:10:53.079><c> a</c>

00:10:53.389 --> 00:10:53.399 align:start position:0%
found out that UNS safe verifier it's a
 

00:10:53.399 --> 00:10:57.030 align:start position:0%
found out that UNS safe verifier it's a
very<00:10:53.800><c> common</c><00:10:54.560><c> issue</c><00:10:55.040><c> and</c><00:10:55.240><c> can</c><00:10:55.440><c> lead</c><00:10:55.720><c> to</c><00:10:56.000><c> Major</c>

00:10:57.030 --> 00:10:57.040 align:start position:0%
very common issue and can lead to Major
 

00:10:57.040 --> 00:11:00.110 align:start position:0%
very common issue and can lead to Major
vulnerabilities<00:10:58.040><c> um</c><00:10:58.920><c> and</c><00:10:59.480><c> let's</c><00:10:59.680><c> go</c><00:10:59.800><c> to</c><00:10:59.959><c> the</c>

00:11:00.110 --> 00:11:00.120 align:start position:0%
vulnerabilities um and let's go to the
 

00:11:00.120 --> 00:11:01.949 align:start position:0%
vulnerabilities um and let's go to the
next<00:11:00.320><c> one</c><00:11:00.680><c> the</c><00:11:00.839><c> next</c><00:11:01.040><c> one</c><00:11:01.200><c> and</c><00:11:01.320><c> the</c><00:11:01.480><c> last</c><00:11:01.680><c> one</c>

00:11:01.949 --> 00:11:01.959 align:start position:0%
next one the next one and the last one
 

00:11:01.959 --> 00:11:04.670 align:start position:0%
next one the next one and the last one
is<00:11:02.279><c> the</c><00:11:02.399><c> integration</c><00:11:03.320><c> layer</c><00:11:04.320><c> which</c><00:11:04.480><c> is</c>

00:11:04.670 --> 00:11:04.680 align:start position:0%
is the integration layer which is
 

00:11:04.680 --> 00:11:06.350 align:start position:0%
is the integration layer which is
basically<00:11:05.120><c> you</c><00:11:05.240><c> can</c><00:11:05.399><c> think</c><00:11:05.600><c> of</c><00:11:05.760><c> it</c><00:11:06.079><c> in</c><00:11:06.200><c> the</c>

00:11:06.350 --> 00:11:06.360 align:start position:0%
basically you can think of it in the
 

00:11:06.360 --> 00:11:09.310 align:start position:0%
basically you can think of it in the
blockchain<00:11:06.880><c> space</c><00:11:07.560><c> as</c><00:11:08.000><c> the</c><00:11:08.399><c> JavaScript</c><00:11:09.200><c> that</c>

00:11:09.310 --> 00:11:09.320 align:start position:0%
blockchain space as the JavaScript that
 

00:11:09.320 --> 00:11:12.470 align:start position:0%
blockchain space as the JavaScript that
is<00:11:09.600><c> responsible</c><00:11:10.560><c> to</c><00:11:10.760><c> run</c><00:11:11.079><c> your</c><00:11:11.360><c> prover</c><00:11:11.920><c> client</c>

00:11:12.470 --> 00:11:12.480 align:start position:0%
is responsible to run your prover client
 

00:11:12.480 --> 00:11:14.990 align:start position:0%
is responsible to run your prover client
side<00:11:12.800><c> and</c><00:11:12.959><c> create</c><00:11:13.279><c> a</c><00:11:13.519><c> proof</c><00:11:14.320><c> and</c><00:11:14.560><c> also</c><00:11:14.839><c> the</c>

00:11:14.990 --> 00:11:15.000 align:start position:0%
side and create a proof and also the
 

00:11:15.000 --> 00:11:19.670 align:start position:0%
side and create a proof and also the
smart<00:11:15.639><c> contract</c><00:11:16.639><c> that</c><00:11:17.320><c> um</c><00:11:18.160><c> consumes</c><00:11:19.120><c> that</c><00:11:19.480><c> uh</c>

00:11:19.670 --> 00:11:19.680 align:start position:0%
smart contract that um consumes that uh
 

00:11:19.680 --> 00:11:22.710 align:start position:0%
smart contract that um consumes that uh
proof<00:11:20.279><c> and</c><00:11:20.560><c> calls</c><00:11:21.079><c> the</c><00:11:21.279><c> verifier</c><00:11:21.920><c> you</c><00:11:22.079><c> have</c>

00:11:22.710 --> 00:11:22.720 align:start position:0%
proof and calls the verifier you have
 

00:11:22.720 --> 00:11:25.590 align:start position:0%
proof and calls the verifier you have
implemented<00:11:23.519><c> or</c><00:11:23.959><c> it</c><00:11:24.120><c> was</c><00:11:24.320><c> produced</c>

00:11:25.590 --> 00:11:25.600 align:start position:0%
implemented or it was produced
 

00:11:25.600 --> 00:11:28.710 align:start position:0%
implemented or it was produced
automatically<00:11:26.600><c> and</c><00:11:26.800><c> try</c><00:11:27.079><c> to</c><00:11:27.200><c> do</c><00:11:27.360><c> some</c><00:11:27.720><c> things</c>

00:11:28.710 --> 00:11:28.720 align:start position:0%
automatically and try to do some things
 

00:11:28.720 --> 00:11:31.030 align:start position:0%
automatically and try to do some things
and<00:11:28.920><c> we</c><00:11:29.040><c> have</c><00:11:29.399><c> some</c><00:11:29.800><c> very</c><00:11:30.040><c> interesting</c>

00:11:31.030 --> 00:11:31.040 align:start position:0%
and we have some very interesting
 

00:11:31.040 --> 00:11:33.870 align:start position:0%
and we have some very interesting
vulnerabilities<00:11:32.040><c> in</c><00:11:32.480><c> uh</c><00:11:32.680><c> that</c><00:11:32.839><c> layer</c><00:11:33.600><c> I</c><00:11:33.680><c> want</c>

00:11:33.870 --> 00:11:33.880 align:start position:0%
vulnerabilities in uh that layer I want
 

00:11:33.880 --> 00:11:35.870 align:start position:0%
vulnerabilities in uh that layer I want
to<00:11:34.040><c> focus</c><00:11:34.360><c> in</c><00:11:34.519><c> the</c><00:11:34.639><c> first</c><00:11:34.880><c> one</c><00:11:35.320><c> which</c><00:11:35.480><c> is</c>

00:11:35.870 --> 00:11:35.880 align:start position:0%
to focus in the first one which is
 

00:11:35.880 --> 00:11:39.389 align:start position:0%
to focus in the first one which is
passing<00:11:36.480><c> unchecked</c><00:11:37.440><c> data</c><00:11:38.440><c> uh</c><00:11:38.839><c> and</c><00:11:39.120><c> what</c><00:11:39.240><c> does</c>

00:11:39.389 --> 00:11:39.399 align:start position:0%
passing unchecked data uh and what does
 

00:11:39.399 --> 00:11:42.590 align:start position:0%
passing unchecked data uh and what does
that<00:11:39.560><c> mean</c><00:11:40.360><c> sometimes</c><00:11:40.760><c> as</c><00:11:41.000><c> already</c><00:11:41.880><c> H</c><00:11:42.040><c> said</c><00:11:42.440><c> we</c>

00:11:42.590 --> 00:11:42.600 align:start position:0%
that mean sometimes as already H said we
 

00:11:42.600 --> 00:11:44.509 align:start position:0%
that mean sometimes as already H said we
might<00:11:42.920><c> try</c><00:11:43.160><c> to</c><00:11:43.320><c> do</c><00:11:43.480><c> some</c><00:11:43.680><c> optimizations</c><00:11:44.399><c> in</c>

00:11:44.509 --> 00:11:44.519 align:start position:0%
might try to do some optimizations in
 

00:11:44.519 --> 00:11:46.790 align:start position:0%
might try to do some optimizations in
the<00:11:44.680><c> circuits</c><00:11:45.560><c> and</c><00:11:45.720><c> for</c><00:11:45.959><c> example</c><00:11:46.399><c> one</c><00:11:46.560><c> thing</c>

00:11:46.790 --> 00:11:46.800 align:start position:0%
the circuits and for example one thing
 

00:11:46.800 --> 00:11:49.269 align:start position:0%
the circuits and for example one thing
that<00:11:46.959><c> it's</c><00:11:47.160><c> pretty</c><00:11:47.480><c> common</c><00:11:48.160><c> is</c><00:11:48.360><c> for</c><00:11:48.720><c> people</c><00:11:49.079><c> to</c>

00:11:49.269 --> 00:11:49.279 align:start position:0%
that it's pretty common is for people to
 

00:11:49.279 --> 00:11:52.750 align:start position:0%
that it's pretty common is for people to
say<00:11:50.000><c> okay</c><00:11:51.000><c> uh</c><00:11:51.200><c> in</c><00:11:51.399><c> that</c><00:11:51.600><c> circuit</c><00:11:52.200><c> let's</c><00:11:52.519><c> have</c>

00:11:52.750 --> 00:11:52.760 align:start position:0%
say okay uh in that circuit let's have
 

00:11:52.760 --> 00:11:55.550 align:start position:0%
say okay uh in that circuit let's have
some<00:11:53.160><c> implicit</c><00:11:53.800><c> assumptions</c><00:11:54.800><c> that</c><00:11:55.120><c> our</c>

00:11:55.550 --> 00:11:55.560 align:start position:0%
some implicit assumptions that our
 

00:11:55.560 --> 00:11:59.069 align:start position:0%
some implicit assumptions that our
inputs<00:11:56.120><c> are</c><00:11:56.360><c> in</c><00:11:56.519><c> a</c><00:11:56.760><c> specific</c><00:11:57.240><c> range</c><00:11:58.240><c> and</c><00:11:58.480><c> then</c>

00:11:59.069 --> 00:11:59.079 align:start position:0%
inputs are in a specific range and then
 

00:11:59.079 --> 00:12:01.990 align:start position:0%
inputs are in a specific range and then
the<00:11:59.240><c> delegate</c><00:11:59.959><c> that</c><00:12:00.240><c> check</c><00:12:00.600><c> to</c><00:12:00.800><c> the</c><00:12:01.040><c> actual</c>

00:12:01.990 --> 00:12:02.000 align:start position:0%
the delegate that check to the actual
 

00:12:02.000 --> 00:12:04.629 align:start position:0%
the delegate that check to the actual
code<00:12:02.360><c> that</c><00:12:02.519><c> will</c><00:12:02.720><c> call</c><00:12:03.040><c> the</c><00:12:03.160><c> verifier</c><00:12:04.079><c> so</c><00:12:04.440><c> in</c>

00:12:04.629 --> 00:12:04.639 align:start position:0%
code that will call the verifier so in
 

00:12:04.639 --> 00:12:08.629 align:start position:0%
code that will call the verifier so in
that<00:12:04.880><c> example</c><00:12:05.639><c> we</c><00:12:05.839><c> forgot</c><00:12:06.480><c> we</c><00:12:06.639><c> forgot</c><00:12:07.040><c> to</c><00:12:07.760><c> do</c><00:12:08.480><c> H</c>

00:12:08.629 --> 00:12:08.639 align:start position:0%
that example we forgot we forgot to do H
 

00:12:08.639 --> 00:12:11.150 align:start position:0%
that example we forgot we forgot to do H
such<00:12:08.959><c> a</c><00:12:09.600><c> check</c><00:12:10.200><c> and</c><00:12:10.399><c> that</c><00:12:10.560><c> could</c><00:12:10.720><c> lead</c><00:12:11.000><c> to</c>

00:12:11.150 --> 00:12:11.160 align:start position:0%
such a check and that could lead to
 

00:12:11.160 --> 00:12:14.430 align:start position:0%
such a check and that could lead to
Major<00:12:11.480><c> vulnerabilities</c><00:12:12.279><c> then</c><00:12:12.639><c> in</c><00:12:12.800><c> our</c>

00:12:14.430 --> 00:12:14.440 align:start position:0%
Major vulnerabilities then in our
 

00:12:14.440 --> 00:12:17.790 align:start position:0%
Major vulnerabilities then in our
infrastructure<00:12:15.440><c> and</c><00:12:16.040><c> uh</c><00:12:16.360><c> in</c><00:12:16.560><c> the</c><00:12:16.800><c> last</c><00:12:17.480><c> uh</c>

00:12:17.790 --> 00:12:17.800 align:start position:0%
infrastructure and uh in the last uh
 

00:12:17.800 --> 00:12:21.189 align:start position:0%
infrastructure and uh in the last uh
year<00:12:18.079><c> or</c><00:12:18.279><c> so</c><00:12:18.880><c> there</c><00:12:19.079><c> has</c><00:12:19.240><c> been</c><00:12:19.440><c> a</c><00:12:19.639><c> major</c><00:12:20.480><c> change</c>

00:12:21.189 --> 00:12:21.199 align:start position:0%
year or so there has been a major change
 

00:12:21.199 --> 00:12:23.910 align:start position:0%
year or so there has been a major change
in<00:12:21.720><c> some</c><00:12:22.360><c> architectures</c><00:12:23.199><c> where</c><00:12:23.440><c> instead</c><00:12:23.800><c> of</c>

00:12:23.910 --> 00:12:23.920 align:start position:0%
in some architectures where instead of
 

00:12:23.920 --> 00:12:27.189 align:start position:0%
in some architectures where instead of
circuits<00:12:24.519><c> we</c><00:12:24.680><c> have</c><00:12:25.079><c> zvm</c><00:12:25.800><c> circuits</c><00:12:26.399><c> right</c><00:12:26.920><c> so</c>

00:12:27.189 --> 00:12:27.199 align:start position:0%
circuits we have zvm circuits right so
 

00:12:27.199 --> 00:12:29.470 align:start position:0%
circuits we have zvm circuits right so
the<00:12:27.360><c> developers</c><00:12:28.000><c> now</c><00:12:28.519><c> only</c><00:12:28.839><c> care</c><00:12:29.240><c> about</c>

00:12:29.470 --> 00:12:29.480 align:start position:0%
the developers now only care about
 

00:12:29.480 --> 00:12:32.269 align:start position:0%
the developers now only care about
writing<00:12:30.279><c> some</c><00:12:30.639><c> program</c><00:12:31.320><c> typical</c><00:12:31.800><c> in</c><00:12:31.920><c> a</c><00:12:32.079><c> high</c>

00:12:32.269 --> 00:12:32.279 align:start position:0%
writing some program typical in a high
 

00:12:32.279 --> 00:12:35.430 align:start position:0%
writing some program typical in a high
level<00:12:32.519><c> language</c><00:12:32.920><c> like</c><00:12:33.120><c> rust</c><00:12:34.079><c> and</c><00:12:34.440><c> then</c>

00:12:35.430 --> 00:12:35.440 align:start position:0%
level language like rust and then
 

00:12:35.440 --> 00:12:38.590 align:start position:0%
level language like rust and then
compile<00:12:35.920><c> that</c><00:12:36.199><c> program</c><00:12:36.839><c> and</c><00:12:37.279><c> uh</c><00:12:37.800><c> giving</c><00:12:38.160><c> it</c><00:12:38.480><c> as</c>

00:12:38.590 --> 00:12:38.600 align:start position:0%
compile that program and uh giving it as
 

00:12:38.600 --> 00:12:42.310 align:start position:0%
compile that program and uh giving it as
an<00:12:38.800><c> input</c><00:12:39.120><c> to</c><00:12:39.560><c> zvm</c><00:12:40.560><c> still</c><00:12:41.199><c> circuit</c><00:12:41.680><c> bugs</c><00:12:42.040><c> can</c>

00:12:42.310 --> 00:12:42.320 align:start position:0%
an input to zvm still circuit bugs can
 

00:12:42.320 --> 00:12:45.550 align:start position:0%
an input to zvm still circuit bugs can
happen<00:12:42.639><c> in</c><00:12:42.760><c> the</c><00:12:42.920><c> zvm</c><00:12:43.839><c> itself</c><00:12:44.639><c> and</c><00:12:44.839><c> I</c><00:12:44.959><c> would</c><00:12:45.160><c> say</c>

00:12:45.550 --> 00:12:45.560 align:start position:0%
happen in the zvm itself and I would say
 

00:12:45.560 --> 00:12:48.829 align:start position:0%
happen in the zvm itself and I would say
a<00:12:45.920><c> suppled</c><00:12:46.920><c> uh</c><00:12:47.040><c> new</c><00:12:47.360><c> thread</c><00:12:47.760><c> here</c><00:12:48.160><c> is</c>

00:12:48.829 --> 00:12:48.839 align:start position:0%
a suppled uh new thread here is
 

00:12:48.839 --> 00:12:51.550 align:start position:0%
a suppled uh new thread here is
traditional<00:12:49.839><c> compilation</c><00:12:50.720><c> errors</c><00:12:51.320><c> that</c>

00:12:51.550 --> 00:12:51.560 align:start position:0%
traditional compilation errors that
 

00:12:51.560 --> 00:12:54.230 align:start position:0%
traditional compilation errors that
might<00:12:51.920><c> happen</c><00:12:52.279><c> to</c><00:12:53.160><c> the</c><00:12:53.279><c> rust</c><00:12:53.600><c> compiler</c><00:12:54.040><c> for</c>

00:12:54.230 --> 00:12:54.240 align:start position:0%
might happen to the rust compiler for
 

00:12:54.240 --> 00:12:56.509 align:start position:0%
might happen to the rust compiler for
example<00:12:54.880><c> that</c><00:12:55.480><c> that</c><00:12:55.639><c> could</c><00:12:55.800><c> lead</c><00:12:56.040><c> to</c><00:12:56.240><c> have</c>

00:12:56.509 --> 00:12:56.519 align:start position:0%
example that that could lead to have
 

00:12:56.519 --> 00:12:58.670 align:start position:0%
example that that could lead to have
invalid<00:12:57.040><c> proofs</c><00:12:57.480><c> so</c><00:12:58.000><c> that's</c><00:12:58.199><c> something</c><00:12:58.519><c> that</c>

00:12:58.670 --> 00:12:58.680 align:start position:0%
invalid proofs so that's something that
 

00:12:58.680 --> 00:13:00.829 align:start position:0%
invalid proofs so that's something that
people<00:12:58.880><c> should</c><00:12:59.360><c> take</c><00:12:59.560><c> into</c><00:12:59.880><c> consideration</c>

00:13:00.829 --> 00:13:00.839 align:start position:0%
people should take into consideration
 

00:13:00.839 --> 00:13:03.710 align:start position:0%
people should take into consideration
when<00:13:01.079><c> using</c><00:13:01.680><c> uh</c><00:13:01.839><c> zvm</c>

00:13:03.710 --> 00:13:03.720 align:start position:0%
when using uh zvm
 

00:13:03.720 --> 00:13:07.189 align:start position:0%
when using uh zvm
Souls<00:13:04.720><c> so</c><00:13:05.279><c> another</c><00:13:05.680><c> way</c><00:13:06.000><c> to</c><00:13:06.160><c> see</c><00:13:06.560><c> what</c><00:13:06.800><c> we</c>

00:13:07.189 --> 00:13:07.199 align:start position:0%
Souls so another way to see what we
 

00:13:07.199 --> 00:13:10.269 align:start position:0%
Souls so another way to see what we
currently<00:13:08.199><c> uh</c><00:13:08.440><c> described</c><00:13:09.279><c> is</c><00:13:09.519><c> in</c><00:13:09.720><c> a</c>

00:13:10.269 --> 00:13:10.279 align:start position:0%
currently uh described is in a
 

00:13:10.279 --> 00:13:13.150 align:start position:0%
currently uh described is in a
hierarchal<00:13:11.279><c> uh</c><00:13:11.480><c> way</c><00:13:12.160><c> and</c><00:13:12.440><c> here</c><00:13:12.639><c> I</c><00:13:12.760><c> have</c><00:13:12.920><c> an</c>

00:13:13.150 --> 00:13:13.160 align:start position:0%
hierarchal uh way and here I have an
 

00:13:13.160 --> 00:13:16.750 align:start position:0%
hierarchal uh way and here I have an
example<00:13:13.760><c> of</c><00:13:14.120><c> all</c><00:13:14.399><c> the</c><00:13:14.560><c> stack</c><00:13:15.360><c> uh</c><00:13:15.519><c> when</c><00:13:15.720><c> we</c><00:13:15.920><c> use</c>

00:13:16.750 --> 00:13:16.760 align:start position:0%
example of all the stack uh when we use
 

00:13:16.760 --> 00:13:19.470 align:start position:0%
example of all the stack uh when we use
uh<00:13:16.920><c> the</c><00:13:17.600><c> programming</c><00:13:18.040><c> languages</c><00:13:19.040><c> and</c>

00:13:19.470 --> 00:13:19.480 align:start position:0%
uh the programming languages and
 

00:13:19.480 --> 00:13:22.470 align:start position:0%
uh the programming languages and
snack<00:13:19.920><c> J</c><00:13:20.560><c> with</c><00:13:20.839><c> growth</c><00:13:21.279><c> 16</c><00:13:21.720><c> Azure</c><00:13:22.160><c> proof</c>

00:13:22.470 --> 00:13:22.480 align:start position:0%
snack J with growth 16 Azure proof
 

00:13:22.480 --> 00:13:26.150 align:start position:0%
snack J with growth 16 Azure proof
system<00:13:23.279><c> I</c><00:13:23.440><c> have</c><00:13:23.839><c> two</c><00:13:24.120><c> new</c><00:13:24.360><c> layers</c><00:13:24.880><c> here</c><00:13:25.360><c> one</c><00:13:25.680><c> is</c>

00:13:26.150 --> 00:13:26.160 align:start position:0%
system I have two new layers here one is
 

00:13:26.160 --> 00:13:28.829 align:start position:0%
system I have two new layers here one is
fil<00:13:26.519><c> arithmetic</c><00:13:27.199><c> elliptic</c><00:13:27.680><c> ear</c><00:13:28.120><c> which</c><00:13:28.680><c> have</c>

00:13:28.829 --> 00:13:28.839 align:start position:0%
fil arithmetic elliptic ear which have
 

00:13:28.839 --> 00:13:30.870 align:start position:0%
fil arithmetic elliptic ear which have
nothing<00:13:29.120><c> nothing</c><00:13:29.320><c> to</c><00:13:29.440><c> do</c><00:13:29.639><c> with</c><00:13:29.839><c> ZK</c><00:13:30.480><c> but</c><00:13:30.720><c> when</c>

00:13:30.870 --> 00:13:30.880 align:start position:0%
nothing nothing to do with ZK but when
 

00:13:30.880 --> 00:13:34.069 align:start position:0%
nothing nothing to do with ZK but when
we<00:13:31.040><c> construct</c><00:13:31.519><c> and</c><00:13:31.880><c> Implement</c><00:13:32.880><c> um</c><00:13:33.560><c> a</c><00:13:33.720><c> proof</c>

00:13:34.069 --> 00:13:34.079 align:start position:0%
we construct and Implement um a proof
 

00:13:34.079 --> 00:13:36.389 align:start position:0%
we construct and Implement um a proof
system<00:13:34.600><c> we</c><00:13:34.839><c> have</c><00:13:35.040><c> to</c><00:13:35.279><c> have</c><00:13:35.760><c> such</c><00:13:35.959><c> a</c><00:13:36.160><c> very</c>

00:13:36.389 --> 00:13:36.399 align:start position:0%
system we have to have such a very
 

00:13:36.399 --> 00:13:38.389 align:start position:0%
system we have to have such a very
efficient<00:13:36.800><c> library</c><00:13:37.519><c> and</c><00:13:37.800><c> things</c><00:13:38.040><c> can</c><00:13:38.199><c> go</c>

00:13:38.389 --> 00:13:38.399 align:start position:0%
efficient library and things can go
 

00:13:38.399 --> 00:13:40.750 align:start position:0%
efficient library and things can go
wrong<00:13:38.760><c> there</c><00:13:39.320><c> and</c><00:13:39.519><c> also</c><00:13:39.800><c> things</c><00:13:40.000><c> can</c><00:13:40.160><c> go</c><00:13:40.360><c> wrong</c>

00:13:40.750 --> 00:13:40.760 align:start position:0%
wrong there and also things can go wrong
 

00:13:40.760 --> 00:13:43.269 align:start position:0%
wrong there and also things can go wrong
in<00:13:41.079><c> the</c><00:13:41.240><c> hardware</c><00:13:41.680><c> in</c><00:13:41.800><c> the</c><00:13:41.920><c> operating</c><00:13:42.480><c> system</c>

00:13:43.269 --> 00:13:43.279 align:start position:0%
in the hardware in the operating system
 

00:13:43.279 --> 00:13:45.949 align:start position:0%
in the hardware in the operating system
in<00:13:43.480><c> the</c><00:13:43.680><c> blockchain</c><00:13:44.199><c> we</c><00:13:44.320><c> are</c><00:13:44.519><c> using</c><00:13:45.240><c> right</c><00:13:45.680><c> so</c>

00:13:45.949 --> 00:13:45.959 align:start position:0%
in the blockchain we are using right so
 

00:13:45.959 --> 00:13:49.030 align:start position:0%
in the blockchain we are using right so
you<00:13:46.079><c> should</c><00:13:46.839><c> always</c><00:13:47.839><c> um</c>

00:13:49.030 --> 00:13:49.040 align:start position:0%
you should always um
 

00:13:49.040 --> 00:13:51.670 align:start position:0%
you should always um
be<00:13:50.120><c> very</c>

00:13:51.670 --> 00:13:51.680 align:start position:0%
be very
 

00:13:51.680 --> 00:13:54.269 align:start position:0%
be very
uh<00:13:52.680><c> basically</c><00:13:53.240><c> think</c><00:13:53.519><c> about</c><00:13:53.880><c> what</c><00:13:54.000><c> you're</c><00:13:54.120><c> are</c>

00:13:54.269 --> 00:13:54.279 align:start position:0%
uh basically think about what you're are
 

00:13:54.279 --> 00:13:57.790 align:start position:0%
uh basically think about what you're are
going<00:13:54.480><c> to</c><00:13:54.680><c> use</c><00:13:55.199><c> and</c><00:13:55.959><c> apply</c><00:13:56.440><c> all</c><00:13:56.800><c> traditional</c>

00:13:57.790 --> 00:13:57.800 align:start position:0%
going to use and apply all traditional
 

00:13:57.800 --> 00:13:59.550 align:start position:0%
going to use and apply all traditional
best<00:13:58.079><c> security</c><00:13:58.560><c> practices</c>

00:13:59.550 --> 00:13:59.560 align:start position:0%
best security practices
 

00:13:59.560 --> 00:14:01.550 align:start position:0%
best security practices
we<00:13:59.720><c> know</c><00:14:00.000><c> from</c><00:14:00.440><c> other</c>

00:14:01.550 --> 00:14:01.560 align:start position:0%
we know from other
 

00:14:01.560 --> 00:14:04.749 align:start position:0%
we know from other
fields<00:14:02.560><c> and</c><00:14:02.839><c> one</c><00:14:03.079><c> last</c><00:14:03.279><c> thing</c><00:14:03.920><c> is</c><00:14:04.160><c> that</c><00:14:04.480><c> in</c><00:14:04.600><c> the</c>

00:14:04.749 --> 00:14:04.759 align:start position:0%
fields and one last thing is that in the
 

00:14:04.759 --> 00:14:07.310 align:start position:0%
fields and one last thing is that in the
proof<00:14:05.079><c> system</c><00:14:05.880><c> there</c><00:14:06.120><c> could</c><00:14:06.279><c> be</c><00:14:06.480><c> errors</c><00:14:06.920><c> there</c>

00:14:07.310 --> 00:14:07.320 align:start position:0%
proof system there could be errors there
 

00:14:07.320 --> 00:14:09.150 align:start position:0%
proof system there could be errors there
that<00:14:07.519><c> could</c><00:14:07.680><c> be</c><00:14:07.880><c> errors</c><00:14:08.320><c> in</c><00:14:08.440><c> the</c><00:14:08.600><c> initial</c>

00:14:09.150 --> 00:14:09.160 align:start position:0%
that could be errors in the initial
 

00:14:09.160 --> 00:14:11.870 align:start position:0%
that could be errors in the initial
description<00:14:10.000><c> in</c><00:14:10.160><c> the</c><00:14:10.360><c> papers</c><00:14:11.120><c> of</c><00:14:11.519><c> proof</c>

00:14:11.870 --> 00:14:11.880 align:start position:0%
description in the papers of proof
 

00:14:11.880 --> 00:14:14.470 align:start position:0%
description in the papers of proof
systems<00:14:12.399><c> so</c><00:14:12.959><c> if</c><00:14:13.120><c> something</c><00:14:13.440><c> goes</c><00:14:13.680><c> wrong</c><00:14:14.079><c> there</c>

00:14:14.470 --> 00:14:14.480 align:start position:0%
systems so if something goes wrong there
 

00:14:14.480 --> 00:14:16.509 align:start position:0%
systems so if something goes wrong there
it<00:14:14.639><c> doesn't</c><00:14:14.920><c> matter</c><00:14:15.279><c> if</c><00:14:15.399><c> you</c><00:14:15.560><c> have</c><00:14:16.000><c> formally</c>

00:14:16.509 --> 00:14:16.519 align:start position:0%
it doesn't matter if you have formally
 

00:14:16.519 --> 00:14:19.990 align:start position:0%
it doesn't matter if you have formally
verified<00:14:17.360><c> uh</c><00:14:17.720><c> circum</c><00:14:18.240><c> circuits</c><00:14:19.000><c> if</c><00:14:19.120><c> you</c><00:14:19.399><c> have</c>

00:14:19.990 --> 00:14:20.000 align:start position:0%
verified uh circum circuits if you have
 

00:14:20.000 --> 00:14:22.910 align:start position:0%
verified uh circum circuits if you have
the<00:14:20.160><c> best</c><00:14:20.680><c> back</c><00:14:20.880><c> end</c><00:14:21.160><c> or</c><00:14:21.360><c> front</c><00:14:21.639><c> end</c><00:14:22.600><c> it</c><00:14:22.759><c> could</c>

00:14:22.910 --> 00:14:22.920 align:start position:0%
the best back end or front end it could
 

00:14:22.920 --> 00:14:25.829 align:start position:0%
the best back end or front end it could
be<00:14:23.199><c> exploitable</c><00:14:24.199><c> and</c><00:14:25.040><c> that</c><00:14:25.279><c> basically</c><00:14:25.680><c> it's</c>

00:14:25.829 --> 00:14:25.839 align:start position:0%
be exploitable and that basically it's
 

00:14:25.839 --> 00:14:28.269 align:start position:0%
be exploitable and that basically it's
true<00:14:26.120><c> for</c><00:14:26.480><c> any</c><00:14:26.720><c> layer</c><00:14:27.160><c> so</c><00:14:27.440><c> if</c><00:14:27.560><c> your</c><00:14:27.759><c> front</c><00:14:28.000><c> end</c>

00:14:28.269 --> 00:14:28.279 align:start position:0%
true for any layer so if your front end
 

00:14:28.279 --> 00:14:32.189 align:start position:0%
true for any layer so if your front end
or<00:14:28.440><c> the</c><00:14:28.600><c> back</c><00:14:28.800><c> end</c><00:14:29.360><c> it's</c><00:14:29.839><c> uh</c><00:14:30.560><c> vulnerable</c><00:14:31.560><c> then</c>

00:14:32.189 --> 00:14:32.199 align:start position:0%
or the back end it's uh vulnerable then
 

00:14:32.199 --> 00:14:35.110 align:start position:0%
or the back end it's uh vulnerable then
even<00:14:32.480><c> if</c><00:14:32.600><c> you</c><00:14:32.800><c> have</c><00:14:33.240><c> formally</c><00:14:33.800><c> verify</c><00:14:34.800><c> uh</c><00:14:34.920><c> your</c>

00:14:35.110 --> 00:14:35.120 align:start position:0%
even if you have formally verify uh your
 

00:14:35.120 --> 00:14:38.189 align:start position:0%
even if you have formally verify uh your
circuits<00:14:36.040><c> they</c><00:14:36.199><c> could</c><00:14:36.360><c> be</c>

00:14:38.189 --> 00:14:38.199 align:start position:0%
circuits they could be
 

00:14:38.199 --> 00:14:41.350 align:start position:0%
circuits they could be
exploitable<00:14:39.199><c> okay</c><00:14:40.160><c> uh</c><00:14:40.360><c> so</c><00:14:40.680><c> we</c><00:14:40.880><c> did</c><00:14:41.079><c> that</c>

00:14:41.350 --> 00:14:41.360 align:start position:0%
exploitable okay uh so we did that
 

00:14:41.360 --> 00:14:43.470 align:start position:0%
exploitable okay uh so we did that
analysis<00:14:42.000><c> and</c><00:14:42.279><c> now</c><00:14:42.519><c> I</c><00:14:42.600><c> want</c><00:14:42.800><c> to</c><00:14:42.959><c> present</c><00:14:43.320><c> some</c>

00:14:43.470 --> 00:14:43.480 align:start position:0%
analysis and now I want to present some
 

00:14:43.480 --> 00:14:46.269 align:start position:0%
analysis and now I want to present some
of<00:14:43.639><c> the</c><00:14:43.839><c> results</c><00:14:44.839><c> uh</c><00:14:45.079><c> so</c><00:14:45.320><c> we</c><00:14:45.519><c> categorize</c><00:14:46.160><c> the</c>

00:14:46.269 --> 00:14:46.279 align:start position:0%
of the results uh so we categorize the
 

00:14:46.279 --> 00:14:49.150 align:start position:0%
of the results uh so we categorize the
bugs<00:14:46.959><c> in</c><00:14:47.360><c> uh</c><00:14:47.519><c> all</c><00:14:47.759><c> those</c><00:14:48.000><c> layers</c><00:14:48.600><c> and</c><00:14:48.839><c> also</c>

00:14:49.150 --> 00:14:49.160 align:start position:0%
bugs in uh all those layers and also
 

00:14:49.160 --> 00:14:51.670 align:start position:0%
bugs in uh all those layers and also
based<00:14:49.399><c> on</c><00:14:49.560><c> their</c><00:14:49.920><c> impacts</c><00:14:50.800><c> and</c><00:14:51.040><c> we</c><00:14:51.160><c> can</c><00:14:51.320><c> see</c>

00:14:51.670 --> 00:14:51.680 align:start position:0%
based on their impacts and we can see
 

00:14:51.680 --> 00:14:55.509 align:start position:0%
based on their impacts and we can see
that<00:14:52.079><c> circuits</c><00:14:53.079><c> was</c><00:14:53.560><c> uh</c><00:14:53.800><c> the</c><00:14:53.959><c> number</c><00:14:54.360><c> one</c><00:14:55.320><c> uh</c>

00:14:55.509 --> 00:14:55.519 align:start position:0%
that circuits was uh the number one uh
 

00:14:55.519 --> 00:14:58.269 align:start position:0%
that circuits was uh the number one uh
threat<00:14:56.079><c> in</c><00:14:56.279><c> the</c><00:14:56.480><c> whole</c><00:14:57.040><c> infrastructure</c><00:14:58.040><c> of</c>

00:14:58.269 --> 00:14:58.279 align:start position:0%
threat in the whole infrastructure of
 

00:14:58.279 --> 00:14:59.670 align:start position:0%
threat in the whole infrastructure of
using<00:14:58.880><c> uh</c>

00:14:59.670 --> 00:14:59.680 align:start position:0%
using uh
 

00:14:59.680 --> 00:15:02.590 align:start position:0%
using uh
zkps<00:15:00.680><c> and</c><00:15:01.160><c> also</c><00:15:01.720><c> most</c><00:15:01.959><c> of</c><00:15:02.079><c> the</c>

00:15:02.590 --> 00:15:02.600 align:start position:0%
zkps and also most of the
 

00:15:02.600 --> 00:15:04.310 align:start position:0%
zkps and also most of the
vulnerabilities

00:15:04.310 --> 00:15:04.320 align:start position:0%
vulnerabilities
 

00:15:04.320 --> 00:15:07.949 align:start position:0%
vulnerabilities
are<00:15:05.320><c> res</c><00:15:05.639><c> can</c><00:15:05.880><c> result</c><00:15:06.240><c> in</c><00:15:06.399><c> soundness</c>

00:15:07.949 --> 00:15:07.959 align:start position:0%
are res can result in soundness
 

00:15:07.959 --> 00:15:12.389 align:start position:0%
are res can result in soundness
issues<00:15:08.959><c> so</c><00:15:09.839><c> what</c><00:15:10.040><c> can</c><00:15:10.279><c> we</c><00:15:10.519><c> do</c><00:15:11.519><c> uh</c><00:15:11.720><c> fortunately</c>

00:15:12.389 --> 00:15:12.399 align:start position:0%
issues so what can we do uh fortunately
 

00:15:12.399 --> 00:15:14.470 align:start position:0%
issues so what can we do uh fortunately
there<00:15:12.560><c> has</c><00:15:12.720><c> been</c><00:15:13.000><c> like</c><00:15:13.279><c> a</c><00:15:13.440><c> lot</c><00:15:13.600><c> of</c><00:15:13.800><c> development</c>

00:15:14.470 --> 00:15:14.480 align:start position:0%
there has been like a lot of development
 

00:15:14.480 --> 00:15:18.189 align:start position:0%
there has been like a lot of development
and<00:15:14.600><c> a</c><00:15:14.720><c> lot</c><00:15:14.880><c> of</c><00:15:15.079><c> research</c><00:15:16.040><c> of</c><00:15:16.560><c> uh</c><00:15:17.000><c> creating</c><00:15:18.000><c> uh</c>

00:15:18.189 --> 00:15:18.199 align:start position:0%
and a lot of research of uh creating uh
 

00:15:18.199 --> 00:15:22.749 align:start position:0%
and a lot of research of uh creating uh
security<00:15:18.720><c> tools</c><00:15:19.600><c> for</c><00:15:20.360><c> ZK</c><00:15:20.880><c> circuits</c>

00:15:22.749 --> 00:15:22.759 align:start position:0%
security tools for ZK circuits
 

00:15:22.759 --> 00:15:28.150 align:start position:0%
security tools for ZK circuits
for<00:15:23.759><c> specifically</c><00:15:24.519><c> for</c><00:15:24.959><c> ZK</c><00:15:25.519><c> VMS</c><00:15:26.040><c> or</c><00:15:26.279><c> ZK</c><00:15:27.160><c> EVMS</c>

00:15:28.150 --> 00:15:28.160 align:start position:0%
for specifically for ZK VMS or ZK EVMS
 

00:15:28.160 --> 00:15:31.150 align:start position:0%
for specifically for ZK VMS or ZK EVMS
and<00:15:28.519><c> also</c><00:15:29.319><c> in</c><00:15:29.440><c> the</c><00:15:29.639><c> last</c><00:15:29.920><c> month</c><00:15:30.680><c> two</c><00:15:30.880><c> new</c>

00:15:31.150 --> 00:15:31.160 align:start position:0%
and also in the last month two new
 

00:15:31.160 --> 00:15:33.949 align:start position:0%
and also in the last month two new
papers<00:15:31.519><c> were</c><00:15:31.839><c> published</c><00:15:32.319><c> and</c><00:15:32.519><c> tools</c><00:15:33.360><c> circus</c>

00:15:33.949 --> 00:15:33.959 align:start position:0%
papers were published and tools circus
 

00:15:33.959 --> 00:15:36.269 align:start position:0%
papers were published and tools circus
which<00:15:34.160><c> was</c><00:15:34.399><c> presented</c><00:15:35.079><c> in</c><00:15:35.199><c> the</c><00:15:35.360><c> previous</c><00:15:36.000><c> um</c>

00:15:36.269 --> 00:15:36.279 align:start position:0%
which was presented in the previous um
 

00:15:36.279 --> 00:15:39.629 align:start position:0%
which was presented in the previous um
talk<00:15:36.680><c> and</c><00:15:36.959><c> also</c><00:15:37.440><c> MTZ</c><00:15:38.120><c> K</c><00:15:38.800><c> which</c><00:15:38.920><c> is</c><00:15:39.160><c> great</c>

00:15:39.629 --> 00:15:39.639 align:start position:0%
talk and also MTZ K which is great
 

00:15:39.639 --> 00:15:42.389 align:start position:0%
talk and also MTZ K which is great
because<00:15:40.319><c> such</c><00:15:40.880><c> novel</c><00:15:41.279><c> tools</c><00:15:41.680><c> can</c><00:15:41.880><c> detect</c>

00:15:42.389 --> 00:15:42.399 align:start position:0%
because such novel tools can detect
 

00:15:42.399 --> 00:15:46.509 align:start position:0%
because such novel tools can detect
infrastructure<00:15:43.120><c> bugs</c><00:15:44.000><c> uh</c><00:15:44.079><c> in</c><00:15:44.560><c> circuits</c><00:15:45.560><c> in</c><00:15:46.000><c> uh</c>

00:15:46.509 --> 00:15:46.519 align:start position:0%
infrastructure bugs uh in circuits in uh
 

00:15:46.519 --> 00:15:49.670 align:start position:0%
infrastructure bugs uh in circuits in uh
zkps<00:15:47.519><c> but</c><00:15:48.079><c> I</c><00:15:48.160><c> would</c><00:15:48.360><c> say</c><00:15:48.519><c> there</c><00:15:48.680><c> are</c><00:15:49.160><c> still</c>

00:15:49.670 --> 00:15:49.680 align:start position:0%
zkps but I would say there are still
 

00:15:49.680 --> 00:15:52.110 align:start position:0%
zkps but I would say there are still
still<00:15:50.000><c> a</c><00:15:50.160><c> lot</c><00:15:50.560><c> of</c><00:15:50.800><c> work</c><00:15:51.279><c> that</c><00:15:51.560><c> needs</c><00:15:51.839><c> to</c><00:15:51.959><c> be</c>

00:15:52.110 --> 00:15:52.120 align:start position:0%
still a lot of work that needs to be
 

00:15:52.120 --> 00:15:55.710 align:start position:0%
still a lot of work that needs to be
done<00:15:52.880><c> uh</c><00:15:53.079><c> for</c><00:15:53.319><c> example</c><00:15:53.959><c> most</c><00:15:54.240><c> of</c><00:15:54.480><c> the</c><00:15:55.120><c> circuit</c>

00:15:55.710 --> 00:15:55.720 align:start position:0%
done uh for example most of the circuit
 

00:15:55.720 --> 00:15:59.829 align:start position:0%
done uh for example most of the circuit
tools<00:15:56.720><c> they</c><00:15:57.160><c> target</c><00:15:57.720><c> a</c><00:15:57.920><c> specific</c><00:15:58.360><c> DSL</c>

00:15:59.829 --> 00:15:59.839 align:start position:0%
tools they target a specific DSL
 

00:15:59.839 --> 00:16:03.150 align:start position:0%
tools they target a specific DSL
and<00:16:00.680><c> also</c><00:16:01.079><c> they</c><00:16:01.279><c> typically</c><00:16:01.800><c> Target</c><00:16:02.440><c> a</c>

00:16:03.150 --> 00:16:03.160 align:start position:0%
and also they typically Target a
 

00:16:03.160 --> 00:16:07.710 align:start position:0%
and also they typically Target a
specific<00:16:04.160><c> uh</c><00:16:04.319><c> vulnerability</c><00:16:05.759><c> class</c><00:16:06.759><c> and</c><00:16:07.480><c> then</c>

00:16:07.710 --> 00:16:07.720 align:start position:0%
specific uh vulnerability class and then
 

00:16:07.720 --> 00:16:10.350 align:start position:0%
specific uh vulnerability class and then
we<00:16:07.920><c> have</c><00:16:08.440><c> uh</c><00:16:08.720><c> some</c><00:16:09.000><c> tools</c><00:16:09.399><c> like</c><00:16:09.560><c> static</c><00:16:09.880><c> analys</c>

00:16:10.350 --> 00:16:10.360 align:start position:0%
we have uh some tools like static analys
 

00:16:10.360 --> 00:16:13.150 align:start position:0%
we have uh some tools like static analys
tools<00:16:10.680><c> like</c><00:16:10.880><c> circum</c><00:16:11.680><c> spect</c><00:16:12.279><c> which</c><00:16:12.480><c> might</c><00:16:12.800><c> have</c>

00:16:13.150 --> 00:16:13.160 align:start position:0%
tools like circum spect which might have
 

00:16:13.160 --> 00:16:16.749 align:start position:0%
tools like circum spect which might have
tons<00:16:13.959><c> of</c><00:16:14.560><c> U</c><00:16:14.959><c> false</c><00:16:15.360><c> positives</c><00:16:16.279><c> and</c><00:16:16.440><c> then</c><00:16:16.600><c> we</c>

00:16:16.749 --> 00:16:16.759 align:start position:0%
tons of U false positives and then we
 

00:16:16.759 --> 00:16:19.389 align:start position:0%
tons of U false positives and then we
have<00:16:16.920><c> some</c><00:16:17.360><c> really</c><00:16:17.639><c> nice</c><00:16:17.920><c> tools</c><00:16:18.279><c> and</c><00:16:18.839><c> very</c>

00:16:19.389 --> 00:16:19.399 align:start position:0%
have some really nice tools and very
 

00:16:19.399 --> 00:16:22.309 align:start position:0%
have some really nice tools and very
novel<00:16:19.839><c> tools</c><00:16:20.360><c> like</c><00:16:20.839><c> pus</c><00:16:21.639><c> that</c><00:16:21.800><c> try</c><00:16:22.120><c> to</c>

00:16:22.309 --> 00:16:22.319 align:start position:0%
novel tools like pus that try to
 

00:16:22.319 --> 00:16:25.870 align:start position:0%
novel tools like pus that try to
formally<00:16:22.800><c> verify</c><00:16:23.639><c> and</c><00:16:24.399><c> find</c><00:16:25.040><c> any</c><00:16:25.440><c> under</c>

00:16:25.870 --> 00:16:25.880 align:start position:0%
formally verify and find any under
 

00:16:25.880 --> 00:16:28.470 align:start position:0%
formally verify and find any under
constraint<00:16:26.360><c> issues</c><00:16:26.959><c> in</c><00:16:27.120><c> the</c><00:16:27.279><c> circuits</c><00:16:28.079><c> but</c>

00:16:28.470 --> 00:16:28.480 align:start position:0%
constraint issues in the circuits but
 

00:16:28.480 --> 00:16:31.230 align:start position:0%
constraint issues in the circuits but
unfort<00:16:28.920><c> fortunately</c><00:16:29.880><c> uh</c><00:16:30.160><c> th</c><00:16:30.480><c> those</c><00:16:30.680><c> tools</c><00:16:31.079><c> do</c>

00:16:31.230 --> 00:16:31.240 align:start position:0%
unfort fortunately uh th those tools do
 

00:16:31.240 --> 00:16:34.030 align:start position:0%
unfort fortunately uh th those tools do
not<00:16:31.399><c> scale</c><00:16:31.839><c> that</c><00:16:32.000><c> well</c><00:16:32.759><c> uh</c><00:16:32.839><c> so</c><00:16:33.079><c> there's</c><00:16:33.560><c> a</c><00:16:33.800><c> lot</c>

00:16:34.030 --> 00:16:34.040 align:start position:0%
not scale that well uh so there's a lot
 

00:16:34.040 --> 00:16:37.749 align:start position:0%
not scale that well uh so there's a lot
of<00:16:34.480><c> uh</c><00:16:34.720><c> space</c><00:16:35.120><c> to</c><00:16:35.319><c> do</c><00:16:35.800><c> to</c><00:16:36.040><c> have</c><00:16:36.560><c> Innovation</c><00:16:37.560><c> uh</c>

00:16:37.749 --> 00:16:37.759 align:start position:0%
of uh space to do to have Innovation uh
 

00:16:37.759 --> 00:16:41.030 align:start position:0%
of uh space to do to have Innovation uh
and<00:16:38.040><c> try</c><00:16:38.360><c> to</c><00:16:38.839><c> build</c><00:16:39.240><c> better</c><00:16:39.560><c> tools</c><00:16:40.480><c> and</c><00:16:40.839><c> uh</c>

00:16:41.030 --> 00:16:41.040 align:start position:0%
and try to build better tools and uh
 

00:16:41.040 --> 00:16:44.389 align:start position:0%
and try to build better tools and uh
here<00:16:41.279><c> I</c><00:16:41.440><c> have</c><00:16:41.680><c> a</c><00:16:41.920><c> list</c><00:16:42.680><c> of</c><00:16:43.360><c> um</c><00:16:43.680><c> security</c><00:16:44.120><c> tools</c>

00:16:44.389 --> 00:16:44.399 align:start position:0%
here I have a list of um security tools
 

00:16:44.399 --> 00:16:46.470 align:start position:0%
here I have a list of um security tools
you<00:16:44.480><c> can</c><00:16:44.600><c> scar</c><00:16:45.240><c> that</c><00:16:45.480><c> QR</c><00:16:45.880><c> code</c><00:16:46.120><c> and</c><00:16:46.279><c> it's</c>

00:16:46.470 --> 00:16:46.480 align:start position:0%
you can scar that QR code and it's
 

00:16:46.480 --> 00:16:49.670 align:start position:0%
you can scar that QR code and it's
basically<00:16:46.880><c> GitHub</c><00:16:47.759><c> repository</c><00:16:48.759><c> if</c><00:16:49.199><c> I</c><00:16:49.360><c> don't</c>

00:16:49.670 --> 00:16:49.680 align:start position:0%
basically GitHub repository if I don't
 

00:16:49.680 --> 00:16:51.230 align:start position:0%
basically GitHub repository if I don't
have<00:16:49.920><c> any</c><00:16:50.079><c> of</c><00:16:50.240><c> the</c><00:16:50.360><c> tools</c><00:16:50.639><c> that</c><00:16:50.759><c> you</c><00:16:50.839><c> are</c><00:16:50.959><c> know</c>

00:16:51.230 --> 00:16:51.240 align:start position:0%
have any of the tools that you are know
 

00:16:51.240 --> 00:16:55.230 align:start position:0%
have any of the tools that you are know
of<00:16:51.720><c> please</c><00:16:52.160><c> add</c><00:16:52.440><c> them</c><00:16:53.399><c> and</c><00:16:53.839><c> yeah</c><00:16:54.279><c> we</c><00:16:54.720><c> need</c><00:16:55.040><c> to</c>

00:16:55.230 --> 00:16:55.240 align:start position:0%
of please add them and yeah we need to
 

00:16:55.240 --> 00:16:59.189 align:start position:0%
of please add them and yeah we need to
do<00:16:55.399><c> a</c><00:16:55.600><c> better</c><00:16:56.000><c> job</c><00:16:56.319><c> here</c><00:16:57.079><c> and</c><00:16:57.600><c> one</c><00:16:58.360><c> also</c><00:16:58.920><c> major</c>

00:16:59.189 --> 00:16:59.199 align:start position:0%
do a better job here and one also major
 

00:16:59.199 --> 00:17:01.030 align:start position:0%
do a better job here and one also major
issue<00:16:59.440><c> I</c><00:16:59.560><c> see</c><00:16:59.720><c> in</c><00:16:59.800><c> the</c><00:17:00.000><c> space</c><00:17:00.560><c> is</c><00:17:00.720><c> that</c><00:17:00.920><c> we</c>

00:17:01.030 --> 00:17:01.040 align:start position:0%
issue I see in the space is that we
 

00:17:01.040 --> 00:17:04.309 align:start position:0%
issue I see in the space is that we
don't<00:17:01.440><c> have</c><00:17:02.079><c> good</c><00:17:02.920><c> uh</c><00:17:03.079><c> tools</c><00:17:03.480><c> for</c><00:17:03.800><c> writing</c>

00:17:04.309 --> 00:17:04.319 align:start position:0%
don't have good uh tools for writing
 

00:17:04.319 --> 00:17:08.949 align:start position:0%
don't have good uh tools for writing
tests<00:17:05.160><c> and</c><00:17:05.640><c> most</c><00:17:06.160><c> of</c><00:17:06.559><c> the</c><00:17:07.559><c> code</c><00:17:07.839><c> base</c><00:17:08.480><c> that</c><00:17:08.679><c> us</c>

00:17:08.949 --> 00:17:08.959 align:start position:0%
tests and most of the code base that us
 

00:17:08.959 --> 00:17:11.829 align:start position:0%
tests and most of the code base that us
your<00:17:09.199><c> knowledge</c><00:17:09.600><c> proes</c><00:17:10.600><c> are</c><00:17:10.959><c> unfortunately</c>

00:17:11.829 --> 00:17:11.839 align:start position:0%
your knowledge proes are unfortunately
 

00:17:11.839 --> 00:17:14.590 align:start position:0%
your knowledge proes are unfortunately
not<00:17:12.120><c> that</c><00:17:12.520><c> uh</c><00:17:12.720><c> good</c><00:17:13.000><c> in</c><00:17:13.439><c> having</c><00:17:13.919><c> like</c><00:17:14.240><c> a</c>

00:17:14.590 --> 00:17:14.600 align:start position:0%
not that uh good in having like a
 

00:17:14.600 --> 00:17:17.270 align:start position:0%
not that uh good in having like a
complete<00:17:15.120><c> test</c><00:17:15.400><c> Suites</c><00:17:15.919><c> and</c><00:17:16.120><c> try</c><00:17:16.439><c> to</c><00:17:16.839><c> to</c>

00:17:17.270 --> 00:17:17.280 align:start position:0%
complete test Suites and try to to
 

00:17:17.280 --> 00:17:20.350 align:start position:0%
complete test Suites and try to to
understand<00:17:17.760><c> in</c><00:17:17.919><c> the</c><00:17:18.120><c> testing</c><00:17:18.760><c> uh</c><00:17:19.439><c> part</c><00:17:19.799><c> both</c>

00:17:20.350 --> 00:17:20.360 align:start position:0%
understand in the testing uh part both
 

00:17:20.360 --> 00:17:23.350 align:start position:0%
understand in the testing uh part both
uh<00:17:20.600><c> soundness</c><00:17:21.360><c> and</c><00:17:21.600><c> completeness</c>

00:17:23.350 --> 00:17:23.360 align:start position:0%
uh soundness and completeness
 

00:17:23.360 --> 00:17:27.069 align:start position:0%
uh soundness and completeness
issues<00:17:24.360><c> okay</c><00:17:24.720><c> so</c><00:17:25.120><c> in</c><00:17:25.600><c> conclusion</c><00:17:26.600><c> why</c><00:17:26.760><c> do</c><00:17:26.919><c> we</c>

00:17:27.069 --> 00:17:27.079 align:start position:0%
issues okay so in conclusion why do we
 

00:17:27.079 --> 00:17:29.870 align:start position:0%
issues okay so in conclusion why do we
have<00:17:27.679><c> bugs</c><00:17:28.679><c> well</c><00:17:28.919><c> one</c><00:17:29.039><c> of</c><00:17:29.120><c> the</c><00:17:29.240><c> reasons</c><00:17:29.640><c> is</c>

00:17:29.870 --> 00:17:29.880 align:start position:0%
have bugs well one of the reasons is
 

00:17:29.880 --> 00:17:32.789 align:start position:0%
have bugs well one of the reasons is
that<00:17:30.080><c> because</c><00:17:30.640><c> zkps</c><00:17:31.360><c> are</c><00:17:31.600><c> not</c><00:17:31.840><c> just</c><00:17:32.039><c> mods</c>

00:17:32.789 --> 00:17:32.799 align:start position:0%
that because zkps are not just mods
 

00:17:32.799 --> 00:17:34.669 align:start position:0%
that because zkps are not just mods
there<00:17:32.919><c> are</c><00:17:33.160><c> implementations</c><00:17:34.160><c> and</c><00:17:34.440><c> many</c>

00:17:34.669 --> 00:17:34.679 align:start position:0%
there are implementations and many
 

00:17:34.679 --> 00:17:36.870 align:start position:0%
there are implementations and many
things<00:17:34.880><c> can</c><00:17:35.039><c> go</c><00:17:35.200><c> wrong</c><00:17:35.440><c> in</c><00:17:35.600><c> those</c>

00:17:36.870 --> 00:17:36.880 align:start position:0%
things can go wrong in those
 

00:17:36.880 --> 00:17:39.950 align:start position:0%
things can go wrong in those
implementations<00:17:37.880><c> uh</c><00:17:38.120><c> why</c>

00:17:39.950 --> 00:17:39.960 align:start position:0%
implementations uh why
 

00:17:39.960 --> 00:17:43.430 align:start position:0%
implementations uh why
else<00:17:40.960><c> H</c><00:17:41.200><c> this</c><00:17:41.400><c> is</c><00:17:41.559><c> a</c><00:17:41.880><c> quote</c><00:17:42.320><c> from</c><00:17:42.600><c> Ron</c><00:17:42.960><c> rivest</c>

00:17:43.430 --> 00:17:43.440 align:start position:0%
else H this is a quote from Ron rivest
 

00:17:43.440 --> 00:17:46.430 align:start position:0%
else H this is a quote from Ron rivest
in<00:17:43.600><c> a</c><00:17:43.799><c> completely</c><00:17:44.799><c> uh</c><00:17:45.120><c> different</c><00:17:45.520><c> context</c><00:17:46.120><c> but</c>

00:17:46.430 --> 00:17:46.440 align:start position:0%
in a completely uh different context but
 

00:17:46.440 --> 00:17:49.150 align:start position:0%
in a completely uh different context but
I<00:17:46.559><c> really</c><00:17:46.840><c> like</c><00:17:47.039><c> it</c><00:17:47.559><c> and</c><00:17:47.760><c> I</c><00:17:47.840><c> would</c><00:17:48.000><c> say</c><00:17:48.360><c> that</c><00:17:48.840><c> in</c>

00:17:49.150 --> 00:17:49.160 align:start position:0%
I really like it and I would say that in
 

00:17:49.160 --> 00:17:51.870 align:start position:0%
I really like it and I would say that in
the<00:17:49.280><c> ZK</c><00:17:49.720><c> space</c><00:17:50.480><c> unfortunately</c><00:17:51.240><c> we</c><00:17:51.400><c> have</c><00:17:51.600><c> give</c>

00:17:51.870 --> 00:17:51.880 align:start position:0%
the ZK space unfortunately we have give
 

00:17:51.880 --> 00:17:55.070 align:start position:0%
the ZK space unfortunately we have give
to<00:17:52.039><c> the</c><00:17:52.200><c> poor</c><00:17:52.880><c> developer</c><00:17:53.880><c> uh</c><00:17:54.160><c> enough</c><00:17:54.640><c> rope</c>

00:17:55.070 --> 00:17:55.080 align:start position:0%
to the poor developer uh enough rope
 

00:17:55.080 --> 00:17:57.909 align:start position:0%
to the poor developer uh enough rope
with<00:17:55.280><c> which</c><00:17:55.559><c> to</c><00:17:55.720><c> hun</c><00:17:56.440><c> himself</c><00:17:57.440><c> circuit</c>

00:17:57.909 --> 00:17:57.919 align:start position:0%
with which to hun himself circuit
 

00:17:57.919 --> 00:18:00.710 align:start position:0%
with which to hun himself circuit
languages<00:17:58.600><c> are</c><00:17:58.840><c> are</c><00:17:59.159><c> typically</c><00:18:00.159><c> very</c><00:18:00.400><c> low</c>

00:18:00.710 --> 00:18:00.720 align:start position:0%
languages are are typically very low
 

00:18:00.720 --> 00:18:03.630 align:start position:0%
languages are are typically very low
level<00:18:01.679><c> so</c><00:18:02.080><c> they</c><00:18:02.240><c> don't</c><00:18:02.640><c> have</c><00:18:03.360><c> good</c>

00:18:03.630 --> 00:18:03.640 align:start position:0%
level so they don't have good
 

00:18:03.640 --> 00:18:06.669 align:start position:0%
level so they don't have good
abstractions<00:18:04.320><c> for</c><00:18:04.600><c> developers</c><00:18:05.159><c> to</c><00:18:05.360><c> write</c><00:18:05.960><c> U</c>

00:18:06.669 --> 00:18:06.679 align:start position:0%
abstractions for developers to write U
 

00:18:06.679 --> 00:18:10.190 align:start position:0%
abstractions for developers to write U
uh<00:18:07.280><c> safe</c><00:18:07.760><c> code</c><00:18:08.679><c> uh</c><00:18:08.840><c> we</c><00:18:09.080><c> expose</c><00:18:09.720><c> a</c><00:18:09.880><c> lot</c><00:18:10.039><c> of</c>

00:18:10.190 --> 00:18:10.200 align:start position:0%
uh safe code uh we expose a lot of
 

00:18:10.200 --> 00:18:13.149 align:start position:0%
uh safe code uh we expose a lot of
cryptography<00:18:10.880><c> to</c><00:18:11.039><c> the</c><00:18:11.200><c> outo</c><00:18:11.600><c> layers</c><00:18:12.559><c> and</c><00:18:12.799><c> also</c>

00:18:13.149 --> 00:18:13.159 align:start position:0%
cryptography to the outo layers and also
 

00:18:13.159 --> 00:18:15.029 align:start position:0%
cryptography to the outo layers and also
there<00:18:13.280><c> is</c><00:18:13.400><c> a</c><00:18:13.559><c> lot</c><00:18:13.679><c> of</c><00:18:13.880><c> complexity</c><00:18:14.600><c> and</c><00:18:14.840><c> a</c>

00:18:15.029 --> 00:18:15.039 align:start position:0%
there is a lot of complexity and a
 

00:18:15.039 --> 00:18:18.470 align:start position:0%
there is a lot of complexity and a
different<00:18:16.000><c> uh</c><00:18:16.159><c> threat</c><00:18:16.559><c> model</c><00:18:17.440><c> than</c><00:18:17.760><c> what</c><00:18:18.280><c> uh</c>

00:18:18.470 --> 00:18:18.480 align:start position:0%
different uh threat model than what uh
 

00:18:18.480 --> 00:18:20.950 align:start position:0%
different uh threat model than what uh
developers<00:18:19.159><c> are</c><00:18:19.360><c> used</c>

00:18:20.950 --> 00:18:20.960 align:start position:0%
developers are used
 

00:18:20.960 --> 00:18:24.390 align:start position:0%
developers are used
to<00:18:21.960><c> and</c><00:18:22.280><c> there</c><00:18:22.440><c> is</c><00:18:22.559><c> a</c><00:18:22.799><c> lack</c><00:18:22.919><c> of</c><00:18:23.080><c> specification</c>

00:18:24.390 --> 00:18:24.400 align:start position:0%
to and there is a lack of specification
 

00:18:24.400 --> 00:18:27.669 align:start position:0%
to and there is a lack of specification
throughout<00:18:25.400><c> um</c><00:18:25.960><c> the</c><00:18:26.159><c> whole</c><00:18:26.880><c> uh</c><00:18:27.480><c> uh</c>

00:18:27.669 --> 00:18:27.679 align:start position:0%
throughout um the whole uh uh
 

00:18:27.679 --> 00:18:29.270 align:start position:0%
throughout um the whole uh uh
infrastructure<00:18:28.600><c> and</c>

00:18:29.270 --> 00:18:29.280 align:start position:0%
infrastructure and
 

00:18:29.280 --> 00:18:31.909 align:start position:0%
infrastructure and
the<00:18:29.440><c> whole</c><00:18:29.679><c> stack</c><00:18:30.240><c> for</c><00:18:30.480><c> using</c><00:18:30.799><c> zkps</c><00:18:31.520><c> so</c><00:18:31.760><c> we</c>

00:18:31.909 --> 00:18:31.919 align:start position:0%
the whole stack for using zkps so we
 

00:18:31.919 --> 00:18:33.870 align:start position:0%
the whole stack for using zkps so we
need<00:18:32.120><c> to</c><00:18:32.280><c> write</c><00:18:32.559><c> more</c>

00:18:33.870 --> 00:18:33.880 align:start position:0%
need to write more
 

00:18:33.880 --> 00:18:36.830 align:start position:0%
need to write more
specifications<00:18:34.880><c> so</c><00:18:35.799><c> what</c><00:18:36.000><c> can</c><00:18:36.200><c> we</c><00:18:36.360><c> do</c>

00:18:36.830 --> 00:18:36.840 align:start position:0%
specifications so what can we do
 

00:18:36.840 --> 00:18:38.870 align:start position:0%
specifications so what can we do
basically<00:18:37.280><c> we</c><00:18:37.440><c> have</c><00:18:37.559><c> to</c><00:18:37.720><c> negate</c><00:18:38.480><c> everything</c>

00:18:38.870 --> 00:18:38.880 align:start position:0%
basically we have to negate everything
 

00:18:38.880 --> 00:18:40.990 align:start position:0%
basically we have to negate everything
from<00:18:39.080><c> the</c><00:18:39.200><c> previous</c><00:18:39.520><c> slide</c><00:18:40.280><c> we</c><00:18:40.440><c> need</c><00:18:40.760><c> more</c>

00:18:40.990 --> 00:18:41.000 align:start position:0%
from the previous slide we need more
 

00:18:41.000 --> 00:18:43.310 align:start position:0%
from the previous slide we need more
learning<00:18:41.480><c> resources</c><00:18:42.200><c> which</c><00:18:42.440><c> I</c><00:18:42.520><c> think</c><00:18:42.799><c> we</c><00:18:43.120><c> are</c>

00:18:43.310 --> 00:18:43.320 align:start position:0%
learning resources which I think we are
 

00:18:43.320 --> 00:18:47.230 align:start position:0%
learning resources which I think we are
doing<00:18:43.840><c> a</c><00:18:44.159><c> great</c><00:18:44.520><c> job</c><00:18:44.840><c> in</c><00:18:45.039><c> that</c><00:18:45.520><c> as</c><00:18:45.799><c> a</c><00:18:46.240><c> community</c>

00:18:47.230 --> 00:18:47.240 align:start position:0%
doing a great job in that as a community
 

00:18:47.240 --> 00:18:49.549 align:start position:0%
doing a great job in that as a community
uh<00:18:47.400><c> we</c><00:18:47.559><c> need</c><00:18:47.799><c> to</c><00:18:47.960><c> write</c><00:18:48.360><c> specifications</c><00:18:49.360><c> and</c>

00:18:49.549 --> 00:18:49.559 align:start position:0%
uh we need to write specifications and
 

00:18:49.559 --> 00:18:52.669 align:start position:0%
uh we need to write specifications and
get<00:18:49.880><c> used</c><00:18:50.200><c> to</c><00:18:50.360><c> write</c><00:18:50.799><c> specifications</c><00:18:51.760><c> because</c>

00:18:52.669 --> 00:18:52.679 align:start position:0%
get used to write specifications because
 

00:18:52.679 --> 00:18:54.510 align:start position:0%
get used to write specifications because
uh<00:18:52.880><c> if</c><00:18:53.000><c> we</c><00:18:53.120><c> have</c><00:18:53.320><c> complete</c><00:18:53.679><c> specification</c>

00:18:54.510 --> 00:18:54.520 align:start position:0%
uh if we have complete specification
 

00:18:54.520 --> 00:18:57.070 align:start position:0%
uh if we have complete specification
then<00:18:54.799><c> we</c><00:18:54.960><c> know</c><00:18:55.480><c> exactly</c><00:18:56.080><c> what</c><00:18:56.280><c> checks</c><00:18:56.960><c> we</c>

00:18:57.070 --> 00:18:57.080 align:start position:0%
then we know exactly what checks we
 

00:18:57.080 --> 00:19:00.750 align:start position:0%
then we know exactly what checks we
should<00:18:57.440><c> put</c><00:18:58.200><c> uh</c><00:18:58.360><c> in</c><00:18:58.880><c> each</c><00:18:59.400><c> uh</c><00:18:59.640><c> layer</c><00:19:00.280><c> and</c><00:19:00.600><c> what</c>

00:19:00.750 --> 00:19:00.760 align:start position:0%
should put uh in each uh layer and what
 

00:19:00.760 --> 00:19:02.830 align:start position:0%
should put uh in each uh layer and what
vulnerabilities<00:19:01.520><c> can</c><00:19:01.720><c> happen</c><00:19:02.000><c> in</c><00:19:02.120><c> each</c><00:19:02.360><c> layer</c>

00:19:02.830 --> 00:19:02.840 align:start position:0%
vulnerabilities can happen in each layer
 

00:19:02.840 --> 00:19:05.630 align:start position:0%
vulnerabilities can happen in each layer
and<00:19:03.039><c> that's</c><00:19:03.280><c> how</c><00:19:03.559><c> we</c><00:19:04.080><c> can</c><00:19:04.360><c> help</c><00:19:05.000><c> developers</c>

00:19:05.630 --> 00:19:05.640 align:start position:0%
and that's how we can help developers
 

00:19:05.640 --> 00:19:09.390 align:start position:0%
and that's how we can help developers
but<00:19:05.840><c> also</c><00:19:06.400><c> Auditors</c><00:19:07.080><c> into</c><00:19:07.360><c> doing</c><00:19:08.000><c> a</c><00:19:08.200><c> better</c><00:19:09.200><c> uh</c>

00:19:09.390 --> 00:19:09.400 align:start position:0%
but also Auditors into doing a better uh
 

00:19:09.400 --> 00:19:12.230 align:start position:0%
but also Auditors into doing a better uh
job<00:19:09.679><c> in</c><00:19:09.840><c> trying</c><00:19:10.120><c> to</c><00:19:10.280><c> find</c><00:19:11.080><c> vulnerabilities</c><00:19:12.080><c> uh</c>

00:19:12.230 --> 00:19:12.240 align:start position:0%
job in trying to find vulnerabilities uh
 

00:19:12.240 --> 00:19:15.870 align:start position:0%
job in trying to find vulnerabilities uh
in<00:19:12.440><c> those</c><00:19:13.200><c> systems</c><00:19:14.200><c> we</c><00:19:14.360><c> need</c><00:19:14.880><c> easier</c><00:19:15.440><c> and</c><00:19:15.640><c> more</c>

00:19:15.870 --> 00:19:15.880 align:start position:0%
in those systems we need easier and more
 

00:19:15.880 --> 00:19:18.590 align:start position:0%
in those systems we need easier and more
secure<00:19:16.240><c> programming</c><00:19:16.919><c> languages</c><00:19:17.919><c> which</c><00:19:18.480><c> I</c>

00:19:18.590 --> 00:19:18.600 align:start position:0%
secure programming languages which I
 

00:19:18.600 --> 00:19:20.549 align:start position:0%
secure programming languages which I
think<00:19:18.799><c> it's</c><00:19:19.120><c> kind</c><00:19:19.320><c> of</c><00:19:19.679><c> where</c><00:19:19.880><c> we</c><00:19:20.000><c> are</c><00:19:20.159><c> heading</c>

00:19:20.549 --> 00:19:20.559 align:start position:0%
think it's kind of where we are heading
 

00:19:20.559 --> 00:19:24.190 align:start position:0%
think it's kind of where we are heading
to<00:19:21.360><c> uh</c><00:19:21.520><c> for</c><00:19:21.799><c> example</c><00:19:22.320><c> Noir</c><00:19:22.840><c> is</c><00:19:22.960><c> a</c><00:19:23.520><c> is</c><00:19:23.679><c> a</c><00:19:23.919><c> great</c>

00:19:24.190 --> 00:19:24.200 align:start position:0%
to uh for example Noir is a is a great
 

00:19:24.200 --> 00:19:27.149 align:start position:0%
to uh for example Noir is a is a great
language<00:19:24.919><c> that</c><00:19:25.080><c> it's</c><00:19:25.480><c> much</c><00:19:25.640><c> more</c><00:19:25.880><c> safer</c><00:19:26.440><c> than</c>

00:19:27.149 --> 00:19:27.159 align:start position:0%
language that it's much more safer than
 

00:19:27.159 --> 00:19:31.710 align:start position:0%
language that it's much more safer than
writing<00:19:28.000><c> uh</c><00:19:28.200><c> circuits</c><00:19:28.840><c> in</c><00:19:29.080><c> ccom</c><00:19:30.080><c> or</c><00:19:30.720><c> hello2</c>

00:19:31.710 --> 00:19:31.720 align:start position:0%
writing uh circuits in ccom or hello2
 

00:19:31.720 --> 00:19:33.630 align:start position:0%
writing uh circuits in ccom or hello2
but<00:19:32.039><c> in</c><00:19:32.200><c> some</c><00:19:32.440><c> cases</c><00:19:32.799><c> people</c><00:19:33.000><c> will</c><00:19:33.240><c> still</c><00:19:33.440><c> need</c>

00:19:33.630 --> 00:19:33.640 align:start position:0%
but in some cases people will still need
 

00:19:33.640 --> 00:19:36.950 align:start position:0%
but in some cases people will still need
to<00:19:33.799><c> write</c><00:19:34.440><c> circuits</c><00:19:34.960><c> in</c><00:19:35.480><c> hello2</c><00:19:36.120><c> or</c><00:19:36.320><c> ccom</c>

00:19:36.950 --> 00:19:36.960 align:start position:0%
to write circuits in hello2 or ccom
 

00:19:36.960 --> 00:19:39.430 align:start position:0%
to write circuits in hello2 or ccom
because<00:19:37.559><c> they</c><00:19:37.720><c> need</c><00:19:37.880><c> to</c><00:19:38.039><c> do</c><00:19:38.200><c> some</c><00:19:38.520><c> specific</c>

00:19:39.430 --> 00:19:39.440 align:start position:0%
because they need to do some specific
 

00:19:39.440 --> 00:19:42.110 align:start position:0%
because they need to do some specific
optimizations<00:19:40.440><c> or</c><00:19:41.120><c> they</c><00:19:41.240><c> need</c><00:19:41.400><c> to</c><00:19:41.559><c> deploy</c><00:19:41.919><c> to</c>

00:19:42.110 --> 00:19:42.120 align:start position:0%
optimizations or they need to deploy to
 

00:19:42.120 --> 00:19:45.630 align:start position:0%
optimizations or they need to deploy to
specific<00:19:42.720><c> uh</c><00:19:43.280><c> uh</c><00:19:43.440><c> blockchains</c><00:19:43.960><c> for</c><00:19:44.640><c> example</c>

00:19:45.630 --> 00:19:45.640 align:start position:0%
specific uh uh blockchains for example
 

00:19:45.640 --> 00:19:47.909 align:start position:0%
specific uh uh blockchains for example
and<00:19:45.840><c> then</c><00:19:46.000><c> we</c><00:19:46.159><c> need</c><00:19:46.440><c> the</c><00:19:46.840><c> better</c><00:19:47.200><c> testing</c><00:19:47.720><c> and</c>

00:19:47.909 --> 00:19:47.919 align:start position:0%
and then we need the better testing and
 

00:19:47.919 --> 00:19:51.310 align:start position:0%
and then we need the better testing and
security<00:19:48.480><c> tooling</c><00:19:49.480><c> from</c><00:19:49.960><c> simple</c><00:19:50.720><c> Frameworks</c>

00:19:51.310 --> 00:19:51.320 align:start position:0%
security tooling from simple Frameworks
 

00:19:51.320 --> 00:19:53.270 align:start position:0%
security tooling from simple Frameworks
to<00:19:51.480><c> write</c><00:19:51.760><c> unit</c><00:19:52.080><c> test</c><00:19:52.320><c> to</c><00:19:52.440><c> do</c><00:19:52.679><c> property</c><00:19:53.000><c> based</c>

00:19:53.270 --> 00:19:53.280 align:start position:0%
to write unit test to do property based
 

00:19:53.280 --> 00:19:56.230 align:start position:0%
to write unit test to do property based
testing<00:19:53.919><c> to</c><00:19:54.159><c> formal</c><00:19:54.559><c> verification</c><00:19:55.480><c> and</c><00:19:55.919><c> not</c>

00:19:56.230 --> 00:19:56.240 align:start position:0%
testing to formal verification and not
 

00:19:56.240 --> 00:19:57.390 align:start position:0%
testing to formal verification and not
just<00:19:56.520><c> formal</c>

00:19:57.390 --> 00:19:57.400 align:start position:0%
just formal
 

00:19:57.400 --> 00:20:00.549 align:start position:0%
just formal
verification<00:19:58.400><c> uh</c><00:19:58.760><c> so</c><00:19:59.280><c> that's</c><00:19:59.520><c> it</c><00:20:00.080><c> I</c><00:20:00.240><c> have</c>

00:20:00.549 --> 00:20:00.559 align:start position:0%
verification uh so that's it I have
 

00:20:00.559 --> 00:20:02.990 align:start position:0%
verification uh so that's it I have
there<00:20:00.799><c> a</c><00:20:00.960><c> link</c><00:20:01.400><c> with</c><00:20:01.960><c> our</c><00:20:02.320><c> paper</c><00:20:02.760><c> where</c><00:20:02.919><c> you</c>

00:20:02.990 --> 00:20:03.000 align:start position:0%
there a link with our paper where you
 

00:20:03.000 --> 00:20:06.710 align:start position:0%
there a link with our paper where you
can<00:20:03.200><c> find</c><00:20:03.520><c> many</c><00:20:03.960><c> examples</c><00:20:04.760><c> and</c><00:20:05.120><c> how</c><00:20:05.360><c> to</c><00:20:05.720><c> try</c><00:20:06.039><c> to</c>

00:20:06.710 --> 00:20:06.720 align:start position:0%
can find many examples and how to try to
 

00:20:06.720 --> 00:20:09.590 align:start position:0%
can find many examples and how to try to
avoid<00:20:07.360><c> some</c><00:20:07.559><c> of</c><00:20:07.720><c> those</c><00:20:07.919><c> pitfalls</c><00:20:08.880><c> and</c><00:20:09.120><c> we</c><00:20:09.280><c> also</c>

00:20:09.590 --> 00:20:09.600 align:start position:0%
avoid some of those pitfalls and we also
 

00:20:09.600 --> 00:20:13.270 align:start position:0%
avoid some of those pitfalls and we also
have<00:20:09.919><c> a</c><00:20:10.080><c> blog</c><00:20:10.440><c> post</c><00:20:10.880><c> that</c><00:20:11.360><c> uh</c><00:20:11.960><c> uh</c><00:20:12.120><c> we</c><00:20:13.039><c> uh</c>

00:20:13.270 --> 00:20:13.280 align:start position:0%
have a blog post that uh uh we uh
 

00:20:13.280 --> 00:20:16.510 align:start position:0%
have a blog post that uh uh we uh
publish<00:20:13.760><c> many</c><00:20:14.039><c> blogs</c><00:20:14.520><c> about</c><00:20:15.480><c> uh</c><00:20:15.600><c> ZK</c><00:20:16.080><c> Security</c>

00:20:16.510 --> 00:20:16.520 align:start position:0%
publish many blogs about uh ZK Security
 

00:20:16.520 --> 00:20:24.070 align:start position:0%
publish many blogs about uh ZK Security
in<00:20:17.200><c> general</c><00:20:18.200><c> so</c><00:20:18.840><c> thanks</c><00:20:19.080><c> a</c>

00:20:24.070 --> 00:20:24.080 align:start position:0%
 
 

00:20:24.080 --> 00:20:26.950 align:start position:0%
 
lot<00:20:25.080><c> thank</c><00:20:25.240><c> you</c><00:20:25.440><c> Stefanos</c><00:20:26.159><c> this</c><00:20:26.240><c> was</c>

00:20:26.950 --> 00:20:26.960 align:start position:0%
lot thank you Stefanos this was
 

00:20:26.960 --> 00:20:30.230 align:start position:0%
lot thank you Stefanos this was
enlightening<00:20:27.960><c> um</c><00:20:28.360><c> all</c><00:20:28.480><c> right</c><00:20:29.080><c> people</c><00:20:30.080><c> as</c>

00:20:30.230 --> 00:20:30.240 align:start position:0%
enlightening um all right people as
 

00:20:30.240 --> 00:20:31.630 align:start position:0%
enlightening um all right people as
usual<00:20:30.559><c> you</c><00:20:30.640><c> can</c><00:20:30.840><c> ask</c><00:20:30.960><c> your</c><00:20:31.159><c> questions</c><00:20:31.480><c> here</c>

00:20:31.630 --> 00:20:31.640 align:start position:0%
usual you can ask your questions here
 

00:20:31.640 --> 00:20:34.070 align:start position:0%
usual you can ask your questions here
we're<00:20:31.799><c> going</c><00:20:31.880><c> to</c><00:20:32.039><c> go</c><00:20:32.159><c> through</c><00:20:32.440><c> them</c><00:20:32.760><c> in</c><00:20:33.080><c> order</c>

00:20:34.070 --> 00:20:34.080 align:start position:0%
we're going to go through them in order
 

00:20:34.080 --> 00:20:35.789 align:start position:0%
we're going to go through them in order
and<00:20:34.360><c> let's</c><00:20:34.559><c> take</c><00:20:34.760><c> the</c><00:20:34.919><c> first</c><00:20:35.120><c> one</c><00:20:35.480><c> several</c>

00:20:35.789 --> 00:20:35.799 align:start position:0%
and let's take the first one several
 

00:20:35.799 --> 00:20:37.310 align:start position:0%
and let's take the first one several
times<00:20:36.039><c> in</c><00:20:36.159><c> your</c><00:20:36.280><c> slides</c><00:20:36.640><c> you</c><00:20:36.760><c> refer</c><00:20:37.080><c> to</c>

00:20:37.310 --> 00:20:37.320 align:start position:0%
times in your slides you refer to
 

00:20:37.320 --> 00:20:39.510 align:start position:0%
times in your slides you refer to
Witnesses<00:20:38.159><c> what</c><00:20:38.280><c> are</c><00:20:38.480><c> witnesses</c><00:20:39.000><c> are</c><00:20:39.200><c> those</c>

00:20:39.510 --> 00:20:39.520 align:start position:0%
Witnesses what are witnesses are those
 

00:20:39.520 --> 00:20:42.710 align:start position:0%
Witnesses what are witnesses are those
private<00:20:40.240><c> inputs</c><00:20:41.240><c> uh</c><00:20:41.360><c> so</c><00:20:42.000><c> a</c><00:20:42.120><c> witness</c><00:20:42.480><c> I</c><00:20:42.559><c> would</c>

00:20:42.710 --> 00:20:42.720 align:start position:0%
private inputs uh so a witness I would
 

00:20:42.720 --> 00:20:44.710 align:start position:0%
private inputs uh so a witness I would
say<00:20:42.919><c> it's</c><00:20:43.159><c> composed</c><00:20:43.559><c> from</c><00:20:43.799><c> both</c><00:20:44.120><c> the</c><00:20:44.320><c> private</c>

00:20:44.710 --> 00:20:44.720 align:start position:0%
say it's composed from both the private
 

00:20:44.720 --> 00:20:47.190 align:start position:0%
say it's composed from both the private
inputs<00:20:45.240><c> the</c><00:20:45.400><c> public</c><00:20:45.720><c> inputs</c><00:20:46.520><c> and</c><00:20:46.799><c> all</c><00:20:47.039><c> the</c>

00:20:47.190 --> 00:20:47.200 align:start position:0%
inputs the public inputs and all the
 

00:20:47.200 --> 00:20:50.669 align:start position:0%
inputs the public inputs and all the
intermediate<00:20:47.840><c> steps</c><00:20:48.559><c> and</c><00:20:48.799><c> the</c><00:20:49.000><c> outputs</c><00:20:49.799><c> for</c>

00:20:50.669 --> 00:20:50.679 align:start position:0%
intermediate steps and the outputs for
 

00:20:50.679 --> 00:20:53.630 align:start position:0%
intermediate steps and the outputs for
our<00:20:50.960><c> circuit</c><00:20:51.400><c> so</c><00:20:51.559><c> I</c><00:20:51.600><c> will</c><00:20:51.799><c> say</c><00:20:52.039><c> it's</c><00:20:52.280><c> a</c><00:20:52.640><c> a</c><00:20:52.799><c> trace</c>

00:20:53.630 --> 00:20:53.640 align:start position:0%
our circuit so I will say it's a a trace
 

00:20:53.640 --> 00:20:56.710 align:start position:0%
our circuit so I will say it's a a trace
that<00:20:53.840><c> then</c><00:20:54.039><c> we</c><00:20:54.240><c> create</c><00:20:54.640><c> a</c><00:20:54.799><c> proof</c><00:20:55.120><c> about</c><00:20:55.320><c> that</c>

00:20:56.710 --> 00:20:56.720 align:start position:0%
that then we create a proof about that
 

00:20:56.720 --> 00:20:59.470 align:start position:0%
that then we create a proof about that
Trace<00:20:57.720><c> thank</c><00:20:57.919><c> you</c><00:20:58.360><c> all</c><00:20:58.480><c> right</c><00:20:58.600><c> all</c><00:20:58.679><c> right</c><00:20:58.880><c> next</c>

00:20:59.470 --> 00:20:59.480 align:start position:0%
Trace thank you all right all right next
 

00:20:59.480 --> 00:21:01.870 align:start position:0%
Trace thank you all right all right next
next<00:20:59.840><c> question</c><00:21:00.840><c> I've</c><00:21:01.000><c> put</c><00:21:01.159><c> a</c><00:21:01.280><c> bunch</c><00:21:01.480><c> of</c><00:21:01.679><c> those</c>

00:21:01.870 --> 00:21:01.880 align:start position:0%
next question I've put a bunch of those
 

00:21:01.880 --> 00:21:04.029 align:start position:0%
next question I've put a bunch of those
so<00:21:02.200><c> do</c><00:21:02.440><c> ask</c><00:21:02.679><c> serious</c><00:21:03.120><c> questions</c><00:21:03.600><c> please</c><00:21:03.919><c> we</c>

00:21:04.029 --> 00:21:04.039 align:start position:0%
so do ask serious questions please we
 

00:21:04.039 --> 00:21:06.110 align:start position:0%
so do ask serious questions please we
have<00:21:04.159><c> a</c><00:21:04.240><c> bit</c><00:21:04.360><c> of</c><00:21:04.559><c> time</c><00:21:05.360><c> what</c><00:21:05.480><c> is</c><00:21:05.600><c> your</c><00:21:05.799><c> favorite</c>

00:21:06.110 --> 00:21:06.120 align:start position:0%
have a bit of time what is your favorite
 

00:21:06.120 --> 00:21:08.149 align:start position:0%
have a bit of time what is your favorite
bug<00:21:06.360><c> ever</c><00:21:06.760><c> what</c><00:21:06.880><c> is</c><00:21:07.039><c> the</c><00:21:07.440><c> most</c><00:21:07.679><c> interesting</c>

00:21:08.149 --> 00:21:08.159 align:start position:0%
bug ever what is the most interesting
 

00:21:08.159 --> 00:21:11.630 align:start position:0%
bug ever what is the most interesting
bug<00:21:08.400><c> you've</c><00:21:08.559><c> ever</c><00:21:08.760><c> found</c><00:21:09.760><c> H</c><00:21:10.760><c> that's</c><00:21:10.919><c> a</c><00:21:11.360><c> very</c>

00:21:11.630 --> 00:21:11.640 align:start position:0%
bug you've ever found H that's a very
 

00:21:11.640 --> 00:21:15.510 align:start position:0%
bug you've ever found H that's a very
good<00:21:11.919><c> question</c><00:21:12.600><c> I</c><00:21:12.880><c> think</c><00:21:13.880><c> I</c><00:21:14.039><c> can't</c><00:21:14.279><c> pick</c><00:21:14.559><c> one</c>

00:21:15.510 --> 00:21:15.520 align:start position:0%
good question I think I can't pick one
 

00:21:15.520 --> 00:21:17.669 align:start position:0%
good question I think I can't pick one
uh<00:21:15.720><c> but</c><00:21:15.960><c> I</c><00:21:16.039><c> would</c><00:21:16.240><c> say</c><00:21:16.559><c> typically</c><00:21:17.080><c> the</c><00:21:17.320><c> simple</c>

00:21:17.669 --> 00:21:17.679 align:start position:0%
uh but I would say typically the simple
 

00:21:17.679 --> 00:21:20.310 align:start position:0%
uh but I would say typically the simple
bugs<00:21:18.120><c> right</c><00:21:18.760><c> uh</c><00:21:18.919><c> for</c><00:21:19.120><c> example</c><00:21:19.559><c> the</c><00:21:19.679><c> bug</c><00:21:19.919><c> I</c><00:21:20.120><c> have</c>

00:21:20.310 --> 00:21:20.320 align:start position:0%
bugs right uh for example the bug I have
 

00:21:20.320 --> 00:21:23.029 align:start position:0%
bugs right uh for example the bug I have
in<00:21:20.760><c> one</c><00:21:20.960><c> of</c><00:21:21.080><c> the</c><00:21:21.200><c> first</c><00:21:21.679><c> lights</c><00:21:22.679><c> that</c><00:21:22.799><c> could</c>

00:21:23.029 --> 00:21:23.039 align:start position:0%
in one of the first lights that could
 

00:21:23.039 --> 00:21:25.789 align:start position:0%
in one of the first lights that could
have<00:21:23.200><c> lead</c><00:21:23.400><c> to</c><00:21:23.640><c> basically</c><00:21:24.360><c> draining</c><00:21:25.360><c> uh</c><00:21:25.600><c> one</c>

00:21:25.789 --> 00:21:25.799 align:start position:0%
have lead to basically draining uh one
 

00:21:25.799 --> 00:21:29.230 align:start position:0%
have lead to basically draining uh one
of<00:21:25.960><c> the</c><00:21:26.279><c> major</c><00:21:26.720><c> mixers</c><00:21:27.360><c> we</c><00:21:27.559><c> have</c><00:21:27.720><c> in</c><00:21:27.840><c> the</c><00:21:28.000><c> space</c>

00:21:29.230 --> 00:21:29.240 align:start position:0%
of the major mixers we have in the space
 

00:21:29.240 --> 00:21:32.230 align:start position:0%
of the major mixers we have in the space
um<00:21:29.720><c> but</c><00:21:29.919><c> also</c><00:21:30.279><c> bugs</c><00:21:30.679><c> that</c><00:21:31.080><c> have</c><00:21:31.240><c> to</c><00:21:31.440><c> do</c><00:21:31.760><c> with</c>

00:21:32.230 --> 00:21:32.240 align:start position:0%
um but also bugs that have to do with
 

00:21:32.240 --> 00:21:35.750 align:start position:0%
um but also bugs that have to do with
using<00:21:32.720><c> cryptography</c><00:21:33.640><c> in</c><00:21:33.840><c> the</c><00:21:34.039><c> circuits</c><00:21:35.039><c> and</c>

00:21:35.750 --> 00:21:35.760 align:start position:0%
using cryptography in the circuits and
 

00:21:35.760 --> 00:21:38.630 align:start position:0%
using cryptography in the circuits and
typically<00:21:36.400><c> due</c><00:21:36.640><c> to</c><00:21:36.799><c> some</c><00:21:37.200><c> optimizations</c><00:21:38.200><c> or</c>

00:21:38.630 --> 00:21:38.640 align:start position:0%
typically due to some optimizations or
 

00:21:38.640 --> 00:21:41.510 align:start position:0%
typically due to some optimizations or
some<00:21:39.400><c> logic</c><00:21:40.080><c> errors</c><00:21:40.720><c> in</c><00:21:40.880><c> those</c><00:21:41.080><c> circuits</c>

00:21:41.510 --> 00:21:41.520 align:start position:0%
some logic errors in those circuits
 

00:21:41.520 --> 00:21:43.110 align:start position:0%
some logic errors in those circuits
there<00:21:41.640><c> could</c><00:21:41.799><c> be</c><00:21:42.000><c> like</c><00:21:42.320><c> pretty</c><00:21:42.640><c> interesting</c>

00:21:43.110 --> 00:21:43.120 align:start position:0%
there could be like pretty interesting
 

00:21:43.120 --> 00:21:45.870 align:start position:0%
there could be like pretty interesting
exploits<00:21:43.799><c> that</c><00:21:44.120><c> someone</c><00:21:44.559><c> can</c><00:21:44.720><c> do</c><00:21:45.279><c> pretty</c><00:21:45.559><c> cool</c>

00:21:45.870 --> 00:21:45.880 align:start position:0%
exploits that someone can do pretty cool
 

00:21:45.880 --> 00:21:48.669 align:start position:0%
exploits that someone can do pretty cool
thank<00:21:46.080><c> you</c><00:21:46.720><c> all</c><00:21:46.880><c> right</c><00:21:47.039><c> the</c><00:21:47.200><c> next</c><00:21:47.440><c> one</c><00:21:48.440><c> you're</c>

00:21:48.669 --> 00:21:48.679 align:start position:0%
thank you all right the next one you're
 

00:21:48.679 --> 00:21:50.830 align:start position:0%
thank you all right the next one you're
doing<00:21:49.000><c> research</c><00:21:49.600><c> looking</c><00:21:49.919><c> for</c><00:21:50.240><c> bugs</c><00:21:50.600><c> you're</c>

00:21:50.830 --> 00:21:50.840 align:start position:0%
doing research looking for bugs you're
 

00:21:50.840 --> 00:21:52.590 align:start position:0%
doing research looking for bugs you're
paying<00:21:51.080><c> your</c><00:21:51.279><c> bills</c><00:21:51.559><c> and</c><00:21:51.720><c> buying</c><00:21:52.000><c> your</c><00:21:52.120><c> Foods</c>

00:21:52.590 --> 00:21:52.600 align:start position:0%
paying your bills and buying your Foods
 

00:21:52.600 --> 00:21:54.669 align:start position:0%
paying your bills and buying your Foods
by<00:21:52.799><c> finding</c><00:21:53.200><c> bugs</c><00:21:53.600><c> can</c><00:21:53.720><c> we</c><00:21:53.880><c> consider</c><00:21:54.240><c> you</c><00:21:54.520><c> have</c>

00:21:54.669 --> 00:21:54.679 align:start position:0%
by finding bugs can we consider you have
 

00:21:54.679 --> 00:21:57.070 align:start position:0%
by finding bugs can we consider you have
a<00:21:55.240><c> bug</c><00:21:55.520><c> based</c>

00:21:57.070 --> 00:21:57.080 align:start position:0%
a bug based
 

00:21:57.080 --> 00:21:59.990 align:start position:0%
a bug based
diet<00:21:58.080><c> we</c><00:21:58.200><c> can</c><00:21:58.600><c> consider</c><00:21:59.000><c> that</c><00:21:59.440><c> yeah</c>

00:21:59.990 --> 00:22:00.000 align:start position:0%
diet we can consider that yeah
 

00:22:00.000 --> 00:22:04.070 align:start position:0%
diet we can consider that yeah
definitely<00:22:00.880><c> I</c><00:22:01.120><c> hope</c><00:22:01.720><c> that</c><00:22:02.720><c> in</c><00:22:03.400><c> some</c><00:22:03.679><c> future</c>

00:22:04.070 --> 00:22:04.080 align:start position:0%
definitely I hope that in some future
 

00:22:04.080 --> 00:22:06.789 align:start position:0%
definitely I hope that in some future
world<00:22:04.440><c> there</c><00:22:04.840><c> won't</c><00:22:05.120><c> be</c><00:22:05.360><c> that</c><00:22:05.520><c> many</c><00:22:05.760><c> bugs</c><00:22:06.400><c> and</c>

00:22:06.789 --> 00:22:06.799 align:start position:0%
world there won't be that many bugs and
 

00:22:06.799 --> 00:22:09.149 align:start position:0%
world there won't be that many bugs and
maybe<00:22:07.159><c> I</c><00:22:07.279><c> will</c><00:22:07.480><c> have</c><00:22:07.600><c> a</c><00:22:07.720><c> better</c><00:22:08.080><c> diet</c><00:22:08.919><c> but</c>

00:22:09.149 --> 00:22:09.159 align:start position:0%
maybe I will have a better diet but
 

00:22:09.159 --> 00:22:11.029 align:start position:0%
maybe I will have a better diet but
unfortunately<00:22:09.679><c> at</c><00:22:09.799><c> the</c><00:22:09.919><c> moment</c><00:22:10.320><c> we</c><00:22:10.480><c> have</c><00:22:10.799><c> tons</c>

00:22:11.029 --> 00:22:11.039 align:start position:0%
unfortunately at the moment we have tons
 

00:22:11.039 --> 00:22:13.590 align:start position:0%
unfortunately at the moment we have tons
of<00:22:11.240><c> bugs</c><00:22:11.799><c> fantastic</c><00:22:12.360><c> thank</c><00:22:12.520><c> you</c><00:22:13.320><c> what</c><00:22:13.440><c> are</c>

00:22:13.590 --> 00:22:13.600 align:start position:0%
of bugs fantastic thank you what are
 

00:22:13.600 --> 00:22:16.710 align:start position:0%
of bugs fantastic thank you what are
your<00:22:13.720><c> thoughts</c><00:22:14.039><c> on</c><00:22:14.799><c> T</c><00:22:15.799><c> okay</c><00:22:16.080><c> that's</c><00:22:16.559><c> the</c>

00:22:16.710 --> 00:22:16.720 align:start position:0%
your thoughts on T okay that's the
 

00:22:16.720 --> 00:22:19.310 align:start position:0%
your thoughts on T okay that's the
question<00:22:17.000><c> of</c><00:22:17.200><c> Dev</c><00:22:17.480><c> conal</c><00:22:18.480><c> everyone</c><00:22:18.880><c> asking</c>

00:22:19.310 --> 00:22:19.320 align:start position:0%
question of Dev conal everyone asking
 

00:22:19.320 --> 00:22:21.590 align:start position:0%
question of Dev conal everyone asking
that<00:22:19.559><c> question</c><00:22:20.360><c> uh</c><00:22:20.520><c> I</c><00:22:20.600><c> would</c><00:22:20.760><c> say</c><00:22:21.000><c> it's</c><00:22:21.120><c> a</c>

00:22:21.590 --> 00:22:21.600 align:start position:0%
that question uh I would say it's a
 

00:22:21.600 --> 00:22:23.789 align:start position:0%
that question uh I would say it's a
different<00:22:22.600><c> you</c><00:22:22.760><c> have</c><00:22:23.080><c> different</c><00:22:23.400><c> security</c>

00:22:23.789 --> 00:22:23.799 align:start position:0%
different you have different security
 

00:22:23.799 --> 00:22:26.789 align:start position:0%
different you have different security
assumptions<00:22:24.520><c> when</c><00:22:24.640><c> you</c><00:22:24.799><c> use</c><00:22:25.039><c> tees</c><00:22:25.640><c> right</c><00:22:26.320><c> it's</c>

00:22:26.789 --> 00:22:26.799 align:start position:0%
assumptions when you use tees right it's
 

00:22:26.799 --> 00:22:30.029 align:start position:0%
assumptions when you use tees right it's
I<00:22:26.919><c> think</c><00:22:27.120><c> it</c><00:22:27.279><c> can</c><00:22:27.559><c> work</c><00:22:28.200><c> a</c><00:22:28.520><c> along</c><00:22:28.760><c> with</c><00:22:28.919><c> the</c><00:22:29.120><c> GPS</c>

00:22:30.029 --> 00:22:30.039 align:start position:0%
I think it can work a along with the GPS
 

00:22:30.039 --> 00:22:33.950 align:start position:0%
I think it can work a along with the GPS
but<00:22:30.480><c> they</c><00:22:30.840><c> can't</c><00:22:31.279><c> replace</c><00:22:31.880><c> GPS</c><00:22:32.840><c> H</c><00:22:32.960><c> you</c><00:22:33.240><c> have</c><00:22:33.720><c> a</c>

00:22:33.950 --> 00:22:33.960 align:start position:0%
but they can't replace GPS H you have a
 

00:22:33.960 --> 00:22:37.750 align:start position:0%
but they can't replace GPS H you have a
much<00:22:34.640><c> weaker</c><00:22:35.640><c> uh</c><00:22:35.840><c> thread</c><00:22:36.159><c> model</c><00:22:36.720><c> when</c><00:22:36.880><c> you</c><00:22:37.039><c> are</c>

00:22:37.750 --> 00:22:37.760 align:start position:0%
much weaker uh thread model when you are
 

00:22:37.760 --> 00:22:41.830 align:start position:0%
much weaker uh thread model when you are
working<00:22:38.200><c> with</c><00:22:38.440><c> tees</c><00:22:39.240><c> so</c><00:22:39.960><c> yeah</c><00:22:40.520><c> people</c><00:22:41.520><c> should</c>

00:22:41.830 --> 00:22:41.840 align:start position:0%
working with tees so yeah people should
 

00:22:41.840 --> 00:22:44.310 align:start position:0%
working with tees so yeah people should
use<00:22:42.080><c> them</c><00:22:42.400><c> when</c><00:22:42.559><c> they</c><00:22:42.720><c> have</c><00:22:42.840><c> to</c><00:22:43.000><c> use</c><00:22:43.240><c> them</c><00:22:43.960><c> but</c>

00:22:44.310 --> 00:22:44.320 align:start position:0%
use them when they have to use them but
 

00:22:44.320 --> 00:22:46.950 align:start position:0%
use them when they have to use them but
also<00:22:44.799><c> don't</c><00:22:45.080><c> trust</c><00:22:45.440><c> them</c><00:22:45.760><c> like</c><00:22:46.159><c> a</c><00:22:46.320><c> black</c><00:22:46.600><c> box</c>

00:22:46.950 --> 00:22:46.960 align:start position:0%
also don't trust them like a black box
 

00:22:46.960 --> 00:22:48.950 align:start position:0%
also don't trust them like a black box
that<00:22:47.120><c> will</c><00:22:47.360><c> do</c><00:22:47.640><c> everything</c><00:22:47.919><c> for</c><00:22:48.159><c> you</c><00:22:48.440><c> and</c><00:22:48.840><c> you</c>

00:22:48.950 --> 00:22:48.960 align:start position:0%
that will do everything for you and you
 

00:22:48.960 --> 00:22:51.710 align:start position:0%
that will do everything for you and you
are<00:22:49.159><c> secure</c><00:22:49.480><c> if</c><00:22:49.600><c> you</c><00:22:49.720><c> use</c><00:22:49.880><c> a</c><00:22:50.120><c> te</c><00:22:51.120><c> wonderful</c>

00:22:51.710 --> 00:22:51.720 align:start position:0%
are secure if you use a te wonderful
 

00:22:51.720 --> 00:22:55.350 align:start position:0%
are secure if you use a te wonderful
thank<00:22:52.279><c> you</c><00:22:53.279><c> um</c><00:22:53.960><c> what</c><00:22:54.120><c> can</c><00:22:54.360><c> we</c><00:22:54.520><c> do</c><00:22:54.679><c> to</c><00:22:54.880><c> make</c><00:22:55.120><c> more</c>

00:22:55.350 --> 00:22:55.360 align:start position:0%
thank you um what can we do to make more
 

00:22:55.360 --> 00:22:58.070 align:start position:0%
thank you um what can we do to make more
secure<00:22:55.760><c> languages</c><00:22:56.480><c> like</c><00:22:56.720><c> Noir</c><00:22:57.400><c> faster</c>

00:22:58.070 --> 00:22:58.080 align:start position:0%
secure languages like Noir faster
 

00:22:58.080 --> 00:23:00.230 align:start position:0%
secure languages like Noir faster
compared<00:22:58.600><c> to</c><00:22:58.720><c> circum</c><00:22:59.400><c> particularly</c><00:23:00.039><c> with</c>

00:23:00.230 --> 00:23:00.240 align:start position:0%
compared to circum particularly with
 

00:23:00.240 --> 00:23:02.470 align:start position:0%
compared to circum particularly with
respect<00:23:00.520><c> to</c><00:23:00.720><c> gas</c><00:23:01.000><c> cost</c><00:23:01.440><c> how</c><00:23:01.559><c> do</c><00:23:01.679><c> we</c><00:23:01.840><c> make</c><00:23:02.080><c> more</c>

00:23:02.470 --> 00:23:02.480 align:start position:0%
respect to gas cost how do we make more
 

00:23:02.480 --> 00:23:05.750 align:start position:0%
respect to gas cost how do we make more
how<00:23:02.600><c> do</c><00:23:02.720><c> we</c><00:23:02.840><c> make</c><00:23:03.000><c> it</c><00:23:03.120><c> more</c><00:23:03.799><c> efficient</c><00:23:04.799><c> SO</c><00:23:05.440><c> gas</c>

00:23:05.750 --> 00:23:05.760 align:start position:0%
how do we make it more efficient SO gas
 

00:23:05.760 --> 00:23:08.710 align:start position:0%
how do we make it more efficient SO gas
cost<00:23:06.120><c> I</c><00:23:06.480><c> have</c><00:23:06.880><c> I</c><00:23:07.000><c> will</c><00:23:07.279><c> say</c><00:23:07.720><c> that</c><00:23:08.039><c> it's</c><00:23:08.520><c> uh</c>

00:23:08.710 --> 00:23:08.720 align:start position:0%
cost I have I will say that it's uh
 

00:23:08.720 --> 00:23:11.750 align:start position:0%
cost I have I will say that it's uh
independent<00:23:09.720><c> kind</c><00:23:09.960><c> of</c><00:23:10.640><c> of</c><00:23:11.120><c> uh</c><00:23:11.400><c> what</c>

00:23:11.750 --> 00:23:11.760 align:start position:0%
independent kind of of uh what
 

00:23:11.760 --> 00:23:13.990 align:start position:0%
independent kind of of uh what
programming<00:23:12.200><c> language</c><00:23:12.679><c> you</c><00:23:13.039><c> you're</c><00:23:13.279><c> using</c>

00:23:13.990 --> 00:23:14.000 align:start position:0%
programming language you you're using
 

00:23:14.000 --> 00:23:16.230 align:start position:0%
programming language you you're using
it's<00:23:14.159><c> more</c><00:23:14.520><c> about</c><00:23:14.919><c> like</c><00:23:15.440><c> what</c><00:23:15.640><c> proof</c><00:23:15.960><c> system</c>

00:23:16.230 --> 00:23:16.240 align:start position:0%
it's more about like what proof system
 

00:23:16.240 --> 00:23:18.909 align:start position:0%
it's more about like what proof system
you<00:23:16.360><c> are</c><00:23:16.480><c> using</c><00:23:17.279><c> right</c><00:23:17.919><c> and</c><00:23:18.240><c> if</c><00:23:18.440><c> that</c><00:23:18.640><c> proof</c>

00:23:18.909 --> 00:23:18.919 align:start position:0%
you are using right and if that proof
 

00:23:18.919 --> 00:23:21.470 align:start position:0%
you are using right and if that proof
system<00:23:19.559><c> is</c><00:23:20.200><c> has</c><00:23:20.480><c> very</c><00:23:20.760><c> efficient</c>

00:23:21.470 --> 00:23:21.480 align:start position:0%
system is has very efficient
 

00:23:21.480 --> 00:23:24.350 align:start position:0%
system is has very efficient
verification<00:23:22.480><c> that's</c><00:23:22.799><c> the</c><00:23:22.960><c> main</c><00:23:23.279><c> factor</c><00:23:24.080><c> but</c>

00:23:24.350 --> 00:23:24.360 align:start position:0%
verification that's the main factor but
 

00:23:24.360 --> 00:23:27.710 align:start position:0%
verification that's the main factor but
also<00:23:25.279><c> more</c><00:23:25.600><c> General</c><00:23:26.400><c> in</c><00:23:26.559><c> the</c><00:23:26.720><c> circuit</c><00:23:27.480><c> uh</c>

00:23:27.710 --> 00:23:27.720 align:start position:0%
also more General in the circuit uh
 

00:23:27.720 --> 00:23:31.710 align:start position:0%
also more General in the circuit uh
layer<00:23:28.880><c> um</c><00:23:29.120><c> I</c><00:23:29.240><c> would</c><00:23:29.400><c> say</c><00:23:29.679><c> that</c><00:23:29.960><c> indeed</c><00:23:30.720><c> someone</c>

00:23:31.710 --> 00:23:31.720 align:start position:0%
layer um I would say that indeed someone
 

00:23:31.720 --> 00:23:35.190 align:start position:0%
layer um I would say that indeed someone
if<00:23:31.880><c> you</c><00:23:32.039><c> don't</c><00:23:32.480><c> like</c><00:23:33.279><c> really</c><00:23:33.640><c> use</c><00:23:34.000><c> unsafe</c><00:23:34.559><c> inir</c>

00:23:35.190 --> 00:23:35.200 align:start position:0%
if you don't like really use unsafe inir
 

00:23:35.200 --> 00:23:37.310 align:start position:0%
if you don't like really use unsafe inir
which<00:23:35.480><c> then</c><00:23:35.960><c> breaks</c><00:23:36.320><c> the</c><00:23:36.480><c> whole</c><00:23:36.720><c> purpose</c><00:23:37.120><c> of</c>

00:23:37.310 --> 00:23:37.320 align:start position:0%
which then breaks the whole purpose of
 

00:23:37.320 --> 00:23:40.990 align:start position:0%
which then breaks the whole purpose of
using<00:23:37.760><c> Noir</c><00:23:38.760><c> um</c><00:23:39.559><c> you</c><00:23:39.720><c> can</c><00:23:39.919><c> write</c><00:23:40.440><c> more</c>

00:23:40.990 --> 00:23:41.000 align:start position:0%
using Noir um you can write more
 

00:23:41.000 --> 00:23:43.750 align:start position:0%
using Noir um you can write more
optimized<00:23:41.840><c> ciruits</c><00:23:42.720><c> at</c><00:23:42.960><c> that</c><00:23:43.159><c> point</c><00:23:43.440><c> in</c>

00:23:43.750 --> 00:23:43.760 align:start position:0%
optimized ciruits at that point in
 

00:23:43.760 --> 00:23:46.430 align:start position:0%
optimized ciruits at that point in
circum<00:23:44.760><c> but</c><00:23:45.120><c> I</c><00:23:45.240><c> would</c><00:23:45.480><c> hope</c><00:23:45.840><c> that</c><00:23:46.039><c> we</c><00:23:46.159><c> will</c>

00:23:46.430 --> 00:23:46.440 align:start position:0%
circum but I would hope that we will
 

00:23:46.440 --> 00:23:51.190 align:start position:0%
circum but I would hope that we will
have<00:23:46.960><c> uh</c><00:23:47.679><c> uh</c><00:23:48.159><c> major</c><00:23:49.159><c> advances</c><00:23:50.120><c> in</c><00:23:50.480><c> compilers</c>

00:23:51.190 --> 00:23:51.200 align:start position:0%
have uh uh major advances in compilers
 

00:23:51.200 --> 00:23:54.230 align:start position:0%
have uh uh major advances in compilers
for<00:23:51.760><c> zkps</c><00:23:52.760><c> and</c><00:23:52.919><c> then</c><00:23:53.120><c> we</c><00:23:53.240><c> can</c><00:23:53.480><c> have</c><00:23:53.799><c> like</c>

00:23:54.230 --> 00:23:54.240 align:start position:0%
for zkps and then we can have like
 

00:23:54.240 --> 00:23:56.909 align:start position:0%
for zkps and then we can have like
compiler<00:23:54.760><c> optimizations</c><00:23:55.559><c> that</c><00:23:55.840><c> very</c><00:23:56.200><c> strong</c>

00:23:56.909 --> 00:23:56.919 align:start position:0%
compiler optimizations that very strong
 

00:23:56.919 --> 00:23:59.190 align:start position:0%
compiler optimizations that very strong
like<00:23:57.240><c> in</c><00:23:57.600><c> any</c><00:23:57.880><c> other</c><00:23:58.080><c> field</c>

00:23:59.190 --> 00:23:59.200 align:start position:0%
like in any other field
 

00:23:59.200 --> 00:24:01.549 align:start position:0%
like in any other field
and<00:23:59.760><c> uh</c><00:23:59.960><c> rely</c><00:24:00.320><c> on</c><00:24:00.480><c> those</c><00:24:00.640><c> optimizations</c><00:24:01.360><c> to</c>

00:24:01.549 --> 00:24:01.559 align:start position:0%
and uh rely on those optimizations to
 

00:24:01.559 --> 00:24:04.870 align:start position:0%
and uh rely on those optimizations to
get<00:24:01.880><c> like</c><00:24:02.440><c> pretty</c><00:24:03.000><c> optimized</c><00:24:04.000><c> uh</c><00:24:04.200><c> circuits</c>

00:24:04.870 --> 00:24:04.880 align:start position:0%
get like pretty optimized uh circuits
 

00:24:04.880 --> 00:24:08.630 align:start position:0%
get like pretty optimized uh circuits
but<00:24:05.120><c> if</c><00:24:05.279><c> we</c><00:24:05.400><c> do</c><00:24:05.720><c> that</c><00:24:06.320><c> then</c><00:24:06.559><c> we</c><00:24:06.679><c> need</c><00:24:07.279><c> very</c><00:24:07.720><c> very</c>

00:24:08.630 --> 00:24:08.640 align:start position:0%
but if we do that then we need very very
 

00:24:08.640 --> 00:24:11.870 align:start position:0%
but if we do that then we need very very
solid<00:24:09.640><c> uh</c><00:24:09.919><c> testing</c><00:24:10.480><c> for</c><00:24:10.760><c> our</c><00:24:11.120><c> compilers</c><00:24:11.679><c> to</c>

00:24:11.870 --> 00:24:11.880 align:start position:0%
solid uh testing for our compilers to
 

00:24:11.880 --> 00:24:14.669 align:start position:0%
solid uh testing for our compilers to
detect<00:24:12.440><c> any</c><00:24:12.799><c> issues</c><00:24:13.520><c> in</c><00:24:13.799><c> those</c>

00:24:14.669 --> 00:24:14.679 align:start position:0%
detect any issues in those
 

00:24:14.679 --> 00:24:17.149 align:start position:0%
detect any issues in those
optimizations<00:24:15.679><c> thank</c><00:24:15.880><c> you</c><00:24:16.520><c> you</c><00:24:16.679><c> mentioned</c><00:24:17.039><c> in</c>

00:24:17.149 --> 00:24:17.159 align:start position:0%
optimizations thank you you mentioned in
 

00:24:17.159 --> 00:24:18.990 align:start position:0%
optimizations thank you you mentioned in
your<00:24:17.360><c> slide</c><00:24:17.799><c> that</c><00:24:18.120><c> you</c><00:24:18.240><c> know</c><00:24:18.679><c> sometimes</c><00:24:18.840><c> we</c>

00:24:18.990 --> 00:24:19.000 align:start position:0%
your slide that you know sometimes we
 

00:24:19.000 --> 00:24:20.990 align:start position:0%
your slide that you know sometimes we
give<00:24:19.200><c> too</c><00:24:19.360><c> much</c><00:24:19.600><c> rope</c><00:24:20.039><c> to</c><00:24:20.200><c> the</c><00:24:20.360><c> users</c><00:24:20.760><c> to</c>

00:24:20.990 --> 00:24:21.000 align:start position:0%
give too much rope to the users to
 

00:24:21.000 --> 00:24:23.029 align:start position:0%
give too much rope to the users to
angang<00:24:21.520><c> themselves</c><00:24:21.919><c> with</c><00:24:22.640><c> I</c><00:24:22.720><c> think</c><00:24:22.880><c> the</c>

00:24:23.029 --> 00:24:23.039 align:start position:0%
angang themselves with I think the
 

00:24:23.039 --> 00:24:25.549 align:start position:0%
angang themselves with I think the
design<00:24:23.320><c> in</c><00:24:23.520><c> ZK</c><00:24:23.880><c> circuits</c><00:24:24.240><c> is</c><00:24:25.159><c> difficult</c><00:24:25.440><c> but</c>

00:24:25.549 --> 00:24:25.559 align:start position:0%
design in ZK circuits is difficult but
 

00:24:25.559 --> 00:24:27.789 align:start position:0%
design in ZK circuits is difficult but
also<00:24:25.880><c> using</c><00:24:26.240><c> them</c><00:24:26.480><c> is</c><00:24:26.600><c> not</c><00:24:26.840><c> very</c><00:24:27.120><c> common</c><00:24:27.480><c> place</c>

00:24:27.789 --> 00:24:27.799 align:start position:0%
also using them is not very common place
 

00:24:27.799 --> 00:24:29.669 align:start position:0%
also using them is not very common place
right<00:24:28.080><c> a</c><00:24:28.159><c> lot</c><00:24:28.480><c> of</c><00:24:28.559><c> users</c><00:24:28.799><c> are</c><00:24:28.919><c> not</c><00:24:29.159><c> used</c><00:24:29.559><c> to</c>

00:24:29.669 --> 00:24:29.679 align:start position:0%
right a lot of users are not used to
 

00:24:29.679 --> 00:24:31.470 align:start position:0%
right a lot of users are not used to
using<00:24:29.960><c> this</c><00:24:30.159><c> kind</c><00:24:30.360><c> of</c><00:24:30.520><c> systems</c><00:24:30.880><c> and</c><00:24:31.120><c> what</c><00:24:31.279><c> goes</c>

00:24:31.470 --> 00:24:31.480 align:start position:0%
using this kind of systems and what goes
 

00:24:31.480 --> 00:24:33.389 align:start position:0%
using this kind of systems and what goes
in<00:24:31.760><c> what</c><00:24:31.919><c> goes</c><00:24:32.120><c> out</c><00:24:32.320><c> what</c><00:24:32.440><c> you</c><00:24:32.520><c> can</c><00:24:32.760><c> do</c><00:24:33.240><c> with</c>

00:24:33.389 --> 00:24:33.399 align:start position:0%
in what goes out what you can do with
 

00:24:33.399 --> 00:24:36.470 align:start position:0%
in what goes out what you can do with
them<00:24:33.960><c> what</c><00:24:34.080><c> can</c><00:24:34.279><c> be</c><00:24:34.880><c> what</c><00:24:35.000><c> is</c><00:24:35.679><c> safe</c><00:24:36.000><c> Behavior</c>

00:24:36.470 --> 00:24:36.480 align:start position:0%
them what can be what is safe Behavior
 

00:24:36.480 --> 00:24:38.190 align:start position:0%
them what can be what is safe Behavior
to<00:24:36.640><c> do</c><00:24:36.880><c> that</c><00:24:37.360><c> you</c><00:24:37.480><c> mentioned</c><00:24:37.840><c> learning</c>

00:24:38.190 --> 00:24:38.200 align:start position:0%
to do that you mentioned learning
 

00:24:38.200 --> 00:24:39.710 align:start position:0%
to do that you mentioned learning
resources<00:24:38.760><c> do</c><00:24:38.840><c> you</c><00:24:38.960><c> think</c><00:24:39.120><c> there's</c><00:24:39.440><c> something</c>

00:24:39.710 --> 00:24:39.720 align:start position:0%
resources do you think there's something
 

00:24:39.720 --> 00:24:42.510 align:start position:0%
resources do you think there's something
to<00:24:39.919><c> do</c><00:24:40.279><c> with</c><00:24:40.760><c> users</c><00:24:41.399><c> also</c><00:24:41.720><c> to</c><00:24:41.919><c> explain</c><00:24:42.240><c> to</c><00:24:42.360><c> them</c>

00:24:42.510 --> 00:24:42.520 align:start position:0%
to do with users also to explain to them
 

00:24:42.520 --> 00:24:44.350 align:start position:0%
to do with users also to explain to them
what<00:24:42.640><c> are</c><00:24:42.760><c> the</c><00:24:42.960><c> benefits</c><00:24:43.480><c> and</c><00:24:43.840><c> what</c><00:24:43.960><c> should</c><00:24:44.120><c> be</c>

00:24:44.350 --> 00:24:44.360 align:start position:0%
what are the benefits and what should be
 

00:24:44.360 --> 00:24:46.070 align:start position:0%
what are the benefits and what should be
done<00:24:44.640><c> or</c><00:24:44.760><c> is</c><00:24:44.880><c> it</c><00:24:45.080><c> entirely</c><00:24:45.600><c> on</c><00:24:45.760><c> the</c><00:24:45.880><c> app</c>

00:24:46.070 --> 00:24:46.080 align:start position:0%
done or is it entirely on the app
 

00:24:46.080 --> 00:24:48.070 align:start position:0%
done or is it entirely on the app
developer<00:24:46.919><c> yeah</c><00:24:47.120><c> yeah</c><00:24:47.520><c> that's</c><00:24:47.640><c> a</c><00:24:47.799><c> great</c>

00:24:48.070 --> 00:24:48.080 align:start position:0%
developer yeah yeah that's a great
 

00:24:48.080 --> 00:24:51.190 align:start position:0%
developer yeah yeah that's a great
question<00:24:48.520><c> I</c><00:24:48.600><c> think</c><00:24:48.840><c> as</c><00:24:49.279><c> researchers</c><00:24:50.279><c> it's</c><00:24:50.520><c> our</c>

00:24:51.190 --> 00:24:51.200 align:start position:0%
question I think as researchers it's our
 

00:24:51.200 --> 00:24:54.110 align:start position:0%
question I think as researchers it's our
responsibility<00:24:52.200><c> uh</c><00:24:52.480><c> to</c><00:24:52.679><c> create</c><00:24:53.399><c> uh</c><00:24:53.679><c> learning</c>

00:24:54.110 --> 00:24:54.120 align:start position:0%
responsibility uh to create uh learning
 

00:24:54.120 --> 00:24:57.350 align:start position:0%
responsibility uh to create uh learning
resources<00:24:54.799><c> that</c><00:24:55.080><c> are</c><00:24:55.600><c> easy</c><00:24:55.880><c> to</c><00:24:56.080><c> follow</c><00:24:56.600><c> by</c>

00:24:57.350 --> 00:24:57.360 align:start position:0%
resources that are easy to follow by
 

00:24:57.360 --> 00:24:58.950 align:start position:0%
resources that are easy to follow by
almost<00:24:57.799><c> everyone</c>

00:24:58.950 --> 00:24:58.960 align:start position:0%
almost everyone
 

00:24:58.960 --> 00:25:01.990 align:start position:0%
almost everyone
uh<00:24:59.559><c> so</c><00:25:00.559><c> I</c><00:25:00.640><c> think</c><00:25:00.840><c> we</c><00:25:00.919><c> are</c><00:25:01.080><c> doing</c><00:25:01.559><c> kind</c><00:25:01.720><c> of</c><00:25:01.840><c> a</c>

00:25:01.990 --> 00:25:02.000 align:start position:0%
uh so I think we are doing kind of a
 

00:25:02.000 --> 00:25:04.669 align:start position:0%
uh so I think we are doing kind of a
good<00:25:02.159><c> job</c><00:25:02.399><c> there</c><00:25:03.039><c> uh</c><00:25:03.200><c> for</c><00:25:03.440><c> example</c><00:25:04.080><c> at</c><00:25:04.320><c> ziki</c>

00:25:04.669 --> 00:25:04.679 align:start position:0%
good job there uh for example at ziki
 

00:25:04.679 --> 00:25:07.590 align:start position:0%
good job there uh for example at ziki
security<00:25:05.200><c> we</c><00:25:05.399><c> published</c><00:25:05.840><c> a</c><00:25:06.000><c> book</c><00:25:06.360><c> on</c><00:25:06.559><c> hello</c><00:25:06.960><c> 2</c>

00:25:07.590 --> 00:25:07.600 align:start position:0%
security we published a book on hello 2
 

00:25:07.600 --> 00:25:11.190 align:start position:0%
security we published a book on hello 2
and<00:25:08.039><c> basically</c><00:25:09.039><c> many</c><00:25:09.320><c> teams</c><00:25:09.679><c> in</c><00:25:09.880><c> that</c><00:25:10.200><c> space</c>

00:25:11.190 --> 00:25:11.200 align:start position:0%
and basically many teams in that space
 

00:25:11.200 --> 00:25:14.269 align:start position:0%
and basically many teams in that space
develop<00:25:11.840><c> a</c><00:25:12.240><c> pretty</c><00:25:12.600><c> nice</c><00:25:13.080><c> learning</c><00:25:13.520><c> resources</c>

00:25:14.269 --> 00:25:14.279 align:start position:0%
develop a pretty nice learning resources
 

00:25:14.279 --> 00:25:16.710 align:start position:0%
develop a pretty nice learning resources
and<00:25:14.760><c> what</c><00:25:14.919><c> I</c><00:25:15.080><c> really</c><00:25:15.399><c> like</c><00:25:15.720><c> is</c><00:25:15.919><c> that</c><00:25:16.200><c> they</c><00:25:16.440><c> also</c>

00:25:16.710 --> 00:25:16.720 align:start position:0%
and what I really like is that they also
 

00:25:16.720 --> 00:25:19.470 align:start position:0%
and what I really like is that they also
have<00:25:16.840><c> a</c><00:25:17.039><c> section</c><00:25:17.960><c> about</c><00:25:18.679><c> security</c>

00:25:19.470 --> 00:25:19.480 align:start position:0%
have a section about security
 

00:25:19.480 --> 00:25:22.029 align:start position:0%
have a section about security
vulnerabilities<00:25:20.480><c> and</c><00:25:21.039><c> what</c><00:25:21.399><c> you</c><00:25:21.520><c> should</c><00:25:21.799><c> look</c>

00:25:22.029 --> 00:25:22.039 align:start position:0%
vulnerabilities and what you should look
 

00:25:22.039 --> 00:25:26.230 align:start position:0%
vulnerabilities and what you should look
at<00:25:22.600><c> when</c><00:25:22.840><c> you</c><00:25:23.000><c> use</c><00:25:23.200><c> a</c><00:25:23.440><c> specific</c><00:25:24.200><c> DSL</c><00:25:25.200><c> so</c><00:25:25.760><c> yeah</c><00:25:26.159><c> I</c>

00:25:26.230 --> 00:25:26.240 align:start position:0%
at when you use a specific DSL so yeah I
 

00:25:26.240 --> 00:25:28.070 align:start position:0%
at when you use a specific DSL so yeah I
think<00:25:26.399><c> we</c><00:25:26.520><c> are</c><00:25:26.679><c> doing</c><00:25:26.960><c> a</c><00:25:27.200><c> great</c><00:25:27.440><c> job</c><00:25:27.640><c> on</c><00:25:27.799><c> that</c>

00:25:28.070 --> 00:25:28.080 align:start position:0%
think we are doing a great job on that
 

00:25:28.080 --> 00:25:30.389 align:start position:0%
think we are doing a great job on that
and<00:25:28.559><c> in</c><00:25:28.679><c> the</c><00:25:28.840><c> few</c><00:25:29.200><c> years</c><00:25:29.679><c> it</c><00:25:29.799><c> will</c><00:25:29.960><c> be</c><00:25:30.120><c> even</c>

00:25:30.389 --> 00:25:30.399 align:start position:0%
and in the few years it will be even
 

00:25:30.399 --> 00:25:33.669 align:start position:0%
and in the few years it will be even
better<00:25:31.159><c> fantastic</c><00:25:32.080><c> stanos</c><00:25:32.840><c> thank</c><00:25:33.080><c> you</c><00:25:33.399><c> we're</c>

00:25:33.669 --> 00:25:33.679 align:start position:0%
better fantastic stanos thank you we're
 

00:25:33.679 --> 00:25:36.430 align:start position:0%
better fantastic stanos thank you we're
over<00:25:34.159><c> time</c><00:25:35.159><c> uh</c><00:25:35.279><c> so</c><00:25:35.480><c> thank</c><00:25:35.600><c> you</c><00:25:35.679><c> for</c><00:25:35.840><c> your</c><00:25:36.000><c> talk</c>

00:25:36.430 --> 00:25:36.440 align:start position:0%
over time uh so thank you for your talk
 

00:25:36.440 --> 00:25:40.480 align:start position:0%
over time uh so thank you for your talk
thank<00:25:36.600><c> you</c><00:25:37.120><c> thanks</c><00:25:37.320><c> a</c><00:25:37.480><c> lot</c>

