Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ghost opened this issue Mar 15, 2018 · 108 comments
Open
Labels
discussion Initial issue state - proposed but not yet accepted feature Type: Large changes or new features ledger Module - The ledger is our 'database', this is used to tag changes about how we store information

Comments

@ghost
Copy link

ghost commented Mar 15, 2018

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

CityOfZion/neon-wallet#524

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

@ghost ghost changed the title add new transaction type "unspend" to allow burned coins to be retreived. [Feature Request] add new transaction type "unspend" to allow burned coins to be retreived. Mar 16, 2018
@erikzhang
Copy link
Member

So how can we tell which addresses are bad addresses?

@OrEagle97327
Copy link

OrEagle97327 commented Mar 16, 2018

Coranos' title refers to "burned coins" while I think of them as "locked" or lost.

My Neo is sitting on the block chain. ...I can document how they got there.
Anyone can view them. No one can access them.
Are they mine? Do they belong to the public domain?
Do we consider this a "bad address" as questioned above?
What are the rules for "reactivating" "locked" crypto?

The list of losses above, is very minor, when compared to this same concept across all crypto currencies.
A tool like this could save a lot of broken hearts, and disappointed users.

What does the Crypto community feel should or can be done, with unclaimed and unusable crypto on the block chain(s)? What can be done for the good of all?

If we keep asking the questions, the right ones will get answered.

It takes about 10 years for a concept to catch on and become popular.
(telephone, electricity, automobile, internet, email, facebook, and now crypto is 9 years old)

In the early 80s the personal computer became popular. In the early 90s the concept of "plug -n-play" came into use, sure made the computer user experience easier, and created widespread popularity.
Until we develop a concept like this in the crypto world, it is our job, as pioneers, to leave a smooth path for others to follow.

@ghost
Copy link
Author

ghost commented Mar 17, 2018

There is no need to determine if an address is "bad" or not, the question is not relevant, as I will illustrate below. It will sound very strange, I just hope you understand and agree with me.

Every contract transaction that has not been spent, and is not an "unspend" transaction can be acted on by "unspend".

So, for example, this transaction could be "unspent"
https://neotracker.io/tx/90551a4b7c941f105be2ecd186b79e640a06d475b834990edaeeb473756e1e0a
sending 35,000,000 back from AQVh2pG732YvtNaxEGkQUei3YA4cvo7d2i to AWHX6wX5mEJ4Vwg7uBcqESeq3NggtNFhzD.

How could AQVh2pG732YvtNaxEGkQUei3YA4cvo7d2i secure his NEO from an "unspend"?
Send all his neo to himself.

for example, this transaction cannot be "unspent":
https://neotracker.io/tx/31819bb88636869e94cd6e8f5125c738d60ded4ecd91aeaa03a1b9ae5c563ab0

AXSoNQEKjmqPBNPg5cNrHyWivfjok3Vj9D sent 11,198 NEO to themselves.

Even if you did "unspend" that transaction, the NEO would go from AXSoNQEKjmqPBNPg5cNrHyWivfjok3Vj9D to itself, and then be unavailable for another "unspend".

This is similar to the way the NANOS coin handles their block lattice (which is where I got the idea), they require two transactions, a "Send" and a "Receive". This would require everyone's wallets to automatically "spend" any new inputs, to prevent an "unspend". That's the tradeoff, you can have reversible transactions, but need people to log into their wallets to receive funds.

You could add a 90 day timeout period if you wanted to, in order to give ample time for people to check their balance.

@erikzhang
Copy link
Member

It can be implemented as a smart contract very easily.

@ghost
Copy link
Author

ghost commented Mar 17, 2018

I'm aware that NEP tokens can be reversed. This is about NEO, which cannot be reversed.
In addition, ONT tokens were airdropped to these addresses.

Also, numero41, patience. This is the first time in the history of the world that we have a chance to do something like this. The chance to do something great. Don't let your passion overcome your reason. Emotion, yet peace.

@ghost
Copy link
Author

ghost commented Mar 17, 2018

Getting a reversible token, so the average person who is not technical can be safe from typos and random hardware faults.

As of right now, a single wrong keystroke can cost you .. everything. Or keep the private key in a file on your computer, which can also cost you everything if you get a virus.

Nobody in my extended family is going to use crypto as a method of payment if it's that brittle. They don't type that well. (This is true, when asked about crypto over the holidays, my advice was to stay out)

@ghost
Copy link
Author

ghost commented Mar 20, 2018

Thanks DL, I saw it earlier today.

Please keep the conversation to NEO, as this is the NEO github. There are many companies involved in this problem, but we can only fix it if we focus on each individually.

I don't want this incident closed because we kept getting off track, like the last one.

@erikzhang erikzhang added the enhancement Type - Changes that may affect performance, usability or add new features to existing modules. label Mar 21, 2018
@roblee220
Copy link

I have the same problem, basically a missing MEW wallet whilst using the nano ledger s, I correctly went into MEW through the nano, sent tokens amounting to roughly 2000 dollars and now the nano is not showing the address and I obviously have no access to the private key, I’ve received 1 email from nano support in a week and I’d very much like to retrieve my coins as they are quite a large portion of my portfolio. I’ve sought advice for this issue but had no luck retrieving them yet what’s our course of action dies anyone have any ideas how to get these tokens bank?

@kryptob
Copy link

kryptob commented Apr 30, 2018

Good day,

I am Indeed one of the early victims of this issue and glad all attempts are being made to fix it. In August when Neo released the 0.03 wallet version and the announcement was made about how to earn gas, I transferred a total of about 319 NEOs to my wallet address. Before this I transferred 2 Neo to test it and earned gas for 2 days. The wallet froze at some point, I logged out and lo and behold I could not access the wallet again, till date it’s still inaccessible. That is roughly about $26K of today’s worth. As an early investor in NEO, this experience has been heartbroken till date. After several attempts contact COZ from August till c October that have not been any solution. I still see the Noe on neotracker and it’s still unspent, sitting there.

Apparently, when I tried to log back in, it had created another key. I have all the proof from the exchanges I transferred to and fro. Can this new feature help in any way please? I’m desperate to have my coins back.

@numero41
Copy link

@kryptob

Were you using the Ledger Nano to make those transactions?

About this new feature, Coranos knows much more about it than me as he implemented it, but I can surely say that it'll avoid this in the future, but won't reverse the previous "corrupted" transactions

@kryptob
Copy link

kryptob commented Apr 30, 2018

Hi,

Thanks for your response, ledger Nano had not been released then. I was using the 0.03 version of the desktop wallet. It was after the issues that COZ released a quick update to the wallet but I’ve been unable to retrieve my coins till date. Infact the only access to the wallet was using private key. It was after we complained (it happened to a few of us back then) that an improvement was made to the wallet to include other routes e.g. passphrase , passwords of accessing it. It happened in August 2017, my coins are still there untouched so this is no scam or anything of such. I have all the proof of ownership as I moved them from exchanges and can provide any necessary information.

@numero41
Copy link

We all have all proofs and necessary informations you mention, but it won't help you in any way.

For now we never had any information that could let us hope for a way to gain access again to the wallets.
The only hope would be to find a kind of responsibility of some of the parts involved in the transactions.

This crypto world has no regulations yet, and for now not anyone (wallet developers, Ledger, exchanges, etc) can be taken as responsible for any loss if you can't prove that you didn't make a user error.

The only way for any of us to have any kind of help/hearing, is to be able to reproduce the "bug", so that the source of it can be identified.

Once it'll be identified, actions can be taken to find who's responsibility it is, and how to get leverage to have a compensation.

But once again, I would avoid kind of hope if I were you (I lost about the same amount as you did), which doesn't prevent you from continue to search, raise awareness, and seek for tech people that could give a try to find what happened in exchange for a compensation (like 20% of the funds)

@kryptob
Copy link

kryptob commented Apr 30, 2018

For me it is only logical that for lost coins, they can burn those coins using smart contract and subsequently mint new ones as replacement to the address they were sent from or can be reclaimed by the legitimate owner if proofs are available. What are the specifics of the features Coranos is working on?

@numero41
Copy link

numero41 commented Apr 30, 2018

If your private key doesn't derive the correct public key anymore, you can't prove you're the owner, that was my point.

What kind of proof are you talking about? Transactions records from your exchange account history + blockchain explorer txids? That's not enough!

Let me give you an example :
You have a very good friend to who you want to send some coins, he gives you his wallet address, you make the transactions, and you have all of them recorded on the exchanges, and blockchain explorers.

Then you have an argument with this friend, and want your money back, but he wouldn't give it back.

In that case, you could still come here (or any kind of support), and claim you made some transactions from some exchanges to your wallet, but that unfortunately you lost access to it (like it happened to all of us).
There would be no way for anyone to know if you're saying the truth (that you were the initial owner of the wallet), unless you have the correct private key that derives the correct public one. And in that case, you wouldn't be here at all lol.

That's all the perversity of what happened to us...

@ghost
Copy link
Author

ghost commented Apr 30, 2018

Nobody is currently working on this feature request. They don't seem to care, regardless of how much proof there is.

I do not know how to get them to care, as I have tried all I could.

@kryptob
Copy link

kryptob commented Apr 30, 2018

@numero The case you mentioned is an outlier. There’s some level of proof if one can confirm that your stuck coins emanated from an exchange account you own, that is often times near accurate that you owned the coins. The case you eluded to is exceptional.

@Coranos, is this feature possible technically at all? Where they burn the stuck coins and mint another in replacement for you as long as you can proof you own them. Since it’s open source, can any developer build this feature and have COZ commission it. If I’m not mistaken, the total value of lost coins/ stuck coins should be nearing $1m mark if not more.

@ghost
Copy link
Author

ghost commented Apr 30, 2018

The feature is technically possible. As said above, it's actually very easy to do as a smart contract.

However you would need to convince NEO to run the modified code on their consensus nodes, or there's no point. I do not think it is possible to convince NEO to run the modified code on their consensus nodes.

Their original whitepaper mentioned the feature (reversible transactions), but it is currently absent from the whitepaper and the code. I didn't save a copy of the whitepaper, and the link is dead, so I have no proof.

@numero41
Copy link

"There’s some level of proof if one can confirm that your stuck coins emanated from an exchange account you own, that is often times near accurate that you owned the coins."

I want as much as you to get my coins back!

Can you give me ONE example where someone "proved" its ownership to a wallet using this argument?
I wish there were... In that case we all have our proofs ready to go.

@kryptob
Copy link

kryptob commented Apr 30, 2018

''Their original whitepaper mentioned the feature (reversible transactions), but it is currently absent from the whitepaper and the code. I didn't save a copy of the whitepaper, and the link is dead, so I have no proof.''

I kid you not. There were about a few of us affected, we saw the feature in the white paper as well. I think one of the guys saved it, it was on the Antshares, then on Neo when it was rebranded. After our complaints, they removed that section and replaced the whitepaper. They specifically stated that transactions as such could be reversed.

@kryptob
Copy link

kryptob commented Apr 30, 2018

@numero41 i agree with you, proofing ownership from a wallet is hard, but if you can prove it on an exchange that is easy. The transaction IDs are recorded, the wallet address where it emanated from are also there and i'm sure support in exchanges will be able to help as well.

@numero41
Copy link

@kryptob

You know, that was the first thing I told myself, 4 months ago when it happened to me, that I had all the necessary informations and that no one could contest it, I have my exchanges accounts, which I am the only one to access for sure, the txids, everything that shows that I for sure did made the transactions this exact day, at this exact time, with those exact amounts, etc.

Then I was told almost immediately from everywhere (in answer to my first posts) that I wouldn't get anything looking in that direction, so I didn't event contacted the exchanges about that.

Anyway, as the transactions can't be reversed, the only way to get our money back is to find some part that has to be taken as responsible for the loss, and willing to give the same amount in compensation for a malfunction, right?
What exchange would help in any way in that direction?

On your side, did you make any try about it?

@OrEagle97327
Copy link

@coranos
Who in the Neo team would be most likely to help you implement your idea in this thread?
Who else in the community has shown any interest?

What additional venues would be good to pursue a campaign to push for this?

Imagine how the whole crypto community would be with this as a standard feature.

@ghost
Copy link
Author

ghost commented May 11, 2018

@erikzhang would be the only one I know who would be able to implement Unspend transactions.

Most times I mention reversible transactions, people are hostile to the idea. "Caveat Emptor" as they say.

@OrEagle97327
Copy link

We are looking for something between "Caveat Emptor" and "Plug and Play"

I do not understand the reason for hostility.

fix my oops; ...Seems like a reasonable feature.

@shargon
Copy link
Member

shargon commented May 16, 2018

Im sorry, but if it has been lost, is lost .... otherwise, it would break the main principle of a blockchain

@OrEagle97327
Copy link

Good point... ...re Block Chain

Not lost... ...Just unavailable (Can be seen by block chain viewer)

Just like natural resources on a new frontier. How do we mine that?

Imagine how much value is setting on all the various block chains.
Can the community come up with a form of reclaiming.

@grishatataru
Copy link

So whats the next step?
How can we get this issue fixed?
Im having the same issue,my public NEO address has changed,when i log in using Ledger Nano i see 0 gas and 0 neo.
Showing UNSPENT in neo tracker
ANy help????
AVjDZ7VVz7foeqFmdW2R5okbjr1pTEmEBs

419 NEO

Sent to

AcWyPgfSVovTnE5rG6w3KNMCcoipjuDBxP
419 NEO

@robliou
Copy link

robliou commented Apr 30, 2021 via email

@ghost
Copy link
Author

ghost commented Apr 30, 2021

The list of addresses, emails, and details is in the google doc in the original comment.

I think the actual number was 14, making yours 15. Perhaps a few others, as I've been contacted on reddit periodically about it.

Without buy-in from the dev team I see this as a lost cause. If the dev team doesn't see this as a problem, they aren't going to fix it.

As a developer, I invest time rather than money.
As far as I can see, NEO isn't really worth my time.
So I would look for another coin that does support time locked transactions, as that one will become dominant if we ever get mass adoption.

@kryptob
Copy link

kryptob commented May 5, 2021 via email

@roman-khimov
Copy link
Contributor

So how would all the nice people watching this thread know why it was closed?

@Jim8y
Copy link
Contributor

Jim8y commented Nov 12, 2023

So how would all the nice people watching this thread know why it was closed?

This is an issue of 5 years old, and is targeted on neo legend. If someone still face similar issue, they can open a new one.

@shargon shargon reopened this Nov 12, 2023
@kryptob
Copy link

kryptob commented Nov 12, 2023 via email

@Jim8y
Copy link
Contributor

Jim8y commented Nov 12, 2023

@neo-project/core , this is ridiculous, if you want a good reason to close a 5 years old issue, i also want a good reason to keep it open, for 5 years you dont handle it, no solution, no recent discussion, yet you wont close it?

So, what is the good reason to keep a 5 year old issue that no one follows for years to open?

@EdgeDLT
Copy link

EdgeDLT commented Nov 12, 2023

So, what is the good reason to keep a 5 year old issue that no one follows for years to open?

Normally I would agree, but this issue is connected with the shutdown of the Legacy network. If we decide to do something about it, it won't happen till then.

So for this one, maybe it's best to keep it open to avoid forgetting about it. It has a long history and quite a significant amount of money associated with it for some users.

@Jim8y
Copy link
Contributor

Jim8y commented Nov 12, 2023

So, what is the good reason to keep a 5 year old issue that no one follows for years to open?

Normally I would agree, but this issue is connected with the shutdown of the Legacy network. If we decide to do something about it, it won't happen till then.

So for this one, maybe it's best to keep it open to avoid forgetting about it. It has a long history and quite a significant amount of money associated with it for some users.

trust me, keep it here for even 30 years, it will still be this way as this is not the place for such issues, NF and NGD instead.

But i respect others opinions, if you all think 5 years old issues are ok, i am cool with them.

@roman-khimov
Copy link
Contributor

It's all about communication:

  • if the issue is closed, there has to be a reason for this
  • we better have some agreement over this reason and closure itself

Just imagine:

  • me going over the list and closing 50% of the issues with no comments
  • some people coming here in a year or two with a question of "hey, why it was closed?"

@Jim8y
Copy link
Contributor

Jim8y commented Nov 12, 2023

It's all about communication:

  • if the issue is closed, there has to be a reason for this
  • we better have some agreement over this reason and closure itself

Just imagine:

  • me going over the list and closing 50% of the issues with no comments
  • some people coming here in a year or two with a question of "hey, why it was closed?"

@roman-khimov, i can not agree with you more. to be honest, I have not disagree with you on anything yet, but i think we are talking about different things here. For an ordinary issue, yes, we should process them normally with agreement and a solid reason. But here, we are dealing issues that are even older than 90% of the blockchain projects and for three years no one follows........these are not ordinary issues,,,,,, these are issues that no one cares. Some one opened an issue requesting for a feature, then for 3 years no one cares, now you tell me you are still considering implementing them?

@shargon
Copy link
Member

shargon commented Nov 12, 2023

@Liaojinghui bitcoin/bitcoin#2039 they win us, If a issue is closed it must be closed with a reason. Also, I think that this issue is an important one

@ghost
Copy link
Author

ghost commented Nov 12, 2023

I believe they added some functionality to N3 that allows you to send a transaction, and as a part of the transaction have a timeout, so the issue won't occur again in N3 if you send the correct transaction parameters.

I'm unable to verify this with the documentation, so really I don't know the state of it.

@Jim8y
Copy link
Contributor

Jim8y commented Nov 12, 2023

@Liaojinghui bitcoin/bitcoin#2039 they win us, If a issue is closed it must be closed with a reason. Also, I think that this issue is an important one

LOL, you win me. I'll call you next time.

@kryptob
Copy link

kryptob commented Nov 12, 2023 via email

@Jim8y
Copy link
Contributor

Jim8y commented Nov 12, 2023

Can these issues be raised with the Neo team again to see if they can do something about it?It’s a lot of money involved, our hardwork and pain.  We should not close it, if we can nominate one person to spearhead the discussion, we might have a headway On 12 Nov 2023, at 13:58,

@kryptob github is not the right place for such request, coredev team have no power to answer such demands. If you really want things like this being fixed, you should either send an email to NGD or NF or directly ask for help in discord.

@grishatataru
Copy link

grishatataru commented Nov 12, 2023 via email

@lock9
Copy link
Contributor

lock9 commented Nov 15, 2023

My 2 cents:

  • Backlog
  • Close it
  • I'm not sure

@ghost
Copy link
Author

ghost commented Nov 15, 2023

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
Copy link
Member

shargon commented Nov 16, 2023

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
Copy link
Contributor

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

@shargon
Copy link
Member

shargon commented Nov 16, 2023

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
Copy link
Contributor

lock9 commented Nov 16, 2023

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 #195 (comment) 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
Copy link
Contributor

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
Copy link
Contributor

lock9 commented Nov 16, 2023

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
Copy link
Contributor

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

Milestone + issue

Release, rinse, repeat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Initial issue state - proposed but not yet accepted feature Type: Large changes or new features ledger Module - The ledger is our 'database', this is used to tag changes about how we store information
Projects
None yet
Development

No branches or pull requests