Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Goal

Hyperledger Umbra (https://github.com/hyperledger-labs/umbra) is a project created during the 2019 mentorship period as a network simulation tool to run the blockchain environment. The plan for this year is to add network fuzzing capabilities such as packet drops, delay, loss, etc.

Image Added

Proposed Timeline

Week 1 - 3 (June 1 - June 19)

  • Understand blockchain, docker, containernet, SDN, etc concepts
  • Setup and get familiar with the development environment - run tests, read logs, etc
  • Get high level understanding of the current umbra code - advanced Python ramp-up
  • From above learnings, improve umbra docs, setup scripts, etc if needed

Week 4 - 6 (June 22 - July 10)

  • Pathfinding: ability to save and replay packet. E.g. each peer saves each packet sends so umbra-broker can instruct all the nodes to replay the packet
  • Implement the ability to remove container(s), remove/update link behavior (bandwidth, delay, loss, etc), and change node resources (cpu/mem) in umbra-scenario component
    • Test feature -  refer umbra/examples/fabric/build_configs.py

Week 7 - 9 (July 13 - July 31)

  • Continue working on save/restore feature
  • Add events to umbra-broker based on previous quarter link/node behavior changes in umbra-scenario
  • Review implementation details with Umbra maintainer

Week 10 - 12 (Aug 3 - Aug 21)

  • Add the ability in broker to parse events from config (e.g., event with “category” field set to “scenario”), containing the proper params to call the scenario modifications (e.g., node: name, operation: delete, etc)
  • Generate a report for this fuzzing activity - list out all the events, status, etc
  • Document and wrap-up work (scripts to automate stuff, etc)

Process

  • Weekly meeting with mentor and other mentees that use Umbra. Other meetings scheduled as required
  • Chat via Signal