Go to file
Constance Beguier a680f410a4
Circuit: optimize ZEC/ZSA hash computations in note commitment (#87)
We optimized note_commitment evaluation by sharing a portion of the hash evaluation between ZEC and ZSA.
1. message_common_prefix = a || b || c || d || e || f || g
2. message_suffix_zec = h_zec
3. message_suffix_zsa = h_zsa || i || j
4. Q = if (is_native_asset == 0) {Q_ZSA} else {Q_ZEC}
5. common_hash = hash(Q, message_common_prefix) // this part is shared
6. hash_point_zec = hash(common_hash, message_suffix_zec)
7. hash_point_zsa = hash(common_hash, message_suffix_zsa)
8. hash_point = if (is_native_asset == 0) {hash_point_zsa} else {hash_point_zec}
2023-10-18 10:38:59 +02:00
.circleci Enhance and cleanup ivk-to-bytes-visibility-downgrade branch (#81) 2023-10-04 12:23:57 +00:00
.github/workflows Enhance and cleanup ivk-to-bytes-visibility-downgrade branch (#81) 2023-10-04 12:23:57 +00:00
benches Circuit: Add enable_zsa flag (#79) 2023-08-31 09:23:44 +02:00
book
proptest-regressions/constants
src Circuit: optimize ZEC/ZSA hash computations in note commitment (#87) 2023-10-18 10:38:59 +02:00
tests Enhance and cleanup ivk-to-bytes-visibility-downgrade branch (#81) 2023-10-04 12:23:57 +00:00
.gitignore
CHANGELOG.md orchard release version 0.5.0 2023-06-06 11:10:49 -06:00
COPYING
Cargo.toml Enhance and cleanup ivk-to-bytes-visibility-downgrade branch (#81) 2023-10-04 12:23:57 +00:00
LICENSE-BOSL
README.md Enhance and cleanup ivk-to-bytes-visibility-downgrade branch (#81) 2023-10-04 12:23:57 +00:00
katex-header.html
rust-toolchain.toml Enhance and cleanup ivk-to-bytes-visibility-downgrade branch (#81) 2023-10-04 12:23:57 +00:00

README.md

orchard Crates.io CI checks

Requires Rust 1.65+.

Documentation

License

Copyright 2020-2022 The Electric Coin Company.

You may use this package under the Bootstrap Open Source Licence, version 1.0, or at your option, any later version. See the file COPYING for more details, and LICENSE-BOSL for the terms of the Bootstrap Open Source Licence, version 1.0.

The purpose of the BOSL is to allow commercial improvements to the package while ensuring that all improvements are open source. See here for why the BOSL exists.