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.8-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a569f01bdbf4975908faf1e62c8be044e82bd44fca0a8e13acb2ad15de66240 |
|
MD5 | 4b7225b46b8cb3e9e6a5efb3c704b1fc |
|
BLAKE2b-256 | 48ffc39b97d87ba94b4baa967be713fca4f7a76f7d1ac0b6e1ed977282b50d5f |
Hashes for chiapos-0.12.8-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7067e06ea81c09b833a970d4381d5244282c0affcfd31c00146c9e9b17c33f5f |
|
MD5 | 6166463c6fc634b4143a5a91519b0312 |
|
BLAKE2b-256 | bffa8aa20fb02564a089be5e8e795bd853a52e5810b52bb05622999e6e1d3518 |
Hashes for chiapos-0.12.8-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13fd2924db1b8c010a960f830edfd7f691c44fe9f6834aef2b63354e37ca0cad |
|
MD5 | 029b71e8e31846f80803469920a65ab6 |
|
BLAKE2b-256 | 5749e4eb687f18eed1141311d2c1cd1c74b2f964873adaa389e225c5c9da7dd9 |
Hashes for chiapos-0.12.8-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4637119a26a5372b10b0e753e52366fa987a9099e5abc890351979ba631d1593 |
|
MD5 | 606b8935b5d8bb363dfba88424a3ec4c |
|
BLAKE2b-256 | fd7f8c179de23279bb3ce3cfd991c3d7faa51b016486ff997285c78a03b2cec2 |
Hashes for chiapos-0.12.8-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01113f79bd5d579d558db8530aab30bb8cd2881a3b7dcb87ca9410d811adb92a |
|
MD5 | eb2d7ccfb916d71ffc1aa3bc68f52c35 |
|
BLAKE2b-256 | 5ea34cd00487032bb451b679665bd05291b262ca198a81acfe883e4e8fed43c0 |
Hashes for chiapos-0.12.8-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dbce2fc42887dada6ff872d2b119e4819028c84b346be8ccaa69ada970e509b |
|
MD5 | 57f30aef783788983c393f804952f16e |
|
BLAKE2b-256 | 736f44c14769f8c2fed4a8bd47320e6eda3619f27527ea4f722a61d0d71d312d |