header-langage
简体中文
English
Tiếng Việt
Scan to Download the APP
Partnered With:

Marlin: The Scalable Way of Layer 0

Read this article in 30 Minutes
What will the scalability of Layer 0 bring to blockchains such as Ethereum?
Original title: "Marlin: Layer 0 Scalability"

Original source: Blue Fox Notes


I have talked about the scalability of the public chain many times before, but most of the time I discussed the scalability of Layer 1 and Layer 2, such as sharding, Plasma, ZK Rollup, Optimistic Rollups, state channels, side chains, etc. Today, Blue Fox Notes focuses on Layer 0.


What does scalability through Layer 0 bring to blockchains like Ethereum?


Layer 0 and scalability


Nodes are the foundation of the blockchain network. Nodes record transactions, participate in validation, propose blocks, earn rewards, and more. To reach a consensus, these nodes need to maintain consistency, availability, and communicate with each other. The amount of communication time between nodes has a substantial impact on the scalability of the blockchain.


Layer 0 is the communication layer for passing information between nodes. The way information is structured is directly related to the efficiency with which consensus can be reached. The speed at which consensus is reached is related to the scalability and security of the blockchain. From this perspective, Layer 0 can also contribute to improving the scalability of the blockchain.


The difference between the blockchain network and the centralized network is that the blockchain network does not require permission, and it must consider the restrictions from the Internet itself. If it is a centralized enterprise, private lines can be used to improve network performance through CDN and SD-WANs, etc. For a decentralized network, this is not realistic.


In addition, in today's encryption incentive system, there is a competitive relationship between mining nodes. After a miner shares a mined block with its neighbors, the neighbors have an incentive not to propagate the block further, as it would gain some advantage. In other words, such an incentive mechanism not only fails to motivate some nodes to accelerate the dissemination of their known information, but also has the possibility of delaying the dissemination of information. It's also bad for scalability and security.


So, is there any chance to solve the above problems?


Layer 0 of Marlin


Marlin is a marlin and is said to be the fastest swimmer in the world fish. Marlin is the communication layer that serves the blockchain. It hopes that under its promotion, the speed of the blockchain network will become faster and faster, just like marlin. Marlin hopes to contribute its own solution to the development of blockchain scalability through Layer 0.


Layer 0 can also expand? Interpretation of Marlin relay network and token incentives

Marlin is said to be the fastest swimming fish, Marlin.pro


In order to improve the TPS of the blockchain, generally speaking, from the perspective of the chain, there are two methods, one is to increase the block capacity, one It is to shorten the block generation time (horizontal sharding is not considered here).


If the large block method is used, the node will take longer to verify the received information, which will delay the speed of block broadcasting; if the block is shortened Block time, increasing the rate of block generation, will face the fork problem, one of the reasons is also restricted by the speed of block propagation. In order to increase the speed of block generation, it is necessary to accelerate the propagation of blocks. The current block propagation speed is not conducive to increasing the block generation speed. When people modify the block size of Bitcoin from the 1M upper limit to 32M or even 2G, or shorten the block generation time from about 10 minutes to a shorter time, it does improve scalability, but it brings bigger problems , For example, the whole node is offline, the data cannot be synchronized, and even the block needs to be reorganized. Once the block is too large and the block generation time is too fast, there will be problems with the consistency or availability of the network. One of the most important reasons is that the full node is limited by the physical conditions of the network and hardware, and cannot verify and broadcast in time.


And this is what Marlin as Layer 0 is trying to solve. It tries to find the fastest block propagation speed solution under the current physical conditions, so as to improve scalability and alleviate the communication delay troubles of the Layer 1 public chain. In the solution of the Marlin protocol, there are two cores, one is the relay network and the other is the economic incentive mechanism.


In the Marlin network, there are nodes specially used for relaying, called Marlin Nodes. Nodes transmit information to each other, which can speed up the propagation speed. Marlin borrows CDN acceleration technology and divides the network, so there are many relay networks.


Currently, the network layer is not conducive to decentralization protocols. At present, in the mechanism design of some protocols, because of competition, miners have the motivation to relay their blocks and Receive the latest blocks, but they have little incentive to actively propagate blocks mined by other miners, who hope to dig blocks first. Nodes expect other nodes to broadcast and hitchhike themselves, saving bandwidth costs. At the same time, this mechanism will also lead to centralization, because in the end, only those large nodes have the incentive to forward these transactions. In order to solve problems such as selfish mining, Marlin incorporates a mechanism of economic incentives. Nodes in its network can get rewards as long as they successfully relay information, thus encouraging the rate of information transmission. By introducing a network layer with an incentive mechanism, attacks such as spam/DDoS can also be prevented.


In addition to providing scalability for the public chain, Marlin can also provide accelerated services for DeFi applications. Siddhartha is the founder of Marlin and the former core of the public chain project Zilliqa One of the developers. He once mentioned: "For example, in the DeFi field, Marlin's relay framework can provide peripheral interfaces, which provide DeFi traders with low-latency advantages. In the early stages of DApp, when querying APIs such as Infura, Alchemy, and Graph, loading The time is often as high as 10 seconds, which is very slow. Marlin Cache can reduce this latency to about 250 milliseconds, which can achieve web2.0-like performance in DApps.”


All P2P applications use the network layer for node communication, which leads to any application that uses decentralized storage or computing can also take advantage of Marlin's services. For example, applications currently using IPFS have to use a centralized CDN to help users improve performance. The advantage of Marlin is that it allows these applications using Filecoin/Arweave to achieve good performance even without a CDN. From this perspective, Marlin is similar to Akamai in the Web 2 era.


Layer 0 Scalability of Marlin


Marlin solves the public chain on Layer 0 The core of the scalability problem stems from its design in two aspects: the relay network and the token incentive mechanism.


Relay Network


The Marlin protocol is a protocol for building a relay network. Marlin nodes following its protocol requirements form a relay network. In addition to Marlin nodes, there are auditor nodes, which ensure that relay nodes and the relay network adhere to their performance and SLA guarantees. Users of the Marlin network can have miners and full nodes. Miners use the Marlin relay network to broadcast their data packets and blocks, while full nodes (wallets or merchants, etc.) use the Marlin network to receive the latest transactions and blocks. Therefore, the Marlin network is essentially a market for relay networks.


Layer 0 can also expand? Interpretation of Marlin relay network and token incentives

Main participant of the Marlin Network, Marlin.pro< /blockquote>


In the diagram above, Marlin divides its participants into producers, receivers, relayers, and relay clusters (relay network). Where producers are a group of nodes that introduce blocks into the relay network. Producers are usually miners, and they broadcast blocks as quickly as possible. Producers are responsible for block validity, and producers who introduce invalid blocks will be penalized.


Receivers include other miners, exchanges, wallets, block explorers or other nodes, etc., and they want to receive blocks as soon as possible. Recipients need to pay a subscription fee to the protocol to become a recipient. Relayers are groups of nodes that relay blocks from producers to recipients. Relayers will be rewarded for disseminating blocks as quickly as possible, and only those nodes that participate in the relay dissemination of blocks have the opportunity to earn rewards. A relayer cluster is a set of relay networks composed of relayers. They are collectively responsible for propagating blocks and are rewarded for doing so.


Going further, how is the Marlin protocol network structured?


Marlin networks can be divided into four parts: creation, management, packet broadcasting, and monitoring.


Create


Marlin network is composed of many Marlin nodes, if you want to become a Marlin node , first you need to run the Marlin relay node software, and you need to pledge a certain amount of tokens, which will be mentioned below. These nodes need to meet certain requirements, such as good network connection, location distribution closer to end users, etc.


After becoming a Marlin node, the node and relay network can show their own features, functions and prices to their target users (such as miners and full nodes), including IP address, median bandwidth, longitude, latitude, public key corresponding to pledged tokens, etc. And miners and full nodes can choose the relay network according to their needs. This forms a trading market.


Nodes can create a relay cluster, set the maximum number of nodes allowed to join, the maximum and minimum number of nodes to join according to geographical location, the minimum pledge amount of nodes, the node Minimum configuration requirements (bandwidth, CPU cores, etc.), minimum SLA requirements, etc. Once a Relay Network is created, it will automatically appear on the Marlin marketplace.


Management


After the node creates a relay network, it needs to be managed, including the node Joining, parameter adjustment, node exit, etc.


A node can join a relay network by being invited or applying to join. A node can be invited to participate in its relay network after a majority of votes agree, and the invited node can join as long as it publishes an invitation transaction before the invitation expires. Another way is to apply to join, if the majority vote agrees, you can join the relay network.


After a relay network is created, it is not static. Although the nodes in it will follow the initial parameters at the beginning. However, as subsequent nodes join, these nodes will also have the right to speak. According to changes in user needs and the competition environment of the relay network, the parameters of the relay network may also face adjustments. These all need to be changed through governance. Currently, the Marilin network uses voting to adjust parameters. If a minority of nodes disagree, they can choose to leave and create their own relay network.


Finally, a node needs to say hello when it exits a relay network. If a node quits a relay network without any notice, it will be very detrimental to the relay network and its users. In Marlin's relay network, if a node exits silently or exits early, the pledged tokens will be reduced. A node exiting the relay network can initiate an exit declaration transaction. If the relay network finds a replacement node, it allows that node to exit before its claim period ends. In addition, there is a forced exit mode, if the majority of nodes think that a node is misbehaving, it can also be kicked out of the relay network.


Data packet broadcast


Miners and merchants are users of Marlin relay network, they Just integrate the Marlin SDK to interact with Marlin nodes. In order to provide flexible services, Marlin adopts a modular structure. Protocol developers can write plug-ins to customize some functions, and can execute custom code on Marlin nodes and full nodes for their protocol-related data packets. For example, strategies for selecting different relay networks; random selection of relay networks when certain conditions are met, or a list of hard-coded relay networks.


When a miner generates a block, it can be sent to the relay network according to its own strategy. At this time, you may face the problem of paying fees (covering the block verification cost of the entry node), but paying fees will add additional delays. Another alternative is to require miners to pledge tokens to reduce the block verification at the first hop. If it is spam, penalties can be imposed.


Marlin's relay network is a mesh network with multicast paths optimized based on source. It will constantly monitor the packet loss rate, bandwidth and waiting time of different paths, so as to realize the multicast transmission of blocks in the shortest possible time.


In terms of receiving blocks and transactions, miners subscribe to neighboring Marlin relay nodes to receive notifications of new blocks and transactions. Whenever a Marlin node receives a new block, it sends its hash to all subscribers. Subscribers who receive new blocks and transactions pay a small fee. At the same time, in order to avoid additional delays, nodes can directly push to the whitelist miners, and pay later.


Monitoring


The Marlin protocol needs to fully understand the performance of the nodes, which provides a basis for subsequent rewards and punishments in accordance with. The monitoring operation is mainly implemented by the audit node.


These audit nodes are first of all anonymous, they look like ordinary miners or full nodes. The auditor network is independent of the relay network. In order to confirm whether a particular node is performing well, auditor nodes will vote through the Schelling point mechanism, thereby confirming whether these nodes meet their SLA obligations. If a node fails to meet the requirements, its pledged tokens are slashed.

In general, Marlin's relay network is created by a group of available Marlin nodes. After creation, the network needs to be managed smoothly so as not to affect the competitiveness of the relay network. Miners or full nodes subscribe to the relay network and randomly select the relay network to broadcast their blocks and transactions according to their needs, which can ensure that their blocks and transactions are broadcast to other subscribers in the shortest possible time. Finally, in order to ensure the continuous and good operation of the relay network, it is necessary to punish nodes that do not meet the requirements through a monitoring mechanism, thereby building a well-operating relay network.


Token Incentive Mechanism


The native token of Marlin network is POND, 1 million POND for MPOND. There are 10 billion POND tokens, which means there are 10,000 MPOND. Marlin's native token is the key to the continued operation of the Marlin network. Its tokens have many uses such as value media, governance, and pledge.


Layer 0 can also be expanded? Interpretation of Marlin relay network and token incentivesMarlin’s token flow, Marlin.pro


First POND It can be used to pay fees, motivate relay nodes, and restrain nodes from doing evil.


As mentioned above, the nodes of the current blockchain network do not actively forward transactions and blocks in some cases. Marlin's token mechanism tries to solve this problem, trying to motivate nodes to have the motivation to forward transactions and blocks, to motivate nodes to continuously improve their performance and forward data packets as soon as possible; to try to reduce the motivation of nodes to create sybil identities in the propagation path, etc.


The fee allocation mechanism of the relay node needs to meet: anti-isolation; maintain order. To solve this problem, transactions and blocks need to contain witnesses attached to the original content body. One is a signed link: each node in the propagation path that is forwarding its content attaches a public key and signs its body with a private key. In addition, there is a list of keys, and the node appends the newly created key pair to the witness and signs the witness.


It is in the interest of a node to always forward packets. Overall, the incentive mechanism established by Marlin is used to motivate nodes to forward data packets, and to encourage nodes to have higher performance. At the same time, whether the system is resistant to Sybil attacks and has low broadcast overhead depends on the competition in the market. If the market economy is not intense, nodes are more inclined to set high rates and create sybil identities in the path to increase their revenue share. If there is competition in the market, downstream nodes can choose. Under such a mechanism, nodes will tend to continuously improve performance and compete with other nodes, and the window of opportunity to try to create a sybil identity is not too much.


In the Marlin network, it does not use a fee-sharing structure, leaving it to market participants to decide. Using a market-based approach to determining fees allows participants to assess the value of risk and reward. In addition, the market-determined approach also takes into account factors such as service differentiation.


The relay node can obtain two parts of the fee: one is the fee income of the relay information, which can cover the cost of bandwidth and basic hardware. Relayers get a proportional fee based on the amount of work they complete, and this part of the fee comes from the receiver's subscription fee. The second part of the fee is the network incentive fee. This part of the reward is mainly used to motivate early relay participants. As the network usage increases, the reward value will gradually decrease, because they can get most of the benefits from the service fee of relaying information.


Audit node is an important role to ensure that the node maintains a certain performance. The most important reason why the audit nodes are willing to participate in the audit is that the audit nodes can obtain benefits. There is an audit reward pool in the Marlin protocol. Marlin nodes will regularly contribute audit fees, which can be regarded as membership fees or maintenance fees. When nodes deposit or withdraw pledged tokens, some tokens will also enter the reward pool as fees. Can be seen as an entry or exit fee. Additionally, in the event of token slashing, these penalty fees also go into the reward pool. This also gives audit nodes an incentive to discover those that do not meet the requirements.


As for blockchain producers, they are usually miners, and they have a natural need to broadcast their blocks as quickly as possible, and these participants do not need incentives . However, if a malicious producer conducts a spam attack, their pledged tokens will be reduced. Therefore, POND tokens also have a punitive effect.


Secondly, POND tokens can be used for pledge to qualify as a relay node.


In the early Marlin network, one million POND (1 MPOND) must be pledged to be eligible to become a node and have the opportunity to obtain node fees. If a relay network node fails to deliver blocks and transactions within a certain period of time, its pledge will be reduced. The auditor of the decentralized network will monitor whether the relay network meets the requirements. Additionally, holders of POND tokens can delegate their tokens to relay nodes. Staking tokens can obtain POND token income.


If there are many early participating nodes, a large amount of POND tokens will be locked, because each node needs to pledge 1MPOND tokens. According to the total amount of tokens, theoretically, there will be no more than 10,000 relay nodes in the early stage.


Again, POND tokens are also governance tokens.


On the Marlin network, only MPOND token holders can initiate proposals and participate in voting.


Finally, POND can be used to promote the start of ecology.


POND tokens can also play a role in starting the ecology in the early days of the Marlin network. Marlin has a Flowmint program that provides certain incentives for stakeholders in the Layer 1 platform community. These include bandwidth mining, Layer 1 token holders, validators and delegators who have installed Marlin gateways, etc. Through these incentive programs, more people in the ecosystem can participate in the early stage.


Generalized Layer 0


In summary, the reason why Marlin has the opportunity to help The core of the public chain to improve scalability is to build an optimized relay network system. In this relay network system, the relayer is willing to broadcast the producer's block and transaction to the receiver in the shortest time, and at the same time can obtain the corresponding fee income. In this relay network system, its token mechanism plays an important role in maintaining the entire relay network market.


Marlin's relay network does not serve a specific blockchain, it adopts a modular design and can be used in various blockchain networks . On the way to seek better scalability of public chains such as Ethereum, Polkadot, Cosmos, and Solana, Layer 0 like Marlin can help. Even if the different Layer 1 and Layer 2 are separated, Marlin has the opportunity to benefit from the growth of the entire blockchain industry.


For the development of the entire blockchain, it needs to seek scalability not only on Layer 1 and Layer 2, but also on Layer 0. With the continuous optimization of Layer 0, Layer 1, and Layer 2, the future scalability of the public chain has the opportunity to reach new heights.


Original link


Welcome to join the official BlockBeats community:

Telegram Subscription Group: https://t.me/theblockbeats

Telegram Discussion Group: https://t.me/BlockBeats_App

Official Twitter Account: https://twitter.com/BlockBeatsAsia

举报 Correction/Report
Choose Library
Add Library
Cancel
Finish
Add Library
Visible to myself only
Public
Save
Correction/Report
Submit