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

Heavily rebased update of #102 #262

Open
wants to merge 9 commits into
base: trunk
Choose a base branch
from

Conversation

HalosGhost
Copy link
Collaborator

This copy of the PR has been rebased to remove some of the odd missteps, experiments, and design changes that were holdovers from the original implementation. As a result, the total PR is much more approachable and easy-to-review, but some of the provenance of who wrote what is less than perfect. I attempted to err on the side of giving more credit where possible than less to hopefully not miss anyone's contributions; however, at least one more pass through the code to ensure credit is appropriately assigned should be made before merge.

@HalosGhost HalosGhost linked an issue May 30, 2024 that may be closed by this pull request
HalosGhost and others added 9 commits May 30, 2024 13:24
Includes:
* executes outside docker, creating a single process per-component
* takes a config file and executes accordingly
* automatically generates some graphs for the run
* supports running all components under debuggers/valgrind/perf
* creates and caches preseeds as-specified
* preserves benchmark artifacts out-of-tree

Co-authored-by: Michael Maurer <[email protected]>
Signed-off-by: Sam Stuewe <[email protected]>
The secp submodule now points to a DCI-owned fork based on
libsecp256k1-zkp pulling some commits from the bp++ authors
and adding very basic aggregated batch-verification.

Signed-off-by: Sam Stuewe <[email protected]>
Includes helpers for creating/verifying/serializing/deserializing
pedersen commitments as well as a useful type alias for
range proofs.

Signed-off-by: Sam Stuewe <[email protected]>
This is preparation before the destructive operation of actually
modifying the internal data structures which will require a large
cascade of updates.

Signed-off-by: Sam Stuewe <[email protected]>
This is the most invasive patch in the branch, and breaks a lot of
core assumptions (and, by extension) ancilliary tooling.

Practically speaking, the CI definitely fails at this commit (due to
the test suite not being updated at the same time). This patch is
split out because it hopefully contains all the core changes
specifically related to the source changes for the integration of
the new data structures (for easier review and reading); but it
should not (/ cannot) be targeted on its own.

Co-authorship (listed lexicographically) indicates either instrumental
troubleshooting, inspiring core aspects of the implementation, or
otherwise contributing significant aid, but is not intended to share
blame. If anything is wrong or broken in this patchset, blame lands at
the primary author's feet!

Co-authored-by: Alexander Jung <[email protected]>
Co-authored-by: Gert-Jaap Glasbergen <[email protected]>
Co-authored-by: James Lovejoy <[email protected]>
Signed-off-by: Sam Stuewe <[email protected]>
cf. f7a2688

This was predominantly written by davidmag854, but includes some
fundamental changes from me (and cannot easily be cherry-picked).

Co-authored-by: davidmag854 <[email protected]>
Signed-off-by: Sam Stuewe <[email protected]>
This commit includes the reconciliation of the supporting tools with
the proof integration and represents the point at which you can start
running the system with periodic auditing enabled.

It was largely written by James Lovejoy for the storing-values version
of this code and was ported by the author.

Co-authored-by: James Lovejoy <[email protected]>
Signed-off-by: Sam Stuewe <[email protected]>
This commit represents the updating of the rest of the testing and
benchmarking code to function as-expected with the new transaction
format and protocol. From this point forward, you should expect CI to
pass.

This is an omnibus update and includes help from multiple authors, I
have attempted to capture contributors below as co-authors.

Co-authored-by: Alexander Jung <[email protected]>
Co-authored-by: Gert-Jaap Glasbergen <[email protected]>
Co-authored-by: James Lovejoy <[email protected]>
Co-authored-by: Michael Maurer <[email protected]>
Signed-off-by: Sam Stuewe <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable supply auditing by storing cryptographic commitments
1 participant