MetaGame Modeling Quest! 📈

This Quest Tree will begin with some Introductory Materials on Modeling and Simulating Systems. It will grow (and change over time) based on feedback from metagame players!

An up to date outline of the quest tree will be maintained in this top level post along with estimated seeds (use your best judgement, effort varies widely by past experience level).

  • Learn the basic Modeling Concepts (~1 hour)
  • Install cadCAD and run a demo model from the list provided (~1 hour)
  • Work through the Robot and Marbles Tutorial Series (~half day)
  • Revisit basic Concepts and read advanced concepts (~2 hours)
  • Pull a more advanced (working draft) model and modify it (~half day)
  • Create a New Quest (or Questline) in this Quest tree (~1 hour)

I expect this to provide Modeling and Simulation XP in the future :wink:

6 Likes

M&S Quest 1: Learn the basic Modeling Concepts

This quest is design to buff up your background knowledge for modeling and simulation in preparation for the rest of the modeling and simulation questline

Reading List:

To complete this Quest

  • author a new post within the community.cadcad.org discourse which either asks a new question about simulation and modeling or answers a prior question
  • tweet about how you are learning to model/simulate the metagame
  • post a link to your forum post and/or your tweet in discord
4 Likes

M&S Quest 2: Install cadCAD and run a demo model

This quest is designed to provide you with new equipment to aid you on your quest!

If you are new to python in addition to cadCAD start here:

If you wish to bypass Python setup for now, you can use google colab

If you are a python user and want to get down to business then open your terminal:

  • pip install cadCAD

Now that you can run cadCAD let’s try it out. There are a variety of sample models available.

  • A model of the ETH2 beacon chain by the Rigorous Incentives Group (RIG) at the Ethereum Foundation [Github]
  • A model of the ETH-DAI pair on Uniswap created by Markus at BlockScience [Github]
  • A model of the verifiers dilemma [Github] [Medium]

There are other models you can try out but these are relatively well documented so they are good starter models to play with.

To complete this Quest

  • write a tweet with a link to github of the model you ran and a screenshot of YOUR results
  • make sure to share what you learned by from your experience!
  • post a link to your tweet in the discord
3 Likes

M&S Quest 3: cadCAD Tutorial Series

This quest is designed to teach you how to use your newly acquired equipment. The robot and marbles tutorial series is interactive feature documentation demonstrating the use of the cadCAD software for a simple system.

Robot and Marbles Tutorial Series

In this series, we introduce basic concepts of cadCAD and system modeling in general using a simple toy model. [Github]

Part 1 - States and State Update Functions
Part 2 - Actions and State Dependent Policies
Part 3 - From Synchronous to Asynchronous Time
Part 4 - Uncertainty and Stochastic Processes
Part 5 - Using class objects as state variables
Part 6 - A/B testing

Check out the videos folder for detailed walkthroughs of each one of the tutorials.

For details regarding specifying model configurations and simulation configurations you may wish to refer to the documentation.

Warning: It will take you half a day to complete this quest properly and you will probably wish to spread that work out over a week

To Complete this quest

  • Go to community.cadcad.org and write a post giving feedback on the tutorials; include what you found helpful as well as what could make the tutorials easier to learn from. You may also wish to recommend a future addition to the tutorial series.
  • tweet about accomplishing and highlight what you learned
  • post a link to your forum post and/or your tweet in discord
3 Likes

M&S Quest 4: Advanced Modeling Concepts

Now that you understand how the cadCAD software works, it’s time to start learning to model. As you learned in the introductory modeling quest, modeling is a subjective representation of a phenomena. Mathematics is the language used to represent these phenomena but it’s also important to build intuition as well as to be clear about your goals. This quest provides additional reading material and references to help build those skills, preparing you to strike out on your own modeling journey.

Broad perspectives on modeling to help guide your understanding of complex systems.
Foundations of Cryptoeconomic Systems (MIT Cryptoeconomic Systems Conference 2020)

Motivating Systems Engineering
Synthesis —The Essence of Systems Engineering (Derek Hitchen’s self published)

Curated Reference materials on wide rang of mathematical topics
Token Engineering Learning Program (Blog by Tannr Allard)

Core Reference for Economics of Dynamic Stochastic Processes
Ergodicity Economics (Extensive Lecture Notes from London Mathematical Lab)

Definition of Discrete Event Games and Formal Application to Bonding Curve Price Dynamics
Economic Games as Estimators (Vienna University of Economics, Working Paper Series)

The above references would take far more than 2 hours to read exhaustively and understand deeply. The purpose of this quest is familiarize the quester with additional references and to invite reflection on the basic concepts in light of learnings from quests 2 and 3.

To complete this quest

  • Choose one of the readings (or subsections of the longer references) and write a post summarizing what you learned from reading it and how you plan to apply that learning on your future modeling journey.
  • tweet about accomplishing this quest and highlight what you learned
  • post a link to your forum post and/or your tweet in discord
3 Likes

M&S Quest 5: Forking to Build Your own MetaGame Model

Having reviewed the advanced concepts it’s time to start doing your own modeling. Don’t worry you don’t need to start from scratch. In this quest you will start with a relevant existing model relating to a metagame concept and start modifying it with your own ideas.

Recommended Base Models to Fork

Three-Sided Market [Github]

The three-sided market archetype is characterized by ‘Community-Corporation Substitutability’. That is to say that a community coordinating through technology such as decentralized ledgers can functionally fulfill a role in the economy that is currently fulfilled by a corporation without the users of that corporate product knowing or caring that the provider is a community. This model is focused on making via platform businesses, no business required.

Cyber-Physical Commons [Github]

Using this infrastructure, community-focused organizations can be spun up that are continuously funded, self-governed, and live within their own cryptoeconomies. They have their own community token, with guaranteed liquidity to solve the convertibility problem of local currencies. Their communities are held socially accountable, duly represented, and financially sustained. [Source]

SourceCred on a Dynamic Attribution Network [Github]

SourceCred as defined essentially gives the maintainer the powers of a game designer. However, anyone who has worked in the gaming industry knows that balancing games is quite hard. There is no one magical setting such that everything always works out forever. In an effort to empower open source communities, we are also creating the potential destroy the ecology that has made them so successful. It is important to also provide the guidance, and where possible tools to help maintainers be good stewards of their communities. [Source]

To Complete this Quest

  • Come up with a novel question related to the MetaGame: model, simulate and interpret the results
  • Write a post explaining the question, how and why you approached modeling it and link to your simulation code; highlight any new questions that arose as a result of this research
  • tweet about accomplishing and highlight what you learned
  • post a link to your forum post and/or your tweet in discord
2 Likes

M&S Quest 6: Party up for Open World Questing!

You have completed the newbie zone and are ready to venture out on your own. Add Quests in the M&S Quest tree to encourage other members of the metafam to explore the metagame with you!

To Complete this quest

  • Write a Quest post that poses a specific question relevant to the metagame in enough detail to allow others to discuss it and participate in modeling, simulating or analyzing data generated by simulations
  • If you have already started building a model share a github link
  • Be specific about what you are working on and how others can contribute to the quest but keep it open ended; be sure to push the limits, simulations are computer aided thought experiments!
  • share on twitter and in discord to recruit more party members
2 Likes

@mzargham This is so cool! Thank you for putting all of this together :slight_smile:

Also, I think I found our first thing to model! lol

@mzargham if we have questions or comments related to this quest, does it make sense to drop them into this thread (could get messy), or should we create a new category for each Quest where then there can be an About thread, Q&A thread, and whatever else (could get overwhelming)?

For example I’m drawing out a map of the MetaGame dynamics and the players, and it would be great to crowdsource a list of all the things to track so that we don’t miss anything

M&S Quest 1 Complete!

Note this ended up taking me ~ 3hrs, not the 1hrs that was advertised, but… totally worth it! :slight_smile:

1 Like

M&S Quest 2 Complete!

This is my first time running CadCAD. Went with the ETH2 beacon chain by the Rigorous Incentives Group (RIG) at the Ethereum Foundation [Github]. From what I can tell, the idea is to define a system in python with actions, rewards, and punishments. Then you can use pass those actions into CadCAD and model how agents might fair taking said actions in repeated games. It’s kind of like machine learning, but you’re discovering how a system will evolve based on a time horizon, players available actions, and their policy for choosing said actions. Maybe we should call it “machine discovering?”

Also, would be very very cool if we could set things up such that the machine learns a model that optimizes parameters (rewards/punishments) to find an equilibrium. My guess is that this is already a thing, but probably computationally expensive as you’d have to model agents as RL algorithms and then a meta-model on top to optimize the rules of the game based on the actions of said agents. Kind of like auto-ml, but for tokeneconomic design. @mzargham is this something that BlockScience already does and/or are there better ways to think through tokeneconomic systems than just throwing massive amounts of compute at the problem? lol

1 Like

Given the way the thread is set up and the expansive nature of cryptoeconomics questions, I think we should move them into their own thread. If the questions are more cadCAD methods and tools specific, the conversation should move to community.cadcad.org so that we do not need to duplicate discussions across forums.

Sorry about not being super responsive here. I had a lecture at MIT yesterday, an academic paper deadline today and I have a talk in San Fransisco tomorrow. Things are going to continue to be hectic for a week or so.

Another upside of taking cadCAD questions to the cadCAD forums is that other people there can also answer your questions.

Yeah but we kind of need to engage here to get that all that sweet sweet MetaGame XP