WEBVTT
Kind: captions
Language: en

00:00:14.379 --> 00:00:18.460 align:start position:0%
 
hi<00:00:15.379><c> everyone</c><00:00:15.679><c> I'm</c><00:00:16.550><c> Martin</c><00:00:16.850><c> BZ</c><00:00:17.180><c> I'm</c><00:00:18.020><c> gonna</c><00:00:18.230><c> talk</c>

00:00:18.460 --> 00:00:18.470 align:start position:0%
hi everyone I'm Martin BZ I'm gonna talk
 

00:00:18.470 --> 00:00:21.310 align:start position:0%
hi everyone I'm Martin BZ I'm gonna talk
about<00:00:18.590><c> methods</c><00:00:19.460><c> for</c><00:00:20.080><c> deterministic</c><00:00:21.080><c> Aliyah</c>

00:00:21.310 --> 00:00:21.320 align:start position:0%
about methods for deterministic Aliyah
 

00:00:21.320 --> 00:00:24.520 align:start position:0%
about methods for deterministic Aliyah
paralyzing<00:00:22.130><c> message</c><00:00:22.460><c> processing</c><00:00:22.940><c> says</c><00:00:23.900><c> hope</c>

00:00:24.520 --> 00:00:24.530 align:start position:0%
paralyzing message processing says hope
 

00:00:24.530 --> 00:00:30.490 align:start position:0%
paralyzing message processing says hope
sounds<00:00:24.950><c> like</c><00:00:25.070><c> a</c><00:00:25.100><c> really</c><00:00:25.340><c> fun</c><00:00:25.490><c> title</c><00:00:27.370><c> so</c><00:00:29.500><c> I'm</c>

00:00:30.490 --> 00:00:30.500 align:start position:0%
sounds like a really fun title so I'm
 

00:00:30.500 --> 00:00:34.020 align:start position:0%
sounds like a really fun title so I'm
really<00:00:30.740><c> going</c><00:00:30.890><c> to</c><00:00:30.920><c> talk</c><00:00:31.039><c> about</c><00:00:31.190><c> Crimea</c><00:00:32.180><c> and</c>

00:00:34.020 --> 00:00:34.030 align:start position:0%
really going to talk about Crimea and
 

00:00:34.030 --> 00:00:39.810 align:start position:0%
really going to talk about Crimea and
Lapera<00:00:35.030><c> mia</c><00:00:35.240><c> is</c><00:00:35.450><c> a</c><00:00:36.040><c> sort</c><00:00:37.040><c> of</c><00:00:37.100><c> a</c><00:00:37.460><c> prototype</c><00:00:38.360><c> of</c>

00:00:39.810 --> 00:00:39.820 align:start position:0%
Lapera mia is a sort of a prototype of
 

00:00:39.820 --> 00:00:43.960 align:start position:0%
Lapera mia is a sort of a prototype of
me<00:00:40.820><c> experimenting</c><00:00:41.570><c> with</c><00:00:42.489><c> this</c><00:00:43.489><c> idea</c><00:00:43.820><c> of</c>

00:00:43.960 --> 00:00:43.970 align:start position:0%
me experimenting with this idea of
 

00:00:43.970 --> 00:00:46.540 align:start position:0%
me experimenting with this idea of
deterministically<00:00:44.840><c> paralyzing</c><00:00:45.739><c> message</c>

00:00:46.540 --> 00:00:46.550 align:start position:0%
deterministically paralyzing message
 

00:00:46.550 --> 00:00:53.230 align:start position:0%
deterministically paralyzing message
processing<00:00:49.480><c> so</c><00:00:50.480><c> an</c><00:00:50.810><c> overview</c><00:00:51.200><c> of</c><00:00:51.260><c> the</c><00:00:51.410><c> talk</c>

00:00:53.230 --> 00:00:53.240 align:start position:0%
processing so an overview of the talk
 

00:00:53.240 --> 00:00:56.460 align:start position:0%
processing so an overview of the talk
[Music]

00:00:56.460 --> 00:00:56.470 align:start position:0%
 
 

00:00:56.470 --> 00:01:00.270 align:start position:0%
 
talked<00:00:57.470><c> about</c><00:00:57.710><c> the</c><00:00:57.890><c> history</c><00:00:58.430><c> of</c><00:00:58.640><c> you</c><00:00:59.540><c> awesome</c>

00:01:00.270 --> 00:01:00.280 align:start position:0%
talked about the history of you awesome
 

00:01:00.280 --> 00:01:04.499 align:start position:0%
talked about the history of you awesome
kernel<00:01:01.280><c> and</c><00:01:01.430><c> premiu</c><00:01:02.410><c> problems</c><00:01:03.410><c> with</c><00:01:03.829><c> current</c>

00:01:04.499 --> 00:01:04.509 align:start position:0%
kernel and premiu problems with current
 

00:01:04.509 --> 00:01:08.469 align:start position:0%
kernel and premiu problems with current
blockchain<00:01:05.509><c> computers</c><00:01:07.210><c> potential</c><00:01:08.210><c> and</c>

00:01:08.469 --> 00:01:08.479 align:start position:0%
blockchain computers potential and
 

00:01:08.479 --> 00:01:15.039 align:start position:0%
blockchain computers potential and
hopefully<00:01:09.260><c> potential</c><00:01:09.710><c> solutions</c><00:01:11.770><c> so</c><00:01:14.049><c> the</c>

00:01:15.039 --> 00:01:15.049 align:start position:0%
hopefully potential solutions so the
 

00:01:15.049 --> 00:01:17.890 align:start position:0%
hopefully potential solutions so the
roots<00:01:15.260><c> of</c><00:01:15.409><c> premium</c><00:01:15.770><c> really</c><00:01:16.040><c> started</c><00:01:16.520><c> in</c><00:01:16.900><c> you</c>

00:01:17.890 --> 00:01:17.900 align:start position:0%
roots of premium really started in you
 

00:01:17.900 --> 00:01:21.520 align:start position:0%
roots of premium really started in you
awesome<00:01:18.229><c> days</c><00:01:19.000><c> and</c><00:01:20.000><c> it</c><00:01:20.390><c> builds</c><00:01:20.600><c> extensively</c>

00:01:21.520 --> 00:01:21.530 align:start position:0%
awesome days and it builds extensively
 

00:01:21.530 --> 00:01:27.030 align:start position:0%
awesome days and it builds extensively
off<00:01:21.979><c> the</c><00:01:22.520><c> ideas</c><00:01:22.880><c> used</c><00:01:23.390><c> in</c><00:01:23.900><c> you</c><00:01:24.500><c> awesome</c>

00:01:27.030 --> 00:01:27.040 align:start position:0%
 
 

00:01:27.040 --> 00:01:31.270 align:start position:0%
 
so<00:01:28.040><c> if</c><00:01:28.970><c> you're</c><00:01:29.479><c> familiar</c><00:01:29.630><c> with</c><00:01:29.960><c> you</c><00:01:30.950><c> awesome</c>

00:01:31.270 --> 00:01:31.280 align:start position:0%
so if you're familiar with you awesome
 

00:01:31.280 --> 00:01:34.570 align:start position:0%
so if you're familiar with you awesome
the<00:01:31.430><c> idea</c><00:01:31.820><c> was</c><00:01:32.090><c> to</c><00:01:32.119><c> adopt</c><00:01:33.049><c> the</c><00:01:33.770><c> web</c><00:01:34.010><c> assembly</c>

00:01:34.570 --> 00:01:34.580 align:start position:0%
the idea was to adopt the web assembly
 

00:01:34.580 --> 00:01:37.660 align:start position:0%
the idea was to adopt the web assembly
instruction<00:01:35.210><c> set</c><00:01:35.540><c> for</c><00:01:36.110><c> usage</c><00:01:36.920><c> in</c><00:01:36.979><c> the</c>

00:01:37.660 --> 00:01:37.670 align:start position:0%
instruction set for usage in the
 

00:01:37.670 --> 00:01:41.770 align:start position:0%
instruction set for usage in the
etherion<00:01:38.180><c> blockchain</c><00:01:40.180><c> another</c><00:01:41.180><c> important</c>

00:01:41.770 --> 00:01:41.780 align:start position:0%
etherion blockchain another important
 

00:01:41.780 --> 00:01:45.429 align:start position:0%
etherion blockchain another important
part<00:01:42.080><c> of</c><00:01:42.229><c> this</c><00:01:42.439><c> was</c><00:01:43.340><c> to</c><00:01:43.850><c> add</c><00:01:44.270><c> metering</c><00:01:44.869><c> to</c><00:01:45.259><c> web</c>

00:01:45.429 --> 00:01:45.439 align:start position:0%
part of this was to add metering to web
 

00:01:45.439 --> 00:01:52.660 align:start position:0%
part of this was to add metering to web
assembly<00:01:49.720><c> to</c><00:01:50.720><c> run</c><00:01:51.070><c> this</c><00:01:52.070><c> modified</c>

00:01:52.660 --> 00:01:52.670 align:start position:0%
assembly to run this modified
 

00:01:52.670 --> 00:01:58.270 align:start position:0%
assembly to run this modified
webassembly<00:01:53.299><c> binary</c><00:01:54.130><c> we</c><00:01:55.130><c> created</c><00:01:57.280><c> something</c>

00:01:58.270 --> 00:01:58.280 align:start position:0%
webassembly binary we created something
 

00:01:58.280 --> 00:02:01.149 align:start position:0%
webassembly binary we created something
called<00:01:58.400><c> awasum</c><00:01:59.000><c> kernel</c><00:01:59.360><c> which</c><00:02:00.200><c> just</c><00:02:00.560><c> provided</c>

00:02:01.149 --> 00:02:01.159 align:start position:0%
called awasum kernel which just provided
 

00:02:01.159 --> 00:02:03.520 align:start position:0%
called awasum kernel which just provided
the<00:02:01.400><c> methods</c><00:02:02.360><c> to</c><00:02:02.630><c> link</c><00:02:02.930><c> the</c><00:02:03.110><c> ethereum</c>

00:02:03.520 --> 00:02:03.530 align:start position:0%
the methods to link the ethereum
 

00:02:03.530 --> 00:02:10.130 align:start position:0%
the methods to link the ethereum
blockchain<00:02:03.700><c> to</c><00:02:04.700><c> the</c><00:02:04.850><c> web</c><00:02:05.299><c> assembly</c><00:02:05.750><c> binary</c>

00:02:10.130 --> 00:02:10.140 align:start position:0%
 
 

00:02:10.140 --> 00:02:12.380 align:start position:0%
 
and<00:02:10.350><c> shortly</c><00:02:10.619><c> after</c><00:02:10.740><c> that</c><00:02:11.220><c> I</c><00:02:11.250><c> used</c><00:02:11.790><c> the</c>

00:02:12.380 --> 00:02:12.390 align:start position:0%
and shortly after that I used the
 

00:02:12.390 --> 00:02:14.150 align:start position:0%
and shortly after that I used the
awesome<00:02:12.810><c> kernel</c><00:02:13.170><c> to</c><00:02:13.320><c> prototype</c><00:02:13.830><c> something</c>

00:02:14.150 --> 00:02:14.160 align:start position:0%
awesome kernel to prototype something
 

00:02:14.160 --> 00:02:16.310 align:start position:0%
awesome kernel to prototype something
called<00:02:14.490><c> nested</c><00:02:14.820><c> contracts</c><00:02:15.420><c> which</c><00:02:15.960><c> I'll</c><00:02:16.140><c> talk</c>

00:02:16.310 --> 00:02:16.320 align:start position:0%
called nested contracts which I'll talk
 

00:02:16.320 --> 00:02:21.380 align:start position:0%
called nested contracts which I'll talk
about<00:02:16.380><c> in</c><00:02:16.650><c> a</c><00:02:16.800><c> bit</c><00:02:18.680><c> um</c><00:02:19.680><c> after</c><00:02:20.190><c> that</c><00:02:20.460><c> it</c><00:02:21.120><c> was</c><00:02:21.240><c> sort</c>

00:02:21.380 --> 00:02:21.390 align:start position:0%
about in a bit um after that it was sort
 

00:02:21.390 --> 00:02:24.850 align:start position:0%
about in a bit um after that it was sort
of<00:02:21.480><c> a</c><00:02:21.600><c> branching</c><00:02:21.990><c> point</c><00:02:22.290><c> so</c><00:02:23.280><c> webassembly</c>

00:02:24.850 --> 00:02:24.860 align:start position:0%
of a branching point so webassembly
 

00:02:24.860 --> 00:02:28.820 align:start position:0%
of a branching point so webassembly
solved<00:02:25.860><c> several</c><00:02:26.070><c> problems</c><00:02:27.140><c> it</c><00:02:28.140><c> was</c><00:02:28.560><c> more</c>

00:02:28.820 --> 00:02:28.830 align:start position:0%
solved several problems it was more
 

00:02:28.830 --> 00:02:33.650 align:start position:0%
solved several problems it was more
performant<00:02:29.670><c> than</c><00:02:30.360><c> EVM</c><00:02:30.720><c> and</c><00:02:32.180><c> more</c><00:02:33.180><c> expensive</c>

00:02:33.650 --> 00:02:33.660 align:start position:0%
performant than EVM and more expensive
 

00:02:33.660 --> 00:02:36.710 align:start position:0%
performant than EVM and more expensive
and<00:02:33.990><c> had</c><00:02:34.140><c> a</c><00:02:34.170><c> larger</c><00:02:34.620><c> ecosystem</c><00:02:34.950><c> you</c><00:02:35.790><c> compile</c><00:02:36.390><c> C</c>

00:02:36.710 --> 00:02:36.720 align:start position:0%
and had a larger ecosystem you compile C
 

00:02:36.720 --> 00:02:41.540 align:start position:0%
and had a larger ecosystem you compile C
or<00:02:36.900><c> C++</c><00:02:37.110><c> or</c><00:02:37.920><c> any</c><00:02:38.360><c> LLVM</c><00:02:40.100><c> compatible</c><00:02:41.100><c> language</c>

00:02:41.540 --> 00:02:41.550 align:start position:0%
or C++ or any LLVM compatible language
 

00:02:41.550 --> 00:02:49.420 align:start position:0%
or C++ or any LLVM compatible language
to<00:02:42.120><c> web</c><00:02:42.330><c> assembly</c><00:02:45.920><c> but</c><00:02:47.270><c> thinking</c><00:02:48.270><c> about</c>

00:02:49.420 --> 00:02:49.430 align:start position:0%
to web assembly but thinking about
 

00:02:49.430 --> 00:02:51.979 align:start position:0%
to web assembly but thinking about
starting<00:02:50.430><c> from</c><00:02:50.610><c> the</c><00:02:50.730><c> virtual</c><00:02:50.850><c> machine</c><00:02:51.660><c> layer</c>

00:02:51.979 --> 00:02:51.989 align:start position:0%
starting from the virtual machine layer
 

00:02:51.989 --> 00:02:55.070 align:start position:0%
starting from the virtual machine layer
and<00:02:52.380><c> going</c><00:02:52.650><c> up</c><00:02:52.860><c> the</c><00:02:53.790><c> next</c><00:02:54.120><c> performance</c>

00:02:55.070 --> 00:02:55.080 align:start position:0%
and going up the next performance
 

00:02:55.080 --> 00:02:58.720 align:start position:0%
and going up the next performance
bottleneck<00:02:55.709><c> was</c><00:02:56.520><c> in</c><00:02:56.989><c> parallelization</c>

00:02:58.720 --> 00:02:58.730 align:start position:0%
bottleneck was in parallelization
 

00:02:58.730 --> 00:03:00.680 align:start position:0%
bottleneck was in parallelization
currently<00:02:59.730><c> the</c><00:02:59.970><c> way</c><00:03:00.090><c> things</c><00:03:00.330><c> are</c><00:03:00.480><c> structured</c>

00:03:00.680 --> 00:03:00.690 align:start position:0%
currently the way things are structured
 

00:03:00.690 --> 00:03:04.280 align:start position:0%
currently the way things are structured
in<00:03:01.080><c> etherium</c><00:03:01.530><c> we</c><00:03:02.010><c> can't</c><00:03:02.280><c> run</c><00:03:02.989><c> transactions</c><00:03:03.989><c> or</c>

00:03:04.280 --> 00:03:04.290 align:start position:0%
in etherium we can't run transactions or
 

00:03:04.290 --> 00:03:16.300 align:start position:0%
in etherium we can't run transactions or
messages<00:03:04.980><c> in</c><00:03:05.720><c> concurrently</c><00:03:09.020><c> so</c><00:03:11.570><c> Premera</c><00:03:12.799><c> was</c>

00:03:16.300 --> 00:03:16.310 align:start position:0%
 
 

00:03:16.310 --> 00:03:20.720 align:start position:0%
 
focusing<00:03:17.310><c> on</c><00:03:19.100><c> prototyping</c><00:03:20.100><c> ideas</c><00:03:20.549><c> with</c>

00:03:20.720 --> 00:03:20.730 align:start position:0%
focusing on prototyping ideas with
 

00:03:20.730 --> 00:03:27.710 align:start position:0%
focusing on prototyping ideas with
concurrency<00:03:21.650><c> and</c><00:03:24.290><c> it</c><00:03:26.120><c> moved</c><00:03:27.120><c> towards</c><00:03:27.390><c> using</c>

00:03:27.710 --> 00:03:27.720 align:start position:0%
concurrency and it moved towards using
 

00:03:27.720 --> 00:03:29.390 align:start position:0%
concurrency and it moved towards using
the<00:03:28.019><c> actor</c><00:03:28.440><c> model</c><00:03:28.650><c> which</c><00:03:29.010><c> I'll</c><00:03:29.190><c> talk</c><00:03:29.340><c> about</c>

00:03:29.390 --> 00:03:29.400 align:start position:0%
the actor model which I'll talk about
 

00:03:29.400 --> 00:03:34.009 align:start position:0%
the actor model which I'll talk about
more<00:03:29.640><c> a</c><00:03:30.090><c> bit</c><00:03:31.220><c> so</c><00:03:32.220><c> a</c><00:03:32.250><c> brief</c><00:03:32.489><c> overview</c><00:03:33.090><c> of</c><00:03:33.450><c> what</c>

00:03:34.009 --> 00:03:34.019 align:start position:0%
more a bit so a brief overview of what
 

00:03:34.019 --> 00:03:38.449 align:start position:0%
more a bit so a brief overview of what
premia<00:03:34.650><c> is</c><00:03:35.989><c> it</c><00:03:36.989><c> provides</c><00:03:37.410><c> inter</c><00:03:38.160><c> process</c>

00:03:38.449 --> 00:03:38.459 align:start position:0%
premia is it provides inter process
 

00:03:38.459 --> 00:03:43.220 align:start position:0%
premia is it provides inter process
communication<00:03:39.079><c> for</c><00:03:40.079><c> contracts</c><00:03:41.600><c> it</c><00:03:42.600><c> has</c><00:03:42.840><c> a</c>

00:03:43.220 --> 00:03:43.230 align:start position:0%
communication for contracts it has a
 

00:03:43.230 --> 00:03:45.890 align:start position:0%
communication for contracts it has a
microkernel<00:03:43.920><c> like</c><00:03:44.400><c> design</c><00:03:44.760><c> I</c><00:03:45.060><c> use</c><00:03:45.570><c> that</c><00:03:45.750><c> term</c>

00:03:45.890 --> 00:03:45.900 align:start position:0%
microkernel like design I use that term
 

00:03:45.900 --> 00:03:50.870 align:start position:0%
microkernel like design I use that term
very<00:03:46.079><c> loosely</c><00:03:46.320><c> though</c><00:03:47.989><c> it's</c><00:03:48.989><c> concurrent</c><00:03:49.880><c> it's</c>

00:03:50.870 --> 00:03:50.880 align:start position:0%
very loosely though it's concurrent it's
 

00:03:50.880 --> 00:03:54.770 align:start position:0%
very loosely though it's concurrent it's
deterministic<00:03:52.730><c> there's</c><00:03:53.730><c> a</c><00:03:53.970><c> JavaScript</c>

00:03:54.770 --> 00:03:54.780 align:start position:0%
deterministic there's a JavaScript
 

00:03:54.780 --> 00:03:59.810 align:start position:0%
deterministic there's a JavaScript
prototype<00:03:55.739><c> on</c><00:03:56.360><c> github</c><00:03:57.950><c> and</c><00:03:58.950><c> currently</c><00:03:59.549><c> it's</c>

00:03:59.810 --> 00:03:59.820 align:start position:0%
prototype on github and currently it's
 

00:03:59.820 --> 00:04:01.640 align:start position:0%
prototype on github and currently it's
being<00:04:00.150><c> developed</c><00:04:00.690><c> in</c><00:04:01.079><c> conjunction</c><00:04:01.230><c> with</c>

00:04:01.640 --> 00:04:01.650 align:start position:0%
being developed in conjunction with
 

00:04:01.650 --> 00:04:04.490 align:start position:0%
being developed in conjunction with
Definity<00:04:02.370><c> and</c><00:04:02.549><c> hopefully</c><00:04:03.420><c> will</c><00:04:03.600><c> be</c><00:04:03.780><c> useful</c><00:04:04.290><c> in</c>

00:04:04.490 --> 00:04:04.500 align:start position:0%
Definity and hopefully will be useful in
 

00:04:04.500 --> 00:04:10.840 align:start position:0%
Definity and hopefully will be useful in
aetherium<00:04:05.690><c> once</c><00:04:06.690><c> we</c><00:04:06.840><c> have</c><00:04:07.049><c> sharding</c><00:04:08.269><c> so</c>

00:04:10.840 --> 00:04:10.850 align:start position:0%
aetherium once we have sharding so
 

00:04:10.850 --> 00:04:14.060 align:start position:0%
aetherium once we have sharding so
Crimea<00:04:11.850><c> you</c><00:04:12.570><c> can</c><00:04:12.750><c> think</c><00:04:12.959><c> of</c><00:04:13.079><c> it</c><00:04:13.230><c> as</c><00:04:13.380><c> the</c><00:04:13.769><c> layer</c>

00:04:14.060 --> 00:04:14.070 align:start position:0%
Crimea you can think of it as the layer
 

00:04:14.070 --> 00:04:17.330 align:start position:0%
Crimea you can think of it as the layer
that<00:04:14.910><c> sits</c><00:04:15.269><c> above</c><00:04:16.019><c> the</c><00:04:16.350><c> virtual</c><00:04:16.950><c> machine</c>

00:04:17.330 --> 00:04:17.340 align:start position:0%
that sits above the virtual machine
 

00:04:17.340 --> 00:04:20.860 align:start position:0%
that sits above the virtual machine
instruction<00:04:18.239><c> set</c><00:04:18.500><c> but</c><00:04:19.500><c> below</c><00:04:20.039><c> consensus</c>

00:04:20.860 --> 00:04:20.870 align:start position:0%
instruction set but below consensus
 

00:04:20.870 --> 00:04:26.860 align:start position:0%
instruction set but below consensus
and<00:04:21.199><c> it's</c><00:04:21.980><c> totally</c><00:04:22.460><c> decoupled</c><00:04:22.850><c> from</c><00:04:23.300><c> both</c><00:04:25.870><c> it</c>

00:04:26.860 --> 00:04:26.870 align:start position:0%
and it's totally decoupled from both it
 

00:04:26.870 --> 00:04:28.960 align:start position:0%
and it's totally decoupled from both it
can<00:04:26.930><c> support</c><00:04:27.410><c> heavier</c><00:04:27.770><c> genius</c><00:04:28.280><c> instruction</c>

00:04:28.960 --> 00:04:28.970 align:start position:0%
can support heavier genius instruction
 

00:04:28.970 --> 00:04:32.320 align:start position:0%
can support heavier genius instruction
sets<00:04:29.180><c> too</c><00:04:29.510><c> so</c><00:04:30.229><c> in</c><00:04:30.350><c> other</c><00:04:30.470><c> words</c><00:04:30.919><c> it's</c><00:04:31.790><c> totally</c>

00:04:32.320 --> 00:04:32.330 align:start position:0%
sets too so in other words it's totally
 

00:04:32.330 --> 00:04:33.760 align:start position:0%
sets too so in other words it's totally
agnostic<00:04:32.600><c> to</c><00:04:32.870><c> in</c><00:04:33.020><c> the</c><00:04:33.110><c> structure</c><00:04:33.440><c> side</c><00:04:33.590><c> you</c>

00:04:33.760 --> 00:04:33.770 align:start position:0%
agnostic to in the structure side you
 

00:04:33.770 --> 00:04:35.469 align:start position:0%
agnostic to in the structure side you
can<00:04:33.889><c> even</c><00:04:34.040><c> mix</c><00:04:34.340><c> and</c><00:04:34.460><c> match</c><00:04:34.669><c> instruction</c><00:04:35.210><c> sets</c>

00:04:35.469 --> 00:04:35.479 align:start position:0%
can even mix and match instruction sets
 

00:04:35.479 --> 00:04:37.409 align:start position:0%
can even mix and match instruction sets
if<00:04:35.630><c> you</c><00:04:35.750><c> like</c><00:04:35.930><c> you'd</c><00:04:36.470><c> run</c><00:04:36.650><c> the</c><00:04:36.680><c> web</c><00:04:36.889><c> assembly</c>

00:04:37.409 --> 00:04:37.419 align:start position:0%
if you like you'd run the web assembly
 

00:04:37.419 --> 00:04:41.830 align:start position:0%
if you like you'd run the web assembly
JavaScript<00:04:38.419><c> or</c><00:04:39.370><c> x86</c><00:04:40.370><c> an</c><00:04:40.940><c> ideal</c><00:04:41.270><c> EEPROM</c><00:04:41.720><c> you</c>

00:04:41.830 --> 00:04:41.840 align:start position:0%
JavaScript or x86 an ideal EEPROM you
 

00:04:41.840 --> 00:04:43.120 align:start position:0%
JavaScript or x86 an ideal EEPROM you
could<00:04:42.080><c> provide</c><00:04:42.380><c> inter</c><00:04:42.919><c> process</c>

00:04:43.120 --> 00:04:43.130 align:start position:0%
could provide inter process
 

00:04:43.130 --> 00:04:47.890 align:start position:0%
could provide inter process
communication<00:04:45.040><c> across</c><00:04:46.040><c> those</c><00:04:46.900><c> heterogeneous</c>

00:04:47.890 --> 00:04:47.900 align:start position:0%
communication across those heterogeneous
 

00:04:47.900 --> 00:04:54.060 align:start position:0%
communication across those heterogeneous
instruction<00:04:48.680><c> sets</c><00:04:51.130><c> so</c><00:04:52.130><c> watching</c><00:04:52.790><c> computers</c>

00:04:54.060 --> 00:04:54.070 align:start position:0%
instruction sets so watching computers
 

00:04:54.070 --> 00:04:57.909 align:start position:0%
instruction sets so watching computers
according<00:04:55.070><c> to</c><00:04:55.370><c> Google</c><00:04:56.000><c> Images</c><00:04:56.210><c> search</c><00:04:56.919><c> this</c>

00:04:57.909 --> 00:04:57.919 align:start position:0%
according to Google Images search this
 

00:04:57.919 --> 00:05:00.450 align:start position:0%
according to Google Images search this
is<00:04:58.070><c> what</c><00:04:58.220><c> a</c><00:04:58.250><c> blockchain</c><00:04:58.520><c> computer</c><00:04:59.210><c> looks</c><00:04:59.450><c> like</c>

00:05:00.450 --> 00:05:00.460 align:start position:0%
is what a blockchain computer looks like
 

00:05:00.460 --> 00:05:04.180 align:start position:0%
is what a blockchain computer looks like
it's<00:05:01.460><c> like</c><00:05:01.639><c> a</c><00:05:01.700><c> star</c><00:05:02.479><c> going</c><00:05:02.720><c> supernova</c><00:05:03.190><c> with</c>

00:05:04.180 --> 00:05:04.190 align:start position:0%
it's like a star going supernova with
 

00:05:04.190 --> 00:05:07.379 align:start position:0%
it's like a star going supernova with
like<00:05:04.370><c> quantum</c><00:05:04.790><c> entanglement</c><00:05:05.389><c> or</c><00:05:05.510><c> something</c>

00:05:07.379 --> 00:05:07.389 align:start position:0%
like quantum entanglement or something
 

00:05:07.389 --> 00:05:09.790 align:start position:0%
like quantum entanglement or something
but<00:05:08.389><c> you</c><00:05:08.479><c> could</c><00:05:08.600><c> also</c><00:05:08.720><c> make</c><00:05:09.290><c> argument</c><00:05:09.740><c> a</c>

00:05:09.790 --> 00:05:09.800 align:start position:0%
but you could also make argument a
 

00:05:09.800 --> 00:05:11.200 align:start position:0%
but you could also make argument a
blockchain<00:05:10.010><c> computer</c><00:05:10.580><c> currently</c><00:05:10.940><c> looks</c><00:05:11.150><c> like</c>

00:05:11.200 --> 00:05:11.210 align:start position:0%
blockchain computer currently looks like
 

00:05:11.210 --> 00:05:15.580 align:start position:0%
blockchain computer currently looks like
this<00:05:11.510><c> a</c><00:05:11.720><c> fairly</c><00:05:12.080><c> early</c><00:05:12.710><c> computer</c><00:05:13.460><c> or</c><00:05:14.080><c> maybe</c><00:05:15.080><c> an</c>

00:05:15.580 --> 00:05:15.590 align:start position:0%
this a fairly early computer or maybe an
 

00:05:15.590 --> 00:05:19.719 align:start position:0%
this a fairly early computer or maybe an
ID<00:05:15.800><c> cellphone</c><00:05:16.460><c> a</c><00:05:17.710><c> few</c><00:05:18.710><c> a</c><00:05:18.740><c> few</c><00:05:18.919><c> problems</c><00:05:19.550><c> that</c>

00:05:19.719 --> 00:05:19.729 align:start position:0%
ID cellphone a few a few problems that
 

00:05:19.729 --> 00:05:24.129 align:start position:0%
ID cellphone a few a few problems that
we<00:05:20.000><c> have</c><00:05:20.210><c> right</c><00:05:20.419><c> now</c><00:05:20.449><c> are</c><00:05:21.130><c> it's</c><00:05:22.130><c> not</c><00:05:23.139><c> very</c>

00:05:24.129 --> 00:05:24.139 align:start position:0%
we have right now are it's not very
 

00:05:24.139 --> 00:05:30.370 align:start position:0%
we have right now are it's not very
performant<00:05:25.210><c> compared</c><00:05:26.210><c> to</c><00:05:26.479><c> like</c><00:05:26.930><c> a</c><00:05:27.169><c> server</c><00:05:29.380><c> we</c>

00:05:30.370 --> 00:05:30.380 align:start position:0%
performant compared to like a server we
 

00:05:30.380 --> 00:05:32.560 align:start position:0%
performant compared to like a server we
haven't<00:05:30.710><c> really</c><00:05:31.070><c> accomplished</c><00:05:31.760><c> scalability</c>

00:05:32.560 --> 00:05:32.570 align:start position:0%
haven't really accomplished scalability
 

00:05:32.570 --> 00:05:38.440 align:start position:0%
haven't really accomplished scalability
yet<00:05:34.539><c> the</c><00:05:35.539><c> design</c><00:05:35.930><c> is</c><00:05:36.110><c> still</c><00:05:36.320><c> fairly</c><00:05:37.010><c> ad</c><00:05:37.310><c> hoc</c><00:05:37.669><c> it</c>

00:05:38.440 --> 00:05:38.450 align:start position:0%
yet the design is still fairly ad hoc it
 

00:05:38.450 --> 00:05:42.550 align:start position:0%
yet the design is still fairly ad hoc it
doesn't<00:05:39.430><c> borrow</c><00:05:40.430><c> much</c><00:05:40.729><c> from</c><00:05:41.410><c> what</c><00:05:42.410><c> was</c>

00:05:42.550 --> 00:05:42.560 align:start position:0%
doesn't borrow much from what was
 

00:05:42.560 --> 00:05:44.170 align:start position:0%
doesn't borrow much from what was
learned<00:05:42.800><c> from</c><00:05:43.039><c> previous</c><00:05:43.250><c> designs</c><00:05:43.910><c> of</c>

00:05:44.170 --> 00:05:44.180 align:start position:0%
learned from previous designs of
 

00:05:44.180 --> 00:05:48.040 align:start position:0%
learned from previous designs of
operating<00:05:44.660><c> systems</c><00:05:45.139><c> for</c><00:05:45.500><c> example</c><00:05:46.930><c> it's</c><00:05:47.930><c> hard</c>

00:05:48.040 --> 00:05:48.050 align:start position:0%
operating systems for example it's hard
 

00:05:48.050 --> 00:05:52.659 align:start position:0%
operating systems for example it's hard
to<00:05:48.349><c> extend</c><00:05:48.979><c> and</c><00:05:50.770><c> because</c><00:05:51.770><c> I</c><00:05:51.800><c> believe</c><00:05:51.979><c> it's</c>

00:05:52.659 --> 00:05:52.669 align:start position:0%
to extend and because I believe it's
 

00:05:52.669 --> 00:05:55.420 align:start position:0%
to extend and because I believe it's
also<00:05:52.910><c> hard</c><00:05:53.300><c> to</c><00:05:53.380><c> interpolate</c><00:05:54.380><c> with</c><00:05:55.130><c> existing</c>

00:05:55.420 --> 00:05:55.430 align:start position:0%
also hard to interpolate with existing
 

00:05:55.430 --> 00:05:58.930 align:start position:0%
also hard to interpolate with existing
systems<00:05:55.930><c> so</c><00:05:56.930><c> F</c><00:05:57.169><c> have</c><00:05:57.349><c> our</c><00:05:57.470><c> program</c><00:05:57.860><c> running</c><00:05:58.760><c> on</c>

00:05:58.930 --> 00:05:58.940 align:start position:0%
systems so F have our program running on
 

00:05:58.940 --> 00:06:01.000 align:start position:0%
systems so F have our program running on
a<00:05:58.970><c> server</c><00:05:59.270><c> it's</c><00:05:59.840><c> fairly</c><00:06:00.229><c> hard</c><00:06:00.560><c> just</c><00:06:00.710><c> to</c><00:06:00.860><c> move</c>

00:06:01.000 --> 00:06:01.010 align:start position:0%
a server it's fairly hard just to move
 

00:06:01.010 --> 00:06:03.279 align:start position:0%
a server it's fairly hard just to move
that<00:06:01.220><c> program</c><00:06:01.610><c> to</c><00:06:01.940><c> running</c><00:06:02.900><c> on</c><00:06:02.990><c> a</c><00:06:03.020><c> blockchain</c>

00:06:03.279 --> 00:06:03.289 align:start position:0%
that program to running on a blockchain
 

00:06:03.289 --> 00:06:09.180 align:start position:0%
that program to running on a blockchain
computer<00:06:03.919><c> you</c><00:06:04.580><c> have</c><00:06:04.700><c> to</c><00:06:04.849><c> rewrite</c><00:06:05.150><c> it</c><00:06:07.990><c> so</c>

00:06:09.180 --> 00:06:09.190 align:start position:0%
computer you have to rewrite it so
 

00:06:09.190 --> 00:06:11.800 align:start position:0%
computer you have to rewrite it so
scalability<00:06:10.190><c> so</c><00:06:11.030><c> the</c><00:06:11.090><c> skill</c><00:06:11.300><c> would</c><00:06:11.419><c> be</c><00:06:11.510><c> de</c><00:06:11.630><c> lui</c>

00:06:11.800 --> 00:06:11.810 align:start position:0%
scalability so the skill would be de lui
 

00:06:11.810 --> 00:06:14.320 align:start position:0%
scalability so the skill would be de lui
D<00:06:12.139><c> is</c><00:06:12.349><c> like</c><00:06:12.620><c> really</c><00:06:13.039><c> hard</c><00:06:13.220><c> to</c><00:06:13.370><c> subject</c><00:06:13.789><c> and</c><00:06:14.120><c> I</c>

00:06:14.320 --> 00:06:14.330 align:start position:0%
D is like really hard to subject and I
 

00:06:14.330 --> 00:06:19.029 align:start position:0%
D is like really hard to subject and I
don't<00:06:14.389><c> have</c><00:06:14.690><c> any</c><00:06:14.840><c> solutions</c><00:06:16.630><c> but</c><00:06:17.800><c> what</c><00:06:18.800><c> I</c><00:06:18.830><c> want</c>

00:06:19.029 --> 00:06:19.039 align:start position:0%
don't have any solutions but what I want
 

00:06:19.039 --> 00:06:22.750 align:start position:0%
don't have any solutions but what I want
to<00:06:19.099><c> try</c><00:06:19.250><c> to</c><00:06:19.310><c> accomplish</c><00:06:19.610><c> is</c><00:06:20.030><c> to</c><00:06:21.430><c> observe</c><00:06:22.430><c> some</c>

00:06:22.750 --> 00:06:22.760 align:start position:0%
to try to accomplish is to observe some
 

00:06:22.760 --> 00:06:25.750 align:start position:0%
to try to accomplish is to observe some
properties<00:06:23.479><c> the</c><00:06:23.870><c> scalability</c><00:06:24.770><c> might</c><00:06:25.400><c> have</c>

00:06:25.750 --> 00:06:25.760 align:start position:0%
properties the scalability might have
 

00:06:25.760 --> 00:06:31.370 align:start position:0%
properties the scalability might have
and<00:06:26.349><c> how</c><00:06:27.349><c> to</c><00:06:28.340><c> express</c><00:06:28.610><c> these</c><00:06:28.820><c> properties</c><00:06:29.510><c> in</c>

00:06:31.370 --> 00:06:31.380 align:start position:0%
and how to express these properties in
 

00:06:31.380 --> 00:06:35.900 align:start position:0%
and how to express these properties in
inter-process<00:06:32.250><c> communication</c><00:06:34.100><c> so</c><00:06:35.100><c> I</c><00:06:35.400><c> think</c><00:06:35.760><c> a</c>

00:06:35.900 --> 00:06:35.910 align:start position:0%
inter-process communication so I think a
 

00:06:35.910 --> 00:06:37.730 align:start position:0%
inter-process communication so I think a
fundamental<00:06:36.180><c> property</c><00:06:36.810><c> will</c><00:06:37.380><c> see</c><00:06:37.650><c> in</c>

00:06:37.730 --> 00:06:37.740 align:start position:0%
fundamental property will see in
 

00:06:37.740 --> 00:06:43.930 align:start position:0%
fundamental property will see in
scalability<00:06:38.550><c> is</c><00:06:38.760><c> a</c><00:06:39.120><c> need</c><00:06:39.540><c> to</c><00:06:39.570><c> impose</c><00:06:40.160><c> locality</c>

00:06:43.930 --> 00:06:43.940 align:start position:0%
 
 

00:06:43.940 --> 00:06:47.600 align:start position:0%
 
so<00:06:44.940><c> what</c><00:06:45.120><c> do</c><00:06:45.210><c> I</c><00:06:45.300><c> mean</c><00:06:45.330><c> by</c><00:06:45.510><c> locality</c><00:06:46.020><c> in</c><00:06:46.680><c> the</c>

00:06:47.600 --> 00:06:47.610 align:start position:0%
so what do I mean by locality in the
 

00:06:47.610 --> 00:06:51.250 align:start position:0%
so what do I mean by locality in the
physical<00:06:48.180><c> world</c><00:06:48.240><c> if</c><00:06:49.110><c> we</c><00:06:49.590><c> have</c><00:06:49.770><c> two</c><00:06:50.070><c> objects</c>

00:06:51.250 --> 00:06:51.260 align:start position:0%
physical world if we have two objects
 

00:06:51.260 --> 00:06:54.140 align:start position:0%
physical world if we have two objects
separated<00:06:52.260><c> by</c><00:06:52.410><c> some</c><00:06:52.680><c> distance</c><00:06:53.030><c> that</c><00:06:54.030><c> are</c>

00:06:54.140 --> 00:06:54.150 align:start position:0%
separated by some distance that are
 

00:06:54.150 --> 00:06:58.250 align:start position:0%
separated by some distance that are
communicating<00:06:55.190><c> locality</c><00:06:56.190><c> is</c><00:06:56.370><c> sensed</c><00:06:56.970><c> by</c><00:06:57.260><c> the</c>

00:06:58.250 --> 00:06:58.260 align:start position:0%
communicating locality is sensed by the
 

00:06:58.260 --> 00:07:01.010 align:start position:0%
communicating locality is sensed by the
time<00:06:59.000><c> communication</c><00:07:00.000><c> takes</c><00:07:00.360><c> to</c><00:07:00.600><c> happen</c>

00:07:01.010 --> 00:07:01.020 align:start position:0%
time communication takes to happen
 

00:07:01.020 --> 00:07:06.110 align:start position:0%
time communication takes to happen
between<00:07:02.010><c> those</c><00:07:02.370><c> objects</c><00:07:02.820><c> and</c><00:07:03.260><c> the</c><00:07:04.260><c> time</c><00:07:05.120><c> it</c>

00:07:06.110 --> 00:07:06.120 align:start position:0%
between those objects and the time it
 

00:07:06.120 --> 00:07:10.700 align:start position:0%
between those objects and the time it
takes<00:07:06.480><c> is</c><00:07:06.840><c> going</c><00:07:07.700><c> to</c><00:07:08.700><c> be</c><00:07:09.080><c> how</c><00:07:10.080><c> far</c><00:07:10.290><c> our</c><00:07:10.440><c> part</c>

00:07:10.700 --> 00:07:10.710 align:start position:0%
takes is going to be how far our part
 

00:07:10.710 --> 00:07:14.750 align:start position:0%
takes is going to be how far our part
they<00:07:10.890><c> are</c><00:07:10.920><c> times</c><00:07:11.540><c> the</c><00:07:12.540><c> speed</c><00:07:13.260><c> at</c><00:07:13.830><c> which</c><00:07:14.130><c> the</c>

00:07:14.750 --> 00:07:14.760 align:start position:0%
they are times the speed at which the
 

00:07:14.760 --> 00:07:17.900 align:start position:0%
they are times the speed at which the
communication<00:07:15.120><c> happens</c><00:07:16.370><c> speed</c><00:07:17.370><c> here</c><00:07:17.700><c> is</c>

00:07:17.900 --> 00:07:17.910 align:start position:0%
communication happens speed here is
 

00:07:17.910 --> 00:07:22.100 align:start position:0%
communication happens speed here is
kinetic<00:07:18.480><c> energy</c><00:07:19.220><c> essentially</c><00:07:20.220><c> the</c><00:07:20.580><c> mass</c><00:07:21.110><c> of</c>

00:07:22.100 --> 00:07:22.110 align:start position:0%
kinetic energy essentially the mass of
 

00:07:22.110 --> 00:07:29.120 align:start position:0%
kinetic energy essentially the mass of
the<00:07:22.380><c> object</c><00:07:23.190><c> times</c><00:07:23.520><c> the</c><00:07:24.240><c> force</c><00:07:27.530><c> that</c><00:07:28.530><c> was</c><00:07:28.710><c> used</c>

00:07:29.120 --> 00:07:29.130 align:start position:0%
the object times the force that was used
 

00:07:29.130 --> 00:07:33.730 align:start position:0%
the object times the force that was used
to<00:07:29.250><c> push</c><00:07:29.490><c> it</c><00:07:29.870><c> so</c><00:07:31.220><c> in</c><00:07:32.220><c> the</c><00:07:33.060><c> world</c><00:07:33.300><c> of</c>

00:07:33.730 --> 00:07:33.740 align:start position:0%
to push it so in the world of
 

00:07:33.740 --> 00:07:36.980 align:start position:0%
to push it so in the world of
incentivize<00:07:34.740><c> computation</c><00:07:35.540><c> we</c><00:07:36.540><c> can</c><00:07:36.720><c> use</c><00:07:36.870><c> this</c>

00:07:36.980 --> 00:07:36.990 align:start position:0%
incentivize computation we can use this
 

00:07:36.990 --> 00:07:39.970 align:start position:0%
incentivize computation we can use this
as<00:07:37.200><c> an</c><00:07:37.350><c> analogy</c><00:07:37.950><c> and</c><00:07:38.220><c> the</c><00:07:38.660><c> wirless</c><00:07:39.660><c> and</c><00:07:39.810><c> vise</c>

00:07:39.970 --> 00:07:39.980 align:start position:0%
as an analogy and the wirless and vise
 

00:07:39.980 --> 00:07:43.130 align:start position:0%
as an analogy and the wirless and vise
computation<00:07:40.980><c> a</c><00:07:41.250><c> mass</c><00:07:41.910><c> in</c><00:07:42.180><c> objects</c><00:07:42.660><c> is</c><00:07:42.780><c> the</c>

00:07:43.130 --> 00:07:43.140 align:start position:0%
computation a mass in objects is the
 

00:07:43.140 --> 00:07:49.100 align:start position:0%
computation a mass in objects is the
size<00:07:43.800><c> of</c><00:07:44.040><c> it</c><00:07:44.190><c> and</c><00:07:44.780><c> bytes</c><00:07:45.780><c> or</c><00:07:46.170><c> bits</c><00:07:46.410><c> and</c><00:07:48.110><c> how</c>

00:07:49.100 --> 00:07:49.110 align:start position:0%
size of it and bytes or bits and how
 

00:07:49.110 --> 00:07:52.190 align:start position:0%
size of it and bytes or bits and how
much<00:07:49.490><c> force</c><00:07:50.490><c> we</c><00:07:50.670><c> push</c><00:07:50.880><c> it</c><00:07:51.060><c> with</c><00:07:51.270><c> you</c><00:07:52.020><c> could</c>

00:07:52.190 --> 00:07:52.200 align:start position:0%
much force we push it with you could
 

00:07:52.200 --> 00:08:00.800 align:start position:0%
much force we push it with you could
think<00:07:52.410><c> of</c><00:07:52.530><c> it</c><00:07:52.680><c> in</c><00:07:52.890><c> terms</c><00:07:53.430><c> of</c><00:07:53.850><c> maybe</c><00:07:54.270><c> gas</c><00:07:54.600><c> price</c>

00:08:00.800 --> 00:08:00.810 align:start position:0%
 
 

00:08:00.810 --> 00:08:04.520 align:start position:0%
 
so<00:08:01.440><c> how</c><00:08:01.980><c> could</c><00:08:02.220><c> we</c><00:08:02.520><c> oppose</c><00:08:03.350><c> locality</c><00:08:04.350><c> on</c>

00:08:04.520 --> 00:08:04.530 align:start position:0%
so how could we oppose locality on
 

00:08:04.530 --> 00:08:07.129 align:start position:0%
so how could we oppose locality on
contracts<00:08:05.840><c> essentially</c><00:08:06.840><c> what</c><00:08:06.960><c> that</c><00:08:06.990><c> means</c>

00:08:07.129 --> 00:08:07.139 align:start position:0%
contracts essentially what that means
 

00:08:07.139 --> 00:08:10.760 align:start position:0%
contracts essentially what that means
here<00:08:07.860><c> is</c><00:08:08.100><c> that</c><00:08:08.400><c> contracts</c><00:08:09.150><c> further</c><00:08:09.450><c> away</c><00:08:09.960><c> will</c>

00:08:10.760 --> 00:08:10.770 align:start position:0%
here is that contracts further away will
 

00:08:10.770 --> 00:08:15.620 align:start position:0%
here is that contracts further away will
have<00:08:11.010><c> to</c><00:08:11.220><c> will</c><00:08:11.820><c> sense</c><00:08:12.380><c> distances</c><00:08:13.730><c> via</c><00:08:14.730><c> longer</c>

00:08:15.620 --> 00:08:15.630 align:start position:0%
have to will sense distances via longer
 

00:08:15.630 --> 00:08:17.750 align:start position:0%
have to will sense distances via longer
communication<00:08:16.350><c> times</c><00:08:16.590><c> or</c><00:08:16.919><c> higher</c><00:08:17.100><c> costs</c><00:08:17.639><c> are</c>

00:08:17.750 --> 00:08:17.760 align:start position:0%
communication times or higher costs are
 

00:08:17.760 --> 00:08:27.190 align:start position:0%
communication times or higher costs are
both<00:08:19.820><c> so</c><00:08:20.820><c> currently</c><00:08:22.070><c> it's</c><00:08:23.070><c> Miriam</c><00:08:23.340><c> has</c><00:08:24.090><c> a</c><00:08:24.120><c> flat</c>

00:08:27.190 --> 00:08:27.200 align:start position:0%
 
 

00:08:27.200 --> 00:08:31.100 align:start position:0%
 
namespace<00:08:28.200><c> for</c><00:08:28.560><c> contracts</c><00:08:29.100><c> right</c><00:08:29.660><c> all</c><00:08:30.660><c> all</c>

00:08:31.100 --> 00:08:31.110 align:start position:0%
namespace for contracts right all all
 

00:08:31.110 --> 00:08:35.750 align:start position:0%
namespace for contracts right all all
contracts<00:08:31.849><c> exist</c><00:08:32.849><c> along</c><00:08:33.860><c> a</c><00:08:34.860><c> single</c><00:08:35.310><c> tree</c><00:08:35.640><c> if</c>

00:08:35.750 --> 00:08:35.760 align:start position:0%
contracts exist along a single tree if
 

00:08:35.760 --> 00:08:39.290 align:start position:0%
contracts exist along a single tree if
you<00:08:35.909><c> will</c><00:08:36.650><c> my</c><00:08:37.650><c> first</c><00:08:37.950><c> idea</c><00:08:38.520><c> for</c><00:08:39.030><c> imposing</c>

00:08:39.290 --> 00:08:39.300 align:start position:0%
you will my first idea for imposing
 

00:08:39.300 --> 00:08:43.480 align:start position:0%
you will my first idea for imposing
locality<00:08:41.000><c> was</c><00:08:42.000><c> the</c><00:08:42.120><c> idea</c><00:08:42.390><c> of</c><00:08:42.450><c> sub</c><00:08:42.719><c> contracts</c>

00:08:43.480 --> 00:08:43.490 align:start position:0%
locality was the idea of sub contracts
 

00:08:43.490 --> 00:08:46.750 align:start position:0%
locality was the idea of sub contracts
the<00:08:44.490><c> idea</c><00:08:44.730><c> would</c><00:08:45.030><c> be</c><00:08:45.089><c> that</c><00:08:45.390><c> each</c><00:08:45.780><c> contract</c>

00:08:46.750 --> 00:08:46.760 align:start position:0%
the idea would be that each contract
 

00:08:46.760 --> 00:08:49.940 align:start position:0%
the idea would be that each contract
could<00:08:47.760><c> create</c><00:08:48.030><c> sub</c><00:08:48.300><c> contracts</c><00:08:48.990><c> that</c><00:08:49.500><c> it</c><00:08:49.710><c> only</c>

00:08:49.940 --> 00:08:49.950 align:start position:0%
could create sub contracts that it only
 

00:08:49.950 --> 00:08:55.070 align:start position:0%
could create sub contracts that it only
had<00:08:50.160><c> access</c><00:08:50.370><c> to</c><00:08:52.580><c> now</c><00:08:53.580><c> this</c><00:08:53.760><c> idea</c><00:08:53.940><c> is</c><00:08:54.480><c> a</c><00:08:54.540><c> few</c>

00:08:55.070 --> 00:08:55.080 align:start position:0%
had access to now this idea is a few
 

00:08:55.080 --> 00:08:58.550 align:start position:0%
had access to now this idea is a few
problems<00:08:56.810><c> but</c><00:08:57.810><c> let's</c><00:08:57.990><c> explore</c><00:08:58.380><c> it</c><00:08:58.470><c> a</c><00:08:58.530><c> little</c>

00:08:58.550 --> 00:08:58.560 align:start position:0%
problems but let's explore it a little
 

00:08:58.560 --> 00:09:03.980 align:start position:0%
problems but let's explore it a little
bit<00:08:58.800><c> more</c><00:08:59.510><c> so</c><00:09:00.510><c> a</c><00:09:00.780><c> parent</c><00:09:01.380><c> contract</c><00:09:02.510><c> can</c><00:09:03.510><c> delete</c>

00:09:03.980 --> 00:09:03.990 align:start position:0%
bit more so a parent contract can delete
 

00:09:03.990 --> 00:09:07.880 align:start position:0%
bit more so a parent contract can delete
it<00:09:04.020><c> sub</c><00:09:04.350><c> contracts</c><00:09:05.690><c> move</c><00:09:06.690><c> it</c><00:09:06.900><c> sub</c><00:09:07.140><c> contracts</c>

00:09:07.880 --> 00:09:07.890 align:start position:0%
it sub contracts move it sub contracts
 

00:09:07.890 --> 00:09:11.810 align:start position:0%
it sub contracts move it sub contracts
and<00:09:08.930><c> send</c><00:09:09.930><c> and</c><00:09:10.110><c> receive</c><00:09:10.380><c> messages</c><00:09:10.650><c> from</c><00:09:11.280><c> a</c><00:09:11.339><c> sub</c>

00:09:11.810 --> 00:09:11.820 align:start position:0%
and send and receive messages from a sub
 

00:09:11.820 --> 00:09:18.980 align:start position:0%
and send and receive messages from a sub
contracts<00:09:15.110><c> and</c><00:09:16.160><c> if</c><00:09:17.160><c> we</c><00:09:17.490><c> take</c><00:09:17.730><c> that</c><00:09:18.210><c> tree</c><00:09:18.570><c> of</c>

00:09:18.980 --> 00:09:18.990 align:start position:0%
contracts and if we take that tree of
 

00:09:18.990 --> 00:09:22.190 align:start position:0%
contracts and if we take that tree of
contracts<00:09:19.560><c> and</c><00:09:19.680><c> subcontracts</c><00:09:20.150><c> and</c><00:09:21.150><c> look</c><00:09:22.050><c> at</c>

00:09:22.190 --> 00:09:22.200 align:start position:0%
contracts and subcontracts and look at
 

00:09:22.200 --> 00:09:27.650 align:start position:0%
contracts and subcontracts and look at
it<00:09:24.260><c> from</c><00:09:25.260><c> the</c><00:09:25.410><c> top</c><00:09:25.700><c> we</c><00:09:26.700><c> you</c><00:09:27.150><c> could</c><00:09:27.360><c> flatten</c>

00:09:27.650 --> 00:09:27.660 align:start position:0%
it from the top we you could flatten
 

00:09:27.660 --> 00:09:31.370 align:start position:0%
it from the top we you could flatten
that<00:09:27.930><c> tree</c><00:09:28.339><c> into</c><00:09:29.339><c> a</c><00:09:29.370><c> set</c><00:09:29.730><c> of</c><00:09:29.880><c> nested</c><00:09:30.450><c> circles</c>

00:09:31.370 --> 00:09:31.380 align:start position:0%
that tree into a set of nested circles
 

00:09:31.380 --> 00:09:34.040 align:start position:0%
that tree into a set of nested circles
like<00:09:31.620><c> here</c><00:09:31.920><c> where</c><00:09:32.850><c> the</c><00:09:33.270><c> top</c><00:09:33.510><c> circle</c><00:09:33.900><c> would</c><00:09:33.990><c> be</c>

00:09:34.040 --> 00:09:34.050 align:start position:0%
like here where the top circle would be
 

00:09:34.050 --> 00:09:36.560 align:start position:0%
like here where the top circle would be
the<00:09:34.230><c> global</c><00:09:34.589><c> blockchain</c><00:09:35.130><c> then</c><00:09:35.820><c> the</c><00:09:36.210><c> circles</c>

00:09:36.560 --> 00:09:36.570 align:start position:0%
the global blockchain then the circles
 

00:09:36.570 --> 00:09:40.370 align:start position:0%
the global blockchain then the circles
inside<00:09:36.900><c> that</c><00:09:37.200><c> would</c><00:09:37.770><c> be</c><00:09:38.630><c> more</c><00:09:39.630><c> contracts</c><00:09:40.080><c> and</c>

00:09:40.370 --> 00:09:40.380 align:start position:0%
inside that would be more contracts and
 

00:09:40.380 --> 00:09:42.380 align:start position:0%
inside that would be more contracts and
the<00:09:40.950><c> circles</c><00:09:41.370><c> inside</c><00:09:41.610><c> of</c><00:09:41.700><c> those</c><00:09:41.850><c> would</c><00:09:42.060><c> be</c><00:09:42.150><c> sub</c>

00:09:42.380 --> 00:09:42.390 align:start position:0%
the circles inside of those would be sub
 

00:09:42.390 --> 00:09:48.530 align:start position:0%
the circles inside of those would be sub
contracts<00:09:43.050><c> and</c><00:09:43.200><c> further</c><00:09:45.890><c> so</c><00:09:46.890><c> this</c><00:09:47.850><c> is</c><00:09:48.060><c> also</c>

00:09:48.530 --> 00:09:48.540 align:start position:0%
contracts and further so this is also
 

00:09:48.540 --> 00:09:52.790 align:start position:0%
contracts and further so this is also
analogous<00:09:49.230><c> to</c><00:09:49.530><c> membrane</c><00:09:50.070><c> computing</c><00:09:51.800><c> which</c>

00:09:52.790 --> 00:09:52.800 align:start position:0%
analogous to membrane computing which
 

00:09:52.800 --> 00:09:56.510 align:start position:0%
analogous to membrane computing which
was<00:09:53.010><c> I</c><00:09:54.020><c> which</c><00:09:55.020><c> has</c><00:09:55.140><c> inspired</c><00:09:55.500><c> off</c><00:09:55.770><c> of</c><00:09:56.010><c> actually</c>

00:09:56.510 --> 00:09:56.520 align:start position:0%
was I which has inspired off of actually
 

00:09:56.520 --> 00:09:59.180 align:start position:0%
was I which has inspired off of actually
biological<00:09:57.360><c> modeling</c><00:09:58.260><c> biological</c><00:09:59.010><c> things</c>

00:09:59.180 --> 00:09:59.190 align:start position:0%
biological modeling biological things
 

00:09:59.190 --> 00:10:02.900 align:start position:0%
biological modeling biological things
like<00:09:59.430><c> cells</c><00:10:00.350><c> any</c><00:10:01.350><c> communication</c><00:10:02.339><c> happening</c>

00:10:02.900 --> 00:10:02.910 align:start position:0%
like cells any communication happening
 

00:10:02.910 --> 00:10:05.480 align:start position:0%
like cells any communication happening
within<00:10:03.089><c> one</c><00:10:03.450><c> of</c><00:10:03.540><c> the</c><00:10:03.660><c> membranes</c><00:10:04.490><c> going</c>

00:10:05.480 --> 00:10:05.490 align:start position:0%
within one of the membranes going
 

00:10:05.490 --> 00:10:07.070 align:start position:0%
within one of the membranes going
outside<00:10:05.760><c> the</c><00:10:06.089><c> membranes</c><00:10:06.450><c> must</c><00:10:06.720><c> pass</c><00:10:06.900><c> through</c>

00:10:07.070 --> 00:10:07.080 align:start position:0%
outside the membranes must pass through
 

00:10:07.080 --> 00:10:07.860 align:start position:0%
outside the membranes must pass through
a<00:10:07.140><c> member</c>

00:10:07.860 --> 00:10:07.870 align:start position:0%
a member
 

00:10:07.870 --> 00:10:14.519 align:start position:0%
a member
the<00:10:08.870><c> membrane</c><00:10:09.260><c> here</c><00:10:09.500><c> is</c><00:10:09.680><c> yeah</c><00:10:10.160><c> the</c><00:10:10.730><c> circle</c><00:10:12.910><c> so</c>

00:10:14.519 --> 00:10:14.529 align:start position:0%
the membrane here is yeah the circle so
 

00:10:14.529 --> 00:10:18.040 align:start position:0%
the membrane here is yeah the circle so
having<00:10:15.529><c> this</c><00:10:15.740><c> membrane</c><00:10:16.519><c> type</c><00:10:16.910><c> system</c><00:10:17.390><c> we</c><00:10:17.870><c> can</c>

00:10:18.040 --> 00:10:18.050 align:start position:0%
having this membrane type system we can
 

00:10:18.050 --> 00:10:19.509 align:start position:0%
having this membrane type system we can
impose<00:10:18.380><c> locality</c>

00:10:19.509 --> 00:10:19.519 align:start position:0%
impose locality
 

00:10:19.519 --> 00:10:24.220 align:start position:0%
impose locality
so<00:10:20.420><c> if</c><00:10:21.820><c> contract</c><00:10:22.820><c> a</c><00:10:22.940><c> wants</c><00:10:23.240><c> to</c><00:10:23.300><c> talk</c><00:10:24.079><c> to</c>

00:10:24.220 --> 00:10:24.230 align:start position:0%
so if contract a wants to talk to
 

00:10:24.230 --> 00:10:27.490 align:start position:0%
so if contract a wants to talk to
contract<00:10:24.800><c> B</c><00:10:25.180><c> for</c><00:10:26.180><c> example</c><00:10:26.570><c> it</c><00:10:27.019><c> would</c><00:10:27.170><c> have</c><00:10:27.350><c> to</c>

00:10:27.490 --> 00:10:27.500 align:start position:0%
contract B for example it would have to
 

00:10:27.500 --> 00:10:30.370 align:start position:0%
contract B for example it would have to
go<00:10:27.649><c> through</c><00:10:27.680><c> the</c><00:10:28.209><c> membrane</c><00:10:29.209><c> of</c><00:10:29.690><c> its</c><00:10:29.839><c> parent</c><00:10:30.260><c> a</c>

00:10:30.370 --> 00:10:30.380 align:start position:0%
go through the membrane of its parent a
 

00:10:30.380 --> 00:10:33.100 align:start position:0%
go through the membrane of its parent a
prime<00:10:30.769><c> and</c><00:10:31.160><c> then</c><00:10:31.610><c> have</c><00:10:31.850><c> to</c><00:10:31.880><c> go</c><00:10:32.149><c> through</c><00:10:32.180><c> B</c>

00:10:33.100 --> 00:10:33.110 align:start position:0%
prime and then have to go through B
 

00:10:33.110 --> 00:10:37.389 align:start position:0%
prime and then have to go through B
Prime<00:10:33.470><c> and</c><00:10:33.769><c> then</c><00:10:34.370><c> finally</c><00:10:34.940><c> to</c><00:10:35.089><c> a</c><00:10:35.620><c> so</c><00:10:36.620><c> locality</c>

00:10:37.389 --> 00:10:37.399 align:start position:0%
Prime and then finally to a so locality
 

00:10:37.399 --> 00:10:42.550 align:start position:0%
Prime and then finally to a so locality
here<00:10:37.760><c> is</c><00:10:38.000><c> sensed</c><00:10:38.570><c> by</c><00:10:39.640><c> the</c><00:10:40.640><c> extra</c><00:10:41.560><c> message</c>

00:10:42.550 --> 00:10:42.560 align:start position:0%
here is sensed by the extra message
 

00:10:42.560 --> 00:10:46.540 align:start position:0%
here is sensed by the extra message
passing<00:10:43.750><c> contract</c><00:10:44.750><c> that</c><00:10:45.529><c> are</c><00:10:45.829><c> further</c><00:10:46.279><c> away</c>

00:10:46.540 --> 00:10:46.550 align:start position:0%
passing contract that are further away
 

00:10:46.550 --> 00:10:52.180 align:start position:0%
passing contract that are further away
in<00:10:47.649><c> terms</c><00:10:48.649><c> of</c><00:10:49.130><c> parent</c><00:10:49.820><c> contracts</c><00:10:50.890><c> have</c><00:10:51.890><c> more</c>

00:10:52.180 --> 00:10:52.190 align:start position:0%
in terms of parent contracts have more
 

00:10:52.190 --> 00:10:56.139 align:start position:0%
in terms of parent contracts have more
cost<00:10:52.519><c> associated</c><00:10:52.910><c> with</c><00:10:53.390><c> them</c><00:10:55.149><c> because</c>

00:10:56.139 --> 00:10:56.149 align:start position:0%
cost associated with them because
 

00:10:56.149 --> 00:11:02.949 align:start position:0%
cost associated with them because
there's<00:10:56.779><c> more</c><00:10:56.990><c> messages</c><00:10:57.470><c> right</c><00:10:59.019><c> and</c><00:11:01.120><c> then</c><00:11:02.120><c> you</c>

00:11:02.949 --> 00:11:02.959 align:start position:0%
there's more messages right and then you
 

00:11:02.959 --> 00:11:05.139 align:start position:0%
there's more messages right and then you
could<00:11:03.170><c> use</c><00:11:03.620><c> the</c><00:11:03.800><c> same</c><00:11:03.980><c> structure</c><00:11:04.399><c> for</c><00:11:04.730><c> shards</c>

00:11:05.139 --> 00:11:05.149 align:start position:0%
could use the same structure for shards
 

00:11:05.149 --> 00:11:10.569 align:start position:0%
could use the same structure for shards
right<00:11:05.480><c> a</c><00:11:06.079><c> and</c><00:11:06.709><c> B</c><00:11:07.010><c> could</c><00:11:07.880><c> be</c><00:11:08.529><c> charted</c><00:11:09.579><c> easily</c>

00:11:10.569 --> 00:11:10.579 align:start position:0%
right a and B could be charted easily
 

00:11:10.579 --> 00:11:13.930 align:start position:0%
right a and B could be charted easily
and<00:11:11.390><c> you</c><00:11:12.260><c> could</c><00:11:12.410><c> maybe</c><00:11:12.649><c> have</c><00:11:12.950><c> an</c><00:11:13.130><c> recursive</c>

00:11:13.930 --> 00:11:13.940 align:start position:0%
and you could maybe have an recursive
 

00:11:13.940 --> 00:11:16.930 align:start position:0%
and you could maybe have an recursive
nested<00:11:14.510><c> charted</c><00:11:14.959><c> scheme</c><00:11:15.320><c> using</c><00:11:15.829><c> this</c><00:11:16.040><c> you</c>

00:11:16.930 --> 00:11:16.940 align:start position:0%
nested charted scheme using this you
 

00:11:16.940 --> 00:11:20.380 align:start position:0%
nested charted scheme using this you
know<00:11:17.980><c> you</c><00:11:18.980><c> have</c><00:11:19.160><c> sub</c><00:11:19.370><c> contracts</c><00:11:19.910><c> and</c><00:11:20.089><c> the</c><00:11:20.209><c> sub</c>

00:11:20.380 --> 00:11:20.390 align:start position:0%
know you have sub contracts and the sub
 

00:11:20.390 --> 00:11:22.690 align:start position:0%
know you have sub contracts and the sub
contracts<00:11:20.810><c> have</c><00:11:20.959><c> sub</c><00:11:21.440><c> contracts</c><00:11:21.950><c> and</c><00:11:22.250><c> some</c><00:11:22.579><c> of</c>

00:11:22.690 --> 00:11:22.700 align:start position:0%
contracts have sub contracts and some of
 

00:11:22.700 --> 00:11:26.740 align:start position:0%
contracts have sub contracts and some of
those<00:11:22.820><c> would</c><00:11:23.420><c> be</c><00:11:23.540><c> shards</c><00:11:24.970><c> in</c><00:11:25.970><c> reality</c><00:11:26.510><c> I</c><00:11:26.540><c> don't</c>

00:11:26.740 --> 00:11:26.750 align:start position:0%
those would be shards in reality I don't
 

00:11:26.750 --> 00:11:29.380 align:start position:0%
those would be shards in reality I don't
know<00:11:27.110><c> if</c><00:11:27.290><c> you</c><00:11:27.620><c> need</c><00:11:27.860><c> more</c><00:11:28.100><c> than</c><00:11:28.310><c> maybe</c><00:11:29.029><c> two</c>

00:11:29.380 --> 00:11:29.390 align:start position:0%
know if you need more than maybe two
 

00:11:29.390 --> 00:11:34.750 align:start position:0%
know if you need more than maybe two
layers<00:11:30.260><c> of</c><00:11:31.450><c> charts</c><00:11:32.450><c> though</c><00:11:32.690><c> so</c><00:11:33.560><c> it's</c><00:11:34.399><c> dubious</c>

00:11:34.750 --> 00:11:34.760 align:start position:0%
layers of charts though so it's dubious
 

00:11:34.760 --> 00:11:38.500 align:start position:0%
layers of charts though so it's dubious
and<00:11:35.180><c> whether</c><00:11:35.390><c> that's</c><00:11:35.660><c> necessary</c><00:11:35.779><c> so</c><00:11:37.510><c> problems</c>

00:11:38.500 --> 00:11:38.510 align:start position:0%
and whether that's necessary so problems
 

00:11:38.510 --> 00:11:41.800 align:start position:0%
and whether that's necessary so problems
with<00:11:38.750><c> nested</c><00:11:39.079><c> contracts</c><00:11:39.740><c> so</c><00:11:39.950><c> are</c><00:11:40.670><c> there</c><00:11:41.300><c> a</c><00:11:41.600><c> bit</c>

00:11:41.800 --> 00:11:41.810 align:start position:0%
with nested contracts so are there a bit
 

00:11:41.810 --> 00:11:47.500 align:start position:0%
with nested contracts so are there a bit
inflexible<00:11:44.770><c> it's</c><00:11:45.770><c> hard</c><00:11:46.190><c> to</c><00:11:46.520><c> arrange</c><00:11:46.910><c> if</c><00:11:47.360><c> you</c>

00:11:47.500 --> 00:11:47.510 align:start position:0%
inflexible it's hard to arrange if you
 

00:11:47.510 --> 00:11:49.840 align:start position:0%
inflexible it's hard to arrange if you
have<00:11:47.779><c> a</c><00:11:48.620><c> bunch</c><00:11:49.040><c> of</c><00:11:49.190><c> contracts</c><00:11:49.790><c> that</c>

00:11:49.840 --> 00:11:49.850 align:start position:0%
have a bunch of contracts that
 

00:11:49.850 --> 00:11:52.750 align:start position:0%
have a bunch of contracts that
communicate<00:11:50.570><c> quite</c><00:11:50.959><c> frequently</c><00:11:51.560><c> that</c><00:11:52.459><c> are</c>

00:11:52.750 --> 00:11:52.760 align:start position:0%
communicate quite frequently that are
 

00:11:52.760 --> 00:11:57.689 align:start position:0%
communicate quite frequently that are
distributed<00:11:53.209><c> across</c><00:11:53.750><c> a</c><00:11:56.410><c> bunch</c><00:11:57.410><c> of</c><00:11:57.589><c> different</c>

00:11:57.689 --> 00:11:57.699 align:start position:0%
distributed across a bunch of different
 

00:11:57.699 --> 00:12:01.689 align:start position:0%
distributed across a bunch of different
parent<00:11:58.699><c> contracts</c><00:11:59.390><c> then</c><00:12:00.399><c> it's</c><00:12:01.399><c> hard</c><00:12:01.640><c> to</c>

00:12:01.689 --> 00:12:01.699 align:start position:0%
parent contracts then it's hard to
 

00:12:01.699 --> 00:12:04.930 align:start position:0%
parent contracts then it's hard to
rearrange<00:12:02.000><c> things</c><00:12:02.769><c> to</c><00:12:03.769><c> provide</c><00:12:04.339><c> optimal</c>

00:12:04.930 --> 00:12:04.940 align:start position:0%
rearrange things to provide optimal
 

00:12:04.940 --> 00:12:08.710 align:start position:0%
rearrange things to provide optimal
communication<00:12:06.519><c> so</c><00:12:07.519><c> that</c><00:12:07.730><c> yeah</c><00:12:08.269><c> they're</c><00:12:08.570><c> also</c>

00:12:08.710 --> 00:12:08.720 align:start position:0%
communication so that yeah they're also
 

00:12:08.720 --> 00:12:10.660 align:start position:0%
communication so that yeah they're also
inefficient<00:12:09.320><c> because</c><00:12:09.589><c> of</c><00:12:09.890><c> that</c><00:12:09.980><c> you</c><00:12:10.550><c> have</c>

00:12:10.660 --> 00:12:10.670 align:start position:0%
inefficient because of that you have
 

00:12:10.670 --> 00:12:12.340 align:start position:0%
inefficient because of that you have
bacteria<00:12:10.910><c> messes</c><00:12:11.420><c> passing</c>

00:12:12.340 --> 00:12:12.350 align:start position:0%
bacteria messes passing
 

00:12:12.350 --> 00:12:16.280 align:start position:0%
bacteria messes passing
so<00:12:13.350><c> that</c><00:12:13.440><c> was</c><00:12:13.589><c> the</c><00:12:13.800><c> first</c><00:12:14.100><c> iteration</c><00:12:15.080><c> and</c><00:12:16.080><c> you</c>

00:12:16.280 --> 00:12:16.290 align:start position:0%
so that was the first iteration and you
 

00:12:16.290 --> 00:12:19.070 align:start position:0%
so that was the first iteration and you
awesome<00:12:16.620><c> Colonel</c><00:12:17.060><c> experimenting</c><00:12:18.060><c> with</c><00:12:18.360><c> this</c>

00:12:19.070 --> 00:12:19.080 align:start position:0%
awesome Colonel experimenting with this
 

00:12:19.080 --> 00:12:27.079 align:start position:0%
awesome Colonel experimenting with this
idea<00:12:23.450><c> so</c><00:12:24.450><c> the</c><00:12:24.630><c> next</c><00:12:24.810><c> stop</c><00:12:25.080><c> was</c><00:12:25.430><c> okay</c><00:12:26.430><c> let's</c>

00:12:27.079 --> 00:12:27.089 align:start position:0%
idea so the next stop was okay let's
 

00:12:27.089 --> 00:12:30.530 align:start position:0%
idea so the next stop was okay let's
solution<00:12:27.510><c> the</c><00:12:27.630><c> restriction</c><00:12:28.500><c> of</c><00:12:29.540><c> message</c>

00:12:30.530 --> 00:12:30.540 align:start position:0%
solution the restriction of message
 

00:12:30.540 --> 00:12:32.269 align:start position:0%
solution the restriction of message
passing<00:12:30.870><c> up</c><00:12:31.230><c> and</c><00:12:31.380><c> down</c><00:12:31.529><c> in</c><00:12:31.950><c> a</c><00:12:32.070><c> tree</c>

00:12:32.269 --> 00:12:32.279 align:start position:0%
passing up and down in a tree
 

00:12:32.279 --> 00:12:36.019 align:start position:0%
passing up and down in a tree
subcontracts<00:12:33.209><c> what</c><00:12:34.730><c> subcontracts</c><00:12:35.730><c> were</c><00:12:35.790><c> just</c>

00:12:36.019 --> 00:12:36.029 align:start position:0%
subcontracts what subcontracts were just
 

00:12:36.029 --> 00:12:40.910 align:start position:0%
subcontracts what subcontracts were just
connected<00:12:36.480><c> by</c><00:12:36.690><c> a</c><00:12:36.959><c> graph</c><00:12:39.350><c> but</c><00:12:40.350><c> we</c><00:12:40.410><c> still</c><00:12:40.680><c> want</c>

00:12:40.910 --> 00:12:40.920 align:start position:0%
connected by a graph but we still want
 

00:12:40.920 --> 00:12:42.889 align:start position:0%
connected by a graph but we still want
the<00:12:41.010><c> property</c><00:12:41.459><c> of</c><00:12:41.520><c> imposing</c><00:12:41.910><c> locality</c><00:12:42.660><c> and</c>

00:12:42.889 --> 00:12:42.899 align:start position:0%
the property of imposing locality and
 

00:12:42.899 --> 00:12:45.740 align:start position:0%
the property of imposing locality and
finding<00:12:43.410><c> a</c><00:12:43.470><c> nice</c><00:12:43.649><c> way</c><00:12:43.950><c> to</c><00:12:44.279><c> build</c><00:12:45.180><c> shards</c>

00:12:45.740 --> 00:12:45.750 align:start position:0%
finding a nice way to build shards
 

00:12:45.750 --> 00:12:49.070 align:start position:0%
finding a nice way to build shards
around<00:12:46.320><c> our</c><00:12:46.589><c> contracts</c><00:12:47.480><c> which</c><00:12:48.480><c> you</c><00:12:48.630><c> can</c><00:12:48.870><c> do</c>

00:12:49.070 --> 00:12:49.080 align:start position:0%
around our contracts which you can do
 

00:12:49.080 --> 00:12:54.470 align:start position:0%
around our contracts which you can do
here<00:12:49.459><c> the</c><00:12:50.459><c> tree</c><00:12:50.880><c> just</c><00:12:51.570><c> becomes</c><00:12:53.240><c> the</c><00:12:54.240><c> shard</c>

00:12:54.470 --> 00:12:54.480 align:start position:0%
here the tree just becomes the shard
 

00:12:54.480 --> 00:12:59.060 align:start position:0%
here the tree just becomes the shard
boundaries<00:12:54.930><c> in</c><00:12:55.170><c> this</c><00:12:55.320><c> case</c><00:12:57.620><c> but</c><00:12:58.620><c> we</c><00:12:58.860><c> still</c>

00:12:59.060 --> 00:12:59.070 align:start position:0%
boundaries in this case but we still
 

00:12:59.070 --> 00:13:00.650 align:start position:0%
boundaries in this case but we still
have<00:12:59.880><c> a</c><00:12:59.910><c> more</c><00:13:00.180><c> efficient</c><00:13:00.540><c> way</c><00:13:00.630><c> of</c>

00:13:00.650 --> 00:13:00.660 align:start position:0%
have a more efficient way of
 

00:13:00.660 --> 00:13:03.290 align:start position:0%
have a more efficient way of
communication<00:13:01.350><c> since</c><00:13:02.160><c> contracts</c><00:13:02.970><c> can</c><00:13:03.180><c> be</c>

00:13:03.290 --> 00:13:03.300 align:start position:0%
communication since contracts can be
 

00:13:03.300 --> 00:13:09.680 align:start position:0%
communication since contracts can be
arranged<00:13:03.839><c> in</c><00:13:04.080><c> an</c><00:13:04.170><c> arbitrary</c><00:13:04.709><c> graph</c><00:13:08.540><c> so</c><00:13:09.540><c> this</c>

00:13:09.680 --> 00:13:09.690 align:start position:0%
arranged in an arbitrary graph so this
 

00:13:09.690 --> 00:13:12.040 align:start position:0%
arranged in an arbitrary graph so this
structure<00:13:09.990><c> interesting</c><00:13:10.740><c> enough</c><00:13:11.040><c> I</c><00:13:11.160><c> think</c><00:13:11.370><c> is</c>

00:13:12.040 --> 00:13:12.050 align:start position:0%
structure interesting enough I think is
 

00:13:12.050 --> 00:13:16.460 align:start position:0%
structure interesting enough I think is
represented<00:13:13.050><c> very</c><00:13:13.260><c> well</c><00:13:13.320><c> by</c><00:13:13.890><c> by</c><00:13:14.220><c> graphs</c><00:13:15.470><c> by</c>

00:13:16.460 --> 00:13:16.470 align:start position:0%
represented very well by by graphs by
 

00:13:16.470 --> 00:13:19.160 align:start position:0%
represented very well by by graphs by
graphs<00:13:16.770><c> are</c><00:13:17.160><c> something</c><00:13:18.060><c> created</c><00:13:18.329><c> by</c><00:13:18.360><c> algebra</c>

00:13:19.160 --> 00:13:19.170 align:start position:0%
graphs are something created by algebra
 

00:13:19.170 --> 00:13:25.360 align:start position:0%
graphs are something created by algebra
created<00:13:19.500><c> by</c><00:13:19.620><c> Robin</c><00:13:19.950><c> Miller</c><00:13:20.329><c> to</c><00:13:22.070><c> model</c>

00:13:25.360 --> 00:13:25.370 align:start position:0%
 
 

00:13:25.370 --> 00:13:28.180 align:start position:0%
 
communicating<00:13:26.370><c> agents</c><00:13:26.790><c> in</c><00:13:26.880><c> space</c><00:13:27.089><c> and</c><00:13:27.300><c> time</c>

00:13:28.180 --> 00:13:28.190 align:start position:0%
communicating agents in space and time
 

00:13:28.190 --> 00:13:33.620 align:start position:0%
communicating agents in space and time
so<00:13:29.190><c> I</c><00:13:29.579><c> find</c><00:13:30.510><c> it</c><00:13:30.630><c> a</c><00:13:30.720><c> nice</c><00:13:30.870><c> fit</c><00:13:31.200><c> and</c><00:13:31.850><c> so</c><00:13:32.850><c> here</c><00:13:33.300><c> the</c>

00:13:33.620 --> 00:13:33.630 align:start position:0%
so I find it a nice fit and so here the
 

00:13:33.630 --> 00:13:37.579 align:start position:0%
so I find it a nice fit and so here the
the<00:13:33.870><c> shard</c><00:13:34.260><c> boundaries</c><00:13:34.829><c> would</c><00:13:35.700><c> be</c><00:13:36.350><c> the</c><00:13:37.350><c> place</c>

00:13:37.579 --> 00:13:37.589 align:start position:0%
the shard boundaries would be the place
 

00:13:37.589 --> 00:13:40.310 align:start position:0%
the shard boundaries would be the place
graph<00:13:37.920><c> or</c><00:13:38.220><c> the</c><00:13:38.339><c> forest</c><00:13:38.760><c> and</c><00:13:39.170><c> in</c><00:13:40.170><c> the</c>

00:13:40.310 --> 00:13:40.320 align:start position:0%
graph or the forest and in the
 

00:13:40.320 --> 00:13:43.579 align:start position:0%
graph or the forest and in the
communication<00:13:41.690><c> lines</c><00:13:42.690><c> of</c><00:13:42.839><c> communication</c>

00:13:43.579 --> 00:13:43.589 align:start position:0%
communication lines of communication
 

00:13:43.589 --> 00:13:47.210 align:start position:0%
communication lines of communication
would<00:13:44.040><c> be</c><00:13:44.100><c> the</c><00:13:44.339><c> hyper</c><00:13:44.550><c> graph</c><00:13:44.880><c> and</c><00:13:45.480><c> we</c><00:13:46.220><c> put</c>

00:13:47.210 --> 00:13:47.220 align:start position:0%
would be the hyper graph and we put
 

00:13:47.220 --> 00:13:48.920 align:start position:0%
would be the hyper graph and we put
those<00:13:47.310><c> two</c><00:13:47.579><c> graphs</c><00:13:47.790><c> together</c><00:13:48.270><c> we</c><00:13:48.779><c> have</c><00:13:48.899><c> a</c>

00:13:48.920 --> 00:13:48.930 align:start position:0%
those two graphs together we have a
 

00:13:48.930 --> 00:13:51.380 align:start position:0%
those two graphs together we have a
structure<00:13:49.350><c> called</c><00:13:49.649><c> a</c><00:13:50.310><c> bi</c><00:13:50.790><c> graph</c><00:13:51.060><c> and</c><00:13:51.360><c> that</c>

00:13:51.380 --> 00:13:51.390 align:start position:0%
structure called a bi graph and that
 

00:13:51.390 --> 00:13:54.800 align:start position:0%
structure called a bi graph and that
just<00:13:52.140><c> gives</c><00:13:52.320><c> this</c><00:13:52.500><c> sort</c><00:13:52.829><c> of</c><00:13:52.920><c> a</c><00:13:53.670><c> nice</c><00:13:54.209><c> nice</c>

00:13:54.800 --> 00:13:54.810 align:start position:0%
just gives this sort of a nice nice
 

00:13:54.810 --> 00:13:56.449 align:start position:0%
just gives this sort of a nice nice
hollow<00:13:55.020><c> spot</c><00:13:55.410><c> to</c><00:13:55.529><c> work</c><00:13:55.620><c> with</c><00:13:55.920><c> to</c><00:13:56.130><c> express</c>

00:13:56.449 --> 00:13:56.459 align:start position:0%
hollow spot to work with to express
 

00:13:56.459 --> 00:14:02.960 align:start position:0%
hollow spot to work with to express
these<00:13:56.640><c> things</c><00:13:59.570><c> so</c><00:14:00.770><c> communication</c><00:14:01.770><c> here</c><00:14:02.100><c> it's</c>

00:14:02.960 --> 00:14:02.970 align:start position:0%
these things so communication here it's
 

00:14:02.970 --> 00:14:05.810 align:start position:0%
these things so communication here it's
bit<00:14:03.240><c> different</c><00:14:03.720><c> than</c><00:14:04.230><c> the</c><00:14:04.950><c> way</c><00:14:05.160><c> communication</c>

00:14:05.810 --> 00:14:05.820 align:start position:0%
bit different than the way communication
 

00:14:05.820 --> 00:14:09.769 align:start position:0%
bit different than the way communication
and<00:14:06.000><c> contracts</c><00:14:06.480><c> work</c><00:14:06.720><c> now</c><00:14:07.350><c> for</c><00:14:07.829><c> you</c><00:14:07.950><c> so</c><00:14:08.760><c> as</c><00:14:09.720><c> a</c>

00:14:09.769 --> 00:14:09.779 align:start position:0%
and contracts work now for you so as a
 

00:14:09.779 --> 00:14:11.690 align:start position:0%
and contracts work now for you so as a
stance<00:14:10.079><c> now</c><00:14:10.320><c> any</c><00:14:10.829><c> contract</c><00:14:11.279><c> and</c><00:14:11.459><c> send</c><00:14:11.640><c> a</c>

00:14:11.690 --> 00:14:11.700 align:start position:0%
stance now any contract and send a
 

00:14:11.700 --> 00:14:13.370 align:start position:0%
stance now any contract and send a
message<00:14:11.730><c> to</c><00:14:12.029><c> any</c><00:14:12.390><c> other</c><00:14:12.600><c> contract</c>

00:14:13.370 --> 00:14:13.380 align:start position:0%
message to any other contract
 

00:14:13.380 --> 00:14:15.740 align:start position:0%
message to any other contract
you<00:14:14.040><c> might</c><00:14:14.250><c> notice</c><00:14:14.640><c> here</c><00:14:14.750><c> communications</c>

00:14:15.740 --> 00:14:15.750 align:start position:0%
you might notice here communications
 

00:14:15.750 --> 00:14:18.710 align:start position:0%
you might notice here communications
more<00:14:16.079><c> restricted</c><00:14:16.709><c> you</c><00:14:17.459><c> have</c><00:14:17.579><c> to</c><00:14:17.790><c> have</c><00:14:18.000><c> a</c><00:14:18.329><c> line</c>

00:14:18.710 --> 00:14:18.720 align:start position:0%
more restricted you have to have a line
 

00:14:18.720 --> 00:14:21.120 align:start position:0%
more restricted you have to have a line
of<00:14:18.870><c> communication</c>

00:14:21.120 --> 00:14:21.130 align:start position:0%
 
 

00:14:21.130 --> 00:14:24.670 align:start position:0%
 
but<00:14:22.130><c> this</c><00:14:22.279><c> does</c><00:14:22.490><c> have</c><00:14:22.760><c> some</c><00:14:23.029><c> benefits</c><00:14:23.680><c> it</c>

00:14:24.670 --> 00:14:24.680 align:start position:0%
but this does have some benefits it
 

00:14:24.680 --> 00:14:27.639 align:start position:0%
but this does have some benefits it
allows<00:14:24.920><c> us</c><00:14:24.950><c> to</c><00:14:25.160><c> build</c><00:14:25.430><c> isolation</c><00:14:26.470><c> groups</c><00:14:27.470><c> of</c>

00:14:27.639 --> 00:14:27.649 align:start position:0%
allows us to build isolation groups of
 

00:14:27.649 --> 00:14:29.980 align:start position:0%
allows us to build isolation groups of
contracts<00:14:28.339><c> that</c><00:14:28.370><c> we</c><00:14:28.670><c> know</c><00:14:28.970><c> cannot</c><00:14:29.810><c> be</c>

00:14:29.980 --> 00:14:29.990 align:start position:0%
contracts that we know cannot be
 

00:14:29.990 --> 00:14:32.880 align:start position:0%
contracts that we know cannot be
contacted<00:14:30.380><c> by</c><00:14:30.680><c> the</c><00:14:30.740><c> groups</c><00:14:31.130><c> of</c><00:14:31.279><c> contracts</c><00:14:31.820><c> and</c>

00:14:32.880 --> 00:14:32.890 align:start position:0%
contacted by the groups of contracts and
 

00:14:32.890 --> 00:14:35.470 align:start position:0%
contacted by the groups of contracts and
therefore<00:14:33.890><c> this</c><00:14:34.010><c> allows</c><00:14:34.339><c> us</c><00:14:34.519><c> to</c><00:14:34.760><c> build</c>

00:14:35.470 --> 00:14:35.480 align:start position:0%
therefore this allows us to build
 

00:14:35.480 --> 00:14:38.440 align:start position:0%
therefore this allows us to build
modularity<00:14:36.079><c> and</c><00:14:36.620><c> I'll</c><00:14:37.490><c> talk</c><00:14:37.760><c> about</c><00:14:37.790><c> this</c><00:14:38.390><c> a</c>

00:14:38.440 --> 00:14:38.450 align:start position:0%
modularity and I'll talk about this a
 

00:14:38.450 --> 00:14:42.910 align:start position:0%
modularity and I'll talk about this a
little<00:14:38.660><c> bit</c><00:14:38.870><c> more</c><00:14:39.140><c> later</c><00:14:40.660><c> also</c><00:14:41.660><c> this</c><00:14:42.529><c> makes</c><00:14:42.769><c> it</c>

00:14:42.910 --> 00:14:42.920 align:start position:0%
little bit more later also this makes it
 

00:14:42.920 --> 00:14:48.730 align:start position:0%
little bit more later also this makes it
fairly<00:14:43.399><c> easy</c><00:14:43.790><c> to</c><00:14:43.940><c> build</c><00:14:44.029><c> concurrency</c><00:14:46.540><c> so</c><00:14:47.740><c> the</c>

00:14:48.730 --> 00:14:48.740 align:start position:0%
fairly easy to build concurrency so the
 

00:14:48.740 --> 00:14:51.550 align:start position:0%
fairly easy to build concurrency so the
first<00:14:49.010><c> idea</c><00:14:49.430><c> to</c><00:14:49.490><c> sort</c><00:14:50.360><c> of</c><00:14:50.450><c> express</c><00:14:50.959><c> these</c>

00:14:51.550 --> 00:14:51.560 align:start position:0%
first idea to sort of express these
 

00:14:51.560 --> 00:14:54.819 align:start position:0%
first idea to sort of express these
lines<00:14:52.550><c> of</c><00:14:52.820><c> communication</c><00:14:53.660><c> or</c><00:14:53.899><c> graphs</c><00:14:54.620><c> of</c>

00:14:54.819 --> 00:14:54.829 align:start position:0%
lines of communication or graphs of
 

00:14:54.829 --> 00:14:57.490 align:start position:0%
lines of communication or graphs of
contracts<00:14:55.399><c> those</c><00:14:55.970><c> channels</c><00:14:56.329><c> if</c><00:14:57.230><c> you're</c>

00:14:57.490 --> 00:14:57.500 align:start position:0%
contracts those channels if you're
 

00:14:57.500 --> 00:15:02.980 align:start position:0%
contracts those channels if you're
familiar<00:14:57.950><c> with</c><00:14:58.870><c> CSP</c><00:15:00.519><c> you</c><00:15:01.519><c> should</c><00:15:01.790><c> be</c><00:15:01.990><c> this</c>

00:15:02.980 --> 00:15:02.990 align:start position:0%
familiar with CSP you should be this
 

00:15:02.990 --> 00:15:05.970 align:start position:0%
familiar with CSP you should be this
should<00:15:03.140><c> look</c><00:15:03.260><c> familiar</c><00:15:03.440><c> to</c><00:15:03.920><c> you</c>

00:15:05.970 --> 00:15:05.980 align:start position:0%
 
 

00:15:05.980 --> 00:15:10.170 align:start position:0%
 
so<00:15:07.269><c> a</c><00:15:08.269><c> channel</c><00:15:08.750><c> is</c><00:15:08.899><c> just</c><00:15:08.930><c> a</c><00:15:09.320><c> bi-directional</c>

00:15:10.170 --> 00:15:10.180 align:start position:0%
so a channel is just a bi-directional
 

00:15:10.180 --> 00:15:13.840 align:start position:0%
so a channel is just a bi-directional
line<00:15:11.180><c> of</c><00:15:11.360><c> communication</c><00:15:12.339><c> there's</c><00:15:13.339><c> always</c><00:15:13.550><c> one</c>

00:15:13.840 --> 00:15:13.850 align:start position:0%
line of communication there's always one
 

00:15:13.850 --> 00:15:18.370 align:start position:0%
line of communication there's always one
to<00:15:14.000><c> one</c><00:15:14.180><c> and</c><00:15:15.610><c> inside</c><00:15:16.610><c> the</c><00:15:16.880><c> contracts</c><00:15:17.450><c> channels</c>

00:15:18.370 --> 00:15:18.380 align:start position:0%
to one and inside the contracts channels
 

00:15:18.380 --> 00:15:23.100 align:start position:0%
to one and inside the contracts channels
are<00:15:18.529><c> addressed</c><00:15:18.890><c> by</c><00:15:19.010><c> ports</c><00:15:20.769><c> ports</c><00:15:21.769><c> have</c><00:15:22.010><c> names</c>

00:15:23.100 --> 00:15:23.110 align:start position:0%
are addressed by ports ports have names
 

00:15:23.110 --> 00:15:28.120 align:start position:0%
are addressed by ports ports have names
internal<00:15:24.110><c> to</c><00:15:24.470><c> the</c><00:15:24.560><c> contract</c><00:15:25.510><c> so</c><00:15:26.560><c> this</c><00:15:27.560><c> blue</c>

00:15:28.120 --> 00:15:28.130 align:start position:0%
internal to the contract so this blue
 

00:15:28.130 --> 00:15:30.060 align:start position:0%
internal to the contract so this blue
contract<00:15:28.640><c> here</c><00:15:28.970><c> might</c><00:15:29.209><c> call</c><00:15:29.600><c> the</c><00:15:29.750><c> yellow</c>

00:15:30.060 --> 00:15:30.070 align:start position:0%
contract here might call the yellow
 

00:15:30.070 --> 00:15:33.280 align:start position:0%
contract here might call the yellow
contract<00:15:31.070><c> dog</c><00:15:31.310><c> the</c><00:15:31.640><c> blue</c><00:15:31.790><c> one</c><00:15:31.970><c> cat</c><00:15:32.269><c> and</c><00:15:32.839><c> you</c>

00:15:33.280 --> 00:15:33.290 align:start position:0%
contract dog the blue one cat and you
 

00:15:33.290 --> 00:15:36.100 align:start position:0%
contract dog the blue one cat and you
know<00:15:33.410><c> orange</c><00:15:34.220><c> one</c><00:15:34.370><c> something</c><00:15:34.760><c> else</c><00:15:34.940><c> but</c><00:15:35.930><c> it's</c>

00:15:36.100 --> 00:15:36.110 align:start position:0%
know orange one something else but it's
 

00:15:36.110 --> 00:15:38.259 align:start position:0%
know orange one something else but it's
only<00:15:36.320><c> relative</c><00:15:36.980><c> to</c><00:15:37.160><c> that</c><00:15:37.279><c> contract</c><00:15:37.699><c> the</c>

00:15:38.259 --> 00:15:38.269 align:start position:0%
only relative to that contract the
 

00:15:38.269 --> 00:15:40.120 align:start position:0%
only relative to that contract the
yellow<00:15:38.570><c> contract</c><00:15:39.380><c> might</c><00:15:39.560><c> have</c><00:15:39.709><c> a</c><00:15:39.740><c> different</c>

00:15:40.120 --> 00:15:40.130 align:start position:0%
yellow contract might have a different
 

00:15:40.130 --> 00:15:47.790 align:start position:0%
yellow contract might have a different
naming<00:15:45.399><c> but</c><00:15:46.399><c> these</c><00:15:46.519><c> ports</c><00:15:46.820><c> are</c><00:15:46.910><c> also</c><00:15:47.060><c> mobile</c>

00:15:47.790 --> 00:15:47.800 align:start position:0%
naming but these ports are also mobile
 

00:15:47.800 --> 00:15:52.120 align:start position:0%
naming but these ports are also mobile
so<00:15:48.800><c> the</c><00:15:48.920><c> graph</c><00:15:49.130><c> can</c><00:15:49.310><c> rearrange</c><00:15:50.740><c> for</c><00:15:51.740><c> example</c>

00:15:52.120 --> 00:15:52.130 align:start position:0%
so the graph can rearrange for example
 

00:15:52.130 --> 00:15:56.920 align:start position:0%
so the graph can rearrange for example
if<00:15:52.459><c> C</c><00:15:53.360><c> can</c><00:15:53.660><c> talk</c><00:15:53.839><c> to</c><00:15:53.990><c> B</c><00:15:54.199><c> or</c><00:15:54.709><c> eight</c><00:15:55.519><c> yes</c><00:15:55.850><c> if</c><00:15:56.360><c> C</c>

00:15:56.920 --> 00:15:56.930 align:start position:0%
if C can talk to B or eight yes if C
 

00:15:56.930 --> 00:15:58.870 align:start position:0%
if C can talk to B or eight yes if C
wants<00:15:57.079><c> to</c><00:15:57.290><c> talk</c><00:15:57.470><c> to</c><00:15:57.620><c> B</c><00:15:57.769><c> or</c><00:15:58.190><c> B</c><00:15:58.310><c> wants</c><00:15:58.640><c> to</c><00:15:58.699><c> talk</c><00:15:58.850><c> to</c>

00:15:58.870 --> 00:15:58.880 align:start position:0%
wants to talk to B or B wants to talk to
 

00:15:58.880 --> 00:16:02.079 align:start position:0%
wants to talk to B or B wants to talk to
C<00:15:59.180><c> and</c><00:15:59.620><c> but</c><00:16:00.620><c> only</c><00:16:00.890><c> a</c><00:16:01.010><c> can</c><00:16:01.339><c> talk</c><00:16:01.490><c> to</c><00:16:01.640><c> be</c><00:16:01.790><c> right</c>

00:16:02.079 --> 00:16:02.089 align:start position:0%
C and but only a can talk to be right
 

00:16:02.089 --> 00:16:09.480 align:start position:0%
C and but only a can talk to be right
now<00:16:02.300><c> I</c><00:16:02.540><c> received</c><00:16:03.350><c> then</c><00:16:04.190><c> a</c><00:16:04.459><c> can</c><00:16:05.300><c> send</c><00:16:05.690><c> E</c><00:16:08.470><c> the</c>

00:16:09.480 --> 00:16:09.490 align:start position:0%
now I received then a can send E the
 

00:16:09.490 --> 00:16:13.680 align:start position:0%
now I received then a can send E the
port<00:16:10.490><c> to</c><00:16:11.480><c> see</c><00:16:11.720><c> in</c><00:16:12.140><c> a</c><00:16:13.010><c> message</c>

00:16:13.680 --> 00:16:13.690 align:start position:0%
port to see in a message
 

00:16:13.690 --> 00:16:18.569 align:start position:0%
port to see in a message
so<00:16:14.690><c> now</c><00:16:15.620><c> B</c><00:16:15.829><c> can</c><00:16:16.070><c> talk</c><00:16:16.279><c> directly</c><00:16:16.399><c> to</c><00:16:16.730><c> C</c>

00:16:18.569 --> 00:16:18.579 align:start position:0%
so now B can talk directly to C
 

00:16:18.579 --> 00:16:21.670 align:start position:0%
so now B can talk directly to C
therefore<00:16:19.579><c> we</c><00:16:20.209><c> can</c><00:16:20.420><c> now</c><00:16:20.540><c> define</c><00:16:20.750><c> messages</c><00:16:21.470><c> as</c>

00:16:21.670 --> 00:16:21.680 align:start position:0%
therefore we can now define messages as
 

00:16:21.680 --> 00:16:29.970 align:start position:0%
therefore we can now define messages as
two<00:16:22.490><c> things</c><00:16:23.529><c> data</c><00:16:24.529><c> import</c><00:16:25.490><c> references</c><00:16:28.930><c> in</c>

00:16:29.970 --> 00:16:29.980 align:start position:0%
two things data import references in
 

00:16:29.980 --> 00:16:31.310 align:start position:0%
two things data import references in
this

00:16:31.310 --> 00:16:31.320 align:start position:0%
this
 

00:16:31.320 --> 00:16:35.420 align:start position:0%
this
might<00:16:32.160><c> be</c><00:16:32.630><c> you</c><00:16:33.630><c> might</c><00:16:33.690><c> observed</c><00:16:34.200><c> that</c><00:16:34.440><c> ports</c>

00:16:35.420 --> 00:16:35.430 align:start position:0%
might be you might observed that ports
 

00:16:35.430 --> 00:16:37.730 align:start position:0%
might be you might observed that ports
are<00:16:35.550><c> also</c><00:16:35.700><c> capabilities</c><00:16:36.600><c> here</c><00:16:36.960><c> as</c><00:16:37.170><c> in</c><00:16:37.710><c> the</c>

00:16:37.730 --> 00:16:37.740 align:start position:0%
are also capabilities here as in the
 

00:16:37.740 --> 00:16:43.340 align:start position:0%
are also capabilities here as in the
terms<00:16:38.130><c> of</c><00:16:38.340><c> capability</c><00:16:39.050><c> systems</c><00:16:40.850><c> so</c><00:16:42.230><c> it's</c><00:16:43.230><c> a</c>

00:16:43.340 --> 00:16:43.350 align:start position:0%
terms of capability systems so it's a
 

00:16:43.350 --> 00:16:48.320 align:start position:0%
terms of capability systems so it's a
capabilities<00:16:44.100><c> to</c><00:16:44.550><c> send</c><00:16:44.880><c> a</c><00:16:45.000><c> message</c><00:16:46.520><c> and</c><00:16:47.520><c> it's</c>

00:16:48.320 --> 00:16:48.330 align:start position:0%
capabilities to send a message and it's
 

00:16:48.330 --> 00:16:50.870 align:start position:0%
capabilities to send a message and it's
on<00:16:48.570><c> its</c><00:16:49.110><c> opaque</c><00:16:49.830><c> reference</c><00:16:50.250><c> it's</c><00:16:50.460><c> unforgeable</c>

00:16:50.870 --> 00:16:50.880 align:start position:0%
on its opaque reference it's unforgeable
 

00:16:50.880 --> 00:16:54.470 align:start position:0%
on its opaque reference it's unforgeable
you<00:16:51.660><c> can't</c><00:16:51.990><c> create</c><00:16:52.940><c> ports</c><00:16:53.940><c> they're</c>

00:16:54.470 --> 00:16:54.480 align:start position:0%
you can't create ports they're
 

00:16:54.480 --> 00:16:57.050 align:start position:0%
you can't create ports they're
maintained<00:16:55.080><c> by</c><00:16:55.260><c> the</c><00:16:55.320><c> system</c><00:16:55.910><c> if</c><00:16:56.910><c> you're</c>

00:16:57.050 --> 00:16:57.060 align:start position:0%
maintained by the system if you're
 

00:16:57.060 --> 00:16:59.630 align:start position:0%
maintained by the system if you're
interested<00:16:57.810><c> in</c><00:16:57.930><c> capabilities</c><00:16:58.680><c> to</c><00:16:59.220><c> check</c><00:16:59.490><c> out</c>

00:16:59.630 --> 00:16:59.640 align:start position:0%
interested in capabilities to check out
 

00:16:59.640 --> 00:17:03.520 align:start position:0%
interested in capabilities to check out
he<00:16:59.880><c> writes</c><00:17:00.150><c> it</c><00:17:00.480><c> was</c><00:17:00.570><c> a</c><00:17:00.770><c> pre</c><00:17:01.770><c> blockchain</c>

00:17:03.520 --> 00:17:03.530 align:start position:0%
he writes it was a pre blockchain
 

00:17:03.530 --> 00:17:12.560 align:start position:0%
he writes it was a pre blockchain
language<00:17:04.530><c> used</c><00:17:05.400><c> to</c><00:17:07.520><c> express</c><00:17:11.150><c> smart</c><00:17:12.150><c> contracts</c>

00:17:12.560 --> 00:17:12.570 align:start position:0%
language used to express smart contracts
 

00:17:12.570 --> 00:17:16.780 align:start position:0%
language used to express smart contracts
essentially<00:17:15.290><c> and</c><00:17:16.290><c> they're</c><00:17:16.470><c> also</c>

00:17:16.780 --> 00:17:16.790 align:start position:0%
essentially and they're also
 

00:17:16.790 --> 00:17:20.050 align:start position:0%
essentially and they're also
transferable<00:17:17.790><c> would</c><00:17:18.570><c> which</c><00:17:19.530><c> I</c><00:17:19.650><c> talked</c><00:17:19.800><c> about</c>

00:17:20.050 --> 00:17:20.060 align:start position:0%
transferable would which I talked about
 

00:17:20.060 --> 00:17:26.900 align:start position:0%
transferable would which I talked about
mobility<00:17:23.060><c> so</c><00:17:24.060><c> now</c><00:17:24.260><c> it</c><00:17:25.260><c> probably</c><00:17:25.890><c> should</c><00:17:26.790><c> be</c>

00:17:26.900 --> 00:17:26.910 align:start position:0%
mobility so now it probably should be
 

00:17:26.910 --> 00:17:29.840 align:start position:0%
mobility so now it probably should be
apparent<00:17:27.180><c> how</c><00:17:27.720><c> we</c><00:17:27.780><c> can</c><00:17:28.200><c> build</c><00:17:28.320><c> isolation</c><00:17:29.190><c> and</c>

00:17:29.840 --> 00:17:29.850 align:start position:0%
apparent how we can build isolation and
 

00:17:29.850 --> 00:17:32.600 align:start position:0%
apparent how we can build isolation and
how'd<00:17:30.120><c> it</c><00:17:30.150><c> so</c><00:17:30.990><c> for</c><00:17:31.530><c> example</c><00:17:31.890><c> you</c><00:17:32.220><c> might</c><00:17:32.370><c> have</c><00:17:32.430><c> a</c>

00:17:32.600 --> 00:17:32.610 align:start position:0%
how'd it so for example you might have a
 

00:17:32.610 --> 00:17:35.510 align:start position:0%
how'd it so for example you might have a
set<00:17:32.910><c> of</c><00:17:33.030><c> three</c><00:17:33.300><c> contracts</c><00:17:33.870><c> one</c><00:17:34.860><c> does</c><00:17:35.190><c> a</c>

00:17:35.510 --> 00:17:35.520 align:start position:0%
set of three contracts one does a
 

00:17:35.520 --> 00:17:39.170 align:start position:0%
set of three contracts one does a
syndication<00:17:36.000><c> object</c><00:17:36.620><c> ACL</c><00:17:37.620><c> right</c><00:17:38.370><c> the</c><00:17:39.090><c> other</c>

00:17:39.170 --> 00:17:39.180 align:start position:0%
syndication object ACL right the other
 

00:17:39.180 --> 00:17:41.660 align:start position:0%
syndication object ACL right the other
does<00:17:39.480><c> some</c><00:17:40.020><c> sort</c><00:17:40.290><c> of</c><00:17:40.350><c> business</c><00:17:40.500><c> logic</c><00:17:40.860><c> then</c><00:17:41.580><c> we</c>

00:17:41.660 --> 00:17:41.670 align:start position:0%
does some sort of business logic then we
 

00:17:41.670 --> 00:17:43.430 align:start position:0%
does some sort of business logic then we
have<00:17:41.760><c> another</c><00:17:41.850><c> contract</c><00:17:42.570><c> that</c><00:17:42.720><c> might</c><00:17:42.990><c> provide</c>

00:17:43.430 --> 00:17:43.440 align:start position:0%
have another contract that might provide
 

00:17:43.440 --> 00:17:50.150 align:start position:0%
have another contract that might provide
a<00:17:43.860><c> database</c><00:17:44.400><c> like</c><00:17:44.820><c> interface</c><00:17:47.810><c> and</c><00:17:49.160><c> no</c>

00:17:50.150 --> 00:17:50.160 align:start position:0%
a database like interface and no
 

00:17:50.160 --> 00:17:54.620 align:start position:0%
a database like interface and no
external<00:17:50.820><c> communication</c><00:17:51.770><c> can</c><00:17:52.770><c> happen</c><00:17:53.090><c> to</c><00:17:54.090><c> the</c>

00:17:54.620 --> 00:17:54.630 align:start position:0%
external communication can happen to the
 

00:17:54.630 --> 00:17:57.170 align:start position:0%
external communication can happen to the
contracts<00:17:55.230><c> in</c><00:17:55.530><c> yellow</c><00:17:56.000><c> everything</c><00:17:57.000><c> has</c><00:17:57.150><c> to</c>

00:17:57.170 --> 00:17:57.180 align:start position:0%
contracts in yellow everything has to
 

00:17:57.180 --> 00:18:01.340 align:start position:0%
contracts in yellow everything has to
pass<00:17:57.630><c> through</c><00:17:57.660><c> a</c><00:17:57.960><c> ten</c><00:17:58.170><c> occasion</c><00:17:58.820><c> I</c><00:17:59.840><c> think</c><00:18:00.840><c> this</c>

00:18:01.340 --> 00:18:01.350 align:start position:0%
pass through a ten occasion I think this
 

00:18:01.350 --> 00:18:02.120 align:start position:0%
pass through a ten occasion I think this
helps<00:18:01.530><c> us</c><00:18:01.770><c> a</c><00:18:01.920><c> lot</c>

00:18:02.120 --> 00:18:02.130 align:start position:0%
helps us a lot
 

00:18:02.130 --> 00:18:05.390 align:start position:0%
helps us a lot
reason<00:18:02.880><c> to</c><00:18:03.000><c> reason</c><00:18:03.810><c> about</c><00:18:03.930><c> security</c><00:18:04.530><c> because</c>

00:18:05.390 --> 00:18:05.400 align:start position:0%
reason to reason about security because
 

00:18:05.400 --> 00:18:11.080 align:start position:0%
reason to reason about security because
now<00:18:05.850><c> we</c><00:18:05.910><c> can</c><00:18:06.090><c> just</c><00:18:06.480><c> plug</c><00:18:06.750><c> and</c><00:18:06.900><c> play</c><00:18:08.360><c> contracts</c>

00:18:11.080 --> 00:18:11.090 align:start position:0%
now we can just plug and play contracts
 

00:18:11.090 --> 00:18:14.630 align:start position:0%
now we can just plug and play contracts
like<00:18:12.090><c> logic</c><00:18:12.960><c> business</c><00:18:13.500><c> logic</c><00:18:13.650><c> contracts</c><00:18:14.370><c> and</c>

00:18:14.630 --> 00:18:14.640 align:start position:0%
like logic business logic contracts and
 

00:18:14.640 --> 00:18:17.960 align:start position:0%
like logic business logic contracts and
data<00:18:14.790><c> based</c><00:18:15.090><c> contracts</c><00:18:16.310><c> without</c><00:18:17.310><c> having</c><00:18:17.820><c> to</c>

00:18:17.960 --> 00:18:17.970 align:start position:0%
data based contracts without having to
 

00:18:17.970 --> 00:18:19.610 align:start position:0%
data based contracts without having to
worry<00:18:18.090><c> about</c><00:18:18.150><c> security</c><00:18:18.620><c> implementations</c>

00:18:19.610 --> 00:18:19.620 align:start position:0%
worry about security implementations
 

00:18:19.620 --> 00:18:21.920 align:start position:0%
worry about security implementations
because<00:18:20.280><c> all</c><00:18:20.430><c> communication</c><00:18:21.120><c> has</c><00:18:21.270><c> to</c><00:18:21.510><c> pass</c>

00:18:21.920 --> 00:18:21.930 align:start position:0%
because all communication has to pass
 

00:18:21.930 --> 00:18:26.560 align:start position:0%
because all communication has to pass
through<00:18:22.070><c> the</c><00:18:23.070><c> sonication</c><00:18:23.850><c> era</c><00:18:24.210><c> ACL</c><00:18:24.780><c> contract</c>

00:18:26.560 --> 00:18:26.570 align:start position:0%
through the sonication era ACL contract
 

00:18:26.570 --> 00:18:30.020 align:start position:0%
through the sonication era ACL contract
so<00:18:27.570><c> if</c><00:18:28.260><c> you</c><00:18:28.410><c> were</c><00:18:28.530><c> to</c><00:18:28.650><c> audit</c><00:18:28.920><c> the</c><00:18:29.070><c> system</c><00:18:29.550><c> you</c>

00:18:30.020 --> 00:18:30.030 align:start position:0%
so if you were to audit the system you
 

00:18:30.030 --> 00:18:32.510 align:start position:0%
so if you were to audit the system you
would<00:18:30.180><c> really</c><00:18:30.420><c> just</c><00:18:30.630><c> have</c><00:18:30.840><c> to</c><00:18:30.870><c> focus</c><00:18:31.200><c> on</c><00:18:31.710><c> the</c>

00:18:32.510 --> 00:18:32.520 align:start position:0%
would really just have to focus on the
 

00:18:32.520 --> 00:18:36.260 align:start position:0%
would really just have to focus on the
authentication<00:18:34.550><c> and</c><00:18:35.550><c> you</c><00:18:35.700><c> could</c><00:18:35.880><c> just</c><00:18:36.060><c> use</c>

00:18:36.260 --> 00:18:36.270 align:start position:0%
authentication and you could just use
 

00:18:36.270 --> 00:18:39.590 align:start position:0%
authentication and you could just use
off-the-shelf<00:18:36.540><c> parts</c><00:18:37.430><c> for</c><00:18:38.450><c> everything</c><00:18:39.450><c> in</c>

00:18:39.590 --> 00:18:39.600 align:start position:0%
off-the-shelf parts for everything in
 

00:18:39.600 --> 00:18:41.280 align:start position:0%
off-the-shelf parts for everything in
the<00:18:39.780><c> isolated</c>

00:18:41.280 --> 00:18:41.290 align:start position:0%
the isolated
 

00:18:41.290 --> 00:18:46.110 align:start position:0%
the isolated
area<00:18:43.800><c> isolation</c><00:18:44.800><c> also</c><00:18:45.400><c> helps</c><00:18:45.760><c> us</c><00:18:45.880><c> build</c>

00:18:46.110 --> 00:18:46.120 align:start position:0%
area isolation also helps us build
 

00:18:46.120 --> 00:18:49.020 align:start position:0%
area isolation also helps us build
concurrency<00:18:47.020><c> so</c><00:18:47.980><c> knowing</c><00:18:48.370><c> who</c><00:18:48.520><c> can</c><00:18:48.730><c> talk</c><00:18:48.970><c> to</c>

00:18:49.020 --> 00:18:49.030 align:start position:0%
concurrency so knowing who can talk to
 

00:18:49.030 --> 00:18:53.970 align:start position:0%
concurrency so knowing who can talk to
who<00:18:51.330><c> allows</c><00:18:52.330><c> us</c><00:18:52.630><c> to</c><00:18:53.110><c> find</c><00:18:53.380><c> neutrally</c>

00:18:53.970 --> 00:18:53.980 align:start position:0%
who allows us to find neutrally
 

00:18:53.980 --> 00:18:58.770 align:start position:0%
who allows us to find neutrally
exclusive<00:18:54.700><c> sets</c><00:18:55.120><c> of</c><00:18:55.420><c> contracts</c><00:18:56.110><c> and</c><00:18:57.630><c> we</c><00:18:58.630><c> have</c>

00:18:58.770 --> 00:18:58.780 align:start position:0%
exclusive sets of contracts and we have
 

00:18:58.780 --> 00:19:01.500 align:start position:0%
exclusive sets of contracts and we have
if<00:18:59.140><c> we</c><00:18:59.320><c> have</c><00:18:59.350><c> mutually</c><00:19:00.280><c> exclusive</c><00:19:01.030><c> sets</c><00:19:01.330><c> of</c>

00:19:01.500 --> 00:19:01.510 align:start position:0%
if we have mutually exclusive sets of
 

00:19:01.510 --> 00:19:03.900 align:start position:0%
if we have mutually exclusive sets of
contracts<00:19:02.110><c> then</c><00:19:02.920><c> we</c><00:19:03.220><c> can</c><00:19:03.370><c> run</c><00:19:03.580><c> them</c><00:19:03.760><c> in</c>

00:19:03.900 --> 00:19:03.910 align:start position:0%
contracts then we can run them in
 

00:19:03.910 --> 00:19:09.540 align:start position:0%
contracts then we can run them in
parallel<00:19:06.480><c> so</c><00:19:07.740><c> there's</c><00:19:08.740><c> a</c><00:19:08.830><c> few</c><00:19:09.010><c> problems</c><00:19:09.430><c> with</c>

00:19:09.540 --> 00:19:09.550 align:start position:0%
parallel so there's a few problems with
 

00:19:09.550 --> 00:19:14.160 align:start position:0%
parallel so there's a few problems with
ports<00:19:10.090><c> and</c><00:19:10.390><c> channels</c><00:19:11.730><c> from</c><00:19:12.900><c> the</c><00:19:13.900><c> point</c><00:19:14.140><c> of</c>

00:19:14.160 --> 00:19:14.170 align:start position:0%
ports and channels from the point of
 

00:19:14.170 --> 00:19:18.840 align:start position:0%
ports and channels from the point of
view<00:19:14.290><c> of</c><00:19:14.620><c> CSP</c><00:19:15.990><c> that</c><00:19:16.990><c> and</c><00:19:17.230><c> there</c><00:19:17.410><c> that</c><00:19:17.800><c> that</c><00:19:18.610><c> is</c>

00:19:18.840 --> 00:19:18.850 align:start position:0%
view of CSP that and there that that is
 

00:19:18.850 --> 00:19:21.690 align:start position:0%
view of CSP that and there that that is
there's<00:19:19.300><c> a</c><00:19:20.140><c> system</c><00:19:20.950><c> overhead</c><00:19:21.340><c> associated</c>

00:19:21.690 --> 00:19:21.700 align:start position:0%
there's a system overhead associated
 

00:19:21.700 --> 00:19:24.510 align:start position:0%
there's a system overhead associated
with<00:19:22.240><c> it</c><00:19:22.420><c> since</c><00:19:23.110><c> there's</c><00:19:23.410><c> always</c><00:19:23.650><c> by</c><00:19:23.980><c> D</c><00:19:24.040><c> a</c>

00:19:24.510 --> 00:19:24.520 align:start position:0%
with it since there's always by D a
 

00:19:24.520 --> 00:19:26.550 align:start position:0%
with it since there's always by D a
bi-directional<00:19:25.240><c> communication</c><00:19:26.050><c> happening</c>

00:19:26.550 --> 00:19:26.560 align:start position:0%
bi-directional communication happening
 

00:19:26.560 --> 00:19:29.400 align:start position:0%
bi-directional communication happening
for<00:19:26.740><c> every</c><00:19:26.920><c> channel</c><00:19:27.360><c> whenever</c><00:19:28.360><c> you</c><00:19:28.870><c> move</c><00:19:29.110><c> a</c>

00:19:29.400 --> 00:19:29.410 align:start position:0%
for every channel whenever you move a
 

00:19:29.410 --> 00:19:32.250 align:start position:0%
for every channel whenever you move a
port<00:19:29.740><c> then</c><00:19:30.280><c> the</c><00:19:30.640><c> system</c><00:19:31.090><c> also</c><00:19:31.300><c> has</c><00:19:31.630><c> to</c><00:19:31.810><c> update</c>

00:19:32.250 --> 00:19:32.260 align:start position:0%
port then the system also has to update
 

00:19:32.260 --> 00:19:35.070 align:start position:0%
port then the system also has to update
the<00:19:32.470><c> other</c><00:19:32.590><c> port</c><00:19:33.550><c> on</c><00:19:33.760><c> the</c><00:19:34.030><c> new</c><00:19:34.360><c> location</c><00:19:34.960><c> at</c>

00:19:35.070 --> 00:19:35.080 align:start position:0%
the other port on the new location at
 

00:19:35.080 --> 00:19:38.850 align:start position:0%
the other port on the new location at
the<00:19:35.230><c> port</c><00:19:36.930><c> also</c><00:19:37.930><c> I</c><00:19:38.110><c> think</c><00:19:38.350><c> there's</c><00:19:38.530><c> too</c><00:19:38.710><c> much</c>

00:19:38.850 --> 00:19:38.860 align:start position:0%
the port also I think there's too much
 

00:19:38.860 --> 00:19:42.930 align:start position:0%
the port also I think there's too much
restriction<00:19:39.580><c> because</c><00:19:40.120><c> we</c><00:19:40.420><c> still</c><00:19:41.790><c> think</c><00:19:42.790><c> it's</c>

00:19:42.930 --> 00:19:42.940 align:start position:0%
restriction because we still think it's
 

00:19:42.940 --> 00:19:48.320 align:start position:0%
restriction because we still think it's
still<00:19:43.090><c> useful</c><00:19:43.420><c> to</c><00:19:43.690><c> have</c><00:19:46.380><c> etherium</c><00:19:47.380><c> style</c>

00:19:48.320 --> 00:19:48.330 align:start position:0%
still useful to have etherium style
 

00:19:48.330 --> 00:19:53.250 align:start position:0%
still useful to have etherium style
message<00:19:49.410><c> in</c><00:19:50.410><c> wear</c><00:19:50.860><c> a</c><00:19:51.480><c> condom</c><00:19:52.480><c> track</c><00:19:52.870><c> and</c><00:19:53.080><c> just</c>

00:19:53.250 --> 00:19:53.260 align:start position:0%
message in wear a condom track and just
 

00:19:53.260 --> 00:19:59.010 align:start position:0%
message in wear a condom track and just
send<00:19:54.210><c> to</c><00:19:55.210><c> a</c><00:19:55.530><c> synthesized</c><00:19:56.530><c> address</c><00:19:57.660><c> not</c><00:19:58.660><c> an</c>

00:19:59.010 --> 00:19:59.020 align:start position:0%
send to a synthesized address not an
 

00:19:59.020 --> 00:20:04.070 align:start position:0%
send to a synthesized address not an
opaque<00:19:59.320><c> address</c><00:19:59.950><c> maintained</c><00:20:00.760><c> by</c><00:20:00.880><c> the</c><00:20:00.940><c> system</c>

00:20:04.070 --> 00:20:04.080 align:start position:0%
 
 

00:20:04.080 --> 00:20:07.620 align:start position:0%
 
so<00:20:05.490><c> if</c><00:20:06.490><c> we</c><00:20:06.670><c> loosen</c><00:20:07.000><c> the</c><00:20:07.090><c> restrictions</c><00:20:07.480><c> on</c>

00:20:07.620 --> 00:20:07.630 align:start position:0%
so if we loosen the restrictions on
 

00:20:07.630 --> 00:20:11.280 align:start position:0%
so if we loosen the restrictions on
channels<00:20:08.020><c> we</c><00:20:08.380><c> just</c><00:20:08.620><c> have</c><00:20:08.740><c> addresses</c><00:20:10.170><c> but</c><00:20:11.170><c> we</c>

00:20:11.280 --> 00:20:11.290 align:start position:0%
channels we just have addresses but we
 

00:20:11.290 --> 00:20:13.650 align:start position:0%
channels we just have addresses but we
still<00:20:11.560><c> can</c><00:20:11.800><c> maintain</c><00:20:12.010><c> the</c><00:20:12.490><c> idea</c><00:20:12.820><c> and</c><00:20:13.450><c> all</c><00:20:13.540><c> the</c>

00:20:13.650 --> 00:20:13.660 align:start position:0%
still can maintain the idea and all the
 

00:20:13.660 --> 00:20:15.240 align:start position:0%
still can maintain the idea and all the
good<00:20:13.810><c> things</c><00:20:13.840><c> with</c><00:20:14.350><c> channels</c><00:20:14.680><c> of</c><00:20:14.920><c> like</c>

00:20:15.240 --> 00:20:15.250 align:start position:0%
good things with channels of like
 

00:20:15.250 --> 00:20:19.500 align:start position:0%
good things with channels of like
isolation<00:20:16.000><c> and</c><00:20:16.450><c> whatnot</c><00:20:16.780><c> if</c><00:20:17.680><c> we</c><00:20:18.490><c> have</c><00:20:18.730><c> opaque</c>

00:20:19.500 --> 00:20:19.510 align:start position:0%
isolation and whatnot if we have opaque
 

00:20:19.510 --> 00:20:23.520 align:start position:0%
isolation and whatnot if we have opaque
addresses<00:20:20.320><c> and</c><00:20:21.360><c> opaque</c><00:20:22.360><c> addresses</c><00:20:23.050><c> were</c><00:20:23.290><c> just</c>

00:20:23.520 --> 00:20:23.530 align:start position:0%
addresses and opaque addresses were just
 

00:20:23.530 --> 00:20:27.200 align:start position:0%
addresses and opaque addresses were just
like<00:20:23.770><c> ports</c><00:20:25.080><c> opaque</c><00:20:26.080><c> address</c><00:20:26.560><c> is</c><00:20:26.740><c> something</c>

00:20:27.200 --> 00:20:27.210 align:start position:0%
like ports opaque address is something
 

00:20:27.210 --> 00:20:30.090 align:start position:0%
like ports opaque address is something
maintained<00:20:28.210><c> by</c><00:20:28.390><c> the</c><00:20:28.450><c> system</c><00:20:28.930><c> you</c><00:20:29.830><c> can't</c>

00:20:30.090 --> 00:20:30.100 align:start position:0%
maintained by the system you can't
 

00:20:30.100 --> 00:20:32.430 align:start position:0%
maintained by the system you can't
synthesize<00:20:30.490><c> it</c>

00:20:32.430 --> 00:20:32.440 align:start position:0%
synthesize it
 

00:20:32.440 --> 00:20:35.390 align:start position:0%
synthesize it
you<00:20:33.160><c> just</c><00:20:33.400><c> get</c><00:20:33.550><c> a</c><00:20:33.580><c> reference</c><00:20:34.030><c> to</c><00:20:34.360><c> it</c><00:20:34.540><c> in</c><00:20:34.570><c> your</c>

00:20:35.390 --> 00:20:35.400 align:start position:0%
you just get a reference to it in your
 

00:20:35.400 --> 00:20:40.470 align:start position:0%
you just get a reference to it in your
contract<00:20:37.110><c> and</c><00:20:38.110><c> as</c><00:20:38.920><c> where</c><00:20:39.280><c> ports</c><00:20:40.000><c> and</c><00:20:40.150><c> channels</c>

00:20:40.470 --> 00:20:40.480 align:start position:0%
contract and as where ports and channels
 

00:20:40.480 --> 00:20:42.340 align:start position:0%
contract and as where ports and channels
are<00:20:40.630><c> bi-directional</c>

00:20:42.340 --> 00:20:42.350 align:start position:0%
are bi-directional
 

00:20:42.350 --> 00:20:45.080 align:start position:0%
are bi-directional
addresses<00:20:43.350><c> are</c><00:20:43.620><c> not</c><00:20:44.580><c> and</c><00:20:44.910><c> they</c><00:20:45.060><c> are</c>

00:20:45.080 --> 00:20:45.090 align:start position:0%
addresses are not and they are
 

00:20:45.090 --> 00:20:48.740 align:start position:0%
addresses are not and they are
unidirectional<00:20:46.460><c> so</c><00:20:47.460><c> if</c><00:20:47.850><c> you</c><00:20:48.000><c> if</c><00:20:48.300><c> I</c><00:20:48.480><c> have</c><00:20:48.660><c> an</c>

00:20:48.740 --> 00:20:48.750 align:start position:0%
unidirectional so if you if I have an
 

00:20:48.750 --> 00:20:50.840 align:start position:0%
unidirectional so if you if I have an
address<00:20:48.930><c> to</c><00:20:49.440><c> a</c><00:20:49.470><c> contract</c><00:20:49.980><c> I</c><00:20:50.220><c> can</c><00:20:50.520><c> send</c><00:20:50.760><c> that</c>

00:20:50.840 --> 00:20:50.850 align:start position:0%
address to a contract I can send that
 

00:20:50.850 --> 00:20:53.810 align:start position:0%
address to a contract I can send that
message<00:20:51.030><c> to</c><00:20:51.210><c> it</c><00:20:51.630><c> and</c><00:20:51.870><c> I</c><00:20:52.380><c> also</c><00:20:52.560><c> can</c><00:20:52.830><c> send</c><00:20:53.190><c> the</c>

00:20:53.810 --> 00:20:53.820 align:start position:0%
message to it and I also can send the
 

00:20:53.820 --> 00:20:56.420 align:start position:0%
message to it and I also can send the
address<00:20:54.030><c> to</c><00:20:54.450><c> another</c><00:20:55.050><c> contract</c><00:20:55.740><c> and</c><00:20:56.070><c> then</c>

00:20:56.420 --> 00:20:56.430 align:start position:0%
address to another contract and then
 

00:20:56.430 --> 00:20:57.830 align:start position:0%
address to another contract and then
that<00:20:56.640><c> other</c><00:20:56.790><c> contract</c><00:20:57.270><c> can</c><00:20:57.390><c> send</c><00:20:57.630><c> a</c><00:20:57.720><c> message</c>

00:20:57.830 --> 00:20:57.840 align:start position:0%
that other contract can send a message
 

00:20:57.840 --> 00:21:01.340 align:start position:0%
that other contract can send a message
to<00:20:58.320><c> the</c><00:20:58.500><c> contract</c><00:20:59.570><c> they</c><00:21:00.570><c> maintain</c><00:21:00.990><c> the</c><00:21:01.140><c> same</c>

00:21:01.340 --> 00:21:01.350 align:start position:0%
to the contract they maintain the same
 

00:21:01.350 --> 00:21:09.290 align:start position:0%
to the contract they maintain the same
properties<00:21:01.980><c> as</c><00:21:02.480><c> capabilities</c><00:21:08.000><c> so</c><00:21:09.000><c> yeah</c><00:21:09.150><c> it</c>

00:21:09.290 --> 00:21:09.300 align:start position:0%
properties as capabilities so yeah it
 

00:21:09.300 --> 00:21:11.180 align:start position:0%
properties as capabilities so yeah it
has<00:21:09.450><c> all</c><00:21:09.600><c> good</c><00:21:09.840><c> properties</c><00:21:10.350><c> unless</c><00:21:10.770><c> system</c>

00:21:11.180 --> 00:21:11.190 align:start position:0%
has all good properties unless system
 

00:21:11.190 --> 00:21:13.640 align:start position:0%
has all good properties unless system
over<00:21:11.430><c> hood</c><00:21:11.900><c> especially</c><00:21:12.900><c> with</c><00:21:13.200><c> regards</c><00:21:13.560><c> to</c>

00:21:13.640 --> 00:21:13.650 align:start position:0%
over hood especially with regards to
 

00:21:13.650 --> 00:21:16.150 align:start position:0%
over hood especially with regards to
mobility<00:21:13.860><c> because</c><00:21:14.820><c> now</c><00:21:14.970><c> when</c><00:21:15.150><c> we</c><00:21:15.330><c> move</c>

00:21:16.150 --> 00:21:16.160 align:start position:0%
mobility because now when we move
 

00:21:16.160 --> 00:21:18.950 align:start position:0%
mobility because now when we move
addresses<00:21:17.160><c> around</c><00:21:17.280><c> in</c><00:21:17.610><c> messages</c><00:21:18.120><c> we</c><00:21:18.780><c> don't</c>

00:21:18.950 --> 00:21:18.960 align:start position:0%
addresses around in messages we don't
 

00:21:18.960 --> 00:21:21.140 align:start position:0%
addresses around in messages we don't
have<00:21:19.200><c> to</c><00:21:19.440><c> update</c><00:21:19.830><c> the</c><00:21:20.160><c> corresponding</c>

00:21:21.140 --> 00:21:21.150 align:start position:0%
have to update the corresponding
 

00:21:21.150 --> 00:21:24.440 align:start position:0%
have to update the corresponding
contract<00:21:21.810><c> that</c><00:21:21.990><c> it</c><00:21:22.110><c> points</c><00:21:22.500><c> to</c><00:21:22.910><c> on</c><00:21:23.910><c> the</c><00:21:24.090><c> system</c>

00:21:24.440 --> 00:21:24.450 align:start position:0%
contract that it points to on the system
 

00:21:24.450 --> 00:21:27.950 align:start position:0%
contract that it points to on the system
level<00:21:25.250><c> also</c><00:21:26.250><c> we</c><00:21:26.550><c> can</c><00:21:26.700><c> layer</c><00:21:26.960><c> synthesizing</c>

00:21:27.950 --> 00:21:27.960 align:start position:0%
level also we can layer synthesizing
 

00:21:27.960 --> 00:21:30.400 align:start position:0%
level also we can layer synthesizing
addresses<00:21:28.560><c> on</c><00:21:28.710><c> top</c><00:21:28.920><c> of</c><00:21:29.100><c> this</c><00:21:29.220><c> you</c><00:21:29.730><c> have</c>

00:21:30.400 --> 00:21:30.410 align:start position:0%
addresses on top of this you have
 

00:21:30.410 --> 00:21:34.630 align:start position:0%
addresses on top of this you have
theorem<00:21:31.410><c> to</c><00:21:31.620><c> represent</c><00:21:32.070><c> a</c><00:21:32.130><c> theorem</c><00:21:32.520><c> style</c>

00:21:34.630 --> 00:21:34.640 align:start position:0%
theorem to represent a theorem style
 

00:21:34.640 --> 00:21:37.520 align:start position:0%
theorem to represent a theorem style
contracts<00:21:35.640><c> where</c><00:21:35.910><c> a</c><00:21:36.270><c> contract</c><00:21:36.990><c> could</c><00:21:37.170><c> take</c><00:21:37.350><c> in</c>

00:21:37.520 --> 00:21:37.530 align:start position:0%
contracts where a contract could take in
 

00:21:37.530 --> 00:21:40.780 align:start position:0%
contracts where a contract could take in
a<00:21:37.560><c> string</c><00:21:37.980><c> and</c><00:21:38.240><c> didn't</c><00:21:39.240><c> use</c><00:21:39.390><c> that</c><00:21:39.570><c> string</c><00:21:39.930><c> to</c>

00:21:40.780 --> 00:21:40.790 align:start position:0%
a string and didn't use that string to
 

00:21:40.790 --> 00:21:47.150 align:start position:0%
a string and didn't use that string to
send<00:21:41.790><c> a</c><00:21:41.880><c> message</c><00:21:42.180><c> to</c><00:21:42.210><c> address</c><00:21:45.680><c> so</c><00:21:46.680><c> now</c><00:21:46.860><c> we</c><00:21:46.920><c> can</c>

00:21:47.150 --> 00:21:47.160 align:start position:0%
send a message to address so now we can
 

00:21:47.160 --> 00:21:49.850 align:start position:0%
send a message to address so now we can
really<00:21:47.520><c> talk</c><00:21:47.760><c> about</c><00:21:48.440><c> synchronous</c><00:21:49.440><c> calling</c>

00:21:49.850 --> 00:21:49.860 align:start position:0%
really talk about synchronous calling
 

00:21:49.860 --> 00:21:54.940 align:start position:0%
really talk about synchronous calling
after<00:21:50.400><c> we</c><00:21:50.520><c> have</c><00:21:50.730><c> all</c><00:21:51.030><c> the</c><00:21:51.150><c> prerequisites</c><00:21:51.980><c> so</c>

00:21:54.940 --> 00:21:54.950 align:start position:0%
after we have all the prerequisites so
 

00:21:54.950 --> 00:21:57.590 align:start position:0%
after we have all the prerequisites so
synchronous<00:21:55.950><c> calling</c><00:21:56.580><c> currently</c><00:21:57.120><c> works</c><00:21:57.330><c> like</c>

00:21:57.590 --> 00:21:57.600 align:start position:0%
synchronous calling currently works like
 

00:21:57.600 --> 00:22:04.370 align:start position:0%
synchronous calling currently works like
this<00:21:57.950><c> a</c><00:22:00.920><c> B</c><00:22:01.920><c> and</c><00:22:02.430><c> after</c><00:22:02.850><c> it</c><00:22:02.910><c> calls</c><00:22:03.150><c> be</c><00:22:03.570><c> asked</c><00:22:04.140><c> to</c>

00:22:04.370 --> 00:22:04.380 align:start position:0%
this a B and after it calls be asked to
 

00:22:04.380 --> 00:22:07.250 align:start position:0%
this a B and after it calls be asked to
pull<00:22:04.980><c> off</c><00:22:05.160><c> it</c><00:22:05.520><c> can't</c><00:22:05.730><c> do</c><00:22:05.880><c> anything</c><00:22:06.110><c> let's</c><00:22:07.110><c> say</c>

00:22:07.250 --> 00:22:07.260 align:start position:0%
pull off it can't do anything let's say
 

00:22:07.260 --> 00:22:10.160 align:start position:0%
pull off it can't do anything let's say
a<00:22:07.290><c> has</c><00:22:07.740><c> like</c><00:22:07.950><c> 100</c><00:22:08.130><c> bytes</c><00:22:08.720><c> allocated</c><00:22:09.720><c> in</c><00:22:09.840><c> memory</c>

00:22:10.160 --> 00:22:10.170 align:start position:0%
a has like 100 bytes allocated in memory
 

00:22:10.170 --> 00:22:12.050 align:start position:0%
a has like 100 bytes allocated in memory
well<00:22:10.620><c> we</c><00:22:10.710><c> have</c><00:22:10.890><c> to</c><00:22:10.980><c> just</c><00:22:11.130><c> keep</c><00:22:11.430><c> that</c><00:22:11.580><c> there</c>

00:22:12.050 --> 00:22:12.060 align:start position:0%
well we have to just keep that there
 

00:22:12.060 --> 00:22:14.540 align:start position:0%
well we have to just keep that there
and<00:22:12.210><c> then</c><00:22:12.630><c> now</c><00:22:13.260><c> B's</c><00:22:13.560><c> running</c><00:22:14.040><c> and</c><00:22:14.280><c> it</c>

00:22:14.540 --> 00:22:14.550 align:start position:0%
and then now B's running and it
 

00:22:14.550 --> 00:22:16.760 align:start position:0%
and then now B's running and it
allocates<00:22:14.910><c> another</c><00:22:15.300><c> 100</c><00:22:16.230><c> bytes</c><00:22:16.350><c> so</c><00:22:16.560><c> we</c><00:22:16.650><c> have</c>

00:22:16.760 --> 00:22:16.770 align:start position:0%
allocates another 100 bytes so we have
 

00:22:16.770 --> 00:22:20.030 align:start position:0%
allocates another 100 bytes so we have
to<00:22:16.860><c> keep</c><00:22:17.100><c> 200</c><00:22:17.580><c> bytes</c><00:22:17.730><c> in</c><00:22:18.450><c> memory</c><00:22:18.680><c> and</c><00:22:19.680><c> they</c>

00:22:20.030 --> 00:22:20.040 align:start position:0%
to keep 200 bytes in memory and they
 

00:22:20.040 --> 00:22:21.800 align:start position:0%
to keep 200 bytes in memory and they
still<00:22:20.340><c> can't</c><00:22:20.550><c> do</c><00:22:20.670><c> anything</c><00:22:20.940><c> now</c>

00:22:21.800 --> 00:22:21.810 align:start position:0%
still can't do anything now
 

00:22:21.810 --> 00:22:26.210 align:start position:0%
still can't do anything now
we<00:22:22.170><c> call</c><00:22:22.500><c> see</c><00:22:23.150><c> now</c><00:22:24.150><c> B's</c><00:22:24.390><c> paused</c><00:22:24.720><c> so</c><00:22:25.470><c> as</c><00:22:25.740><c> you</c><00:22:26.070><c> can</c>

00:22:26.210 --> 00:22:26.220 align:start position:0%
we call see now B's paused so as you can
 

00:22:26.220 --> 00:22:29.230 align:start position:0%
we call see now B's paused so as you can
see<00:22:26.280><c> we</c><00:22:26.790><c> sort</c><00:22:27.030><c> of</c><00:22:27.090><c> get</c><00:22:27.300><c> this</c><00:22:27.480><c> linear</c><00:22:28.020><c> growth</c><00:22:28.410><c> in</c>

00:22:29.230 --> 00:22:29.240 align:start position:0%
see we sort of get this linear growth in
 

00:22:29.240 --> 00:22:37.010 align:start position:0%
see we sort of get this linear growth in
resource<00:22:30.240><c> consumption</c><00:22:32.480><c> where</c><00:22:35.480><c> only</c><00:22:36.480><c> the</c><00:22:36.840><c> act</c>

00:22:37.010 --> 00:22:37.020 align:start position:0%
resource consumption where only the act
 

00:22:37.020 --> 00:22:42.170 align:start position:0%
resource consumption where only the act
of<00:22:37.290><c> contract</c><00:22:38.010><c> can</c><00:22:38.430><c> use</c><00:22:39.330><c> resources</c><00:22:40.790><c> but</c><00:22:41.790><c> none</c>

00:22:42.170 --> 00:22:42.180 align:start position:0%
of contract can use resources but none
 

00:22:42.180 --> 00:22:44.930 align:start position:0%
of contract can use resources but none
of<00:22:42.480><c> the</c><00:22:42.630><c> other</c><00:22:42.950><c> contracts</c><00:22:43.950><c> can</c><00:22:44.370><c> there</c>

00:22:44.930 --> 00:22:44.940 align:start position:0%
of the other contracts can there
 

00:22:44.940 --> 00:22:49.320 align:start position:0%
of the other contracts can there
frozen's<00:22:45.420><c> is</c><00:22:45.660><c> sort</c><00:22:45.990><c> of</c><00:22:46.050><c> like</c><00:22:46.200><c> going</c><00:22:46.260><c> to</c><00:22:46.530><c> waste</c>

00:22:49.320 --> 00:22:49.330 align:start position:0%
 
 

00:22:49.330 --> 00:22:52.540 align:start position:0%
 
also<00:22:50.330><c> atomicity</c><00:22:51.050><c> and</c><00:22:51.530><c> the</c><00:22:51.620><c> sudden</c><00:22:51.890><c> thing</c><00:22:52.190><c> is</c>

00:22:52.540 --> 00:22:52.550 align:start position:0%
also atomicity and the sudden thing is
 

00:22:52.550 --> 00:22:55.120 align:start position:0%
also atomicity and the sudden thing is
really<00:22:52.910><c> expensive</c><00:22:53.420><c> it's</c><00:22:54.350><c> not</c><00:22:54.410><c> only</c><00:22:54.890><c> do</c><00:22:55.010><c> we</c>

00:22:55.120 --> 00:22:55.130 align:start position:0%
really expensive it's not only do we
 

00:22:55.130 --> 00:22:57.340 align:start position:0%
really expensive it's not only do we
have<00:22:55.310><c> the</c><00:22:55.700><c> resources</c><00:22:56.330><c> in</c><00:22:56.390><c> terms</c><00:22:56.750><c> of</c><00:22:57.080><c> memory</c>

00:22:57.340 --> 00:22:57.350 align:start position:0%
have the resources in terms of memory
 

00:22:57.350 --> 00:23:01.390 align:start position:0%
have the resources in terms of memory
and<00:22:57.940><c> computation</c><00:22:58.940><c> like</c><00:22:59.980><c> frozen</c><00:23:00.980><c> and</c><00:23:01.130><c> going</c><00:23:01.310><c> to</c>

00:23:01.390 --> 00:23:01.400 align:start position:0%
and computation like frozen and going to
 

00:23:01.400 --> 00:23:06.460 align:start position:0%
and computation like frozen and going to
waste<00:23:03.610><c> reverting</c><00:23:04.610><c> adds</c><00:23:05.510><c> a</c><00:23:05.840><c> lot</c><00:23:05.990><c> of</c><00:23:06.050><c> overhead</c>

00:23:06.460 --> 00:23:06.470 align:start position:0%
waste reverting adds a lot of overhead
 

00:23:06.470 --> 00:23:10.210 align:start position:0%
waste reverting adds a lot of overhead
or<00:23:07.160><c> atomicity</c><00:23:07.880><c> so</c><00:23:08.600><c> for</c><00:23:09.080><c> example</c><00:23:09.410><c> when</c><00:23:09.650><c> a</c><00:23:09.830><c> calls</c>

00:23:10.210 --> 00:23:10.220 align:start position:0%
or atomicity so for example when a calls
 

00:23:10.220 --> 00:23:14.110 align:start position:0%
or atomicity so for example when a calls
be<00:23:10.870><c> now</c><00:23:11.870><c> we</c><00:23:11.930><c> need</c><00:23:12.230><c> to</c><00:23:12.320><c> keep</c><00:23:12.560><c> pace</c><00:23:13.460><c> modified</c>

00:23:14.110 --> 00:23:14.120 align:start position:0%
be now we need to keep pace modified
 

00:23:14.120 --> 00:23:16.480 align:start position:0%
be now we need to keep pace modified
state<00:23:14.480><c> and</c><00:23:14.720><c> these</c><00:23:15.200><c> modified</c><00:23:15.770><c> State</c>

00:23:16.480 --> 00:23:16.490 align:start position:0%
state and these modified State
 

00:23:16.490 --> 00:23:21.070 align:start position:0%
state and these modified State
then<00:23:17.360><c> 1c</c><00:23:18.190><c> wouldn't</c><00:23:19.190><c> be</c><00:23:19.250><c> called</c><00:23:19.490><c> C</c><00:23:19.870><c> we</c><00:23:20.870><c> also</c>

00:23:21.070 --> 00:23:21.080 align:start position:0%
then 1c wouldn't be called C we also
 

00:23:21.080 --> 00:23:23.860 align:start position:0%
then 1c wouldn't be called C we also
have<00:23:21.740><c> to</c><00:23:21.860><c> keep</c><00:23:22.040><c> a</c><00:23:22.220><c> it's</c><00:23:22.790><c> modified</c><00:23:23.270><c> state</c><00:23:23.540><c> B's</c>

00:23:23.860 --> 00:23:23.870 align:start position:0%
have to keep a it's modified state B's
 

00:23:23.870 --> 00:23:26.860 align:start position:0%
have to keep a it's modified state B's
modified<00:23:24.470><c> state</c><00:23:24.860><c> C's</c><00:23:25.400><c> modifies</c><00:23:26.000><c> the</c><00:23:26.630><c> state</c>

00:23:26.860 --> 00:23:26.870 align:start position:0%
modified state C's modifies the state
 

00:23:26.870 --> 00:23:29.800 align:start position:0%
modified state C's modifies the state
and<00:23:27.410><c> then</c><00:23:27.560><c> when</c><00:23:27.770><c> C's</c><00:23:28.040><c> done</c><00:23:28.310><c> running</c><00:23:28.600><c> we</c><00:23:29.600><c> still</c>

00:23:29.800 --> 00:23:29.810 align:start position:0%
and then when C's done running we still
 

00:23:29.810 --> 00:23:31.720 align:start position:0%
and then when C's done running we still
have<00:23:29.960><c> to</c><00:23:30.080><c> keep</c><00:23:30.200><c> around</c><00:23:30.470><c> C's</c><00:23:30.770><c> modified</c><00:23:31.340><c> State</c>

00:23:31.720 --> 00:23:31.730 align:start position:0%
have to keep around C's modified State
 

00:23:31.730 --> 00:23:34.900 align:start position:0%
have to keep around C's modified State
and<00:23:32.570><c> B's</c><00:23:33.020><c> and</c><00:23:33.230><c> A's</c><00:23:33.560><c> and</c><00:23:33.830><c> then</c><00:23:34.250><c> when</c><00:23:34.430><c> B's</c><00:23:34.610><c> done</c>

00:23:34.900 --> 00:23:34.910 align:start position:0%
and B's and A's and then when B's done
 

00:23:34.910 --> 00:23:40.540 align:start position:0%
and B's and A's and then when B's done
running<00:23:35.090><c> we</c><00:23:35.570><c> have</c><00:23:35.600><c> to</c><00:23:35.840><c> do</c><00:23:35.990><c> the</c><00:23:36.140><c> same</c><00:23:36.350><c> for</c><00:23:36.680><c> a</c><00:23:39.550><c> so</c>

00:23:40.540 --> 00:23:40.550 align:start position:0%
running we have to do the same for a so
 

00:23:40.550 --> 00:23:45.040 align:start position:0%
running we have to do the same for a so
if<00:23:41.540><c> you</c><00:23:41.810><c> loosen</c><00:23:42.170><c> this</c><00:23:42.200><c> restriction</c><00:23:43.060><c> and</c><00:23:44.060><c> have</c>

00:23:45.040 --> 00:23:45.050 align:start position:0%
if you loosen this restriction and have
 

00:23:45.050 --> 00:23:48.280 align:start position:0%
if you loosen this restriction and have
just<00:23:45.490><c> contracts</c><00:23:46.490><c> running</c><00:23:46.880><c> concurrently</c><00:23:47.290><c> well</c>

00:23:48.280 --> 00:23:48.290 align:start position:0%
just contracts running concurrently well
 

00:23:48.290 --> 00:23:51.400 align:start position:0%
just contracts running concurrently well
what<00:23:48.920><c> would</c><00:23:49.010><c> happen</c><00:23:49.190><c> is</c><00:23:49.900><c> from</c><00:23:50.900><c> a</c><00:23:51.050><c> system</c>

00:23:51.400 --> 00:23:51.410 align:start position:0%
what would happen is from a system
 

00:23:51.410 --> 00:23:54.040 align:start position:0%
what would happen is from a system
restore<00:23:51.650><c> point</c><00:23:52.520><c> of</c><00:23:52.640><c> view</c><00:23:52.760><c> it</c><00:23:53.240><c> would</c><00:23:53.420><c> run</c><00:23:53.780><c> I</c>

00:23:54.040 --> 00:23:54.050 align:start position:0%
restore point of view it would run I
 

00:23:54.050 --> 00:23:56.260 align:start position:0%
restore point of view it would run I
would<00:23:54.680><c> have</c><00:23:54.920><c> a</c><00:23:54.950><c> hundred</c><00:23:55.370><c> bytes</c><00:23:55.550><c> located</c><00:23:56.150><c> in</c>

00:23:56.260 --> 00:23:56.270 align:start position:0%
would have a hundred bytes located in
 

00:23:56.270 --> 00:23:59.050 align:start position:0%
would have a hundred bytes located in
memory<00:23:56.630><c> and</c><00:23:56.840><c> then</c><00:23:57.230><c> it</c><00:23:57.380><c> would</c><00:23:57.470><c> be</c><00:23:57.500><c> freed</c><00:23:57.830><c> and</c><00:23:58.340><c> he</c>

00:23:59.050 --> 00:23:59.060 align:start position:0%
memory and then it would be freed and he
 

00:23:59.060 --> 00:24:04.540 align:start position:0%
memory and then it would be freed and he
would<00:23:59.240><c> run</c><00:23:59.420><c> and</c><00:23:59.720><c> C</c><00:24:00.080><c> and</c><00:24:00.380><c> so</c><00:24:00.590><c> on</c><00:24:03.370><c> but</c><00:24:04.370><c> one</c>

00:24:04.540 --> 00:24:04.550 align:start position:0%
would run and C and so on but one
 

00:24:04.550 --> 00:24:06.820 align:start position:0%
would run and C and so on but one
problem<00:24:04.850><c> with</c><00:24:04.940><c> this</c><00:24:05.090><c> is</c><00:24:05.330><c> you</c><00:24:06.290><c> still</c><00:24:06.560><c> might</c>

00:24:06.820 --> 00:24:06.830 align:start position:0%
problem with this is you still might
 

00:24:06.830 --> 00:24:11.920 align:start position:0%
problem with this is you still might
want<00:24:07.100><c> to</c><00:24:07.250><c> represent</c><00:24:08.800><c> atomicity</c><00:24:10.330><c> and</c><00:24:11.330><c> you</c><00:24:11.780><c> can</c>

00:24:11.920 --> 00:24:11.930 align:start position:0%
want to represent atomicity and you can
 

00:24:11.930 --> 00:24:13.300 align:start position:0%
want to represent atomicity and you can
do<00:24:12.110><c> this</c><00:24:12.320><c> using</c><00:24:12.530><c> something</c><00:24:12.890><c> called</c><00:24:13.040><c> a</c>

00:24:13.300 --> 00:24:13.310 align:start position:0%
do this using something called a
 

00:24:13.310 --> 00:24:15.850 align:start position:0%
do this using something called a
two-phase<00:24:13.820><c> lock</c><00:24:14.210><c> and</c><00:24:14.600><c> we</c><00:24:15.140><c> can</c><00:24:15.320><c> provide</c><00:24:15.590><c> some</c>

00:24:15.850 --> 00:24:15.860 align:start position:0%
two-phase lock and we can provide some
 

00:24:15.860 --> 00:24:21.340 align:start position:0%
two-phase lock and we can provide some
system<00:24:16.400><c> primitives</c><00:24:17.030><c> to</c><00:24:17.330><c> make</c><00:24:17.840><c> this</c><00:24:17.990><c> easier</c><00:24:20.350><c> so</c>

00:24:21.340 --> 00:24:21.350 align:start position:0%
system primitives to make this easier so
 

00:24:21.350 --> 00:24:25.060 align:start position:0%
system primitives to make this easier so
essentially<00:24:22.010><c> how</c><00:24:22.130><c> this</c><00:24:22.310><c> would</c><00:24:22.490><c> work</c><00:24:22.520><c> is</c><00:24:24.070><c> we'll</c>

00:24:25.060 --> 00:24:25.070 align:start position:0%
essentially how this would work is we'll
 

00:24:25.070 --> 00:24:28.390 align:start position:0%
essentially how this would work is we'll
say<00:24:25.250><c> be</c><00:24:25.430><c> performing</c><00:24:26.330><c> two</c><00:24:26.600><c> phase</c><00:24:26.870><c> lock</c><00:24:27.170><c> a</c><00:24:27.500><c> would</c>

00:24:28.390 --> 00:24:28.400 align:start position:0%
say be performing two phase lock a would
 

00:24:28.400 --> 00:24:33.250 align:start position:0%
say be performing two phase lock a would
call<00:24:28.700><c> B</c><00:24:29.290><c> then</c><00:24:30.290><c> B</c><00:24:31.150><c> would</c><00:24:32.150><c> return</c><00:24:32.480><c> to</c><00:24:32.690><c> a</c><00:24:32.720><c> and</c><00:24:33.080><c> lock</c>

00:24:33.250 --> 00:24:33.260 align:start position:0%
call B then B would return to a and lock
 

00:24:33.260 --> 00:24:36.640 align:start position:0%
call B then B would return to a and lock
would<00:24:34.250><c> basically</c><00:24:34.550><c> give</c><00:24:35.060><c> a</c><00:24:35.180><c> lock</c><00:24:35.510><c> then</c><00:24:36.320><c> a</c><00:24:36.470><c> would</c>

00:24:36.640 --> 00:24:36.650 align:start position:0%
would basically give a lock then a would
 

00:24:36.650 --> 00:24:39.130 align:start position:0%
would basically give a lock then a would
do<00:24:36.800><c> something</c><00:24:37.310><c> and</c><00:24:37.550><c> then</c><00:24:38.060><c> return</c><00:24:38.390><c> to</c><00:24:38.420><c> be</c><00:24:38.690><c> until</c>

00:24:39.130 --> 00:24:39.140 align:start position:0%
do something and then return to be until
 

00:24:39.140 --> 00:24:45.010 align:start position:0%
do something and then return to be until
it<00:24:39.290><c> to</c><00:24:39.620><c> unlock</c><00:24:40.250><c> and</c><00:24:42.640><c> that's</c><00:24:43.640><c> the</c><00:24:44.480><c> important</c>

00:24:45.010 --> 00:24:45.020 align:start position:0%
it to unlock and that's the important
 

00:24:45.020 --> 00:24:46.600 align:start position:0%
it to unlock and that's the important
thing<00:24:45.050><c> here</c><00:24:45.380><c> is</c><00:24:45.410><c> that</c><00:24:45.590><c> the</c><00:24:46.010><c> commit</c><00:24:46.310><c> or</c><00:24:46.490><c> the</c>

00:24:46.600 --> 00:24:46.610 align:start position:0%
thing here is that the commit or the
 

00:24:46.610 --> 00:24:49.720 align:start position:0%
thing here is that the commit or the
revert<00:24:46.940><c> can</c><00:24:47.390><c> be</c><00:24:47.540><c> enforced</c><00:24:47.930><c> by</c><00:24:48.230><c> the</c><00:24:48.260><c> system</c><00:24:49.070><c> so</c>

00:24:49.720 --> 00:24:49.730 align:start position:0%
revert can be enforced by the system so
 

00:24:49.730 --> 00:24:50.990 align:start position:0%
revert can be enforced by the system so
we<00:24:49.850><c> don't</c><00:24:50.060><c> have</c><00:24:50.390><c> to</c>

00:24:50.990 --> 00:24:51.000 align:start position:0%
we don't have to
 

00:24:51.000 --> 00:24:57.640 align:start position:0%
we don't have to
implement<00:24:51.510><c> a</c><00:24:51.630><c> full</c><00:24:52.110><c> two-phase</c><00:24:52.800><c> protocol</c><00:24:53.670><c> I</c>

00:24:57.640 --> 00:24:57.650 align:start position:0%
 
 

00:24:57.650 --> 00:25:00.830 align:start position:0%
 
think<00:24:58.650><c> I'm</c><00:24:58.740><c> out</c><00:24:58.800><c> of</c><00:24:58.860><c> time</c><00:24:59.030><c> but</c><00:25:00.030><c> okay</c><00:25:00.510><c> so</c><00:25:00.570><c> that</c>

00:25:00.830 --> 00:25:00.840 align:start position:0%
think I'm out of time but okay so that
 

00:25:00.840 --> 00:25:04.730 align:start position:0%
think I'm out of time but okay so that
was<00:25:01.020><c> the</c><00:25:01.050><c> gist</c><00:25:01.350><c> of</c><00:25:01.500><c> it</c><00:25:01.650><c> yeah</c><00:25:02.340><c> yeah</c><00:25:03.740><c> there's</c>

00:25:04.730 --> 00:25:04.740 align:start position:0%
was the gist of it yeah yeah there's
 

00:25:04.740 --> 00:25:07.820 align:start position:0%
was the gist of it yeah yeah there's
more<00:25:04.980><c> stuff</c><00:25:05.330><c> we</c><00:25:06.330><c> can</c><00:25:06.690><c> talk</c><00:25:06.840><c> about</c><00:25:07.050><c> later</c><00:25:07.230><c> all</c>

00:25:07.820 --> 00:25:07.830 align:start position:0%
more stuff we can talk about later all
 

00:25:07.830 --> 00:25:08.550 align:start position:0%
more stuff we can talk about later all
right

00:25:08.550 --> 00:25:08.560 align:start position:0%
right
 

00:25:08.560 --> 00:25:21.170 align:start position:0%
right
[Music]

