Skip to content

Commit

Permalink
Merge branch 'main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
barriebyron authored Aug 15, 2023
2 parents bc56633 + 69fc72a commit b395860
Show file tree
Hide file tree
Showing 30 changed files with 1,109 additions and 764 deletions.
36 changes: 23 additions & 13 deletions algolia-config.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
{
"index_name": "mina",
"start_urls": ["https://docs.minaprotocol.com"],
"start_urls": [
{
"url": "https://docs.minaprotocol.com"
}
],
"sitemap_urls": ["https://docs.minaprotocol.com/sitemap.xml"],
"sitemap_alternate_links": true,
"js_render": true,
"stop_urls": ["/tests"],
"js_wait": 1,
"stop_urls": ["https://docs.minaprotocol.com/node-developers"],
"selectors_exclude": ["footer"],
"selectors": {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[last()]",
"type": "xpath",
"global": true,
"default_value": "Documentation"
"selector": "",
"defaultValue": "Documentation"
},
"lvl1": "header h1",
"lvl2": "article h2",
"lvl3": "article h3",
"lvl4": "article h4",
"lvl5": "article h5, article td:first-child",
"lvl6": "article h6",
"text": "article p, article li, article td:last-child"
"lvl1": "header h1, article h1, main h1, h1, head > title",
"lvl2": "article h2, main h2, h2",
"lvl3": "article h3, main h3, h3",
"lvl4": "article h4, main h4, h4",
"lvl5": "article h5, main h5, h5",
"lvl6": "article h6, main h6, h6",
"text": "article p, article li, main p, main li, p, li"
},
"strip_chars": " .,;:#",
"custom_settings": {
Expand All @@ -31,6 +35,12 @@
"url",
"url_without_anchor",
"type"
],
"synonyms": [
["js", "javascript"],
["ts", "typescript"],
["es6", "ECMAScript6", "ECMAScript2015"],
["zk", "zero-knowledge", "zero knoweldge"]
]
},
"conversation_id": ["833762294"],
Expand Down
23 changes: 15 additions & 8 deletions docs/about-mina/consensus.mdx
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
---
title: Consensus
description: Mina Protocol uses a proof of stake (PoS) consensus mechanism called Ouroboros Samasika.
keywords:
- proof of stake (PoS)
- Ouroboros Samasika
- consensus mechanism
- mina consensus
---

import ResponsiveVideo from '@site/src/components/common/ResponsiveVideo';

# Consensus

Mina Protocol uses a proof-of-stake consensus mechanism called **Ouroboros Samasika**.
Mina Protocol uses a proof of stake (PoS) consensus mechanism called _Ouroboros Samasika_.

Consensus is the process by which the network determines which information is retained in the blockchain. You can read about the difference between proof of stake (PoS) vs proof of work (PoW) consensus mechanisms in this blog post <a href="https://minaprotocol.com/blog/proof-of-work-vs-proof-of-stake">here</a>.
Consensus is the process by which the network determines which information is retained in the blockchain. To learn more, see the [Proof-of-Work vs Proof-of-Stake](https://minaprotocol.com/blog/proof-of-work-vs-proof-of-stake) blog post.

Learn more about how Ouroboros Samasika works in this video:
How Ouroboros Samasika works is explained in this video:

<ResponsiveVideo src="https://www.youtube.com/embed/NpjuGYcJICA" />

### Decentralization properties
Based on Cardano’s PoS Ouroboros, Ouroboros Samisika is a secure PoS protocol with some strong decentralization properties:
## Decentralization properties

Based on Cardano's PoS Ouroboros, Ouroboros Samisika is a secure PoS protocol with strong decentralization properties:

- Can resolve long-range forks without relying on third parties to provide history
- **No staking minimum** — You can produce blocks and receive block rewards based on your % of the MINA staked on the network. Any user with any amount of MINA can receive these rewards.
- **No slashing**the protocol does not need explicit slashing, since the protocol already enforces the required level of correctness.
- **No staking minimum** — You can produce blocks and receive block rewards based on your percentage of MINA staked on the network. Any user with any amount of MINA can receive these rewards.
- **No slashing**Mina protocol does not need explicit slashing, since the protocol already enforces the required level of correctness.

Learn about <a href="https://minaprotocol.com/blog/how-ouroboros-samasika-upholds-minas-goals-of-decentralization"> how Ouroboros Samasika upholds Mina’s goals of decentralization</a>.
See [How Ouroboros Samasika upholds Mina's goals of decentralization](https://minaprotocol.com/blog/how-ouroboros-samasika-upholds-minas-goals-of-decentralization).
23 changes: 16 additions & 7 deletions docs/about-mina/faq.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
---
title: Mina FAQ
description: Frequently asked questions about Mina Protocol.
keywords:
- mina faq
- mina language
- zkapp language
- 22 KB
- kimchi proof system
- mina scalability
- mina security audits
---

import Subhead from "@site/src/components/common/Subhead";
Expand All @@ -13,35 +22,35 @@ Frequently Asked Questions about Mina Protocol

### What language is Mina written in?

The Mina node is written in OCaml. But you don't need to know OCaml to write smart contracts for Mina.
The Mina node is written in OCaml. You don't need to know OCaml to write smart contracts for Mina.

### What language are zkApp smart contracts written in?

Mina's zero knowledge smart contracts (zkApps) are written in TypeScript.

Learn more about [how to write a zkApp](/zkapps/how-to-write-a-zkapp).
See [How to write a zkApp](/zkapps/how-to-write-a-zkapp).

### How large is the Mina Blockchain?

22 KB

### Given Mina is only 22 KB, where are past transactions stored?

A Mina node can run with an optional flag to make it an archive node to store historic transactions. Archive nodes are useful for anyone running a service such as a block explorer. Still, this historical data is not required to verify the current consensus state of the protocol.
A Mina node can run with an optional flag to make it an archive node to store historical transactions. Archive nodes are useful for anyone running a service, such as a block explorer. Still, this historical data is not required to verify the current consensus state of the protocol.

### What zk proof system does Mina use?
### What zero knowledge (zk) proof system does Mina use?

Mina Protocol uses a custom proof system called Kimchi, which was developed by [O(1) Labs](https://o1labs.org/), and is the only blockchain offering infinite recursion.
Mina Protocol uses a custom proof system called Kimchi, developed by [O(1) Labs](https://o1labs.org/). Mina is the only blockchain offering infinite recursion.

Check out the [Mina Book](https://o1-labs.github.io/proof-systems/plonk/overview.html) to learn more about Kimchi and the cryptography powering Mina Protocol.

### What can I do on the Mina network?

Any node can send and receive transactions on the Mina network. Any node can also choose to be a node operator. See [Node Operators](/node-operators).
Any node can send and receive transactions on the Mina network. Any node can also be a [node operator](/node-operators).

### What consensus algorithm does Mina use?

Mina's consensus mechanism is an implementation of Ouroboros Proof-of-Stake. Due to Mina's unique compressed blockchain, certain aspects of the algorithm have diverged from the Ouroboros papers. The version Mina uses is called Ouroboros Samisika.
Mina's consensus mechanism is an implementation of Ouroboros proof of stake. Due to Mina's unique compressed blockchain, certain aspects of the algorithm have diverged from the Ouroboros papers. The version Mina uses is called Ouroboros Samisika and achieves consensus without long-term history.

#### Is there a Mina block explorer?

Expand Down
42 changes: 23 additions & 19 deletions docs/about-mina/index.mdx
Original file line number Diff line number Diff line change
@@ -1,41 +1,45 @@
---
title: Overview
title: Mina Overview
description: Mina is an L1 blockchain based on zero-knowledge proofs (ZKP) with smart contracts written in TypeScript
keywords:
- mina blockchain
- mina l1
- 22 KB constant size blockchain
- mina network
---

# Overview
# Mina Overview

### What is Mina?
## What is Mina?

Mina is an L1 blockchain based on zero-knowledge proofs (ZKP) with smart contracts written in TypeScript. It is the first cryptocurrency protocol with a succinct blockchain (22KB).
Mina is an L1 blockchain based on zero-knowledge proofs (ZKP) with smart contracts written in TypeScript. It is the first cryptocurrency protocol with a succinct blockchain (22KB).

### Why Mina?
## Why Mina?

Mina Protocol uses zero-knowledge proofs to build a more ideal blockchain architecture.
Mina Protocol uses zero knowledge proofs to build a more ideal blockchain architecture.

Early blockchains, like Bitcoin and Ethereum, accumulate data over time and are currently hundreds of gigabytes in size. As time goes on, their blockchains will continue to increase in size. The entire chain history is required in order to verify the current consensus state of these networks.
Early blockchains, like Bitcoin and Ethereum, accumulate data over time and are currently hundreds of gigabytes in size. As time goes on, their blockchains will continue to increase in size. The entire chain history is required to verify the current consensus state of these networks.

With Mina, the blockchain always remains a constant sizeabout 22KB (the size of a few tweets). Its possible to verify the current consensus state of the protocol using this one recursive, 22KB zero-knowledge proof. This means participants can quickly sync and verify the current consensus state of the network.
With Mina, the blockchain always remains a constant sizeabout 22KB (the size of a few tweets). It's possible to verify the current consensus state of the protocol using this one recursive, 22KB zero-knowledge proof. This means participants can quickly sync and verify the current consensus state of the network.

Learn more about [Minas unique protocol architecture](about-mina/protocol-architecture).
Learn more about Mina's unique [protocol architecture](about-mina/protocol-architecture).

### What are zero-knowledge proofs?
## What are zero-knowledge proofs?

Minas unique characteristics are made possible using zero-knowledge proofs.
Mina's unique characteristics are made possible using zero-knowledge proofs.

Watch this [video to learn about zero-knowledge proofs](about-mina/what-are-zero-knowledge-proofs).
Learn more in this video about [zero-knowledge proofs](about-mina/what-are-zero-knowledge-proofs).

### What are zkApps?
## What are zkApps?

Mina's zero-knowledge smart contracts are referred to as zkApps. zkApps provide powerful and unique characteristics such as unlimited off-chain execution, privacy for private data inputs that are never seen by the blockchain, the ability to write smart contracts in TypeScript, and more.

See [zkApps Overview](/zkapps).

### How does consensus work on Mina?
## How does consensus work on Mina?

The Mina network is secured by proof-of-stake (PoS) consensus called Ouroboros Samisika.
The Mina network is secured by proof of stake (PoS) consensus called Ouroboros Samisika.

Based on Cardanos Ouroboros, Ouroboros Samisika is a PoS consensus mechanism that requires far less computing power than Bitcoins proof-of-work (PoW) protocol.
Based on Cardano's Ouroboros, Ouroboros Samisika is a PoS consensus mechanism that requires far less computing power than Bitcoin's proof of work (PoW) protocol.

With this model of consensus, you don't need expensive and energy consuming mining equipment to participate in consensus. By simply holding MINA in our wallet, we can choose to either stake it ourselves if running a block producing node, or we can delegate it to another node.

Read more about [Mina’s consensus mechanism](./about-mina/consensus).
With this model of Mina's [consensus mechanism](/about-mina/consensus), you don't need expensive and energy-consuming mining equipment to participate in consensus. By simply holding MINA in your wallet, you can choose to stake it yourself by running a [block producer](/node-operators/block-producers) node or delegate your MINA to another node.
9 changes: 6 additions & 3 deletions docs/about-mina/protocol-architecture.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: Protocol Architecture
title: Mina Protocol Architecture
hide_title: true
description: Short video explaining how the Mina protocol works.
keywords:
- how mina protocol works
---

import ResponsiveVideo from '@site/src/components/common/ResponsiveVideo';
Expand All @@ -11,11 +14,11 @@ A new version of Mina Docs is coming soon! This page will be rewritten.

:::

# Protocol Architecture
# Mina Protocol Architecture

## How Does it Work?

Check out this short video explaining how the Mina protocol works in detail:
Check out this short video explaining how the Mina protocol works:

<ResponsiveVideo src="https://www.youtube-nocookie.com/embed/eWVGATxEB6M?start=100&enablejsapi=1&rel=0" />

Expand Down
42 changes: 0 additions & 42 deletions docs/about-mina/smart-contracts.mdx

This file was deleted.

11 changes: 7 additions & 4 deletions docs/about-mina/what-are-zero-knowledge-proofs.mdx
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
---
title: What are Zero-Knowledge Proofs?
title: What are Zero Knowledge Proofs?
description: Short video explaining zero knowledge proofs.
keywords:
- zero knowledge proofs
---

import ResponsiveVideo from '@site/src/components/common/ResponsiveVideo';

# What are Zero-Knowledge Proofs?
# What are Zero Knowledge Proofs?

Zero-knowledge proofs keep Mina's blockchain light and your personal data private.
Zero knowledge proofs keep Mina's blockchain light and your personal data private.

In this video, Brandon from <a href="https://o1labs.org/">O(1) Labs</a> explains what zero-knowledge proofs are by comparing them to the game of "Where's Waldo?". By the end of this video, you know what zero-knowledge proofs are, how they work, and their importance to Mina and the greater crypto community.
In this video, Brandon from <a href="https://o1labs.org/">O(1) Labs</a> explains what zero knowledge proofs are by comparing them to the game of "Where's Waldo?". Learn what zero knowledge proofs are, how they work, and their importance to Mina and the greater crypto community.

<ResponsiveVideo src="https://www.youtube.com/embed/GvwYJDzzI-g" />
Loading

0 comments on commit b395860

Please sign in to comment.