There has been ongoing discussion about how to structure reward/pricing algorithms for the internal SAFE network economy of PUTs, GETs, and Safecoin. Forum threads exist going back to 2014 that discuss various aspects of this topic. I’m sure there were many late night discussions in Troon that date back even further. Forum posts containing background information of interest are Safecoin RFC 57, the prior Safecoin RFC 12, as well as some great work performed by @mav and @oetyng on network simulation in Perpetual Auction Currency. Other discussions such as the Put Price Controlled by Supply/Demand and More Economics (15) threads also offered some interesting ideas.
The SAFE Network ecosystem is a complex machine whose operation is greater than the sum of its parts, and the internal economic drivers at play are likely to be no different. The ability for the network to interact with users within the same resource marketplace has interesting implications. Classically, we can view this feature of the network as a closed loop control system having various inputs, outputs and internal settings. The optimal design of this control system offers a unique opportunity to provide the world’s first autonomous data network with the ability to foster its own growth and development through economic mechanisms for the purpose of ensuring the survival of the perpetual web, well … in perpetuity.
The purpose of this thread is to take a step back and brainstorm the main goals or objectives we would like a hypothetical network control system to strive for. I’d like us to also consider constraints and other control parameters of interest. Much of this information is already spread throughout the forum and it would be great to funnel the highlights here as well. For example, consider @Deadloch’s concerns in More Economics (15) and @mav who has already done a lot of the heavy lifting for us in SAFE Network Health Metrics.
We are all well aware that premature optimization is the root of all developer evil. However, it’s not difficult to infer certain properties that are more or less beneficial to network operation as others have already done in prior forum posts. I’m not sure where this will take us, but hopefully the hive mind that is Safe Network Forum will figure it out. The focus here is on network control and regulation via Safecoin incentives, ie.“the carrot”. Other aspects of network control with regard to punishing nodes for improper behavior, ie. “the stick”, that do not have a Safecoin related mechanism are out of scope for this discussion.
Let’s begin with some high level questions. I’ll give an overview of my thoughts in the answer portion and you can tell me why I’m wrong or lucky.
1. What is required to ensure the survival of The SAFE Network and the Perpetual Web?
- Hardware Supply Chain, ISP/Mesh infrastructure, Electricity, Software Tools, Developers, Operators/Farmers, Content Producers/Creators, Clients/Users, Long-term secure and performant methods/algorithms, great design features and user experience, rapid adoption, unlimited growth in data, adaptability, secure reboot capabilities.
2. In what direct ways can Safecoin be used as a tool to regulate or assist network survival?
- Pay the Farmer/Operator (PtF) : Maintains or increases Farmer participation and resource contribution.
- Pay the Producer (PtP) : Increases data contributed to the network.
- Pay the Developer (PtD) : Increases user access to data, adaptability, great design features and user experience.
- Pay the Hacker (PtH): Improves performance, security, and adaptability by identifying vulnerabilities or optimizations and ensuring rapid improvement.
- Pay the Client (PtC): Increases user adoption rate.
3. By what indirect ways can Safecoin be used as a tool to regulate or assist network survival?
- Serve as a medium of exchange for goods and services other than those offered by directly by the network (storage, retrieval, communiction, computation).
4. What are the four most fundamental objective functions the network should pursue when deciding on how best to spend or save its Safecoin? Are these equally important or is there a hierarchy?
- Maximize network Security. (Primary Importance)
- Maximize network Growth. (Secondary Importance)
- Maximize network Performance. (Tertiary Importance)
- Minimize network Cost. (Quaternary Importance)
5. What are some “health” or “performance” metrics that can be used to mathematically describe the network’s state of security, growth, performance and cost? (Items might apply to more than one category.)
Security: Number of elders per section, nodal age distribution, number of malice events, number of ddos attacks, number of spam events, number of encryption indirections, section relocation rate, number of hops per communication, section routing table size, number of vulnerabilities patched and unpatched, unexpected departure rates, help me here @mav …
Growth: Number of sections, number of vaults per section, vault size, spare storage capacity, free storage capacity, number of farmers, number of developers, number of producers, number of hackers, number of clients, transaction count, PUT rates, GET rates, transaction size, use/need for divisibility in payments, number of consensus blocks per section, rates of change of all these things…
Performance: PUT rates, GET rates, number of hops per communication, p2p bandwidth, p2p latency, section cache memory, Exaflops,rates of change of all these things…
Cost: The “safe price” for a PUT, safe price for a GET, expected departure rates, percentage of Safecoin which the network seeks to hold in reserve (ie. network greediness).
6. Should there be any Constraints imposed on the network’s prime objective functions? Are there possible scenarios where we would ever want to constrain or limit growth, security, and/or cost?
- Security = No
- Growth = Maybe
- Performance = Yes
- Cost = Yes, if the network reserves are too high/low.
7. Should there be constraints/targets imposed on the health and performance metrics?
- Yes, hard limits some cases. (Ex: section sizes allowed to range from 64 to 256 nodes +/- some tolerance, the GET price can never go above max unfarmed SC in a section, the PUT price can never go above the max farmed SC in a section )
- No in others. (Ex. the network has no control over the number of spam events).
8. What are some other subtle ways to use Safecoin to reward human behavior that helps the network meet its goals for security, growth, and cost?
- Provide higher reward rates based on trust level / nodal age. Extend the concept of nodal age to all user categories so this could be done separately for farmers, providers, developers, hackers, clients etc. Age would need to be a measure of network time, not wallclock time. How does one quantify the network’s trust in a developer?
- SAFE Gifts. The network picks farmers, developers, producers, or clients at random (assuming they have reached a certain age) and sends them some coins as a gift just for taking part in the network.
As I mentioned at the beginning of the thread, I feel this exercise will assist in the development of a real closed-loop network control algorithm. Ideally, we will end up with a more detailed and more exhaustive design spec similar to @mav’s first attempt with the SAFE Health Metrics. The safe-cli and a safe vault with test safecoin is now in the wild, its a good time to start thinking about these things again in more detail.