Skip to content

[Umbrella] Vyper safety properties verification #90

@charles-cooper

Description

@charles-cooper

Description

Umbrella issue tracking formal verification of Vyper safety properties.

Goals

Prove that Vyper programs, when executed according to our semantics, satisfy key safety properties that prevent common smart contract vulnerabilities.

Safety Properties

Memory Safety

Arithmetic Safety

Control Flow Safety

Type Safety

Approach

Each property follows a similar pattern:

  1. Define the property - What invariant should hold?
  2. Identify the mechanism - How does the semantics enforce it?
  3. Prove base cases - Default values, initial states
  4. Prove preservation - Each operation maintains the invariant
  5. Compose - Full program satisfies the property

Priority

Properties are roughly ordered by:

  1. Security impact (reentrancy, overflow)
  2. Proof difficulty (some are straightforward case analysis)
  3. Dependencies (type safety may depend on type-checking implementation)

Non-Goals (for now)

  • Gas consumption bounds (requires EVM integration)
  • Cross-contract call correctness (external calls still WIP)
  • Optimizer correctness (separate work in Venom passes)

Metadata

Metadata

Assignees

No one assigned

    Labels

    umbrellaParent issue tracking sub-issuesverificationFormal verification and safety proofs

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions