12,000 Ethereum GONE FOREVER
Developer Nick Johnson challenged the ether community with his tweet to guess how many Ether's gone to void due to 1 character typos with a fabulous reward, a shoutout on Twitter! If you typed 2e instead of e2, say goodbye to your coins! If you've done a typo mistake consider it a charity, lost coins make everyone else's coins worth more!
Methodology for Finding the lost Ether
Unfortunately, we can never know the exact amount, but we can make a fair guesstimate. To understand how this works let me go over some basic Ethereum account facts.
There are two types of accounts; External Accounts and Contract Accounts. External accounts are the ones that are secured with a private/public key pair + a password. If you own Ethereum, and you didn't leave it in the hands of an exchange, you are using an external account. This means you can send transactions to the accounts behalf. Contract accounts have an associated code, they are also called Smart Contracts. The external accounts use a function and the contracts react to them. Both types have an 40 character address that looks something like this: "0x3010543Af39abA0Cd09dBb2D30300b3E800A63FF2"
Addresses on external accounts are derived from the public key. For Contract Accounts, it is derived from the address of its creator plus some additional data, additionally, you don’t get to choose your desired account address. If we were able to choose, people would pick an account with a high balance, create a public/private key, and take control.
Because the address created are random, there cannot be same addresses with a shared private key. There are a total of 164° different addresses and 40×(16–1)=600 addresses that differ by a single character from a given address X. Given uniform distribution of KECCAK-256, the possibility of creating a new account Z for the given address X which differentiates by a single character is 600/164°
or 1/2.4×1045
= 1/2,435,836,062,218,171,530,339,474,721,193,805,032,759,887,571.
Since it is near impossible we can say: If a pair of addresses exists in the Ethereum state, we can come to a conclusion that one of them has funds sent to it in error.
Let’s take a look at the following example. The addresses below has an Ether balance greater than zero. The nonce of 17 for Address X means that, it has sent a total of 17 transactions. The difference between the adresses is only the first character: For measuring the difference, we use the concept, edit distance, which was formulated by Vladimir Levenshtein in 1965. Edit distance describe the total edits you have to complete in order to get from one string to the other. Addresses below has an edit distance of 1.
Address Nonce
X: 0x680992b51e3925e23280efb93d3047c82f17e038 17
Z: 0x580992b51e3925e23280efb93d3047c82f17e038 0
What do we know?
Address X has been used to send funds. Meaning, someone maintains control and therefore somebody has access to its private key.
It is not possible to choose a desired address. So, nobody can access over an address that has only 1 charact differentnce from another one that has both public and private keys.
If we stumble on such addresses it would mean that the one without outgoing transactions must be the address Ether was sent by error.
Results
More than 2500 typos were made
More than 12,000 Ether's were lost until block 5 million which makes ~9 million $
Approximately 8 ether were lost because it was mined to a false address. About 1,5 years ago, some user lost 2,300 ether trying to pay out from an exchange. At the time, it was worth $27,000. Today, that amounts to over $2M.
You can access the data here
Hopefully this case will serve as a caution to all users for the benefit of the ecosystem. I'm calling out to all Wallet services, exchanges, developers, even UI designers, with proper design there could be a counter measure for all of this!
24/7 WorldWide Bitcoin Technical Analysis & Trading
No Referral Links
No Pump & Dump Links
Keep it Professional
Discussion is NEVER Financial Advice
Allowed Links: imgur & tradingview charts
By Joining the Twitch-Live Discord channel you agree to having your voice on-stream.
The developer formerly known as Nick Johnson tweeted @ 17 Feb 2018 - 10:04 UTC
Disclaimer: I am just a bot trying to be helpful.