State Proofs

The Future of Trust and Interoperability

One of the biggest values that blockchain technology can deliver is the idea of trust without the need for an intermediary. Being able to use cryptography to allow anyone to verify the "state" of something that is on the ledger.  The issue for the various blockchains is that state can easily be verified on that chain, but as users and systems move inbetween applications that are built on various chains the ability for each chain to verify the state of a blanace, transaction, or an asset.

Today this is accomplished in a centralized manner through what are called bridges. Bridges are essentially platforms that integrate into multiple chains and act as an intermediary to verify on one chain the state of another. The issue with these centralized bridges is they are easy targets for hackers as they often rely on smart contracts that can be exploited. Case and point? Look at what happened to Wormhole which is an ETH-SOL bridge that was hacked recently for more than $300M. Today there are already $32B in tokenized assets being held in these bridges creating a large and lucrative attack surface for hackers.

So how do we fix this issue? Well, today I want to talk to you about an interesting new technology being developed at Algorand called a state-proof. This is in no way an endorsement of Algorand, I only speak through their lens since I have had the pleasure of meeting with and discussing this technology with the team at Algorand that is developing it.

So having briefly discussed chain bridges, how do state proofs solve this issue and provide a trustless way to verify state on another chain? Trustless simply means that there is no middle-person or intermediary. An ASP or Algorand State Proof connects Algorand to the broader blockchain world and allows another chain to attest to the state of the Algorand network without an intermediary.

So how do they do this? To be honest it is pretty complex so I am going to do my best to explain it as simply as I can (because even I struggle to understand all of the computer science that goes into it haha). To start, say I wanted to bridge an asset I own from Algorand to Ethereum to use as collateral. First, the Algorand network using its core consensus mechanism creates an escrow account for me to deposit my asset, and then a state proof is created using what is called a Compact Certificate of Collective Knowledge.

A Compact Cert (for short) is a consensus mechanism developed by the founder of Algorand, Silvio Micali, that allows a certain number of participants to all sign the escrow account that I deposited my asset into. In cryptography this is done by other participants signing the transaction of me putting my assets into escrow. The issue with this is if say 100 people signed my transaction that would result in a long list of signatures which makes the code heavy and exporting the state proof to another chain becomes next to impossible.

The Compact Certs use a mechanism to take those signatures and combine them all together into what is called a zk-SNARK Proof. zk-SNARK stands for Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. Yes, that is a mouth full haha. Simply put it is a way for someone as a third party (like someone making me a loan against my asset on Ethereum), to be able to trust that my assets are verified and locked without needing to see them and that is accomplished using a cryptographic math approach called Zero-Knowledge Proofs which we discussed in a previous post. If you remember that post we discussed Ali Baba's cave and how running that test a certain number of times can give you mathematical certainty that an individual possesses the knowledge that they do. In this case, the zk-SNARK can mathematically prove that I have the asset I say I do and that a certain number fo other validators on the network have signed to verify that the asset is safely locked in escrow. And instead of needing to validate all of the signatures that signed my escrow account, you can validate a small subset and that subset verfies that the rest of the signature are there and legit.

The zk-SNARK is an ultra-compact certificate that allows a validator on the Ethereum network to verify the state of the Algorand network and my escrow account using the Ethereum consensus mechanism that is native to the network without the need for a centralized bridge that is tapped into both networks. The state-proof can also work in the reverse direction, allowing an Ethereum asset to be bridged over to Algorand. The zk-SNARK allows the validator signatures to be combined and compact enough so that the certificate is light weight and can easily move to and run in the other chain without issue.

State proofs are an important technology for the future success of blockchains especially given the large number of chains that are gaining adoption and applications are being built on top of them. The term we use is interoperability, the ability for assets to move between chains in a safe and secure way while also maintaining the decentralized trust that blockchains provide. By creating trustless interoperability between chains will allow a more fluid future in which decentralized apps built can be more fluid with one another which will lead to better consumer experiences.