Skip to content

Commit

Permalink
Merge branch 'main' into feature/tutorial-4-ghpages
Browse files Browse the repository at this point in the history
  • Loading branch information
ymekuria authored Aug 17, 2023
2 parents d7f5e94 + 3264128 commit 8747a1c
Show file tree
Hide file tree
Showing 5 changed files with 294 additions and 254 deletions.
50 changes: 45 additions & 5 deletions docs/glossary.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Generating a SNARK for a computation output can be thought of as compressing tha

### consensus

An algorithm or set of rules that Mina nodes all agree upon when deciding to update the state of the network. Rules can include what data a new block can contain and how nodes are selected and rewarded for adding a block. Mina implements the [Ouroboros Samisika](/glossary#ouroboros-samisika) consensus mechanism.
A process through which all the peers of a blockchain network reach a common agreement about the present state of the distributed ledger. A consensus algorithm or set of rules that Mina nodes all agree upon when deciding to update the state of the network. Rules can include what data a new block can contain and how nodes are selected and rewarded for adding a block. Mina implements the [Ouroboros Samisika](/glossary#ouroboros-samisika) consensus mechanism.

### consensus node

Expand All @@ -98,6 +98,10 @@ A digital asset or currency that uses cryptographic primitives to secure financi

The Mina daemon is a background process that implements the Mina protocol and runs on a node locally so a local client or wallet can talk to the Mina network. For example, when a CLI is used to issue a command to send a transaction, this request is made to the Mina daemon, which then broadcasts it to the peer-to-peer network. The daemon also listens for events like new blocks and relays this to the client by using a [pub-sub](#pub-sub) model.

### DAO

A decentralized autonomous organization (DAO) operates based on rules that are encoded on a blockchain and executed through smart contracts. DAOs are an organizational structure built with blockchain technology.

### delegating

Because staking MINA requires nodes to be online, some nodes delegate their MINA to another node that runs a staking service. This process is called delegating a stake. The service provider or staking pool operator can charge a fee that is deducted any time the delegator gets selected to be a block producer.
Expand All @@ -112,6 +116,14 @@ A digital system for recording the transaction of assets in which the transactio

## E

## elliptic curves

Equations with a specific template: _y^2 = x^3 + ax^ + b_: [secp256k1](/glossary#secp256k1),

### elliptic-curve cryptography (ECC)

An approach to public key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC is the basis of how Ethereum and other cryptocurrencies use private keys and digital signatures.

### epoch

A unit of time equal to 7140 slots at Mainnet. An epoch is divided into [slots](#slot) of 3minutes each.
Expand All @@ -130,6 +142,10 @@ Also referred to as a [block](#block), an external transition is generated exter

## F

## fee payer account

A developer account that is funded and can always pay fees immediately. When you configure a zkApp, you can choose to use a stored account or create a new fee payer account.

### field element

The basic unit of data in zero knowledge proof programming. Each field element can store a number up to almost 256 bits in size. You can think of a field element as a uint256 in Solidity. For the cryptography inclined, the exact max value that a field can store is 28,948,022,309,329,048,855,892,746,252,171,976,963,363,056,481,941,560,715,954,676,764,349,967,630,336.
Expand Down Expand Up @@ -160,7 +176,7 @@ A combination of a [private key](#private-key) and [public key](#public-key). Ke

### Kimchi

The proof system for Mina, Kimchi is the main machinery that generates the recursive proofs that keep the Mina blockchain small (about 22 KB). Kimchi is a zero-knowledge proof system that's a variant of [PLONK](/glossary#plonk).
The proof system for Mina, Kimchi is the main machinery that generates the recursive proofs that keep the Mina blockchain small (about 22 KB). Kimchi, a zero-knowledge proof system that's a variant of [PLONK](/glossary#plonk), features a polynomial commitment scheme that supports verifiable computation using traditional Turing machine-based instruction sets.

## L

Expand Down Expand Up @@ -216,6 +232,14 @@ An incrementing number attached to a transaction used to prevent a replay of a t

## O

### off-chain

A transfer of value or data, including transactions, that occurs outside a given blockchain network. These transfers do not need blockchain network confirmation, which speeds up the transaction process and reduces lag time.

### on-chain

A transfer of value or data, including transactions, that exist on and have been verified to a blockchain network. All relevant information is time-stamped and stored on the public ledger. On-chain transactions are recorded on the blockchain and need network confirmation before they are completed.

### Ouroboros Samisika

Mina builds on this provably secure proof of stake (PoS) protocol that combines the best features of each iteration of Ouroboros to deliver a PoS consensus mechanism that can resolve long-range forks without requiring history or risking centralization by relying on trusted third parties to provide fork information.
Expand All @@ -230,13 +254,17 @@ Networking systems that rely on peer nodes to distribute information amongst eac

Mina's inductive zk-SNARK composition system. See [Pickles](https://o1-labs.github.io/proof-systems/specs/pickles.html).

### Pickles SNARK

A proof system and associated toolkit that is the first deployed SNARK capable of recursive composition with no trusted setup. Pickles serves as the basis for developers to build private, scalable smart contracts on Mina. [Meet Pickles SNARK: Enabling Smart Contracts on Mina Protocol](https://medium.com/minaprotocol/meet-pickles-snark-enabling-smart-contract-on-coda-protocol-7ede3b54c250).

### PLONK

Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge (PLONK) is general-purpose zero knowledge proof scheme.

### Pickles SNARK
### polynomial commitment

A proof system and associated toolkit that is the first deployed SNARK capable of recursive composition with no trusted setup. Pickles serves as the basis for developers to build private, scalable smart contracts on Mina. [Meet Pickles SNARK: Enabling Smart Contracts on Mina Protocol](https://medium.com/minaprotocol/meet-pickles-snark-enabling-smart-contract-on-coda-protocol-7ede3b54c250).
A commitment scheme that allows a committer to commit to a polynomial with a short string that can be used by a verifier to confirm claimed evaluations of the committed polynomial.

### precomputed block

Expand All @@ -254,9 +282,17 @@ The state of the network that comprises the previous protocol state hash to link

The hash of hashes of the previous state and [protocol state](#protocol-state) body. Acts as a unique identifier for a block.

### proof of liabilities (PoL)

A cryptographic primitive to prove the size of funds a bank, or centralized exchange (CEX), owes to its customers in a decentralized manner and can be used for solvency audits with better privacy guarantees.

### proof of stake (PoS)

The Mina consensus algorithm that allows nodes to agree on the state of the network. PoS allows nodes to [stake](node-operators/staking-and-snarking) MINA on the network to increase their chance of being selected as the next block producer.
The Mina consensus algorithm that allows nodes to agree on the state of the network. PoS allows nodes to [stake](node-operators/staking-and-snarking) MINA on the network to increase their chance of being selected as the next block producer. The winning validators are compensated with a percentage yield of the crypto they have staked as an incentive for engaging in this process. See [Proof-of-Work vs Proof-of-Stake](https://minaprotocol.com/blog/proof-of-work-vs-proof-of-stake).

### proof of work (PoW)

The original consensus process used by Bitcoin, the first cryptocurrency. PoW achieves the decentralized consensus needed to add new blocks to a blockchain by using machines to compete against one another by guessing the answer to math problems that have no feasible faster solution. Computational power is a requirement for the PoW protocol success and assumes that those contributing more resources (energy, supercomputers, and infrastructure) to a problem are less likely to want to destroy the protocol. As an incentive to participate in this consensus process, miners are rewarded with tokens.

### prover function

Expand Down Expand Up @@ -294,6 +330,10 @@ An [(RPC)] (https://en.wikipedia.org/wiki/Remote_procedure_call) is used to comm

A data structure that allows decoupling the production of transaction SNARKs from block producers to [SNARK workers](#snark-worker). See [Scan State](/node-operators/scan-state).

### secp256k1

The elliptic curve using this equation _y²=x³+7, a=0 b=7_, constructed in a special non-random way to allow for especially efficient computation. secp256k1 can have a key size of up to 256 bits. All points on this curve are valid public keys.

### signature

Short for digital signature, a way to establish authenticity or ownership of digitally signed messages.
Expand Down
13 changes: 5 additions & 8 deletions docs/node-operators/foundation-delegation-program.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -139,18 +139,15 @@ Include a memo listing the epoch number your payment corresponds to.

### Where do I send my rewards?

Please read instructions below on where and how to return block rewards:

#### Delegation Addresses
Download the following spreadsheet to see the full list of delegation addresses to send and receive rewards:
Download the following spreadsheet to see the full list of delegation addresses and designated address to send back rewards:

- [Mina Foundation](/Mina_Foundation_Addresses.csv)
- [Mina Foundation](https://docs.google.com/spreadsheets/d/1Fm4XSS9Xu4eWAhpM06sdySUKvLClR5SculXfP5o5sSc/)

#### Payout Attribution
In order for the token provider to associate the transaction with your delegation, please send the transaction back to the same address that sent you the delegations.

:::tip

Reminder: You must send computed rewards to the same addresses that delegate to you. It is no longer necessary to add identifying information in the memo.
:::
In order for the token provider to associate the transaction with your delegation, please send the transaction to the address listed on the spreadsheet linked above. In the spreadsheet you can find the Mina Foundation address delegating to you, and directly to the right of the address will be the address you should return the rewards to.

### How do I calculate the reward payout?

Expand Down
2 changes: 2 additions & 0 deletions docs/zkapps/tutorials/02-private-inputs-hash-functions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,8 @@ The smart contract initialization this time is:
35 zkAppInstance.deploy();
36 zkAppInstance.initState(salt, Field(750));
37 });
38
39 await deployTxn.prove();
...
```
Expand Down
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ module.exports = {
'zkapps/snarkyjs/basic-concepts',
'zkapps/snarkyjs/smart-contracts',
'zkapps/snarkyjs/interact-with-mina',
'zkapps/snarkyjs/fetch-events-and-actions',
'zkapps/snarkyjs/events',
'zkapps/snarkyjs/actions-and-reducer',
'zkapps/snarkyjs/fetch-events-and-actions',
'zkapps/snarkyjs/on-chain-values',
'zkapps/snarkyjs/recursion',
'zkapps/snarkyjs/custom-tokens',
Expand Down
Loading

0 comments on commit 8747a1c

Please sign in to comment.