MPC Integration

This section covers how the Stoffel ecosystem integrates with Multi-Party Computation protocols.

Protocol Architecture

Stoffel is designed to be protocol-agnostic, allowing integration with different MPC protocols while maintaining a consistent interface.

Current Protocol Support

  • HoneyBadger MPC: Primary protocol implementation in Rust
  • Configurable Security: Adjustable threshold parameters
  • Multiple Fields: Support for BLS12-381, BN254, and other cryptographic fields

Integration Points

StoffelVM Integration

  • Secret register operations map to MPC protocol primitives
  • Automatic secret sharing for values moved to secret registers
  • Reveal operations for transitioning from secret to clear

Network Communication

  • Direct node communication for MPC operations
  • Optional coordinator for metadata exchange
  • Efficient batching of operations for reduced communication rounds

Python SDK Integration

  • High-level API abstracts protocol complexity
  • Clear separation between secret and public inputs
  • Automatic result reconstruction from secret shares

Security Model

Threat Model

  • Assumes honest majority with up to (n-1)/3 corrupted parties
  • Protects against semi-honest adversaries
  • Configurable security parameters for different scenarios

Data Protection

  • Input privacy through secret sharing
  • Computation privacy through secure protocols
  • Output privacy with selective reveal operations

Performance Considerations

Communication Optimization

  • Batched operations to reduce round complexity
  • Efficient serialization of protocol messages
  • Network topology optimization for latency

Computational Efficiency

  • Native field arithmetic operations
  • Optimized secret sharing algorithms
  • Parallel computation where possible

This integration enables secure multi-party computation while maintaining developer-friendly abstractions.