Balloon's theorem says:
Questions:
Am I understanding the variables correctly?
- $n$ is number of blocks the user chooses.
- $r$ is number of rounds the user chooses.
- $\delta$ is number of pseudorandom dependencies the user chooses per-round per-deterministic block.
- $S$ is number of memory blocks the adversary has, which is usually $S<n$ as the adversary tries to lower her costs.
- $T$ is the number of blocks the adversary has to hash by using her $S$ many blocks memory.
Since the theorem doesn't specify the margin by which $S$ is smaller than $n$, does this mean that it does not matter how smaller $S$ is than $n$ in terms of the equations?
What if the adversary has as much space as the normal user? Would it be the case where $S=n$? Would the run-time become $$ S\cdot T = r\cdot n $$?
What if $n=8$ blocks, $r=3$ rounds and $\delta=3$ random dependencies? Is the theorem implying that the adversary would guarantee solving it faster?
Because if we plug the numbers in, we get: $$ \frac{3 \cdot 8^2}{32} = 4 $$ , which is less than the total number of hashes that an honest user would do, which (from my understanding of the Balloon algorithm) is: $$ r \cdot n = 3 \cdot 8 = 24 $$
For the 2nd and stronger bound, the theorem says when $\delta=7$ and $S < n/64$—does this mean that if the adversary has $64$-fold less than user's $n$ blocks?
For example, is it saying that, if the user has $1000$ many blocks space, then the stronger proof works if the adversary has $1024/64=16$ blocks?
