Crates.io | curve-trees |
lib.rs | curve-trees |
version | 0.1.0 |
source | src |
created_at | 2023-06-27 11:38:49.486821 |
updated_at | 2023-06-27 11:38:49.486821 |
description | Curve Trees Implementation |
homepage | |
repository | https://github.com/kayabaNerve/serai/tree/snarks/crypto/curve-trees |
max_upload_size | |
id | 901245 |
size | 5,706 |
An implementation of the ideas behind Curve Trees, albeit not the exact protocol.
This library is premised on BP+, not BP, which offers a proof for an identical arithmetic circuit relationship as BPs. Despite this, Curve Trees actually expects a distinct relationship supporting vector commitments. The authors notes can be found here.
The BP+ library utilized implements its own vector commitment scheme pending formalization of the author's work.
This work uses the BP+ library's provided ECC gadgets, which include a DLog PoK which is roughly 33% more efficient than the incomplete addition series described in the Curve Trees paper.
An in-memory tree is implemented. A production usage would require:
This library uses asserts instead of Result
. It also has extraneous asserts
which should be moved to debug.
Wallets likely want to be able to prune irrelevant sub-trees/pathing data.