添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  1. halo2
  2. Concepts
    1. Proof systems
    2. PLONKish Arithmetization
    3. Chips
    4. Gadgets
  3. User Documentation
    1. Developer tools
    2. A simple example
    3. Lookup tables
    4. Gadgets
    5. Tips and tricks
    6. WASM Guide
  4. Developer Documentation
    1. Feature development
  5. Design
    1. Proving system
      1. Lookup argument
      2. Permutation argument
      3. Circuit commitments
      4. Vanishing argument
      5. Multipoint opening argument
      6. Inner product argument
      7. Comparison to other work
    2. Protocol Description
    3. Implementation
      1. Proofs
      2. Fields
      3. Selector combining
    4. Gadgets
      1. Elliptic curve cryptography
        1. Witnessing points
        2. Incomplete and complete addition
        3. Fixed-base scalar multiplication
        4. Variable-base scalar multiplication
      2. Sinsemilla
        1. MerkleCRH
      3. Decomposition
      4. SHA-256
        1. 16-bit table chip
  6. Background Material
    1. Fields
    2. Polynomials
    3. Cryptographic groups
    4. Elliptic curves
    5. Polynomial commitment using inner product argument
    6. Recursion

Usage

This repository contains the halo2_proofs and halo2_gadgets crates, which should be used directly.

Minimum Supported Rust Version

Requires Rust 1.60 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.

Controlling parallelism

halo2 currently uses rayon for parallel computation. The RAYON_NUM_THREADS environment variable can be used to set the number of threads.

You can disable rayon by disabling the "multicore" feature. Warning! Halo2 will lose access to parallelism if you disable the "multicore" feature. This will significantly degrade performance.

License

Licensed under either of

  • Apache License, Version 2.0, ( LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license ( LICENSE-MIT or http://opensource.org/licenses/MIT)
  • at your option.

    Contribution

    Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.