{"id":29791631,"url":"https://github.com/autoparallel/ethereum_research","last_synced_at":"2026-02-26T07:08:58.223Z","repository":{"id":206699332,"uuid":"710945031","full_name":"Autoparallel/ethereum_research","owner":"Autoparallel","description":"Research for Waylon + Colin alongside the EF.","archived":false,"fork":false,"pushed_at":"2023-12-22T16:29:21.000Z","size":864,"stargazers_count":1,"open_issues_count":9,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-08T15:46:52.045Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Autoparallel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-27T19:35:53.000Z","updated_at":"2024-06-29T20:19:03.000Z","dependencies_parsed_at":"2023-11-11T18:22:05.009Z","dependency_job_id":"39641036-b842-4f16-81bb-0942b550bfd1","html_url":"https://github.com/Autoparallel/ethereum_research","commit_stats":null,"previous_names":["autoparallel/ethereum_research"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Autoparallel/ethereum_research","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autoparallel%2Fethereum_research","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autoparallel%2Fethereum_research/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autoparallel%2Fethereum_research/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autoparallel%2Fethereum_research/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Autoparallel","download_url":"https://codeload.github.com/Autoparallel/ethereum_research/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Autoparallel%2Fethereum_research/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29851221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T22:37:40.667Z","status":"online","status_checked_at":"2026-02-26T02:00:06.774Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-28T00:32:47.859Z","updated_at":"2026-02-26T07:08:58.209Z","avatar_url":"https://github.com/Autoparallel.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ethereum Research\nThis repository is the culmination of work done by [Colin Roberts](https://github.com/Autoparallel) and [Waylon Jepsen](https://github.com/0xJepsen), supported by a small grant from the Ethereum Foundation. \nThe goal of this project is to investigate the Poseidon hash function closely. \nWe aim to provide a comprehensive learning resource for the Poseidon hash function with a precise mathematical intuition on its function and security assumptions. \nThis repository also serves as a playground to attack implementations of Poseidon with small field sizes to better understand the security assumptions of the hash function.\n\n## Repository Contents\n\nThis repository has two essential components; the first is written educational content in the form of a rust mdbook in the `journal/` directory. To run and host the journal, make sure that you have [cargo installed](https://doc.rust-lang.org/cargo/getting-started/installation.html); then you can install `mdbook` with the following command:\n\n```bash\ncargo install mdbook\ncargo install mdbook-katex\n```\n\nThen, you can run the journal with the following command:\n\n```bash\nmdbook serve\n```\n\nThis command will host a local server on your machine that you can access at `http://localhost:3000` to view the journal. If this project is widely used and a popular resource, we will consider hosting it on a public server under some domain to make it accessible on the web. This is also the best place to start if you want to follow our learning resources to understand the Poseidon hash function and its security assumptions.\n\nThe second component of this repository is the `Poseidon/` directory, which contains a rust implementation of the Poseidon hash function. This implementation is based on the [Poseidon paper](https://eprint.iacr.org/2019/458.pdf) and the [Poseidon paper with S-Boxes](https://eprint.iacr.org/2019/458.pdf). This directory currently contains four modules:\n- `attacks` serving as a playground for attacking Poseidon with small field sizes\n- `home_baked_crypto` serving as one of the implementations of Poseidon inspired by the [Arnacube Implementation](https://github.com/arnaucube/poseidon-rs)\n- `python_transcription` serving as a transcription of the [Poseidon python implementation](https://github.com/ingonyama-zk/poseidon-hash/tree/main/poseidon) here\n- `implementations` Containing what we found to be the two most utilized rust implementations of the Poseidon hash function:\n    - [neptune](https://github.com/lurk-lab/neptune)\n    - [starknet_crypto](https://github.com/xJonathanLEI/starknet-rs)\n\nThese comprise a collection of at-home and production implementations, along with some examples of attacking the hash function with small field sizes. We hope this repository can serve as a learning resource for the Poseidon hash function and a place to experiment with the hash function in a safe environment.\n\n## Open Source\nWe believe it is important to do this work in the public view and support collaboration and collective learning. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautoparallel%2Fethereum_research","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautoparallel%2Fethereum_research","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautoparallel%2Fethereum_research/lists"}