Librecast: Privacy and Decentralization with Multicast
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 490 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/47447 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
InternetworkingSlide rule
00:07
Computer programmingMereologyProjective planeConnected spaceMultiplication signBuildingAxiom of choiceLine (geometry)Structural loadUnicastingverfahrenLimit (category theory)InternetworkingSlide ruleInformationWage labourMultiplicationUniqueness quantificationComputer animation
02:23
Software developerLibrary (computing)Communications protocolCartesian coordinate systemProjective planeGroup actionCommunications protocolFormal languageLibrary (computing)Cartesian coordinate systemMoment (mathematics)Standard deviationInternetworkingWage labourSlide ruleMultiplicationReading (process)Forcing (mathematics)EmbargoBuildingComputer animation
03:43
Scale (map)Function (mathematics)Address spaceSoftwareInternetworkingSlide ruleSoftware developerInformation privacyCartesian coordinate systemComputer configurationCasting (performing arts)Execution unitComputer animation
04:40
Bit
04:51
UnicastingverfahrenBroadcasting (networking)UnicastingverfahrenCASE <Informatik>Broadcasting (networking)Form (programming)Point (geometry)BitExecution unitExpert systemInternetworkingAsynchronous Transfer ModeUniform boundedness principleVideoconferencingComputer animation
05:37
Streaming mediaInternetworkingVideoconferencingTelecommunicationComputer animation
06:02
Server (computing)Centralizer and normalizerUnicastingverfahrenSlide ruleSoftwareDefault (computer science)CodeServer (computing)Multiplication signWeb 2.0VideoconferencingBitCartesian coordinate systemDiagramBridging (networking)Real numberComputer animationLecture/Conference
07:01
InternetworkingSlide ruleVideoconferencingComputer animationLecture/Conference
07:35
FacebookPoint cloudOpen sourceComputer animation
Transcript: English(auto-generated)
00:06
OK, we're going to have to go with slides that are over there. That's going to make this interesting. But as I'm two minutes in already, let's get started. My name's Brett Sheffield from the LibraCast Project, which
00:21
is now part of the NGI Zero program for decentralizing the internet, building a new, better internet. If you're interested in that and how you can perhaps get some funding for your project, then come and see me afterwards. And there's also an NGI Zero BoF this afternoon
00:40
where there'll be lots of people from NGI Zero projects and the NLNet Foundation guys who can, you can talk to them about getting funding. I think given this is the decentralized dev room, that'll be quite applicable. So just before we begin, can I borrow you for a sec? I just want to give you a choice.
01:01
We could do this talk in a unicast way, or we can do it in a multicast way. So just to give you an idea of what that might be like, in a unicast world, I'd need to start with a handshake. And we'll need to maintain that TCP handshake throughout the talk. And then if you could all just form a line behind him here,
01:24
I can deliver the talk to you one at a time. Now, of course, I'm being ridiculous. We're much cleverer than that in unicast, aren't we? I could do two of you at once. Or maybe you could attach to my legs. But that's probably about my limit. And obviously, the more connections I'm maintaining,
01:41
I'm having to repeat the same information, the load on me as the speaker is going up and up. Well, that's unicast, thank you. Or, and I realize this might be the first time for some of you, we could do this in a multicast way. Essentially, by coming to this room,
02:00
you have performed a join on my multicast group. Thank you. That's going to save a lot of time. So who's for unicast? Always one or two. And multicast? Okay, well, I didn't need 10 minutes. I've already convinced you all that multicast is better than unicast.
02:21
Fantastic. I haven't got off my first slide yet. So, that was a LibraCast logo. Let me tell you about the project. Basically, I'm aiming to get multicast working across the internet, decentralize the internet with multicast. And the way I'm doing that is by putting it in the hands of you guys, developers.
02:42
We already have a LibraCast multicast library, so you can build your applications with that. Just hash include LibraCast.h. Other language is coming soon, but at the moment it's C. We'll be building a messaging library on top of that, a la ZeroMQ, very similar.
03:01
We're also building transitional technology on top of that, which is essentially tunneling. This is not new stuff that I'm doing here. This is 30-year-old technology that I'm bringing you today. If you remember the M-Bone, or given we're in Brussels, Castgate, perhaps. This has been done before. It's just not been done with IPv6, and it's not been done well.
03:22
We're building an improved routing protocol to break the dependence of multicast on unicast, and I'm building some multicast-enabled applications and trying to work with FOSS projects to enable multicast everywhere, and also ensure that new standards such as WebRTC and QUIC,
03:40
which are based on UDP, do not exclude multicast. So you can't really see that, but basically if you've used ZeroMQ before, the API is very familiar. Download my slides. I'll read that to you. In 2001, RFC 3170 was written. It says, IP multicast will play a prominent role
04:01
on the Internet in the coming years. It is a requirement, not an option, if the Internet is going to scale. Multicast allows application developers to add more functionality without significantly impacting the network. Now, that was 2001. What year is it? So, yeah, we're not really using multicast. Most people have heard of it,
04:22
but there are a lot of misconceptions. It's largely ignored. Multicast is more efficient than unicast. It's more scalable than unicast. It has important privacy advantages over unicast. No destination address for a start. It's the missing piece in the decentralization puzzle, which is important for this dev room,
04:41
and it can also help make this fellow, which is a polar bear, quite a bit happier as well, because multicast is far more efficient. We can build less data centers, and that's important. So what is multicast? We'll start with a definition. You've probably heard that unicast is one-to-one, yeah?
05:01
And broadcast is one-to-all nodes. Multicast is one-to-many, yeah? You've all heard that? Well, that's wrong. No form of IP multicast in use today works like that. It's not one-to-many. It's one-to-a-group. In the case of unicast, you set the destination.
05:20
In the case of multicast, you send to a group. It's pub-sub. So unicast and broadcast are fundamentally different, and there's no point me doing the next bit because you can't see it, but basically, unicast and broadcast are push, and multicast is pull. You can't spam with multicast. I'll skip over that.
05:41
Many misconceptions are around multicast, that it's only good for streaming, it's no use for video on demand, it's unreliable, it's insecure, it can't work on the Internet, and that's all wrong. Multicast is essentially about group communication. The funny thing is, all communication is group communication.
06:00
Even one-to-one is just a very small group. So the problem with unicast is it leads to massive centralization. Thank you, slides. Multicast leaves open the possibility of decentralized designs by default. Multicast is decentralized by default. And that's an OSI layer diagram, which you're all familiar with.
06:24
There are many of you here working on decentralized solutions, but you're all working at layer 7, the application layer. We can decentralize at the network layer, layer 3. That's far more efficient and saves you a lot of coding. Here's a real-world example, which is going to be difficult to show you. But if you can imagine that I have a forking web server
06:45
and that is plugged into a local bridge, then, yeah, I'm running out of time and I don't have a slide to back me up. So, essentially, that's impossible to show you without that.
07:03
So if you want to know more about it, hopefully with slides, come to the IoT Dev Room a bit later on. I'm talking at 12.10, and I have a longer slot to talk to you about it. There's also a video from my LCA talk where I had a full hour to tell you what I'm trying to tell you with no slides in 10 minutes.
07:23
So come and find me in the NGI Zero BoF room this afternoon. Fabulous.