1. Wallet Creation#

The goal of this tutorial is to provide guidance for the setup necessary to interact with the Ethereum and Bitcoin blockchains. We start off by explaining the original motivation behind the creation of cryptocurrencies according to the creator of Bitcoin, Satoshi Nakamoto. Following that, we introduce digital wallets, first giving a brief overview of what they are and why they’re necessary. We then provide step by step instructions on how to download and install both an Ethereum wallet and Bitcoin wallet. The tutorial is concludes with a section detailing how to acquire cryptocurrencies, with the example of Bitcoin.

Why Crypto?#

The pivotal concept behind Crypto is ‘trustlessness’. To understand the story and motivations behind cryptocurrency, it’s helpful to possess some knowledge of the financial industry during its inception and the attitudes of its most dedicated users. Although electronic money had been around for longer, the very first coin that can be considered a cryptocurrency is Bitcoin, created in 2009 by someone going by the alias Satoshi Nakamoto, whose actual identity is unknown to this day. The first two sentences of Satoshi Nakamoto’s paper explaining the necessity and functionality of Bitcoin read

“Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model.”

After the Great Financial Crisis in the United States and the onset of the Eurozone crisis in the EU, 2009 marked a period of historically low trust in the financial sector, and this is reflected in what Satoshi sees as the problem with the financial system, which goes as follows

Completely non-reversible transactions are not really possible, since financial institutions cannot avoid mediating disputes. The cost of mediation increases transaction costs … and there is a broader cost in the loss of ability to make non-reversible payments for non-reversible services. With the possibility of reversal, the need for trust spreads. Merchants must be wary of their customers, hassling them for more information than they would otherwise need. A certain percentage of fraud is accepted as unavoidable. These costs and payment uncertainties can be avoided in person by using physical currency, but no mechanism exists to make payments over a communications channel without a trusted party.

The central issue that the cryptocurrency community has focused on is the need to be able to trust the party you are transacting with. You need to be able to trust that your savings will not disappear overnight, merely because a bank’s risk department resented the the allegation that it was ‘The Anti-Fun Club’ and took too many risks with your capital. The theory, therefore, is that without a risk department handling your savings, you, the transactor, are in charge of your own money - when using cryptocurrency, you only need to trust is the blockchain, mathematics and programming. Trusting mathematics and programming (if written well and open source) is easy. Trusting the blockchain though, means trusting that it’s impossible for a single bad actor to attack the framework on which a cryptocurrency is built (the blockchain). It is typically easy for this trust to be built, since the monetary sums, and more importantly the computational resources, that would be necessary to attack the system are so large, that it is simply infeasible for a single attacker to ‘break’ the system. Furthermore, coordination by multiple actors - who have the power to attack the system - is unlikely due to the high risk of failure - although, it is not impossibly by any means. However, since the cryptocurrency eco-system is transparent, proponents of its use would argue that the same could happen - and has happened - in the traditional banking sector, and that worse yet, users have not had the opportunity to intervene or access information, as they would on the blockchain.

This means that a core design philosophy for those interested in cryptocurrencies is decentralisation; no single party should have enough control over the system to be able to cause the collapse of the system. This does not mean that there cannot be a few monopolistic platforms, but it does mean that these platforms should at least be open source, and the governance of these platforms will not be subject to a narrow board of executives.

This doesn’t imply that the world of cryptocurrency always operates this way. The issue of centralized governance is still unresolved for individual platforms. However, since anyone can easily replicate open-source code and create a competing platform, often at a cost of just a few dozen euros, it offers accessible alternatives to markets with monopolistic tendencies. Moreover, many cryptocurrency designers and those developing applications on top of them consistently prioritize the principles of decentralization and trustlessness.

Wallets#

Essential to anyone who wants to own, manage, or transact using cryptocurrencies like Bitcoin, Ethereum, or any other digital assets, is a wallet. The following section will explain what a wallet is, with some emphasis given to what it is from a computer science or cryptographic perspective, why wallets are useful and why anyone who wants to truly interact with cryptocurrencies should have one - although it is not technically necessary. Finally, this section features a tutorial on how to install a wallet for the two most popular cryptocurrencies, Bitcoin and Ethereum.

What are wallets#

A wallet is an application which lets you interact with the blockchain through an account (in crypto jargon an “address”), which is a pair of cryptographic keys (a public and a private key). Your public key is your identity on Bitcoin or Ethereum

Click for more details

A Bitcoin account is a collection of public keys (collection of addresses). An Ethereum account is one public key while an Ethereum address is the last 20 bytes of the Keccak-256 hash of the public key with 0x added to the beginning. For example, the following Ethereum address “0x69c488Bcda156379B6661f08A35dB627E5D467Dd” is the account of the person who bought the fifth most expensive piece of NFT art at the time of writing, while his (compressed) public key is the following “0x02681cf7abba48330ebd84a5b55bcb09895ca711b4de460f69c0a5b4773d8d61d2”

Note that your private key should never be shared. You can think of your Bitcoin or Ethereum account as operating like a bank account, the public key is your bank account identifier, and the private key is your password. A useful analogy, particularly for Ethereum, is to liken your cryptocurrency account to a bank card and a crypto wallet to the wallet where you store your bank card. You can have multiple accounts within a single blockchain, and the wallet helps you keep them organized. While you can switch wallets, the card you carry is still associated with the same account.

The reason for needing separate wallets is that different blockchains, such as Bitcoin and Ethereum, are distinct technological systems. They are akin to the FedNow payment system utilized by the Federal Reserve in the US and the TIPS payment system employed by the European Central Bank. There’s no straightforward method for transferring funds from a Bitcoin account to an Ethereum account.

Why is a wallet necessary?#

The short answer is ‘no, but it’s convenient’.

The longer answer is that wallets handle communication between the blockchain and your account, so without a wallet, every time you want to send a transaction, you have to write a piece of code to broadcast your intent to transact, to the blockchain. The wallet handles all of that for you, and accounts for a simplified UX.

Why is a wallet a good idea?#

Let’s say that you want to hold Ether (the currency on the Ethereum blockchain) or Bitcoin. Grosso modo, there are two ways of doing so, a “self-custodial” (meaning you’re the one who controls it) wallet as discussed above, or trusting a third party to hold the crypto for you in their own wallet.

When you first step into the world of different cryptocurrencies, you inevitably have to rely on an intermediary willing to exchange fiat currencies for cryptocurrencies. When purchasing cryptocurrencies, you use fiat, but since it’s essentially impossible (with some exceptions) to directly possess fiat in the crypto realm, you must engage with a centralized entity known as a crypto exchange.

Popular crypto exchanges include: Binance, Kraken, Coinbase, but also ones that have exploded spectacularly like Mt. Gox or the much more recent FTX. By default when you purchase cryptocurrency for fiat, you will gain a claim (note that the legal framework around this is not fully developed) on some amount of cryptocurrency held in a wallet, controlled by the exchange you used. Yet, the stories of FTX and Mt. Gox highlight the risks of keeping cryptocurrency in someone else’s wallet: you have limited control over what they do with it.

By holding cryptocurrencies in a centralized exchange, you are essentially entrusting them to that exchange’s account, with the expectation that they will transfer the funds to your account when requested. Holding cryptocurrency in a wallet under your control eliminates uncertainty regarding whether the crypto exchange will fulfill its promise. Additionally, it’s worth noting that some crypto exchanges have previously blacklisted specific wallet addresses.

Types of wallets#

If you’re wondering what kind of wallets you can choose, you typically have two types to choose from; hot and cold wallets. Hot wallets are what will be used in this tutorial - pieces of software that are connected to the internet. Cold wallets are physical devices that store your private key, like a USB stick. Cold wallets are more secure, since you can physically control when they are connected to the internet and when they are not. But they are also more likely to be lost. This tutorial will not feature cold wallets (see here if interested).

What Are Cold Wallets? The Most Secure Crypto Custody

Setting up your Ethereum wallet#

Throughout this series of tutorials, sections beginning with a header featuring a green background are intended for active participation and should be followed along.

For the purposes of this tutorial, we will be using the MetaMask wallet for Ethereum. This is the most popular Ethereum wallet and is considered a browser wallet. You can browse other trusted Ethereum wallets here.

First you want to go to https://metamask.io/ and click install “MetaMask for whatever browser you have

Untitled

Untitled

Once you’ve added it to your browser you will be redirected to a let’s get started page.

Untitled

You want to select the “Create a new wallet” choice. Create a password. Then select a seed phrase. At this point I want to reiterate the importance of the phrase secrète de recuperation. The crypto world is not a place where in the case of forgetting your password you can, or would want to, get a recovery link on your email. In case you forget your password or anything else happens, the phrase secrete de recuperation is the last line of defence. If you share that phrase or lose it, you will lose the money you have on that account.

Untitled

Untitled

Setting up your Bitcoin wallet#

Using Bitcoin is quite similar to Ethereum. The most widely used and secure Bitcoin wallet is called Electrum. One drawback is that it’s not very compatible with applications built on top of the Bitcoin blockchain. It’s important to note that the Electrum wallet is a standalone application, not a browser-based wallet. If you decide to use Bitcoin after this tutorial, we recommend Electrum, and an installation guide is provided below. Other popular Bitcoin wallets can be found here https://bitcoin.org/en/choose-your-wallet.

For the purposes of this tutorial we will be using XDefi, a browser wallet that supports multiple different blockchains. The reason for this is that it is more integrated, with applications built on top of the Bitcoin blockchain and easier to use. It is important to note it is also less secure due to it being relatively new and a browser wallet, so storing large amounts of money on it is inadvisable.

  • Electrum Installation guide (optional)

    An alternative Bitcoin wallet is Electrum, it is more useful if you are planning on only using Bitcoin, as it provides easy access to what’s called the ‘lightning network’. This is an application built on top of the Bitcoin blockchain which, among other things, makes it cheaper to send transactions.

    You can access the Electrum wallet download page from here: https://electrum.org/.

    Untitled

    Navigate to the downloads tab and select your operating system to download the correct files. I will be downloading the Windows Installer (make a note between standalone exe and installer)

    Once you have installed it open it and you should be greeted with the following page:

    Untitled

    Select Auto connect and you should be take to the next page, where you will be asked to create a wallet

    Untitled

    Select ‘Next’ and ‘Standard wallet’ on the next page. Then select the ‘create a new seed’ option and save the text that it generated. Just like with the Ethereum wallet, this serves as the “master key” to your wallet, and in case you should forget your password this is what will allow you to recover it. So make sure to save it somewhere secure where you won’t lose it. Once you have saved your seed phrase and created a password you will be greeted with the following page:

    Untitled

    This is the electrum wallet

To install the XDefi wallet you want to go to https://www.xdefi.io/ and click install “Install XDefi” in the top right corner. This will take you to your browsers extension market. Make sure that it has the logo which looks like this and a verified mark next to it.

Untitled

Add it to your browser, and then navigate to your bookmarks tab and open XDefi. It should look like this

Untitled

Click on “Let’s get started” and you will be redirected to a webpage that looks like the following:

Untitled

Choose the Create XDEFI Wallet option and you will be asked to first create a password, then given a 12 word seed phrase, which just like with the Ethereum wallet, serves as the “master key” to your wallet. In case you should forget your password this is what will allow you to recover it. So make sure to save it somewhere secure where you won’t lose it, advisably offline. Once you have created your password and saved your seed phrase, you will be asked to make XDefi your default wallet - this is up to you. Finally you will be greeted by the following page:

Untitled

Once you open the wallet up from your extensions, it will look like the following:

Untitled

Acquiring some cryptocurrency#

As mentioned previously, the three most common places to purchase crypto are Kraken, Coinbase and Coindesk. Choose one of the three (all three are safe, especially since we are moving the assets into our personal wallets immediately after purchasing them). I would recommend purchasing about 50 euros worth of Bitcoin and for the moment - no Ethereum.

Adding bitcoin to your own XDEFI wallet#

Once you have acquired some Bitcoin through your crypto exchange of choice, you want to withdraw it into your own wallet, to have custody over it.

The first thing to be done is to open a Bitcoin wallet on XDEFI by clicking the “Add Asset” button

Untitled

And then searching for Bitcoin in the list of cryptocurrencies

Untitled

Once Bitcoin is added to your list of assets click on the three dots on the right to open up a menu and choose “Copy Chain Address”

Untitled

The copied text is your Bitcoin public address. This can be shared with others in order to request funds or withdraw your own funds.

For example the Bitcoin(BTC) address seen below on The Pirate Bay homepage is generated in the same way.

Untitled

Now that you have the withdrawal address, open up the crypto exchange once more and navigate to your Bitcoin holdings, on Kraken this looks as follows:

Untitled

Once you select “Add Bitcoin address” you will see the following:

Untitled

From the description at the top, you’ll find information about the address. Below, paste the Bitcoin address we generated just before. Double-check that the address is correct because if there’s a mistake, your money will be transferred, but you won’t be able to access it.

Once you’ve confirmed the withdrawal address, return to the home page and confirm the transfer. Your Bitcoin should arrive in your wallet within 10 minutes. We’ll explain the reason for the delay in the next tutorial.

Adding funds to the Electrum wallet (optional)#

The very first thing you want to do is generate a Bitcoin address by opening up your Electrum wallet form, navigating to the receive tab and selecting “Create Request”

Untitled

This should open a box on the right containing your bitcoin address. If it contains a link instead, then the circled spot should contain “Bitcoin URL” instead, click on it until the button looks as presented in the screenshot. The text contained in the box below in your Electrum wallet is your Bitcoin public address. This can be shared with others in order to request funds or withdraw your own funds.

Add Ether to your MetaMask wallet#

Note that for the purposes of this series of tutorials, we will not be purchasing any Ether. In the case that you wish to purchase Ether (The name of the coin on the Ethereum blockchain) in the future, it works in much the same way as purchasing Bitcoin, except it is not necessary to generate an address, indeed the address that is displayed in the MetaMask wallet is the only address you will need (the differences between Bitcoin and Ethereum wallets will be explained in a future tutorial).

tempsnip.png

Withdrawing Ethereum works in exactly the same way, and once completed you should see a balance on your Ethereum account in not more than half a minute.

Thing to look out for on the Blockchain#

The most crucial piece of information you possess is your seed phrase. Before I delve into why it’s so important, let’s discuss some concepts related to cryptography. Computers aren’t truly random; they are deterministic machines. This means that if you input the same data into a program, you will always get the same output. To create randomness, computers use a ‘seed,’ which they run through a complex algorithm to generate unpredictable results. Even a slight change in the seed can significantly alter the algorithm’s output, creating the appearance of randomness. However, the same seed will consistently produce the same result.

Typically, computers use factors like the current time, the processor’s clock cycle, and certain memory data to generate a random number. When generating your private and public keys, the seed for randomness is your seed phrase. Consequently, if you share your seed phrase with anyone and they run it through the same algorithm used by your chosen wallet, they will gain access to both your private and public keys, thereby having complete control over your wallet.

Another thing to watch out for is what and who you interact with; the crypto world is full of scams, fake giveaways, pump and dump schemes and all sorts of other shady activity. No matter how much people on a project’s Discord, Telegram Channels or private messaging boards try to convince you otherwise, it is wise to stay away from projects that are new and have not been widely used and recommended. The fear of missing out will always be there, but most of the time you will end up wishing that you had missed out and losing money.

What’s worse is that in the world of crypto you cannot, by design, roll back payments (unless everyone agrees, but that would require convincing all miners that your mistake is important enough to roll back the entire chain (although, it has happened before, see for example the DAO hard fork). This means that if you accidentally send money to the wrong person, leak your seed phrase and lose your money, or send too much money, there is no way to reverse that, unless the person who received your funds willingly does so.

Lastly - do not trust people who send you private messages, informing you of opportunities or events, pretending to be customer support or whatever else. They want to get you to either give them your seed phrase or private key outright, or to interact with malicious smart contracts that will give them full control of your funds.

Next tutorial#

Now that we have everything set up for interacting with the world of cryptocurrencies, in the next tutorial we will learn more about Bitcoin and how it works.