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.7.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8 Windows x86-64

chiapos-0.12.7-cp38-cp38-manylinux2010_x86_64.whl (189.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

chiapos-0.12.7-cp38-cp38-macosx_10_14_x86_64.whl (177.7 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

chiapos-0.12.7-cp37-cp37m-win_amd64.whl (189.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

chiapos-0.12.7-cp37-cp37m-manylinux2010_x86_64.whl (190.3 kB view details)

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

chiapos-0.12.7-cp37-cp37m-macosx_10_14_x86_64.whl (176.8 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

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

Hashes for chiapos-0.12.7.tar.gz
Algorithm Hash digest
SHA256 53435e127cefe48ffbe6f65cb33849ce8c173261cca5ce484f4ce61b5da35f72
MD5 c826014ebfe3eb550c6e3c8ce1e76373
BLAKE2b-256 8967942a80c236ea050ad086d898981681d5dfa561e9d58c130db4f309cd61d9

See more details on using hashes here.

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

Hashes for chiapos-0.12.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b58b8844aca3d5f071cb86cfcc72445a8c057134c2aa4f241a2e10458e249695
MD5 486aaa3ed40b740238e87cbd822178b1
BLAKE2b-256 de96a61c79c8610c2df918ae16e10ca16ac8652de20299abf9b849ca0086717c

See more details on using hashes here.

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

Hashes for chiapos-0.12.7-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0032746d69e7202d53329e028de1e4b160c8930fe1693e976a7bf8a30e9c0d18
MD5 b548c7f45fbca8d08a595baedb84de54
BLAKE2b-256 8e68cfc73443a3da86607b7a6fbca04443725e347b8914a07ed36366dab4792d

See more details on using hashes here.

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

Hashes for chiapos-0.12.7-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d006d80cf11ca382bb54753aa188e712cd0518fa250c5524bec72fdb2d9f8ae8
MD5 5c250c8e55f072bd71d52021323c1855
BLAKE2b-256 3de28bd91a7c0dee9f61cfaecb55640dedc624d53186e5f08f6cf5bc1c3a96fc

See more details on using hashes here.

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

Hashes for chiapos-0.12.7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 31a732522db86aba3d4f7823f04d0fab2eff75bf8fd4d633647d20caad980ec1
MD5 901cfc1fc50fc54894326a7a540c20db
BLAKE2b-256 3cca515a2f3c8f5192a51468d5a34d080c6a058ffb0cb42f9675d1feddb59bbe

See more details on using hashes here.

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

Hashes for chiapos-0.12.7-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4be6379550b20408226c5fa6ec95829e2131496ca1956f2cc641b341bf72aa37
MD5 7095a9eddb7d3e283778d2c08efc676b
BLAKE2b-256 2918cfe09ce8fc8db7eb22c7c2261ffb6a723b66aef80aa9edae1e1e417c96d3

See more details on using hashes here.

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

Hashes for chiapos-0.12.7-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 cfcae580966e19e6af767692c3efc7b7342ff15f86c4f4089a1c2c7ba42ceb42
MD5 1d817d7f5baec9f824e27036a4474251
BLAKE2b-256 d0efec3170eba89ded668ac1ac1b2314596e8c464804356e5c5091b591c5b995

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