What is a snapshot?
The KOIN ERC20 was created using OpenZeppelin’s tooling which includes a “snapshot mechanism.” When a snapshot is created, the balances and total supply at the time are recorded for later access. Snapshots are created by the internal snapshot function, which emits the Snapshot event and returns a snapshot id. This can be used to safely create mechanisms based on token balances, in the case of Koinos, the initial token balances on main net.
Why a Snapshot?
Our goal, as always, is to ensure the highest degree of security possible and snapshots are both highly secure and easily verifiable. We snapshot addresses and balances and then claiming requires signing a message with your private key to prove you control the address.
Since people use both hardware and software wallets to store their KOIN, we need a mechanism that supports both of these wallet types. The simplest way to achieve this is to leverage existing software wallets like Metamask and My Ether Wallet which support using private keys stored on a hardware wallet (like a Ledger) to sign arbitrary messages.
How to claim?
An application will be provided that will ask the user for all relevant information to construct the transaction on the Koinos side (Ethereum address, Koinos address, etc), then output the serialized message.
This will either get sent to Metamask for signing, or displayed for the user to copy into MEW. The app will then get the signature (either from Metamask or the user for MEW) and broadcast the transaction to the network and viola! You got your KOIN.
Keys never leave your hardware wallet. You do have to trust that the user facing application (Metmask/MEW) is generating the correct transaction and not stealing all of your KOIN/Ether. But that would also be the case with any different solution. You have to trust Metamask in the same way whenever you use it.
But this way your keys are never shared and remain secure.
Q: I have KOIN on Ethereum, what do I need to do to get Koinos main net tokens?
A: Nothing! If your KOIN is on Ethereum the exact amount of KOIN you hold there will be replicated on the main net using the snapshot. You can learn more about snapshots here.
Q: How does my ERC-20 KOIN transfer to main net?
A: When the main net launches the snapshot will be included in the genesis block and used to initialize all of the token balances on main net.
Q: How will I access my main net KOIN tokens?
A: There will likely be multiple options available to you (like the Kondor wallet provided by community developer Julian Gonzalez), but Koinos Group will provide highly secure tooling that will allow you to claim your main net tokens without exposing your private keys.
Q: Can I claim my tokens piecemeal?
A: No, a claim on the Koinos main net will be for the entire balance in an address. If you want to claim tokens over time, you will want to set up multiple addresses before the snapshot.
Q: As a technical user, can I read more about how I will securely claim my main net tokens?
A: As of now, Koinos Group plans to leverage existing software wallets like Metamask or My Ether Wallet which support using private keys stored on a hardware wallet (like a Ledger) to sign arbitrary messages. We plan to provide an application that will help the user construct a transaction on the Koinos side of things (Ethereum address, Koinos address, etc), then output a serialized message which will either get sent to Metamask for signing, or displayed for the user to copy into MEW. The app will then get the signature (either from Metamask or the user for MEW) and broadcast the transaction to the network and voila! You got your KOIN, all without your private keys ever leaving your wallet!
Q: What will happen to my tokens if they are held in a smart contract (such as Uniswap)?
A: You will NOT be able to claim those tokens. The contract will be credited with your tokens in the snapshot. Because Ethereum smart contracts are not related to a private key, this means you will not have access to those tokens in the smart contract.
Q: What will happen to liquidity on Uniswap?
A: That depends on what the liquidity providers do. Koinos Group does not provide any liquidity. Only tokens held on Ethereum at the time of the snapshot will be replicated on Koinos. Any tokens bought or sold after the snapshot will not be reflected on the Koinos main net. Therefore there is no reason to continue providing liquidity to it after the snapshot.
Q: What will happen to the KOIN ERC-20?
A: It will remain on Ethereum, but have no value. There are no plans to use the token for anything moving forward. If in the future there is an Ethereum Koinos bridge, a new ERC-20 would be created for the bridge.