Skip to content

Incorporate Avalanchego signature aggregation #596

@cam-schultz

Description

@cam-schultz

Context and scope
ava-labs/avalanchego#3394 adds a signature aggregation utility to Avalanchego that, when integrated, would allow us to remove a significant amount of duplicate functionality. The new utility uses p2p.Client, which encapsulated much of the p2p request handling that we currently implement ourselves.

Discussion and alternatives
We can replace much of the logic in SignatureAggregator.CreateSignedMessage with a call to this utility. We'll have to refactor the retry logic somewhat, but the utility does support this by accepting a partial aggregate signature as an argument.

We should also be able to replace much of the external handler logic (or remove it altogether), since the utility manages response handling.

Open questions
The Avalanchego aggregator does not support our use case of reconstructing an aggregate signature from cached individual signatures in the event of a validator set change. To do so, we would need a mapping of BLS public key to signature for a particular Warp message ID.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions