Skip to content
Merged
22 changes: 11 additions & 11 deletions docs/glossary.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ keywords:
- mina ecosystem
- zkp
- mina
- zero knowledge proofs
- zero-knowledge proofs
---

# Glossary

[A](#a) [B](#b) [C](#c) [D](#d) [E](#e) [F](#f) G [H](#h) [I](#i) J [K](#k) [L](#l) [M](#m) [N](#n) [O](#o)
[P](#p) Q [R](#r) [S](#s) [T](#t) [U](#u) [V](#v) W X Y [Z](#z)

Are you looking for a zero knowledge, o1js, zkApp, or Mina term that isn't here yet? To let us know, please [create an issue](https://github.com/o1-labs/docs2/issues) or click **EDIT THIS PAGE** to submit a PR.
Are you looking for a zero knowledge or Mina term that isn't here yet? To let us know, please [create an issue](https://github.com/o1-labs/docs2/issues) or click **EDIT THIS PAGE** to submit a PR.

## A

Expand Down Expand Up @@ -101,7 +101,7 @@ Full history is not available in Mina, so a newly connected node to the network

### cold wallet

A wallet is "cold" if the private key is not, and never has been, available on the internet. Cold storage is preferred for wallets associated with meaningful stake as it is harder to hack into cold wallet systems if they never have been on the internet. This could be as easy as generating a key pair on a laptop with the internet turned off or using a hardware wallet, like a [Ledger](https://shop.ledger.com/) device.
A cold wallet is not, and never has been, available on the internet. Cold storage is safer for wallets associated with meaningful stake.

### compressing

Expand Down Expand Up @@ -143,7 +143,7 @@ Created with the zkApp CLI, a [deploy alias](/zkapps/tutorials/deploying-to-a-ne

### Devnet

Dedicated for developers building on top of the Mina protocol, Devnet is designed for testing and experimentation so you can test tooling and integrations before going live on [Mainnet](#mainnet). See [Connect to Mainnet or Devnet](/node-operators/validator-node/connecting-to-the-network).
Dedicated for developers building on top of the Mina protocol, Devnet is designed for testing and experimentation so you can test tooling and integrations before going live on [Mainnet](#mainnet). See [Connect to Devnet](/node-operators/validator-node/connecting-to-the-network).

### distributed ledger technology (DLT)

Expand All @@ -165,7 +165,7 @@ An approach to public key cryptography based on the algebraic structure of ellip

### epoch

A unit of time equal to 7140 slots at Mainnet. An epoch is divided into [slots](#slot) of 3 minutes each.
A unit of time equal to 7140 slots at Mainnet. An epoch is divided into [slots](#slot) of 90 seconds each.

### extensional blocks

Expand Down Expand Up @@ -215,7 +215,7 @@ A mathematical cryptographic function that converts an input of arbitrary length

### hot wallet

A wallet is "hot" if the private key is available on a machine that is connected to the internet. To mitigate risk in the case of hackers breaking into their systems, careful block producers avoid having hot wallets with substantial stake on them.
A hot wallet has a private key that is available on a machine that is connected to the internet. To mitigate risk, avoid having hot wallets with substantial stake.

## I

Expand Down Expand Up @@ -271,7 +271,7 @@ Changes to the network that make the old chain incompatible with the new chain.

### Mainnet

The live version of the Mina blockchain network that is fully operational. On the Mina Mainnet public blockchain, real-world transactions are performed. See [Connect to the Mina Network](node-operators/validator-node/connecting-to-the-network). A Mainnet is different from a [Testnet](#testnet) and [Devnet](#devnet) which are used for development and testing.
The live version of the Mina blockchain network that is fully operational. On the Mina Mainnet public blockchain, real-world transactions are performed. See [Connect to the Mina Network](/node-operators/validator-node/connecting-to-the-network). A Mainnet is different from a [Testnet](#testnet) and [Devnet](#devnet) which are used for development and testing.

### MINA

Expand Down Expand Up @@ -307,7 +307,7 @@ A [full node](#full-node) in the Mina protocol that does not participate in cons

### non-upgradeable

If the verification key cannot be changed, a zkApp smart contract is considered non-upgradeable. You can make a smart contract upgradeable or not upgradeable using [permissions](https://docs.o1labs.org/o1js/zkapps/permissions).
If the verification key cannot be changed, a zkApp smart contract is considered non-upgradeable. You can make a smart contract upgradeable or not upgradeable using [permissions](https://docs.o1labs.org/o1js/zkapps/permissions#upgradeability-of-smart-contracts).

### nonce

Expand All @@ -333,7 +333,7 @@ A transfer of value or data, including transactions, that exist on and have been

### on-chain state

State that lives on the Mina blockchain. Each zkApp account provides eight fields of 32 bytes each of arbitrary storage for the on-chain state.
State that lives on the Mina blockchain. Each zkApp account provides 32 fields of 32 bytes each of arbitrary storage for the on-chain state.

### oracle

Expand Down Expand Up @@ -471,7 +471,7 @@ The local testing blockchain you use in the first phase of testing. Using a simu

### slot

A unit of time in the Mina network. As of Mainnet launch, a slot in Mina is 3minutes long. An [epoch](#epoch) is divided into slots. Block producers can find eligible slots to produce blocks in to earn rewards.
A unit of time in the Mina network. A slot in Mina is 90 seconds long. An [epoch](#epoch) is divided into slots. Block producers can find eligible slots to produce blocks in to earn rewards.

### smart contract

Expand Down Expand Up @@ -601,7 +601,7 @@ A command line tool that zkApp developers use to scaffold and deploy smart contr

### zkApp account

A zkApp account is an account on the Mina blockchain where a zkApp smart contract is deployed. Each zkApp account provides 8 fields of 32 bytes each of arbitrary storage. When a Mina address contains a verification key, it acts as a zkApp account.
A smart contract account. Each zkApp account provides 32 fields of 32 bytes each of arbitrary storage. When a Mina address contains a verification key, it acts as a zkApp account.

### zkApp manager account

Expand Down
12 changes: 6 additions & 6 deletions docs/mina-protocol/lifecycle-of-a-payment.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,15 @@ With each subsequent block, a recipient has a higher degree of confidence that t

In the Bitcoin network, a transaction is confirmed after [6 blocks](https://en.bitcoin.it/wiki/Confirmation) (60 mins) with an assumption that an attacker is unlikely to amass more than 10% of the hashrate.

With a slot duration of 3 mins and assuming 90% honest stake, the following table shows the finality in blocks, the average time it takes to produce the corresponding number of blocks, and the confidence that payment will be confirmed.
With a slot duration of 90 seconds and assuming 90% honest stake, the following table shows the finality in blocks, the average time it takes to produce the corresponding number of blocks, and the confidence that payment will be confirmed.

| Finality (in blocks) | Average time for finality | Finality confidence (%) |
| -------------------- | ------------------------- | ----------------------- |
| 8 | 33 mins | 98.6709 |
| 15 | 60 mins | 99.9231 |
| 23 | 1hr 32mins | 99.9965 |
| 30 | 2hrs | 99.9998 |
| 38 | 2hrs 32mins | 100 |
| 8 | 16 mins | 98.6709 |
| 15 | 30 mins | 99.9231 |
| 23 | 46 mins | 99.9965 |
| 30 | 60 mins | 99.9998 |
| 38 | 1hr 16mins | 100 |

Average time is calculated based on consensus constants that determine the number of slots filled per epoch. This is currently set to 75%.

Expand Down
2 changes: 1 addition & 1 deletion docs/mina-protocol/time-locked-accounts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ If you'd like to expose liquid balances for vesting accounts at some particular

```
(*
* uint32 global_slot -- the "clock" it starts at 0 at the genesis block and ticks up every 3minutes.
* uint32 global_slot -- the "clock" it starts at 0 at the genesis block and ticks up every 90 seconds.
* uint32 cliff_time -- the slot where the cliff is (similar to startup equity vesting)
* uint32 cliff_amount -- the amount that unlocks at the cliff
* amount vesting_increment -- unlock this amount every "period"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ apt-get install --allow-downgrades -y "mina-archive-migration=$VERSION"
To get the Docker image:

```
docker pull gcr.io/o1labs-192920/mina-archive-migration:3.0.1-e848ecb-{codename}
docker pull minaprotocol/mina-archive-migration:3.0.1-e848ecb-{codename}
```

Where supported codenames are:
Expand Down
8 changes: 4 additions & 4 deletions docs/network-upgrades/mesa/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ This documentation uses terms like _automode_, _stop-slot_, _trustless upgrade_,

Mesa bundles four Mina Improvement Proposals (MIPs) that change protocol behavior, plus two operational improvements to the upgrade flow itself. See the **[Glossary](/network-upgrades/mesa/glossary)** for detailed descriptions of each MIP and the canonical specs in the [MinaProtocol/MIPs](https://github.com/MinaProtocol/MIPs/tree/main/MIPS) repository.

- **[Faster Blocks — MIP6](/network-upgrades/mesa/glossary#faster-blocks)** — Halves slot time to 90 seconds, halves coinbase reward, halves epoch duration.
- **[Expanded zkApp State — MIP7](/network-upgrades/mesa/glossary#expanded-zkapp-state)** — Raises on-chain state from 8 to 32 field elements per zkApp account.
- **[Larger Events and Actions — MIP8](/network-upgrades/mesa/glossary#larger-events-and-actions)** — Increases per-transaction event/action limit from 100 to 1024 field elements.
- **[Larger zkApp Transactions — MIP9](/network-upgrades/mesa/glossary#larger-zkapp-transactions)** — Triples the max account updates per zkApp transaction.
- **[Faster Blocks — MIP6](/network-upgrades/mesa/glossary#faster-blocks--mip6)** — Halves slot time to 90 seconds, halves coinbase reward, halves epoch duration.
- **[Expanded zkApp State — MIP7](/network-upgrades/mesa/glossary#expanded-zkapp-state--mip7)** — Raises on-chain state from 8 to 32 field elements per zkApp account.
- **[Larger Events and Actions — MIP8](/network-upgrades/mesa/glossary#larger-events-and-actions--mip8)** — Increases per-transaction event/action limit from 100 to 1024 field elements.
- **[Larger zkApp Transactions — MIP9](/network-upgrades/mesa/glossary#larger-zkapp-transactions--mip9)** — Triples the max account updates per zkApp transaction.

### Automode Upgrades

Expand Down
2 changes: 1 addition & 1 deletion docs/network-upgrades/mesa/verify-the-release.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ The Mesa Docker images carry the same programs, so you can verify without instal
```bash
docker run --rm -it \
-v "$PWD:/workdir" \
gcr.io/o1labs-192920/mina-daemon:<mesa-tag> \
minaprotocol/mina-daemon:<mesa-tag> \
bash -c 'FORKING_FROM_CONFIG_JSON=/var/lib/coda/<network>.old.json \
mina-verify-packaged-fork-config \
--network <network> \
Expand Down
2 changes: 1 addition & 1 deletion docs/node-operators/archive-node/archive-redundancy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,6 @@ Export these ledgers using the mina cli command:

mina ledger export [current-staged-ledger|staking-epoch-ledger|next-epoch-ledger]

Epoch ledger transition happens once every 14 days (given slot-time = 3mins and slots-per-epoch = 7140).
Epoch ledger transition happens once every 7 days (given slot-time = 90 seconds and slots-per-epoch = 7140).

The window to backup a staking ledger is ~27 days considering "next" staking ledger is finalized after k (currently 290) blocks in the current epoch and therefore is available for the rest of the current epoch and the entire next epoch.
6 changes: 3 additions & 3 deletions docs/node-operators/archive-node/docker-compose.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ services:
- '5432:5432'
bootstrap_db:
image: 'minaprotocol/mina-archive:3.3.0-8c0c2e6-bullseye-mainnet'
# image: 'gcr.io/o1labs-192920/mina-daemon:3.3.0-alpha1-6929a7e-bullseye-devnet' # Use this image for Devnet
# image: 'minaprotocol/mina-daemon:4.0.0-6965b50-bullseye-devnet' # Use this image for Devnet
command: >
bash -c '
curl -O https://storage.googleapis.com/mina-archive-dumps/mainnet-archive-dump-$(date +%F_0000).sql.tar.gz;
Expand All @@ -52,7 +52,7 @@ services:
condition: service_healthy
missing_blocks_guardian:
image: 'minaprotocol/mina-archive:3.3.0-8c0c2e6-bullseye-mainnet'
# image: 'gcr.io/o1labs-192920/mina-daemon:3.3.0-alpha1-6929a7e-bullseye-devnet' # Use this image for Devnet
# image: 'minaprotocol/mina-daemon:4.0.0-6965b50-bullseye-devnet' # Use this image for Devnet
command: >
bash -c '
curl -O https://raw.githubusercontent.com/MinaFoundation/helm-charts/main/mina-archive/scripts/missing-blocks-guardian-command.sh;
Expand Down Expand Up @@ -82,7 +82,7 @@ services:
condition: service_completed_successfully
mina_node:
image: 'minaprotocol/mina-daemon:3.3.0-8c0c2e6-bullseye-mainnet'
# image: 'gcr.io/o1labs-192920/mina-daemon:3.3.0-alpha1-6929a7e-bullseye-devnet' # Use this image for Devnet
# image: 'minaprotocol/mina-daemon:4.0.0-6965b50-bullseye-devnet' # Use this image for Devnet
restart: always
entrypoint: []
command: >
Expand Down
4 changes: 2 additions & 2 deletions docs/node-operators/block-producer-node/docker-compose.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Copy and paste the provided configuration into a `docker-compose.yml` file. Then
services:
generate_wallet_key:
image: 'minaprotocol/mina-daemon:3.3.0-8c0c2e6-bullseye-mainnet'
# image: 'gcr.io/o1labs-192920/mina-daemon:3.3.0-alpha1-6929a7e-bullseye-devnet' # Use this image for Devnet
# image: 'minaprotocol/mina-daemon:4.0.0-6965b50-bullseye-devnet' # Use this image for Devnet
environment:
MINA_PRIVKEY_PASS: PssW0rD
entrypoint: []
Expand All @@ -32,7 +32,7 @@ services:
- './node/mina-config:/root/.mina-config'
mina_block_producer:
image: 'minaprotocol/mina-daemon:3.3.0-8c0c2e6-bullseye-mainnet'
# image: 'gcr.io/o1labs-192920/mina-daemon:3.3.0-alpha1-6929a7e-bullseye-devnet' # Use this image for Devnet
# image: 'minaprotocol/mina-daemon:4.0.0-6965b50-bullseye-devnet' # Use this image for Devnet
restart: always
environment:
MINA_PRIVKEY_PASS: PssW0rD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This document aims to explain the different components that you should think abo

## Staking Rewards

The coinbase reward for producing a block is 720 tokens.
The coinbase reward for producing a block is 360 MINA.

## Dumping Staking Ledgers

Expand Down Expand Up @@ -59,7 +59,7 @@ It requires an argument to identifier of the ledger you wish to export. The tabl
<br />


In order to ensure you always have each staking ledger available for use after epochs have expired, we recommend exporting the staking-epoch-ledger every (7140 × 3) ÷ 60 = 357 hours (there are 7140 slots in an epoch, and each slot is 3 minutes long).
In order to ensure you always have each staking ledger available for use after epochs have expired, we recommend exporting the staking-epoch-ledger every (7140 × 1.5) ÷ 60 = 178.5 hours (there are 7140 slots in an epoch, and each slot is 90 seconds long).

By default, ledgers are exported as json data. See `mina ledger export -help` for documentation of flags which will enable other formats. When output as json, the ledger will be represented as an array of account objects. Below is an example of what an account object in json looks like.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ You must return rewards to the address specified in the [Mina Delegation Program

Rewards must be distributed at least once for a given epoch. You must send one payment in the amount of your obligation to the correct address specified in the [Mina Delegation Program Return Addresses](https://docs.google.com/spreadsheets/d/1Fm4XSS9Xu4eWAhpM06sdySUKvLClR5SculXfP5o5sSc/edit?usp=sharing) mapping document and if applicable, send the correct amount to the burn address. Both payments should have a memo field with the md5 hash value of your block producer public key. This is the easiest method to avoid confusion in tracking payments and will reduce the likelihood you will be incorrectly flagged as delinquent.

All the rewards for epoch N must be delivered (ie. accepted in a block, not just sent) no later than slot number 3,500 of the next epoch. This gives you about a week to sort out these payments.
All the rewards for epoch N must be delivered (ie. accepted in a block, not just sent) no later than slot number 3,500 of the next epoch. This gives you about half a week to sort out these payments.


### How do I calculate the reward payout?
Expand All @@ -168,9 +168,9 @@ At the end of each epoch, do <u>all</u> of the following:

2. Compute the share of stake from the token provider (from both accounts) by dividing the token provider delegation by the total stake. (i.e. `provider_share = provider_delegation / total_stake`). The resulting share should be between 0 and 1.

3. For each block produced that has a non-zero block-reward on the canonical chain rewards must be calculated based on 720 MINA.
3. For each block produced that has a non-zero block-reward on the canonical chain rewards must be calculated based on 360 MINA.

4. Calculate the Mina Foundation payout by multiplying the coinbase reward (equal to `720 MINA` ) by the provider share calculated in the previous step minus an 8% percent fee. (i.e. `payout = (provider_share * 0.92) * 720)`.
4. Calculate the Mina Foundation payout by multiplying the coinbase reward (equal to `360 MINA` ) by the provider share calculated in the previous step minus an 8% percent fee. (i.e. `payout = (provider_share * 0.92) * 360)`.

5. Send a transaction to the token provider accounts with the appropriate payout and memo - please follow the rules in the "Payout Attribution" section with your transaction.
More details in the following source code parts: [PayoutCalculatorIsolateSuperCharge.ts](https://github.com/jrwashburn/mina-pool-payout/blob/7f00dbd9e693f76ea6a950c29862120a170625a9/src/core/payoutCalculator/PayoutCalculatorIsolateSuperCharge.ts#L126) and [ConfigurationManager.ts](https://github.com/jrwashburn/mina-pool-payout/blob/7f00dbd9e693f76ea6a950c29862120a170625a9/src/configuration/ConfigurationManager.ts#L21C15-L21C15).
Expand All @@ -197,11 +197,11 @@ Now let's consider Epoch 5. The share of the stake from the Foundation is `6 mil

3 blocks are produced in this epoch that end up on the canonical chain. The blocks were won by Account A.

1. Account A retains, 0.2 x 720 MINA x 3 blocks = 432 MINA.
2. Mina Foundation, Account B, payout would be: (0.6 x 0.92) x 720 MINA x 3 blocks = 1,192.32 MINA.
3. Account A retains 8%, (0.6 x 0.08) x 720 MINA x 3 blocks = 103.68 MINA.
3. Account C payout would be: (0.2 x 0.92) x 720 MINA x 3 blocks = 397.44 MINA.
4. Account A retains 8%, (0.2 x 0.08) x 720 MINA x 3 blocks = 34.56 MINA
1. Account A retains, 0.2 x 360 MINA x 3 blocks = 216 MINA.
2. Mina Foundation, Account B, payout would be: (0.6 x 0.92) x 360 MINA x 3 blocks = 596.16 MINA.
3. Account A retains 8%, (0.6 x 0.08) x 360 MINA x 3 blocks = 51.84 MINA.
3. Account C payout would be: (0.2 x 0.92) x 360 MINA x 3 blocks = 198.72 MINA.
4. Account A retains 8%, (0.2 x 0.08) x 360 MINA x 3 blocks = 17.28 MINA


### Relevant Links
Expand Down
2 changes: 1 addition & 1 deletion docs/node-operators/seed-peers/docker-compose.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ services:
- './node/mina-config:/root/.mina-config'
mina_node:
image: 'minaprotocol/mina-daemon:3.3.0-8c0c2e6-bullseye-mainnet'
# image: 'gcr.io/o1labs-192920/mina-daemon:3.3.0-alpha1-6929a7e-bullseye-devnet' # Use this image for Devnet
# image: 'minaprotocol/mina-daemon:4.0.0-6965b50-bullseye-devnet' # Use this image for Devnet
restart: always
environment:
MINA_LIBP2P_PASS: PssW0rD
Expand Down
Loading
Loading