0xMiden / 0xMiden/miden-vm

feat(stark): implement StatefulBlake3Hasher

オープン
#3,518 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
on hold starks
主要言語
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 はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。