Blockchain Distribution Network with Aleksandar Kuzmanovic
Cryptocurrencies are not very usable today. The main use cases for cryptocurrencies today are store of value (somewhat like gold) and speculation. One reason that the use cases are so narrow is the problem of scalability. Cryptocurrencies have several scalability bottlenecks.
Think about the Internet in 1994. The consumer sitting at home with a dial-up modem was bottlenecked on bandwidth between their home and the broader network. The physical network connections between our homes and Internet company servers were much lower bandwidth than we have today. The servers at companies such as AOL were slow and expensive.
The Internet scalability problems were incrementally solved, one by one. Different solutions to different scalability problems emerged in an iterative, frothy process. Then, all of a sudden, you are sitting on an airplane watching YouTube videos on a smartphone.
Watching YouTube videos on a smartphone would have sounded unbelievable to someone in 1994, much like sending someone a penny across the Internet is unbelievable today. If you want to send a penny across the world today, you will probably have to pay several dollars worth of transaction costs.
Someday, you will be able to use cryptocurrency to send 1 penny to someone in another continent halfway around the world. The transaction fee you pay will be a fraction of a penny. This removal of financial friction due to transaction costs will change global economics.
What stands between modern cryptocurrencies and that beautiful future world of micropayments? A large set of scalability problems, similar to the scalability problems of the consumer Internet in 1994. In today’s show, we focus on one particular issue of scalability: block propagation time.
Cryptocurrency transactions are verified by miners. On the Bitcoin blockchain, a set of transactions gets verified roughly every 10 minutes. These transactions represent a “block” on the blockchain. The miner who solves the cryptographic puzzle associated with the transactions in that block receives payment in the form of a block reward and the transaction fees that are associated with those transactions.
When you issue a transaction to the Bitcoin network, your transaction sits in the mempool, a list of pending transactions that have not been confirmed by the mining process yet. Miners around the world are simultaneously competing with each other to find a solution to a pending set of transactions sitting in this mempool. When a miner includes your transaction in a block, and the miner discovers a solution to that block, your transaction will probably be accepted into the blockchain.
The reason that your transaction is not guaranteed to be accepted is due to a time period known as “block propagation time”. Block propagation time is the time it takes for a confirmed block of transactions to make its way through a blockchain network. If two blocks are solved at nearly the same time by different miners, the winner of the current block reward will be the miner whose block manages to propagate through the network the fastest.
BloxRoute Labs is a company that is developing a blockchain distribution network (BDN). Much like a CDN pushes media files out to the edges of the web to make them faster to access, a BDN pushes out information to miners in the network. Of course, this means that the BDN could potentially be centralized infrastructure. In order to make the BDN effectively decentralized and trustworthy, BloxRoute claims to have a provably trustable network protocol, to go with its token-based incentive system that keeps its goals aligned with that of the larger blockchain world.
Aleksander Kuzmanovic is the founder of BloxRoute Labs, as well as a professor of computer science at Northwestern University. His co-founders of BloxRoute include former guests of the show Emin Gun Sirer and Soumya Basu. The BloxRoute founders have a strong theoretical background and a great reputation in the cryptocurrency community, unlike the vast majority of founders who have issued a token.
As we have heard in previous episodes, most of the founders of companies that issue tokens cannot give a good explanation for why their protocol needs a token. Tokens are a great idea that have mostly been applied as a mechanism to get rich quickly. However, BloxRoute has a credible explanation for their token, and I asked some very pointed questions to Aleksander in today’s episode to try to vet the project for legitimacy, and his reasoning made sense.
Transcript provided by We Edit Podcasts. Software Engineering Daily listeners can go to weeditpodcasts.com/sed to get 20% off the first two months of audio editing and transcription services. Thanks to We Edit Podcasts for partnering with SE Daily. Please click here to view this show’s transcript.
Jaspersoft offers embeddable reports, dashboards, and data visualizations that developers love. Give users intuitive access to data in the ideal place for them to take action—within your application. To check out Jaspersoft, go to softwareengineeringdaily.com/jaspersoft and find out how easy it is to embed reporting and analytics into your application.
Mesosphere’s Kubernetes-as-a-service provides single-click Kubernetes deployment with simple management, security features, and high availability to make your Kubernetes deployment easy. To find out how Mesosphere Kubernetes-as-a-Service can help you easily deploy Kubernetes, check out softwareengineeringdaily.com/mesosphere today.
Gremlin provides resilience as a service, using chaos engineering techniques pioneered at Netflix and Amazon. Prepare your team for disaster by proactively testing failure scenarios. Check out Gremlin and get a free demo by going to gremlin.com/sedaily.
Azure Container Service simplifies the deployment, management and operations of Kubernetes. Check out the Azure Container Service at aka.ms/sedaily.