tronprotocol / tips

TRON Improvement Proposals
223 stars 192 forks source link

Proposal: Change the free net limit to 1500 #320

Closed vita-coffee closed 3 years ago

vita-coffee commented 3 years ago

Proposal: Change the free net limit to 1500

Introduction

The free net limit is the free bandwidth resource that can be used by the users to decrease the transaction fees. At present, the free net limit is set as a default value of 5000. But recently, some malicious users generated lots of fraudulent TRC10 transactions (please refer to issue #286 for more details) by abusing the free bandwidth resources. These fraudulent TRC10 transactions can be restrained by increasing their cost, and decreasing the free net limit is an option.

Motivation

To restrain the fraudulent transactions, the community proposes to decrease the free net limit from 5000 to 1500, which can limit users to send about 5 free transactions (the average bandwidth consumption of a transaction is about 280) for daily use.

Timeline

The estimated timeline

How to initiate the voting request

Change the free net limit to 1500:

Background

The TRON network brings many benefits to users due to its low transaction fees and fast transaction speed. But this also brings many side effects. For example, malicious users can abuse the low-fee transactions to send many useless transactions and result in a bad influence on the TRON network. Even if proposal #286 has increased the bandwidth unit price and system contract creating account fee, it is still not enough to limit the low-value TRC-10 transactions. Malicious users can still abuse the free bandwidth resources to send fraudulent transactions. For example, for the scam token (https://tronscan.org/#/token/1004324/), it has controlled 37, 871 addresses to airdrop fraudulent tokens to users continually. Each address can send about 17 free transactions in a day (Currently, the free net limit of an account is 5000, for the average 280 bandwidth consumption of a transaction, it allows the account to send about 17 (5000/280) free transactions in a day), then the scam token can send about 643, 807 fraudulent transactions every day without any cost, which will lead to a great waste of resources in TRON network.

As shown in the following figure, TRC10 transactions consist 50% of transactions in the TRON network.

image

Some TRC10 tokens even trick the defenseless users to steal their assets, as shown in #286. fraudulent projects may attach advertisements to the transactions by using the free bandwidth resources, which will influence the healthy environment of the TRON network, for example: (https://tronscan.org/#/transaction/b78f594bf9a8c9251c7a9ab311c2e2aeedb24e32289cf32f73841a11ed42e595) :

image

Recommended solution

For most users, 3~5 transactions are enough for daily use. To balance off the normal transactions and fraudulent transactions, we need to change the free net limit, namely: Change the free net limit from 5000 to 1500

The Impact Analysis

After changing the free net limit to 1500, it allows an account to send 5 (1500/280 ) free transactions in a day. On one hand, it can satisfy the requirement of daily use for normal users, on the other hand, it can limit the malicious users from sending worthless transactions freely. This proposal will play an important role in saving bandwidth resources and improving the TRON network.

woaichixigua07 commented 3 years ago

Sending about 5 free transactions per day would be enough for most of the average users, and it would also prevent some spam transactions. My address receives a lot of spam TRC10 token transfers every day, so if this proposal passes it will have a positive effect.

hitlxy commented 3 years ago

Yes, the previous proposal cannot fully prevent the fraudulent TRC10 transactions, because they have a lot of free bandwidth resources, and sending an fraudulent transaction costs noting. I am shocked of the number of trc10 transactions,half of the total transactions in the Tron network. And for me I don’t create trc10 trasaction, and I think trc10 token should be used very rarely. But the reality is just the opposite. So I wish both the two proposal together can prevent the fraudulent trc10 txns. And it is nice that five free transactions are sufficient.

a49688448 commented 3 years ago

I think that increasing transaction fees, which can increase the cost of spam transactions. The more TRX burned, it will also benefit TRX, which is beneficial to TRX believers like us.

But at the same time, I am also worried that individual small developers feel that transaction costs are high and move to cheaper chains for development, which is not conducive to the long-term development of the TRON ecosystem.

What I want to ask is, has the number of TRX transactions, the number of developers, and the number of DAPPs dropped since the increase in transaction fees until now?

joker-gdb commented 3 years ago

Bandwidth accounts for a small percentage of the overall transaction costs, so this has little impact on user developers. I even think that the daily free bandwidth is enough to pay for one transfer transaction.

call-me-nobody commented 3 years ago

First of all, I agree that this is a very good proposal. Compared to #286, this is the correct method that can effectively inhibit TRC10 transactions. Judging from the current transaction data on the main network, the number of TRC10 transactions is indeed a bit outrageous. Certain measures should be taken to improve these situations.

but, still, I got several questions.

  1. First of all, how the 5 free transactions are calculated and estimated. If there are exact data, I hope that the community can show the relevant data and calculation methods, so that developers can more clearly understand why it is 5.
  2. Continuing with the example above, the project has 38K addresses, five times a day, they still have close to 200K free transactions, and this number is still very large, do you have any backup solution if this method not working?
  3. At the same time, we also hope to see that the community can analyze the TRC10 transaction data in the past 3 months and list the proportion of each token so that we can more clearly understand how many projects are abusing free bandwidth, then a correct decision can be made based on these goals and targeted these projects, thanks.
Cletitia commented 3 years ago

The most spams I’ve received are TRC-10 transfers or small-value TRX transfers. Free bandwidth gives scammars chances to send low-cost transactions. Honestly, I can’t see any TRC-10 tokens other from BTT is valuable, or they are simply trash tokens, but TRC-10 related transactions have taken over half of the net resources(from the above statictics), this is unhealthy. However, as for smart contracts, energy cost is the bulk. So I can say this proposal is a precise blow to the scammars.

Federico2014 commented 3 years ago

First of all, I agree that this is a very good proposal. Compared to #286, this is the correct method that can effectively inhibit TRC10 transactions. Judging from the current transaction data on the main network, the number of TRC10 transactions is indeed a bit outrageous. Certain measures should be taken to improve these situations.

but, still, I got several questions.

  1. First of all, how the 5 free transactions are calculated and estimated. If there are exact data, I hope that the community can show the relevant data and calculation methods, so that developers can more clearly understand why it is 5.
  2. Continuing with the example above, the project has 38K addresses, five times a day, they still have close to 200K free transactions, and this number is still very large, do you have any backup solution if this method not working?
  3. At the same time, we also hope to see that the community can analyze the TRC10 transaction data in the past 3 months and list the proportion of each token so that we can more clearly understand how many projects are abusing free bandwidth, then a correct decision can be made based on these goals and targeted these projects, thanks.

I totally agree with what you said. Limiting the TRC10 transactions is necessary. From the daily transactions statistics (https://tronscan.org/#/data/stats/txOverviewStatsType), the maximum daily transactions amount is about 9.3 million, the daily active account amount (https://tronscan.org/#/data/stats/activeAccounts) is about 2.4 million, the average daily number of transactions for an account is about 3.8. Considering some redundancy, I think 5 free transactions may be plausible. Furthermore, the proposal can alleviate the surging TRC10 transactions, but it can't avoid the spam transactions completely, otherwise, it will bring harm to normal users.

Federico2014 commented 3 years ago

I think that increasing transaction fees, which can increase the cost of spam transactions. The more TRX burned, it will also benefit TRX, which is beneficial to TRX believers like us.

But at the same time, I am also worried that individual small developers feel that transaction costs are high and move to cheaper chains for development, which is not conducive to the long-term development of the TRON ecosystem.

What I want to ask is, has the number of TRX transactions, the number of developers, and the number of DAPPs dropped since the increase in transaction fees until now?

From the statistics:https://tronscan.org/#/data/stats/txOverviewStatsType, the daily transactions have already dropped in Auguest.

vae520283995 commented 3 years ago

Very good proposal, I am harassed by fraudulent trc10 every day, and I hope to launch it on the mainnet soon

Guerreru commented 3 years ago

Hello,

I think should put more active SRs instead so raise the number from 27 to 32, maybe more and it will be resolved which increases the throughput/bandwidth instead of overworking the current SRs and trying to push price hikes that will not resolve anything.

Also make sure the SRs really have at least the minimum current hardware requirements vs using a 16-cores server from 2006. Help prevent contracts from timing out and burning huge amounts of ENERGY/TRX, due to queue on super busy SR node.

Maybe one workaround on the software would be to delay transactions from such reported and confirmed fraud tokens. Node to keep a pool of token ids / contracts of them or if already have one for all, add a fraud tag column, so the node delays these and use only up to 10% of processing power.

Increase the capacity, not just the fee.

ustx commented 3 years ago

Wouldn't it be easier to just stop issuing new TRC10 tokens and limit usage to legit ones? Everyone knows that 99.9% of TRC are just scam tokens with no value. The blockchain value is in the TRC20 ecosystem (tokens and dApps). BW is useful for most legit users. Reducing free BW will not stop TRC10 scam transfers, will just make is slightly more expensive. Tron needs to stop TRC10 from being used (apart from BTT and a few others). Just my 2c.

Guerreru commented 3 years ago

Apart from my comment above, I just realized something: the webpage on https://tronscan.org/#/data/stats/txOverviewStatsType (which is the Daily Transactions image attached to the original post above) shows that on all time Transactions have not peaked above 9.3M ever. The Tron network is supposed to handle 2,000 transactions per second, down from 10,000 transactions per second with no transaction fees after the 2018 WhitePaper version. So 2000 Transactions x 86400 seconds in a day are 172.8M transactions per day. So are you telling me that now it has problems even handling the 9.3M it peaked last month ?

Federico2014 commented 3 years ago

Apart from my comment above, I just realized something: the webpage on https://tronscan.org/#/data/stats/txOverviewStatsType (which is the Daily Transactions image attached to the original post above) shows that on all time Transactions have not peaked above 9.3M ever. The Tron network is supposed to handle 2,000 transactions per second, down from 10,000 transactions per second with no transaction fees after the 2018 WhitePaper version. So 2000 Transactions x 86400 seconds in a day are 172.8M transactions per day. So are you telling me that now it has problems even handling the 9.3M it peaked last month ?

Hey, this doesn't mean it has problems handing the 9.3M transactions, it has a long distance to reach the upper limit. The proposal just aims to limit fraudulent transactions and prevent bandwidth resources waste.

Federico2014 commented 3 years ago

Hello,

I think should put more active SRs instead so raise the number from 27 to 32, maybe more and it will be resolved which increases the throughput/bandwidth instead of overworking the current SRs and trying to push price hikes that will not resolve anything.

Also make sure the SRs really have at least the minimum current hardware requirements vs using a 16-cores server from 2006. Help prevent contracts from timing out and burning huge amounts of ENERGY/TRX, due to queue on super busy SR node.

Maybe one workaround on the software would be to delay transactions from such reported and confirmed fraud tokens. Node to keep a pool of token ids / contracts of them or if already have one for all, add a fraud tag column, so the node delays these and use only up to 10% of processing power.

Increase the capacity, not just the fee.

Very good idea. Currently, the TRON network doesn't lack the bandwidth resource, but to prevent its abuse and waste. As for adding the blacklist for the spam tokens, it seems to violate the spirit of censorship-resistance of the public chain, which may be infeasible.

arcom7707 commented 3 years ago

Proposal: Change the free net limit to 1500

Introduction

The free net limit is the free bandwidth resource that can be used by the users to decrease the transaction fees. At present, the free net limit is set as a default value of 5000. But recently, some malicious users generated lots of fraudulent TRC10 transactions (please refer to issue #286 for more details) by abusing the free bandwidth resources. These fraudulent TRC10 transactions can be restrained by increasing their cost, and decreasing the free net limit is an option.

Motivation

To restrain the fraudulent transactions, the community proposes to decrease the free net limit from 5000 to 1500, which can limit users to send about 5 free transactions (the average bandwidth consumption of a transaction is about 280) for daily use.

Timeline

The estimated timeline

  • Creation time of the voting request: 31st August. 2021
  • The estimated effective time of voting request: 3rd September. 2021

How to initiate the voting request

Change the free net limit to 1500:

  • createProposal 61 1500

Background

The TRON network brings many benefits to users due to its low transaction fees and fast transaction speed. But this also brings many side effects. For example, malicious users can abuse the low-fee transactions to send many useless transactions and result in a bad influence on the TRON network. Even if proposal #286 has increased the bandwidth unit price and system contract creating account fee, it is still not enough to limit the low-value TRC-10 transactions. Malicious users can still abuse the free bandwidth resources to send fraudulent transactions. For example, for the scam token (https://tronscan.org/#/token/1004324/), it has controlled 37, 871 addresses to airdrop fraudulent tokens to users continually. Each address can send about 17 free transactions in a day (Currently, the free net limit of an account is 5000, for the average 280 bandwidth consumption of a transaction, it allows the account to send about 17 (5000/280) free transactions in a day), then the scam token can send about 643, 807 fraudulent transactions every day without any cost, which will lead to a great waste of resources in TRON network.

As shown in the following figure, TRC10 transactions consist 50% of transactions in the TRON network.

image

Some TRC10 tokens even trick the defenseless users to steal their assets, as shown in #286. fraudulent projects may attach advertisements to the transactions by using the free bandwidth resources, which will influence the healthy environment of the TRON network, for example: (https://tronscan.org/#/transaction/b78f594bf9a8c9251c7a9ab311c2e2aeedb24e32289cf32f73841a11ed42e595) :

image

Recommended solution

For most users, 3~5 transactions are enough for daily use. To balance off the normal transactions and fraudulent transactions, we need to change the free net limit, namely: Change the free net limit from 5000 to 1500

The Impact Analysis

After changing the free net limit to 1500, it allows an account to send 5 (1500/280 ) free transactions in a day. On one hand, it can satisfy the requirement of daily use for normal users, on the other hand, it can limit the malicious users from sending worthless transactions freely. This proposal will play an important role in saving bandwidth resources and improving the TRON network.

vita-coffee commented 3 years ago

This discussion has been going on for some time, and I am very happy that most devs agree with this proposal. Now it’s very close to the time to initiate a voting request, so I hope https://github.com/cryptoguyinza can help us to initiate this request, @cryptoguyinza would you be able to help us? thanks.

cryptoguyinza commented 3 years ago

This discussion has been going on for some time, and I am very happy that most devs agree with this proposal. Now it’s very close to the time to initiate a voting request, so I hope https://github.com/cryptoguyinza can help us to initiate this request, @cryptoguyinza would you be able to help us? thanks.

Busy reviewing. If all is fine will create for tomorrow. Thanks

Benson0224 commented 3 years ago

Thank everyone for contributing to this proposal. now it is got approved on the main net. check detail at : https://tronscan.org/#/proposal/69

This issue will be closed as no more action needed, thanks again.

Guerreru commented 3 years ago

Oh so the free bandwidth was lowered to 1500, this has more to do because the SRs want to make money, they voted to lower the free bandwidth so that there are more fees. The SRs are acting like a board of directors of a corporation (fully centralized) where they look to stuff their pockets and look for ways to get more money from the consumers. Tron seems to begetting out of their original promise/whitepaper and can't handle such promised bandwidth.

Benson0224 commented 3 years ago

Oh so the free bandwidth was lowered to 1500, this has more to do because the SRs want to make money, they voted to lower the free bandwidth so that there are more fees. The SRs are acting like a board of directors of a corporation (fully centralized) where they look to stuff their pockets and look for ways to get more money from the consumers. Tron seems to begetting out of their original promise/whitepaper and can't handle such promised bandwidth.

several things in your comments are wrong.

  1. All the fees generated by TRX burning are transferred to the Blackhole account, no one can get fees. so this is not for SR to make more money.
  2. All SR are voted by the whole TRON community. and the TOP 27 SR decided whether the proposal will be approved or not, The community believes that the TOP27 SR will make the best decision for the TRON ecosystem. from another point of view, not every proposal gets approved by TOP27 SR.
  3. 1500 Bandwidth can afford around 5 ~ 6 free transactions, It should be OK for daily usage for normal users. and it will Effectively restrain the abuse of bandwidth.
luozygithub commented 3 years ago

tronWeb.createAccount()方法为什么创建的账户没有助记词信息?

amhoba commented 2 years ago

Can we vote for the reversal of this proposal? I have built an app that uses TRC10 (TRX) for its transactions. I need to send TRX to other people really frequently (for example 100 times a day), paying that much FEE will kill my application...

Please help me. please reverse this. Having free transactions means everything to me.

I want to vote for reversal, or better, create a reversal proposal, How can I do that?

amhoba commented 2 years ago

Yes, the previous proposal cannot fully prevent the fraudulent TRC10 transactions, because they have a lot of free bandwidth resources, and sending an fraudulent transaction costs noting. I am shocked of the number of trc10 transactions,half of the total transactions in the Tron network. And for me I don’t create trc10 trasaction, and I think trc10 token should be used very rarely. But the reality is just the opposite. So I wish both the two proposal together can prevent the fraudulent trc10 txns. And it is nice that five free transactions are sufficient.

This is arrogance that you dont see others that use TRC10 (TRX) for their transactions. TRX is a major benefit of the TRON Blockchain, How on earth can you say that it should be used rarely......?

App developers simply can not use a token (TRC20) for transactions within their applications, Cause it has really really high fees (6 ~ 7 TRX) and does not have a bandwidth mechanism at all.

Please take us all into account before applying / voting for a proposal ...

amhoba commented 2 years ago

Can't we Just DISABLE the creation of more TRC10 tokens? And just keep TRX? And revert all those proposals that have been created so far to just address this simple problem (#286 #320)?

I know, this situation can get up to a point where there will be no option left but to remove the "free bandwidth" system of the tron blockchain, and this is disappointing... WOOF An scammer can use the "free bandwidth" no matter how much there is, 1000, 500, no matter what. Lowering that will just hurt average users and real developers.

Benson0224 commented 2 years ago

Can we vote for the reversal of this proposal? I have built an app that uses TRC10 (TRX) for its transactions. I need to send TRX to other people really frequently (for example 100 times a day), paying that much FEE will kill my application...

Please help me. please reverse this. Having free transactions means everything to me.

I want to vote for reversal, or better, create a reversal proposal, How can I do that?

I would suggest you Stake TRX to obtain free bandwidth.
Please go to your account page on tronscan, https://tronscan.org/#/wallet then you can see below entry of Staking. thanks. image

amhoba commented 2 years ago

Can we vote for the reversal of this proposal? I have built an app that uses TRC10 (TRX) for its transactions. I need to send TRX to other people really frequently (for example 100 times a day), paying that much FEE will kill my application... Please help me. please reverse this. Having free transactions means everything to me. I want to vote for reversal, or better, create a reversal proposal, How can I do that?

I would suggest you Stake TRX to obtain free bandwidth. Please go to your account page on tronscan, https://tronscan.org/#/wallet then you can see below entry of Staking. thanks. image

Staking is not an option for me. I knew that option exists long before. My application needs high send and receive transactions, I want to do microtransactions with tron, so I don't know how much TRX I need to be available at any point of time, so I can not dedicate X amount of TRX to be staked.

And even If I wanted to stake TRX for just bandwidth, It does not look economically feasible! image Just 93.825 bandwidth for 100 (7$) TRX ?????? Really???

Would you take this into consideration: https://github.com/tronprotocol/tips/issues/320#issuecomment-1016621545 ?

vivian1912 commented 2 years ago

Hi @amhoba , Staking for resource can obtain not only the bandwidth but also TRON power (vote for revenue). And for the bandwidth obtained by staking, every 24 hours, the amount of the usage of Bandwidth points of an account will be reset to 0, so the next day, the account also have the corresponding amount of bandwidth. On the other hand, account can withdraw the TRX by unstaking operation. So suggest to get resource by staking TRX. Thanks.