Skip to main content

Chia proof of space plotting, proving, and verifying (wraps C++)

Project description

# Chia Proof of Space

A prototype of Chia’s proof of space, written in C++. Includes a plotter, prover, and verifier. Only runs on 64 bit architectures with AES-NI support. Read the [Proof of Space document](https://www.chia.net/assets/proof_of_space.pdf) to learn about what proof of space is and how it works.

## C++ Usage Instructions

### Compile

`bash mkdir -p build && cd build cmake ../ cmake --build . -- -j 6 `

### Run tests

`bash ./RunTests `

### CLI usage

`bash ./ProofOfSpace -k 25 -f "plot.dat" -m "0x1234" generate ./ProofOfSpace -f "plot.dat" prove <32 byte hex challenge> ./ProofOfSpace -k 25 verify <hex proof> <32 byte hex challenge> ./ProofOfSpace -f "plot.dat" check <iterations> `

### Benchmark

`bash time ./ProofOfSpace -k 25 generate `

### Hellman Attacks usage

There is an experimental implementation which implements some of the Hellman Attacks that can provide significant space savings for the final file.

`bash ./HellmanAttacks -k 18 -f "plot.dat" -m "0x1234" generate ./HellmanAttacks -f "plot.dat" check <iterations> `

## Python

Finally, python bindings are provided in the python-bindings directory.

### Install

`bash python3 -m venv .venv . .venv/bin/activate pip3 install . `

### Run python tests

Testings uses pytest. Type checking uses pyright, and linting uses flake8.

`bash py.test ./tests -s -v `

Project details


Release history Release notifications | RSS feed

This version

0.12

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chiapos-0.12.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

chiapos-0.12-cp37-cp37m-manylinux2010_x86_64.whl (306.0 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

chiapos-0.12-cp37-cp37m-macosx_10_15_x86_64.whl (170.7 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

Details for the file chiapos-0.12.tar.gz.

File metadata

  • Download URL: chiapos-0.12.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.tar.gz
Algorithm Hash digest
SHA256 ac2f153d10f9cae73b4bca6a9b14377a07dcb58e364d5a5874c45cf95110b1e6
MD5 b6144da340a96daebd9ad5718e7b08bc
BLAKE2b-256 5b2c6cdf6822d0e01bf1f4dedccaedfb5809d042599082e202309b739b15ab09

See more details on using hashes here.

File details

Details for the file chiapos-0.12-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: chiapos-0.12-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 306.0 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 97b1f81f2956df569bb16118d803b8ad74c4bb954a0badc7e65bcb1c54008827
MD5 ccf66c031e2bbf53701e1d58fe9abe91
BLAKE2b-256 7f05206a1e613f7d93da6af0bc58c79f5b0e328364f3fc816c3028294bce4eb4

See more details on using hashes here.

File details

Details for the file chiapos-0.12-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: chiapos-0.12-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 170.7 kB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 78b23a36a2d5d2e7f72eb25fd31c3f387be9ede3e307fd330163be8e244efb65
MD5 62658a6184b428b781e0b40688a027c8
BLAKE2b-256 73b3a94d8dd4c2fdd1f3ee61ecd3b4cc0bf4c884f1f50b6c727bd3d4186fc0a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page