elective-stereophonic
elective-stereophonic
Can we vote whether lower the transaction fee?
Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest Stable Nxt Client: Nxt 1.12.1 Upgrade before block 2870000 is mandatory!

Pages: 1 ... 5 6 [7]  All

Author Topic: Can we vote whether lower the transaction fee?  (Read 23670 times)

coretechs

  • Sr. Member
  • ****
  • Karma: +161/-1
  • Offline Offline
  • Posts: 436
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #120 on: July 27, 2015, 04:11:40 pm »

Maybe we could make the limit per-block rather than per-account. Say no more than 1/16th of the block (currently 15 transactions) can be low-fee transactions. That would limit the long term damage a cheap attack could produce.

If Nxt is at all successful, we're going to have to deal with large block-chain sizes sooner or later.

In that case the attack only costs a few high-fee txs for the attacker.




An account like NXT-8MVA-XCVR-3JC9-2C7C3 is unaffected by higher-fee transactions, e.g. the 1000 NXT cost for issuing an asset.  They could issue thousands of new aliases/assets/currencies every day and squat the entire namespace for 3-4-5 letter codes if they wanted, for *free*.  Whether this is viewed as a flaw or a feature depends on how you view Nxt.  Large stakeholders own the right to send lots of transactions, as they should.  They can abuse it, we just hope there is enough of a market incentive for them to behave rationally as we don't have any built-in reputation-based solutions.

Ideally the tx fees would track with the market value of Nxt, but that is a very difficult problem because there is no good way to determine what a "real/official" market price is, let alone agree on and set it.  I think in the long run we should assume that most blocks will always be entirely filled by forgers who provide a second tier transaction market as suggested earlier.  That is the only way I can see transaction fees adjusting with the market value of NXT, assuming that in most cases the large forgers necessarily believe in a future value of NXT tokens.  The cost for them to send transactions is the same (free) no matter what the market price, and they have the ability to pass that through to users.

Perhaps we could use forging pools as a way to do this.  Lease your balance to an account, and any blocks forged by that account will send you back a portion of the tx fees collected from your transactions.  Then everyone is incentivized to lease out their balances and send transactions whenever their pool is about to forge a block.  The pool could offer a service to include signed txs that are sent directly, or the user can just wait until their pool is up to forge.  This looks more like DPoS without forced participation.
Logged
https://ardorportal.org - Ardor blockchain explorer | https://nxtportal.org - Nxt blockchain explorer | http://bitcoindoc.com - The Rise and Rise of Bitcoin
ARDOR-T43P-R2K9-8W79-9W2AL | NXT-WY9K-ZMTT-QQTT-3NBL7

v39453

  • Full Member
  • ***
  • Karma: +12/-2
  • Offline Offline
  • Posts: 155
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #121 on: July 27, 2015, 05:03:58 pm »

A transaction from an account that has had no activity for a while could have a lower fee. This would be similar to Bitcoin, where transactions with old inputs are free. It could also be a sliding scale: the longer the account is inactive, the lower the fee for the next transaction becomes.

Good idea, but I'm not sure if this technically is going to work. The forging node must determine the age of the last tx for every account in the unconfirmed txs, wouldn't that put much more workload on the node?
It should be cheap enough to store the block height of the most recent transaction with the account that made it, along with the account name, balance and all its other properties. It's just a few bytes, and the account needs to be loaded to check the balance anyway. However, it has the usual problem that attackers can create very many accounts.

An attacker could create many accounts either cheaply and slowly, or quickly and by paying the full fee for each account created.

I'm not aware of anyone using Bitcoin's free transaction feature for spamming.
Logged

Brangdon

  • Hero Member
  • *****
  • Karma: +229/-25
  • Offline Offline
  • Posts: 1389
  • Quality is addictive.
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #122 on: July 27, 2015, 07:58:12 pm »

Maybe we could make the limit per-block rather than per-account. Say no more than 1/16th of the block (currently 15 transactions) can be low-fee transactions. That would limit the long term damage a cheap attack could produce.

If Nxt is at all successful, we're going to have to deal with large block-chain sizes sooner or later.

In that case the attack only costs a few high-fee txs for the attacker.
I don't see why a per-block limit makes that worse. What I suggested limits the harm done by low-fee spam without making it any more likely.

The various suggestions here can be combined:
  • No more than 1/16th of any block can be low-fee transactions.
  • No more than 8 low-fee transactions per account per 1440 blocks.
  • Creating new accounts is kept expensive (possible more so than today).
Logged

TheCoinWizard

  • Hero Member
  • *****
  • Karma: +97/-55
  • Offline Offline
  • Posts: 614
  • Learn by questioning everything!
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #123 on: July 27, 2015, 09:02:46 pm »

Logged
Welcome to the After Nxt Calendar era...
Which started in the year 222 of the French Republic, Frost month, on the fifth day of the first week, better known as the 2456621th Julian day,
even better known as 24 November 2013 at 12:00:00 UTC.

coretechs

  • Sr. Member
  • ****
  • Karma: +161/-1
  • Offline Offline
  • Posts: 436
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #124 on: July 28, 2015, 01:59:21 am »

Maybe we could make the limit per-block rather than per-account. Say no more than 1/16th of the block (currently 15 transactions) can be low-fee transactions. That would limit the long term damage a cheap attack could produce.

If Nxt is at all successful, we're going to have to deal with large block-chain sizes sooner or later.

In that case the attack only costs a few high-fee txs for the attacker.

I don't see why a per-block limit makes that worse. What I suggested limits the harm done by low-fee spam without making it any more likely.

The various suggestions here can be combined:
  • No more than 1/16th of any block can be low-fee transactions.
  • No more than 8 low-fee transactions per account per 1440 blocks.
  • Creating new accounts is kept expensive (possible more so than today).

But aren't the majority of transactions low-fee?  Hard-limiting txs based on type/fee and trying to add other layers of restrictions is likely to introduce problems and complicates the system.  Lowering tx fees means that it becomes inexpensive for anyone to spam attack the network, whereas right now these types of spam attacks are limited to large stakeholders & forging pools.  I'm suggesting that it should stay this way because forgers can already compete to process lower-than-standard fee transactions.  It doesn't require any changes, any forging pool can do this immediately by simply sending back a % of fees for transactions included in blocks that they forge.  I'd be curious to see if users would start sending transactions on a pools forging turn if that pool announced discounted fees in the form of rebates.
Logged
https://ardorportal.org - Ardor blockchain explorer | https://nxtportal.org - Nxt blockchain explorer | http://bitcoindoc.com - The Rise and Rise of Bitcoin
ARDOR-T43P-R2K9-8W79-9W2AL | NXT-WY9K-ZMTT-QQTT-3NBL7

TheCoinWizard

  • Hero Member
  • *****
  • Karma: +97/-55
  • Offline Offline
  • Posts: 614
  • Learn by questioning everything!
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #125 on: July 28, 2015, 02:16:23 am »

But aren't the majority of transactions low-fee?  Hard-limiting txs based on type/fee and trying to add other layers of restrictions is likely to introduce problems and complicates the system.  Lowering tx fees means that it becomes inexpensive for anyone to spam attack the network, whereas right now these types of spam attacks are limited to large stakeholders & forging pools.  I'm suggesting that it should stay this way because forgers can already compete to process lower-than-standard fee transactions.  It doesn't require any changes, any forging pool can do this immediately by simply sending back a % of fees for transactions included in blocks that they forge.



I'd be curious to see if users would start sending transactions on a pools forging turn if that pool announced discounted fees in the form of rebates.
I'd be surprised if forgers would do this openly for you and other forgers to see.
Logged
Welcome to the After Nxt Calendar era...
Which started in the year 222 of the French Republic, Frost month, on the fifth day of the first week, better known as the 2456621th Julian day,
even better known as 24 November 2013 at 12:00:00 UTC.

LocoMB

  • Hero Member
  • *****
  • Karma: +101/-37
  • Offline Offline
  • Posts: 751
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #126 on: July 28, 2015, 04:42:38 am »


Let me throw in a thought here- maybe it does not add up so please shoot it down anybody:

How about having variable transaction fees that are pegged to an external asset?

Like for example always $0.01 or 1 milligram of gold or so?
Logged
TOX
90E54E5B5213290EE616D425CADC473038CFABFA53C913271AA8559D1937DC4AF3A354A9E4E5

futurist

  • Full Member
  • ***
  • Karma: +33/-7
  • Offline Offline
  • Posts: 193
    • View Profile
    • CORE Media
Re: Can we vote whether lower the transaction fee?
« Reply #127 on: July 28, 2015, 05:45:36 am »


Let me throw in a thought here- maybe it does not add up so please shoot it down anybody:

How about having variable transaction fees that are pegged to an external asset?

Like for example always $0.01 or 1 milligram of gold or so?
Not a bad idea. James is currently working on Peggy.

Jean-Luc

  • Core Dev
  • Hero Member
  • *****
  • Karma: +816/-81
  • Offline Offline
  • Posts: 1610
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #128 on: July 28, 2015, 08:18:23 am »

When is Nxt.org going to be fixed?
Logged
GPG key fingerprint: 263A 9EB0 29CF C77A 3D06  FD13 811D 6940 E1E4 240C
NXT-X4LF-9A4G-WN9Z-2R322

Damelon

  • Hero Member
  • *****
  • Karma: +792/-54
  • Offline Offline
  • Posts: 2314
    • View Profile
    • Nxt Inside
Logged
Member of the Nxt Foundation | Donations: NXT-D6K7-MLY6-98FM-FLL5T
Join Nxt Slack! https://nxtchat.herokuapp.com/
Founder of Blockchain Workspace | Personal Site & Blog

Brangdon

  • Hero Member
  • *****
  • Karma: +229/-25
  • Offline Offline
  • Posts: 1389
  • Quality is addictive.
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #130 on: July 28, 2015, 08:46:24 pm »

But aren't the majority of transactions low-fee?
Currently none of them are. By "low fee" I mean 0.1 NXT or 0.01 NXT or whatever we decide is needed to promote use in impoverished countries, and the other use cases that are currently too expensive.

Quote
Hard-limiting txs based on type/fee and trying to add other layers of restrictions is likely to introduce problems and complicates the system.
I can't see a simple solution that works. And this isn't that complicated. We already have different fees for different transaction types, and limits on the number of transactions per block.

Quote
Lowering tx fees means that it becomes inexpensive for anyone to spam attack the network, whereas right now these types of spam attacks are limited to large stakeholders & forging pools.  I'm suggesting that it should stay this way because forgers can already compete to process lower-than-standard fee transactions.  It doesn't require any changes, any forging pool can do this immediately by simply sending back a % of fees for transactions included in blocks that they forge.  I'd be curious to see if users would start sending transactions on a pools forging turn if that pool announced discounted fees in the form of rebates.
To me that is an example of a complicated solution. If I send the transaction to a low-fee forger directly, then I need a whole new system to do that with. I have to decide which system to use. If instead I use the existing network broadcast system, then I need to wait until the right account is likely to forge, and make sure the transaction is broadcast just before it. If for some reason a different account forges, I lose the fees. Either way I somehow need to track which forgers are offering low fees, and what their fees actually are, and trade off cheapness against reliability and expected time delay. If some forgers give low fees only to their preferred MS currency (as I suggested XOS do, in their sub-forum), then I have to track that, too, and make sure I have enough of their currency to conduct my business.

Also, with this approach the transaction rate is massively lowered. Supposing 1% of forgers accept low fees, it takes 100 times as long to get my transaction into a block. The space in the block is limited, especially as for each user transaction there has to be a second transaction returning the fee, so it's effectively 127 useful slots rather than 255. We've actually doubled the bloat, made attacks twice as effective, while halving the useful transactions-per-second figure. If my transaction doesn't make it, I have to wait another 100 blocks or so.

For some of the use-cases we want to promote, timing is important. Changing bids and prices, for example: waiting for the right forger might mean losing more money than the lower fee saved. With no saving the new system becomes pointless and the use-case is not served.

I say 1% of forgers, as a relatively low figure, because I doubt it will be more, because there's no financial incentive for them to do this. They suffer all the costs of losing the fees, and if there is any benefit from increased volume of normal fee transactions, that benefits all forgers, not just the generous ones. A rational forger would let everyone else be generous. It's another tragedy of the commons. Also, even generous forgers might object to the doubling of the block-chain bloat that this low-fee mechanism requires.

None of this is insurmountable, of course. I'm just saying that to me it doesn't seem simple or elegant, either technically or socially.
Logged

lucky88888

  • Hero Member
  • *****
  • Karma: +42/-14
  • Offline Offline
  • Posts: 694
  • NXT-E328-UJDF-KTGH-9C6YQ
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #131 on: July 29, 2015, 12:10:21 am »

i have an idea lets see how you guys think, basically like the title says.

why not we hardcode a bunch of voting options specifically for fee changes where everyone can participate to vote and change the fee structure in realtime.
(counted up and rounded off after each block or 1000 blocks, 10000 blocks etc?). no need to hardfork every time price changes.

but it should cost something per vote to count in order to prevent bad intention votes and to be safe there should be an api that monitor and warns that next fee update will be xxxx amount of nxt per tx.

(eg when everyone is not worrying about the fee and someone with bad intention decided to attack the fee structor by lowering the fees to 0.0000001 and api should warn that nxt fee will be 0.0000001 in xxx blocks, vote now to change! etc)

we could start experiment with 100nxt? per vote count. this way it will cost a lot of nxt in total to change the fee structure and it will be decentralized and it will provide very good forging fees.

this will work nicely as long as we have more active good voter power than the bad voters.
Logged
NXT-E328-UJDF-KTGH-9C6YQ
8897013707391239174

lucky88888

  • Hero Member
  • *****
  • Karma: +42/-14
  • Offline Offline
  • Posts: 694
  • NXT-E328-UJDF-KTGH-9C6YQ
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #132 on: July 29, 2015, 12:23:43 am »


we could start experiment with 100nxt? per vote count. this way it will cost a lot of nxt in total to change the fee structure and it will be decentralized and it will provide very good forging fees.

actually i think the amount of fees to vote for this doesn't matter as long as it is more than 0 because everyone should be able to vote multiple times.
Logged
NXT-E328-UJDF-KTGH-9C6YQ
8897013707391239174

coretechs

  • Sr. Member
  • ****
  • Karma: +161/-1
  • Offline Offline
  • Posts: 436
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #133 on: July 29, 2015, 03:31:36 am »

For some of the use-cases we want to promote, timing is important. Changing bids and prices, for example: waiting for the right forger might mean losing more money than the lower fee saved. With no saving the new system becomes pointless and the use-case is not served.

Good point, the caveat is definitely the delay.  Discounted forging pools only make sense for transactions where a delay is acceptable, such as registering a new asset.

Logged
https://ardorportal.org - Ardor blockchain explorer | https://nxtportal.org - Nxt blockchain explorer | http://bitcoindoc.com - The Rise and Rise of Bitcoin
ARDOR-T43P-R2K9-8W79-9W2AL | NXT-WY9K-ZMTT-QQTT-3NBL7

CryptKeeper

  • Hero Member
  • *****
  • Karma: +78/-5
  • Offline Offline
  • Posts: 1235
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #134 on: July 29, 2015, 06:14:41 am »

Maybe we could make the limit per-block rather than per-account. Say no more than 1/16th of the block (currently 15 transactions) can be low-fee transactions. That would limit the long term damage a cheap attack could produce.

If Nxt is at all successful, we're going to have to deal with large block-chain sizes sooner or later.

In that case the attack only costs a few high-fee txs for the attacker.
I don't see why a per-block limit makes that worse. What I suggested limits the harm done by low-fee spam without making it any more likely.

The various suggestions here can be combined:
  • No more than 1/16th of any block can be low-fee transactions.
  • No more than 8 low-fee transactions per account per 1440 blocks.
  • Creating new accounts is kept expensive (possible more so than today).

IMHO those limits are reasonable and I second your proposal 1 & 3, but not 2, because that doesn't fit with the use case of a money transmitter. As far as I understand the "Africa" use case, there must be a controlling account triggered by SMS which sends around the NXT. This account would not be able to use low-fee txs with your second proposal.
Logged
Follow me on twitter for the latest news on bitcoin and altcoins!
Vanity Accounts Sale :-)

Brangdon

  • Hero Member
  • *****
  • Karma: +229/-25
  • Offline Offline
  • Posts: 1389
  • Quality is addictive.
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #135 on: August 01, 2015, 01:32:51 pm »

  • No more than 1/16th of any block can be low-fee transactions.
  • No more than 8 low-fee transactions per account per 1440 blocks.
  • Creating new accounts is kept expensive (possible more so than today).

IMHO those limits are reasonable and I second your proposal 1 & 3, but not 2, because that doesn't fit with the use case of a money transmitter. As far as I understand the "Africa" use case, there must be a controlling account triggered by SMS which sends around the NXT. This account would not be able to use low-fee txs with your second proposal.
Without (2), (3) is less important. My concern is that without (2), anyone could fill up the low-fee portion of every block easily and cheaply.

If the Africa use case has all the transactions coming from a single account, then the approach coretechs suggested is a bit more practical. If the account has enough NXT to forge, it can include all its transactions in its own blocks for free. This avoids the hassle of transferring transactions around off-chain (since it is already generating the transactions itself), and also avoids doubling the bloat because it doesn't need second transactions to return the fees. It still has the problem of terrible TPS, though. If the account has 1,400,000 NXT it will forge roughly once a day, which means 255 transactions a day.
Logged

Brangdon

  • Hero Member
  • *****
  • Karma: +229/-25
  • Offline Offline
  • Posts: 1389
  • Quality is addictive.
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #136 on: November 14, 2015, 12:59:59 pm »

I hope everyone who cared about this thread is also aware of https://nxtforum.org/core-development-discussion/new-fees-and-size-limits-in-1-7/.
Logged

xiahui135

  • Full Member
  • ***
  • Karma: +15/-11
  • Offline Offline
  • Posts: 150
    • View Profile
Re: Can we vote whether lower the transaction fee?
« Reply #137 on: November 15, 2015, 03:53:27 am »

I hope everyone who cared about this thread is also aware of https://nxtforum.org/core-development-discussion/new-fees-and-size-limits-in-1-7/.

why not make the base fee changeable in the block-chain?
If nxt price go more than 10x higher, the fee is too high. We should prepare for the high price, not to limit the price to go high.

Before, the price is main determined by speculation when people just buy in a centralized exchange. Specutors do not care much about the transation fee, because it will not affect them much.
But we aim to make the price determined by application in future, if nxt will to success. Given this, we need to encourage usage of the our block chain, and lower fee make sense. the fee structure should be low enough, just to prevent abuse.
Logged
Pages: 1 ... 5 6 [7]  All
 

elective-stereophonic
elective-stereophonic
assembly
assembly