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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

chiapos-0.12.6.dev0-cp38-cp38-win_amd64.whl (189.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

chiapos-0.12.6.dev0-cp37-cp37m-win_amd64.whl (189.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

File details

Details for the file chiapos-0.12.6.dev0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: chiapos-0.12.6.dev0-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

Hashes for chiapos-0.12.6.dev0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d8768cc940c48b6fda2d512c6dc6be1064c9009f208bfb6577c0903ca1163f04
MD5 2ba5993c5bbb51423526e0d1bd5875d8
BLAKE2b-256 eb2a8af0f55cd59e9e76a146ea2a10bf1d07bc9e45a1c62a6263b1e644fccfe0

See more details on using hashes here.

File details

Details for the file chiapos-0.12.6.dev0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: chiapos-0.12.6.dev0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 189.7 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

Hashes for chiapos-0.12.6.dev0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 23e369819f2f44f09744e38cef3d8ec5b22d660d52de24c06a4b41633a093c66
MD5 439861d6f6f59c05075d9f9ee390a9cd
BLAKE2b-256 36a47fa89cb7979a74f632ab0b03cdbdf546c0fda3cd31c2817507308865e5d2

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