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

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

chiapos-0.12.5-cp38-cp38-manylinux2010_x86_64.whl (189.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

chiapos-0.12.5-cp38-cp38-macosx_10_14_x86_64.whl (177.1 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

chiapos-0.12.5-cp37-cp37m-manylinux2010_x86_64.whl (189.7 kB view details)

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

chiapos-0.12.5-cp37-cp37m-macosx_10_14_x86_64.whl (176.2 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

File details

Details for the file chiapos-0.12.5-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: chiapos-0.12.5-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 189.7 kB
  • Tags: CPython 3.8, 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.45.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.5-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bdf19dd0fc40125baf83b559511cad3afabc69418c8bc2c11a2484b915951977
MD5 89b938113b8e831bff9ff18599613ec5
BLAKE2b-256 c7fdec17bc727dbc71ada6f7bd9371127920256c0e582daaf6f01dd30233768a

See more details on using hashes here.

File details

Details for the file chiapos-0.12.5-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: chiapos-0.12.5-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 177.1 kB
  • Tags: CPython 3.8, macOS 10.14+ 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.45.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.5-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5b8b432be6b5676c8e48246e19e5c32b8337d0b3015a0a116f63dcafd346e808
MD5 bae14e11cdda6e37ceefa2c33b8ca631
BLAKE2b-256 f1bad1321e61e9754230bf3fe50a32f770c9a1107a68878dfa15b050b5778072

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.5-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 189.7 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.45.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.5-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3e22116a989a65df112c037f4cdeb76451da7ff5dd6b7763b86c902c1ca8f3c3
MD5 73c2782947d81f3e99b9f594923f408f
BLAKE2b-256 a3443e9f2259676c011aad6649668389e9892620692167fe4b311138ad6e4455

See more details on using hashes here.

File details

Details for the file chiapos-0.12.5-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: chiapos-0.12.5-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 176.2 kB
  • Tags: CPython 3.7m, macOS 10.14+ 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.45.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.5-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 de2c6e49e8f62925e240fbe839ae762ec8cc9ba92fe288b37b0f66083afa7430
MD5 b4ae2a848717afa5ad27dd64190e6713
BLAKE2b-256 97923dcd62a88131185b721817d6f4a1efc972ee0eb0fc91d563f57447b31dd2

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