neo-project / neo

NEO Smart Economy
MIT License
3.47k stars 1.03k forks source link

Add new transaction type "unspent" to allow burned coins to be retreived. #195

Open ghost opened 6 years ago

ghost commented 6 years ago

CoZ asked for enhancements, soI'd like to present an enhancement worth roughly $150,000.

This transaction type would be identical in execution to a Contract transaction, signed by the sender, with one exception: The amount in the output would be subtracted from the destination address, rather than added to it. This would allow for people to reclaim coins sent to a "bad" address, but would not allow people to reverse transaction arbitrarily.

As you know, in order to claim gas you must "spend" NEO, send them to yourself. Any transactions that have been "spent" would be ineligible for "unspend". If a user wishes to prevent their coins from being "unspent" from under them, they either claim gas, or send them to themselves, confirming that their address is valid. this can be added as a default task in all wallets, which will also lead to smaller transaction sizes as you don't ever have more than one unspent tx per address.

Why is it worth $150,000?

There is currently $150,000 USD of NEO in burned accounts due to a ledger usb bug that displayed the wrong "spend" address.

AU3DGUrwAMF3rbc8mW8BrtWRsbBdBH5V4q: 1,947 NEO ALKfPGkaMVyVQjbv3Qa5bb6fWEURHmFr4S: 13 NEO ASHq4jJRgVTX2auvbDhAu8g4JQk2srV36D: 108 NEO AGAmSMhDkoJ2Wr7T4PeRHEf52eJJjzFfTK: 10 NEO

2078 NEO, $145,226 USD

https://github.com/CityOfZion/neon-wallet/issues/524

https://docs.google.com/spreadsheets/d/1afBgZ5yvr6FHN1CBl2bSlJIEfbpNtHukQSqW731gXmE/edit#gid=1139885301

ghost commented 8 months ago

https://docs.neo.org/docs/en-us/basic/concept/transaction.html

They added a validUntilBlock to the tx for N3, so the error will not occur again, and IMO the issue is fixed in N3.

So the question remains: will the victims bemade whole? Or is that beyond the scope of this issue?

If it is beyond the scope, then the issue should be closed.

shargon commented 8 months ago

I think that we can close it and open a new one about how to recover funds that was sent to a dead address

roman-khimov commented 8 months ago

There is quite some amount of Neo Legacy specifics there, true. But https://github.com/neo-project/neo/issues/195#issuecomment-373625132 is still relevant for any network.

shargon commented 8 months ago

There is quite some amount of Neo Legacy specifics there, true. But #195 (comment) is still relevant for any network.

No transactions from the last X years.

lock9 commented 8 months ago

So the question remains: will the victims bemade whole? Or is that beyond the scope of this issue? If it is beyond the scope, then the issue should be closed.

I think that it's not part of the core developers responsibility to provide reimbursements, even in case of bugs. Another organization or group should be responsible for it. In this case, I think it's beyond the scope of the issue and that it should be closed.

I think that we can close it and open a new one about how to recover funds that was sent to a dead address

There is quite some amount of Neo Legacy specifics there, true. But https://github.com/neo-project/neo/issues/195#issuecomment-373625132 is still relevant for any network.

Let's create a new issue then and add it to the backlog. This discussion has become too big, and it's hard to follow up.

roman-khimov commented 8 months ago

If we think that the issue is still relevant and can theoretically be solved (hi, @shargon), then sorry, but I love old issues with all of the context and messages. New ones don't add any value.

And if the issue is there and it's open, then technically it's in the backlog already.

lock9 commented 8 months ago

If we think that the issue is still relevant and can theoretically be solved (hi, @shargon), then sorry, but I love old issues with all of the context and messages. New ones don't add any value.

And if the issue is there and it's open, then technically it's in the backlog already.

But we are not deleting it. It will be here forever. How do we separate these from the other issues we must focus on in the short or medium term?

roman-khimov commented 8 months ago

https://github.com/neo-project/neo/milestone/2 + https://github.com/neo-project/neo/issues/2905

Milestone + issue

Release, rinse, repeat.