Muffin Network Whitepaper

🔧 Muffin Technical Paper

📲 Interact with Muffin

💻 How to write a contract

🐈 Introduction

Muffin is a network maintaining a fast payment system and which is capable to run code.

It is built for web, and so it is users and developers centered.

Muffin aims to create a society where individuals and peoples are free to autodetermine their fate. With a stable economy, and a new way to use technology in our daily life.

To make payments, Muffin uses a decentralized currency : the Float.

🐈‍⬛ Basics of Muffin Network

🧑 Accounts

In order to be able to use services on Muffin Network, users have to own an account.

An account is defined by its address and serves to store informations such as the balance of a user, and is accessed by using a private key.

🪙 Tokens

A token is a fungible virtual object managed by an application running on Muffin Network.

It is useful to represent financiel assets, shares, bonds, video-game currencies, or fiedlity points on the web.

Norm : ERC-20

📜 Certificates

A certificate is a unique set of data managed by an application running on Muffin Network.

Certificates help to prove ownership upon a physical or a virtual object, which can be an artwork, real estate, copyrights, or anything else.

More importantly, certificates enable interoperability between all applications running or querying on Muffin Network.

Norm : ERC-721

🔑 Soul-Bound Certificate

A soul-bound certificate is a certificate that can be recovered from another account.

For example, if you have a Sould-Bound Certificate but your account get hacked, you will be able to recover it from your new account by using a private key or a password.

🤵 Decentralized Autonomous Organization (DAO)

A DAO is a community using an application of Muffin Network to manage decisions and expenses.

It can be compared to other organizations such as companies and associations.

🤖 Contracts

Contracts are scripts that can be called by users and that run on Muffin Network.

A contract is always the entity behind a token, a certificate, or a DAO.

🌐 Services

Muffin DAO provides native services running on muffin Network.

💰 Floater

Wallet web and mobile app.

See your balance, make payment through Muffin network and manage identity and certificates

Request payments (create a QR code that another can scan with its Floater app to send a specific amount to you)

🆔 Muffin ID

Identity on Muffin (60 FLT, forever)

💾  Sign In with Muffin

Use your Floater app and your Muffin ID to sign in on websites and apps.

🏷 Contrat Certification

Customized name for contracts, 5 FLT each year.

📇 Muffin ID

A Muffin ID is an encrypted identity paper stored on Muffin Network.

It can be used to sign in on websites or to prove one’s identity.

Each field of a MuffinID is encrypted with a different key, derivated from a master password.

This means that one can give a key to decrypt a certain information without having to give every personal information.

A Muffin IDs have a one-time cost of 6000/[number of muffin IDs = 1] + 60 FLT.

A Muffin ID is a soul-bound token that can be recovered from an account to another using its password.

Muffin IDs are also directly linked to Floats creation. Each time a muffin ID is created, new Floats are created and distributed equally between all Muffin IDs owners.

💰 Finance

💸  Float

The Float is the official currency of Muffin Network.

Its goal is to be a stable and trustful currency to make transactions, investments, and saving easier for everyone, by providing a support which is resistant to hyperinflation.

📊 Stability

The Float is stabilized by two other elements of the Muffin Network: StackedFloats, and Muffin IDs.

The relationship of these 3 elements is as follows:

1 Muffin ID generates 6000 Floats which can be traded for 6 StackedFloats

Giving that there exist one Muffin ID per real people using Muffin, this relationship means that the network creates 6000 Floats and 6 StackedFloats per person.

🔐 StackedFloats

StackedFloats are the tokens used to validate transactions.

To be able to validate transactions, one must convert some Floats to StackedFloats.

1 StackedFloat = 1000 Floats

The more someone owns StackedFloats, the more chances this person gets to validate a block of transaction.

If the block is considered correct by the other nodes of Muffin Network, then the person is rewarded by receiving the total amount of the fees of the validated block.

However, if the block is fraudulent, the validation is punished and loses at least 1 StackedFloat without any reimbursement.

To select a validator, the network calculates the stake of each StackedFloat owner, and chooses the one with the higher stake.

Stake = Number of StackedFloats owned * Number of blocks since the last usage of StackedFloats

The number of blocks of an account is reset when:

  • It buys StackedFloat
  • It sells StackedFloat
  • It transfers StackedFloats to another account
  • It validates a block

If a validator is chosen but doesn’t send a block within the next minute, its number of blocks is reset and the second with the highest stake gets to validate.

Be careful, StackedFloats are designed to NOT BE a financial asset. They are proofs that the network can trust someone. Everyone who own StackedFloats might be chosen to validate a block, and so can be punished for inactivity.

Do not buy StackedFloats if you don’t run a node yourself.

If you have to shutdown your node for maintenance, sell your StackedFloats and re-buy them once your node is running again. StackedFloats always have the same price, so it doesn’t matter when you sell or buy them.

🖨  Inflation

The Float is a currency like we haven’t seen before, as it handles money creation in a way that is often disregarded.

Instead of keeping a stable money creation like Ethereum or most central banks, or even no money creation at all like Bitcoin, the Muffin Network creates money when a new Muffin ID is generated.

To avoid inflation when creating new Floats, the only way is to handle the distribution of the created value carefully.

Instead of giving the distributed Floats to a validator, Muffin uses a system that can be assimilated to helicopter money, where the created Floats are equally distributed to every Muffin ID owner.

Developers

The network

To ensure the execution of transactions and contracts, Muffin relies on its network of validators.

muffinVM

The Muffin Virtual Machine (muffinVM for short) can be seen as a computer recording and executing each transaction and contract.

Anyone can help maintaining the network by running an instance of muffinVM source code on a computer.