Part 3: Nillion x Primus Labs
This is Part 3 of our zkTLS blog post series; check out Part 1 and Part 2 if you have not already read them. TLDR: Decentralized oracles technologies fall short of a true Private-to-Private solution. Public-to-Public oracles import publicly available data such as stock prices, weather forecasts, etc., into smart contracts, while Private-to-Public allow a statement about private data to be used on-chain while maintaining privacy. See our categorization below:

To that end, Part 2 explored different Private-to-Private decentralized oracle solutions based on MPC, FHE, TEEs, as well as combinations of them. These solutions extend zkTLS to import private data with provenance into blind computation!
In this blog post, we’re excited to announce our partnership with a leading zkTLS company, Primus Labs, as well as showcase a demo integration between Nillion and Primus Labs.
Demo of a Private-to-Private Decentralized Oracle
- Primus Labs offers a browser extension and a developers hub that allow access to different data sources (e.g., Binance, TikTok, X, etc.), fetch TLS responses, and prove statements on these responses.
- Nillion offers a decentralized storage system called SecretVault that keeps sensitive data secret by storing encrypted shares across a cluster of nilDB nodes. nilDB enables data to be stored in an encrypted (via symmetric cryptography or HE) and/or decentralized (via MPC) way.
Combining our technologies, we can create a true Private-to-Private Decentralized Oracle (described in Part 2) as:

As a stepping stone, we introduce a TEE in the mix along with multiple MPC servers. After the TEE decrypts the AES-encrypted data, it uses secret sharing to securely share the sensitive data to the MPC servers. The MPC servers can now use the secret shares to perform any private computation.

For example, multiple clients can log into their TikTok accounts and import the “coin balance” from their accounts into SecretVault (i.e., nilDB-powered MPC Servers). SecretVault allows setting precise permissions for accessing data and performing analytics over it. In our case, we want to prevent record-level access and only allow blind aggregations, i.e., add the coin balance from multiple users and return only the sum. Learn more in our demo.
Future Work on Private-to-Private Oracles
This is only the beginning! Nillion and Primus Labs are working together to build the different decentralized oracle solutions outlined in our Part 2 blog post. After removing the TEE from the equation, the next goal is to remove the proxy and shift toward a pure MPC solution that scales with multiple verifiers – we are performing research on how to accelerate this. Stay tuned!
Follow @BuildOnNillion on X/Twitter for more updates like these