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
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdf19dd0fc40125baf83b559511cad3afabc69418c8bc2c11a2484b915951977 |
|
MD5 | 89b938113b8e831bff9ff18599613ec5 |
|
BLAKE2b-256 | c7fdec17bc727dbc71ada6f7bd9371127920256c0e582daaf6f01dd30233768a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b8b432be6b5676c8e48246e19e5c32b8337d0b3015a0a116f63dcafd346e808 |
|
MD5 | bae14e11cdda6e37ceefa2c33b8ca631 |
|
BLAKE2b-256 | f1bad1321e61e9754230bf3fe50a32f770c9a1107a68878dfa15b050b5778072 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e22116a989a65df112c037f4cdeb76451da7ff5dd6b7763b86c902c1ca8f3c3 |
|
MD5 | 73c2782947d81f3e99b9f594923f408f |
|
BLAKE2b-256 | a3443e9f2259676c011aad6649668389e9892620692167fe4b311138ad6e4455 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | de2c6e49e8f62925e240fbe839ae762ec8cc9ba92fe288b37b0f66083afa7430 |
|
MD5 | b4ae2a848717afa5ad27dd64190e6713 |
|
BLAKE2b-256 | 97923dcd62a88131185b721817d6f4a1efc972ee0eb0fc91d563f57447b31dd2 |