Skip to main content

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

Project description

![Build](https://github.com/Chia-Network/chiapos/workflows/Build/badge.svg) # 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 Distribution

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

Uploaded Source

Built Distributions

chiapos-0.12.11-cp38-cp38-win_amd64.whl (188.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

chiapos-0.12.11-cp38-cp38-manylinux2010_x86_64.whl (189.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

chiapos-0.12.11-cp38-cp38-macosx_10_14_x86_64.whl (177.6 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

chiapos-0.12.11-cp37-cp37m-win_amd64.whl (188.3 kB view details)

Uploaded CPython 3.7m Windows x86-64

chiapos-0.12.11-cp37-cp37m-manylinux2010_x86_64.whl (189.9 kB view details)

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

chiapos-0.12.11-cp37-cp37m-macosx_10_14_x86_64.whl (176.7 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: chiapos-0.12.11.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.46.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.11.tar.gz
Algorithm Hash digest
SHA256 2a4c7d2ae0274ffb99d6fe9a5b5f6a81244cbfa98b81a0be7d54d0f5a9bf65b5
MD5 d71d03e74f7ef7e1cfbf6279b3a98334
BLAKE2b-256 ff170a4f9dcb707dc453f197ce33ad709885c0decaf8d14a97fa0bda87f4a871

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.11-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 188.0 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.46.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.11-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a4da311ea490053d9f1f08cae23c0c36e3f820b0558724d7ffde17b10c0e19c7
MD5 5602ff4726848e6ee972955f84ce786c
BLAKE2b-256 9e779ca75fffc1e83dafe1cbefea237c6f33806e37867b082e52c0a614a09341

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.11-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 189.5 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.46.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.11-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a8eb2990e1bde5b141809213e7e1edab0f95ebe3073b9d543b6d49ed1a103701
MD5 3f71dc2233f338875e30edaea35cf30c
BLAKE2b-256 31568f12734b868d9812faf6c70eee3c4dd649ff785d3cf6d1481270361c1a47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.11-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 177.6 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.46.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.11-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 78a7a4aff197965e018d9b3521a4ad4ed7de45a5ce4af289fc17f34906b22a82
MD5 4db33e1ec8432aef6865f5dc5713c771
BLAKE2b-256 ebe22c8baba30584239be451289ca42e352f6bf6860856f720d25a57c23b1c47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.11-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 188.3 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.46.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.11-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 bbd38da438efdb8173b1ddff847733c9b62616883c8c6440864b6e43ec6ff960
MD5 0eb6ca5d6ce9c8502c51b1cff6bc9db4
BLAKE2b-256 13c9e77b77154022a185f75d9a05f997fdc26158e86923f66995b69f679fd682

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for chiapos-0.12.11-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d2c506136dd6738919b64f5c19d6594a224e0181ca264bfcb82c352aec555d1b
MD5 fae7afa215d05d28c6a191298e80443f
BLAKE2b-256 27614257a3513211cc3a8a6c96928a658a32f5b55df00b040cdaf9f4aba8a802

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chiapos-0.12.11-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 176.7 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.46.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.11-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b995a528056a6aca8fa3f19d664f75d90e8383b45db3982c981356b93c8b9ad9
MD5 477190adebe60129c040e4fd7b5af1ec
BLAKE2b-256 97de7ebf55d63053058218f32e50af02b01fd6d3ec32624d42429fb0adb32272

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