feat(stark): implement StatefulBlake3Hasher
- 主要言語
- Rust
- スター
- 772
- フォーク
- 352
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 93
説明
This is somewhat intentional and a conscious design decision motivated by the alignment property we get with sponge-based constructions.
The chaining hasher was meant as an easy compatibility layer for existing CryptographicHashers, which unfortunately does have different semantics, though hopefully not too big of a performance impact.
We should be able to define an actually custom StatefulBlake3Hasher using the `hazmat` API. I think this would be good to investigate if we notice a performance difference between the LMCS and MMCS. The trade off for better performance would be memory footprint (256 byte state vs 32 digest size) and unsafe-ish code manually implementing the hash.
But to answer your question, these are indeed semantically different Merkle trees, but from the caller of the MMCS/LMCS they're functionally the same. As mentioned above, this benchmark is actually useful for comparing the different approaches to absorbing rows of multiple matrices.
---
Ported from https://github.com/0xMiden/p3-miden/issues/63
コントリビューションガイド
評価
この issue はまだ評価されていません。