TLShare: Verifiable Inputs for Private Computation - Dimitris Mouris - zkTLS Day @ Devconnect 2025
zkTLS Day at Devconnect Argentina 2025 · 19 Nov 2025 · 12:20
Dimitris Mouris of Nillion presents TLShare, built with Primus Labs, which extends zkTLS so provenance-attested data can be imported into multiparty computation and fully homomorphic encryption workflows. Multiple clients can use authentic data from banks and exchanges in privacy-preserving analytics and in AI model inference and training. The talk also introduces tickr.app, a production deployment running on trusted execution environments, and was given at zkTLS Day during Devconnect 2025.
Speakers
Topics
From zkTLS Day at Devconnect Argentina 2025, hosted by TLSNotary.
Transcript
All right. Hey everyone, I'm Deitris. I'm the head of cryptography at Million. And today I wanted to talk to you about private ver verifiable TLS, but both from a research point of view and al also from a practical point of view. So uh I'm very happy that we had already all this uh all these previous talks that have described how ZKTLS works and like all these different variants of ZKTLS. I'll do my very brief introduction. So I like to think of it in this model of having a prover or the user in the middle, the server on the left hand side and the verifier on the right hand side.
We have an MPC phase and the TLS phase. Sometimes this is like the same thing because the prover and the verifier essentially share um the TLS session and then at the end the prover decides what to disclose or what to prove to the verifier and the verifier can either accept or reject the proof. Um now on top of this model we have other different variants of ZKTLS right we have the proxy model we have a notary model um we have TLS points 1 TLS versions 1.2 and version 1.3 and multiple companies that essentially build on these variations
and so on and so forth. Now to be a little bit more specific, let's say that the server is a centralized exchange that holds uh some Ethereum. Approver wants to to go to this service, fetss back the transcript and then prove something or disclose something about this transcript to the verifier, right? I want to go to a centralized exchange and prove to you that I own more than two Ethereum for instance. Cool. So having this mental model in mind uh let's jump into the uh the presentation. So as I mentioned we'll start with the research aspect and we recently co-authored a paper with primos labs.
Uh and this is what we'll start talking about and then we'll talk about a more practical application which is on what we call ticker.app. Uh I encourage you to to take a look and try to use it. So with ticker.app app is essentially um a verifiably a verifiable app of proving your trading performance. I will explain what this means later. Okay. So focusing on the research aspect, we have this uh framework with TLS and we have identified different problems with existing ZKTLS uh solutions. Two of these problems are that you have a stat a static statement that you essentially have to express as a circuit uh which
happens at this stage right. So after I have connected during the MPC phase to the server I have fed back my response and I want to prove to you that I that I uh that I have let's say in the bank or in the centralized exchange more than 10 Ethereum. So we have a static zero knowledge circuit um to prove the statement and then the verifier at the end says true or false or accept or reject. Um on top of that another limitation is that in this model you have only a single prover and only a single server.
So putting all this together um we essentially wanted to remove these uh limitations and allow multiple uh users to be able to connect to different TLS servers and do something over their joint data. So the first step is to we replace the name verifier with an attesttor and the reason is that we now have something else that we call verifiers and the verifiers in this case is either a fully homorphic encryption node or MPC nodes. So these verifiers will get the private value from here uh whatever the prover chooses to disclose to them or secret
share to them. Um and now in the first version of the FAT full homework encryption essentially the prover FH encrypts the sensitive data and sends it to this server along with a proof of provenence. In the second version where we have an MPC protocol uh the prover will secret share the sensitive data to uh different MPC nodes and then they can run the computation. Now why is this uh you know why this solves the big issue that I mentioned before? If you remember like before I mentioned that you know you connect to the centralized exchange and you have to prove that you know you have to prove a statement that you have uh a fixed circuit about this statement whereas now
this part is completely outsourced to either the FHC server or to the MPC nodes. So nothing about this statement or like this proof has to be uh computed online on the server. Now the prover can just outsource this in a private format either to the FH or to the MPC nodes and then these guys can do whatever they want like in more powerful infrastructure offline without keeping the prover online. Okay. Uh yeah and this is the part that essentially this the FHN or the MPC can can run any computation.
So going back to the centralized uh exchange or like in sense the centralized exchange example um and the multiple users imagine that we have multiple users connecting to different uh exchanges centralized decentralized exchanges fetching their uh their private data and not proving anything about that just fetching it and securely exporting it to the FHC or the MPC nodes. Now the F8 the or the MPC nodes depending on the protocol that you want to choose um can decide what to do with the data in a very native example right like I can own asset in Binance in pancake swaps in pancake swap and like other exchanges and I want to prove a statement about all my assets instead of
doing different proofs about each different TLS server I want to take everything together in a private format such that the verifier cannot see like the individual assets that they have import it into a secure computation server and then run the circuit of you know all the aggregated assets together are greater than the threshold directly on the joint assets and this can also extrapolate to multiple users because the circuit that we can do here um essentially we don't have any limitation on what we can run under MPC or FC um I won't delve into details about how the the protocol works uh in general we have three protocols in the
two focus on uh FHC with uh some benefits on you know when to choose one or the other and one focusing on MPC uh and yeah this is the paper like I'm happy to talk about it uh more if you're interested in that. So now um having this mental model in mind of what we want to achieve I'll focus on the more practical side which is called ticker.app and as I mentioned before ticker.app app is essentially an app that allows you to provably um essentially to to prove you are a good trader. Uh as you all know, right, crypto is flooded by fake screenshots.
You have people posting online, oh, you know, look how how big how how how good of a trader I am. And they post different screenshots of their profits. and then they say, "Okay, you have to actually pay me in order to be added to this private telegram group or to this uh private discord channel." Um, you see where this is going. So, ZKTLS, the ZKTLS family of protocols can solve this problem. And this is what we did with the TLS framework essentially. So, we took a a little spin. So, the paper that I showed you before on the back end, it was using MPC and F8 to run the applications. So on this one that was running in production, we focused
more on a trust execution environment. So instead of secret sharing to MPC nodes or FHC. So we essentially run the verifier here inside the trust execution environment and you can connect to an exchange fetch your trading performance and inside the TE everything stays private but then the TE has the application logic to disclose uh whatever the screenshots are disclosing like how good someone trades. And this is what like the the app UI looks like.
um have both for hyperlquid and for binance. Binance is the one that is using the zls part and for that we rely on the primus zls extension. Um and yeah what what this essentially disclos what this has here like you can see the PNL which is computed directly on the TE without revealing like you know what assets someone someone has uh and also the TE is storing the state and and everything else that is needed and uh here's like a quick demo of how this works. So you go to Binance uh I'm already already uh I have already gone through the process. So like I click this button and now this redirects to Binance. I have the Primus ZTLS
extension which now creates the proof. If you are not already logged in to Binance like it will pop a message to to log you in. I'm not sure if you would have to refresh and then you know you go back essentially to the app. It still loads. Um and yeah that was like verifying the proof and after you verify like the page refreshes and if you were not there like essentially like your your assets uh your assets have have been added there or sorry not your assets but like your your trading performance. Um so with ticker so this is like the the general flow and uh then if you're a good trader essentially you can have your wallet there and people can subscribe to you
and you can give them you know intuition on oh how how I'm trading like I'm trading so essentially defeats the screenshots model that we have before um yeah that's all I Great, great presentation, Demetrius.
So, like are you you're going to be targeting like the um this is a question I have like the the traders that open up these groups. Um is that who you're looking to deploy this to? >> The traders that do what? Sorry. >> That that open up these groups. the guys that post the P&Ls and then say like join my group pay $10 a month um for x amount of trades. >> Yeah. So the the very high level ideas right you can screen you can uh you know very easily edit a screenshot or you can even now like use spt to create one for you that's fake.
>> Exactly. >> Uh so as a user you don't need to trust this. If the trader is actually you know is actually very good they don't need the screenshot. they can actually go through the platform. They can uh use ZKTLS to prove how how well they are performing. The the P&L will be displayed there. Uh and then as a user you can subscribe to to events posted by these traders and essentially these events will say oh you know I believe that this will happen in the next month.
you know, you can you can do that. And if you know, they put their mouth where their their money is as well, like you know, their followers quote unquote that have subscribed to their events like will will also follow similar trading patterns. >> Makes sense. Thank you. >> Okay. Thank you. >> Thank you.