Skip to content

Commit 9e2bae3

Browse files
committed
Merge branch 'main' into tuto4-deploy-github
2 parents d21a6bd + 339e405 commit 9e2bae3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+3195
-400
lines changed

docs/glossary.mdx

+45-5
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Generating a SNARK for a computation output can be thought of as compressing tha
8282

8383
### consensus
8484

85-
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.
85+
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.
8686

8787
### consensus node
8888

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

9999
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.
100100

101+
### DAO
102+
103+
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.
104+
101105
### delegating
102106

103107
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.
@@ -112,6 +116,14 @@ A digital system for recording the transaction of assets in which the transactio
112116

113117
## E
114118

119+
## elliptic curves
120+
121+
Equations with a specific template: _y^2 = x^3 + ax^ + b_: [secp256k1](/glossary#secp256k1),
122+
123+
### elliptic-curve cryptography (ECC)
124+
125+
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.
126+
115127
### epoch
116128

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

131143
## F
132144

145+
## fee payer account
146+
147+
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.
148+
133149
### field element
134150

135151
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.
@@ -160,7 +176,7 @@ A combination of a [private key](#private-key) and [public key](#public-key). Ke
160176

161177
### Kimchi
162178

163-
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).
179+
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.
164180

165181
## L
166182

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

217233
## O
218234

235+
### off-chain
236+
237+
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.
238+
239+
### on-chain
240+
241+
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.
242+
219243
### Ouroboros Samisika
220244

221245
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.
@@ -230,13 +254,17 @@ Networking systems that rely on peer nodes to distribute information amongst eac
230254

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

257+
### Pickles SNARK
258+
259+
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).
260+
233261
### PLONK
234262

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

237-
### Pickles SNARK
265+
### polynomial commitment
238266

239-
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).
267+
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.
240268

241269
### precomputed block
242270

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

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

285+
### proof of liabilities (PoL)
286+
287+
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.
288+
257289
### proof of stake (PoS)
258290

259-
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.
291+
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).
292+
293+
### proof of work (PoW)
294+
295+
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.
260296

261297
### prover function
262298

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

295331
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).
296332

333+
### secp256k1
334+
335+
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.
336+
297337
### signature
298338

299339
Short for digital signature, a way to establish authenticity or ownership of digitally signed messages.

docs/node-operators/foundation-delegation-program.mdx

+5-8
Original file line numberDiff line numberDiff line change
@@ -139,18 +139,15 @@ Include a memo listing the epoch number your payment corresponds to.
139139

140140
### Where do I send my rewards?
141141

142+
Please read instructions below on where and how to return block rewards:
143+
142144
#### Delegation Addresses
143-
Download the following spreadsheet to see the full list of delegation addresses to send and receive rewards:
145+
Download the following spreadsheet to see the full list of delegation addresses and designated address to send back rewards:
144146

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

147149
#### Payout Attribution
148-
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.
149-
150-
:::tip
151-
152-
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.
153-
:::
150+
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.
154151

155152
### How do I calculate the reward payout?
156153

docs/zkapps/experimental.mdx

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
title: Experimental features
3+
description: Experimental features are not considered production-ready.
4+
keywords:
5+
- experimental
6+
- feedback
7+
---
8+
9+
# Experimental features
10+
11+
Some new features are considered experimental before they are production-ready.
12+
13+
Exposing experimental features gives you an opportunity to try our newest features sooner.
14+
15+
In return, your feedback helps us make sure that our new features are reliable and useful.
16+
17+
## Feedback
18+
19+
We appreciate any and all feedback you want to provide.
20+
21+
The best place to provide feedback and ask questions is on [Mina Protocol Discord](https://bit.ly/MinaDiscord).
22+
23+
To ask zkApps questions and engage with other developers building zkApps with SnarkyJS, use the [#zkapps-developers](https://discord.com/channels/484437221055922177/915745847692636181) channel.
24+
25+
Experimental features are in active development and your feedback is especially appreciated.
26+
27+
- The feature may have bugs
28+
- The feature may be changed, deprecated, or removed
29+
- Any documentation for the feature explicitly notes the feature is experimental

docs/zkapps/snarkyjs/recursion.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ zkApp programmability is not yet available on the Mina Mainnet. You can get star
2020

2121
:::
2222

23-
Experimental. This API may change.
23+
[Experimental](/zkapps/experimental). This API may change.
2424

25-
Specifically, we are looking into refactoring ZkProgram methods to explicitly return values rather than requiring them to be passed as further inputs.
25+
Specifically, ZkProgram methods could be refactored to explicitly return values rather than requiring them to be passed as further inputs.
2626

2727
# Recursion
2828

docs/zkapps/snarkyjs/smart-contracts.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ keywords:
2020

2121
:::info
2222

23-
Experimental. This API may change.
23+
[Experimental](/zkapps/experimental). This API may change.
2424

25-
Specifically, we are looking into refactoring ZkProgram methods to explicitly return values rather than requiring them to be passed as further inputs.
25+
Specifically, ZkProgram methods could be refactored to explicitly return values rather than requiring them to be passed as further inputs.
2626

2727
:::
2828

docs/zkapps/tutorials/02-private-inputs-hash-functions.mdx

+2
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,8 @@ The smart contract initialization this time is:
261261
35 zkAppInstance.deploy();
262262
36 zkAppInstance.initState(salt, Field(750));
263263
37 });
264+
38
265+
39 await deployTxn.prove();
264266
...
265267
```
266268

0 commit comments

Comments
 (0)