owned this note changed 2 years ago
Published Linked with GitHub

Gitcoin Hacking Sessions Agenda

tags: gitcoin Notes

Updated by March 2021

Authors: Danilo Lessa Bernardineli

WS #8 Gitcoin Under Attack
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
+ Scientifically approaching a Conjecture

MoH: @danlessa

This working session is going to exceptionally have a 3hr duration instead of 2hr

Agenda

  • Experimentally test the maximum matching subsidy conjecture by
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
    (45min)
    • (10min): explanation of some concepts
  • A / B / C test for the partial Rounds 9 data when comparing: (90min)
    • QF + pairwise / vanilla QF / QF + pairwise + sybil score threshold
    • Proposed steps:
      1. Visualize the current data
        • Sybil score per grant
        • Conjuctured Optimality Gap
      2. Identify or inject a attack vector
        • Many to one
      3. Define a sucess metric: Percentage of captured funding
      4. Scenario 1: How it performs on QF + pairwise
      5. Scenario 2: How it performs on Vanilla QF?
      6. Scenario 3: How it performs on QF + pairwise + sybil score >= 0

Notes

  • Overview of the attack
    • AirDrops -> bots giving for everybody
      • What if they're skewing the intended recipients?
    • Same grants receiving the same amounts regularly, mostly from new accounts
      • a
    • Some attackers: mix of suspicious and legit grants
      • a

References

WS #7 Attack Vector Design and Testing

MoH: @Jiajia20

Goals

  • quickly explain how QF and pair-wise funding works
  • implement a few premeditated collusion scenarios
  • Visualize collusion pattern with NetworkX and plug them in cadCAD and see the result.

Agenda

  • quick revision of QF, and example of how to game it (10-15 min)
  • Implementing simple example on gaming QF and visualization (15 min)
  • Test simple example on cadCAD (15 min)
  • Community design collusion pattern and test against cadCAD (30 min)

Useful resources:

Repo currently offline

WS #6: Einstein Summation / Unit Testing / Profiling

MoH: @danlessa

Goals

  • Make sense of what the anonymous benefactor code is doing
  • Create a quick way to benchmark QF implementations
  • Create a quick way to test QF implementation to make sure that they work in the same way

References

WS #5: Making Quadratic Funding Faster

MoH: @danlessa

Goals

  • Have a iterative version of QF
  • Run the cadCAD model for all the time sequence.

Agenda

References

WS #4: Transitioning between finished and upcoming research scopes

MoH: @danlessa

Goals

  • TO update on the status of the BSci <> Gitcoin research
    • The plan for Optimality Gap investigation has been delivered
    • We have a upcoming plan for making QF really fast
  • Collect suggestions and proposals for the WS dynamics
  • To map the current research landscape in terms of opportunities and relationships through through Kumu

Agenda

  • Intro (10min)
  • Results of the Optimality Gap research iteration (15min)
  • What's upcoming: making QF really fast (10min)
  • Reviewing the Working Session (15min)
  • Introducing Kumu (15min)
  • Mapping the current research landscape (50min)

References

WS #3: Impact of Attack Vectors on Optimality Gap through A/B testing

MoH: @danlessa

Goals

  • We know how much the optimality gap of known attack vectors are different from other grants as a whole.
  • We know how much the attack vectors matching compares to the other grants as whole

Agenda

  • Intro (10min)
  • Updates from last week (10min)
  • Injecting a arbitrary subgraph into the contributions graph (10min)
    • Optimizer improvements
    • Optimality Gap
  • Injecting the 1st vector (10min)
  • Optimality Gap for the 1st attack vector (10min)
  • Match extraction for the 1st attack vector (20min)
  • Injecting the 2nd vector (5min)
  • Optimality Gap for the 2nd attack vector (5min)
  • Match extraction for the 2nd attack vector (5min)

References

WS #2: Implementing Edge Rewiring Optimizer (04feb2021)

MoH: @danlessa

Goals

  • Get the optimality gap for each grant.
  • Build edge rewiring optimizers on top of NetworkX and do Pull Requests for them.
  • Compare the results when using Monte Carlo optimization vs simulated annealing

Agenda

  • Intro (5m)
  • We need optimizers for the edge rewiring problem (15m)
  • Forking NetworkX repo (10m)
  • Implementing the Monte Carlo optimizer (15m)
  • Implementing the Simulated Annealing optimizer (15m)
  • Submit PR (10m)
  • Get results for the optimality gap through MC (15m)
  • Get results for the optimality gap through SA (5m)
  • Compare results (15m)
  • Discussions (15m)

References

A Hybrid Approach to Network Robustness Optimization using Edge Rewiring and Edge Addition: https://dr.library.brocku.ca/handle/10464/14776

A novel edge rewiring strategy for tuning structural properties in networks:
https://www.sciencedirect.com/science/article/pii/S0950705119301698

Optimizing network robustness by edge rewiring: a general framework: https://link.springer.com/article/10.1007/s10618-015-0447-5
(DOI: 10.1007/s10618-015-0447-5)

NetworkX - Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks
https://networkx.org/

WS #1: Implementing the Research Plan Definitions

MoH: @danlessa

Select a repo