Interview with BloXroute Chief System Architect Alex Kuzmanovic
Media: Decentralize Me Podcast
ArcBlock Podcast Interview with BloXroute Chief System Architect Aleks Kuzmanovic and the new Blockchain Distribution Network
Thanks for listening to this episode of Decentralized Me, a podcast with a global perspective on the companies, technologies, and people making the decentralized Internet a reality. Now your hosts, Matt McKinney, and Jean Chen.
Matt: Aleks, great to meet you. I’m Matt from ArcBlock and we have my good friend and colleague Jean Chen joining us as well. What I was hoping to do actually just to kick it off and to help us get a little more understanding of BloXroute is maybe give us an introduction to BloXroute and the current state of the project.
Aleks: Yes. So basically BloXroute was founded by my former student Uri Klarman, who is now our CEO and I'm a professor of computer science at Northwestern University. Both Uri and I are computer networking researchers originally. And what that means if we come from this place of Internet protocols, Internet efficiency, content distribution networks and stuff like that. And the first time that I saw the blockchain scalability problem, I realized it's a computer networking problem and so Uri and I teamed up. We started building something at the university but pretty soon we figured out that we don't have enough resources. So this is how we ended up connecting to some people at Cornell - Professor Emin Gun Sirer from Cornell and his Ph.D. student Soumya, who was building at the time a relay network and then we teamed up with them.
We became a group of four, raised money from venture capitalists and we built a team that now has around 25 people. The headquarter is in Chicago near Northwestern University. We do have a very strong team in Israel given that Uri and our COO Eyal are both Israeli. We have a really, really strong team over there. I call them our special forces because whenever there is a hard thing to be done that they are the ones to solve those problems. And so the company was originally founded in 2017 and we have grown to a team of 25.
Matt: I had another question in mind, but I'm curious as to what so far for you guys has been the biggest challenge? For example, what's the one or two challenges that you all have run into that you could share with everyone as your team grew and money was raised - something that was maybe a bit of a surprise or a bit more challenging than expected?
Aleks: So at a very high level, the hardest part for any startup is to start doing anything. I think that's the biggest hurdle for any startup. And so for us, particularly in academia, people often build a prototype or do something small and then eventually nothing may pan out. So for us stepping up from being a university project to a real company was, I think, the biggest challenge for us to overcome. And then if I would have to provide some more concrete details, I would suggest that building with a distributed team can be challenging.
I mean bugs, problems of all sorts are coming at you. And so if there isn't some strategic and organized way to combat them, you can easily fall back and don't do anything. Right? And so this has been my experience, which is you always feel that you are making progress and the progress is being made, but on a daily basis, you get pulled back to, hey, this doesn't work. That doesn't work and in the end, It's a marathon that needs to be won. To do that you have to have a lot of patience and a lot of goodwill and a great team to actually deliver.
Matt: Definitely. It's a bit of managing the day to day to achieve the long term objective. So as a follow-up to my question earlier, what's been the one or two biggest hurdles that BloXroute has had to overcome specifically as you've moved from your idea into production?
Aleks: The biggest hurdle for us was to actually change the mindset. Because typically... I mean in Grad school the mindset is different. The mindset is, oh, let me get enough data so I can write a paper. So it works. It does at least something. Actually building a service that works for the people out there, and people are going to complain if it doesn't work, it's a whole different ball game. And so for us, I think the critical moment was when we hired Eyal. Eyal is experienced... He has over 25 years of industry experience. So if I can send a message to anybody listening out there who wants to do stuff, their project, I think we need to bring in more industry people with experience because having those people around, when you run into problems, can greatly help solve your pain points because they have done it before.
And so those who have the experience to solve those low-level technical problems, having somebody like that is essential. For us, it was actually creating this industry-level structure of our company, which would be that we have set up meetings every day at 10:00 AM. We have various vivid communication among ourselves. Problems are solved in real-time. And so I think having this industry level of mindset is really essential. For us at least it was, so this is how I would frame it.
Matt: So, how do you define the scalability bottleneck? Why does that actually matter?
Aleks: Typically when people talk about blockchains, of course, it comes from Bitcoin - we need the electronic cash for the Internet and stuff like that and that is all fine. However, the big issue with blockchains and the way it works is scalability. What that means is the number of transactions that blockchain can support is fairly limited. There are different versions of blockchains, there are new technologies coming into space, but in reality, the issue is that once there is a technological barrier to actually pushing the number of transactions per second on-chain, that creates a limitation that needs to be solved. So, why do we need scalability? I think it's for the end-users because the more scale there is, the smaller the fees are going to be, the faster the services and transactions and so on.
However, when there is sufficient scale, this is really when the fees can significantly be reduced and this is really the space that inspires me. This is why I have this. This is one of the reasons why I came into space because it opens the space for these super cool applications that everybody is talking about, micropayments and many smart contracts and many, many other things. To me, as a networking researcher, when I looked at this, I said, "Okay, blockchain scalability problem is fundamentally a computer networking problem." Why would that be the case? It might be because I'm biased, but let me try to explain why that's not the case. Because the end of the game, and basically the goal for all the blockchain systems is to put all these distributed nodes, which are trying to put transactions in order, on the same page.
So if you can send data between those nodes so quickly and so efficiently, so that they can all be on the same page, then that will be a solution to the scalability problem because then all of them would be on the same page. An example I often give to people is assuming there is no network and assume all of those nodes are next to each other and they can talk to each other at the highest possible speed. So if you imagined such a scenario, then, in theory, it would be very easy to put them on the same page and to have some consensus among them.
Now with all that being said, it's not just about speed, like how many bits per second, it's really about doing things smartly and basically having a smart network underneath blockchains. It can help solve this bottleneck problem. So I hope I will dive into details down the road, but in general, this is my thinking about blockchains and networks.
Matt: In our industry, as you know, we hear a lot about side chain, sharding, layer one vs. layer two, so for BloXroute, why layer zero? Why is that the solution to solving the problem of the scalability bottleneck?
Aleks: Let me first say that it's an important part of the puzzle, let me put it that way. Then I want to explain why it needs to be necessary. People are doing different things, layer one sharding for example. I've seen some very, very promising work and theories. For example, there are layer two projects where people say, "Hey, let's not do things on-chain. Let's put things off-chain." And there are indeed cases where this is very helpful. However, independent of all of this, our argument and the reason why I'm talking to you now is that there is a huge potential in boosting up all these other solutions by adding another at least 1000 X to the TPS rate that you can get with these other solutions.
It's multiplicative to whatever you get at the sharding level or at the layer two level. So basically why not use that solution as well? Our thinking is as the industry moves on and as the blockchains move on, as more and more transactions are going to be needed, a layer zero solution is going to be necessary because you're going to have more and more transactions being done on-chain. So this is where we see layer zero as a very, very nice solution. I think if you really want to move the blockchains to the mainstream, we really are gonna need to boost up the TPS rates and layer zero is going to be an essential part of that puzzle.
Matt: What does a BDN typed service do for an individual company or as a user and what's the real benefit?
Aleks: Yes. Let me just dive a little bit technical in how we adjust things and then you'll figure it out. So consider nodes of any blockchain system. Basically what a BDN does is that we provide two types of nodes. One is we provide a gateway software to a blockchain node. Gateway software is a piece of code that lives at that particular blockchain node. And on one side it speaks the native blockchain language to the blockchain node. On the other hand, it speaks the BloXroute language because the other types of nodes that it lives in our network are so-called the relay nodes or content distribution nodes that help propagate data through the Internet much quicker.
So the way that BloXroute BDN works is that we have this gateway software and a blockchain node that first translates the types of information that come from the blockchain into the BDN. And at the second level, what it does, it is doing a block compression. It is capable of significantly reducing the block size so that it can be then sent more efficiently through the blockchain distribution network (BDN). So in short, the gateway software help connects blockchain nodes to the BDN and the BDN itself helps propagate data much more quickly through the network. So the end-user sees and the entire blockchain system sees a significant boost in the transaction per second rate that a particular blockchain can support.
Matt: So one of the key features that we hear a lot about within the blockchain industry and even crypto to some extent, is the concept of decentralization. I'm wondering how BloXroute maintains decentralization for your users or for these users within the network?
Aleks: Yes. so one thing that is actually moving towards centralization is this idea of pooling, right? So you have mining pools for example. it actually helps everyone be capable of joining that system on a more equal basis. Because these big mining pools, they themselves already connect pretty strongly among themselves at a network level. So once you have a BDN, anyone who installs that gateway becomes pretty well connected to the rest of the world. So this is one of the scenarios where we are helping with the decentralization.
BloXroute helps ensure decentralization is maintained, as a BDN is audited very effectively by the decentralized peer-to-peer network. Basically what that means is that the peers themselves are capable of checking whether the BloXroute is providing the service that it needs to provide, such that the BDN is incapable of censoring data or giving preferences to some nodes over the others. Basically what we are giving the peer-to-peer network is the significance of power to audit this blockchain distribution network (BDN), such as they can be aware of the scenarios. If something goes wrong with a BDN, the blockchain nodes are first going to know about that. So this is a little bit different system from the classical direction where everybody was going by saying, "Oh, it must be 100% decentralized, a 100% conceptualized."
So, we do need a central component. However, let's make sure that this central component is made fully accountable and could be decentrally audited. If you have this, then you can achieve a level of decentralization and power that is required to make this work.
Matt: As a follow-up to decentralization does that play a key component in terms of any kind of DDoS protection? Or how does the BDN network help protect users and customers on the network?
Aleks: You are asking a great question. So whoever asked me this question, I realize that they understand to a very good extent of what they're doing. So in order to be decentralized, we can't control who can join the network, who cannot join the network, right? Because if we can then it's no longer a blockchain system. That is something.
So given that anyone can join the system and moreover all the data coming into the network is encrypted, and we do this because we don't want to be in a position to be capable of understanding what the users are sending and what is in a block and stuff like that, so number one, anyone can send any data to us. Number two, the data is encrypted, we are unable to see what is the content of a particular block. Given these two circumstances, the natural question that you're just asking me is how do we prevent against DDoS attacks? Basically, to do this we have a system that is more or less piggybacking on the existing DDoS protection systems deployed by blockchains. What does that mean? So for a miner to generate the block they have to invest, consider just for now a proof of work (PoW).
That particular node must invest some power and basically be in the competition by producing the right node so that it can generate the right block. However, once it sends this information to us, we simply here to serve it blindly. However, after we figure out who has sent a real block, we are capable of understanding who the real miners are in the system. We can actually reserve some level of resources for those who actually proved themselves in the past to be real miners and real generators of valid blocks. So that the system can still operate pretty well despite potential issues where someone run malicious nodes that are sending us a lot of data. We can do a similar thing for proof of stake. So at a high level, we are piggybacking on the existing blockchain to prevent BDN from malicious behavior.
Matt: You’ve led me to the next question and I wanted to know how BloXroute handles different types of consensus - you've mentioned proof of work, proof of stake (PoS), are there any fundamental differences in terms of how you do that?
Aleks: Initially, when we looked at the problem, we weren't necessarily working on Proof of Work. But then we started, at some point, we realized that there is fundamentally no difference with the different types of consensus. Why is that? Because in any blockchain system what needs to happen is that transactions need to be made. They need to be distributed to the blockchain nodes. And then the blockchain nodes, in whichever way is going to be either proof of work or proof of stake, will be kept to generate the blocks and send those to the rest of the world. More or less at a high level, this is the same work regardless of consensus protocol. And let me just quickly just explain what it is.
Once the transactions are sent to the system, BloXroute catches all transactions. Moreover, they also provide a short ID to these transactions. So for example, if that transaction, in the real world it is 500 bytes long, what we do is we create an identifier which is like a 4 bytes long identifier, which is a completely local thing done by BloXroute. o once a block comes independently regardless of whether it comes from, the proof of work or proof of stake or any other consensus level protocol, what happens at our gateways is that they take this original transaction and replace that with a short identifier. They are capable of significantly reducing the size of data that needs to be sent among these blockchain nodes. And in case you've never launched a blockchain network, or a blockchain ecosystem, this helps significantly. So this feature, which is very basic and very simple, yet is very powerful.
So basically this is the service that we are providing and it works great independently of the type of consensus that you have, whether it's POW, POS or something else.
Matt: I feel fortunate that we're talking here at the end of July and I saw that you guys just recently completed your first Bitcoin Cash mining tests. And I was curious if you could just tell us a little bit about the results. What actually took place and was it a success? Concerns? How did it go?
Aleks: Yeah. so we chose Bitcoin Cash because from early on we knew that they support large blocks. This is why we did our experiments on their test network. There we were capable of generating huge blocks of millions of transactions that cost nothing and we can send large thirty two megabytes blocks all around the world. And so that was a really great playing field for us because obviously the larger the block is, the more our services become valued. And so this is why we were doing this. And so in short, they're super excited with the results that we had.
And it particularly helps with the Bitcoin Cash in such a system that already had some competing features of their own such as compact blocks. However, the real value that we bring is that we put all these different miners in sync and we put them in sync by streaming all these transactions to all these miners in a very strategic way. So this alone is a big help. And our propagation of data to our BDN, which would be the blocks, also helps them. The details are available online but in general, we saw a particularly big boost in China because the Internet is behaving differently. And of course, because there is a lot of interesting things happened on the network level. However, we were capable of dramatically improve performance - I think by 50 times or something - which we find very valuable because there are so many miners in China,but they still need to be connected to the rest of the world. This is number one.
Matt: I think one of the unique things about BloXroute, of course, is you're not just Bitcoin Cash. Do you have similar expectations around the Ethereum network as well and supporting ETH? Can you share any kind of expectations based on the results of Bitcoin Cash that you're going into your next tests?
Aleks: Yes, we are hopeful that things are going to pan out well, but of course, there are some important differences. So with Ethereum, we are going to go to the mainnet. We really want to show that in the real world it's possible to push things forward and to create value for the miners and everyone else. Ethereum is a little bit of a different kind of beast. Let's say their blocks are much smaller but they happen more frequently. So this is one difference. Another difference is that there are no compact blocks. So we are hopeful that our internal computing and compression techniques can help scale them up significantly and actually boost up their performance. And we really have some good collaborations with a lot of leading Ethereum mining pools. So let's see how that goes. We're hoping it's going to go well, but we are sure that we're going to learn a lot from that as well.o we'll see how that goes.
Matt: What's an expected timeline to release your services to the public?
Aleks: So for Bitcoin Cash and Ethereum, the first version of our system, the source code is going to be shared pretty soon with the public. In the first version, we're going to first share this with the mining community that we are testing with, so that they have access to all the source codes and everything else. However, in order for people to trust us and to run our code, they have to have access to it. So we're planning on releasing our code in September 2019 but would suggest that based on the fact that we have another testing preparing to go live. We may need some time to make some adjustments to our product.So Q4 of this year is a likely target.
Matt: In terms of the mining communities and partners, are you able to share any partners who have already committed to the BloXroute, the BDN, that you'd be able to share with us?
Aleks: So basically on the mining pool side, I would say that it's hard to find one that is not our partner. We are seeing a lot of excitement in the mining pool community. And on the other hand, we are of course talking to a large number of blockchain systems because putting a particular blockchain onto our BDN requires some work, basically building the gateway that will be compatible with our system and so on. And so we have talked to a large number of projects, more than 30 or 40, I would definitely say, and so while our intention is to support every possible project out there, we, of course, don't have enough developers to support that right away.
I think it’s the first time in my life that I realized that being a venture capitalist is actually not as easy as I thought. I thought that we'd be like, oh, I have a lot of money, so now I'm gonna throw this money around and something will pan out. But this is really a position wherein we need to be careful of looking at who do we want to support? Not because we don't wish them well, but because if they are not successful down the road then our investment, in terms of the work that we provide, is not going to be a match. And so basically we are looking at the projects that we hope and believe are going to be successful down the road.
So more or less we are now in that phase, but pretty soon I think we are going to announce the next group of blockchain projects that we believe in this space. and that we are going to partner with and move on towards building this future we all believe in.
Matt: I just want to say on behalf of all of us, thanks for your time and thanks for the opportunity to obviously learn more about BloXroute.
Aleks: Thank you.