Origo Mode
What is Origo Mode?
Origo Mode is an efficient implementation of a Web Proof proxy protocol. Using Origo, a client can prove data provenance to a third party, demonstrating that:
- Data was received from a specific server
- The client did not tamper with the contents of the data
Pluto provides multiple execution modes for generating Web Proofs to maximize user optionality. Origo Mode is one of the three execution modes Pluto offers, alongside MPC Mode and TEE Mode.
For detailed technical specifications on the Origo protocol, please refer to the Origo paper.
Origo at a high level
Origo operates in three main phases with three main parties - the client, the server, and the proxy. The proxy’s role is to forward traffic between client and server, and record the ciphertext it observes. Because all communication between the client and the server is routed through the proxy and the proxy saves the ciphertext content, the client is unable to forge arbitrary ciphertext and claim it as the server response.
- Handshake & Request Execution: The client engages in a TLS 1.3 handshake with the server, sends a request, and obtains a response.
- Pre-Processing: The client generates public values from the handshake transcript for optimized proof generation.
- Proof Generation & Verification: The client generates a zero-knowledge proof for the integrity of data transmitted in the TLS session. The proxy verifier then checks the proof’s validity.
The diagram below gives a high-level overview of the information flow between parties.
How is Origo Mode different from MPC Mode?
While MPC Mode also proves data provenance, it uses multi-party computation rather than a proxy-based approach. Origo is a more recently developed protocol that focuses on optimizing for proof size and performance, providing constant communication complexity that makes it more efficient for larger proofs.
How is Origo Mode different from TEE Mode?
TEE Mode also uses a proxy-based approach, but runs its proxy within a hardware-isolated Trusted Execution Environment. While Origo uses cryptographic techniques to ensure integrity, TEE Mode relies on hardware-backed security guarantees.
Both modes offer high performance, but with different trust assumptions and security models.
How does Pluto use Origo?
Pluto’s Web Proofs SDK implements Origo Mode alongside MPC Mode and TEE Mode. Developers can choose which mode to use based on their specific requirements around trust models, performance needs, and payload sizes.
For more detailed information on the inner workings of Pluto’s Origo implementation, please refer to our Origo Mode blog post.