Monero is one of absolute favorite cryptos, something about its complete untraceability really resonates with me and just feels like what cryptocurrency really should be. While currencies like Bitcoin, Litecoin, and Ethereum are not easily trackable, an interested third party does have the ability to trace transactions back to the original user, given enough time and computational resources. Monero takes a unique approach to the blockchain which makes tracking transactions on its network nearly impossible.
As cryptocurrency gains popularity in the years ahead I think privacy coins will become a popular way to escape prying government eyes, especially in countries with significant political and economic turmoil, think Greece and Venezuela. With that said I decided to post a quick review of the tech behind Monero's great security and anonymity features to help out anyone who wants to learn more about this coin. Enjoy!
Monero Core Development Team
Monero’s core development team consist of seven partially pseudonymous developers and engineers. The most publicly visible member of the core team is Riccardo Spagni. Spagni is a software developer based in South Africa with a deep knowledge of cryptography and has been has been involved in the crypto-currency space since 2012. The rest of the team includes two Phd.’s (Physics and Mathematics) as well as former Bitcoin and Namecoin developers.
Monero’s core team maintains very good communication with the cryptocurrency community and makes their source code fully available for public review and open source contributions. Riccardo Spagni has become a prominent voice in the cryptocurrency space and as a result Monero has built an avid and growing user base with a high level of enthusiasm surrounding the coin. A full list of Monero contributors can be found on Monero’s Github Contributors Page.
Use Cases
Monero has several use cases that differentiate it from competing crypto currencies including:
Protecting companies and individuals from leakage of sensitive business information like salaries and revenue.
Prevents revealing confidential business relationships.
Prevents miner censorship based on recipient.
Prevents revealing private sensitive purchases.
Protects against targeted crime against wealthy individuals.
Hiding funds from repressive governments.
Monero’s biggest differentiator is its ability to mask the location and identities of users while still giving users the ability to verify that a given transaction occurred. This results in a cryptocurrency where only the sender and receiver know who the sender and receiver of any given transaction are. This anonymity can be useful to both businesses and individuals. If cryptocurrencies become more widely accepted forms of payment businesses will not want competitors to have the ability to see their salaries, revenue streams, strategic business relationships, etc. For individuals, people may not be comfortable making personal sensitive purchases that can be traced back to them including medical purchases or adult material.
Recently there have been high profile kidnappings of cryptocurrency millionaires in certain countries. While the victims of these kidnappings were high profile individuals in the crypto space, in the future wealthy people could potentially be at greater risk if malicious third party observers are able to see how much wealth they hold, as is currently possible with platforms like Bitcoin, Litecoin and Ethereum. Monero is well placed to take advantage of these concerns that will arise as cryptocurrency becomes more widely accepted.
The political crisis in Greece or Venezuela demonstrate another use case for a anonymous currency like Monero. In both countries cryptocurrencies have been used to protect funds from government asset forfeiture and hyper inflation. Currently most governments do not yet have the expertise and infrastructure to track individuals in the crypto space but in the future it is expected that governments will become more serious about tracking the use of cryptocurrencies. With that understanding the complete anonymity Monero provides (including the masking of IP addresses) will become much more in demand as governments become better at tracking currencies. Monero will be especially useful for individuals living under oppressive or monetarily irresponsible regimes.
Technical Aspects Of Monero
Stealth Address
A one-time public key is auto generated and recorded as part of a transaction to indicate who can spend an output in a later transaction. Only the recipient of the transaction receiving the input can spend that input in a subsequent transaction. Outside observer can not tell if funds are moving from one user to another, nor link wallets addresses together by looking at the blockchain. The output the recipient receives will not be publicly associated with the recipients wallet address. However the senders wallet has the ability to verify that the payment was sent to the recipient.
Monero Wallet
A Monero Wallet address is a 95 character string which consists of a public view key and a public spend key. When a sender sends Monero to a recipient, the senders wallet will use the recipients public spend key, public view key and some random data to create a one-time public key for the output being sent. This one-time public key is called a stealth address. Anyone on the network can see the stealth address but only the sender and recipient know who the sender and recipients are.
The output is created in such a way that the recipient can locate the output being sent to him using a private view key. Once the output is found the recipient wallet will be able to calculate a one-time private key that corresponds with the one-time public key and spend the output with his wallets private spend key. Stealth addresses prevent outputs from being associated with wallet addresses. Senders privacy is shielded using “ring signatures”.
Ring Signatures
A ring signature is a digital signature in which a group of possible signers are fused together to produce a distinctive signature that authorizes a transaction.
The digital signature comprises of the actual signer combined with non-signers to form a “ring” where all signers are equal and valid. The actual signer is a one-time spend key that corresponds with an output being sent from the senders wallet. The non-signers are past transactions outputs pulled from the blockchain which act as decoys. Together these outputs make up the inputs of a transaction. To a third party all of the inputs appear equally likely to be the output being spent in the transaction. This hides the origin of the transaction by making all inputs indistinguishable from each other.
Key Image
To address the double spend problem Monero utilizes key images. A key image is cryptographic key derived from an output being spent. Key images are part of every of ring signature transaction. There can only be one key image for each output on the blockchain. Due to its cryptographic properties it is impossible to determine which output created which key image. A list of all used key images are maintained in the blockchain enabling miners to ensure that no outputs are spent twice.
Ring Confidential Transactions (Ring CT)
To increase the privacy of both parties ring ct was implemented (Jan 2017) to hide transaction amounts. Ring CT transactions now mandatory (as of Sep 2017).
With Ring CT new Monero first resides in outputs with visible amounts. When new Monero is transferred for the first time Ring CT outputs with masked amounts are generated. As a result transactions no longer need to be broken down into different denominations (as was the case prior to Ring CT) which improves privacy. Pre-Ring CT outputs must first be converted to Ring CT outputs before it can be included in a ring signature with other Ring CT outputs. The sum of the inputs must equal the sum other the outputs. The sender has to commit the amount of the output but does not have to publicly reveal the amount he/she is spending. Commitments look like random numbers however miners are able to verify that the input equals the output.
Another important feature of Ring CT transaction is a “range proof”. A range proof prevents senders from committing to negative values to secure the supply of Monero. A range proof cryptographically proves the amounts in a transaction is greater than zero and less than an arbitrary number.
KOVRI
KOVRI is a free decentralized anonymity technology based on i2p open specifications.
i2p or invisible internet project is an anonymous network layer that allows for censorship resistant p2p communications
KOVRI uses both encryption and complex routing techniques to create a private overlay network across the internet. This protected overlay allows users to protect their geographic location and IP address.
KOVRI tunnels traffic through i2p network utilizing garlic encryption and garlic routing. Information travels within a private overlay network byway of messages which are encrypted in layers each time the message is past along. For each inner layer message there is a lock and a public key to the next layer. Peers in the network are not able to read the contents of the message being sent. So information being sent from the sender to its destinations and vice versa are secured. The only information visible to peers is the instruction for sending messages to the next peer. To increase privacy users are able to connect to several peers. Essentially KOVRI covers an apps internet traffic to make it anonymous within the network.
KOVRI will come bundled with future Monero releases and be enabled by default. In addition KOVRI will features a common API which will allow other cryptocurrencies and apps to use it.
Coins mentioned in post: