Skip to main content

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

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

Uploaded Source

Built Distributions

chiapos-0.12.1-cp37-cp37m-manylinux2010_x86_64.whl (306.6 kB view details)

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

chiapos-0.12.1-cp37-cp37m-macosx_10_15_x86_64.whl (170.7 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

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

File metadata

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

File hashes

Hashes for chiapos-0.12.1.tar.gz
Algorithm Hash digest
SHA256 1e4bd4d09f2c5130ad85f33f5ba8dca65d3e94cbb3169be6b0dc306e5bc6f8f3
MD5 0495e0e195e4c4e8f45e97f67a250b1b
BLAKE2b-256 0176d7630e084bc795b7a070dd0e73caaeebf4d9873c097992f9aeb95bc3f958

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for chiapos-0.12.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 46116051c3c28fea16ce7c382284e360b82831b6352ea1caf255dc924a970fc8
MD5 9a8fc702cd3e3b7cd56583c1da6dfe38
BLAKE2b-256 4ac13590da0721bb1769f31b0850254a180bc62089c2db900f81f76d2f933baa

See more details on using hashes here.

File details

Details for the file chiapos-0.12.1-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: chiapos-0.12.1-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 170.7 kB
  • Tags: CPython 3.7m, macOS 10.15+ 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.43.0 CPython/3.7.6

File hashes

Hashes for chiapos-0.12.1-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9343de662ac0b5252004b7e3ff1e218794324b39de90169937c6b6a5fb1fea80
MD5 f1aec98a98cb530a56af1bd68ff60b3c
BLAKE2b-256 937e5e29aca93c7a8d5340aad9700093b7ddb97d33b4b29732338b94da608d73

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