Author Topic: Rate Limited Fees. Transcript from the Hangout  (Read 5479 times)

0 Members and 1 Guest are viewing this topic.

Offline Thom

Just for the record the "somebody else" references in the transcript are from me. Maybe not all, not sure. Transcriber hopefully could differentiate different voices and use a unique label for each one.

No offence intended. What matters is the content I guess, sorry if you didn't like it.

No no. No offense taken! Thx for taking the initiative!
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline Akado

  • Hero Member
  • *****
  • Posts: 2752
    • View Profile
  • BitShares: akado
Just for the record the "somebody else" references in the transcript are from me. Maybe not all, not sure. Transcriber hopefully could differentiate different voices and use a unique label for each one.

No offence intended. What matters is the content I guess, sorry if you didn't like it.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Thom

Just for the record the "somebody else" references in the transcript are from me. Maybe not all, not sure. Transcriber hopefully could differentiate different voices and use a unique label for each one.

I just went back a briefly reviewed the recording GChicken provided, which was a raw, unedited version, probably not the same as what Akado transcribed from.  I think Akado got the jest of the convo, but I would call this a "paraphrased transcript". Thanks Akado for taking the time to do this.
« Last Edit: February 11, 2016, 02:01:25 am by Thom »
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline clemahieu

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
    • RaiBlocks
We call this index "receivables" and it's a multimap of {receiver} -> {source}.  The receiver uses the database to do this lookup efficiently, once the transaction is received the index in receivables is deleted.

I think the main advantage of one chain per account is there are no accidental ambiguity in operation order.  If B -> A and C -> A are published simultaneously, A decides the linear order of the changes, relieving the network needing to determining consensus of an ambiguous situation.
RaiBlocks - Instant confirmation, no fees. https://raiblocks.net/

Offline bytemaster

KISS - an acronym that bitshares needs to learn to apply

Instead we are more MICAHI...

That's funny, that's our tagline :)

'We've applied the philosophy of "Do one thing and do it well", giving you performance and scalability unmatched by any other platform.'

though i agree to a certain level...i also think people are impatient.  most people who know a little about coding will tell you it is riddled with unexpected turns of events.  and our dreams are big...that is true, but i think, @lil_jay890 it has some great benefits to be so broad thinking.  though i can also see the point that do one thing and do it well is necessary, i also am very proud to say bitshares already has one thing it does in unparalleled fashion: tx speed & scalability.  :)

This is saying nothing of sexiness IOTA could bring...hehe.

Understood, as a c++ compiler engineer myself, performance is near and dear to my heart.

One thing I noticed with the BTS 2.0 document was [embracing the inherently single threaded nature of a blockchain].  With RaiBlocks we broke the ledger in to a graph where each account manages their own chain; essentially each account can have its own thread because its impossible for their transactions to conflict.  We found an incredible degree of scalability by making this modification to the traditional blockchain concept.

Do you see BTS 3.0 as making a similar performance enhancement?

If only everything were as simple as currency transfers. The model of blockchain-per-account is extremely elegant but makes designing applications much more complex.

It seems like it applies to any situation where signing key can perform operations.

A transfers to B... if I understand the concept then A creates a new output that B can claim. 

From a blockchain perspective, that "lock" that the threads will be contending over is called the heap. Also for A to know about B there must be an index that maps all outputs by keys... or A must scan all outputs linearly.

It is the index on the data that is hardest to resolve.  In other words, the only thing chain-per-account does is post-pone reconciliation and any other calculations that must be performed based on the intersection of A and B.

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 clemahieu

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
    • RaiBlocks
KISS - an acronym that bitshares needs to learn to apply

Instead we are more MICAHI...

That's funny, that's our tagline :)

'We've applied the philosophy of "Do one thing and do it well", giving you performance and scalability unmatched by any other platform.'

though i agree to a certain level...i also think people are impatient.  most people who know a little about coding will tell you it is riddled with unexpected turns of events.  and our dreams are big...that is true, but i think, @lil_jay890 it has some great benefits to be so broad thinking.  though i can also see the point that do one thing and do it well is necessary, i also am very proud to say bitshares already has one thing it does in unparalleled fashion: tx speed & scalability.  :)

This is saying nothing of sexiness IOTA could bring...hehe.

Understood, as a c++ compiler engineer myself, performance is near and dear to my heart.

One thing I noticed with the BTS 2.0 document was [embracing the inherently single threaded nature of a blockchain].  With RaiBlocks we broke the ledger in to a graph where each account manages their own chain; essentially each account can have its own thread because its impossible for their transactions to conflict.  We found an incredible degree of scalability by making this modification to the traditional blockchain concept.

Do you see BTS 3.0 as making a similar performance enhancement?

If only everything were as simple as currency transfers. The model of blockchain-per-account is extremely elegant but makes designing applications much more complex.

It seems like it applies to any situation where signing key can perform operations.
RaiBlocks - Instant confirmation, no fees. https://raiblocks.net/

Offline bytemaster

KISS - an acronym that bitshares needs to learn to apply

Instead we are more MICAHI...

That's funny, that's our tagline :)

'We've applied the philosophy of "Do one thing and do it well", giving you performance and scalability unmatched by any other platform.'

though i agree to a certain level...i also think people are impatient.  most people who know a little about coding will tell you it is riddled with unexpected turns of events.  and our dreams are big...that is true, but i think, @lil_jay890 it has some great benefits to be so broad thinking.  though i can also see the point that do one thing and do it well is necessary, i also am very proud to say bitshares already has one thing it does in unparalleled fashion: tx speed & scalability.  :)

This is saying nothing of sexiness IOTA could bring...hehe.

Understood, as a c++ compiler engineer myself, performance is near and dear to my heart.

One thing I noticed with the BTS 2.0 document was [embracing the inherently single threaded nature of a blockchain].  With RaiBlocks we broke the ledger in to a graph where each account manages their own chain; essentially each account can have its own thread because its impossible for their transactions to conflict.  We found an incredible degree of scalability by making this modification to the traditional blockchain concept.

Do you see BTS 3.0 as making a similar performance enhancement?

If only everything were as simple as currency transfers. The model of blockchain-per-account is extremely elegant but makes designing applications much more complex.
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 bytemaster

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 CLains

  • Hero Member
  • *****
  • Posts: 2606
    • View Profile
  • BitShares: clains
Great! Just the part I wanted to see transcribed :D

Offline clemahieu

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
    • RaiBlocks
KISS - an acronym that bitshares needs to learn to apply

Instead we are more MICAHI...

That's funny, that's our tagline :)

'We've applied the philosophy of "Do one thing and do it well", giving you performance and scalability unmatched by any other platform.'

though i agree to a certain level...i also think people are impatient.  most people who know a little about coding will tell you it is riddled with unexpected turns of events.  and our dreams are big...that is true, but i think, @lil_jay890 it has some great benefits to be so broad thinking.  though i can also see the point that do one thing and do it well is necessary, i also am very proud to say bitshares already has one thing it does in unparalleled fashion: tx speed & scalability.  :)

This is saying nothing of sexiness IOTA could bring...hehe.

Understood, as a c++ compiler engineer myself, performance is near and dear to my heart.

One thing I noticed with the BTS 2.0 document was [embracing the inherently single threaded nature of a blockchain].  With RaiBlocks we broke the ledger in to a graph where each account manages their own chain; essentially each account can have its own thread because its impossible for their transactions to conflict.  We found an incredible degree of scalability by making this modification to the traditional blockchain concept.

Do you see BTS 3.0 as making a similar performance enhancement?
« Last Edit: February 10, 2016, 06:47:31 am by clemahieu »
RaiBlocks - Instant confirmation, no fees. https://raiblocks.net/

Offline fuzzy

KISS - an acronym that bitshares needs to learn to apply

Instead we are more MICAHI...

That's funny, that's our tagline :)

'We've applied the philosophy of "Do one thing and do it well", giving you performance and scalability unmatched by any other platform.'

though i agree to a certain level...i also think people are impatient.  most people who know a little about coding will tell you it is riddled with unexpected turns of events.  and our dreams are big...that is true, but i think, @lil_jay890 it has some great benefits to be so broad thinking.  though i can also see the point that do one thing and do it well is necessary, i also am very proud to say bitshares already has one thing it does in unparalleled fashion: tx speed & scalability.  :)

This is saying nothing of sexiness IOTA could bring...hehe.
WhaleShares==DKP; BitShares is our Community! 
ShareBits and WhaleShares = Love :D

Offline btstip

  • Hero Member
  • *****
  • Posts: 644
    • View Profile
  • BitShares: btstip-io
Hey fuzzy, here are the results of your tips...
  • Akado: has been credited 25 COPPERTICKET
Curious about ShareBits? Visit us at http://sharebits.io and start tipping BTS on https://bitsharestalk.org/ today!
Created by hybridd

Offline fuzzy

I think it's a more appropriate way to call it. As Dan said, nothing's really free, it's just rate limited. Some parts I couldn't get, etiher because I didn't understand or because they were cut or caused by Mumble issues where it wasn't clear. I still think it can get you an idea of what it is. Whoever is "someone else" sorry for not knowing who you are lol I don't recall who it is, sorry.

Starts at 22:50


Bytemaster: Could we imagine a scenario where the blockchain had no fees, at all? And instead all accounts were rate limited, proportional to their balance?

Fuzzy: What do you mean rate limited? As far as...

Bytemaster: As far as viewing your BitShares as owning a percentage of the available network capacity. So someone who owns 1% of the BitShares [network], could consume 1% of the network capacity

Fuzzy: So kinda like miners and mining pools?

Bytemaster: Completely unrelated to that.

Fuzzy: You're talking about like the network capacity as far as, what would someone get for having 1% of the network capacity, would they be able the chance the fees according to what.. like a service.. [interrupted]

Bytemaster: There are no fees. Imagine a system where, if you own 1%, you can consume 1% of every block, worst case. Think of it another way, imagine it's a... everyone's doing timeshare on the blockchain space and everyone who owns shares can consume some of the blockchain's space when they want to do a transaction and with this method no one will be able to flood the network because they can consume their allotted allocation of the bandwidth but not everyone wants to use the network at the same time so the network can support regular users transacting more or less whenever they want. The only thing it won't allow you to do is to flood the network with a large amount [of transactions].

Fuzzy: How would the profitability be found there?

Bytemaster: Profitability comes from network effect more than anything else. The tiny little amounts that we're collecting in fees are insignificant to (last/lost?) network effect and our complexity.

Someone else: How do witnesses get paid?

Bytemaster: Same way they do now, with dilution.

Fuzzy: But it would always dilute instead of burning any?

Bytemaster: Yes. Effectively recognizing the fact we could create and exchange that had no fees gets (didn't get this word, "something" abused?) and is completely decentralized and where people would come and use the exchange if we wanted to have some fees on market orders and that would be our only fee source, we could do that, versus right now we have people saying "Hey I don't want to build on your exchange" because people don't like paying a fraction of a cent to cancel their order.

Someone else (Data?): What would happen if a group of whales got together to absorb a lot of bandwidth would that be able to lock out people with very small amounts of shares in the network from transacting or would slow them down?

Bytemaster: There are algorithms that we can use to make sure that people who transact in a (missing this word. mile?) have more weight. Basically you make a proportional to coin days accumulated. Someone with a small balance that doesn't transact but once a week would be like someone with one seventh of that balance transacting everyday.

Fuzzy: Makes sense. The more you use it the less priority you have.

Bytemaster: Correct. We can do certain things like penalizing people for (missed this part. Use) high loads and automatic scaling of the fees. The goal here would be to create a system that has lower costs in terms of committee oversight, allows you to advertise free [fees?] -
Nothing in life is really free, anything it's advertised as free is fundamentally rate limited - allows people to use the network and we don't have to put fees in people's faces all the time,

Someone else(Data?: By the way, what role would the committee have in a "feeless" scheme like this?

Bytemaster: Controlling block size, block intervals, maintenance intervals(?). Mechanics. Committee members would make far less frequent discussion. If you want to change market fees that might be the only fee you would discuss, but such a system would get BitShares one step closer to having the same user experience as a centralized exchange.

Someone else: Would this be mostly for transactions? For example, creating an asset is still gonna cost a fee right?

Bytemaster: True. Anything that's scarce like that... One is bandwidth which is transient and the other is real estate which is permanent, so account names and asset symbols would still have fees associated with them.

Someone else: Would the committee account still be potentially adjusting smartcoin parameters, fee collecting (missing something here)?

Bytemaster: Yes

Someone else: And what would this do to the upcoming STEALTH feature? I mean obviously this isn't gonna happen at the time STEALTh is introduced but envisioning in the future, how would that impact situations like STEALTH?

Bytemaster: So STEALTH is something where the network doesn't know the balance so a fee still has to be charged. It wouldn't eliminate all fees but it would the majority of fees that people are complaining about.

Someone else: And I guess the other question is how does it impact the registration incentives, referral programs?

Bytemaster: Right now the referral program is set up to be based on fees, a percentage of future fees. That creates incentives to sign up users. We can still have fees but we can choose where and when and how much to charge fees versus right now we have to charge fees on absolutely everything in order to prevent spam. Look at it as an alternative minimum fee to prevent spam, allowing the committee to pick and choose where you actually want to charge users and where you don't want to charge users. So there's the new proposal for percentage based transfer fees that abit's been working on. I think that charging people for transfers proportional to the value of the transfer is great.
I think for low value transfers you can get rid of the minimum cause we have an alternative way of charging people for small amounts so there would have to be no minimum fee for the percentage base transfers which would leave us only with the percentage + maximum. It gives us more options in our toolbox and can allow micro payments as long as you don't flood the network with them and things like that.

Fuzzy: Does that answer your question?

Someone else: Fee backed assets would also be affected I guess in the same way STEALTH is...

Bytemaster: Correct. So someone says, a big whale can continuously flood the network. Well there's too things here: 1, the network will (couldn't get this part, there's an interruption) fraction of the available capacity. So if we're able to do a thousand transactions per second, anything over a hundred transactions per second will start to have very high fees, Basically would consume the user's transaction power, very rapidly. So a whale who attempts to flood will quickly get rate limited without rate limiting the smaller parties who transact plus frequently? ...(missed this part) Transacting constantly has power proportional to their stake, as time approaches zero but so he transacts only once a week, well they've got seven times the transaction power when they do transact, because they didn't transact for an entire week. For a whale who attempts to save their transactions power for a year and then flood the network all at once it also rapidly depletes . There are algorithms available to prevent abuse. effectively if the network is fully loaded everyone gets to transact proportional to their stake. So someone who has 1% of the network can transact 1% of the time.

Someone else: That's basically a function of magnitude and time together.

Bytemaster: Correct. So a whale would not be able to consume every single block because non whales save up until they get priority over a whale. So it's kinda like if you use the mining analogy the low power miners periodically get a chance to produce a block and a high power miner might produce more frequently but the ratio is always proportional to the actual take.

Ends at 35:20. There's more stuff after but I got to go sleep now lol

thanks for this man.  always awesome to see community members going above and beyond. 

#sharebits "Akado" 25 COPPERTICKET
WhaleShares==DKP; BitShares is our Community! 
ShareBits and WhaleShares = Love :D

Offline clemahieu

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
    • RaiBlocks
KISS - an acronym that bitshares needs to learn to apply

Instead we are more MICAHI...

That's funny, that's our tagline :)

'We've applied the philosophy of "Do one thing and do it well", giving you performance and scalability unmatched by any other platform.'
RaiBlocks - Instant confirmation, no fees. https://raiblocks.net/

Offline lil_jay890

  • Hero Member
  • *****
  • Posts: 1197
    • View Profile
KISS - an acronym that bitshares needs to learn to apply

Instead we are more MICAHI...

Offline clemahieu

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
    • RaiBlocks
We use a small piece of proof of work, ~5 seconds, created by the transaction publisher to rate limit network traffic.  Combined with the fact that we use a UDP network instead of TCP network traffic is highly minimized.
RaiBlocks - Instant confirmation, no fees. https://raiblocks.net/

Offline Akado

  • Hero Member
  • *****
  • Posts: 2752
    • View Profile
  • BitShares: akado
I think it's a more appropriate way to call it. As Dan said, nothing's really free, it's just rate limited. Some parts I couldn't get, etiher because I didn't understand or because they were cut or caused by Mumble issues where it wasn't clear. I still think it can get you an idea of what it is. Whoever is "someone else" sorry for not knowing who you are lol I don't recall who it is, sorry.

Starts at 22:50


Bytemaster: Could we imagine a scenario where the blockchain had no fees, at all? And instead all accounts were rate limited, proportional to their balance?

Fuzzy: What do you mean rate limited? As far as...

Bytemaster: As far as viewing your BitShares as owning a percentage of the available network capacity. So someone who owns 1% of the BitShares [network], could consume 1% of the network capacity

Fuzzy: So kinda like miners and mining pools?

Bytemaster: Completely unrelated to that.

Fuzzy: You're talking about like the network capacity as far as, what would someone get for having 1% of the network capacity, would they be able the chance the fees according to what.. like a service.. [interrupted]

Bytemaster: There are no fees. Imagine a system where, if you own 1%, you can consume 1% of every block, worst case. Think of it another way, imagine it's a... everyone's doing timeshare on the blockchain space and everyone who owns shares can consume some of the blockchain's space when they want to do a transaction and with this method no one will be able to flood the network because they can consume their allotted allocation of the bandwidth but not everyone wants to use the network at the same time so the network can support regular users transacting more or less whenever they want. The only thing it won't allow you to do is to flood the network with a large amount [of transactions].

Fuzzy: How would the profitability be found there?

Bytemaster: Profitability comes from network effect more than anything else. The tiny little amounts that we're collecting in fees are insignificant to (last/lost?) network effect and our complexity.

Someone else: How do witnesses get paid?

Bytemaster: Same way they do now, with dilution.

Fuzzy: But it would always dilute instead of burning any?

Bytemaster: Yes. Effectively recognizing the fact we could create and exchange that had no fees gets (didn't get this word, "something" abused?) and is completely decentralized and where people would come and use the exchange if we wanted to have some fees on market orders and that would be our only fee source, we could do that, versus right now we have people saying "Hey I don't want to build on your exchange" because people don't like paying a fraction of a cent to cancel their order.

Someone else (Data?): What would happen if a group of whales got together to absorb a lot of bandwidth would that be able to lock out people with very small amounts of shares in the network from transacting or would slow them down?

Bytemaster: There are algorithms that we can use to make sure that people who transact in a (missing this word. mile?) have more weight. Basically you make a proportional to coin days accumulated. Someone with a small balance that doesn't transact but once a week would be like someone with one seventh of that balance transacting everyday.

Fuzzy: Makes sense. The more you use it the less priority you have.

Bytemaster: Correct. We can do certain things like penalizing people for (missed this part. Use) high loads and automatic scaling of the fees. The goal here would be to create a system that has lower costs in terms of committee oversight, allows you to advertise free [fees?] -
Nothing in life is really free, anything it's advertised as free is fundamentally rate limited - allows people to use the network and we don't have to put fees in people's faces all the time,

Someone else(Data?: By the way, what role would the committee have in a "feeless" scheme like this?

Bytemaster: Controlling block size, block intervals, maintenance intervals(?). Mechanics. Committee members would make far less frequent discussion. If you want to change market fees that might be the only fee you would discuss, but such a system would get BitShares one step closer to having the same user experience as a centralized exchange.

Someone else: Would this be mostly for transactions? For example, creating an asset is still gonna cost a fee right?

Bytemaster: True. Anything that's scarce like that... One is bandwidth which is transient and the other is real estate which is permanent, so account names and asset symbols would still have fees associated with them.

Someone else: Would the committee account still be potentially adjusting smartcoin parameters, fee collecting (missing something here)?

Bytemaster: Yes

Someone else: And what would this do to the upcoming STEALTH feature? I mean obviously this isn't gonna happen at the time STEALTh is introduced but envisioning in the future, how would that impact situations like STEALTH?

Bytemaster: So STEALTH is something where the network doesn't know the balance so a fee still has to be charged. It wouldn't eliminate all fees but it would the majority of fees that people are complaining about.

Someone else: And I guess the other question is how does it impact the registration incentives, referral programs?

Bytemaster: Right now the referral program is set up to be based on fees, a percentage of future fees. That creates incentives to sign up users. We can still have fees but we can choose where and when and how much to charge fees versus right now we have to charge fees on absolutely everything in order to prevent spam. Look at it as an alternative minimum fee to prevent spam, allowing the committee to pick and choose where you actually want to charge users and where you don't want to charge users. So there's the new proposal for percentage based transfer fees that abit's been working on. I think that charging people for transfers proportional to the value of the transfer is great.
I think for low value transfers you can get rid of the minimum cause we have an alternative way of charging people for small amounts so there would have to be no minimum fee for the percentage base transfers which would leave us only with the percentage + maximum. It gives us more options in our toolbox and can allow micro payments as long as you don't flood the network with them and things like that.

Fuzzy: Does that answer your question?

Someone else: Fee backed assets would also be affected I guess in the same way STEALTH is...

Bytemaster: Correct. So someone says, a big whale can continuously flood the network. Well there's too things here: 1, the network will (couldn't get this part, there's an interruption) fraction of the available capacity. So if we're able to do a thousand transactions per second, anything over a hundred transactions per second will start to have very high fees, Basically would consume the user's transaction power, very rapidly. So a whale who attempts to flood will quickly get rate limited without rate limiting the smaller parties who transact plus frequently? ...(missed this part) Transacting constantly has power proportional to their stake, as time approaches zero but so he transacts only once a week, well they've got seven times the transaction power when they do transact, because they didn't transact for an entire week. For a whale who attempts to save their transactions power for a year and then flood the network all at once it also rapidly depletes . There are algorithms available to prevent abuse. effectively if the network is fully loaded everyone gets to transact proportional to their stake. So someone who has 1% of the network can transact 1% of the time.

Someone else: That's basically a function of magnitude and time together.

Bytemaster: Correct. So a whale would not be able to consume every single block because non whales save up until they get priority over a whale. So it's kinda like if you use the mining analogy the low power miners periodically get a chance to produce a block and a high power miner might produce more frequently but the ratio is always proportional to the actual take.

Ends at 35:20. There's more stuff after but I got to go sleep now lol
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads