Skip to content

[META] Gno.land <> Union <> EVM connection #5624

@HeesungB

Description

@HeesungB

1. Background

The goal of this work is to enable IBC-based token transfers between the Gno.land chain and EVM-family chains (Ethereum, Base, etc.).

A direct connection is impractical due to differences in consensus mechanisms, so routing through the Union chain as a relay infrastructure is judged to be the most feasible path.

Packet payloads are encoded/decoded on both sides per the UCS03-ZKGM standard.
The light client only guarantees packet authenticity; payload semantics are handled by the ZKGM handler.

2. Options

There are three candidate paths for Gno.land ↔ EVM token transfer. All of them ultimately involve Union at one of the endpoints, so "can we eliminate the Union dependency?" is not a meaningful evaluation axis.
The actual evaluation axes are (1) UX, (2) engineering effort to mainnet, and (3) operational risk.

Option A — Current path: AtomOne ↔ Osmosis ↔ EVM

  • Route: Gno —(IBC v2)→ AtomOne —(IBC v1)→ Osmosis —(Union ZKGM)→ EVM
  • Pros
    • Already works in production. Almost no new stdlib, light client, or contract work required.
    • Uses only the standard Cosmos IBC v1.
    • Reuses already-shipped Cosmos IBC primitives end-to-end (IBC v2 between Gno and AtomOne, IBC v1 between AtomOne and Osmosis). No CometBLS verifier, no ZKGM contract on the Gno side.
  • Cons
    • Two-signature UX (Gno→AtomOne, then AtomOne→EVM side). A 1-click flow is impossible.
    • Osmosis is in maintenance-only mode. After the failed Cosmos Hub merger, support for new integrations and routes is being phased down → operational risk grows over time.
    • The EVM endpoint is still handled by Union, so this is a double dependency on Osmosis + Union.
    • It also diverges from the original "AtomOne as the IBC hub" vision (because Osmosis sits in the middle).
    • Still needs an IBC v2 stack on the Gno side (light client + ICS26 router) and an AtomOne ibc-go v10 upgrade — so it is not zero-effort.

Option B — IBC Eureka (IBC v2 directly to EVM)

  • Route: Gno → (IBC v2 / Eureka) → EVM
  • Pros
    • Follows the standard IBC v2, so there is no dependency on a specific operator like Union.
  • Cons
    • An SP1 (ZK prover) infrastructure is a hard prerequisite. Gno would have to operate SP1, and the cost is excessive.

Option C — Direct Union Bridge (selected)

  • Route: Gno ↔ Union ↔ EVM (Ethereum, Base, …)
  • Pros
    • One-hop UX (single signature). Denom tracking, failure surface, and latency all stay simple.
    • The Union mainnet (union-1) already runs CometBLS + Galois ZK Verifier + UCS03-ZKGM. We only need to add the integrations on both endpoints.
    • Once Gno gains a CometBLS Light Client + ZKGM contract, multiple EVM chains that Union is already connected to become reachable in one shot (no per-chain light client required).
    • A significant portion is already in flight: Alex has drafted a CometBLS Groth16 verifier in gnolang/gno#5583 in two variants — native-heavy and gno-heavy.
    • The Light Client can be derived from the existing gno.land/p/aib/ibc/lightclient/tendermint → assessed as trivial.
  • Cons
    • Requires net-new implementation on Gno: CometBLS pairing / Groth16 verifier (as a native precompile or in gno), the Light Client, and the UCS03-ZKGM contract. Non-trivial effort.
    • Introduces a dependency on Union infrastructure (union-1 availability, Voyager relayer, UCS03 spec churn risk). That said, Option A also routes through Union at the endpoint, so the SPOF itself cannot be avoided.

Decision: Option C

  • A is structurally weak due to Osmosis maintenance mode + the two-signature UX, and it diverges from the "AtomOne hub" vision.
  • B was already ruled out due to SP1 cost.
  • C is the only option where four things line up: 1-hop UX + simultaneous coverage of multiple EVM chains + reuse of Union's battle-tested infrastructure + work already in progress
    via PR feat: Implement CometBLS Groth 16 verifier in both gno-heavy or native-heavy versions #5583. The Union SPOF is accepted as a known trade-off.

3. Progress / Plan

4. Open Decisions

TBD

5. Dependencies & Risks

TBD

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    In Progress

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions