You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Avalanche Warp Messaging in AvalancheGo is intended to support the minimum shared spec across how VMs will use it.
As a result, we should remove the destinationChainID field, which may not be needed when performing a broadcast operation and leave it to the VM to define the destinationChainID if needed.
Additionally, if the P-Chain is ever going to sign warp messages directly, then we should add a networkID field.
With the exception of the P-Chain, every blockchain on an Avalanche network's blockchainID is the hash of the transaction that created it. However, the P-Chain is an empty 32 byte value (same as the Primary Network subnetID).
For most blockchains signing a warp message, the blockchainID will be uniquified across different Avalanche networks because every transaction on the P-Chain requires a networkID resulting in unique transactions across different networks.
However, since the P-Chain hardcodes its blockchainID to an empty 32 byte value, this creates a replay attack vector if the P-Chain ever signs Avalanche Warp Messages using the same BLS private key as a different network. To prevent this, we should add a networkID into Avalanche Warp Messages for replay protection.
The text was updated successfully, but these errors were encountered:
Avalanche Warp Messaging in AvalancheGo is intended to support the minimum shared spec across how VMs will use it.
As a result, we should remove the
destinationChainID
field, which may not be needed when performing a broadcast operation and leave it to the VM to define thedestinationChainID
if needed.Additionally, if the P-Chain is ever going to sign warp messages directly, then we should add a
networkID
field.With the exception of the P-Chain, every blockchain on an Avalanche network's
blockchainID
is the hash of the transaction that created it. However, the P-Chain is an empty 32 byte value (same as the Primary Network subnetID).For most blockchains signing a warp message, the blockchainID will be uniquified across different Avalanche networks because every transaction on the P-Chain requires a
networkID
resulting in unique transactions across different networks.However, since the P-Chain hardcodes its blockchainID to an empty 32 byte value, this creates a replay attack vector if the P-Chain ever signs Avalanche Warp Messages using the same BLS private key as a different network. To prevent this, we should add a networkID into Avalanche Warp Messages for replay protection.
The text was updated successfully, but these errors were encountered: