The initial distribution of the KOIN tokens was done 100% using Proof of Work. For that, the token was initially created as an ERC-20 token on the ethereum blockchain and the community could mine it or buy/sell it on uniswap.
In order to migrate this token from ethereum to koinos blockchain, Koinos Group created a Claiming Contract with the permission to mint KOINs on the koinos blockchain. In this contract the users have to submit a proof of the ownership of the tokens using the ethereum keys.
Although everyone would like to see a smooth transition from one blockchain to another, this change comes with a risk of losing funds due to mistakes commited by some members.
One of these mistakes was done by Azadi, one of the members of the community. Let me summarize what happened to him: He installed Kondor and created a new wallet but he didn't pay attention to the 12 words 😨 Once it was created he claimed the tokens in koinos blockchain. At that point he wanted to write down the 12 words but he could not find how to see them. After that, he asked for help in a koinos channel of his country and someone advised him to create a new wallet and make the claim there 😖 In conclusion, he lost his keys on Kondor.
Although he lost the keys from Kondor Wallet, he still keep the ethereum keys. He shared with the community the proof of the ownership of the ethereum address 0x95b83ff2263923c9c48ac6098d2c994e989c86e7, which was used in this is the transaction to claim the tokens. Here is the proof:
{
"address": "0x95b83ff2263923c9c48ac6098d2c994e989c86e7",
"msg": "0x4920616d20617a6164692e2049206d697374616b656e6c79206c6f7374206d79206b6f696e6f732070726976617465206b65792028636c61696d20696e20626c6f636b203237373437292e2054686973206973207468652070726f6f662e2049206b696e646c7920726571756573742074686520636f6d6d756e69747920746f206d6f766520746865736520746f6b656e7320746f2074686520616464726573732031413956775745457644785158367a4d336d464d665745574d66716743395836666f",
"sig": "53e8121701954e13f343c60e44a205228add7a6aa4cd01beb53b6a7d260cd15d7f34bd17007aa6391f5cf8ab1fb310fc8d4787e612ce6f9740ec22481269ffac1c",
"version": "3",
"signer": "MEW"
}
You can verify the proof here:
https://www.myetherwallet.com/tools?tool=verify
And decode the msg here:
https://onlineutf8tools.com/convert-hexadecimal-to-utf8
Some people may argue that crypto is crypto and it is like bitcoin where you loss your assets when you loss your keys. However, I'm a strong believer that crypto should be something simple to use, with more alternatives to recover tokens.
And one of the reasons I like Koinos is the governance system that allows upgrades in the contracts without requiring forks.
In general terms, the change I'm proposing to the claiming process is:
Add the option to reverse the claim. That is, burn the tokens in the Koin contract and undo the claim in the Claim Contract.
Thanks to this more people will be able to recover the tokens if they do something wrong during the claiming process. Take into account that both Kondor Wallet and My Koinos Wallet are in very early stages and people can commit mistakes when using them.
Right now, only 41% of the tokens have been claimed. Then around 58 million of KOIN are still pending to be claimed.
For the KOIN Contract:
burn function so it can be called by the claim contract.transition function: Used to modify the limit time just for the member who lost the keys. It can only be called once.For the Claim Contract:
unclaim function: It burns the tokens in the Koin Contract and reverses the claim. It also checks if the transaction is done in the proper period of time.transition function: Used to modify the limit time just for the member who lost the keys. It can only be called once.Edit: Some members of the community have reported possible issues with this implementation. In particular, a possible scam where the scammer trades something with someone but using the claim to send tokens, and later on when the transaction is done he reverts it using the reclaim option. This is a very important flaw to considerate. So, here is a modification to mitigate this issue:
The owner of the ethereum key can reverse the claim at any time. At that point the tokens are burnt and assigned again in the claiming contract. However, the ethereum key has to wait 6 months in order to claim again. During this period the previous owner (koinos key) can get back the tokens.
Let me know in the comments what do you think about it.