Succinct Demo

Pragma Paris · 20 Jul 2023 · 10:13

Telepathy is a cross-chain messaging protocol that avoids trusted multisigs by verifying Ethereum consensus on other chains through a ZK light client. A prover checks that a block header carries enough signatures from the current validator set, and the proof goes to an on-chain light client that costs around 300K gas on EVM chains. The speaker says it secures the Ethereum to Gnosis bridge and shows the messaging docs and an explorer. A newer testnet protocol, Telepathy State Queries, pulls data by calling view functions on another chain, for example to gate an L2 vote on mainnet NFT ownership.

Speakers

Topics

From Pragma Paris, hosted by ETHGlobal.

Transcript

foreign [Music] we're going to do is we're going to have three more demos so we're going to talk about what's actually happening with a few more protocols in the space that are announcing some big things uh one of you may have already heard of a couple you're going to find out for the first time so without further Ado I'd like to welcome our next demo for today and that is Uma from succinct and she's going to talk to you about all the new things that you can do now with a lot of like client stuff please welcome home on stage [Applause] and today I'm going to be talking about the telepathy protocol which lets you do

cross-chain messaging and a new protocol we've been working on for cross chains dayquarters so a general in succinct we're interested in exploring the rich ZK application space beyond current protocols so when we started out there was a lot of people working on zke VMS there's a lot of teams working on that problem and then there's also a popular ZK protocol focused on privacy known as tornado cash and we were kind of interested in what benefits can ZK provide to the blockchain space that goes beyond zkvm or these privacy protocols and so we pioneered the concept of ZK like clients so a tldr of a light client is you verify the consensus of a source

chain in the execution layer of a Target chain and why that's useful is now you can have the target chain know the source chain State kind of natively and have the chains talking to each other natively without the need for some centralized intermediary or a multi-sig and if you guys are familiar with the existing current cross chain bridging or interoperability space most of the solutions for cross-chain communication or bridging involve these kind of like trusted multi-cigs and by having these really gas efficient ZK snark based light clients you can now have chains talking natively to each other without the need for these trusted intermediaries hopefully leading to much more secure interoperability and so we had this ZK like client we made for ethereum that lets you verify

basically ethereum's like client protocol on any evm chain really efficiently and it lets you do this for around like 300K gas on evm chains and how the algorithm works all right how the algorithm works is we just take these outputs from ethereum consensus so for example as ethereum is coming to consent consensus its validators are generating these signatures block headers and there's the current validator set we take all those artifacts we put them into a ZK prover that proves a statement that the current blockheader has enough signatures from the current validator set and then we take that block header the proof and the number of signatures and we submit that on chain to run a non-chain like client

and so with this ethereum-like client we built the telepathy protocol which is live on mainnet and has been since March using our ethereum ZK like Plan and there's actually a few different interesting things you can do with the protocol so one thing is you can send arbitrary messages from ethereum to any chain because you run in ethereum like client on other chains like polygon Avalanche nosys chain whatever other chain you want and you can get the ethereum state on all those chains and then when you know the state of ethereum you can know how if messages have been sent on ethereum and that's how we do this like arbitrary message passing from ethereum to other chains what's also interesting is some people are pretty interested in bridging

ethereum's consensus layer to its execution layer to get information about validator balances or statuses which is useful for a lot of like protocols involved in like staking and so are like clients also useful for that and we do all this with ethereum's like client protocol and then we have docs on all of the above and I just wanted to point out that this is live today and it's being used actually to secure the gnosis bridge so gnosis is an all L1 uh that you might guys may have heard of and we currently are like client secures the ethereum to gnosis bridge which has like around 40 million dollars in TBR and then there's a few other people who use our messaging protocol across

is a liquidity layer that's using us for messaging Hashi is kind of this bridge aggregator that's using us and then we recently got a grant from compound to integrate into their governance uh for having their ethereum governance control other deployments on other chains and then in terms of the consensus consensus information in the execution layer uh teams like eigenlayer are using us because they are involved in like staking and restaking and they need information about the consensus layer to operate their protocol and nouns is kind of an interesting fun example where they ran this little prize pool for people putting their nouns goggles in ethereum validator graffiti and they used us to get uh the ground truth of who was putting their graffiti

in um the consensus blocks so those are all some like users of the telepathy protocol and like a very high level of like how it works how zika involved and now I'll show you it running so they asked to do a demo so the demos well it's already running today so figured I'd just show you that it's super simple to like do the messaging it's like very similar to a lot of other messaging protocols these are our docs it's just docs dot telepathy.xyz you can see you just you can send a message from any from ethereum to another chain you just specify like the chain ID the address of the receiving contract and the data and then on the other side you have to handle the message so you have to handle what source chain is coming from the

address and the data and so yeah there's like some really simple docs uh you have an Explorer where you can see like our messages coming through uh you can also view the like client in our Explorer so you can see we're actually sending a lot of like client update stenosis to help secure their Bridge so you can see we send one like roughly every six or so minutes per ethereum epoc so you can scroll and then yeah this is a transaction that you can see we updated our knows it's like client so there's like a head update and then our validator we use our like client to actually validate these events on the gnosis bridge so every time you go to gnosis and you try to transfer money through their Omni Bridge our validator will sign off on your transfer and

adding that ZK like client security to the transfer to make sure that the funds like don't get taken out of the bridge if the validator set gets hacked so you can see it working today like every time there's a transfer we publish an event and we handle that affirmation so yeah that's like showing our protocol actually being used in practice um and again like all this information is in docs if you guys are interested in checking it out and then I also want to touch on a new protocol that we're working on um that actually is uh we have only recently uh started working on and is live on testnet and so potentially pretty interesting for the hackathon so it's called telepathy State queries and

I think the most interesting thing about it is currently all cross chain interoperability Protocols are push-based so cross chain messaging is push you push the information from a source chain to a destination chain but a few of our early users actually really wanted to pull information from other changes chains they didn't want to push it they just wanted to retrieve it when they needed it and they're a smart contract in our state query protocol allows users basically to call view functions on other chains so you send a request to telepathy to do a state query on another chain and basically call A View function on another chain and then it'll return you the results and you can like continue on and so this is live on testnet today we're trying to go to mainnet in around a month and we

think it's pretty interesting because it is a different way of looking at the interoperability messaging problem so instead of pushing you can do this like pull based retrieval and as an example we have it in our docs right below the telepathy protocol docs and uh the reason a lot of people are interested in this is for example say you want to conduct voting on L2 but you want to gate it by nft ownership on ethyl one it's a common use case for a lot of gaming teams or in general people writing protocols on L2 to like want to request information from L1 so this is a really simple example contract or basically a user would call vote and then you uh the contract issues

a state query to our state query Gateway requesting basically this information asking for a user's balance of the message dot sender of this particular ERC 721 on chain ID one so mainnet so request the information and then it'll get it'll have a callback that's fulfilled with the response and if the user indeed has a balance of greater than one on mainnet then the vote is allowed to go through so we think this is a pretty interesting Paradigm instead of having to push information about the user's nft balances every time they change to a mirrored contract on L2 you can kind of just in time get the information when you need it with the relevant contracts

and the you know relevant addresses and then you can have your request fulfilled and we're pretty interested in seeing what like Builders and hackers like uses this kind of stuff for uh we already have like a few interesting use cases of people wanting to use this to get like chain link Oracle data from L1 on l2s that don't exist or get this nft information uh but yeah we think there's a lot of a lot of interesting stuff to be done here uh so yeah that's our new protocol it's in the docs and it's on testnet so you can try to on test that um and yeah that's what we've been up to at succinct with our telepathy interop protocol foreign [Applause]