K-of-M Private Key Generation and Backup in Bitcoin Wallets.

Introduction

You may already guessed it, one of our main interests at ‘privatekeys.org’ and ‘privatekeys.biz’ is precisely, well, private keys. As mentioned in a previous article of mine, our bitcoin wallets contain the most important piece of information when it comes to our cryptocurrency: the private keys that can unlock the UTXOs that were locked to the corresponding public keys and public key hashes. Please allow me to quote myself once again “Your (private) keys, then your bitcoins. Not your (private) keys, then I’m sorry pal, but not your bitcoins”.

Bitcoin community has some creative ways to protect private keys and the utxos, let me mention them here, and then we will propose a way to better protect our private keys backups.

Sigue leyendo

Anatomy of a Bitcoin transaction

Bitcoin transactions (tx) are the double-entry exchanges that get recorded into the blockchain ledger. They are the instruments where we exchange bitcoin units from public address to public address. They contain the amounts exchanged, the source and destination of the funds, a proof for authenticating the owners of the funds and a locking mechanism to make sure that only the destination of the funds will be able to make use of them. Transactions are generated at a pace that currently oscillates between 150.000 per day and 500.000 per day.

So, what does a bitcoin transaction look like?

Sigue leyendo

Changing the consensus rules: bitcoin forks.

I have been asked several times this year about forks. This is probably because we have seen several of them during 2017 on the bitcoin blockchain, I enumerate from memory: Bitcoin Cash, Bitcoin Gold, Segwit and others that are happening as I write these lines. You can get a more comprehensive list here [i] and here [ii]. What is exactly a fork, what do these forks mean, where do they come from, how come I get new coins out of nowhere? These are the type of questions that this article is trying to answer.

The consensus rules

One of the bitcoin characteristics that are more difficult for newcomers to get into terms with is the answer to “who creates new bitcoins”. You can talk about several computer programs running in parallel and that rush towards the resolution of a puzzle. The one that finds first the solution, gets rewarded with a specific number of bitcoins that get written into the blockchain. Then typically the following questions are “who decides which puzzle to solve?” or “who decides how many bitcoins does the winner get?” Well the answer to all these questions is that “These are the consensus rules today”.

Sigue leyendo

Key Derivation in Bitcoin Wallets as defined in BIP-0032

What is key derivation and why would we need it?

Public Key Cryptography refresh

It is assumed that the reader is somehow familiar with Asymmetric Key Cryptography: that is, the body of knowledge that deals with encryption algorithms that use pairs of values (called asymmetric keys) to encrypt and decrypt content. For a refresh on the subject, please check [i]

In any case, let us start with a quick reminder: Bitcoin and its blockchain has got is technical foundations rooted – amongst other mathematical principles and techniques – in cryptography, the art of hiding information from unauthorized disclosure using mathematical algorithms and small pieces of information that we call keys. The combination of the algorithm and the key is what protects the confidential data by making it unusable in its transformed form, by encrypting it.

More specifically, in asymmetric key cryptography we work with pairs of two different keys that are related to each other and that work together. Keys are generated in pairs and are specific to each other. What one key does encrypt using one algorithm, only the other key is able to decrypt using the same algorithm. And vice versa. Then we proceed to keep one of the keys secret – we call it the private key – while the other we make it available publicly – the public key -.

After this quick refresh, what usage do we give in bitcoin to asymmetric cryptography? In Bitcoin world, we use our public key to receive bitcoins. They are – sort of – the destination address where the bitcoins are sent. We use our private key to prove that we are the owners of the public key were the bitcoins were sent.

Sigue leyendo

Private Key Generation in Bitcoin Wallets as defined in BIP-0039

Our bitcoin wallets contain the most important piece of information when it comes to our cryptocurrency: the private keys that can unlock the UTXOs that were encumbered to the corresponding public keys and public key hashes. In other (maybe simpler) words, when we receive bitcoins, a transaction gets recorded on the blockchain indicating that these bitcoins were assigned to our public key. Only our corresponding private key can unblock these bitcoins and have them sent to a different public key (for example, when we sell them, or when we exchange them for some other good) by generating a new transaction where:

  • We need to prove that we are the “owners” of the public key where the bitcoins were assigned
  • We assign these bitcoins to a new owner (to a new public key)

In a few words, our private keys are the proof of ownership of our bitcoins, and only through them we can transfer them. Or as we say at privatekeys.org “Your (private) keys, then your bitcoins. Not your (private) keys, then I’m sorry pal, but not your bitcoins”.

Sigue leyendo