From f8a17758847cfdecdd367edd9053707f2f0011d2 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Sat, 2 Mar 2024 11:18:44 -0800 Subject: [PATCH 01/18] Fix BZZ economics --- SWIPs/swip-reward-investors.md | 63 ++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 SWIPs/swip-reward-investors.md diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md new file mode 100644 index 0000000..f46a1aa --- /dev/null +++ b/SWIPs/swip-reward-investors.md @@ -0,0 +1,63 @@ +--- +SWIP: +title: Reward Investors +author: Joshua Pritikin (@jpritikin) +discussions-to: https://discord.com/channels/799027393297514537/808329804268699678 +status: Draft +type: Core +created: 2024-03-02 +--- + + + +## Simple Summary + +Make the BZZ token appreciate in value to reward early investors. + +## Abstract + +A short (~200 word) description of the technical issue being addressed. + +## Motivation + +Under the current rules ([BZZ Tokenomics, Oct 25, 2021](https://medium.com/ethereum-swarm/swarm-tokenomics-91254cd5adf)), the BZZ token may not appreciate value. Some activities require purchasing BZZ: +- New node operators need to make a minimum deposit. +- Data archivists need to buy BZZ to purchase postage stamps. +- Data users need to buy miniscule amounts of BZZ to [pay for bandwidth](https://blog.ethswarm.org/foundation/2021/understanding-swarms-bandwidth-incentives/). + +Other parties are natural sellers of BZZ: +- Node operators sell BZZ to pay for electricity and hardware. +- [Investors](https://cryptorank.io/ico/swarm) may like to cash out their investment. + +Swarm had historically ignored the economics of BZZ because it was more important to get the technology to work. Now that the technology is on the cusp of working, investors should be rewarded. + +One purpose of the BZZ token was to [reward early adopters](https://blog.ethswarm.org/foundation/2021/swarm-is-airdropping-1000000-bzz/). By this metric, BZZ is a failure. Sold to the public for 1.92 DAI on June 2021, the token is worth about 0.5 DAI as of Mar 2024. Investors deserve a return on investment. If the price of BZZ could be linked to network usage then investors would be incentivized to promote the network. + +It's not an apples-to-apples comparison, but Filecoin has a market cap of about 4.5 billion while BZZ is only 34 million (Mar 2024). That's a difference of more than two orders of magnitude. + +## Specification + +Burn 10% of the BZZ stamp payment before sending the remainder to the redistribution lottery. + +Eventually the node operator minimum deposit will need to be reduced to compensate for the increase in the value of BZZ. + +## Rationale + +The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. + +Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. + +## Backwards Compatibility + +No backwards compatibility issues are anticipated. + +## Test Cases + +*Pending* + +## Implementation + +*Pending* + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From ff8100fb375379d7cbffe51080fd4b3062161051 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Sat, 2 Mar 2024 15:10:00 -0800 Subject: [PATCH 02/18] Address bonding curve and add smart burn engine --- SWIPs/swip-reward-investors.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index f46a1aa..a1e6950 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -37,16 +37,24 @@ It's not an apples-to-apples comparison, but Filecoin has a market cap of about ## Specification -Burn 10% of the BZZ stamp payment before sending the remainder to the redistribution lottery. + +Call `shutDown()` on the bonding curve contract (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904). Move the DAI to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. + +Send 10% of the BZZ stamp payment to the Swarm Foundation owned Uniswap v2 DAI-BZZ pool before sending the remainder to the redistribution lottery. Eventually the node operator minimum deposit will need to be reduced to compensate for the increase in the value of BZZ. ## Rationale + The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. +To allow the value of BZZ to appreciate in proportional to demand, the bonding curve needs to be shutdown. The bonding curve imposes a non-linear function between BZZ and the price of BZZ. If the bond curve is kept active, it will impose a distorting effect on price discovery. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. + +To ensures that BZZ retains on-chain liquidity, the DAI in the bond curve and the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). + ## Backwards Compatibility No backwards compatibility issues are anticipated. From b5b6777e2d67700d210645b1f243b5d26d7612eb Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Sat, 2 Mar 2024 15:40:06 -0800 Subject: [PATCH 03/18] Link to more information about the smart burn engine --- SWIPs/swip-reward-investors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index a1e6950..1590dd2 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -53,7 +53,7 @@ Stamp payments are a great place to add this fee. Stamp buyers are expressing an To allow the value of BZZ to appreciate in proportional to demand, the bonding curve needs to be shutdown. The bonding curve imposes a non-linear function between BZZ and the price of BZZ. If the bond curve is kept active, it will impose a distorting effect on price discovery. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. -To ensures that BZZ retains on-chain liquidity, the DAI in the bond curve and the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). +To ensures that BZZ retains on-chain liquidity, the DAI in the bond curve and the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. ## Backwards Compatibility From 02d87979d5194402b3f15004f974cac8374ad7d4 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Sun, 3 Mar 2024 11:31:44 -0800 Subject: [PATCH 04/18] Discuss the Howey test; propose how to retire the bonding curve --- SWIPs/swip-reward-investors.md | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 1590dd2..4f1e0b0 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -38,8 +38,6 @@ It's not an apples-to-apples comparison, but Filecoin has a market cap of about ## Specification -Call `shutDown()` on the bonding curve contract (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904). Move the DAI to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. - Send 10% of the BZZ stamp payment to the Swarm Foundation owned Uniswap v2 DAI-BZZ pool before sending the remainder to the redistribution lottery. Eventually the node operator minimum deposit will need to be reduced to compensate for the increase in the value of BZZ. @@ -51,13 +49,39 @@ The choice of 10% going to investors is arbitrary. The community can decide on t Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. -To allow the value of BZZ to appreciate in proportional to demand, the bonding curve needs to be shutdown. The bonding curve imposes a non-linear function between BZZ and the price of BZZ. If the bond curve is kept active, it will impose a distorting effect on price discovery. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. +To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. Maker chose Uniswap v2 instead of more modern solutions because it is battle tested and has less attack surface. Uniswap v2 is the simplest way to provide market depth to a free floating token pair. + +### Legal Analysis + +Disclaimer: *The information contained in this section is intended for informational purposes only and does not constitute legal advice. The author is not a licensed attorney and cannot offer legal guidance or representation. Readers should not rely on this information to make decisions regarding any legal matter. It is strongly recommended that you consult with a qualified attorney in your jurisdiction for personalized legal advice specific to your situation. The author does not assume any responsibility for any actions taken or not taken based on the content of this section. The information presented may not be up-to-date or applicable to every situation.* -To ensures that BZZ retains on-chain liquidity, the DAI in the bond curve and the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. +[The Howey test](https://www.investopedia.com/does-crypto-pass-the-howey-test-8385183) established criteria for whether a transaction qualifies as an investment contract. As of the June 2021 crowdsale, it could be anticipated that BZZ would not appreciate much in value. Developers owned at least 20% of the initial issuance and planned to redeem for DAI to fund development. Node deposits could be anticipated to reduce the supply of BZZ, but this would only matter if the network grew very large. Therefore, BZZ seems to fail the Howey criterion of *expectation of profits*. + +This SWIP proposes to change the economic properties of the BZZ token. Supported by revenue coming in from stamp fees, BZZ is expected to appreciate in value. However, the success of BZZ is no longer in the hands of a small team of developers. The Howey criterion of *reliance on the efforts of others* no longer applies. Even more so than Bitcoin, all holders of BZZ are responsible for the success of the network. Software developers, node operators, and postage stamp purchasers contribute value. In addition, BZZ investors contribute value by their implicit belief in the network, and optionally, promoting the network. ## Backwards Compatibility -No backwards compatibility issues are anticipated. + +The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-linear function between quantity of BZZ issued and the price of BZZ. Keeping the bond curve active and, at the same time, allowing BZZ to trade freely for price discovery, will involve extra arbitrage transactions to keep these markets in synch. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. There is no urgency, but it would be desireable to retire the bonding curve for the following reasons: + +- The DAI locked in the bonding curve does not earn any return. +- This idle capital no longer helps much with market depth because the Uniswap market has plenty of depth. +- Extra arbitrage transactions are needed to keep the bonding curve in synch with the free floating price. + +The bonding curve has a `shutDown()` function. However, after `shutdown()`, the is no way to retrieve any DAI that is still locked. To both retire the bonding curve and retrieve the DAI will require some careful planning. Here is one solution: + +- Let the current BZZ token be called BZZv1 and introduce a new BZZv2 token. BZZv2 trades freely against DAI and has no bonding curve. +- Create a contract BCManager that will issue BZZv2 for deposits of BZZv1. +- BCManager only converts in one direction and BZZv1 is locked in the contract. +- BZZv1 and BZZv2 are both valued equally in the Swarm ecosystem. Both can serve as a node deposit. Both can be paid to purchase postage stamps. +- BZZv1 and BZZv2 are likely worth the same amount in DAI. +- As BZZv2 becomes more valuable, BZZv1 can be minted using the bonding curve (for a discount), converted to BZZv2 using the BCManager, and sold back to the market for a small profit. +- BZZv1 for node deposits will need to be converted to BZZv2 (somehow). +- After a few years, BCManager will own most of the BZZv1. BZZv1 will be effectively deprecated. +- BCManager is triggered to + - Redeem BZZv1 to DAI. + - Call `shutdown()` on the bonding curve. + - Send the DAI to the Swarm Foundation ## Test Cases From 42957fb543fc587d8e98dfc650074748da596935 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Sun, 3 Mar 2024 13:01:04 -0800 Subject: [PATCH 05/18] Suggest how to set the uniswap LP fee --- SWIPs/swip-reward-investors.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 4f1e0b0..4fbb3a8 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -51,6 +51,8 @@ Stamp payments are a great place to add this fee. Stamp buyers are expressing an To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. Maker chose Uniswap v2 instead of more modern solutions because it is battle tested and has less attack surface. Uniswap v2 is the simplest way to provide market depth to a free floating token pair. +While on-chain liquidity is a public good, the pool fee should not be so low as to encourage speculation. Excessive BZZ price volatility is not in the interest of actual users of the Swarm network. Therefore, the Uniswap pool fee should be fairly high, like 0.5%, to increase transaction costs a bit and reduce short-term speculation. + ### Legal Analysis Disclaimer: *The information contained in this section is intended for informational purposes only and does not constitute legal advice. The author is not a licensed attorney and cannot offer legal guidance or representation. Readers should not rely on this information to make decisions regarding any legal matter. It is strongly recommended that you consult with a qualified attorney in your jurisdiction for personalized legal advice specific to your situation. The author does not assume any responsibility for any actions taken or not taken based on the content of this section. The information presented may not be up-to-date or applicable to every situation.* From 7431a17ee6dece9972bd139d3502a631df0fba1e Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Mon, 4 Mar 2024 12:28:07 -0800 Subject: [PATCH 06/18] Refine economic arguments --- SWIPs/swip-reward-investors.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 4fbb3a8..3da4a23 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -47,11 +47,11 @@ Eventually the node operator minimum deposit will need to be reduced to compensa The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. -Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. +Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. Backing BZZ only with DAI loses value to inflation just as USD loses value to inflation. BZZ should be backed by future stamp fees, unlinked from USD. To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. Maker chose Uniswap v2 instead of more modern solutions because it is battle tested and has less attack surface. Uniswap v2 is the simplest way to provide market depth to a free floating token pair. -While on-chain liquidity is a public good, the pool fee should not be so low as to encourage speculation. Excessive BZZ price volatility is not in the interest of actual users of the Swarm network. Therefore, the Uniswap pool fee should be fairly high, like 0.5%, to increase transaction costs a bit and reduce short-term speculation. +While on-chain liquidity is a public good, the pool fee should not be so low as to encourage speculation (e.g., 0.01%). Excessive BZZ price volatility is not in the interest of actual users of the Swarm network. Therefore, the Uniswap pool fee should be fairly high, like 0.5%, to increase transaction costs a bit and reduce short-term speculation. ### Legal Analysis From 4360d5530edd135200b3bcef25ffe18a6059f7b8 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Mon, 4 Mar 2024 15:56:44 -0800 Subject: [PATCH 07/18] Point out the difference between market cap and bond curve locked DAI --- SWIPs/swip-reward-investors.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 3da4a23..bb5e51c 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -64,7 +64,7 @@ This SWIP proposes to change the economic properties of the BZZ token. Supported ## Backwards Compatibility -The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-linear function between quantity of BZZ issued and the price of BZZ. Keeping the bond curve active and, at the same time, allowing BZZ to trade freely for price discovery, will involve extra arbitrage transactions to keep these markets in synch. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. There is no urgency, but it would be desireable to retire the bonding curve for the following reasons: +The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-linear function between quantity of BZZ issued and the price of BZZ. Keeping the bonding curve active and, at the same time, allowing BZZ to trade freely for price discovery, will involve extra arbitrage transactions to keep these markets in synch. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. There is no urgency, but it would be desireable to retire the bonding curve for the following reasons: - The DAI locked in the bonding curve does not earn any return. - This idle capital no longer helps much with market depth because the Uniswap market has plenty of depth. @@ -85,6 +85,8 @@ The bonding curve has a `shutDown()` function. However, after `shutdown()`, the - Call `shutdown()` on the bonding curve. - Send the DAI to the Swarm Foundation +The amount of DAI recovered will be much less than the market capitalization. A typical market capitalization estimate assumes that every BZZ token is worth the same amount. However, this is not how the bonding curve works. The first 62.5M BZZ tokens are worth less than 0.32 DAI per token. From 62.5M to 65.625M, BZZ tokens are worth less than 1.38 DAI. And so on. For example, when I checked just now, the market cap is 33.4M DAI with 63.4M BZZ tokens, but the bonding curve contract only contains 1.6M DAI. + ## Test Cases *Pending* From d50a7f49a897d7d826786dd58c3bce8aba0378a0 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Tue, 5 Mar 2024 10:30:14 -0800 Subject: [PATCH 08/18] Various clarifications - Further detail how this SWIP better aligns interests of rational investors with the success of the network. - Add background on the price oracle - Describe a speculative trading strategy enabled by the bonding curve that increase volatility. - Emphasize that the bonding curve should not be retired until there is plenty of market depth to buffer volatility. - Comment on the function of the BCManager after the bonding curve retirement. - Clarify that the supply of BZZv2 will be deflationary. --- SWIPs/swip-reward-investors.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index bb5e51c..fe57cb8 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -53,6 +53,12 @@ To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will b While on-chain liquidity is a public good, the pool fee should not be so low as to encourage speculation (e.g., 0.01%). Excessive BZZ price volatility is not in the interest of actual users of the Swarm network. Therefore, the Uniswap pool fee should be fairly high, like 0.5%, to increase transaction costs a bit and reduce short-term speculation. +Prior to this SWIP, rational investors were only distantly concerned with the success of the network. The day-to-day sale of postage stamps was of little concern. After this SWIP, rational investors should want to optimize the price fluctuation of BZZ to encourage the purchase of postage stamps. Postage stamp purchasers are mostly concerned about buying storage and don't want to think about BZZ price. Therefore, rational investors will want to minimize BZZ price volatility. + +### Background on the Price Oracle + +> [Our price oracle](https://github.com/ethersphere/storage-incentives/blob/4fdb26e135f7391379ca84100b723f34a1a4175e/src/PriceOracle.sol#L93) is a simple thermostat model. It regulates the price down if there are signals of oversupply (of storage) and regulates it up if there is a signal of undersupply. A&A of Shtuka criticised this model that it also needs to regulate against fluctuations in price of BZZ. I argued that this is no more of a problem, that your real thermostate regulating temperature according to your comfort level given the outside temperature. However, the ultimate thermostate experience depends on the reactivity - if the coldest winter day changes to the hottest summer day in a matter of seconds then your comfort might be too often not met cause the time it takes for the heating to adapt. (Viktor Tron, 04 Mar 2024 #bzz-tokenomics) + ### Legal Analysis Disclaimer: *The information contained in this section is intended for informational purposes only and does not constitute legal advice. The author is not a licensed attorney and cannot offer legal guidance or representation. Readers should not rely on this information to make decisions regarding any legal matter. It is strongly recommended that you consult with a qualified attorney in your jurisdiction for personalized legal advice specific to your situation. The author does not assume any responsibility for any actions taken or not taken based on the content of this section. The information presented may not be up-to-date or applicable to every situation.* @@ -61,14 +67,24 @@ Disclaimer: *The information contained in this section is intended for informati This SWIP proposes to change the economic properties of the BZZ token. Supported by revenue coming in from stamp fees, BZZ is expected to appreciate in value. However, the success of BZZ is no longer in the hands of a small team of developers. The Howey criterion of *reliance on the efforts of others* no longer applies. Even more so than Bitcoin, all holders of BZZ are responsible for the success of the network. Software developers, node operators, and postage stamp purchasers contribute value. In addition, BZZ investors contribute value by their implicit belief in the network, and optionally, promoting the network. +The bonding curve is generally thought to provide market depth and reduce volatility. However, the bonding curve also enables a particular speculative trading strategy: + +1. Suppose a trader builds up a large position in BZZ. +2. The trader tries to generate downward momentum in price. For example, the trader might sell BZZ at times and quantities to make the price chart look like there is a strong downward trend. +3. The idea is to trick other people into selling BZZ. Other people sell BZZ. +4. The trader can buy back the same number of BZZ tokens for less DAI than was originally invested at step 1. The bonding curve makes this easier than it would otherwise be because there is no market making fee and the price cannot make discontinuous jumps from low to high. The trader can buy a large number of BZZ tokens in a single atomic transaction. +5. Repeat. + ## Backwards Compatibility The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-linear function between quantity of BZZ issued and the price of BZZ. Keeping the bonding curve active and, at the same time, allowing BZZ to trade freely for price discovery, will involve extra arbitrage transactions to keep these markets in synch. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. There is no urgency, but it would be desireable to retire the bonding curve for the following reasons: - The DAI locked in the bonding curve does not earn any return. -- This idle capital no longer helps much with market depth because the Uniswap market has plenty of depth. - Extra arbitrage transactions are needed to keep the bonding curve in synch with the free floating price. +- This idle capital no longer helps much with market depth because the Uniswap market has plenty of depth. + +This last point needs be true before the bonding curve is shut down. BZZ volatility is harmful to users and providers of storage. Since the launch of the token, the bonding curve has buffered against wild volatility. The Uniswap market needs to have plenty of capital invested in market making before the bonding curve is shut down. The bonding curve has a `shutDown()` function. However, after `shutdown()`, the is no way to retrieve any DAI that is still locked. To both retire the bonding curve and retrieve the DAI will require some careful planning. Here is one solution: @@ -84,6 +100,8 @@ The bonding curve has a `shutDown()` function. However, after `shutdown()`, the - Redeem BZZv1 to DAI. - Call `shutdown()` on the bonding curve. - Send the DAI to the Swarm Foundation +- The BCManager can continue to exchange BZZv1 for BZZv2, but the bonding curve can only be shutdown once so the remaining DAI is lost. +- With the bonding curve shutdown, no additional BZZv1 can be minted. Therefore, the supply of BZZv2 is limited by the number of BZZv1 tokens minted. Moreover, BZZv2 that is sent to the Uniswap LP can be considered burnt. Therefore, the BZZv2 supply becomes deflationary. The amount of DAI recovered will be much less than the market capitalization. A typical market capitalization estimate assumes that every BZZ token is worth the same amount. However, this is not how the bonding curve works. The first 62.5M BZZ tokens are worth less than 0.32 DAI per token. From 62.5M to 65.625M, BZZ tokens are worth less than 1.38 DAI. And so on. For example, when I checked just now, the market cap is 33.4M DAI with 63.4M BZZ tokens, but the bonding curve contract only contains 1.6M DAI. From 3fe463aa5747a020e4cba3ff73be0d858113a642 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Tue, 5 Mar 2024 11:00:14 -0800 Subject: [PATCH 09/18] Reorg; clarify; improve language --- SWIPs/swip-reward-investors.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index fe57cb8..f0d3c12 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -20,7 +20,7 @@ A short (~200 word) description of the technical issue being addressed. ## Motivation -Under the current rules ([BZZ Tokenomics, Oct 25, 2021](https://medium.com/ethereum-swarm/swarm-tokenomics-91254cd5adf)), the BZZ token may not appreciate value. Some activities require purchasing BZZ: +Under the current rules ([BZZ Tokenomics, Oct 25, 2021](https://medium.com/ethereum-swarm/swarm-tokenomics-91254cd5adf)), the BZZ token may not appreciate much in value. Some activities require purchasing BZZ: - New node operators need to make a minimum deposit. - Data archivists need to buy BZZ to purchase postage stamps. - Data users need to buy miniscule amounts of BZZ to [pay for bandwidth](https://blog.ethswarm.org/foundation/2021/understanding-swarms-bandwidth-incentives/). @@ -29,9 +29,9 @@ Other parties are natural sellers of BZZ: - Node operators sell BZZ to pay for electricity and hardware. - [Investors](https://cryptorank.io/ico/swarm) may like to cash out their investment. -Swarm had historically ignored the economics of BZZ because it was more important to get the technology to work. Now that the technology is on the cusp of working, investors should be rewarded. +Swarm had historically ignored the economics of BZZ because it was more important to get the technology to work. Now that the technology is on the cusp of working, we have an opportunity to revamp the economics. -One purpose of the BZZ token was to [reward early adopters](https://blog.ethswarm.org/foundation/2021/swarm-is-airdropping-1000000-bzz/). By this metric, BZZ is a failure. Sold to the public for 1.92 DAI on June 2021, the token is worth about 0.5 DAI as of Mar 2024. Investors deserve a return on investment. If the price of BZZ could be linked to network usage then investors would be incentivized to promote the network. +One purpose of the BZZ token was to [reward early adopters](https://blog.ethswarm.org/foundation/2021/swarm-is-airdropping-1000000-bzz/). By this metric, BZZ is a failure. Sold to the public for 1.92 DAI on June 2021, the token is worth about 0.5 DAI as of Mar 2024. Early contributors and investors deserve a return on investment. If the price of BZZ could be better linked to network usage then this would benefit practically all project participants. It's not an apples-to-apples comparison, but Filecoin has a market cap of about 4.5 billion while BZZ is only 34 million (Mar 2024). That's a difference of more than two orders of magnitude. @@ -49,11 +49,11 @@ The choice of 10% going to investors is arbitrary. The community can decide on t Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. Backing BZZ only with DAI loses value to inflation just as USD loses value to inflation. BZZ should be backed by future stamp fees, unlinked from USD. -To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. Maker chose Uniswap v2 instead of more modern solutions because it is battle tested and has less attack surface. Uniswap v2 is the simplest way to provide market depth to a free floating token pair. +To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. Maker chose Uniswap v2 instead of more modern solutions because it is battle tested and has less attack surface. Uniswap v2 is one of the simplest way to provide market depth to a free floating token pair. -While on-chain liquidity is a public good, the pool fee should not be so low as to encourage speculation (e.g., 0.01%). Excessive BZZ price volatility is not in the interest of actual users of the Swarm network. Therefore, the Uniswap pool fee should be fairly high, like 0.5%, to increase transaction costs a bit and reduce short-term speculation. +The Uniswap pool fee should not be so low as to encourage speculation (e.g., 0.01%). Excessive BZZ price volatility is not in the interest of actual users of the Swarm network. Therefore, the Uniswap pool fee should be fairly high, like 0.5%, to increase transaction costs a bit and discourage short-term speculation. -Prior to this SWIP, rational investors were only distantly concerned with the success of the network. The day-to-day sale of postage stamps was of little concern. After this SWIP, rational investors should want to optimize the price fluctuation of BZZ to encourage the purchase of postage stamps. Postage stamp purchasers are mostly concerned about buying storage and don't want to think about BZZ price. Therefore, rational investors will want to minimize BZZ price volatility. +Prior to this SWIP, rational investors were only distantly concerned with the success of the network. The day-to-day sale of postage stamps was of little concern. After this SWIP, rational investors should want to optimize the price fluctuations of BZZ to encourage the purchase of postage stamps. Postage stamp purchasers are mostly concerned about buying storage and don't want to think about BZZ price. Therefore, rational investors will want to minimize BZZ price volatility. ### Background on the Price Oracle @@ -65,15 +65,7 @@ Disclaimer: *The information contained in this section is intended for informati [The Howey test](https://www.investopedia.com/does-crypto-pass-the-howey-test-8385183) established criteria for whether a transaction qualifies as an investment contract. As of the June 2021 crowdsale, it could be anticipated that BZZ would not appreciate much in value. Developers owned at least 20% of the initial issuance and planned to redeem for DAI to fund development. Node deposits could be anticipated to reduce the supply of BZZ, but this would only matter if the network grew very large. Therefore, BZZ seems to fail the Howey criterion of *expectation of profits*. -This SWIP proposes to change the economic properties of the BZZ token. Supported by revenue coming in from stamp fees, BZZ is expected to appreciate in value. However, the success of BZZ is no longer in the hands of a small team of developers. The Howey criterion of *reliance on the efforts of others* no longer applies. Even more so than Bitcoin, all holders of BZZ are responsible for the success of the network. Software developers, node operators, and postage stamp purchasers contribute value. In addition, BZZ investors contribute value by their implicit belief in the network, and optionally, promoting the network. - -The bonding curve is generally thought to provide market depth and reduce volatility. However, the bonding curve also enables a particular speculative trading strategy: - -1. Suppose a trader builds up a large position in BZZ. -2. The trader tries to generate downward momentum in price. For example, the trader might sell BZZ at times and quantities to make the price chart look like there is a strong downward trend. -3. The idea is to trick other people into selling BZZ. Other people sell BZZ. -4. The trader can buy back the same number of BZZ tokens for less DAI than was originally invested at step 1. The bonding curve makes this easier than it would otherwise be because there is no market making fee and the price cannot make discontinuous jumps from low to high. The trader can buy a large number of BZZ tokens in a single atomic transaction. -5. Repeat. +This SWIP proposes to change the economic properties of the BZZ token. Supported by revenue coming in from stamp fees, BZZ is expected to appreciate in value. However, the success of BZZ is no longer in the hands of a small team of developers. The Howey criterion of *reliance on the efforts of others* no longer applies. Even more so than Bitcoin, very many holders of BZZ are responsible for the success of the network. Software developers, node operators, postage stamp purchasers, and bandwidth users contribute value. ## Backwards Compatibility @@ -86,6 +78,14 @@ The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-lin This last point needs be true before the bonding curve is shut down. BZZ volatility is harmful to users and providers of storage. Since the launch of the token, the bonding curve has buffered against wild volatility. The Uniswap market needs to have plenty of capital invested in market making before the bonding curve is shut down. +The bonding curve is generally thought to provide market depth and reduce volatility. However, the bonding curve also enables a particular speculative trading strategy: + +1. Suppose a trader builds up a large position in BZZ. +2. The trader tries to generate downward momentum in price. For example, the trader might sell BZZ at times and quantities to make the price chart look like there is a strong downward trend. +3. The idea is to trick other people into selling BZZ. Other people sell BZZ. +4. The trader can buy back the same number of BZZ tokens for less DAI than was originally invested at step 1. The bonding curve makes this easier than it would otherwise be because there is no market making fee and the price cannot make discontinuous jumps from low to high. The trader can buy a large number of BZZ tokens in a single atomic transaction. +5. Repeat. + The bonding curve has a `shutDown()` function. However, after `shutdown()`, the is no way to retrieve any DAI that is still locked. To both retire the bonding curve and retrieve the DAI will require some careful planning. Here is one solution: - Let the current BZZ token be called BZZv1 and introduce a new BZZv2 token. BZZv2 trades freely against DAI and has no bonding curve. From 67dbb7a3fc9abd9e688f55a8dec1f36a7f63371b Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Tue, 5 Mar 2024 11:21:40 -0800 Subject: [PATCH 10/18] Suggest that rational investors might want to facilitate a UniV3 pool --- SWIPs/swip-reward-investors.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index f0d3c12..7d5d9a0 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -55,6 +55,8 @@ The Uniswap pool fee should not be so low as to encourage speculation (e.g., 0.0 Prior to this SWIP, rational investors were only distantly concerned with the success of the network. The day-to-day sale of postage stamps was of little concern. After this SWIP, rational investors should want to optimize the price fluctuations of BZZ to encourage the purchase of postage stamps. Postage stamp purchasers are mostly concerned about buying storage and don't want to think about BZZ price. Therefore, rational investors will want to minimize BZZ price volatility. +For example, rational investors may want to allocate capital to a UniV3 LP pool with low fees (e.g., 0.01%) and a narrow price range. The price range would be updated at most weekly. This would allow small orders to get filled with very low fees as long as the trade happens within the narrow price range. This could help limit BZZ volatility. + ### Background on the Price Oracle > [Our price oracle](https://github.com/ethersphere/storage-incentives/blob/4fdb26e135f7391379ca84100b723f34a1a4175e/src/PriceOracle.sol#L93) is a simple thermostat model. It regulates the price down if there are signals of oversupply (of storage) and regulates it up if there is a signal of undersupply. A&A of Shtuka criticised this model that it also needs to regulate against fluctuations in price of BZZ. I argued that this is no more of a problem, that your real thermostate regulating temperature according to your comfort level given the outside temperature. However, the ultimate thermostate experience depends on the reactivity - if the coldest winter day changes to the hottest summer day in a matter of seconds then your comfort might be too often not met cause the time it takes for the heating to adapt. (Viktor Tron, 04 Mar 2024 #bzz-tokenomics) From bee578866c2d52937e153ddf8801e510a5ea3cae Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Tue, 5 Mar 2024 11:38:13 -0800 Subject: [PATCH 11/18] Gelato UniV3 pool as a future idea --- SWIPs/swip-reward-investors.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 7d5d9a0..38fe41d 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -115,5 +115,9 @@ The amount of DAI recovered will be much less than the market capitalization. A *Pending* +### Future + +Instead of sending fees to a UniV2 LP position, it might be more advantageous to provide market depth using [Gelato's UniV3](https://medium.com/gelato-network/introducing-g-uni-lp-like-a-pro-in-uniswap-v3-8fd6fdf9fc35) automation tools. Using these tools, the liquidity could be deployed in a narrow range with a very low fee (0.01%). Some customization of the [code](https://github.com/gelatodigital/g-uni-v1-core) would be needed to ensure that the price range can only be updated slowly (weekly) and to prevent large price jumps (limit price changes to 1% or 5% per week). + ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From ce270950fa80038726789863a4988112ca47bdb9 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Wed, 6 Mar 2024 09:34:31 -0800 Subject: [PATCH 12/18] Offer some benchmark profit margins --- SWIPs/swip-reward-investors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 38fe41d..cf988bc 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -45,7 +45,7 @@ Eventually the node operator minimum deposit will need to be reduced to compensa ## Rationale -The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. +The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. As [a rule of thumb](https://www.brex.com/journal/what-is-a-good-profit-margin), 5% is a low margin, 10% is a healthy margin, and 20% is a high margin. Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. Backing BZZ only with DAI loses value to inflation just as USD loses value to inflation. BZZ should be backed by future stamp fees, unlinked from USD. From 2db0586942399a4001f17937f0a0b6709187c792 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Wed, 6 Mar 2024 09:35:32 -0800 Subject: [PATCH 13/18] More color on node deposits --- SWIPs/swip-reward-investors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index cf988bc..c68da87 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -65,7 +65,7 @@ For example, rational investors may want to allocate capital to a UniV3 LP pool Disclaimer: *The information contained in this section is intended for informational purposes only and does not constitute legal advice. The author is not a licensed attorney and cannot offer legal guidance or representation. Readers should not rely on this information to make decisions regarding any legal matter. It is strongly recommended that you consult with a qualified attorney in your jurisdiction for personalized legal advice specific to your situation. The author does not assume any responsibility for any actions taken or not taken based on the content of this section. The information presented may not be up-to-date or applicable to every situation.* -[The Howey test](https://www.investopedia.com/does-crypto-pass-the-howey-test-8385183) established criteria for whether a transaction qualifies as an investment contract. As of the June 2021 crowdsale, it could be anticipated that BZZ would not appreciate much in value. Developers owned at least 20% of the initial issuance and planned to redeem for DAI to fund development. Node deposits could be anticipated to reduce the supply of BZZ, but this would only matter if the network grew very large. Therefore, BZZ seems to fail the Howey criterion of *expectation of profits*. +[The Howey test](https://www.investopedia.com/does-crypto-pass-the-howey-test-8385183) established criteria for whether a transaction qualifies as an investment contract. As of the June 2021 crowdsale, it could be anticipated that BZZ would not appreciate much in value. Developers owned at least 20% of the initial issuance and planned to redeem for DAI to fund development. Node deposits could be anticipated to reduce the supply of BZZ, but this would only matter if the network grew very large. Even then, the deposit amount would likely need to be reduced to avoid creating too high a barrier for new node operators. Therefore, BZZ seems to fail the Howey criterion of *expectation of profits*. This SWIP proposes to change the economic properties of the BZZ token. Supported by revenue coming in from stamp fees, BZZ is expected to appreciate in value. However, the success of BZZ is no longer in the hands of a small team of developers. The Howey criterion of *reliance on the efforts of others* no longer applies. Even more so than Bitcoin, very many holders of BZZ are responsible for the success of the network. Software developers, node operators, postage stamp purchasers, and bandwidth users contribute value. From 76d58ebc08ce7654a0a491c911037e911181bf5b Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Wed, 6 Mar 2024 17:58:46 -0800 Subject: [PATCH 14/18] Link to recent state-of-the-network, adjust links --- SWIPs/swip-reward-investors.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index c68da87..7293599 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -27,7 +27,7 @@ Under the current rules ([BZZ Tokenomics, Oct 25, 2021](https://medium.com/ether Other parties are natural sellers of BZZ: - Node operators sell BZZ to pay for electricity and hardware. -- [Investors](https://cryptorank.io/ico/swarm) may like to cash out their investment. +- [Investors](https://medium.com/ethereum-swarm/swarm-tokenomics-91254cd5adf) may like to cash out their investment. Swarm had historically ignored the economics of BZZ because it was more important to get the technology to work. Now that the technology is on the cusp of working, we have an opportunity to revamp the economics. @@ -45,7 +45,7 @@ Eventually the node operator minimum deposit will need to be reduced to compensa ## Rationale -The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. As [a rule of thumb](https://www.brex.com/journal/what-is-a-good-profit-margin), 5% is a low margin, 10% is a healthy margin, and 20% is a high margin. +The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. As [a rule of thumb](https://www.brex.com/journal/what-is-a-good-profit-margin), 5% is a low margin, 10% is a healthy margin, and 20% is a high margin. The amount of stamp payments should be roughly equal to the [Network Total Monthly Rewards](https://blog.ethswarm.org/foundation/2024/state-of-the-network-january/). Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. Backing BZZ only with DAI loses value to inflation just as USD loses value to inflation. BZZ should be backed by future stamp fees, unlinked from USD. From 4f99143fde1b6f1aa583b390ef992ad5b66aa156 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Wed, 6 Mar 2024 18:53:49 -0800 Subject: [PATCH 15/18] Add info from Viktor on node deposits --- SWIPs/swip-reward-investors.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 7293599..7d9f449 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -40,7 +40,7 @@ It's not an apples-to-apples comparison, but Filecoin has a market cap of about Send 10% of the BZZ stamp payment to the Swarm Foundation owned Uniswap v2 DAI-BZZ pool before sending the remainder to the redistribution lottery. -Eventually the node operator minimum deposit will need to be reduced to compensate for the increase in the value of BZZ. +Eventually the node operator minimum deposit will need to be reduced to compensate for the increase in the value of BZZ. Note: A change is already on the roadmap planned to be implemented soon. This is to mitigate the risk of node operators against being overstaked. Since swarm stake is effectively a non-redeemable participation fee, if the price of bzz goes up substantially, then operators end up unreasonably high stakes. The solution is to have an effective or committed stake which is denominated in the unit price of storage. Whatever your staked bzz is worth above the committed stake, you can freely redeem at any point. This way, there is no disincentive to stake even if you correctly anticipate deflation. Without this, we would punish the pioneer operators. This feature is in the book, but for some reason not implemented, but will be cos it eliminates an unfortunate misalignment of incentives. (Viktor Tron, 06 Mar 2024 #bzz-tokenomics) ## Rationale @@ -65,7 +65,7 @@ For example, rational investors may want to allocate capital to a UniV3 LP pool Disclaimer: *The information contained in this section is intended for informational purposes only and does not constitute legal advice. The author is not a licensed attorney and cannot offer legal guidance or representation. Readers should not rely on this information to make decisions regarding any legal matter. It is strongly recommended that you consult with a qualified attorney in your jurisdiction for personalized legal advice specific to your situation. The author does not assume any responsibility for any actions taken or not taken based on the content of this section. The information presented may not be up-to-date or applicable to every situation.* -[The Howey test](https://www.investopedia.com/does-crypto-pass-the-howey-test-8385183) established criteria for whether a transaction qualifies as an investment contract. As of the June 2021 crowdsale, it could be anticipated that BZZ would not appreciate much in value. Developers owned at least 20% of the initial issuance and planned to redeem for DAI to fund development. Node deposits could be anticipated to reduce the supply of BZZ, but this would only matter if the network grew very large. Even then, the deposit amount would likely need to be reduced to avoid creating too high a barrier for new node operators. Therefore, BZZ seems to fail the Howey criterion of *expectation of profits*. +[The Howey test](https://www.investopedia.com/does-crypto-pass-the-howey-test-8385183) established criteria for whether a transaction qualifies as an investment contract. As of the June 2021 crowdsale, it could be anticipated that BZZ would not appreciate much in value. Developers owned at least 20% of the initial issuance and planned to redeem for DAI to fund development. Node deposits could be anticipated to reduce the supply of BZZ, but this would only matter if the network grew very large. Even then, the deposit amount will need to be reduced to avoid creating too high a barrier for new node operators. Therefore, BZZ seems to fail the Howey criterion of *expectation of profits*. This SWIP proposes to change the economic properties of the BZZ token. Supported by revenue coming in from stamp fees, BZZ is expected to appreciate in value. However, the success of BZZ is no longer in the hands of a small team of developers. The Howey criterion of *reliance on the efforts of others* no longer applies. Even more so than Bitcoin, very many holders of BZZ are responsible for the success of the network. Software developers, node operators, postage stamp purchasers, and bandwidth users contribute value. From b27034a79a06be0a0340e6a7c2b14d826b088e35 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Mon, 11 Mar 2024 13:15:37 -0700 Subject: [PATCH 16/18] Discuss how the bonding curve competes too well against other market makers --- SWIPs/swip-reward-investors.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 7d9f449..4db2b34 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -72,13 +72,16 @@ This SWIP proposes to change the economic properties of the BZZ token. Supported ## Backwards Compatibility -The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-linear function between quantity of BZZ issued and the price of BZZ. Keeping the bonding curve active and, at the same time, allowing BZZ to trade freely for price discovery, will involve extra arbitrage transactions to keep these markets in synch. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. There is no urgency, but it would be desireable to retire the bonding curve for the following reasons: +The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-linear function between quantity of BZZ issued and the price of BZZ. Another effect of the bonding curve is to keep the bid/ask spread near zero regardless of the size of the trade. This makes it difficult for centralized exchanges to compete with the bonding curve on execution quality. Likely for the same reason, on-chain liquidity (e.g., Uniswap) has attracted few liquidity providers. + Keeping the bonding curve active and, at the same time, allowing BZZ to trade freely for price discovery, will involve extra arbitrage transactions to keep these markets in synch. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. There is no urgency, but it would be desireable to retire the bonding curve for the following reasons: + +- There is little incentive for centralized exchanges to list BZZ while the bonding curve remains active. This makes the token less easily accessible to the public. - The DAI locked in the bonding curve does not earn any return. - Extra arbitrage transactions are needed to keep the bonding curve in synch with the free floating price. - This idle capital no longer helps much with market depth because the Uniswap market has plenty of depth. -This last point needs be true before the bonding curve is shut down. BZZ volatility is harmful to users and providers of storage. Since the launch of the token, the bonding curve has buffered against wild volatility. The Uniswap market needs to have plenty of capital invested in market making before the bonding curve is shut down. +This last point needs be true before the bonding curve is shut down. BZZ volatility is harmful to users and providers of storage. Since the launch of the token, the bonding curve has buffered against wild volatility. The Uniswap market needs to have plenty of capital invested in market making before the bonding curve is shut down. One idea to make the token easier to access in the interim is to ensure that the bonding curve is integrated with on-chain market aggregators like CowSwap or 1inch. The bonding curve is generally thought to provide market depth and reduce volatility. However, the bonding curve also enables a particular speculative trading strategy: From 2f219ebf29cc855e137d66af73c5eb6c5d0fe671 Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Mon, 11 Mar 2024 13:44:59 -0700 Subject: [PATCH 17/18] Add links --- SWIPs/swip-reward-investors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index 4db2b34..bab30c9 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -81,7 +81,7 @@ The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-lin - Extra arbitrage transactions are needed to keep the bonding curve in synch with the free floating price. - This idle capital no longer helps much with market depth because the Uniswap market has plenty of depth. -This last point needs be true before the bonding curve is shut down. BZZ volatility is harmful to users and providers of storage. Since the launch of the token, the bonding curve has buffered against wild volatility. The Uniswap market needs to have plenty of capital invested in market making before the bonding curve is shut down. One idea to make the token easier to access in the interim is to ensure that the bonding curve is integrated with on-chain market aggregators like CowSwap or 1inch. +This last point needs be true before the bonding curve is shut down. BZZ volatility is harmful to users and providers of storage. Since the launch of the token, the bonding curve has buffered against wild volatility. The Uniswap market needs to have plenty of capital invested in market making before the bonding curve is shut down. One idea to make the token easier to access in the interim is to ensure that the bonding curve is integrated with on-chain market aggregators like [CowSwap](https://swap.cow.fi/) or [1inch](https://1inch.io/). The bonding curve is generally thought to provide market depth and reduce volatility. However, the bonding curve also enables a particular speculative trading strategy: From bd1e1035b4374f82d2798873ce8f046787e3523e Mon Sep 17 00:00:00 2001 From: Joshua Nathaniel Pritikin Date: Thu, 25 Apr 2024 09:30:18 -0700 Subject: [PATCH 18/18] Anticipate bond curve shutdown https://snapshot.org/#/swarmfoundation.eth/proposal/0x28b308188ed7afba140ac5629b2aff4d6b6012b400403468e595d4af0549cdbd --- SWIPs/swip-reward-investors.md | 46 +++------------------------------- 1 file changed, 4 insertions(+), 42 deletions(-) diff --git a/SWIPs/swip-reward-investors.md b/SWIPs/swip-reward-investors.md index bab30c9..0a6e8af 100644 --- a/SWIPs/swip-reward-investors.md +++ b/SWIPs/swip-reward-investors.md @@ -31,14 +31,14 @@ Other parties are natural sellers of BZZ: Swarm had historically ignored the economics of BZZ because it was more important to get the technology to work. Now that the technology is on the cusp of working, we have an opportunity to revamp the economics. -One purpose of the BZZ token was to [reward early adopters](https://blog.ethswarm.org/foundation/2021/swarm-is-airdropping-1000000-bzz/). By this metric, BZZ is a failure. Sold to the public for 1.92 DAI on June 2021, the token is worth about 0.5 DAI as of Mar 2024. Early contributors and investors deserve a return on investment. If the price of BZZ could be better linked to network usage then this would benefit practically all project participants. +One purpose of the BZZ token was to [reward early adopters](https://blog.ethswarm.org/foundation/2021/swarm-is-airdropping-1000000-bzz/). By this metric, BZZ is a failure. Sold to the public for 1.92 DAI on June 2021, the token is worth about 0.5 DAI as of Apr 2024. Early contributors and investors deserve a return on investment. If the price of BZZ could be better linked to network usage then this would benefit practically all project participants. It's not an apples-to-apples comparison, but Filecoin has a market cap of about 4.5 billion while BZZ is only 34 million (Mar 2024). That's a difference of more than two orders of magnitude. ## Specification -Send 10% of the BZZ stamp payment to the Swarm Foundation owned Uniswap v2 DAI-BZZ pool before sending the remainder to the redistribution lottery. +Send 10% of the BZZ stamp payment to the Swarm Foundation owned Uniswap v2 BZZ pool before sending the remainder to the redistribution lottery. Eventually the node operator minimum deposit will need to be reduced to compensate for the increase in the value of BZZ. Note: A change is already on the roadmap planned to be implemented soon. This is to mitigate the risk of node operators against being overstaked. Since swarm stake is effectively a non-redeemable participation fee, if the price of bzz goes up substantially, then operators end up unreasonably high stakes. The solution is to have an effective or committed stake which is denominated in the unit price of storage. Whatever your staked bzz is worth above the committed stake, you can freely redeem at any point. This way, there is no disincentive to stake even if you correctly anticipate deflation. Without this, we would punish the pioneer operators. This feature is in the book, but for some reason not implemented, but will be cos it eliminates an unfortunate misalignment of incentives. (Viktor Tron, 06 Mar 2024 #bzz-tokenomics) @@ -47,9 +47,9 @@ Eventually the node operator minimum deposit will need to be reduced to compensa The choice of 10% going to investors is arbitrary. The community can decide on the most suitable burn rate. As [a rule of thumb](https://www.brex.com/journal/what-is-a-good-profit-margin), 5% is a low margin, 10% is a healthy margin, and 20% is a high margin. The amount of stamp payments should be roughly equal to the [Network Total Monthly Rewards](https://blog.ethswarm.org/foundation/2024/state-of-the-network-january/). -Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. Backing BZZ only with DAI loses value to inflation just as USD loses value to inflation. BZZ should be backed by future stamp fees, unlinked from USD. +Stamp payments are a great place to add this fee. Stamp buyers are expressing an intention to store data on the network which is the behavior that is synonymous with the success of the network. BZZ should be backed by future stamp fees. -To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 DAI-BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. Maker chose Uniswap v2 instead of more modern solutions because it is battle tested and has less attack surface. Uniswap v2 is one of the simplest way to provide market depth to a free floating token pair. +To ensures that BZZ retains on-chain liquidity, the fee on stamp payments will be deposited into to a Swarm Foundation owned Uniswap v2 BZZ pool. This concept has already been proven by [Maker's smart burn engine](https://makerburn.com/#/buyback). See [here](https://vote.makerdao.com/polling/QmQmxEZp#poll-detail) for more background. Maker chose Uniswap v2 instead of more modern solutions because it is battle tested and has less attack surface. Uniswap v2 is one of the simplest way to provide market depth to a free floating token pair. The Uniswap pool fee should not be so low as to encourage speculation (e.g., 0.01%). Excessive BZZ price volatility is not in the interest of actual users of the Swarm network. Therefore, the Uniswap pool fee should be fairly high, like 0.5%, to increase transaction costs a bit and discourage short-term speculation. @@ -72,44 +72,6 @@ This SWIP proposes to change the economic properties of the BZZ token. Supported ## Backwards Compatibility -The bonding curve (0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904) imposes a non-linear function between quantity of BZZ issued and the price of BZZ. Another effect of the bonding curve is to keep the bid/ask spread near zero regardless of the size of the trade. This makes it difficult for centralized exchanges to compete with the bonding curve on execution quality. Likely for the same reason, on-chain liquidity (e.g., Uniswap) has attracted few liquidity providers. - - Keeping the bonding curve active and, at the same time, allowing BZZ to trade freely for price discovery, will involve extra arbitrage transactions to keep these markets in synch. See [here](https://medium.com/ethereum-swarm/swarm-and-its-bzzaar-bonding-curve-ac2fa9889914) for background. There is no urgency, but it would be desireable to retire the bonding curve for the following reasons: - -- There is little incentive for centralized exchanges to list BZZ while the bonding curve remains active. This makes the token less easily accessible to the public. -- The DAI locked in the bonding curve does not earn any return. -- Extra arbitrage transactions are needed to keep the bonding curve in synch with the free floating price. -- This idle capital no longer helps much with market depth because the Uniswap market has plenty of depth. - -This last point needs be true before the bonding curve is shut down. BZZ volatility is harmful to users and providers of storage. Since the launch of the token, the bonding curve has buffered against wild volatility. The Uniswap market needs to have plenty of capital invested in market making before the bonding curve is shut down. One idea to make the token easier to access in the interim is to ensure that the bonding curve is integrated with on-chain market aggregators like [CowSwap](https://swap.cow.fi/) or [1inch](https://1inch.io/). - -The bonding curve is generally thought to provide market depth and reduce volatility. However, the bonding curve also enables a particular speculative trading strategy: - -1. Suppose a trader builds up a large position in BZZ. -2. The trader tries to generate downward momentum in price. For example, the trader might sell BZZ at times and quantities to make the price chart look like there is a strong downward trend. -3. The idea is to trick other people into selling BZZ. Other people sell BZZ. -4. The trader can buy back the same number of BZZ tokens for less DAI than was originally invested at step 1. The bonding curve makes this easier than it would otherwise be because there is no market making fee and the price cannot make discontinuous jumps from low to high. The trader can buy a large number of BZZ tokens in a single atomic transaction. -5. Repeat. - -The bonding curve has a `shutDown()` function. However, after `shutdown()`, the is no way to retrieve any DAI that is still locked. To both retire the bonding curve and retrieve the DAI will require some careful planning. Here is one solution: - -- Let the current BZZ token be called BZZv1 and introduce a new BZZv2 token. BZZv2 trades freely against DAI and has no bonding curve. -- Create a contract BCManager that will issue BZZv2 for deposits of BZZv1. -- BCManager only converts in one direction and BZZv1 is locked in the contract. -- BZZv1 and BZZv2 are both valued equally in the Swarm ecosystem. Both can serve as a node deposit. Both can be paid to purchase postage stamps. -- BZZv1 and BZZv2 are likely worth the same amount in DAI. -- As BZZv2 becomes more valuable, BZZv1 can be minted using the bonding curve (for a discount), converted to BZZv2 using the BCManager, and sold back to the market for a small profit. -- BZZv1 for node deposits will need to be converted to BZZv2 (somehow). -- After a few years, BCManager will own most of the BZZv1. BZZv1 will be effectively deprecated. -- BCManager is triggered to - - Redeem BZZv1 to DAI. - - Call `shutdown()` on the bonding curve. - - Send the DAI to the Swarm Foundation -- The BCManager can continue to exchange BZZv1 for BZZv2, but the bonding curve can only be shutdown once so the remaining DAI is lost. -- With the bonding curve shutdown, no additional BZZv1 can be minted. Therefore, the supply of BZZv2 is limited by the number of BZZv1 tokens minted. Moreover, BZZv2 that is sent to the Uniswap LP can be considered burnt. Therefore, the BZZv2 supply becomes deflationary. - -The amount of DAI recovered will be much less than the market capitalization. A typical market capitalization estimate assumes that every BZZ token is worth the same amount. However, this is not how the bonding curve works. The first 62.5M BZZ tokens are worth less than 0.32 DAI per token. From 62.5M to 65.625M, BZZ tokens are worth less than 1.38 DAI. And so on. For example, when I checked just now, the market cap is 33.4M DAI with 63.4M BZZ tokens, but the bonding curve contract only contains 1.6M DAI. - ## Test Cases *Pending*