An oracle for cross-chain proof of events, with a neat token wormhole proof of concept
TL;DR: We are making events and transactions from blockchain and IRL data sources available to smart contracts, enabling cross-chain and real world integration with DeFi, Layer 2, Industry 4.0 and <insert buzzword here>.
The Token WarpGate demo project uses Solidity smart contracts deployed across Kovan, Matic and Arbitrum to demonstrates how an event based Oracle could be used to teleport tokens across chains.
We want generic cross-chain messaging to be Event based in the future, allowing for multiple block chains to communicate with each other so people can build novel DeFi projects which access liquidity from all available chains and take advantage of smart contracts wherever the gas is cheapest.
We also investigated making this zkSTARK and zkSNARK compatible, focusing initially on Cairo and zkSTARKs in an attempt to make some kind of L2 Rollup which proves events have happened on multiple blockchains at the same time. However, we ended up trying to mine monero on the Cairo playground instead...
We used Ethereum, Cairo, Docker, Brownie and Python. With some blood, sweat, and tears. And alcohol.
We really wanted to have something like ChainLink but not just restricted to price feeds or having API callbacks from the web, there is an information distribution problem where it's not feasible to have ChainLink submit one piece of information on-chain per request, so instead we wanted something which is more asynchronous.
Secondly, there is no current standard for cross-chain communication on Ethereum, meaning that many different new blockchains are becoming isolated silos and DeFi is becoming less useful as capital gets spread thinner and thinner across all the emerging products. We are solving this by having a merkle tree compiled in a consistent format with all of the Events from multiple blockchains in one tree. The merkle root can then be published to the chains and merkle path authenticators used to prove that events have occurred.
This kind of flexibility allows smart contracts to be transformed into cross-chain state automata, to have tokens and DeFi which operate across multiple chains etc.