System Architecture
This section provides an overview of the complete Stoffel system architecture and how the various components interact.Overall System Design
Component Interactions
Development Workflow
- Project Creation: Stoffel CLI creates project structure with templates
- Code Writing: Developers write StoffelLang programs with MPC primitives
- Compilation: StoffelLang compiler generates optimized VM bytecode
- Testing: Local VM execution for development and testing
- Deployment: MPC network deployment with protocol integration
Runtime Execution
- Program Loading: StoffelVM loads compiled bytecode
- Secret Sharing: Input data is secret-shared across MPC nodes
- Secure Computation: VM executes with MPC protocol integration
- Result Reconstruction: Output is reconstructed from secret shares
Data Flow
Clear Data Path
- Public inputs and configuration data
- Direct VM register operations
- No cryptographic overhead
- Immediate availability across all nodes
Secret Data Path
- Private inputs requiring protection
- Automatic secret sharing on input
- MPC protocol operations during computation
- Selective reveal for output reconstruction
Security Architecture
Isolation Boundaries
- Process Isolation: Each MPC node runs in isolated environment
- Memory Protection: Clear and secret data separation
- Network Security: Encrypted communication between nodes
- Access Control: Role-based access to computation resources
Trust Model
- Honest Majority: Assumes majority of nodes are honest
- Semi-Honest Adversary: Protects against passive attacks
- Input Privacy: Individual inputs remain private
- Computation Privacy: Intermediate values are protected
Scalability Design
Horizontal Scaling
- Node Addition: Dynamic addition of MPC nodes
- Load Distribution: Computation workload balancing
- Geographic Distribution: Global node deployment support
Vertical Scaling
- Resource Optimization: Efficient CPU and memory usage
- Parallel Execution: Multi-threaded computation where possible
- Caching Strategies: Optimized data and computation caching
Integration Points
External Systems
- Database Integration: Secure querying of external databases
- API Integration: RESTful APIs for system interaction
- Blockchain Integration: Smart contract integration for verification
Development Tools
- IDE Support: Language server protocol integration
- Debugging Tools: Comprehensive debugging and profiling
- Testing Frameworks: Specialized testing for MPC applications