Guides Archives - Wasabi Wallet - Blog https://blog.wasabiwallet.io/tag/guides/ Wasabi Wallet Blog: Insights on Bitcoin Privacy & Tech Thu, 02 May 2024 13:24:38 +0000 en-US hourly 1 https://wordpress.org/?v=6.6.2 https://blog.wasabiwallet.io/wp-content/uploads/2022/05/cropped-ww_blog_icon-32x32.png Guides Archives - Wasabi Wallet - Blog https://blog.wasabiwallet.io/tag/guides/ 32 32 How to Use Wasabi Wallet’s RPC Interface  https://blog.wasabiwallet.io/use-wasabi-remote-procedure-call-interface/ Mon, 25 Mar 2024 09:23:21 +0000 https://blog.wasabiwallet.io/?p=3327 The RPC is used to communicate with a running Wasabi instance. It provides some options and features which are not available (yet) when using the Graphical User Interface. Since Wasabi version 2.0.6, the RPC can be exposed as an onion service, which enables remote control.

The post How to Use Wasabi Wallet’s RPC Interface  appeared first on Wasabi Wallet - Blog.

]]>
The usual way to use Wasabi is by using the Graphical User Interface (GUI), where the user can click buttons and navigate through the app using the cursor. Wasabi also provides a Remote Procedure Call (RPC) interface to interact with the wallet programmatically.

The RPC is used to communicate with a running Wasabi instance. It provides some options and features which are not available (yet) when using the Graphical User Interface. Since Wasabi version 2.0.6, the RPC can be exposed as an onion service, which enables remote control.

Let’s take a look at how to configure the RPC server, its available methods, the features that are currently only available using the RPC. and finally at a usage example.

Configuration

The RPC server is disabled by default. To use the RPC, it has to be enabled in the Config.json file in the Wasabi data folder by setting JsonRpcServerEnabled to true. 

The Remote Procedure Call (RPC) interface allows anonymous and basic authentication access. The default is anonymous access. To enable basic authentication the JsonRpcUser and JsonRpcPassword should be specified in the Config file, and then the right credentials have to be specified at every request.

It is optional (but recommended) to install the jq command line processor and then use | jq at every request to get a structured output.

Available methods

The current latest Wasabi version (v2.0.6) contains 26 RPC methods:

getstatus, createwallet, recoverwallet, listwallets, loadwallet, listcoins, listunspentcoins, getwalletinfo, getnewaddress, send, build, broadcast, speeduptransaction, canceltransaction, gethistory, getfeerates, listkeys, excludefromcoinjoin, startcoinjoin, payincoinjoin, listpaymentsincoinjoin, cancelpaymentincoinjoin, startcoinjoinsweep, stopcoinjoin, buildunsafetransaction, and stop.

Most of these speak for themselves: createwallet creates a new wallet, listwallets list the available wallets etc.

Features currently only available using the Remote Procedure Call

Some methods offer features that are, at the moment of the writing of this article (Wasabi v2.0.6), only available using the RPC interface, like excludefromcoinjoin, payincoinjoin, startcoinjoinsweep and buildunsafetransaction.

excludefromcoinjoin 

Allows to exclude a coin from participating in coinjoin. The coin will never participate in coinjoin until excludefromcoinjoin is set to false.

payincoinjoin 

Allows to pay to a specific bitcoin address in a coinjoin. This saves fees and block space since incoming funds, outgoing payments, and leftover change can all be made private at once.

startcoinjoinsweep 

Allows to sweep (empty) the wallet by sending the coins to the destination wallet in a coinjoin transaction. The destination wallet needs to be a wallet on the same Wasabi client. It works the same as normal coinjoin, except that the outputs are sent to the destination wallet. Note that this is not a proper coinjoin to other wallet implementation, but supposed to be used to empty a wallet.

buildunsafetransaction

Allows to build a transaction with the mining fee being higher than the sent amount, which is otherwise not possible in Wasabi.

listunspentcoins

Although not really a feature, this RPC allows you to see the addresses and derivation path associated with the wallets’ coins, which is not possible to see using the GUI.

Payincoinjoin

One RPC-only feature worth highlighting is the payincoinjoin. Using this RPC method, the user specifies a destination address and the amount, and then the payment will be done in a coinjoin.

In theory, payments in coinjoins be made to any ScriptPubKey, however the zkSNACKs coordinator currently (March 2024) only accepts P2WPKH and P2TR outputs.

payincoinjoin only registers a payment, so if coinjoin is not running or the amount is lower than the wallet balance, the payment is queued.

This feature is new since the 2.0.6 release. The payincoinjoin works, but there are still some optimizations to be made, like to make the coinjoin coin selection aware of payincoinjoin to select coins based on amounts to fulfill the payment. 

Usage Example

The RPC interface can be used with both the daemon as well as the GUI. However using the GUI while also doing RPC calls is not supported and can make Wasabi crash.For wallet specific calls, the wallet name should be specified in the URL.

To simply start using the RPC:

  1. Have the RPC configured
  2. Open the terminal and launch the Wasabi daemon: wassabeed
  3. Open a second terminal window
  4. Call the RPC methods (one can simply copy paste the examples listed in the RPC docs:
  5. For example: curl -s --data-binary '{"jsonrpc":"2.0","id":"1","method":"getstatus"}' http://127.0.0.1:37128/ | jq

(| jq should be removed, if it is not installed)

getstatus

Wallet specific call: listunspentcoins

Wallet specific call with a parameter:

For demonstration purposes, we did it like this by manually entering it in the terminal, but the RPC also makes it possible to do things in an automated way.

For more information about the RPC: explanation and examples of each method, troubleshooting and how to expose the RPC Server as an onion service, please check out the RPC docs.

The post How to Use Wasabi Wallet’s RPC Interface  appeared first on Wasabi Wallet - Blog.

]]>
How Coinjoin Wallets Compare on Fees https://blog.wasabiwallet.io/what-are-the-different-fees-for-coinjoin-transactions/ Wed, 10 Jan 2024 07:40:52 +0000 https://blog.wasabiwallet.io/?p=3200 If you want to know the details of how WabiSabi, Whirlpool and Joinmarket fee structures work, read on. We’ll define all the fees of a coinjoin transaction, the way fees are calculated for each protocol and finally, which one is better for many different user profiles. 

The post How Coinjoin Wallets Compare on Fees appeared first on Wasabi Wallet - Blog.

]]>
There’s nothing worse than being surprised by the fees of a product after using it. With the advent of high mining fees on the Bitcoin network, it’s important to be mindful about the fees you’re paying for coinjoin transactions. If you’re like me, you want to know in advance how much it’s going to cost you to use a privacy wallet. Coinjoins require on-chain transaction fees, which are collected by miners, and often involve coordination fees, which are collected by the coinjoin transaction coordinator (or in Joinmarket’s case, providers of coinjoin liquidity). 

The question then becomes: How do coinjoin wallets compare on on-chain transaction fees?

Bitcoiners may find different protocols advantageous depending on the amount they are coinjoining, or how long they are willing to wait before spending. For example, if an input you want to coinjoin is of a ten million sats or less, WabiSabi wallets are ideal unless you’re willing to wait days or weeks coinjoining, which in that case Whirlpool would be better due to the free remixing policy. 

In cases where you are willing to provide liquidity and wait for others to coinjoin, you may prefer acting as a Joinmarket maker to passively earn sats. Finally, if you’re coinjoining more than 1 BTC, Joinmarket basically almost always wins in terms of fees. 

It’s also important to remember that this analysis was purely from the fees to be paid point of view, and didn’t take into account how strong each privacy guarantee is for each protocol. To learn more about the benefits and the tradeoffs of each coinjoin protocol and wallet, visit the open-source educational website Coinjoins.org

If you want to know how WabiSabi, Whirlpool and Joinmarket fee structures work, read on. We’ll define all the fees of a coinjoin transaction, the way fees are calculated for each protocol and finally, which one is better for many different user profiles. 

What are the Different Fees for Coinjoin Transactions?

To answer what are the different types of fees on a coinjoin transaction, we will explain how coordinator fees work for each protocol, and then how mining fees work for each protocol. 

What are Coinjoin Coordinator Fees?

Protocols like WabiSabi and Whirlpool use a centralized coordinator model to scale privacy, allowing multiple users to cooperate in a transaction without any participant knowing which coins belong to the others. Cryptography and discreet network communication are required in order to ensure that movements of funds are not revealed to the coinjoin coordinator. To learn more about how coinjoin protocols work, read more on Coinjoins.org.

Coordinator fees are what you pay the third-party in exchange for their services. The fee can be static (fixed amount) or dynamic (percentage). 

Coordinator Fees for WabiSabi Coinjoins

For example, in WabiSabi wallets like Wasabi Wallet, BTCPay Server or Trezor Suite, coordinator fees are 0.3% (dynamic) of what you’re mixing (for the zkSNACKs coordinator). You’re only charged on the first transaction so remixing is free of coordinator fees. Also, if someone sends you coinjoined bitcoin, your coordinator fees are waived too. This feature is called Friends don’t pay.

In addition, the Plebs don’t pay feature makes it that coordinator fees are waived for any coinjoin input less than 1,000,000 satoshis (0.01 BTC). This improves accessibility for users with low amounts of bitcoin. 

Coordinator Fees for Whirlpool Coinjoins

On the other hand, on Whirlpool wallets like Samourai, Sparrow, and Bitcoin Keeper, coordinator fees are of a fixed amount, depending on the liquidity pool you choose to be part of. Here’s the breakdown per pool:

  • 100,000 satoshis pool: 5,000 sats of coordinator fees
  • 1,000,000 satoshis pool: 50,000 sats of coordinator fees.
  • 5,000,000 satoshis pool: 175,000 sats of coordinator fees.
  • 50,000,000 satoshis pool: 1,750,000 sats of coordinator fees.

You might be wondering what a coinjoin pool is. In short, it’s the coinjoin output denomination amount. The 100,000 satoshis pool will result in coinjoined outputs of that precise size. Here’s a visual example for the 5,000,000 satoshis pool: 

As you can see, every output is of the same value. When you enter a pool, you pay the fixed fee amount. However, you can enter a pool with much more than the pool denomination, to be exact you can enter with up to 70 times the pool denomination, split across 70 outputs (for the 100k sats pool it’s only 25 times). 

Now on to Joinmarket, which doesn’t have coordinator fees but there are coinjoin fees.

Coinjoin Fees on Joinmarket

Joinmarket works differently than other coinjoin protocols because it doesn’t have a centralized individual entity coordinator, but rather two user roles in a P2P (peer-to-peer) environment: makers (who provide liquidity for a fee) and takers (who pay a fee for liquidity and coordinate the transaction). Any user can be a maker or a taker.

In short, instead of paying for coordination, you pay for liquidity. There’s an orderbook with all maker offers and at different price points. Some charge a static fee (fixed amount) but most charge a dynamic fee (a percentage of the liquidity used). 

When you’re a taker, you use the liquidity of many makers in a single transaction, usually 8, which makes 9 participants including you. You pay each maker what they ask for. For example, if there’s 8 makers and each charge a dynamic fee of 0.0001% BTC for the liquidity used, and you use 1 BTC of each, you pay a total of 10,000 sats * 8 = 80,000 sats.

This is the case for each Joinmarket transaction you’re the taker on. If you’re a maker, you enjoy privacy and you get paid for it: the best of both worlds.

How Mining Fees Work on Coinjoin Transactions?

Mining fees are part of every transaction on the bitcoin network, and coinjoins are no exception. It works differently for all three major protocols. Here’s a tool to calculate bitcoin transaction size

Mining Fees on WabiSabi Coinjoins

On WabiSabi coinjoin transactions, you only pay the fees associated with the blockspace your inputs and outputs take. For example, if you have a P2WPKH (segwit native) wallet and you have 3 inputs and 5 outputs in a coinjoin transaction, and the current fee is 50 sats/vbyte, you will pay:

Total blockspace: 3 * 68 vbytes + 5 * 31 vbytes = 359 vbytes

Total mining fees: 516.5 vbytes * 50 sats/vbytes = 17,950 sats

You pay exactly what you consume in blockspace, in every coinjoin transaction you participate in. 

Mining Fees on Whirlpool Coinjoins

The mining fee structure of Whirlpool coinjoins is a bit more complicated, but nothing that we can’t explain. Here it goes.

First off, it’s important to understand that before the coinjoin process begins, a premix transaction, also known as Tx0, takes place. The claimed purpose is to split your total input amount into the outputs to coinjoin, the non-private change output that goes into a separate wallet account called BadBank, and the coordinator fee to pay. 

For example, if you have a 1,500,000 sats UTXO for the 1,000,000 sats denomination pool, your premix transaction (Tx0) will have 1 input and three outputs: one output to coinjoin, a 50,000 sats output to pay the coordinator, and a non private change output that goes to the BadBank wallet account.

It’s important to understand that your premix can have many inputs and many outputs to coinjoin (up to 70), but the minimum number of inputs is 1 and outputs is 2 (if there’s no change). 

The first part of the mining fees for Whirlpool coinjoins is the fee you pay for the premix transaction. However, there’s a second part: you have to pay mining fees for the first coinjoin transaction, and not only for you, but for anyone remixing in it. You share that cost with at least one additional user out of 5, but it can be up to 4 out of 5 participants. When you remix and enter further coinjoins, you don’t pay any fees.

How to calculate Whirlpool Tx0 Mining Fees

The formula for the mining fees on Tx0 is as follows (assuming all are P2WPKH UTXOs): 

Total vbytes: Base transaction vbytes + input vbytes * number of inputs + output vbytes * 2 (for change and coordinator fee outputs) + output vbytes * number of coinjoin outputs

Which comes out to: 10.5 + 68 * inputs + 31 * (2 + cjOutputs)

For example, if there are 5 inputs and 10 cjOutputs, the total vbytes will be:

Total vbytes: 10.5 + 68 * 5 + 31 * (2 + 10) = 722.5 vybtes

Total fees (assuming 50 sats/vbyte): 722.5 * 50 = 36,125 sats

How to calculate Whirlpool Coinjoin Mining Fees

Regular Whirlpool coinjoin transactions have 5 inputs and 5 outputs, which comes out to a total of 505.5 vbytes. Considering that 2 new entrants are paying, this splits the duty in two. You’re then responsible for paying 202.75 vbytes, for each one of your 10 coinjoin outputs.

Total fees (assuming 50 sats/vbyte): 202.75 * 50 * 10 = 101,375 sats

This gives you a total of 36,125 + 101,375 = 137,500 sats to pay on mining fees. However, this is a one-time fee, and you will be able to remix for free, for as long as you want.

Now, let’s cover the remaining protocol, Joinmarket.

Mining Fees on Joinmarket Coinjoins

By default, a taker is in charge of paying all the mining fees for a Joinmarket coinjoin transaction. However, there’s a setting for makers to include a mining fee contribution in their offers. In practice, as of the 10th January 2024 at 6:00 AM UTC, there’s not a single offer that includes a mining fee contribution out of 65 offers.

This means that as a taker you will almost certainly pay the entirety of the mining fee required for the Joinmarket coinjoin. This means that for every input, there will be a coinjoin output and a change output. If there are 9 participants, there are at least 9 inputs (there can be more), and at least 18 outputs. It’s also not mandatory that everyone uses the same wallet standard, which means some inputs can cost more than others. Let’s assume every input and output is P2WPKH and that every participant only has 1 input.

Total vbytes: 9 * 68 + 18 * 31 = 1,170 vbytes

Total fees (assuming 50 sats / vbyte): 58,500 sats

In short, the formula to calculate the mining fees paid is (68 * number of inputs + 31 * number of outputs) * mining fee in sats / vbyte.

Now that we’ve broken down how exactly to calculate the fees for every coinjoin protocol, let’s examine which would be better for different profiles.

I have a 990,000 sats (0.099 BTC) UTXO to mix. Which protocol is better for fees?

If you have a million sats or less, here are the coordinator (liquidity for Joinmarket) fees paid for every different coinjoin protocol:

  • You won’t pay any coordinator fees with WabiSabi.
  • You can only enter the 100,000 sats pool on Whirlpool and you will pay 5,000 sats in coordinator fees.
  • FOR TAKERS only: On Joinmarket, it depends on the orderbook: as of the 10th of January 2024, you will pay an average of 0.0007% for 8 makers, which would be a maximum of 56 sats (depending on the mining fee market to know how much you have left in sats). 

Here are the mining fees to pay for every different coinjoin protocol (assuming 50 sats/vbyte);

  • WabiSabi: Assuming you have 1 input and 7 outputs (extremely high estimation) are created, you will pay 17,925 sats for the first coinjoin transaction. For each further coinjoin transaction, considering you will have 7 inputs now, you will pay 35,175 in sats.
  • Samourai: assuming you have 1 input and 8 coinjoin UTXOs will be created, you will pay a total of 120,650 sats for the Tx0 and the coinjoin mining fee.
  • Joinmarket (FOR TAKERS only): assuming you have to pay for a total of 9 inputs, and 18 outputs, you will pay a total of 62,150 sats for each coinjoin transaction. 

In total:

  • WabiSabi: 17,925 sats for first, 35,175 sats for further transactions.
  • Whirlpool: 125,650 sats in total.
  • Joinmarket: 62,182 sats for each transaction.

The conclusion for this user profile is that WabiSabi is better if you’re doing 4 transactions or less, but Whirlpool will become more economical after that. It depends on whether you want to mix fast or slow, and also it’s important to consider that to gain the same level of privacy as with 4 WabiSabi transactions, you will need to make many more on Whirlpool.

Joinmarket is not worth it for this amount unless you’re a maker.

The winner for this user profile: WabiSabi Coinjoins.

I have 10,000,000 sats (0.1 BTC). Which wallet is better?

Now that we’ve broken down the first user profile, we can just jump straight to total fees for the next ones. We keep the same assumptions. 

Total fees for each coinjoin protocol:

  • WabiSabi: 30,000 sats (coordinator fee) + 17,925 sats (mining fee) = 47,925 sats for first + 35,175 sats for further transactions.
  • Samourai 1M sats pool: 50,000 sats (coordinator fee) + 134850 (total mining fee) = 184,850 sats (5M sats would be possible too but not as economical and with more change)
  • Joinmarket (FOR TAKERS only): 317 (liquidity fee) + 62150 (mining fee) = 62467 sats for each transaction

Joinmarket is more competitive but the result remains the same. WabiSabi is better for 3 transactions or less, and Whirlpool for continuous remixing. However, 3 WabiSabi transactions gives you a sufficient level of plausible deniability that is enough to make tracking the transactions of most users super hard.

Winner: WabiSabi (unless you’re a Joinmarket maker)

I have 100,000,000 sats (1 BTC). Which wallet is better?

Total fees for each coinjoin protocol:

  • WabiSabi: 300,000 sats (coordinator fee) + 17,925 sats (mining fee) = 317,925 sats for first + 35,175 sats for further transactions.
  • Samourai 5M sats pool: 175,000 sats (coordinator fee) + 276850 (total mining fee) = 451,850 (50M sats would be possible too but not as economical and with more change)
  • Joinmarket (FOR TAKERS only): 3168 (liquidity fee) + 62150 (mining fee) = 65,318 sats for each transaction

For this category, Joinmarket is the winner under 7 transactions, then Whirlpool is more economical. WabiSabi is better than Whirlpool for 3 transactions or less.

Winner: Joinmarket

I have 1,000,000,000 sats (10 BTC). Which wallet is better?

Total fees for each coinjoin protocol:

  • WabiSabi: 3,000,000 sats (coordinator fee) + 17,925 sats (mining fee) = 3,017,925 sats for first + 35,175 sats for further transactions.
  • Samourai 50M sats pool: 1,750,000 sats (coordinator fee) + 276850 (total mining fee) = 2,026,850 sats in total
  • Joinmarket (FOR TAKERS only): 31680 (liquidity fee) + 62150 (mining fee) = 93,830 sats per transaction

For this category, Joinmarket is the winner under 20 transactions, which means it’s the winner hands down. 

Winner: Joinmarket

Conclusion

We explained how fees work on every major coinjoin protocol such as WabiSabi, Whirlpool and Joinmarket. We then compare them in different contexts ranging from a user that has less than a million sats to one that has a billion sats. Many assumptions are required to be made, but the formulas are shared so you can calculate it in other scenarios where variables such as the number of inputs, the number of outputs and the current mining fee, change. 

It’s also important to remember that this analysis was purely from the fees to be paid point of view, and didn’t consider how strong each privacy guarantee is for each protocol. To learn more about the benefits and the tradeoffs of each coinjoin protocol and wallet, visit the open-source educational website Coinjoins.org

The post How Coinjoin Wallets Compare on Fees appeared first on Wasabi Wallet - Blog.

]]>
Bitcoin Privacy Primer https://blog.wasabiwallet.io/bitcoin-privacy-primer/ Fri, 11 Aug 2023 07:52:44 +0000 https://blog.wasabiwallet.io/?p=2410 Good privacy is important for your personal security. Deciding who knows what about you is essential for your financial matters. Few people know how much money you have in your bank account.

The post Bitcoin Privacy Primer appeared first on Wasabi Wallet - Blog.

]]>
The following article was created as a privacy guide for Cryptosteel‘s Operational Security manual, co-authored by folks from Trezor, Bitbox and Wasabi Wallet, which is available for free to download here.

You thought you had good privacy on bitcoin? Think again. In the digital age, privacy is hard to achieve. Privacy is a choice to not share certain information about oneself. As a digital monetary network, every bitcoin transaction is public and visible to all, so maintaining privacy on bitcoin can be a difficult task. The good news is that using the right tools, it has never been easier to reclaim your financial privacy using bitcoin. Why does privacy even matter? Does using bitcoin hurt or protect your financial privacy? What are the right tools to reclaim your privacy on bitcoin?

Good privacy is important for your personal security. Deciding who knows what about you is essential for your financial matters. Few people know how much money you have in your bank account. Your butcher doesn’t know that you went to buy fish instead of meat last week. Your employer doesn’t know which political parties or non-profit you support. It should be no different with bitcoin. And yet, bitcoin is a public network so more privacy precautions are warranted for users to be safe.

Privacy = Security

Let’s start at the beginning. You should generate your seed phrase on a bitcoin wallet that does not leak personal information. Use a private place that you know to be away from prying eyes when you create and backup your seed. A bitcoin wallet should be free and open source, with as many reviews from developers and users as possible so you can trust the integrity of the software. A bitcoin wallet should handle balance queries in a private way, without leaking your addresses and transaction history to third parties. Your wallet should also be integrated with an anonymity network such as Tor, which protects your IP address from being collected and used to track you down the line.

Bad Privacy

There are common mistakes that new bitcoiners (and sometimes even OGs!) make. Re-using addresses multiple times for different payments is the most basic error you can make. Doing so links seemingly unrelated past payments together, making it easy for an external observer to track your future payments.

Leaking all your wallet transaction details by trusting the bitcoin full node of a third party. To preserve your privacy, you should always try to run your own full node through Tor to protect your IP address, verifying your wallet balance and broadcasting transactions. There are other private ways of using a bitcoin wallet that may not include running a full node that we will cover later.

Using public block explorers to view and track personal transactions. This one sounds uncomfortable because we’ve all done it, and yet public block explorers may log your IP address as well as all the bitcoin addresses you have looked up, which could be an indication that they belong to your wallet.

Being vocal about your bitcoin holdings on your social media profiles. Posts of your bitcoin purchases and addresses to receive payments on online forums are scraped by chain analysis companies to cluster wallets in an attempt to identify entities such as individuals and companies.

Buying bitcoin on KYC exchanges. Unfortunately, many bitcoiners give up very sensitive personal information to buy bitcoin from regulated businesses, which may be shared publicly in data leaks, as has happened many times over in the past.

Good Privacy

Buying bitcoin peer-to-peer without KYC. Buying and selling bitcoin with peers using cash or even bank transfers is the best way to protect your privacy when you trade bitcoin.

Labeling addresses to keep track of your funds. Labels in your wallet are very helpful to get additional context on your transactions, whether incoming or outgoing, and should always be done as much as possible to keep track of how much information you reveal publicly when making a transaction.

Being aware of coin control and how it works. This goes in tandem with address labels. Usually when you send bitcoin, this will create a change output (back into your wallet) as the amount you send is larger than the one your receiver gets in the payment. That change is often referred to as “toxic” as it makes your future transactions easily traceable if you’re not careful how you use it.

Using network privacy tools like VPNs and the Tor anonymity network. Network-level privacy is beyond the realm of bitcoin but remains quite important to protect your personal security and avoid leaking your IP address, which can reveal your location.

Using Coinjoins

Most likely you have made some errors in the past. Bitcoin is often said to be unforgiving but there is a way to erase some of these mistakes. You can reclaim your privacy with collaborative bitcoin transactions called coinjoins. A coinjoin allows multiple users to participate in one single transaction together to hide their transaction history from the public. A coinjoin is a type of bitcoin transaction, which breaks the link between inputs and outputs, giving plausible deniability to participants. With a coinjoin, you can unlink some of your past transaction history from your current bitcoin holdings. Coinjoins will never delete the KYC data you have shared to third party exchanges, but it makes linking this data back to your holdings much harder.

Why Coinjoin Is Good

Coinjoins make bitcoin unspent transaction outputs (UTXOs) indistinguishable from each other. Being now fully interchangeable, coinjoin UTXOs are considered to be fungible as their different transaction histories are fully obfuscated from one another. Fungible UTXOs make bitcoin much easier to use as you now don’t have to think about which coin to spend in a payment. Without coinjoins, bitcoin UTXOs are not fungible, and without fungibility, censorship and seizure are possible. A merchant may refuse your coin based on its transaction history and an exchange may seize it if it is deemed risky.

Wasabi Wallet

As a free and open source bitcoin wallet, Wasabi Wallet has a built-in coinjoin feature, which is enabled by default. Wasabi Wallet is also compatible with most hardware wallet devices. Wasabi Wallet communicates over Tor to protect your IP address from being collected and uses block filters to query your wallet balance. Block filters are a bitcoin wallet network privacy improvement which do not require users to run their full nodes to get wallet balances, while not sharing information about their addresses with anyone else. Of course, if you want, you can always run your own full node and connect it to Wasabi.

The Wasabi coinjoin feature has at least 150 inputs in all its transactions for maximum privacy of its participants. A coinjoin coordinator fee of 0.3% is charged to all inputs that register for the Wasabi coordinator for the first time, except for inputs smaller than 1 million sats. All subsequent coinjoin rounds, also called remixes, are free of coordinator fees. All inputs pay bitcoin network fees.

Learn more about coinjoins on the documentation of Wasabi Wallet. As a reminder, the following article was created as a privacy guide for Cryptosteel‘s Operational Security manual, co-authored by folks from Trezor, Bitbox and Wasabi Wallet, which is available for free to download here.

The post Bitcoin Privacy Primer appeared first on Wasabi Wallet - Blog.

]]>
The Best Technologies for Keeping Your Identity Secure https://blog.wasabiwallet.io/the-best-technologies-for-keeping-your-identity-secure/ Sun, 26 Mar 2023 12:16:35 +0000 https://blog.wasabiwallet.io/the-best-technologies-for-keeping-your-identity-secure/ Internet websites and applications are full of trackers for ad and surveillance purposes. If you don’t watch out, you will quickly discover that you’ve revealed yourself to the world more than you had initially wanted.

The post The Best Technologies for Keeping Your Identity Secure appeared first on Wasabi Wallet - Blog.

]]>
As soon as you enter the digital world, you must know that your identity security is immediately at risk. It’s mainly the case nowadays since most devices, Internet websites and applications are full of trackers for ad and surveillance purposes. If you don’t watch out, you will quickly discover that you’ve revealed yourself to the world more than you had initially wanted.

This article guides you through securing your identity in the digital world by providing a list of technologies you can use to protect yourself. This list goes from the device you use, how you access the internet, how you authenticate to websites and applications (email and phone number), how you communicate with peers, and finally, how you make payments online.

The technology recommendations are for beginner and intermediate users who want to protect themselves. For those that wish to learn more and for advanced users, there are links to every technology mentioned.

A Secure Device and Operating System

As of September 2022, it is estimated that Android is the most popular operating system in the world, with 43% of the market share. Windows follows it at 29%, Apple iOS at 16%, MacOS at 6%, and desktop Linux at 1.1%. Even though Android is open-source, most versions come by default with Google spyware. For Apple (both iOS and MacOS) and Windows, it’s even worse since you have little control of the device and can’t escape the hold Big Tech has on it. For example, even if you turn off sharing analytics with Apple on your iPhone Settings, that communication remains in the background.

If you want a secure device and operating system, the best technology you can use is an open-source Desktop Linux that is not commercially attached to a company. That immediately discards Ubuntu (Canonical LTD), which is prepackaged with telemetry software that you have to opt out of and has been called spyware by the free software pioneer Richard Stallman. Redhat (Inc) is even worse because you need to create an account and buy a commercial license to use it. There are many options for community-driven Linux distributions, such as Mint, Debian, Fedora, Qubes, TailsOS, etc.

Linux Mint is often recommended for its simplicity and popularity, allowing non-technical users to install it on their desktop or laptop in only a few hours. Here are the instructions on how to do so from the official community website. It’s Debian based, so it has the same software compatibility as Ubuntu.

Although privacy and identity on mobile devices are harder to figure out, it’s still possible to do so. There are modified Android versions that remove every spyware packaged by Google, and one that has received wide approval from the open-source community is GrapheneOS. There is a limited number of devices you can install this operating system onto, but you can find a list of them here. Finally, here are some instructions on how to complete that process.

You now have a desktop or mobile device with an identity-protecting operating system.

Protecting your Identity when accessing the Web

As soon as you communicate with a web server through a browser interface or the command line, your IP address will serve as your identity for communication. You might think there’s little risk associated with that because there’s no immediate identity link. Still, the reality is that the server can estimate a very accurate geographical location, which traces back to you.

Using a VPN to Route your Traffic

Although there’s some controversy about VPN usage, given you use a centralized server to route your traffic, it probably is better to use one than not. Many providers claim to implement a no-logging policy, but it’s hard or impossible to verify if it’s true. A false sense of security won’t blind you if you’re aware of the limitation that the VPN server is aware of your IP address and can be hacked or involved in a leak.

Privacyguides.org is a website maintained by privacy advocate Jonah Aragon that reviews VPNs based on stringent criteria such as open-source clients, independent audits, and accepted private forms of payment. Their only three recommendations are Proton VPN, IVPN, and Mullvad VPN, none of which have been hacked. They have versions for any operating system and you can purchase any of them with bitcoin (more on identity-protecting payments in a different section).

For those worried about performance, Mullvad supports Wireguard, a modern and faster VPN protocol. Here’s an article from Jameson Lopp on how to set up Wireguard for a better web experience.

A Decentralized but Slower Alternative: Tor Network

There are many reasons you would want to use Tor instead of a VPN. First, you simply don’t want to rely on a centralized service because of the risks of leakage or hacking. Also, you don’t want to pay for a more performant and easier-to-use service. Finally, and this is only the case for onion services, you care about the privacy of the website server and not only your own.

Tor (The Onion Router) is a peer-to-peer network comprised of clients like you and voluntary relay servers that route your traffic. Every time you connect to a web server, you hop through many relays before reaching your destination. Each relay knows only the IP address of the previous and the following peer, so making many hops protects your identity from the endpoint and middle relays. Although the entry guard knows your IP address, this information isn’t useful by itself since it doesn’t know your web destination.

Here’s an illustration that demonstrates how the Tor network works.

Tor is available as a client-side application with the Tor Browser and as a server for more complex and technical use cases. You can install Tor Browser here, and for more advanced users curious to know how to run a relay server, the instructions are here.

Using Private Email Addresses and Phone Numbers for Authentication

Now that you can access the internet in an identity-protecting way, you may want to use web services. You already know that most of these services will ask you for an email address or a phone number to sign up, so you will want to equip yourself with services that can provide unlimited accounts without compromising your privacy or security.

Secure and Private Email Addresses

ProtonMail is recommended because of its reputation, encryption security, simplicity, and free plan. Even though they provide a centralized service, they don’t have access to your emails; only you do. The application code is open-source and independently audited by third-party security experts. You can sign up here.

You can also use their complementary service SimpleLogin which provides an additional ten email aliases for free to keep your primary email private from most services. Every email sent to any of these aliases ends up in the same inbox, similar to how you use different addresses to receive bitcoin in the same wallet. For single-use applications without sensible data, you can use a service like TempMail to receive emails on a temporary email address.

VoIP Phone Numbers and International eSim Cards

Phone numbers are trickier since they’re not web-native. Still, getting one without compromising your identity security anywhere in the world is possible. First of all, there are many VoIP (Voice over IP) services available that you can purchase with bitcoin and even some that are free.

I haven’t verified any of those services, so you must research the one you choose to ensure you feel comfortable with the associated risks. Here’s a website where you can find many of those options.

The main limitation of using a VoIP service is that many applications will simply detect that it’s not an actual phone number and will block you from using their service. Also, they’re usually not the most privacy-preserving services out there. Don’t worry; there’s a way to get an actual phone number in a very identity-protecting way.

Silent Link is an available worldwide service that sells eSIM cards for bitcoin for data and a US-based or UK-based phone number. You don’t need an email address, you can just make your bitcoin payment (on-chain or lightning), and you’re good to go.

You will need a mobile device for this, so if you don’t have one, you are stuck with VoIP services to obtain a phone number.

The SilentLink instructions to purchase an eSim Card.

End-to-End Encrypted Communication Tools and Decentralized Social Media

Two of the most critical use cases of the internet are communication and social media. In this section, I will explain the different technologies you can use for private conversations and networking without compromising your identity.

End-to-end Encrypted Communication

The first thing you should not compromise on if you want to protect your identity when it comes to communication, is end-to-end encryption. It’s 2023, and it’s tough to argue the need to use a tool that doesn’t provide this essential feature. Gladly, there are many options that we will go through in this section.

End-to-End encryption is a method that ensures only you and your recipient can read the communicated information, secured by cryptography.

Unfortunately, there isn’t much compatibility between popular communication protocols, so you usually have to use the same client as the person you’re trying to connect with. The most popular ones, such as Facebook Messenger, Instagram, Whatsapp, Twitter, Snapchat, and Skype, are all out of the window since they don’t provide essential identity protection.

If you’re willing to make an effort to get a private phone number, Signal is a solid option that provides ease of use, end-to-end encryption, and many users. Telegram receives many recommendations too, but you have to be careful when using it; only Secret Chats are end-to-end encrypted, and they don’t support groups. However, group communication is at risk of a leak if a single user is compromised or spying on purpose.

Some new applications, such as Keet and Sessions, don’t require phone authentication and are starting to look promising, but their use remains low compared to Signal or Telegram. Some alternatives, like Sphinx, use the Bitcoin Lightning Network for end-to-end encrypted communication in a peer-to-peer fashion, with payment support.

Decentralized Social Media is a Reality

Social Media has always been a nightmare for privacy and censorship resistance, evolving further into a dystopian monopolistic market over the last decade. Mastodon came out in 2016 and has been a way to distribute server control in a federated system. Still, it requires an email address to sign up, and many servers are known for strict control of content policy, often for political or personal reasons.

Lately, a new alternative has emerged named Nostr that uses public-key cryptography for identity (no email address) and a relay model that allows users to switch from one server to another if censored. Nostr is different from other social networks because it has no single point of failure. You can also bring your connections when switching client applications, so a specific service can’t lock you because of its network effect. Here’s a list of clients you can use to sign up for Nostr.

How to Make Identity-Protecting Digital Payments

In this final section, I will dig into the missing key element to protect your identity in the digital world, Bitcoin, and how you can optimize your use to make it private by default.

For transaction purposes, Bitcoin uses addresses; identifiers comprised of random letters and numbers derived from your public key, which derives from your private key. After receiving bitcoin at your address, you can use your private key to spend it, which proves you own the bitcoin.

Blockchain and Network Privacy on Bitcoin

Given Bitcoin’s decentralized nature, audibility is a crucial feature to allow every peer-to-peer node to validate the authenticity of every transaction. Anyone can verify their Bitcoins are legitimate, but it also means that your transactions are available to the world. If you link your address to your identity, it creates invasive personal links to your total wallet balance and transaction history.

Following that logic, the first step towards keeping your identity secure when using Bitcoin would be to avoid linking your identity to one of your bitcoin addresses by not using KYC (know your customer) services such as centralized, regulated exchanges. You can acquire your bitcoin in ways that don’t require identity verification, such as peer-to-peer transactions, mining, or selling products and services for bitcoin. However, it’s not always easy due to location restrictions, low liquidity, and a limited Bitcoin circular economy. Also, when spending bitcoin remotely to receive physical goods, you must provide your physical address, which compromises your identity security.

On top of blockchain privacy, you require network privacy when using Bitcoin as any other Internet service or protocol. When using most light wallets or a Bitcoin node (e.g. Bitcoin Core), your network connection will reveal your IP address unless you configure it with a VPN or the Tor Network. Most wallets don’t keep your IP hidden out of the box and require configuration.

The Privacy Solution for Bitcoin: Wasabi Wallet

The top recommended bitcoin wallet for identity and privacy protection is Wasabi Wallet. First, there are no network configuration requirements when using Wasabi; Tor is prepackaged and activated as soon as you launch the application.

Then, once you deposit some bitcoin to your Wasabi wallet, it can be coinjoined for additional blockchain privacy. This process provides privacy for your bitcoin addresses even though a previous transaction you did has a link to your identity; by participating in a coinjoin, you break that link. The coordinator service run by ZKSnacks, the company behind Wasabi, can’t deanonymize or steal from you.

Wasabi Wallet is available across Desktop platforms, and you can download it here. If you want to learn more about Wasabi, there is publicly available documentation that can answer most of your questions. You can always join community groups (Discord, Telegram) to ask for further help or even get involved in the open-source project yourself if you want to contribute to Bitcoin privacy.

Conclusion

In this article, we enumerated the best technologies you can use to secure your identity online. We recommended a desktop and mobile operating system, networking routing tools such as a VPN or Tor, email address and phone number providers, end-to-end encrypted communication applications, a decentralized social media platform, and privacy-preserving payments through Bitcoin and Wasabi Wallet.

For further privacy tools, you can consult this website which reviews many technologies across the categories listed in this article and many others. Additionally, a password manager is an essential tool to add to your arsenal of identity protection technologies; you can find a list of reviewed ones here.

Stay safe out there and remember to reveal yourself to the world only in ways that make you comfortable; privacy is a human right. If you want to learn more about privacy or help acquaintances in their journey, Wasabi Wallet’s Blog is a perfect resource with many articles on this subject.

The post The Best Technologies for Keeping Your Identity Secure appeared first on Wasabi Wallet - Blog.

]]>
How to Gift Bitcoin Privately https://blog.wasabiwallet.io/gift-bitcoin-privately/ Wed, 21 Dec 2022 21:20:00 +0000 https://blog.wasabiwallet.io/gift-bitcoin-privately/ Experienced Bitcoiners know how quickly the value of fiat money melts, so instead of buying your loved ones a gift card, keep them warm with the joy of hard money this winter season by giving them Bitcoin!

The post How to Gift Bitcoin Privately appeared first on Wasabi Wallet - Blog.

]]>
The holidays are on our doorstep, have you decided what to gift your friends and family?  Experienced Bitcoiners know how quickly the value of fiat money melts, so instead of buying your loved ones a gift card, keep them warm with the joy of hard money this winter season by giving them Bitcoin!

Although Bitcoin makes for a generous gift, you might be giving away more than you realize when making a transaction. Because Bitcoin is a public ledger, the addresses that sent you money become known by the addresses you sent the money to next.

In this blog post, we’ve outlined a few simple steps to send Bitcoin anonymously with Wasabi Wallet – a surefire way of upgrading your gift-giving skills and orange-pilling your family and friends.

Step 1

If you are using Bitcoin privately for the first time, download Wasabi and write down your wallet recovery words on a sheet of paper.

Step 2

Choose a password that you will not forget for your wallet. You will enter your password later in order to send your gifts, and there is no way to recover your password.  Next, choose your highest priority for coinjoins:  Savings, Speed or Privacy.

Step 3

Create a new address for receiving the Bitcoins you want to make private. Wasabi requires you to make a note to remind yourself who sent these coins to you in order to help you keep track of your privacy.

Step 4

After you have BTC in your wallet, the coinjoin box and privacy progress bar will appear. Coinjoins will not start automatically for amounts under 0.01 BTC in order to save mining fees, but you can click play to start coinjoining any amount over 0.00005000 BTC.

Step 5

The box at the bottom of the screen tracks the stages of the coinjoin signing process. All you have to do is sit back and wait while your coins are being bundled with other Wasabi users.

Step 6

After the coinjoin finishes, you will see your privacy progress has increased. Click the green bar to see the value and anonymity score of the inputs in your wallet.

Step 7

Now, you can send the gift of Bitcoin privately to your family member and the gift’s recipient can not be tracked by the exchange or customer you originally received your Bitcoin from!

The post How to Gift Bitcoin Privately appeared first on Wasabi Wallet - Blog.

]]>
Understanding Online Privacy https://blog.wasabiwallet.io/understanding-online-privacy/ Fri, 14 Oct 2022 16:00:00 +0000 https://blog.wasabiwallet.io/understanding-online-privacy/ The importance of online privacy is relevant to everyone—not just users who are looking to avoid the scrutiny of authorities for reasons related to questionable activities.

The post Understanding Online Privacy appeared first on Wasabi Wallet - Blog.

]]>

In his work “A Cypherpunk’s Manifesto” Eric Hughes wrote, “Privacy is the power to selectively reveal oneself to the world.” The weight of this comment may not be immediately obvious but is increasingly relevant in our day-to-day lives.

The importance of online privacy is relevant to everyone—not just users who are looking to avoid the scrutiny of authorities for reasons related to questionable activities. Even users who are comfortable with having their every move online tracked should be aware that large data breaches regularly occur at major companies and governments. These events expose users’ personal data to hackers, which can be exploited in various ways.

Everyone on the Internet Should Understand Online Privacy. But do they even care?

As a journalist and online privacy advocate, Glenn Greenwald pointed out in a widely-circulated 2014 TED talk that the Internet was, at one time, thought of as a new frontier for democratization and liberation. According to Greenwald, the internet could now be considered a “zone for mass surveillance”.

Greenwald claims that some feel there’s no harm in mass online surveillance because it only threatens those who are engaging in illegal activities. This line of thinking includes the idea that only those who have something to hide should be concerned about their privacy. It frames the notion that some people wouldn’t want to share every aspect of their lives with the government as defensive behavior. In 2010, Facebook’s founder, Mark Zuckerberg, claimed that privacy should not even be expected online as it is no longer a social norm. This is a dangerous belief, which unfortunately seems widely accepted in mainstream narratives despite its negative effects on individual liberties. Why should one care about privacy? Is one truly free to speak without it?

According to one study published in 2022, more than half of internet users are concerned about their online privacy. Let’s take a look at some key concepts and terms relevant to online privacy and steps users can take to better control and protect their data.

Important Concepts Linked to Online Privacy

Common concerns that relate to online privacy may include the preservation of sensitive personal and financial data and users having a say in who they are advertised to.

Personal Data

Personal data is any information that can be used to identify you. It can include your name, address, social insurance number, birthday and can also extend to your entire financial, educational, employment and medical history. Information including online identifiers and browsing history can also be considered personal information. One qualifier that defines personal data is that it is clearly about one particular person.

Personal data is considered valuable by advertisers and regulatory bodies alike, and the collection and sharing of users’ personal data is an important aspect of how many companies and apps are configured. Personal data is collected by websites, social media platforms, employers and more. This data is stored on web servers across the world, often changing hands in ways that are unknown by the users themselves. The selling of data is often part of the fine print and terms of service when using apps and websites, and is defined under things like GDPR or CCPA.Such regulations are often thought of as privacy friendly, but really only state that you have to consent to the sale of your personal data.

Online Encryption

One step that users can take to make themselves less vulnerable online and to put their privacy more into their own hands, is by focusing on apps and software that offer encryption. Encryption refers to the scrambling of the data stored and shared online, aiming to allow only trusted entities to interact with personal data.
Encryption ensures that only those with the relevant access keys are able to view the related content. It allows users to have more, but not ultimate, security over the information they share. Using a secret passphrase known only to the sender and receiver to unlock information is an excellent way to improve your security.

End-to-end encryption refers to encryption wherein only a user and their intended recipient are communicating without the ability of even the communication service to view or collect users’ data. While some messaging services are said to offer end-to-end encryption, some online security advocates challenge these claims as the services may provide “backdoor” access to government bodies. Oftentimes, the justification for this is to collect data necessary for fighting crime.

Threats to Online Privacy

When it comes to ways of protecting personal data, there are steps that individuals can take to decrease the risk of security breaches and minimize the amount of information readily available to unwanted external parties. Tools from ethical, security-minded companies can help users store and share data with more control, making use of the latest web security technology.

While taking steps at the individual level can enhance users’ online privacy, there are policies at the institutional level that can make it difficult to avoid the collection and sharing of personal data. In these cases, simply learning about policies and programs that involve your personal data is a way of being more aware of circumstances when your data could be collected, and of knowing how it could be used.

Mass Surveillance

Signing up for any new online account or app often involves agreeing to a range of terms and conditions wherein users permit organizations to collect agreed-upon information in exchange for the use of the application. Whether it’s on computers or phones and whether or not users are aware of what information is being collected, government bodies and private organizations alike are able to create detailed profiles of people based on data they willingly provide to websites. Often, users don’t even read the terms and conditions when signing up for a new service.

Controlling the amount your private data is collected may be increasingly relevant as smart cities that adopt surveillance technologies become more prevalent. Mindful online conduct may include making a list of each of the accounts and online services you subscribe to and determining whether the information you knowingly provide to each of these entities is worth the benefits of each service.

Online Privacy Regulations

Data breaches affecting companies as large as Facebook have sparked conversations as to the degree of involvement government policies should have regarding the collection and use of personal data. While government regulation is often necessary to lay the foundation for public market participation, the excess of such is also a risk factor that commonly limits progress.

As whistleblower disclosures have shown, government bodies themselves may also collect and use data in ways that average internet users could not have anticipated or foreseen. In the United States, for instance, all phone and internet data has been monitored by Federal law enforcement since the ‘90s. This data is unfathomably vast, so agencies including the NSA and the FBI create systems that analyze this data for use by intelligence and local law enforcement agencies.

Software Vulnerabilities and Secure Protocols

There are a number of security risks associated with typical internet usage. Free, public Wi-Fi is becoming increasingly available—which is a boon for those who work on the go and those with limited data plans—but these free, public Wi-Fi networks can be easy targets for those seeking access to users’ personal data for nefarious purposes.

Adversaries can access unsecured devices on public networks, which can provide unfettered access to important personal information including credit card data, passwords and personal documents. When users’ privacy settings allow for file-sharing across a network, it’s an opportunity for hackers to implant malware on users’ devices, further compromising their online privacy.

There are steps diligent users can take to make themselves less vulnerable when using unsecured networks. A VPN (virtual private network) creates a private network on top of an existing public network, improving security. VPNs also often include encryption, making stolen data less useful to hackers.

HTTPS is a protocol that helps to protect data by preventing access from parties aside from the primary user and the server they’re accessing, using encryption and a series of communication exchanges referred to as a “handshake.” Other security-minded steps include turning off sharing on devices on public networks and keeping Wi-Ffi off, aside from when it’s being used as devices are known to transmit some data even to networks users aren’t connected to.

Online Privacy and Bitcoin

Bitcoin is seen by many as being a new frontier for digital privacy. Its potential for decentralization means that users have more ability to control their own data and to have more agency in controlling decisions that relate to their privacy.

However, Bitcoin transactions are, by design, not confidential. Transactions on the block chain are secure, but their details are publicly viewable. When bitcoin is obtained in a way that is linked in some way to a user’s identity, and when information about transactions is shared, its pseudonymity in future transactions is easily negated. For example, if a user makes an online purchase using bitcoin, but does so through a regulated exchange which requires the completion of KYC processes, then pseudonymity can easily be compromised.

There are inherent issues associated with many bitcoin exchanges and users may be left with a sense of uncertainty with regards to how their personal data is being used. Developers may be able to collect sensitive personal information and the exchanges themselves are vulnerable to hacks, as seen in the Mt. Gox debacle and many since.

Wasabi 2.0

Initiatives like Wasabi Wallet—which offer anonymous communication using the Tor network, coin mixing and non-custodial personal control over private keys—can go a long way towards putting users in control of their bitcoin and retaining their privacy online.

The anonymization strategy employed by Wasabi Wallet and other Bitcoin privacy solutions is called coinjoin. Coinjoins are a collaborative bitcoin transaction. Users send their bitcoins to themselves with other users at the same time to reclaim their privacy. When the transaction occurs, everyone’s bitcoins are mixed with one another to make it much harder, if not impossible, to trace their transaction history.

As technology continues to grow into nearly every aspect of our lives, privacy as a resource is growing more scarce. We recommend the use of privacy tools, like Wasabi Wallet, to maintain your right to privacy. Consider taking control of your personal information to defend yourself from the intended (and unintended) repercussions of our increasingly digitised society.

The post Understanding Online Privacy appeared first on Wasabi Wallet - Blog.

]]>
Buying Gift Cards with BTC on Paxful https://blog.wasabiwallet.io/buying-gift-cards-with-btc-on-paxful/ Thu, 23 Dec 2021 10:00:00 +0000 https://blog.wasabiwallet.io/buying-gift-cards-with-btc-on-paxful/ How can you gift gift cards while paying in Bitcoin? Try Paxful!

The post Buying Gift Cards with BTC on Paxful appeared first on Wasabi Wallet - Blog.

]]>
As the holidays quickly approach, I comfort myself with the thought that most of the adults in this world are waiting until the last minute to purchase all their gifts because they’re too busy wrapping up work for the end of the year, hosting/attending Christmas parties and or have a Netflix watchlist that’s entirely too long. Marginally worrying about this causing a problem, I’ve developed a contingency plan.

It is universally accepted that the best gift is the thoughtfully personalized gift of a gift card. Cash has been vilified as implying that you just don’t care or that you couldn’t take the time to think about the person you’re gifting to. Yet gift cards somehow imply that you’ve thought about that person to a degree that you’re willing to give them a limitation as to where they should spend their gift. It’s as if you’re communicating to your friend/family member/colleague or acquaintance, “I know you well enough to know that you would never shop at ____, but not well enough to do your shopping for you.”

Since everyone surely thinks exactly like me and everyone is also actively trying to propel Bitcoin’s mass adoption and acceptance, then how can you gift gift cards while paying in Bitcoin? Of course, you could just find out if the store you’re wanting to associate your recipient’s shopping habits with accepts Bitcoin, but the short answer is: probably not. Instead, try Paxful!

At first sight, the website seems like a typical online crypto currency exchange. However, it’s more! The beautiful thing about Paxful is that you can choose so many ways to either buy or sell X. Unlike cryptocurrency exchanges that limit you to fiat, Bitcoin and unfortunately, shitcoins, Paxful takes a very decentralized approach to…everything.

Here’s how to do it:

Start by switching it to sell instead of buy (top right corner of the screen).

Then click on the Get paid via box.

Select gift cards and scroll down to find whatever store you think matches your _____’s courteously narcissistic personality the best.

Then determine how much your _____ is worth this year by putting the value of the gift card into the I Want To Get field.

And then click on the Find Offers button.

Of course, this is a peer to peer network, so if you enter a reasonable sum (like 10 or 20 euros), then you’re probably going to find a lot of buyers. However, making your offer unreasonable of course will most likely not yield any results.

There’s also a far less snarky explanation on how to use Paxful on Paxful’s website, but where’s the fun in that? Regardless, the amazing thing here is that with Paxful, you can use your sats to buy gift cards for someone and not even have to deal with wrapping the gift since it’s just a code they get to use when shopping online. This means you don’t have to orange pill them, walk them through buying a cold wallet or downloading a hot wallet, teach them how to send you the address, etc. Instead, just send them the appropriate amount of fiat that quantifies your relationship in the context of the store you think characterizes them best. If this isn’t the ultimate last-minute shopping idea for Bitcoiners, what is?

The post Buying Gift Cards with BTC on Paxful appeared first on Wasabi Wallet - Blog.

]]>
Sending PSBT Transactions with Wasabi Wallet https://blog.wasabiwallet.io/sending-psbt-transactions/ Fri, 15 Oct 2021 09:51:00 +0000 https://blog.wasabiwallet.io/sending-psbt-transactions/ Wasabi is one of the desktop Bitcoin wallets that work with every PSBT hardware wallet. Not only that, but thanks to the Tor routing and trustless onboarding, it’s also the most private desktop wallet for your Bitcoin transaction signing device.

The post Sending PSBT Transactions with Wasabi Wallet appeared first on Wasabi Wallet - Blog.

]]>
In recent years, PSBT has become one of the most popular ways to add an extra layer of protection to bitcoins. As described in Andrew Chow’s BIP 174, this Bitcoin standard refers to Partially Signed Bitcoin Transactions. Once enabled, PSBT separates transaction broadcasting from transaction signing. The process very much resembles a multisig setup, except that a signature is required from a separate wallet before allowing the funds to get broadcast across the network.

Coldcard was the first hardware wallet to implement PSBT – and through it, the device managed to function without requiring a connection to a computer. This “airgapped” setup soon increased in popularity among bitcoiners who became aware of their potentially compromised computers and the possibility of using faulty USB cables. Even though the amount of security being added through this airgap is debatable, setting up PSBT does make the bitcoins more difficult to spend – to some HODLers, this is an extra impediment which prevents them from panic selling.

Ever since, other hardware wallet manufacturers (KeyStone, Foundation Devices) and DIY projects (Specter DIY, Seedsigner, Bowser Wallet) have implemented PSBT as a way to create simple and secure devices that are compatible with existing Bitcoin wallets and don’t need desktop software of their own. It isn’t just convenient for the developers to not create and maintain a friendly platform like Trezor Suite, BitBox Base or Ledger Live, it’s also more secure to rely on desktop and mobile wallets that already exist, are being used every day and have been scrutinized heavily by hackers and code reviewers.

Wasabi is one of the desktop Bitcoin wallets that work with every PSBT hardware wallet. Not only that, but thanks to the Tor routing and trustless onboarding, it’s also the most private desktop wallet for your Bitcoin transaction signing device. There’s a small detail that you should consider, though: due to PSBT being a universal standard, Coldcard’s first adopter status, and the lack of a direct connection between the hardware wallet and the computer, all PSBT signing devices will be recognized as Coldcards.

Now that we got these details out of the way, let’s talk about how you can send a Bitcoin transaction in Wasabi Wallet, by using the PSBT standard. There are four steps involved: registering the master public key file to Wasabi, building a transaction, signing the transaction, and broadcasting this transaction to the Bitcoin network. The first step needs to be completed only once for every wallet setup and is unique for every BIP39 backup you create with your device. So, in theory, you can have an unlimited amount of PSBT setups for every hardware wallet, but you can only use one at a time.

Furthermore, it should be mentioned that in order to enable communication between the hardware wallet and Wasabi, you need a durable SD card. You don’t have to purchase one which can hold big files, but you do need ruggedness and the ability to write and rewrite many times. Though any SD card of any size larger than a few megabytes works just fine, the industrial-grade ones will last longer and perform more predictably over the years.

So first of all, you need to insert the SD card in your hardware wallet and export the xpub file to it. This is the only part which varies according to the hardware wallet manufacturer. For example, in the Coldcard interface you need to access the “Micro SD Card” menu, pick “Export Wallet”, and then select “Wasabi Wallet” from the list. On the KeyStone, you need to choose Wasabi as your watch-only wallet, and then export the wallet. This pairing is even easier to do on the Foundation Devices Passport: from the main menu you go to “Pair Wallet” and choose Wasabi, insert the SD card and follow the file generation process.

Image

Once you have the .json file written by your hardware wallet to the SD card, you insert it inside your computer and open Wasabi Wallet. Then from the “Wallet Manager” tab (on the top-left side of the interface) you pick “Hardware Wallet”. The next step is to press the “Import Coldcard” button on the bottom right corner and point the wallet to the public key file that you stored on the SD card.

As previously mentioned, it really doesn’t matter if your hardware wallet is a KeyStone, a Passport, or a Seedsigner. All of them use the exact same file format, so the “Import Coldcard” button shouldn’t deter you from using this PSBT function only because your hardware wallet is of a different brand.

After you import your public key file into Wasabi Wallet, you’re going to see how the new “Coldcard” gets added to the “Wallet Explorer” menu on the right side of the screen.

Image

Double click it or right click and select “Open Wallet” from the drop-down menu. Now we must build the transaction. From the same “Wallet Explorer” side of the Wasabi menu, click on “Advanced” – it should be just below your wallet of choice. Then pick “Build Transaction”.

Now you will have to select the Bitcoin UTXO that you want to spend, designate the recipient of your transaction, set the fee and then finally click the “Build Transaction” button. It’s the same as sending a regular transaction, except that instead of broadcasting the instruction to the Bitcoin network, it generates a PSBT file that needs to be signed with your hardware wallet.

The next step is to insert the SD card back inside your hardware wallet’s port and use the internal user interface to validate the transaction with a signature. On the device’s screen, you should see information about the transaction inputs, outputs, amounts and fees. So make sure that you verify everything before you proceed with the signature. Once again, the way of generating the signed PSBT file varies on every device. For example, the Foundation Devices Passport has the “Sign with Micro SD” option in the main menu and everything is very simple. On the Coldcard, you must choose “Ready to Sign” and follow the on-screen instructions. And on the KeyStone you simply touch the screen in the area where the BTC address gets displayed and pick the right unsigned transaction file.

This part is very important, as you verify all the details about the transaction and can either sign it or invalidate it. The funds don’t leave your wallet until you sign the transaction and broadcast it. So even if you do sign it, one final step is still required.

Insert the SD card back into your computer. Now you should find a PSBT file which has “signed” in the name. What you need to do next is open it with Wasabi and broadcast it to the entire Bitcoin network to make the transaction possible. Go to the “Tools” menu at the top of the Wasabi wallet window, and pick “Transaction Broadcaster”. Then click the “Import Transaction”, check the input data one last time on the screen, and then finally click on “Broadcast Transaction”. Congratulations, you have just sent a PSBT transaction with Wasabi, while also boosting your network-level privacy and using an airgapped setup for your hardware wallet.

Image

PSBT is a complex and debated topic among bitcoiners. Like everything else, it can have both advantages and disadvantages. Whether or not you choose to use it depends entirely on your HODL strategy and your threat model. To hear opinions in favor of the setup, listen to Specter creator Stepan Snigirev on the Bitcoin Takeover Podcast. Another similar opinion is shared by Blockstream Chief Architect Lawrence Nahum. To hear criticism about the use of PSBT in your setup, listen to ShiftCrypto developer and researcher Benma, as well as former Bitcoin Core developer Peter Todd.

The post Sending PSBT Transactions with Wasabi Wallet appeared first on Wasabi Wallet - Blog.

]]>
DIY Hardware Wallets, Part II: https://blog.wasabiwallet.io/diy-hardware-wallets-part-ii/ Sat, 11 Sep 2021 07:12:00 +0000 https://blog.wasabiwallet.io/diy-hardware-wallets-part-ii/ There are two important categories of DIY hardware wallets that you can build from general-purpose electronic devices: the ones that run a ported firmware (a group of coders make a well-tested software available on more common hardware), and the ones that run original code.

The post DIY Hardware Wallets, Part II: appeared first on Wasabi Wallet - Blog.

]]>
Building Your Own PiTrezor Wallet, Specter DIY, SeedSigner and Bowser Wallet

There are two important categories of DIY hardware wallets that you can build from general-purpose electronic devices: the ones that run a ported firmware (a group of coders make a well-tested software available on more common hardware), and the ones that run original code.

Both of them are fairly easy to build and have very few moving parts that you need to put together. But from the get-go, you should understand the tradeoffs: a project like PiTrezor might be a convenient port which allows you to run the most tested hardware wallet software on a Raspberry Pi, but it doesn’t mean that the port itself is vetted by security professionals or maintained to include the latest updates from Trezor Wallet. Conversely, a project like SeedSigner or Specter DIY might be original and open source, but this doesn’t mean that many experts have verified the code either.

This is why the recommendation regarding these devices that you can build yourself is to check the code or pay a professional to do it for you. If you’re going to use DIY hardware wallets to protect large amounts of bitcoin, then it’s better to take the multisig part. If each device is nothing but a key to your coins and there is no single point of failure that can make you lose your funds, then it’s generally safer to use something with a higher risk profile).

At this point, we should ask two important questions: first of all, why build a DIY hardware wallet at all if the security is questionable? Well, some of the two best arguments include your ability to survive political authoritarianism, and the avoidance of supply chain attacks. Something that you build yourself from common parts is going to help you maintain your privacy and plausible deniability in relation to your government – and the delivery company won’t know what you’re up to either.

The other important question that we should ask at this point is: will your DIY hardware wallet work with Wasabi? Well, the answer depends on the hardware wallet model. Something like PiTrezor should work as it’s essentially the Trezor firmware on a different and more accessible system. Specter DIY and Bowser ought to also work since they use standards included in the HWI and PSBT standard specifications. In the case of the SeedSigner, single sig setups are still on the roadmap for development; therefore, Wasabi compatibility will have to wait for a little while.

Once again, these open source DIY hardware wallets are still in an early phase of development and mostly recommended in multisig setups. Don’t take reckless risks with your bitcoins. If you’re a hardware wallet hobbyist or an individual who’s trying to gain financial sovereignty in an authoritarian environment, consider creating more elaborate setups which don’t rely too much on a single device – even if this means that you’re going to do a Shamir backup or multisig setup that isn’t compatible with the Wasabi software.

After having presented the warnings, let’s take a look at the four DIY hardware wallets in order to determine the costs, the difficulty, and the complexity of the task.

Read here the blog post to learn how to build your own Trezor One, Trezor Model T, and BitBox02.

Building your own PiTrezor Wallet

A rule of thumb in security is to follow the most tested path. This way, you know more about the experiences of others and have a better understanding of all the tradeoffs involved. And since Trezor Wallet has been around since 2014 and the code has been under constant scrutiny since inception, it’s pretty safe to assume that the firmware works well and has constantly been hardened by disclosures.

PiTrezor is a port of the original code, which makes the STM32F10XRXT6-optimized firmware run on the more common and popular Raspberry Pi Zero. You can buy a Pi for virtually everything, from video game emulation to IoT experimentation, robotics and Tor relays. Also, the Raspberry Pi Zero only costs $5 and is among the most accessible mini-computers in terms of both price and the ability to find one in every corner of the world. Compared to the default Trezor microcontroller, the Pi Zero is a lot more popular and it’s easier to source compatible accessories.

Furthermore, the PiTrezor port also works on the Raspberry Pi 4 – the more powerful device which is mostly used by individual Bitcoin node operators. One major advantage of these devices is that they come with full USB ports which allow you to connect your keyboard to use as inputs. This means that you don’t need to worry about finding buttons that fit to some kind of enclosure, as you have the option to operate the PiTrezor with a peripheral you already have.

Therefore, the process is a lot easier and requires no soldering or parts assembly if you run PiTrezor on a Raspberry Pi 4. However, the costs are higher by about $30. For the entire guide go to the PiTrezor website.

Now let’s talk about the parts and costs. There are two versions of the Raspberry Pi Zero, and you should get the more affordable one which has no bluetooth and WiFi. Not only because these ports are useless, but because they can represent extra attack vectors to break the device or extract information. Although the PiTrezor maintainer suggests that the Zero W is just as secure because the firmware has no drivers loaded for the communication ports, a competent hacker can still exploit them if he gains physical access. Hence, for security and money-saving purposes, it’s better to purchase the basic $5 Pi Zero.

Other parts include an SD card larger than 100 MB (basically any that you’ll find nowadays for a couple dollars), a micro-USB to USB cable (about 1 dollar), a mini HDMI cable which connects to a monitor, TV or dedicated screen (costs about $3 assuming that you already have a monitor or TV), two push buttons that are compatible with the Raspberry Pi (about 2 dollars and you only need them for the Pi Zero configuration, as the Pi 4 can make use of your USB keyboard) and some wires to solder the buttons to the board (roughly 1 dollar). Optional parts include a dedicated screen which is useful for portability reasons, and an enclosure which protects the board and circuits from dust, physical damage and other factors.

Assuming that you pay 5 dollars for the Raspberry Pi Zero and 9-10 dollars for the remaining parts, we’ll conclude that building the most basic yet electronically-demanding version of the PiTrezor will cost you about $15. Keep in mind that the screen, the enclosure, the soldering iron and the shipping of all these parts are not taken into account and can easily double the costs.

If you take the Raspberry Pi 4 route, you’re going to only need the $35 device (go for the entry-level 2 GB model, you’re not going to need that much memory for a Trezor Wallet), the 2 dollar SD card and the micro-USB to USB and mini-HDMI male to HDMI female cables. These should cost about 6 dollars. And while the approximated total of 41 dollars might sound like it’s pretty expensive, at least you don’t need to do any wire soldering and it doesn’t require any special equipment for this task. You flash the firmware on the SD card, plug the Raspberry Pi to a power outlet, connect the external video port to your HDMI-compatible monitor or TV screen (anything newer than 10 years has it), and use your USB keyboard as input. It’s pretty geeky, but somebody living in a place where Trezor hardware wallets have no official distribution is going to really enjoy the power of DIY sovereignty.

Before we move on to the next part, here’s another reminder that while the PiTrezor code is open source and basically a port of the official Trezor Wallet release, you should be cautious and avoid putting too many coins into this device without properly verifying the code. The safest way to use a PiTrezor is to make it one of your multisig devices, so there is no single point of failure. But you should always be cautious as Trezor CEO Marek “Slush” Palatinus said in S4 E8 of the Bitcoin Takeover Podcast, there are around 40 Trezor clones worldwide and their modified code doesn’t always get the scrutiny that it should.

Building your own Specter DIY

Specter creator Stepan Snigirev has started an entire DIY revolution in the Bitcoin hardware wallet space. Thanks to his micro-bitcoin and micro-arduino projects, low-powered devices are now able to run a lightweight version of the Bitcoin client. Most remarkably, he has created a hardware wallet which can be built using off the shelf parts which runs non-Trezor code. While every commercial secure key management electronic device, from KeepKey to Coldcard and Foundation Devices Passport makes use of Trezor’s open-source firmware in some capacity, the Specter DIY dares to be different.

To build your own Specter DIY, you only need an STM32F469I-DISCO developer board that you can buy for about $62, as well as a 1 dollar mini USB and a 1 dollar micro USB cable (both of which you most likely already have from phones or other hardware wallets). The device itself has everything you need, from touchscreen input to flash memory that you use to install the Specter firmware. So it’s an all-in-one solution, which at best, only requires an enclosure to keep dust away.

Today, lots of Bitcoin power users build their own Specter DIY hardware wallet to avoid supply chain attacks. But since the code is not as vetted as Trezor’s and may have vulnerabilities that weren’t discovered thus far due to a lack of incentives (the Specter DIY is still a niche product that is hard to find and the reward for cracking the code doesn’t match Trezor’s bounty program), it’s best to keep the device for multisig. This is exactly what the developers of Specter recommend: they see their DIY project as something that’s complimentary to other hardware wallets. You can still use it as a single-sig device, but the use case where it shines is multisig.

One recommendation for the Specter DIY is that you also purchase an additional barcode scanner module which costs $40. It will make the device more usable in an air gapped way, as you can scan QR codes and confirm transactions without connecting your device to a computer. Additionally, you can make the Specter DIY self-contained with a battery. The complete assembly instructions are available in the project’s GitHub repository. Furthermore, you will also find a video tutorial on YouTube.

In total, the Specter DIY should cost anywhere from 64 to 120 dollars to build. And if you also want an enclosure, you can either 3D print it according to specifications or else purchase it from a professional like Richard from the Czech Republic (not a direct endorsement, but I did buy my cases from him). This may sound like the Specter is an expensive device, but if you buy it pre-built then it’s going to cost you 350 euros (414 dollars) for a full-featured enclosure 60 euros (71 dollars) to also have the STM32F-469I-DISCO board attached. So it’s definitely better to pay 150 dollars for a full-featured device that you build yourself from parts that you source from different vendors than to spend $485 on the Specter Shield.

To better understand the scope and purpose of the Specter DIY project, listen to Stepan Snigirev offer all the explanations in S8 E11 of the Bitcoin Takeover podcast.

Building your own SeedSigner

The SeedSigner is a simplified fork of the Specter DIY, which replaces the development board touch screen experience with the powerful affordability of the Raspberry Pi Zero. Its main goal is to offer a powerful device that anyone can build for approximately $50.

Unlike the Specter DIY, the SeedSigner is currently only optimized for multisig xpub generation and makes use of a more traditional layout with physical buttons. The main drawback of this design is that some soldering is required to put together the device. But since it relies on the popular Raspberry Pi architecture, one can easily buy GPIO hammer headers (which cost $7) to avoid all the hassle.

To assemble a SeedSigner, you need a Raspberry Pi Zero computer (once again, the 5 dollar basic version without the WiFi and bluetooth is recommended), a 1.3 inch square LCD screen with a resolution of 240×240 pixels (which costs about $14) and a camera that’s compatible with the Pi Zero system (the recommended model is the AuviPal 5MP 1080p, which is currently out of stock but should cost around 20 dollars).

The SeedSigner lead developer has also open sourced the specifications for the enclosure, so that anyone with a 3D printer can create their own. This is bad news for people who don’t have access to 3D printing, especially due to the fact that the input requires physical buttons that come with the case. However, there are vendors and hobbyists (again, like Richard from the Czech Republic) who will 3D print cases for about $20.

So while the electronics required to build a SeedSigner cost around $39 (below the 50 dollar goal), you’re going to spend slightly more to have the full experience. Nevertheless, putting together a SeedSigner is more affordable than the Specter DIY from which it borrows the code.

Speaking of the code, once you assemble the hardware you’re going to need an SD card and you must also type in a few commands on an external keyboard. The complete guide makes it simple to follow, so even if you don’t understand what you’re doing you will successfully set up the SeedSigner.

You should also keep in mind that the SeedSigner is an air-gapped device which is optimized to work with multisig-friendly wallets such as Specter Desktop, Sparrow, and BlueWallet. So you won’t be able to access it from Wasabi Wallet until single sig support gets added for PSBT setups. At the moment, it is still a geeky DIY project that casual users won’t find too friendly or accessible. But thanks to community contributions, it’s quickly improving.

To better understand the philosophy behind SeedSigner, listen to S8 E10 of the Bitcoin Takeover podcast. If you need help along the way, you can use this full assembly guide from YouTube.

Building your own Bowser wallet

Created by Ben Arc, the Bowser wallet is an even more simplified fork of the Specter DIY. All you have to do in order to build this hardware wallet is to buy a $40 M5Stack ESP32 Basic Core and install the firmware with a micro-SD card.

This means that the Bowser wallet is by far the most inexpensive and simple to configure DIY hardware wallet. You even get a full step by step YouTube guide which helps you along the way. However, there are a couple of geeky quirks that you should consider: first of all, the hardware wallet also works as a video game system which runs a stylized version of Tetris. This is great for plausible deniability, as nobody will guess that the generic-looking device in your hands is also a Bitcoin device – which is very useful for people who seek to maximize their privacy in places that may be hostile to the idea of financial sovereignty.

Secondly, the Bowser wallet makes use of Morse code for input. This is by far the geekiest feature in any hardware wallet, as you must either carry a sheet of paper which tells you how to type every letter of the alphabet or memorize the code. Once again, since most people have no idea how Morse code works (and may even mistake it for Braille) this is excellent for privacy. But the feature effectively makes the device harder to use even by the hardware wallet owners, so depending on your threat model you should assess to which extent you need this extra complexity.

The Bowser hardware wallet is a pretty cypherpunk device as it mixes the privacy of video games and Morse code with the convenience of using a compact general-purpose computer. You can dispose of the unit at any moment and get a new one – just make sure that you have your backup in a safe place.

Currently, Bowser is designed to work with Electrum wallet and makes use of the PSBT standard to sign transactions. This means that it should also work with Wasabi Wallet, so long as you use the options associated with the Coldcard Wallet.

For more information and to better understand what the Bowser wallet is, listen to Ben Arc on S8 E9 of the Bitcoin Takeover podcast.

Read here the blog post to learn how to build your own Trezor One, Trezor Model T, and BitBox02.

The post DIY Hardware Wallets, Part II: appeared first on Wasabi Wallet - Blog.

]]>
DIY Hardware Wallets, Part I: Building Your Own Trezor One, Trezor Model T and BitBox02 https://blog.wasabiwallet.io/diy-hardware-wallets-part-i-building-your-own-trezor-one-model-t-and-bitbox02/ Wed, 25 Aug 2021 12:50:10 +0000 https://blog.wasabiwallet.io/diy-hardware-wallets-part-i-building-your-own-trezor-one-model-t-and-bitbox02/ We are living in the golden age of DIY hardware. Thanks to advancements in microprocessing and production/distribution, today we can purchase tiny yet powerful computers at surprisingly affordable prices – and then use them to perform surprisingly-complex tasks

The post DIY Hardware Wallets, Part I: Building Your Own Trezor One, Trezor Model T and BitBox02 appeared first on Wasabi Wallet - Blog.

]]>
We are living in the golden age of DIY hardware. Thanks to advancements in microprocessing and production/distribution, today we can purchase tiny yet powerful computers at surprisingly affordable prices – and then use them to perform surprisingly-complex tasks.

The Bitcoin community certainly took notice and turned some of these general-purpose chips into financial sovereignty machines. From the popular ARM Cortex STM32 chips to the amazingly-inexpensive Raspberry Pi Zero, there are lots of options that you can use to build your own hardware wallet. But before we talk about the options that you have in order to build your own hardware wallet, it’s important to mention the reasons why you should pursue this path.

Why is DIY better?

First of all, if you live in a country where there is no distribution of Trezor, Ledger or BitBox02, then building your own device is certainly the more affordable option. Secondly, if your government is hostile to Bitcoin and everything concerning it, then it’s strongly recommended to use some of the same parts that can also build a portable Tetris machine to secure your precious digital gold.

Even if you live in a country where commercial hardware wallet distribution is possible, pursuing the DIY route is still worth your consideration. If you’re concerned about privacy (and you should be), then you shouldn’t give your name and address to a vendor and a delivery company that will store your data in their records for multiple years – the case of the Ledger database hack is a very good example of why privacy and DIY hardware are important.

Furthermore, supply chain attacks are real: you don’t know who’s going to handle your hardware wallet from the moment it leaves the factory and until it finally gets delivered to you. If somebody knows what a Trezor is, they might compromise its hardware or its packaging (a very popular attack involves the insertion of already-generated BIP 39 seed phrases, in hopes that newbies would deposit their coins to addresses controlled by the malevolent actor). Sure, these companies make great efforts to prevent such attacks by layering their packaging and introducing cryptographic tricks to verify the integrity of the hardware and software. But if you know what you’re doing, then DIY is definitely safer: using general-purpose off the shelf hardware and free open source software that you can personally verify is definitely the power user approach.

Hardware wallets you can build yourself:

Now let’s talk about the hardware wallets you can build yourself. Essentially, there are two categories: the commercial devices whose circuitry and schematics have been open sourced (Trezor, BitBox02) and the non-profit community projects that were created specifically for DIY work. The Trezors and the BitBox02s come with the advantage of a more tested and scrutinized codebase and architecture since they are sold commercially. The teams behind the projects could afford to pay for bounties and security audits, but there’s also a greater incentive for hackers to break them.

On the other hand, DIY projects like SeedSigner, Specter DIY and Bowser offer an extra layer of convenience, as they can be built from very common parts and require almost no soldering or experience with electronics. They aren’t as tried and tested as their commercial counterparts and you shouldn’t expect to get much support in the process. Yet they have advantages of their own and give everyone the opportunity to become financially sovereign.

In this first article, we’re going to analyze what it takes to build your own Trezor and/or BitBox02. Naturally, the follow-up will focus on the Seedsigner, the Specter DIY, and the Bowser wallet. Read here the Part 2 blog post.

Building your own Trezor One:

During the 2014 Kickstarter campaign which led to the launch of Bitcoin’s first hardware wallet, Trezor co-founders Marek “Slush” Palatinus and Pavol “Stick” Rusnak presented their intention to create a device that could even satisfy the demands of Bitcoin creator, Satoshi Nakamoto. This meant that the software and the circuitry are transparent and 100% open source, so that anyone can see what the device is doing at any moment.

The Czech company’s GitHub repository offers the complete board, schematics, and bill of materials (BOM). According to these documents, you need 24 moving parts, the most important being the OLED display, the STM32F10XRXT6 microcontroller, the buttons, the case, the tactile switch, and the micro-USB port. The cost of everything should not exceed $20, though you also need a soldering gun and the dexterity to put it all together by yourself.

So even though the cost of producing a Trezor One hardware wallet is low, the assembly part can be difficult and intimidating for a newbie. But if you need to build yourself the most tried and tested hardware wallet in the world, you’re going to need to develop some practical skills. After all, it’s no surprise that the Trezor One is the most copied device in the world and there are hundreds of companies that sell it under different brands all around the globe. As a matter of fact, newer devices such as BitBox02, Coldcard, and Foundation Devices Passport use significant parts of the Trezor code and to some extent can be labelled as “clones”.

As soon as you’re done putting together your custom-made Trezor One, you can flash the firmware according to the instructions from the GitHub repository. Once you’re done, your new DIY hardware wallet will work perfectly with Wasabi wallet – and choosing Wasabi instead of Trezor Suite will bring you some privacy benefits concerning full node connectivity and the trustlessness of the onboarding process.

For more information about Trezor’s open source ethos and commitment, listen to this interview with CEO Marek “Slush” Palatinus on the Bitcoin Takeover Podcast.

Building your own Trezor Model T:

Launched in the fall of 2017, the second generation Trezor hardware wallet features some much-needed improvements. It replaces the two-button scheme with a color touch screen that’s easier to use, and also comes with a faster processor which allows for more complex backups such as Shamir Secret Sharing to be made. The device is also more reliable at handling complex multisig setups (such as 8 out of 8), as demonstrated by Jameson Lopp’s comparative review.

However, the Trezor T also comes with greater electronic complexity: the bill of materials lists 109 parts, while the schematics are more elaborate and sophisticated. This means that the Trezor Model T is a more difficult and demanding DIY project than its predecessor. To make up for it, the build instructions are also more detailed and feature more pictures to guide you along every step.

In terms of security, the Trezor T comes with the advantage of allowing you to type the passphrase directly from your device – which is a great feature to have, especially when you think that your computer keyboard might be compromised/logged. So even if you don’t care much about multisig reliability or Shamir backups, it’s still worth considering the Trezor T for its input upgrade.

The chip that drives the Trezor Model T is the STM32F427VIT6 microcontroller – an ARM Cortex M4 unit which features 2 megabytes of flash memory and is clocked at 168 Mhz. You can find it for about $20, but you’ll definitely get better deals for bulk purchases. The display also costs about $5, and the remaining electronics should add another $20 (from case to the USB-C and micro-SD ports, and all the way to the various connectors). But before we judge Trezor for selling the device at a price which greatly exceeds production costs, we shouldn’t forget that the device requires significant soldering skills to build (greater than the ones needed for the Trezor One), the company is mostly focused on improving software security standards (so you pay for the research and development of the SLIPs) and there’s also a cost involved in offering customer support.

For a skilled DIY hobbyist, the Trezor Model T can be a fun weekend project. The fact that the parts are general-purpose and easy to find online should provide a great amount of plausible deniability in authoritarian states, and the extra features will make the supplementary effort worthwhile (as compared to the more simple Trezor One).

Just like the Trezor One, you can use your newly-built Model T with Wasabi Wallet. Keep in mind, however, that Wasabi won’t work with multisig setups and Shamir Secret Sharing. Only BIP39 setups will do.

Building your own BitBox02

Launched in the fall of 2019, the BitBox02 is a spin on the original Trezor design which brings some notable hardware and software modifications. Though it started from the same codebase, it’s different enough to deserve the spotlight. Philosophically speaking, the device aims to offer the compromise between open source auditability and physical security which makes it the middle ground between Trezor (100% open source) and Ledger (about 40% open source, with an opaque secure element chip).

The part that makes the BitBox02 less open source than the Trezor but more physically secure is the inclusion of the ATECC608B general-purpose security chip. This means that you can protect your device from a malevolent actor’s physical access without resorting to a software passphrase (that you may forget or lose if you’re not careful enough). So if you want to take your physical security to the next level, you should consider building a BitBox02.

Besides the secure chip, ShiftCrypto’s second generation hardware wallet features some interesting choices: the device uses a male USB-C connector which makes it easy to also plug into your mobile phone (no cable is required as long as you have the right port in your computer or phone), and the touch screen is replaced by touch sensors on the top and bottom of the hardware wallet.

In terms of software, the BitBox02 makes use of Schnorr signatures to verify the integrity of the software and prevent supply chain attacks. The system is called anti-klepto and, even though it may not seem very relevant for someone who builds their own hardware wallet, it is still a great self-verification tool which prevents outside meddling with the code. Learn more about this security mechanism from this interview with ShiftCrypto software developer and researcher Benma.

To help you build your own BitBox02, ShiftCrypto has published a bill of materials (which should be updated to include the ATECC608B chip which has replaced the 608A in 2021), an extensive datasheet, the circuit board schematics, and even an X-ray picture that should help you figure out how to connect every part to the board. The guide is not as detailed as in the case of the Trezor hardware wallets, but any experienced hobbyist should be able to figure it out.

Now let’s talk about the costs: in bulk, the ATECC608B secure chip can be bought for about $1. But due to supply chain issues in the microchip industry, it currently seems to be out of stock on some of the most popular retail websites (and will most likely sell at a premium due to scarcity). On the other hand, the 32-bit ARM Cortex M4F ATSAMD51J20A microcontroller chip costs approximately $6 and also appears to be hard to find. The PRTR5V0U2F suppression diodes and every other small part also adds up about $3 to the production cost. In total, purchasing the parts required to build your own BitBox02 should cost about $20 (including USB-C port, micro-SD card slot, touch sensors, and the OLED screen).

The BitBox02 has more parts than the Trezor One, but fewer than the Trezor Model T. It also features more affordable parts than Trezor’s flagship model and offers some physical security. So if you find these qualities desirable, then you should grab your soldering gun and start ordering the parts while they’re still in stock.

And yes, your BitBox02 will work with Wasabi wallet. But just like the Trezor devices, you will have to connect to the native software (in this case, BitBoxApp) in order to perform firmware updates.

Does building your own hardware wallet have to be so hard?

Well, no. Today we have the SeedSigner, Specter DIY, and Bowser devices and they are a lot more accessible to hobbyists who don’t want to solder diodes to a PCB while consulting complex schematics. However, they aren’t as tested as the commercial devices, so there’s always a tradeoff. Find out more about how you can build these hardware wallets and the costs involved in next week’s article!

Model Comparison

The post DIY Hardware Wallets, Part I: Building Your Own Trezor One, Trezor Model T and BitBox02 appeared first on Wasabi Wallet - Blog.

]]>