My issue is that it breaks immutability from a conceptual level. Not specifically at a chain level.

if you cannot trace who posted the transaction it's like a burn mark in history with no context as to what happened.

Thread for more👇🏽
A complete history of the blockchain is hard to come by. It requires a really old archive node. Therefore, it is possible that the raw data of some transactions will not be accessible to everyone in the future.
CREATE2 allows for the code of the deployed smart contract to depend on data of a transaction. Selfdestruct allows contracts created by CREATE2 to do a metamorphosis at some point in time.
The option of such a metamorphosis would be visible to everyone who can read the transaction, the transaction data can be lost in the history and may not be available.
One day, years down the road, the creator of the contract can appear and use selfdestruct + CREATE2 to redeploy the very same contract, but this time, it can be its malicious variant.
If we deploy a DeFi contract in 2020, and it's really profitable, that can metamorphose into an Exit Scam DeFi contract after 2030—people will likely take part. But by 2030, they may forget.
By 2030, the transaction that created the DeFi contract may be a burn mark in the history with no context: there will be a block hash projected to the root of the Merkle Tree, but nobody may remember what was really in that block.
And now, when it is 2030, the contract be turned into an exit scam, because of how it was created. This will leave all the participants at harm who contributed into this DeFi contract in 2029 thinking..
"I can no longer see what created this thing, but it is really profitable, and people have been using it for the past 9 years, so it has the 'stamp-of-time approval' and must be safe"
Again a burn mark in history with no context as to what happened because there is little state history or even "clean" state history to show it metamorphosize. ie more young Turbo Geth nodes and less old Parity full archive nodes because Create2 doesn't ask for a nonce
The solution is an EIP that will makes nodes keep create codes of contracts using CREATE2.

it is backwards compatible, and would retain transparency

@realLedgerwatch @nicksdjohnson
You can follow @JayeHarrill.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.