Documentation Index
Fetch the complete documentation index at: https://docs.stoffelmpc.com/llms.txt
Use this file to discover all available pages before exploring further.
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