WEBVTT
Kind: captions
Language: en

00:00:09.190 --> 00:00:12.029 align:start position:0%
 
[Music]

00:00:12.029 --> 00:00:12.039 align:start position:0%
[Music]
 

00:00:12.039 --> 00:00:17.410 align:start position:0%
[Music]
hey<00:00:13.039><c> everyone</c><00:00:13.480><c> thank</c><00:00:14.480><c> you</c><00:00:15.070><c> so</c><00:00:16.070><c> for</c><00:00:17.030><c> those</c><00:00:17.150><c> of</c>

00:00:17.410 --> 00:00:17.420 align:start position:0%
hey everyone thank you so for those of
 

00:00:17.420 --> 00:00:19.420 align:start position:0%
hey everyone thank you so for those of
you<00:00:17.539><c> who</c><00:00:17.660><c> don't</c><00:00:17.750><c> know</c><00:00:17.900><c> us</c><00:00:18.020><c> at</c><00:00:18.440><c> sapling</c><00:00:19.040><c> we</c>

00:00:19.420 --> 00:00:19.430 align:start position:0%
you who don't know us at sapling we
 

00:00:19.430 --> 00:00:21.610 align:start position:0%
you who don't know us at sapling we
build<00:00:19.790><c> technology</c><00:00:19.910><c> and</c><00:00:20.630><c> provide</c><00:00:21.110><c> services</c><00:00:21.560><c> to</c>

00:00:21.610 --> 00:00:21.620 align:start position:0%
build technology and provide services to
 

00:00:21.620 --> 00:00:24.090 align:start position:0%
build technology and provide services to
help<00:00:22.010><c> protect</c><00:00:22.610><c> smart</c><00:00:23.240><c> contract</c><00:00:23.540><c> development</c>

00:00:24.090 --> 00:00:24.100 align:start position:0%
help protect smart contract development
 

00:00:24.100 --> 00:00:26.680 align:start position:0%
help protect smart contract development
we're<00:00:25.100><c> mostly</c><00:00:25.730><c> well</c><00:00:25.970><c> known</c><00:00:26.150><c> for</c><00:00:26.330><c> our</c><00:00:26.450><c> security</c>

00:00:26.680 --> 00:00:26.690 align:start position:0%
we're mostly well known for our security
 

00:00:26.690 --> 00:00:28.690 align:start position:0%
we're mostly well known for our security
audits<00:00:27.230><c> but</c><00:00:27.440><c> we</c><00:00:27.590><c> also</c><00:00:27.710><c> have</c><00:00:27.950><c> some</c><00:00:28.280><c> products</c>

00:00:28.690 --> 00:00:28.700 align:start position:0%
audits but we also have some products
 

00:00:28.700 --> 00:00:30.640 align:start position:0%
audits but we also have some products
and<00:00:28.910><c> we</c><00:00:29.060><c> maintain</c><00:00:29.570><c> the</c><00:00:29.690><c> open</c><00:00:29.900><c> sapling</c><00:00:30.230><c> repo</c><00:00:30.620><c> of</c>

00:00:30.640 --> 00:00:30.650 align:start position:0%
and we maintain the open sapling repo of
 

00:00:30.650 --> 00:00:33.220 align:start position:0%
and we maintain the open sapling repo of
smart<00:00:31.160><c> contracts</c><00:00:31.580><c> so</c><00:00:32.539><c> this</c><00:00:32.719><c> talk</c><00:00:32.899><c> will</c><00:00:33.079><c> be</c>

00:00:33.220 --> 00:00:33.230 align:start position:0%
smart contracts so this talk will be
 

00:00:33.230 --> 00:00:35.110 align:start position:0%
smart contracts so this talk will be
divided<00:00:33.800><c> it</c><00:00:33.950><c> first</c><00:00:34.220><c> I'm</c><00:00:34.460><c> going</c><00:00:34.700><c> to</c><00:00:34.820><c> review</c>

00:00:35.110 --> 00:00:35.120 align:start position:0%
divided it first I'm going to review
 

00:00:35.120 --> 00:00:38.980 align:start position:0%
divided it first I'm going to review
last<00:00:35.840><c> year</c><00:00:36.230><c> since</c><00:00:36.500><c> DEFCON</c><00:00:37.130><c> 2</c><00:00:37.340><c> in</c><00:00:37.760><c> terms</c><00:00:38.240><c> of</c><00:00:38.480><c> how</c>

00:00:38.980 --> 00:00:38.990 align:start position:0%
last year since DEFCON 2 in terms of how
 

00:00:38.990 --> 00:00:41.860 align:start position:0%
last year since DEFCON 2 in terms of how
the<00:00:39.050><c> smart</c><00:00:39.739><c> contract</c><00:00:39.950><c> ecosystem</c><00:00:40.820><c> evolved</c><00:00:41.150><c> I'm</c>

00:00:41.860 --> 00:00:41.870 align:start position:0%
the smart contract ecosystem evolved I'm
 

00:00:41.870 --> 00:00:43.780 align:start position:0%
the smart contract ecosystem evolved I'm
then<00:00:42.380><c> going</c><00:00:42.680><c> to</c><00:00:42.800><c> focus</c><00:00:43.310><c> on</c><00:00:43.430><c> some</c><00:00:43.640><c> new</c>

00:00:43.780 --> 00:00:43.790 align:start position:0%
then going to focus on some new
 

00:00:43.790 --> 00:00:45.280 align:start position:0%
then going to focus on some new
techniques<00:00:44.180><c> on</c><00:00:44.390><c> patterns</c><00:00:44.780><c> we've</c><00:00:45.020><c> seen</c>

00:00:45.280 --> 00:00:45.290 align:start position:0%
techniques on patterns we've seen
 

00:00:45.290 --> 00:00:48.010 align:start position:0%
techniques on patterns we've seen
arising<00:00:46.250><c> in</c><00:00:46.370><c> industry</c><00:00:46.790><c> that</c><00:00:47.239><c> I'd</c><00:00:47.570><c> like</c><00:00:47.750><c> to</c><00:00:47.870><c> get</c>

00:00:48.010 --> 00:00:48.020 align:start position:0%
arising in industry that I'd like to get
 

00:00:48.020 --> 00:00:50.229 align:start position:0%
arising in industry that I'd like to get
more<00:00:48.170><c> visibility</c><00:00:48.500><c> to</c><00:00:48.739><c> and</c><00:00:49.399><c> finally</c><00:00:49.940><c> I'm</c><00:00:50.060><c> going</c>

00:00:50.229 --> 00:00:50.239 align:start position:0%
more visibility to and finally I'm going
 

00:00:50.239 --> 00:00:51.700 align:start position:0%
more visibility to and finally I'm going
to<00:00:50.300><c> talk</c><00:00:50.450><c> about</c><00:00:50.510><c> some</c><00:00:50.870><c> pending</c><00:00:51.200><c> challenges</c>

00:00:51.700 --> 00:00:51.710 align:start position:0%
to talk about some pending challenges
 

00:00:51.710 --> 00:00:53.889 align:start position:0%
to talk about some pending challenges
it's<00:00:51.920><c> my</c><00:00:52.040><c> contract</c><00:00:52.399><c> security</c><00:00:52.790><c> and</c><00:00:53.030><c> hint</c><00:00:53.420><c> into</c>

00:00:53.889 --> 00:00:53.899 align:start position:0%
it's my contract security and hint into
 

00:00:53.899 --> 00:00:55.920 align:start position:0%
it's my contract security and hint into
some<00:00:54.079><c> possible</c><00:00:54.440><c> solutions</c><00:00:54.620><c> were</c><00:00:54.980><c> working</c><00:00:55.309><c> on</c>

00:00:55.920 --> 00:00:55.930 align:start position:0%
some possible solutions were working on
 

00:00:55.930 --> 00:00:58.479 align:start position:0%
some possible solutions were working on
so<00:00:56.930><c> let's</c><00:00:57.110><c> start</c><00:00:57.290><c> with</c><00:00:57.380><c> history</c><00:00:57.800><c> the</c><00:00:58.040><c> dark</c>

00:00:58.479 --> 00:00:58.489 align:start position:0%
so let's start with history the dark
 

00:00:58.489 --> 00:01:02.770 align:start position:0%
so let's start with history the dark
ages<00:00:59.050><c> so</c><00:01:00.050><c> 2016</c><00:01:00.800><c> was</c><00:01:01.309><c> a</c><00:01:01.340><c> pretty</c><00:01:01.910><c> dark</c><00:01:02.270><c> year</c><00:01:02.570><c> for</c>

00:01:02.770 --> 00:01:02.780 align:start position:0%
ages so 2016 was a pretty dark year for
 

00:01:02.780 --> 00:01:05.289 align:start position:0%
ages so 2016 was a pretty dark year for
smart<00:01:03.050><c> contract</c><00:01:03.380><c> security</c><00:01:03.820><c> we've</c><00:01:04.820><c> seen</c><00:01:05.059><c> some</c>

00:01:05.289 --> 00:01:05.299 align:start position:0%
smart contract security we've seen some
 

00:01:05.299 --> 00:01:07.120 align:start position:0%
smart contract security we've seen some
pretty<00:01:05.540><c> embarrassing</c><00:01:06.170><c> hacks</c><00:01:06.470><c> in</c><00:01:06.799><c> the</c><00:01:06.890><c> space</c>

00:01:07.120 --> 00:01:07.130 align:start position:0%
pretty embarrassing hacks in the space
 

00:01:07.130 --> 00:01:09.820 align:start position:0%
pretty embarrassing hacks in the space
most<00:01:08.030><c> of</c><00:01:08.150><c> you</c><00:01:08.270><c> probably</c><00:01:08.420><c> don't</c><00:01:08.780><c> remember</c><00:01:08.900><c> many</c>

00:01:09.820 --> 00:01:09.830 align:start position:0%
most of you probably don't remember many
 

00:01:09.830 --> 00:01:12.969 align:start position:0%
most of you probably don't remember many
of<00:01:09.979><c> these</c><00:01:10.390><c> except</c><00:01:11.390><c> for</c><00:01:11.570><c> the</c><00:01:11.690><c> Dow</c><00:01:11.840><c> but</c><00:01:12.530><c> just</c><00:01:12.890><c> to</c>

00:01:12.969 --> 00:01:12.979 align:start position:0%
of these except for the Dow but just to
 

00:01:12.979 --> 00:01:14.649 align:start position:0%
of these except for the Dow but just to
get<00:01:13.100><c> a</c><00:01:13.130><c> sense</c><00:01:13.340><c> of</c><00:01:13.490><c> how</c><00:01:13.610><c> the</c><00:01:13.670><c> industry</c><00:01:13.880><c> was</c><00:01:14.330><c> at</c>

00:01:14.649 --> 00:01:14.659 align:start position:0%
get a sense of how the industry was at
 

00:01:14.659 --> 00:01:16.420 align:start position:0%
get a sense of how the industry was at
that<00:01:14.840><c> moment</c><00:01:15.020><c> I</c><00:01:15.409><c> want</c><00:01:15.620><c> to</c><00:01:15.710><c> focus</c><00:01:15.860><c> on</c><00:01:16.130><c> one</c><00:01:16.400><c> of</c>

00:01:16.420 --> 00:01:16.430 align:start position:0%
that moment I want to focus on one of
 

00:01:16.430 --> 00:01:19.270 align:start position:0%
that moment I want to focus on one of
them<00:01:16.670><c> specifically</c><00:01:17.479><c> which</c><00:01:17.720><c> is</c><00:01:17.900><c> Rubik's</c><00:01:18.290><c> II</c><00:01:18.440><c> so</c>

00:01:19.270 --> 00:01:19.280 align:start position:0%
them specifically which is Rubik's II so
 

00:01:19.280 --> 00:01:22.510 align:start position:0%
them specifically which is Rubik's II so
Rick's<00:01:19.580><c> it</c><00:01:19.760><c> was</c><00:01:19.880><c> a</c><00:01:20.810><c> formalization</c><00:01:21.740><c> in</c><00:01:22.190><c> a</c><00:01:22.280><c> smart</c>

00:01:22.510 --> 00:01:22.520 align:start position:0%
Rick's it was a formalization in a smart
 

00:01:22.520 --> 00:01:24.640 align:start position:0%
Rick's it was a formalization in a smart
contract<00:01:22.700><c> of</c><00:01:23.150><c> a</c><00:01:23.210><c> pyramid</c><00:01:23.869><c> scheme</c><00:01:24.140><c> the</c>

00:01:24.640 --> 00:01:24.650 align:start position:0%
contract of a pyramid scheme the
 

00:01:24.650 --> 00:01:27.370 align:start position:0%
contract of a pyramid scheme the
original<00:01:25.010><c> name</c><00:01:25.220><c> was</c><00:01:25.250><c> dynamic</c><00:01:25.820><c> pyramid</c><00:01:26.570><c> but</c>

00:01:27.370 --> 00:01:27.380 align:start position:0%
original name was dynamic pyramid but
 

00:01:27.380 --> 00:01:29.289 align:start position:0%
original name was dynamic pyramid but
apparently<00:01:28.010><c> the</c><00:01:28.340><c> developer</c><00:01:28.760><c> didn't</c><00:01:29.119><c> think</c>

00:01:29.289 --> 00:01:29.299 align:start position:0%
apparently the developer didn't think
 

00:01:29.299 --> 00:01:31.810 align:start position:0%
apparently the developer didn't think
this<00:01:29.479><c> was</c><00:01:29.690><c> a</c><00:01:29.740><c> good</c><00:01:30.740><c> name</c><00:01:31.159><c> for</c><00:01:31.189><c> marketing</c>

00:01:31.810 --> 00:01:31.820 align:start position:0%
this was a good name for marketing
 

00:01:31.820 --> 00:01:34.149 align:start position:0%
this was a good name for marketing
reasons<00:01:31.880><c> so</c><00:01:32.750><c> he</c><00:01:32.900><c> renamed</c><00:01:33.229><c> it</c><00:01:33.350><c> to</c><00:01:33.409><c> Rubik's</c><00:01:34.010><c> II</c>

00:01:34.149 --> 00:01:34.159 align:start position:0%
reasons so he renamed it to Rubik's II
 

00:01:34.159 --> 00:01:36.550 align:start position:0%
reasons so he renamed it to Rubik's II
which<00:01:34.430><c> is</c><00:01:34.610><c> much</c><00:01:34.760><c> cooler</c><00:01:35.000><c> but</c><00:01:35.960><c> he</c><00:01:36.140><c> forgot</c><00:01:36.409><c> to</c>

00:01:36.550 --> 00:01:36.560 align:start position:0%
which is much cooler but he forgot to
 

00:01:36.560 --> 00:01:39.030 align:start position:0%
which is much cooler but he forgot to
rename<00:01:36.770><c> the</c><00:01:36.950><c> constructor</c><00:01:37.520><c> and</c><00:01:37.670><c> this</c><00:01:38.180><c> male</c>

00:01:39.030 --> 00:01:39.040 align:start position:0%
rename the constructor and this male
 

00:01:39.040 --> 00:01:42.039 align:start position:0%
rename the constructor and this male
this<00:01:40.040><c> made</c><00:01:40.250><c> it</c><00:01:40.460><c> turn</c><00:01:41.119><c> into</c><00:01:41.360><c> a</c><00:01:41.390><c> public</c><00:01:41.840><c> function</c>

00:01:42.039 --> 00:01:42.049 align:start position:0%
this made it turn into a public function
 

00:01:42.049 --> 00:01:44.289 align:start position:0%
this made it turn into a public function
because<00:01:42.560><c> that's</c><00:01:42.830><c> how</c><00:01:42.950><c> solidity</c><00:01:43.369><c> works</c><00:01:43.640><c> so</c>

00:01:44.289 --> 00:01:44.299 align:start position:0%
because that's how solidity works so
 

00:01:44.299 --> 00:01:47.560 align:start position:0%
because that's how solidity works so
anyone<00:01:44.960><c> could</c><00:01:45.170><c> call</c><00:01:45.439><c> the</c><00:01:46.340><c> dynamic</c><00:01:46.970><c> parents</c>

00:01:47.560 --> 00:01:47.570 align:start position:0%
anyone could call the dynamic parents
 

00:01:47.570 --> 00:01:50.140 align:start position:0%
anyone could call the dynamic parents
function<00:01:47.930><c> and</c><00:01:48.049><c> become</c><00:01:48.320><c> the</c><00:01:48.470><c> owner</c><00:01:49.150><c> that's</c>

00:01:50.140 --> 00:01:50.150 align:start position:0%
function and become the owner that's
 

00:01:50.150 --> 00:01:51.969 align:start position:0%
function and become the owner that's
gaining<00:01:50.420><c> gaining</c><00:01:51.020><c> the</c><00:01:51.320><c> ownership</c><00:01:51.650><c> of</c><00:01:51.890><c> the</c>

00:01:51.969 --> 00:01:51.979 align:start position:0%
gaining gaining the ownership of the
 

00:01:51.979 --> 00:01:53.410 align:start position:0%
gaining gaining the ownership of the
contract<00:01:52.400><c> and</c><00:01:52.520><c> being</c><00:01:52.820><c> able</c><00:01:52.939><c> to</c><00:01:53.090><c> steal</c><00:01:53.390><c> the</c>

00:01:53.410 --> 00:01:53.420 align:start position:0%
contract and being able to steal the
 

00:01:53.420 --> 00:01:55.840 align:start position:0%
contract and being able to steal the
fees<00:01:54.110><c> from</c><00:01:54.320><c> the</c><00:01:54.500><c> contract</c><00:01:54.890><c> so</c><00:01:55.490><c> this</c><00:01:55.670><c> seems</c>

00:01:55.840 --> 00:01:55.850 align:start position:0%
fees from the contract so this seems
 

00:01:55.850 --> 00:01:58.060 align:start position:0%
fees from the contract so this seems
like<00:01:55.939><c> a</c><00:01:56.150><c> dumb</c><00:01:56.360><c> mistake</c><00:01:56.540><c> but</c><00:01:57.439><c> the</c><00:01:57.560><c> same</c><00:01:57.770><c> feature</c>

00:01:58.060 --> 00:01:58.070 align:start position:0%
like a dumb mistake but the same feature
 

00:01:58.070 --> 00:02:01.210 align:start position:0%
like a dumb mistake but the same feature
from<00:01:59.000><c> solidity</c><00:01:59.390><c> probably</c><00:02:00.020><c> cost</c><00:02:00.259><c> the</c><00:02:00.619><c> party</c>

00:02:01.210 --> 00:02:01.220 align:start position:0%
from solidity probably cost the party
 

00:02:01.220 --> 00:02:03.460 align:start position:0%
from solidity probably cost the party
wallet<00:02:01.520><c> hack</c><00:02:01.759><c> which</c><00:02:02.329><c> happened</c><00:02:02.930><c> recently</c><00:02:03.079><c> and</c>

00:02:03.460 --> 00:02:03.470 align:start position:0%
wallet hack which happened recently and
 

00:02:03.470 --> 00:02:07.420 align:start position:0%
wallet hack which happened recently and
cost<00:02:04.189><c> like</c><00:02:05.470><c> 30</c><00:02:06.470><c> million</c><00:02:06.710><c> to</c><00:02:06.950><c> be</c><00:02:07.070><c> lost</c><00:02:07.250><c> to</c>

00:02:07.420 --> 00:02:07.430 align:start position:0%
cost like 30 million to be lost to
 

00:02:07.430 --> 00:02:14.140 align:start position:0%
cost like 30 million to be lost to
hackers<00:02:07.780><c> so</c><00:02:09.819><c> in</c><00:02:10.819><c> in</c><00:02:11.270><c> in</c><00:02:12.140><c> May</c><00:02:12.410><c> 2016</c><00:02:13.130><c> a</c><00:02:13.640><c> picture</c>

00:02:14.140 --> 00:02:14.150 align:start position:0%
hackers so in in in May 2016 a picture
 

00:02:14.150 --> 00:02:15.360 align:start position:0%
hackers so in in in May 2016 a picture
of<00:02:14.209><c> SNS</c><00:02:14.569><c> wrote</c><00:02:14.780><c> a</c><00:02:14.810><c> great</c>

00:02:15.360 --> 00:02:15.370 align:start position:0%
of SNS wrote a great
 

00:02:15.370 --> 00:02:17.309 align:start position:0%
of SNS wrote a great
girl<00:02:15.580><c> calling</c><00:02:16.269><c> the</c><00:02:16.450><c> community</c><00:02:16.840><c> to</c><00:02:17.019><c> gather</c>

00:02:17.309 --> 00:02:17.319 align:start position:0%
girl calling the community to gather
 

00:02:17.319 --> 00:02:20.160 align:start position:0%
girl calling the community to gather
around<00:02:17.560><c> a</c><00:02:17.980><c> building</c><00:02:18.670><c> best</c><00:02:19.540><c> practices</c><00:02:20.019><c> for</c>

00:02:20.160 --> 00:02:20.170 align:start position:0%
around a building best practices for
 

00:02:20.170 --> 00:02:22.530 align:start position:0%
around a building best practices for
smart<00:02:20.440><c> contract</c><00:02:20.769><c> development</c><00:02:21.220><c> and</c><00:02:21.430><c> one</c><00:02:22.330><c> month</c>

00:02:22.530 --> 00:02:22.540 align:start position:0%
smart contract development and one month
 

00:02:22.540 --> 00:02:25.080 align:start position:0%
smart contract development and one month
later<00:02:22.840><c> the</c><00:02:23.349><c> dalek</c><00:02:23.709><c> occurred</c><00:02:24.040><c> the</c><00:02:24.670><c> contract</c>

00:02:25.080 --> 00:02:25.090 align:start position:0%
later the dalek occurred the contract
 

00:02:25.090 --> 00:02:27.690 align:start position:0%
later the dalek occurred the contract
held<00:02:25.330><c> roughly</c><00:02:25.750><c> 15%</c><00:02:26.140><c> of</c><00:02:26.650><c> all</c><00:02:26.799><c> ether</c><00:02:27.159><c> tokens</c><00:02:27.580><c> in</c>

00:02:27.690 --> 00:02:27.700 align:start position:0%
held roughly 15% of all ether tokens in
 

00:02:27.700 --> 00:02:30.210 align:start position:0%
held roughly 15% of all ether tokens in
existence<00:02:28.180><c> and</c><00:02:28.500><c> fifty</c><00:02:29.500><c> million</c><00:02:29.680><c> dollars</c><00:02:30.010><c> were</c>

00:02:30.210 --> 00:02:30.220 align:start position:0%
existence and fifty million dollars were
 

00:02:30.220 --> 00:02:32.190 align:start position:0%
existence and fifty million dollars were
lost<00:02:30.250><c> and</c><00:02:30.730><c> at</c><00:02:30.940><c> that</c><00:02:31.090><c> time</c><00:02:31.330><c> the</c><00:02:31.569><c> only</c><00:02:31.780><c> solution</c>

00:02:32.190 --> 00:02:32.200 align:start position:0%
lost and at that time the only solution
 

00:02:32.200 --> 00:02:34.619 align:start position:0%
lost and at that time the only solution
at<00:02:32.530><c> the</c><00:02:32.680><c> moment</c><00:02:33.010><c> was</c><00:02:33.220><c> to</c><00:02:34.000><c> hard</c><00:02:34.180><c> fork</c><00:02:34.510><c> the</c>

00:02:34.619 --> 00:02:34.629 align:start position:0%
at the moment was to hard fork the
 

00:02:34.629 --> 00:02:36.539 align:start position:0%
at the moment was to hard fork the
protocol<00:02:35.079><c> so</c><00:02:35.379><c> a</c><00:02:35.409><c> theorem</c><00:02:35.769><c> had</c><00:02:36.010><c> to</c><00:02:36.129><c> hurt</c><00:02:36.280><c> fork</c>

00:02:36.539 --> 00:02:36.549 align:start position:0%
protocol so a theorem had to hurt fork
 

00:02:36.549 --> 00:02:38.339 align:start position:0%
protocol so a theorem had to hurt fork
which<00:02:37.150><c> in</c><00:02:37.390><c> turn</c><00:02:37.569><c> brought</c><00:02:37.870><c> a</c><00:02:38.140><c> lot</c><00:02:38.319><c> of</c>

00:02:38.339 --> 00:02:38.349 align:start position:0%
which in turn brought a lot of
 

00:02:38.349 --> 00:02:40.229 align:start position:0%
which in turn brought a lot of
complications<00:02:38.980><c> and</c><00:02:39.250><c> security</c><00:02:39.670><c> problems</c><00:02:40.060><c> so</c>

00:02:40.229 --> 00:02:40.239 align:start position:0%
complications and security problems so
 

00:02:40.239 --> 00:02:45.390 align:start position:0%
complications and security problems so
it<00:02:40.569><c> was</c><00:02:41.110><c> not</c><00:02:41.260><c> a</c><00:02:41.319><c> good</c><00:02:41.470><c> outcome</c><00:02:41.799><c> in</c><00:02:42.730><c> the</c><00:02:42.970><c> end</c><00:02:44.400><c> so</c>

00:02:45.390 --> 00:02:45.400 align:start position:0%
it was not a good outcome in the end so
 

00:02:45.400 --> 00:02:48.900 align:start position:0%
it was not a good outcome in the end so
at<00:02:46.390><c> that</c><00:02:46.540><c> moment</c><00:02:46.599><c> the</c><00:02:47.200><c> the</c><00:02:47.340><c> the</c><00:02:48.340><c> community</c><00:02:48.760><c> was</c>

00:02:48.900 --> 00:02:48.910 align:start position:0%
at that moment the the the community was
 

00:02:48.910 --> 00:02:50.699 align:start position:0%
at that moment the the the community was
pretty<00:02:49.150><c> aware</c><00:02:49.420><c> that</c><00:02:49.629><c> we</c><00:02:49.780><c> need</c><00:02:49.930><c> to</c><00:02:50.079><c> ramp</c><00:02:50.290><c> up</c><00:02:50.470><c> our</c>

00:02:50.699 --> 00:02:50.709 align:start position:0%
pretty aware that we need to ramp up our
 

00:02:50.709 --> 00:02:53.490 align:start position:0%
pretty aware that we need to ramp up our
security<00:02:51.160><c> practices</c><00:02:51.940><c> and</c><00:02:52.329><c> three</c><00:02:53.230><c> months</c>

00:02:53.490 --> 00:02:53.500 align:start position:0%
security practices and three months
 

00:02:53.500 --> 00:02:55.199 align:start position:0%
security practices and three months
later<00:02:53.680><c> on</c><00:02:53.829><c> September</c><00:02:54.069><c> we</c><00:02:54.519><c> launched</c><00:02:54.849><c> open</c>

00:02:55.199 --> 00:02:55.209 align:start position:0%
later on September we launched open
 

00:02:55.209 --> 00:02:57.750 align:start position:0%
later on September we launched open
sapling<00:02:55.540><c> as</c><00:02:55.810><c> a</c><00:02:56.049><c> community</c><00:02:56.859><c> effort</c><00:02:56.950><c> to</c><00:02:57.400><c> gather</c>

00:02:57.750 --> 00:02:57.760 align:start position:0%
sapling as a community effort to gather
 

00:02:57.760 --> 00:02:58.289 align:start position:0%
sapling as a community effort to gather
around

00:02:58.289 --> 00:02:58.299 align:start position:0%
around
 

00:02:58.299 --> 00:03:00.599 align:start position:0%
around
auditing<00:02:59.140><c> contracts</c><00:02:59.590><c> creating</c><00:03:00.069><c> better</c>

00:03:00.599 --> 00:03:00.609 align:start position:0%
auditing contracts creating better
 

00:03:00.609 --> 00:03:03.240 align:start position:0%
auditing contracts creating better
security<00:03:01.060><c> practices</c><00:03:01.659><c> and</c><00:03:01.930><c> actually</c><00:03:02.890><c> gather</c>

00:03:03.240 --> 00:03:03.250 align:start position:0%
security practices and actually gather
 

00:03:03.250 --> 00:03:06.199 align:start position:0%
security practices and actually gather
some<00:03:03.579><c> smart</c><00:03:04.120><c> contracts</c><00:03:04.569><c> called</c><00:03:05.079><c> to</c><00:03:05.379><c> share</c><00:03:05.920><c> a</c>

00:03:06.199 --> 00:03:06.209 align:start position:0%
some smart contracts called to share a
 

00:03:06.209 --> 00:03:09.240 align:start position:0%
some smart contracts called to share a
week<00:03:07.209><c> later</c><00:03:07.450><c> I</c><00:03:07.750><c> was</c><00:03:07.870><c> in</c><00:03:08.260><c> Shanghai</c><00:03:08.440><c> for</c><00:03:08.680><c> DEFCON</c>

00:03:09.240 --> 00:03:09.250 align:start position:0%
week later I was in Shanghai for DEFCON
 

00:03:09.250 --> 00:03:11.399 align:start position:0%
week later I was in Shanghai for DEFCON
2<00:03:09.430><c> and</c><00:03:09.790><c> everyone</c><00:03:10.269><c> loved</c><00:03:10.510><c> the</c><00:03:10.659><c> idea</c><00:03:10.780><c> many</c>

00:03:11.399 --> 00:03:11.409 align:start position:0%
2 and everyone loved the idea many
 

00:03:11.409 --> 00:03:13.949 align:start position:0%
2 and everyone loved the idea many
projects<00:03:11.980><c> wanted</c><00:03:12.370><c> to</c><00:03:12.519><c> gather</c><00:03:13.209><c> around</c><00:03:13.540><c> open</c>

00:03:13.949 --> 00:03:13.959 align:start position:0%
projects wanted to gather around open
 

00:03:13.959 --> 00:03:16.110 align:start position:0%
projects wanted to gather around open
sapling<00:03:14.290><c> and</c><00:03:14.409><c> help</c><00:03:14.680><c> these</c><00:03:15.310><c> contracts</c><00:03:15.790><c> and</c>

00:03:16.110 --> 00:03:16.120 align:start position:0%
sapling and help these contracts and
 

00:03:16.120 --> 00:03:18.149 align:start position:0%
sapling and help these contracts and
since<00:03:16.720><c> then</c><00:03:16.900><c> the</c><00:03:17.290><c> project</c><00:03:17.620><c> has</c><00:03:17.769><c> been</c><00:03:17.950><c> growing</c>

00:03:18.149 --> 00:03:18.159 align:start position:0%
since then the project has been growing
 

00:03:18.159 --> 00:03:21.390 align:start position:0%
since then the project has been growing
quite<00:03:18.730><c> a</c><00:03:18.790><c> lot</c><00:03:19.620><c> for</c><00:03:20.620><c> the</c><00:03:20.680><c> past</c><00:03:20.859><c> three</c><00:03:21.069><c> months</c><00:03:21.099><c> we</c>

00:03:21.390 --> 00:03:21.400 align:start position:0%
quite a lot for the past three months we
 

00:03:21.400 --> 00:03:25.199 align:start position:0%
quite a lot for the past three months we
had<00:03:21.639><c> more</c><00:03:22.090><c> than</c><00:03:22.239><c> 8%</c><00:03:22.480><c> a</c><00:03:23.260><c> weekly</c><00:03:23.919><c> growth</c><00:03:24.430><c> which</c>

00:03:25.199 --> 00:03:25.209 align:start position:0%
had more than 8% a weekly growth which
 

00:03:25.209 --> 00:03:29.039 align:start position:0%
had more than 8% a weekly growth which
is<00:03:25.389><c> the</c><00:03:25.989><c> hockey</c><00:03:26.169><c> stick</c><00:03:26.500><c> figure</c><00:03:26.889><c> every</c><00:03:28.049><c> Silicon</c>

00:03:29.039 --> 00:03:29.049 align:start position:0%
is the hockey stick figure every Silicon
 

00:03:29.049 --> 00:03:30.990 align:start position:0%
is the hockey stick figure every Silicon
Valley<00:03:29.230><c> entrepreneur</c><00:03:29.739><c> wants</c><00:03:29.919><c> but</c><00:03:30.639><c> the</c><00:03:30.760><c> truth</c>

00:03:30.990 --> 00:03:31.000 align:start position:0%
Valley entrepreneur wants but the truth
 

00:03:31.000 --> 00:03:33.920 align:start position:0%
Valley entrepreneur wants but the truth
is<00:03:31.120><c> we</c><00:03:31.450><c> built</c><00:03:31.989><c> something</c><00:03:32.260><c> that</c><00:03:32.620><c> everyone</c><00:03:33.489><c> was</c>

00:03:33.920 --> 00:03:33.930 align:start position:0%
is we built something that everyone was
 

00:03:33.930 --> 00:03:36.990 align:start position:0%
is we built something that everyone was
wanting<00:03:34.930><c> and</c><00:03:35.169><c> the</c><00:03:35.560><c> industry</c><00:03:36.010><c> grew</c><00:03:36.250><c> a</c><00:03:36.280><c> lot</c><00:03:36.519><c> say</c>

00:03:36.990 --> 00:03:37.000 align:start position:0%
wanting and the industry grew a lot say
 

00:03:37.000 --> 00:03:42.920 align:start position:0%
wanting and the industry grew a lot say
since<00:03:37.599><c> then</c><00:03:37.780><c> so</c><00:03:40.169><c> it</c><00:03:41.169><c> grew</c><00:03:41.379><c> with</c><00:03:41.530><c> the</c><00:03:41.560><c> industry</c>

00:03:42.920 --> 00:03:42.930 align:start position:0%
since then so it grew with the industry
 

00:03:42.930 --> 00:03:46.020 align:start position:0%
since then so it grew with the industry
apart<00:03:43.930><c> from</c><00:03:44.139><c> the</c><00:03:44.560><c> community</c><00:03:44.949><c> building</c><00:03:45.760><c> better</c>

00:03:46.020 --> 00:03:46.030 align:start position:0%
apart from the community building better
 

00:03:46.030 --> 00:03:48.479 align:start position:0%
apart from the community building better
tools<00:03:46.419><c> for</c><00:03:46.540><c> smart</c><00:03:46.959><c> contract</c><00:03:47.230><c> development</c><00:03:47.680><c> in</c>

00:03:48.479 --> 00:03:48.489 align:start position:0%
tools for smart contract development in
 

00:03:48.489 --> 00:03:50.599 align:start position:0%
tools for smart contract development in
Syria<00:03:48.819><c> massive</c><00:03:49.090><c> platform</c><00:03:49.269><c> evolved</c><00:03:49.840><c> a</c><00:03:49.959><c> lot</c><00:03:50.079><c> too</c>

00:03:50.599 --> 00:03:50.609 align:start position:0%
Syria massive platform evolved a lot too
 

00:03:50.609 --> 00:03:53.490 align:start position:0%
Syria massive platform evolved a lot too
we've<00:03:51.609><c> seen</c><00:03:51.819><c> the</c><00:03:51.910><c> consolidation</c><00:03:52.449><c> of</c><00:03:52.720><c> the</c>

00:03:53.490 --> 00:03:53.500 align:start position:0%
we've seen the consolidation of the
 

00:03:53.500 --> 00:03:56.479 align:start position:0%
we've seen the consolidation of the
various<00:03:54.099><c> standards</c><00:03:54.340><c> like</c><00:03:54.790><c> they</c><00:03:55.000><c> are</c><00:03:55.180><c> seat</c><00:03:55.389><c> 20</c>

00:03:56.479 --> 00:03:56.489 align:start position:0%
various standards like they are seat 20
 

00:03:56.489 --> 00:03:59.729 align:start position:0%
various standards like they are seat 20
proposal<00:03:57.489><c> that</c><00:03:57.609><c> turned</c><00:03:57.910><c> into</c><00:03:58.120><c> a</c><00:03:58.449><c> IP</c><00:03:58.629><c> 20</c><00:03:59.139><c> for</c>

00:03:59.729 --> 00:03:59.739 align:start position:0%
proposal that turned into a IP 20 for
 

00:03:59.739 --> 00:04:03.449 align:start position:0%
proposal that turned into a IP 20 for
tokens<00:04:00.280><c> standard</c><00:04:01.410><c> also</c><00:04:02.410><c> the</c><00:04:02.650><c> platform</c><00:04:03.099><c> fixed</c>

00:04:03.449 --> 00:04:03.459 align:start position:0%
tokens standard also the platform fixed
 

00:04:03.459 --> 00:04:06.360 align:start position:0%
tokens standard also the platform fixed
some<00:04:03.879><c> security</c><00:04:04.870><c> problems</c><00:04:04.900><c> like</c><00:04:05.590><c> the</c><00:04:05.799><c> nasty</c>

00:04:06.360 --> 00:04:06.370 align:start position:0%
some security problems like the nasty
 

00:04:06.370 --> 00:04:08.009 align:start position:0%
some security problems like the nasty
call<00:04:06.760><c> stack</c><00:04:07.030><c> attack</c><00:04:07.299><c> that</c><00:04:07.510><c> was</c><00:04:07.660><c> possible</c>

00:04:08.009 --> 00:04:08.019 align:start position:0%
call stack attack that was possible
 

00:04:08.019 --> 00:04:10.770 align:start position:0%
call stack attack that was possible
before<00:04:08.169><c> and</c><00:04:08.799><c> after</c><00:04:09.129><c> AI</c><00:04:09.370><c> PE</c><00:04:09.639><c> 150</c><00:04:10.329><c> it's</c><00:04:10.599><c> no</c>

00:04:10.770 --> 00:04:10.780 align:start position:0%
before and after AI PE 150 it's no
 

00:04:10.780 --> 00:04:13.979 align:start position:0%
before and after AI PE 150 it's no
longer<00:04:10.930><c> possible</c><00:04:11.849><c> also</c><00:04:12.849><c> solidity</c><00:04:13.389><c> the</c><00:04:13.720><c> the</c>

00:04:13.979 --> 00:04:13.989 align:start position:0%
longer possible also solidity the the
 

00:04:13.989 --> 00:04:16.229 align:start position:0%
longer possible also solidity the the
most<00:04:14.139><c> popular</c><00:04:14.290><c> smart</c><00:04:15.160><c> contract</c><00:04:15.459><c> language</c><00:04:15.609><c> got</c>

00:04:16.229 --> 00:04:16.239 align:start position:0%
most popular smart contract language got
 

00:04:16.239 --> 00:04:17.849 align:start position:0%
most popular smart contract language got
some<00:04:16.660><c> cool</c><00:04:16.870><c> new</c><00:04:16.989><c> features</c><00:04:17.019><c> in</c><00:04:17.500><c> terms</c><00:04:17.530><c> of</c>

00:04:17.849 --> 00:04:17.859 align:start position:0%
some cool new features in terms of
 

00:04:17.859 --> 00:04:18.330 align:start position:0%
some cool new features in terms of
security

00:04:18.330 --> 00:04:18.340 align:start position:0%
security
 

00:04:18.340 --> 00:04:20.909 align:start position:0%
security
the<00:04:19.000><c> payable</c><00:04:19.419><c> keyword</c><00:04:19.780><c> that</c><00:04:19.810><c> allows</c><00:04:20.289><c> to</c><00:04:20.680><c> set</c>

00:04:20.909 --> 00:04:20.919 align:start position:0%
the payable keyword that allows to set
 

00:04:20.919 --> 00:04:23.459 align:start position:0%
the payable keyword that allows to set
when<00:04:21.849><c> a</c><00:04:22.090><c> contract</c><00:04:22.539><c> can</c><00:04:22.690><c> or</c><00:04:22.870><c> cannot</c><00:04:23.139><c> receive</c>

00:04:23.459 --> 00:04:23.469 align:start position:0%
when a contract can or cannot receive
 

00:04:23.469 --> 00:04:25.860 align:start position:0%
when a contract can or cannot receive
money<00:04:23.710><c> require</c><00:04:24.669><c> an</c><00:04:24.849><c> assert</c><00:04:25.150><c> that</c><00:04:25.390><c> are</c><00:04:25.510><c> really</c>

00:04:25.860 --> 00:04:25.870 align:start position:0%
money require an assert that are really
 

00:04:25.870 --> 00:04:28.409 align:start position:0%
money require an assert that are really
useful<00:04:25.990><c> for</c><00:04:26.469><c> setting</c><00:04:27.400><c> the</c><00:04:27.640><c> preconditions</c><00:04:28.270><c> and</c>

00:04:28.409 --> 00:04:28.419 align:start position:0%
useful for setting the preconditions and
 

00:04:28.419 --> 00:04:28.930 align:start position:0%
useful for setting the preconditions and
postconditions

00:04:28.930 --> 00:04:28.940 align:start position:0%
postconditions
 

00:04:28.940 --> 00:04:31.960 align:start position:0%
postconditions
of<00:04:29.330><c> our</c><00:04:29.600><c> functions</c><00:04:30.520><c> transfer</c><00:04:31.520><c> which</c><00:04:31.760><c> is</c><00:04:31.940><c> a</c>

00:04:31.960 --> 00:04:31.970 align:start position:0%
of our functions transfer which is a
 

00:04:31.970 --> 00:04:34.330 align:start position:0%
of our functions transfer which is a
safer<00:04:32.570><c> way</c><00:04:32.600><c> to</c><00:04:32.780><c> send</c><00:04:33.200><c> money</c><00:04:33.350><c> from</c><00:04:34.160><c> our</c>

00:04:34.330 --> 00:04:34.340 align:start position:0%
safer way to send money from our
 

00:04:34.340 --> 00:04:38.110 align:start position:0%
safer way to send money from our
contract<00:04:35.050><c> revert</c><00:04:36.050><c> to</c><00:04:36.500><c> cancel</c><00:04:37.370><c> execution</c><00:04:37.850><c> of</c>

00:04:38.110 --> 00:04:38.120 align:start position:0%
contract revert to cancel execution of
 

00:04:38.120 --> 00:04:40.650 align:start position:0%
contract revert to cancel execution of
our<00:04:38.480><c> function</c><00:04:39.110><c> without</c><00:04:39.650><c> wasting</c><00:04:40.070><c> all</c><00:04:40.220><c> the</c><00:04:40.310><c> gas</c>

00:04:40.650 --> 00:04:40.660 align:start position:0%
our function without wasting all the gas
 

00:04:40.660 --> 00:04:43.060 align:start position:0%
our function without wasting all the gas
Purim<00:04:41.660><c> view</c><00:04:41.900><c> which</c><00:04:42.050><c> are</c><00:04:42.290><c> the</c><00:04:42.560><c> evolution</c><00:04:42.980><c> of</c>

00:04:43.060 --> 00:04:43.070 align:start position:0%
Purim view which are the evolution of
 

00:04:43.070 --> 00:04:44.770 align:start position:0%
Purim view which are the evolution of
the<00:04:43.190><c> constant</c><00:04:43.670><c> keyword</c><00:04:44.030><c> and</c><00:04:44.270><c> allowed</c><00:04:44.600><c> to</c>

00:04:44.770 --> 00:04:44.780 align:start position:0%
the constant keyword and allowed to
 

00:04:44.780 --> 00:04:48.010 align:start position:0%
the constant keyword and allowed to
specify<00:04:45.550><c> if</c><00:04:46.550><c> a</c><00:04:46.730><c> contract</c><00:04:47.090><c> if</c><00:04:47.330><c> a</c><00:04:47.510><c> function</c><00:04:47.840><c> can</c>

00:04:48.010 --> 00:04:48.020 align:start position:0%
specify if a contract if a function can
 

00:04:48.020 --> 00:04:51.040 align:start position:0%
specify if a contract if a function can
or<00:04:48.380><c> cannot</c><00:04:48.800><c> read</c><00:04:49.250><c> or</c><00:04:49.520><c> write</c><00:04:49.820><c> state</c><00:04:50.240><c> from</c><00:04:50.840><c> the</c>

00:04:51.040 --> 00:04:51.050 align:start position:0%
or cannot read or write state from the
 

00:04:51.050 --> 00:04:54.540 align:start position:0%
or cannot read or write state from the
contract<00:04:52.240><c> we've</c><00:04:53.240><c> also</c><00:04:53.420><c> seen</c><00:04:53.690><c> the</c><00:04:53.750><c> death</c><00:04:54.050><c> of</c>

00:04:54.540 --> 00:04:54.550 align:start position:0%
contract we've also seen the death of
 

00:04:54.550 --> 00:04:57.640 align:start position:0%
contract we've also seen the death of
serpent<00:04:55.550><c> as</c><00:04:55.760><c> a</c><00:04:55.820><c> language</c><00:04:56.090><c> after</c><00:04:57.050><c> a</c><00:04:57.260><c> knowledge</c>

00:04:57.640 --> 00:04:57.650 align:start position:0%
serpent as a language after a knowledge
 

00:04:57.650 --> 00:05:00.100 align:start position:0%
serpent as a language after a knowledge
within<00:04:57.860><c> which</c><00:04:58.820><c> in</c><00:04:59.090><c> which</c><00:04:59.300><c> we</c><00:04:59.420><c> found</c><00:04:59.690><c> eight</c>

00:05:00.100 --> 00:05:00.110 align:start position:0%
within which in which we found eight
 

00:05:00.110 --> 00:05:03.820 align:start position:0%
within which in which we found eight
pretty<00:05:00.920><c> serious</c><00:05:01.910><c> vulnerabilities</c><00:05:02.810><c> which</c><00:05:03.560><c> led</c>

00:05:03.820 --> 00:05:03.830 align:start position:0%
pretty serious vulnerabilities which led
 

00:05:03.830 --> 00:05:06.490 align:start position:0%
pretty serious vulnerabilities which led
us<00:05:03.980><c> to</c><00:05:04.010><c> find</c><00:05:04.370><c> critical</c><00:05:05.270><c> vulnerability</c><00:05:06.140><c> in</c><00:05:06.380><c> the</c>

00:05:06.490 --> 00:05:06.500 align:start position:0%
us to find critical vulnerability in the
 

00:05:06.500 --> 00:05:08.770 align:start position:0%
us to find critical vulnerability in the
rep<00:05:06.650><c> token</c><00:05:07.070><c> which</c><00:05:07.580><c> allowed</c><00:05:07.880><c> any</c><00:05:08.180><c> attacker</c><00:05:08.600><c> to</c>

00:05:08.770 --> 00:05:08.780 align:start position:0%
rep token which allowed any attacker to
 

00:05:08.780 --> 00:05:11.890 align:start position:0%
rep token which allowed any attacker to
freeze<00:05:09.020><c> the</c><00:05:09.170><c> contract</c><00:05:09.620><c> forever</c><00:05:10.210><c> and</c><00:05:11.210><c> male</c>

00:05:11.890 --> 00:05:11.900 align:start position:0%
freeze the contract forever and male
 

00:05:11.900 --> 00:05:14.680 align:start position:0%
freeze the contract forever and male
made<00:05:12.530><c> them</c><00:05:12.710><c> have</c><00:05:13.490><c> to</c><00:05:13.670><c> me</c><00:05:13.790><c> migrate</c><00:05:14.330><c> the</c><00:05:14.540><c> rep</c>

00:05:14.680 --> 00:05:14.690 align:start position:0%
made them have to me migrate the rep
 

00:05:14.690 --> 00:05:18.520 align:start position:0%
made them have to me migrate the rep
token<00:05:15.050><c> to</c><00:05:15.200><c> solidity</c><00:05:16.060><c> the</c><00:05:17.260><c> serpent</c><00:05:18.260><c> language</c>

00:05:18.520 --> 00:05:18.530 align:start position:0%
token to solidity the serpent language
 

00:05:18.530 --> 00:05:21.130 align:start position:0%
token to solidity the serpent language
was<00:05:18.800><c> deprecated</c><00:05:19.550><c> after</c><00:05:20.480><c> this</c><00:05:20.660><c> tweet</c><00:05:20.960><c> from</c>

00:05:21.130 --> 00:05:21.140 align:start position:0%
was deprecated after this tweet from
 

00:05:21.140 --> 00:05:23.500 align:start position:0%
was deprecated after this tweet from
metallic<00:05:21.610><c> and</c><00:05:22.610><c> now</c><00:05:22.730><c> although</c><00:05:22.970><c> all</c><00:05:23.330><c> the</c>

00:05:23.500 --> 00:05:23.510 align:start position:0%
metallic and now although all the
 

00:05:23.510 --> 00:05:25.090 align:start position:0%
metallic and now although all the
efforts<00:05:23.780><c> around</c><00:05:23.960><c> and</c><00:05:24.350><c> an</c><00:05:24.500><c> alternative</c>

00:05:25.090 --> 00:05:25.100 align:start position:0%
efforts around and an alternative
 

00:05:25.100 --> 00:05:27.400 align:start position:0%
efforts around and an alternative
language<00:05:25.490><c> are</c><00:05:25.700><c> focused</c><00:05:26.180><c> on</c><00:05:26.330><c> Viper</c><00:05:26.600><c> which</c><00:05:26.960><c> is</c><00:05:27.140><c> a</c>

00:05:27.400 --> 00:05:27.410 align:start position:0%
language are focused on Viper which is a
 

00:05:27.410 --> 00:05:29.770 align:start position:0%
language are focused on Viper which is a
serpent<00:05:28.100><c> successor</c><00:05:28.610><c> and</c><00:05:29.090><c> it's</c><00:05:29.420><c> pretty</c><00:05:29.600><c> cool</c>

00:05:29.770 --> 00:05:29.780 align:start position:0%
serpent successor and it's pretty cool
 

00:05:29.780 --> 00:05:31.120 align:start position:0%
serpent successor and it's pretty cool
so<00:05:30.020><c> you</c><00:05:30.230><c> should</c><00:05:30.260><c> check</c><00:05:30.560><c> it</c><00:05:30.650><c> out</c><00:05:30.740><c> it's</c><00:05:31.040><c> not</c>

00:05:31.120 --> 00:05:31.130 align:start position:0%
so you should check it out it's not
 

00:05:31.130 --> 00:05:34.300 align:start position:0%
so you should check it out it's not
production<00:05:31.610><c> ready</c><00:05:31.910><c> yet</c><00:05:32.090><c> but</c><00:05:32.300><c> I</c><00:05:33.200><c> hope</c><00:05:33.710><c> it</c><00:05:34.130><c> gets</c>

00:05:34.300 --> 00:05:34.310 align:start position:0%
production ready yet but I hope it gets
 

00:05:34.310 --> 00:05:37.840 align:start position:0%
production ready yet but I hope it gets
more<00:05:34.550><c> attention</c><00:05:35.590><c> and</c><00:05:36.590><c> more</c><00:05:36.650><c> recently</c><00:05:37.190><c> with</c>

00:05:37.840 --> 00:05:37.850 align:start position:0%
more attention and more recently with
 

00:05:37.850 --> 00:05:39.900 align:start position:0%
more attention and more recently with
the<00:05:38.090><c> Byzantine</c><00:05:38.419><c> heart</c><00:05:38.870><c> fork</c><00:05:39.200><c> some</c>

00:05:39.900 --> 00:05:39.910 align:start position:0%
the Byzantine heart fork some
 

00:05:39.910 --> 00:05:42.190 align:start position:0%
the Byzantine heart fork some
consequences<00:05:40.910><c> on</c><00:05:41.090><c> on</c><00:05:41.330><c> security</c><00:05:41.840><c> are</c><00:05:41.990><c> the</c>

00:05:42.190 --> 00:05:42.200 align:start position:0%
consequences on on security are the
 

00:05:42.200 --> 00:05:44.320 align:start position:0%
consequences on on security are the
region<00:05:42.919><c> of</c><00:05:43.040><c> begin</c><00:05:43.490><c> sugar</c><00:05:43.760><c> modular</c>

00:05:44.320 --> 00:05:44.330 align:start position:0%
region of begin sugar modular
 

00:05:44.330 --> 00:05:46.300 align:start position:0%
region of begin sugar modular
exponentiation<00:05:44.720><c> which</c><00:05:45.169><c> allows</c><00:05:45.440><c> RSA</c>

00:05:46.300 --> 00:05:46.310 align:start position:0%
exponentiation which allows RSA
 

00:05:46.310 --> 00:05:48.490 align:start position:0%
exponentiation which allows RSA
signature<00:05:46.820><c> verifications</c><00:05:47.480><c> we'll</c><00:05:47.780><c> see</c><00:05:47.990><c> what</c>

00:05:48.490 --> 00:05:48.500 align:start position:0%
signature verifications we'll see what
 

00:05:48.500 --> 00:05:51.370 align:start position:0%
signature verifications we'll see what
people<00:05:48.800><c> come</c><00:05:48.830><c> up</c><00:05:49.040><c> to</c><00:05:49.490><c> with</c><00:05:49.700><c> this</c><00:05:49.850><c> new</c><00:05:50.390><c> tool</c><00:05:50.570><c> the</c>

00:05:51.370 --> 00:05:51.380 align:start position:0%
people come up to with this new tool the
 

00:05:51.380 --> 00:05:53.320 align:start position:0%
people come up to with this new tool the
asian<00:05:51.620><c> of</c><00:05:51.710><c> the</c><00:05:51.830><c> static</c><00:05:52.220><c> called</c><00:05:52.640><c> opcode</c><00:05:53.150><c> which</c>

00:05:53.320 --> 00:05:53.330 align:start position:0%
asian of the static called opcode which
 

00:05:53.330 --> 00:05:55.810 align:start position:0%
asian of the static called opcode which
enables<00:05:53.780><c> safer</c><00:05:54.290><c> calls</c><00:05:54.560><c> to</c><00:05:55.310><c> untrusted</c>

00:05:55.810 --> 00:05:55.820 align:start position:0%
enables safer calls to untrusted
 

00:05:55.820 --> 00:05:58.120 align:start position:0%
enables safer calls to untrusted
contracts<00:05:56.330><c> because</c><00:05:56.600><c> it</c><00:05:56.750><c> makes</c><00:05:57.140><c> them</c><00:05:57.320><c> not</c><00:05:57.830><c> able</c>

00:05:58.120 --> 00:05:58.130 align:start position:0%
contracts because it makes them not able
 

00:05:58.130 --> 00:06:01.930 align:start position:0%
contracts because it makes them not able
to<00:05:58.280><c> modify</c><00:05:58.730><c> your</c><00:05:58.820><c> storage</c><00:05:59.290><c> and</c><00:06:00.490><c> the</c><00:06:01.490><c> asian</c><00:06:01.760><c> of</c>

00:06:01.930 --> 00:06:01.940 align:start position:0%
to modify your storage and the asian of
 

00:06:01.940 --> 00:06:04.900 align:start position:0%
to modify your storage and the asian of
up<00:06:02.240><c> codes</c><00:06:02.630><c> for</c><00:06:02.780><c> data</c><00:06:03.230><c> handling</c><00:06:03.500><c> and</c><00:06:03.980><c> revert</c>

00:06:04.900 --> 00:06:04.910 align:start position:0%
up codes for data handling and revert
 

00:06:04.910 --> 00:06:08.290 align:start position:0%
up codes for data handling and revert
the<00:06:05.510><c> river</c><00:06:05.750><c> top</c><00:06:06.020><c> code</c><00:06:06.230><c> allow</c><00:06:06.980><c> for</c><00:06:07.250><c> much</c><00:06:07.760><c> easier</c>

00:06:08.290 --> 00:06:08.300 align:start position:0%
the river top code allow for much easier
 

00:06:08.300 --> 00:06:10.630 align:start position:0%
the river top code allow for much easier
and<00:06:08.419><c> Tyler</c><00:06:08.660><c> ways</c><00:06:08.990><c> of</c><00:06:09.260><c> implementing</c><00:06:09.950><c> upgrade</c>

00:06:10.630 --> 00:06:10.640 align:start position:0%
and Tyler ways of implementing upgrade
 

00:06:10.640 --> 00:06:13.150 align:start position:0%
and Tyler ways of implementing upgrade
ability<00:06:10.790><c> proxies</c><00:06:11.419><c> which</c><00:06:11.690><c> is</c><00:06:11.950><c> an</c><00:06:12.950><c> ongoing</c>

00:06:13.150 --> 00:06:13.160 align:start position:0%
ability proxies which is an ongoing
 

00:06:13.160 --> 00:06:15.430 align:start position:0%
ability proxies which is an ongoing
discussion<00:06:13.790><c> topic</c><00:06:14.419><c> in</c><00:06:14.570><c> smart</c><00:06:15.169><c> contracts</c>

00:06:15.430 --> 00:06:15.440 align:start position:0%
discussion topic in smart contracts
 

00:06:15.440 --> 00:06:19.900 align:start position:0%
discussion topic in smart contracts
security<00:06:16.300><c> so</c><00:06:17.300><c> that's</c><00:06:18.200><c> what</c><00:06:18.950><c> happened</c><00:06:19.340><c> and</c><00:06:19.550><c> now</c>

00:06:19.900 --> 00:06:19.910 align:start position:0%
security so that's what happened and now
 

00:06:19.910 --> 00:06:21.610 align:start position:0%
security so that's what happened and now
I<00:06:19.940><c> want</c><00:06:20.180><c> to</c><00:06:20.210><c> focus</c><00:06:20.390><c> on</c><00:06:20.630><c> some</c><00:06:20.840><c> new</c><00:06:21.230><c> techniques</c>

00:06:21.610 --> 00:06:21.620 align:start position:0%
I want to focus on some new techniques
 

00:06:21.620 --> 00:06:23.440 align:start position:0%
I want to focus on some new techniques
and<00:06:21.830><c> patterns</c><00:06:22.190><c> we've</c><00:06:22.370><c> been</c><00:06:22.640><c> seeing</c><00:06:22.880><c> on</c><00:06:23.330><c> our</c>

00:06:23.440 --> 00:06:23.450 align:start position:0%
and patterns we've been seeing on our
 

00:06:23.450 --> 00:06:26.400 align:start position:0%
and patterns we've been seeing on our
audits<00:06:23.840><c> and</c><00:06:24.050><c> work</c><00:06:24.590><c> with</c><00:06:24.830><c> opens</c><00:06:25.100><c> happening</c><00:06:25.400><c> oh</c>

00:06:26.400 --> 00:06:26.410 align:start position:0%
audits and work with opens happening oh
 

00:06:26.410 --> 00:06:30.310 align:start position:0%
audits and work with opens happening oh
can<00:06:27.410><c> you</c><00:06:27.500><c> see</c><00:06:27.530><c> that</c><00:06:27.830><c> ok</c><00:06:28.310><c> let's</c><00:06:28.940><c> say</c><00:06:29.090><c> you're</c><00:06:29.540><c> a</c>

00:06:30.310 --> 00:06:30.320 align:start position:0%
can you see that ok let's say you're a
 

00:06:30.320 --> 00:06:32.470 align:start position:0%
can you see that ok let's say you're a
developer<00:06:30.710><c> running</c><00:06:31.220><c> solidity</c><00:06:31.640><c> so</c><00:06:31.910><c> you</c><00:06:31.970><c> create</c>

00:06:32.470 --> 00:06:32.480 align:start position:0%
developer running solidity so you create
 

00:06:32.480 --> 00:06:34.510 align:start position:0%
developer running solidity so you create
your<00:06:32.960><c> own</c><00:06:32.990><c> you</c><00:06:33.530><c> RC</c><00:06:33.770><c> twenties</c><00:06:34.100><c> all</c><00:06:34.190><c> come</c><00:06:34.340><c> for</c>

00:06:34.510 --> 00:06:34.520 align:start position:0%
your own you RC twenties all come for
 

00:06:34.520 --> 00:06:37.779 align:start position:0%
your own you RC twenties all come for
fun<00:06:35.590><c> by</c><00:06:36.590><c> using</c><00:06:36.740><c> open</c><00:06:36.950><c> selling</c><00:06:37.400><c> you</c><00:06:37.520><c> can</c><00:06:37.669><c> do</c>

00:06:37.779 --> 00:06:37.789 align:start position:0%
fun by using open selling you can do
 

00:06:37.789 --> 00:06:39.520 align:start position:0%
fun by using open selling you can do
this<00:06:37.940><c> pretty</c><00:06:38.360><c> easily</c><00:06:38.690><c> with</c><00:06:38.900><c> like</c><00:06:39.080><c> ten</c><00:06:39.320><c> lines</c>

00:06:39.520 --> 00:06:39.530 align:start position:0%
this pretty easily with like ten lines
 

00:06:39.530 --> 00:06:41.560 align:start position:0%
this pretty easily with like ten lines
of<00:06:39.680><c> code</c><00:06:39.740><c> so</c><00:06:40.160><c> you</c><00:06:40.640><c> think</c><00:06:40.940><c> you</c><00:06:41.180><c> want</c><00:06:41.360><c> to</c><00:06:41.419><c> add</c>

00:06:41.560 --> 00:06:41.570 align:start position:0%
of code so you think you want to add
 

00:06:41.570 --> 00:06:42.730 align:start position:0%
of code so you think you want to add
something<00:06:41.840><c> that</c><00:06:42.020><c> sort</c><00:06:42.380><c> to</c><00:06:42.440><c> make</c>

00:06:42.730 --> 00:06:42.740 align:start position:0%
something that sort to make
 

00:06:42.740 --> 00:06:45.520 align:start position:0%
something that sort to make
talking<00:06:43.099><c> cooler</c><00:06:43.810><c> just</c><00:06:44.810><c> for</c><00:06:44.990><c> fine</c><00:06:45.169><c> you</c><00:06:45.289><c> think</c>

00:06:45.520 --> 00:06:45.530 align:start position:0%
talking cooler just for fine you think
 

00:06:45.530 --> 00:06:47.439 align:start position:0%
talking cooler just for fine you think
you<00:06:45.740><c> want</c><00:06:45.949><c> your</c><00:06:46.280><c> token</c><00:06:46.819><c> to</c><00:06:46.940><c> have</c><00:06:47.090><c> an</c><00:06:47.180><c> extra</c>

00:06:47.439 --> 00:06:47.449 align:start position:0%
you want your token to have an extra
 

00:06:47.449 --> 00:06:49.059 align:start position:0%
you want your token to have an extra
functionality<00:06:48.050><c> of</c><00:06:48.199><c> being</c><00:06:48.500><c> able</c><00:06:48.620><c> to</c><00:06:48.889><c> lock</c>

00:06:49.059 --> 00:06:49.069 align:start position:0%
functionality of being able to lock
 

00:06:49.069 --> 00:06:50.890 align:start position:0%
functionality of being able to lock
funds<00:06:49.340><c> for</c><00:06:49.639><c> a</c><00:06:49.699><c> certain</c><00:06:50.060><c> amount</c><00:06:50.180><c> of</c><00:06:50.419><c> time</c><00:06:50.630><c> and</c>

00:06:50.890 --> 00:06:50.900 align:start position:0%
funds for a certain amount of time and
 

00:06:50.900 --> 00:06:53.050 align:start position:0%
funds for a certain amount of time and
you<00:06:51.259><c> want</c><00:06:51.380><c> to</c><00:06:51.590><c> add</c><00:06:51.680><c> a</c><00:06:51.710><c> little</c><00:06:52.280><c> extra</c><00:06:52.610><c> gold</c><00:06:52.970><c> as</c>

00:06:53.050 --> 00:06:53.060 align:start position:0%
you want to add a little extra gold as
 

00:06:53.060 --> 00:06:56.890 align:start position:0%
you want to add a little extra gold as
possible<00:06:53.800><c> so</c><00:06:54.800><c> a</c><00:06:55.039><c> way</c><00:06:55.220><c> to</c><00:06:55.280><c> do</c><00:06:55.460><c> this</c><00:06:55.610><c> is</c><00:06:56.300><c> to</c><00:06:56.750><c> add</c><00:06:56.870><c> a</c>

00:06:56.890 --> 00:06:56.900 align:start position:0%
possible so a way to do this is to add a
 

00:06:56.900 --> 00:06:58.629 align:start position:0%
possible so a way to do this is to add a
lock<00:06:57.169><c> function</c><00:06:57.470><c> a</c><00:06:57.860><c> public</c><00:06:58.310><c> lock</c><00:06:58.490><c> function</c>

00:06:58.629 --> 00:06:58.639 align:start position:0%
lock function a public lock function
 

00:06:58.639 --> 00:07:01.480 align:start position:0%
lock function a public lock function
that<00:06:59.380><c> instantly</c><00:07:00.380><c> transfer</c><00:07:00.800><c> the</c><00:07:00.919><c> tokens</c><00:07:01.280><c> but</c>

00:07:01.480 --> 00:07:01.490 align:start position:0%
that instantly transfer the tokens but
 

00:07:01.490 --> 00:07:03.969 align:start position:0%
that instantly transfer the tokens but
then<00:07:01.699><c> stores</c><00:07:02.539><c> when</c><00:07:02.990><c> those</c><00:07:03.199><c> tokens</c><00:07:03.560><c> should</c><00:07:03.770><c> be</c>

00:07:03.969 --> 00:07:03.979 align:start position:0%
then stores when those tokens should be
 

00:07:03.979 --> 00:07:06.610 align:start position:0%
then stores when those tokens should be
released<00:07:04.550><c> and</c><00:07:04.880><c> then</c><00:07:05.330><c> modifying</c><00:07:05.780><c> the</c><00:07:06.110><c> standard</c>

00:07:06.610 --> 00:07:06.620 align:start position:0%
released and then modifying the standard
 

00:07:06.620 --> 00:07:08.800 align:start position:0%
released and then modifying the standard
transfer<00:07:07.009><c> functions</c><00:07:07.490><c> to</c><00:07:07.669><c> make</c><00:07:07.849><c> them</c><00:07:08.060><c> honor</c>

00:07:08.800 --> 00:07:08.810 align:start position:0%
transfer functions to make them honor
 

00:07:08.810 --> 00:07:11.379 align:start position:0%
transfer functions to make them honor
this<00:07:09.139><c> new</c><00:07:09.380><c> extra</c><00:07:10.069><c> restriction</c><00:07:10.849><c> on</c><00:07:10.910><c> that</c><00:07:10.970><c> so</c>

00:07:11.379 --> 00:07:11.389 align:start position:0%
this new extra restriction on that so
 

00:07:11.389 --> 00:07:14.860 align:start position:0%
this new extra restriction on that so
let's<00:07:11.599><c> see</c><00:07:11.720><c> how</c><00:07:11.930><c> this</c><00:07:12.169><c> would</c><00:07:12.319><c> look</c><00:07:12.349><c> on</c><00:07:12.620><c> coal</c><00:07:13.870><c> we</c>

00:07:14.860 --> 00:07:14.870 align:start position:0%
let's see how this would look on coal we
 

00:07:14.870 --> 00:07:16.240 align:start position:0%
let's see how this would look on coal we
had<00:07:14.990><c> this</c><00:07:15.139><c> I</c><00:07:15.500><c> don't</c><00:07:15.710><c> know</c><00:07:15.830><c> if</c><00:07:15.889><c> you</c><00:07:15.949><c> can</c><00:07:16.069><c> see</c>

00:07:16.240 --> 00:07:16.250 align:start position:0%
had this I don't know if you can see
 

00:07:16.250 --> 00:07:18.730 align:start position:0%
had this I don't know if you can see
this<00:07:16.370><c> but</c><00:07:16.610><c> you</c><00:07:16.880><c> had</c><00:07:17.150><c> this</c><00:07:17.270><c> a</c><00:07:17.539><c> new</c><00:07:18.110><c> log</c><00:07:18.319><c> function</c>

00:07:18.730 --> 00:07:18.740 align:start position:0%
this but you had this a new log function
 

00:07:18.740 --> 00:07:20.710 align:start position:0%
this but you had this a new log function
which<00:07:19.190><c> basically</c><00:07:19.250><c> calls</c><00:07:20.120><c> the</c><00:07:20.330><c> standard</c>

00:07:20.710 --> 00:07:20.720 align:start position:0%
which basically calls the standard
 

00:07:20.720 --> 00:07:24.370 align:start position:0%
which basically calls the standard
transfer<00:07:21.080><c> function</c><00:07:21.500><c> and</c><00:07:21.770><c> then</c><00:07:22.699><c> adds</c><00:07:23.000><c> in</c><00:07:23.690><c> a</c><00:07:23.750><c> in</c>

00:07:24.370 --> 00:07:24.380 align:start position:0%
transfer function and then adds in a in
 

00:07:24.380 --> 00:07:27.640 align:start position:0%
transfer function and then adds in a in
an<00:07:24.560><c> array</c><00:07:24.800><c> of</c><00:07:25.069><c> blocks</c><00:07:25.340><c> for</c><00:07:25.729><c> each</c><00:07:25.819><c> address</c><00:07:26.650><c> when</c>

00:07:27.640 --> 00:07:27.650 align:start position:0%
an array of blocks for each address when
 

00:07:27.650 --> 00:07:29.800 align:start position:0%
an array of blocks for each address when
those<00:07:27.889><c> funds</c><00:07:28.130><c> should</c><00:07:28.370><c> be</c><00:07:28.430><c> released</c><00:07:28.789><c> and</c><00:07:29.120><c> then</c>

00:07:29.800 --> 00:07:29.810 align:start position:0%
those funds should be released and then
 

00:07:29.810 --> 00:07:31.499 align:start position:0%
those funds should be released and then
what<00:07:30.380><c> we</c><00:07:30.500><c> need</c><00:07:30.620><c> to</c><00:07:30.710><c> add</c><00:07:30.830><c> to</c><00:07:30.979><c> that</c><00:07:31.099><c> is</c>

00:07:31.499 --> 00:07:31.509 align:start position:0%
what we need to add to that is
 

00:07:31.509 --> 00:07:33.490 align:start position:0%
what we need to add to that is
overriding<00:07:32.509><c> the</c><00:07:32.840><c> standard</c><00:07:33.169><c> transfer</c>

00:07:33.490 --> 00:07:33.500 align:start position:0%
overriding the standard transfer
 

00:07:33.500 --> 00:07:36.820 align:start position:0%
overriding the standard transfer
functions<00:07:34.630><c> adding</c><00:07:35.630><c> this</c><00:07:35.780><c> extra</c><00:07:35.960><c> restriction</c>

00:07:36.820 --> 00:07:36.830 align:start position:0%
functions adding this extra restriction
 

00:07:36.830 --> 00:07:41.499 align:start position:0%
functions adding this extra restriction
where<00:07:37.720><c> which</c><00:07:38.889><c> via</c><00:07:39.889><c> DS</c><00:07:40.130><c> can</c><00:07:40.520><c> transfer</c><00:07:41.120><c> modifier</c>

00:07:41.499 --> 00:07:41.509 align:start position:0%
where which via DS can transfer modifier
 

00:07:41.509 --> 00:07:43.719 align:start position:0%
where which via DS can transfer modifier
which<00:07:41.750><c> checks</c><00:07:42.050><c> the</c><00:07:42.319><c> amount</c><00:07:43.009><c> of</c><00:07:43.159><c> transferable</c>

00:07:43.719 --> 00:07:43.729 align:start position:0%
which checks the amount of transferable
 

00:07:43.729 --> 00:07:46.059 align:start position:0%
which checks the amount of transferable
tokens<00:07:44.210><c> at</c><00:07:44.419><c> a</c><00:07:44.479><c> certain</c><00:07:44.960><c> point</c><00:07:45.139><c> in</c><00:07:45.349><c> time</c><00:07:45.380><c> and</c>

00:07:46.059 --> 00:07:46.069 align:start position:0%
tokens at a certain point in time and
 

00:07:46.069 --> 00:07:49.029 align:start position:0%
tokens at a certain point in time and
enables<00:07:46.849><c> or</c><00:07:47.030><c> disables</c><00:07:47.479><c> the</c><00:07:47.990><c> transfers</c><00:07:48.409><c> and</c>

00:07:49.029 --> 00:07:49.039 align:start position:0%
enables or disables the transfers and
 

00:07:49.039 --> 00:07:51.850 align:start position:0%
enables or disables the transfers and
then<00:07:49.400><c> to</c><00:07:49.550><c> implement</c><00:07:49.759><c> this</c><00:07:50.539><c> a</c><00:07:50.900><c> transferable</c>

00:07:51.850 --> 00:07:51.860 align:start position:0%
then to implement this a transferable
 

00:07:51.860 --> 00:07:54.159 align:start position:0%
then to implement this a transferable
token<00:07:52.610><c> amount</c><00:07:52.880><c> what</c><00:07:53.240><c> we</c><00:07:53.360><c> do</c><00:07:53.479><c> is</c><00:07:53.539><c> we</c><00:07:53.690><c> iterate</c>

00:07:54.159 --> 00:07:54.169 align:start position:0%
token amount what we do is we iterate
 

00:07:54.169 --> 00:07:57.550 align:start position:0%
token amount what we do is we iterate
over<00:07:54.380><c> the</c><00:07:54.710><c> array</c><00:07:54.740><c> of</c><00:07:55.219><c> locks</c><00:07:55.520><c> for</c><00:07:55.909><c> every</c><00:07:56.120><c> ad</c><00:07:56.750><c> for</c>

00:07:57.550 --> 00:07:57.560 align:start position:0%
over the array of locks for every ad for
 

00:07:57.560 --> 00:07:59.589 align:start position:0%
over the array of locks for every ad for
that<00:07:57.710><c> address</c><00:07:58.099><c> and</c><00:07:58.340><c> we</c><00:07:58.490><c> add</c><00:07:58.610><c> up</c><00:07:58.639><c> the</c><00:07:59.270><c> amount</c><00:07:59.479><c> of</c>

00:07:59.589 --> 00:07:59.599 align:start position:0%
that address and we add up the amount of
 

00:07:59.599 --> 00:08:02.709 align:start position:0%
that address and we add up the amount of
locked<00:07:59.870><c> tokens</c><00:08:00.380><c> and</c><00:08:00.680><c> we</c><00:08:00.919><c> we</c><00:08:01.460><c> return</c><00:08:01.849><c> the</c><00:08:02.509><c> total</c>

00:08:02.709 --> 00:08:02.719 align:start position:0%
locked tokens and we we return the total
 

00:08:02.719 --> 00:08:05.950 align:start position:0%
locked tokens and we we return the total
balance<00:08:02.990><c> -</c><00:08:03.860><c> the</c><00:08:04.070><c> locks</c><00:08:04.280><c> oaken's</c><00:08:04.750><c> so</c><00:08:05.750><c> in</c><00:08:05.870><c> this</c>

00:08:05.950 --> 00:08:05.960 align:start position:0%
balance - the locks oaken's so in this
 

00:08:05.960 --> 00:08:08.320 align:start position:0%
balance - the locks oaken's so in this
way<00:08:06.550><c> apparently</c><00:08:07.550><c> we</c><00:08:07.729><c> added</c><00:08:07.969><c> a</c><00:08:08.030><c> cool</c><00:08:08.180><c> new</c>

00:08:08.320 --> 00:08:08.330 align:start position:0%
way apparently we added a cool new
 

00:08:08.330 --> 00:08:10.450 align:start position:0%
way apparently we added a cool new
feature<00:08:08.570><c> to</c><00:08:08.840><c> our</c><00:08:08.930><c> token</c><00:08:09.349><c> and</c><00:08:09.560><c> it</c><00:08:10.009><c> seems</c><00:08:10.250><c> great</c>

00:08:10.450 --> 00:08:10.460 align:start position:0%
feature to our token and it seems great
 

00:08:10.460 --> 00:08:13.629 align:start position:0%
feature to our token and it seems great
but<00:08:10.759><c> it</c><00:08:11.719><c> actually</c><00:08:11.990><c> has</c><00:08:12.860><c> a</c><00:08:12.889><c> big</c><00:08:13.159><c> problem</c>

00:08:13.629 --> 00:08:13.639 align:start position:0%
but it actually has a big problem
 

00:08:13.639 --> 00:08:16.330 align:start position:0%
but it actually has a big problem
did<00:08:14.150><c> anyone</c><00:08:14.360><c> can</c><00:08:15.139><c> even</c><00:08:15.380><c> tell</c><00:08:15.979><c> me</c><00:08:16.130><c> what</c><00:08:16.250><c> the</c>

00:08:16.330 --> 00:08:16.340 align:start position:0%
did anyone can even tell me what the
 

00:08:16.340 --> 00:08:19.200 align:start position:0%
did anyone can even tell me what the
problem<00:08:16.430><c> is</c>

00:08:19.200 --> 00:08:19.210 align:start position:0%
 
 

00:08:19.210 --> 00:08:25.990 align:start position:0%
 
good<00:08:20.210><c> good</c><00:08:20.569><c> you</c><00:08:21.050><c> want</c><00:08:21.229><c> a</c><00:08:21.319><c> t-shirt</c><00:08:24.729><c> so</c><00:08:25.729><c> we</c><00:08:25.849><c> have</c>

00:08:25.990 --> 00:08:26.000 align:start position:0%
good good you want a t-shirt so we have
 

00:08:26.000 --> 00:08:28.059 align:start position:0%
good good you want a t-shirt so we have
a<00:08:26.030><c> case</c><00:08:26.270><c> of</c><00:08:26.330><c> a</c><00:08:26.599><c> gassy</c><00:08:26.990><c> array</c><00:08:27.259><c> as</c><00:08:27.500><c> we</c><00:08:27.800><c> like</c><00:08:27.949><c> to</c>

00:08:28.059 --> 00:08:28.069 align:start position:0%
a case of a gassy array as we like to
 

00:08:28.069 --> 00:08:30.219 align:start position:0%
a case of a gassy array as we like to
call<00:08:28.250><c> it</c><00:08:28.370><c> the</c><00:08:29.270><c> problem</c><00:08:29.630><c> with</c><00:08:29.750><c> this</c><00:08:29.900><c> array</c><00:08:30.169><c> is</c>

00:08:30.219 --> 00:08:30.229 align:start position:0%
call it the problem with this array is
 

00:08:30.229 --> 00:08:33.159 align:start position:0%
call it the problem with this array is
that<00:08:30.590><c> the</c><00:08:30.889><c> length</c><00:08:31.099><c> of</c><00:08:31.400><c> it</c><00:08:31.789><c> is</c><00:08:32.510><c> controlled</c><00:08:33.050><c> by</c>

00:08:33.159 --> 00:08:33.169 align:start position:0%
that the length of it is controlled by
 

00:08:33.169 --> 00:08:35.050 align:start position:0%
that the length of it is controlled by
anyone<00:08:33.979><c> that</c><00:08:34.130><c> can</c><00:08:34.430><c> call</c><00:08:34.610><c> the</c><00:08:34.729><c> log</c><00:08:34.880><c> function</c>

00:08:35.050 --> 00:08:35.060 align:start position:0%
anyone that can call the log function
 

00:08:35.060 --> 00:08:38.230 align:start position:0%
anyone that can call the log function
which<00:08:35.510><c> is</c><00:08:35.659><c> in</c><00:08:35.810><c> this</c><00:08:36.169><c> case</c><00:08:36.229><c> is</c><00:08:36.560><c> public</c><00:08:36.950><c> so</c><00:08:37.820><c> you</c>

00:08:38.230 --> 00:08:38.240 align:start position:0%
which is in this case is public so you
 

00:08:38.240 --> 00:08:40.690 align:start position:0%
which is in this case is public so you
need<00:08:39.020><c> to</c><00:08:39.169><c> see</c><00:08:39.349><c> the</c><00:08:39.440><c> length</c><00:08:39.620><c> of</c><00:08:39.800><c> the</c><00:08:39.950><c> array</c><00:08:40.099><c> as</c><00:08:40.370><c> a</c>

00:08:40.690 --> 00:08:40.700 align:start position:0%
need to see the length of the array as a
 

00:08:40.700 --> 00:08:43.000 align:start position:0%
need to see the length of the array as a
user<00:08:40.909><c> input</c><00:08:41.360><c> and</c><00:08:41.599><c> as</c><00:08:42.169><c> you</c><00:08:42.289><c> know</c><00:08:42.409><c> in</c><00:08:42.560><c> security</c>

00:08:43.000 --> 00:08:43.010 align:start position:0%
user input and as you know in security
 

00:08:43.010 --> 00:08:46.210 align:start position:0%
user input and as you know in security
you<00:08:43.039><c> need</c><00:08:43.190><c> to</c><00:08:43.339><c> sanitize</c><00:08:43.570><c> inputs</c><00:08:44.570><c> and</c><00:08:45.220><c> any</c>

00:08:46.210 --> 00:08:46.220 align:start position:0%
you need to sanitize inputs and any
 

00:08:46.220 --> 00:08:48.519 align:start position:0%
you need to sanitize inputs and any
anyone<00:08:46.820><c> can</c><00:08:47.060><c> call</c><00:08:47.300><c> the</c><00:08:47.750><c> log</c><00:08:47.899><c> function</c><00:08:48.110><c> and</c>

00:08:48.519 --> 00:08:48.529 align:start position:0%
anyone can call the log function and
 

00:08:48.529 --> 00:08:50.890 align:start position:0%
anyone can call the log function and
create<00:08:48.800><c> lots</c><00:08:49.190><c> of</c><00:08:49.310><c> locks</c><00:08:49.579><c> in</c><00:08:49.820><c> the</c><00:08:50.060><c> array</c><00:08:50.270><c> of</c><00:08:50.570><c> of</c>

00:08:50.890 --> 00:08:50.900 align:start position:0%
create lots of locks in the array of of
 

00:08:50.900 --> 00:08:53.769 align:start position:0%
create lots of locks in the array of of
someone<00:08:51.560><c> they</c><00:08:51.800><c> want</c><00:08:51.980><c> to</c><00:08:52.190><c> mess</c><00:08:52.610><c> with</c><00:08:52.820><c> and</c><00:08:53.060><c> the</c>

00:08:53.769 --> 00:08:53.779 align:start position:0%
someone they want to mess with and the
 

00:08:53.779 --> 00:08:56.199 align:start position:0%
someone they want to mess with and the
array<00:08:53.959><c> if</c><00:08:54.230><c> in</c><00:08:54.680><c> this</c><00:08:54.860><c> case</c><00:08:54.920><c> I</c><00:08:55.339><c> tried</c><00:08:55.730><c> it</c><00:08:55.880><c> and</c><00:08:56.000><c> if</c>

00:08:56.199 --> 00:08:56.209 align:start position:0%
array if in this case I tried it and if
 

00:08:56.209 --> 00:08:56.470 align:start position:0%
array if in this case I tried it and if
you

00:08:56.470 --> 00:08:56.480 align:start position:0%
you
 

00:08:56.480 --> 00:08:58.930 align:start position:0%
you
like<00:08:56.750><c> 5,000</c><00:08:57.620><c> logs</c><00:08:57.830><c> to</c><00:08:58.190><c> Anna</c><00:08:58.370><c> to</c><00:08:58.700><c> an</c><00:08:58.790><c> address</c>

00:08:58.930 --> 00:08:58.940 align:start position:0%
like 5,000 logs to Anna to an address
 

00:08:58.940 --> 00:09:03.160 align:start position:0%
like 5,000 logs to Anna to an address
the<00:08:59.750><c> gas</c><00:08:59.990><c> cost</c><00:09:00.440><c> of</c><00:09:00.680><c> calling</c><00:09:01.070><c> a</c><00:09:01.190><c> transfer</c><00:09:02.170><c> for</c>

00:09:03.160 --> 00:09:03.170 align:start position:0%
the gas cost of calling a transfer for
 

00:09:03.170 --> 00:09:05.470 align:start position:0%
the gas cost of calling a transfer for
that<00:09:03.320><c> token</c><00:09:03.710><c> is</c><00:09:04.310><c> so</c><00:09:04.550><c> high</c><00:09:04.760><c> that</c><00:09:04.790><c> it</c><00:09:05.180><c> doesn't</c>

00:09:05.470 --> 00:09:05.480 align:start position:0%
that token is so high that it doesn't
 

00:09:05.480 --> 00:09:09.490 align:start position:0%
that token is so high that it doesn't
fit<00:09:05.630><c> in</c><00:09:05.900><c> a</c><00:09:06.050><c> block</c><00:09:06.260><c> so</c><00:09:07.180><c> the</c><00:09:08.180><c> point</c><00:09:08.390><c> here</c><00:09:08.600><c> is</c><00:09:08.630><c> I'm</c>

00:09:09.490 --> 00:09:09.500 align:start position:0%
fit in a block so the point here is I'm
 

00:09:09.500 --> 00:09:13.150 align:start position:0%
fit in a block so the point here is I'm
sorry<00:09:10.750><c> by</c><00:09:11.750><c> adding</c><00:09:12.020><c> an</c><00:09:12.140><c> extra</c><00:09:12.500><c> feature</c><00:09:12.680><c> we</c>

00:09:13.150 --> 00:09:13.160 align:start position:0%
sorry by adding an extra feature we
 

00:09:13.160 --> 00:09:14.350 align:start position:0%
sorry by adding an extra feature we
actually<00:09:13.490><c> introduced</c><00:09:13.850><c> a</c><00:09:13.970><c> security</c>

00:09:14.350 --> 00:09:14.360 align:start position:0%
actually introduced a security
 

00:09:14.360 --> 00:09:17.110 align:start position:0%
actually introduced a security
vulnerability<00:09:15.310><c> so</c><00:09:16.310><c> there's</c><00:09:16.700><c> a</c><00:09:16.730><c> simple</c><00:09:17.090><c> fix</c>

00:09:17.110 --> 00:09:17.120 align:start position:0%
vulnerability so there's a simple fix
 

00:09:17.120 --> 00:09:20.080 align:start position:0%
vulnerability so there's a simple fix
for<00:09:17.540><c> this</c><00:09:17.630><c> which</c><00:09:18.380><c> is</c><00:09:18.590><c> adding</c><00:09:18.980><c> a</c><00:09:19.130><c> an</c><00:09:19.700><c> upper</c>

00:09:20.080 --> 00:09:20.090 align:start position:0%
for this which is adding a an upper
 

00:09:20.090 --> 00:09:21.700 align:start position:0%
for this which is adding a an upper
bound<00:09:20.240><c> to</c><00:09:20.420><c> the</c><00:09:20.510><c> amount</c><00:09:20.750><c> of</c><00:09:20.870><c> logs</c><00:09:21.140><c> for</c><00:09:21.440><c> every</c>

00:09:21.700 --> 00:09:21.710 align:start position:0%
bound to the amount of logs for every
 

00:09:21.710 --> 00:09:25.750 align:start position:0%
bound to the amount of logs for every
address<00:09:21.860><c> but</c><00:09:22.640><c> I</c><00:09:22.670><c> wanted</c><00:09:22.940><c> to</c><00:09:24.490><c> make</c><00:09:25.490><c> you</c><00:09:25.610><c> think</c>

00:09:25.750 --> 00:09:25.760 align:start position:0%
address but I wanted to make you think
 

00:09:25.760 --> 00:09:27.670 align:start position:0%
address but I wanted to make you think
about<00:09:25.910><c> a</c><00:09:26.240><c> different</c><00:09:26.660><c> approach</c><00:09:26.750><c> to</c><00:09:27.320><c> adding</c>

00:09:27.670 --> 00:09:27.680 align:start position:0%
about a different approach to adding
 

00:09:27.680 --> 00:09:29.440 align:start position:0%
about a different approach to adding
features<00:09:27.860><c> to</c><00:09:28.160><c> a</c><00:09:28.190><c> tokens</c><00:09:28.550><c> which</c><00:09:28.790><c> solves</c><00:09:29.300><c> this</c>

00:09:29.440 --> 00:09:29.450 align:start position:0%
features to a tokens which solves this
 

00:09:29.450 --> 00:09:31.120 align:start position:0%
features to a tokens which solves this
problem<00:09:29.600><c> in</c><00:09:29.930><c> particular</c><00:09:30.170><c> and</c><00:09:30.590><c> I</c><00:09:30.800><c> think</c><00:09:31.010><c> it's</c>

00:09:31.120 --> 00:09:31.130 align:start position:0%
problem in particular and I think it's
 

00:09:31.130 --> 00:09:34.840 align:start position:0%
problem in particular and I think it's
better<00:09:31.250><c> for</c><00:09:31.580><c> security</c><00:09:32.570><c> conceptually</c><00:09:33.730><c> so</c><00:09:34.730><c> the</c>

00:09:34.840 --> 00:09:34.850 align:start position:0%
better for security conceptually so the
 

00:09:34.850 --> 00:09:36.880 align:start position:0%
better for security conceptually so the
idea<00:09:35.060><c> is</c><00:09:35.240><c> to</c><00:09:35.450><c> leave</c><00:09:35.570><c> the</c><00:09:35.720><c> token</c><00:09:36.050><c> assist</c><00:09:36.530><c> don't</c>

00:09:36.880 --> 00:09:36.890 align:start position:0%
idea is to leave the token assist don't
 

00:09:36.890 --> 00:09:39.190 align:start position:0%
idea is to leave the token assist don't
any<00:09:37.340><c> extra</c><00:09:37.790><c> functionality</c><00:09:38.390><c> and</c><00:09:38.690><c> actually</c>

00:09:39.190 --> 00:09:39.200 align:start position:0%
any extra functionality and actually
 

00:09:39.200 --> 00:09:41.950 align:start position:0%
any extra functionality and actually
implement<00:09:39.560><c> the</c><00:09:39.920><c> the</c><00:09:40.370><c> locking</c><00:09:41.210><c> functionality</c>

00:09:41.950 --> 00:09:41.960 align:start position:0%
implement the the locking functionality
 

00:09:41.960 --> 00:09:44.290 align:start position:0%
implement the the locking functionality
as<00:09:42.170><c> an</c><00:09:42.320><c> external</c><00:09:42.710><c> contract</c><00:09:43.400><c> so</c><00:09:43.970><c> when</c><00:09:44.120><c> a</c><00:09:44.150><c> user</c>

00:09:44.290 --> 00:09:44.300 align:start position:0%
as an external contract so when a user
 

00:09:44.300 --> 00:09:46.930 align:start position:0%
as an external contract so when a user
wants<00:09:44.720><c> to</c><00:09:44.750><c> lock</c><00:09:45.050><c> tokens</c><00:09:45.920><c> for</c><00:09:46.130><c> another</c><00:09:46.400><c> they</c>

00:09:46.930 --> 00:09:46.940 align:start position:0%
wants to lock tokens for another they
 

00:09:46.940 --> 00:09:49.510 align:start position:0%
wants to lock tokens for another they
instantiate<00:09:47.570><c> one</c><00:09:47.840><c> of</c><00:09:47.960><c> these</c><00:09:48.140><c> new</c><00:09:48.740><c> token</c><00:09:49.190><c> time</c>

00:09:49.510 --> 00:09:49.520 align:start position:0%
instantiate one of these new token time
 

00:09:49.520 --> 00:09:51.400 align:start position:0%
instantiate one of these new token time
lock<00:09:49.700><c> contracts</c><00:09:50.210><c> which</c><00:09:50.780><c> received</c><00:09:51.230><c> the</c>

00:09:51.400 --> 00:09:51.410 align:start position:0%
lock contracts which received the
 

00:09:51.410 --> 00:09:53.650 align:start position:0%
lock contracts which received the
beneficiary<00:09:52.130><c> address</c><00:09:52.520><c> and</c><00:09:52.820><c> the</c><00:09:53.090><c> release</c><00:09:53.390><c> time</c>

00:09:53.650 --> 00:09:53.660 align:start position:0%
beneficiary address and the release time
 

00:09:53.660 --> 00:09:55.960 align:start position:0%
beneficiary address and the release time
and<00:09:53.810><c> then</c><00:09:54.350><c> transfers</c><00:09:54.920><c> the</c><00:09:54.950><c> the</c><00:09:55.580><c> tokens</c>

00:09:55.960 --> 00:09:55.970 align:start position:0%
and then transfers the the tokens
 

00:09:55.970 --> 00:09:58.630 align:start position:0%
and then transfers the the tokens
manually<00:09:56.840><c> from</c><00:09:57.140><c> the</c><00:09:57.320><c> from</c><00:09:57.860><c> the</c><00:09:57.950><c> normal</c><00:09:58.340><c> token</c>

00:09:58.630 --> 00:09:58.640 align:start position:0%
manually from the from the normal token
 

00:09:58.640 --> 00:10:02.380 align:start position:0%
manually from the from the normal token
contract<00:09:59.030><c> and</c><00:09:59.630><c> now</c><00:09:59.870><c> if</c><00:10:00.200><c> in</c><00:10:01.070><c> this</c><00:10:01.250><c> case</c><00:10:01.310><c> the</c><00:10:01.520><c> the</c>

00:10:02.380 --> 00:10:02.390 align:start position:0%
contract and now if in this case the the
 

00:10:02.390 --> 00:10:04.030 align:start position:0%
contract and now if in this case the the
previous<00:10:02.720><c> vulnerability</c><00:10:03.290><c> with</c><00:10:03.440><c> legacy</c><00:10:03.740><c> array</c>

00:10:04.030 --> 00:10:04.040 align:start position:0%
previous vulnerability with legacy array
 

00:10:04.040 --> 00:10:06.040 align:start position:0%
previous vulnerability with legacy array
was<00:10:04.220><c> solved</c><00:10:04.550><c> but</c><00:10:05.120><c> if</c><00:10:05.240><c> there</c><00:10:05.450><c> were</c><00:10:05.660><c> one</c>

00:10:06.040 --> 00:10:06.050 align:start position:0%
was solved but if there were one
 

00:10:06.050 --> 00:10:07.900 align:start position:0%
was solved but if there were one
vulnerability<00:10:06.830><c> in</c><00:10:06.980><c> this</c><00:10:07.130><c> new</c><00:10:07.310><c> contract</c><00:10:07.730><c> only</c>

00:10:07.900 --> 00:10:07.910 align:start position:0%
vulnerability in this new contract only
 

00:10:07.910 --> 00:10:10.480 align:start position:0%
vulnerability in this new contract only
the<00:10:08.180><c> users</c><00:10:08.530><c> using</c><00:10:09.530><c> this</c><00:10:09.650><c> extra</c><00:10:10.040><c> feature</c><00:10:10.250><c> would</c>

00:10:10.480 --> 00:10:10.490 align:start position:0%
the users using this extra feature would
 

00:10:10.490 --> 00:10:12.880 align:start position:0%
the users using this extra feature would
be<00:10:10.640><c> affected</c><00:10:11.260><c> whereas</c><00:10:12.260><c> with</c><00:10:12.470><c> the</c><00:10:12.590><c> previous</c>

00:10:12.880 --> 00:10:12.890 align:start position:0%
be affected whereas with the previous
 

00:10:12.890 --> 00:10:15.100 align:start position:0%
be affected whereas with the previous
version<00:10:12.950><c> any</c><00:10:13.460><c> vulnerability</c><00:10:14.390><c> potentially</c>

00:10:15.100 --> 00:10:15.110 align:start position:0%
version any vulnerability potentially
 

00:10:15.110 --> 00:10:17.080 align:start position:0%
version any vulnerability potentially
could<00:10:15.260><c> affect</c><00:10:15.320><c> normal</c><00:10:16.220><c> users</c><00:10:16.670><c> that</c><00:10:16.820><c> didn't</c>

00:10:17.080 --> 00:10:17.090 align:start position:0%
could affect normal users that didn't
 

00:10:17.090 --> 00:10:19.930 align:start position:0%
could affect normal users that didn't
want<00:10:17.210><c> to</c><00:10:17.390><c> use</c><00:10:17.510><c> the</c><00:10:17.660><c> lock</c><00:10:17.810><c> function</c><00:10:18.460><c> so</c><00:10:19.460><c> this</c><00:10:19.820><c> is</c>

00:10:19.930 --> 00:10:19.940 align:start position:0%
want to use the lock function so this is
 

00:10:19.940 --> 00:10:22.900 align:start position:0%
want to use the lock function so this is
one<00:10:20.060><c> of</c><00:10:20.090><c> the</c><00:10:20.240><c> patterns</c><00:10:20.390><c> with</c><00:10:20.810><c> sin</c><00:10:21.550><c> in</c><00:10:22.550><c> terms</c><00:10:22.760><c> of</c>

00:10:22.900 --> 00:10:22.910 align:start position:0%
one of the patterns with sin in terms of
 

00:10:22.910 --> 00:10:25.210 align:start position:0%
one of the patterns with sin in terms of
improving<00:10:23.510><c> security</c><00:10:23.750><c> in</c><00:10:24.260><c> new</c><00:10:24.830><c> function</c>

00:10:25.210 --> 00:10:25.220 align:start position:0%
improving security in new function
 

00:10:25.220 --> 00:10:28.630 align:start position:0%
improving security in new function
design<00:10:25.870><c> and</c><00:10:26.870><c> the</c><00:10:27.500><c> point</c><00:10:27.710><c> is</c><00:10:27.860><c> when</c><00:10:28.370><c> you're</c>

00:10:28.630 --> 00:10:28.640 align:start position:0%
design and the point is when you're
 

00:10:28.640 --> 00:10:30.040 align:start position:0%
design and the point is when you're
thinking<00:10:28.850><c> about</c><00:10:29.120><c> adding</c><00:10:29.540><c> new</c><00:10:29.660><c> features</c><00:10:29.840><c> to</c>

00:10:30.040 --> 00:10:30.050 align:start position:0%
thinking about adding new features to
 

00:10:30.050 --> 00:10:31.810 align:start position:0%
thinking about adding new features to
your<00:10:30.350><c> contracts</c><00:10:30.830><c> really</c><00:10:31.220><c> think</c><00:10:31.490><c> about</c><00:10:31.700><c> the</c>

00:10:31.810 --> 00:10:31.820 align:start position:0%
your contracts really think about the
 

00:10:31.820 --> 00:10:33.940 align:start position:0%
your contracts really think about the
security<00:10:32.060><c> implications</c><00:10:32.810><c> not</c><00:10:33.470><c> always</c><00:10:33.740><c> having</c>

00:10:33.940 --> 00:10:33.950 align:start position:0%
security implications not always having
 

00:10:33.950 --> 00:10:35.500 align:start position:0%
security implications not always having
more<00:10:34.190><c> features</c><00:10:34.520><c> is</c><00:10:34.670><c> better</c><00:10:34.880><c> because</c><00:10:35.150><c> you</c>

00:10:35.500 --> 00:10:35.510 align:start position:0%
more features is better because you
 

00:10:35.510 --> 00:10:37.540 align:start position:0%
more features is better because you
increase<00:10:35.780><c> the</c><00:10:35.960><c> attack</c><00:10:36.380><c> surface</c><00:10:36.560><c> and</c><00:10:37.310><c> for</c>

00:10:37.540 --> 00:10:37.550 align:start position:0%
increase the attack surface and for
 

00:10:37.550 --> 00:10:39.970 align:start position:0%
increase the attack surface and for
another<00:10:37.790><c> example</c><00:10:37.910><c> of</c><00:10:38.780><c> how</c><00:10:39.440><c> this</c><00:10:39.590><c> has</c><00:10:39.770><c> been</c>

00:10:39.970 --> 00:10:39.980 align:start position:0%
another example of how this has been
 

00:10:39.980 --> 00:10:42.160 align:start position:0%
another example of how this has been
implemented<00:10:40.910><c> in</c><00:10:41.000><c> the</c><00:10:41.120><c> industry</c><00:10:41.510><c> at</c><00:10:42.020><c> the</c>

00:10:42.160 --> 00:10:42.170 align:start position:0%
implemented in the industry at the
 

00:10:42.170 --> 00:10:43.900 align:start position:0%
implemented in the industry at the
beginning<00:10:42.440><c> of</c><00:10:42.590><c> the</c><00:10:42.740><c> year</c><00:10:42.980><c> most</c><00:10:43.250><c> crowd</c><00:10:43.640><c> sales</c>

00:10:43.900 --> 00:10:43.910 align:start position:0%
beginning of the year most crowd sales
 

00:10:43.910 --> 00:10:45.700 align:start position:0%
beginning of the year most crowd sales
were<00:10:44.090><c> implemented</c><00:10:44.630><c> as</c><00:10:44.750><c> part</c><00:10:45.110><c> of</c><00:10:45.230><c> the</c><00:10:45.380><c> token</c>

00:10:45.700 --> 00:10:45.710 align:start position:0%
were implemented as part of the token
 

00:10:45.710 --> 00:10:48.760 align:start position:0%
were implemented as part of the token
code<00:10:45.950><c> and</c><00:10:46.340><c> now</c><00:10:46.910><c> most</c><00:10:47.540><c> most</c><00:10:48.170><c> crowd</c><00:10:48.380><c> cells</c><00:10:48.590><c> are</c>

00:10:48.760 --> 00:10:48.770 align:start position:0%
code and now most most crowd cells are
 

00:10:48.770 --> 00:10:51.910 align:start position:0%
code and now most most crowd cells are
implemented<00:10:49.310><c> as</c><00:10:49.460><c> a</c><00:10:49.520><c> separate</c><00:10:49.970><c> module</c><00:10:50.200><c> so</c><00:10:51.200><c> it</c>

00:10:51.910 --> 00:10:51.920 align:start position:0%
implemented as a separate module so it
 

00:10:51.920 --> 00:10:53.410 align:start position:0%
implemented as a separate module so it
if<00:10:52.280><c> you</c><00:10:52.460><c> think</c><00:10:52.610><c> about</c><00:10:52.760><c> it</c><00:10:52.970><c> doesn't</c><00:10:53.300><c> make</c><00:10:53.390><c> sense</c>

00:10:53.410 --> 00:10:53.420 align:start position:0%
if you think about it doesn't make sense
 

00:10:53.420 --> 00:10:55.930 align:start position:0%
if you think about it doesn't make sense
to<00:10:53.780><c> have</c><00:10:53.960><c> all</c><00:10:54.230><c> the</c><00:10:54.440><c> crowd</c><00:10:54.800><c> sale</c><00:10:55.040><c> code</c><00:10:55.460><c> in</c><00:10:55.730><c> the</c>

00:10:55.930 --> 00:10:55.940 align:start position:0%
to have all the crowd sale code in the
 

00:10:55.940 --> 00:10:58.150 align:start position:0%
to have all the crowd sale code in the
token<00:10:56.270><c> forever</c><00:10:56.600><c> for</c><00:10:56.870><c> just</c><00:10:57.110><c> two</c><00:10:57.650><c> weeks</c><00:10:57.860><c> or</c><00:10:58.100><c> two</c>

00:10:58.150 --> 00:10:58.160 align:start position:0%
token forever for just two weeks or two
 

00:10:58.160 --> 00:11:02.800 align:start position:0%
token forever for just two weeks or two
minutes<00:10:58.730><c> of</c><00:10:58.850><c> course</c><00:10:59.060><c> he'll</c><00:11:01.360><c> finally</c><00:11:02.360><c> this</c><00:11:02.540><c> I</c>

00:11:02.800 --> 00:11:02.810 align:start position:0%
minutes of course he'll finally this I
 

00:11:02.810 --> 00:11:04.960 align:start position:0%
minutes of course he'll finally this I
want<00:11:03.320><c> to</c><00:11:03.380><c> talk</c><00:11:03.530><c> about</c><00:11:03.650><c> some</c><00:11:04.070><c> the</c><00:11:04.340><c> relation</c>

00:11:04.960 --> 00:11:04.970 align:start position:0%
want to talk about some the relation
 

00:11:04.970 --> 00:11:06.850 align:start position:0%
want to talk about some the relation
between<00:11:05.080><c> basic</c><00:11:06.080><c> security</c><00:11:06.530><c> software</c>

00:11:06.850 --> 00:11:06.860 align:start position:0%
between basic security software
 

00:11:06.860 --> 00:11:08.690 align:start position:0%
between basic security software
engineering<00:11:07.310><c> practices</c><00:11:07.820><c> and</c><00:11:08.210><c> more</c>

00:11:08.690 --> 00:11:08.700 align:start position:0%
engineering practices and more
 

00:11:08.700 --> 00:11:11.180 align:start position:0%
engineering practices and more
under<00:11:08.820><c> security</c><00:11:09.620><c> these</c><00:11:10.620><c> are</c><00:11:10.680><c> very</c><00:11:10.980><c> simple</c>

00:11:11.180 --> 00:11:11.190 align:start position:0%
under security these are very simple
 

00:11:11.190 --> 00:11:14.060 align:start position:0%
under security these are very simple
stuff<00:11:11.550><c> but</c><00:11:11.990><c> they</c><00:11:12.990><c> are</c><00:11:13.110><c> not</c><00:11:13.290><c> being</c><00:11:13.500><c> applied</c><00:11:13.740><c> in</c>

00:11:14.060 --> 00:11:14.070 align:start position:0%
stuff but they are not being applied in
 

00:11:14.070 --> 00:11:16.250 align:start position:0%
stuff but they are not being applied in
in<00:11:14.310><c> our</c><00:11:14.460><c> industry</c><00:11:14.880><c> and</c><00:11:14.910><c> I</c><00:11:15.510><c> think</c><00:11:15.990><c> this</c><00:11:16.110><c> is</c>

00:11:16.250 --> 00:11:16.260 align:start position:0%
in our industry and I think this is
 

00:11:16.260 --> 00:11:18.680 align:start position:0%
in our industry and I think this is
basic<00:11:16.950><c> stuff</c><00:11:17.040><c> we</c><00:11:17.280><c> should</c><00:11:17.490><c> be</c><00:11:17.610><c> doing</c>

00:11:18.680 --> 00:11:18.690 align:start position:0%
basic stuff we should be doing
 

00:11:18.690 --> 00:11:20.900 align:start position:0%
basic stuff we should be doing
so<00:11:19.170><c> first</c><00:11:19.590><c> is</c><00:11:19.740><c> clear</c><00:11:20.190><c> and</c><00:11:20.310><c> simple</c><00:11:20.490><c> code</c><00:11:20.790><c> is</c>

00:11:20.900 --> 00:11:20.910 align:start position:0%
so first is clear and simple code is
 

00:11:20.910 --> 00:11:22.790 align:start position:0%
so first is clear and simple code is
always<00:11:21.180><c> better</c><00:11:21.510><c> for</c><00:11:21.630><c> security</c><00:11:22.200><c> while</c>

00:11:22.790 --> 00:11:22.800 align:start position:0%
always better for security while
 

00:11:22.800 --> 00:11:25.340 align:start position:0%
always better for security while
security<00:11:23.130><c> problems</c><00:11:23.550><c> come</c><00:11:23.850><c> from</c><00:11:24.210><c> a</c><00:11:24.540><c> difference</c>

00:11:25.340 --> 00:11:25.350 align:start position:0%
security problems come from a difference
 

00:11:25.350 --> 00:11:27.530 align:start position:0%
security problems come from a difference
between<00:11:25.740><c> the</c><00:11:26.250><c> programmers</c><00:11:26.760><c> intention</c><00:11:27.330><c> and</c>

00:11:27.530 --> 00:11:27.540 align:start position:0%
between the programmers intention and
 

00:11:27.540 --> 00:11:30.590 align:start position:0%
between the programmers intention and
what<00:11:27.990><c> the</c><00:11:28.110><c> code</c><00:11:28.290><c> actually</c><00:11:28.530><c> does</c><00:11:29.330><c> so</c><00:11:30.330><c> having</c>

00:11:30.590 --> 00:11:30.600 align:start position:0%
what the code actually does so having
 

00:11:30.600 --> 00:11:32.930 align:start position:0%
what the code actually does so having
clear<00:11:30.930><c> code</c><00:11:31.290><c> makes</c><00:11:31.530><c> it</c><00:11:31.710><c> easier</c><00:11:31.980><c> to</c><00:11:32.010><c> check</c><00:11:32.430><c> the</c>

00:11:32.930 --> 00:11:32.940 align:start position:0%
clear code makes it easier to check the
 

00:11:32.940 --> 00:11:35.300 align:start position:0%
clear code makes it easier to check the
programmers<00:11:33.420><c> intention</c><00:11:34.020><c> and</c><00:11:34.200><c> that</c><00:11:34.680><c> the</c><00:11:34.830><c> code</c>

00:11:35.300 --> 00:11:35.310 align:start position:0%
programmers intention and that the code
 

00:11:35.310 --> 00:11:37.730 align:start position:0%
programmers intention and that the code
actually<00:11:35.460><c> does</c><00:11:35.670><c> what</c><00:11:36.030><c> he</c><00:11:36.180><c> wants</c><00:11:36.210><c> a</c><00:11:36.740><c> corollary</c>

00:11:37.730 --> 00:11:37.740 align:start position:0%
actually does what he wants a corollary
 

00:11:37.740 --> 00:11:40.460 align:start position:0%
actually does what he wants a corollary
of<00:11:37.860><c> this</c><00:11:38.070><c> is</c><00:11:38.130><c> that</c><00:11:38.520><c> naming</c><00:11:38.880><c> matters</c><00:11:39.450><c> have</c><00:11:40.170><c> seen</c>

00:11:40.460 --> 00:11:40.470 align:start position:0%
of this is that naming matters have seen
 

00:11:40.470 --> 00:11:41.990 align:start position:0%
of this is that naming matters have seen
really<00:11:40.830><c> really</c><00:11:41.160><c> bad</c><00:11:41.310><c> naming</c><00:11:41.640><c> in</c><00:11:41.760><c> many</c>

00:11:41.990 --> 00:11:42.000 align:start position:0%
really really bad naming in many
 

00:11:42.000 --> 00:11:43.820 align:start position:0%
really really bad naming in many
contracts<00:11:42.510><c> so</c><00:11:42.810><c> please</c><00:11:43.050><c> take</c><00:11:43.380><c> your</c><00:11:43.440><c> time</c><00:11:43.680><c> and</c>

00:11:43.820 --> 00:11:43.830 align:start position:0%
contracts so please take your time and
 

00:11:43.830 --> 00:11:45.200 align:start position:0%
contracts so please take your time and
think<00:11:43.860><c> about</c><00:11:44.190><c> naming</c><00:11:44.400><c> because</c><00:11:44.790><c> it</c><00:11:44.910><c> helps</c>

00:11:45.200 --> 00:11:45.210 align:start position:0%
think about naming because it helps
 

00:11:45.210 --> 00:11:48.590 align:start position:0%
think about naming because it helps
increase<00:11:45.840><c> the</c><00:11:46.140><c> security</c><00:11:46.350><c> of</c><00:11:46.590><c> your</c><00:11:46.770><c> code</c><00:11:47.600><c> reuse</c>

00:11:48.590 --> 00:11:48.600 align:start position:0%
increase the security of your code reuse
 

00:11:48.600 --> 00:11:50.960 align:start position:0%
increase the security of your code reuse
existing<00:11:48.930><c> audited</c><00:11:49.650><c> call</c><00:11:50.010><c> there's</c><00:11:50.400><c> plenty</c><00:11:50.940><c> of</c>

00:11:50.960 --> 00:11:50.970 align:start position:0%
existing audited call there's plenty of
 

00:11:50.970 --> 00:11:52.820 align:start position:0%
existing audited call there's plenty of
good<00:11:51.480><c> libraries</c><00:11:51.870><c> out</c><00:11:52.020><c> there</c><00:11:52.200><c> you</c><00:11:52.350><c> can</c><00:11:52.530><c> reuse</c>

00:11:52.820 --> 00:11:52.830 align:start position:0%
good libraries out there you can reuse
 

00:11:52.830 --> 00:11:54.920 align:start position:0%
good libraries out there you can reuse
there<00:11:53.580><c> you</c><00:11:54.060><c> can't</c><00:11:54.270><c> imagine</c><00:11:54.600><c> how</c><00:11:54.720><c> many</c><00:11:54.780><c> times</c>

00:11:54.920 --> 00:11:54.930 align:start position:0%
there you can't imagine how many times
 

00:11:54.930 --> 00:11:57.770 align:start position:0%
there you can't imagine how many times
we<00:11:55.350><c> reorder</c><00:11:55.950><c> at</c><00:11:56.130><c> the</c><00:11:56.250><c> same</c><00:11:56.780><c> re-implementation</c>

00:11:57.770 --> 00:11:57.780 align:start position:0%
we reorder at the same re-implementation
 

00:11:57.780 --> 00:12:03.170 align:start position:0%
we reorder at the same re-implementation
of<00:11:58.130><c> GRC</c><00:11:59.130><c> 20</c><00:11:59.490><c> standard</c><00:11:59.820><c> tokens</c><00:12:02.000><c> also</c><00:12:03.000><c> don't</c>

00:12:03.170 --> 00:12:03.180 align:start position:0%
of GRC 20 standard tokens also don't
 

00:12:03.180 --> 00:12:06.080 align:start position:0%
of GRC 20 standard tokens also don't
copy<00:12:03.360><c> paste</c><00:12:03.630><c> code</c><00:12:03.870><c> because</c><00:12:04.200><c> if</c><00:12:04.440><c> the</c><00:12:05.090><c> code</c>

00:12:06.080 --> 00:12:06.090 align:start position:0%
copy paste code because if the code
 

00:12:06.090 --> 00:12:07.700 align:start position:0%
copy paste code because if the code
you're<00:12:06.240><c> using</c><00:12:06.480><c> is</c><00:12:06.630><c> updated</c><00:12:07.080><c> you</c><00:12:07.110><c> don't</c><00:12:07.620><c> get</c>

00:12:07.700 --> 00:12:07.710 align:start position:0%
you're using is updated you don't get
 

00:12:07.710 --> 00:12:09.620 align:start position:0%
you're using is updated you don't get
the<00:12:07.830><c> updates</c><00:12:08.160><c> and</c><00:12:08.940><c> also</c><00:12:09.180><c> don't</c><00:12:09.330><c> repeat</c>

00:12:09.620 --> 00:12:09.630 align:start position:0%
the updates and also don't repeat
 

00:12:09.630 --> 00:12:10.160 align:start position:0%
the updates and also don't repeat
yourself

00:12:10.160 --> 00:12:10.170 align:start position:0%
yourself
 

00:12:10.170 --> 00:12:13.880 align:start position:0%
yourself
that's<00:12:11.040><c> also</c><00:12:11.250><c> a</c><00:12:11.400><c> source</c><00:12:12.030><c> of</c><00:12:12.150><c> bugs</c><00:12:12.660><c> and</c><00:12:12.990><c> finally</c>

00:12:13.880 --> 00:12:13.890 align:start position:0%
that's also a source of bugs and finally
 

00:12:13.890 --> 00:12:16.610 align:start position:0%
that's also a source of bugs and finally
and<00:12:14.010><c> most</c><00:12:14.100><c> importantly</c><00:12:14.840><c> write</c><00:12:15.840><c> tests</c><00:12:16.260><c> that's</c>

00:12:16.610 --> 00:12:16.620 align:start position:0%
and most importantly write tests that's
 

00:12:16.620 --> 00:12:18.320 align:start position:0%
and most importantly write tests that's
the<00:12:16.770><c> best</c><00:12:16.950><c> way</c><00:12:17.160><c> to</c><00:12:17.190><c> check</c><00:12:17.610><c> that</c><00:12:17.670><c> your</c>

00:12:18.320 --> 00:12:18.330 align:start position:0%
the best way to check that your
 

00:12:18.330 --> 00:12:20.240 align:start position:0%
the best way to check that your
assumptions<00:12:19.260><c> about</c><00:12:19.380><c> the</c><00:12:19.590><c> code</c><00:12:19.800><c> are</c><00:12:19.950><c> correct</c>

00:12:20.240 --> 00:12:20.250 align:start position:0%
assumptions about the code are correct
 

00:12:20.250 --> 00:12:22.010 align:start position:0%
assumptions about the code are correct
and<00:12:20.580><c> also</c><00:12:20.910><c> if</c><00:12:21.030><c> you</c><00:12:21.150><c> change</c><00:12:21.390><c> the</c><00:12:21.570><c> code</c><00:12:21.720><c> after</c>

00:12:22.010 --> 00:12:22.020 align:start position:0%
and also if you change the code after
 

00:12:22.020 --> 00:12:24.260 align:start position:0%
and also if you change the code after
the<00:12:22.350><c> fact</c><00:12:22.560><c> you</c><00:12:22.800><c> can</c><00:12:22.980><c> prevent</c><00:12:23.730><c> regression</c>

00:12:24.260 --> 00:12:24.270 align:start position:0%
the fact you can prevent regression
 

00:12:24.270 --> 00:12:27.410 align:start position:0%
the fact you can prevent regression
errors<00:12:25.070><c> so</c><00:12:26.070><c> as</c><00:12:26.370><c> I</c><00:12:26.550><c> was</c><00:12:26.640><c> saying</c><00:12:26.700><c> all</c><00:12:27.060><c> these</c><00:12:27.180><c> are</c>

00:12:27.410 --> 00:12:27.420 align:start position:0%
errors so as I was saying all these are
 

00:12:27.420 --> 00:12:28.520 align:start position:0%
errors so as I was saying all these are
basic<00:12:28.140><c> security</c>

00:12:28.520 --> 00:12:28.530 align:start position:0%
basic security
 

00:12:28.530 --> 00:12:30.590 align:start position:0%
basic security
I<00:12:28.620><c> mean</c><00:12:28.950><c> software</c><00:12:29.820><c> engineering</c><00:12:30.180><c> practices</c>

00:12:30.590 --> 00:12:30.600 align:start position:0%
I mean software engineering practices
 

00:12:30.600 --> 00:12:33.560 align:start position:0%
I mean software engineering practices
that<00:12:30.780><c> every</c><00:12:31.170><c> developer</c><00:12:31.800><c> should</c><00:12:31.950><c> be</c><00:12:32.130><c> doing</c><00:12:33.000><c> but</c>

00:12:33.560 --> 00:12:33.570 align:start position:0%
that every developer should be doing but
 

00:12:33.570 --> 00:12:36.050 align:start position:0%
that every developer should be doing but
in<00:12:33.720><c> our</c><00:12:33.840><c> case</c><00:12:34.020><c> our</c><00:12:34.320><c> code</c><00:12:34.590><c> manages</c><00:12:35.190><c> real</c><00:12:35.580><c> money</c>

00:12:36.050 --> 00:12:36.060 align:start position:0%
in our case our code manages real money
 

00:12:36.060 --> 00:12:38.660 align:start position:0%
in our case our code manages real money
so<00:12:36.750><c> we</c><00:12:36.840><c> need</c><00:12:36.960><c> to</c><00:12:37.050><c> protect</c><00:12:37.350><c> it</c><00:12:37.500><c> from</c><00:12:37.670><c> ninja</c>

00:12:38.660 --> 00:12:38.670 align:start position:0%
so we need to protect it from ninja
 

00:12:38.670 --> 00:12:41.900 align:start position:0%
so we need to protect it from ninja
hackers<00:12:39.260><c> stupid</c><00:12:40.260><c> users</c><00:12:40.620><c> and</c><00:12:40.920><c> other</c>

00:12:41.900 --> 00:12:41.910 align:start position:0%
hackers stupid users and other
 

00:12:41.910 --> 00:12:47.680 align:start position:0%
hackers stupid users and other
developers<00:12:42.660><c> in</c><00:12:42.810><c> our</c><00:12:42.870><c> team</c>

00:12:47.680 --> 00:12:47.690 align:start position:0%
 
 

00:12:47.690 --> 00:12:50.900 align:start position:0%
 
so<00:12:48.690><c> I</c><00:12:48.990><c> want</c><00:12:49.350><c> to</c><00:12:49.410><c> talk</c><00:12:49.590><c> briefly</c><00:12:49.890><c> about</c><00:12:50.070><c> the</c>

00:12:50.900 --> 00:12:50.910 align:start position:0%
so I want to talk briefly about the
 

00:12:50.910 --> 00:12:52.910 align:start position:0%
so I want to talk briefly about the
relation<00:12:51.330><c> between</c><00:12:51.360><c> security</c><00:12:51.990><c> and</c><00:12:52.380><c> trust</c>

00:12:52.910 --> 00:12:52.920 align:start position:0%
relation between security and trust
 

00:12:52.920 --> 00:12:56.390 align:start position:0%
relation between security and trust
reduction<00:12:54.650><c> let's</c><00:12:55.650><c> say</c><00:12:55.770><c> you're</c><00:12:55.950><c> a</c><00:12:55.980><c> freelance</c>

00:12:56.390 --> 00:12:56.400 align:start position:0%
reduction let's say you're a freelance
 

00:12:56.400 --> 00:12:58.100 align:start position:0%
reduction let's say you're a freelance
solidity<00:12:56.880><c> developer</c><00:12:57.390><c> and</c><00:12:57.630><c> your</c><00:12:57.750><c> client</c>

00:12:58.100 --> 00:12:58.110 align:start position:0%
solidity developer and your client
 

00:12:58.110 --> 00:13:00.350 align:start position:0%
solidity developer and your client
requests<00:12:58.590><c> a</c><00:12:58.770><c> cupped</c><00:12:59.160><c> crowd</c><00:12:59.610><c> sale</c><00:12:59.850><c> so</c><00:13:00.300><c> you</c>

00:13:00.350 --> 00:13:00.360 align:start position:0%
requests a cupped crowd sale so you
 

00:13:00.360 --> 00:13:03.290 align:start position:0%
requests a cupped crowd sale so you
write<00:13:01.020><c> this</c><00:13:01.140><c> simple</c><00:13:01.500><c> contract</c><00:13:01.860><c> I</c><00:13:02.240><c> think</c><00:13:03.240><c> he</c>

00:13:03.290 --> 00:13:03.300 align:start position:0%
write this simple contract I think he
 

00:13:03.300 --> 00:13:05.090 align:start position:0%
write this simple contract I think he
comes<00:13:03.510><c> and</c><00:13:03.660><c> say</c><00:13:03.840><c> oh</c><00:13:04.020><c> wait</c><00:13:04.230><c> don't</c><00:13:04.410><c> forget</c><00:13:04.530><c> we</c>

00:13:05.090 --> 00:13:05.100 align:start position:0%
comes and say oh wait don't forget we
 

00:13:05.100 --> 00:13:06.920 align:start position:0%
comes and say oh wait don't forget we
need<00:13:05.250><c> to</c><00:13:05.340><c> create</c><00:13:05.790><c> tokens</c><00:13:06.210><c> for</c><00:13:06.330><c> the</c><00:13:06.480><c> foundation</c>

00:13:06.920 --> 00:13:06.930 align:start position:0%
need to create tokens for the foundation
 

00:13:06.930 --> 00:13:09.590 align:start position:0%
need to create tokens for the foundation
to<00:13:06.960><c> when</c><00:13:07.290><c> the</c><00:13:07.440><c> crowd</c><00:13:07.800><c> cell</c><00:13:07.980><c> finishes</c><00:13:08.400><c> so</c><00:13:08.670><c> you</c>

00:13:09.590 --> 00:13:09.600 align:start position:0%
to when the crowd cell finishes so you
 

00:13:09.600 --> 00:13:11.290 align:start position:0%
to when the crowd cell finishes so you
go<00:13:09.750><c> sure</c><00:13:10.080><c> boss</c>

00:13:11.290 --> 00:13:11.300 align:start position:0%
go sure boss
 

00:13:11.300 --> 00:13:14.780 align:start position:0%
go sure boss
you<00:13:12.300><c> have</c><00:13:12.740><c> you</c><00:13:13.740><c> make</c><00:13:13.920><c> your</c><00:13:14.190><c> crowd</c><00:13:14.550><c> sale</c>

00:13:14.780 --> 00:13:14.790 align:start position:0%
you have you make your crowd sale
 

00:13:14.790 --> 00:13:17.060 align:start position:0%
you have you make your crowd sale
ownable<00:13:15.240><c> so</c><00:13:15.660><c> it</c><00:13:15.840><c> has</c><00:13:16.020><c> an</c><00:13:16.170><c> owner</c><00:13:16.320><c> and</c><00:13:16.590><c> a</c>

00:13:17.060 --> 00:13:17.070 align:start position:0%
ownable so it has an owner and a
 

00:13:17.070 --> 00:13:18.830 align:start position:0%
ownable so it has an owner and a
privileged<00:13:17.550><c> function</c><00:13:18.030><c> to</c><00:13:18.240><c> mint</c><00:13:18.450><c> the</c>

00:13:18.830 --> 00:13:18.840 align:start position:0%
privileged function to mint the
 

00:13:18.840 --> 00:13:19.910 align:start position:0%
privileged function to mint the
Foundation's<00:13:19.320><c> tokens</c>

00:13:19.910 --> 00:13:19.920 align:start position:0%
Foundation's tokens
 

00:13:19.920 --> 00:13:21.800 align:start position:0%
Foundation's tokens
once<00:13:20.160><c> the</c><00:13:20.460><c> cup</c><00:13:20.640><c> is</c><00:13:20.790><c> reached</c><00:13:21.030><c> so</c>

00:13:21.800 --> 00:13:21.810 align:start position:0%
once the cup is reached so
 

00:13:21.810 --> 00:13:23.540 align:start position:0%
once the cup is reached so
only<00:13:22.050><c> if</c><00:13:22.140><c> the</c><00:13:22.230><c> cup</c><00:13:22.380><c> is</c><00:13:22.529><c> reached</c><00:13:23.040><c> will</c><00:13:23.220><c> it</c><00:13:23.340><c> mint</c>

00:13:23.540 --> 00:13:23.550 align:start position:0%
only if the cup is reached will it mint
 

00:13:23.550 --> 00:13:26.090 align:start position:0%
only if the cup is reached will it mint
tokens<00:13:24.120><c> but</c><00:13:24.840><c> then</c><00:13:25.020><c> your</c><00:13:25.350><c> client</c><00:13:25.650><c> comes</c><00:13:25.860><c> back</c>

00:13:26.090 --> 00:13:26.100 align:start position:0%
tokens but then your client comes back
 

00:13:26.100 --> 00:13:28.640 align:start position:0%
tokens but then your client comes back
and<00:13:26.310><c> says</c><00:13:26.490><c> oh</c><00:13:26.760><c> wait</c><00:13:27.060><c> but</c><00:13:27.570><c> make</c><00:13:27.750><c> it</c><00:13:27.779><c> trustless</c><00:13:28.440><c> I</c>

00:13:28.640 --> 00:13:28.650 align:start position:0%
and says oh wait but make it trustless I
 

00:13:28.650 --> 00:13:31.970 align:start position:0%
and says oh wait but make it trustless I
don't<00:13:28.890><c> want</c><00:13:29.010><c> to</c><00:13:29.100><c> be</c><00:13:29.190><c> the</c><00:13:29.310><c> owner</c><00:13:30.050><c> so</c><00:13:31.050><c> you</c><00:13:31.110><c> remove</c>

00:13:31.970 --> 00:13:31.980 align:start position:0%
don't want to be the owner so you remove
 

00:13:31.980 --> 00:13:34.550 align:start position:0%
don't want to be the owner so you remove
the<00:13:32.190><c> privilege</c><00:13:32.550><c> function</c><00:13:33.000><c> put</c><00:13:33.900><c> it</c><00:13:34.020><c> into</c><00:13:34.350><c> the</c>

00:13:34.550 --> 00:13:34.560 align:start position:0%
the privilege function put it into the
 

00:13:34.560 --> 00:13:37.490 align:start position:0%
the privilege function put it into the
buy<00:13:35.310><c> tokens</c><00:13:35.760><c> function</c><00:13:36.540><c> so</c><00:13:37.050><c> that</c><00:13:37.080><c> the</c><00:13:37.350><c> last</c>

00:13:37.490 --> 00:13:37.500 align:start position:0%
buy tokens function so that the last
 

00:13:37.500 --> 00:13:39.590 align:start position:0%
buy tokens function so that the last
investor<00:13:38.070><c> when</c><00:13:38.339><c> the</c><00:13:38.640><c> cup</c><00:13:38.820><c> is</c><00:13:38.910><c> reached</c><00:13:39.210><c> means</c>

00:13:39.590 --> 00:13:39.600 align:start position:0%
investor when the cup is reached means
 

00:13:39.600 --> 00:13:42.260 align:start position:0%
investor when the cup is reached means
the<00:13:39.870><c> token</c><00:13:40.230><c> for</c><00:13:40.620><c> the</c><00:13:40.920><c> foundation</c><00:13:41.430><c> this</c><00:13:42.120><c> is</c>

00:13:42.260 --> 00:13:42.270 align:start position:0%
the token for the foundation this is
 

00:13:42.270 --> 00:13:45.100 align:start position:0%
the token for the foundation this is
better<00:13:42.450><c> right</c><00:13:42.690><c> it's</c><00:13:42.870><c> more</c><00:13:43.350><c> trustless</c><00:13:44.089><c> wait</c>

00:13:45.100 --> 00:13:45.110 align:start position:0%
better right it's more trustless wait
 

00:13:45.110 --> 00:13:48.590 align:start position:0%
better right it's more trustless wait
now<00:13:46.110><c> an</c><00:13:46.890><c> investor</c><00:13:47.339><c> can</c><00:13:47.520><c> come</c><00:13:47.760><c> after</c><00:13:48.180><c> a</c><00:13:48.210><c> cap</c><00:13:48.450><c> is</c>

00:13:48.590 --> 00:13:48.600 align:start position:0%
now an investor can come after a cap is
 

00:13:48.600 --> 00:13:51.769 align:start position:0%
now an investor can come after a cap is
reached<00:13:48.870><c> and</c><00:13:49.580><c> with</c><00:13:50.580><c> this</c><00:13:50.730><c> particular</c><00:13:51.150><c> call</c><00:13:51.390><c> if</c>

00:13:51.769 --> 00:13:51.779 align:start position:0%
reached and with this particular call if
 

00:13:51.779 --> 00:13:53.630 align:start position:0%
reached and with this particular call if
the<00:13:52.170><c> message</c><00:13:52.500><c> value</c><00:13:52.770><c> equals</c><00:13:53.070><c> to</c><00:13:53.220><c> zero</c><00:13:53.460><c> they</c>

00:13:53.630 --> 00:13:53.640 align:start position:0%
the message value equals to zero they
 

00:13:53.640 --> 00:13:55.760 align:start position:0%
the message value equals to zero they
can<00:13:53.790><c> continue</c><00:13:54.150><c> calling</c><00:13:54.960><c> this</c><00:13:55.080><c> buy</c><00:13:55.320><c> tokens</c>

00:13:55.760 --> 00:13:55.770 align:start position:0%
can continue calling this buy tokens
 

00:13:55.770 --> 00:13:58.700 align:start position:0%
can continue calling this buy tokens
getting<00:13:56.550><c> zero</c><00:13:56.820><c> extra</c><00:13:57.180><c> tokens</c><00:13:57.510><c> but</c><00:13:57.710><c> remaining</c>

00:13:58.700 --> 00:13:58.710 align:start position:0%
getting zero extra tokens but remaining
 

00:13:58.710 --> 00:14:00.829 align:start position:0%
getting zero extra tokens but remaining
tokens<00:13:59.279><c> for</c><00:13:59.430><c> the</c><00:13:59.520><c> foundation</c><00:14:00.060><c> ruining</c><00:14:00.720><c> the</c>

00:14:00.829 --> 00:14:00.839 align:start position:0%
tokens for the foundation ruining the
 

00:14:00.839 --> 00:14:04.370 align:start position:0%
tokens for the foundation ruining the
crowd<00:14:01.050><c> sale</c><00:14:01.640><c> the</c><00:14:02.640><c> point</c><00:14:02.850><c> here</c><00:14:03.060><c> is</c><00:14:03.140><c> it's</c><00:14:04.140><c> not</c>

00:14:04.370 --> 00:14:04.380 align:start position:0%
crowd sale the point here is it's not
 

00:14:04.380 --> 00:14:06.710 align:start position:0%
crowd sale the point here is it's not
always<00:14:04.529><c> good</c><00:14:04.920><c> to</c><00:14:05.250><c> leave</c><00:14:05.570><c> critical</c><00:14:06.570><c> when</c><00:14:06.690><c> I</c>

00:14:06.710 --> 00:14:06.720 align:start position:0%
always good to leave critical when I
 

00:14:06.720 --> 00:14:09.079 align:start position:0%
always good to leave critical when I
relate<00:14:07.050><c> a</c><00:14:07.320><c> critical</c><00:14:08.070><c> functionality</c><00:14:08.670><c> of</c><00:14:09.060><c> your</c>

00:14:09.079 --> 00:14:09.089 align:start position:0%
relate a critical functionality of your
 

00:14:09.089 --> 00:14:11.510 align:start position:0%
relate a critical functionality of your
contract<00:14:09.750><c> in</c><00:14:09.930><c> the</c><00:14:10.050><c> hands</c><00:14:10.320><c> of</c><00:14:10.380><c> the</c><00:14:10.560><c> public</c><00:14:10.710><c> it's</c>

00:14:11.510 --> 00:14:11.520 align:start position:0%
contract in the hands of the public it's
 

00:14:11.520 --> 00:14:13.850 align:start position:0%
contract in the hands of the public it's
sometimes<00:14:11.880><c> ok</c><00:14:12.180><c> exactly</c><00:14:12.540><c> sometimes</c><00:14:13.470><c> totally</c>

00:14:13.850 --> 00:14:13.860 align:start position:0%
sometimes ok exactly sometimes totally
 

00:14:13.860 --> 00:14:16.519 align:start position:0%
sometimes ok exactly sometimes totally
ok<00:14:14.339><c> to</c><00:14:14.370><c> live</c><00:14:14.730><c> really</c><00:14:15.420><c> critical</c><00:14:15.960><c> stuff</c><00:14:16.230><c> from</c>

00:14:16.519 --> 00:14:16.529 align:start position:0%
ok to live really critical stuff from
 

00:14:16.529 --> 00:14:18.260 align:start position:0%
ok to live really critical stuff from
your<00:14:16.740><c> smart</c><00:14:17.070><c> contract</c><00:14:17.460><c> in</c><00:14:17.640><c> the</c><00:14:17.790><c> hands</c><00:14:18.029><c> of</c><00:14:18.120><c> an</c>

00:14:18.260 --> 00:14:18.270 align:start position:0%
your smart contract in the hands of an
 

00:14:18.270 --> 00:14:20.810 align:start position:0%
your smart contract in the hands of an
owner<00:14:18.420><c> especially</c><00:14:19.080><c> if</c><00:14:19.500><c> they</c><00:14:19.710><c> if</c><00:14:20.040><c> the</c>

00:14:20.810 --> 00:14:20.820 align:start position:0%
owner especially if they if the
 

00:14:20.820 --> 00:14:22.850 align:start position:0%
owner especially if they if the
investors<00:14:21.270><c> or</c><00:14:21.540><c> users</c><00:14:22.110><c> of</c><00:14:22.230><c> the</c><00:14:22.320><c> contract</c><00:14:22.680><c> are</c>

00:14:22.850 --> 00:14:22.860 align:start position:0%
investors or users of the contract are
 

00:14:22.860 --> 00:14:24.500 align:start position:0%
investors or users of the contract are
already<00:14:23.160><c> trusting</c><00:14:23.640><c> the</c><00:14:23.760><c> owner</c><00:14:23.910><c> in</c><00:14:24.150><c> some</c><00:14:24.360><c> other</c>

00:14:24.500 --> 00:14:24.510 align:start position:0%
already trusting the owner in some other
 

00:14:24.510 --> 00:14:28.850 align:start position:0%
already trusting the owner in some other
way<00:14:24.720><c> like</c><00:14:24.960><c> giving</c><00:14:25.350><c> the</c><00:14:25.470><c> money</c><00:14:25.680><c> I</c><00:14:27.770><c> wanted</c><00:14:28.770><c> to</c>

00:14:28.850 --> 00:14:28.860 align:start position:0%
way like giving the money I wanted to
 

00:14:28.860 --> 00:14:33.050 align:start position:0%
way like giving the money I wanted to
say<00:14:29.550><c> that</c><00:14:30.200><c> so</c><00:14:31.200><c> I</c><00:14:31.530><c> want</c><00:14:32.010><c> I</c><00:14:32.250><c> want</c><00:14:32.730><c> to</c><00:14:32.820><c> end</c><00:14:32.970><c> with</c>

00:14:33.050 --> 00:14:33.060 align:start position:0%
say that so I want I want to end with
 

00:14:33.060 --> 00:14:35.240 align:start position:0%
say that so I want I want to end with
some<00:14:33.660><c> open</c><00:14:33.930><c> problems</c><00:14:34.080><c> that</c><00:14:34.470><c> we</c><00:14:34.589><c> see</c><00:14:35.040><c> in</c><00:14:35.130><c> the</c>

00:14:35.240 --> 00:14:35.250 align:start position:0%
some open problems that we see in the
 

00:14:35.250 --> 00:14:37.130 align:start position:0%
some open problems that we see in the
industry<00:14:35.310><c> and</c><00:14:35.790><c> some</c><00:14:36.180><c> ideas</c><00:14:36.510><c> were</c><00:14:36.690><c> working</c><00:14:37.020><c> on</c>

00:14:37.130 --> 00:14:37.140 align:start position:0%
industry and some ideas were working on
 

00:14:37.140 --> 00:14:40.340 align:start position:0%
industry and some ideas were working on
to<00:14:37.410><c> solve</c><00:14:37.620><c> them</c><00:14:37.770><c> I</c><00:14:38.720><c> briefly</c><00:14:39.720><c> touched</c><00:14:40.170><c> upon</c>

00:14:40.340 --> 00:14:40.350 align:start position:0%
to solve them I briefly touched upon
 

00:14:40.350 --> 00:14:42.340 align:start position:0%
to solve them I briefly touched upon
some<00:14:40.560><c> of</c><00:14:40.950><c> this</c><00:14:41.100><c> but</c><00:14:41.339><c> one</c><00:14:41.970><c> of</c><00:14:42.000><c> them</c><00:14:42.210><c> is</c>

00:14:42.340 --> 00:14:42.350 align:start position:0%
some of this but one of them is
 

00:14:42.350 --> 00:14:45.140 align:start position:0%
some of this but one of them is
upgradability<00:14:43.350><c> or</c><00:14:43.530><c> both</c><00:14:44.280><c> in</c><00:14:44.400><c> terms</c><00:14:44.640><c> of</c><00:14:44.820><c> how</c><00:14:45.089><c> to</c>

00:14:45.140 --> 00:14:45.150 align:start position:0%
upgradability or both in terms of how to
 

00:14:45.150 --> 00:14:47.420 align:start position:0%
upgradability or both in terms of how to
upgrade<00:14:45.510><c> a</c><00:14:45.930><c> smart</c><00:14:46.260><c> contract</c><00:14:46.410><c> once</c><00:14:46.920><c> it</c><00:14:47.250><c> has</c>

00:14:47.420 --> 00:14:47.430 align:start position:0%
upgrade a smart contract once it has
 

00:14:47.430 --> 00:14:50.420 align:start position:0%
upgrade a smart contract once it has
been<00:14:47.580><c> deployed</c><00:14:47.880><c> to</c><00:14:48.000><c> the</c><00:14:48.210><c> network</c><00:14:48.830><c> for</c><00:14:49.830><c> like</c>

00:14:50.420 --> 00:14:50.430 align:start position:0%
been deployed to the network for like
 

00:14:50.430 --> 00:14:52.900 align:start position:0%
been deployed to the network for like
bug<00:14:50.670><c> fixing</c><00:14:51.089><c> or</c><00:14:51.330><c> adding</c><00:14:51.690><c> extra</c><00:14:52.050><c> features</c>

00:14:52.900 --> 00:14:52.910 align:start position:0%
bug fixing or adding extra features
 

00:14:52.910 --> 00:14:55.579 align:start position:0%
bug fixing or adding extra features
interoperability<00:14:53.910><c> it</c><00:14:54.690><c> there</c><00:14:54.960><c> is</c><00:14:55.050><c> contracts</c>

00:14:55.579 --> 00:14:55.589 align:start position:0%
interoperability it there is contracts
 

00:14:55.589 --> 00:14:59.210 align:start position:0%
interoperability it there is contracts
calling<00:14:56.030><c> them</c><00:14:57.030><c> each</c><00:14:57.450><c> other</c><00:14:57.720><c> the</c><00:14:58.380><c> gas</c><00:14:58.560><c> costs</c><00:14:59.070><c> of</c>

00:14:59.210 --> 00:14:59.220 align:start position:0%
calling them each other the gas costs of
 

00:14:59.220 --> 00:15:01.190 align:start position:0%
calling them each other the gas costs of
how<00:14:59.700><c> contracts</c><00:15:00.240><c> interact</c><00:15:00.630><c> within</c><00:15:00.839><c> each</c><00:15:01.020><c> other</c>

00:15:01.190 --> 00:15:01.200 align:start position:0%
how contracts interact within each other
 

00:15:01.200 --> 00:15:03.760 align:start position:0%
how contracts interact within each other
and<00:15:01.440><c> code</c><00:15:02.370><c> duplication</c><00:15:02.550><c> in</c><00:15:03.180><c> the</c><00:15:03.360><c> blockchain</c>

00:15:03.760 --> 00:15:03.770 align:start position:0%
and code duplication in the blockchain
 

00:15:03.770 --> 00:15:08.240 align:start position:0%
and code duplication in the blockchain
so<00:15:04.770><c> we</c><00:15:05.250><c> recently</c><00:15:05.940><c> announced</c><00:15:06.330><c> our</c><00:15:07.110><c> sibling</c><00:15:07.770><c> OS</c>

00:15:08.240 --> 00:15:08.250 align:start position:0%
so we recently announced our sibling OS
 

00:15:08.250 --> 00:15:10.760 align:start position:0%
so we recently announced our sibling OS
project<00:15:08.700><c> which</c><00:15:09.360><c> tackles</c><00:15:09.720><c> these</c><00:15:10.500><c> four</c>

00:15:10.760 --> 00:15:10.770 align:start position:0%
project which tackles these four
 

00:15:10.770 --> 00:15:13.520 align:start position:0%
project which tackles these four
problems<00:15:10.950><c> and</c><00:15:11.940><c> I'm</c><00:15:12.030><c> gonna</c><00:15:12.209><c> tell</c><00:15:12.959><c> you</c><00:15:13.080><c> how</c><00:15:13.470><c> we</c>

00:15:13.520 --> 00:15:13.530 align:start position:0%
problems and I'm gonna tell you how we
 

00:15:13.530 --> 00:15:15.640 align:start position:0%
problems and I'm gonna tell you how we
do<00:15:13.740><c> that</c><00:15:13.860><c> how</c><00:15:14.250><c> we</c><00:15:14.310><c> plan</c><00:15:14.520><c> to</c><00:15:14.550><c> do</c><00:15:14.760><c> that</c>

00:15:15.640 --> 00:15:15.650 align:start position:0%
do that how we plan to do that
 

00:15:15.650 --> 00:15:18.530 align:start position:0%
do that how we plan to do that
so<00:15:16.650><c> for</c><00:15:16.860><c> code</c><00:15:17.070><c> duplication</c><00:15:17.300><c> basically</c><00:15:18.300><c> what</c>

00:15:18.530 --> 00:15:18.540 align:start position:0%
so for code duplication basically what
 

00:15:18.540 --> 00:15:20.150 align:start position:0%
so for code duplication basically what
we're<00:15:18.779><c> going</c><00:15:18.990><c> to</c><00:15:19.110><c> do</c><00:15:19.260><c> is</c><00:15:19.380><c> turning</c><00:15:19.770><c> open</c>

00:15:20.150 --> 00:15:20.160 align:start position:0%
we're going to do is turning open
 

00:15:20.160 --> 00:15:22.180 align:start position:0%
we're going to do is turning open
sapling<00:15:20.520><c> the</c><00:15:20.700><c> library</c><00:15:21.029><c> into</c><00:15:21.480><c> a</c><00:15:21.510><c> non</c><00:15:21.720><c> chained</c>

00:15:22.180 --> 00:15:22.190 align:start position:0%
sapling the library into a non chained
 

00:15:22.190 --> 00:15:25.010 align:start position:0%
sapling the library into a non chained
library<00:15:23.190><c> were</c><00:15:23.430><c> applications</c><00:15:24.420><c> kind</c><00:15:24.690><c> direct</c>

00:15:25.010 --> 00:15:25.020 align:start position:0%
library were applications kind direct
 

00:15:25.020 --> 00:15:27.800 align:start position:0%
library were applications kind direct
directly<00:15:25.470><c> connect</c><00:15:25.920><c> and</c><00:15:26.130><c> Link</c><00:15:26.370><c> contracts</c><00:15:27.120><c> to</c>

00:15:27.800 --> 00:15:27.810 align:start position:0%
directly connect and Link contracts to
 

00:15:27.810 --> 00:15:29.780 align:start position:0%
directly connect and Link contracts to
their<00:15:27.990><c> own</c><00:15:28.140><c> chain</c><00:15:28.380><c> version</c><00:15:28.800><c> to</c><00:15:29.310><c> reduce</c><00:15:29.610><c> the</c>

00:15:29.780 --> 00:15:29.790 align:start position:0%
their own chain version to reduce the
 

00:15:29.790 --> 00:15:31.520 align:start position:0%
their own chain version to reduce the
the<00:15:29.820><c> payload</c><00:15:30.480><c> that</c><00:15:30.660><c> needs</c><00:15:30.839><c> the</c><00:15:31.170><c> white</c><00:15:31.350><c> code</c>

00:15:31.520 --> 00:15:31.530 align:start position:0%
the payload that needs the white code
 

00:15:31.530 --> 00:15:33.350 align:start position:0%
the payload that needs the white code
that<00:15:31.680><c> needs</c><00:15:31.860><c> to</c><00:15:31.980><c> be</c><00:15:32.040><c> uploaded</c><00:15:32.640><c> to</c><00:15:32.670><c> contract</c><00:15:33.150><c> on</c>

00:15:33.350 --> 00:15:33.360 align:start position:0%
that needs to be uploaded to contract on
 

00:15:33.360 --> 00:15:35.510 align:start position:0%
that needs to be uploaded to contract on
chain<00:15:33.780><c> and</c><00:15:34.050><c> all</c><00:15:34.680><c> the</c><00:15:34.740><c> other</c>

00:15:35.510 --> 00:15:35.520 align:start position:0%
chain and all the other
 

00:15:35.520 --> 00:15:38.000 align:start position:0%
chain and all the other
that<00:15:36.000><c> are</c><00:15:36.180><c> reusing</c><00:15:36.750><c> open</c><00:15:37.050><c> civilian</c><00:15:37.470><c> standard</c>

00:15:38.000 --> 00:15:38.010 align:start position:0%
that are reusing open civilian standard
 

00:15:38.010 --> 00:15:40.280 align:start position:0%
that are reusing open civilian standard
token<00:15:38.610><c> implementation</c><00:15:39.210><c> they</c><00:15:39.750><c> can</c><00:15:39.900><c> share</c><00:15:40.140><c> the</c>

00:15:40.280 --> 00:15:40.290 align:start position:0%
token implementation they can share the
 

00:15:40.290 --> 00:15:42.050 align:start position:0%
token implementation they can share the
same<00:15:40.470><c> code</c><00:15:40.740><c> on</c><00:15:40.950><c> chain</c><00:15:41.310><c> and</c><00:15:41.520><c> release</c><00:15:41.760><c> the</c><00:15:41.910><c> gas</c>

00:15:42.050 --> 00:15:42.060 align:start position:0%
same code on chain and release the gas
 

00:15:42.060 --> 00:15:44.770 align:start position:0%
same code on chain and release the gas
costs<00:15:42.480><c> of</c><00:15:42.630><c> deployment</c><00:15:43.440><c> and</c><00:15:43.800><c> reduce</c><00:15:44.490><c> the</c>

00:15:44.770 --> 00:15:44.780 align:start position:0%
costs of deployment and reduce the
 

00:15:44.780 --> 00:15:49.220 align:start position:0%
costs of deployment and reduce the
amount<00:15:45.780><c> of</c><00:15:45.870><c> storage</c><00:15:46.140><c> needed</c><00:15:47.270><c> and</c><00:15:48.270><c> this</c><00:15:48.840><c> kernel</c>

00:15:49.220 --> 00:15:49.230 align:start position:0%
amount of storage needed and this kernel
 

00:15:49.230 --> 00:15:51.110 align:start position:0%
amount of storage needed and this kernel
will<00:15:49.410><c> also</c><00:15:49.710><c> have</c><00:15:50.160><c> an</c><00:15:50.400><c> upgrade</c><00:15:51.000><c> ability</c>

00:15:51.110 --> 00:15:51.120 align:start position:0%
will also have an upgrade ability
 

00:15:51.120 --> 00:15:55.460 align:start position:0%
will also have an upgrade ability
mechanism<00:15:51.900><c> a</c><00:15:52.490><c> via</c><00:15:53.490><c> the</c><00:15:54.360><c> delegate</c><00:15:55.050><c> proxy</c>

00:15:55.460 --> 00:15:55.470 align:start position:0%
mechanism a via the delegate proxy
 

00:15:55.470 --> 00:15:59.120 align:start position:0%
mechanism a via the delegate proxy
pattern<00:15:56.030><c> so</c><00:15:57.030><c> that</c><00:15:57.180><c> we</c><00:15:57.300><c> can</c><00:15:57.510><c> do</c><00:15:57.690><c> upgrades</c><00:15:58.590><c> to</c>

00:15:59.120 --> 00:15:59.130 align:start position:0%
pattern so that we can do upgrades to
 

00:15:59.130 --> 00:16:01.580 align:start position:0%
pattern so that we can do upgrades to
this<00:15:59.280><c> kernel</c><00:15:59.850><c> of</c><00:15:59.940><c> really</c><00:16:00.390><c> core</c><00:16:00.840><c> and</c><00:16:01.170><c> important</c>

00:16:01.580 --> 00:16:01.590 align:start position:0%
this kernel of really core and important
 

00:16:01.590 --> 00:16:05.090 align:start position:0%
this kernel of really core and important
modules<00:16:02.270><c> from</c><00:16:03.270><c> the</c><00:16:03.360><c> ecosystem</c><00:16:03.660><c> so</c><00:16:04.470><c> we</c><00:16:04.680><c> find</c><00:16:04.920><c> a</c>

00:16:05.090 --> 00:16:05.100 align:start position:0%
modules from the ecosystem so we find a
 

00:16:05.100 --> 00:16:07.520 align:start position:0%
modules from the ecosystem so we find a
bug<00:16:05.250><c> or</c><00:16:05.550><c> or</c><00:16:05.880><c> we</c><00:16:06.180><c> need</c><00:16:06.300><c> to</c><00:16:06.450><c> improve</c><00:16:06.900><c> some</c><00:16:07.320><c> of</c><00:16:07.350><c> the</c>

00:16:07.520 --> 00:16:07.530 align:start position:0%
bug or or we need to improve some of the
 

00:16:07.530 --> 00:16:11.150 align:start position:0%
bug or or we need to improve some of the
code<00:16:07.740><c> from</c><00:16:08.190><c> from</c><00:16:08.850><c> those</c><00:16:09.060><c> core</c><00:16:09.900><c> libraries</c><00:16:10.350><c> we</c>

00:16:11.150 --> 00:16:11.160 align:start position:0%
code from from those core libraries we
 

00:16:11.160 --> 00:16:14.450 align:start position:0%
code from from those core libraries we
can<00:16:11.310><c> do</c><00:16:11.460><c> so</c><00:16:11.670><c> and</c><00:16:11.990><c> possibly</c><00:16:12.990><c> fix</c><00:16:13.230><c> a</c><00:16:13.470><c> production</c>

00:16:14.450 --> 00:16:14.460 align:start position:0%
can do so and possibly fix a production
 

00:16:14.460 --> 00:16:17.150 align:start position:0%
can do so and possibly fix a production
code<00:16:14.670><c> from</c><00:16:14.940><c> some</c><00:16:15.120><c> contracts</c><00:16:15.660><c> and</c><00:16:15.920><c> of</c><00:16:16.920><c> course</c>

00:16:17.150 --> 00:16:17.160 align:start position:0%
code from some contracts and of course
 

00:16:17.160 --> 00:16:19.520 align:start position:0%
code from some contracts and of course
this<00:16:17.480><c> business</c><00:16:18.480><c> a</c><00:16:18.600><c> governance</c><00:16:19.020><c> mechanism</c>

00:16:19.520 --> 00:16:19.530 align:start position:0%
this business a governance mechanism
 

00:16:19.530 --> 00:16:21.800 align:start position:0%
this business a governance mechanism
because<00:16:19.830><c> a</c><00:16:20.270><c> nobody</c><00:16:21.270><c> would</c><00:16:21.420><c> use</c><00:16:21.450><c> some</c>

00:16:21.800 --> 00:16:21.810 align:start position:0%
because a nobody would use some
 

00:16:21.810 --> 00:16:23.600 align:start position:0%
because a nobody would use some
something<00:16:22.350><c> that</c><00:16:22.470><c> is</c><00:16:22.620><c> in</c><00:16:22.860><c> the</c><00:16:23.040><c> hands</c><00:16:23.310><c> of</c><00:16:23.400><c> a</c><00:16:23.580><c> few</c>

00:16:23.600 --> 00:16:23.610 align:start position:0%
something that is in the hands of a few
 

00:16:23.610 --> 00:16:29.800 align:start position:0%
something that is in the hands of a few
developers<00:16:24.240><c> which</c><00:16:24.810><c> upgrades</c><00:16:25.250><c> are</c><00:16:27.860><c> approved</c>

00:16:29.800 --> 00:16:29.810 align:start position:0%
developers which upgrades are approved
 

00:16:29.810 --> 00:16:32.270 align:start position:0%
developers which upgrades are approved
and<00:16:30.810><c> by</c><00:16:30.960><c> the</c><00:16:31.020><c> way</c><00:16:31.170><c> we</c><00:16:31.350><c> we</c><00:16:31.740><c> did</c><00:16:31.920><c> this</c><00:16:32.040><c> the</c>

00:16:32.270 --> 00:16:32.280 align:start position:0%
and by the way we we did this the
 

00:16:32.280 --> 00:16:34.880 align:start position:0%
and by the way we we did this the
technical<00:16:32.700><c> research</c><00:16:33.030><c> for</c><00:16:33.330><c> this</c><00:16:33.510><c> we</c><00:16:34.080><c> did</c><00:16:34.260><c> with</c>

00:16:34.880 --> 00:16:34.890 align:start position:0%
technical research for this we did with
 

00:16:34.890 --> 00:16:36.710 align:start position:0%
technical research for this we did with
the<00:16:35.100><c> Oregon</c><00:16:35.520><c> guys</c><00:16:35.700><c> and</c><00:16:36.000><c> they've</c><00:16:36.210><c> been</c><00:16:36.570><c> using</c>

00:16:36.710 --> 00:16:36.720 align:start position:0%
the Oregon guys and they've been using
 

00:16:36.720 --> 00:16:39.440 align:start position:0%
the Oregon guys and they've been using
the<00:16:36.960><c> same</c><00:16:37.110><c> idea</c><00:16:37.410><c> on</c><00:16:37.680><c> Eragon</c><00:16:38.430><c> OS</c><00:16:38.670><c> so</c><00:16:38.970><c> you</c><00:16:39.030><c> might</c>

00:16:39.440 --> 00:16:39.450 align:start position:0%
the same idea on Eragon OS so you might
 

00:16:39.450 --> 00:16:43.580 align:start position:0%
the same idea on Eragon OS so you might
want<00:16:39.630><c> to</c><00:16:39.660><c> check</c><00:16:39.900><c> that</c><00:16:39.930><c> out</c><00:16:40.170><c> too</c><00:16:41.510><c> and</c><00:16:42.510><c> to</c><00:16:43.260><c> two</c>

00:16:43.580 --> 00:16:43.590 align:start position:0%
want to check that out too and to two
 

00:16:43.590 --> 00:16:45.500 align:start position:0%
want to check that out too and to two
other<00:16:43.740><c> components</c><00:16:44.280><c> of</c><00:16:44.760><c> the</c><00:16:44.820><c> OS</c><00:16:45.240><c> are</c><00:16:45.390><c> the</c>

00:16:45.500 --> 00:16:45.510 align:start position:0%
other components of the OS are the
 

00:16:45.510 --> 00:16:47.930 align:start position:0%
other components of the OS are the
scheduler<00:16:45.960><c> and</c><00:16:46.140><c> the</c><00:16:46.230><c> marketplace</c><00:16:46.560><c> so</c><00:16:46.980><c> the</c>

00:16:47.930 --> 00:16:47.940 align:start position:0%
scheduler and the marketplace so the
 

00:16:47.940 --> 00:16:50.420 align:start position:0%
scheduler and the marketplace so the
scheduler<00:16:48.300><c> solves</c><00:16:48.690><c> the</c><00:16:48.900><c> gas</c><00:16:49.380><c> the</c><00:16:49.830><c> gas</c><00:16:49.860><c> problem</c>

00:16:50.420 --> 00:16:50.430 align:start position:0%
scheduler solves the gas the gas problem
 

00:16:50.430 --> 00:16:52.280 align:start position:0%
scheduler solves the gas the gas problem
of<00:16:50.610><c> smart</c><00:16:51.120><c> contract</c><00:16:51.390><c> interaction</c><00:16:51.930><c> and</c><00:16:52.170><c> it</c>

00:16:52.280 --> 00:16:52.290 align:start position:0%
of smart contract interaction and it
 

00:16:52.290 --> 00:16:54.350 align:start position:0%
of smart contract interaction and it
comes<00:16:52.500><c> from</c><00:16:52.740><c> the</c><00:16:52.950><c> idea</c><00:16:53.040><c> that</c><00:16:53.400><c> when</c><00:16:54.180><c> two</c>

00:16:54.350 --> 00:16:54.360 align:start position:0%
comes from the idea that when two
 

00:16:54.360 --> 00:16:56.540 align:start position:0%
comes from the idea that when two
contracts<00:16:54.900><c> interact</c><00:16:55.500><c> if</c><00:16:56.130><c> you</c><00:16:56.250><c> think</c><00:16:56.460><c> about</c>

00:16:56.540 --> 00:16:56.550 align:start position:0%
contracts interact if you think about
 

00:16:56.550 --> 00:16:58.970 align:start position:0%
contracts interact if you think about
who<00:16:56.940><c> pays</c><00:16:57.150><c> for</c><00:16:57.210><c> the</c><00:16:57.510><c> gas</c><00:16:57.660><c> price</c><00:16:57.960><c> for</c><00:16:58.560><c> those</c>

00:16:58.970 --> 00:16:58.980 align:start position:0%
who pays for the gas price for those
 

00:16:58.980 --> 00:17:00.800 align:start position:0%
who pays for the gas price for those
interactions<00:16:59.370><c> for</c><00:16:59.670><c> example</c><00:17:00.060><c> a</c><00:17:00.270><c> typical</c>

00:17:00.800 --> 00:17:00.810 align:start position:0%
interactions for example a typical
 

00:17:00.810 --> 00:17:02.450 align:start position:0%
interactions for example a typical
example<00:17:00.900><c> nowadays</c><00:17:01.320><c> is</c><00:17:01.770><c> a</c><00:17:01.920><c> multi-state</c>

00:17:02.450 --> 00:17:02.460 align:start position:0%
example nowadays is a multi-state
 

00:17:02.460 --> 00:17:04.820 align:start position:0%
example nowadays is a multi-state
contract<00:17:02.940><c> controlling</c><00:17:03.540><c> a</c><00:17:03.810><c> crowd</c><00:17:04.589><c> sale</c>

00:17:04.820 --> 00:17:04.830 align:start position:0%
contract controlling a crowd sale
 

00:17:04.830 --> 00:17:06.230 align:start position:0%
contract controlling a crowd sale
contract<00:17:05.040><c> some</c><00:17:05.339><c> privilege</c><00:17:05.670><c> function</c><00:17:06.089><c> for</c>

00:17:06.230 --> 00:17:06.240 align:start position:0%
contract some privilege function for
 

00:17:06.240 --> 00:17:10.370 align:start position:0%
contract some privilege function for
example<00:17:07.760><c> finalizing</c><00:17:08.760><c> the</c><00:17:08.850><c> crowd</c><00:17:09.030><c> sale</c><00:17:09.260><c> if</c><00:17:10.260><c> you</c>

00:17:10.370 --> 00:17:10.380 align:start position:0%
example finalizing the crowd sale if you
 

00:17:10.380 --> 00:17:12.050 align:start position:0%
example finalizing the crowd sale if you
think<00:17:10.560><c> about</c><00:17:10.650><c> it</c><00:17:10.860><c> the</c><00:17:10.980><c> first</c><00:17:11.190><c> let's</c><00:17:11.880><c> say</c><00:17:12.000><c> you</c>

00:17:12.050 --> 00:17:12.060 align:start position:0%
think about it the first let's say you
 

00:17:12.060 --> 00:17:14.180 align:start position:0%
think about it the first let's say you
have<00:17:12.300><c> three</c><00:17:12.420><c> of</c><00:17:12.600><c> five</c><00:17:12.780><c> volt</c><00:17:13.020><c> EC</c><00:17:13.260><c> the</c><00:17:13.560><c> first</c>

00:17:14.180 --> 00:17:14.190 align:start position:0%
have three of five volt EC the first
 

00:17:14.190 --> 00:17:16.460 align:start position:0%
have three of five volt EC the first
owner<00:17:14.430><c> proposes</c><00:17:15.120><c> to</c><00:17:15.810><c> make</c><00:17:15.959><c> the</c><00:17:16.080><c> call</c><00:17:16.290><c> the</c>

00:17:16.460 --> 00:17:16.470 align:start position:0%
owner proposes to make the call the
 

00:17:16.470 --> 00:17:18.350 align:start position:0%
owner proposes to make the call the
second<00:17:16.740><c> one</c><00:17:16.890><c> signs</c><00:17:17.250><c> it</c><00:17:17.400><c> off</c><00:17:17.520><c> and</c><00:17:17.940><c> when</c><00:17:18.240><c> the</c>

00:17:18.350 --> 00:17:18.360 align:start position:0%
second one signs it off and when the
 

00:17:18.360 --> 00:17:20.120 align:start position:0%
second one signs it off and when the
third<00:17:18.570><c> one</c><00:17:18.600><c> signs</c><00:17:19.020><c> it</c><00:17:19.170><c> off</c><00:17:19.320><c> the</c><00:17:19.890><c> actual</c>

00:17:20.120 --> 00:17:20.130 align:start position:0%
third one signs it off the actual
 

00:17:20.130 --> 00:17:21.560 align:start position:0%
third one signs it off the actual
operation<00:17:20.550><c> is</c><00:17:20.670><c> executed</c>

00:17:21.560 --> 00:17:21.570 align:start position:0%
operation is executed
 

00:17:21.570 --> 00:17:23.420 align:start position:0%
operation is executed
another<00:17:21.839><c> gas</c><00:17:22.110><c> cost</c><00:17:22.410><c> of</c><00:17:22.589><c> executed</c><00:17:23.070><c> that</c><00:17:23.220><c> is</c>

00:17:23.420 --> 00:17:23.430 align:start position:0%
another gas cost of executed that is
 

00:17:23.430 --> 00:17:27.110 align:start position:0%
another gas cost of executed that is
paid<00:17:23.790><c> by</c><00:17:24.030><c> the</c><00:17:24.060><c> third</c><00:17:24.660><c> or</c><00:17:25.170><c> the</c><00:17:25.230><c> last</c><00:17:25.850><c> owner</c><00:17:26.850><c> of</c>

00:17:27.110 --> 00:17:27.120 align:start position:0%
paid by the third or the last owner of
 

00:17:27.120 --> 00:17:31.040 align:start position:0%
paid by the third or the last owner of
the<00:17:27.209><c> multi</c><00:17:27.450><c> C</c><00:17:28.130><c> so</c><00:17:29.130><c> with</c><00:17:29.280><c> the</c><00:17:29.370><c> scheduler</c><00:17:30.050><c> we're</c>

00:17:31.040 --> 00:17:31.050 align:start position:0%
the multi C so with the scheduler we're
 

00:17:31.050 --> 00:17:33.560 align:start position:0%
the multi C so with the scheduler we're
building<00:17:31.320><c> tools</c><00:17:31.530><c> to</c><00:17:31.790><c> enable</c><00:17:32.790><c> contracts</c><00:17:33.450><c> to</c>

00:17:33.560 --> 00:17:33.570 align:start position:0%
building tools to enable contracts to
 

00:17:33.570 --> 00:17:36.020 align:start position:0%
building tools to enable contracts to
request<00:17:33.990><c> a</c><00:17:34.200><c> synchronous</c><00:17:34.800><c> operations</c><00:17:35.370><c> in</c><00:17:35.820><c> the</c>

00:17:36.020 --> 00:17:36.030 align:start position:0%
request a synchronous operations in the
 

00:17:36.030 --> 00:17:38.660 align:start position:0%
request a synchronous operations in the
future<00:17:36.300><c> so</c><00:17:36.510><c> a</c><00:17:36.690><c> multi</c><00:17:37.050><c> could</c><00:17:37.350><c> gather</c><00:17:38.310><c> all</c><00:17:38.550><c> the</c>

00:17:38.660 --> 00:17:38.670 align:start position:0%
future so a multi could gather all the
 

00:17:38.670 --> 00:17:40.490 align:start position:0%
future so a multi could gather all the
signatures<00:17:38.970><c> and</c><00:17:39.150><c> then</c><00:17:39.450><c> request</c><00:17:39.840><c> someone</c><00:17:40.200><c> else</c>

00:17:40.490 --> 00:17:40.500 align:start position:0%
signatures and then request someone else
 

00:17:40.500 --> 00:17:42.320 align:start position:0%
signatures and then request someone else
to<00:17:40.710><c> do</c><00:17:40.980><c> the</c><00:17:41.130><c> actual</c><00:17:41.250><c> execution</c><00:17:42.120><c> of</c><00:17:42.210><c> the</c>

00:17:42.320 --> 00:17:42.330 align:start position:0%
to do the actual execution of the
 

00:17:42.330 --> 00:17:44.360 align:start position:0%
to do the actual execution of the
operation<00:17:42.810><c> so</c><00:17:43.380><c> with</c><00:17:43.590><c> a</c><00:17:43.620><c> couple</c><00:17:43.980><c> who</c><00:17:44.130><c> pays</c><00:17:44.340><c> for</c>

00:17:44.360 --> 00:17:44.370 align:start position:0%
operation so with a couple who pays for
 

00:17:44.370 --> 00:17:46.700 align:start position:0%
operation so with a couple who pays for
gas<00:17:44.730><c> and</c><00:17:45.030><c> who</c><00:17:45.330><c> is</c><00:17:45.420><c> actually</c><00:17:45.620><c> approving</c><00:17:46.620><c> the</c>

00:17:46.700 --> 00:17:46.710 align:start position:0%
gas and who is actually approving the
 

00:17:46.710 --> 00:17:50.070 align:start position:0%
gas and who is actually approving the
calls

00:17:50.070 --> 00:17:50.080 align:start position:0%
 
 

00:17:50.080 --> 00:17:51.870 align:start position:0%
 
and<00:17:50.350><c> this</c><00:17:50.559><c> same</c><00:17:50.890><c> mechanism</c><00:17:51.040><c> also</c><00:17:51.490><c> allows</c><00:17:51.850><c> for</c>

00:17:51.870 --> 00:17:51.880 align:start position:0%
and this same mechanism also allows for
 

00:17:51.880 --> 00:17:54.780 align:start position:0%
and this same mechanism also allows for
a<00:17:52.470><c> synchronous</c><00:17:53.470><c> programming</c><00:17:53.620><c> in</c><00:17:54.160><c> general</c><00:17:54.610><c> not</c>

00:17:54.780 --> 00:17:54.790 align:start position:0%
a synchronous programming in general not
 

00:17:54.790 --> 00:17:58.560 align:start position:0%
a synchronous programming in general not
just<00:17:55.110><c> this</c><00:17:56.220><c> this</c><00:17:57.220><c> thing</c><00:17:57.490><c> this</c><00:17:57.820><c> thing</c><00:17:57.880><c> is</c><00:17:58.330><c> gas</c>

00:17:58.560 --> 00:17:58.570 align:start position:0%
just this this thing this thing is gas
 

00:17:58.570 --> 00:18:03.000 align:start position:0%
just this this thing this thing is gas
but<00:17:59.290><c> enables</c><00:17:59.980><c> a</c><00:18:00.990><c> smart</c><00:18:01.990><c> contracts</c><00:18:02.350><c> to</c><00:18:02.530><c> to</c>

00:18:03.000 --> 00:18:03.010 align:start position:0%
but enables a smart contracts to to
 

00:18:03.010 --> 00:18:06.810 align:start position:0%
but enables a smart contracts to to
request<00:18:03.510><c> operations</c><00:18:04.510><c> in</c><00:18:04.780><c> the</c><00:18:04.929><c> future</c><00:18:05.550><c> and</c><00:18:06.550><c> for</c>

00:18:06.810 --> 00:18:06.820 align:start position:0%
request operations in the future and for
 

00:18:06.820 --> 00:18:09.299 align:start position:0%
request operations in the future and for
the<00:18:06.880><c> marketplace</c><00:18:07.270><c> we</c><00:18:07.720><c> are</c><00:18:08.260><c> standardizing</c><00:18:09.220><c> the</c>

00:18:09.299 --> 00:18:09.309 align:start position:0%
the marketplace we are standardizing the
 

00:18:09.309 --> 00:18:11.190 align:start position:0%
the marketplace we are standardizing the
way<00:18:09.429><c> contracts</c><00:18:10.150><c> interact</c><00:18:10.690><c> with</c><00:18:10.929><c> each</c><00:18:11.080><c> other</c>

00:18:11.190 --> 00:18:11.200 align:start position:0%
way contracts interact with each other
 

00:18:11.200 --> 00:18:14.490 align:start position:0%
way contracts interact with each other
so<00:18:12.059><c> we</c><00:18:13.059><c> think</c><00:18:13.240><c> that</c><00:18:13.360><c> there's</c><00:18:13.870><c> a</c><00:18:14.080><c> bigger</c>

00:18:14.490 --> 00:18:14.500 align:start position:0%
so we think that there's a bigger
 

00:18:14.500 --> 00:18:16.650 align:start position:0%
so we think that there's a bigger
potential<00:18:15.040><c> for</c><00:18:15.280><c> smart</c><00:18:15.760><c> contracts</c><00:18:16.179><c> when</c><00:18:16.540><c> they</c>

00:18:16.650 --> 00:18:16.660 align:start position:0%
potential for smart contracts when they
 

00:18:16.660 --> 00:18:18.930 align:start position:0%
potential for smart contracts when they
start<00:18:16.990><c> interacting</c><00:18:17.740><c> more</c><00:18:18.160><c> and</c><00:18:18.309><c> we</c><00:18:18.400><c> see</c><00:18:18.610><c> an</c>

00:18:18.930 --> 00:18:18.940 align:start position:0%
start interacting more and we see an
 

00:18:18.940 --> 00:18:22.169 align:start position:0%
start interacting more and we see an
ecosystem<00:18:19.270><c> of</c><00:18:20.010><c> contracts</c><00:18:21.010><c> interacting</c><00:18:21.700><c> and</c>

00:18:22.169 --> 00:18:22.179 align:start position:0%
ecosystem of contracts interacting and
 

00:18:22.179 --> 00:18:24.330 align:start position:0%
ecosystem of contracts interacting and
we're<00:18:22.330><c> standardizing</c><00:18:22.630><c> the</c><00:18:23.110><c> way</c><00:18:23.260><c> a</c><00:18:23.340><c> contract</c>

00:18:24.330 --> 00:18:24.340 align:start position:0%
we're standardizing the way a contract
 

00:18:24.340 --> 00:18:26.840 align:start position:0%
we're standardizing the way a contract
can<00:18:24.429><c> expose</c><00:18:24.820><c> its</c><00:18:25.179><c> services</c><00:18:25.720><c> in</c><00:18:26.020><c> terms</c><00:18:26.320><c> of</c><00:18:26.559><c> I</c>

00:18:26.840 --> 00:18:26.850 align:start position:0%
can expose its services in terms of I
 

00:18:26.850 --> 00:18:30.540 align:start position:0%
can expose its services in terms of I
this<00:18:27.850><c> contract</c><00:18:28.300><c> offer</c><00:18:28.480><c> this</c><00:18:28.840><c> API</c><00:18:29.590><c> call</c><00:18:29.890><c> for</c><00:18:30.280><c> a</c>

00:18:30.540 --> 00:18:30.550 align:start position:0%
this contract offer this API call for a
 

00:18:30.550 --> 00:18:32.760 align:start position:0%
this contract offer this API call for a
monthly<00:18:31.000><c> payment</c><00:18:31.210><c> or</c><00:18:31.630><c> a</c><00:18:31.750><c> one-time</c><00:18:32.110><c> fee</c><00:18:32.530><c> and</c>

00:18:32.760 --> 00:18:32.770 align:start position:0%
monthly payment or a one-time fee and
 

00:18:32.770 --> 00:18:35.010 align:start position:0%
monthly payment or a one-time fee and
you<00:18:32.830><c> get</c><00:18:32.980><c> access</c><00:18:33.130><c> to</c><00:18:33.309><c> everything</c><00:18:33.670><c> or</c><00:18:34.000><c> a</c><00:18:34.780><c> per</c>

00:18:35.010 --> 00:18:35.020 align:start position:0%
you get access to everything or a per
 

00:18:35.020 --> 00:18:39.060 align:start position:0%
you get access to everything or a per
call<00:18:35.260><c> fee</c><00:18:36.450><c> and</c><00:18:37.450><c> finally</c><00:18:37.840><c> part</c><00:18:38.110><c> also</c><00:18:38.679><c> part</c><00:18:39.010><c> of</c>

00:18:39.060 --> 00:18:39.070 align:start position:0%
call fee and finally part also part of
 

00:18:39.070 --> 00:18:41.820 align:start position:0%
call fee and finally part also part of
sibling<00:18:39.550><c> OS</c><00:18:39.790><c> is</c><00:18:40.090><c> a</c><00:18:40.360><c> set</c><00:18:40.570><c> of</c><00:18:40.750><c> of</c><00:18:41.110><c> chain</c><00:18:41.559><c> tools</c>

00:18:41.820 --> 00:18:41.830 align:start position:0%
sibling OS is a set of of chain tools
 

00:18:41.830 --> 00:18:43.860 align:start position:0%
sibling OS is a set of of chain tools
which<00:18:42.130><c> we</c><00:18:42.309><c> call</c><00:18:42.490><c> the</c><00:18:42.670><c> smart</c><00:18:42.910><c> contract</c><00:18:43.059><c> SDK</c>

00:18:43.860 --> 00:18:43.870 align:start position:0%
which we call the smart contract SDK
 

00:18:43.870 --> 00:18:46.680 align:start position:0%
which we call the smart contract SDK
which<00:18:44.080><c> are</c><00:18:44.260><c> basically</c><00:18:44.740><c> CLI</c><00:18:45.309><c> tools</c><00:18:45.340><c> and</c><00:18:45.850><c> web</c>

00:18:46.680 --> 00:18:46.690 align:start position:0%
which are basically CLI tools and web
 

00:18:46.690 --> 00:18:50.100 align:start position:0%
which are basically CLI tools and web
applications<00:18:47.500><c> to</c><00:18:47.740><c> manage</c><00:18:48.360><c> easy</c><00:18:49.360><c> more</c><00:18:49.870><c> easily</c>

00:18:50.100 --> 00:18:50.110 align:start position:0%
applications to manage easy more easily
 

00:18:50.110 --> 00:18:55.110 align:start position:0%
applications to manage easy more easily
your<00:18:50.380><c> contracts</c><00:18:52.260><c> so</c><00:18:53.260><c> you</c><00:18:53.320><c> can</c><00:18:53.530><c> know</c><00:18:54.160><c> know</c><00:18:54.940><c> more</c>

00:18:55.110 --> 00:18:55.120 align:start position:0%
your contracts so you can know know more
 

00:18:55.120 --> 00:18:57.000 align:start position:0%
your contracts so you can know know more
about<00:18:55.240><c> this</c><00:18:55.510><c> it's</c><00:18:55.809><c> a</c><00:18:56.020><c> completely</c><00:18:56.470><c> open</c><00:18:56.590><c> source</c>

00:18:57.000 --> 00:18:57.010 align:start position:0%
about this it's a completely open source
 

00:18:57.010 --> 00:18:58.770 align:start position:0%
about this it's a completely open source
project<00:18:57.520><c> we</c><00:18:57.790><c> encourage</c><00:18:58.390><c> everyone</c><00:18:58.660><c> to</c>

00:18:58.770 --> 00:18:58.780 align:start position:0%
project we encourage everyone to
 

00:18:58.780 --> 00:19:01.880 align:start position:0%
project we encourage everyone to
participate<00:18:59.020><c> in</c><00:18:59.679><c> by</c><00:19:00.309><c> giving</c><00:19:00.460><c> ideas</c><00:19:01.210><c> and</c><00:19:01.510><c> cold</c>

00:19:01.880 --> 00:19:01.890 align:start position:0%
participate in by giving ideas and cold
 

00:19:01.890 --> 00:19:04.620 align:start position:0%
participate in by giving ideas and cold
and<00:19:02.890><c> we</c><00:19:03.580><c> can</c><00:19:03.730><c> talk</c><00:19:03.880><c> about</c><00:19:04.000><c> more</c><00:19:04.300><c> about</c><00:19:04.540><c> this</c>

00:19:04.620 --> 00:19:04.630 align:start position:0%
and we can talk about more about this
 

00:19:04.630 --> 00:19:05.070 align:start position:0%
and we can talk about more about this
later

00:19:05.070 --> 00:19:05.080 align:start position:0%
later
 

00:19:05.080 --> 00:19:07.950 align:start position:0%
later
finally<00:19:05.950><c> we're</c><00:19:06.910><c> not</c><00:19:07.059><c> yesterday</c><00:19:07.480><c> we</c><00:19:07.660><c> launched</c>

00:19:07.950 --> 00:19:07.960 align:start position:0%
finally we're not yesterday we launched
 

00:19:07.960 --> 00:19:10.440 align:start position:0%
finally we're not yesterday we launched
solidity<00:19:08.860><c> culturally</c><00:19:09.640><c> flag</c><00:19:09.850><c> contest</c>

00:19:10.440 --> 00:19:10.450 align:start position:0%
solidity culturally flag contest
 

00:19:10.450 --> 00:19:13.740 align:start position:0%
solidity culturally flag contest
we're<00:19:10.660><c> giving</c><00:19:10.900><c> away</c><00:19:11.250><c> 10k</c><00:19:12.250><c> in</c><00:19:12.610><c> prices</c><00:19:13.150><c> it's</c><00:19:13.510><c> a</c>

00:19:13.740 --> 00:19:13.750 align:start position:0%
we're giving away 10k in prices it's a
 

00:19:13.750 --> 00:19:16.320 align:start position:0%
we're giving away 10k in prices it's a
hacking<00:19:14.320><c> contest</c><00:19:14.740><c> like</c><00:19:15.100><c> there's</c><00:19:15.880><c> a</c><00:19:15.940><c> couple</c><00:19:16.210><c> of</c>

00:19:16.320 --> 00:19:16.330 align:start position:0%
hacking contest like there's a couple of
 

00:19:16.330 --> 00:19:18.030 align:start position:0%
hacking contest like there's a couple of
contracts<00:19:16.720><c> you</c><00:19:16.840><c> need</c><00:19:16.960><c> to</c><00:19:17.080><c> hack</c><00:19:17.260><c> to</c><00:19:17.500><c> advance</c>

00:19:18.030 --> 00:19:18.040 align:start position:0%
contracts you need to hack to advance
 

00:19:18.040 --> 00:19:19.560 align:start position:0%
contracts you need to hack to advance
the<00:19:18.220><c> next</c><00:19:18.309><c> level</c><00:19:18.760><c> so</c><00:19:18.940><c> if</c><00:19:19.090><c> you</c><00:19:19.179><c> want</c><00:19:19.330><c> to</c><00:19:19.420><c> check</c>

00:19:19.560 --> 00:19:19.570 align:start position:0%
the next level so if you want to check
 

00:19:19.570 --> 00:19:24.419 align:start position:0%
the next level so if you want to check
it<00:19:19.690><c> out</c><00:19:19.780><c> and</c><00:19:20.710><c> it's</c><00:19:21.220><c> it's</c><00:19:21.760><c> fun</c><00:19:22.860><c> and</c><00:19:23.860><c> that</c><00:19:24.190><c> is</c><00:19:24.280><c> all</c>

00:19:24.419 --> 00:19:24.429 align:start position:0%
it out and it's it's fun and that is all
 

00:19:24.429 --> 00:19:25.820 align:start position:0%
it out and it's it's fun and that is all
thank<00:19:24.790><c> you</c><00:19:24.820><c> very</c><00:19:25.000><c> much</c>

00:19:25.820 --> 00:19:25.830 align:start position:0%
thank you very much
 

00:19:25.830 --> 00:19:32.420 align:start position:0%
thank you very much
[Applause]

00:19:32.420 --> 00:19:32.430 align:start position:0%
[Applause]
 

00:19:32.430 --> 00:19:40.009 align:start position:0%
[Applause]
[Music]

