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
Hashes for chiapos-0.12.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b58b8844aca3d5f071cb86cfcc72445a8c057134c2aa4f241a2e10458e249695 |
|
MD5 | 486aaa3ed40b740238e87cbd822178b1 |
|
BLAKE2b-256 | de96a61c79c8610c2df918ae16e10ca16ac8652de20299abf9b849ca0086717c |
Hashes for chiapos-0.12.7-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0032746d69e7202d53329e028de1e4b160c8930fe1693e976a7bf8a30e9c0d18 |
|
MD5 | b548c7f45fbca8d08a595baedb84de54 |
|
BLAKE2b-256 | 8e68cfc73443a3da86607b7a6fbca04443725e347b8914a07ed36366dab4792d |
Hashes for chiapos-0.12.7-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d006d80cf11ca382bb54753aa188e712cd0518fa250c5524bec72fdb2d9f8ae8 |
|
MD5 | 5c250c8e55f072bd71d52021323c1855 |
|
BLAKE2b-256 | 3de28bd91a7c0dee9f61cfaecb55640dedc624d53186e5f08f6cf5bc1c3a96fc |
Hashes for chiapos-0.12.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31a732522db86aba3d4f7823f04d0fab2eff75bf8fd4d633647d20caad980ec1 |
|
MD5 | 901cfc1fc50fc54894326a7a540c20db |
|
BLAKE2b-256 | 3cca515a2f3c8f5192a51468d5a34d080c6a058ffb0cb42f9675d1feddb59bbe |
Hashes for chiapos-0.12.7-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4be6379550b20408226c5fa6ec95829e2131496ca1956f2cc641b341bf72aa37 |
|
MD5 | 7095a9eddb7d3e283778d2c08efc676b |
|
BLAKE2b-256 | 2918cfe09ce8fc8db7eb22c7c2261ffb6a723b66aef80aa9edae1e1e417c96d3 |
Hashes for chiapos-0.12.7-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfcae580966e19e6af767692c3efc7b7342ff15f86c4f4089a1c2c7ba42ceb42 |
|
MD5 | 1d817d7f5baec9f824e27036a4474251 |
|
BLAKE2b-256 | d0efec3170eba89ded668ac1ac1b2314596e8c464804356e5c5091b591c5b995 |