0xMiden / 0xMiden/protocol

Domain separation for protocol object commitments

Open
#3,770 0 comments 0 reactions 0 assignees View on GitHub
kernels rust
Dominant language
Rust
Stars
132
Forks
167
Avg merge
1d 23h
Merged PRs (30d)
110

Description

Various recent PRs (e.g., https://github.com/0xMiden/protocol/pull/3662, https://github.com/0xMiden/protocol/pull/3670) added versioning to various protocol objects. But as discussed in https://github.com/0xMiden/protocol/issues/1155, it would be beneficial to add domain separation to these schemes as well. We also have an RFC in https://github.com/0xMiden/crypto/pull/1026 that proposes a uniform approach to both versioning and domain separation.

To complete this issue we need to:

- Align on the versioning approach. My current thinking here is versioning could remain as it currently is (i.e., part of the payload that is being hashed).
- Implement a uniform scheme for domain separation (e.g., building on `SequentialCommit` or a `Hasher` trait).
- Apply this scheme to protocol objects - probably the same ones as we've implemented versioning for - though, maybe the set should be expanded.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.