BitShares Forum

Main => General Discussion => Topic started by: JohnR on September 23, 2018, 02:32:31 pm

Title: Economic Abstraction and Network Fees
Post by: JohnR on September 23, 2018, 02:32:31 pm
What is economic abstraction?
“Economic abstraction”, in the context of blockchain architecture, refers to the idea that a blockchain architecture can be modified to remove the existence of a single native blockchain token (or “coin”). Rather than the protocol requiring use of a particular token, the protocol would allow the use of any one of a potentially unbounded number of tokens. ^1

In order to use the BTS DEX, users pay network fees.  This is one of the value propositions for holding BTS long term - you will be able to use the BTS DEX so long as you retain them.  It is also a loose analogy to Gas (gwei) on the Ethereum Virtual Machine.  This article "The Collapse of ETH is inevitable" ^2 has caused a lot of controversy in that community.

I would like to open up a discussion for how we should handle this on BitShares.  At the moment, the network allows for economic abstraction with collateralized assets (bitUSD/bitCNY) and UIAs via the fee pool.  I think it's good to give users the flexibility to pay network fees with alternatives to BTS.  I also recognize the great effects that result from default settings. 

I submit that by default network fees should be denominated in bitassets (bitUSD/bitCNY) vs the core token: BTS.  This will provide a de facto demand for bitassets (and indirectly BTS) as well as make future fee changes more effective (and hopefully less necessary).  Of course, if a user does not have bitassets in their account then paying the fee in BTS should still be allowed.  In the past (and likely continuing in the future) network fee changes were demanded by holders as the price of BTS itself rapidly fluctuated, transaction fees could range from 0.004 USD to 0.02 USD within a short period of time.

Since the idea of the network fee is to offer a flat rate for transactions (vs. the marginal (%) rate of gateway and OMO assets) we can flatten the network fee even more by denominating the fee in fiat terms (bitUSD/bitCNY).  This may also make things simpler to understand for new users. 

Ultimately I believe economic abstraction via bitassets is clearly a good thing for BitShares.  We should be more cautious about UIAs but so long as the fee pool is maintained I don't see great cause for alarm on that front.

--
1 - https://medium.com/@Vlad_Zamfir/against-economic-abstraction-e27f4cbba5a7
2 - https://techcrunch.com/2018/09/02/the-collapse-of-eth-is-inevitable/
Title: Re: Economic Abstraction and Network Fees
Post by: pc on September 23, 2018, 04:21:14 pm
Also see discussion in https://github.com/bitshares/bsips/issues/48
Title: Re: Economic Abstraction and Network Fees
Post by: JohnR on September 23, 2018, 09:18:31 pm
Great link and thank you.  I know this conversation gets brought up from time to time.  I'm looking to open up the conversation on whether economic abstraction is a good or bad thing for BitShares.  The ethereum community takes this issue seriously enough for Vitalik to respond to the idea^1.  He says the dev community is considering going so far as to mandate ether payments over tokens at the protocol level.  This would be tantamount to BitShares saying you can no longer pay for network fees in open.btc. 

Personally I like affording users the ability to pay in whatever asset they choose.  Although I do see a lot of advantages to setting the fee schedule in USD/CNY denomination.  Even if the default fee pay is set in USD, users can still retain the option to manually toggle over to BTS (which would now be variable against the USD rather the the other way around).  Does this make sense?

---
1- https://www.reddit.com/r/ethtrader/comments/9ch5ls/the_collapse_of_eth_is_inevitable_techcrunch_can/e5av470/?utm_source=reddit-android
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 23, 2018, 09:33:58 pm
Having BTS as the core asset for paying fees is free marketing for the token
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 23, 2018, 09:40:40 pm
Can you also please explain how the ethereum situation applies to Bitshares? As I currently understand it, as long as BTS has utility it has value
Title: Re: Economic Abstraction and Network Fees
Post by: JohnR on September 24, 2018, 12:57:56 pm
The discussion is what happens to Ether if dapps can leverage tokens to pay for transactions.  The fear is that Ether will lose it's main value proposition if that trend progresses.  On BitShares we do have some degree of economic abstraction because users can pay for fees in assets other than the core token (bitUSD/open.btc/bridge.ltc).  I'm still thinking about how much this will have an impact down the line because the abstracted assets retain a nexus to the core asset: smartcoins via collateral and UIAs via fee pool.  Maybe this undermines the threat of BTS devaluation if down the line BTS is still required.

Question is what about smartcoins that have UIAs as collateral?  Will the fees be paid in BTS through the collateral asset's fee pool?

Also it does seem like network fees should be determined in USD/CNY terms and then have a floating BTS rate.  I see more upside than downside to that.
Title: Re: Economic Abstraction and Network Fees
Post by: R on September 24, 2018, 01:37:54 pm
I think fees should still be paid in BTS, however the fees should peg against USD|CNY to be a fixed FIAT value instead of being detached from their intended value when BTS price is volatile (until the committee manually adjusts them). If the committee could set the fee values once then forget about them (until economic policy changes are proposed) that'd be great.
Title: Re: Economic Abstraction and Network Fees
Post by: JohnR on September 24, 2018, 03:01:42 pm
I think fees should still be paid in BTS, however the fees should peg against USD|CNY to be a fixed FIAT value instead of being detached from their intended value when BTS price is volatile (until the committee manually adjusts them). If the committee could set the fee values once then forget about them (until economic policy changes are proposed) that'd be great.

This is what I'm saying in the last.  Although you may have articulated it more clearly!


Also it does seem like network fees should be determined in USD/CNY terms and then have a floating BTS rate.  I see more upside than downside to that.

Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 24, 2018, 08:55:05 pm
Nah it won't happen to Bitshares, in the current system most of the assets in circulation (by volume) are derivatives or depend on BTS
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 24, 2018, 08:56:20 pm
The pegging thing can be solved with a program all committee members run that adjusts the fees daily to peg to USD/CNY. Obviously there's hassle in running that program and key safety is a concern as well
Title: Re: Economic Abstraction and Network Fees
Post by: JohnR on September 24, 2018, 09:34:33 pm
Thanks Armin.  Do you know of any such program running now are you saying hypothetically CMs could run a program like this?
Title: Re: Economic Abstraction and Network Fees
Post by: R on September 24, 2018, 09:44:28 pm
The pegging thing can be solved with a program all committee members run that adjusts the fees daily to peg to USD/CNY. Obviously there's hassle in running that program and key safety is a concern as well
After BSIP 40 (https://github.com/bitshares/bsips/blob/master/bsip-0040.md) is implemented, the committee members could potentially create a key for this purpose so as to not risk the rest of their committee account's permissions/functionality.

Such a program wouldn't require a powerful VPS, and perhaps it could be run by one committee member to propose the variable change operation & be manually approved by the committee at their discretion? It'd at least take half the effort out of proposing new fees.
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 24, 2018, 09:49:37 pm
@johnr I'm saying hypothetically but it's a really simple program to code lol
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 24, 2018, 09:52:29 pm
@Customminer yeah the idea could work if the committee is up for it, these problems aren't that big in a bear market they matter more in a bull market
Title: Re: Economic Abstraction and Network Fees
Post by: JohnR on September 24, 2018, 11:00:18 pm
Thank you for the thoughtful reply CM.  I think it's not the pegging that's the trouble.  This can be handled through the core exchange rate function of bitUSD/CNY 's respective fee pool.  I think the larger issue is do we want to tie fee revenue in fiat terms or stick with the bts denomination (it has pros/cons).  The more I think about it, one of the most important reasons for fees in the first place is to support the reserve pool from which workers draw upon.  Workers want bitUSD/CNY so there is a nice symmetry to charging network fees in these assets.  It minimizes volatility risk that workers won't get paid.

The pegging thing can be solved with a program all committee members run that adjusts the fees daily to peg to USD/CNY. Obviously there's hassle in running that program and key safety is a concern as well
After BSIP 40 (https://github.com/bitshares/bsips/blob/master/bsip-0040.md) is implemented, the committee members could potentially create a key for this purpose so as to not risk the rest of their committee account's permissions/functionality.

Such a program wouldn't require a powerful VPS, and perhaps it could be run by one committee member to propose the variable change operation & be manually approved by the committee at their discretion? It'd at least take half the effort out of proposing new fees.
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 25, 2018, 05:46:30 am
the worker reserves can/are held by blockchainprojectsbv
Title: Re: Economic Abstraction and Network Fees
Post by: abit on September 25, 2018, 01:11:50 pm
Just came with an idea.

In a macro perspective, we don't care much about fees paid to the network during a day is a bit more or a bit less.

Since CER of smart coins are fed by witnesses, how about asking witnesses to change them less frequently? E.G. change once every day. On 00:00-01:00 of every day, each witness publish a new CER; on other hours, don't update it. With this, the smart coins will effectively have fixed exchange rate all day long except that hour.

Now BSIP26 is in place, we don't need to worry about that the fee pools of smart coins will get drain due to slightly "incorrect" CER.

With this approach, IMHO user experience (UX) of an average Joe who wants to pay fee in bitCNY or bitUSD would get greatly improved.

Thoughts?
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 25, 2018, 01:19:35 pm
I don't think the OP means this @abit, I think they're talking about the price of BTS/CNY or BTS/USD over longer periods of time. Don't think daily fixed exchange rate will fix the longer period of time issue
Title: Re: Economic Abstraction and Network Fees
Post by: abit on September 25, 2018, 01:28:05 pm
I think fees should still be paid in BTS, however the fees should peg against USD|CNY to be a fixed FIAT value instead of being detached from their intended value when BTS price is volatile (until the committee manually adjusts them). If the committee could set the fee values once then forget about them (until economic policy changes are proposed) that'd be great.
Apparently, if we set a fixed fee schedule, it can only be in BTS, or one of the smart coins. Using BTS is the least bias solution. If we peg fee schedule to one currency, E.G. USD, why not use CNY or EUR? IMHO this will cause division of the community. Because, even if some people can pay fee in USD at a fixed value, other people who don't use USD will still need to pay fee at a float value. The worst thing is people who prefer to pay fee in BTS (read: most of existing users) need to calculate the rate when building transactions, which is not funny at all. The chance of failing to execute transactions would be much higher due to fee schedule changes. IMHO using any asset other than BTS as default fee will effectively devalue BTS the core token.
Title: Re: Economic Abstraction and Network Fees
Post by: JohnR on September 25, 2018, 01:42:38 pm
Thanks @abit.  I would not go so far as to say it would devalue BTS.  bitCNY is at the end of the day a future claim on BTS, nothing more.

I don't think setting in USD vs CNY would ruffle too many feathers.  Speaking for myself, whether the fee was set at 0.01 USD of 0.06 CNY would not make much difference to me whether I paid fees in USD or EUR. 

Very concerned about unexecuted transactions though.  When you say fee schedule changes do you mean the regular fluctuation of bts:fiat?  If you mean fee schedule changes I suppose the solution is that we set fees once in fiat and could be satisfied enough not to change unless something major happens.  Many stakeholders are working and hoping for greater adoption and supply of bitassets.  If fees are fixed in fiat terms then it may incentivize the community to focus more on bitassets?  People holding bts is good, people holding bitassets is better.

I think fees should still be paid in BTS, however the fees should peg against USD|CNY to be a fixed FIAT value instead of being detached from their intended value when BTS price is volatile (until the committee manually adjusts them). If the committee could set the fee values once then forget about them (until economic policy changes are proposed) that'd be great.
Apparently, if we set a fixed fee schedule, it can only be in BTS, or one of the smart coins. Using BTS is the least bias solution. If we peg fee schedule to one currency, E.G. USD, why not use CNY or EUR? IMHO this will cause division of the community. Because, even if some people can pay fee in USD at a fixed value, other people who don't use USD will still need to pay fee at a float value. The worst thing is people who prefer to pay fee in BTS (read: most of existing users) need to calculate the rate when building transactions, which is not funny at all. The chance of failing to execute transactions would be much higher due to fee schedule changes. IMHO using any asset other than BTS as default fee will effectively devalue BTS the core token.
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 25, 2018, 02:58:35 pm
Ya I think abits point make sense, BTS is the "community token for everyone in this community" but a certain fiat may  not be applicable to all Bitshares users
Title: Re: Economic Abstraction and Network Fees
Post by: JohnR on September 25, 2018, 04:30:14 pm
One of the best things about BitShares is the economic freedom it provides.  A user can freely transact in CNY/USD/EUR assets independent of their nationality.  Maybe we will agree to disagree on this point but I don't think most users feel an explicit allegiance to the fiat monetary system under which they were born.
Title: Re: Economic Abstraction and Network Fees
Post by: armin on September 26, 2018, 12:33:39 pm
ya that's exactly what we are saying @johnr
Title: Re: Economic Abstraction and Network Fees
Post by: bench on September 27, 2018, 02:16:46 am
At the end of the day the fees, which are collected in bitFiat or open.BTC should be used to buy back BTS. Therefore is a demand for BTS independent of the currency fees are paid.   
Title: Re: Economic Abstraction and Network Fees
Post by: xeroc on September 28, 2018, 08:37:50 am
At the end of the day the fees, which are collected in bitFiat or open.BTC should be used to buy back BTS. Therefore is a demand for BTS independent of the currency fees are paid.   
that unfortunately only works in "liquid" markets - as such, a reason for having the issuer provide the BTS in the fee pool for an implicite exchange
Title: Re: Economic Abstraction and Network Fees
Post by: spark on October 17, 2018, 07:42:49 pm
that unfortunately only works in "liquid" markets - as such, a reason for having the issuer provide the BTS in the fee pool for an implicite exchange

Please help me understand why there are BTS in the fee pool? I thought it was to pay network fees, but it sounds like the BTS can be taken by any coin holder whatsoever by 'implicit exchange' so I am unsure about my understanding.
Title: Re: Economic Abstraction and Network Fees
Post by: pc on October 17, 2018, 09:05:23 pm
You can pay the network fee for any operation using any (unrelated) asset if it has BTS in its fee pool and a "core exchange rate" defined.

For example, Alice can transfer bitBTC to Bob and pay the fee in bitUSD. What happens then is that the blockchain takes the bitUSD from Alice's account, exchanges them for BTS (using the bitUSD fee pool), and pays the network fee in these BTS. That's what xeroc meant with "implicit exchange".