Skip to content

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 <maurer.mi@northeastern.edu>
Signed-off-by: Sam Stuewe <stuewe@mit.edu>
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 <stuewe@mit.edu>
Includes helpers for creating/verifying/serializing/deserializing
pedersen commitments as well as a useful type alias for
range proofs.

Signed-off-by: Sam Stuewe <stuewe@mit.edu>
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 <stuewe@mit.edu>
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 <104335080+AlexRamRam@users.noreply.github.com>
Co-authored-by: Gert-Jaap Glasbergen <gertjaap@wadagso.com>
Co-authored-by: James Lovejoy <jameslovejoy1@gmail.com>
Signed-off-by: Sam Stuewe <stuewe@mit.edu>
cf. 2fee1fa and
b9e7b66

Signed-off-by: Sam Stuewe <stuewe@mit.edu>
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 <44822171+davidmag854@users.noreply.github.com>
Signed-off-by: Sam Stuewe <stuewe@mit.edu>
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 <jameslovejoy1@gmail.com>
Signed-off-by: Sam Stuewe <stuewe@mit.edu>
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 <104335080+AlexRamRam@users.noreply.github.com>
Co-authored-by: Gert-Jaap Glasbergen <gertjaap@wadagso.com>
Co-authored-by: James Lovejoy <jameslovejoy1@gmail.com>
Co-authored-by: Michael Maurer <maurer.mi@northeastern.edu>
Signed-off-by: Sam Stuewe <stuewe@mit.edu>
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