WEBVTT 00:00:00.000 --> 00:00:14.990 34c3 intro 00:00:14.990 --> 00:00:22.770 Herald: And now please join me in welcoming Caleb, for his talk BGP and the Rule of Custom 00:00:22.770 --> 00:00:26.120 Applause 00:00:26.120 --> 00:00:30.050 Caleb James DeLisle: Thank you. 00:00:30.050 --> 00:00:32.790 Thank you and thanks for 00:00:32.790 --> 00:00:38.870 coming. Tonight I'm going to speak to you about the BGP protocol but it's not going 00:00:38.870 --> 00:00:44.469 to be that technical. Specifically I'm going to concentrate on the way that BGP 00:00:44.469 --> 00:00:53.969 molds human interactions. So there I'm aiming at making this a reasonably 00:00:53.969 --> 00:00:58.530 accessible talk so if you catch me using slightly incorrect terms for something 00:00:58.530 --> 00:01:04.159 consider that I'm optimizing not only for the clarity of the correctness but also 00:01:04.159 --> 00:01:10.860 for the widest possible audience. So protocols that are at their root systems 00:01:10.860 --> 00:01:16.750 of governance. So I'm gonna propose a framework to think about governance and 00:01:16.750 --> 00:01:22.820 then as I describe BGP we can we will be able to analyze it through the lens of 00:01:22.820 --> 00:01:31.240 that framework and so as my slide shows here I find it useful to dichotomize 00:01:31.240 --> 00:01:36.750 governance systems into either institutional like democracy or network 00:01:36.750 --> 00:01:42.890 like the family or like the CCC, and when you think about institutional governance 00:01:42.890 --> 00:01:46.930 think about democracy, think about law, think about rights, equality, these are 00:01:46.930 --> 00:01:52.579 all concepts which are protected for us by an institution in this case it's the state 00:01:52.579 --> 00:01:55.690 and when you think about networks think more about the family, think about 00:01:55.690 --> 00:02:00.479 reputation, honor, mutual respect. These are representations of the network 00:02:00.479 --> 00:02:04.219 governance model, and the network governance model turns out to be very 00:02:04.219 --> 00:02:09.419 important to BGP. Now I'm gonna argue that we need both institutional and networks 00:02:09.419 --> 00:02:19.080 governance and each one should be used for what it's best for. So but first I'm going 00:02:19.080 --> 00:02:25.209 to talk about where BGP came from. The year was 1989 and there were two people 00:02:25.209 --> 00:02:30.930 named Kirk Lougheed and Yaakov Rekhter and they were having lunch and at the time the 00:02:30.930 --> 00:02:37.390 Internet of the day, then known as NSFNET was facing impending collapse let's say. 00:02:37.390 --> 00:02:42.620 The NSFNET was at the time, experiencing explosive growth and the EGP 00:02:42.620 --> 00:02:47.680 routing protocol was reaching the point where it just could no longer work. So 00:02:47.680 --> 00:02:52.290 during that lunch they defined a new protocol, which they jokingly referred to 00:02:52.290 --> 00:02:55.510 as a two napkin protocol, because they had drawn their 00:02:55.510 --> 00:03:02.479 diagrams out on those napkins. And we have here some photographs of those napkins. 00:03:02.479 --> 00:03:08.600 Something to understand about BGP at the time, and it was that at this time the so- 00:03:08.600 --> 00:03:13.750 called Internet was considered kind of this weird anarchist experiment. You see 00:03:13.750 --> 00:03:20.269 real networks used grown-up protocols such as X.25 which among other things made sure 00:03:20.269 --> 00:03:25.189 at the protocol level that when you sent a piece of data it would actually reach its 00:03:25.189 --> 00:03:31.750 destination. By contrast, Internet Protocol was what we call a best-effort protocol 00:03:31.750 --> 00:03:35.930 meaning that sometimes a packet might arrive mangled or maybe it wouldn't arrive 00:03:35.930 --> 00:03:42.470 at all. Computers on the Internet usually just use the TCP protocol to put the 00:03:42.470 --> 00:03:47.790 pieces back together and to resend the broken ones but TCP is not really part of 00:03:47.790 --> 00:03:51.720 the Internet itself. It's more an application that runs over it and it's 00:03:51.720 --> 00:03:57.439 telling that in this era the Internet was referred to as TCP / IP because at the 00:03:57.439 --> 00:04:04.610 time it was expected that any network must be providing reliable transport. Now the 00:04:04.610 --> 00:04:09.409 effect of IP's simplicity as compared to other networking protocols cannot be 00:04:09.409 --> 00:04:17.108 overstated and to consider a different protocol even the one used in telephone 00:04:17.108 --> 00:04:22.380 networks even to this day it's so mind- numbingly complex that it actually 00:04:22.380 --> 00:04:27.280 encourages the telephone companies to monopolize in order to manage the protocol 00:04:27.280 --> 00:04:32.750 that they use. In fact the SONET protocol that's used in the American telephone 00:04:32.750 --> 00:04:36.590 companies - there's an equivalent one here in Europe - it actually requires 00:04:36.590 --> 00:04:41.190 synchronized atomic clocks in the routers in order to schedule the messages so that 00:04:41.190 --> 00:04:45.580 there's an empty moment in each line that's just for the message to pass 00:04:45.580 --> 00:04:52.190 through. And in contrast the simplicity of IP and the political design of BGP have 00:04:52.190 --> 00:05:03.150 allowed for just about anybody to become a network operator. So what is BGP? BGP is 00:05:03.150 --> 00:05:09.090 a protocol which every Internet router uses to talk to other routers when they're 00:05:09.090 --> 00:05:15.210 talking across an organizational boundary. See inside an organization you control all 00:05:15.210 --> 00:05:18.860 the computers so you can have them talk any way they want 00:05:18.860 --> 00:05:25.110 but when you talk across boundaries the lingua franca of 00:05:25.110 --> 00:05:33.100 routing protocols is BGP. And BGP involves two types of identifiers which 00:05:33.100 --> 00:05:39.000 organizations need to apply for. These are IP addresses which most people know about 00:05:39.000 --> 00:05:44.050 and there are the lesser-known autonomous system numbers and each network provider 00:05:44.050 --> 00:05:49.780 has an AS number. Both IP addresses and AS numbers are issued by ICANN through its 00:05:49.780 --> 00:05:56.320 regional registries which manage this an issuance kind of in accordance to need. 00:05:56.320 --> 00:06:02.130 And an autonomous system is a network operator such as an ISP or hosting 00:06:02.130 --> 00:06:07.919 provider and having the AS number means that they're able to speak as equals 00:06:07.919 --> 00:06:13.819 with all the other network operators. It also means that when they interconnect 00:06:13.819 --> 00:06:18.080 with another network operator the fact that they're interconnected is public and 00:06:18.080 --> 00:06:26.029 that's a very important little piece of BGP. Now BGP is unlike the EGP routing 00:06:26.029 --> 00:06:31.190 protocol before it, a mesh protocol and this fact has proven highly significant 00:06:31.190 --> 00:06:36.840 because it's created what I call the imperative to peer. And to understand the 00:06:36.840 --> 00:06:42.030 imperative to peer, I'll give you a scenario. Let's say that you and I are each 00:06:42.030 --> 00:06:47.489 a medium-sized network operator. So your customers want to talk to my customers, my 00:06:47.489 --> 00:06:52.259 customers want to talk to your customers but as medium-sized network operators we 00:06:52.259 --> 00:06:56.270 both need to buy Internet from somebody else that's bigger than us. In the 00:06:56.270 --> 00:07:01.650 industry we call this the upstream provider and if my customers are asking 00:07:01.650 --> 00:07:06.509 for web sites hosted by your customers normally what's going to happen is I'm 00:07:06.509 --> 00:07:10.139 going to get those requests and I'm gonna have to send them to my upstream provider, 00:07:10.139 --> 00:07:12.590 they're going to give them to your upstream provider who is going to give 00:07:12.590 --> 00:07:18.379 them to you. But since we're both paying for those links to our upstream providers 00:07:18.379 --> 00:07:26.060 there's, we're sort of paying for that traffic in a way, and now if you and I 00:07:26.060 --> 00:07:30.419 happen to have routers in the same datacenter then we could just run a wire 00:07:30.419 --> 00:07:35.949 across the room and then peer with one another and BGP will bypass our upstream 00:07:35.949 --> 00:07:38.330 providers and route the traffic between me and you and 00:07:38.330 --> 00:07:42.580 you and me. And it's much more efficient. Now it's important to 00:07:42.580 --> 00:07:48.370 understand that peering means you and your customers will talk directly to me and my 00:07:48.370 --> 00:07:54.520 customers. What it doesn't mean is that you can use me to reach my other peers, or 00:07:54.520 --> 00:07:59.289 my peers peers, or my upstream, or someone else. To have to do that, you'd have to be 00:07:59.289 --> 00:08:05.080 my customer because peering has this limitation it's usually mutually 00:08:05.080 --> 00:08:10.830 beneficial for two ISPs to just peer and usually it happens with no money changing 00:08:10.830 --> 00:08:16.550 hands and in fact it almost always happens there's not even any paper contract 00:08:16.550 --> 00:08:23.430 that they just say that makes sense let's run a wire. Now in this scenario you and I 00:08:23.430 --> 00:08:28.199 needed to have the upstream provider and you might wonder well who doesn't need an 00:08:28.199 --> 00:08:33.260 upstream provider there must be someone at the top where is the core. Well the core 00:08:33.260 --> 00:08:46.710 is a series of what we call Tier 1 providers. And in this picture we have 00:08:46.710 --> 00:08:51.890 white lines which represent the peering agreements and the red lines represent the 00:08:51.890 --> 00:08:57.170 customer agreements. The Tier 1's are the people up at the top and they can reach 00:08:57.170 --> 00:09:03.410 anywhere on the Internet using a peering agreement or a customer. They don't need 00:09:03.410 --> 00:09:10.230 to buy Internet from anyone. However they do need to pay the upkeep on their massive 00:09:10.230 --> 00:09:14.510 fiber-optic networks which give them the global reach to get these peering 00:09:14.510 --> 00:09:17.890 agreements and to get these customers which makes them a Tier 1 in the first 00:09:17.890 --> 00:09:23.640 place. And you can also see some interesting things in the case you can 00:09:23.640 --> 00:09:29.509 have you can be a customer and also a peer and you can also have multiple upstream 00:09:29.509 --> 00:09:38.060 providers. But with Tier 1 there's a bit of politics, see Tier 1's are hesitant to 00:09:38.060 --> 00:09:43.000 peer with smaller operators if there is a chance that if they refuse to peer the 00:09:43.000 --> 00:09:48.210 smaller one might alternatively become a customer and so it's a bit like marriages 00:09:48.210 --> 00:09:53.959 between wealthy families because peering between Tier 1's it's a complex process and 00:09:53.959 --> 00:09:59.480 they're each striving to ensure reciprocity of value. Now small networks 00:09:59.480 --> 00:10:03.030 on the other hand they're not so concerned about this and so they're ready 00:10:03.030 --> 00:10:07.721 to peer with each other quite liberally and this has created a situation known in 00:10:07.721 --> 00:10:11.940 the industry as doughnut peering where in the Tier 1's are actually increasingly 00:10:11.940 --> 00:10:18.199 being routed around and it's worthy of reflection the fact that while SONET with 00:10:18.199 --> 00:10:24.460 a synchronized atomic clocks has made an incentive to monopoly. BGP with it's 00:10:24.460 --> 00:10:31.520 imperative to peer has created a situation where monopoly is discouraged. However 00:10:31.520 --> 00:10:37.730 this system also has means of preventing bad behavior on the Internet which it 00:10:37.730 --> 00:10:42.900 works astonishingly well while at the same time preserving almost absolute free 00:10:42.900 --> 00:10:51.760 expression. So this is a chart of the percentage of all email that is spam and 00:10:51.760 --> 00:10:57.480 to understand why this chart is remarkable consider what a bad protocol email 00:10:57.480 --> 00:11:03.660 is. Email is basically a push protocol with an unlimited free speech. So all you 00:11:03.660 --> 00:11:07.980 got to do is get on the Internet, fire up a mail server and you can just send spam to 00:11:07.980 --> 00:11:20.750 anyone. It's magic. So really this percentage should be like over 99% but 00:11:20.750 --> 00:11:29.059 it's not. Well email is an old and heavily used protocol and the network operators 00:11:29.059 --> 00:11:33.959 have made it kind of a special case. Email is actually one of the few protocols where 00:11:33.959 --> 00:11:38.640 messing with it can get you kicked off the whole Internet even if you have your own 00:11:38.640 --> 00:11:43.189 network AS number even if you are a network operator with peers and everything 00:11:43.189 --> 00:11:51.799 you can still get chucked off the Internet if you mess around with mail. So I'm gonna 00:11:51.799 --> 00:11:56.809 try to explain how this works and I'm going to do it by trying to think of 00:11:56.809 --> 00:12:07.809 different types of actors that are, that exist in the Internet service sphere. So 00:12:07.809 --> 00:12:14.280 there is a lot of actors of course but I've made these four main categories which 00:12:14.280 --> 00:12:19.230 I think helps to explain the situation. And they're the customer, the provider, 00:12:19.230 --> 00:12:25.130 the network operator and the civil society organization. So the customer is someone 00:12:25.130 --> 00:12:30.290 like me. I take an IP address on loan from my cable provider at home and I take one 00:12:30.290 --> 00:12:36.371 from my web hosting provider. It's not my IP address and it's not assigned to me. It 00:12:36.371 --> 00:12:39.070 doesn't have my name on it and they can take 00:12:39.070 --> 00:12:45.490 it back when I stop working with them. But that means I have relative anonymity 00:12:45.490 --> 00:12:49.939 because I'm not out there looking for peers I have my provider they know who I 00:12:49.939 --> 00:12:55.780 am, they know me, I know them, nobody else needs to know who that IP address is 00:12:55.780 --> 00:13:01.040 associated with. However my provider can trivially turn off my access to the 00:13:01.040 --> 00:13:05.950 Internet but by the same token I can usually choose which provider to patronize 00:13:05.950 --> 00:13:11.980 as well modulo the monopolies in the cable companies. Providers on the other hand 00:13:11.980 --> 00:13:15.450 they are not anonymous they have to maintain relationships with network 00:13:15.450 --> 00:13:21.510 operators, they have to seek customers. They're out in the public. Providers also 00:13:21.510 --> 00:13:27.079 have an incentive to keep customers so they can't be obviously scammy and they 00:13:27.079 --> 00:13:31.750 shouldn't, they can't provide bad service. They probably shouldn't be scummy 00:13:31.750 --> 00:13:36.010 and they can't provide bad service. They also have an imperative to stay friendly 00:13:36.010 --> 00:13:40.540 with at least one network operator. If all the network operators just hate them then 00:13:40.540 --> 00:13:46.830 they can't find Internet. Providers have their own IP addresses they're assigned to 00:13:46.830 --> 00:13:51.550 them from the Internet registries and so they can connect with multiple network 00:13:51.550 --> 00:13:55.930 operators including even having peers although in practice they often keep their 00:13:55.930 --> 00:14:03.030 networks fairly simple. But because of the way BGP exchanges information, their peers 00:14:03.030 --> 00:14:08.240 and their providers are publicly known, whereas me the little customer borrowing 00:14:08.240 --> 00:14:14.540 an IP address I'm fairly opaque. Now network operators they're somewhat like 00:14:14.540 --> 00:14:19.920 providers, they provide a service but in general they make their business around 00:14:19.920 --> 00:14:23.800 providing raw Internet access to smaller providers and that's why I've 00:14:23.800 --> 00:14:29.160 differentiated them. Network operators are very much not anonymous they have to have 00:14:29.160 --> 00:14:34.799 large numbers of peering agreements and customers which again all of these 00:14:34.799 --> 00:14:40.330 connections are transparent, because of the way BGP works and they're strongly 00:14:40.330 --> 00:14:46.270 pressured by the imperative to peer. If they're not able to find peers then all 00:14:46.270 --> 00:14:49.219 the network traffic will have to be paid for. It can even squeeze them out of the 00:14:49.219 --> 00:14:53.140 market. They do have som powers though they can 00:14:53.140 --> 00:14:57.169 refuse to peer with a network operator and they can even disconnect a customer which 00:14:57.169 --> 00:15:01.929 they might do to maintain their reputation. Last group here is civil 00:15:01.929 --> 00:15:07.059 society these are organizations like Team Cymru and Spamhaus. They dedicate their 00:15:07.059 --> 00:15:10.829 time to shedding light on the bad guys of the Internet. They're not anonymous as 00:15:10.829 --> 00:15:15.580 organisations although their members can be hidden and they also maintain lists of 00:15:15.580 --> 00:15:20.059 IP addresses and AS numbers which are either known to be operated by spam 00:15:20.059 --> 00:15:27.020 organizations or which are just unused and shouldn't be existing. Internet civil 00:15:27.020 --> 00:15:31.280 society doesn't have any direct power but their power comes from their reputation 00:15:31.280 --> 00:15:36.540 for providing valid and useful data. They're also able to do their job because 00:15:36.540 --> 00:15:42.540 of the transparency of providers and network operators which is built into BGP. 00:15:42.540 --> 00:15:46.380 I'm going to tell you a story about two providers. One is called McColo and the 00:15:46.380 --> 00:15:51.120 other is called PRQ, both of these organizations were founded in 2004 and 00:15:51.120 --> 00:15:55.410 both of them have been subject to certain controversy but tellingly one of them 00:15:55.410 --> 00:16:03.280 still remains with us and the other one is long gone. So this is a splash page of 00:16:03.280 --> 00:16:08.309 McColo back in 2008 before it went dark. McColo was founded by a 19 year old 00:16:08.309 --> 00:16:13.380 student named Nicola McColo and it thrived for four years before being taken down. 00:16:13.380 --> 00:16:16.890 McColo provided what's known as bulletproof hosting. That means hosting 00:16:16.890 --> 00:16:21.650 where the provider will keep your server online no matter what you do with it. 00:16:21.650 --> 00:16:25.949 Bulletproof hosting providers choose not to cooperate with civil society or even 00:16:25.949 --> 00:16:32.240 law enforcement unless they're forced to. And in November of 2008 the Washington 00:16:32.240 --> 00:16:37.410 Post gathered some damning evidence that McColo was a hosting provider mostly 00:16:37.410 --> 00:16:42.829 interested in providing service for spammers. What's interesting is that 00:16:42.829 --> 00:16:46.779 rather than send this evidence to the police they sent it to McColo's network 00:16:46.779 --> 00:16:51.300 operators. Like many providers McColo bought Internet access from two major 00:16:51.300 --> 00:16:54.449 network operators. In this case it was a Hurricane Electric and Global 00:16:54.449 --> 00:16:58.630 Crossing. When Hurricane and Global Crossing were given this information from 00:16:58.630 --> 00:17:03.050 The Washington Post they voluntarily chose to abruptly ceased doing business with 00:17:03.050 --> 00:17:08.190 McColo and the provider was caught off guard and it and all of its customers went 00:17:08.190 --> 00:17:18.679 offline. Here is the global volume of spam which dropped to that day by as much as 00:17:18.679 --> 00:17:24.040 75%. Needless to say no other network provider was beginning or ready to begin 00:17:24.040 --> 00:17:32.640 selling service to McColo and their business crumbled. Now PRQ is in some ways 00:17:32.640 --> 00:17:40.110 similar to McColo heeey and in some ways they're quite different. PRQ was founded 00:17:40.110 --> 00:17:44.780 by two Swedish guys known in BitTorrent circles as anakata and Tiamo and they 00:17:44.780 --> 00:17:49.280 provide what I call last resort hosting. They've hosted highly controversial 00:17:49.280 --> 00:17:53.850 websites such as WikiLeaks but they're probably best known for hosting The Pirate 00:17:53.850 --> 00:17:58.750 Bay. The Pirate Bay stands out is probably one of the most famous websites to 00:17:58.750 --> 00:18:06.180 publicly flaunt copyright. Going to the extent of actually publishing abuse 00:18:06.180 --> 00:18:17.780 complaints along with their sarcastic and humiliating responses. This is something 00:18:17.780 --> 00:18:22.140 that the copyright industry had never seen before. High-power lawyers are just not 00:18:22.140 --> 00:18:28.530 accustomed to getting replies signed go fuck yourself. So all four of the founders 00:18:28.530 --> 00:18:31.910 have spent some time in prison and the site's data centers have been raided 00:18:31.910 --> 00:18:36.520 multiple times and supposedly Hollywood even use threats of trade sanctions 00:18:36.520 --> 00:18:43.030 against Sweden to force them to shut this thing down. But we find that as McColo has 00:18:43.030 --> 00:18:48.440 drifted into historical obscurity, The Pirate Bay is still alive and has even 00:18:48.440 --> 00:18:54.440 become something of a cultural institution. And we also find that unlike 00:18:54.440 --> 00:18:59.340 McColo, PRQ and The Pirate Bay have never had any problem with their network 00:18:59.340 --> 00:19:05.290 operators. So one of the fundamental tenets of the Internet is that network 00:19:05.290 --> 00:19:10.670 operators are morally but not legally responsible for the activities of their 00:19:10.670 --> 00:19:15.560 customers and peers. So they may choose who they do business with and they will 00:19:15.560 --> 00:19:24.560 not be held to legal account for these decisions. What are the lessons that we 00:19:24.560 --> 00:19:28.220 can take away from this? Recently there's been a lot of 00:19:28.220 --> 00:19:33.470 work done on federated social networking protocols. I'm sure some of you will take 00:19:33.470 --> 00:19:38.860 part in this development but the vast majority of you will be evaluating them to 00:19:38.860 --> 00:19:43.900 make decisions about which technology to adopt and I urge you to give some thought 00:19:43.900 --> 00:19:48.880 toward the political identities of the protocols which you make or which you 00:19:48.880 --> 00:19:55.850 choose to make your own. Like many things systems of communication are defined 00:19:55.850 --> 00:20:02.310 largely by what they reject, whether that be packets larger than 1500 bytes or Nazi 00:20:02.310 --> 00:20:08.610 propaganda. And in a protocol I identify three main ways that these rules can be 00:20:08.610 --> 00:20:13.981 defined. The first is what we hard code into the software source code. Some 00:20:13.981 --> 00:20:18.260 examples are message formats and permission systems but hardcoded rules 00:20:18.260 --> 00:20:23.950 can be extended further with cryptography and especially with block chains. Hard 00:20:23.950 --> 00:20:29.060 coded rules are a perfect example of institutional governance they can be very 00:20:29.060 --> 00:20:34.330 fair. They are very fair because code applies the rules equally to everyone and 00:20:34.330 --> 00:20:38.820 for things which we consider a basic human right such as private communications and 00:20:38.820 --> 00:20:43.150 things which are easily quantifiable in software, hardcoding can be the best 00:20:43.150 --> 00:20:49.890 solution. However hard rules do have a downside, Ethereum a cryptocurrency based 00:20:49.890 --> 00:20:54.120 heavily on the libertarian philosophy of freedom of contract found itself in a bit 00:20:54.120 --> 00:20:59.050 of a quandary when a bug was discovered in one of the very significant contract 00:20:59.050 --> 00:21:03.330 allowing for all the money to be stolen out of that contract. For those who don't 00:21:03.330 --> 00:21:07.950 follow the topic Ethereum was hard forked in order to stop the errant contract and 00:21:07.950 --> 00:21:14.380 everybody had to update and while the fork itself protected the participants in the 00:21:14.380 --> 00:21:21.230 contract it struck a serious blow to the fundamental philosophy of Ethereum and it 00:21:21.230 --> 00:21:25.620 serves as a warning that we have a downside to hardcoding. The second source 00:21:25.620 --> 00:21:30.231 is of course the central authority. The Internet uses ICANN as a central authority 00:21:30.231 --> 00:21:35.650 to manage allocation of domain names, IP addresses and autonomous system numbers. 00:21:35.650 --> 00:21:38.530 The central authority is kind of a poster child of institutional 00:21:38.530 --> 00:21:43.240 governance. Like hardcoded rules, rule by central authority also tends to be 00:21:43.240 --> 00:21:49.750 egalitarian. Moreover a central authority is actually capable of equity because it 00:21:49.750 --> 00:21:54.061 can comprehend people's different situations and adapt to them. Something 00:21:54.061 --> 00:22:00.220 that a hardcoded rule cannot do but a central authority like a hardcoded rule 00:22:00.220 --> 00:22:06.010 is prone to coldness and bureaucracy and moreover it's quite difficult to create 00:22:06.010 --> 00:22:11.170 central authorities which do not give certain individuals unaccountable power 00:22:11.170 --> 00:22:16.730 over others. The third source of rules or in this case customs where this talk gets 00:22:16.730 --> 00:22:22.800 its name is from the network and this is how the network operators and how BGP 00:22:22.800 --> 00:22:26.890 mostly managed to keep email spam and other bad things off the Internet. The 00:22:26.890 --> 00:22:31.580 network is by far the most humane form of governance. Social norms are passed along 00:22:31.580 --> 00:22:36.340 from friend to friend rather than rules being forced down upon people by central 00:22:36.340 --> 00:22:41.350 authority or source code. And we see network-like systems in families ancient 00:22:41.350 --> 00:22:46.670 tribal societies as well as royalty and elite in kingdoms and of course online. 00:22:46.670 --> 00:22:53.990 However in electronic networks we tend to associate it with, we get to choose who 00:22:53.990 --> 00:23:00.060 we associate with from any connected person in the world and but networks also 00:23:00.060 --> 00:23:04.830 have a downside they're not egalitarian in any way. Those central in the network are 00:23:04.830 --> 00:23:10.140 simply more powerful than those on the edges. In the feudal system law was often 00:23:10.140 --> 00:23:14.410 applied differently to a person based on how they were dressed or what family they 00:23:14.410 --> 00:23:20.610 were from. And the origin of the term rule of law it was initially described as a 00:23:20.610 --> 00:23:27.340 better alternative to rule of the king or rule of man. We have the law we 00:23:27.340 --> 00:23:33.380 have the state because people demanded them as in this case the inequity of the 00:23:33.380 --> 00:23:38.260 network rule proved unacceptable. But there's an important difference between 00:23:38.260 --> 00:23:45.580 BGP's rule of custom and the patently unjust feudal system. BGP is transparent. 00:23:45.580 --> 00:23:49.630 We know which network operators are interconnected with whom and we know who 00:23:49.630 --> 00:23:55.080 is protecting the bad actors and in every case we find dystopia 00:23:55.080 --> 00:23:59.550 whenever there's power without transparency either in opaque proprietary 00:23:59.550 --> 00:24:05.240 code, unaccountable central authorities or in networks which form mafias, secret 00:24:05.240 --> 00:24:11.350 societies in the feudal system. And I think the key message from BGP has to be 00:24:11.350 --> 00:24:17.930 that whether in central authorities or in networks. Power and privacy do not mix. 00:24:17.930 --> 00:24:23.820 With any measure of power there must be equal transparency and accountability. 00:24:23.820 --> 00:24:29.960 Applause 00:24:29.960 --> 00:24:36.150 So in closing. I hope you go out there and make protocols and make systems which far 00:24:36.150 --> 00:24:43.860 surpass what we have today and to do that I suggest looking at the past and what 00:24:43.860 --> 00:24:49.270 protocols have been highly successful and try to identify why they worked. Also look 00:24:49.270 --> 00:24:56.620 at the ones that didn't work. Look at the things that died in a hell storm of spam 00:24:56.620 --> 00:25:01.640 and try to keep it simple. I developed some software before and something I 00:25:01.640 --> 00:25:06.750 learned the hard way is that complexity becomes the enemy of adoption so maybe 00:25:06.750 --> 00:25:11.409 it's a good idea we all write our protocols on napkins. Thank you. 00:25:11.409 --> 00:25:21.920 Applause 00:25:21.920 --> 00:25:24.260 Herald: Thank you Caleb. We now have five minutes 00:25:24.260 --> 00:25:28.330 for questions you know the drill. Please line up at the microphones there's four 00:25:28.330 --> 00:25:32.430 microphones two in the middle, one there, one there. please don't leave the room 00:25:32.430 --> 00:25:36.220 until the talk is over. If you stood up you can leave but the rest please 00:25:36.220 --> 00:25:39.360 stay seated you can spare five minutes it's a lot of noise that people keep 00:25:39.360 --> 00:25:43.490 leaving during the Q&A. Microphone number one please. 00:25:43.490 --> 00:25:49.940 Question: Hello I'm from Sweden. I really like to talk to have a overview of 00:25:49.940 --> 00:25:56.570 this I think it was mostly correct. I would say that I'm working with both the 00:25:56.570 --> 00:26:05.870 BGP and DNS and those association with ICANN but I think you put them all on the 00:26:05.870 --> 00:26:10.260 you give them a bit too much power they are not that powerful unless you describe 00:26:10.260 --> 00:26:16.180 them. They don't decide everything about DNS and everything. They're running the 00:26:16.180 --> 00:26:21.080 IANA contract for these domain names and numbers and stuff like that. On behalf of 00:26:21.080 --> 00:26:27.240 the community like the IETF and other multi-stakeholder organizations. So they 00:26:27.240 --> 00:26:33.040 only have the power over the new top-level domains they don't have the power over the 00:26:33.040 --> 00:26:41.100 common domain or .se domain in Sweden or .ch in Switzerland so if .se or .ch would 00:26:41.100 --> 00:26:46.100 like to have The Pirate Bay, ICANN has nothing to do with that. 00:26:46.100 --> 00:26:47.730 Herald: Could you get to the question please? 00:26:47.730 --> 00:26:50.590 Question: No it's not a question. More to show that ICANN is 00:26:50.590 --> 00:26:55.680 not the king. Herald: There are other people queueing please. 00:26:55.680 --> 00:27:00.200 Herald: Microphone number two please. Question 2: Thank you. Great great 00:27:00.200 --> 00:27:09.380 lecture. So what actually is the reason why some illegal activities are tolerated 00:27:09.380 --> 00:27:16.841 by ISPs and some like child abuse is not? Speaker: That's a great question. I 00:27:16.841 --> 00:27:27.050 think that what it comes down to is what is socially acceptable. So when you have 00:27:27.050 --> 00:27:31.400 why does some activity, why does some illegal activity like smoking a joint 00:27:31.400 --> 00:27:38.080 outside, not cause you to have the police and other activity like murdering somebody 00:27:38.080 --> 00:27:42.540 would. It's all about what is socially acceptable to the people around you and 00:27:42.540 --> 00:27:46.990 what is socially acceptable to the people around them and in the case of ISPs 00:27:46.990 --> 00:27:50.600 somebody is peering with the the people that serve The Pirate Bay somebody else 00:27:50.600 --> 00:27:55.040 looks at that and says it's not, I don't feel that that's a problem somebody else 00:27:55.040 --> 00:27:58.920 looks at them and says I don't feel but people who think that is a problem and so 00:27:58.920 --> 00:28:02.120 it's okay. I hope this answers your question. 00:28:02.120 --> 00:28:07.180 Herald: Do we have an Internet question? No. Okay microphone number one please. 00:28:07.180 --> 00:28:13.590 Question 3: Why do you think network operators being morally but not literally 00:28:13.590 --> 00:28:18.500 responsible for what content they accept on the network worked so well for McColo 00:28:18.500 --> 00:28:22.690 and PRQ and doesn't work at all for social media? 00:28:22.690 --> 00:28:27.370 Speaker: Oh great great question. Why it doesn't work. If I understand you 00:28:27.370 --> 00:28:35.340 properly? Why Twitter is still a crap hole. It is. Well here's the thing Twitter 00:28:35.340 --> 00:28:42.130 has it's - I am probably getting sued - it's a, it's basically an 00:28:42.130 --> 00:28:46.230 institutional governance system. They said like we're in charge everybody is flat on 00:28:46.230 --> 00:28:53.050 here so on top of a network governance system they built in a institutional 00:28:53.050 --> 00:28:57.210 governance system and the institutional governance system it's like a high school 00:28:57.210 --> 00:29:04.940 it's just it's terrible. So I should use this opportunity to plug Mastodon because 00:29:04.940 --> 00:29:10.480 Mastodon is an example of a system which is federated and looks well it doesn't 00:29:10.480 --> 00:29:15.779 look exactly like BGP but I think it will in five years. 00:29:15.779 --> 00:29:22.519 Applause 00:29:22.519 --> 00:29:24.710 Herald: One hopefully brief question from two please. 00:29:24.710 --> 00:29:29.330 Question 4: Yes. Hi. Thank you very much for talking about BGP. As someone who 00:29:29.330 --> 00:29:33.100 knows a lot about BGP and I was kind of wondering if you could help answer a 00:29:33.100 --> 00:29:38.251 question and that's that I kind of view BGP is kind of like a static protocol and 00:29:38.251 --> 00:29:42.190 it was stuck it was written on two napkins and it's been a little bit expanded beyond 00:29:42.190 --> 00:29:48.420 that. My concern is like with, with rogue countries or someone else harnessing IP 00:29:48.420 --> 00:29:53.880 blocks and like sync holding traffic for google.com or facebook.com which has 00:29:53.880 --> 00:29:57.580 happened several times in the last couple years can you think of a way where you can 00:29:57.580 --> 00:30:03.929 either get BGP to conquer that problem or with the new decentralized protocol to 00:30:03.929 --> 00:30:08.160 conquer that problem? Speaker: Filters, filters, filters. 00:30:08.160 --> 00:30:14.110 Basically. I don't know that much about BGP but I know that some people are in the 00:30:14.110 --> 00:30:18.150 business of making their filters from the data that's in the WHOIS database that 00:30:18.150 --> 00:30:22.120 just say this is what you're allowed to announce cool this is we'll build a filter 00:30:22.120 --> 00:30:27.480 that's what your your box can send to us. The problem is that ISPs are lazy and we 00:30:27.480 --> 00:30:33.350 don't have we don't have standardized stuff for making these filters so we end 00:30:33.350 --> 00:30:37.180 up with a lot of people just sit putting no filter and saying yeah announce 00:30:37.180 --> 00:30:41.100 whatever you want and then you know China announces Google and all the traffic goes 00:30:41.100 --> 00:30:45.030 like this. Herald: And that's all for today. 00:30:45.030 --> 00:30:47.513 Thank you Caleb. 00:30:47.513 --> 00:30:50.064 Applause 00:30:50.064 --> 00:30:55.482 34c3 outro 00:30:55.482 --> 00:31:12.000 subtitles created by c3subtitles.de in the year 2018. Join, and help us!