Session 9

Session 9

Agenda
  • Welcome
  • Hello
  • Logistics: We will get the exam questions for the other modules
  • Topic of today
    • Module 2
    • Step 2: Defining System Requirements
    • Step 3: Stakeholder Definition and Analysis
  • Open questions
  • Closing
Topics of Today
  1. Defining the System Goals
  1. Defining the System Requirements
  1. Stakeholder Definition and Analysis
  1. Definition of Interactions and Value Transfers
  1. Metrics Definition and Analysis
  1. Causal Relationships and Systems Thinking
  1. Identification of Stocks and Flows in the System
 
Step 2 - Defining System Requirements
With the system goals clearly defined, we can more clearly state the system requirements. System requirements are the necessary properties to ensure system goals are achieved. The requirements will influence many other aspects of system design, including: states, eligible actions, mechanisms, and parameters
notion image
 
To derive the requirements, we need a precise statement of what functionalities the system needs, and what properties are required for these functions.
We distinguish between different types of properties:
  • variable properties (such as constraints), such as requiring the amount swapped by the trader be less than or equal to the trader’s asset holdings
  • invariant properties (such as requiring the prices of assets after an add liquidity event have to be the same as before the event).
Here are some requirements we could impose on the system:
  1. Traders can only swap tokens they own
  1. The price of assets should change in response to trades.
  1. Liquidity insertion or removal should not change prices.
  1. Liquidity insertion or removal should not change value of already-distributed shares.
Different systems will have different requirements depending on their design. Another DeFi protocol may need other functions and requirements. The Token Engineer's job is  to identify what is needed for the system to work as intended
 
Invariant properties  are aspects of the system that remain unchanged throughout the system’s operation. Often, invariant properties are expressed through mathematical equations.
 
Step 3 - Stakeholder Definition and Analysis
Once the goals and requirements have been identified, we need to take a closer look at identifying stakeholders and their interactions.
 
Identifying Stakeholders
Laying the foundation of a new ecosystem relies on a thorough understanding of all stakeholders who impact the system, both internally and externally.
This analysis typically leads to  questions such as
  • For whom are we designing the system?
  • What is it that they desire?
  • What will these agents do if put in this environment?
These answers give us intuition on how participants will likely behave under certain system settings and conditions, allowing us make inferences about two key aspects:
  • the underlying incentives behind agents' choices and decisions, leading to
  • potential system evolution resulting from the aggregated actions of individual agent.
This information leads to a strong understanding of key drivers and possible implications that may support or hinder the system's objectives. Here, we can also think about:
  • what incentives we can offer the agents so their behavior will help guide the system's evolution towards desired outcomes
  • ways to improve the general system performance, as well as to reveal hidden value added and new opportunities
 
By clearly establishing all roles, agents, connections, and value transfers, we can make sure that our decisions carefully reflect the assumptions about the system.
 
notion image
A starting point is to determine all stakeholders, whether they are directly or indirectly influencing operations.
To do this, we can use the ecosystem members and agents diagram, to the left.
The figure shows the identification of agents on different levels where the levels of involvement are displayed as concentric circles.
In the center we find the ecosystem mission which is determined by goals and requirements discussed earlier. The model then continues to identify leaders and key partners, contributors, users, and other stakeholders.
 
Identifying Stakeholders for an AMM
We can look at this model with the Uniswap ecosystem in mind.
As we have previously discussed, the goal and mission is to provide a capital-efficient exchange where liquidity providers and traders receive economic benefits, and liquidity problems in a decentralized exchange are solved.
The Ethereum Foundation and other members of the Ethereum ecosystem are leaders and key partners for Uniswap, leveraging and building their protocol on the Ethereum blockchain.
The Uniswap Foundation  is mainly responsible for system development, maintenance and governance. Here, programmers and protocol designers play a crucial role. Other types of stakeholders include the users, which can be further subdivided into traders  and liquidity providers.  Finally, we have other stakeholders, which might include competitors in the AMM sector, as well as the governments of various nations.
Profiling Ecosystem Roles
Once all the stakeholders are identified and mapped, we need to do a detailed profiling of the roles. The first step is to group  stakeholders with similar attributes together to define their role. Then, we can take a closer look at them using templates such as the one shown in the figure above, which can be used to identify the characteristics, assets and capabilities of each role. Additionally, we can consider the incentives and motivations associated with each role. This will allow us to pin down the key drivers behind the incentives of each role and analyze the value transfer between stakeholders in the next stage. In the process of creating multiple member profiles, we generate a strong understanding of the characters in the system.
This step of the discovery can additionally be used to create new roles which can help to bring the ecosystem in balance, or align it with its mission. As mentioned in previous sections, the roles are crucial for system success where they represent necessary actions. As the requirements and goals have been established, it might become necessary to invent a new role which was unavailable before or has not yet been considered. Asking: `What roles are necessary to fulfill the requirements while staying in in line with the system mission?"  helps to close the gaps in the existing structure.
 
Roles and Agents
Differentiating Between Roles and Agents!
The term agent refers to each individual in the system.
However, these entities can act in a variety of roles.
 
Roles
In our context we discuss roles as the functions that can be undertaken by different agents.
A role makes it possible to combine attributes such as:
  • incentives
  • eligible actions
  • goals and preferences
to facilitate understanding of different classes of entities in the system.
Different Types of Roles
Ultimately the roles are what we are interested in most.
We may not be able to place any limit on the amount of agents, but usually there are only a limited number of distinct roles.
Useful Information
After we determine the motivations associated with each role, we can design  possible actions and various incentives.
 
An example in the AMM application would be the liquidity provider role.
The liquidity provision itself is far more important than who does it;  we do not focus on whether the liquidity is provided by an individual, an institution, a corporation, or any other party. What is important is what a liquidity provider wants and is able to do in the system.
 
Aspects of the Liquidity Provider Role in an AMM
  • Actions
  • Goals and Preferences
  • Incentives
 
Clearly identifying agents and roles in the system helps us protect the system. Click below to see an example.
 
Incentives and Disincentives - Protecting the System
We are designing a system to interact with individual agents. Some agents might have malicious intent, and it would be important to create a disincentives for their participation.
Example: 51 Percent Attack
In a system which uses proof-of-stake, a holder of 51 percent of network tokens could record a fallacious block on the blockchain.
The security of a proof-of-stake mechanism relies on creating incentives and disincentives so this do not happen.
In this case, the system has two disincentives for such an attack.
Technical Disincentive - Collateral Function
The first mechanism is technical: the collateral function associated with staking.
Briefly, a miner puts staked tokens as collateral to validate a transaction on the blockchain, and this collateral can be lost if an attack is detected.
Economic Disincentive: Sheer Cost
he second disincentive is economic: the acquisition of 51 percent of tokens will be expensive. Since the token price will likely be affected by the attack, the financial risks far exceed any perceived benefit.
A Clear Picture Makes a Safer System
By identifying clearly the types of agents who might interact with the system, we create incentives and disincentives. These mechanisms work to make sure that malicious agents can not create undesirable consequences for the system.
Session 9

Session 9

Agenda
  • Welcome
  • Hello
  • Logistics: We will get the exam questions for the other modules
  • Topic of today
    • Module 2
    • Step 2: Defining System Requirements
    • Step 3: Stakeholder Definition and Analysis
  • Open questions
  • Closing
Topics of Today
  1. Defining the System Goals
  1. Defining the System Requirements
  1. Stakeholder Definition and Analysis
  1. Definition of Interactions and Value Transfers
  1. Metrics Definition and Analysis
  1. Causal Relationships and Systems Thinking
  1. Identification of Stocks and Flows in the System
 
Step 2 - Defining System Requirements
With the system goals clearly defined, we can more clearly state the system requirements. System requirements are the necessary properties to ensure system goals are achieved. The requirements will influence many other aspects of system design, including: states, eligible actions, mechanisms, and parameters
notion image
 
To derive the requirements, we need a precise statement of what functionalities the system needs, and what properties are required for these functions.
We distinguish between different types of properties:
  • variable properties (such as constraints), such as requiring the amount swapped by the trader be less than or equal to the trader’s asset holdings
  • invariant properties (such as requiring the prices of assets after an add liquidity event have to be the same as before the event).
Here are some requirements we could impose on the system:
  1. Traders can only swap tokens they own
  1. The price of assets should change in response to trades.
  1. Liquidity insertion or removal should not change prices.
  1. Liquidity insertion or removal should not change value of already-distributed shares.
Different systems will have different requirements depending on their design. Another DeFi protocol may need other functions and requirements. The Token Engineer's job is  to identify what is needed for the system to work as intended
 
Invariant properties  are aspects of the system that remain unchanged throughout the system’s operation. Often, invariant properties are expressed through mathematical equations.
 
Step 3 - Stakeholder Definition and Analysis
Once the goals and requirements have been identified, we need to take a closer look at identifying stakeholders and their interactions.
 
Identifying Stakeholders
Laying the foundation of a new ecosystem relies on a thorough understanding of all stakeholders who impact the system, both internally and externally.
This analysis typically leads to  questions such as
  • For whom are we designing the system?
  • What is it that they desire?
  • What will these agents do if put in this environment?
These answers give us intuition on how participants will likely behave under certain system settings and conditions, allowing us make inferences about two key aspects:
  • the underlying incentives behind agents' choices and decisions, leading to
  • potential system evolution resulting from the aggregated actions of individual agent.
This information leads to a strong understanding of key drivers and possible implications that may support or hinder the system's objectives. Here, we can also think about:
  • what incentives we can offer the agents so their behavior will help guide the system's evolution towards desired outcomes
  • ways to improve the general system performance, as well as to reveal hidden value added and new opportunities
 
By clearly establishing all roles, agents, connections, and value transfers, we can make sure that our decisions carefully reflect the assumptions about the system.
 
notion image
A starting point is to determine all stakeholders, whether they are directly or indirectly influencing operations.
To do this, we can use the ecosystem members and agents diagram, to the left.
The figure shows the identification of agents on different levels where the levels of involvement are displayed as concentric circles.
In the center we find the ecosystem mission which is determined by goals and requirements discussed earlier. The model then continues to identify leaders and key partners, contributors, users, and other stakeholders.
 
Identifying Stakeholders for an AMM
We can look at this model with the Uniswap ecosystem in mind.
As we have previously discussed, the goal and mission is to provide a capital-efficient exchange where liquidity providers and traders receive economic benefits, and liquidity problems in a decentralized exchange are solved.
The Ethereum Foundation and other members of the Ethereum ecosystem are leaders and key partners for Uniswap, leveraging and building their protocol on the Ethereum blockchain.
The Uniswap Foundation  is mainly responsible for system development, maintenance and governance. Here, programmers and protocol designers play a crucial role. Other types of stakeholders include the users, which can be further subdivided into traders  and liquidity providers.  Finally, we have other stakeholders, which might include competitors in the AMM sector, as well as the governments of various nations.
Profiling Ecosystem Roles
Once all the stakeholders are identified and mapped, we need to do a detailed profiling of the roles. The first step is to group  stakeholders with similar attributes together to define their role. Then, we can take a closer look at them using templates such as the one shown in the figure above, which can be used to identify the characteristics, assets and capabilities of each role. Additionally, we can consider the incentives and motivations associated with each role. This will allow us to pin down the key drivers behind the incentives of each role and analyze the value transfer between stakeholders in the next stage. In the process of creating multiple member profiles, we generate a strong understanding of the characters in the system.
This step of the discovery can additionally be used to create new roles which can help to bring the ecosystem in balance, or align it with its mission. As mentioned in previous sections, the roles are crucial for system success where they represent necessary actions. As the requirements and goals have been established, it might become necessary to invent a new role which was unavailable before or has not yet been considered. Asking: `What roles are necessary to fulfill the requirements while staying in in line with the system mission?"  helps to close the gaps in the existing structure.
 
Roles and Agents
Differentiating Between Roles and Agents!
The term agent refers to each individual in the system.
However, these entities can act in a variety of roles.
 
Roles
In our context we discuss roles as the functions that can be undertaken by different agents.
A role makes it possible to combine attributes such as:
  • incentives
  • eligible actions
  • goals and preferences
to facilitate understanding of different classes of entities in the system.
Different Types of Roles
Ultimately the roles are what we are interested in most.
We may not be able to place any limit on the amount of agents, but usually there are only a limited number of distinct roles.
Useful Information
After we determine the motivations associated with each role, we can design  possible actions and various incentives.
 
An example in the AMM application would be the liquidity provider role.
The liquidity provision itself is far more important than who does it;  we do not focus on whether the liquidity is provided by an individual, an institution, a corporation, or any other party. What is important is what a liquidity provider wants and is able to do in the system.
 
Aspects of the Liquidity Provider Role in an AMM
  • Actions
  • Goals and Preferences
  • Incentives
 
Clearly identifying agents and roles in the system helps us protect the system. Click below to see an example.
 
Incentives and Disincentives - Protecting the System
We are designing a system to interact with individual agents. Some agents might have malicious intent, and it would be important to create a disincentives for their participation.
Example: 51 Percent Attack
In a system which uses proof-of-stake, a holder of 51 percent of network tokens could record a fallacious block on the blockchain.
The security of a proof-of-stake mechanism relies on creating incentives and disincentives so this do not happen.
In this case, the system has two disincentives for such an attack.
Technical Disincentive - Collateral Function
The first mechanism is technical: the collateral function associated with staking.
Briefly, a miner puts staked tokens as collateral to validate a transaction on the blockchain, and this collateral can be lost if an attack is detected.
Economic Disincentive: Sheer Cost
he second disincentive is economic: the acquisition of 51 percent of tokens will be expensive. Since the token price will likely be affected by the attack, the financial risks far exceed any perceived benefit.
A Clear Picture Makes a Safer System
By identifying clearly the types of agents who might interact with the system, we create incentives and disincentives. These mechanisms work to make sure that malicious agents can not create undesirable consequences for the system.