Hop Tokens exit time and challenge mechanism:
We implemented Hop tokens to have a more aggressive exit time than the 7 day period that Optimism chose. It works by using a simple challenge mechanism that piggybacks on the rollup’s challenge mechanism. For example:
- A bundle of Hop ETH Transfers is sent from the rollup down to layer-1. This payload will reach layer-1 after the rollup’s 7 day exit time but will primarily be used to resolve challenges.
- On layer-1 the Bonder immediately attests that the bundle payload will show up in 7 days and puts up collateral so that the bundle can be propagated up to its destination rollups immediately.
- If the Bonder’s attestation is fraudulent, it can be challenged. The challenge mechanism simply waits 7 days to see if the bundle payload will show up on layer-1 in order to resolve the challenge.
- If the Bonder’s attestation goes unchallenged for the duration of the Hop exit time, their collateral is unlocked.
The reason for using a more aggressive exit time is that there’s a different set of tradeoffs for Hop Bridge participants when compared to rollup participants. While rollups expose users to the risk of the rollup challenge mechanism failing at all times, end users using a Hop Bridge are only exposed to Hop-related-risk for the brief period they are using the bridge to transfer tokens. It’s in the best interest of the rest of the Hop participants (Bonder, AMM liquidity providers, arbitrageurs) to take on some long-tail risk of the Hop challenge mechanism failing in exchange for a much more capital efficient system.
Another nice aspect of the Hop token setup is that it keeps the primary pricing mechanism on-chain in the form of an AMM. Because tokens on each rollup are not 100% fungible, their prices will fluctuate relative to each other based on market demand to exit. Using AMMs to price tokens across rollups with a common intermediary asset (e.g., Hop ETH) allows the relative pricing of rollups’ tokens to remain on-chain instead of being determined by the Bonder. If there’s a lot of demand to exit a given rollup, tokens on that rollup will be trading at a discount, and arbitrageurs can come fill that demand and profit off of the discount by buying the discounted token from the AMM. Without the AMMs, it would be completely up to the Bonder to dynamically adjust fees off-chain and do all the rebalancing themselves.
We currently have the Hop exit time set to 1 day, with the thought being that it is long enough to survive a decently long censorship attack, but not long enough to protect against longer consensus failures or a more extreme censorship attacks that requires a user activated soft fork. I’m curious if you think 1 day makes sense here and if this tradeoff seems reasonable in general.
An alternative direction could be to remove Hop Tokens and the AMMs from the system and do the batched transfers using the rollups tokens directly as you mentioned. I think this is worth keeping in mind as we figure out how to decentralize the Bonder role but it seems less optimal with the current single Bonder set up.