-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Description
Currently, the relayer implementation assumes that at least 1/3 of the validator set remains unchanged between the trusted height and the submission height. However, if more than 1/3 of the validator set changes within this range, the light client may halt due to an inability to verify continuity.
To address this limitation, the relayer must bisect the range between the trusted height and the submission height, identifying one or more heights where at least 1/3 of the validator set remains unchanged. These identified heights should then be submitted as intermediate headers. This change is essential for ensuring continuous validation under dynamic validator set conditions.
Note that the current light client's liveness assumption is that there exists at least one height between any two given heights where 1/3 or more of the validator set overlaps. ref. https://github.com/hyperledger-labs/yui-ibc-solidity/blob/main/docs/ibft2-light-client.md#liveness-analysis
Proposed Solution
- Implement a mechanism in
SetupHeadersForUpdateto bisect the height range and determine intermediate headers where at least 1/3 of the validator set remains unchanged. - Submit these intermediate headers along with the final header to ensure uninterrupted light client verification.