What is Hashi
Hashi is an EVM Hash Oracle Aggregator, designed to facilitate a principled approach to cross-chain bridge security.
The primary insight being that the vast majority of bridge-related security incidents could have had minimal impact if the systems relying on them had built in some redundancy. In other words, it's much more secure to require messages be validated by multiple independent mechanisms, rather than by just one.
Hashi aims to create “additive security” to cross-chain messages by aggregating block headers from different sources. A block header will be considered valid only when a number of block sources (oracles) above a certain threshold report the same result. Hashi is the first step towards a principled approached to bridges and will play a key role in the Gnosis Chain interoperability roadmap.
Oracles
Oracles consists of the bridge solutions available in the market, such as AMB, Telepathy, Dendreth, etc. To provide an universal interface for Hashi, an adapter contract is designed specifically for each oracle. Some of the oracles require header reporter to report block header in certain slot.
Existing oracle adapters:
In progress:
Current deployments
Goerli -> Gnosis Chain
For the current configuration, we validate a Goerli block hash with 4 oracles, every ~15 mins.
The 4 oracles includes Telepathy Light Client, Dendreth Light Client, Gnosis AMB, and Sygma.
Threshold in ShoyuBashi is set to 2.
How to use it?
Call getThresholdHash(domain, blockNo) in ShoyuBashi.
By using domain=5 and blockNo a blockNumber that has been reported by the oracles, you get back the blockHash if at least 2 of the oracles have reported the same hash.
Goerli -> Chiado
For the current deployment, only AMB and Telepathy oracles are supported.
Contract | Deployed on | Address |
---|---|---|
Hashi | Chiado | 0xA0B14A016F62d5f245048Ac67a8AF38ff81AE799 |
ShoyuBashi | Chiado | 0x01268DB05965CeAc2a89566c42CD550ED7eE5ECD |
AMB Adapter | Chiado | 0x02EF808c1235EC235BdfEf9b5768527D86093711 |
AMB | Chiado | 0x99Ca51a3534785ED619f46A79C7Ad65Fa8d85e7a |
Telepathy Adapter | Chiado | 0xAED11f08AB2C45C6C6DF242B8513c7919E0A0f8f |
Telepathy Light Client | Chiado | 0xb1D85B0122C9CE0a68fDC6620a7416c77f984425 |
HeaderStorage | Goerli | 0xbdbb6bb1e9e1167f8d613f408e28d58a2e89abc1 |
AMB Header Reporter | Goerli | 0x61fac58f793b2a8a791a0583618feb89e256e839 |
AMB | Goerli | 0x87A19d769D875964E9Cd41dDBfc397B2543764E6 |
Resources
- Repository: github.com/gnosis/hashi
- Intro discussion: ethresear.ch/t/hashi-a-principled-approach-to-bridges
- Intro thread: twitter.com/auryn_macmillan/status/1632696493525323778
- Ask questions on the Gnosis Chain discord - #hashi channel