[DRAFT] [GF: Phase 1] Herodotus

Basic Details

Project name: Herodotus

Author name and forum name (please provide a reliable point of contact for the project): Kacper Koziol co-founder (@kacperkozi Twitter)

Optimism GovernanceForum: @kozi

E-mail address: kacper@herodotus.dev

L2 recipient address: 0x17C2D875CB397D813eAE817DaFD25807E348Df07

Which Voting Cycle are you applying for?: Cycle 11

I confirm that I have read the landing pages for the Builders 29 and Growth Experiments 29 Sub-Committees and that I have determined my proposal is best suited to be reviewed by the Builders Sub-Committee: [Yes/No]: YES

Project Details

What are you going to build?:

Storage-proof verifiers that will allow smart contracts deployed on Optimism to access current and historical Ethereum on-chain data in a trustless manner.

These codebases would allow anyone to verify any past or current headers, state, and storage values of contracts deployed on Ethereum to other contracts deployed on Layer 2 chains in a trustless manner.

Why is what you are going to build going to succeed?:

  • Smart contracts on Optimism do not natively have access to historical state data. Storage-proof verifiers would allow smart contracts to unlock a new dimension - time. There is a wide variety of applications that can be built on top of this, such as deadman switches and governance solutions that enable voting based on historical balances (such as SnapshotX).
  • Most current solutions for accessing data from outside Optimism rely on some off-chain attestation to prove the data is valid. Storage verifiers will enable on-chain verification that the data received is valid without having to trust a third party. (Exception: if your application is latency sensitive).

We believe that giving our technology into the hands of developers will unify the fragmented L1/L2 ecosystem and result in better and more secure applications.

Is your project likely to bring new builders to the Optimism ecosystem? If so, please describe how:

Herodotus can help to improve the accessibility and availability of data on the Optimism network. With the help of the developer tools and documentation to make it easier for developers to integrate. These tools and resources can help to lower the barriers to entry for new developers who are interested in building on the Optimism network.

We plan to build a community of developers and users who will help us to refine and improve over time. This community can serve as a resource for new developers who are just getting started with Optimism and can help to foster a sense of collaboration and shared purpose within the ecosystem.

Not only will we bring new builders to the Optimism ecosystem, but we will help retain existing builders as they will be able to build on top of projects found on different Layer 2s without exiting the Optimism ecosystem.

Is your project likely to improve the quality of developers in the Optimism ecosystem? If so, please describe how:

It is unlikely to directly affect the quality of developers in the Optimism ecosystem, however, making our tool available can enable developers to create more sophisticated on Optimism.

Is your project likely to improve the commitment of developers in the Optimism ecosystem? If so, please describe how:

We are aiming to help to attract developers who are looking for innovative solutions to address critical needs within the space. By providing smart contracts with the ability to access current and historical state data on-chain, Herodotus will unlock new use cases and opportunities for developers building on Optimism.

We have a long-term vision and are committed to building and growing over time. This long-term commitment can help to install confidence in developers considering building on Optimism and can help to ensure the continued growth and success of the ecosystem.

Provide us with links to any of the following for the project:

Who are your competitors?:

At the current stage, we don’t see direct competitors to Herodotus, who provide the exact same services. However, it’s important to acknowledge that there may be alternative solutions that developers could use instead of Herodotus to achieve similar results.

What differentiates you from your competitors?:

Overall, we are focused on reducing the complexity of working with storage proofs in an easy-to-use API. Furthermore, we believe that the unique combination of features and benefits provided by Herodotus - including the use of Storage Proofs and ZKProofs for increased security, the ability to access historical state data on-chain, and the tailored infrastructure for developers building on Optimism - sets it apart from other solutions and makes it a highly valuable offering for the Optimism ecosystem.

Will your project be composable with other projects on Optimism? If so, please explain:

Yes, Herodotus is designed to be composable with any project on Optimism, allowing devs easily integrate. We see ourselves as an important building block to enable true interoperability.

Team

Who are your founders?: Kacper Koziol, and Marcello Bardus,

What makes your founders well-positioned to accomplish your goals with this project (1-2 sentences on each)?:

Marcello: Previously worked at Nethermind and was a researcher at Geometry. Has a very strong technical background, particularly in zero-knowledge cryptography.

Kacper: Previously worked at Nethermind as a Software Engineer at Oiler Network. Has a background in economics and math. Is an advocate for cross-chain interoperability and privacy solutions.

Tell us about the rest of your team (if there are more teammates):

Maciej (Twitter): Maciej Sulecki is the lead backend engineer at Herodotus. With a background in computer science, Maciej has been passionate about blockchain since 2020. beeinger (Maciej Sulecki) · GitHub

Tiago (Twitter): Research engineer at Herodotus, focusing on applying zk to enable cross-chain data access. Has strong knowledge of Rust, Solidity and Cairo.

Is this your first Web3 project?: NO

If not, what else have you built? (Share links, Github repository, or any other useful information.):

The first implementation of the keccak hashing function in Cairo

Reading Ethereum State on Starknet

Storage Proof powered bridge between the post-merge Ethereum PoW chain and the post-merge Ethereum PoS chain

https://www.mergeswap.xyz/ https://github.com/marcellobardus/mergeswap-contracts

Merkle Mountain Ranges implementation in Cairo

Merkle Mountain Ranges in TypeScript using the Pedersen hashing function https://github.com/HerodotusDev/merkle-mountain-ranges

Herodotus API Demo (uses a similar style storage verifier but is Starknet specific)

I understand that Builders grants are subject to a 1-year lock-up, as explained further in this post 3: [Yes/No]: YES

Is your project funded? If so, provide an estimate of how many months of funding runway your project has:

YES, the project is funded by top investors such as Geometry and Fabric Ventures. We still have more than a year of funding runway.

Grant Request

What is the size of the grant request? (50k OP max):

50’000 OP

We plan to use 20% of this for incentives to get people building with the Storage Verifier. For the remaining 80%, Herodotus is not planning to sell the grant tokens(if granted). Instead, we intend to keep the tokens in a treasury, which will be used to fund ongoing development efforts and to support the long-term sustainability of the project.

How do you justify the size of the grant?

The requested grant amount is based on several factors;

  1. Technical complexity translates to higher development costs, as well as the complexity of integration and maintaining a specialized infrastructure. While the scope of this grant proposal outlined in the project details is simple, it will set the foundations for hundreds of different project use cases.
  2. Innovation, by providing a unique and valuable service to the Optimism ecosystem, filling the gap in the current offering for on-chain data access, adds significant value to the ecosystem and justifies the grant amount as a means of incentivizing the development.
  3. Impact. The ability to access current and historical on-chain data will have a significant impact on the development of Optimism, improving the quality and security of applications. This impact justifies the grant amount as a means of supporting the development of a tool that can provide lasting value to the ecosystem.

Roadmap

Describe in discrete steps your plan for accomplishing your project:

  • Develop the necessary infra to give smart contracts on Optimism access to on-chain data (current and historical) between Optimism <> Ethereum
  • Integrate Herodotus with projects on Optimism (deFi, DAOs, NFTs etc.). This will involve testing and ensuring full composability.

Overall the plan involves a combination of research, development, testing and integration with a focus on delivering reliable, secure and valuable tools for devs and users in the Optimism ecosystem.

Please provide any additional information that will facilitate accountability:(smart contract addresses relevant to the proposal, relevant organizational wallet addresses, etc.)

Does your plan depend on the receipt of OP tokens?: No

What is your plan for the use of the OP token after the 1-year lock-up?:

We intend to hold the tokens and participate in Optimism Governance.

Please define critical milestones for this project. Critical milestones are meant to show good-faith efforts to accomplish the project. Non-completion of these milestones could lead to the revocation of remaining grant rewards.

For the purpose of this proposal, we will build a sample project that allows a smart contract deployed on Optimism to verify a user’s ownership of DAI tokens on Ethereum. This project will use the Optimism Storage Verifier contracts to cryptographically verify that the balance is correct at two points in time. One that is recent (~15min old), and one that is much older (~3 weeks).

Optimism Relationship

Does your project solve a problem for the Optimism ecosystem?:

  • Security
  • Data-accessibility
  • Data-verification
  • Interoperability

How does your proposal offer a value proposition solving the above problem?:

We eliminate the need to trust off-chain third parties when accessing on-chain data which makes the applications that use our storage verifier secure.

We can enable access to historical data, which is currently very difficult to do from a smart contract level. This is huge for data accessibility, unlocking completely new use cases.

Storage proofs will allow applications on Optimism to access data from outside of Optimism, which means that in the future we will be able to support data access between Optimism and many more rollups. Interoperability for on-chain data is coming!

Why will this solution be a source of growth for the Optimism ecosystem?:

The storage verifier will allow projects to bring data to optimism which will help retain users. Allowing importing data from external sources will help with user retention as they can use their data, NFTs within the Optimism ecosystem.

How committed are you (and your team) to building on Optimism?:

Due to the nature of our business and the vision to re-unify the ecosystem, we will always need to maintain neutrality regarding the chains we work with. But by virtue of Optimism’s advantages and the attractive governance structure, we are more than committed to bringing storage proofs to Optimism as one of the first L2s in the ecosystem.

Is your project Optimism Native?: NO

Confirmations

I understand that I will be required to provide additional KYC information to the Optimism Foundation to receive this grant: [Yes/No]: YES

I understand that I will be expected to following the public grant reporting requirements outlined here: [Yes/No]: YES

3 Likes