BitShares Forum

Main => General Discussion => Topic started by: abit on February 14, 2016, 04:00:28 pm

Title: Rate Limited Free Transactions Feature Implemented
Post by: abit on February 14, 2016, 04:00:28 pm
Rate Limited Free Transactions Feature Implemented.

Features:
* Committee can define the rate of coin-days to be converted to fees,
   for example, normal users can have: 1K BTS * 1day -> 1BTS of fee,  AM 1KBTS * 1day = 2 BTS of fee, LTM 1KBTS*1day=5BTS of fee

* Committee can define a cap of coin-days used for fees for each operation.
   for example, users can use coin-days to pay 10BTS of transfer fee, or 1 BTS of market order creating fee, or etc

* Committee can define a cap for every account type(LTM/AM/normal user), so a user would be unable to spam 100 or more free transactions at same time.
   for example, LTMs will have a cap of 100BTS, AM 50BTS, normal user 30BTS.

So if you're an LTM, and you have 1M BTS in your account, you can accumulate 5000 BTS of fees per day, or about 3.5BTS per minute. In case when transfer fee is 30BTS and the committee set the free-fee cap of transfer to 30BTS , you can transfer once for free every 10 minutes.

Code is here:
https://github.com/abitmore/bitshares-2/tree/bts2-bts-limited-free-trx

Reference: [BLOG POST] How to build a Decentralized Application without Fees http://bytemaster.github.io/article/2016/02/10/How-to-build-a-decentralized-application-without-fees/

Have fun!!

By the way, @JonnyBitcoin @fav would you like to vote for my worker proposal "1.14.29   [BSIP10] Percentage-based transfer fee solution based on CER"?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: BunkerChainLabs-DataSecurityNode on February 14, 2016, 04:09:09 pm
How would a feature like this impact an FBA looking to build on Bitshares?

They would have their own rates that they control, much like the committee.. but would this code then apply? Would it be required to be incorporated into these new fee structures?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: pc on February 14, 2016, 04:18:03 pm
Wow, man, you're FAST! :-)
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: xeroc on February 14, 2016, 04:18:27 pm
awesome job!

for your next project ... could you please fork from graphene/develop? that would make it way easier to integrate this into MUSE or the testnet!!!

+5% anyway
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on February 14, 2016, 04:37:54 pm
@abit: maybe this is too much, but could you prepare a brief video in which you could present new functionality? All of us will have a better understanding of this feature.

Pleasee....  :D :)
Still testing.. I'm playing with CLI and transaction builder.
No GUI available right now, wish someone else have time to work on it.
How will that video look like? I have no idea at all.

//Update: replay testing passed.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Xeldal on February 14, 2016, 04:48:34 pm
 +5% Wow that was way faster then I expected.

I don't get how you're describing it though.  why it should work this way?  It sounds like fees are still being charged / still being paid, but accounts earn BTS to pay fees at a defined rate with a cap?

Is it just how its being described? or is that really how it works?  Was it just the easiest, quickest way to get it done with existing code?

It sounds like saying fee = 10(old) - 5(new) - 3(limit) - 2 = 0 , instead of just saying fee = 0 with rate limit

If that's really how it works, it seems like a band-aid, but I really wouldn't know, and certainly mean no offense. 
It shouldn't be described this way for a new user at least. :)  Just say fee is zero with rate limit.

anyway,   
Awesome effort abit! 

Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: gamey on February 14, 2016, 04:55:02 pm

I haven't looked at the code but I'm glad to see this sort of input. Great way to set an example for others to follow, Abit.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on February 14, 2016, 04:55:20 pm
+5% Wow that was way faster then I expected.

I don't get how you're describing it though.  why it should work this way?  It sounds like fees are still being charged / still being paid, but accounts earn BTS to pay fees at a defined rate with a cap?

Is it just how its being described? or is that really how it works?  Was it just the easiest, quickest way to get it done with existing code?

It sounds like saying fee = 10(old) - 5(new) - 3(limit) - 2 = 0 , instead of just saying fee = 0 with rate limit

If that's really how it works, it seems like a band-aid, but I really wouldn't know, and certainly mean no offense. 
It shouldn't be described this way for a new user at least. :)  Just say fee is zero with rate limit.

anyway,   
Awesome effort abit!

So an average user just need to know:
So if you're an LTM, and you have 1M BTS in your account, ... you can transfer once for free every 10 minutes.

The "accumulated fees" can only be used to pay fees. Or say it's budgets. When you're running out of budgets, you can pay fee in the original way. Make sense?

And fees paid with coin-days wont go to referral program (or cash back for LTM), they are eliminated.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on February 14, 2016, 04:59:20 pm

I haven't looked at the code but I'm glad to see this sort of input. Great way to set an example for others to follow, Abit.
Example of developing back-end, or GUI, or example of using it? I will post my CLI commands here while testing through it.

By the way, my worker hasn't started yet, perhaps svk hasn't have time to work on related GUI.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Xeldal on February 14, 2016, 05:12:07 pm

The "accumulated fees" can only be used to pay fees. Or say it's budgets. When you're running out of budgets, you can pay fee in the original way. Make sense?

And fees paid with coin-days wont go to referral program (or cash back for LTM), they are eliminated.

Yes that makes sense.  Thank you.
I like that you've left available the option to pay fee if beyond coin-days budget. : ) very nice!
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Thom on February 14, 2016, 05:37:50 pm
I really like how you implemented this abit  +5%. I understand the comment about the approach being a "bandaid", but actually the approach you took makes a lot of sense and allows the system to function exactly as it does now, should there be a bottleneck or bug in the process of adding to or paying out of the "accumulated fees" (i.e. rate limiting) holdings. This is an enhancement in the purest sense of the word.

I take it if an operation requires a fee and there is a balance of accumulated fees, the cost of the operation will automatically be supplied from the accumulated fees holdings?

I do seem to recall BM commenting somewhere that such operation should not be allowed. I could be wrong about that. I believe it has to do with whales exceeding the available network bandwidth?

Am I also correct in assuming that there are no prohibitions, stoppages, "sorry, can't do that" aspects to your approach? For example using a std account with a 1000 BTS balance performing some op (say in a python loop) that requires 1 BTS, there is nothing that would restrict the speed of that loop right? If there were no rate limiting, the loop would terminate after 1000 iterations (assuming the op didn't impact account balance). With rate limiting perhaps a few more iterations could be possible, due to accumulated fees being non-zero + the original 1000 BTS balance that both contribute to fees.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: bytemaster on February 14, 2016, 05:41:00 pm
I did a quick review of the implementation and believe it accomplishes 90% of what I wanted to accomplish. The only thing this doesn't do is dynamically adjust the fee in response to load.

Assuming this gets properly tested I would support integrating it.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: svk on February 14, 2016, 06:03:33 pm
Awesome stuff @abit, you're on a roll! :)
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: merivercap on February 14, 2016, 06:08:42 pm
 +5%

Great to hear..

Thanks for the review @bytemaster!

Fantastic job @abit
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Empirical1.2 on February 14, 2016, 06:47:59 pm
 +5% +5% Don't know much about coding but you seem to be doing great fast work, abit, well done!
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on February 14, 2016, 07:13:45 pm
I did a quick review of the implementation and believe it accomplishes 90% of what I wanted to accomplish. The only thing this doesn't do is dynamically adjust the fee in response to load.

Assuming this gets properly tested I would support integrating it.
Thanks.
It's a bit hard to make it dynamic, so I made a simpler implementation first.
Still testing..
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: TravelsAsia on February 14, 2016, 11:03:04 pm
awesome job!

for your next project ... could you please fork from graphene/develop? that would make it way easier to integrate this into MUSE or the testnet!!!

+5% anyway

 +5%

Great initiative.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: sudo on February 15, 2016, 01:21:11 am
 +5% +5% +5% +5% +5% +5% cool  awesome
I like it  becacuse  I lock my bts 8) 8) 8)
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: twitter on February 15, 2016, 01:45:34 am
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: giant middle finger on February 15, 2016, 04:19:31 am
chinese still pissed off

fees still too expensive

you must send 100 BTC randsom to china or else suffer the wrath of the monkey new year (all chinese dump
all BitShares!)


按百分比计算转账手续费功能,开发完成
只要降低,就支持,降得越低越支持







sarc



actually, props to the red dragon for showing us that we can have our cake and eat it too.

subsidized microtransactions and happy Long Term Members!!
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Musewhale on February 15, 2016, 07:01:35 am
do it  +5% +5% +5%
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: xeroc on February 15, 2016, 07:37:52 am
chinese still pissed off

fees still too expensive

you must send 100 BTC randsom to china or else suffer the wrath of the monkey new year (all chinese dump
all BitShares!)


按百分比计算转账手续费功能,开发完成
只要降低,就支持,降得越低越支持







sarc



actually, props to the red dragon for showing us that we can have our cake and eat it too.

subsidized microtransactions and happy Long Term Members!!
Cool thing is .. we dont need to put this on every asset .. but maybe just USD and CNY .. we can keep BTS transferes (comparable) expensive
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: CLains on February 16, 2016, 01:32:42 pm
+5% +5% Don't know much about coding but you seem to be doing great fast work, abit, well done!

 +5%
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: tbone on February 16, 2016, 04:41:22 pm
@abit:

Great work!  Just wondering if you've made any progress with dynamic adjustment based on load?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on February 16, 2016, 04:44:19 pm
@abit:

Great work!  Just wondering if you've made any progress with dynamic adjustment based on load?
Won't do that in the near future.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: yvv on February 16, 2016, 04:57:54 pm
Still don't get, what is coin days and how is this related to fees?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: pc on February 16, 2016, 05:33:23 pm
Still don't get, what is coin days and how is this related to fees?
If you hold one BTS for one day you have accumulated one coin-day. If you hold two BTS for a day (or one BTS for two days) you have accumulated two coins-days.
The idea is to allow (partial) payment of fees with coin-days instead of BTS. I. e. if you're holding a certain number of BTS for a certain time you can for example make one transaction for free.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Samupaha on February 17, 2016, 02:03:36 pm
I suggest that we will move to Bitshares 2.1 when this feature is released because it is a really big change in the Bitshares blockchain. It will also give a little bit help with marketing – easy way to signal everybody that we are doing something new here.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: bytemaster on February 17, 2016, 02:28:52 pm
I suggest that we will move to Bitshares 2.1 when this feature is released because it is a really big change in the Bitshares blockchain. It will also give a little bit help with marketing – easy way to signal everybody that we are doing something new here.

Good call.  It will be a hard forking change.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Bhuz on February 17, 2016, 02:46:48 pm
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.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: BunkerChainLabs-DataSecurityNode on February 17, 2016, 02:49:18 pm
I suggest that we will move to Bitshares 2.1 when this feature is released because it is a really big change in the Bitshares blockchain. It will also give a little bit help with marketing – easy way to signal everybody that we are doing something new here.

I think it can stand on it's own without a version numbering change.

Given current updates and the proposal for the change, it is likely going to come in at maybe 2.0.2.

I think it would be best to stick to our versioning setup to keep it consistent for all devs.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Thom on February 17, 2016, 04:05:47 pm
Yeah, maybe we are jumping the gun a little with the 2.1 name change.

If anything, this needs to be put to a vote.


I concur on both points completely. If we deviate from the publicized version convention moves out of the technical arena an into marketing. In that arena the shareholders not CNX should be the "deciders".

Who owns this project anyways? Lets get in the habit asking that question more often and challenging centralized decisions.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Akado on February 17, 2016, 04:55:54 pm
So this is being developed already? What are the costs? I know the feedback was very positive but it still needs to go through the voting process.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Erlich Bachman on February 17, 2016, 05:46:06 pm
Because we have the highest barrier to entry (must have BTS to create a wallet that costs money), we must have free (rate limited) transactions to make up for the initial ridiculousness.

Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Thom on February 17, 2016, 06:31:04 pm
Dang, you didn't have to be rude.

Everyone knows that Dan works for us, but you don't have to rub his nose in it all the time

You  and I may know that, but not everyone is as tuned in as we are. Perhaps it was a but forceful but it's threads like this that erode the public's perception of BitShares governance not being centralized.

We need to deeply internalize the concept of decentralization such that it exudes from everything we do and say. So I disagree, we DO need to keep pushing this in anyone's face that doesn't first ask, "What do the shareholders want?"  It's a metter of PR & marketing.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on February 17, 2016, 07:24:49 pm
So this is being developed already? What are the costs? I know the feedback was very positive but it still needs to go through the voting process.
You bid?  8)

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.
I just don't like to do that right now. A bit complex but not impossible. Whales is likely to lease they coin-days to others so the platform will earn less if this is implemented. If somebody jumps out and say "hey I pay you to do it" maybe I'll do it.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Samupaha on February 18, 2016, 04:02:51 pm
Come on people, we can't repeat again all the marketing mistakes we always do.

When (or if) this will be rolled out, everybody should be marketing in any way they can. Version number will be changed to 2.1 to signal that Bitshares has been changed in a major way. This is not even a cheap gimmick but totally true. After this change Bitshares will become somewhat usable for projects that need micropayments. And Bitshares can be used all over the world, even in poor countries where people can't afford to pay our current fees. This will be first economically viable option for third world countries – with smartcoins this is a huge opportunity for billions of people.

All the basic things have to be done:
- Information on the website: main page, technology overview page and blog
- Press release
- Try to get Bytemaster to as many podcasts as possible
- Pictures to be shared on social media
- etc, add your own

Let's not fail again and keep a new feature as our own secret. Hasn't anybody been wondering why FBA isn't getting any traction? Because nobody knows about it. There's not even a mention about FBA in the website!

I'd like to see some marketing budget to be included in the worker proposal, for example for a short video that explains clearly how Bitshares will function from now on. This revolutionary feature has to be understood, otherwise people won't get interested and won't care.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: xeroc on February 18, 2016, 04:26:04 pm
How about a codename for this hard fork: "Fast Forward"?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: noisy on February 18, 2016, 07:13:46 pm
I'd like to see some marketing budget to be included in the worker proposal, for example for a short video that explains clearly how Bitshares will function from now on. This revolutionary feature has to be understood, otherwise people won't get interested and won't care.

I totaly agree!

To everyone who cares about marketing

We already got an offer. Hypercube wrote here (https://bitsharestalk.org/index.php/topic,21301.0.html) that he is able to prepare such video, but he needs some funding. I wrote to him, that he should create a worker proposal, then he wrote:

To be honest, I doubt there's enough interest.
We'll need to raise thousands to make this happen. With just 9 replies 3 retweets and 375 views....  in two weeks.

So... if we want to have a proper video campain, we have to say that at loud to someone who can prepare such video! Please give @Hypercube some feedback in  his thread (https://bitsharestalk.org/index.php/topic,21301.0.html)
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Samupaha on February 19, 2016, 03:05:28 pm
I think it would be best if there is not a separate worker proposal for marketing video but instead some part of the actual worker proposal funds for this feature would be pointed for the video. We could probably also raise some sum with donations, at least I could give something like $20 for this.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Akado on March 07, 2016, 11:20:19 am
How will referrers like OpenLedger be affected by these type of fees? Their revenue coming from this will be significantly lower.

A business shouldn't rely solely on that but it's one less revenue stream.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on March 07, 2016, 11:31:15 am
How will referrers like OpenLedger be affected by these type of fees? Their revenue coming from this will be significantly lower.

A business shouldn't rely solely on that but it's one less revenue stream.
If I remembered correctly Ronny of OpenLedger welcomes this feature. Someone can help check again. Lower fees sometimes means more users, so maybe better combined results.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Thom on March 07, 2016, 12:55:31 pm
How will referrers like OpenLedger be affected by these type of fees? Their revenue coming from this will be significantly lower.

A business shouldn't rely solely on that but it's one less revenue stream.
If I remembered correctly Ronny of OpenLedger welcomes this feature. Someone can help check again. Lower fees sometimes means more users, so maybe better combined results.

If so I couldn't find it searching over the last 2 months using keyword "fee" and member ccedk.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Akado on March 07, 2016, 01:29:46 pm
How will referrers like OpenLedger be affected by these type of fees? Their revenue coming from this will be significantly lower.

A business shouldn't rely solely on that but it's one less revenue stream.
If I remembered correctly Ronny of OpenLedger welcomes this feature. Someone can help check again. Lower fees sometimes means more users, so maybe better combined results.

I agree, but it does kill the referral program right? It makes it a little bit useless now, not 100% sure, but it's possible revenues get severely restricted right?

I actually prefer it this way, I just want to know because of the rate limited fees BSIP. I havent got much time lately, was sick and only managed to get an introduction. Need more info on this kind of stuff, even though I think I won't be able to pull it off due to lack of time. I'll just try making what I can and have someone else complete it.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: abit on March 07, 2016, 06:30:42 pm
How will referrers like OpenLedger be affected by these type of fees? Their revenue coming from this will be significantly lower.

A business shouldn't rely solely on that but it's one less revenue stream.
If I remembered correctly Ronny of OpenLedger welcomes this feature. Someone can help check again. Lower fees sometimes means more users, so maybe better combined results.

If so I couldn't find it searching over the last 2 months using keyword "fee" and member ccedk.
I remember he said it in Telegram BitShares channel. Perhaps I'm wrong though.

How will referrers like OpenLedger be affected by these type of fees? Their revenue coming from this will be significantly lower.

A business shouldn't rely solely on that but it's one less revenue stream.
If I remembered correctly Ronny of OpenLedger welcomes this feature. Someone can help check again. Lower fees sometimes means more users, so maybe better combined results.

I agree, but it does kill the referral program right? It makes it a little bit useless now, not 100% sure, but it's possible revenues get severely restricted right?

I actually prefer it this way, I just want to know because of the rate limited fees BSIP. I havent got much time lately, was sick and only managed to get an introduction. Need more info on this kind of stuff, even though I think I won't be able to pull it off due to lack of time. I'll just try making what I can and have someone else complete it.
Thanks for your efforts.  :D

In regards to the referral program, I had same feeling at the very beginning. However from a technical POV, I managed to put my efforts on developing it, IMO stake holders can always decide whether to use it, or how to use it. See this post:

Just one thing, you built the referral program, don't try to kill it.

I'm not trying to kill it. Just give BTS more flexibility in how to use it.
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Akado on July 07, 2016, 09:42:03 am
I've been away, has this been done and currently live on chain?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: xeroc on July 07, 2016, 11:14:30 am
I've been away, has this been done and currently live on chain?
Nop ..
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: Akado on July 07, 2016, 10:32:42 pm
I've been away, has this been done and currently live on chain?
Nop ..

Huum, but didn't @abit code it? What's missing here? Tests? Or is it because we need a hard fork?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: xeroc on July 08, 2016, 08:35:36 am
a) We need a hard fork
b) there are some issues with it that make the code messy (iirc)
c) we need someone to properly audit the code
d) there is no money to pay any of the points above .. yet
e) If you think about it .. it may make sense to have a way more powerfull fee structure .. for instance, ideally bitUSD can be transfered for free, while stock shares shouldn't ..
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: fuzzy on July 08, 2016, 09:12:04 am
It will be another powerful tool in our toolbox :)

 +5%

(testing)
#sharebits "abit" 1 SILVERTICKET
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: btswildpig on July 08, 2016, 12:08:31 pm
a) We need a hard fork
b) there are some issues with it that make the code messy (iirc)
c) we need someone to properly audit the code
d) there is no money to pay any of the points above .. yet
e) If you think about it .. it may make sense to have a way more powerfull fee structure .. for instance, ideally bitUSD can be transfered for free, while stock shares shouldn't ..

what are you thinking , charging BTS on stocks or charging stocks on stocks ?
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: xeroc on July 08, 2016, 03:18:45 pm
what are you thinking , charging BTS on stocks or charging stocks on stocks ?
The network takes BTS .. the issuer can decide to allow its holders to pay in stock via the fee pool ..
still .. for some assets it makes sense to have a 0 fee .. while for others it does not .. that's all I am trying to say
Title: Re: Rate Limited Free Transactions Feature Implemented
Post by: btstip on July 12, 2016, 07:49:32 am
Hey fuzzy, here are the results of your tips...
Curious about ShareBits? Visit us at http://sharebits.co and start tipping BTS on https://bitsharestalk.org/ today!
Source: https://bitsharestalk.org/index.php/topic,21462.msg295943/topicseen.html#msg295943
Created by hybridd (https://bitsharestalk.org/index.php?action=profile;u=40140)