Is your feature request related to a problem? Please describe.
Currently we have a LightRelay implementation copied from the tBTC-v2 repository. The problem with this relay is that it is not fully secure under SPV assumptions. I wrote a security analysis here but we recently discovered it is a lot cheaper to spoof a block within 2016 * 2 blocks. This isn't an issue for tBTC because they anyway have it controlled by the signer set and they also track specific UTXOs for the global wallet.
Describe the solution you'd like
We need to build a "Full Relay" based on our previous implementations:
Is your feature request related to a problem? Please describe. Currently we have a
LightRelay
implementation copied from the tBTC-v2 repository. The problem with this relay is that it is not fully secure under SPV assumptions. I wrote a security analysis here but we recently discovered it is a lot cheaper to spoof a block within 2016 * 2 blocks. This isn't an issue for tBTC because they anyway have it controlled by the signer set and they also track specific UTXOs for the global wallet.Describe the solution you'd like We need to build a "Full Relay" based on our previous implementations:
See also the old tBTC full relay: https://github.com/summa-tx/relays/blob/30704ab2c443a8a24bdb1228da1e453347f62d3b/solidity/contracts/Relay.sol
Describe alternatives you've considered We could also build some kind of ZK light client using RISC Zero.
Additional context Note the following bugs: