As per the work by Grid+ on bridging EVM blockchains I thought it would be nice to make it compatible with this, without being limited to deposit / withdraw.
I initially didn't take this approach because I wanted to avoid large proofs, so the approach taken was to make the proof size, and thus overhead, as small and as simple as possible. The 'trustless' nature of the Grid+ bridge doesn't rely on using Ethereum block headers specifically, it uses a staking mechanism.
The problem with the approach that uses Ethereum block headers is essentially that proofs a single event require the whole receipt, which includes all of the events, and the 256 byte log bloom, in addition to the MPT proof of the transaction within the block. The smaller and simpler approach taken thus far in this project extracts all of the transactions and logs into a predictable format, then constructs a normal merkle tree with them.
As per the work by Grid+ on bridging EVM blockchains I thought it would be nice to make it compatible with this, without being limited to deposit / withdraw.
I initially didn't take this approach because I wanted to avoid large proofs, so the approach taken was to make the proof size, and thus overhead, as small and as simple as possible. The 'trustless' nature of the Grid+ bridge doesn't rely on using Ethereum block headers specifically, it uses a staking mechanism.
The problem with the approach that uses Ethereum block headers is essentially that proofs a single event require the whole receipt, which includes all of the events, and the 256 byte log bloom, in addition to the MPT proof of the transaction within the block. The smaller and simpler approach taken thus far in this project extracts all of the transactions and logs into a predictable format, then constructs a normal merkle tree with them.
Related links:
TODO: add more details