Title: Need_help_drafting_an_EIP
Category: Uncategorized

Author: Raviel
Date: 2024-10-08T11:01:10.392Z

Dear Magicians,
We’re a group of community members, victims of the Parity drama from 2017, working on a proposal for an Ethereum Assets Recovery Protocol, aimed at helping recover lost or inaccessible funds on the network due to bugs or unintended smart contract behavior.
While we’re passionate about this cause, we recognize we lack the technical expertise and experience of many of you here. We’re reaching out for collaboration, feedback, and advice on shaping this EIP into something that can truly benefit the ecosystem.
We’d deeply appreciate any guidance on how we can refine the proposal and bring it closer to something the Ethereum community can rally behind.
We need all the help we can get to ensure that this proposal serves the broader Ethereum community. Don’t wanna make another 999… 
Would love to connect with the right people, and get some help. And leads & directions would be greatly appreciated

Author: Cova
Date: 2024-10-08T20:23:51.045Z

Thank you for posting this!
As one of the victims I hope to see a positive outcome of this case and other similar cases. For myself and others who have found themselves in such an unfortunate situation.
Let’s create an EIP that contributes positively to the whole of the ETH ecosystem!

Author: ciluman
Date: 2024-10-08T21:35:42.793Z

Any help is very much appreciated  after all there are more than 100k eth affected by this issue and I’m one of the affected users. Can anyone from the ethereum community support?

Author: abcoathup
Date: 2024-10-09T00:56:01.414Z

I’m sorry for everyone who loses funds.
I doubt there is much chance of community support of a single incident recovery EIP such as EIP-999: Restore Contract Code at 0x863DF6BFa4469f3ead0bE8f9F2AAE51c91A907b4.  The chances are more likely to decrease over time (it is now nearly 7 years).
A generic mechanism like EIP-867: Standardized Ethereum Recovery Proposals may have a slightly greater chance of support but it would be a long uphill struggle.
I’d suggest collating information on previous attempts, why they failed and how your approach would address the concerns raised.  You could then gauge what community support there is.
Previous discussions:

EIP-867: Standardized Ethereum Recovery Proposals (ERPs)
EIP-999: Restore Contract Code at 0x863DF6BFa4

Author: djcrawleravp
Date: 2024-10-09T14:27:47.195Z

As someone who has experienced this firsthand, I’m hopeful for a positive resolution in this case and others like it. For everyone who’s been in a similar unfortunate position, let’s work together to create an EIP that benefits the entire Ethereum community!

Author: ciluman
Date: 2024-10-11T10:53:41.084Z

I was thinking about a solution like this:
Proposal: the tx.origin (EOA) of a deployed smart contract should be able to revive the smart contract if it was killed
Intention: this would allow smart contracts that were mistakenly or maliciously killed to be revived and lost funds to be recovered.
Example of Implementation:


Ethereum inplements an oracle specifically to revive killed smart contracts only


The tx.origin deployer of a killed smart contract would have to sign a specific message where it is mentioned the killed smart contract address


The ethereum oracle would receive this signed message and would validade the signature onchain with a specific smart contract for this purpose, and if the signature matches with the tx.origin address deployer of the killed smart contract, the contract would be revived


Note: this solution allows only the deployer EOA to revive a killed smart contract, not the EOA that killed the smart contract. Why? Because malicious actors (Like in the case of the parity locked funds) can maliciously kill a smart contract and like this only the EOA deployer would have the rights to reverse such action, if we would allow the EOA that killed a smart contract to revive the contract this implementation would be pointless.
@abcoathup what do you think about such solution?
@everyone any input is very much appreciated

Author: abcoathup
Date: 2024-10-11T21:06:44.856Z

ciluman:

Proposal: the tx.origin (EOA) of a deployed smart contract should be able to revive the smart contract if it was killed


How many cases are there where this would cause a negative outcome vs the one case where you want a positive outcome?  I doubt that it would be supported.

Author: ciluman
Date: 2024-10-12T01:20:02.548Z

Many cases of lost funds because of this issue:
Polkadot: 306,276 ETH ($ 962 077 233)
ICONOMI: 114,939 ETH ($ 361 047 536)
Centrality: 21,704 ETH ($ 68 176 821)
Musiconomi: 16,476 ETH ($ 51 754 575)
Hedge Token: 4,525 ETH ($ 14 213 975)
Moeda: 4,361 ETH ($ 13 698 816)
Wysker: 1,577 ETH ($ 4 953 688)
Viewly: 1,400 ETH ($ 4 397 694)
Fluence: 1,376 ETH ($ 4 322 304)
Live Stars: 672 ETH ($ 2 110 893)
IMMLA: 600 ETH ($ 1 884 726)
Silent Notary: 286 ETH ($ 898 386)
Mirocana: 285 ETH ($ 895 244)
DAO.Casino: 150 ETH ($ 471 181)
Fiinu: 145 ETH ($455 475)
Jincor: 58 ETH ($ 182 190)

Author: Cova
Date: 2024-10-13T23:48:41.489Z

Can you elaborate on this? What do you mean it would cause a negative outcome?
Multiple avenues are being considered what would you say are the cons of allowing killed contracts to be restored by the deployer EOA on a later date?

Author: abcoathup
Date: 2024-10-14T05:22:40.286Z

ciluman:

Many cases of lost funds because of this issue:


I assume the projects listed with stuck funds are all related to a single instance of a contract being SELFDESTRUCTed.
Someone would need to research every single instance of a contract being SELFDESTRUCTed and what the impact would be in every single case if the contract was allowed to be resurrected by the deployer of the contract.



 Cova:

Multiple avenues are being considered what would you say are the cons of allowing killed contracts to be restored by the deployer EOA on a later date?


Someone would need to do this research to determine the various outcomes, some of which could be negative.  This is one of the issues with a broad change like this.

Author: Raviel
Date: 2024-10-14T09:55:21.403Z

Thanks a million for all the input people 
I went through the answers and I can smell a scent of hope 
@ciluman I believe 514k ETH is inaccessible right now. I don’t even think the expression “locked” is right.
@abcoathup thanks for the reading material. I’ve read the majority of 999 before already, now reading my way through 867. Loads of very compelling comments & arguments in there! 
What would you say are the chances now, 7 years later? Like… how has the ecosystem changed that it would favor such a systemic change and how has it changed so that it would more likely reject it?
I personally believe that at least emotionally, the landscape has cleared a bit around the drama. Minds have softened a bit. Code is Law is moving ever towards Code is Change if I understood right.
If you were to advise us how to approach and gauge the community support here efficiently?
Thanks again for the input Andrew!  We’ll do our homework and come back once we have something figured out.

Author: abcoathup
Date: 2024-10-15T02:23:00.447Z

Raviel:

What would you say are the chances now, 7 years later?


On a state change for one single incident 7 years ago, zero.
As part of a generic framework for recovering stuck/lost funds, very low (but not impossible).
I am not a core dev, this is my personal opinion only as part of the Ethereum community.

Author: matt
Date: 2024-10-15T12:26:35.231Z

Raviel:

What would you say are the chances now, 7 years later?


0%. I’m sorry. It is not something the core devs will pursue.

Author: Raviel
Date: 2024-10-15T15:19:33.105Z

Hi Matt, thanks for pitching in even tho it’s a hard hit hearing point blank 0%, ngl 
For what reasons is this not something the core devs would pursue, if I may ask?

Author: Raviel
Date: 2024-10-24T15:18:28.812Z

@matt, @abcoathup - we have a discord community where we discuss a whole range of possible solutions for this.



Discord


Join the Locked Ether Collective Discord Server!
Check out the Locked Ether Collective community on Discord – hang out with 127 other members and enjoy free voice and text chat.





Would love to have someone from the magicians come and speak to us & tell us why it is(n’t) possible.
Would you be open to come have a short Q&A with our group?

Author: abcoathup
Date: 2024-10-25T00:36:08.874Z

Raviel:

Would you be open to come have a short Q&A with our group?


I don’t have anything more to add.  I’ve given you my perspective.

Author: tms1337
Date: 2024-11-02T14:01:41.149Z

Hi everyone,
I’m really sorry to hear about the Parity incident and the impact it had on many in our community. Your initiative to develop an Ethereum Assets Recovery Protocol is both timely and essential. Here are some thoughts and ideas that might help refine your proposal:
Unified Recovery Mechanism
Single Smart Contract Approach:
Instead of multiple contracts, a single, well-audited smart contract can streamline the recovery process. This contract would handle proposals and executions of fund recoveries, ensuring simplicity and security.
Balanced Oversight:

Multi-Sig Admins: Implement a multisignature setup (e.g., 3 out of 5 admins) to propose and approve recovery actions. This reduces the risk of any single admin acting maliciously.
User Approvals: Allow users who have been affected by frozen funds to approve or veto recovery actions. This ensures that the community has a say in the process, preventing unilateral decisions by admins.

Governance Integration
Community-Driven Decisions:
Drawing inspiration from EIP-867 and EIP-999, it’s crucial to ensure that recovery actions are not only technically sound but also have community backing. By requiring both admin and user approvals, we create a system that’s resilient against collusion and maintains trust.
Transparent Processes:
All actions, from proposals to approvals and executions, should be logged transparently on-chain. This makes the entire process auditable and builds trust within the community.

Let me know your thoughts if relevant

Author: Raviel
Date: 2024-11-05T11:58:51.513Z

Hi @tms1337,
Thanks a lot for pitching in.
What do hardcore neysayers have to say on this? @abcoathup @matt - would just love to hear some constructive criticism other than a blunt “No” or “0%”.
If you give us the why then maybe we can address it? Nobody I’ve spoken to thinks that these people don’t deserve their money back and that the ecosystem couldn’t benefit from a solid fund recovery system…

Author: Raviel
Date: 2024-11-12T11:41:02.076Z

is it a start? @abcoathup @Cova @matt
Ethereum Assets Recovery Protocol Proposal
Abstract:
The Ethereum Recovery Protocol aims to create a standardized mechanism for recovering inaccessible or locked funds due to unintended smart contract behavior or bugs. By introducing a protocol that works in harmony with Ethereum’s existing consensus and fee models, this EIP lays the groundwork for safely, securely, and equitably redistributing inaccessible funds in a manner that benefits both the affected parties and the broader Ethereum ecosystem. The proposal addresses the lessons learned from EIP-999 & 867 and creates a more holistic and flexible solution.
Motivation:
The increasing complexity of decentralized applications (dApps) and smart contracts on Ethereum has highlighted vulnerabilities in contract design, leading to locked or lost funds through no fault of the users. The Parity Wallet bug serves as a prime example, where approximately 500,000 ETH (~$1.5B today) was locked permanently due to a smart contract bug. These funds, if recoverable through a transparent, decentralized, and auditable mechanism, could greatly benefit the ecosystem while respecting Ethereum’s commitment to immutability.
The key motivation of this EIP is to provide a mechanism that allows for the careful recovery of locked funds while preventing any moral hazard. This solution will not only return funds to affected users but also establish a framework for future recovery cases that minimizes risks to Ethereum’s security and decentralization.

Author: fulldecent
Date: 2024-11-22T21:25:26.313Z

What you are describing is recovery of assets on Ethereum.
This is the single most downvoted issue in the history of the community review of Ethereum changes: https://github.com/ethereum/EIPs/pull/867
Also discussed at https://github.com/ethereum/EIPs/pull/999#issuecomment-381408887
In fact the response was so strong that another proposal was written specifically to address how proposals likes yours should be addressed. It says they should not be enacted.
https://github.com/ethereum/EIPs/pull/894/files

Arguments abound on why we should not violate the guarantees of a decentralized system, such as this proposal recommends.
And is just one citation (link to specific comment):
https://github.com/ethereum/EIPs/issues/866#issuecomment-365823726

I disagree with this proposal and it should not be implemented.


Futhermore, I believe Etherum Mainnet should not go through any further changes period. Because it is a decentralized system. And the contract has already been made. And Vitalik should relinquish control of the Ethereum trademark so that others people may propose changes to the Ethereum software rather than only himself.

Author: Cova
Date: 2024-11-25T21:16:34.737Z

I would like to thank @abcoathup , @tms1337  and @fulldecent for your valuable insight and feedback. We (as a very small “grassroots” movement of affected individual users) are learning a ton from your insights on top off shifting through all the previous discussion that has already taken place on several platforms before. It is helping us theorize about potential possible solutions that hopefully the whole of the community could support.
I sincerely hope you are willing to engage with us further in the future and provide more valuable feedback and insight. You have my thanks!

Author: Raviel
Date: 2024-12-03T11:54:35.293Z

Dear @fulldecent, I 100% understand your reply and we’ve studied the 867 and 999 extensively to not repeat the mistakes committed there. Before we put out an EIP draft (which we have 3 versions of thus far), we’d like to explore avenues that do NOT touch immutability or decentralization.
As a group of victims, we’re only self-organized and relying on each other’s help on Discord and our ideas and scope of understanding is both very individually varied as well as technically limited (we have some devs, some investors, some traders, some entrepreneurs, some regular joes, etc.).
I was expecting a “no” but was hoping for a “No, you cannot do this. BUT what you could do is: …”
You already thought out-of-the box with 721… is there no option C here?
In any case… thanks a million for your respons William, it means a great lot to hear your stance.
Hey @Cova
Thanks for pitching in…the positivity you bring to our group is the energy that prevents us to lose momentum in tough moments like this :)) is it time to get vulnerable and show them the EIP draft(s) we’ve been doing and submit it for a roast?

Author: fulldecent
Date: 2024-12-04T23:36:00.826Z

You are very welcome. And happy to share the “no, but” answer!
Let’s think about the scope. Are we looking for a fix for one project that can be thought about and replicated else where? Are we looking for a committee to write some wrongs and bring a human touch—but in a singleton organization?
Depending on the details… Perhaps you are just looking for a way to recognize onchain the people affected by this locking. Is there a list of them? Does that need to be generated off-chain? Can it be validated on-chain, for example by using the state root (globally or for a specific address?) and then anybody can provide Merkle inclusion proofs against that root?
Best case is that yes this is all possible. Then what you can do is allow people to mint a new RETH (recovered-eth) token. Probably ERC-1155. Use DeFi to add liquidity with other pairs. You could cap the upper bound of the price at 1 RETH = 1 ETH. And then use these tokens like any other token. You could bid with them to buy NFTs. And people could accept those bids. You would need to convince people that they are valuable. You may or may not achieve this by convincing people to never accept less than 1 ETH worth of value for their 1 RETH.
And if all that worked, you would have a full economic recovery for all the affected people, participating in a community of other people that also support this proposal and do business with you.

Author: djoq
Date: 2025-01-26T17:21:34.731Z

Hi,
Fellow ethereum recovery enthusiast here. I realize there is much debate about who would vote and who decides which ether would be returned, but what if we could capture some cases that don’t need a vote?
For example, SWIM is trying to recover ethereum that they sent to an exchange, but they fat fingered two of the numbers (or hit up/down on their keyboard accidentally before sending), resulting in the eth being sent to an address ending in 79 rather than 80. No one owns this address, it has no activity for years, and is currently unrecoverable.
To at least get some movement on the recovery mechanisms in ethereum, I am interested to hear any opinions on having a criteria that evaluates the activity of an address, activity of the sender to nearby addresses that weren’t fat fingered, and have a return to sender functionality for cases like this?