Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typos Update proof_of_space.md #460

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions documents/proof_of_space.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Updated: July 31, 2020

## Introduction

In order to create a secure blockchain consensus algorithm using disk space a Proof of Space is scheme is necessary.
In order to create a secure blockchain consensus algorithm using disk space a Proof of Space scheme is necessary.
This document describes a practical construction of Proofs of Space based on [Beyond Hellman’s Time-Memory Trade-Offs
with Applications to Proofs of Space](https://eprint.iacr.org/2017/893.pdf) [1].
We use the techniques laid out in that paper, extend it from 2 to 7 tables, and tweak it to make it efficient and secure for use in the Chia Blockchain.
Expand Down Expand Up @@ -772,7 +772,7 @@ The proof retrieval algorithm takes in a plot file $F$, a challenge $Chall$, and
2. Calculate $qual\_id \gets Chall\%32$
3. Follow table pointers from $Table_6$ to $Table_1$. For each bit of $qual\_id$, if the bit is 0, follow the smaller position, and if the bit is 1, follow the larger position of the pair.
4. Retrieve two $x$ values from the $Table_1$ entry, $x_1$ and $x_2$, where $x_1 < x_2$.
5. Return $x_1 \mathbin{\|} x_2$. Note that is is equivalent to the [Proof Quality String](#proof-quality-string).
5. Return $x_1 \mathbin{\|} x_2$. Note that it is equivalent to the [Proof Quality String](#proof-quality-string).


#### Proving Performance
Expand All @@ -792,7 +792,7 @@ On a successful proof, the verifier can also compute the quality string by conve

### Blockchain consensus summary

The motivation for Chia's proof of space construction is for use as an alternative resource to Proof of Work in a Namakoto-consensus style blockchain. Space miners (referred to as farmers) allocate space on their hard drives, respond to challenges, and occasionally win rewards.
The motivation for Chia's proof of space construction is for use as an alternative resource to Proof of Work in a Nakamoto-consensus style blockchain. Space miners (referred to as farmers) allocate space on their hard drives, respond to challenges, and occasionally win rewards.
Challenges are random 256 values that result from each block.
In Chia's blockchain, this challenge is the unpredictable output of a Verifiable Delay Function that is required for each block.

Expand Down Expand Up @@ -1027,7 +1027,7 @@ Considering the *underlying graph* of a table (see [Matching Function Requiremen

Because there are no 4-cycles (or 5-cycles, because each edge changes the parity of the first coordinate), the minimum length cycle is a 6-cycle.

For every cycle on an island in the graph of a table it is possible to save one of the edges by specifying how to walk the edges to find the the pair instead of giving the counterpart directly.
For every cycle on an island in the graph of a table it is possible to save one of the edges by specifying how to walk the edges to find the pair instead of giving the counterpart directly.
There are two types of cycles which occur: 4-cycles which happen when there's a bucket which has two things in it and has at least two things it connects to, and 6-cycles, which can happen with two buckets with two things in them being connected but are more common as happenstance through the graph as a whole.
The cycles which depend on multiple things in the same bucket can be made much less common by increasing the degree of the graph (and correspondingly the B-group size) at the direct linear expense of CPU time.
The length of other types of cycles can be increased by increasing the C-group size, at the expense of requiring correspondingly more cache space when plotting.
Expand Down
Loading