Bitcoin Forum
May 25, 2024, 03:54:37 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Mastercoin 'fee for service' discussion  (Read 1092 times)
rbdrbd (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250



View Profile
November 26, 2013, 03:39:16 PM
 #1

In the main mastercoin thread, I had brought up the idea of charging a small fee for certain Mastercoin services (such as creating a smart property).

Before submitting any proposed spec changes (as I said I’d try to do), I’d like to bring this up as a separate topic and get people’s opinions of it, as it is a very important and major part of Mastercoin that can hugely affect Mastercoin adoption (or the lack of adoption). Given this, let’s have a discussion on:
  • the pros and cons of fees
  • what fees should be charged for
  • how fees should be sized (e.g. constant, like with Peercoin, or variable)
  • how fees should be paid (e.g. destroy the MSC, send to Exodus)
  • and more…

As some background for this thread, here's relevant parts from my initial post (taken from https://bitcointalk.org/index.php?topic=265488.msg3645360#msg3645360):
Quote
From the spec, it looks like the unique factor used to differentiate one property from another is the Property Name, in which one may put up to 21 characters, correct?

What’s to stop people from spamming new smart properties? This could be like the domain name system, without any pricing required to reserve a name. Someone could reserve a smart property like “dog”, or “House Deed”, in perpetuity. Is any MSC required to be consumed to create a property, or is it just the BTC transaction costs to send the transaction?

[..] If MSC is required (or you are considering this), you could have two options here: pay to the Exodus address (further enriching that, although I don’t know how necessary that is), or destroy the funds, similar to Peercoin transactions.

edit to the above: as I understand this more, I think I confused this string name with a currency ID. Am I right in saying that the currency ID (not the 21 byte string name), is what will need to be allocated and unique?? Whichever one it is, we still have necessary allocations among a finite resource, which is where a fee would make sense to prevent clutter

JR’s response to this was:
Quote
Adding some sort of cost to reduce spam is a great idea. Thanks for bringing that up.

To which I responded:
Quote
Having a fee is about much more than just reducing system abuse. If done right, it can also be about encouraging the growth of MSC, by requiring people to trade and vest into MSC before using the features of the systems. Doing this I believe will have a huge impact on enlisting long term support of Mastercoin, because it makes anyone that wants to use Mastercoin features have to be vested into the system to some extent, even if it's only a bit, in order to consume finite platform resources (e.g. smart property namespace and currency IDs in this case). It's also an area where I wonder how Mastercoin clones (such as Mastercoin2, where no Exodus-style funding and no inherent coin worth) will handle. To deter namespace spamming, requiring something beyond the minimal BTC transaction value to be spent on a valuable service with finite addressing resources makes logical and economic sense, to me at least, and keeps the system un-bloated and useful. And it is also something to consider from a systems perspective...i.e. if Tachikoma or someone needs to implement a smart properties feature to the site, parsing out and caching each smart property for quick look-up takes time and memory space.

So that all being said, I agree with you on some kind of fee (which I think should be reasonable, able to adjust/change possibly, and made with the foremost intention of reducing spam while preserving usability and desirability of the feature-set). Also agree that it should not go to the Exodus address. It should be done in a way that doesn't bias one participant over another. However, the problem if we did that alone, is that Mastercoin would become a deflationary currency, possibly even more than bitcoin is (where supply slowly reduces due to constant max and people losing wallets, etc, but transaction fees do not destroy BTC). Not inherently a deal killer, but it would reduce the supply over time. Not entirely sure about what the exact consequences of this are, as the annualized deflation rate could become significant, depending on the exact fee structure and service use volume.

JR’s response to this, favored the deflationary approach:
Quote
Mastercoin has a fixed supply, and I'll gladly destroy them as an anti-spam feature. You'll notice that distributed e-commerce destroys MSC to avoid gaming the feedback system. I think it makes sense to destroy MSC to avoid spam feedback, and spam property creation, and spam anything else. Deflationary = Good Investment = Bigger Mastercoin Community = Faster progress = Even better investment


For instance, as a starting point, say we charged the following fees on the following services:
  • Simple send, guardian address, rate limiting: No fee
  • DEx operations: No fee
  • Selling/buying MSC for other MSC currencies: No fee
  • Registering a data stream: no fee
  • Offering a bet: no fee
  • Accepting a bet: 0.0025 MSC
  • Creating a smart property: 0.01 MSC
  • Paying dividends on a smart property: 0.0025 MSC
  • Listing something for sale: 0.001 MSC
  • Initiating a purchase, accepting a buyer, leaving feedback: Has its own proposed fees already it seems like
  • Creating a new escrow-backed currency (is this different than creating a smart property?): 1 MSC

Is this absurd, or does it make sense? What does everyone think of these ideas, and these fees themselves? (Being constant, these fees above could be a problem if the value of MSC went up by a ton, or was very volatile... but say in Peercoins case, it has constant fees, but reserves the right to adjust the spec in the future to adjust the fee if needed.)
vokain
Legendary
*
Offline Offline

Activity: 1834
Merit: 1019



View Profile WWW
November 26, 2013, 03:46:40 PM
 #2

In the main mastercoin thread, I had brought up the idea of charging a small fee for certain Mastercoin services (such as creating a smart property).

Before submitting any proposed spec changes (as I said I’d try to do), I’d like to bring this up as a separate topic and get people’s opinions of it, as it is a very important and major part of Mastercoin that can hugely affect Mastercoin adoption (or the lack of adoption). Given this, let’s have a discussion on:
  • the pros and cons of fees
  • what fees should be charged for
  • how fees should be sized (e.g. constant, like with Peercoin, or variable)
  • how fees should be paid (e.g. destroy the MSC, send to Exodus)
  • and more…

As some background for this thread, here's relevant parts from my initial post (taken from https://bitcointalk.org/index.php?topic=265488.msg3645360#msg3645360):
Quote
From the spec, it looks like the unique factor used to differentiate one property from another is the Property Name, in which one may put up to 21 characters, correct?

What’s to stop people from spamming new smart properties? This could be like the domain name system, without any pricing required to reserve a name. Someone could reserve a smart property like “dog”, or “House Deed”, in perpetuity. Is any MSC required to be consumed to create a property, or is it just the BTC transaction costs to send the transaction?

[..] If MSC is required (or you are considering this), you could have two options here: pay to the Exodus address (further enriching that, although I don’t know how necessary that is), or destroy the funds, similar to Peercoin transactions.

edit to the above: as I understand this more, I think I confused this string name with a currency ID. Am I right in saying that the currency ID (not the 21 byte string name), is what will need to be allocated and unique?? Whichever one it is, we still have necessary allocations among a finite resource, which is where a fee would make sense to prevent clutter

JR’s response to this was:
Quote
Adding some sort of cost to reduce spam is a great idea. Thanks for bringing that up.

To which I responded:
Quote
Having a fee is about much more than just reducing system abuse. If done right, it can also be about encouraging the growth of MSC, by requiring people to trade and vest into MSC before using the features of the systems. Doing this I believe will have a huge impact on enlisting long term support of Mastercoin, because it makes anyone that wants to use Mastercoin features have to be vested into the system to some extent, even if it's only a bit, in order to consume finite platform resources (e.g. smart property namespace and currency IDs in this case). It's also an area where I wonder how Mastercoin clones (such as Mastercoin2, where no Exodus-style funding and no inherent coin worth) will handle. To deter namespace spamming, requiring something beyond the minimal BTC transaction value to be spent on a valuable service with finite addressing resources makes logical and economic sense, to me at least, and keeps the system un-bloated and useful. And it is also something to consider from a systems perspective...i.e. if Tachikoma or someone needs to implement a smart properties feature to the site, parsing out and caching each smart property for quick look-up takes time and memory space.

So that all being said, I agree with you on some kind of fee (which I think should be reasonable, able to adjust/change possibly, and made with the foremost intention of reducing spam while preserving usability and desirability of the feature-set). Also agree that it should not go to the Exodus address. It should be done in a way that doesn't bias one participant over another. However, the problem if we did that alone, is that Mastercoin would become a deflationary currency, possibly even more than bitcoin is (where supply slowly reduces due to constant max and people losing wallets, etc, but transaction fees do not destroy BTC). Not inherently a deal killer, but it would reduce the supply over time. Not entirely sure about what the exact consequences of this are, as the annualized deflation rate could become significant, depending on the exact fee structure and service use volume.

JR’s response to this, favored the deflationary approach:
Quote
Mastercoin has a fixed supply, and I'll gladly destroy them as an anti-spam feature. You'll notice that distributed e-commerce destroys MSC to avoid gaming the feedback system. I think it makes sense to destroy MSC to avoid spam feedback, and spam property creation, and spam anything else. Deflationary = Good Investment = Bigger Mastercoin Community = Faster progress = Even better investment


For instance, as a starting point, say we charged the following fees on the following services:
  • Simple send, guardian address, rate limiting: No fee
  • DEx operations: No fee
  • Selling/buying MSC for other MSC currencies: No fee
  • Registering a data stream: no fee
  • Offering a bet: no fee
  • Accepting a bet: 0.0025 MSC
  • Creating a smart property: 0.01 MSC
  • Paying dividends on a smart property: 0.0025 MSC
  • Listing something for sale: 0.001 MSC
  • Initiating a purchase, accepting a buyer, leaving feedback: No fee
  • Creating a new escrow-backed currency (is this different than creating a smart property?): 1 MSC

Is this absurd, or does it make sense? What does everyone think of these ideas, and these fees themselves? (Being constant, these fees above could be a problem if the value of MSC went up by a ton, or was very volatile... but say in Peercoins case, it has constant fees, but reserves the right to adjust the spec in the future to adjust the fee if needed.)


Too high a barrier of entry imho..even 0.001MSC is a nontrivial amount of dollars. I want to be able to empower those in developing nations to be able to list things for sale too.  I can't give you any numbers I think would be better though. If MSC is always increasing in value, it would not make sense to use fixed fees.
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
November 26, 2013, 06:08:35 PM
 #3

I don't think we need fees on betting, since 0.5% of the bet goes to the data ticker operator, which effectively creates a fee.

I agree that there should probably be some kind of minimum fee for creating an escrow-backed currency, which should go straight into the escrow fund backing that new currency.

I really want anti-spam fees to be floating, reacting to both under-use and over-use of the system. For smart property, I'd suggest we set a target for how many new property ids should be created per month, and adjust the fee accordingly. In order to avoid a "land grab", the target should probably start low, but get a lot bigger in the future.

A few numbers:

  • In the U.S. we get a few hundred IPOs every year (https://www.google.com/search?q=%22ipos+per+year%22). I'm guessing that probably translates to a couple thousand per year internationally.
  • With 7B people in the world (http://www.census.gov/popclock/), I'm guessing there are probably 500M distinct pieces of real-estate? However, using smart property for real estate (vehicles, etc) is still a LONG way off
  • We have room for up to 4 billion different currency and property IDs in our protocol

It would seem that the most efficient way to set the fees would be to have MSC stakeholders vote on what the target number of properties created per month should be. MSC stakeholders will be able to see how spammy property creation is at any given time.

The fee itself would then float, based on that target set by the stakeholders. If we ahave 5x too many properties issued over the past 3 days, multiply the fee 5x from what it was 3 days ago. If we are 2x below target, cut the fee in half. I think 0.01 MSC is a good starting point, as you suggested.

Until we have proof-of-stake voting, I'll suggest 100 properties/month would be a good target. But since we probably won't have 100/month at first, we should probably start lower and work our way up. I'd suggest we target 10 properties the first month, 20 the second month, 50 the third month, and 100/month thereafter.

This is just a straw man to start discussion. I'd like to hear what everybody else thinks.

Voodah
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250



View Profile
November 26, 2013, 07:32:51 PM
 #4

Following, will read calmly back at home.
mughat
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile
November 26, 2013, 09:32:50 PM
 #5

Idea: automatic mastercoin fee-voting system

Mastercoin holders set individual service fee-sizes by a voting system integrated with the mastercoin protocol.

All individual fees on mastercoin services and %fees should be set/addjusted by mastercoin owners on a regular basis (once a week or so). people vote with their mastercoins what fees they want to increase and what fees they want to reduce. the system then adjusts the fees up or down according to the votes-ratio cast by the mastercoin holders. 1 MSC = 1 vote. If no one votes the fees just stay the same.

That way the fees will never have to be hardcoded or updated by the developers and they will addjust to supply and demand. If mastercoin gets a competitor we can quickly lower the fees.

If you want me to write a complete spec for this system I will will do it if you create a nice incentive for me Wink

thanks mughat
Master of science in computer systems engineering.
rbdrbd (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250



View Profile
November 27, 2013, 12:49:05 AM
 #6

Idea: automatic mastercoin fee-voting system

Mastercoin holders set individual service fee-sizes by a voting system integrated with the mastercoin protocol.

All individual fees on mastercoin services and %fees should be set/addjusted by mastercoin owners on a regular basis (once a week or so). people vote with their mastercoins what fees they want to increase and what fees they want to reduce. the system then adjusts the fees up or down according to the votes-ratio cast by the mastercoin holders. 1 MSC = 1 vote. If no one votes the fees just stay the same.

That way the fees will never have to be hardcoded or updated by the developers and they will addjust to supply and demand. If mastercoin gets a competitor we can quickly lower the fees.

If you want me to write a complete spec for this system I will will do it if you create a nice incentive for me Wink

thanks mughat
Master of science in computer systems engineering.

 I would be down for trying this approach out, as long as voting was proportional to the MSC holdings (e.g. if I had 500 MSC, my vote counts for 500 votes). This ensures that decisions are made mostly weighted around the folks that have the most to lose around a bad decision, similar to how proof-of-stake protects itself against stake attacks (e.g. by not being in the actor's best interests). Also, the fee rates would need to be bounded within some kind of hardcoded sane range. We also have to be cognizant of any kind of ways this could be gamed (e.g. a syndicate forming around maxing out the MSC fees as much as possible to deflate the currency and increase the value of their holdings -- but, to counter this, as a result they could chase people away from using it, and thus drop the value of their holdings.... but just working through those kinds of thought exercises so we don't screw ourselves here.)

Probably only have fee voting periods once a month or quarter.

That reminds me, there's an altcoin out there that a guy FreeTrade made that has a voting system in it (Memorycoin I think -- https://bitcointalk.org/index.php?topic=267522.0)....I may go back and scan that thread again to check out the mechanics of it.
mughat
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile
November 27, 2013, 03:47:18 AM
Last edit: November 27, 2013, 04:08:01 AM by mughat
 #7

Implementation outline suggestion for mastercoin fee-voting system
Each mastercoin service have one or more unique addresses that sets/defines the initial fee(s) and where fee-addjustment-votes are cast to. The initial fee of a mastercoin-service is the amount of MSC in that particular address to begin with.

People who want to vote transfers one willet (0.00000001 MSC) to the addresse with a message up or down. The system then looks at the amount of MSC each of the sending addresses have and adds up the voting “power”. X MSC = X votes. Addresses with less then 1 whole MSC has no voting power.

If 100% of the votes are up. The fee is doubled.
If 100% of the votes are down. The fee is halved.
anything in between is adjusted according to the ratio of up and down voting power.

Every vote cast are alive untill the next fee adjustment milestone. You can cast your vote at any time (or change it). The system then looks at the number of “living” votes at any given voting milestone to calculate the minimum fee required to use that particular service. based on the previous calculated fee size and the voting ratio. The new fees are calculated each week (or month).

Please let me know what you think.
mughat
vokain
Legendary
*
Offline Offline

Activity: 1834
Merit: 1019



View Profile WWW
November 27, 2013, 04:22:27 AM
 #8

Implementation outline suggestion for mastercoin fee-voting system
Each mastercoin service have one or more unique addresses that sets/defines the initial fee(s) and where fee-addjustment-votes are cast to. The initial fee of a mastercoin-service is the amount of MSC in that particular address to begin with.

People who want to vote transfers one willet (0.00000001 MSC) to the addresse with a message up or down. The system then looks at the amount of MSC each of the sending addresses have and adds up the voting “power”. X MSC = X votes. Addresses with less then 1 whole MSC has no voting power.

If 100% of the votes are up. The fee is doubled.
If 100% of the votes are down. The fee is halved.
anything in between is adjusted according to the ratio of up and down voting power.

Every vote cast are alive untill the next fee adjustment milestone. You can cast your vote at any time (or change it). The system then looks at the number of “living” votes at any given voting milestone to calculate the minimum fee required to use that particular service. based on the previous calculated fee size and the voting ratio. The new fees are calculated each week (or month).

Please let me know what you think.
mughat

you'd have to convince the benevolent holders of MSC to vote somehow or else it'd be a bother and participation would drop off
perhaps have a quorum function as well
mughat
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile
November 27, 2013, 04:48:38 AM
 #9

Implementation outline suggestion for mastercoin fee-voting system
Each mastercoin service have one or more unique addresses that sets/defines the initial fee(s) and where fee-addjustment-votes are cast to. The initial fee of a mastercoin-service is the amount of MSC in that particular address to begin with.

People who want to vote transfers one willet (0.00000001 MSC) to the addresse with a message up or down. The system then looks at the amount of MSC each of the sending addresses have and adds up the voting “power”. X MSC = X votes. Addresses with less then 1 whole MSC has no voting power.

If 100% of the votes are up. The fee is doubled.
If 100% of the votes are down. The fee is halved.
anything in between is adjusted according to the ratio of up and down voting power.

Every vote cast are alive untill the next fee adjustment milestone. You can cast your vote at any time (or change it). The system then looks at the number of “living” votes at any given voting milestone to calculate the minimum fee required to use that particular service. based on the previous calculated fee size and the voting ratio. The new fees are calculated each week (or month).

Please let me know what you think.
mughat

you'd have to convince the benevolent holders of MSC to vote somehow or else it'd be a bother and participation would drop off
perhaps have a quorum function as well

The voters would all hold mastercoins and therefore have an incentive to vote to addjust the fees in the overall interest of the mastercoin network to keep all the services competitive,spam free and profitable (create demand for mastercoins). Only rational self interest is required from the voters.
vokain
Legendary
*
Offline Offline

Activity: 1834
Merit: 1019



View Profile WWW
November 27, 2013, 05:55:04 AM
 #10


you'd have to convince the benevolent holders of MSC to vote somehow or else it'd be a bother and participation would drop off
perhaps have a quorum function as well

The voters would all hold mastercoins and therefore have an incentive to vote to addjust the fees in the overall interest of the mastercoin network to keep all the services competitive,spam free and profitable (create demand for mastercoins). Only rational self interest is required from the voters.

You say that after 5, 10, 20 years having to vote every x interval of time. Too long, you forget about it. Too short and you get sick of it.
mughat
Newbie
*
Offline Offline

Activity: 37
Merit: 0



View Profile
November 27, 2013, 06:35:19 AM
 #11


you'd have to convince the benevolent holders of MSC to vote somehow or else it'd be a bother and participation would drop off
perhaps have a quorum function as well

The voters would all hold mastercoins and therefore have an incentive to vote to addjust the fees in the overall interest of the mastercoin network to keep all the services competitive,spam free and profitable (create demand for mastercoins). Only rational self interest is required from the voters.

You say that after 5, 10, 20 years having to vote every x interval of time. Too long, you forget about it. Too short and you get sick of it.

Point is that you dont have to vote. Only if you want change. fees stay the same if no votes are cast. lazy smart users could create an auto vote wallet.
The good thing about this system is that we only get the people for whom it actually matters voting consistently. people who don't care don't vote.
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
November 27, 2013, 06:58:41 PM
 #12

I like this approach. I plan on putting distributed voting in the next version of the spec, and voting on fees should be built-in to that spec change.

One thing I plan to add is a way to transfer voting rights to another address. For instance, people will want to transfer voting rights from their offline wallet in storage to their online wallet. Or Bob might be busy with other things, but he knows Alice is heavily involved with these issues and he trusts her so he transfers his voting rights to her temporarily.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!