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 Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chiapos-0.12.7.tar.gz.
File metadata
- Download URL: chiapos-0.12.7.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.45.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53435e127cefe48ffbe6f65cb33849ce8c173261cca5ce484f4ce61b5da35f72
|
|
| MD5 |
c826014ebfe3eb550c6e3c8ce1e76373
|
|
| BLAKE2b-256 |
8967942a80c236ea050ad086d898981681d5dfa561e9d58c130db4f309cd61d9
|
File details
Details for the file chiapos-0.12.7-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: chiapos-0.12.7-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b58b8844aca3d5f071cb86cfcc72445a8c057134c2aa4f241a2e10458e249695
|
|
| MD5 |
486aaa3ed40b740238e87cbd822178b1
|
|
| BLAKE2b-256 |
de96a61c79c8610c2df918ae16e10ca16ac8652de20299abf9b849ca0086717c
|
File details
Details for the file chiapos-0.12.7-cp38-cp38-manylinux2010_x86_64.whl.
File metadata
- Download URL: chiapos-0.12.7-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0032746d69e7202d53329e028de1e4b160c8930fe1693e976a7bf8a30e9c0d18
|
|
| MD5 |
b548c7f45fbca8d08a595baedb84de54
|
|
| BLAKE2b-256 |
8e68cfc73443a3da86607b7a6fbca04443725e347b8914a07ed36366dab4792d
|
File details
Details for the file chiapos-0.12.7-cp38-cp38-macosx_10_14_x86_64.whl.
File metadata
- Download URL: chiapos-0.12.7-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d006d80cf11ca382bb54753aa188e712cd0518fa250c5524bec72fdb2d9f8ae8
|
|
| MD5 |
5c250c8e55f072bd71d52021323c1855
|
|
| BLAKE2b-256 |
3de28bd91a7c0dee9f61cfaecb55640dedc624d53186e5f08f6cf5bc1c3a96fc
|
File details
Details for the file chiapos-0.12.7-cp37-cp37m-win_amd64.whl.
File metadata
- Download URL: chiapos-0.12.7-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31a732522db86aba3d4f7823f04d0fab2eff75bf8fd4d633647d20caad980ec1
|
|
| MD5 |
901cfc1fc50fc54894326a7a540c20db
|
|
| BLAKE2b-256 |
3cca515a2f3c8f5192a51468d5a34d080c6a058ffb0cb42f9675d1feddb59bbe
|
File details
Details for the file chiapos-0.12.7-cp37-cp37m-manylinux2010_x86_64.whl.
File metadata
- Download URL: chiapos-0.12.7-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4be6379550b20408226c5fa6ec95829e2131496ca1956f2cc641b341bf72aa37
|
|
| MD5 |
7095a9eddb7d3e283778d2c08efc676b
|
|
| BLAKE2b-256 |
2918cfe09ce8fc8db7eb22c7c2261ffb6a723b66aef80aa9edae1e1e417c96d3
|
File details
Details for the file chiapos-0.12.7-cp37-cp37m-macosx_10_14_x86_64.whl.
File metadata
- Download URL: chiapos-0.12.7-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfcae580966e19e6af767692c3efc7b7342ff15f86c4f4089a1c2c7ba42ceb42
|
|
| MD5 |
1d817d7f5baec9f824e27036a4474251
|
|
| BLAKE2b-256 |
d0efec3170eba89ded668ac1ac1b2314596e8c464804356e5c5091b591c5b995
|