WEBVTT
Kind: captions
Language: en

00:00:07.630 --> 00:00:40.110 align:start position:0%
 
[Music]

00:00:40.110 --> 00:00:40.120 align:start position:0%
 
 

00:00:40.120 --> 00:00:43.720 align:start position:0%
 
hello<00:00:41.120><c> again</c><00:00:41.320><c> so</c><00:00:42.320><c> this</c><00:00:42.649><c> is</c><00:00:42.710><c> going</c><00:00:43.070><c> to</c><00:00:43.160><c> be</c><00:00:43.489><c> a</c>

00:00:43.720 --> 00:00:43.730 align:start position:0%
hello again so this is going to be a
 

00:00:43.730 --> 00:00:49.200 align:start position:0%
hello again so this is going to be a
longer<00:00:44.719><c> talk</c><00:00:45.399><c> the</c><00:00:47.320><c> intended</c><00:00:48.320><c> audience</c><00:00:48.500><c> are</c>

00:00:49.200 --> 00:00:49.210 align:start position:0%
longer talk the intended audience are
 

00:00:49.210 --> 00:00:53.979 align:start position:0%
longer talk the intended audience are
developers<00:00:50.210><c> who</c><00:00:50.409><c> want</c><00:00:51.409><c> to</c><00:00:51.500><c> build</c><00:00:52.989><c> scalable</c>

00:00:53.979 --> 00:00:53.989 align:start position:0%
developers who want to build scalable
 

00:00:53.989 --> 00:00:57.219 align:start position:0%
developers who want to build scalable
and<00:00:54.670><c> responsive</c><00:00:55.670><c> distributed</c><00:00:56.510><c> applications</c>

00:00:57.219 --> 00:00:57.229 align:start position:0%
and responsive distributed applications
 

00:00:57.229 --> 00:01:06.399 align:start position:0%
and responsive distributed applications
on<00:00:57.649><c> top</c><00:00:58.039><c> of</c><00:00:58.190><c> swarm</c><00:00:58.549><c> using</c><00:00:59.510><c> DNS</c><00:01:04.600><c> so</c><00:01:05.600><c> first</c><00:01:06.170><c> I</c>

00:01:06.399 --> 00:01:06.409 align:start position:0%
on top of swarm using DNS so first I
 

00:01:06.409 --> 00:01:08.350 align:start position:0%
on top of swarm using DNS so first I
would<00:01:06.530><c> like</c><00:01:06.680><c> to</c><00:01:06.920><c> talk</c><00:01:07.399><c> a</c><00:01:07.670><c> little</c><00:01:07.820><c> bit</c><00:01:08.030><c> about</c>

00:01:08.350 --> 00:01:08.360 align:start position:0%
would like to talk a little bit about
 

00:01:08.360 --> 00:01:10.960 align:start position:0%
would like to talk a little bit about
the<00:01:09.110><c> distributed</c><00:01:09.830><c> application</c><00:01:10.460><c> paradigm</c>

00:01:10.960 --> 00:01:10.970 align:start position:0%
the distributed application paradigm
 

00:01:10.970 --> 00:01:14.649 align:start position:0%
the distributed application paradigm
itself<00:01:11.450><c> because</c><00:01:12.409><c> in</c><00:01:12.710><c> many</c><00:01:12.979><c> ways</c><00:01:13.280><c> it's</c><00:01:13.700><c> a</c><00:01:14.149><c> very</c>

00:01:14.649 --> 00:01:14.659 align:start position:0%
itself because in many ways it's a very
 

00:01:14.659 --> 00:01:18.789 align:start position:0%
itself because in many ways it's a very
radical<00:01:15.159><c> departure</c><00:01:16.159><c> from</c><00:01:16.600><c> the</c><00:01:17.799><c> client-server</c>

00:01:18.789 --> 00:01:18.799 align:start position:0%
radical departure from the client-server
 

00:01:18.799 --> 00:01:21.789 align:start position:0%
radical departure from the client-server
model<00:01:19.039><c> that</c><00:01:20.000><c> is</c><00:01:20.360><c> prevalent</c><00:01:20.960><c> on</c><00:01:21.170><c> the</c><00:01:21.409><c> Internet</c>

00:01:21.789 --> 00:01:21.799 align:start position:0%
model that is prevalent on the Internet
 

00:01:21.799 --> 00:01:24.460 align:start position:0%
model that is prevalent on the Internet
today<00:01:21.979><c> and</c><00:01:22.460><c> with</c><00:01:23.179><c> which</c><00:01:23.420><c> most</c><00:01:23.810><c> web</c><00:01:24.289><c> developers</c>

00:01:24.460 --> 00:01:24.470 align:start position:0%
today and with which most web developers
 

00:01:24.470 --> 00:01:30.219 align:start position:0%
today and with which most web developers
are<00:01:25.130><c> intimately</c><00:01:25.640><c> familiar</c><00:01:28.509><c> then</c><00:01:29.509><c> I'm</c><00:01:29.810><c> going</c>

00:01:30.219 --> 00:01:30.229 align:start position:0%
are intimately familiar then I'm going
 

00:01:30.229 --> 00:01:33.850 align:start position:0%
are intimately familiar then I'm going
to<00:01:30.259><c> talk</c><00:01:30.709><c> about</c><00:01:31.539><c> the</c><00:01:32.539><c> various</c><00:01:32.869><c> challenges</c><00:01:33.200><c> of</c>

00:01:33.850 --> 00:01:33.860 align:start position:0%
to talk about the various challenges of
 

00:01:33.860 --> 00:01:36.990 align:start position:0%
to talk about the various challenges of
scaling<00:01:34.459><c> and</c><00:01:34.700><c> what</c><00:01:34.940><c> the</c><00:01:35.060><c> bottlenecks</c><00:01:35.509><c> are</c>

00:01:36.990 --> 00:01:37.000 align:start position:0%
scaling and what the bottlenecks are
 

00:01:37.000 --> 00:01:41.130 align:start position:0%
scaling and what the bottlenecks are
then<00:01:38.000><c> we</c><00:01:38.450><c> are</c><00:01:38.539><c> going</c><00:01:38.810><c> to</c><00:01:39.170><c> discuss</c><00:01:39.709><c> how</c>

00:01:41.130 --> 00:01:41.140 align:start position:0%
then we are going to discuss how
 

00:01:41.140 --> 00:01:43.449 align:start position:0%
then we are going to discuss how
reliability<00:01:42.140><c> issues</c><00:01:42.560><c> are</c><00:01:42.890><c> being</c><00:01:43.130><c> addressed</c>

00:01:43.449 --> 00:01:43.459 align:start position:0%
reliability issues are being addressed
 

00:01:43.459 --> 00:01:47.039 align:start position:0%
reliability issues are being addressed
in<00:01:44.149><c> a</c><00:01:44.299><c> dynamic</c><00:01:44.990><c> decentralized</c><00:01:45.859><c> and</c>

00:01:47.039 --> 00:01:47.049 align:start position:0%
in a dynamic decentralized and
 

00:01:47.049 --> 00:01:49.690 align:start position:0%
in a dynamic decentralized and
essentially<00:01:48.049><c> low</c><00:01:48.200><c> trust</c><00:01:48.469><c> environment</c><00:01:49.340><c> of</c><00:01:49.579><c> a</c>

00:01:49.690 --> 00:01:49.700 align:start position:0%
essentially low trust environment of a
 

00:01:49.700 --> 00:01:54.700 align:start position:0%
essentially low trust environment of a
distributed<00:01:50.180><c> application</c><00:01:53.140><c> we</c><00:01:54.140><c> are</c><00:01:54.170><c> going</c><00:01:54.439><c> to</c>

00:01:54.700 --> 00:01:54.710 align:start position:0%
distributed application we are going to
 

00:01:54.710 --> 00:01:57.760 align:start position:0%
distributed application we are going to
discuss<00:01:55.719><c> availability</c><00:01:56.719><c> of</c><00:01:56.840><c> content</c><00:01:57.320><c> which</c><00:01:57.530><c> is</c>

00:01:57.760 --> 00:01:57.770 align:start position:0%
discuss availability of content which is
 

00:01:57.770 --> 00:02:01.840 align:start position:0%
discuss availability of content which is
a<00:01:58.070><c> very</c><00:01:58.369><c> important</c><00:01:58.820><c> issue</c><00:01:58.939><c> and</c><00:01:59.799><c> finally</c><00:02:00.850><c> I'm</c>

00:02:01.840 --> 00:02:01.850 align:start position:0%
a very important issue and finally I'm
 

00:02:01.850 --> 00:02:05.050 align:start position:0%
a very important issue and finally I'm
going<00:02:01.909><c> to</c><00:02:02.299><c> talk</c><00:02:02.689><c> about</c><00:02:02.990><c> how</c><00:02:03.829><c> a</c><00:02:04.189><c> distributed</c>

00:02:05.050 --> 00:02:05.060 align:start position:0%
going to talk about how a distributed
 

00:02:05.060 --> 00:02:08.279 align:start position:0%
going to talk about how a distributed
application<00:02:05.320><c> can</c><00:02:06.320><c> be</c><00:02:06.850><c> operated</c><00:02:07.850><c> and</c>

00:02:08.279 --> 00:02:08.289 align:start position:0%
application can be operated and
 

00:02:08.289 --> 00:02:12.220 align:start position:0%
application can be operated and
developed<00:02:09.289><c> and</c><00:02:09.530><c> improved</c><00:02:10.870><c> over</c><00:02:11.870><c> its</c>

00:02:12.220 --> 00:02:12.230 align:start position:0%
developed and improved over its
 

00:02:12.230 --> 00:02:13.800 align:start position:0%
developed and improved over its
lifecycle

00:02:13.800 --> 00:02:13.810 align:start position:0%
lifecycle
 

00:02:13.810 --> 00:02:16.840 align:start position:0%
lifecycle
so<00:02:14.810><c> first</c><00:02:15.109><c> the</c><00:02:15.590><c> distributed</c><00:02:16.280><c> application</c>

00:02:16.840 --> 00:02:16.850 align:start position:0%
so first the distributed application
 

00:02:16.850 --> 00:02:23.530 align:start position:0%
so first the distributed application
paradigm<00:02:21.519><c> distributed</c><00:02:22.519><c> applications</c><00:02:23.269><c> are</c>

00:02:23.530 --> 00:02:23.540 align:start position:0%
paradigm distributed applications are
 

00:02:23.540 --> 00:02:28.300 align:start position:0%
paradigm distributed applications are
much<00:02:24.019><c> more</c><00:02:24.380><c> heavy</c><00:02:24.769><c> on</c><00:02:25.280><c> the</c><00:02:26.290><c> leaf</c><00:02:27.290><c> nodes</c><00:02:27.650><c> so</c>

00:02:28.300 --> 00:02:28.310 align:start position:0%
much more heavy on the leaf nodes so
 

00:02:28.310 --> 00:02:31.780 align:start position:0%
much more heavy on the leaf nodes so
endpoint<00:02:28.910><c> nodes</c><00:02:29.650><c> perform</c><00:02:30.650><c> a</c><00:02:30.890><c> lot</c><00:02:31.220><c> more</c><00:02:31.549><c> work</c>

00:02:31.780 --> 00:02:31.790 align:start position:0%
endpoint nodes perform a lot more work
 

00:02:31.790 --> 00:02:35.770 align:start position:0%
endpoint nodes perform a lot more work
than<00:02:33.640><c> clients</c><00:02:34.640><c> in</c><00:02:34.850><c> a</c><00:02:35.060><c> client-server</c>

00:02:35.770 --> 00:02:35.780 align:start position:0%
than clients in a client-server
 

00:02:35.780 --> 00:02:39.309 align:start position:0%
than clients in a client-server
applications<00:02:36.700><c> very</c><00:02:37.700><c> large</c><00:02:38.030><c> part</c><00:02:38.420><c> of</c><00:02:38.720><c> the</c>

00:02:39.309 --> 00:02:39.319 align:start position:0%
applications very large part of the
 

00:02:39.319 --> 00:02:42.520 align:start position:0%
applications very large part of the
business<00:02:39.680><c> logic</c><00:02:39.920><c> are</c><00:02:40.400><c> actually</c><00:02:41.180><c> done</c><00:02:42.019><c> on</c><00:02:42.260><c> the</c>

00:02:42.520 --> 00:02:42.530 align:start position:0%
business logic are actually done on the
 

00:02:42.530 --> 00:02:49.539 align:start position:0%
business logic are actually done on the
client<00:02:42.889><c> side</c><00:02:44.889><c> so</c><00:02:46.750><c> on</c><00:02:47.750><c> the</c><00:02:48.290><c> slide</c><00:02:48.440><c> you</c><00:02:49.250><c> see</c>

00:02:49.539 --> 00:02:49.549 align:start position:0%
client side so on the slide you see
 

00:02:49.549 --> 00:02:53.240 align:start position:0%
client side so on the slide you see
several<00:02:50.530><c> possible</c>

00:02:53.240 --> 00:02:53.250 align:start position:0%
several possible
 

00:02:53.250 --> 00:02:59.270 align:start position:0%
several possible
nodes<00:02:54.250><c> which</c><00:02:55.090><c> have</c><00:02:55.480><c> their</c><00:02:56.320><c> own</c><00:02:58.080><c> requirements</c>

00:02:59.270 --> 00:02:59.280 align:start position:0%
nodes which have their own requirements
 

00:02:59.280 --> 00:03:06.660 align:start position:0%
nodes which have their own requirements
but<00:03:00.280><c> which</c><00:03:00.520><c> can</c><00:03:00.850><c> be</c><00:03:01.470><c> the</c><00:03:02.470><c> nodes</c><00:03:03.070><c> in</c><00:03:03.550><c> a</c><00:03:05.670><c> which</c>

00:03:06.660 --> 00:03:06.670 align:start position:0%
but which can be the nodes in a which
 

00:03:06.670 --> 00:03:08.520 align:start position:0%
but which can be the nodes in a which
can<00:03:06.700><c> be</c><00:03:07.030><c> the</c><00:03:07.210><c> nodes</c><00:03:07.450><c> of</c><00:03:07.750><c> a</c><00:03:08.050><c> distributed</c>

00:03:08.520 --> 00:03:08.530 align:start position:0%
can be the nodes of a distributed
 

00:03:08.530 --> 00:03:13.110 align:start position:0%
can be the nodes of a distributed
application<00:03:09.630><c> so</c><00:03:11.160><c> it's</c><00:03:12.160><c> not</c><00:03:12.400><c> necessarily</c>

00:03:13.110 --> 00:03:13.120 align:start position:0%
application so it's not necessarily
 

00:03:13.120 --> 00:03:16.290 align:start position:0%
application so it's not necessarily
web-based<00:03:13.660><c> there</c><00:03:14.110><c> can</c><00:03:14.380><c> be</c><00:03:14.410><c> in</c><00:03:14.650><c> native</c><00:03:15.300><c> mobile</c>

00:03:16.290 --> 00:03:16.300 align:start position:0%
web-based there can be in native mobile
 

00:03:16.300 --> 00:03:19.500 align:start position:0%
web-based there can be in native mobile
applications<00:03:17.760><c> Internet</c><00:03:18.760><c> of</c><00:03:18.790><c> Things</c><00:03:18.910><c> devices</c>

00:03:19.500 --> 00:03:19.510 align:start position:0%
applications Internet of Things devices
 

00:03:19.510 --> 00:03:28.230 align:start position:0%
applications Internet of Things devices
and<00:03:22.530><c> also</c><00:03:24.180><c> we</c><00:03:25.180><c> need</c><00:03:25.450><c> to</c><00:03:26.370><c> keep</c><00:03:27.370><c> in</c><00:03:27.550><c> mind</c><00:03:27.760><c> that</c>

00:03:28.230 --> 00:03:28.240 align:start position:0%
and also we need to keep in mind that
 

00:03:28.240 --> 00:03:31.020 align:start position:0%
and also we need to keep in mind that
key<00:03:28.660><c> and</c><00:03:28.690><c> identity</c><00:03:29.440><c> management</c><00:03:29.770><c> is</c><00:03:30.280><c> sometimes</c>

00:03:31.020 --> 00:03:31.030 align:start position:0%
key and identity management is sometimes
 

00:03:31.030 --> 00:03:34.680 align:start position:0%
key and identity management is sometimes
outsourced<00:03:31.930><c> to</c><00:03:32.230><c> this</c><00:03:32.350><c> hardware</c><00:03:32.890><c> keys</c><00:03:33.100><c> and</c><00:03:33.690><c> we</c>

00:03:34.680 --> 00:03:34.690 align:start position:0%
outsourced to this hardware keys and we
 

00:03:34.690 --> 00:03:39.390 align:start position:0%
outsourced to this hardware keys and we
need<00:03:34.870><c> to</c><00:03:35.110><c> take</c><00:03:35.830><c> that</c><00:03:35.980><c> into</c><00:03:36.040><c> account</c><00:03:38.400><c> the</c>

00:03:39.390 --> 00:03:39.400 align:start position:0%
need to take that into account the
 

00:03:39.400 --> 00:03:43.200 align:start position:0%
need to take that into account the
backend<00:03:39.880><c> is</c><00:03:40.830><c> typically</c><00:03:41.830><c> generic</c><00:03:42.400><c> and</c><00:03:42.610><c> I</c><00:03:43.000><c> will</c>

00:03:43.200 --> 00:03:43.210 align:start position:0%
backend is typically generic and I will
 

00:03:43.210 --> 00:03:46.050 align:start position:0%
backend is typically generic and I will
talk<00:03:43.450><c> a</c><00:03:43.720><c> little</c><00:03:43.990><c> bit</c><00:03:44.200><c> later</c><00:03:44.230><c> about</c><00:03:45.130><c> the</c><00:03:45.520><c> deeper</c>

00:03:46.050 --> 00:03:46.060 align:start position:0%
talk a little bit later about the deeper
 

00:03:46.060 --> 00:03:48.660 align:start position:0%
talk a little bit later about the deeper
reasons<00:03:46.420><c> behind</c><00:03:46.630><c> that</c><00:03:46.930><c> but</c><00:03:47.890><c> the</c><00:03:48.250><c> kind</c><00:03:48.520><c> of</c>

00:03:48.660 --> 00:03:48.670 align:start position:0%
reasons behind that but the kind of
 

00:03:48.670 --> 00:03:54.630 align:start position:0%
reasons behind that but the kind of
backends<00:03:49.300><c> on</c><00:03:49.540><c> which</c><00:03:49.990><c> we</c><00:03:50.230><c> rely</c><00:03:50.410><c> are</c><00:03:51.270><c> the</c><00:03:53.640><c> ETH</c>

00:03:54.630 --> 00:03:54.640 align:start position:0%
backends on which we rely are the ETH
 

00:03:54.640 --> 00:03:58.260 align:start position:0%
backends on which we rely are the ETH
and<00:03:55.170><c> less</c><00:03:56.170><c> protocols</c><00:03:57.010><c> for</c><00:03:57.310><c> consensus</c><00:03:57.970><c> so</c><00:03:58.150><c> it's</c>

00:03:58.260 --> 00:03:58.270 align:start position:0%
and less protocols for consensus so it's
 

00:03:58.270 --> 00:04:01.110 align:start position:0%
and less protocols for consensus so it's
either<00:03:58.480><c> a</c><00:03:58.630><c> full</c><00:03:58.960><c> node</c><00:03:59.230><c> or</c><00:03:59.530><c> a</c><00:04:00.280><c> light</c><00:04:00.580><c> node</c><00:04:00.850><c> on</c>

00:04:01.110 --> 00:04:01.120 align:start position:0%
either a full node or a light node on
 

00:04:01.120 --> 00:04:04.140 align:start position:0%
either a full node or a light node on
the<00:04:01.270><c> etherium</c><00:04:01.690><c> network</c><00:04:02.100><c> so</c><00:04:03.100><c> each</c><00:04:03.370><c> node</c><00:04:03.820><c> needs</c>

00:04:04.140 --> 00:04:04.150 align:start position:0%
the etherium network so each node needs
 

00:04:04.150 --> 00:04:09.000 align:start position:0%
the etherium network so each node needs
to<00:04:04.420><c> be</c><00:04:04.540><c> an</c><00:04:04.750><c> ethereal</c><00:04:05.200><c> node</c><00:04:06.450><c> we</c><00:04:07.450><c> use</c><00:04:07.660><c> swarm</c><00:04:08.170><c> for</c>

00:04:09.000 --> 00:04:09.010 align:start position:0%
to be an ethereal node we use swarm for
 

00:04:09.010 --> 00:04:11.310 align:start position:0%
to be an ethereal node we use swarm for
permanently<00:04:09.820><c> storing</c><00:04:10.300><c> large</c><00:04:10.780><c> amounts</c><00:04:10.870><c> of</c>

00:04:11.310 --> 00:04:11.320 align:start position:0%
permanently storing large amounts of
 

00:04:11.320 --> 00:04:15.120 align:start position:0%
permanently storing large amounts of
data<00:04:11.560><c> and</c><00:04:12.210><c> accessing</c><00:04:13.210><c> data</c><00:04:13.420><c> and</c><00:04:14.100><c> we</c><00:04:15.100><c> use</c>

00:04:15.120 --> 00:04:15.130 align:start position:0%
data and accessing data and we use
 

00:04:15.130 --> 00:04:20.580 align:start position:0%
data and accessing data and we use
either<00:04:16.350><c> PSS</c><00:04:17.350><c> or</c><00:04:17.710><c> Whisperer</c><00:04:18.340><c> for</c><00:04:19.290><c> node</c><00:04:20.290><c> 2</c><00:04:20.470><c> node</c>

00:04:20.580 --> 00:04:20.590 align:start position:0%
either PSS or Whisperer for node 2 node
 

00:04:20.590 --> 00:04:23.460 align:start position:0%
either PSS or Whisperer for node 2 node
communication<00:04:21.430><c> so</c><00:04:22.240><c> all</c><00:04:22.480><c> of</c><00:04:22.660><c> these</c><00:04:22.840><c> backends</c>

00:04:23.460 --> 00:04:23.470 align:start position:0%
communication so all of these backends
 

00:04:23.470 --> 00:04:25.530 align:start position:0%
communication so all of these backends
are<00:04:23.590><c> entirely</c><00:04:24.160><c> general-purpose</c><00:04:24.910><c> they're</c><00:04:25.330><c> not</c>

00:04:25.530 --> 00:04:25.540 align:start position:0%
are entirely general-purpose they're not
 

00:04:25.540 --> 00:04:32.520 align:start position:0%
are entirely general-purpose they're not
application<00:04:26.170><c> specific</c><00:04:27.480><c> and</c><00:04:31.050><c> even</c><00:04:32.050><c> though</c><00:04:32.230><c> I</c>

00:04:32.520 --> 00:04:32.530 align:start position:0%
application specific and even though I
 

00:04:32.530 --> 00:04:36.360 align:start position:0%
application specific and even though I
told<00:04:32.830><c> you</c><00:04:33.220><c> that</c><00:04:34.170><c> there</c><00:04:35.170><c> are</c><00:04:35.200><c> no</c><00:04:35.380><c> clients</c><00:04:36.160><c> and</c>

00:04:36.360 --> 00:04:36.370 align:start position:0%
told you that there are no clients and
 

00:04:36.370 --> 00:04:40.470 align:start position:0%
told you that there are no clients and
servers<00:04:36.640><c> in</c><00:04:37.210><c> a</c><00:04:37.510><c> distributed</c><00:04:38.190><c> application</c><00:04:39.480><c> you</c>

00:04:40.470 --> 00:04:40.480 align:start position:0%
servers in a distributed application you
 

00:04:40.480 --> 00:04:42.660 align:start position:0%
servers in a distributed application you
should<00:04:40.720><c> still</c><00:04:40.990><c> keep</c><00:04:41.200><c> in</c><00:04:41.410><c> mind</c><00:04:41.680><c> that</c><00:04:42.430><c> the</c>

00:04:42.660 --> 00:04:42.670 align:start position:0%
should still keep in mind that the
 

00:04:42.670 --> 00:04:45.570 align:start position:0%
should still keep in mind that the
contribution<00:04:43.570><c> of</c><00:04:43.720><c> resources</c><00:04:44.710><c> is</c><00:04:44.920><c> by</c><00:04:45.310><c> no</c><00:04:45.370><c> means</c>

00:04:45.570 --> 00:04:45.580 align:start position:0%
contribution of resources is by no means
 

00:04:45.580 --> 00:04:49.050 align:start position:0%
contribution of resources is by no means
equal<00:04:46.360><c> so</c><00:04:47.320><c> peer-to-peer</c><00:04:47.710><c> applications</c><00:04:48.190><c> are</c>

00:04:49.050 --> 00:04:49.060 align:start position:0%
equal so peer-to-peer applications are
 

00:04:49.060 --> 00:04:54.060 align:start position:0%
equal so peer-to-peer applications are
not<00:04:49.420><c> necessarily</c><00:04:51.720><c> not</c><00:04:52.720><c> necessarily</c><00:04:53.070><c> balanced</c>

00:04:54.060 --> 00:04:54.070 align:start position:0%
not necessarily not necessarily balanced
 

00:04:54.070 --> 00:04:56.460 align:start position:0%
not necessarily not necessarily balanced
in<00:04:54.460><c> terms</c><00:04:54.520><c> of</c><00:04:55.060><c> the</c><00:04:55.240><c> use</c><00:04:55.450><c> and</c><00:04:55.750><c> contribution</c><00:04:56.380><c> of</c>

00:04:56.460 --> 00:04:56.470 align:start position:0%
in terms of the use and contribution of
 

00:04:56.470 --> 00:04:58.760 align:start position:0%
in terms of the use and contribution of
resources<00:04:57.130><c> so</c><00:04:57.610><c> even</c><00:04:57.940><c> if</c><00:04:58.090><c> you</c><00:04:58.210><c> think</c><00:04:58.510><c> about</c>

00:04:58.760 --> 00:04:58.770 align:start position:0%
resources so even if you think about
 

00:04:58.770 --> 00:05:02.010 align:start position:0%
resources so even if you think about
BitTorrent<00:04:59.770><c> there</c><00:05:00.580><c> are</c><00:05:00.790><c> Cedars</c><00:05:01.330><c> and</c><00:05:01.360><c> leechers</c>

00:05:02.010 --> 00:05:02.020 align:start position:0%
BitTorrent there are Cedars and leechers
 

00:05:02.020 --> 00:05:05.640 align:start position:0%
BitTorrent there are Cedars and leechers
and<00:05:02.400><c> in</c><00:05:03.400><c> the</c><00:05:03.550><c> general</c><00:05:04.030><c> terminology</c>

00:05:05.640 --> 00:05:05.650 align:start position:0%
and in the general terminology
 

00:05:05.650 --> 00:05:08.990 align:start position:0%
and in the general terminology
we<00:05:06.190><c> distinguish</c><00:05:06.940><c> between</c><00:05:07.110><c> consumers</c><00:05:08.110><c> and</c>

00:05:08.990 --> 00:05:09.000 align:start position:0%
we distinguish between consumers and
 

00:05:09.000 --> 00:05:12.810 align:start position:0%
we distinguish between consumers and
suppliers<00:05:10.000><c> of</c><00:05:10.690><c> resources</c><00:05:11.440><c> and</c><00:05:11.680><c> of</c><00:05:12.100><c> course</c>

00:05:12.810 --> 00:05:12.820 align:start position:0%
suppliers of resources and of course
 

00:05:12.820 --> 00:05:16.020 align:start position:0%
suppliers of resources and of course
each<00:05:13.210><c> participant</c><00:05:14.110><c> can</c><00:05:14.530><c> choose</c><00:05:15.250><c> and</c><00:05:15.610><c> even</c>

00:05:16.020 --> 00:05:16.030 align:start position:0%
each participant can choose and even
 

00:05:16.030 --> 00:05:18.689 align:start position:0%
each participant can choose and even
change<00:05:16.330><c> over</c><00:05:16.750><c> time</c><00:05:17.020><c> to</c><00:05:17.740><c> what</c><00:05:17.919><c> extent</c><00:05:18.430><c> they</c>

00:05:18.689 --> 00:05:18.699 align:start position:0%
change over time to what extent they
 

00:05:18.699 --> 00:05:21.210 align:start position:0%
change over time to what extent they
supply<00:05:19.150><c> and</c><00:05:19.419><c> consume</c><00:05:19.810><c> resources</c><00:05:20.220><c> but</c>

00:05:21.210 --> 00:05:21.220 align:start position:0%
supply and consume resources but
 

00:05:21.220 --> 00:05:26.550 align:start position:0%
supply and consume resources but
typically<00:05:21.820><c> consumers</c><00:05:22.479><c> are</c><00:05:25.560><c> are</c>

00:05:26.550 --> 00:05:26.560 align:start position:0%
typically consumers are are
 

00:05:26.560 --> 00:05:31.590 align:start position:0%
typically consumers are are
characterized<00:05:27.520><c> by</c><00:05:29.190><c> high</c><00:05:30.190><c> churn</c><00:05:30.580><c> so</c><00:05:31.419><c> they</c>

00:05:31.590 --> 00:05:31.600 align:start position:0%
characterized by high churn so they
 

00:05:31.600 --> 00:05:34.370 align:start position:0%
characterized by high churn so they
leave<00:05:31.840><c> the</c><00:05:32.320><c> network</c><00:05:32.500><c> and</c><00:05:33.040><c> join</c><00:05:33.490><c> the</c><00:05:33.699><c> network</c>

00:05:34.370 --> 00:05:34.380 align:start position:0%
leave the network and join the network
 

00:05:34.380 --> 00:05:36.810 align:start position:0%
leave the network and join the network
frequently<00:05:35.380><c> you</c><00:05:35.710><c> cannot</c><00:05:36.070><c> rely</c><00:05:36.430><c> on</c><00:05:36.460><c> them</c>

00:05:36.810 --> 00:05:36.820 align:start position:0%
frequently you cannot rely on them
 

00:05:36.820 --> 00:05:39.570 align:start position:0%
frequently you cannot rely on them
staying<00:05:37.120><c> on</c><00:05:37.360><c> the</c><00:05:37.479><c> network</c><00:05:37.840><c> for</c><00:05:38.560><c> a</c><00:05:38.830><c> prolonged</c>

00:05:39.570 --> 00:05:39.580 align:start position:0%
staying on the network for a prolonged
 

00:05:39.580 --> 00:05:45.779 align:start position:0%
staying on the network for a prolonged
period<00:05:39.820><c> of</c><00:05:40.240><c> time</c><00:05:43.740><c> typically</c><00:05:44.740><c> they</c><00:05:45.310><c> spend</c>

00:05:45.779 --> 00:05:45.789 align:start position:0%
period of time typically they spend
 

00:05:45.789 --> 00:05:48.480 align:start position:0%
period of time typically they spend
accounting<00:05:46.600><c> units</c><00:05:46.960><c> whether</c><00:05:47.500><c> they</c><00:05:47.889><c> are</c><00:05:48.039><c> ethers</c>

00:05:48.480 --> 00:05:48.490 align:start position:0%
accounting units whether they are ethers
 

00:05:48.490 --> 00:05:53.240 align:start position:0%
accounting units whether they are ethers
or<00:05:48.820><c> special-purpose</c><00:05:49.720><c> tokens</c><00:05:50.350><c> and</c><00:05:51.270><c> they</c><00:05:52.270><c> have</c>

00:05:53.240 --> 00:05:53.250 align:start position:0%
or special-purpose tokens and they have
 

00:05:53.250 --> 00:05:56.850 align:start position:0%
or special-purpose tokens and they have
resource<00:05:54.250><c> limits</c><00:05:54.699><c> which</c><00:05:55.300><c> in</c><00:05:55.660><c> some</c><00:05:56.139><c> cases</c><00:05:56.410><c> can</c>

00:05:56.850 --> 00:05:56.860 align:start position:0%
resource limits which in some cases can
 

00:05:56.860 --> 00:06:01.560 align:start position:0%
resource limits which in some cases can
be<00:05:56.919><c> quite</c><00:05:57.280><c> severe</c><00:05:58.620><c> suppliers</c><00:05:59.620><c> are</c><00:06:00.570><c> typically</c>

00:06:01.560 --> 00:06:01.570 align:start position:0%
be quite severe suppliers are typically
 

00:06:01.570 --> 00:06:04.620 align:start position:0%
be quite severe suppliers are typically
there<00:06:01.930><c> in</c><00:06:02.289><c> order</c><00:06:02.800><c> to</c><00:06:03.190><c> earn</c><00:06:03.460><c> accounting</c><00:06:04.270><c> units</c>

00:06:04.620 --> 00:06:04.630 align:start position:0%
there in order to earn accounting units
 

00:06:04.630 --> 00:06:07.409 align:start position:0%
there in order to earn accounting units
so<00:06:05.260><c> they</c><00:06:05.530><c> are</c><00:06:05.770><c> providing</c><00:06:06.639><c> a</c><00:06:06.760><c> service</c><00:06:06.789><c> and</c>

00:06:07.409 --> 00:06:07.419 align:start position:0%
so they are providing a service and
 

00:06:07.419 --> 00:06:11.310 align:start position:0%
so they are providing a service and
expect<00:06:07.960><c> to</c><00:06:08.199><c> be</c><00:06:08.289><c> paid</c><00:06:08.590><c> for</c><00:06:08.770><c> it</c><00:06:09.479><c> they</c><00:06:10.479><c> have</c><00:06:11.020><c> a</c>

00:06:11.310 --> 00:06:11.320 align:start position:0%
expect to be paid for it they have a
 

00:06:11.320 --> 00:06:13.529 align:start position:0%
expect to be paid for it they have a
launcher<00:06:11.919><c> so</c><00:06:12.700><c> they</c><00:06:12.849><c> can</c><00:06:13.030><c> still</c><00:06:13.300><c> leave</c><00:06:13.510><c> the</c>

00:06:13.529 --> 00:06:13.539 align:start position:0%
launcher so they can still leave the
 

00:06:13.539 --> 00:06:15.480 align:start position:0%
launcher so they can still leave the
network<00:06:13.840><c> and</c><00:06:14.260><c> join</c><00:06:14.440><c> the</c><00:06:14.650><c> network</c><00:06:14.830><c> but</c><00:06:15.340><c> they</c>

00:06:15.480 --> 00:06:15.490 align:start position:0%
network and join the network but they
 

00:06:15.490 --> 00:06:18.750 align:start position:0%
network and join the network but they
don't<00:06:15.729><c> do</c><00:06:15.910><c> that</c><00:06:16.060><c> frequently</c><00:06:17.220><c> they</c><00:06:18.220><c> have</c><00:06:18.460><c> high</c>

00:06:18.750 --> 00:06:18.760 align:start position:0%
don't do that frequently they have high
 

00:06:18.760 --> 00:06:21.330 align:start position:0%
don't do that frequently they have high
availability<00:06:19.030><c> and</c><00:06:19.810><c> they</c><00:06:20.440><c> have</c><00:06:20.710><c> adequate</c>

00:06:21.330 --> 00:06:21.340 align:start position:0%
availability and they have adequate
 

00:06:21.340 --> 00:06:26.580 align:start position:0%
availability and they have adequate
resources<00:06:21.630><c> for</c><00:06:22.630><c> providing</c><00:06:23.530><c> the</c><00:06:24.660><c> the</c><00:06:25.660><c> services</c>

00:06:26.580 --> 00:06:26.590 align:start position:0%
resources for providing the the services
 

00:06:26.590 --> 00:06:29.040 align:start position:0%
resources for providing the the services
that<00:06:26.950><c> need</c><00:06:27.160><c> to</c><00:06:27.310><c> be</c><00:06:27.430><c> provided</c><00:06:27.970><c> for</c><00:06:28.240><c> this</c>

00:06:29.040 --> 00:06:29.050 align:start position:0%
that need to be provided for this
 

00:06:29.050 --> 00:06:34.680 align:start position:0%
that need to be provided for this
distributed<00:06:29.710><c> application</c><00:06:32.789><c> so</c><00:06:33.789><c> in</c><00:06:34.210><c> the</c><00:06:34.419><c> next</c>

00:06:34.680 --> 00:06:34.690 align:start position:0%
distributed application so in the next
 

00:06:34.690 --> 00:06:37.980 align:start position:0%
distributed application so in the next
part<00:06:34.930><c> I'm</c><00:06:35.889><c> going</c><00:06:36.310><c> to</c><00:06:36.490><c> talk</c><00:06:36.729><c> about</c><00:06:37.000><c> the</c>

00:06:37.980 --> 00:06:37.990 align:start position:0%
part I'm going to talk about the
 

00:06:37.990 --> 00:06:41.760 align:start position:0%
part I'm going to talk about the
challenges<00:06:38.830><c> of</c><00:06:39.750><c> scaling</c><00:06:40.770><c> distributed</c>

00:06:41.760 --> 00:06:41.770 align:start position:0%
challenges of scaling distributed
 

00:06:41.770 --> 00:06:44.760 align:start position:0%
challenges of scaling distributed
applications<00:06:42.370><c> and</c><00:06:43.470><c> identify</c><00:06:44.470><c> bottlenecks</c>

00:06:44.760 --> 00:06:44.770 align:start position:0%
applications and identify bottlenecks
 

00:06:44.770 --> 00:06:51.469 align:start position:0%
applications and identify bottlenecks
and<00:06:47.039><c> proposed</c><00:06:48.039><c> ways</c><00:06:48.639><c> of</c><00:06:48.960><c> dealing</c><00:06:49.960><c> with</c><00:06:50.139><c> them</c>

00:06:51.469 --> 00:06:51.479 align:start position:0%
and proposed ways of dealing with them
 

00:06:51.479 --> 00:06:56.279 align:start position:0%
and proposed ways of dealing with them
so<00:06:52.479><c> the</c><00:06:53.550><c> most</c><00:06:54.550><c> important</c><00:06:55.180><c> bottleneck</c><00:06:55.690><c> is</c><00:06:56.050><c> the</c>

00:06:56.279 --> 00:06:56.289 align:start position:0%
so the most important bottleneck is the
 

00:06:56.289 --> 00:06:59.990 align:start position:0%
so the most important bottleneck is the
blockchain<00:06:56.530><c> of</c><00:06:57.160><c> course</c><00:06:57.849><c> we</c><00:06:58.300><c> have</c><00:06:58.510><c> heard</c>

00:06:59.990 --> 00:07:00.000 align:start position:0%
blockchain of course we have heard
 

00:07:00.000 --> 00:07:04.379 align:start position:0%
blockchain of course we have heard
wonderful<00:07:01.000><c> talks</c><00:07:01.270><c> about</c><00:07:02.110><c> how</c><00:07:03.389><c> scaling</c>

00:07:04.379 --> 00:07:04.389 align:start position:0%
wonderful talks about how scaling
 

00:07:04.389 --> 00:07:06.270 align:start position:0%
wonderful talks about how scaling
problems<00:07:04.900><c> on</c><00:07:05.110><c> the</c><00:07:05.229><c> blockchain</c><00:07:05.440><c> are</c><00:07:05.860><c> going</c><00:07:06.099><c> to</c>

00:07:06.270 --> 00:07:06.280 align:start position:0%
problems on the blockchain are going to
 

00:07:06.280 --> 00:07:10.800 align:start position:0%
problems on the blockchain are going to
be<00:07:06.400><c> solved</c><00:07:06.729><c> over</c><00:07:06.910><c> time</c><00:07:07.210><c> and</c><00:07:08.610><c> in</c><00:07:09.610><c> a</c><00:07:09.880><c> ideal</c><00:07:10.479><c> world</c>

00:07:10.800 --> 00:07:10.810 align:start position:0%
be solved over time and in a ideal world
 

00:07:10.810 --> 00:07:15.000 align:start position:0%
be solved over time and in a ideal world
in<00:07:11.169><c> which</c><00:07:11.530><c> we</c><00:07:11.800><c> had</c><00:07:12.039><c> a</c><00:07:13.500><c> essentially</c><00:07:14.500><c> infinitely</c>

00:07:15.000 --> 00:07:15.010 align:start position:0%
in which we had a essentially infinitely
 

00:07:15.010 --> 00:07:17.000 align:start position:0%
in which we had a essentially infinitely
scalable<00:07:15.280><c> blockchain</c>

00:07:17.000 --> 00:07:17.010 align:start position:0%
scalable blockchain
 

00:07:17.010 --> 00:07:19.720 align:start position:0%
scalable blockchain
everything<00:07:17.580><c> I'm</c><00:07:17.730><c> talking</c><00:07:17.940><c> about</c><00:07:18.300><c> would</c><00:07:19.230><c> be</c>

00:07:19.720 --> 00:07:19.730 align:start position:0%
everything I'm talking about would be
 

00:07:19.730 --> 00:07:22.190 align:start position:0%
everything I'm talking about would be
unnecessary<00:07:20.730><c> because</c><00:07:21.150><c> we</c><00:07:21.300><c> could</c><00:07:21.480><c> host</c><00:07:21.750><c> the</c>

00:07:22.190 --> 00:07:22.200 align:start position:0%
unnecessary because we could host the
 

00:07:22.200 --> 00:07:24.260 align:start position:0%
unnecessary because we could host the
entire<00:07:22.530><c> distributed</c><00:07:23.250><c> application</c><00:07:23.940><c> on</c><00:07:24.150><c> the</c>

00:07:24.260 --> 00:07:24.270 align:start position:0%
entire distributed application on the
 

00:07:24.270 --> 00:07:25.790 align:start position:0%
entire distributed application on the
blockchain<00:07:24.510><c> keep</c><00:07:24.990><c> all</c><00:07:25.170><c> the</c><00:07:25.350><c> data</c><00:07:25.530><c> on</c><00:07:25.770><c> the</c>

00:07:25.790 --> 00:07:25.800 align:start position:0%
blockchain keep all the data on the
 

00:07:25.800 --> 00:07:28.130 align:start position:0%
blockchain keep all the data on the
blockchain<00:07:26.130><c> and</c><00:07:26.640><c> submit</c><00:07:27.420><c> every</c><00:07:27.750><c> transaction</c>

00:07:28.130 --> 00:07:28.140 align:start position:0%
blockchain and submit every transaction
 

00:07:28.140 --> 00:07:30.650 align:start position:0%
blockchain and submit every transaction
that<00:07:28.440><c> the</c><00:07:28.860><c> application</c><00:07:29.490><c> ever</c><00:07:29.700><c> does</c><00:07:30.000><c> directly</c>

00:07:30.650 --> 00:07:30.660 align:start position:0%
that the application ever does directly
 

00:07:30.660 --> 00:07:31.540 align:start position:0%
that the application ever does directly
to<00:07:30.780><c> the</c><00:07:30.900><c> blockchain</c>

00:07:31.540 --> 00:07:31.550 align:start position:0%
to the blockchain
 

00:07:31.550 --> 00:07:34.100 align:start position:0%
to the blockchain
but<00:07:32.550><c> there</c><00:07:32.730><c> are</c><00:07:32.790><c> two</c><00:07:33.000><c> reasons</c><00:07:33.180><c> why</c><00:07:33.510><c> I</c><00:07:33.660><c> feel</c>

00:07:34.100 --> 00:07:34.110 align:start position:0%
but there are two reasons why I feel
 

00:07:34.110 --> 00:07:36.860 align:start position:0%
but there are two reasons why I feel
that<00:07:34.800><c> the</c><00:07:35.760><c> techniques</c><00:07:36.150><c> that</c><00:07:36.390><c> I'm</c><00:07:36.540><c> going</c><00:07:36.840><c> to</c>

00:07:36.860 --> 00:07:36.870 align:start position:0%
that the techniques that I'm going to
 

00:07:36.870 --> 00:07:39.860 align:start position:0%
that the techniques that I'm going to
introduce<00:07:37.290><c> are</c><00:07:37.710><c> still</c><00:07:37.950><c> relevant</c><00:07:38.480><c> one</c><00:07:39.480><c> of</c><00:07:39.630><c> them</c>

00:07:39.860 --> 00:07:39.870 align:start position:0%
introduce are still relevant one of them
 

00:07:39.870 --> 00:07:43.730 align:start position:0%
introduce are still relevant one of them
is<00:07:40.110><c> that</c><00:07:40.760><c> the</c><00:07:41.760><c> scaling</c><00:07:42.660><c> of</c><00:07:42.870><c> the</c><00:07:43.110><c> blockchain</c><00:07:43.350><c> is</c>

00:07:43.730 --> 00:07:43.740 align:start position:0%
is that the scaling of the blockchain is
 

00:07:43.740 --> 00:07:47.080 align:start position:0%
is that the scaling of the blockchain is
a<00:07:43.890><c> slow</c><00:07:44.130><c> process</c><00:07:44.670><c> and</c><00:07:45.440><c> it's</c><00:07:46.440><c> a</c><00:07:46.680><c> much</c><00:07:46.890><c> harder</c>

00:07:47.080 --> 00:07:47.090 align:start position:0%
a slow process and it's a much harder
 

00:07:47.090 --> 00:07:52.720 align:start position:0%
a slow process and it's a much harder
much<00:07:48.830><c> harder</c><00:07:49.830><c> challenge</c><00:07:50.760><c> than</c><00:07:51.420><c> scaling</c><00:07:52.140><c> the</c>

00:07:52.720 --> 00:07:52.730 align:start position:0%
much harder challenge than scaling the
 

00:07:52.730 --> 00:07:54.950 align:start position:0%
much harder challenge than scaling the
particular<00:07:53.730><c> dab</c><00:07:54.030><c> bottlenecks</c><00:07:54.600><c> that</c><00:07:54.840><c> I'm</c>

00:07:54.950 --> 00:07:54.960 align:start position:0%
particular dab bottlenecks that I'm
 

00:07:54.960 --> 00:07:58.130 align:start position:0%
particular dab bottlenecks that I'm
going<00:07:55.200><c> to</c><00:07:55.350><c> talk</c><00:07:55.530><c> about</c><00:07:55.560><c> it</c><00:07:56.120><c> so</c><00:07:57.120><c> people</c><00:07:57.510><c> want</c><00:07:57.960><c> to</c>

00:07:58.130 --> 00:07:58.140 align:start position:0%
going to talk about it so people want to
 

00:07:58.140 --> 00:08:00.290 align:start position:0%
going to talk about it so people want to
create<00:07:58.380><c> scalable</c><00:07:58.950><c> applications</c><00:07:59.640><c> even</c><00:08:00.120><c> before</c>

00:08:00.290 --> 00:08:00.300 align:start position:0%
create scalable applications even before
 

00:08:00.300 --> 00:08:02.780 align:start position:0%
create scalable applications even before
all<00:08:01.050><c> the</c><00:08:01.380><c> problems</c><00:08:01.830><c> of</c><00:08:01.920><c> blockchain</c><00:08:02.370><c> scaling</c>

00:08:02.780 --> 00:08:02.790 align:start position:0%
all the problems of blockchain scaling
 

00:08:02.790 --> 00:08:05.440 align:start position:0%
all the problems of blockchain scaling
are<00:08:03.000><c> going</c><00:08:03.270><c> to</c><00:08:03.420><c> be</c><00:08:03.540><c> solved</c><00:08:03.930><c> and</c><00:08:04.250><c> secondly</c>

00:08:05.440 --> 00:08:05.450 align:start position:0%
are going to be solved and secondly
 

00:08:05.450 --> 00:08:08.120 align:start position:0%
are going to be solved and secondly
because<00:08:06.450><c> the</c><00:08:06.750><c> techniques</c><00:08:07.170><c> that</c><00:08:07.320><c> I'm</c><00:08:07.650><c> going</c><00:08:07.980><c> to</c>

00:08:08.120 --> 00:08:08.130 align:start position:0%
because the techniques that I'm going to
 

00:08:08.130 --> 00:08:12.070 align:start position:0%
because the techniques that I'm going to
talk<00:08:08.550><c> about</c><00:08:08.760><c> are</c><00:08:09.360><c> actually</c><00:08:10.290><c> useful</c><00:08:10.790><c> for</c>

00:08:12.070 --> 00:08:12.080 align:start position:0%
talk about are actually useful for
 

00:08:12.080 --> 00:08:15.050 align:start position:0%
talk about are actually useful for
scaling<00:08:13.080><c> the</c><00:08:13.230><c> blockchain</c><00:08:13.470><c> so</c><00:08:14.280><c> for</c><00:08:14.490><c> example</c>

00:08:15.050 --> 00:08:15.060 align:start position:0%
scaling the blockchain so for example
 

00:08:15.060 --> 00:08:18.110 align:start position:0%
scaling the blockchain so for example
the<00:08:15.240><c> initial</c><00:08:15.630><c> motivation</c><00:08:16.290><c> behind</c><00:08:16.530><c> swarm</c><00:08:17.190><c> was</c>

00:08:18.110 --> 00:08:18.120 align:start position:0%
the initial motivation behind swarm was
 

00:08:18.120 --> 00:08:21.680 align:start position:0%
the initial motivation behind swarm was
to<00:08:18.420><c> store</c><00:08:18.840><c> his</c><00:08:19.640><c> historical</c><00:08:20.640><c> record</c><00:08:21.120><c> of</c><00:08:21.270><c> the</c>

00:08:21.680 --> 00:08:21.690 align:start position:0%
to store his historical record of the
 

00:08:21.690 --> 00:08:24.860 align:start position:0%
to store his historical record of the
etherium<00:08:22.080><c> blockchain</c><00:08:22.650><c> so</c><00:08:23.510><c> archive</c><00:08:24.510><c> nodes</c>

00:08:24.860 --> 00:08:24.870 align:start position:0%
etherium blockchain so archive nodes
 

00:08:24.870 --> 00:08:27.290 align:start position:0%
etherium blockchain so archive nodes
which<00:08:25.380><c> store</c><00:08:25.830><c> the</c><00:08:26.190><c> entire</c><00:08:26.400><c> blockchain</c>

00:08:27.290 --> 00:08:27.300 align:start position:0%
which store the entire blockchain
 

00:08:27.300 --> 00:08:29.690 align:start position:0%
which store the entire blockchain
history<00:08:27.780><c> as</c><00:08:28.200><c> far</c><00:08:28.260><c> as</c><00:08:28.650><c> I</c><00:08:28.770><c> know</c><00:08:28.830><c> there</c><00:08:29.310><c> are</c><00:08:29.460><c> very</c>

00:08:29.690 --> 00:08:29.700 align:start position:0%
history as far as I know there are very
 

00:08:29.700 --> 00:08:33.770 align:start position:0%
history as far as I know there are very
few<00:08:29.910><c> of</c><00:08:29.970><c> them</c><00:08:30.240><c> maybe</c><00:08:30.510><c> none</c><00:08:30.900><c> and</c><00:08:32.090><c> but</c><00:08:33.090><c> we</c><00:08:33.479><c> still</c>

00:08:33.770 --> 00:08:33.780 align:start position:0%
few of them maybe none and but we still
 

00:08:33.780 --> 00:08:35.990 align:start position:0%
few of them maybe none and but we still
want<00:08:34.080><c> to</c><00:08:34.380><c> keep</c><00:08:34.740><c> the</c><00:08:35.070><c> entire</c><00:08:35.370><c> history</c><00:08:35.669><c> of</c>

00:08:35.990 --> 00:08:36.000 align:start position:0%
want to keep the entire history of
 

00:08:36.000 --> 00:08:40.610 align:start position:0%
want to keep the entire history of
etherium<00:08:36.900><c> available</c><00:08:37.740><c> and</c><00:08:38.660><c> swarm</c><00:08:39.660><c> is</c><00:08:39.960><c> the</c>

00:08:40.610 --> 00:08:40.620 align:start position:0%
etherium available and swarm is the
 

00:08:40.620 --> 00:08:45.830 align:start position:0%
etherium available and swarm is the
perfect<00:08:41.040><c> vehicle</c><00:08:41.160><c> for</c><00:08:41.640><c> that</c><00:08:43.880><c> so</c><00:08:44.880><c> all</c><00:08:45.570><c> the</c>

00:08:45.830 --> 00:08:45.840 align:start position:0%
perfect vehicle for that so all the
 

00:08:45.840 --> 00:08:47.470 align:start position:0%
perfect vehicle for that so all the
techniques<00:08:46.230><c> that</c><00:08:46.350><c> I'm</c><00:08:46.620><c> going</c><00:08:46.860><c> to</c><00:08:47.040><c> talk</c><00:08:47.250><c> about</c>

00:08:47.470 --> 00:08:47.480 align:start position:0%
techniques that I'm going to talk about
 

00:08:47.480 --> 00:08:51.710 align:start position:0%
techniques that I'm going to talk about
can<00:08:48.480><c> be</c><00:08:48.540><c> used</c><00:08:49.200><c> for</c><00:08:50.010><c> scaling</c><00:08:50.640><c> various</c><00:08:51.060><c> aspects</c>

00:08:51.710 --> 00:08:51.720 align:start position:0%
can be used for scaling various aspects
 

00:08:51.720 --> 00:08:57.410 align:start position:0%
can be used for scaling various aspects
of<00:08:51.870><c> the</c><00:08:52.170><c> blockchain</c><00:08:55.250><c> so</c><00:08:56.250><c> on</c><00:08:56.550><c> the</c><00:08:56.880><c> slide</c><00:08:57.030><c> you</c>

00:08:57.410 --> 00:08:57.420 align:start position:0%
of the blockchain so on the slide you
 

00:08:57.420 --> 00:09:00.550 align:start position:0%
of the blockchain so on the slide you
see<00:08:57.690><c> in</c><00:08:58.500><c> what</c><00:08:58.980><c> ways</c><00:08:59.310><c> the</c><00:09:00.000><c> blockchain</c>

00:09:00.550 --> 00:09:00.560 align:start position:0%
see in what ways the blockchain
 

00:09:00.560 --> 00:09:05.840 align:start position:0%
see in what ways the blockchain
constitutes<00:09:01.560><c> a</c><00:09:01.800><c> bottleneck</c><00:09:03.380><c> so</c><00:09:04.380><c> because</c><00:09:05.370><c> all</c>

00:09:05.840 --> 00:09:05.850 align:start position:0%
constitutes a bottleneck so because all
 

00:09:05.850 --> 00:09:08.090 align:start position:0%
constitutes a bottleneck so because all
information<00:09:06.720><c> needs</c><00:09:06.930><c> to</c><00:09:07.050><c> be</c><00:09:07.140><c> replicated</c><00:09:07.440><c> over</c>

00:09:08.090 --> 00:09:08.100 align:start position:0%
information needs to be replicated over
 

00:09:08.100 --> 00:09:11.180 align:start position:0%
information needs to be replicated over
every<00:09:08.610><c> node</c><00:09:08.910><c> that</c><00:09:09.690><c> means</c><00:09:09.750><c> that</c><00:09:10.680><c> storing</c>

00:09:11.180 --> 00:09:11.190 align:start position:0%
every node that means that storing
 

00:09:11.190 --> 00:09:13.070 align:start position:0%
every node that means that storing
information<00:09:11.430><c> on</c><00:09:12.120><c> the</c><00:09:12.270><c> blockchain</c><00:09:12.480><c> is</c><00:09:12.720><c> very</c>

00:09:13.070 --> 00:09:13.080 align:start position:0%
information on the blockchain is very
 

00:09:13.080 --> 00:09:14.780 align:start position:0%
information on the blockchain is very
expensive<00:09:13.650><c> so</c><00:09:13.830><c> you</c><00:09:13.860><c> don't</c><00:09:14.160><c> want</c><00:09:14.430><c> to</c><00:09:14.580><c> burden</c>

00:09:14.780 --> 00:09:14.790 align:start position:0%
expensive so you don't want to burden
 

00:09:14.790 --> 00:09:19.720 align:start position:0%
expensive so you don't want to burden
the<00:09:15.120><c> blockchain</c><00:09:15.330><c> with</c><00:09:15.720><c> too</c><00:09:15.870><c> much</c><00:09:16.020><c> information</c>

00:09:19.720 --> 00:09:19.730 align:start position:0%
 
 

00:09:19.730 --> 00:09:28.639 align:start position:0%
 
also<00:09:23.990><c> the</c><00:09:24.990><c> blockchain</c><00:09:25.290><c> can</c><00:09:26.070><c> only</c><00:09:26.340><c> be</c><00:09:26.640><c> updated</c>

00:09:28.639 --> 00:09:28.649 align:start position:0%
also the blockchain can only be updated
 

00:09:28.649 --> 00:09:30.710 align:start position:0%
also the blockchain can only be updated
at<00:09:28.680><c> the</c><00:09:28.860><c> block</c><00:09:29.040><c> time</c><00:09:29.279><c> speed</c><00:09:29.639><c> which</c><00:09:30.059><c> is</c><00:09:30.089><c> on</c>

00:09:30.710 --> 00:09:30.720 align:start position:0%
at the block time speed which is on
 

00:09:30.720 --> 00:09:33.679 align:start position:0%
at the block time speed which is on
average<00:09:31.139><c> a</c><00:09:31.439><c> dozen</c><00:09:31.800><c> seconds</c><00:09:32.249><c> or</c><00:09:32.399><c> so</c><00:09:32.639><c> which</c><00:09:33.420><c> is</c>

00:09:33.679 --> 00:09:33.689 align:start position:0%
average a dozen seconds or so which is
 

00:09:33.689 --> 00:09:39.769 align:start position:0%
average a dozen seconds or so which is
not<00:09:33.930><c> exactly</c><00:09:35.569><c> responsive</c><00:09:36.680><c> and</c><00:09:38.240><c> you</c><00:09:39.240><c> have</c><00:09:39.569><c> to</c>

00:09:39.769 --> 00:09:39.779 align:start position:0%
not exactly responsive and you have to
 

00:09:39.779 --> 00:09:42.410 align:start position:0%
not exactly responsive and you have to
pay<00:09:40.050><c> for</c><00:09:40.649><c> submitting</c><00:09:41.459><c> transactions</c><00:09:42.149><c> to</c><00:09:42.389><c> the</c>

00:09:42.410 --> 00:09:42.420 align:start position:0%
pay for submitting transactions to the
 

00:09:42.420 --> 00:09:44.600 align:start position:0%
pay for submitting transactions to the
blockchain<00:09:42.749><c> so</c><00:09:43.319><c> if</c><00:09:43.470><c> you</c><00:09:43.680><c> do</c><00:09:43.860><c> updates</c><00:09:44.369><c> very</c>

00:09:44.600 --> 00:09:44.610 align:start position:0%
blockchain so if you do updates very
 

00:09:44.610 --> 00:09:46.519 align:start position:0%
blockchain so if you do updates very
frequently<00:09:45.240><c> or</c><00:09:45.569><c> your</c><00:09:45.749><c> updates</c><00:09:46.139><c> are</c><00:09:46.319><c> very</c>

00:09:46.519 --> 00:09:46.529 align:start position:0%
frequently or your updates are very
 

00:09:46.529 --> 00:09:49.460 align:start position:0%
frequently or your updates are very
large<00:09:46.860><c> then</c><00:09:47.699><c> it</c><00:09:48.059><c> again</c><00:09:48.629><c> becomes</c><00:09:48.990><c> overly</c>

00:09:49.460 --> 00:09:49.470 align:start position:0%
large then it again becomes overly
 

00:09:49.470 --> 00:09:52.280 align:start position:0%
large then it again becomes overly
expensive<00:09:50.059><c> the</c><00:09:51.059><c> other</c><00:09:51.240><c> bottleneck</c><00:09:51.899><c> that</c><00:09:51.929><c> we</c>

00:09:52.280 --> 00:09:52.290 align:start position:0%
expensive the other bottleneck that we
 

00:09:52.290 --> 00:09:55.040 align:start position:0%
expensive the other bottleneck that we
are<00:09:52.350><c> going</c><00:09:52.589><c> to</c><00:09:52.860><c> encounter</c><00:09:53.699><c> are</c><00:09:54.209><c> individual</c>

00:09:55.040 --> 00:09:55.050 align:start position:0%
are going to encounter are individual
 

00:09:55.050 --> 00:09:58.179 align:start position:0%
are going to encounter are individual
nodes<00:09:55.290><c> so</c><00:09:56.129><c> basically</c><00:09:56.730><c> you</c><00:09:57.029><c> don't</c><00:09:57.269><c> want</c>

00:09:58.179 --> 00:09:58.189 align:start position:0%
nodes so basically you don't want
 

00:09:58.189 --> 00:10:02.359 align:start position:0%
nodes so basically you don't want
individual<00:09:59.189><c> nodes</c><00:09:59.490><c> to</c><00:10:00.269><c> perform</c><00:10:00.839><c> all</c><00:10:01.800><c> the</c><00:10:02.160><c> work</c>

00:10:02.359 --> 00:10:02.369 align:start position:0%
individual nodes to perform all the work
 

00:10:02.369 --> 00:10:05.689 align:start position:0%
individual nodes to perform all the work
of<00:10:02.579><c> a</c><00:10:03.389><c> particular</c><00:10:04.139><c> area</c><00:10:04.470><c> of</c><00:10:04.679><c> the</c><00:10:05.100><c> distributed</c>

00:10:05.689 --> 00:10:05.699 align:start position:0%
of a particular area of the distributed
 

00:10:05.699 --> 00:10:07.429 align:start position:0%
of a particular area of the distributed
application<00:10:06.360><c> so</c><00:10:06.600><c> you</c><00:10:06.629><c> want</c><00:10:06.929><c> to</c><00:10:07.079><c> distribute</c>

00:10:07.429 --> 00:10:07.439 align:start position:0%
application so you want to distribute
 

00:10:07.439 --> 00:10:12.650 align:start position:0%
application so you want to distribute
all<00:10:08.129><c> the</c><00:10:09.230><c> tasks</c><00:10:10.230><c> of</c><00:10:10.350><c> ADAP</c><00:10:11.160><c> or</c><00:10:11.459><c> as</c><00:10:11.819><c> many</c><00:10:12.209><c> tasks</c>

00:10:12.650 --> 00:10:12.660 align:start position:0%
all the tasks of ADAP or as many tasks
 

00:10:12.660 --> 00:10:15.410 align:start position:0%
all the tasks of ADAP or as many tasks
of<00:10:12.809><c> the</c><00:10:12.959><c> app</c><00:10:13.110><c> as</c><00:10:13.290><c> you</c><00:10:13.439><c> can</c><00:10:13.709><c> over</c><00:10:13.980><c> a</c><00:10:14.819><c> large</c>

00:10:15.410 --> 00:10:15.420 align:start position:0%
of the app as you can over a large
 

00:10:15.420 --> 00:10:17.090 align:start position:0%
of the app as you can over a large
number<00:10:15.839><c> of</c><00:10:15.869><c> nodes</c><00:10:16.139><c> that</c><00:10:16.470><c> are</c><00:10:16.619><c> working</c><00:10:16.829><c> in</c>

00:10:17.090 --> 00:10:17.100 align:start position:0%
number of nodes that are working in
 

00:10:17.100 --> 00:10:21.439 align:start position:0%
number of nodes that are working in
parallel<00:10:17.579><c> and</c><00:10:18.920><c> also</c><00:10:19.920><c> bottlenecks</c><00:10:20.879><c> can</c><00:10:21.179><c> be</c><00:10:21.389><c> in</c>

00:10:21.439 --> 00:10:21.449 align:start position:0%
parallel and also bottlenecks can be in
 

00:10:21.449 --> 00:10:25.400 align:start position:0%
parallel and also bottlenecks can be in
network<00:10:21.869><c> links</c><00:10:22.230><c> so</c><00:10:23.129><c> for</c><00:10:23.339><c> example</c><00:10:24.199><c> you</c><00:10:25.199><c> do</c><00:10:25.379><c> not</c>

00:10:25.400 --> 00:10:25.410 align:start position:0%
network links so for example you do not
 

00:10:25.410 --> 00:10:28.879 align:start position:0%
network links so for example you do not
necessarily<00:10:26.040><c> want</c><00:10:26.790><c> to</c><00:10:27.329><c> broadcast</c><00:10:27.889><c> every</c>

00:10:28.879 --> 00:10:28.889 align:start position:0%
necessarily want to broadcast every
 

00:10:28.889 --> 00:10:30.679 align:start position:0%
necessarily want to broadcast every
interaction<00:10:29.189><c> to</c><00:10:29.999><c> the</c><00:10:30.119><c> entire</c><00:10:30.420><c> network</c>

00:10:30.679 --> 00:10:30.689 align:start position:0%
interaction to the entire network
 

00:10:30.689 --> 00:10:32.840 align:start position:0%
interaction to the entire network
because<00:10:31.529><c> then</c><00:10:31.740><c> you're</c><00:10:31.980><c> going</c><00:10:32.189><c> to</c><00:10:32.279><c> have</c><00:10:32.610><c> a</c>

00:10:32.840 --> 00:10:32.850 align:start position:0%
because then you're going to have a
 

00:10:32.850 --> 00:10:38.230 align:start position:0%
because then you're going to have a
network<00:10:33.149><c> congestion</c><00:10:33.509><c> and</c><00:10:36.170><c> in</c><00:10:37.170><c> case</c><00:10:37.769><c> of</c>

00:10:38.230 --> 00:10:38.240 align:start position:0%
network congestion and in case of
 

00:10:38.240 --> 00:10:41.360 align:start position:0%
network congestion and in case of
systems<00:10:39.240><c> like</c><00:10:39.449><c> whisperer</c><00:10:39.990><c> you</c><00:10:40.559><c> may</c><00:10:40.769><c> need</c><00:10:41.040><c> to</c>

00:10:41.360 --> 00:10:41.370 align:start position:0%
systems like whisperer you may need to
 

00:10:41.370 --> 00:10:44.480 align:start position:0%
systems like whisperer you may need to
pay<00:10:41.639><c> in</c><00:10:42.269><c> terms</c><00:10:42.569><c> of</c><00:10:42.839><c> proof</c><00:10:43.139><c> of</c><00:10:43.319><c> work</c><00:10:43.559><c> for</c><00:10:44.129><c> doing</c>

00:10:44.480 --> 00:10:44.490 align:start position:0%
pay in terms of proof of work for doing
 

00:10:44.490 --> 00:10:48.379 align:start position:0%
pay in terms of proof of work for doing
so<00:10:45.829><c> so</c><00:10:46.829><c> these</c><00:10:47.009><c> are</c><00:10:47.279><c> the</c><00:10:47.429><c> bottlenecks</c><00:10:47.790><c> that</c>

00:10:48.379 --> 00:10:48.389 align:start position:0%
so so these are the bottlenecks that
 

00:10:48.389 --> 00:10:54.619 align:start position:0%
so so these are the bottlenecks that
we're<00:10:48.689><c> going</c><00:10:48.929><c> to</c><00:10:49.079><c> be</c><00:10:49.199><c> dealing</c><00:10:49.350><c> with</c><00:10:52.879><c> so</c><00:10:53.879><c> the</c>

00:10:54.619 --> 00:10:54.629 align:start position:0%
we're going to be dealing with so the
 

00:10:54.629 --> 00:10:57.739 align:start position:0%
we're going to be dealing with so the
storage<00:10:54.929><c> bottleneck</c><00:10:55.589><c> is</c><00:10:55.829><c> best</c><00:10:56.459><c> overcome</c><00:10:57.179><c> by</c>

00:10:57.739 --> 00:10:57.749 align:start position:0%
storage bottleneck is best overcome by
 

00:10:57.749 --> 00:11:00.530 align:start position:0%
storage bottleneck is best overcome by
storing<00:10:58.439><c> everything</c><00:10:59.009><c> that</c><00:10:59.220><c> you</c><00:10:59.339><c> can</c><00:10:59.610><c> inform</c>

00:11:00.530 --> 00:11:00.540 align:start position:0%
storing everything that you can inform
 

00:11:00.540 --> 00:11:04.600 align:start position:0%
storing everything that you can inform
and<00:11:01.189><c> put</c><00:11:02.189><c> the</c><00:11:02.639><c> root</c><00:11:02.879><c> hash</c><00:11:03.149><c> of</c><00:11:03.509><c> your</c><00:11:03.899><c> data</c><00:11:04.170><c> in</c>

00:11:04.600 --> 00:11:04.610 align:start position:0%
and put the root hash of your data in
 

00:11:04.610 --> 00:11:10.639 align:start position:0%
and put the root hash of your data in
iana's<00:11:05.839><c> so</c><00:11:06.839><c> the</c><00:11:07.529><c> root</c><00:11:07.709><c> hash</c><00:11:08.009><c> is</c><00:11:08.540><c> just</c><00:11:09.540><c> 32</c><00:11:10.410><c> bytes</c>

00:11:10.639 --> 00:11:10.649 align:start position:0%
iana's so the root hash is just 32 bytes
 

00:11:10.649 --> 00:11:15.400 align:start position:0%
iana's so the root hash is just 32 bytes
and<00:11:11.720><c> it</c><00:11:12.720><c> can</c><00:11:13.259><c> integrity</c><00:11:14.040><c> protect</c><00:11:14.519><c> as</c><00:11:14.730><c> well</c><00:11:15.120><c> as</c>

00:11:15.400 --> 00:11:15.410 align:start position:0%
and it can integrity protect as well as
 

00:11:15.410 --> 00:11:19.730 align:start position:0%
and it can integrity protect as well as
identify<00:11:16.879><c> data</c><00:11:17.879><c> of</c><00:11:18.299><c> arbitrary</c><00:11:18.990><c> size</c><00:11:19.319><c> and</c>

00:11:19.730 --> 00:11:19.740 align:start position:0%
identify data of arbitrary size and
 

00:11:19.740 --> 00:11:23.569 align:start position:0%
identify data of arbitrary size and
complexity<00:11:20.279><c> and</c><00:11:20.549><c> structure</c><00:11:21.439><c> meaning</c><00:11:22.439><c> that</c><00:11:22.709><c> no</c>

00:11:23.569 --> 00:11:23.579 align:start position:0%
complexity and structure meaning that no
 

00:11:23.579 --> 00:11:28.549 align:start position:0%
complexity and structure meaning that no
matter<00:11:24.619><c> how</c><00:11:25.619><c> much</c><00:11:25.860><c> data</c><00:11:26.189><c> you're</c><00:11:26.579><c> updating</c><00:11:27.559><c> you</c>

00:11:28.549 --> 00:11:28.559 align:start position:0%
matter how much data you're updating you
 

00:11:28.559 --> 00:11:31.220 align:start position:0%
matter how much data you're updating you
still<00:11:28.920><c> on</c><00:11:29.189><c> the</c><00:11:29.670><c> blockchain</c><00:11:29.910><c> you</c><00:11:30.420><c> only</c><00:11:30.660><c> need</c><00:11:30.990><c> to</c>

00:11:31.220 --> 00:11:31.230 align:start position:0%
still on the blockchain you only need to
 

00:11:31.230 --> 00:11:35.269 align:start position:0%
still on the blockchain you only need to
change<00:11:31.639><c> 32</c><00:11:32.639><c> bytes</c><00:11:32.970><c> which</c><00:11:33.779><c> is</c><00:11:34.019><c> obviously</c><00:11:34.799><c> a</c><00:11:35.040><c> lot</c>

00:11:35.269 --> 00:11:35.279 align:start position:0%
change 32 bytes which is obviously a lot
 

00:11:35.279 --> 00:11:41.119 align:start position:0%
change 32 bytes which is obviously a lot
cheaper<00:11:35.549><c> than</c><00:11:35.939><c> changing</c><00:11:36.839><c> megabytes</c>

00:11:41.119 --> 00:11:41.129 align:start position:0%
 
 

00:11:41.129 --> 00:11:44.159 align:start position:0%
 
the<00:11:42.129><c> transaction</c><00:11:42.819><c> bottleneck</c><00:11:43.389><c> can</c><00:11:43.689><c> also</c><00:11:43.899><c> be</c>

00:11:44.159 --> 00:11:44.169 align:start position:0%
the transaction bottleneck can also be
 

00:11:44.169 --> 00:11:50.429 align:start position:0%
the transaction bottleneck can also be
overcome<00:11:44.679><c> so</c><00:11:47.519><c> for</c><00:11:48.519><c> those</c><00:11:48.699><c> of</c><00:11:48.759><c> you</c><00:11:49.229><c> who</c><00:11:50.229><c> don't</c>

00:11:50.429 --> 00:11:50.439 align:start position:0%
overcome so for those of you who don't
 

00:11:50.439 --> 00:11:55.439 align:start position:0%
overcome so for those of you who don't
know<00:11:50.909><c> EMS</c><00:11:51.989><c> has</c><00:11:52.989><c> resolver</c><00:11:53.919><c> contracts</c><00:11:54.609><c> so</c><00:11:55.149><c> each</c>

00:11:55.439 --> 00:11:55.449 align:start position:0%
know EMS has resolver contracts so each
 

00:11:55.449 --> 00:12:00.229 align:start position:0%
know EMS has resolver contracts so each
time<00:11:55.779><c> you</c><00:11:56.169><c> ask</c><00:11:56.909><c> Ian</c><00:11:57.909><c> us</c><00:11:58.209><c> what</c><00:11:59.019><c> the</c><00:11:59.319><c> particular</c>

00:12:00.229 --> 00:12:00.239 align:start position:0%
time you ask Ian us what the particular
 

00:12:00.239 --> 00:12:04.309 align:start position:0%
time you ask Ian us what the particular
address<00:12:01.919><c> corresponding</c><00:12:02.919><c> to</c><00:12:03.129><c> a</c><00:12:03.159><c> name</c><00:12:03.459><c> is</c>

00:12:04.309 --> 00:12:04.319 align:start position:0%
address corresponding to a name is
 

00:12:04.319 --> 00:12:07.259 align:start position:0%
address corresponding to a name is
you're<00:12:05.319><c> going</c><00:12:05.589><c> to</c><00:12:05.859><c> have</c><00:12:06.039><c> a</c><00:12:06.069><c> contract</c><00:12:06.759><c> answer</c>

00:12:07.259 --> 00:12:07.269 align:start position:0%
you're going to have a contract answer
 

00:12:07.269 --> 00:12:10.949 align:start position:0%
you're going to have a contract answer
you<00:12:07.479><c> and</c><00:12:07.979><c> those</c><00:12:08.979><c> contracts</c><00:12:09.549><c> can</c><00:12:09.970><c> be</c><00:12:10.209><c> more</c>

00:12:10.949 --> 00:12:10.959 align:start position:0%
you and those contracts can be more
 

00:12:10.959 --> 00:12:14.189 align:start position:0%
you and those contracts can be more
complicated<00:12:11.379><c> than</c><00:12:12.039><c> a</c><00:12:12.459><c> simple</c><00:12:12.489><c> storage</c><00:12:13.449><c> of</c><00:12:13.720><c> 32</c>

00:12:14.189 --> 00:12:14.199 align:start position:0%
complicated than a simple storage of 32
 

00:12:14.199 --> 00:12:16.979 align:start position:0%
complicated than a simple storage of 32
bytes<00:12:14.439><c> in</c><00:12:15.009><c> particular</c><00:12:15.729><c> you</c><00:12:16.419><c> can</c><00:12:16.449><c> implement</c>

00:12:16.979 --> 00:12:16.989 align:start position:0%
bytes in particular you can implement
 

00:12:16.989 --> 00:12:21.299 align:start position:0%
bytes in particular you can implement
Radin<00:12:17.829><c> style</c><00:12:18.159><c> updates</c><00:12:18.639><c> on</c><00:12:18.909><c> els</c><00:12:19.829><c> meaning</c><00:12:20.829><c> that</c>

00:12:21.299 --> 00:12:21.309 align:start position:0%
Radin style updates on els meaning that
 

00:12:21.309 --> 00:12:23.699 align:start position:0%
Radin style updates on els meaning that
you<00:12:21.789><c> can</c><00:12:21.999><c> send</c><00:12:22.389><c> those</c><00:12:22.569><c> updates</c><00:12:23.139><c> to</c><00:12:23.379><c> all</c><00:12:23.529><c> the</c>

00:12:23.699 --> 00:12:23.709 align:start position:0%
you can send those updates to all the
 

00:12:23.709 --> 00:12:27.119 align:start position:0%
you can send those updates to all the
interested<00:12:24.249><c> nodes</c><00:12:25.349><c> but</c><00:12:26.349><c> you</c><00:12:26.470><c> don't</c><00:12:26.709><c> have</c><00:12:26.919><c> to</c>

00:12:27.119 --> 00:12:27.129 align:start position:0%
interested nodes but you don't have to
 

00:12:27.129 --> 00:12:31.469 align:start position:0%
interested nodes but you don't have to
commit<00:12:27.459><c> all</c><00:12:27.759><c> of</c><00:12:28.029><c> them</c><00:12:28.239><c> immediately</c><00:12:29.079><c> to</c><00:12:29.919><c> the</c><00:12:30.479><c> to</c>

00:12:31.469 --> 00:12:31.479 align:start position:0%
commit all of them immediately to the to
 

00:12:31.479 --> 00:12:35.849 align:start position:0%
commit all of them immediately to the to
the<00:12:31.599><c> blockchain</c><00:12:32.999><c> and</c><00:12:33.999><c> yet</c><00:12:34.479><c> all</c><00:12:35.169><c> the</c><00:12:35.229><c> nodes</c>

00:12:35.849 --> 00:12:35.859 align:start position:0%
the blockchain and yet all the nodes
 

00:12:35.859 --> 00:12:37.829 align:start position:0%
the blockchain and yet all the nodes
that<00:12:36.039><c> are</c><00:12:36.279><c> interested</c><00:12:36.879><c> are</c><00:12:37.029><c> going</c><00:12:37.299><c> to</c><00:12:37.599><c> know</c>

00:12:37.829 --> 00:12:37.839 align:start position:0%
that are interested are going to know
 

00:12:37.839 --> 00:12:41.249 align:start position:0%
that are interested are going to know
that<00:12:38.679><c> the</c><00:12:39.189><c> content</c><00:12:39.669><c> has</c><00:12:39.759><c> changed</c><00:12:40.419><c> and</c><00:12:40.569><c> any</c><00:12:41.049><c> of</c>

00:12:41.249 --> 00:12:41.259 align:start position:0%
that the content has changed and any of
 

00:12:41.259 --> 00:12:44.369 align:start position:0%
that the content has changed and any of
them<00:12:41.499><c> can</c><00:12:41.939><c> commit</c><00:12:42.939><c> it</c><00:12:43.119><c> to</c><00:12:43.329><c> the</c><00:12:43.419><c> blockchain</c><00:12:43.779><c> in</c>

00:12:44.369 --> 00:12:44.379 align:start position:0%
them can commit it to the blockchain in
 

00:12:44.379 --> 00:12:48.869 align:start position:0%
them can commit it to the blockchain in
case<00:12:45.009><c> it</c><00:12:45.429><c> becomes</c><00:12:46.439><c> it</c><00:12:47.439><c> becomes</c><00:12:47.619><c> critical</c><00:12:48.459><c> that</c>

00:12:48.869 --> 00:12:48.879 align:start position:0%
case it becomes it becomes critical that
 

00:12:48.879 --> 00:12:51.899 align:start position:0%
case it becomes it becomes critical that
a<00:12:49.149><c> consensus</c><00:12:49.779><c> is</c><00:12:49.959><c> reached</c><00:12:50.169><c> so</c><00:12:50.589><c> this</c><00:12:51.129><c> way</c><00:12:51.639><c> we</c>

00:12:51.899 --> 00:12:51.909 align:start position:0%
a consensus is reached so this way we
 

00:12:51.909 --> 00:12:55.710 align:start position:0%
a consensus is reached so this way we
take<00:12:52.149><c> the</c><00:12:52.359><c> burden</c><00:12:53.019><c> of</c><00:12:53.639><c> updates</c><00:12:54.639><c> of</c><00:12:54.939><c> the</c>

00:12:55.710 --> 00:12:55.720 align:start position:0%
take the burden of updates of the
 

00:12:55.720 --> 00:12:57.929 align:start position:0%
take the burden of updates of the
blockchain<00:12:55.989><c> and</c><00:12:56.589><c> we</c><00:12:56.739><c> can</c><00:12:56.919><c> have</c><00:12:57.159><c> in</c><00:12:57.369><c> frequent</c>

00:12:57.929 --> 00:12:57.939 align:start position:0%
blockchain and we can have in frequent
 

00:12:57.939 --> 00:13:00.479 align:start position:0%
blockchain and we can have in frequent
updates<00:12:58.209><c> to</c><00:12:58.749><c> the</c><00:12:58.869><c> blockchain</c><00:12:59.139><c> and</c><00:12:59.589><c> yet</c><00:13:00.189><c> have</c>

00:13:00.479 --> 00:13:00.489 align:start position:0%
updates to the blockchain and yet have
 

00:13:00.489 --> 00:13:02.669 align:start position:0%
updates to the blockchain and yet have
immediate<00:13:01.179><c> and</c><00:13:01.419><c> very</c><00:13:01.720><c> very</c><00:13:01.959><c> frequent</c><00:13:02.470><c> updates</c>

00:13:02.669 --> 00:13:02.679 align:start position:0%
immediate and very very frequent updates
 

00:13:02.679 --> 00:13:05.549 align:start position:0%
immediate and very very frequent updates
to<00:13:03.639><c> the</c><00:13:03.789><c> root</c><00:13:03.939><c> hash</c><00:13:04.209><c> of</c><00:13:04.539><c> the</c><00:13:04.779><c> data</c><00:13:04.959><c> that</c><00:13:05.349><c> we</c><00:13:05.529><c> are</c>

00:13:05.549 --> 00:13:05.559 align:start position:0%
to the root hash of the data that we are
 

00:13:05.559 --> 00:13:10.309 align:start position:0%
to the root hash of the data that we are
using<00:13:07.769><c> broadcast</c><00:13:08.789><c> bottlenecks</c>

00:13:10.309 --> 00:13:10.319 align:start position:0%
using broadcast bottlenecks
 

00:13:10.319 --> 00:13:14.369 align:start position:0%
using broadcast bottlenecks
they<00:13:11.319><c> can</c><00:13:11.529><c> also</c><00:13:11.679><c> be</c><00:13:11.889><c> overcome</c><00:13:12.519><c> using</c><00:13:12.939><c> PSS</c><00:13:13.509><c> so</c>

00:13:14.369 --> 00:13:14.379 align:start position:0%
they can also be overcome using PSS so
 

00:13:14.379 --> 00:13:19.969 align:start position:0%
they can also be overcome using PSS so
just<00:13:14.859><c> as</c><00:13:16.169><c> Louis</c><00:13:17.169><c> had</c><00:13:17.669><c> explained</c><00:13:18.669><c> before</c><00:13:19.119><c> me</c>

00:13:19.969 --> 00:13:19.979 align:start position:0%
just as Louis had explained before me
 

00:13:19.979 --> 00:13:23.729 align:start position:0%
just as Louis had explained before me
PSS<00:13:20.979><c> can</c><00:13:21.339><c> be</c><00:13:21.519><c> used</c><00:13:21.819><c> to</c><00:13:22.179><c> broadcast</c><00:13:22.419><c> messages</c><00:13:23.049><c> to</c>

00:13:23.729 --> 00:13:23.739 align:start position:0%
PSS can be used to broadcast messages to
 

00:13:23.739 --> 00:13:25.679 align:start position:0%
PSS can be used to broadcast messages to
parts<00:13:24.159><c> of</c><00:13:24.399><c> the</c><00:13:24.549><c> network</c><00:13:24.699><c> instead</c><00:13:25.389><c> of</c><00:13:25.539><c> the</c>

00:13:25.679 --> 00:13:25.689 align:start position:0%
parts of the network instead of the
 

00:13:25.689 --> 00:13:28.669 align:start position:0%
parts of the network instead of the
entire<00:13:25.959><c> network</c><00:13:26.169><c> so</c><00:13:27.129><c> if</c><00:13:27.459><c> you</c><00:13:27.729><c> have</c><00:13:28.389><c> this</c>

00:13:28.669 --> 00:13:28.679 align:start position:0%
entire network so if you have this
 

00:13:28.679 --> 00:13:34.379 align:start position:0%
entire network so if you have this
pops-up<00:13:30.449><c> model</c><00:13:31.449><c> then</c><00:13:32.139><c> PSS</c><00:13:32.919><c> will</c><00:13:33.279><c> make</c><00:13:34.089><c> sure</c>

00:13:34.379 --> 00:13:34.389 align:start position:0%
pops-up model then PSS will make sure
 

00:13:34.389 --> 00:13:38.069 align:start position:0%
pops-up model then PSS will make sure
that<00:13:35.459><c> even</c><00:13:36.459><c> though</c><00:13:36.609><c> there</c><00:13:36.849><c> is</c><00:13:36.970><c> an</c><00:13:37.149><c> overhead</c>

00:13:38.069 --> 00:13:38.079 align:start position:0%
that even though there is an overhead
 

00:13:38.079 --> 00:13:43.710 align:start position:0%
that even though there is an overhead
you<00:13:38.829><c> won't</c><00:13:39.129><c> burden</c><00:13:39.939><c> the</c><00:13:41.249><c> swarm</c><00:13:42.249><c> network</c><00:13:42.759><c> with</c>

00:13:43.710 --> 00:13:43.720 align:start position:0%
you won't burden the swarm network with
 

00:13:43.720 --> 00:13:46.909 align:start position:0%
you won't burden the swarm network with
every<00:13:44.379><c> message</c><00:13:44.799><c> broadcast</c><00:13:45.699><c> it</c><00:13:45.939><c> to</c><00:13:45.970><c> every</c><00:13:46.449><c> node</c>

00:13:46.909 --> 00:13:46.919 align:start position:0%
every message broadcast it to every node
 

00:13:46.919 --> 00:13:50.519 align:start position:0%
every message broadcast it to every node
of<00:13:47.919><c> course</c><00:13:48.519><c> this</c><00:13:48.879><c> only</c><00:13:49.119><c> becomes</c><00:13:49.659><c> a</c><00:13:49.809><c> problem</c><00:13:50.079><c> if</c>

00:13:50.519 --> 00:13:50.529 align:start position:0%
of course this only becomes a problem if
 

00:13:50.529 --> 00:13:51.999 align:start position:0%
of course this only becomes a problem if
your

00:13:51.999 --> 00:13:52.009 align:start position:0%
your
 

00:13:52.009 --> 00:13:54.980 align:start position:0%
your
application<00:13:53.009><c> scales</c><00:13:53.339><c> really</c><00:13:53.730><c> big</c><00:13:53.910><c> so</c><00:13:54.540><c> for</c>

00:13:54.980 --> 00:13:54.990 align:start position:0%
application scales really big so for
 

00:13:54.990 --> 00:13:57.499 align:start position:0%
application scales really big so for
many<00:13:55.709><c> applications</c><00:13:56.360><c> broadcasting</c><00:13:57.360><c> is</c>

00:13:57.499 --> 00:13:57.509 align:start position:0%
many applications broadcasting is
 

00:13:57.509 --> 00:14:00.139 align:start position:0%
many applications broadcasting is
perfectly<00:13:57.959><c> adequate</c><00:13:58.079><c> and</c><00:13:58.649><c> if</c><00:13:59.129><c> you</c><00:13:59.370><c> are</c><00:13:59.579><c> more</c>

00:14:00.139 --> 00:14:00.149 align:start position:0%
perfectly adequate and if you are more
 

00:14:00.149 --> 00:14:02.150 align:start position:0%
perfectly adequate and if you are more
interested<00:14:00.689><c> in</c><00:14:00.779><c> darkness</c><00:14:01.290><c> you</c><00:14:01.470><c> can</c><00:14:01.649><c> still</c><00:14:01.920><c> use</c>

00:14:02.150 --> 00:14:02.160 align:start position:0%
interested in darkness you can still use
 

00:14:02.160 --> 00:14:04.999 align:start position:0%
interested in darkness you can still use
whisper<00:14:02.699><c> but</c><00:14:03.329><c> then</c><00:14:03.509><c> you</c><00:14:03.689><c> will</c><00:14:03.839><c> have</c><00:14:04.050><c> to</c><00:14:04.319><c> keep</c>

00:14:04.999 --> 00:14:05.009 align:start position:0%
whisper but then you will have to keep
 

00:14:05.009 --> 00:14:07.910 align:start position:0%
whisper but then you will have to keep
in<00:14:05.189><c> mind</c><00:14:05.459><c> that</c><00:14:06.149><c> you</c><00:14:06.420><c> have</c><00:14:06.660><c> a</c><00:14:06.990><c> network</c>

00:14:07.910 --> 00:14:07.920 align:start position:0%
in mind that you have a network
 

00:14:07.920 --> 00:14:15.019 align:start position:0%
in mind that you have a network
bottleneck<00:14:11.600><c> so</c><00:14:12.600><c> in</c><00:14:13.379><c> the</c><00:14:13.800><c> next</c><00:14:14.069><c> part</c><00:14:14.309><c> I'm</c><00:14:14.730><c> going</c>

00:14:15.019 --> 00:14:15.029 align:start position:0%
bottleneck so in the next part I'm going
 

00:14:15.029 --> 00:14:18.530 align:start position:0%
bottleneck so in the next part I'm going
to<00:14:15.269><c> discuss</c><00:14:15.689><c> challenges</c><00:14:16.370><c> of</c><00:14:17.370><c> a</c><00:14:17.540><c> trade-off</c>

00:14:18.530 --> 00:14:18.540 align:start position:0%
to discuss challenges of a trade-off
 

00:14:18.540 --> 00:14:21.699 align:start position:0%
to discuss challenges of a trade-off
between<00:14:19.160><c> responsiveness</c><00:14:20.160><c> and</c><00:14:20.550><c> consistency</c>

00:14:21.699 --> 00:14:21.709 align:start position:0%
between responsiveness and consistency
 

00:14:21.709 --> 00:14:23.629 align:start position:0%
between responsiveness and consistency
it's<00:14:22.709><c> a</c><00:14:22.860><c> trade-off</c>

00:14:23.629 --> 00:14:23.639 align:start position:0%
it's a trade-off
 

00:14:23.639 --> 00:14:27.199 align:start position:0%
it's a trade-off
because<00:14:24.319><c> the</c><00:14:25.319><c> faster</c><00:14:25.800><c> things</c><00:14:26.040><c> happen</c><00:14:26.639><c> the</c>

00:14:27.199 --> 00:14:27.209 align:start position:0%
because the faster things happen the
 

00:14:27.209 --> 00:14:29.660 align:start position:0%
because the faster things happen the
more<00:14:27.420><c> difficult</c><00:14:27.660><c> it</c><00:14:28.139><c> becomes</c><00:14:28.319><c> to</c><00:14:28.829><c> agree</c><00:14:29.129><c> in</c><00:14:29.519><c> a</c>

00:14:29.660 --> 00:14:29.670 align:start position:0%
more difficult it becomes to agree in a
 

00:14:29.670 --> 00:14:38.929 align:start position:0%
more difficult it becomes to agree in a
timely<00:14:30.029><c> fashion</c><00:14:35.149><c> so</c><00:14:36.149><c> the</c><00:14:37.370><c> consistency</c><00:14:38.370><c> is</c>

00:14:38.929 --> 00:14:38.939 align:start position:0%
timely fashion so the consistency is
 

00:14:38.939 --> 00:14:41.989 align:start position:0%
timely fashion so the consistency is
only<00:14:39.269><c> guaranteed</c><00:14:40.170><c> on</c><00:14:40.499><c> the</c><00:14:41.249><c> blockchain</c>

00:14:41.989 --> 00:14:41.999 align:start position:0%
only guaranteed on the blockchain
 

00:14:41.999 --> 00:14:45.230 align:start position:0%
only guaranteed on the blockchain
but<00:14:42.720><c> this</c><00:14:42.899><c> consistency</c><00:14:43.589><c> is</c><00:14:44.040><c> a</c><00:14:44.339><c> eventual</c>

00:14:45.230 --> 00:14:45.240 align:start position:0%
but this consistency is a eventual
 

00:14:45.240 --> 00:14:47.840 align:start position:0%
but this consistency is a eventual
consistency<00:14:45.680><c> which</c><00:14:46.680><c> is</c><00:14:46.709><c> rather</c><00:14:47.069><c> slow</c><00:14:47.490><c> so</c><00:14:47.819><c> you</c>

00:14:47.840 --> 00:14:47.850 align:start position:0%
consistency which is rather slow so you
 

00:14:47.850 --> 00:14:49.989 align:start position:0%
consistency which is rather slow so you
can<00:14:48.120><c> see</c><00:14:48.360><c> a</c><00:14:48.889><c> back-of-the-envelope</c>

00:14:49.989 --> 00:14:49.999 align:start position:0%
can see a back-of-the-envelope
 

00:14:49.999 --> 00:14:52.730 align:start position:0%
can see a back-of-the-envelope
calculation<00:14:50.999><c> that</c><00:14:51.029><c> tells</c><00:14:51.569><c> you</c><00:14:51.839><c> that</c><00:14:52.050><c> you</c><00:14:52.559><c> will</c>

00:14:52.730 --> 00:14:52.740 align:start position:0%
calculation that tells you that you will
 

00:14:52.740 --> 00:14:56.869 align:start position:0%
calculation that tells you that you will
reach<00:14:52.920><c> consensus</c><00:14:53.759><c> in</c><00:14:54.269><c> a</c><00:14:54.930><c> time</c><00:14:55.309><c> that</c><00:14:56.309><c> can</c>

00:14:56.869 --> 00:14:56.879 align:start position:0%
reach consensus in a time that can
 

00:14:56.879 --> 00:14:59.269 align:start position:0%
reach consensus in a time that can
hardly<00:14:57.240><c> be</c><00:14:57.449><c> called</c><00:14:58.009><c> responsive</c><00:14:59.009><c> and</c><00:14:59.220><c> you</c>

00:14:59.269 --> 00:14:59.279 align:start position:0%
hardly be called responsive and you
 

00:14:59.279 --> 00:15:03.259 align:start position:0%
hardly be called responsive and you
don't<00:14:59.879><c> want</c><00:15:00.689><c> to</c><00:15:00.899><c> wait</c><00:15:01.350><c> that</c><00:15:01.740><c> much</c><00:15:02.610><c> time</c><00:15:02.939><c> for</c>

00:15:03.259 --> 00:15:03.269 align:start position:0%
don't want to wait that much time for
 

00:15:03.269 --> 00:15:06.379 align:start position:0%
don't want to wait that much time for
every<00:15:03.540><c> update</c><00:15:03.959><c> to</c><00:15:04.379><c> be</c><00:15:05.160><c> visible</c><00:15:05.670><c> to</c><00:15:05.939><c> all</c><00:15:06.149><c> the</c>

00:15:06.379 --> 00:15:06.389 align:start position:0%
every update to be visible to all the
 

00:15:06.389 --> 00:15:09.069 align:start position:0%
every update to be visible to all the
users<00:15:06.660><c> of</c><00:15:07.110><c> your</c><00:15:07.230><c> application</c>

00:15:09.069 --> 00:15:09.079 align:start position:0%
users of your application
 

00:15:09.079 --> 00:15:16.699 align:start position:0%
users of your application
so<00:15:13.639><c> essentially</c><00:15:14.639><c> you</c><00:15:15.209><c> need</c><00:15:15.480><c> to</c><00:15:15.779><c> broadcast</c><00:15:16.079><c> the</c>

00:15:16.699 --> 00:15:16.709 align:start position:0%
so essentially you need to broadcast the
 

00:15:16.709 --> 00:15:20.139 align:start position:0%
so essentially you need to broadcast the
updates<00:15:17.160><c> to</c><00:15:17.490><c> all</c><00:15:18.029><c> the</c><00:15:18.269><c> interested</c><00:15:18.839><c> parties</c>

00:15:20.139 --> 00:15:20.149 align:start position:0%
updates to all the interested parties
 

00:15:20.149 --> 00:15:25.249 align:start position:0%
updates to all the interested parties
and<00:15:21.620><c> then</c><00:15:22.620><c> you</c><00:15:23.009><c> only</c><00:15:23.220><c> need</c><00:15:23.430><c> to</c><00:15:23.819><c> commit</c><00:15:24.209><c> to</c><00:15:24.269><c> the</c>

00:15:25.249 --> 00:15:25.259 align:start position:0%
and then you only need to commit to the
 

00:15:25.259 --> 00:15:30.879 align:start position:0%
and then you only need to commit to the
blockchain<00:15:25.790><c> once</c><00:15:26.790><c> it</c><00:15:27.480><c> becomes</c><00:15:28.379><c> important</c><00:15:29.339><c> to</c>

00:15:30.879 --> 00:15:30.889 align:start position:0%
blockchain once it becomes important to
 

00:15:30.889 --> 00:15:35.179 align:start position:0%
blockchain once it becomes important to
to<00:15:31.889><c> guarantee</c><00:15:32.899><c> the</c><00:15:33.899><c> consistency</c><00:15:34.889><c> over</c><00:15:35.160><c> a</c>

00:15:35.179 --> 00:15:35.189 align:start position:0%
to guarantee the consistency over a
 

00:15:35.189 --> 00:15:38.540 align:start position:0%
to guarantee the consistency over a
longer<00:15:35.730><c> period</c><00:15:36.209><c> of</c><00:15:36.449><c> time</c><00:15:36.589><c> so</c><00:15:37.589><c> here</c><00:15:38.309><c> I</c><00:15:38.339><c> would</c>

00:15:38.540 --> 00:15:38.550 align:start position:0%
longer period of time so here I would
 

00:15:38.550 --> 00:15:42.110 align:start position:0%
longer period of time so here I would
like<00:15:38.879><c> to</c><00:15:39.089><c> give</c><00:15:39.269><c> you</c><00:15:39.420><c> a</c><00:15:39.449><c> few</c><00:15:40.110><c> examples</c><00:15:40.550><c> so</c><00:15:41.550><c> one</c>

00:15:42.110 --> 00:15:42.120 align:start position:0%
like to give you a few examples so one
 

00:15:42.120 --> 00:15:45.650 align:start position:0%
like to give you a few examples so one
one<00:15:43.110><c> is</c><00:15:43.379><c> a</c><00:15:43.410><c> online</c><00:15:44.009><c> discussion</c><00:15:44.699><c> where</c><00:15:45.300><c> there's</c>

00:15:45.650 --> 00:15:45.660 align:start position:0%
one is a online discussion where there's
 

00:15:45.660 --> 00:15:48.650 align:start position:0%
one is a online discussion where there's
some<00:15:45.959><c> kind</c><00:15:46.259><c> of</c><00:15:46.379><c> content</c><00:15:46.860><c> be</c><00:15:47.220><c> it</c><00:15:47.250><c> a</c><00:15:47.519><c> video</c><00:15:47.759><c> or</c><00:15:48.269><c> a</c>

00:15:48.650 --> 00:15:48.660 align:start position:0%
some kind of content be it a video or a
 

00:15:48.660 --> 00:15:52.309 align:start position:0%
some kind of content be it a video or a
blog<00:15:48.689><c> post</c><00:15:49.079><c> or</c><00:15:49.589><c> a</c><00:15:50.490><c> picture</c><00:15:50.999><c> that</c><00:15:51.749><c> several</c>

00:15:52.309 --> 00:15:52.319 align:start position:0%
blog post or a picture that several
 

00:15:52.319 --> 00:15:55.400 align:start position:0%
blog post or a picture that several
users<00:15:52.589><c> are</c><00:15:53.009><c> viewing</c><00:15:53.399><c> and</c><00:15:53.670><c> commenting</c><00:15:54.240><c> and</c><00:15:54.509><c> the</c>

00:15:55.400 --> 00:15:55.410 align:start position:0%
users are viewing and commenting and the
 

00:15:55.410 --> 00:15:59.210 align:start position:0%
users are viewing and commenting and the
other<00:15:55.559><c> is</c><00:15:56.009><c> a</c><00:15:56.809><c> massively</c><00:15:57.809><c> multiplayer</c><00:15:58.319><c> game</c><00:15:58.889><c> in</c>

00:15:59.210 --> 00:15:59.220 align:start position:0%
other is a massively multiplayer game in
 

00:15:59.220 --> 00:16:02.660 align:start position:0%
other is a massively multiplayer game in
which<00:16:00.290><c> different</c><00:16:01.290><c> players</c><00:16:01.649><c> are</c><00:16:02.040><c> interacting</c>

00:16:02.660 --> 00:16:02.670 align:start position:0%
which different players are interacting
 

00:16:02.670 --> 00:16:04.819 align:start position:0%
which different players are interacting
with<00:16:02.819><c> each</c><00:16:02.850><c> other</c><00:16:03.120><c> obviously</c><00:16:03.829><c> submitting</c>

00:16:04.819 --> 00:16:04.829 align:start position:0%
with each other obviously submitting
 

00:16:04.829 --> 00:16:05.510 align:start position:0%
with each other obviously submitting
everything<00:16:05.309><c> to</c>

00:16:05.510 --> 00:16:05.520 align:start position:0%
everything to
 

00:16:05.520 --> 00:16:10.310 align:start position:0%
everything to
blockchain<00:16:06.030><c> is</c><00:16:06.180><c> hopeless</c><00:16:06.630><c> in</c><00:16:06.840><c> both</c><00:16:06.990><c> cases</c><00:16:09.320><c> so</c>

00:16:10.310 --> 00:16:10.320 align:start position:0%
blockchain is hopeless in both cases so
 

00:16:10.320 --> 00:16:15.050 align:start position:0%
blockchain is hopeless in both cases so
in<00:16:11.220><c> both</c><00:16:11.580><c> cases</c><00:16:12.140><c> you</c><00:16:13.140><c> can</c><00:16:13.350><c> notice</c><00:16:13.920><c> that</c><00:16:14.520><c> it</c><00:16:14.850><c> is</c>

00:16:15.050 --> 00:16:15.060 align:start position:0%
in both cases you can notice that it is
 

00:16:15.060 --> 00:16:20.720 align:start position:0%
in both cases you can notice that it is
relatively<00:16:15.720><c> easy</c><00:16:16.140><c> to</c><00:16:17.720><c> scope</c><00:16:18.720><c> the</c><00:16:19.550><c> circle</c><00:16:20.550><c> of</c>

00:16:20.720 --> 00:16:20.730 align:start position:0%
relatively easy to scope the circle of
 

00:16:20.730 --> 00:16:23.710 align:start position:0%
relatively easy to scope the circle of
interested<00:16:21.360><c> parties</c><00:16:21.870><c> of</c><00:16:22.140><c> a</c><00:16:22.890><c> particular</c>

00:16:23.710 --> 00:16:23.720 align:start position:0%
interested parties of a particular
 

00:16:23.720 --> 00:16:29.900 align:start position:0%
interested parties of a particular
update<00:16:24.830><c> so</c><00:16:25.830><c> in</c><00:16:26.370><c> case</c><00:16:26.730><c> of</c><00:16:27.030><c> a</c><00:16:28.040><c> online</c><00:16:29.040><c> discussion</c>

00:16:29.900 --> 00:16:29.910 align:start position:0%
update so in case of a online discussion
 

00:16:29.910 --> 00:16:33.110 align:start position:0%
update so in case of a online discussion
it<00:16:30.240><c> is</c><00:16:30.690><c> perfectly</c><00:16:31.560><c> enough</c><00:16:31.830><c> to</c><00:16:32.490><c> make</c><00:16:32.700><c> updates</c>

00:16:33.110 --> 00:16:33.120 align:start position:0%
it is perfectly enough to make updates
 

00:16:33.120 --> 00:16:37.130 align:start position:0%
it is perfectly enough to make updates
fast<00:16:34.020><c> to</c><00:16:34.830><c> those</c><00:16:35.070><c> who</c><00:16:35.490><c> are</c><00:16:35.640><c> actually</c><00:16:36.300><c> viewing</c>

00:16:37.130 --> 00:16:37.140 align:start position:0%
fast to those who are actually viewing
 

00:16:37.140 --> 00:16:39.320 align:start position:0%
fast to those who are actually viewing
that<00:16:37.470><c> discussion</c><00:16:38.100><c> who</c><00:16:38.250><c> are</c><00:16:38.340><c> participating</c><00:16:38.970><c> in</c>

00:16:39.320 --> 00:16:39.330 align:start position:0%
that discussion who are participating in
 

00:16:39.330 --> 00:16:43.160 align:start position:0%
that discussion who are participating in
it<00:16:39.510><c> and</c><00:16:40.010><c> it</c><00:16:41.010><c> is</c><00:16:41.040><c> acceptable</c><00:16:41.940><c> that</c><00:16:42.240><c> others</c><00:16:42.660><c> who</c>

00:16:43.160 --> 00:16:43.170 align:start position:0%
it and it is acceptable that others who
 

00:16:43.170 --> 00:16:44.690 align:start position:0%
it and it is acceptable that others who
are<00:16:43.260><c> not</c><00:16:43.470><c> browsing</c><00:16:43.980><c> that</c><00:16:44.160><c> particular</c>

00:16:44.690 --> 00:16:44.700 align:start position:0%
are not browsing that particular
 

00:16:44.700 --> 00:16:48.140 align:start position:0%
are not browsing that particular
discussion<00:16:44.970><c> right</c><00:16:45.450><c> now</c><00:16:45.680><c> will</c><00:16:46.680><c> only</c><00:16:46.950><c> have</c><00:16:47.340><c> the</c>

00:16:48.140 --> 00:16:48.150 align:start position:0%
discussion right now will only have the
 

00:16:48.150 --> 00:16:52.010 align:start position:0%
discussion right now will only have the
update<00:16:49.490><c> much</c><00:16:50.490><c> later</c><00:16:50.820><c> and</c><00:16:51.210><c> they</c><00:16:51.720><c> are</c><00:16:51.780><c> only</c>

00:16:52.010 --> 00:16:52.020 align:start position:0%
update much later and they are only
 

00:16:52.020 --> 00:16:54.350 align:start position:0%
update much later and they are only
interested<00:16:52.830><c> in</c><00:16:52.860><c> the</c><00:16:53.070><c> final</c><00:16:53.880><c> state</c><00:16:54.150><c> of</c><00:16:54.180><c> the</c>

00:16:54.350 --> 00:16:54.360 align:start position:0%
interested in the final state of the
 

00:16:54.360 --> 00:16:56.210 align:start position:0%
interested in the final state of the
discussion<00:16:54.990><c> they</c><00:16:55.170><c> don't</c><00:16:55.380><c> need</c><00:16:55.590><c> to</c><00:16:55.830><c> receive</c>

00:16:56.210 --> 00:16:56.220 align:start position:0%
discussion they don't need to receive
 

00:16:56.220 --> 00:16:59.930 align:start position:0%
discussion they don't need to receive
every<00:16:57.180><c> update</c><00:16:57.390><c> at</c><00:16:57.870><c> all</c><00:16:58.080><c> times</c><00:16:58.410><c> and</c><00:16:58.940><c> similarly</c>

00:16:59.930 --> 00:16:59.940 align:start position:0%
every update at all times and similarly
 

00:16:59.940 --> 00:17:03.290 align:start position:0%
every update at all times and similarly
in<00:17:00.390><c> online</c><00:17:00.870><c> games</c><00:17:01.460><c> there</c><00:17:02.460><c> are</c><00:17:02.670><c> typically</c>

00:17:03.290 --> 00:17:03.300 align:start position:0%
in online games there are typically
 

00:17:03.300 --> 00:17:06.290 align:start position:0%
in online games there are typically
locations<00:17:03.990><c> and</c><00:17:04.290><c> there</c><00:17:05.010><c> are</c><00:17:05.220><c> some</c><00:17:05.550><c> players</c><00:17:05.820><c> in</c>

00:17:06.290 --> 00:17:06.300 align:start position:0%
locations and there are some players in
 

00:17:06.300 --> 00:17:10.120 align:start position:0%
locations and there are some players in
that<00:17:06.630><c> location</c><00:17:07.020><c> and</c><00:17:07.470><c> you</c><00:17:08.339><c> only</c><00:17:08.550><c> need</c><00:17:08.970><c> to</c><00:17:09.480><c> send</c>

00:17:10.120 --> 00:17:10.130 align:start position:0%
that location and you only need to send
 

00:17:10.130 --> 00:17:13.340 align:start position:0%
that location and you only need to send
quick<00:17:11.130><c> updates</c><00:17:11.640><c> to</c><00:17:12.240><c> those</c><00:17:12.420><c> players</c><00:17:12.839><c> whose</c>

00:17:13.340 --> 00:17:13.350 align:start position:0%
quick updates to those players whose
 

00:17:13.350 --> 00:17:15.710 align:start position:0%
quick updates to those players whose
characters<00:17:13.950><c> are</c><00:17:14.310><c> in</c><00:17:14.670><c> that</c><00:17:15.120><c> particular</c>

00:17:15.710 --> 00:17:15.720 align:start position:0%
characters are in that particular
 

00:17:15.720 --> 00:17:17.960 align:start position:0%
characters are in that particular
location<00:17:15.930><c> you</c><00:17:16.440><c> don't</c><00:17:16.650><c> need</c><00:17:16.950><c> to</c><00:17:17.459><c> send</c><00:17:17.730><c> updates</c>

00:17:17.960 --> 00:17:17.970 align:start position:0%
location you don't need to send updates
 

00:17:17.970 --> 00:17:21.590 align:start position:0%
location you don't need to send updates
to<00:17:18.390><c> all</c><00:17:18.570><c> the</c><00:17:18.750><c> players</c><00:17:19.100><c> and</c><00:17:20.209><c> the</c><00:17:21.209><c> update</c>

00:17:21.590 --> 00:17:21.600 align:start position:0%
to all the players and the update
 

00:17:21.600 --> 00:17:26.780 align:start position:0%
to all the players and the update
structure<00:17:22.200><c> is</c><00:17:22.440><c> also</c><00:17:24.560><c> more</c><00:17:25.560><c> complicated</c><00:17:26.130><c> than</c>

00:17:26.780 --> 00:17:26.790 align:start position:0%
structure is also more complicated than
 

00:17:26.790 --> 00:17:29.920 align:start position:0%
structure is also more complicated than
simply<00:17:27.060><c> a</c><00:17:27.450><c> hash</c><00:17:27.839><c> because</c><00:17:28.800><c> if</c><00:17:29.250><c> all</c><00:17:29.490><c> you</c>

00:17:29.920 --> 00:17:29.930 align:start position:0%
simply a hash because if all you
 

00:17:29.930 --> 00:17:33.800 align:start position:0%
simply a hash because if all you
broadcast<00:17:30.930><c> is</c><00:17:31.260><c> the</c><00:17:31.950><c> new</c><00:17:32.190><c> root</c><00:17:32.430><c> hash</c><00:17:32.730><c> of</c><00:17:33.030><c> the</c>

00:17:33.800 --> 00:17:33.810 align:start position:0%
broadcast is the new root hash of the
 

00:17:33.810 --> 00:17:37.120 align:start position:0%
broadcast is the new root hash of the
swarm<00:17:34.080><c> content</c><00:17:34.610><c> then</c><00:17:35.610><c> you're</c><00:17:35.820><c> running</c><00:17:36.060><c> into</c><00:17:36.750><c> a</c>

00:17:37.120 --> 00:17:37.130 align:start position:0%
swarm content then you're running into a
 

00:17:37.130 --> 00:17:41.300 align:start position:0%
swarm content then you're running into a
responsiveness<00:17:38.130><c> problem</c><00:17:38.900><c> that</c><00:17:39.950><c> it</c><00:17:40.950><c> takes</c>

00:17:41.300 --> 00:17:41.310 align:start position:0%
responsiveness problem that it takes
 

00:17:41.310 --> 00:17:44.870 align:start position:0%
responsiveness problem that it takes
time<00:17:41.760><c> for</c><00:17:42.540><c> swarm</c><00:17:42.840><c> content</c><00:17:43.440><c> to</c><00:17:43.620><c> sync</c><00:17:43.920><c> even</c><00:17:44.760><c> if</c>

00:17:44.870 --> 00:17:44.880 align:start position:0%
time for swarm content to sync even if
 

00:17:44.880 --> 00:17:48.080 align:start position:0%
time for swarm content to sync even if
we<00:17:45.090><c> will</c><00:17:45.300><c> improve</c><00:17:45.900><c> and</c><00:17:46.320><c> we</c><00:17:46.650><c> will</c><00:17:46.800><c> improve</c><00:17:47.220><c> the</c>

00:17:48.080 --> 00:17:48.090 align:start position:0%
we will improve and we will improve the
 

00:17:48.090 --> 00:17:51.890 align:start position:0%
we will improve and we will improve the
performance<00:17:49.310><c> of</c><00:17:50.310><c> the</c><00:17:50.520><c> syncing</c><00:17:50.910><c> protocol</c><00:17:51.480><c> it</c>

00:17:51.890 --> 00:17:51.900 align:start position:0%
performance of the syncing protocol it
 

00:17:51.900 --> 00:17:54.620 align:start position:0%
performance of the syncing protocol it
will<00:17:52.140><c> never</c><00:17:52.410><c> be</c><00:17:52.710><c> as</c><00:17:52.890><c> fast</c><00:17:53.250><c> as</c><00:17:53.610><c> a</c><00:17:54.240><c> direct</c>

00:17:54.620 --> 00:17:54.630 align:start position:0%
will never be as fast as a direct
 

00:17:54.630 --> 00:17:57.680 align:start position:0%
will never be as fast as a direct
message<00:17:54.840><c> passing</c><00:17:55.670><c> simply</c><00:17:56.670><c> because</c><00:17:57.030><c> a</c><00:17:57.360><c> much</c>

00:17:57.680 --> 00:17:57.690 align:start position:0%
message passing simply because a much
 

00:17:57.690 --> 00:18:00.610 align:start position:0%
message passing simply because a much
larger<00:17:58.200><c> amount</c><00:17:58.470><c> of</c><00:17:58.650><c> data</c><00:17:58.860><c> needs</c><00:17:59.280><c> to</c><00:17:59.400><c> be</c>

00:18:00.610 --> 00:18:00.620 align:start position:0%
larger amount of data needs to be
 

00:18:00.620 --> 00:18:02.690 align:start position:0%
larger amount of data needs to be
transported<00:18:01.620><c> and</c><00:18:01.830><c> it</c><00:18:01.950><c> also</c><00:18:02.130><c> needs</c><00:18:02.490><c> to</c><00:18:02.610><c> be</c>

00:18:02.690 --> 00:18:02.700 align:start position:0%
transported and it also needs to be
 

00:18:02.700 --> 00:18:04.040 align:start position:0%
transported and it also needs to be
stored<00:18:03.120><c> along</c><00:18:03.390><c> the</c><00:18:03.570><c> way</c>

00:18:04.040 --> 00:18:04.050 align:start position:0%
stored along the way
 

00:18:04.050 --> 00:18:08.360 align:start position:0%
stored along the way
so<00:18:04.530><c> if</c><00:18:04.800><c> you</c><00:18:04.980><c> only</c><00:18:05.250><c> send</c><00:18:05.900><c> the</c><00:18:06.900><c> root</c><00:18:07.080><c> hash</c><00:18:07.380><c> then</c>

00:18:08.360 --> 00:18:08.370 align:start position:0%
so if you only send the root hash then
 

00:18:08.370 --> 00:18:12.230 align:start position:0%
so if you only send the root hash then
the<00:18:08.700><c> response</c><00:18:09.240><c> time</c><00:18:09.600><c> is</c><00:18:09.840><c> going</c><00:18:10.620><c> to</c><00:18:10.890><c> be</c><00:18:11.240><c> much</c>

00:18:12.230 --> 00:18:12.240 align:start position:0%
the response time is going to be much
 

00:18:12.240 --> 00:18:16.610 align:start position:0%
the response time is going to be much
longer<00:18:12.630><c> than</c><00:18:13.620><c> the</c><00:18:14.840><c> message</c><00:18:15.840><c> passing</c><00:18:16.110><c> time</c>

00:18:16.610 --> 00:18:16.620 align:start position:0%
longer than the message passing time
 

00:18:16.620 --> 00:18:18.960 align:start position:0%
longer than the message passing time
because<00:18:17.490><c> you</c><00:18:18.090><c> also</c><00:18:18.300><c> need</c>

00:18:18.960 --> 00:18:18.970 align:start position:0%
because you also need
 

00:18:18.970 --> 00:18:22.080 align:start position:0%
because you also need
wait<00:18:19.210><c> for</c><00:18:20.020><c> the</c><00:18:20.440><c> corresponding</c><00:18:21.280><c> sworn</c><00:18:21.580><c> content</c>

00:18:22.080 --> 00:18:22.090 align:start position:0%
wait for the corresponding sworn content
 

00:18:22.090 --> 00:18:24.360 align:start position:0%
wait for the corresponding sworn content
to<00:18:22.450><c> become</c><00:18:22.750><c> available</c><00:18:22.929><c> for</c><00:18:23.500><c> the</c><00:18:23.919><c> interested</c>

00:18:24.360 --> 00:18:24.370 align:start position:0%
to become available for the interested
 

00:18:24.370 --> 00:18:28.970 align:start position:0%
to become available for the interested
parties<00:18:24.789><c> and</c><00:18:26.100><c> instead</c><00:18:27.100><c> what</c><00:18:27.580><c> you</c><00:18:27.730><c> can</c><00:18:27.940><c> do</c><00:18:28.150><c> is</c>

00:18:28.970 --> 00:18:28.980 align:start position:0%
parties and instead what you can do is
 

00:18:28.980 --> 00:18:32.760 align:start position:0%
parties and instead what you can do is
you<00:18:29.980><c> can</c><00:18:30.190><c> also</c><00:18:30.549><c> include</c><00:18:31.150><c> in</c><00:18:31.539><c> the</c><00:18:31.720><c> updates</c><00:18:32.200><c> the</c>

00:18:32.760 --> 00:18:32.770 align:start position:0%
you can also include in the updates the
 

00:18:32.770 --> 00:18:37.320 align:start position:0%
you can also include in the updates the
actual<00:18:33.280><c> information</c><00:18:34.260><c> that</c><00:18:35.549><c> was</c><00:18:36.549><c> changed</c><00:18:37.090><c> so</c>

00:18:37.320 --> 00:18:37.330 align:start position:0%
actual information that was changed so
 

00:18:37.330 --> 00:18:41.370 align:start position:0%
actual information that was changed so
for<00:18:37.929><c> example</c><00:18:38.559><c> if</c><00:18:38.830><c> a</c><00:18:39.280><c> comment</c><00:18:39.789><c> was</c><00:18:40.030><c> added</c><00:18:40.539><c> then</c>

00:18:41.370 --> 00:18:41.380 align:start position:0%
for example if a comment was added then
 

00:18:41.380 --> 00:18:45.390 align:start position:0%
for example if a comment was added then
in<00:18:41.980><c> addition</c><00:18:42.340><c> to</c><00:18:42.909><c> the</c><00:18:43.179><c> new</c><00:18:43.390><c> -</c><00:18:43.929><c> you</c><00:18:44.530><c> also</c><00:18:44.799><c> send</c>

00:18:45.390 --> 00:18:45.400 align:start position:0%
in addition to the new - you also send
 

00:18:45.400 --> 00:18:48.960 align:start position:0%
in addition to the new - you also send
around<00:18:45.580><c> in</c><00:18:46.140><c> messages</c><00:18:47.140><c> and</c><00:18:47.350><c> PSS</c><00:18:47.770><c> messages</c><00:18:48.400><c> the</c>

00:18:48.960 --> 00:18:48.970 align:start position:0%
around in messages and PSS messages the
 

00:18:48.970 --> 00:18:51.419 align:start position:0%
around in messages and PSS messages the
actual<00:18:49.450><c> the</c><00:18:49.900><c> actual</c><00:18:50.020><c> comment</c><00:18:50.620><c> that</c><00:18:50.770><c> was</c><00:18:50.980><c> added</c>

00:18:51.419 --> 00:18:51.429 align:start position:0%
actual the actual comment that was added
 

00:18:51.429 --> 00:18:54.390 align:start position:0%
actual the actual comment that was added
so<00:18:52.120><c> that</c><00:18:52.330><c> the</c><00:18:52.539><c> nodes</c><00:18:52.809><c> that</c><00:18:53.350><c> are</c><00:18:53.679><c> monitoring</c>

00:18:54.390 --> 00:18:54.400 align:start position:0%
so that the nodes that are monitoring
 

00:18:54.400 --> 00:18:56.789 align:start position:0%
so that the nodes that are monitoring
the<00:18:54.669><c> discussion</c><00:18:55.299><c> will</c><00:18:55.990><c> be</c><00:18:56.169><c> able</c><00:18:56.409><c> to</c>

00:18:56.789 --> 00:18:56.799 align:start position:0%
the discussion will be able to
 

00:18:56.799 --> 00:18:59.549 align:start position:0%
the discussion will be able to
immediately<00:18:57.100><c> update</c><00:18:58.000><c> their</c><00:18:58.390><c> local</c><00:18:58.809><c> model</c><00:18:59.230><c> and</c>

00:18:59.549 --> 00:18:59.559 align:start position:0%
immediately update their local model and
 

00:18:59.559 --> 00:19:04.320 align:start position:0%
immediately update their local model and
yet<00:19:00.490><c> they</c><00:19:00.909><c> can</c><00:19:01.150><c> verify</c><00:19:01.620><c> whenever</c><00:19:02.620><c> the</c><00:19:03.330><c> swarm</c>

00:19:04.320 --> 00:19:04.330 align:start position:0%
yet they can verify whenever the swarm
 

00:19:04.330 --> 00:19:07.350 align:start position:0%
yet they can verify whenever the swarm
of<00:19:04.630><c> date</c><00:19:04.840><c> happens</c><00:19:05.380><c> and</c><00:19:05.620><c> especially</c><00:19:06.429><c> when</c><00:19:07.179><c> the</c>

00:19:07.350 --> 00:19:07.360 align:start position:0%
of date happens and especially when the
 

00:19:07.360 --> 00:19:09.570 align:start position:0%
of date happens and especially when the
blockchain<00:19:07.750><c> update</c><00:19:08.289><c> happens</c><00:19:08.500><c> they</c><00:19:09.340><c> can</c>

00:19:09.570 --> 00:19:09.580 align:start position:0%
blockchain update happens they can
 

00:19:09.580 --> 00:19:12.390 align:start position:0%
blockchain update happens they can
verify<00:19:09.850><c> that</c><00:19:10.179><c> they</c><00:19:10.600><c> haven't</c><00:19:10.780><c> been</c><00:19:10.990><c> lied</c><00:19:11.320><c> to</c><00:19:11.400><c> so</c>

00:19:12.390 --> 00:19:12.400 align:start position:0%
verify that they haven't been lied to so
 

00:19:12.400 --> 00:19:15.779 align:start position:0%
verify that they haven't been lied to so
this<00:19:13.240><c> does</c><00:19:13.539><c> not</c><00:19:13.570><c> present</c><00:19:14.320><c> a</c><00:19:14.590><c> security</c><00:19:15.520><c> problem</c>

00:19:15.779 --> 00:19:15.789 align:start position:0%
this does not present a security problem
 

00:19:15.789 --> 00:19:20.970 align:start position:0%
this does not present a security problem
it<00:19:16.240><c> just</c><00:19:16.990><c> speeds</c><00:19:17.230><c> things</c><00:19:17.500><c> up</c><00:19:17.799><c> and</c><00:19:19.380><c> also</c><00:19:20.380><c> I</c>

00:19:20.970 --> 00:19:20.980 align:start position:0%
it just speeds things up and also I
 

00:19:20.980 --> 00:19:25.549 align:start position:0%
it just speeds things up and also I
would<00:19:21.820><c> encourage</c><00:19:22.240><c> you</c><00:19:22.770><c> instead</c><00:19:23.770><c> of</c><00:19:24.539><c> creating</c>

00:19:25.549 --> 00:19:25.559 align:start position:0%
would encourage you instead of creating
 

00:19:25.559 --> 00:19:30.480 align:start position:0%
would encourage you instead of creating
very<00:19:26.559><c> complicated</c><00:19:27.309><c> update</c><00:19:28.000><c> rules</c><00:19:28.299><c> and</c><00:19:29.490><c> then</c>

00:19:30.480 --> 00:19:30.490 align:start position:0%
very complicated update rules and then
 

00:19:30.490 --> 00:19:33.840 align:start position:0%
very complicated update rules and then
you<00:19:30.669><c> need</c><00:19:31.080><c> various</c><00:19:32.080><c> ways</c><00:19:32.770><c> to</c><00:19:33.159><c> actually</c><00:19:33.429><c> verify</c>

00:19:33.840 --> 00:19:33.850 align:start position:0%
you need various ways to actually verify
 

00:19:33.850 --> 00:19:38.549 align:start position:0%
you need various ways to actually verify
that<00:19:34.390><c> the</c><00:19:34.570><c> updates</c><00:19:34.960><c> were</c><00:19:35.789><c> legal</c><00:19:36.789><c> or</c><00:19:37.380><c> so</c><00:19:38.380><c> they</c>

00:19:38.549 --> 00:19:38.559 align:start position:0%
that the updates were legal or so they
 

00:19:38.559 --> 00:19:42.020 align:start position:0%
that the updates were legal or so they
were<00:19:38.620><c> the</c><00:19:39.309><c> kind</c><00:19:39.549><c> that</c><00:19:39.760><c> is</c><00:19:39.909><c> allowed</c><00:19:40.770><c> instead</c>

00:19:42.020 --> 00:19:42.030 align:start position:0%
were the kind that is allowed instead
 

00:19:42.030 --> 00:19:44.669 align:start position:0%
were the kind that is allowed instead
what<00:19:43.030><c> I</c><00:19:43.059><c> would</c><00:19:43.419><c> suggest</c><00:19:43.630><c> is</c><00:19:44.200><c> to</c><00:19:44.500><c> do</c>

00:19:44.669 --> 00:19:44.679 align:start position:0%
what I would suggest is to do
 

00:19:44.679 --> 00:19:51.450 align:start position:0%
what I would suggest is to do
aggregation<00:19:45.640><c> on</c><00:19:46.120><c> the</c><00:19:47.429><c> on</c><00:19:48.429><c> the</c><00:19:49.950><c> front</c><00:19:50.950><c> end</c><00:19:51.159><c> side</c>

00:19:51.450 --> 00:19:51.460 align:start position:0%
aggregation on the on the front end side
 

00:19:51.460 --> 00:19:54.299 align:start position:0%
aggregation on the on the front end side
so<00:19:52.360><c> for</c><00:19:52.570><c> example</c><00:19:53.110><c> if</c><00:19:53.320><c> we're</c><00:19:53.620><c> looking</c><00:19:53.650><c> at</c><00:19:54.070><c> a</c>

00:19:54.299 --> 00:19:54.309 align:start position:0%
so for example if we're looking at a
 

00:19:54.309 --> 00:19:57.539 align:start position:0%
so for example if we're looking at a
online<00:19:54.880><c> discussion</c><00:19:55.570><c> then</c><00:19:56.380><c> every</c><00:19:56.799><c> participant</c>

00:19:57.539 --> 00:19:57.549 align:start position:0%
online discussion then every participant
 

00:19:57.549 --> 00:20:02.130 align:start position:0%
online discussion then every participant
would<00:19:58.450><c> update</c><00:19:59.380><c> the</c><00:20:00.010><c> route</c><00:20:00.370><c> hash</c><00:20:00.669><c> of</c><00:20:01.059><c> all</c><00:20:01.900><c> the</c>

00:20:02.130 --> 00:20:02.140 align:start position:0%
would update the route hash of all the
 

00:20:02.140 --> 00:20:04.500 align:start position:0%
would update the route hash of all the
comments<00:20:02.679><c> that</c><00:20:03.130><c> they</c><00:20:03.370><c> have</c><00:20:03.640><c> sent</c><00:20:04.000><c> to</c>

00:20:04.500 --> 00:20:04.510 align:start position:0%
comments that they have sent to
 

00:20:04.510 --> 00:20:09.180 align:start position:0%
comments that they have sent to
different<00:20:04.990><c> parts</c><00:20:05.679><c> of</c><00:20:05.770><c> the</c><00:20:06.809><c> of</c><00:20:07.809><c> the</c><00:20:08.770><c> service</c>

00:20:09.180 --> 00:20:09.190 align:start position:0%
different parts of the of the service
 

00:20:09.190 --> 00:20:15.779 align:start position:0%
different parts of the of the service
and<00:20:11.700><c> whenever</c><00:20:12.700><c> a</c><00:20:14.159><c> participant</c><00:20:15.159><c> looks</c><00:20:15.460><c> at</c><00:20:15.669><c> a</c>

00:20:15.779 --> 00:20:15.789 align:start position:0%
and whenever a participant looks at a
 

00:20:15.789 --> 00:20:18.090 align:start position:0%
and whenever a participant looks at a
particular<00:20:16.360><c> discussion</c><00:20:17.049><c> they</c><00:20:17.559><c> should</c><00:20:17.830><c> gather</c>

00:20:18.090 --> 00:20:18.100 align:start position:0%
particular discussion they should gather
 

00:20:18.100 --> 00:20:20.430 align:start position:0%
particular discussion they should gather
the<00:20:18.789><c> participant</c><00:20:19.480><c> the</c><00:20:19.539><c> addresses</c><00:20:20.169><c> of</c><00:20:20.320><c> the</c>

00:20:20.430 --> 00:20:20.440 align:start position:0%
the participant the addresses of the
 

00:20:20.440 --> 00:20:23.070 align:start position:0%
the participant the addresses of the
participants<00:20:21.130><c> of</c><00:20:21.250><c> that</c><00:20:21.429><c> discussion</c><00:20:21.850><c> on</c><00:20:22.270><c> ENS</c>

00:20:23.070 --> 00:20:23.080 align:start position:0%
participants of that discussion on ENS
 

00:20:23.080 --> 00:20:26.130 align:start position:0%
participants of that discussion on ENS
and<00:20:23.289><c> then</c><00:20:24.250><c> monitor</c><00:20:24.970><c> the</c><00:20:25.179><c> updates</c><00:20:25.600><c> of</c><00:20:25.900><c> those</c>

00:20:26.130 --> 00:20:26.140 align:start position:0%
and then monitor the updates of those
 

00:20:26.140 --> 00:20:29.610 align:start position:0%
and then monitor the updates of those
participants<00:20:26.890><c> and</c><00:20:28.470><c> independently</c><00:20:29.470><c> of</c><00:20:29.530><c> each</c>

00:20:29.610 --> 00:20:29.620 align:start position:0%
participants and independently of each
 

00:20:29.620 --> 00:20:32.070 align:start position:0%
participants and independently of each
other<00:20:29.830><c> and</c><00:20:30.190><c> do</c><00:20:30.700><c> the</c><00:20:30.880><c> aggregation</c><00:20:31.390><c> in</c>

00:20:32.070 --> 00:20:32.080 align:start position:0%
other and do the aggregation in
 

00:20:32.080 --> 00:20:34.860 align:start position:0%
other and do the aggregation in
to<00:20:32.140><c> a</c><00:20:32.169><c> discussion</c><00:20:33.269><c> themselves</c><00:20:34.269><c> on</c><00:20:34.450><c> the</c>

00:20:34.860 --> 00:20:34.870 align:start position:0%
to a discussion themselves on the
 

00:20:34.870 --> 00:20:38.549 align:start position:0%
to a discussion themselves on the
client-side<00:20:35.519><c> so</c><00:20:36.519><c> that's</c><00:20:36.789><c> a</c><00:20:37.090><c> much</c><00:20:37.750><c> simpler</c><00:20:38.260><c> and</c>

00:20:38.549 --> 00:20:38.559 align:start position:0%
client-side so that's a much simpler and
 

00:20:38.559 --> 00:20:44.669 align:start position:0%
client-side so that's a much simpler and
much<00:20:39.549><c> more</c><00:20:40.230><c> reliable</c><00:20:41.230><c> way</c><00:20:41.440><c> of</c><00:20:43.500><c> dealing</c><00:20:44.500><c> with</c>

00:20:44.669 --> 00:20:44.679 align:start position:0%
much more reliable way of dealing with
 

00:20:44.679 --> 00:20:49.380 align:start position:0%
much more reliable way of dealing with
concurrent<00:20:45.460><c> access</c><00:20:47.370><c> in</c><00:20:48.370><c> the</c><00:20:48.549><c> next</c><00:20:48.850><c> part</c><00:20:49.090><c> I'm</c>

00:20:49.380 --> 00:20:49.390 align:start position:0%
concurrent access in the next part I'm
 

00:20:49.390 --> 00:20:52.759 align:start position:0%
concurrent access in the next part I'm
going<00:20:49.450><c> to</c><00:20:49.809><c> briefly</c><00:20:50.260><c> address</c><00:20:51.299><c> issues</c><00:20:52.299><c> of</c>

00:20:52.759 --> 00:20:52.769 align:start position:0%
going to briefly address issues of
 

00:20:52.769 --> 00:21:01.230 align:start position:0%
going to briefly address issues of
reliability<00:20:53.769><c> and</c><00:20:54.010><c> availability</c><00:20:58.980><c> so</c><00:21:00.210><c> here</c><00:21:01.210><c> I</c>

00:21:01.230 --> 00:21:01.240 align:start position:0%
reliability and availability so here I
 

00:21:01.240 --> 00:21:04.529 align:start position:0%
reliability and availability so here I
would<00:21:01.630><c> like</c><00:21:01.840><c> to</c><00:21:02.140><c> go</c><00:21:02.320><c> back</c><00:21:02.399><c> to</c><00:21:03.399><c> the</c><00:21:03.610><c> things</c><00:21:04.269><c> that</c>

00:21:04.529 --> 00:21:04.539 align:start position:0%
would like to go back to the things that
 

00:21:04.539 --> 00:21:08.430 align:start position:0%
would like to go back to the things that
I<00:21:04.570><c> said</c><00:21:04.750><c> about</c><00:21:06.539><c> about</c><00:21:07.539><c> distributed</c>

00:21:08.430 --> 00:21:08.440 align:start position:0%
I said about about distributed
 

00:21:08.440 --> 00:21:11.879 align:start position:0%
I said about about distributed
applications<00:21:09.269><c> whenever</c><00:21:10.269><c> possible</c><00:21:10.889><c> you</c>

00:21:11.879 --> 00:21:11.889 align:start position:0%
applications whenever possible you
 

00:21:11.889 --> 00:21:14.909 align:start position:0%
applications whenever possible you
should<00:21:11.919><c> not</c><00:21:12.460><c> try</c><00:21:13.000><c> to</c><00:21:13.029><c> build</c><00:21:13.809><c> your</c><00:21:14.679><c> own</c>

00:21:14.909 --> 00:21:14.919 align:start position:0%
should not try to build your own
 

00:21:14.919 --> 00:21:18.350 align:start position:0%
should not try to build your own
infrastructure<00:21:15.720><c> try</c><00:21:16.720><c> to</c><00:21:16.779><c> rely</c><00:21:17.289><c> on</c><00:21:17.620><c> generic</c>

00:21:18.350 --> 00:21:18.360 align:start position:0%
infrastructure try to rely on generic
 

00:21:18.360 --> 00:21:19.529 align:start position:0%
infrastructure try to rely on generic
infrastructure

00:21:19.529 --> 00:21:19.539 align:start position:0%
infrastructure
 

00:21:19.539 --> 00:21:22.110 align:start position:0%
infrastructure
because<00:21:20.169><c> that</c><00:21:20.440><c> way</c><00:21:20.710><c> it</c><00:21:21.279><c> becomes</c><00:21:21.460><c> somebody</c>

00:21:22.110 --> 00:21:22.120 align:start position:0%
because that way it becomes somebody
 

00:21:22.120 --> 00:21:25.590 align:start position:0%
because that way it becomes somebody
else's<00:21:22.539><c> problem</c><00:21:23.669><c> so</c><00:21:24.669><c> in</c><00:21:24.940><c> order</c><00:21:25.120><c> for</c><00:21:25.299><c> a</c>

00:21:25.590 --> 00:21:25.600 align:start position:0%
else's problem so in order for a
 

00:21:25.600 --> 00:21:28.560 align:start position:0%
else's problem so in order for a
distributed<00:21:26.320><c> system</c><00:21:26.559><c> to</c><00:21:27.039><c> work</c><00:21:27.220><c> well</c><00:21:27.580><c> it</c><00:21:28.269><c> would</c>

00:21:28.560 --> 00:21:28.570 align:start position:0%
distributed system to work well it would
 

00:21:28.570 --> 00:21:30.720 align:start position:0%
distributed system to work well it would
it<00:21:28.779><c> needs</c><00:21:29.049><c> to</c><00:21:29.320><c> have</c><00:21:29.529><c> a</c><00:21:29.559><c> sufficient</c><00:21:30.279><c> number</c><00:21:30.429><c> of</c>

00:21:30.720 --> 00:21:30.730 align:start position:0%
it needs to have a sufficient number of
 

00:21:30.730 --> 00:21:32.730 align:start position:0%
it needs to have a sufficient number of
nodes<00:21:31.029><c> those</c><00:21:31.690><c> nodes</c><00:21:32.080><c> need</c><00:21:32.320><c> to</c><00:21:32.350><c> have</c>

00:21:32.730 --> 00:21:32.740 align:start position:0%
nodes those nodes need to have
 

00:21:32.740 --> 00:21:36.149 align:start position:0%
nodes those nodes need to have
sufficient<00:21:33.659><c> incentives</c><00:21:34.659><c> they</c><00:21:35.620><c> have</c><00:21:35.889><c> they</c>

00:21:36.149 --> 00:21:36.159 align:start position:0%
sufficient incentives they have they
 

00:21:36.159 --> 00:21:39.720 align:start position:0%
sufficient incentives they have they
need<00:21:36.370><c> to</c><00:21:36.580><c> have</c><00:21:36.789><c> adequate</c><00:21:37.330><c> resources</c><00:21:37.360><c> each</c><00:21:38.730><c> and</c>

00:21:39.720 --> 00:21:39.730 align:start position:0%
need to have adequate resources each and
 

00:21:39.730 --> 00:21:44.870 align:start position:0%
need to have adequate resources each and
all<00:21:40.570><c> these</c><00:21:40.809><c> things</c><00:21:41.169><c> they</c><00:21:41.860><c> are</c><00:21:41.889><c> difficult</c><00:21:42.659><c> so</c>

00:21:44.870 --> 00:21:44.880 align:start position:0%
all these things they are difficult so
 

00:21:44.880 --> 00:21:48.870 align:start position:0%
all these things they are difficult so
for<00:21:45.880><c> example</c><00:21:46.450><c> if</c><00:21:46.659><c> you</c><00:21:46.960><c> only</c><00:21:47.260><c> use</c><00:21:47.620><c> swarm</c><00:21:48.580><c> as</c><00:21:48.820><c> a</c>

00:21:48.870 --> 00:21:48.880 align:start position:0%
for example if you only use swarm as a
 

00:21:48.880 --> 00:21:52.379 align:start position:0%
for example if you only use swarm as a
generic<00:21:49.720><c> information</c><00:21:49.889><c> storing</c><00:21:51.389><c> framework</c>

00:21:52.379 --> 00:21:52.389 align:start position:0%
generic information storing framework
 

00:21:52.389 --> 00:21:55.710 align:start position:0%
generic information storing framework
then<00:21:53.019><c> making</c><00:21:53.289><c> sure</c><00:21:53.500><c> that</c><00:21:54.490><c> swarm</c><00:21:54.940><c> content</c><00:21:55.480><c> will</c>

00:21:55.710 --> 00:21:55.720 align:start position:0%
then making sure that swarm content will
 

00:21:55.720 --> 00:21:58.580 align:start position:0%
then making sure that swarm content will
be<00:21:55.750><c> available</c><00:21:56.529><c> is</c><00:21:56.860><c> our</c><00:21:57.250><c> problem</c><00:21:57.610><c> as</c>

00:21:58.580 --> 00:21:58.590 align:start position:0%
be available is our problem as
 

00:21:58.590 --> 00:22:01.049 align:start position:0%
be available is our problem as
infrastructure<00:21:59.590><c> developers</c><00:22:00.309><c> it's</c><00:22:00.580><c> not</c><00:22:00.820><c> your</c>

00:22:01.049 --> 00:22:01.059 align:start position:0%
infrastructure developers it's not your
 

00:22:01.059 --> 00:22:05.570 align:start position:0%
infrastructure developers it's not your
problem<00:22:01.389><c> as</c><00:22:01.750><c> an</c><00:22:01.929><c> application</c><00:22:02.350><c> developer</c><00:22:02.789><c> and</c>

00:22:05.570 --> 00:22:05.580 align:start position:0%
problem as an application developer and
 

00:22:05.580 --> 00:22:10.769 align:start position:0%
problem as an application developer and
in<00:22:06.580><c> general</c><00:22:07.240><c> so</c><00:22:07.840><c> there's</c><00:22:08.200><c> a</c><00:22:09.179><c> reliability</c><00:22:10.179><c> kind</c>

00:22:10.769 --> 00:22:10.779 align:start position:0%
in general so there's a reliability kind
 

00:22:10.779 --> 00:22:15.389 align:start position:0%
in general so there's a reliability kind
of<00:22:11.019><c> ranking</c><00:22:11.590><c> between</c><00:22:12.399><c> these</c><00:22:12.970><c> services</c><00:22:13.740><c> so</c><00:22:14.740><c> ETH</c>

00:22:15.389 --> 00:22:15.399 align:start position:0%
of ranking between these services so ETH
 

00:22:15.399 --> 00:22:18.450 align:start position:0%
of ranking between these services so ETH
is<00:22:15.880><c> the</c><00:22:16.299><c> most</c><00:22:16.510><c> reliable</c><00:22:17.010><c> light</c><00:22:18.010><c> client</c>

00:22:18.450 --> 00:22:18.460 align:start position:0%
is the most reliable light client
 

00:22:18.460 --> 00:22:24.509 align:start position:0%
is the most reliable light client
protocol<00:22:19.000><c> is</c><00:22:19.179><c> less</c><00:22:19.450><c> reliable</c><00:22:22.799><c> bzz</c><00:22:23.799><c> is</c><00:22:24.010><c> even</c>

00:22:24.509 --> 00:22:24.519 align:start position:0%
protocol is less reliable bzz is even
 

00:22:24.519 --> 00:22:26.700 align:start position:0%
protocol is less reliable bzz is even
less<00:22:24.730><c> reliable</c><00:22:25.149><c> and</c><00:22:25.480><c> PSS</c><00:22:26.049><c> is</c><00:22:26.230><c> the</c><00:22:26.470><c> least</c>

00:22:26.700 --> 00:22:26.710 align:start position:0%
less reliable and PSS is the least
 

00:22:26.710 --> 00:22:31.200 align:start position:0%
less reliable and PSS is the least
reliable<00:22:27.070><c> of</c><00:22:27.549><c> these</c><00:22:29.159><c> generic</c><00:22:30.210><c> services</c>

00:22:31.200 --> 00:22:31.210 align:start position:0%
reliable of these generic services
 

00:22:31.210 --> 00:22:34.830 align:start position:0%
reliable of these generic services
simply<00:22:32.169><c> because</c><00:22:32.740><c> of</c><00:22:33.130><c> the</c><00:22:33.490><c> popularity</c><00:22:33.940><c> of</c><00:22:34.269><c> the</c>

00:22:34.830 --> 00:22:34.840 align:start position:0%
simply because of the popularity of the
 

00:22:34.840 --> 00:22:37.500 align:start position:0%
simply because of the popularity of the
of<00:22:35.500><c> that</c><00:22:35.889><c> particular</c><00:22:36.549><c> service</c><00:22:37.059><c> on</c><00:22:37.389><c> the</c>

00:22:37.500 --> 00:22:37.510 align:start position:0%
of that particular service on the
 

00:22:37.510 --> 00:22:40.110 align:start position:0%
of that particular service on the
etherium<00:22:37.899><c> network</c><00:22:38.320><c> and</c><00:22:38.529><c> if</c><00:22:39.220><c> you</c><00:22:39.490><c> do</c><00:22:39.730><c> something</c>

00:22:40.110 --> 00:22:40.120 align:start position:0%
etherium network and if you do something
 

00:22:40.120 --> 00:22:43.139 align:start position:0%
etherium network and if you do something
yourself<00:22:40.510><c> it</c><00:22:41.200><c> will</c><00:22:41.679><c> be</c><00:22:41.889><c> way</c><00:22:42.190><c> way</c><00:22:42.580><c> way</c><00:22:42.880><c> behind</c>

00:22:43.139 --> 00:22:43.149 align:start position:0%
yourself it will be way way way behind
 

00:22:43.149 --> 00:22:43.790 align:start position:0%
yourself it will be way way way behind
all

00:22:43.790 --> 00:22:43.800 align:start position:0%
all
 

00:22:43.800 --> 00:22:52.220 align:start position:0%
all
these<00:22:43.920><c> on</c><00:22:44.220><c> the</c><00:22:44.700><c> reliability</c><00:22:44.940><c> scale</c><00:22:49.850><c> so</c><00:22:51.230><c> also</c>

00:22:52.220 --> 00:22:52.230 align:start position:0%
these on the reliability scale so also
 

00:22:52.230 --> 00:22:56.150 align:start position:0%
these on the reliability scale so also
you<00:22:52.980><c> should</c><00:22:53.280><c> keep</c><00:22:53.850><c> in</c><00:22:54.060><c> mind</c><00:22:54.090><c> that</c><00:22:54.980><c> the</c><00:22:55.980><c> only</c>

00:22:56.150 --> 00:22:56.160 align:start position:0%
you should keep in mind that the only
 

00:22:56.160 --> 00:22:58.160 align:start position:0%
you should keep in mind that the only
thing<00:22:56.640><c> that</c><00:22:56.880><c> is</c><00:22:57.030><c> certain</c><00:22:57.300><c> is</c><00:22:57.630><c> the</c><00:22:57.900><c> blockchain</c>

00:22:58.160 --> 00:22:58.170 align:start position:0%
thing that is certain is the blockchain
 

00:22:58.170 --> 00:23:01.370 align:start position:0%
thing that is certain is the blockchain
everything<00:22:59.160><c> else</c><00:22:59.400><c> is</c><00:22:59.730><c> ephemeral</c><00:23:00.210><c> so</c><00:23:01.170><c> if</c>

00:23:01.370 --> 00:23:01.380 align:start position:0%
everything else is ephemeral so if
 

00:23:01.380 --> 00:23:04.030 align:start position:0%
everything else is ephemeral so if
there's<00:23:01.650><c> some</c><00:23:01.950><c> important</c><00:23:02.610><c> state</c><00:23:02.910><c> update</c>

00:23:04.030 --> 00:23:04.040 align:start position:0%
there's some important state update
 

00:23:04.040 --> 00:23:06.740 align:start position:0%
there's some important state update
eventually<00:23:05.040><c> you</c><00:23:05.220><c> have</c><00:23:05.370><c> to</c><00:23:05.430><c> make</c><00:23:05.760><c> sure</c><00:23:05.790><c> that</c><00:23:06.570><c> it</c>

00:23:06.740 --> 00:23:06.750 align:start position:0%
eventually you have to make sure that it
 

00:23:06.750 --> 00:23:11.090 align:start position:0%
eventually you have to make sure that it
reaches<00:23:07.230><c> the</c><00:23:07.590><c> blockchain</c><00:23:07.830><c> and</c><00:23:08.780><c> finally</c><00:23:10.100><c> you</c>

00:23:11.090 --> 00:23:11.100 align:start position:0%
reaches the blockchain and finally you
 

00:23:11.100 --> 00:23:16.120 align:start position:0%
reaches the blockchain and finally you
should<00:23:11.160><c> be</c><00:23:12.080><c> paying</c><00:23:13.080><c> attention</c><00:23:13.340><c> to</c><00:23:14.340><c> incentives</c>

00:23:16.120 --> 00:23:16.130 align:start position:0%
should be paying attention to incentives
 

00:23:16.130 --> 00:23:19.850 align:start position:0%
should be paying attention to incentives
so<00:23:17.130><c> in</c><00:23:18.120><c> case</c><00:23:18.510><c> if</c><00:23:18.810><c> you</c><00:23:18.870><c> want</c><00:23:19.080><c> to</c><00:23:19.440><c> enforce</c>

00:23:19.850 --> 00:23:19.860 align:start position:0%
so in case if you want to enforce
 

00:23:19.860 --> 00:23:23.390 align:start position:0%
so in case if you want to enforce
compliant<00:23:20.550><c> behavior</c><00:23:21.320><c> then</c><00:23:22.320><c> the</c><00:23:22.680><c> two</c><00:23:23.040><c> tricks</c>

00:23:23.390 --> 00:23:23.400 align:start position:0%
compliant behavior then the two tricks
 

00:23:23.400 --> 00:23:27.370 align:start position:0%
compliant behavior then the two tricks
that<00:23:24.180><c> can</c><00:23:24.900><c> make</c><00:23:25.770><c> things</c><00:23:26.040><c> more</c><00:23:26.400><c> scalable</c><00:23:26.730><c> is</c>

00:23:27.370 --> 00:23:27.380 align:start position:0%
that can make things more scalable is
 

00:23:27.380 --> 00:23:31.850 align:start position:0%
that can make things more scalable is
instead<00:23:28.380><c> of</c><00:23:28.440><c> using</c><00:23:29.420><c> pre-emptive</c><00:23:30.420><c> measures</c><00:23:30.900><c> so</c>

00:23:31.850 --> 00:23:31.860 align:start position:0%
instead of using pre-emptive measures so
 

00:23:31.860 --> 00:23:35.660 align:start position:0%
instead of using pre-emptive measures so
writing<00:23:33.110><c> complicated</c><00:23:34.110><c> contract</c><00:23:34.650><c> code</c><00:23:34.890><c> that</c>

00:23:35.660 --> 00:23:35.670 align:start position:0%
writing complicated contract code that
 

00:23:35.670 --> 00:23:40.040 align:start position:0%
writing complicated contract code that
can<00:23:36.000><c> only</c><00:23:37.460><c> drive</c><00:23:38.460><c> the</c><00:23:38.490><c> application</c><00:23:39.450><c> mechanics</c>

00:23:40.040 --> 00:23:40.050 align:start position:0%
can only drive the application mechanics
 

00:23:40.050 --> 00:23:42.410 align:start position:0%
can only drive the application mechanics
as<00:23:40.260><c> the</c><00:23:40.950><c> smart</c><00:23:41.250><c> contract</c><00:23:41.460><c> executes</c><00:23:42.390><c> that</c>

00:23:42.410 --> 00:23:42.420 align:start position:0%
as the smart contract executes that
 

00:23:42.420 --> 00:23:45.980 align:start position:0%
as the smart contract executes that
block<00:23:42.900><c> time</c><00:23:43.190><c> instead</c><00:23:44.190><c> you</c><00:23:44.880><c> can</c><00:23:45.060><c> use</c><00:23:45.120><c> reactive</c>

00:23:45.980 --> 00:23:45.990 align:start position:0%
block time instead you can use reactive
 

00:23:45.990 --> 00:23:48.440 align:start position:0%
block time instead you can use reactive
security<00:23:46.650><c> that</c><00:23:46.860><c> everybody</c><00:23:47.370><c> updates</c><00:23:47.940><c> the</c><00:23:48.300><c> way</c>

00:23:48.440 --> 00:23:48.450 align:start position:0%
security that everybody updates the way
 

00:23:48.450 --> 00:23:53.120 align:start position:0%
security that everybody updates the way
they<00:23:48.780><c> the</c><00:23:49.650><c> way</c><00:23:49.800><c> they</c><00:23:50.010><c> can</c><00:23:50.310><c> locally</c><00:23:51.650><c> however</c><00:23:52.650><c> if</c>

00:23:53.120 --> 00:23:53.130 align:start position:0%
they the way they can locally however if
 

00:23:53.130 --> 00:23:56.240 align:start position:0%
they the way they can locally however if
there's<00:23:54.060><c> some</c><00:23:54.330><c> dispute</c><00:23:54.600><c> then</c><00:23:55.560><c> you</c><00:23:55.800><c> can</c><00:23:56.010><c> turn</c>

00:23:56.240 --> 00:23:56.250 align:start position:0%
there's some dispute then you can turn
 

00:23:56.250 --> 00:23:58.820 align:start position:0%
there's some dispute then you can turn
to<00:23:56.520><c> the</c><00:23:56.640><c> blockchain</c><00:23:56.910><c> and</c><00:23:57.510><c> figure</c><00:23:58.350><c> out</c><00:23:58.410><c> who's</c>

00:23:58.820 --> 00:23:58.830 align:start position:0%
to the blockchain and figure out who's
 

00:23:58.830 --> 00:24:02.590 align:start position:0%
to the blockchain and figure out who's
right<00:23:59.100><c> and</c><00:23:59.130><c> who's</c><00:23:59.400><c> wrong</c><00:23:59.550><c> and</c><00:24:00.060><c> this</c><00:24:00.510><c> way</c><00:24:01.460><c> if</c>

00:24:02.590 --> 00:24:02.600 align:start position:0%
right and who's wrong and this way if
 

00:24:02.600 --> 00:24:05.570 align:start position:0%
right and who's wrong and this way if
everything<00:24:03.600><c> happens</c><00:24:03.840><c> correctly</c><00:24:04.340><c> you</c><00:24:05.340><c> rarely</c>

00:24:05.570 --> 00:24:05.580 align:start position:0%
everything happens correctly you rarely
 

00:24:05.580 --> 00:24:07.760 align:start position:0%
everything happens correctly you rarely
touch<00:24:06.030><c> the</c><00:24:06.330><c> blockchain</c><00:24:06.570><c> so</c><00:24:07.110><c> that</c><00:24:07.320><c> helps</c><00:24:07.680><c> you</c>

00:24:07.760 --> 00:24:07.770 align:start position:0%
touch the blockchain so that helps you
 

00:24:07.770 --> 00:24:10.220 align:start position:0%
touch the blockchain so that helps you
scale<00:24:08.130><c> so</c><00:24:08.730><c> instead</c><00:24:09.120><c> of</c><00:24:09.180><c> using</c><00:24:09.480><c> proactive</c>

00:24:10.220 --> 00:24:10.230 align:start position:0%
scale so instead of using proactive
 

00:24:10.230 --> 00:24:12.320 align:start position:0%
scale so instead of using proactive
security<00:24:10.800><c> measures</c><00:24:11.160><c> you</c><00:24:11.490><c> use</c><00:24:11.670><c> reactive</c>

00:24:12.320 --> 00:24:12.330 align:start position:0%
security measures you use reactive
 

00:24:12.330 --> 00:24:19.400 align:start position:0%
security measures you use reactive
security<00:24:14.810><c> and</c><00:24:16.100><c> the</c><00:24:17.390><c> you</c><00:24:18.390><c> only</c><00:24:18.840><c> bother</c><00:24:19.080><c> the</c>

00:24:19.400 --> 00:24:19.410 align:start position:0%
security and the you only bother the
 

00:24:19.410 --> 00:24:24.140 align:start position:0%
security and the you only bother the
blockchain<00:24:19.650><c> in</c><00:24:20.250><c> case</c><00:24:20.730><c> of</c><00:24:21.060><c> disputes</c><00:24:22.730><c> and</c><00:24:23.730><c> the</c>

00:24:24.140 --> 00:24:24.150 align:start position:0%
blockchain in case of disputes and the
 

00:24:24.150 --> 00:24:27.970 align:start position:0%
blockchain in case of disputes and the
final<00:24:24.630><c> part</c><00:24:24.840><c> of</c><00:24:24.990><c> my</c><00:24:25.170><c> talk</c><00:24:25.230><c> I</c><00:24:25.740><c> would</c><00:24:25.830><c> like</c><00:24:26.250><c> to</c>

00:24:27.970 --> 00:24:27.980 align:start position:0%
final part of my talk I would like to
 

00:24:27.980 --> 00:24:34.810 align:start position:0%
final part of my talk I would like to
introduce<00:24:29.300><c> some</c><00:24:30.300><c> ways</c><00:24:30.600><c> of</c><00:24:33.440><c> maintaining</c><00:24:34.440><c> and</c>

00:24:34.810 --> 00:24:34.820 align:start position:0%
introduce some ways of maintaining and
 

00:24:34.820 --> 00:24:38.540 align:start position:0%
introduce some ways of maintaining and
improving<00:24:35.840><c> and</c><00:24:36.840><c> developing</c><00:24:37.710><c> and</c><00:24:38.430><c> adding</c>

00:24:38.540 --> 00:24:38.550 align:start position:0%
improving and developing and adding
 

00:24:38.550 --> 00:24:43.160 align:start position:0%
improving and developing and adding
feature<00:24:39.000><c> to</c><00:24:39.420><c> a</c><00:24:39.450><c> distributed</c><00:24:40.080><c> application</c><00:24:42.170><c> it</c>

00:24:43.160 --> 00:24:43.170 align:start position:0%
feature to a distributed application it
 

00:24:43.170 --> 00:24:45.710 align:start position:0%
feature to a distributed application it
is<00:24:43.410><c> very</c><00:24:43.800><c> different</c><00:24:44.370><c> from</c><00:24:44.700><c> from</c><00:24:45.570><c> the</c>

00:24:45.710 --> 00:24:45.720 align:start position:0%
is very different from from the
 

00:24:45.720 --> 00:24:48.350 align:start position:0%
is very different from from the
client-server<00:24:46.230><c> model</c><00:24:46.640><c> because</c><00:24:47.640><c> in</c><00:24:48.000><c> a</c>

00:24:48.350 --> 00:24:48.360 align:start position:0%
client-server model because in a
 

00:24:48.360 --> 00:24:50.030 align:start position:0%
client-server model because in a
client-server<00:24:49.140><c> model</c><00:24:49.170><c> you</c><00:24:49.680><c> can</c><00:24:49.890><c> do</c>

00:24:50.030 --> 00:24:50.040 align:start position:0%
client-server model you can do
 

00:24:50.040 --> 00:24:53.600 align:start position:0%
client-server model you can do
everything<00:24:50.340><c> on</c><00:24:50.640><c> the</c><00:24:50.790><c> server</c><00:24:51.090><c> and</c><00:24:52.340><c> you</c><00:24:53.340><c> don't</c>

00:24:53.600 --> 00:24:53.610 align:start position:0%
everything on the server and you don't
 

00:24:53.610 --> 00:24:54.750 align:start position:0%
everything on the server and you don't
have<00:24:53.850><c> to</c>

00:24:54.750 --> 00:24:54.760 align:start position:0%
have to
 

00:24:54.760 --> 00:24:59.620 align:start position:0%
have to
consider<00:24:55.760><c> the</c><00:24:56.090><c> fact</c><00:24:56.360><c> that</c><00:24:57.549><c> your</c><00:24:58.630><c> application</c>

00:24:59.620 --> 00:24:59.630 align:start position:0%
consider the fact that your application
 

00:24:59.630 --> 00:25:03.450 align:start position:0%
consider the fact that your application
is<00:24:59.809><c> not</c><00:24:59.870><c> entirely</c><00:25:00.679><c> under</c><00:25:01.220><c> your</c><00:25:01.429><c> control</c><00:25:02.080><c> so</c>

00:25:03.450 --> 00:25:03.460 align:start position:0%
is not entirely under your control so
 

00:25:03.460 --> 00:25:06.870 align:start position:0%
is not entirely under your control so
when<00:25:04.460><c> you're</c><00:25:04.669><c> rolling</c><00:25:05.120><c> out</c><00:25:05.270><c> a</c><00:25:05.330><c> new</c><00:25:05.570><c> version</c>

00:25:06.870 --> 00:25:06.880 align:start position:0%
when you're rolling out a new version
 

00:25:06.880 --> 00:25:10.690 align:start position:0%
when you're rolling out a new version
obviously<00:25:07.880><c> you</c><00:25:08.809><c> need</c><00:25:09.020><c> to</c><00:25:09.260><c> update</c><00:25:09.440><c> ENS</c><00:25:10.250><c> to</c>

00:25:10.690 --> 00:25:10.700 align:start position:0%
obviously you need to update ENS to
 

00:25:10.700 --> 00:25:13.270 align:start position:0%
obviously you need to update ENS to
point<00:25:11.000><c> to</c><00:25:11.480><c> the</c><00:25:11.630><c> root</c><00:25:12.380><c> hash</c><00:25:12.620><c> of</c><00:25:12.919><c> the</c><00:25:13.130><c> new</c>

00:25:13.270 --> 00:25:13.280 align:start position:0%
point to the root hash of the new
 

00:25:13.280 --> 00:25:17.799 align:start position:0%
point to the root hash of the new
version<00:25:13.750><c> but</c><00:25:14.750><c> also</c><00:25:14.919><c> you</c><00:25:15.919><c> need</c><00:25:16.159><c> somehow</c><00:25:16.940><c> to</c>

00:25:17.799 --> 00:25:17.809 align:start position:0%
version but also you need somehow to
 

00:25:17.809 --> 00:25:21.220 align:start position:0%
version but also you need somehow to
notify<00:25:18.409><c> all</c><00:25:18.679><c> the</c><00:25:18.950><c> active</c><00:25:19.990><c> users</c><00:25:20.990><c> of</c><00:25:21.020><c> your</c>

00:25:21.220 --> 00:25:21.230 align:start position:0%
notify all the active users of your
 

00:25:21.230 --> 00:25:23.289 align:start position:0%
notify all the active users of your
application<00:25:22.070><c> that</c><00:25:22.100><c> things</c><00:25:22.549><c> have</c><00:25:22.789><c> changed</c>

00:25:23.289 --> 00:25:23.299 align:start position:0%
application that things have changed
 

00:25:23.299 --> 00:25:25.480 align:start position:0%
application that things have changed
because<00:25:23.900><c> otherwise</c><00:25:24.200><c> they</c><00:25:25.010><c> just</c><00:25:25.280><c> keep</c>

00:25:25.480 --> 00:25:25.490 align:start position:0%
because otherwise they just keep
 

00:25:25.490 --> 00:25:28.299 align:start position:0%
because otherwise they just keep
continuing<00:25:26.210><c> using</c><00:25:26.630><c> the</c><00:25:26.809><c> old</c><00:25:26.929><c> the</c><00:25:27.650><c> old</c><00:25:27.799><c> version</c>

00:25:28.299 --> 00:25:28.309 align:start position:0%
continuing using the old the old version
 

00:25:28.309 --> 00:25:31.090 align:start position:0%
continuing using the old the old version
and<00:25:28.490><c> it</c><00:25:29.150><c> might</c><00:25:29.360><c> even</c><00:25:29.630><c> interfere</c><00:25:30.530><c> with</c><00:25:30.950><c> the</c>

00:25:31.090 --> 00:25:31.100 align:start position:0%
and it might even interfere with the
 

00:25:31.100 --> 00:25:33.730 align:start position:0%
and it might even interfere with the
workings<00:25:31.520><c> of</c><00:25:31.669><c> the</c><00:25:31.850><c> new</c><00:25:32.000><c> version</c><00:25:32.380><c> so</c><00:25:33.380><c> in</c><00:25:33.530><c> this</c>

00:25:33.730 --> 00:25:33.740 align:start position:0%
workings of the new version so in this
 

00:25:33.740 --> 00:25:35.529 align:start position:0%
workings of the new version so in this
way<00:25:34.010><c> it</c><00:25:34.309><c> is</c><00:25:34.340><c> very</c><00:25:34.640><c> different</c><00:25:35.270><c> from</c>

00:25:35.529 --> 00:25:35.539 align:start position:0%
way it is very different from
 

00:25:35.539 --> 00:25:40.390 align:start position:0%
way it is very different from
client-server<00:25:36.260><c> application</c><00:25:37.450><c> also</c><00:25:39.039><c> with</c><00:25:40.039><c> apps</c>

00:25:40.390 --> 00:25:40.400 align:start position:0%
client-server application also with apps
 

00:25:40.400 --> 00:25:43.299 align:start position:0%
client-server application also with apps
we<00:25:41.030><c> have</c><00:25:41.240><c> the</c><00:25:41.480><c> same</c><00:25:41.750><c> thing</c><00:25:42.110><c> as</c><00:25:42.350><c> what</c><00:25:42.860><c> we</c><00:25:42.890><c> have</c>

00:25:43.299 --> 00:25:43.309 align:start position:0%
we have the same thing as what we have
 

00:25:43.309 --> 00:25:47.620 align:start position:0%
we have the same thing as what we have
with<00:25:44.260><c> block</c><00:25:45.260><c> chains</c><00:25:45.590><c> we</c><00:25:45.980><c> can</c><00:25:46.159><c> have</c><00:25:46.370><c> Forks</c><00:25:46.789><c> it's</c>

00:25:47.620 --> 00:25:47.630 align:start position:0%
with block chains we can have Forks it's
 

00:25:47.630 --> 00:25:50.470 align:start position:0%
with block chains we can have Forks it's
entirely<00:25:48.110><c> feasible</c><00:25:48.470><c> that</c><00:25:49.280><c> somebody</c><00:25:49.789><c> likes</c><00:25:50.150><c> a</c>

00:25:50.470 --> 00:25:50.480 align:start position:0%
entirely feasible that somebody likes a
 

00:25:50.480 --> 00:25:53.890 align:start position:0%
entirely feasible that somebody likes a
particular<00:25:51.230><c> version</c><00:25:51.530><c> over</c><00:25:52.490><c> that</c><00:25:52.850><c> and</c><00:25:53.179><c> they</c>

00:25:53.890 --> 00:25:53.900 align:start position:0%
particular version over that and they
 

00:25:53.900 --> 00:25:57.909 align:start position:0%
particular version over that and they
register<00:25:54.590><c> it</c><00:25:54.740><c> under</c><00:25:55.730><c> their</c><00:25:56.330><c> own</c><00:25:56.919><c> iana's</c>

00:25:57.909 --> 00:25:57.919 align:start position:0%
register it under their own iana's
 

00:25:57.919 --> 00:26:01.390 align:start position:0%
register it under their own iana's
domain<00:25:58.309><c> and</c><00:25:59.020><c> people</c><00:26:00.020><c> keep</c><00:26:00.230><c> using</c><00:26:00.260><c> that</c><00:26:00.650><c> so</c>

00:26:01.390 --> 00:26:01.400 align:start position:0%
domain and people keep using that so
 

00:26:01.400 --> 00:26:03.850 align:start position:0%
domain and people keep using that so
whenever<00:26:01.700><c> you</c><00:26:01.970><c> introduce</c><00:26:02.150><c> a</c><00:26:02.659><c> change</c><00:26:03.020><c> that</c><00:26:03.740><c> the</c>

00:26:03.850 --> 00:26:03.860 align:start position:0%
whenever you introduce a change that the
 

00:26:03.860 --> 00:26:05.919 align:start position:0%
whenever you introduce a change that the
community<00:26:04.460><c> disagrees</c><00:26:05.000><c> will</c><00:26:05.240><c> or</c><00:26:05.480><c> at</c><00:26:05.570><c> least</c><00:26:05.780><c> a</c>

00:26:05.919 --> 00:26:05.929 align:start position:0%
community disagrees will or at least a
 

00:26:05.929 --> 00:26:07.600 align:start position:0%
community disagrees will or at least a
large<00:26:06.110><c> part</c><00:26:06.440><c> of</c><00:26:06.530><c> the</c><00:26:06.650><c> community</c><00:26:06.770><c> disagrees</c>

00:26:07.600 --> 00:26:07.610 align:start position:0%
large part of the community disagrees
 

00:26:07.610 --> 00:26:11.169 align:start position:0%
large part of the community disagrees
with<00:26:07.780><c> you</c><00:26:08.780><c> will</c><00:26:08.990><c> have</c><00:26:09.169><c> Forks</c><00:26:09.679><c> I</c><00:26:10.460><c> think</c><00:26:11.000><c> I'm</c>

00:26:11.169 --> 00:26:11.179 align:start position:0%
with you will have Forks I think I'm
 

00:26:11.179 --> 00:26:14.289 align:start position:0%
with you will have Forks I think I'm
running<00:26:11.360><c> out</c><00:26:11.630><c> of</c><00:26:11.690><c> time</c><00:26:12.340><c> so</c><00:26:13.340><c> the</c><00:26:13.789><c> last</c><00:26:13.970><c> thing</c>

00:26:14.289 --> 00:26:14.299 align:start position:0%
running out of time so the last thing
 

00:26:14.299 --> 00:26:16.299 align:start position:0%
running out of time so the last thing
that<00:26:14.330><c> I</c><00:26:14.539><c> wanted</c><00:26:14.960><c> to</c><00:26:15.020><c> mention</c><00:26:15.289><c> is</c><00:26:15.650><c> analytics</c>

00:26:16.299 --> 00:26:16.309 align:start position:0%
that I wanted to mention is analytics
 

00:26:16.309 --> 00:26:20.049 align:start position:0%
that I wanted to mention is analytics
which<00:26:16.580><c> is</c><00:26:16.760><c> much</c><00:26:17.000><c> more</c><00:26:17.210><c> difficult</c><00:26:18.010><c> than</c><00:26:19.010><c> in</c><00:26:19.909><c> a</c>

00:26:20.049 --> 00:26:20.059 align:start position:0%
which is much more difficult than in a
 

00:26:20.059 --> 00:26:22.330 align:start position:0%
which is much more difficult than in a
centralized<00:26:20.600><c> environment</c><00:26:21.350><c> and</c><00:26:21.590><c> it's</c><00:26:21.770><c> ADAP</c><00:26:22.159><c> in</c>

00:26:22.330 --> 00:26:22.340 align:start position:0%
centralized environment and it's ADAP in
 

00:26:22.340 --> 00:26:24.610 align:start position:0%
centralized environment and it's ADAP in
itself<00:26:22.730><c> that</c><00:26:23.059><c> will</c><00:26:23.270><c> be</c><00:26:23.510><c> eventually</c><00:26:23.900><c> developed</c>

00:26:24.610 --> 00:26:24.620 align:start position:0%
itself that will be eventually developed
 

00:26:24.620 --> 00:26:26.649 align:start position:0%
itself that will be eventually developed
but<00:26:25.159><c> unfortunately</c><00:26:25.940><c> I</c><00:26:25.970><c> ran</c><00:26:26.120><c> out</c><00:26:26.240><c> of</c><00:26:26.270><c> time</c><00:26:26.450><c> so</c>

00:26:26.649 --> 00:26:26.659 align:start position:0%
but unfortunately I ran out of time so
 

00:26:26.659 --> 00:26:28.480 align:start position:0%
but unfortunately I ran out of time so
if<00:26:26.960><c> you</c><00:26:27.020><c> want</c><00:26:27.289><c> to</c><00:26:27.409><c> talk</c><00:26:27.590><c> about</c><00:26:27.620><c> analytics</c>

00:26:28.480 --> 00:26:28.490 align:start position:0%
if you want to talk about analytics
 

00:26:28.490 --> 00:26:31.500 align:start position:0%
if you want to talk about analytics
please<00:26:29.059><c> see</c><00:26:29.360><c> me</c><00:26:29.539><c> in</c><00:26:30.080><c> Saturday</c><00:26:30.860><c> at</c><00:26:31.070><c> the</c>

00:26:31.500 --> 00:26:31.510 align:start position:0%
please see me in Saturday at the
 

00:26:31.510 --> 00:26:34.950 align:start position:0%
please see me in Saturday at the
breakout<00:26:32.510><c> session</c><00:26:32.960><c> thank</c><00:26:33.830><c> you</c>

00:26:34.950 --> 00:26:34.960 align:start position:0%
breakout session thank you
 

00:26:34.960 --> 00:26:39.820 align:start position:0%
breakout session thank you
you

00:26:39.820 --> 00:26:39.830 align:start position:0%
 
 

00:26:39.830 --> 00:26:47.410 align:start position:0%
 
[Music]

