A lot’s happening in the blockchain ecosystem. If you’ve been tracking what’s happening in this space, chances are you’ve heard of us. If not, now’s your chance to get up to speed!
Employing adept ninja like stealth techniques, we introduced ourselves to the ecosystem in mid-2019. We have since amassed a vibrant community and garnered support from notable figures. As we gear up for an exciting 2020, here’s a simple understanding of the Marlin Protocol and a birds eye view of what we’ve been up to so far.
The One Liner
Marlin delivers scalability, resiliency and decentralization at layer 0 by optimizing the networking architecture underneath blockchains.
Sounds cool, but what does that mean? First, some background to put things into perspective.
Blockchain technology is nothing short of a revolutionary decentralized system where nodes validate, share and preserve data. The mechanism through which nodes come to agreement on the data that is to be considered valid is called the consensus (layer 1). Just as humans need to communicate with one another to deliberate on a decision and then share the final decision with others, blockchains require layer 0 - networking (the copper/fibre links connecting computers across the world) to come to consensus on the state of the ledger - who paid whom how much and what they have remaining or in general, which user made what action at what time.
Communication amongst a large group of people is tough and error-prone. In the above picture, for whatever reason, Sam Sr, who was supposed to speak (or already spoke with only a few able to hear him) left along with Sam Jr who was communicating his replies to people who weren’t able to directly hear Sam Sr. This resulted in a few adversaries trying to falsify the message that Sam Sr intended to communicate. Elsewhere, Katy who was connected to Sam Jr didn’t receive word from him leaving everyone else relying on her clueless.
Similarly, in the picture above, when Jack hears about Simon’s agreement, he is clueless about which proposal Simon agreed to due to a difference in the order in which he heard the messages. Such issues, as can be understood, make decision-making slow and cumbersome in large groups. Unsurprisingly, societies resort to having a small group of people make decisions on one’s behalf (delegation in representative governments or through unilateral seizure of power in authoritarian governments).
Attentive readers might have realized that the scenario depicted above has an uncanny resemblance to how the web works today. Users communicate with a set of servers belonging to large multinational corporations. These servers, usually located in well-connected data-centers store data, run algorithms and make decisions on their users’ behalf. However, when attempting to create decentralized equivalents of such platforms, blockchains and web 3 apps face the same communication challenges as did primitive unorganized societies.
As a result, the network of current decentralized systems are incredibly inefficient by modern centralized standards. This in turn results in a low blockchain throughput, long finality times and suboptimal user experience. After all, no matter the capacity of the body, there’s a constraint on how much and how fast content can pass through the neck. In the blockchain’s case, the peer-to-peer (P2P) communication layer (layer 0) is a major bottleneck. (This is not to imply that the body in case of blockchains is huge either as state storage and compute capacity of day-to-day machines are limited as well.)
Indulge with us for a bit while we get a little technical. Keeping things at a very high level, most blockchains use a P2P communication mechanism known as gossip protocol to propagate, validate, order and come to consensus on a set of transactions, making them trustless. Gossip involves a node forwarding the block to its neighbours who in turn forward the block to their own neighbours in an ad-hoc manner not using the most efficient paths leading to several round-trips. Moreover, at every hop of the path, blocks are completely downloaded, verified for their validity (which may in turn require fetching some missing transactions that were included in the block but weren’t with the node) and only then forwarding them. Herein lies the problem.
Say for some blockchain, a block of size 2.3MB is generated every 10 minutes with transactions of size 300 bytes accommodating around 8000 transactions per block or 13 transactions per second. Increasing the size of the block by 10x would increase throughput to 130 transactions per second but also increase the time required to propagate it by 10x. This result comes from a study by Decker and Wattenhofer which found that the time that it takes for a block to propagate through the network is approximately linear in the size of the block.
Consequently, as honest nodes take a larger amount of time to receive the block, competing (innocent or malicious) validators might propose an alternate block during that interval at the same block height resulting in a higher orphan/fork rate or attacks similar to selfish mining. This incentivizes miners to co-locate in geographical proximity or coordinate better network connectivity amongst themselves disincentivizing miners not part of the coalition (note that its advantageous for the coalition to be optimally small to improve their profitability through the unfair advantage). Being a slippery slope, this ultimately risks centralizing the network, making it much more vulnerable to attacks with the only choice being forgoing higher throughput.
After all, there’s a cost to decentralization - additional security obtained by demanding a large set of non-cooperating nodes comes at the cost of throughput. Visa, Mastercard or Facebook, Snapchat like transaction speeds are not yet possible when using blockchains while maintaining decentralization and potentially would never be, leading some to believe that the blockchain is only useful for some limited purposes. However, the fear of this possibility has not stopped innovators from attempting to find new solutions to make scalable and secure web 3 applications a reality (we wouldn’t have Facebook and Snapchat today if engineers and researchers had listened to the naysayers telling them that the Internet won’t scale and is only good for email).
A host of layer 2 solutions like plasma and state channels attempt to avoid the verification of each transaction on the blockchain for as long as possible. ZK Rollups reduce the space and computation power consumed on the main chain. On the other hand, a number of layer 1 scaling solutions involve new kinds of consensus algorithms that either plug inefficiencies in existing algorithms or make more optimistic assumptions about the quality of nodes and the network. Each of these solutions tackle a unique problem in a unique way. Interestingly, however, they are all still restricted by the network layer.
While layer 2 solutions circumvent P2P propagation of messages, the rate at which these channels can be opened and disputes resolved are restricted by the capacity of the base layer they rely on for security. Layer 1 scaling solutions like sharding attempt to restrict the number of nodes participating in the validation of a transaction to a small subset called a shard. However, if the shard is big and distributed enough to be secure, it’s throughput is again limited by how fast the nodes within it can communicate. Yet other solutions like those using DAGs attempt to make the consensus process independent of bandwidth by not validating transactions sequentially but rather parallely. Such a solution does make the system throughput independent of networking bandwidth constraints, but the time to finality is still limited by networking latency!
The limitations of the network layer have been recognized earlier. In fact, Bitcoin core developer Matt Corallo designed the FIBRE protocol specifically for this purpose. However, networks running the FIBRE protocol are centralized, preventing blockchain developers from leveraging the better networking offered through FIBRE for increasing the throughput of blockchains.
Enter Marlin Protocol
Two roads diverged in a wood, and I— I took the one less traveled by, And that has made all the difference.
- The Road Not Taken, Robert Frost
The path less taken comes with its own set of challenges. For an industry that’s a little over a decade old, things keep moving pretty quickly with pivots based on the changes in the environment, new findings from research and competitive advantages. Marlin is no exception and we’re not the type to shy away from a challenge either.
Focusing on the networking layer, we are redesigning communication in decentralized networks by introducing a unique economic incentivization model. The outcome is a blockchain agnostic plug-and-play solution that allows nodes to communicate faster and transfer a greater amount of data in a shorter time span, increasing transaction throughput.
Our complementary rather than competitor centric approach allows us to integrate seamlessly with not only layer 1 but also layer 2 solutions, providing them with a scaling factor multiple times over their projected performance standards.
Most importantly, our protocol is compatible with all blockchains, irrespective of whether they follow Proof of Work (PoW), Proof of Stake (PoS) or any other consensus mechanism, and, without the need to create new chains or ecosystems. A truly one size fits all solution.
Trivia - Marlin is the fastest fish on the planet, reaching speeds of 129km per hour, unnoticed to all but a few; just like our network layer underneath blockchains, lending us our name Marlin Protocol.
The Bigger Picture
Our solutions aren’t restricted to transaction throughput alone. Decentralized applications (DApps) looking for faster P2P communication like DEXs (Decentralized Exchanges), streaming applications, cloud and storage systems, Internet of Things (IoT), gaming and social networks - basically, any use case that requires a networking component can leverage the Marlin Protocol. Moreover, an increasing number of applications are looking for network layer privacy - Dandelion++ for Grin, Kovri for Monero, anonymous messaging for Status etc. Marlin makes the creation of purpose-specific networks with customized routing rules ready to be deployed on a global scale easier than ever.
We’ve been busy. Busy BUIDLING. A lot has happened since the early days and our team continues to be fully focussed on the main task at hand - building our core technology which could very well change the fundamentals on what was earlier thought impossible or rather, overlooked.
It’s no secret that most of our community support is a result of the team getting their heads down and building an exciting product.
We’ve been churning out a lot of technical updates over these past few months, continuously chipping and sculpting away as the protocol takes shape. No doubt, blockchain events/meetups/hackathons globally are a great way to showcase ourselves and there’s a fair bit of anticipation as we continue to tease the community at every event we’re present.
These events have also given us the opportunity to meet with other blockchain projects in the ecosystem leading to several constructive conversations.
What’s next?
The curtain rises slowly as Marlin Protocol gears up for our inevitable unveiling - sooner than you think.
If you’re as excited as we are, make sure you’re following us closely on all our social media channels. Be sure to check out our revamped website, our whitepaper and, if you’re feeling daring, our preliminary specs. Don’t worry! We’re on discourse to answer any technical queries you might have :)