-
Notifications
You must be signed in to change notification settings - Fork 201
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
Enable supply auditing via cryptographic commitments and proofs #102
base: trunk
Are you sure you want to change the base?
Commits on Jun 9, 2023
-
Switching to a fork allows us to leverage bulletproofs Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c04c7b - Browse repository at this point
Copy the full SHA 2c04c7bView commit details -
Add helpers for creating Pedersen Commitments
Includes creating commitments directly as well as a facility for automatically creating an “xonly” Pedersen Commitment. xonly Pedersen Commitments are a work-around to avoid a larger code- delta for this solution. In particular, it will allow us to avoid changing the size of a UHS ID. Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 404e1b2 - Browse repository at this point
Copy the full SHA 404e1b2View commit details -
Add new supporting data structures for proof
These data structures will be integrated into transactions and leveraged to implement confidential transactions. Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1b43a35 - Browse repository at this point
Copy the full SHA 1b43a35View commit details -
Add serialization support for std::map
This implementation is mostly cribbed from what we already have for std::unordered_map and is added only because it will be easier for us to leverage in some places. Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 39a125f - Browse repository at this point
Copy the full SHA 39a125fView commit details -
This is separated only so it doesn't muddy review of the other, more substantial commits. Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c9d7d48 - Browse repository at this point
Copy the full SHA c9d7d48View commit details -
Give wallets/clients support for bulletproofs
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 04b1457 - Browse repository at this point
Copy the full SHA 04b1457View commit details -
Add auxiliary-commitment creation helper
This method allows for the easy creation of valid blinding factors (and the associated auxiliary Pedersen Commitments) for new outputs to be created in a transaction. Using this helper ensures that the auxiliary commitments in a non-minting transaction will sum to 0, and those in a minting- transaction will equal G^{minted_value}. Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cefb9bd - Browse repository at this point
Copy the full SHA cefb9bdView commit details -
Add helpers for calculating new UHS IDs
Only one is exposed as its easiest to use in most circumstances, but the others can be exposed in the future if-needed (exposing them for use shouldn't have any negative side-effects). Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7a2fee7 - Browse repository at this point
Copy the full SHA 7a2fee7View commit details -
This is the largest commit in the series by-far; however, it's not immediately clear to me how it could be broken down further and leave the code functional (passing all tests) at each commit. Included in this commit: * Redefine `input`s and `output`s to contain all the proofs * Modify `full_tx` and `compact_tx` to include the necessary proofs * Add routines for creating and verifying all proof criteria * Store the proofs in the UHS (both architectures) * Modify clients and sentinels to actually prove and verify * Update all tests for the new structures * Remove a few tests which are now not possible cases * Add tests for basic round-tripping of storage through the UHS Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a69a9b6 - Browse repository at this point
Copy the full SHA a69a9b6View commit details -
Co-authored-by: Sam Stuewe <[email protected]> Signed-off-by: davidmag854 <[email protected]> Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7d618ae - Browse repository at this point
Copy the full SHA 7d618aeView commit details -
Fix some Lint/CI-related things
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 787dcc2 - Browse repository at this point
Copy the full SHA 787dcc2View commit details -
Reconciliation with sentinel attestations
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2aa4d1f - Browse repository at this point
Copy the full SHA 2aa4d1fView commit details -
Rather than try to use a pedersen commitment as a UHS ID, prefer a nested hash (almost identical to the values-in-UHS solution). This simplifies a lot of the prove/verify procedures, reduces the amount of code we need overall and makes the security argument much simpler (because the transaction format is now largely unchanged). Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c0c7541 - Browse repository at this point
Copy the full SHA c0c7541View commit details -
Add audit tool for combining audit logs
Signed-off-by: James Lovejoy <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bce49af - Browse repository at this point
Copy the full SHA bce49afView commit details -
Implement supply auditing for atomizer shard and add audit checks to …
…atomizer integration tests Signed-off-by: James Lovejoy <[email protected]> Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 87f6fb6 - Browse repository at this point
Copy the full SHA 87f6fb6View commit details -
WIP: Preliminary update of the audit-tool for cryptographic commitments
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f9f6df - Browse repository at this point
Copy the full SHA 3f9f6dfView commit details -
Includes: * Pull in newest secp-zkp changes * Fix a doxygen doc-comment problem * remove a potentially-problematic header include Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 036adb6 - Browse repository at this point
Copy the full SHA 036adb6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27974af - Browse repository at this point
Copy the full SHA 27974afView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e3914a - Browse repository at this point
Copy the full SHA 2e3914aView commit details -
Configuration menu - View commit details
-
Copy full SHA for c091530 - Browse repository at this point
Copy the full SHA c091530View commit details -
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 71b2481 - Browse repository at this point
Copy the full SHA 71b2481View commit details -
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f371f4 - Browse repository at this point
Copy the full SHA 3f371f4View commit details -
Correct pre-seeded transaction creation
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e9de3d - Browse repository at this point
Copy the full SHA 4e9de3dView commit details -
Remove UHS ID from compact_output
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7d12d79 - Browse repository at this point
Copy the full SHA 7d12d79View commit details -
Correctly initialize timestamps
In the atomizer load-generator, several timestamps were not initialized; their first use was with `operator+=`. This simply initializes them to 0 making that first use valid. Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f807040 - Browse repository at this point
Copy the full SHA f807040View commit details -
Omnibus update to fix quite a few issues
Includes * fixing all tests (locally, at least) * correctly checking transaction balancing Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8024286 - Browse repository at this point
Copy the full SHA 8024286View commit details -
[WIP]: improve shard-seeder performance for crypto TD
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b9c7889 - Browse repository at this point
Copy the full SHA b9c7889View commit details -
Remove rangeproof from transaction input.
Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aa6b269 - Browse repository at this point
Copy the full SHA aa6b269View commit details -
Check for existence of rangeproofs in outputs during validation.
Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d51ddc6 - Browse repository at this point
Copy the full SHA d51ddc6View commit details -
Do not compute rangeproof for inputs in transaction::wallet::create_s…
…eeded_transaction Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d7bd576 - Browse repository at this point
Copy the full SHA d7bd576View commit details -
Initialize output w explicit rangeproof arg
Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 367e2c2 - Browse repository at this point
Copy the full SHA 367e2c2View commit details -
Add unsigned long suffix(UL) where needed
Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5d82195 - Browse repository at this point
Copy the full SHA 5d82195View commit details -
Remove setting of rangeproof for transaction input
Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 482d884 - Browse repository at this point
Copy the full SHA 482d884View commit details -
Set a dummy rangeproof object for unit tests - accommodate tamper det…
… changes Signed-off-by: Alexander Jung <[email protected]> Set dummy rangeproof for outputs for unit tests where needed Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2582ef3 - Browse repository at this point
Copy the full SHA 2582ef3View commit details -
Invoke transaction::calculate_uhs_id() without creating compact_output
Signed-off-by: Alexander Jung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for af5d1e3 - Browse repository at this point
Copy the full SHA af5d1e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for eef47c8 - Browse repository at this point
Copy the full SHA eef47c8View commit details -
Lift create_seeded_transaction outside hot loop
Also includes modifying twophase mode's transaction-creation to reuse pedersen-commitments/range-proofs Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eff5692 - Browse repository at this point
Copy the full SHA eff5692View commit details
Commits on Jul 6, 2023
-
[DO NOT MERGE] workaround: let the TC see this PR
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c3ea8e1 - Browse repository at this point
Copy the full SHA c3ea8e1View commit details
Commits on Aug 1, 2023
-
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6287bf2 - Browse repository at this point
Copy the full SHA 6287bf2View commit details -
fix: reconcile microbenchmarks for auditing
Signed-off-by: Sam Stuewe <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 95abaf1 - Browse repository at this point
Copy the full SHA 95abaf1View commit details