Skip to main content

15/WAKU-BRIDGE

Abstract

This specification describes how 6/WAKU1 traffic can be used with 10/WAKU2 networks.

Wire Format

The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in 2119.

A bridge requires supporting both Waku versions:

Publishing Packets

Packets received on 6/WAKU1 networks SHOULD be published just once on 10/WAKU2 networks. More specifically, the bridge SHOULD publish this through 11/WAKU2-RELAY (PubSub domain).

When publishing such packet, the creation of a new Message with a new WakuMessage as data field is REQUIRED. The data and topic field, from the 6/WAKU1 Envelope, MUST be copied to the payload and content_topic fields of the WakuMessage. See 14/WAKU2-MESSAGE for message format details. Other fields such as nonce, expiry and ttl will be dropped as they become obsolete in 10/WAKU2.

Before this is done, the usual envelope verification still applies:

  • Expiry & future time verification
  • PoW verification
  • Size verification

Bridging SHOULD occur through the 11/WAKU2-RELAY, but it MAY also be done on other 10/WAKU2 protocols (e.g. 12/WAKU2-FILTER). The latter is however not advised as it will increase the complexity of the bridge and because of the Security Considerations explained further below.

Packets received on 10/WAKU2 networks, SHOULD be posted just once on 6/WAKU1 networks. The 14/WAKU2-MESSAGE contains only the payload and contentTopic fields. The bridge MUST create a new 6/WAKU1 Envelope and copy over the payload and contentFilter fields to the data and topic fields. Next, before posting on the network, the bridge MUST set a new expiry, ttl and do the PoW nonce calculation.

Security Considerations

As mentioned above, a bridge will be posting new 6/WAKU1 envelopes, which requires doing the PoW nonce calculation.

This could be a DoS attack vector, as the PoW calculation will make it more expensive to post the message compared to the original publishing on 10/WAKU2 networks. Low PoW setting will lower this problem, but it is likely that it is still more expensive.

For this reason, it is RECOMMENDED to run bridges independently of other nodes, so that a bridge that gets overwhelmed does not disrupt regular Waku v2 to v2 traffic.

Bridging functionality SHOULD also be carefully implemented so that messages do not bounce back and forth between the 10/WAKU2 and 6/WAKU1 networks. The bridge SHOULD properly track messages with a seen filter, so that no amplification occurs.

Copyright and related rights waived via CC0.

References