Anonymous Crypto Currency Terminology

Most common terms and concepts used for crypto currency which can be used anonymously. Looking Specifically at PIVX

I am writing this mainly to keep an overview of the things you need to know to trade, use and understand. So here is a kind of brain dump of things.

Wallets and Keys

Image for post

Above is an example of a paper wallet. The black and white pixelated squares are QR codes. They basically store the text strings written next to them in a way that can easily be read by a computer optically. So rather than forcing you to write in a public address like 1BoatSLRHtKNngkdXEeobR76b53LETtpyT and possibly make mistakes, you just have the computer read the QR code instead with e.g. a webcam or your cameraphone.

So we got two types of text strings contained in a wallet:

  1. A public key, which allows you to receive money from people. Usually you use a hashed (scrambled) version of this referred to as the address. You give this to people who want to send you money. It is public info and nothing to keep secret.
  2. Private key , which allows you to spend money. You need to keep this secret, because anybody who knows the private key of your wallet can spend the money in that wallet.

To avoid that you mix up public and private keys as well as keys for different crypto currencies, they usually have different starting numbers. E.g. notice how the Bitcoin public key starts with 1. For private keys it is more involved:

  • 5 Prefix means it is an unencrypted private key, as shown in the picture.
  • K or L prefix means compressed and unencrypted private key.
  • 6 Encrypted private key.
  • 6P Encrypted private key using a passphrase. The P indicates that you have to provide a passphrase to decrypt the private key.

You can read more about the prefixes used for crypto currency public keys and private keys on wiki.

BIP38 Encryption

BIP38 basically sets a standard for this, so a wide variety to crypto currency software has a standard to work with. For instance you can tell that a private key is BIP38 encrypted if it begins with 6P.

What is the practical application of this? Say you decide to store your private key on paper to safeguard it, and then you have some software that scans the QR code to import it. The software has to decide whether this is a key that needs to be decrypted or whether it is in plain text. It can figure that by looking at the first letters. 5 means it is not encrypted. 6 means it is encrypted. 6P is more specific, saying it is encrypted with a passphrase in BIP38 format.

Other BIP Numbers

BitcoinCore

Base58Check Encoding

$ echo hello world | base64
aGVsbG8gd29ybGQK

And this takes the base64 encoded text and decodes it again:

$ echo aGVsbG8gd29ybGQK | base64 -D
hello world

The creator of Bitcoin which influenced a lot of the standards used for crypto currencies today, decided he did not want to use base64 encoding because the letters l, I, 0, and O are easy to misread or mixup. So he create the base58check encoding instead which excludes those characters.

Hierarchical Deterministic Wallet (HD Wallet), BIP32

I’ll try to keep the technical explanation, why you should use such a wallet short. Remember how I explained that a wallet is just a public key and private key? That is what a paper wallet usually is. Well, I told a white lie. In practice, wallets you actually use will contain lots of public-private key pairs. For security reasons one avoid sending and receiving coins from the same pair over and over again.

The first Bitcoin wallet I used would randomly generate these pairs as needed. If I forgot to do regular backups, and my computer crashed, that would mean all key pairs made since last backups would be lost and all coins associated with those keys would be lost.

That is NOT a good solution for a paranoid user. Hence BIP32 proposed a so called Hierarchical Deterministic Wallet, or HD wallet for short. With these your keys are not randomly made. They are instead derived (computed) from a seed (a special number). A seed is just a few bytes and can thus easily be written down on paper and stored safely. Usually we don’t write down the bytes themselves but write down some collection of words, which can be converted to these bytes. That is not the most space efficient way of doing it but the safest, because it creates redundancy. You don’t write down just some random characters which you could accidentally write wrong.

Instead you wrote down a collection of whole words, from a limited collection. If you write one or two letter wrong it doesn’t matter, because you can just lookup the correct spelling of the word, to get the correct word.

The beauty of this is that you can write these words down on a piece of paper, scratch them on a rock, engrave them in metal or whatever. The old Bitcoin wallets would be impractical to do that with because you would have to write a lots of words over and over again each time you used your wallet. HD wallet seeds are forever.

PIVX Core Wallet vs Light Wallet (IMPORTANT!)

What they call the Core Wallet, stores randomly generated public/private key in a wallet.dat file just like the original Bitcoin client. Thus you MUST backup this file regularly to not risk losing your money. If you loose this file, there is no PIVX customer support to call. Your money is gone.

On the positive side, the wallet will automatically backup this file on a regular basis. However you must make backups for these backups on semi regular intervals because your hardisk containing backups could fail. Store backups on a USB stick, burn to a CD, store on an extra hardisk or whatever. Just make sure you never put the backups in the cloud unless they are strongly encrypted by you. The last part s important. That the service provider claims to encrypt your data is of zero value. You need to be the one who encrypted the files with a password only you know.

You may wonder why does PIVX have this solution? My guess is that it is a hangover from Bitcoin. A full wallet is more code to change, and they probably did not get the time to change it to a HD wallet. By the time you read this, they may have done that already. Doing so is on their roadmap.

Interestingly they have partially done it. The coins that get minted through the zPoS algorithm I discuss further down, can be stored with a seed. Thus the core wallet is currently hybrid. Publicly known money is in a wallet that need regular backup while anonymously created PIV coins are stored in part of the wallet that works as HD wallet.

Zerocoin Protocol

The Zerocoin protocol is one way of giving users anonymity. It works by conceptually users proving that they destroy a crypto coin. The proof of this destruction is what allows a user to mint (create) an entirely new coin with no history. That means the coin is not traceable.

Usually other coins such as bitcoins are connected to a chain of transactions which tells you where they originated.

zPIV vs PIV

Proof of Stake, PoS 3.0

It is actually one of the main reasons why I am opposed to Bitcoin and will not buy it. Bitcoin has been estimated to consume more electricity than Ireland and 0.5% of the world’s electricity production by the end of 2018. That is an obscene amount of economic waste as well as major environmental damage.

The reason for this electric consumption is what we call proof of work (PoW). It requires computers of special hardware to perform lots of complicated calculations requiring lots of electricity to produce new bitcoins.

Proof of Stake, as used by PIVX in contrast cost almost no electricity. In simplified terms it works by owners of PIV coins holding a sort of election regarding which money transactions performed are valid. You do this by “staking” a certain amount of your coins. More coins means more of the votes.

Of course you don’t have to personally participate in this. You are basically telling the PIVX wallet software you are running to vote for you with a given amount of coins. It will keep voting for you until you turn staking off.

Now you may wonder, how does the software know what transactions to vote on? The PIVX software running on your computer locally will check all previous transaction including the new one being voted on to make sure the person performing the transaction actually owns that money. The owner has to essentially provide a mathematical proof that they own the money by demonstrating through a cryptographic signature using their secret private key, that they were previous recipients of the money they are now spending.

This whole scheme works, as long as the people staking the majority of PIV coins to vote, do so using the original PIVX software and don’t tamper with it to subvert the system. Somebody who wants to send out fake transaction getting money they don’t own, would have to make a sort of evil version of the PIVX software, and stake more money than all the other honest nodes combined.

However for selfish reasons this is implausible, because when you stake and vote like everybody else, you are rewarded with coins for your voting participation. This provides the financial incentive to stake and verify transaction. Hence somebody with lots of coins would make more money by playing ball with everybody else and staying honest.

The algorithm PIVX uses for proof of stake is referred to as PoS 3.0. It comes originally from BlackCoin.

This is something which can be a bit confusing when reading about crypto currency. A lot of the technology for various coins comes from other coins. The reason for this is that all coins are typically open source. The code is publicly available to anyone. Thus different coins will copy technological solutions from each other.

  • Wallet format and core technology comes from Bitcoin.
  • Governance model with Masternodes comes from Dash (funding of development of coin).
  • Zerocoin protocol as used for anonymity is the same as the one used by Zcoin.
  • Proof of Stake algorithm is the same as the one used by BlackCoin.

Anonymous Proof of Stake, zPoS

Summary

  • Similar formats for storing wallets.
  • Format for wallet addresses.
  • Anonymity algorithms.
  • Proof of work or staking.

Getting to know bitcoin is often useful to be able to understand other coins.

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store