Skip to content

Commit

Permalink
chore: address review feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
driemworks committed Nov 22, 2024
1 parent 527ae42 commit 32c12f8
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ targets = ["x86_64-unknown-linux-gnu"]
[dependencies]
totp-rs = { version = "5.5.1", default-features = false, optional = true }
codec = { package = "parity-scale-codec", version = "3.6.12", features = ["derive"], default-features = false }
timelock = { git = "https://github.com/ideal-lab5/tle.git", default-features = false }
timelock = { git = "https://github.com/ideal-lab5/timelock.git", default-features = false }
ckb-merkle-mountain-range = { version = "0.5.2", default-features = false }
sha3 = { version = "0.10.8", default-features = false }
serde = { version = "1.0.188", features = ["alloc", "derive"], default-features = false }
Expand Down
6 changes: 3 additions & 3 deletions core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ let murmur_store = MurmurStore::<EngineTinyBLS377>::new::<
```
#### Update a Murmur Store

Updating a Murmur store is done by calling the same new function as above and incrementing the previous nonce by 1. The data any single MMR can contain is finite, so when a Murmur wallet is created it can only be functional for a finite number of blocks (the block schedule). In this sense, Murmur is a "session-based" wallet. To ensure wallet lifetimes can be extended, Murmur wallets can be updated by generated a new Murmur store and submitting the result to a system that implements a verifier (see below). More specifically, when a Murmur store is created a DLEQ proof is generated (Discrete Log Equivalence Proof - a type of zkp) and attached to the store. This proof allows the Murmur store creator to convince a verifier that it knows the secret input (seed) without exposing it.
Updating a Murmur store is done by calling the same `new` function as above and incrementing the previous nonce by 1. The data any single MMR can contain is finite, so when a Murmur wallet is created it can only be functional for a finite number of blocks (the block schedule). In this sense, Murmur is a "session-based" wallet. To ensure wallet lifetimes can be extended, Murmur wallets can be updated by generating a new Murmur store and submitting the result to a system that implements a verifier (see below). More specifically, when a Murmur store is created a DLEQ proof is generated (Discrete Log Equivalence Proof - a type of zkp) and attached to the store. This proof allows the Murmur store creator to convince a verifier that it knows the secret input (seed) without exposing it.

``` rust
// Compute the next nonce
Expand Down Expand Up @@ -90,8 +90,8 @@ verifier::verify_update::<TinyBLS377>(proof, public_key, nonce).unwrap()

#### Verify Execution Parameters

This function allows for "tmelocked" commitments to be verified. The OTP input should be the timelock decrypted ciphertext. More specifically, it:
1) Verified a Merkle proof to prove that the ciphertext is indeed at the given position in the MMR defined by the given root.
This function allows for "timelocked" commitments to be verified. The OTP input should be the timelock decrypted ciphertext. More specifically, it:
1) verifies a Merkle proof to prove that the ciphertext is indeed at the given position in the MMR defined by the given root.
2) reconstructs the commitment and compares it against the given one

``` rust
Expand Down

0 comments on commit 32c12f8

Please sign in to comment.