Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix typos #181

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/concepts/Celestia.md
@@ -1,6 +1,6 @@
# Celestia

Leveraging Celestia‘s [data availability (DA)](https://blockworks.co/news/data-availability-ethereum), Manta Pacific delivers a blazing-fast infrastructure at a fraction of the cost of monolothic L2s. Celestia employs cutting-edge data availability sampling techniques—two-dimensional Reed-Solomon coding and Namespaced Merkle Trees (NMTs)—to address L2 data availability concerns in a trust-minimized manner. By using Celestia as the DA (Data Availability) layer, Manta Pacific can significantly reduce transaction costs for users.
Leveraging Celestia‘s [data availability (DA)](https://blockworks.co/news/data-availability-ethereum), Manta Pacific delivers a blazing-fast infrastructure at a fraction of the cost of monolithic L2s. Celestia employs cutting-edge data availability sampling techniques—two-dimensional Reed-Solomon coding and Namespaced Merkle Trees (NMTs)—to address L2 data availability concerns in a trust-minimized manner. By using Celestia as the DA (Data Availability) layer, Manta Pacific can significantly reduce transaction costs for users.

## What is Celestia?

Expand Down
2 changes: 1 addition & 1 deletion docs/learn/Spec.md
@@ -1,5 +1,5 @@
# Core Protocol Specification

MantaPay protocol defines a flexible private asset protocol that supports fungible tokens, non-fungible tokens (NFTs), and soul bound tokens (SBTs). MantaPay allows users to use a permenant address (`zkAddress`) to hold, transfer, and convert to public verious blockchain asset with privacy built in (`zkAsset`).
MantaPay protocol defines a flexible private asset protocol that supports fungible tokens, non-fungible tokens (NFTs), and soul bound tokens (SBTs). MantaPay allows users to use a permanent address (`zkAddress`) to hold, transfer, and convert to public various blockchain asset with privacy built in (`zkAsset`).

Reference: [MantaPay Protocol v1.0.0](https://github.com/Manta-Network/spec/blob/main/manta-pay/spec.pdf)
2 changes: 1 addition & 1 deletion docs/openzl/alloc.md
Expand Up @@ -46,7 +46,7 @@ pub trait Variable<M, COM = ()> {
fn new_unknown(compiler: &mut COM) -> Self;

/// Allocates a new known value from `this` into the `compiler`. The terminology
/// "known" refers to the fact that we have access to the underyling value during
/// "known" refers to the fact that we have access to the underlying value during
/// execution time where we are able to use its concrete value for execution.
fn new_known(this: &Self::Type, compiler: &mut COM) -> Self;
}
Expand Down
6 changes: 3 additions & 3 deletions docs/openzl/proposal.md
Expand Up @@ -4,7 +4,7 @@

## Overview

OpenZL is an open-source library that helps practioners (especially in Web3 space) to develop and deploy secure, high performance zero-knowledge proof code in production. It tries to bridge the gap between low level cryptographic primitives and devlopers' need to build scalable protocols using zero-knowlege proof cryptography securely and quickly. More specifically, many developers today want to leverage zero-knowledge proof systems to build powerful protocols like ZCash/Manta/ZKSync. However, they are facing two less than ideal choices; first, building a protocol using high-level languages like [Circom](https://docs.circom.io) or [Cairo](https://www.cairo-lang.org) loses many performance optimization opportunities, and second, building the protocol directly using libraries like [`arkworks/groth16`](https://github.com/arkworks-rs/groth16), [`zk-garage/plonk`](https://github.com/zk-garage/plonk), or [`microsoft/nova`](https://github.com/microsoft/Nova) requires expertise in cryptography and can be very error-prone. Also, zero-knowledge proof systems are a moving target. There have been many new, and "better", proof systems coming out every 2-3 years ([BCTV](https://eprint.iacr.org/2013/879.pdf) -> [Groth16](https://eprint.iacr.org/2016/260.pdf) -> [Plonk](https://eprint.iacr.org/2019/953) -> [Nova](https://eprint.iacr.org/2021/370)). OpenZL tries to solve this problem by building flexible, proof-system agnostic, and extensible libraries for Web3 practitioners.
OpenZL is an open-source library that helps practitioners (especially in Web3 space) to develop and deploy secure, high performance zero-knowledge proof code in production. It tries to bridge the gap between low level cryptographic primitives and devlopers' need to build scalable protocols using zero-knowledge proof cryptography securely and quickly. More specifically, many developers today want to leverage zero-knowledge proof systems to build powerful protocols like ZCash/Manta/ZKSync. However, they are facing two less than ideal choices; first, building a protocol using high-level languages like [Circom](https://docs.circom.io) or [Cairo](https://www.cairo-lang.org) loses many performance optimization opportunities, and second, building the protocol directly using libraries like [`arkworks/groth16`](https://github.com/arkworks-rs/groth16), [`zk-garage/plonk`](https://github.com/zk-garage/plonk), or [`microsoft/nova`](https://github.com/microsoft/Nova) requires expertise in cryptography and can be very error-prone. Also, zero-knowledge proof systems are a moving target. There have been many new, and "better", proof systems coming out every 2-3 years ([BCTV](https://eprint.iacr.org/2013/879.pdf) -> [Groth16](https://eprint.iacr.org/2016/260.pdf) -> [Plonk](https://eprint.iacr.org/2019/953) -> [Nova](https://eprint.iacr.org/2021/370)). OpenZL tries to solve this problem by building flexible, proof-system agnostic, and extensible libraries for Web3 practitioners.

OpenZL consists of 3 parts:
* *Gadget libraries*: a library of gadgets that developers can use as building blocks for their protocols. The initial range of the gadgets includes accumulators (merkle tree with zero-knowledge membership proof), zk-friendly hash functions (poseidon hash), and commitment schemes. The gadget libraries are programmed in `eclair`.
Expand Down Expand Up @@ -34,7 +34,7 @@ OpenZL consists of 3 parts:
OpenZL provides list of cryptographic primitives with *optimized* zero-knowledge proof implementations in `eclair`.
These gadgets are composable and can be combined to build more powerful protocols such as anonymous payment (ZCash/Manta) or zk-rollups. The gadget library that OpenZL provides on its initial release includes:
* *hashing gadget*: an optimized implementation of the Poseidon Hash Function [1], with parameterized arity (2, 4, 8)
* *accumulator gadget*: Merkle tree gadget that supports zero-knowlegde membership proofs. The Merkle tree gadget supports incremental updates as well.
* *accumulator gadget*: Merkle tree gadget that supports zero-knowledge membership proofs. The Merkle tree gadget supports incremental updates as well.
* *commitment gadget*: A commitment scheme that is both *binding* and *hiding*. This commitment scheme is built on top of the *hashing gadget*.

### Embedded Circuit Language And Intermediate Representation (`eclair`)
Expand Down Expand Up @@ -161,7 +161,7 @@ Totol budget: 1,010,500 USD (will be converted to DOT using the exchange rate on

### Oversight Committee

Oversight commitee will manage the overall execution and the financial budget of OpenZL:
Oversight committee will manage the overall execution and the financial budget of OpenZL:
* **Shumo Chu** (Co-founder, Manta Network)
* **Luke Pearson** (Research Partner, Polychain Capital)
* **Bryan Chen** (CTO, Acala Network)
Expand Down
Expand Up @@ -138,7 +138,7 @@ $$

为了满足这个约束, `Alice` 会生成两种证书,*UTXOs* 和 *void numbers*

*UTXO*或 *Unspent Transation Output* 是接收者未来可以花费的证书。 它以下列方式在公共账本协议中使用:
*UTXO*或 *Unspent Transaction Output* 是接收者未来可以花费的证书。 它以下列方式在公共账本协议中使用:

1. 证明`Alice` 拥有当前UTXO

Expand Down