Skip to content

Releases: kkrt-labs/keth

v0.1.0-alpha

27 Feb 11:55
52b50f6
Compare
Choose a tag to compare
v0.1.0-alpha Pre-release
Pre-release

Keth v0.1.0-alpha Release Notes

We're excited to announce the first alpha release of Keth, an open-source proving backend for the Ethereum Execution Layer built with Kakarot Core Cairo EVM.

What is Keth?

Keth makes it possible to prove Ethereum state transitions asynchronously by:

  • Pulling pre-state
  • Executing all required transactions
  • Computing post-state

This can be run for a given block to prove the Ethereum protocol's State Transition Function (STF).

Key Features in v0.1.0-alpha

  • Ethereum Cancun Support: Implementation of the Ethereum Cancun fork, including state transitions, transactions, and block processing
  • Ethereum Foundation Test Compatibility: Adapted testing framework from the Ethereum Execution Specs
  • Mainnet Block Testing: Support for testing state transitions against real Ethereum Mainnet blocks
  • Rust-Python Interoperability: Cairo-addons crate providing Python bindings for Rust components

Components

  • Cairo Implementation:

    • Ethereum state, transactions, and block processing
    • Trie implementation for Merkle Patricia Trees
    • Cryptographic primitives
  • Rust Components:

    • cairo-addons: Python bindings for Cairo VM and cryptographic operations
  • Python Components:

    • Testing framework adapted from Ethereum Execution Specs
    • Tools for generating and converting ZK-PI (Zero-Knowledge Prover Input)

Getting Started

Please refer to the README.md for installation instructions and usage examples. The project requires:

  • uv for Python dependency management
  • Rust toolchain for building Rust components

Status

Keth is currently in alpha stage and not suitable for production use. This release represents the first milestone in our journey to build a robust proving backend for Ethereum.

Amongst current known limitations:

  • not all EF tests are passing, still investigating the few failing
  • not everything is sound, mainly but not only precompiles
  • not possible to compute the actual Ethereum mainnet post state root (no partial MPT)

Note: This is an alpha release and may contain bugs or incomplete features. We welcome feedback and contributions from the community.