108 Commits

Author SHA1 Message Date
David Rusu
1fd4c6bd64 goas: move nonce into note 2024-08-27 15:57:19 +04:00
David Rusu
cffd687e50 goas: rename DeathConstraint to Constraint 2024-08-27 15:56:41 +04:00
Giacomo Pasini
23df7331c8
Use efficient comm for balances (#38)
* Use efficient comm for balances

At the moment we're using merkle trees even though we don't need
inclusion proofs, which means we're calculating more hashes than
necessary and limiting the account set size to 256.
This change is a temporary solution that chooses a more efficient
way to calculate a commitment to the account balances, while we
wait for something more scalable like a Verkle Tree.

* remove leftover constants
2024-08-26 19:29:49 +02:00
davidrusu
da18cef987
Merge pull request #36 from logos-co/goas/hash-based-balance-commitments
goas: switch balance commitments to hash based commitments
2024-08-23 16:18:37 +04:00
davidrusu
75930a5ac8
Merge pull request #37 from logos-co/goas/mmr-in-zone-state
goas: MMR for the zone transaction log
2024-08-23 16:18:23 +04:00
David Rusu
30354a08bd goas: remove found flag from balance insert helpers 2024-08-23 13:39:36 +04:00
David Rusu
5151438d3f goas: reduce the width of the MMR height field 2024-08-23 13:05:33 +04:00
David Rusu
226da49440 remove old implementation 2024-08-23 03:09:40 +04:00
David Rusu
362749b1b6 goas: MMR for the zone transaction log 2024-08-23 03:06:15 +04:00
David Rusu
7a706583dc goas: switch balance commitments to hash based commitments 2024-08-21 22:00:49 +04:00
davidrusu
8aba1c8e68
Merge pull request #34 from logos-co/goas/ptx-proof
goas: aggregate input/output proofs into a single ptx proof
2024-08-21 18:18:46 +04:00
davidrusu
6480637e76
Merge pull request #35 from logos-co/goas/ptx-level-balance-blinding
goas: move balance blinding to ptx level
2024-08-21 18:08:44 +04:00
David Rusu
7488dea9d1 goas: move balance blinding to ptx level 2024-08-21 13:00:35 +04:00
David Rusu
edd69d63bd goas: remove input/output proofs 2024-08-21 00:03:41 +04:00
David Rusu
310932818a goas: replace input/output proofs with ptx proof 2024-08-20 23:58:38 +04:00
Giacomo Pasini
ff0afeebd7
Provide state roots instead of whole state (#33) 2024-08-20 19:12:10 +02:00
davidrusu
5fd3c299c1
Merge pull request #32 from logos-co/goas/isolated_proof_tests
goas: isolated executor proof tests
2024-08-19 21:53:35 +04:00
David Rusu
e38b76e020 goas: don't expose nullifier nonce/commitment bytes 2024-08-19 21:52:33 +04:00
Giacomo Pasini
8870a32cbe
Use basepoint as the blinding point (#31) 2024-08-19 19:18:42 +02:00
David Rusu
6862f291ef goas: isolated test for user atomic transfer proof 2024-08-19 21:11:50 +04:00
David Rusu
a4e52b75aa goas: add isolated test for zone fund constraint 2024-08-19 20:46:48 +04:00
David Rusu
341c8b44d3 goas: isolated test for zone stf proof 2024-08-19 19:29:43 +04:00
davidrusu
9541c4b34d
Merge pull request #26 from logos-co/goas/atomic-transfer-scenario
goas: atomic transfer scenario
2024-08-19 13:01:18 +04:00
davidrusu
fea5dfbcbb
Merge pull request #27 from logos-co/goas/collision-resistant-nullifier
goas: make nullifier collision resistant
2024-08-19 13:01:01 +04:00
davidrusu
08756d7cac
Merge pull request #28 from logos-co/goas/robust-nonce-evolution
goas: robust nonce evolution
2024-08-19 13:00:44 +04:00
davidrusu
e1e20a4489
Merge pull request #29 from logos-co/goas/fix-tx-binding
goas: cryptography in zone
2024-08-19 13:00:22 +04:00
David Rusu
ed4bfca90e goas: in zone tx signing/verifying 2024-08-17 20:45:56 +04:00
David Rusu
213be6ccd7 goas: more robust nonce evolution strategy 2024-08-17 16:58:13 +04:00
David Rusu
75ff879770 goas: nullifier does not need to re-commit to nonce
since it's included in note commitment
2024-08-17 15:17:09 +04:00
David Rusu
c0aa2b0e08 goas: make nullifier is collision resistant 2024-08-17 10:52:29 +04:00
David Rusu
733b316815 goas: clippy + print proof cycles 2024-08-11 23:17:37 +04:00
David Rusu
034fe8eda5 goas: reuse ZoneNotes struct in the deposit/withdrawal scenarios 2024-08-11 23:08:40 +04:00
David Rusu
d73508a43c goas: atomic transfer scenario 2024-08-10 21:09:36 +04:00
davidrusu
1e49131c12
Merge pull request #23 from logos-co/aat/user-atomic-transfer-constraint
goas: user atomic transfer constraint
2024-08-09 20:22:59 +04:00
David Rusu
847e253f10 goas: user intent constraint 2024-08-09 20:20:18 +04:00
davidrusu
da437db677
Merge pull request #21 from logos-co/aat/deposit_ptx
aat: Deposit Scenario
2024-08-09 20:18:34 +04:00
David Rusu
0e278d9284 goas: remove state from alice's deposit note 2024-08-09 20:14:34 +04:00
David Rusu
7a7bea3931 goas: factor out common zone config to executor lib 2024-08-09 20:00:31 +04:00
David Rusu
72e198eeb5 goas: bind the deposit tx to the deposit note 2024-08-09 19:46:36 +04:00
David Rusu
aa4e03b567 aat: deposit ptx test 2024-08-09 19:41:34 +04:00
Giacomo Pasini
1aa7a7f81f
bind proofs (#22)
* bind proofs

* refactor to remove cycle
2024-08-09 17:33:01 +02:00
Giacomo Pasini
85a3e941b9
add zone tx inclusion proof (#20)
* add zone tx inclusion proof

* rename input to tx
2024-08-09 11:52:42 +02:00
Giacomo Pasini
5d3f3ab9fb
Refactor zone auth (#19)
* Refactor zone auth

* remove redundant check
2024-08-08 17:50:28 +02:00
davidrusu
a320c20d25
Integrate zone withdrawal with CL (#17)
* aat: integrate withdraw with CL

* aat: withdrawal passes!

* aat: cleanup withdrawals a bit

* aat: move Ptx{Input|Output|Private to cl::partial_tx

* aat: zone_state zone transition validation coded w.r.t. metadata

* aat: rename meta to in_meta in zone transition validation
2024-08-07 21:37:21 +02:00
thomaslavaur
5547b739c5
Merge pull request #10 from logos-co/PoV
Proof of Validator
2024-08-07 08:43:03 +02:00
thomaslavaur
6c53186245 set the minimum stake amount as an input to enable dynamicity 2024-08-07 08:40:19 +02:00
thomaslavaur
7f4ccde70f add Caulk support supposing we have a proof of equivalence between two Pedersen commitment over different curves 2024-08-05 09:23:38 +02:00
davidrusu
fddba3db2d
Merge pull request #16 from logos-co/zone-metadata
Zone metadata
2024-08-03 11:49:56 +04:00
Giacomo Pasini
5b03e070b5
Add evolved nonce 2024-08-02 17:57:19 +02:00
Giacomo Pasini
ca2c141d91
use NullifierNonce::evolve 2024-08-02 17:44:03 +02:00