Quick Update on the Balance Check 11-13-19, by @Eric_Czuleger
On November 12th Charles Hoskinson sat down for a quick clarification about the balance check ahead of the Incentivized Testnet launch. For a run down of his last AMA on November 7th, click here.
IN SUMMARY
-The balance check will be performed locally, so it can be verified on individual computers.
-When the second snapshot happens and staking begins, we encourage anyone concerned about having their mainnet ada compromised, to rotate their ada into a new wallet.
-It is crucial for users to secure their keywords by writing them down.
-No one from IOHK or Cardano will ever ask users for their keywords.
-Users should make sure to trust only official information channels and if they have concerns they should reach out directly.
New system, old system
Given some of the talk from social media and other channels we wanted to respond to some questions regarding the upcoming balance check and Incentivized Testnet launch. A UTXO based blockchain has a genesis block, an initial distribution of funds and then addresses. These are the outputs. When a user transacts, each block contains a list of those transactions. If one were to look from the genesis block to the most recent block, they could create what is known as a UTXO ledger. This determines the current ownership of funds. This is also known as the state of the system. Basically it says, who owns what, and where do they have it.
A UTXO snapshot traces the entire blockchain up to a particular block. It then copies the state of the system into a new genesis block. Because this is a copy and paste from the old system into a new one the addresses are the same. Therefore any cryptographic credentials you have for the old system will also work with the new system.
Keywords are key
We wanted Cardano to be as user friendly as possible. With that being said we wanted every wallet to be an HD wallet. This means that if users have their keywords, they will be able to regenerate their wallet. Knowing these words will allow the system to search the entire UTXO to find out which entries belong to a particular user. Because this works on the old system it will work on the new as well.
A balance check will take a look at the blockchain of the new system and scan the UTXO. Using keywords, the system will determine which entries belong to a particular user. This is performed locally on individual computers rather than on a server or a stake pool. Everyone will be able to do this on their machine once they have the testnet client because everyone will have their own copy of the blockchain.
Concerns, compromises, credentials
We have understood that there is some concern among users about having to enter their keywords into a new client in order to check their balance. If users are concerned about having their ada stolen then we recommend rotating your credentials. If ada was in a user wallet on November 12th then that ada has already been copied into the new ledger. Therefore, before doing a balance check, a user can rotate their credentials by switching their mainnet ada to a new wallet. They can then perform the balance check with their old credentials. This way, there is no possibility that mainnet ada can be compromised. This can also be done with a hardware wallet.
It is important to remember that this process is performed locally. Users have as much security as they deem necessary. With that being said, it is crucial to remember that no one from IOHK will ever ask for keywords or passwords from a user. If users receive a social media message from someone asking for their keywords (even if it is a social media account claiming to be Charles Hoskinson) it is likely a scam.
Balance check advantage
The advantage of performing this first snapshot is that it gives us a chance to troubleshoot any difficulties getting onboard with the Incentivized Testnet. It also gives us a moment to get on the same page by answering crucial questions from the community. We benefit greatly from user participation so it is important to keep the lines of communication open. While no one is forced to participate in the Incentivized Testnet, users stand to gain money in the form of rewards, so we encourage as many people as possible to take part.
Misconceptions
We would also like to deal with some misconceptions that are currently being discussed. There has been some conversation about doubling the amount of ada that is currently in the ecosystem. This is false. The total supply of ada is conserved. At the conclusion of the Incentivized Testnet, only the rewards will be transferred to mainnet. No new ada is being created from this process. Some ada is being taken from the backend and used in the Incentivized Testnet sandbox. This allows us to maintain the original supply of ada.
There have also been questions about the security of the software. We are currently going through a security audit, the results of which will be published around January. Otherwise our software is quite good and it utilizes formal methods. The Haskell wallet backend which will ship this week, makes heavy use of quick check or property based testing. This software is considerably better than products which are currently on the market and we’re quite proud of it.
Testnet to the future
Some people have said that we will run the testnet for years. This is inaccurate. We are using this limited time period to collect metrics and learn from operations alongside the community. This will help us build a better platform in the future. For example, we are currently building a stake pool dashboard and learning what we should include in our new block explorer. Given that our block explorer has to generate metrics on individual stake pools, the limited sandbox period will give us enough information to build without exposing the mainnet to any difficulties. Furthermore, this gives us something to discuss with exchanges about how they will work with us and our community. Simply put, our preference would be to run the testnet for as little time as possible, but the information that we will gain from it is invaluable.
The snapshot and incentivized testnet will also give us a good idea of the decentralization of Cardano as a whole. This will give us a moment to intervene if global decentralization is not what it needs to be. From the testnet we will be able to follow each many-to-one transaction which occurs to find out how many unique movements are happening. We can also see the percentage of the UTXO that has rotated as well as the amount of ada that is in circulation. This is all valuable data which allows us to perform the rollout of Shelley in a responsible and interactive way. We consider users the product owners of Cardano therefore we need to learn from the community what their requirements are.
Summing up
Our velocity is continuing to increase. We are making every attempt to communicate as clearly as possible. We are doing this on a global level in multiple languages including Korean and Japanese which is a time consuming and difficult process. If users have doubts and concerns we urge them to not succumb to FUD. Unofficial news sites are just that. Unofficial. To have the most up to date information on Cardano we encourage users to join us on social media channels including Twitter, Reddit, Youtube, Telegram, and our official blog.
This week we will be releasing videos and written content specifically about how a balance check is performed. We will also produce a video showing how to rotate credentials. As always we appreciate the patience and passion of our community. Decentralizing a cryptocurrency is a tremendously difficult task. To that end, we are learning as the community is learning we are proud of the work we have done.