In order for the users of Ethereum to be able to take advantage of computational power of Polkadot Echosystem, they should be able to verify the finalized state of Polkadot Relay chain on Ethereum in a timely manner. The state of Relay chain then can be used to efficiently verify the state/result of any transaction on any shard on Polkadot. We aggregate a signature certifying the state of the Polkadot Network from all Polkadot validators and a single aggregated public key representing them and submit it to Ethereum network and verify it on a contract. Additionally, we submit a proof that the aggregation is done correctly. This faithfully represents the validators who have certified the state. Other smart contracts can then use Polkadot state to efficiently conclude the result of any transaction on any shard on Polkadot.
Unfortunately Precompiled BLS Pairing, which were planned to be included in Ethereum network by the Berlin upgrade, still have not been integrated. As such, we were forced to use Celo test network to show case the verification of the BLS signature.
Although we had implementation of the SNARK prover and the verifier contract, we ran out of the time to integrate these part in our code.
But we were able showcase the system on the dev node setup with a BEEFY test instantiating the APK proof. The ultimate goal is to run this on a standalone chain - our new standalone chain with BEEFY integration is only partially working with BEEFY at this stage.
Tracks Applied (2)
Discussion