I've been looking into Cumulus SDK's parachain and XCM handling functions in XcmpQueue to handle XCM protocol functions such as send_xcm(). It seems by default, messages are not signed when sent.

If this is the case, what prevents a malicious person from replaying an XCM message to perform a replay attack?

1 Answer 1


Replay attacks only work in setups where messages are received via an un-trusted delivery mechanism - hence the need for signing; to authenticate the sender.

For XCMP, the delivery channel is already trusted. Only the sender can inject messages into the channel, no one else. The relay chain guarantees this.

Now if you are solely looking at XCM as a language (and not the DotSama use for XCMP/VMP/HRMP) then yes - replay is possible. But so is in any other language without build-in authentication, like English.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.