Author Topic: How to build a decentralized application without fees [BLOG POST]  (Read 12786 times)

0 Members and 1 Guest are viewing this topic.

Offline gamey

  • Hero Member
  • *****
  • Posts: 2253
    • View Profile

So do small balances have to wait or not ?  Either way seems to open up attacks. If you let them go immediately in front of line without some sort of value that accumulates the equity * time ... then you can attack the network/nodes by creating a ton of small accounts. Even guys with .1% of the network seem like they could do a number on the system just by creating a ton of small addresses... then at some point those small addresses can remerge their account balances because fees are 0. I get it that it doesn't make economic sense to buy shares to attack, but it could in some other context.

Basically fees keep dust based/bloat attacks at bay.  0 fee opens that back up.

If there is something in the paper that addresses this, my apologies. Is this problem covered because one is forced to register an account before receiving a transfer?

The system is not subject to sybil attacks.

I wasn't talking about sybil attacks but it seems you have a minimum transfer/balance in mind which fixes the sort of things I was concerned about. It works in place of a fee.

 I like the idea all and all. Very similar to spending coin-age to create transactions.

I would suggest you choose better metaphors in your writing if they are to be key to the article. fractional reserve etc for bandwidth/networks just doesn't fit very well for me and made it hard to read the whole thing.
I speak for myself and only myself.

Offline bytemaster

Minimum balance requirement is good to prevent some types of spam, like account creation spam, but don't get rid of transaction fees altogether. Let people buy higher bandwidth. Make small tps per account free, but charge fee for those who exceed the limit which  depends on current network usage. Make it exponential depending on number of tps over limit.
+5%

Perhaps the most relevant part of the entire document is a rationale on how to set transaction fees that is completely objective.

Quote
If a blockchain wished to avoid locking up funds for a week, then it can set fees based upon an very high interest rate, say 100% APR. Users could then choose between locking up $1 for a week or paying $0.02. Either way the network is guaranteed to win while preventing spam. During heavy usage the minimum fee might raise to $8 for a week or $0.16.

Ideally users wouldn’t be forced to make this decision because they will have a sufficient balance to permit free transactions without future obligations or fees. Their non-transferrable accrued right to transact makes the perceived cost of a transaction to be 0.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Bhuz

  • Committee member
  • Sr. Member
  • *
  • Posts: 467
    • View Profile
  • BitShares: bhuz
Minimum balance requirement is good to prevent some types of spam, like account creation spam, but don't get rid of transaction fees altogether. Let people buy higher bandwidth. Make small tps per account free, but charge fee for those who exceed the limit which  depends on current network usage. Make it exponential depending on number of tps over limit.
+5%

Offline betax

  • Hero Member
  • *****
  • Posts: 808
    • View Profile
Great analysis.. the ISP metaphor makes a lot of sense. Transactions are free yet prioritized. Micropayments viable unless a bandwidth hog drives the price up. Businesses compete for bandwidth & get higher priority for their customers by acquiring more stake.

Exactly. As a business I will buy more to scale my reach.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Akado

  • Hero Member
  • *****
  • Posts: 2752
    • View Profile
  • BitShares: akado

So do small balances have to wait or not ?  Either way seems to open up attacks. If you let them go immediately in front of line without some sort of value that accumulates the equity * time ... then you can attack the network/nodes by creating a ton of small accounts. Even guys with .1% of the network seem like they could do a number on the system just by creating a ton of small addresses... then at some point those small addresses can remerge their account balances because fees are 0. I get it that it doesn't make economic sense to buy shares to attack, but it could in some other context.

Basically fees keep dust based/bloat attacks at bay.  0 fee opens that back up.

If there is something in the paper that addresses this, my apologies. Is this problem covered because one is forced to register an account before receiving a transfer?

It's proportional to the stake. It doesn't matter if you have an account with 1 million BTS or 100000 accounts with 10 bts, hence, no sybils like Dan said.
You can read about it here @gamey https://bitsharestalk.org/index.php/topic,21396.0.html
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
Minimum balance requirement is good to prevent some types of spam, like account creation spam, but don't get rid of transaction fees altogether. Let people buy higher bandwidth. Make small tps per account free, but charge fee for those who exceed the limit which  depends on current network usage. Make it exponential depending on number of tps over limit.
 

Offline roadscape

Great analysis.. the ISP metaphor makes a lot of sense. Transactions are free yet prioritized. Micropayments viable unless a bandwidth hog drives the price up. Businesses compete for bandwidth & get higher priority for their customers by acquiring more stake.
http://cryptofresh.com  |  witness: roadscape

Offline bytemaster


So do small balances have to wait or not ?  Either way seems to open up attacks. If you let them go immediately in front of line without some sort of value that accumulates the equity * time ... then you can attack the network/nodes by creating a ton of small accounts. Even guys with .1% of the network seem like they could do a number on the system just by creating a ton of small addresses... then at some point those small addresses can remerge their account balances because fees are 0. I get it that it doesn't make economic sense to buy shares to attack, but it could in some other context.

Basically fees keep dust based/bloat attacks at bay.  0 fee opens that back up.

If there is something in the paper that addresses this, my apologies. Is this problem covered because one is forced to register an account before receiving a transfer?

The system is not subject to sybil attacks.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Musewhale

  • Hero Member
  • *****
  • Posts: 2881
  • 丑,实在是太丑了 !
    • View Profile
MUSE witness:mygoodfriend     vote for me

Offline Bhuz

  • Committee member
  • Sr. Member
  • *
  • Posts: 467
    • View Profile
  • BitShares: bhuz
The second thing I would like is the ability to still be able to transact by paying a fee, even if I have used up all of my coin days.  Imagine that you are putting in bids on ebay for that thing you really really need to have, and the auction is about to expire, and you could put in the winning bid, but you used up all of your coin days placing previous bids.  At that point it may be worth $0.16 or more to you to be able to place that final bid.  I think we should retain the option.

 +5%

Offline noisy

If I can transfer and trade for free, why the hell I need LTM?

- creating an assets
- cheaper stealth transfers
- premium accounts, shorter nicks
- ability to be a part of referral program (fees from things above + (for LTM) profit from possible future revenue from transaction fees)


duh

https://www.youtube.com/watch?v=rMV-fenGP1g#t=3m1s
(what are you waiting for?)

(someone to fork BitShares and implement this algo?)

That would be great! Seriously! BM is a great developer, but second implementation of this same idea, especially based on this same code base, would be a great source of informations and inspiration. IMO, no coin which is no open source has the future, what means, other cryptocoins can and always will can copy best idea or implement them even better.

In my opinion, right now is better to "waste" a few days for discussion to make sure, that this could actually work. The worst thing we could do would be to say: "this is great, start immediately!". With this article BM gives another professionals a chance to speak up about drawbacks of this approach. If this idea is truly very good, it will survive. If it has some major problem not discovered yet, it would be better to spot it sooner, than later. This could save us moths of development.

I really appreciate an effort and the transparency of this workflow. Appearance of such people like @clemahieu proves, that openness could bring attention of other skilled developers, who are eager to show their code and maybe even help with its development.
« Last Edit: February 10, 2016, 05:41:12 pm by noisy »
Take a look on: https://bitsharestalk.org/index.php/topic,19625.msg251894.html - I have a crazy idea - lets convince cryptonomex developers to use livecoding.tv

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
Yes... that sounds good in itself.. but it's not what puppies is looking for. I think he sees an opportunity for fees to kick in if you go above your limit, not just get kicked back.

I would like both Data.  I want to see LTM remain an attractive value add.  Either one of the options BM mentioned should work.  I was thinking more of option 2 myself, but that seems like it would require us to raise the balance requirements for non LTM users.  Option 1 gets around that, but might not be enough of a benefit for LTM.

The second thing I would like is the ability to still be able to transact by paying a fee, even if I have used up all of my coin days.  Imagine that you are putting in bids on ebay for that thing you really really need to have, and the auction is about to expire, and you could put in the winning bid, but you used up all of your coin days placing previous bids.  At that point it may be worth $0.16 or more to you to be able to place that final bid.  I think we should retain the option.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline betax

  • Hero Member
  • *****
  • Posts: 808
    • View Profile
Can this be done like yesterday? This is a great idea, one of the things that attracts businesses and users to use crypto is the cheap transfers. Referrals won't be affected as more traders will use the system as most normal users use the DEX.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Bhuz

  • Committee member
  • Sr. Member
  • *
  • Posts: 467
    • View Profile
  • BitShares: bhuz
LTM can give users a larger "burst window" by averaging their bandwidth over a month rather than a week.
Alternatively, LTM can be allocated X% of capacity and regular users can be allocated Y%.

In other words LTM is like the HOV lanes, there is less traffic so you can move faster.

Could we add the ability of "linking account" ? That could also be a nice feature for LTM.

E.g.
I have the account "bhuz-bot", and I have to do quite a lot of transfers/trades, but for security reasons I do not want to put all my balance in that account. So I would end up beeing very rate limited.

But I also have my main account "bhuz", that is more secured and hold all my balance.

It would be nice to have the possibility to link bhuz to bhuz-bot, while deciding the % of rate-capability to pass from one account to the other.

Offline BunkerChainLabs-DataSecurityNode

I love the idea of rate limited transfers.  I think it could be truly revolutionary. 

If LTM had a higher rate of earning the ability to transact in addition to 80% back on the remaining flat fees such as asset creation, or name registration. then I think LTM would still be very attractive.  As long as LTM is attractive I think the referral program will be attractive.

Please please please include the ability for users to pay a fee to transact above and beyond what their balance would allow.  Nothing is more annoying than being willing to pay for a service, but not being able to.  Imagine how much users will be turned off they are 2 transactions into a 3 transaction deal, and the rate limiting kicks in and now all of a sudden they are unable to complete their transaction.  It just needs to be very clear, what fee you are paying, and how long you can expect to wait before you can transact without a fee.

LTM can give users a larger "burst window" by averaging their bandwidth over a month rather than a week.
Alternatively, LTM can be allocated X% of capacity and regular users can be allocated Y%.

In other words LTM is like the HOV lanes, there is less traffic so you can move faster.

Yes... that sounds good in itself.. but it's not what puppies is looking for. I think he sees an opportunity for fees to kick in if you go above your limit, not just get kicked back.
+-+-+-+-+-+-+-+-+-+-+
www.Peerplays.com | Decentralized Gaming Built with Graphene - Now with BookiePro and Sweeps!
+-+-+-+-+-+-+-+-+-+-+