https://github.com/scroll-tech/poseidon-bn254
https://github.com/scroll-tech/poseidon-bn254
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/scroll-tech/poseidon-bn254
- Owner: scroll-tech
- Created: 2024-08-22T09:51:15.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-20T07:41:46.000Z (about 1 year ago)
- Last Synced: 2025-10-01T20:48:37.491Z (3 months ago)
- Language: Rust
- Size: 119 KB
- Stars: 12
- Watchers: 2
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# poseidon-bn254
a computational only implementation of the Poseidon hash using in
[poseidon-circuit](https://github.com/scroll-tech/poseidon-circuit).
## Comparison with poseidon-circuit
| task | poseidon-bn254 cycles | poseidon-circuit cycles | difference |
|:------------------------------|----------------------:|------------------------:|----------------:|
| hash_with_domain([0, 0], 0) * | 732 | 8,199 | 7,467 (-91%) |
| hash_with_domain([1, 2], 3) | 6,616 | 8,199 | 1,583 (-19.3%) |
| hash_msg(1, None) | 6,580 | 8,192 | 1,612 (-19.7%) |
| hash_msg(1, Some(1)) | 6,563 | 8,192 | 1,629 (-19.9%) |
| hash_msg(10, None) | 29,605 | 34,340 | 4,735 (-13.8%) |
| hash_msg(10, Some(10)) | 29,662 | 34,341 | 4,679 (-13.6%) |
| hash_code("") | 475 | 8,719 | 8,244 (-94.6%) |
| hash_code(128) | 20,564 | 24,329 | 3,765 (-15.5%) |
| hash_code(256) | 34,393 | 39,364 | 4,971 (-12.6%) |
| hash_code(1024) | 117,892 | 130,052 | 12,160 (-9.4%) |
| hash_code(4096) | 462,836 | 505,385 | 42,549 (-8.4%) |
| hash_code(16384) | 1,831,155 | 1,993,659 | 162,504 (-8.2%) |
| hash_code(24576) ** | 2,743,359 | 2,985,843 | 242,484 (-8.1%) |
*`hash_with_domain([0, 0], 0)` is the hash of the empty message.
** 24576 is the maximum bytecode size limit on ethereum mainnet.