Closed igormcoelho closed 3 years ago
People could just delete the storage of others SC free... :dagger: Sounds bad... Ehauehauea Just kidding. You have been always talking about that. Since it is hard to reward that cases, I think that, at least, it should be free.
The pricing structure will be adjusted in NEO 3.0, please wait for the new white paper.
I like this idea, a lot of projects don't remove unuseful data
@everyone You need to realize that physical blockchain storage (blocks and Txs) for "deleted" NEO storage is never freed up, correct?
The transactions that stored the original values and subsequent updates into NEO storage cannot be deleted ... it's a blockchain.
In fact, deleting storage takes up more physical space not less and, in effect, can create another free/cheaper way to store "dumb data" on the NEO blockchain.
Similarly, writing less data for a specific key uses more storage - not less.
I recommend that this issue should be closed.
@mwherman2000 there two ways of storing information: in the blockchain hash data or in Storage space. While blockchain data won't need to be carried out forever, the Storage needs to... so in my opinion (and Ethereum design agrees with that), Storage cleaning must be VERY incentived.
By the way, the blockchain space won't even increase in this case, because if a given function call is performed, it won't be bigger just because it has a Storage.Delete inside (that have been registered already in AVM opcode). So, in my opinion, that should be seriously considered, as soon as possible, and I hope to see that in Neo 3.0 :)
There is no long lived/replicated Storage Space in the NEO architecture. The only long lived Storage Space is for Blocks of Tx of Opcodes.
Get Outlook for Androidhttps://aka.ms/ghei36
From: Michael Herman (Parallelspace) Sent: Saturday, June 23, 2018 7:34:00 PM To: neo-project/neo; neo-project/neo Cc: Mention Subject: Re: [neo-project/neo] Storage.Delete must be free (#278)
It's irrelevant if it's only a facade.
Get Outlook for Androidhttps://aka.ms/ghei36
From: Igor Machado Coelho notifications@github.com Sent: Saturday, June 23, 2018 5:37:49 PM To: neo-project/neo Cc: Michael Herman (Parallelspace); Mention Subject: Re: [neo-project/neo] Storage.Delete must be free (#278)
@mwherman2000https://github.com/mwherman2000 there two ways of storing information: in the blockchain hash data or in Storage space. While blockchain data won't need to be carried out forever, the Storage needs to... so in my opinion (and Ethereum design agrees with that), Storage cleaning must be VERY incentived.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/neo-project/neo/issues/278#issuecomment-399712296, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AF0a6CmAisSRSpCzvel6vUeJ25fMsRwKks5t_rUtgaJpZM4U0MqP.
It's irrelevant if it's only a facade.
Get Outlook for Androidhttps://aka.ms/ghei36
From: Igor Machado Coelho notifications@github.com Sent: Saturday, June 23, 2018 5:37:49 PM To: neo-project/neo Cc: Michael Herman (Parallelspace); Mention Subject: Re: [neo-project/neo] Storage.Delete must be free (#278)
@mwherman2000https://github.com/mwherman2000 there two ways of storing information: in the blockchain hash data or in Storage space. While blockchain data won't need to be carried out forever, the Storage needs to... so in my opinion (and Ethereum design agrees with that), Storage cleaning must be VERY incentived.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/neo-project/neo/issues/278#issuecomment-399712296, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AF0a6CmAisSRSpCzvel6vUeJ25fMsRwKks5t_rUtgaJpZM4U0MqP.
See #286
Delete should really only be incentivized where it is performant. Conventionally, It is more efficient to clean storage only when it is needed due to the compute requirements and quality impacts associated with making changes.
Introducing free codes also has the risk of opening us to compute exploitation.
@lllwvlvwlll, Tyler the great, nice very gud. Nice insights.
We like to clean everything! aheuahueahueaea Exploitation of it would be hard because the transaction would fail (Fault,Break), yes (accessing something that does not exist anymore for example)?
Transactions with only deletes would probably enter in the limited quota of free transactions, perhaps, some greedy heuristic could postpone these free/delete-only transactions if the free block part is already full.
@lllwvlvwlll Tyler, perhaps it's better to discuss in the other thread... this idea conflicts/adds up with all the others related to the new pricing model.
Now we are back to Neo 3 roadmap, this is an important change. Another option is to get money back from delete too... an even bigger incentive!
Useful for: https://github.com/neo-project/neo/issues/824
Nothing should be free, but i agree that could be cheaper
It should be more than free... negative is better :joy: its a favor done to the network.
It should be more than free... negative is better its a favor done to the network.
awesome idea :)
@shargon how can we incentivize the user to release space? We either incentive the user to release space (good way) or "punish" them for using it 'irresponsible'? I don't think the second option is doable
@neo-project/core we need to decide about this.
I think that it can be free if we release more than 'x' bytes. or pay back the user, to create an incentive. Maybe return part of the gas to cover the costs of the current running transaction (not sure if neo-vm is compatible with this).
If we "payback" the user, if we insert "2 keys with both using 1024 bytes", the first TX would cost 2 gas, but the "update" would cost 1 gas only (if we have 50% payback).
We really want to incentive users to release space, we need to think about a good solution here, it has huge long term impacts.
Payback is nice and compatible, we just need to put a negative price per released byte. Ideally for me, sending assets to someone that already has assets, or sending all assets to anotger account, should be free, or nearly free (from sysfee perspective, but still paid from netfee perspective). Only slight byte differences in bigint representation would matter, but if reducing is much cheaper than adding, we can achieve this behavior (perhaps Delete = -2 * Put)... but these negative impacts should only affect other Storage paid stuff, not other operations, as these things may become dangerous too, and could create eternal loops xD Put Delete 1000 loops Put Delete 1000 loops...
@igormcoelho agreed. So you think paypack is feasible? In the same transaction only?
My proposed design:
@shargon should we allow a negative number in the gas consumption? I think it is the only way to make this "correctly". What do you think?
Negative means 0, no reward. You will pay less if you remove some entries.
@shargon I mean during execution, the final result I understand cannot be negative
Hi @neo-project/core, may I assign this issue to me?
If you want, is good for me
Thanks. I spoke with @igormcoelho he let me do it too. Thanks
No need for my approval man.. go for it! :muscle:
Purely for the historical record, here's a link to the article I wrote about storing #DumbData for free on the NEO Blockchain in June, 2018. I have no idea if this still works on the current version of NEO: Blockchain #DumbData: Best way to safely store secure, immutable, auditable, historized, permanent data on a blockchain
Here's a link to a NEO Blockchain DumbData example (from the end of the above article).
Best regards, Michael Herman Self-Sovereign Blockchain Architect Trusted Digital Web Hyperonomy Digital Identity Lab Parallelspace Corporation
In System Fees (http://docs.neo.org/en-us/sc/systemfees.html), Storage.Delete operation has 0.1 GAS cost. That does not incentive Storage reduction. It should be free (or user must even profit with it!). Is there any negative aspect on executing Storage.Delete that must be avoided?
The same should be applied to Storage.Put when used space is reduced (It should cost only over the increased space in KB). Is there ANY negative impact associated to it?