Count Xeno the 4th Infrastructure Social Impact

The problem Count Xeno the 4th solves

For BLS signatures, the EVM currently only has a precompile for BN-254 integrated. However, many other curves are of interest, including for security and performance reasons. This project solves verifying an aggregate BLS signature on Ethereum, where Ethereum doesn’t natively support the curves used via a precompile, such as BLS12 381 and 377. The signature scheme is accountable, and the applications are lit: having an accountable signature scheme permits use cases such as transparent DAOs (with efficient signature aggregation) and trustless bridges (since adversaries can be slashed).

Challenges you ran into

Writing tests in Rust for Solidity contract turned out to be a challenge. Some people are struggling with this as well: https://blog.polytope.technology/testing-solidity-contracts-with-rust. We found a way to make it nicer using ethers-rs (alloy turned out to be another challenge to work with) and some post-processing of solc output and anvil.

Arkworks doesn’t support proving pairings and adding that support is tricky.

Technology used

  • Rust
  • Solidity
  • Arkworks
  • Anvil