About the blockchain and Monero XMR keys
Monero (XMR) is a cryptocurrency based on the special Cryptonote protocol for making anonymous transactions.
In Monero language, anonymity means that it is impossible to determine who the sender and recipient are, since public addresses are not recorded on the Monero blockchain.
This anonymity gives rise to an interesting property - fungibility. One of the most important goals that the developers set for themselves is to create a 100% interchangeable coin. This means that the value of 1 XMR must be identical to another 1 XMR. For example, cryptocurrencies like Bitcoin can be involved in illegal transactions and become dirty over time. Thus, the value of 1 BTC with a bad reputation will be less than the value of 1 BTC with a white history. The fact that the Bitcoin blockchain is completely open and you can view the transaction history of any address suggests that Bitcoin may have fungibility issues in the near future.
Before studying keys and transactions, let’s repeat a few more points about Monero:
- Blocks are validated every 2 minutes via proof of work (PoW) using the CryptoNight hashing algorithm, which is ASIC-resistant;
- Blocks do not have a strictly limited size. Instead, the block size can increase or decrease over time depending on the state of the network;
- The difficulty is recalculated every block, as is the reward;
- The issue of coins is not limited. After 18.4 million XMR has been mined, subsequent block mining will yield 0.6 XMR per block. This is done in order to establish economic interest for future mining.
Monero Keys
The most difficult topic for me to understand was the topic with keys. In Monero, in addition to the usual private and public key pair, additional keys are used.
This is what a Monero public address looks like:
86v3WaPp8PkJRgiTA4sypWfPw3Mxvk4AvjeFQDVk3u98S9JMMMDzZCd8cgEZbNeEoQdGLEFG T9U3yXT4rhtH3v7v9Fv5EJA
It consists of 95 characters and additionally consists of two parts:
View keys:
- Public view key – used by the Sender to generate a one-time Stealth address;
- Private view key – used by the Recipient of funds to determine which coins were transferred to him.
Monero also has standard keys:
Spend keys:
- Public spend key – intended for participation in ring transactions (more on this below) and for confirming the signature of the key image (more on this below);
- Private spend key – designed to create an image of the key with which transactions are sent.
I wouldn't be surprised if the reader has a lot of questions at this point. Therefore, to understand how it all works, let's look at an example transaction.
It is assumed that the reader is familiar with the topic of Bitcoin transactions. If not, then it is first recommended that you familiarize yourself with this topic in one of our lectures.
Bitcoin transactions (part 1)
Bitcoin transactions (part 2)
Transactions involving hidden addresses (Stealth Address)
I will greatly simplify the material to make it easier to understand.
Receiving coins
Alice wants to transfer 100 XMR to Bob. To do this, she provides Bob with one of her public addresses. Bob calculates the public view key from it and uses it to generate a Stealth address.
It is important to remember that Bob's address contains a Private and Public view key. Using the latter, the hidden address (Stealth Address) is calculated.
Wasting coins
When Bob’s turn comes and he wants to spend the 100 XMR he received from Alice. To do this, he uses the Private spend key to scan the blockchain for the transaction sent to him. It can calculate the private key that corresponds to the Stealth address specified in the transaction and makes a new payment.
A few points for a better understanding of transactions in Monero:
- The public addresses of the recipient and sender are not stored on the blockchain. Instead, one-time hidden addresses are written to the blockchain for each transaction;
- The hidden address is calculated by the Sender using the recipient's Public address;
- The Monero public address allows any network participant to calculate the public view key;
- View keys (Public view key, Private view key) only allow you to create one-time addresses and check the balance in the blockchain. You won't be able to spend coins with them;
We looked at one of the three technologies that are involved in transactions and make them anonymous - hidden addresses. We understood where they come from and what is the point of using them. Now let's move on to the other two.
Technical characteristics and features of the Monero digital coin
The monero currency is based on the CryptoNote software algorithm, which works in conjunction with the CryptoNight algorithm. XMR operates according to the Proof of work principle. At the same time, the crypto project is open source, allowing third-party developers to write specialized software.
An additional feature of Monero is the presence of Stealth addresses. They use two personal keys with private access. One is used to view transaction information, the second is used to spend funds. This innovation helps prevent double spending and also improve the security of transactions.
Monero, similar to Bitcoin, is a decentralized cryptocurrency. At the same time, information about the amount of funds used in transactions with BTC is open to users, but in XMR such information is confidential. Therefore, the monero cryptocurrency provides a higher level of privacy compared to other popular digital payment instruments.
The size of the main issue of this crypt will not exceed 18.4 million monero. According to the latest forecasts, the emission processes should be completed by 2022. But at the end of this stage, the release of Monero will not be completed; users will receive 0.6 XMR as a reward for each subsequent block mined. The authors of the cryptocurrency had to take a similar step in order to maintain interest in the project from users involved in mining digital money. In the future, mining Monero can become a very profitable business, especially when the exchange rate of Monero against the dollar and other fiat currencies goes up.
Ring Signatures
Ring signatures allow the sender to hide the origin of a transaction by passively “mixing” the outputs. This means that when a transaction is made, the sender randomly selects other users' outputs to appear in the current transaction as possible sources.
Real life example. Imagine that when you send a letter, you put a hand signature on the envelope. However, someone who sees the envelope and knows what your signature looks like will be able to identify you. Therefore, you invite any 10 acquaintances to put their signatures on the envelope. Thus, it will no longer be possible for an external observer to determine who ultimately owns the letter.
The nature of ring signature cryptography is such that no one can prove which outputs are truly the source. And this technology also has another important property for cryptocurrencies! Although no one will be able to prove which ring signer is making the transaction, the system will be able to detect if the sender tries to transfer their funds twice. This is done thanks to a special key, Key Image, calculated, as mentioned earlier, using the Public Spend Key.
Another example. Most likely, you know the multisig principle in Bitcoin, where several participants manage one wallet, for example, according to the 2-3 scheme. This means that any 2 of 3 signatures are required to complete the payment. However, using digital assets in this form requires participants to combine keys and calculate new shared addresses.
Learn more about MultiSig in our video
Unlike group signatures, in ring signatures, other users do not participate or even know that they will be involved in the ring. The signature is generated separately.
A few points:
- The ring signature is present in all Monero transactions;
- The ring signature is created by the sender;
- Other members of the ring do not participate in the formation of the signature. Moreover, they don’t even know about it;
- It is impossible for an outside observer to identify and understand which participant created the signature;
- The larger the ring, the more difficult it is to determine who created the transaction;
- The more transactions are made, the more the outputs are mixed with each other, and the greater the level of anonymity.
Monero GUI
From this point we begin an overview of the MoneroGUI interface and its integration with the Trezor T hardware wallet.
Buy Trezor T wallet
13,350
. Buy
Download and Install
We go to the client download page and download the distribution kit for our operating system. Windows, macOS, Linux for 64-bit systems are available. By the way, getmonero.org is the official community page where you can find a lot of useful information. For convenience, in the upper right corner you can change the site display language to Russian.
When downloading distributions, you can check whether their signature matches. The full list of signatures is in this file, which is signed by one of the founders of Monero Riccardo "fluffypony" Spagni.
After installing the distribution, we will see a start window where you can change the installation language to Russian.
In the next window we are asked to select the type of wallet:
- Simple mode – without downloading the blockchain;
- Simple mode (bootstrap) – with downloading the blockchain;
- Advanced mode – with blockchain downloading and additional functions such as mining, message verification and signing.
For integration with a hardware wallet, the simple mode is fine, since other types of wallets will require downloading the blockchain, which takes about 60 GB.
Please note that simple wallet mode delegates view keys to full nodes. This is necessary so that the user can see the balance on the addresses. This mode may compromise the user's anonymity, so if anonymity is important to you, you should select Advanced mode.
In the next window, you need to select a region to select the nearest nodes - the closer the node, the higher the wallet performance will be. Next, you need to check the box and accept all risks of using the client in Simple mode.
Then we go to a window where we are asked:
- Create a new wallet - I mean hot;
- Connect hardware – our option with integration;
- Open wallet from file - import files with .keys extension
- Recover from keys or mnemonic phrase - restore a wallet using a private key or seed.
Select the second option and connect Trezor T to the PC. We set the file name (with the .keys extension), set the path, select recovery and also select the Trezor device.
At this point, it is assumed that the Trezor T hardware wallet is activated and configured. If you haven't already, I recommend checking out our extensive Trezor T review.
In the Create Date line, you need to indicate the date or height of the block on which the wallet was created; you can specify it here so that the program does not have to scan the entire block chain in search of funds.
For example, if our first transaction was included on 2017-07-08 at block 1350000, we would need to specify the previous day's date (e.g. 2017-07-06) or a slightly lower height (e.g. 1330000) so that the wallet starts scanning from the right place and saved our time. My block height is 1914673, which is what I'll enter.
The block height is displayed when creating a wallet.
Click next.
Your Passphrase may be disabled. In this case, there will be no steps for entering phrases.
Passphrase (Part 1)
Passphrase (Part 2)
Set the password for the MoneroGUI file with the .keys extension. It will be required when making transactions and displaying view keys.
The wallet is configured. Click Open wallet and go to the interface.
MoneroGUI interface and settings
When you first connect, you must wait for the blockchain to be scanned. This may take a while, it's good that I set the height of the block to start scanning from as this will reduce the waiting time significantly.
The balance will not appear in the interface until the scan is completed.
At some point, you will need to confirm the update of the interface data on the hardware wallet.
After these actions and after synchronization is completed, the balance will be adjusted and displayed in the upper left corner.
Let's pay attention to the lower right corner - you can see the state of the client there, namely whether it is synchronized or not. The bottom line shows the height of the current block. By default we are in the send section. We'll look at it a little later, but for now let's go to Client Settings.
There are three tabs: Wallet, Interface and Information.
In the first tab, you can close the current wallet, thereby switching between several. You can also create a wallet based on this only for monitoring funds, change the password for the file.
Of greater interest is the Show mnemonics & keys section. To proceed, you will need to enter a password.
The mnemonic phrase is naturally hidden since we are using Trezor T. Below is the height of the funds recovery block. Let's move on to the keys and re-explain their purpose.
Private View Key – Allows the wallet owner to view incoming transactions. Sometimes it must be provided to a third party to prove payment has been made;
Public View Key – Used by the Sender to create a hidden address;
Private Spend Key – Like Bitcoin, it is used to sign transactions. It cannot be shared with anyone. Actually, that’s why he is hidden by Trezor;
Public Spend Key – Used to verify the signature of the Key Image. This is exactly what prevents double spending, since the magic of cryptography makes it so that the key image can only be signed once.
A QR code is displayed at the very bottom, intended for monitoring purposes only.
The Interface tab contains a number of useful settings:
Window title – adds an additional menu with buttons to exit the wallet, change the language and switch to the night theme. Also fixes the window size;
- Hide balance – hides the balance;
- Enable transfer with payment ID - an outdated option that was used as an identifier, for example, when sending to an exchange. The use of such identifiers greatly reduced the level of confidentiality;
- Light theme – change the interface theme to dark;
- Block wallet when inactive – enable blocking when inactive from 1 to 60 minutes;
- Enable display of balance in other currencies - when you click on the Yen icon in the balance area, the values change to fiat.
The Information tab displays information about the wallet file: version, path to the wallet, block height, path to logs and interface type.
The block height can be changed in this window. To do this, click on the Click to change link and then enter either the block height or the date in the YYYY-MM-DD format.
Account
It is worth noting that Monero is a cryptocurrency with an Accounts model, which is also used in Bitcoin, Litecoin, Bitcoin Cash, etc., where child keys are used for receiving and depositing.
This displays the total balance and total unlocked balance of all accounts. The latter means that the funds have received confirmation in the blockchain. When you send funds, we will notice a difference, which will even out over time.
I have two accounts available. If you wish, you can add a clear description that will be displayed as in the screenshot. You can also create additional accounts, but it is worth considering that for creation you need to have a positive balance on the previous account. This rule applies to many cryptocurrencies.
When you click on a particular account, we change the state of the interface. Let's pay attention to the balance, which changes when you select an account. This means that we will work within the perimeter of this account - sending and receiving will take place within its framework.
Let's select the second account and proceed to receiving funds.
Get
The Receive section displays a list of used addresses. I created a special receiving address for this article:
85SHa3F4h5fEcXZfQKSNDiPw8fqTAPVTCf5rmxNGaqKiYjAVmpkRiQce4DbrnWCZoG2mE39Y sn46M2byTxzHzLDg9SyLCod
For convenience, there is a copy button to the right of the address.
There are also two buttons at the bottom - save the QR code in png format and copy to the clipboard.
The receiving address contains information about view keys. Actually, this is exactly how hidden addresses are created by the Sender.
We copy the address and try to send funds from another account.
Send
In the Send section, enter the amount to be sent and enter the address.
It is worth mentioning that the first description locally stores data in the wallet file and is not transferred anywhere, and the second is used as an identifier when transferring XMR to the exchange. Click the send button.
We confirm the shipping address and agree with the amount.
After confirmation, the device will take longer to generate a signature than in other cryptocurrencies.
The Monero signature takes up approximately 8 times more space than Bitcoin. This is why signing a transaction takes so long.
Then we enter the client’s password and see the sending window, but with a smaller account balance.
And in account 1 we look at the difference between the balance and the blocked balance (not approved in the blockchain). By the way, the client writes an estimated confirmation time of ~14 minutes.
Transaction
In the transactions section you can see a list of all payments.
Here is basic information about how much we sent and to whom. On which block the tranza was mined, the number of confirmations and commission. Transaction ID and recipient address.
The transaction key is the key that can be used to confirm the payment to the recipient, but it is not displayed when integrated with a hardware wallet. This issue will be covered a little later.
Under the Date value there are two buttons with the Latin letters I and P.
The first I button displays the transaction details. Pay attention to the Ring Size option, where you can find 11 members separated by spaces.
The second P button displays the InProof key, which I assume is for confirming payment to a third party. True, I did not find where it can be used.
Best Monero Wallets [XMR]
Monero is a privacy coin that currently ranks 10th in market capitalization at $1,077,457,893, while XMR is valued at $64.94 (at the time of writing).
In today's article, we will be introducing different types of wallets that are suitable for storing XMR.
Official Monero Desktop GUI
Monero GUI was developed by the Monero team for members of their communities solely for storing XMR. The desktop wallet is compatible with a wide range of operating systems.
The main wallet menu displays your account balance in the top left corner, and below it is a tab where you can send funds, receive funds, view transaction history, or change account settings.
Read also: CME Group and blockchain
In the bottom left corner of the menu there is a small icon that displays your connection status to the Monero chain network. When you are about to receive funds, please check to see if the status is "connected" so that your funds can be processed correctly.
Ledger Nano S
Ledger Nano S is a popular hardware wallet that is considered the most secure storage option for your cryptocurrency holdings. It supports hundreds of different cryptocurrencies, and starting in April 2020, it also began offering support for Monero.
The process of setting up a wallet is quite intimidating as it requires the user to have some knowledge in using the command line. But there is a very detailed guide that can help users with this process.
Read also: G20: cryptocurrency regulation in July
Leger uses a variety of security features that make it virtually impossible for hackers to access your funds, even if your personal computer is infected. The only downside to the Leger is the cost, which is around $80-90.
MyMonero
MyMonero is an online wallet, which means you can access your Monero funds from any web browser. The same core Monero developer who created the Monero Ledger integration also operates this wallet and provides users with secure, hosted Monero accounts.
The wallet does not have to run a full node, meaning it will run much faster. The account registration process takes less than a minute, but please keep your login key in 13 words where you won't lose it. These are not registered Monero servers, so if you forget or lose this key, you will not be able to access your account.
Despite the convenience and speed, the wallet also exposes your coins to the highest security risks. MyMonero even warns users about this during the wallet creation process by displaying the following message:
“...MyMonero has a very difficult time delivering its code to your browser securely. This means that there is a significant risk of using MyMonero for high volumes! "
Monerujo
If you are a trader who is rarely found in front of a desktop computer, then the mobile application is more suitable for you. There are very few mobile wallets in the market and Monerujo is only available for Android systems.
You can transfer funds from anywhere with your smartphone or view the funds being sent to your account. The wallet also has a conversion calculator that allows you to put into perspective XMR the value compared to other coins on the market.
Read also: MAX KAISER: CHINA’S CRYPTOCURRENCY “DCEP” WILL RECEIVE GOLD SUPPORT
The source code of the Monerujo software is publicly available for everyone to check out on GitHub. The developers are also open to advice from community members on how to improve the wallet code.
Exodus
Exodus is a desktop wallet that gives the user complete control over their encryption without storing any private keys.
It is one of the first desktop wallets to be fully compatible with ShapeShift, a popular instant cryptocurrency exchange that has support for a range of cryptocurrencies, allowing Exodus users to trade with them.
Like other desktop wallets, Exodus stores your crypto assets right on your device. Being a lightweight wallet, Exodus never forces you to download the entire blockchain onto your computer.
Read also: Review of ICO/IEO - Blockchain project. AIZeus is a blockchain application for B2C and P2P markets.
The wallet charges a transaction fee every time a transaction is processed. Fees are paid to each blockchain network and their respective miners and are not retained by Exodus.
Monero Paper Wallet
The Monero paper wallet generator can be accessed from MoneroAddress, so it is recommended to use it offline so that your keys are never at risk.
Monero Paper Wallet will generate two QR codes and two keys, one representing your private key and the other a public key that can be used to send Monero directly to the paper wallet.
A paper wallet, when used correctly, can be just as secure as a hardware wallet, with almost zero chance of losing your coins to a hack or malware attack.
Guarda
Guarda is a multi-currency wallet that supports a wide range of cryptocurrencies including BTC, LTC, XRP, XMR and all ERC20 based tokens. This free wallet is compatible with devices that run Windows, Mac, and Linux. Additionally, no personal information is required during the installation process.
Guarda does not store private keys on its servers. When you install your wallet, you will also be given a backup passphrase. Unfortunately, 2FA or multi-signature options are not available.
Read also: A decisive day for the future of cryptocurrency in India
There are some additional built-in features that are also very useful. This includes a built-in exchange platform that allows you to trade cryptocurrencies in your wallet. In addition, Guarda also allows you to purchase cryptocurrencies using fiat currencies. Visa or MasterCard payments are also accepted due to its collaboration with Coinify.
Guarda is available as a web and desktop wallet and can easily sync the two types of devices together.
Conclusion
These are our picks for the best wallets to store XMR. As the popularity of the coin grows, so will the number of options on the market. Regardless of your choice, be sure to use best security practices.
Monero Reviewers
It is worth considering that Monero browsers do not serve as a place where you can view payment confirmations, but you can still view information about the current block height and transactions (inputs and outputs). True, neither addresses nor amounts will be visible.
- MoneroBlocks is a popular browser with basic information;
- Minergate – browser for several currencies including Monero;
- Xmrchain is a browser with the ability to decode and prove payments.
For decoding, the transaction id, the recipient's address and his private viewing key are required. To confirm, you need the transaction id, the transaction key (which is not displayed when using a hardware wallet for now), and the recipient's address.
My opinion about MoneroGUI and useful links
In general, I did not encounter any serious problems during the integration, with the exception of the interface freezing when exiting the wallet. In such cases, it was necessary to forcefully shut down the client. I would also like to wish the developers to quickly add the ability to display the Transaction Key in outgoing transactions so that they can confirm payments to third parties.
- Russian-speaking community website xmr.ru and telegram chat;
- The official website of the getmonero.org community, where you can get a general idea of cryptocurrency (with Russian translation);
- Website monero.how with the most complete information about Monero (in English).
Monero cryptocurrency wallet
To store the Monero cryptocurrency, you can use the wallet on the exchange where you buy coins or your native Monero wallet. You can download the wallet on the official website getmonero.org in the “Downloads” tab. The main criterion for installing a wallet is a 64-bit operating system. After installing Monero Wallet, you will need some time to synchronize with the system. Monero Wallet is considered the most reliable place to store coins. If you do not want to install additional software on your computer, then use the online wallet located here.
You can learn more about the Monero cryptocurrency in the video.
FAQ
We will answer frequently asked questions about integration and the Monero network in general.
Error: the wallet is not connected to the Daemon.
This error occurs when the connection to a full node is reset. You need to restart the client and make sure that the Internet is working. If possible, you can change your Internet provider to solve this problem.
Warning - Waiting for Daemon to complete synchronization
This warning means that the client has not synchronized with the full node. Please note that this process may freeze and may display an incorrect balance. Be sure to wait for full synchronization.
How to connect to a full node manually?
In the lower left corner, click on the Remote node link and set the required values in the corresponding Address and Port fields.
How to confirm a transaction to third parties?
This requires a transaction key, but the interface does not currently support this feature when integrated with hardware wallets.
This can be done by using a transit hot wallet, in which the transaction key will be displayed. But many users, including me, will find this method inconvenient and unsafe.
When asked about the absence of a transaction key on the official Reddit page, they answered me the following:
They promise that in the next version 0.15 this option will work. Typically, the following are required to confirm a transaction:
- transaction id;
- address of the recipient;
- transaction key.
How quickly are transactions confirmed?
As a rule, after 2-3 minutes the transaction receives the first confirmation in the blockchain, and after 25-27 minutes 10 confirmations.
How expensive are Monero fees?
According to one of my transactions, I paid 0.000026170000 XMR, which at the current rate is 0.0017 cents or 0.1 kopecks. But it is worth considering that commissions may increase depending on network congestion.
If the data in Monero transactions is hidden, how does the network combat double spending?
In Monero, each transaction output is uniquely associated with a Key Image. This key can only be used once, reusing it will be marked as a double waste and will be rejected by miners.
What is the difference between a light and a regular wallet?
In a lightweight wallet, the user submits their view keys to the full node, which scans the blockchain and looks for incoming transactions. This node will know when the user receives money, but will not know how much or from whom the money is being sent. Also, the full node may have access to information about the IP address.
What is the main difference between Monero and Bitcoin?
- The Monero blockchain does not contain information about user addresses;
- We can say that users' transactions are constantly mixed with each other, as if every time a user in Bitcoin uses the CoinJoin protocol to mix coins;
- The sums of inputs and outputs are also not available in clear form;
These properties give rise to another property - interchangeability. Information about this was at the beginning of the article.
What is Kovri?
Kovri is a hardware I2P router that will work with Monero. It hides the broadcast of transactions so that other nodes cannot identify the sender. The project is currently in alpha and is not yet fully integrated into Monero.