How the simulation is done

nWaku Version: 0.33

The following simulation structure was prepared for testing sharding from nWaku. This structure will be added to the Waku regresion tests that are done monthly with each version, allowing us to check the results of the protocols in a more specific manner.

Expectations:

  1. Messages will be published on all shards in the same cluster.
  2. Nodes will forward messages only to nodes in the same shard.
  3. All messages injected in shard X will reach all nodes in shard X.
  4. No messages injected in shard X will reach another shard.

Results:

✅ All relay nodes received all messages on its correspondant shard.

✅ There is no messages on wrong shards.

4 shards:

src.mesh_analysis.waku_message_log_analyzer - INFO - Analyzing from server
src.mesh_analysis.waku_message_log_analyzer - INFO - Detected 2000 pods
src.mesh_analysis.tracers.waku_tracer - INFO - Nº of Peers: 2000
src.mesh_analysis.tracers.waku_tracer - INFO - Nº of unique messages: 300
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 0
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 1
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 2
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 3
src.mesh_analysis.tracers.waku_tracer - INFO - All msg_hash values appear in only one shard.

8 shards:

src.mesh_analysis.waku_message_log_analyzer - INFO - Analyzing from server
src.mesh_analysis.waku_message_log_analyzer - INFO - Detected 3000 pods
src.mesh_analysis.tracers.waku_tracer - INFO - Nº of Peers: 3000
src.mesh_analysis.tracers.waku_tracer - INFO - Nº of unique messages: 300
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 0
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 1
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 2
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 3
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 4
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 5
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 6
src.mesh_analysis.tracers.waku_tracer - INFO - All peers received all messages for shard 7
src.mesh_analysis.tracers.waku_tracer - INFO - All msg_hash values appear in only one shard.

Raw Data:

simulation_data_messages_shard.zip

Simulation components: