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.6-cp38-cp38-win_amd64.whl (189.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

chiapos-0.12.6-cp38-cp38-manylinux2010_x86_64.whl (189.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

chiapos-0.12.6-cp38-cp38-macosx_10_14_x86_64.whl (177.7 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

chiapos-0.12.6-cp37-cp37m-win_amd64.whl (189.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

chiapos-0.12.6-cp37-cp37m-manylinux2010_x86_64.whl (190.3 kB view details)

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

chiapos-0.12.6-cp37-cp37m-macosx_10_14_x86_64.whl (176.8 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

File details

Details for the file chiapos-0.12.6-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: chiapos-0.12.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 189.3 kB
  • Tags: CPython 3.8, Windows 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.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3800100e4e2ff8e39c99ebfd4606c2e83bfb25171e9513a6103e90bdbc631964
MD5 5ddb94703f0fea2420ab2b1310c2a0e1
BLAKE2b-256 a9f5bcf3e558cc55b75b75b101f53dcff423d7d9bc8822398d98c8d9d5f69689

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.6-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 189.8 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.6-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7b84cfdc2d23c6420fc8246f7f069ad994b02974f3228cdff80cb652cf35b89f
MD5 bc33ae0cf5553dfb6210192e9b4ff970
BLAKE2b-256 5134f3087174c758b3cfea438556c2c5e543db0351554cd9ca95d6e1c0bf83cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.6-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 177.7 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.6-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 f21b9d20d419262a725ff21f85b76b72985f903c4328b550d6550971af2b7710
MD5 a9efad6cd1662d213f5f7cc6585b40fd
BLAKE2b-256 102af22650e280dc60789f102b7c3e4e5d54a5812d73cd8a92d1dcca51566ade

See more details on using hashes here.

File details

Details for the file chiapos-0.12.6-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: chiapos-0.12.6-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 189.6 kB
  • Tags: CPython 3.7m, Windows 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.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7a989507a701971ed00ec2a2beefc85a7be3d6d0e95556381add853ef2239b62
MD5 e09f040955b6ff11c80578f792bad682
BLAKE2b-256 3a3afc4f70e3b3828a1ab8684dace9b72e6753d24e9263efaa5bb2cc9582980a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.6-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 190.3 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.6-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 aad25d4d31619ecf1fbd2adb49b19d6f5a8539280f8f88ce972b83332cf6befb
MD5 aee3abf6d0eefd6d3a6aaa5ea2027bf0
BLAKE2b-256 c532ef707b3431e9b6cc69bf29f9267950052f33cc8dc034c5c298e791327e41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.6-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 176.8 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.6-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d6ec66f0c427bb86f478acb6a60dd35b035d4cd0a316970b748dec5440b20968
MD5 31ec2e120edf5e22e8cf9a4188a10060
BLAKE2b-256 a5b759d2b6e3d1723559894f8ef2b4fb17cfbc67e086d304a63d87a02b5004a3

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