rhino.fi is one of a generation of zero-knowledge, or ZK, rollups that have sprung up off the main Ethereum blockchain. Our goal is to solve Ethereum’s scalability challenges and drive the mass adoption of DeFi using the speed and efficiency gains of ZK technology.
However, we recognise that, in terms of its wider recognition, zero-knowledge technology lives up to its name. Few people know anything about it and fewer still understand it. As ZK rollup projects collectively, we’ve not done a great job of explaining the innovation up to now.
So in this article, we’re going to strive to put that right. We’re going to how we’ve built our frictionless multi-chain gateway using ZK tech, and we’ll aim to answer the following questions along the way:
- What are zk rollups and how does their technology work?
- ZK rollups vs optimism rollups: what are the differences?
- How has rhino.fi applied zk tech to our project?
- Why have we chosen this version of zk tech, and what benefits does it offer to our users?
Ok, so first off: What are zk rollups and what does the term ‘zk tech’ mean in practice?
ZK rollup projects like rhino.fi use a validation mechanism known as zero-knowledge proofing.
When a transaction is made, this technology enables the proving party to demonstrate to the verifying party that a transaction is valid without revealing any information about the trade itself, or the parties involved. So it provides total privacy and maximum security.
The prover is challenged to solve a series of mathematical equations that would be impossible without a specific piece of knowledge about the transaction. If you want an analogy, it’s like going through a maze with a series of doors, each of which is marked with a special number for you to collect. At the end of the maze, you prove you went the right way by repeating all the numbers in the correct sequence.
This is in contrast to optimistic rollups, which simply assume all transactions are valid by default (hence the name), and will only run a computation in the event of a community challenge.
Both ZK rollups and optimistic rollups have the same core goal: to make blockchain transactions faster and solve some of the problems found on the main Ethereum blockchain, which is blighted by extreme congestion and slow transaction speeds.
However, because ZK rollups check every single transaction, and must submit a formal ‘validity proof’ when posting the transaction data on the main Ethereum blockchain, they offer far stronger security properties than optimistic rollups.
We’ve written a full explainer on how zk rollup projects work, which covers the differences between zk rollups and optimistic rollups in detail (as a side note, people often talk about ‘zk rollups vs optimism rollups’, but in fact Optimism is a brand name – optimistic rollups is the correct term).
Anyway, we digress. You can find the explainer here.
Ok, so how does rhino.fi apply zk technology?
Now you know what zk rollups are, we can drill down into how we’ve applied this technology to facilitate high-speed, low-cost trading between chains.
rhino.fi is built using StarkEx, a layer 2 technology that harnesses zero-knowledge proofing to provide scalable, non-custodial trading.
The StarkEx technology includes both a prover and a verifier: in other words, it can both set the mathematical puzzles and resolve them, proving that the transaction details are valid.
The StarkEx system works in four key steps:
- We batch together a bunch of transactions off-chain and send them to StarkEx together.
- The StarkEx service validates all the transactions in the batch and updates the relevant balances.
- StarkEx generates a STARK proof, which confirms the validity of all transactions in the batch, and posts this proof on the main Ethereum blockchain.
- An on-chain smart contract receives the STARK proof. Once this proof is verified, a commitment to the new balance states is stored on-chain.
Crucially, we never take control of your funds at any stage. You maintain full control, providing consent for us to make transactions on your behalf via user signatures.
Why have we adopted this system?
The evolution of blockchains is based on compromise.
As well as making blockchains more scalable (in other words, allowing more transactions per second) we also want to achieve total decentralisation and maximum security, above and beyond the protection you received from your old fiat banks.
This is a delicate balancing act. Increased scalability usually leads to less security, less decentralisation, or both. This is often known as the blockchain ‘trilemma’ because the three aims are so difficult to satisfy simultaneously.
Against this backdrop, we feel that StarkEx offers the best possible range of benefits. We were the first to partner with StarkWare to bring this technology to users, and since then it has been used by many other teams such as dYdX and ImmutableX.
On one hand, the in-built zk technology facilitates near-instant trades and transfers, as well as low fees for our users. However, it is also private and preserves self-sovereignty – we don’t own your funds, you do.
Finally, what role does ZK tech play in our multi-chain system?
There are several other ZK rollup projects out there, but each has a different focus.
Some, such as zkSync, are aiming to build a fully EVM-compatible rollup that mirrors the exact functionality of Ethereum, at lower cost. Others aim to create highly scalable derivatives exchanges, like dYdX. At rhino.fi, we want to harness the technology to build a single, unified platform for accessing the best of DeFi across all chains. .
StarkEx provides the router in our system of smart contracts; the central hub that all the individual chains orbit around. When you make a cross-chain transaction on rhino.fi, you do so on StarkEx without needing to touch your desired chain at all. All you need to do, in fact, is indicate the swap you wish to make.
For a more detailed analysis of how this works, head on over to our dedicated blog post on smart contracts and you’ll get a full explainer.
Ok, so that’s the deep-dive on zk rollups and how ours works
We’d also urge you to check out Ethereum’s guide to ZK tech, and read StarkWare’s explanation of StarkEx. They’re both really well-written and complement the stuff you’ve learned in this blog post.
And if you’ve got any more questions about zk rollup projects or anything else that pertains to this hugely complex subject matter, hit us up on Discord and we’ll gladly go into the weeds with you.
Because we love this concept. It may be called zero knowledge, but that doesn’t mean zero understanding.
Read More: rhino.fi