NDN Name Data Networking paradigm shift: blockchain in your router who wants faster, more secure money? decentralize all things: start with internet protocol * http://skycoin.net * http://csr.bu.edu/rina/about.html * http://eluv.io * http://toda.network * http://bloxroute.com * http://nkn.org * NAMEDATA https://github.com/named-data https://named-data.net https://motherboard.vice.com/en_us/article/nzemz7/the-internet-of-names http://www.coloradoan.com/story/news/2015/07/10/colorado-state-professor-fixing-internet/29989301/ blockchain test on ndn: https://ieeexplore.ieee.org/document/7993751 decentralized naming: http://ieeexplore.ieee.org/document/7562112/ blockchain apps on networks: http://ieeexplore.ieee.org/document/7870552 shortcut/highlights long vids: http://io.cx/P-GN-pYfRoo 2018 Lixia Zhang http://io.cx/aaUISwIwn9M 2918 Christos Papadopoulos http://io.cx/qgEqaj-Luo8 2017 Alex Afanasyev http://io.cx/5oJkZkGr24A 2017 John Day http://io.cx/h_oiPYPS4fc 2015 Lixia Zhang http://io.cx/uvnP-_R-RYA 2017 Van Jacobson http://io.cx/yLGzGK4c-ws 2015 Van Jacobson http://io.cx/gqGEMQveoqg 2006 Van Jacobson http://io.cx/oCZMoY3q2uM 2006 Van Jacobson quotes from long vids: ON NDN SECURITY: http://io.cx/yLGzGK4c-ws > This is magic. > So there's another model for how you could do this. > The security of the internet is sort of massively failing. > Some fundamentally new vocabulary in the core areas of networking. > Because there's no notion of where the data is. There's just what the data is. > This is magic. It's transformational magic. It moves us Ã¢â‚¬â€¹from being unsecured tto being really well secured. > There's no routing. You get rid of all of the routing chatter. You get rid of all of the routing brittleness. > Which means you don't need any global knowledge at all) you only need local knowledge in order to move stuff around. > So this is really transformational in terms of writing applications, because there's a whole bunch of things that you don't have to think about. > Alright. I'll insure that the bits get end to end, but I don't think you can trust 'em. We don't know where they're coming from. We don't know where they're going to. We don't know what they're enabling. http://io.cx/uvnP-_R-RYA > That flips the way that you think about routing. > The world is radios. Let's stop pretending that they're wires. > It means you don't need addresses to ask and answer questions. > If this abstraction isn't buying us a lot, could we do without it? > Give up on the idea of perimeter security because it never has worked and never will. > It's broadcast. All the communication's gonna be many to many. If there's data, anybody can grab it. > Self certifying names where the name of a data item is simply a cryptographic checksum of that data item. > At the network level you're done, because you can send and receive bits. And there's no abstraction you have to build. > My goal is to get an answer. It's to maximize the information production. Maximize the rate that questions are answered. > We use networking to solve an awful lot of problems in computer science. Almost everything we do today is distributed in some way. > So, you end up wasting a lot of communication bandwidth to try and put a point to point abstraction on top of a broadcast media. And that seems like useless. > It's ten years worth of NSF funded research and existing implementation and test bed. So a fair amount of maturity in the software base. http://io.cx/gqGEMQveoqg > You wanna architect that out at the network level. > Unintended sender attacks, they're just impossible. > What if telephony is not the only way to communicate > You gotta be able to trust the data based on the data. > It's good for the user because the user gets way more control. > You don't care whether you got it over SSL. That's not gonna help. > Because you don't care about the topology. You just care about the data. > Right? It's really hard to put ultimate trust in that economic structure. > If you can communicate over anything that moves. Literally anything that moves. > Integrity and trust are properties of the data; not of the way that you obtain it. > Because data is not telephony. And telephony is not the only way of communications. > And I think we're kind of on the fringes of a Copernican revolution in communication. > You can get (vÃ¢â‚¬â€¹ia things like web of trust, get) much more distributed community action. > So we've got a model for creating content. That is you stick data in a directory somewhere. > And it seems like there's gotta be an architectural problem. Because the problems seem to be so ubiquitous. > It's not the solution that's broken. It's a problem that that solution addresses has changed. There's a new problem. > Rather than the system getting less reliable exponentially as it scales up, it gets more reliable exponentially as it scales up. > You can get (via things like Zimmerman's web of trust, get) much more distributed community action. And so if you use PGP models.. > You don't have to make this strict hierarchical routing system that the telcos had to make, where there's high bandwidth at the top. > So there was this complete disaster foisted on us called certificate hierarchies that have never worked. And they have no trust at all associated with them. > So at the architectural level if you're doing dissemination, you gotta have a security model. You've got to be able to sign things and make some sense out Ã¢â‚¬â€¹of them. > So I want properties of the data where I don't have to trust remote agents. That the data itself lets me figure out what it means and who sent it, how it's connected to the world. > You say hey, you're not gonna move our bits? No problem. There's a plane flying overhead. It's got a disk in it. My bits go up. They go Ã¢â‚¬â€¹to Ã¢â‚¬â€¹the Ã¢â‚¬â€¹other side. Ã¢â‚¬â€¹They Ã¢â‚¬â€¹come down. I don't care. > Since you're making trust be architectural it's really easy at the network level to make (pharming and phishing and spam and all of these imposter attacks or) unintended sender attacks.. they're just impossible. http://io.cx/oCZMoY3q2uM > Bits are bits. They're all good. > You wanna architect that out at the network level. > What's the good way to ask your questions and get your answers? > The net hates things that broadcast. The protocols weren't designed for it. > Integrity and trust are properties of the data, not of the way that you obtain it. > You can't do a security model at the network level, because it's blind to the data. > You get a fine grained control at the data item level. Because you're asking for things individually. > What you're trying to do is to get some copies of the data that are close to you, or get the data closer to you. > The topological awareness is buried in the network so you don't get multiple copies of the data going over one link. > You'ure putting the trust in the data and user level objects, in the stuff that you ask for. So you don't care whether you got it over SSL. ThatÃ¢â‚¬â„¢s not gonna help. > Because if you've got a lot of small pieces and you've got a lot of paths, you can send the different pieces over different paths and get much higher effective bandwidth. > So as data diffuses from producers to consumers, then you get more of the cache locality semantics, and that means that you only need local multicast, and we should do a local multicast. > We've got all of these radios that are hooking things together, and we really can't use the suckers from our networking stack because the net hates things that broadcast. The protocols weren't designed for it. > Great! But that's not what I want. I want my machine to work. I want to know what you're gonna do to my machine. I wanna know something about the data and the operations you're gonna take. But they can't tell me that.