Remove unused `log2`

This commit is contained in:
Hsiao-Wei Wang 2019-04-13 18:17:09 +10:00
parent 8807781a8d
commit 449e8a44a4
No known key found for this signature in database
GPG Key ID: 95B070122902DEA4
1 changed files with 1 additions and 8 deletions

View File

@ -99,14 +99,7 @@ x x . . . . x *
. are unused nodes, * are used nodes, x are the values we are trying to prove. Notice how despite being a multiproof for 3 values, it requires only 3 auxiliary nodes, only one node more than would be required to prove a single value. Normally the efficiency gains are not quite that extreme, but the savings relative to individual Merkle proofs are still significant. As a rule of thumb, a multiproof for k nodes at the same level of an n-node tree has size `k * (n/k + log(n/k))`.
Here is code for creating and verifying a multiproof. First a helper:
```python
def log2(x: int) -> int:
return 0 if x == 1 else 1 + log2(x // 2)
```
First, a method for computing the generalized indices of the auxiliary tree nodes that a proof of a given set of generalized indices will require:
Here is code for creating and verifying a multiproof. First, a method for computing the generalized indices of the auxiliary tree nodes that a proof of a given set of generalized indices will require:
```python
def get_proof_indices(tree_indices: List[int]) -> List[int]: