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.