Skip to content

Support Submission of Intermediate Headers in SetupHeadersForUpdate #17

@bluele

Description

@bluele

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 SetupHeadersForUpdate to 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions