Hashing It Out
Hashing It Out

Episode 115 · 3 weeks ago

Network infrastructure Pt. 1

ABOUT THIS EPISODE

Hashing It Out is continuing its series on the infrastructure of blockchain with the Network lwayer.

In this episode, Corey, Dee and Jessie talk to Assistant Professor of electrical and computer engineering at Carnegie Mellon University, Giulia Fanti & member of the Vac research development group at Status, Hanno Cornelius. 

Stay tuned for part 2, covering privacy in the network layer.

We don't really introduce ourselves, should we? They know who I am, they know me. Welcome to the hashing it out podcast, where we talked to the tech innovators behind blockchain infrastructure and decentralized networks. Your hosts are Dr Corey Petty, currently doing research at status and waiting for other people to keep up. Maybe those businesses need to stop being bitches. Jesse Santiago, a former electrical engineer now working on decentralized storage at status. Red Radio, go, go, and with a deep voice and the deep questions, de Ferguson. That's not what it's set out to be. How dare you? And I'm the hashing it out showrunner, Christian no Gara. And part two of our hardware episode, our hostess with the Mostest talked to Paul Landski and Ed do on tuna of Dat note. Yeah, your own, run your own note for a bunch of different services and nicely enough, they just added Nimbus to the stack. So running a Nimbus done is even easier if you have some hardware and you want to run a two client. What's also like, so you can also what I liked about them in general is that you can just buy hardware. You can just you can you have to set it up, provision your own stuff, you can just buy sheen from them. That then allows you to kind of pick and choose what, no, do you want to run my pfs storage whatever, and then flick it and run it and also like configure it, which is a big part of the issues that I have with things like this, and I think that's what that was important for us to get through, at least in that latter half of the hardware infrastructure part was like how do we give people to run stuff? And it's making it easy. When I clicked the shop button, was so like that's something that d brought up. He was actually he clicked the shop button during the interview and then he was talking about the different hardware options. We whant to click it right now. It just links back to the website. So there are no products available. I think that they are sold out right. They were like Intel nuts right, they're nuck ish if you buckish. I don't remember. It's a it's a little I don't know what the acronym is, but it's like a little intel. Wait a second, we're not taking htc. It's like a small form factor like micro, I don't know, even smaller than we're not glazing over that. It's nucish if you buckish. Oh yeah, that was amazing. We're gonna pause and we're going to accept that being amazing. Right, you old enough to understand the reference? I don't get it. I'm not that song was adopted to other songs since it came out, but anyways, I mean it makes running a note easy, but it does still pull off the very same like string of nobody is going to know how to run their own note, like they're just not. I mean, yeah, maybe there's going to be people that do, but those people are going to be working for going people. Yeah, but they go back to episode one, Um the first hardware infrastructure one where TJ was like back in the day with the old Internet, like you know, you just have to compile your ethernet drivers and do all those other craps just to connect to the Internet and other stuff like like now computers come with everything, they come with all this stuff, and so like his his idea of hardware in the future, if blockchain technology takes over, is that like your computer just has multiple tearabytes built into it because it needs to store blockchains. This what's for and like it. This stuff comes with it. It knows where to go to connect and hopefully, in his eyes, hopefully that's the case. And so making it easy over time in the long run is basically you buy a computer, comes to this stuff already, but it takes projects like that node and all of the open source work to try and make it easy to get to there, because right now, as a person trying to run notes from home, it's it's awful there. I don't know, man, that's even hard to see which one is going to be the winner. Right. So, like and most most of what we're trying to do with the series is come up with a general idea for people to understand how blockchack nombers even put together, because there's so many different ways, options places to go that...

...we don't know which one's gonna win. Yeah, in terms of Um, like I I, I have been peripherally involved in the space for years, not deep enough for a long time to be able to understand the differences between ethereum and clones of it in terms of Um, how the networking layers differ, how the consensus layers differ, how the application layers differ, and it wasn't until this past cycle, you know, when I was trying to Um Mint N F T S on Salana, that I looked into, um, the process for minting N F T S on Ethereum, on Al Grand Um, and then I realized like there are, there are some stark differences in terms of the infrastructure technology that is used between all three of those and, you know, many of the other ones, I assume, as most Polka dot and whatever else is available. So it's nice to like put together a series that not only helps me understand but also helps, you know, our audience, everybody listening you understand, uh, and kind of come along with us for the journey of learning more about the space. Yeah, I I guess what I'm what I was reaching for and hoping that we would get in an answer to was the ability to like, for somebody to set up their own secure transaction vironment. I heard that acronym ste a lot at one of the conferences I went to and it was like a hardware based secure transaction environment. And they have them now. They have them in bones, they have them in, you know, popular smartphones. There's secure transaction environments that which were they're required to put in there because of you know, somebody's going to have their financial information and on their phone like apple pay, then there needs to be a way for them to prove that the hardware secure. Right, and I was like man, that's pretty awesome, but how can that be transferred into you know, every day crypto speak? What would be the hardware needed? What would be the actual pieces needed for me to personally build my own secure transaction environment? And we're just not going to get those answers. I don't think we're gonna get those answers. I don't think anybody. I think we will, but it's gonna be just for that right. I want to secure transaction environment. Transaction for what's a good question, you know what I mean. Like could you have that? Now? You can, just, you can do that. Just you can have a bitcoin note running your home, like you can do what are the one of the companies we have interviewed on the Bitcoin podcast a while ago, like, can you can run those things and do decently easy transactions? I mean countries are working on it right now, like people are living off of hardware infrastructure for sending bitcoin transactions. But like when you start getting into all of the different things all blockchains can do and wanting a device at home that makes it you can securely interact with them. That's your grandma can do. We got a little ways to go right. We can't even like decode contract metadata so that you know what you're signing. Well, and until we get to situations like that, it's gonna be real hard. But like we can do simple payments. We got that down pretty well. If you wanted to just do that, you can set that up so that your mom can tap her phone on a device in in her home and pay for something or send it to somebody else. It's just not a lot of people that I want to do that or like need to do that. Yeah, yeah, well, what's the next layer? What do we wait before I start having to speak like that. What I do like about depth node is that they are doing the hard work. What I mean by the hard work is they're making things easy for people. It is incredible. It is incredibly difficult to make something easy for someone. That sounds like it's like a paradox, but it is, and it's hard to not constrained them. Like when you put those two things together right, like you give people a lot of options and then make it easy for them to choose the right option. That's really, really, really hard, mm HMM, because I can make it really easy for you to do something, but you're gonna do it exactly what I think you should and you don't get any other options. Yeah, it's like me, like me buying a phone for my grandma. She don't get options, she gets the phone that's the easiest thing for her to use in the world, that she calls two people with and it has an alert button. That's IT, right. It's like, like, like giving a bunch of options and then making it easy for them to use it as a very different scenario, and that's hard. I think that's what they're doing. You need to look forward to we are currently not brought to you by that note. We are not brought to you by that.

But Um, coreter, you can look forward to the one word text that your grandma send you that she means to text somebody else. Happens a lot. My grandma does that all the time. So just take north and I'm like, what did you say, grandma, and she's like, I wasn't trying to talk to you, and I'm like okay. I mean that's all I say about that note. I like what they're doing. I like they're doing hard work. I think it's gonna be really tough for hardware to become less complex in crypto. I think. I think. You know what's the Dream Corps that people can run it on, you know, everyday stuff that they can go to best buy and pick up. Or I don't know who sells what is that? Tiger direct or, you know, people that sell computer stuff, whatever the equipment. Tiger, microcenter, microsenter one. I'll ones are gown. Tell me one that's left standing. But they're nice. You know, they have they have flash drive sales. You know, if you go in you can, you can pick up a flash drive when you buy like a like a SSD or nbame drive. That's just fitness test for Nice, by the way. Really can you get a free flash drives? Have you heard about draft kings marketplace? It's the place to snag the latest digital collectibles across sports, entertainment and culture. Draft Kings has released their first ever N F T fantasy game, rainmakers football. It's the only n F T fantasy game licensed by the NFL P a. Now you can collect the hottest player card N F T s while playing free for millions in prizes. Right now, everyone can get their first school roster starter pack for free and playing a simple buy, cell, bid and win player card N F T s of the biggest names in the game through regular drops and auctions on draft kings marketplace rough lineups have athletes from your nf t collection and earned points for touchdowns, receptions and more. Just like daily fantasy football, build your n t franchise and enter free rainmakers football contest all season long to compete for millions in prizes. Download the draft kings daily fantasy APP now and sign up with Promo Code Bitcoin. Click the rainmaker's tile and opt in to get your first full roster starter pack for free. Plus play for millions and prizes all football season and build the ultimate N F T fantasy franchise with rainmaker's football. That's Promo Code Bitcoin. Build play when only at draftkings. Contest entries dependent on type and number of N F T s held. Eligibility restrictions apply void where prohibited. See draftkings dot com for details. If you haven't listened to the hardware episodes, go back take a listen. But now onto the network layer, with Julia Fanti, an assistant professor of electrical and computer engineering at Carnegie Mellon University, and Hanno Cornelius, part of the back research development group at status. Hi Everyone, my name is Juan Fanti. I'm an assistant professor of electrical and computer engineering at Carnegie Mellon University and there I study broadly the security and privacy of distributed systems, and one of the topics I've worked on for the last number of years is, uh is, blockchains and blockchain technology. How did you get into that? What made you, Um, choose that course of scientific research? Um, it was actually kind of an accident. So I was studying privacy for most of my PhD, Um, and we were looking at designing algorithms for anonymous communication over peer to peer networks and, uh, we were kind of looking for applications of this work and realized towards the end of my PhD that this was very relevant in blockchain networks, where you have basically broadcast peer to peer networks and uh, there and people care about privacy in any financial network and also in blockchain networks. So that's kind of how we got started along that track. Can you take a step back a little bit and and try to your audience an explanation of what a peer to peer network is and how that's differentiated from, Um, I guess, the standard type of networks people think about when they think about the Internet? Yeah, definitely. Um. So a peer to peer network is called an overlay network. So this means that there's kind of an underlying network that connects everyone. So in this case that would be like the Internet. So if we think of everyone who's on the Internet, any two hosts or devices can communicate with each other. Um. Now An overlay network is basically taking a subset of those nodes on the on the underlaying network of the Internet. So let's say we consider those nodes as the set of device is that...

...are running a bitcoin node. That's a subset of the total number of people on the internet or of devices on the Internet. And Uh, now those bitcoin users or bitcoin devices are going to try to connect to each other in a in an overlay network. Um, that allows them to communicate specifically for the purposes of running this bitcoin application. Now, Um, in principle they could all communicate with each other, but what's done in practice in these peer to peer networks is that each device that wants to join the bitcoin network is going to connect to some number of other big other nodes that are running bitcoin, basically Um. So what you end up with this is kind of a subset of the underlying network, Um, that is using the underlying protocol. So they're still connected via like TCP or ut P or whatever, but in addition they're running other functionalities on top of that that are specific to the application that that is using this peer to peer network. So in the case of Bitcoin, this would be things like forwarding transactions Um, for example. I have questions for you. Why do blockchain networks like prefer peer to peer networks over like traditionals? Yeah, so Um peer to peer networks have two big advantages for blockchains. One is that anyone can join Um. This isn't necessarily the case, but for most peer to peer networks they're implemented in such a way that anybody can join, which is a big draw for permission list blockchains like Bitcoin or theory on Um. And the second main advantage is that they are decentralized, so they don't have, they don't require any central party to like manage the network. Um, for example, uh, there's no third party that's deciding that this note is going to be connected to this other note, for example. Uh. And that's also really important in blockchain networks, because the whole premise is decentralization. You're trying to build something that doesn't re our coordination from the Central Party. Alaska, Alaska. Third Question. How is the current infrastructure laid out, and is that beneficial for blockchain networks? The current infrastructure, you mean like the the Internet? So we're talking about like the actual like switches, like Cisco, you know, manufactured networking gear that you know runs in all of the urban cities and connects everybody. So you know how the home routers connect to each other. But then they all kind of Um, beyond that, like I guess, where does where does the connection go, and how do how do we create this overlay network on top of the physical infrastructure? Yeah, so, Um, broadly we can think of the Internet as being organized in tears. Um. So at the bottom we have clients, which would be like your home network or like an enterprise network. Um. Then on top of that we have of regional Internet service providers, or I S. PS. Um. So this would be like what what we connect to from our home network? We're connecting usually to a regional I s P, and then the regional I sps are connected to each other through a backbone I s P, and these are like large international organizations that are connecting networks across lank fiber, under the ocean and so forth. Um. So basically, when if I'm trying to send, I think that the main thing to keep in mind about how the Internet is structure is that things are roughly based on geography. So, like, if I want to send, if I want to connect to a server, let's say in Germany, Um, my packet is not going to travel exactly like the bird flies, um, but it's roughly going to to follow geographic constraints. Um. And of course this can be affected by things like routing and so forth, but for the most part this is the case. Um. Now this is kind of different from how peer to peer networks are structured, because in the bitcoin network, for example, Um, if I want to join the Bitcoin peer to peer network and I, let's say, decide to join or decide to peer with a particular other node which is identified by its IP address. Um, I don't have any information about the location or I don't use any information about the location of that note. So I could, for example, be connecting to all nodes that are located in China. So what this means? The implication here is that if I now decide to go to a coffee shop and buy coffee Um and I produce a bitcoin transaction, and if all of my peers are located in China, which I don't know because everything's hidden. In that sense, my transaction is first going to have to travel to China before it can reach the Barista Um. So the transaction has to...

...travel using the underlying Internet infrastructure, which is roughly geography based, and and it it's longer for the packets to travel long distances than it would travel short distances. So you know, if I'm if I'm producing this transaction and trying to broadcast it over the network, it first would have to travel to China and then eventually will percolate back to Um, back to my bodies that who might be connected to other peers than this peer to peer. So if I could rephrase that, and but in different words, like the overlay, the way the overlay chooses, how it chooses which appears to connect to is differentiated from the geographical based hardware infrastructure that makes the Internet so like. The Internet as it's constructed, tries to optimize for routing packets around, UM, graphically based. So if I'm near my beist that it will try to just optimized for that. But if I'm using some overlay network, Um, the way that it's choosing peers was most often than not a distributed Hash Table, arbitrarily chooses people and those can be anywhere in the world, which kind of throws away that physical infrastructure optimization. And that's some of the trade off you have when trying to use a peer to peer network on top of the physical infrastructure we have today across the world. Set Right. Yeah, exactly, Um, and I think one thing to point out is that this isn't a fundamental constraint. You can actually do things that encourage like physically local peering. Um. So, for example, there's been some work in the in the research community on trying to help blockchain peer to peer networks ensure that you peer more with notes that are physically close to you, and this has the advantage of reducing the latency of transactions or the time it takes your transaction to reach everyone else in there. But that's that's still like in the research domain. That's not commonly done today. What is that called? Is that like Mesh Networks, or is that something completely differentiated? Um. So this is this is a technique called Paragen Um. It came out, I think, a couple of years ago. Um. So Mesh networks are. Um, Mesh networks are indeed using locality and are, you can are peer to peer networks, Um, but mesh networks aren't. Are Not typically used for blockchain networks as far as I know, but I could be wrong about that. What's I have a question. Like what makes a Mesh Network? I'm kind of a new to these things, so usually when I say Mesh Network, I'm trying to look fancy in front of my friends or my parents. But like, what's the difference between a Mesh Network and like, you know, Wifi? I really want to know. So now I don't just, you know, give the appearance a fancy I actually know. Uh. Yeah, so a Mesh network is a network. They're also called ad hoc networks. Um. So it's basically a network where you are peering with physically close devices. Um. So people have used Mesh networks a lot in like so they they've used it for a lot of different reasons. Um. In some cases they've used it to bring internet connectivity to cities without needing to rely on an on an I S P. So the idea is that, for example, like my home router could be used to forward information to other people who need Internet access. So basically everyone's helping each other get access by by connecting to each other in this decentralized peer to peer network. They've also been used in protest settings, like Um, government protests. Um, your cell phone can connect to other cell phones, or a lot of them can, and so people have built actually mesh networks where of cell phones that are that are connected to each other and are able to really messages, are able to set up like communication platforms over these smash networks. So there there are a lot more flexible than existing dedicated hardware infrastructure, but they're also harder to manage and have generally higher latency. Okay, thank you. Almost sound like a prob it. Are there other trade offs associated with using Um? Pure to pre networks are more distributed kind of topologies for relaying messages across the network outside of outside of the when you mentioned kind of with the not necessarily taking advantage of geographical infrastructure. Um, yeah, I mean I would say securities is a big one. Um, you have less visibility into the topology of the network and like whether nodes are are misbehaving. So, like one example of this is Um in a lot of permission list blockchain protocol also permissioned in a lot of blockchain protocols,...

Um nodes are supposed to maintain a certain number of connections. So they're supposed to have like some number of outbound connections, which are connections that they initiate. They're supposed to accept up to it some upper bound on incoming connections. And a lot of nodes. What what we've found through UH kind of years of research, not we meaning I, but like the research community has found three years of research, that a lot of nodes are not obeying these protocol specifications and will create what's called supernodes that are basically connected to all of the publicly available nodes in that and it's very difficult, it can be difficult, to identify these kinds of misbehavior that, like the kind that I just mentioned can be fairly benign, Um, depending on why they're doing it. But there are other types of protocol misbehavior that are very difficult to detect in a decentralized setting, whereas if you have like a central network coordinator, they would have more visibility into that and would be able to cut that note out of the network. So I think that's one of another big trade off that comes with the benefits of decentralization. This might seem like a novice question, but the have to transaction to an IP address. Um. So because the transactions are being spread over a peer to peer network, Um, there's always going to be one or more nodes in the peer to peer network that that are like the first ones to introduce the transaction. Um. So in that sense, yes, the transaction does get associated with some some IP addresses. Um. What you can play with is which Ip addresses that is it yours or is it someone else's? And how does that, how does that information and get passed to a potential adversary, depending on their capabilities? So, for example, like if the adversary had full knowledge of the entire peer to peer network and let's let's say we're not using any third party services like tour Um. If the adversary could see everything that was happening in the network at every point in time, they would be able to pinpoint the source. I P exactly. So a lot of the work that's been done in this space is really around trying to understand if the adversary has a little bit less visibility, so we have a weaker but hopefully more realistic adversarial model. What can you do? Can you provide any protections? M Hmm. Is there like a solution to kind of combine mesh networks in terms of like rolling identities so like, rather than have um then use, I guess, the traditional Internet infrastructure? Can is it possible to have like a more ad hoc network where each node, there identifier on the network, has some degree of disposability to it? Um and then Um, you know, once transactions are sent out, then you know, maybe they reroll a new identifier. Um. I'm not, I'm not, I'm not very um knowledgeable about network limitations, but I don't know. Yeah, so it's a good question. Um, certainly you could imagine solutions where you're using a Mesh network to like move your transaction to a physically different location. And then the transaction eventually gets propagated from that other location. I think it's possible. I mean there's challenges always associated with setting up mesh networks, but let's suppose that that's taken care of. That's certainly possible. Um. And it is generally harder for adversaries to infiltrate mesh networks. Everywhere you have a locality, you have a locality problem. Like if an adversary wants to infiltrate a network on the Internet, is just a matter of spinning up notes, like we can do that sitting from from our homes. Um. But Um, but if you want to infiltrate a Mesh Network, you have to be physically present and so that's harder to do at scale. Um. I think that's the main added cost to it to an adversary. So like in theory that that that something like that could help. Um, the key. The key is that, a, you need to account for what are the adversary's capabilities? Are Able to infiltrate your Mesh Network and be do you actually have enough local nodes around you to set up a Mesh network that's going to be effective and that's going to be able to transport your transaction far enough away, UM, prior to getting broadcast over over the peer to peer network. Have you seen the helium project where they incentivize putting nodes to connect to and more UM isolated locations? But something like that be...

...able to carry like a transaction? That's a great question. I I'm like familiar with the helium project but I haven't thought about it in this context. Um. Yeah, I would need to think about it. Well, they have aspirations of moving the network beyond kind of small, late small band with IOT devices. Um. In the event that that happens, then maybe, but currently the like the bandwidth is basically long range low, low bandwidth Um for doing different IOT applications. So not for message proplications for blockchain networks. And as far as I can say, we've looked into it for status for various kind of Um ad hoc network solutions and didn't quite make sense. MHM. So we're working on now. What what you know? What's Uh, what are you doing on the daily Um? Let's see. So very recently one my students, Um let let, a paper on Um an understanding latency manipulation in in blockchain networks. Um. So basically, he was looking at how can an agent control their latency with respect to other nodes in the network? And there's various reasons why nodes might want to do this. Um. Like they might do it from the perspective of trying to first of all, just hear about transactions and blocks faster. But they could also do this if they're trying to launch an attack, like if they're trying to eclipse another node. Um. So, just as an asside, an eclipsing attack is when you try to control all of the nodes peer connections. So like, for example, if I, if I want to attack one of you and I try to ensure that I control all of the nodes you're peered too, then I can effectively censor your transactions, cut you out of the network, make you think that the blockchain looks one way and uh, when it actually looks another. So these kinds of eclipsing attacks can be easier if you're able to uh, reduce your latency to a particular note, and we show how how that works in this paper. Um. And it's also relevant for like front running. Um. So front running is this phenomenon by which, basically, not blockchain notes try to manipulate other users transactions, m manipulate the timing of transactions in order to basically take advantage of other other people's transactions that they've already made. So like I might see that you made a transaction where you're buying some number of tokens and I try to stuff my transaction in before yours gets processed in order to Um, to benefit. So these kinds of front running attacks are can be very sensitive to your network, latent sea, and so in this recent work we're kind of exploring to what extent that that can be done and how well. Street had the same issue right a long time ago when they were trying to shorten lines to the stock exchanges, physical lines. Yeah, yeah, about that. It's actually really good. They had the very aligned directly through like rock and stuff like that. I forget what it was called. Often to look it up. Um. Yeah, like the finance industry spent a lot of money trying to shave off, you know, nanoseconds from uh, of latency, but of communicating prices trades, and that hasn't really been an issue in blockchain network, in a lot of blockchain networks so far, just because the confirmation times were high and so like. The network latency was small in comparison, but now we're starting to see applications where, like really fine grain differences in latency can matter, for example for strategic trading. So as a blockchain says that they have a higher, you know, transactions per set and throughput, does that mean that, in terms of latency Um? Again, to your point, those who are positioned to reduce that latency cost have the higher advantage in terms of front running those those transactions more effectively. Yeah, reducing reducing your latency Um, reducing your latency is is useful for for a lot of different applications, as I mentioned, and one of them, we think, is strategic trading Um. So, like in an auction, it means that you can learn faster about other people's bids and submit your own. Submit your own bids faster. Basically, like knowing more information faster is always a good thing in any kind of strategic game. And Jesse, to add on to your question, they're more often than not, when you read consensus research papers, the claims of transaction per second, through put or Um finality times or tip quickly based on an assumption that completely...

...ignores message propagation times. They assume that Um, the decision to be had has already been um distributed across all the peers that are coming to consensus. So it will kind of remove that additional legncy of message propagation. Once again, like this part of the stack typically ignoring the consequences of the of the of the technology below it. Yeah, there has been a lot of like, academic research that does compute like consensus times or confirmation times as a function of the network capabilities, but I agree a lot of a lot of projects do ignore that and it's Um. Yeah, it's not trictally correct, I think. I think it's it's it's it's currently it's it's refreshing now that that seems to be not nearly as prevalent as it used to be. Like the level of academic rigor for papers coming out gotten tremendously better than say, like two right, like and, and also the arguments and amount of effort going into trying to figure out how to make these networks better is way better than it used to be. You're an example of this, right. Thank thank you. Yeah, there's a lot of really great researchers in this space. Um We're seeing a lot of fantastic minds or working on these problems. What are you most excited about when you like, when you do research in this area and you learn about new things? What, what area of research gets you most? I guess, optimistic for the future of blockchain networks and pure to pure networks. I'm going to answer a slightly different question Um, but one area that I've been really interested in lately. I don't know what this means for the future of blockchain networks, but when area have been really interested in is centrally bank digital currencies. Um and a lot of the central banks around the world have been looking at using blockchain technology to implement centralized digital currencies, and I think it's been very interesting to see some of the design choices they're making and like to what extent they're actually using blockchain technology um and some of the differences that come about because of the fact that these are at some level centralized. So there's like cross border cross border variants that are not fully centralized and that have more of a decentralized aspect, but a lot of the like domestic Um Central Bank digital currency systems, are fundamentally centralized. It's been interesting to see a little bit about, like their choices around adopting variants of blockchain technology. Um, that's most of the questions I have. Is there anything that you would have wished us to ask that we didn't? No, I don't think so. Great questions of fun, Fun discussions. In the last ten years, over one billion dollars worth of CRYPTO has been lost or stolen, specifically because of poor key management, scams and hackers. Our new sponsor, the Zeno Crypto Wallet, is a game changer, bringing wallet security to a whole new level. Check out Zen go and you'll find an on chain crypto wallet with no private key vulnerability, leveraging advanced cryptography called MPC, which until now had only been available to multibillion dollar institutions. And don't forget that Zendo has legendary in APP seven live support with real humans. Zeno is the most secure web three wallet and the Best Place to keep your Crypto, N F T S and assets secure. It's also fully recoverable using their biometric recovery kit. Get started at Zen go dot com. Slash t VP pod and use the code t BP pod to get twenty back on your first purchase of two for dollars or more. THAT'S Z E N G O dot com, slash t BP pod code, T v P Pod for twenty back on your first purchase of two D dollars or more. Terms and conditions apply. C side for details. Tell us about who you are, where you come from, what you do. I mean, just before this I give you a help of family history, but other than that I'll say, Um, yeah, I'm I'm in the back research and Development Group. I'm working on something called Waco. It's basically a suite of protocols which enables generalized per messaging. Saying it's generalized because it's not focused on one specific application. It claims to be useful to multiple application that can benefit from a peer to peer communication layer. And yes, we believe Wako protocols to be the communication layer for a week. Three, Um, with a strong folk, some privacy,...

...in security, censorship, resistance. Um. What else can I say? Um, Oh, yeah, we believe in open access, of course, kind of like a democratizing effect of of of Pe to peer networks. I want to be useful on on wide an array of devices as possible, so anyone, or or at least almost anyone, can kind of access, even if they are on resource restricted devices. Yeah, that's me. Well, something more about that and what that? Yeah, why not? I mean it's it's not very complicated. fact, it's was basically born as a sub team within status Um, basically to find out at that stage why pe to peer networks, at least for messaging, was not working. Um. And then that's spun off into into trying to find solutions, Um, specifically for the scalability issues that we saw in flood routed networks, which are basically networks that such unstructured routing that all peers trying to communicate and sent all the information to all other peers in the network, which creates this massive amplification of of information in the network and clogs everything up. Um. So we came up with a couple of systematic solutions, Um, and then eventually with this suite of protocols which we call did you, but how do you describe peer to peer network in general, like do you like, do you have like a go to general like description of what a peer to peer network is? I mean, if I usually I would just say it's there's a distributed architecture of networking with no central servers, Um, and no intermediaries. Usually, I would also say everyone in the network acts, or as the potential to act, as both client and server. Um, within that the set of rules of that protocols that you've designed. That clear enough. Why do we use them over the client architecture? You know model. I'm very glad you asked. Um. Iven know many, many reasons why people do that. I mean one, one very obvious. The reason is this that it gives control back to the actually uses of a network and removes the centralized, uh control from a network. Right. So pwop a networks are much more fault tolerant because there's no central point of failure, by nature's centest ship resistance resistant. This is why the first use cases of PTWOB A networks used to be in environments where censorship was to be expected. Um, because there's no central service to shutdown. Right. pers can always find ways to connect to each other should in well Um designed protocols. Um. What else? Um? Yeah, I think I mentioned the fact that there's no central intermediary means that you're mostly resistant to the type of collusions that you can also see Um, when someone has central control of all data in the network, trying to manipulate what happens in a network would user cum. So it is about, I would say, mainly about Um the principle of giving back control and ownership to those participating in the network. So one thing that one thing that comes to mind is the difficulties that I've seen Um peer to peer networks have with Um, the hardware part of the networking infrastructure. So when you know, when you see TPS increase on a lot of these new l ones, Salana in the past, ball market Um and a few other ones, you don't really think about the the minimum hardware requirement increase and where the different infrastructure portions are hard are are are putting most of their computational efforts on. So when when you when you thought, when you think about like networking, what piece of hardware in the in the computer, is something that kind of goes up as the number of peers on the on the network increase? In terms of scalability, is it the CPU that takes it right? So that, as I said, the Ligeral is to to not have an increase um in resources at all. That's that's the network right that this is assuming, of course, that you've reached some kind of settled state where you are already kind of like participating with the network. Um. So theoretically what would happen is there will be...

...a little bit more CPU um when you piers joined the network, Um, and that can be Um mitigated by having you only be responsible for the piers in your neighborhood. This is, in other words, the piers that you're aware of, right. Um. And then, of course, I think the one Um that's most effect it will usually be Bannedworth, and this has been the limiting factor, I think, the man limiting factor we've seen um in terms of resources, shots and actual heart to limentation. Um. The most important aspect of our design of of messaging protocols have been reducing amplification factor in the network. And amplification factor mostly refers to Banndworth, right. I mean it's always implies some processing, of course, um, but it's it's it's the the amount of data on the network that needs to be passed around, Um that we need to limit in someone. So do you see fundamental limitations to building peer to peer networks that we just have to deal with in terms of scale? Um, like if, if, if, if, it's taken for granted, or like as an assumption, that blockchain networks have to be built on peer to peer networks in order for them to be sufficiently decentralized and resilient to attacks. Then what are the fundamental trade offs that we have to make in order for for blockchain networks to exist? Like, what are the consequences of that decision? Yeah, I mean a good point. If you are going to introduce Um, uh, something that allows you better scalability, Um, you're likely going to have to make a trade off on another area, and an example here is um, for example, and to end delay between messages. Right. So what we do in order to get better bandwidth performance is to have slightly more structured readings, a way of a self organizing network that limits the amount of of Um of messages that each peer have to send in the network and kind of like, in a sense, tries to distribute the responsibilities and in a decentralized way. But if you speak about overlaying more structure on this network, you're bound to have more hops between two ends, right, because you've distributed the responsibility a bit better, Um, and that introduces something like delay. Um, there's also an extra overrate of processing, which I mentioned earlier, because there's a little bit more Um that needs to be done Um in order to to kind of interpret and sent the control messages that's required for the self organizing structure to work. When you mentioned the topology of peer to peer networks, not necessarily being always client to client, but there needing to be at some points nodes that have like, I guess, higher compute resources to actives as intermediary servers or connecting points between, you know, groups of nodes that collect around, Um, some sort of you know, topic. Um, those those hardware constraints. Are Those? So you mentioned bandwidth being the largest constraining factor for Um Scaling Up, you know, a number of users around a given topic. How do you guarantee that, let's say, as as a as a messaging APP scales from, you know, thousands of users to millions of users? How do you how do you distribute the band with constraints so that the system scales properly? Yeah, so I should just maybe clarify. When I say bandworth being the constraint, I mean purely and networking layer. That is, at least in my job, to manetic. Of course, depending on your application. Um, they might be much, much higher resource Um needs, especially in terms of kind of like processing power, Um, that you need in order to actually fulfill this application that you're trying to run in a manner. Um. How do you distribute bandwork? So what is a good example? The Um? If you can find a way, um, for example, for all notes in the network, Um two, to eventually discover all, or almost all of the other notes in the network, or be able at least to discover these notes. Um, you can introduce some kind of randomization, Um,...

...in terms of our notes, Um, uh, kind of connect to each other, which should mean that, in a probabilistic kind of model, you should get a better distribution of our notes are connected. Um. You tend to limit, Um, the number of of Nerdes that could be connected to a single note. Um, with some strategies, and that happens when this nerd reaches its kind of quote off of connections, Um, so that you in a sense then Um incentivized that note to Um find other random notes to connect right, so that these these notes, a note trying to connect to the network or being introduced to the network, does the work necessary to find a good spot for itself. In the network where it can contribute, um by being well connected, Um, and where it can also benefit from being well connected. Does that make sense? Yeah, no, I don't. I don't think I quite understand. So there's some sort of optimization that each note can do two, reposition themselves as intermediaries of messaging or yes, I would say that's uh, some description, though we are at risk now of defining, of defining one, like one or two specific protocols. And what we use is something called COSIP Shub, which was designed by Le Two PM, and the idea, beyond gossip Shubb, is that appears of an out of band method of finding notes to connect to. And what we do is we try and make this as random as possible, Um, so that there's no kind of like neighborhood effect, Um, where notes only connect to tame to connect to the same AP peers. Um. So that happens out of band. And then what happens is, if you're trying to connect to a network, appear will actually not allow let's say, more than twelve other notes to connect to it right Um, in what we called a full message peering manner. Um. And what will happen is if you're trying to connect to a peer that has already reached its maximum of twelve full message peers, it will give you an indication that it's unable to accommodate you. And what you would try and do is you would try and use various of this out of band methods to try and find other piers to connected. And in some way this becomes trial and error until you find it, but if you have enough randomization M it's likely to work up. Um, what also happens then is which gets added and makes it way more complex, is even though you might not receive the full message from these peers, Um, they might still send you some information about which messages they have seen. So piers gossip, and this is where the gossip and gossips up comes from. Um Gossip about which messages they have seen. Um, too much more than just these twelve peers that they sent all the messages to. Right, and also in a randomized manner, so that you can kind of like build this probabilistic model that everyone else starts seeing. Um, if there are certain parts of the network they're not well connected, right and piers will then try and create connections to these areas. Of the network, Um, that they have determined with this kind of Like Gossiping method, that they don't have strong connection to Um. If, if that makes sense, it's someone like I see someone of like a self healing way of trying to maintain a specific amount of connectivity throughout a peer to peer network. Exactly exactly. It's not I wouldn't say it works flawless, but it works surprisingly well. Um and and it's really neat to see these these peers Um self organized, because there's some other challenges then, in terms of this it implies that be as a as I said, candas cover each other and be that they that they're able to participate fully in this these kinds of exchange. Um. Yeah, we have a problem, for example, with browser based Piers, Um, in that it's not easy, it's not impossible, but it's not easy to accept incoming connections on a browser. Right, if you're running up peer inside a browser, it's it's difficult to to receive incoming connections. Um. And then these piers become less useful in the network because people might even discover them but they can't really create connections to them. Um. And this model relies on the fact that piers can discover each other and make strong connections in a Bi Directional then I think I missed the reasoning why it's difficult to connect to some peers through the browser. Well, piers that reside in a browser, there's a limitation in terms of accepting new incoming connections on a browser. Right. I mean, I'm you'll...

...have to ask our javascript team, Um, the exact challenges they face there. Um, but this is one of the actual problems that we're struggling with. Um. So if you have piers that can create connections, you can create a connection pretty easily from an application that runs inside a browser. Um, but browser to browser connections are are are very difficult. Um. I mean there's some web transport, but I think that only works for crome to chrome. Um, you have web parties. See, that takes a long time to set up. Often Times, if you open P to p a client inside a browser, you don't want to wait for a long time for this to be set up. And yes, if piers can create outgoing connections but they cannot accept incoming connection, it means those peers who won't ever be able to really connect to each other, right, um. And that it's a problem that we have currently trying to solve. So, back in the day, like I remember people timing out when I was on I R C um. So, like, are you saying like those problems in terms of Um, piers losing connectivity or having trouble, you know, connecting, uh, two new piers to get into, you know, like chat rooms? That's a result of, I guess, some degree that you've chosen to go through. MM HMM. Yes, so I think what you're getting to is the fact that a per to peer network mostly now is an overlay over existing network. Right, Um, and uh, and has certain requirements on this underlying network interrastruction. So most to peer networks now is basically over the Internet. Right, Um, you have an IP address that you do connect using these protocols, Um, and any of the limitations which you have on that level. Um, kind of like bubbles up to the player. Choose your pipes. Wise, like juicial pipes. Wise. Yeah, I remember, you know, a long time ago it used to be I could run a bitcoin client on like anything really, and then and then, you know, as these new networks came out, Um, it's like, Oh wow, I need to build a machine specifically to run a note for this network, because this is no longer something that can run on you know anything. The hardware constraints are are much higher and now no one in my house constream Netflix because my ext node is taking up all the Damas me, personally, I'm fine, but I think we need to get to it. That's the idea of of designing protocols now for scalability and for future proofing it by making sure it's it's useful for for multiple purposes. Um, yes, my, I'm confident that we're getting closer to that point. I definitely want to reiterate the one thing you said which I think is like is the holy Grail, and that is creating protocols that allowed people to join the network and not add burden to everyone else in the network that already exists. Coming up in part two of the network episode, we talked privacy and its applications in the network layer. Great Cut. I've always thought to do that. Yeah,.

In-Stream Audio Search

NEW

Search across all episodes within this podcast

Episodes (118)