#248 Uri Klarman: bloXroute – Layer-0 Scaling with the Blockchain Distribution Network

15 Aug 2018 · 1:20:23

Epicenter's hosts talk with Uri Klarman, CEO of bloXroute, about the Blockchain Distribution Network, a layer-0 scaling approach that treats block propagation speed, not consensus or layer-2 design, as blockchain's core throughput bottleneck. Klarman explains how a content-distribution-style network can dramatically speed up how quickly blocks reach miners and validators, how the system stays provably neutral despite relying on centralized infrastructure, and the incentive design behind the BLXR token.

Speakers

Topics

Transcript

[Music] this episode of epicenter is brought to you by shape-shift oh the easiest fastest and most secure way to swap your digital assets don't run the risk of leaving your funds on a centralized exchange visit shapeshifter IO to get started hi welcome to epicenter the show which talks about the technologies projects and startups driving decentralization and the global blockchain revolution my name is the best thank you Jeff and I'm Mohan Roy today our episode is

themed around blocks route clocks route is building a blockchain distribution network which will allow miners and other validators to communicate blocks much faster to each other thereby increasing the scalability of current blockchain networks on our show is Judy Klarman who is the CEO and co-founder of blocks route labs Yuri welcome on the show and is there Matt thank you for having me cool so we are gonna dive into what you're building it's a very cool project blocks route but prior to that we are interested in knowing your background and how you came to be interested in the blockchain industry so my at heart before being encrypted I am a networking

guy okay computer networks I'm now finishing up my PhD of your networks at Northwestern University and I was kind of lucky to stumble into the crypto space through a research project that we have we built a project and we did one thing with it and another and eventually just because it made sense from it was a cool project we created and you cryptocurrency with rather than Ewing computational power we were using networking resources so it has nothing to do with blocks rod what we kinda like started to move into this field so that's kind of how I stumbled into this area and so your PhD was at the Northwestern University so they technically is because I haven't done my

dissertation defense yet I don't want that so but but by the time this like this broadcast maybe it will say okay when I look at the list of co-founders in this project it this project seems to have a strong Cornell flavor so how is it that like presumably you worked a lot of your time in northwestern and with the community there how did you get to be involved with the cornell community with this idea then and we realize in a few minutes uhm the scalability problem is actually a networking problem we've got us very excited about it you start to come up with ideas how to do that but

the starting point of blocks route is the Falcon Network created by Soumya Basu at Cornell and professor a meteor so we immediately we got together so my whole co-founders so myself professor Ammann Dozier jr. Basu and Professor Alex whose mana Beach was a net neutrality expert and we sat down we started like exploring this and we realized we need all our strengths to make this happen so it said ok we came in as a or started this okay anything that needs doing require like one of us will have to do so goons expertise in crypto is almost unmatched by anybody else we

needed that to me as it's two guys the guy who actually built factor so taking that and taking the idea from there and building blocks trail he had the expertise for that we brought in the net neutrality expertise and collect the vision for that so let's count it became a northwestern slash Bernal project of course I mean we've had goon on the show quite a few times to talk about topics around scalability but also in the wake of the DAO and the writing that he did around that time so on on topic of scalability could you describe it the way that you see it what you mentioned that it was a networking problem and that's kind of a unique way to put it

how do you describe the scalability issue in blockchain sure that's like one of my best pastime to talk with people about the scalability problem so there's literally almost nothing I like doing is talking about this so everybody are talking about the scalability problem right everybody in this space Oh Bitcoin is doing three transaction per second well credit card companies combined or doing something like 5,000 transactions per second and if you want to do all the really cool stuff off on blockchain if you want to do micro transactions that's 50 to 70 thousand transactions per second if you want to do Robbo chains write autonomous swarm Road words like IOT devices

communicating trust asleep that's another of 50 70,000 transaction per second and the heaviest lifting is like Twitter on the blockchain thanks we're gonna block to these kind of stuff if each active Facebook user would do just four likes per day that's 200,000 transactions per second okay so the volumes are everybody knows that three transactions per second are nowhere close to what we need but the question why can't we just increase it as we'd like isn't getting enough attention so let's talk about it for a second if you want to do more transaction per second well let's do the math for a second the reason you're doing three transactions per second in

Bitcoin is because the average transaction size is 540 bytes and if you think about them each one megabyte block has room for something like 1,900 transactions so 1,900 transactions every 10 minutes that's something like 3.3 transaction per second you want more transaction per second that's easy increase the block size by a factor of ten from one right - 10 megabyte and immediately you move from 3 to 30 transaction per second or the other thing you could do is rather than having a block every 10 minutes you could have it every one minute right you'll get the same 10x improvement right the result is going to be the same I'll explain in a bit why is

that so let's talk about block size just because it's easier to imagine so if you increase the block size by a factor of 10 the good news are that you've got you just increase the through route of transaction per second by 10 right from 3 to 30 but now every time I know to receive the block or let's say you reminder you mind a new block and you have to send it to one of your peers now you have to send 10 megabytes rather than one megabyte that's going to take you in the best case scenario ten times longer right I ignore congestion I ignore topology but you're going to send 10 megabytes rather than one megabyte you're going to take you ten times long

and the total time it takes for a block to reach the entire network and for the entire network to think about a new block being mined increases by the same factor a factor of 10 now why is that crucial why is that so important because that block propagation time the time it takes for the entire system to think about the new block that is the only time in which Forks happen naturally right a fork can only happen if I mind a new law despite a new block already mined right another one was mined but they didn't hear about it in time it's still being propagated so I mined a

block next week and I have a fork if I've heard about that other block I wouldn't mind on top of it so this block propagation time is really the window of opportunity for Forks to happen that's the time that it can happen and if you increase that by a factor of 10 you're going to see roughly 10 times more Forks so that's annoying okay that's like you'll have to wait ten confirmations to be same to get the same uncertainty are six confirmation that you get today but the system still works however if you try to increase it by another or if manager hey this is the important part if you try to increase by

another order of magnitude from ten megabytes to a hundred megabytes at that point the block propagation time the time it takes for their entire system to sync this window of opportunity becomes so long it exceeds the ten minutes interval between blocks okay that means you're going to see a fork pretty much every time a new block is mine and what happened to the blocking then he's rather than having a fork and converge back to a single blockchain every so often you'll have it for it and then for akka forests and forks a fork supports and the blockchain kinda like unravels like a rope into more and more Forks and

nobody knows what is the truth work anymore nobody knows which fork to follow and the consensus break the blockchain rate this is the scalability problem this is the reason why you can't do arbitrary large blocks because you can do a weight larger but very fast okay 100 X is not very close to the capacity that we need right 300 frames a second it's nothing very fast you're going to reach that point where the blockchain came truck can handle all of that and that is kind of weird because it's a networking problem okay this is sending data between different nodes and in reality said not like out there the

non crypto space in reality we already know how to send a lot of data right YouTube sends terabytes of data through hundreds of millions of people all around the world and nobody blinks an eye right we know how to do that Akamai solve it in 96 okay and what we want to do is bring these networking techniques into the world into the crypto space into the blockchain for you guys of course like when you look back at this particular issue this issue has appeared in a lot of academic papers in the past right so I I think it appeared in a paper from ETH Zurich for the first time which is when they

defined a network propagation time which is like if I am the miner and I generate a block and I propagate it for the first time right now I start a timer how much time does it take for 80% of the network to have the block in full and they measured this this sort of network propagation time for different networks and sort of this network propagation time is ultimately what constraints how many how big a block can get because as blocks get bigger it takes a lot of it takes more and more time for it to propagate across the network but the funny thing is the funny thing is or three things first of all the funny

thing is that nobody liked the understanding right the explanation why long propagation time causes Forks and how is that relate to scalability that's a fairly simple explanation right you don't need to be technical to understand it you don't have there's like oh that kind of makes sense and it always bothers me or surprises me that nothing that people are talking about it because everybody in this face them I understand where is the bottleneck right the networking glare is about me and if you understand the bomb link then you can try to solve it if you're just going to say oh there is a problem but you don't identify exactly what needs to be solved is going to be very hard to solve so that's number one number two I was talking about Bitcoin okay but this is

true for all objects okay I'm talking about media and being high the golden standard all right we all know how Bitcoin works harmony is doing a different thing has cash graph is doing a third thing okay it's going to be harder for to explain for each one of them about that but it's kinda like it's an the easiest example but it's true for every blockchain out there so that's the second thing I had a third thing oh I promise to say why he doesn't matter if you increase the block size whether or reduce the time between box and the reason it doesn't matter which parameter you play with is that the probability for a fork to happen is something like 1 minus e to the power of

blah blah blah but it really depends on the ratio between the block propagation time but we know opportunity and the time between blocks the ten minutes interval so it doesn't matter if you increase the one by a factor of 10 or reduce the other by a factor of 10 the result is the same if you increase through good by 10x you're going to see 10x more forms so that was about if you look at back across the history of Bitcoin people have been aware of this issue and I remember that in two thousand thirteen or fourteen Matt Corallo and his associates created what is called the Bitcoin relay network like a fast relay network which is a network

that connects all of the miners and and wants to get blocks from one miner quickly propagated to the other blocks reduce the propagation time and therefore improve with Bitcoin scalability so I would argue there okay so Matt Carillo did build the first relay Network then Falcon was built and then the first really network was replaced I think current fourth generation is fiber or something but their goal was not scalability surprisingly enough because it really helps with that their goal was and it's a good goal with to say Oh large night large mining operations have the ability

to invest in infrastructure and networking infrastructure so they send blocks faster and receive block faster and are therefore more profitable and they wanted to eat small miners on par with the larger operation so this is why they built the relay networks in the relay networks a really helped with that they make become like level the ground but they also really reduce the block propagation time which is really the bottleneck so they're doing an excellent job about it this is the reason the existence of fiber and Falcon so every drug out there both in between and between cash currently being sent it's both the reason that they are the reason

why today if you go to the statistics about blocked era about Bitcoin you'll see the average time it takes for a block to meet everyone Ursa is something like ten seconds now this is surprising because in 2014 or so it was 30 to 50 seconds and that was for half size of blocks right so the you would expect today for a lot to propagate to take a minute or so but the reason is that that it doesn't happen is because these relay networks really help with that but it's kind of funny because nobody talked what is the bottleneck of the scalability problem nobody even considered that as a scalability solution that wasn't their goal when they were built you mentioned

that existing projects don't address scalability as a networking problem do you really think that's accurate given that for example something like lightning Network aims to increase transaction throughput by creating essentially like a network that Allah allows you to send transactions at a faster throughput you you think that perhaps they're not being they're not addressing the networking problem directly of it because it is assumed that it's a networking problem everybody is sort of aware that of course if you increase transaction if you increase the block size well you're going to run into networking constraints so I will say in the following some of the technical people understand that it's a networking problem but a surprisingly small number

of them ok I speak with very very professional people who I'd like to I think highly of who are it some things are way better than I am and then when I talk with him about this topic they're like oh I didn't consider it that way because nobody was actually trying to find what is the bottleneck and how we can kind of like resolve it in it and expand it so that's on that in the context of lightning then if you want more transaction per second you can do one of three things you can try to build on top of the blocking okay which could be like the secondary solution you could build lightening on top of Bitcoin or you can try to and say for every one on chain transaction I'm going to do X off

chain transaction which is great ok it's hard is a complicated hard problem which is the reason we take so long for people to work on that it's not something that can be easily done second thing that they can try to do is to work on the first layer ok trying to change what the blockchain is doing if you think if you see and we just take like am litecoin traitor right let's do faster block or larger blocks or change something in that but the networking there is actually underneath the bottom okay it's the AT&T and the Comcast they it's the Internet Service Providers it's a BGP protocol that everybody can like assume it's in black boxes you can't do

anything about it not a lot of people Lightning Network isn't trying to solve in networking problem it tries to do something else which is hard it might be worth doing but it's not that nobodies the networking they're good always called it like the Forgotten layer nobody did nobody touches it and I think the reason for that is because the crypto space is filled with crypto experts and system designers etc but very very few networking people reach this face so in your view have other attempts to scale blockchain address the problem of networking or is blocks throughout the very first project to address it miss we are the very first project to come try to address that and

our idea unlike many of the other project you can see they're like we're not a project we're a company what we do we're not trying to do our own blockchain we're not trying to do that we're not here to compete with anyone we're not trying to become the world cash out there we are enablers our job is to come to cryptocurrencies say Oh guys you know what we got this we saw the networking problem you do your own thing you focus on what you do I just remove that bottleneck so your crypto or your blockchain if you want to do a hundred times larger blocks you can't you want to have them coming at ten times faster intervals now you can okay I'm solving that for you I'm solving that for everyone and you guys

cannot compete and you guys try to focus on what you do rather than trying to solve the entire stack by yourself okay so let's bring it bring it back then two blocks rev can you can you expand on what is blocks route and where's the vision here what does this seek to do so blocks route isn't locking distribution map okay its goal is to enable other block chains and other cryptocurrencies to scale that's we do we bring the networking technology to financial information and blockchain so others can focus on what they do best okay consensus doing cool stuff using block chains and we solve the bottleneck for them we remove the scalability

bottleneck so they can actually do all the things they dream up to now the way blocks start works is the following let's assume that you guys are running and aetherium don't ok then I come to you and I say don't change anything in what you do don't change your protocol don't change your implementation don't do anything in you but I'm going to give you a small piece of open source code that's your magic gateway take this code and if you're a node or you were a miner run this code on the same machine but you run your note and if your node is connected to this sphere and the sphere and the sphere connect to that magic gateway connected just like any other

peer it's a friendly neighbor of here it's a peer that sits on the same machine as your note and every time you mine a new block you send it to all your peers including the magic gateway who send it to everybody else and that magic gateway like any other peer will tell you about blocks from the outside the only difference is that that tragic gateway is going to do a thousand times faster work in sending blocks through the rest of the network and receiving blocks from other so you don't need a consensus to start using box routes no you don't need everybody to agree on that I'm actually going to go to miners and ask them oh do you want to use that it's for free it's open source you don't

have to ever ever ever pay for that and that is going to broadcast blocks for you faster and tells you about blocks faster now if the real miners specifically they want to or all miners but a theory of mine is specifically because of the uncle the high and low rate they want to hear about blocks faster ok they they want their blocks to be Center everybody else faster because that reduces their chance for event for their block to turn into an angle and a higher chance of being the real lot so for them it's a no brainer it's money in the pocket I'm giving them much something completely for free and offering if you use this I'm just improving your network rather than use AT&T or Comcast or whoever it

is your ISP I'm offering you this thing which does a thousand times faster job and he's also provably neutral okay we are neutral which Comcast and AT&T and the rest of them are are not and not only are not they're literally I'm filtering and giving different priorities to different packets depending on their own policies for them to make money okay so let's let's maybe recap that once again so as a node or a minor or any any type of node on the network but specifically miners I guess would have more of an incentive to use this I I connect to a series of peers on the network so I have a discovery service

and I discover all the peers that are close to me that I can connect to and to which I send blocks and from which I receive blocks I install the software on my on my system I point my my node to this system as though it was just another aetherium node on the network and this node will sort of magically well it would it will transmit data to to the network and we'll get to like how it does that in a more efficient and faster way and a few minutes and I receive information from this node so I receive blocks as well from this network from this from this magic node and the assumption is that there are other magic nodes on this network to which other

etherium miners are connecting to and they're sending information to each other at a very high throughput so it's sort of like a virtual private network of of etherium notes that are that are sending is doing some kind of optimization and sending blocks to one another very very fast and then the notes themselves are receiving that data with that with the same speed benefit right so so so a you right okay so the idea is that we provide this for everyone and the more nodes that use that they're more valuable in us okay so there is a strong network effect but even for the first light because we

bootstrap it connected using just regular nodes to make sure that everything propagates fast and it tells about to end any tears fast about box then if you're even the first miner to join in like oh do I want to use this so what's the cost is cost you nothing right but if I use this and I send box to that it is being sent from that magic gateway through the blocks route BD and the blockchain distribution network which broadcasts these data to everybody else to all the other magic gateways in the world so you it's always a choice for you do you want to reduce your block propagation time do you want to hear about rocks faster if so you can use

this now unlike VPNs out there we have no control or talk about the new trial team a second we don't have control oh this guy gets it fast this guy get it slow um this guy is allowed to connect that guy is not allowed to connect etc I personally run a validator for the cosmos Network and I can actually understand the product and feel the user need for it so so for some context like we've been trying out different data centers to see where to locate our server and the way it works in cosmos is the validator needs to sign on every

block so in in Bitcoin you mind the block you you VIN right like and that's like once every let's say thousand blocks but cosmos is different you have you as a validator have to sign on each block and if you miss blocks and you don't sign on them then you're going to lose out on transaction fee revenue right right so for example we have done some experiments in in at least three data centers and one of the data centers we lose 1% of the blocks like we're trailing the network in some way and you're not able to sign them and in a different data center we lose only 0.2% and like there's a high incentive to switch to that data center we're only

losing 0.2% and the difference is that this data center with the least loss rate it's in England so this probably likes some geographical reason why that particular data center when we run the evaluator there we lose the least amount of blocks so the way I think of it is like blocks blocks route is this software that if I install on these servers it will reduce my the number of blocks I lose from 1% down to let's say 0.1% because it is able to transmit the data much quicker I'll add to that and it may be worse start by talking about

ok how blocks at work but it's not about so it's going to reduce that percent on battery but I'll say something further than that if you cosmos sort of scale by a factor of ten or a hundred or a thousand that percent is going to go up by a lot ok that's not going to be 1 percent I don't want to I want to throw a number that I can and behind it but is going to grow by a lot because as it turns into high volumes of traffic that has to be sent around the globe you have a lot of ugly stuff pouring in and congestion topology messages overhead a bunch of stuff the idea is for water to help you exactly with that so I'm clear on where on which I'm datacenter you're sitting on I'm

going to make sure that the data is sent to you all the way to the machine that you're running on the wreck exactly where you sit instead of getting lost somewhere along the way because well not network is complicated or real world is dirty so that's that's fair so so until now we have like sort of described blocks route as this black black box system as a validator I just download this open source software and run it in parallel to the remaining or validation process and then this black black box is going to propagate my information and give me information faster then I would through other means let us peer into this black box how how does it exactly

work perfect so how does it work it's actually not simple to to understand so the idea is the following let's go to again you have a cosmos validator and so I give you is that small piece of open source code the magic gateway and whenever you mind let's say you've signed a transaction or sign lock you gave it to the magic gate what happens that well the magic gateway he receives the block and then he send it to blocks routes and network let the bdn and network of world very well connected servers all around the world to broadcast it to everybody else but how

do they get an improvement of a thousand X from so first of all when your magic gateway receives the block then rather than send the entire block internally to everybody else then internally we represent each transaction in the block with a short ID so rather than have 500 bytes to represent a transaction we represent that with three bytes IDs so we take your lock and we shrink it okay so rather than say this transaction that transaction itself where we say for section five transaction seventeenth transaction 2/3 so your magic gateway looks at the block map each transaction to ID and shrinks it by a factor of 100

internally only internally we propagate that which can we can do more than 100 times faster because it's a hundred times smaller piece of information and when you didn't reach when it reaches the other magic gateways out of there in the world each one of them map each ID back to the original transaction so they get the original lock and give it to the node on the machine that they see that and so the idea is that we reduce the amount of data that we need to propagate internally and we can do that internally because we are a single entity okay if that was done in a distributed way then just agreeing about how to map

transactions to IDs and how to prevent collision of transaction in IDs that's a very hard problem that's almost the reason that you have Bitcoin ok beetwen is used in order to create a consensus about a ledger of transactions so this is slightly different but to have a consensus about a mapping of transaction which always updates that's something very very hard to do in a decentralized way but in a centralized way by a single entity it's very easy to do so we get more than a hundred 2x improvement just by doing that a second thing that we do is rather than when your magic gateway shrinks the block and send it to block

route block loop doesn't receive the entire block and only then sends it in a store in forward model rather it streams it so as it receives the block from your magic you Gateway it broadcasts every stand all that data to everybody else so by the time your last packet arrives everything was already broadcasted and only that last packet has to be sent that adds additional sound between one two orders of magnitude so we tween these two things we get more than three orders factory we can actually do much better than that okay we can actually take the IDs and oh what if we do bloom filters of these IDs what if we

use IPL tees and loop filter but like we can get one or two orders of magnitude beyond that but honestly nobody needs it today so we're not doing it right now it's not right in our first version of that because it's a complicated thing which nobody needs today we prefer have something working and scaling block things by a factor of a thousand and show that it works so in terms of performance this is how we reach that thousand X we propagate smaller pieces of information and we stream them faster this episode is brought to you by shape-shift the world's leading trustless digital assets change quickly swap between dozens of leading

cryptocurrencies including Bitcoin ethers e cash gnosis manera golem or cur and so many more when you go to shape-shift dot IO you see if I select your currency pair give me receiving adders sent the coins and boom shape-shift is not your traditional crypto currency change you don't need to create an account you don't need to give them your personal information and they don't hold your coins so you are never at risk from a hacker or other malicious actor shape-shift has competitive rates and is even integrated in some of your favorite wallet apps like tracks so you can swap your digital assets directly within your wallet just as easily as putting on your slippers whenever you see that good-looking Fox you know

that's where shape-shift is so to get started visit shape-shift I owe and start trading and we'd like to thank shape-shift for their support of epicenter you mentioned these two things one is the streaming right which totally makes sense to me but the other thing is like the mapping of transactions to IDs and there I'm a little less clear is it the case that this 100x efficiency arrives because of the use of some kind of compression algorithm isn't real compression right when you think about compression you think about zip and shrine like oh let's take this data in Phi finite sequences which I can shrink and represent something else and what do you think

about the simplest thing that you could do okay the idea is that transactions propagate anyway so the core value of blocks route is to propagate blocks fast and but beyond that well we also propagate transactions why because we don't care about whenever we send the transaction through the magic gateway we also say oh that thing that I got just gave you that's transaction number five or that's reactor number three and when your magic age so all the magic gateway have a consistent mapping just a hash-table mapping this transaction is what this transaction is to this transaction is three etc we use just three bytes for that it says small address space that we

continue to reuse and when you're mad you are known deep the magic wait wait they block each maps a transaction the simplest really the simplest thing that you could take just like instead of putting the transaction say this is five does that answer come they clarifies that well what I'm I'm struggling to understand here is okay so III mine a block for instance and I want to propagate that block as quickly as possible to the entire network so that other miners can stop mining and start mining it a new block on top of this one so I use I use box route to send transaction IDs but let's take for example a blockchain where you've we've we've increased the block size by ten times because we want to have you know

more scalability and where you were leveraging blocks route to to increase the propagation time of this block I still as a miner at some point need to receive other blocks so that I can also verify the constants of the transaction and that the block changes is in fact there's integrity in the block this is where it's unclear to me so we send these transaction IDs but at some point we still need to sync up the network and everybody needs to have right right this is the entirety of the contents of launching so that is the following let's say you're a minor and Ameri is a different minor on the other side of the world you mind the new block

okay which has a bunch of transaction which you have received throughout the time you take that block and you give it to your magic tape your magic gateway takes that block and replace each transaction with a short ID okay three bytes so it shrinks it considerably and send it to block route blocks are streams that to everybody else so layer on the other side of the world he's magic gateway now received that tiny block that shrunk block which has a DC in it he received that and he mapped each ID back to the original transaction because everybody had a consistent mapping which ID transaction like like between transaction and IDs so he maps

mare's magic gateway Maps the IDS back the original transactions so he now holds the original block and then he gives it to the node or the miner that sits on the same machine okay so that mapping so that's that's where I'm missing a part of it the originals transaction sits with me as the miner who mined it how did that original transaction get to mayor and the other miners and how are those you know thousands of original transactions presuming that we're trying to expand Network throughput making it also to the other miners in sort of a fast way because more than 99.99 percent of the transactions were not how did you

receive that or were already received by everyone how did you as a miner generally speaking how did you receive these transaction somebody made transaction he sent it to some betwe no it propagated through the system and everybody in the system have heard about this transaction yes you might have your own transactions in it which nobody had seen before that is in my small minority of these transactions 99.99 percent of them were already seen by everybody else so everything that was seen by everybody else that although that's very simple to have that transaction so if we if let's say you put transact some transaction X

in your block well that transaction salmon some node saw that gave it to his peers including the magic gateway right so at some point it reaches our system our system receive that map that transaction X to ID 5 and broadcasting to all the magic gateways who now have that Engler mapping ok so the blocks trout is only transmitting the ids from mind blocks and once you receive it once you receive this as another miner so for example I transmit a block that I've mind i transmit it to this to this node the ids get sent to

the network mayor receives it and then he matches those IDs to transactions that he's receiving this mempool are in his transactions no no mas ok there are two components your node doesn't know any of it your node mine's a block give it to the magic gateway right magic gateway all magic gateways have seen almost all transactions up to this point and they map each transaction they have seen to a short ID ok so your magic a gateway takes the block and say oh I'll replace this transaction with transaction 17 and this transaction with transactions with the number 5 etc so they map each they

replace each transaction with the ID it goes through blocks route and all the way to meres magic gateway okay not he's not-- he's magic gateway mercy magic gate we have the same mapping as your magic gateway so he takes each of these IDs and map them to the original transaction Jason so after this process at the at Marist magic gateway he has now the original block right because all the transactions were mapped to IDs to be propagated and mapped back on the other side and so Maris magic gateway take that full block and give it to Mars node or miner

so with a miner he's known he doesn't know that somewhere in the middle it was propagated as transaction as transaction IDs or whatnot he sees just a regular block from his perspective only internally inside the blocks route system we propagate these shorter IDs essentially if you think of it like assume like assume right now is time zero and block 500 was created and and propagated and we are going to wonder about like what happens at block 501 and this is Bitcoin so users are sending streaming transactions they want to be included in

block 501 so these user transactions come to me I am one of the Bitcoin miners and these user transactions also come to you sebastián and you are one of the other Bitcoin miners so I have transactions and you have transactions and for the moment we you let's start with assuming that my set of unconfirmed user transactions is the same as your set of unconfirmed user transactions so we have the transactions already now let's say Sebastian you VIN and you create block 501 and block 501 contains a subset of the transactions that the user sent to you what then what you will do as a miner is you will send to your

blocks route gateway the normal block blocks route gateway will take the transactions convert them into a set of IDs which is a much smaller data set and then that set of ID's will be then transmitted to my hair's magic gateway and then my hairs a magic gateway we'll take that set of ID's and convert them back into user transactions that it has already heard and then it will create the original block and then send it to mesh Bitcoin miner okay now this is this is like what I assumed to be true so you match those transaction IDs to unconfirmed transactions that you've already heard of and these transactions

are being streamed in the network or being propagated and it worked much faster than entire blocks when they're being mined so we're solving that we're solving the problem that big blocks take long to propagate while transactions themselves propagated a much faster rate right and it's worth noting that if you have a 60 megabit per second link of bandwidth dancing that for summer between 15,000 and 30,000 transaction per second okay so it's not a bandwidth limitation you have no problem of receiving these transaction and high volumes that's the you're good on that okay the only thing is about when somebody minds

the block that block has to be sent to everybody else as fast as possible because during that time if is when force happen so that is to minimize that time of blocks being propagated so my question is like there are there are some block chains so in Bitcoin if you take a block as a miner all I need to know about is what transactions were part of that block but it's something like aetherium I need to know what transactions were part of that block but I also need to know an order of transactions so we we preserve that right there is then you receive the block and we should probably go over and

finish the description of blocks right because you guys got an unfair advantage over the listeners you got an early explanations well but to do to your point on ethereal then then we it there is an order of transaction we maintain that okay we take the transactions and we just replace them with your smaller representations so we don't need as many bytes who represent the transaction so we keep the order we didn't change that we just replace the entire transaction was saying five or forty seven okay oh cool so that that makes sense so essentially in some ways is it correct to say that you are building the Akamai

off of block chains because when I have the a different kind of problem which is let's say the u-tube problem I have a bunch of data and I need to stream it to my users and they're spread around the world I might end up using something like Akamai in order to reduce my bandwidth costs out here you're building the Akamai of blockchains but the difference is that you're building the system in a way that if I'm a miner I do not need to place trust in blocks route as the Akamai of toxins right so that we talk just about the performance which is half the story okay we say we send it

superfast but if your protocol let's say that your Bitcoin and you decided to increase the block size by a factor of a thousand well if your protocol depend on blocks out to succeed then what happens if I start to abuse that power okay what happened if I say oh you want your block sent please pay me a thousand dollars or that guy I really like him so I'll send your blocks faster to him and that guy I don't really like so he will get that only later the worst case scenario the like is the most that the worst of it all is what happens if I am even if you man I'm a nice person

what happened if law enforcement comes and tell me oh these wallets na n and addresses are suspected of terrorism acts you're not allowed to relay any transaction blocks we took a transaction to or from them if B if I'm in charge of making sure that blocks go everywhere I can actually reject some blocks I can do all sorts of evil stuff so for even performance is not enough we have to maintain neutrality okay and blocks out is provably neutral now how do you achieve that okay and that is important if we're not mutual you shouldn't be using us

okay then because it breaks the entire system well we achieve neutrality by preventing ourselves blocks route from knowing the content of the block where is it coming from and where is it going to and the way we achieve that is fairly simple so we spoke earlier let's say that you are a miner you mind a new blog and you gave that block to your magic cake well in order to prevent herself from knowing the content of the blog then your magic egg weight shrinks the block and then it encrypts it so rather than sending it directly to blocks route it encrypts the block and

send an encrypted block to everyone and only when your magic gateway here from his peers the other magic gateways that he's connected that they had received the encrypted block because magic gateway tell each other oh I received this encrypted block oh I received a secret only when your magic gateway will hear from his peers and they have received the encrypted block only then do you reveal the encryption key at that point it's already too late to do anything about it because it was already propagated so you take the encryption key you send it through blocks route and through the beer to be able to propagate as fast as possible to everyone so the content of the block is

revealed when it's too late we already sent it to everyone we can't pull it back so this is how we prevent herself from discriminating based on the content of the part of what's in it we just don't know we blindly serve everyone to prevent us from discriminating based on where the block is coming from then rather than your magic gateway sending the encrypted block directly to blocks right you can relate through a peer kinda like tor right you if you're in North Korea and we're legally not allowed to send data or receive data from North Korea you can send that data through your European no appear or your Australian tier or your American beer

and that beer is going to to relay then small and pretty block to us so we don't know where is it coming from we don't know what it contains and the thing with the receiving here rather than receive it directly from us you can ask your peer your magic gateway peer to relay it to you so you you we can't prevent ourselves from sending to you because you're going to get it from someone which we don't control so we intentionally hide from herself where is it coming from where is it going to and what it contains so we can't discriminate based on so you've built this blockchain distribution network and taking all of

these measures to remove trust out of the blockchain distribution network does there remain some element of trust that you are unable to remove so that's a great question okay it is really so so without any of these tricks that we do then everybody have to place their trust in us right anything if everybody has to place your trust in a centralized system in the middle of the blockchain what's the point of the blockchain right we can just keep the bank in the middle everybody trusted back to we do these techniques to prevent herself from being discriminating and censoring um based on source destination and content but there remains one problem that is solved the

indifferent what happened how do you prevent blocks trout from turning into a single point of failure right what happens if an meteorite comes and hits all blocks or observers and everything goes down we can't have all block should have to move from thousands of transactions per second to three transaction per second right that's just unacceptable so in order to prevent that or a different thing we're being completely shut down by the government or something like that you can't have that affecting the blockchain which are using blocks so this is the reason in order to solve that we actually open source everything that we do not only the magic two gateways our servers our

script to deploy our servers etc and we allow to deploy something called backup networks okay so let's say that you are a medium sized miner okay you're someone who has some stake in the system and you don't want to go back to three transaction per second you can take that code and you can deploy and backup Network now a backup network is exactly like blocks route but it's idle it doesn't send anything at any given time like it just sits there for that doomsday scenario so he doesn't cost you anything already costume like half a dollar per month and will actually pay you for that well thank you

that amount if you run back that's our intention so those who have state any stake at that and you could be just a medium-sized store that's that's enough if you have five dollars a year interest in blocks or that's enough for you to deploy such a thing so these backup networks are not controlled by us we don't have any say in what's happening and they're sitting there idle until in case something bad happened that doomsday started if that doomsday scenario ever have ever happened and it should never happen but if it does then your magic gateway well she knows about your backup networks and he actually

tells like magic and we tell each other which backup members are going to hop to so we our network goes down everybody can do it hot swap and move to a backup network that backup network provide you exactly the same service as block trapped it's not as cost-effective but you can use that you can use that for a short period of time but if this was just a temporary failure and we came back online or you can use it for a year or two years if we were shut down and you want to replace blocks or for something else you have a solution it's good enough to keep you running for the medium term until you decide what do you want to replace blocks work with but will never leave you high and dry right will never go away

and you leave you stuck without anything like oh I just lost all my feel so this is interesting you say I mean we haven't really talked about your business model yet but I presume there is a business model and there is a way for blocks throughout the company to make money from from the service and maybe this is a good time to get into that but by offering this service is open source and allowing people to do backup networks it opens up block start to competition and competing networks that you could perhaps price lower or offer the service with better performance so could you address those two so what is your business model and how would you address this this problem sure

so so it's a good point to make and and to explain why it it's not the case let's talk about blocks Trappists okay so blocks route he is provably neutral hey we enable scalability for everyone but we can't charge anyone directly to use bat-ropes I can't charge you guys the $5 per month subscription to use blocks right because I can't prevent you from using blocks route if you don't pay right I'm provably neutral I can't stop anyone from using clutter and if I could then you shouldn't use me at all because I'm not trivial to you so in order to allow some block block cut create this common good okay it gives a thousand times

scalability for everyone but if you can't charge anyone direct so the business model we built around that is a bit similar to Bitcoin it's about aligning the incentives they we make blocks are converge to this win-win-win scenario where everyone are super happy about blocks part and it goes like this blocks out increases the transaction per second by more than a factor of a thousand so users those making the transactions can pay hundred times smaller fees so users are happy that's the first way they get stop cent transaction fees they paid a hundred times smaller amount miners on their end

each transaction is a hundred times smaller but there are more than a thousand times more transaction per second so they make in total more than ten times the amount of the fees that they were making without lakhs right so that's kind of like the second week right so users are happy they tailor it miners are happy because they get a total of more fees in for black strap the third win we allow users when they make a transaction they can pay a fraction of that small hundred times smaller mining fee they can pay two blocks throughout if they want to now why would they want to this is not a donation based model they can choose to

think blocks are a fraction of the mining fee because blocks are created this fee reduction service if you pay a smaller distraction of the mine easy to block route miners would require a smaller fee from you from you in total okay so rather than a half a cent you can pay a quarter of a separate rather than pay a cent you pay half a cent now why would miners require a smaller fee from you why they require less incentive because the miners know that we add all these capacity for free but we also add additional capacity to transactions that do pay blocks wrapped

in the more transaction that paid to block throughout a miner include the more addition so not only does that not come and compete with and with regular ngon paying to block the transactions but also we increase the amount of throughput they're not a family that they can use for transactions that don't pay to larger so to recap miners they do the regular thing that they can choose but if you paint blocks out they can see your transaction say oh that doesn't compete with the other transactions I have almost infinite capacity for these cap transactions and furthermore the more of these transactions that they put in the block the more bandwidth and more

scalability I get for transactions that don't pay larger so the miner is going to require a smaller incentive to include these kind of transactions so he's going to require a smaller fee we don't enforce any of it we can't force none of it but because miners know we enable further capacity for them then we reach this win-win-win scenario you never have to bail us out but if you will pay locked out then miners would require a smaller fee from you so it's an option if you want to reduce your fees so in this blocks or future zoom I am the miner right and I have I have a memory right so let's

assume that mempool consists of so I have 1,000 transactions that do not pay anything two blocks north I received one thousand transactions that paid something two blocks route but on an average have a lower miner fee for myself right let's say the 1,000 transactions that did not be blocked out have a average fee of 20 cents the the transactions that that are paying blocks around blocks are out have an average fee of 10 cents and there's thousands of thousand of this type and thousand of this time right so now I have let's let's think I have like three choices

three main choices any choice one might be okay I create a block with these 1000 transactions that did not play blocks or anything choice 2 is I create a block with these 1000 transactions all of them playing to paying two blocks route and choice three is I create an average I'd like so five hundred or five hundred nine blocks out paying transactions and five hundred blocks wrote pain transactions so I disagree on that that's not your three options I think you have this memo and you're a minor so you always speak the transaction that paid the highest fee per byte right then you sort them that's what you do today right and this is how you choose them if you had infinite capacity you'll just put all of them

right you don't have to pick and choose as long as he's paid the most minut amount that it's worth it for you to include in the book you will include that the single Satoshi okay so that's what you do you always try to maximize how much money you're making so all of their regular transaction that they two blocks route then you know that like oh I'm going to cleave those transaction according to their order not but so these about these transactions and you have some limitation let's say a thousand decks are further of the of the current megabyte block when you see these kind of transactions you could like oh do I want it pays less fee why would I include it there

right why would I why would I include it when I can put a transaction that pays more money well you can include that transaction because it will allow you to include rather than a thousand transactions of non-paying to Proctor now you could include a thousand in one okay or a thousand and ten so the more transactions that you include that to do pay blocks out the more bandwidth the larger the blocks that you can send through blocks and now comes the question oh but what's the limiting factor like at what point do I starts to have to me include transactions that pay to blocks out in order to increase that capacity even further let's say in case one I create a transact create a block

and all transactions play to blocks it out the propagation time for that block is going to be let's say X X might be I don't know five seconds it's very quick but if I five-second is not okay quicker like a second like what I mean is like my block block propagating to 80% of the network so let's say it's two seconds now had I created a block in which none of the transactions were to pay two blocks it out then the propagation time would have been five seconds instead of two seconds is it like that it doesn't work like that the idea is the following let's say what happened if you don't let's say you just

create a giant block which doesn't include transaction per transaction that a two blocks are okay then you create a ninja a really giant beyond what blocks or rocks or tells you I can give you a hundred transactions per second okay I give you that that's for free you don't need to pay blocks throughout any transaction B's nothing like that we can give you that for free just enjoy that what what happens so you created blah which matches 100 transact second you send it to block start it reaches everybody else everybody are happy everything is good now what happened if you try to create a larger block beyond what we tell you that we can with that we can provide you with without paying

blocks right well if you do these kind of transit you'd make a giant block you shrink it you encrypt it you send it to blocks from it's being sent to everybody else we can't do anything about right we don't know what you're sending but the other magic gateways the other your magic gateway appears when they receive that block they see oh that doesn't follow the rules it's too big for us to support it without starting to be paying to pay block strap so they will reject such a block not as we can do anything but the magic gateway is controlled by the miners and note they they will reject such a block now if you

follow the rules and say oh this is the amount of transaction I can do without playing paint watch out and if you want to do more you can include transactions that pay to block throughout and so you have any incentive to include them and you can have more trim even further capacity transactions that don't pay to block so you as a miner like oh if I could only include more transactions that pay two blocks route I could do even larger blocks so you include these kind of transactions you create a block you encrypt it you shrink it you send it through blocks route as a magic receive it and then they do Oh is it following the rules right it is it more larger than the hundred transaction per second

yes but is it following the rules that we increase the capacity based on the number of transaction that paid to block sir then it's fine and something will give that block instead of dropping it they will give it to the known that sit next to it so I presume that there is an assumption where in order for miners to be happy with smaller transaction fees but more transaction there needs to be higher throughput of the network and more usage of the network so this seems to be sort of a chicken-and-egg problem here where for miners to have for matters to be happier with lower transaction fees by higher transactions we need to have more users using it to make payments for example how do you how do you address this and like what do you work where you

think transaction demand will come from so the idea we have already seen what happened to demand demand increases increases increased and increased until it reaches the capacity you could see that with Bitcoin core right original Bitcoin it increases and then it stops because the capacity recent selfies fees go up our job is not to try to get traction that's the job of the different cryptos and the different project we remove the scalability problem and I say oh we allow me you can do that if you want to go ahead compete there are something like 2,000 cryptos out there go ahead and try to compete in getting traction

if miraculously I mean we we just increase transaction throughput on Bitcoin by a factor of thousands more you wouldn't have liked a thousand times more people using Bitcoin to pay for coffee there are the applications yet built there like the idea about the win-win-win scenario is what is the endgame how everybody are happy about the blocks out going forward and we reach these capacities etc at the beginning it's an even easier choice we provide blocks route for free for everyone so if you want to do a hundred transaction per second I allow you to do that today and it cost you nothing I charge you nothing so in going back to your question about

reaching that Oh will users get smaller fees will they get higher fees that's a job of the different cryptocurrency they should go out there and try to get real value for real people in the real world and gets traction that we're not trying to solve all the problem of crypto Calico yeah well we're doing our own blockchain and we create our own cryptocurrency and we do all that we remove the scalability problem right I allow your tryptophan scale it's your job to scale it if you want so so essentially like blocks route is it's like in the business of capacity right and like transactions that that pay to blocks it out will be offered

higher capacity when the miners broadcast to each other and presumably what will end up happening is blocks throughout the organization will get a small slice of transaction fees in different tokens happening on different networks so Bitcoin users pay a blocks route in Bitcoin Bitcoin cash in Bitcoin cash cosmos in atoms and like your company ends up collecting like these these tokens what's the plan from there what what are you going to use these tokens for and is there some plan to get a community around blocks route on on board with this plan first of all it's important to say we don't have any until

to Jordan the scalability as I explained it up otherwise you don't need a token to use block so you don't need any we don't need none of that but if blocks is going to provide this fee reduction service and is going to be paid by everyone or who want to or not by pay by everyone if blocker is going to be paid going those who wish to use the fee reduction service then it kind of like has a problem that we want everybody to be happy about ROC sure we don't want to be considered the leechers the rent seekers right so I don't feel bad because we increase the capacity we increase kill ability by a factor of a thousand and we

keep 99.9 percent of the value that we create to users and miners by reducing their fees and increasing their total collecting but if we're collecting even a fraction of the mining fee through this service with that we allow and if we make a lot of money out of that then people would resent us people would think of were rent seekers and leaders and that is a problem for us because as we said at the beginning it's all about incentives it should be a win-win-win scenario where everybody are very happy about Blachford existence so in order to over come this problem we understood that if we have money coming from the crypto ecosystem to Laura it has to pull back to the crypto ecosystem so these tiny

tiny payments that we're getting and we're thinking like 5% of a cent per transaction tiny payments in this fee reduction service what we want what we're going to do is they these payments only half of them 50% go to block strapped for the operation for the development for the company like going for the tip and 50% go to the reserve the reserve is just a giant pile of crypto of these payments going here that payments go in and never out and we're going to issue a security token they called vlx are four blocks right so we issue a capped amount let's say a hundred to be annex ours and if one of one of these be annex ours is

yours then one percent of the reserve is yours you can always take to give your be like starting the reserve and get 1% of the Monaro or 1% of the etherium 1% of the be whatever in there 1% of that is yours the remaining 99% will belong to the other 99 tokens yours will burn and go out of circulation so they're unaffected if somebody's cashing out so the idea is we want people who or we allow for those who want to invest in blocks route and get a portion of these future payments going in the in the future if we allow people from the echo crypt of ecosystem to investing that and be a part of that

so more people out there in the echo space are happy about blocks are ok the idea is to make sure that it's not money just pouring to us it's money that circulates throughout the crypt of ecosystem so we want to keep everyone happy we don't want to be people what people call the leaders and the red seekers so we move from that position now an interesting thing about the BLX ours is that the more payments go in there the more HP lxr is worth and it actually acts as a crypto index okay it has all sorts of Krypton which are scaling use using blocks routes and needs to automatically adjust toward the creep des which is used the most right

if etherium becomes the most dominant crypto then the most payment small magnets of etherium will go to the reserve and the index will tilt toward that if one arrow becomes or as the cache becomes the next dominant thing then them then the index for turn tilt towards that and even if they do crypto that doesn't exist today he comes to tomorrow nobody can buy it today but that becomes the most dominant crypto then small payments of this new cryptical starts growing into the reserve and it will tilt over to that Praetorians into the integral tilt over that crypto did that make sense for you guys for sure this is a very interesting model right so I think it's the first

time I mean that people have been talking about like having crypto indexes for a long time but I think like the value of designed a token is very unique because a first of all it's a security token if you're you're accepting up front that it's a security token which means the eventual value of this token is going to rely on your and your co-founder and your team's managerial efforts right it's not meant to be a currency it's not meant to be a utility token right so it's it's probably one of the first security tokens itself from a like purely crypto blockchain project and then secondly

there is a very unique model of bootstrapping value into this security token I'm actually curious what kind of legal implications this tokens structure ends up having so here's here's what we're doing right rather than do this thing were where we try to play this game by creating something and try to persuade the SEC that it's a utility token and not to security we're coming after others saying like we're following the rules we're playing it as straight as possible this is an investment in blocks trap if you want part of these future payments of that and it's worth

mentioning the reason that were afraid of people calling us liters that rents the curse is because if you do the math we expect to get very very small payments ah it's per transaction 5% of the set but if you think that we can we we when when we help one medium-sized crypto let's say not the end game not the hundreds thousands the 30,000 transaction per second if you do the math of five percent of a cent times 30,000 transaction per second Thanks 31 million seconds per year let's end up being four hundred and sixty million dollars per year in revenues with very low costs if we're talking about our end

game 200-300 thousand transaction per second we're talking about billions of dollars per year in revenue so it's it's a real thing and these at these price at these like volumes and size of money people would resent us we have to make sure that that's that doesn't happen because we're not the bad guy here right we create all these value we capture a tiny fraction of it but we must make sure that optics are okay we don't want people can resent us about what we do so this is how we built and so this is an investment in black robe if you believe in blotter it is phew it's just a security so we're already in touch with the SEC we follow all the regulations we have top lawyers

so ampatrick Merck and the coulee team they are the experts about crypto we follow the law to the letter we're really really playing it as safe as possible rather than try to avoid them regulation so can you talk about how this token will be distributed so our idea is to sell we want to sell enough okay we want to sell enough in the first round so enough people will have an incentive about blocks right so we're going currently that's not our focus currently what we're doing is we're building the technology and and we're trying to get to show how blocks that

works and and and could get traction with your terms but somewhere towards the end of a year or so we're going to do a toga sale which we plan to sell a significant portion of these of these tokens okay and we're so what is the current state of development are you rebuilding the technology at the moment or what what parts of the of the bdn have you have you we also have and when will that be released so we actually already have the blockchain distribution working what we're doing right now we took the Bitcoin unlimited codebase okay we do to them because their

codebase is more efficient than others and but we want to show how we take a crypto network and we deploy it a large one and we see how many transactions you can do without black shirt and show how much it can do with blocks so our idea is to show that in the coming few weeks version one of blocks route should would probably go out either in queue for this year or q1 2019 and just another word about Bitcoin unlimited so the beacon and limited guys we don't have any special integration with them so in other word regarding v2 an unlimited we don't have any special integration with them but beacon and limited went ahead and said they have

their Giga block testing they try to see how many transaction per second they can push and they found that the beat going codebase actually have a bottleneck of taking transactions and putting them in the temple it's done in a single threat so that max out at 100 transaction per second so Andrew stone from between limit took that and allowed to do that in parallel so to put transactions into the memo on numerous threads which allowed to scale by a lot so we choose their code base and we're now deploying a large script or network to show not to argue that block backwards but to show how okay great well thanks so much for

coming on your it was really interesting to learn about blocks route and and it is it is a bit of a complex architecture to sort of wrap your head around but I think that I think that we were able to unwrap it and unravel it in a way that well our listeners to understand how this works and how it's beneficial to the ecosystem as a whole so we'll look forward to seeing how this how this plays out in the coming months as you start releasing parts of this new architecture thank you for having it was a real pleasure and thank you to his listeners for tuning in you can find new episodes of epicentre every week on

YouTube iTunes SoundCloud or wherever you get your podcasts of course you can follow us on Twitter and if you're looking to support the show you can do that by leaving us an iTunes review we always love to hear new reviews or senior reviews rather and also it helps people find the show thanks so much and we look forward to being back [Music] [Music]