0% found this document useful (0 votes)
6 views18 pages

Crypto Whitepaper

Mango Network introduces a transactional omni-chain infrastructure leveraging the Move programming language, designed to enhance security, performance, and user experience in Web3 applications and DeFi protocols. Move redefines digital assets as first-class resources, offering a modular and resource-oriented programming environment that mitigates common vulnerabilities found in existing languages like Solidity. The network aims to create a robust ecosystem for decentralized finance, gaming, and other applications while ensuring high transaction speeds and security through formal verification and a strong type system.

Uploaded by

topeople367
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views18 pages

Crypto Whitepaper

Mango Network introduces a transactional omni-chain infrastructure leveraging the Move programming language, designed to enhance security, performance, and user experience in Web3 applications and DeFi protocols. Move redefines digital assets as first-class resources, offering a modular and resource-oriented programming environment that mitigates common vulnerabilities found in existing languages like Solidity. The network aims to create a robust ecosystem for decentralized finance, gaming, and other applications while ensuring high transaction speeds and security through formal verification and a strong type system.

Uploaded by

topeople367
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Mango Network

Transactional Omni-Chain Infrastructure Network

v1.2

derived public chain team. Move language is a


Abstract resource-oriented programming language that
In response to the multiple pain points of borrows syntax and semantics from languages such
Web3 application and DeFi protocol, such as as Rust, Cyclone, and Ada. The Move language
fragmented user experience and fragmented aims to provide a high-performance, secure, and
liquidity, Mango Network proposes a reliable programming environment for blockchain
transaction-based omni-chain infrastructure applications. It is a programming language designed
network solution, aiming to build a one-stop specifically for digital assets.
liquidity service network through main-chain
contracts and modular contracts, and to bring users
a more secure and trustworthy, asset-diversified, 1.2 Advantages of Move series public
and convenient and autonomous transaction
experience. At the same time, Mango, as Layer1 chain
and supported by Move, provides developers and Move has redefined digital assets, believing
users with a secure, modular and high-performance that token assets are a unique and important form of
Web3 infrastructure, and the Devnet boasts a high data that should not be defined and represented
TPS of 297.45k, which is both standardized, using ordinary numerical types. Therefore, Move
scalable and interoperable, and provides a solid has created Resource to define on-chain assets
underlay for building non-custodial, decentralized, separately.
omni-chain mobility pledges, lending and Move language lowers the security threshold
borrowing, POS pledges, GameFi, and other core for developers, allowing contract developers to
applications, so that participants can experience an focus on business logic and write highly secure
unprecedented level of freedom in Web3. code, avoiding security vulnerabilities caused by
low-level bugs. This is what makes DeFi
(Decentralized Finance) safer and gives peace of
mind to node users.

I Web3.0 Public Chain Leader - Move


1.3 Characteristics of Move language
1.1 Move emergence background Move aims to provide a secure, efficient, and
modular development solution for distributed
In 2019, Meta (formerly Facebook) introduced applications. The core idea of the Move language is
the global circulation of the sovereign digital to break down complex programming tasks into
currency project Libra. Throughout this process, multiple modules, effectively reducing complexity
Libra and the Diem team left behind a valuable and lowering the probability of errors in
legacy - the Move language that addresses the programming.
shortcomings of Solidity and EVM, as well as the
-1-
1.3.1 Programming assets as first-class
resources (First-class Resources)

The Move language abstracts four attributes


of resources: copyable, indexable, droppable, and
storable. With different combinations of these
attributes, users can easily define any type of
resource.
The specified resources will be stored in a
module controlled by the owner's account, Move VM is the virtual machine sandbox for
represented by a verified owner/signer. The owner the Move programming language, where contract
of these resources has the ultimate decision-making invocations are placed within the same sandbox.
power and only the owner can determine the During this process, the security of the contract's
storage and transfer of the resources. state is primarily isolated through the internal
The design of resources allows for the transfer security of the programming language, rather than
of digital assets to be a movement between storage relying on the virtual machine for isolation.
locations rather than a simple addition or
subtraction of balance values between accounts, 1.3.3 Verifiability
thus avoiding re-entry and double-spending attacks.
The Move programming language adopts
formal verification. Formal verification is a means
of using digital tools to analyze and prove the
1.3.2 Ensure its security through static call, security of a program. The previously mentioned
virtual machine sandbox, etc static calls and virtual machine sandbox can
enhance the security of verification.
The Move language uses static calls, which
improves runtime security, solves the problems of
dynamic calls, and enhances network stability. 1.3.4 Flexibility
The flexibility of Move is reflected in the
ability to freely combine various transactions
through transaction scripts to achieve different
functionalities, where one script can invoke
multiple transactions. By using generic
programming, Move ensures the scalability of
contracts and increases code reusability.

-2-
carrier of Web3.
1.3.5 Contract composability
The composability of the Move language
comes from the design of its Modules. Upgrading
II Technical Differences of Solidity VS
and optimizing Modules enables all other contracts
that have used this Module to automatically use the Move
latest version, accelerating the speed of upgrading
and optimizing smart contracts using the Move Transitioning from Bitcoin's Script to
language. Ethereum's Solidity, undergoing the baptism of
DeFi, Solidity has undoubtedly been successful.
However, the security vulnerabilities of DeFi are
1.4 Status quo of Move series public
also worth paying attention to. How to ensure the
chains security of on-chain assets has become a major
issue that the entire industry urgently needs to face.
The Move language truly achieves the Behind these vulnerabilities, VM is also
digitization of assets and is hailed as one of the constantly patching up, such as fixing the original
most suitable languages for writing blockchain overflow issues, but it is difficult to make
smart contracts. It has been compared to the current substantial improvements in the underlying design
mainstream language Solidity multiple times and flaws. Unlike previous development experiences,
has surpassed it in many aspects. The main reason DeFi applications are essentially open-source and
is that Move provides a more fitting handling of the transparent financial systems that have extremely
core token assets in blockchain, compensating for high security requirements. So, for financial
Solidity's shortcomings in intuitiveness and scenarios, designing a more secure, reliable, and
security. user-friendly smart contract language may be a
better choice.

Characteristic Solidity Move


Turing Yes Yes
completeness
Safety Poor Very good
Developer Yes Yes
friendly
Dispersed No Yes
storage
Engineering Poor Good
ability
Currently, the public chain based on the Move
Flexibility Dynamic Generic
language is in the stage of ecological expansion,
mobilization programming
attracting more developers and users to join. Once
Financial scene No Yes
an ecosystem is formed, users can bring sustainable
enhancement
income. The more prosperous the ecosystem, the
stronger the innovation ability, and the more
marginal benefits there will be. This is also the
Solidity still has three major technical
reason why public chains can become the core
-3-
challenges that need to be overcome urgently.
3.2 Pure static language
Solidity's syntax and expression methods are
complex. Dynamic dispatch is the cornerstone of
Traditional object-oriented programming Solidity, and all cross-contract invocations are
languages like Java have become the best choice for implemented through dynamic dispatch. It is also
novice developers to create Ethereum contracts. the entry point for most security vulnerabilities,
However, due to the complexity of Solidity, such as TheDAO attack, PolyNetwork cross-chain
developers are unable to effectively understand its attack, and so on. Given the real experience of
syntax. Solidity, Mango Move adopts a completely pure
There are code security vulnerabilities in static implementation to better ensure the security
Solidity. of on-chain assets.
This is also a major weakness of its
competitiveness. There are many security
3.3 Formal verification
vulnerabilities in Solidity due to improper usage, so
developers need to be well-prepared for security Formal verification, also known as FV (formal
testing before writing contracts in Solidity. verification), refers to the use of mathematical tools
Solidity still has challenges in terms of to analyze the space of possible behaviors of a
performance. design, rather than computing specific values as
The performance of Solidity compared to results. Mango Move comes with a formal
relatively simple programming languages like verification tool that can be used to test and prove
Python still needs improvement. With the growth of the reliability of contracts using mathematical
Ethereum, there is also a continuous increase in methods.
Ethereum-based applications. The performance
issues of Solidity will affect the overall operational
efficiency of Ethereum, thereby increasing network
3.4 Distributed Storage
load and reducing the overall security of the
Ethereum network. In the era of Web3.0, users have ownership of
From the above perspective, Solidity, as the data. Solidity stores contract data in a centralized
most popular smart contract development language manner through Maps. When a contract has a
on Ethereum, is powerful enough but not perfect. vulnerability and the contract Owner's permissions
Move language emerged in this context. are obtained, all user data will be compromised.
Mango Move cleverly uses Resource to store data
scattered under each user's Account, ensuring both
data security and true ownership of data by all
III Mango Programming Model network nodes.

3.1 Resource-oriented programming


Mango Move has been specifically enhanced
3.5 Generic programming
for financial, social, and gaming scenarios,
introducing resource-oriented programming. For For security reasons, Mango Move has been
common scenarios such as FT and NFT, Mango designed as a purely static language, but this has
Move defines data as resources, ensuring data not reduced its flexibility. Through generic
security at the virtual machine level. programming, Mango Move ensures the scalability
of contracts and increases code reusability.
-4-
Blockchain is a very important system, with a encapsulates the concept of assets at the language
large amount of assets stored on the blockchain. level, avoiding the arbitrary generation and access
Moreover, once these transactions on the of assets, greatly improving security.
blockchain are executed, they cannot be revoked or Byte verification goes before contract
tampered with. It is necessary to ensure the normal execution. Move differs from Solidity in terms of
operation of functions such as transaction storage compiler. As an executable bytecode language,
on the chain. Mango Move is a smart contract Move has built-in security algorithms and bytecode
language that can be compiled and run in a verifiers, which can prevent many common errors.
blockchain environment that has implemented The Move contract code must be verified
Move VM. Mango Move and the MoveProver tool before it can be executed, which allows the contract
have emerged as a result. to be protected from potential compiler errors and
possible attacks. Move has been committed to
establishing a standardized culture from the very
beginning, with a standard library for each Move
IV Mango Move core design concept module. The Move development team has initially
Ensuring the security of smart contracts from developed a dedicated validator called Move Prover
the ground up, according to SlowMist's previous for contract verification.
report, blockchain security incidents in 2021
resulted in losses exceeding 9.8 billion US dollars.
As an emerging programming language, the Move
language has also made breakthroughs and
innovations in terms of security at different levels.
Just as what First-classResources really means
as "digital assets are first-class citizens", Move is a
smart contract language designed for manipulating
digital assets. Compared to other languages, Move Move Prover Overall Frame

has a more native and low-level handling of token


assets. Based on modular composability: The
The Move language specifically defines assets modularity of smart contracts, which is more
as a type of resource, distinct from other data. In the efficient and flexible, is another important feature
context of blockchain, tokens are a type of resource, for building a programming language ecosystem.
and the data of the resource must be stored under an The combination of smart contracts in the Solidity
account. During the transaction process, assets must and other language ecosystems is primarily based
flow to a destination, either transferred to another on message passing between interfaces.
address or destroyed. Tokens cannot be duplicated And in Mango Move, it is based on the
or "double used". combination of modules, interacting through the
Solidity and most programming languages transfer of resources. Through the combination of
treat tokens as numerical variables, where assets are modules, Mango Move saves block space occupied
simply numbers that can be added or subtracted. by contracts on one hand, and makes upgrades
When the balance of one address decreases, the easier on the other hand. At the same time, due to
balance of another address increases. By using code, the adoption of linear logic in the Module system, it
the decrease and increase in numbers can be made can effectively package and encapsulate the concept
consistent, thus ensuring the security of assets of digital assets, clearly separating the definition of
through logical programming. Resource resources from the behaviors related to resources.
-5-
This resource-oriented programming brings about
expressiveness and scalability that other languages
V Type System of Mango Move
cannot provide. Due to a large amount of assets stored on the
blockchain, the programming language of
blockchain smart contracts must provide security
guarantees, and Mango Move is a programming
language designed for the blockchain that can
provide better security.
The type system of Mango Move provides
many protections, and we emphasize three points:
first, type safety; second, resource safety; and
finally, reference safety. The formal verification
tool Move Prover mainly provides more advanced
Mango Move Partial Program Code Display and expressive methods of representation. Whereas
- structinvariants is a type, a structure should have
some kind of state. -unit specification (per single
function) Each program and each function must
adhere to the corresponding specifications.

5.1 Type safety


Mango Move is a strong type system and
strictly guarantees that no type conversion can be
done in any situation. Types cannot be converted
between each other, and there is only one type for
each. This is a guarantee provided by the Mango
Move type system.

5.2 Resource safety


One is to ensure the scarcity of resources. The
-6-
abilities of copy and drop are depended to ensure programming language, Move has made security its
that a resource is not duplicated, which is top design goal in order to support Libra's vision as
determined by these two abilities. The other two a financial infrastructure and empower billions of
abilities (key and store) determine the possible use people worldwide. The security features of the
cases for this resource, whether it can appear in a Move language can be divided into three levels:
function and disappear after the smart contract ends, language level, virtual machine level, and tool
and whether it can be written on the blockchain. level.
These two abilities also determine this. The formalization verification tool for Move is
Mango Move also encapsulates resources, and called Move Prover. The basic idea is to use an
all code related to resources should be encapsulated automated theorem prover in the formal verification
in one module, ensuring that developers cannot domain to verify whether a program complies with
package it into multiple modules for resource a certain specification. This method requires users
handling. Therefore, Mango Move actually to have a detailed understanding of the program's
guarantees the security of resources in this aspect. operational logic, representing the program logic as
specifications and conveying it to the verification
system along with the program. "Move defines a
specification language called Move specification
5.3 Quote safety
language." Translate the following text into en-US
In the Mango Move language, it is ensured without explanation: Convert Move programs and
through "quote safety" and follows the ownership specifications into Boogie programs using the
rules of Rust. Any local variable in a function can Move to Boogie compiler - an intermediate
be modified by only one process at any given time. verification language with formal semantics.
At the same time, for a global variable, within the
entire blockchain, there can only be one owner who
can make changes for any given type. This is
ensured through Mango Move's reference safety.

6.1 Struct invariant


The invariants of a struct allow for a complex
struct with multiple fields, where there exists a
relationship between different fields within the
struct. The invariants of the struct allow for
specifying the relationship between different fields,
which is currently not achievable by the type
system.
VI Mango formalized verification
system.
As a new generation of smart contract
-7-
triggered, the execution will be terminated, which is
the goal of function specification.

This set of specifications for struct plus struct


actually serves as an "enhanced type" that can
ensure the relationships between fields within the
struct conform to a certain relationship.

6.2.1 Abort Conditions


Move Prover provides an opportunity to
express function transactions in a more specialized
manner, allowing developers to write specifications
for functions through the function's specification.

6.2 Function specification


One focus of Mango Move is to do the
specification of functions, specifying how a
6.2.2 Post-conditions
function should behave in certain situations,
including how it should present itself and when it Post-condition is the running state of a
should throw an error. Once a warning condition is program function.
-8-
VII Mango modular blockchain
The Mango modular blockchain underlying
code and contract layer code are programmed using
the Move language, decomposing blockchain
functionality into different levels of network
architecture. Traditional blockchain systems
typically integrate consensus, settlement, data
availability, and execution functionalities into a
single architecture. However, with the increasing
complexity and demands of blockchain applications,
a single architecture may not be able to meet the
requirements of different scenarios. Therefore,
Mango modular blockchain separates these core
6.2.3 Pre-conditions
functions, allowing each functional module to
Function specification: Precondition, which operate independently while maintaining
means that in addition to being able to write collaboration between them. This architecture
exceptions in certain situations, there will be makes the blockchain system more flexible and
changes in the absence of exceptions. When calling scalable, allowing for customization and
this function, the precondition must exist. Having a optimization based on different needs.
precondition can simplify exception conditions.
7.1 Modular blockchain and monolithic
blockchain
6.2.4 Global Invariants
The concept of Mango modular blockchain
Invariants are a type of property that always
corresponds to a single-piece blockchain, and the
remains the same during program execution.
two have significant differences in terms of
Immutability is one of them: once an object of an
functionality processing. First, it is necessary to
immutable type is created, it represents an
clarify the four core functions of blockchain:
unchanging value.
1. Execution - transaction processing and
computation.
2. Resolve - Dispute resolution and bridging.
3. Consensus - Transaction ordering.
4. Data availability - Ensure data is available.
Mango modular blockchain is any chain that is
part of the modular blockchain stack, by
modularizing the blockchain and splitting the four
functionalities into multiple specialized layers. The
modular blockchain stack consists of multiple
layers of modular blockchains that depend on each
other to create a system with all the above
components.
-9-
solving scalability is a major reason for promoting
the modular development of blockchain, without
sacrificing security and decentralization. Modular
blockchain is not limited by the requirement to
handle all functionalities. By dividing them into
multiple layers, scalability can be achieved without
sacrificing security and decentralization. This
makes sustainable blockchain scalable and
compatible with a decentralized multi-chain
environment.

VIII Mango's new paradigm for


7.2 Advantages of Mango Modular omni-chain applications.
Blockchain
8.1 From single chain to multi-chain, and
7.2.1 Sovereign protection then to omni-chain.
As the first smart contract platform, most of all
Although other layers are used, the Mango decentralized applications could only be deployed
modular blockchain can have sovereignty like on Ether at the beginning of its birth. However,
Layer1. This allows the blockchain to respond to with the flourishing of public chain ecosystems and
hacker attacks and push upgrades without any the development of Layer 2 solutions, applications
underlying permission. Essentially, sovereign now have more choices.
blockchain retains the ability to make critical
decisions based on social consensus, which is one
of the most important aspects of blockchain as a 8.1.1 Single chain deployment status
social coordination mechanism. The application can choose to deploy on a
specific chain that suits its own business. Each
chain or L2 has its own unique mechanism design,
7.2.2 Efficient and low-cost start-up of new with different characteristics in terms of
blockchains decentralization, privacy, and data availability, etc.,
to meet the needs of different applications. At the
Because the Mango modular blockchain does same time, various one-click chain creation stacks
not need to handle all functions, new blockchains are becoming more and more mature, and
can simply use existing modular blockchains for application developers can completely create their
components they wish to unload. This allows for own chains and customize related features. A
the efficient bootstrapping of new blockchains, typical example is the DYDX protocol, which is an
reducing deployment time and minimizing costs. early decentralized derivatives trading market
created on Ethereum and has now migrated to a
separate Cosmos Zone to better meet its throughput
requirements.
7.2.3 Scalability
Returning to the most fundamental issue,
- 10 -
the Mango Move underlying modular deployment
8.1.2 Multi-chain deployment status
contract protocol to carry the program's global state,
Applications can choose to deploy on multiple which is a new way of building applications where
chains, allowing users on different chains to access developers design the application as a whole, taking
the services provided by the application. From the omni-chain interoperability as a prerequisite, rather
point of view of the application itself, it is possible than simply replicating a single-chain application
to scale up the business and increase the revenue of on multiple chains. The Mango omni-chain
the protocol. For example, AAVE, a well-known application consists of different modules on
lending protocol, has deployed its application on six different chains, which have interoperability and
chains. together form a complete application. Compared to
multi-chain deployment, Mango's omni-chain
8.2 Multi-chain application VS Mango application can extend its tentacles to more chains,
allowing users on more chains to use program
omni-chain application services without the problem of fragmented user
experience and fragmented liquidity.
The deployment of contracts on multiple
chains in an application cannot share liquidity, Features Multi-Chain Omni-Chain
which also leads to the fragmentation of the Web3 Status record Distributed Unified on one
ecosystem, including the fragmentation of user across multiple chain
experience and liquidity. chains.
Liquidity Distributed Unified on one
8.2.1 Fragmented user experience in across multiple chain
multi-chain cross-chain chains.
In order to use different on-chain services, Users need to Users can access
users need to transfer assets across multiple chains, User be familiar with programs on any
register addresses on different chains, and learn experience multi-chain chain just like
operations on different chains. In many cases, users operations, accessing local
need to take many steps and prepare many kinds of prepare programs.
Gas in order to achieve the desired results. multi-chain gas,
and frequently
transfer assets.
8.2.2 Liquidity fragmentation across
Only friendly to Better
multiple chains Integratability integrated cross-chain
In many types of DeFi protocols, liquidity chains, but interoperability
depth is a part of their core experience. The same more complex
liquidity cannot exist simultaneously on multiple for cross-chain
chains. Every DeFi protocol, when deployed on a integration.
new chain, needs to rebuild liquidity, which reduces In this table, the analogy between omni-chain architecture
the overall efficiency of liquidity. and simple multi-chain deployment is shown:

8.2.3 Mango Omni-dApp (Mango 8.3 Technical architecture of Mango


omni-chain application)
Omni-chain Application
Mango's omni-chain application is based on
- 11 -
The technical architecture of the omni-chain result, which is then passed across the chain to the
application consists of the Mango main chain new chain for outputting to the user. In some cases,
contract and module contract pattern. The main different modules of the main chain may be split
logic of the application is placed on the Mango into different chains, which together form a virtual
main chain, like a "master control", and then other main chain.
chains provide a remote access module to achieve
interaction with end users, obtain user input, and 8.4 Technical architecture advantages of
output the desired results for users.
Mango's Omni-chain Application

1. The entire chain is easy to expand. The main


logic of the program is processed on the Mango
main chain, and the application has a unified state
record. After deploying the contract on the new
chain, users can inherit all the state records and
liquidity from the main chain without reinventing
the wheel.
Mango Omni-chain Architecture Principle Logic Diagram

2. The overall user experience is improved, as users


do not need to worry about which chain the
program is deployed on. They can access the
program from the main chain of the entire network,
just like accessing a local program. There is no
need to transfer assets back and forth, and there is
no need to learn operations on multiple blockchains
or prepare various types of gas.
Mango's omni-chain cross-chain bridge technology
architecture diagram
3. The entire chain is easy to integrate across chains.
When other applications integrate this program,
they only need to connect on the main chain of the
entire network to access all its features and liquidity,
instead of having to connect separately to all other
chains.

Mango Network's omni-chain application, as a


new paradigm, has provided many new possibilities
for us, supporting for arbitrary chain forging,
Mango's Omni-chain application technology architecture
redemption, and exchange. The application allows
diagram
users to complete operations without perceiving any
cross-chain processes.
After the new chain obtains the user's input, it
passes that input across the chain to the Mango When the omni-chain application becomes the
master chain for processing and outputting the mainstream paradigm of decentralized applications,

- 12 -
both application developers and users can transaction without exposing any information about
experience unprecedented freedom in the the transaction participants or the assets involved,
blockchain world. generate ZK proofs.

9.1.2 Privacy protection


IX Mango public chain infrastructure Mango's public chain uses ZK proof
technology to perform data validation without
protocol revealing sensitive information. When verifying
that a certain node on the chain owns specific assets,
9.1 ZK zero-knowledge proof ZK proofs can be used without revealing the
The Mango public chain combines identity of the participant or any other sensitive
zero-knowledge proofs, allowing one party to information.
disclose information knowledge to another party
without revealing the information itself. Extend the
universal blockchain. Through proof of validity, 9.1.3 Data integrity
blockchain nodes can verify transactions without
storing detailed information or replaying The Mango public chain ensures that
computations. This reduces confirmation time and important data such as block data and smart
improves network throughput. contract states have not been tampered with and
Due to its scalability advantages, have been correctly calculated through the
zero-knowledge proof has become the core zk-SNARKs (Zero-Knowledge Scalable
infrastructure of blockchain scaling projects, Non-Interactive Argument of Knowledge) protocol,
especially zero-knowledge rollups, in the Mango providing highly reliable data proof for the Mango
public chain. ZK-SNARKs and ZK-STARKs are public chain.
the main types of zero-knowledge proofs.

9.1.4 Cross-chain interaction


Mango public chain and ZK proof technology
can be used for secure and private cross-chain
interactions between different blockchains. To
verify the validity of specific cross-chain
transactions and protect the privacy of participants,
it is done by generating ZK proofs.

9.2 Distributed Storage


9.1.1 Anonymous trading One way is to store data in a decentralized
Mango public chain uses ZK proof technology, manner on multiple independent devices, which
allowing users to maintain anonymity during overall achieves distributed architecture. In the field
transactions. To verify the validity and legality of a of blockchain applications, it represents a new
generation of distributed storage technology
- 13 -
represented by IPFS. Unlike traditional storage fail or go offline, the complete data can still be
technology, the new generation of distributed obtained from other nodes.
storage not only changes the way storage is done,
but also changes the system architecture and
network transmission protocol, allowing distributed
9.2.2 Data encryption
storage to truly be stored among different parties,
while also achieving privacy protection and security In order to protect user privacy and data
for the data. security, the Mango public chain infrastructure
protocol uses encryption algorithms to encrypt the
data uploaded by users to the distributed storage
network, which ensures that only authorized users
can access and decrypt this data.

9.2.3 Data reliability


By replicating data to multiple nodes and using
fault-tolerant mechanisms to detect and repair
damaged or lost copies, Mango public chain
When the user extracts data, the same ensures that its distributed storage system has high
algorithm is used to calculate the hash of the data reliability. Even if certain nodes fail or are attacked,
and obtain the corresponding data storage location it is still possible to recover lost or damaged files
from the hash table (as shown in the figure below). from other replicas.

9.2.4 Scalability
The distributed storage system of Mango
public chain can be horizontally scaled according to
demand. When more data storage is needed, simply
adding more storage nodes can increase the storage
capacity of the entire system without compromising
In the Mango public chain infrastructure performance or reliability.
protocol, distributed storage is a technology used
for storing and managing data. It disperses data
storage across multiple nodes in the network to
9.2.5 Data permission control
enhance data reliability, security, and scalability.
The Mango public chain infrastructure
protocol provides a powerful data permission
9.2.1 Data redundancy
control mechanism. Users can define the
The Mango public chain adopts distributed permissions and policies for accessing their data,
storage technology to achieve data redundancy. ensuring that only authorized users can access and
Each data block will be replicated on multiple modify this data.
different nodes to ensure that even if some nodes
- 14 -
converting names into hash addresses and some
9.3 MgoDNS domain name service
mainstream public chain addresses. Based on
MgoDNS is a solution for distributed domain cross-chain design, MgoDNS can serve existing
names based on cross-chain protocols. It provides public chain ecosystems such as Ethereum, IPFS,
domain and domain data analysis services for etc., making file access, address transfers, and smart
non-intermediated networks. This platform can help contract calls more convenient and faster.
businesses and individual users manage valuable
on-chain data information, and now they can
participate in digital asset transactions in a more 9.3.2 MgoDNS domain name parsing
efficient, secure, and convenient way. MgoDNS
system, super hub connecting the
aims to make the internet a transparent, secure, and
free space through its innovative decentralized information Internet and the value
measures. blockchain.
MgoDNS maximizes compatibility and
achieves decentralization of the system. The MgoDNS domain name system focuses on
underlying layer of MgoDNS is blockchain, and the providing blockchain domain names and domain
upper layer is traditional internet. MgoDNS can name data resolution services for blockchain
also connect various types of public chains and networks, helping enterprises and individual users
consortium chains, collectively forming a super hub to participate in digital asset transactions and
for connecting various blockchains. manage on-chain value data information more
Traditional Internet has mature business conveniently and securely. Meanwhile, based on
models in project operation, but its drawbacks are cross-chain design, MgoDNS can serve existing
also obvious, such as data leakage, server downtime, public chain ecosystems such as Ethereum, IPFS,
and other incidents. On the other hand, although etc., making file access, address transfers, and smart
blockchain technology fundamentally solves the contract calls more convenient and faster.
problem of data trust, there is a lack of a certain
foundation in terms of the scale and operation of
applicable scenarios. So, the connection function of
MgoDNS will enable the effective integration and
application of both, complementing each other and
achieving decentralization of the system.

9.3.1 MgoDNS domain name system,


connecting the information internet and the
value internet.
Unlike the infrastructure of traditional domain
name services, MgoDNS's smart contract can MgoDNS domain name resolution technology:
replace the roles and processes of most registration
agencies. Any institution or individual can create · MgoDNS achieves distributed domain name
subdomains based on the rules of the registering resolution by using domain name resolution smart
institution. The parser plays the role of a translator, contracts and cross-chain data exchange on multiple
- 15 -
mainstream chains. Unstoppable
ENS MgoDNS
· Domain name registration, resolution, and Domains
trading are not affected by any centralized factors, Digital
achieving complete decentralization. The security currency
Support Support Support
of domain names is guaranteed by blockchain address
technology, and the resolution of domain names is resolution
supported by a high-speed blockchain network. IP address
Nonsupport Support Support
·MgoDNS is fully compatible with the parsing
management and resolution of existing domain Traditional
names. domain name Nonsupport Nonsupport Support
·Support dynamic domain name resolution. analysis
MgoDNS automatically updates IP mapping and Underlying Ethereum Ethereum
ManGO
achieves blockchain confirmation in seconds blockchain (ETH) (ETH)
through the wallet, enabling dynamic domain name User identity
Nonsupport Nonsupport Support
services like traditional Peanut Shell and Dandelion authentication
without additional costs. Domain name
·Support for user-defined domain names. From resolution Nonsupport Nonsupport Support
the perspective of the domain name product, there client
are currently Ethereum Name Service (ENS) and Decentralized
Unstoppable Domains. However, ENS only Nonsupport Support Support
network
supports the resolution of cryptocurrency addresses, Decentralized
making it difficult to connect to the traditional encrypted Nonsupport Nonsupport Support
information internet and the underlying blockchain. mailbox
On the other hand, the application scenarios of Decentralized
Unstoppable Domains are also relatively limited. edge-cloud Nonsupport Nonsupport Support
In addition to fulfilling the functions of computing
traditional DNS domains, MgoDNS also combines Decentralized
the functions of information networks and value edge Nonsupport Nonsupport Support
networks, supporting traditional domain name DAppstore
resolution, user identity authentication, DApp,
social relationship networks, video conferences, and
distributed information flow and other
scenario-based applications. 9.4 Mango client end
A copy (also known as: full client) is a
consistent copy that maintains the effective state of
the system, used for auditing and building
transactions or operational services. Lightweight
clients are based on object references and
transactional authentication information, which can
authenticate transactions that cause their creation or
execution. Copies perform high-integrity reads of
the system state without the need to maintain
complete replica nodes. By providing concise

- 16 -
evidence packages and effect certificates, the phase is to execute the transaction and commit its
lightweight client can undergo transformation effects.
within Mango and perform transaction operations For transactions involving shared objects, it is
or observe results. Regular checkpoint mechanism necessary to use consensus protocols for ordering,
can be used to create collective checkpoints for which may become a bottleneck. "But the latest
final transactions, effectively verifying the recent high-throughput consensus protocol for engineering
state of objects and the events issued. indicates that sorting is only the bottleneck in state
Customer-driven is a mechanism for handling machine replication, not the execution order." In the
authorization failures or client malfunctions. The Mango system, sorting is only used to determine the
client can solve these problems by updating to a version of the input shared object, that is,
level of honest authority that can handle correct incrementing the object version number and
transactions. Once there are no more certificates to associating it with the transaction summary, without
synchronize, the list will be submitted to the new involving sequential execution.
authority for execution. The relay is the client that The second phase occurs when the versions of
performs this operation, and multiple relays can run all input objects are known to the permissions and
simultaneously to update and coordinate the replica involves executing a move transaction and
operation service with each other. Blocks are tools committing its effects. Once the version of the input
used by followers to receive updates and maintain object is known, it can be executed in a fully
the latest view state when processing authorizations. parallel manner. On multi-core or multi-physical
In addition, the authorities can use a push-pull machines, virtual machines read versioned input
gossip network to update transactions with each objects and write the generated objects to storage.
other and reduce the number of times the relay For object and transaction storage, the consistency
needs to perform this function. The authorities may requirements are very loose (except for sequential
use periodic status commitments to ensure that they lock mapping), allowing each authority to use
have dealt with the complete set of certificates until scalable distributed key-value storage. In addition,
a certain checkpoint. due to the idempotent nature of the execution, it is
The Mango system expands its capabilities by easy to recover even in the event of component
allocating more resources to handle transaction crashes or hardware failures.
permissions. These resources include CPU, memory,
network, and storage within or across multiple
machines. Increasing resources can improve the
ability to process transactions, thereby increasing
X References
revenue. At the same time, more resources will also 1. https://github.com/MangoNet-Labs/mango
reduce latency because operations can be executed 2. D. Matsuoka, C. Dixon, E. Lazzarin, and R.
without waiting for necessary resources to become Hackett.(2022) Introducing the 2022 state of crypto
available. report. https://a16z.com/tag/state-of-crypto-2022/
In order to ensure that more resources can 3. S. Blackshear, E. Cheng, D. L. Dill, V. Gao, B.
increase capacity in a quasi-linear manner, the Maurer, T. Nowacki, A. Pott, S. Qadeer, D. R.
Mango system actively reduces bottlenecks and Rain, S. Sezer, T. Zakian, and R. Zhou, "Move: A
synchronizes points that require global locking language with programmable resources," 2019.
within permissions. Transaction processing is https://developers.diem.com/papers/diem-move-a-la
explicitly divided into two phases: the first phase is nguage-with-programmableresources/2019-06-18.p
to ensure exclusive access to a specific version of df
an object or shared access to an object; the second 4. Sam Blackshear, David L. Dill, Shaz Qadeer,
- 17 -
Clark W. Barrett, John C. Mitchell, Oded Padon,
and Yoni Zohar. Submitted on July 23, 2020; v1
submitted on April 10, 2020; originally announced
in April 2020. Resources: A Safe Language
Abstraction for Money. CoRR abs/2004.05106
(2020). arXiv:2004.05106
https://arxiv.org/abs/2004.05106
5. Marco Patrignani and Sam Blackshear. 2021.
Robust Safety for Move. CoRR
abs/218.05043(2021).arXiv:218.05043
https://arxiv.org/abs/218.05043
6. Daniel Collins, Rachid Guerraoui, Jovan
Komatovic, Petr Kuznetsov, Matteo Monti, Matej
Pavlovic, Yvonne-Anne Pignolet, Dragos-Adrian
Seredinschi, Andrei Tonkikh, and Athanasios
Xygkis. 2020. Online Payments by Merely
Broadcasting Messages. In the 50th Annual
IEEE/IFIP International Conference on Dependable
Systems and Networks, DSN 2020, Valencia, Spain,
June 29 - July 2, 2020. IEEE
7. David Dill, Wolfgang Grieskamp, Junkil Park,
Shaz Qadeer, Meng Xu, Emma Zhong. Fast and
Reliable Formal Verification of Smart Contracts
with the Move Prover. Submitted 12 February,
2022; v1 submitted 15 October, 2021; originally
announced October.2021. arXiv:218.08362
https://arxiv.org/abs/218.08362

- 18 -

You might also like