Product Archives - Wasabi Wallet - Blog https://blog.wasabiwallet.is/category/product/ Wasabi Wallet Blog: Insights on Bitcoin Privacy & Tech Tue, 09 Jan 2024 10:38:40 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.3 https://blog.wasabiwallet.is/wp-content/uploads/2022/05/cropped-ww_blog_icon-32x32.png Product Archives - Wasabi Wallet - Blog https://blog.wasabiwallet.is/category/product/ 32 32 Friends and Plebs Don’t Pay Wasabi Coinjoin Fees https://blog.wasabiwallet.is/friends-and-plebs-dont-pay-w/ Mon, 08 Jan 2024 14:56:31 +0000 https://blog.wasabiwallet.is/?p=3190 Have you met friends or fellow bitcoin users who wanted to participate in a coinjoin transaction but didn’t because of the fees? Read how our many fee exemption features can apply to […]

The post Friends and Plebs Don’t Pay Wasabi Coinjoin Fees appeared first on Wasabi Wallet - Blog.

]]>
Have you met friends or fellow bitcoin users who wanted to participate in a coinjoin transaction but didn’t because of the fees? Read how our many fee exemption features can apply to them so they never have to pay Wasabi coinjoin coordinator fees.

In this article, we’ll explain how Wasabi coinjoin fees work, how it differs from Wasabi Wallet 1 with Free Remixing, what Friends don’t pay means, the importance of accessibility in coinjoin transactions, what Plebs don’t pay means, why mining fees are never waived, and finally how to minimize mining fees in a high-fee environment.

Basic Explainer of Wasabi Coinjoin Fees

There are two types of fees in a coinjoin transaction: coordinator fees and network mining fees.

As with all bitcoin on-chain transactions, there’s a network mining fee proportional to the amount of space your inputs and outputs consume. This is also true for Wasabi coinjoin transactions; you pay for the space you use. For example, if you have two P2WPKH inputs and two P2WPKH outputs, your transaction size is 209 virtual bytes. If the fees are 50 sats / vbyte, you will pay 10450 sats in mining fees. 

In a coinjoin transaction, a coordinator (default is zkSNACKs) takes care of the complex communication between all the participants and receives a fee for the hefty task. This allows users to gain privacy. This fee is 0.3% of the total bitcoin you bring to a coinjoin round, so if you bring 3,000,000 sats (0.03 BTC), you will pay 9000 sats in coordinator fees.

Unlike Wasabi Wallet 1.0, where you paid coordinator fees on every transaction, since the 2.0 release you pay upfront on your first coinjoin transaction and then enjoy free remixing.

Pay Coordinator Fees Upfront: Free Remixing

It doesn’t matter if you participate in 1 or 100 coinjoin transactions with the same bitcoin, you will only pay coordinator fees for the first one. This allows you to enjoy additional privacy at a massively reduced cost.

How is this possible?

Whenever you join a coinjoin round, the coordinator can detect that your UTXOs (unspent transaction outputs) are from a previous Wasabi coinjoin, and therefore waives the coordinator fees for those coins. 

But what if the ownership of coins changes hands between two coinjoin transactions? Would the same apply? Yes, and this is what we call Friends don’t pay.

Friends Don’t Pay

The “Friends Don’t Pay” feature allows users to coinjoin as many times as they want for as long as they want at no additional cost other than the mining fee. 

This is great for liquidity as users are incentivized to coinjoin many times to improve their own privacy, making coinjoins better, faster and stronger for everyone! Anyone can coinjoin multiple times for 0% coordinator fees. 

Just send some previously coinjoined bitcoin to your friends and family members and watch them enjoy the benefits of acquiring privacy without having to pay coordinator fees. That must feel pretty awesome.

But wait, there’s another way to avoid paying the coordinator fees.

The Importance of Accessibility in Coinjoin Transactions

Before we get into the Plebs don’t pay feature, we want to reiterate our commitment to the accessibility of coinjoin transactions. We’re always working to improve on this front, whether it’s making the software more performant for low-bandwidth users as we did with the 2.0.4 release, or by adding the “Buy Anything Button” to allow you to purchase literally anything with your coinjoined bitcoin. 

The most important way to improve accessibility is to lower fees, and we’re doing that with Plebs Don’t pay.

Plebs Don’t Pay

If you participate in a coinjoin transaction with less than 1,000,000 sats (0.01 BTC), you will never pay any coordinator fees. Not a single sat. 

Wasabi is the only coinjoin protocol that waives coinjoin coordinator fees for users with small amounts of bitcoin,  often referred to as the bitcoin plebs in various bitcoin community channels. 

I know what you’re thinking, you’re almost convinced to coinjoin, but the high network mining fee environment makes you doubt. Yes, you will pay zero in coordinator fees but you will end up paying more in mining fees. 

Well, read on to learn why mining fees are crucial and shouldn’t be waived, and how to minimize your coinjoin transaction mining fees.

Why Mining Fees Should Never Be Waived

By enforcing mining fees for all coinjoin participants, we ensure an economic cost for everyone and collapse the opportunity for sybil attackers.

What is a Sybil attack? 

The U.S. National Institute of Standards and Technology defines it as: “A cybersecurity attack wherein an attacker creates multiple accounts and pretends to be many persons at once.”

Coinjoins work because many participants join together to form collaborative bitcoin transactions. The privacy gain is strictly correlated to the diversity of participants, and a Sybil attack in this context means that an attacker can fool others into believing that they are many different people, when in fact they’re only one.

This could theoretically be taken to the point where you think you’re with dozens of participants, when in fact you’re with only one attacker. This could easily compromise your privacy.

By never waiving network mining fees, we ensure that Sybil attacks have a cost that will deter potential malicious attackers.

Now for something practical…

How to Minimize Mining Fees

When you set up a wallet on Wasabi, you will be asked to choose a coinjoin strategy between Minimize Costs, Maximize Speed, and Maximize Privacy. The first two strategies aim for an anonymity level of 5, and the last one is a random number between 50 and 100. You can also customize the parameters.

The Minimize Costs strategy will ensure that you only participate in coinjoins that take place at times of the week when there’s less pressure on the network mining fee market, so you can minimize the fees you pay.

You can change coinjoin strategies at any time in your coinjoin settings.

Conclusion

The next time a friend wants to coinjoin but is hesitant because of the fees involved, be sure to point them to this blog article so they can understand the many ways they can pay zero coordinator fees and minimize their mining fees. 

No doubt he’ll be grateful to you!

The post Friends and Plebs Don’t Pay Wasabi Coinjoin Fees appeared first on Wasabi Wallet - Blog.

]]>
10 Crazy Christmas Gifts You Can Buy Through Wasabi Wallet https://blog.wasabiwallet.is/10-crazy-christmas-gifts-you-can-buy-through-wasabi-wallet/ Sat, 23 Dec 2023 16:35:00 +0000 https://blog.wasabiwallet.is/?p=3146 You can buy anything (legal) you want through the Wasabi Wallet interface with the Buy Anything feature in partnership with ShopInBit. The argument that using coinjoin makes your coins unspendable is no longer valid.

The post 10 Crazy Christmas Gifts You Can Buy Through Wasabi Wallet appeared first on Wasabi Wallet - Blog.

]]>
It has finally happened. 

You can buy anything (legal) you want through the Wasabi Wallet interface with the Buy Anything feature in partnership with ShopInBit. The argument that using coinjoin makes your coins unspendable is no longer valid. To learn more about this release, read the blog post here.

You’ve downloaded the new version and now you’re ready to give it a try. You want to treat yourself and your loved ones to some nice gifts, but you feel uninspired and don’t know what to get. If that’s the case, this article is for you. 

We asked ourselves: “What are 10 crazy things you can buy with Wasabi Wallet’s Buy Anything feature?” Let’s push the boundaries of your imagination. Expect to be surprised, even shocked for some.

1. Garden with 50 Bonsai Trees

Are you a fan of the Japanese art of growing and training miniature trees? How about going all out and creating a bonsai garden with up to 50 trees? 

This is what your backyard could look like (if you have a yard the size of a downtown area).

Generated with Dall-E

Not a Bonsai fan? On to the next one. 

2. Pay for a Funeral Bill

Things got dark pretty quickly, but the point is that we’re here for you in the good times and the not-so-good times. Whether the funeral home accepts credit card payments or only bank transfers, ShopInBit’s support agents can take care of it for you.

Generated with Dall-E

Let’s go back to something happier.

3. A Harp

The Buy Anything feature is also geared toward musicians, and there’s no discrimination based on the size of the instrument. Just make sure you have enough storage space for your harp. 

You + A brand new harp + the Scottish Highlands? 

Generated with Dall-E

But how are you going to get your harp there? You’re going to need a car, and while you’re at it, you might as well forget about the harp and just get a very cool car.

4. A Mercedes GLE 63 S AMG

Imagine it’s the middle of 2025 and Bitcoin is now at $300,000, wouldn’t you dare to buy your dream car? I know the most frugal of you will still have only one chair in your house, but the rest of us deserve to live a little!

Of course, you will be sure to print your favorite wallet’s logo on your brand-new Chad car.

Enough with the jokes and the luxury, let’s talk practicality.  

5. 1 Year Rent for your New Apartment

You just found a great new place in your town. The only problem is, they want you to do an extensive credit check investigation, but that goes against your principles. You’d rather pay a year’s rent in advance so they’ll respect your privacy. 

Wherever you are in the world (except Iran, North Korea, Ukraine, and Russia), you can pay your rent using the Buy Anything feature in Wasabi Wallet. 

You have the apartment and a floor mattress. Try to guess what’s next.

6. Completely Furnish your Apartment

For the interior designers out there, Wasabi and ShopInBit have got you covered. We already know you love bitcoin, so we took the liberty of imagining a living room with an orange touch.

Generated with Dall-E

We know you do a better job of designing than we do, and whatever you choose to furnish and decorate your home, you’ll be able to have it shipped to you directly from your Wasabi Wallet.

7.A 3m2 Swimming Pool

We imagine that after all that hard work decorating your home, you are hot and ready for a dip in the pool, but where can you get one? 

Open up Wasabi Wallet, click Buy Anything, and order the outdoor pool of your dreams. Or pay a pool contractor to build you an indoor pool.

Photo credit: The Bitcoin Bugle

Bitcoin or Swimming Pool? Why not both? 

8. An 85″ TV

After a long day of swimming, why not end it by watching the bitcoin price rise on an 85 inch TV you just got delivered from ShopInBit? Might as well bring the family together for that.

Ok, enough with the fun, let’s get serious.

9. 2x Server Rack R182-Z93, Dual Epyc

We know that you value privacy and self-custody, not just for bitcoin, but for your entire digital life. 

You live by two mottos: “Not your keys, not your coins” and “Not your metal, not your computer”.

You want to take things to the next level and build a server room at home. There you’ll be able to run open-source software to replace cloud-based systems, and also run your own open source LLM (Large Language Model) to train your AI models without the censorship of Big Tech.

Okay, it may not look like that, but it will feel like it, and you will feel like a real cyborg.

10. A Fully Customizable Adult Sex Doll

Now that you’re a cyborg, you might want a cyborg companion. I won’t post any images here, I’ll let your imagination run wild. As crazy as this sounds, it will be possible to buy anything, even this, directly from your Wasabi Wallet.

What are you waiting for? Download Wasabi Wallet’s new version.

The post 10 Crazy Christmas Gifts You Can Buy Through Wasabi Wallet appeared first on Wasabi Wallet - Blog.

]]>
Buy Anything with Bitcoin through Wasabi Wallet https://blog.wasabiwallet.is/buy-anything-with-bitcoin-through-wasabi-wallet/ Wed, 20 Dec 2023 13:24:41 +0000 https://blog.wasabiwallet.is/?p=3143 You may have heard that using Wasabi, especially to coinjoin, would make your bitcoin unspendable. Not only is that not true, but we’re announcing that we’re making it easier than ever to […]

The post Buy Anything with Bitcoin through Wasabi Wallet appeared first on Wasabi Wallet - Blog.

]]>

You may have heard that using Wasabi, especially to coinjoin, would make your bitcoin unspendable. Not only is that not true, but we’re announcing that we’re making it easier than ever to use your bitcoin. We’ve partnered with ShopinBit. com, Europe’s Biggest Bitcoin Store, to bring you…

The “Buy Anything” Button

What if you could buy a car directly through Wasabi and have it shipped to you? 

Now you can.  

The 2.0.5 release of Wasabi Wallet includes a “Buy Anything” button that allows you to literally buy ANYTHING (legal).

Just click on the “Buy Anything” button next to the “Send” and “Receive” buttons in your wallet to start a chat conversation with ShopinBit’s professional concierge team. 

After letting them know what you want in good detail, you’ll have to wait a few hours (24-48) for a submission. When all the details have been checked by ShopinBit’s team, they’ll give you an offer.

Your order will be confirmed once you accept it and pay the bitcoin invoice.

If the product is physical, you will need to enter your shipping address details to receive it. The shipping time depends on the product and the shipping destination, but don’t worry, you can track your order with the link provided.

“Your Order Has Been Shipped”

The timing of this release couldn’t be better. The new year is starting and Bitcoin’s price is doing well again, you can order anything you want for yourself and your dear ones directly from your favourite wallet.

Download the latest version (2.0.5) of Wasabi Wallet and start shopping now.

We Have Partnered with ShopinBit

We’d like to thank the Shopinbit team for making this possible through their Premium Concierge Service, which allows you to buy anything and get it delivered anywhere. They’re based in Poland and are Europe’s largest Bitcoin store, but they ship worldwide. 

You have a direct communication channel from your Wasabi Wallet client application to Shopinbit’s servers. zkSNACKs (Wasabi’s development company) can’t see anything exchanged on this channel and doesn’t know anything about your orders. 

To learn more about the ShopinBit company and team, click here.  

What are the Limits and the Fees?

For now, the minimum total order price is USD 1,000. There is no limit per se, but only VIP customers can place orders for more than USD 60,000. VIP customers must have at least one previous shopping experience through ShopinBit’s Concierge service.

Fees might vary depending on the order.

Update Wasabi Wallet and Buy Anything with Bitcoin Now

Other Questions You Might Have (FAQ)

  1. Can I really buy anything? 

ShopinBit’s Concierge Service does not provide any kind of drugs, prescription medications, weapons, precious metals, cryptocurrencies, financial instruments, or any type of product that is illegal in Poland. You can buy anything else. 

  1. Can I pay my rent or another invoice?

Yes, ShopinBit can pay with almost any payment method supported by Wise, Revolut, the banking system and major credit cards, so services like your rent can be paid. 

  1. Why does it take 24-48 hours to get my quote? 

All requests are handled manually by ShopinBit’s team and sometimes need to be reviewed with legal counsel. The following 4 points have to be reviewed: 

 a) That the product/service can be bought from Shopinbit;

 b) ShopinBit is allowed to sell the product to you;

 c) ShopinBit can ship the product to you;

 d) It is all legal to do so.

An offer will be issued only until these 4 points are sorted out. If it’s not possible, you will receive a friendly decline with an explanation of why.

  1. How is the bitcoin price calculated at the time of the transaction?

The offer quote is always in fiat (in USD precisely) and the final BTC amount is displayed when the user agrees to buy now. The exchange rate is reserved for 30 minutes.

  1. Will I get an invoice? 

Yes, it will be available through a download link.

  1. What about duties and taxes? 

It will depend on the source and destination of the product. If it has to cross borders, it might be subject to duties or taxes. If it can be purchased in the same country as it’s being delivered, there will be no duty taxes added to the final price.

  1. How long does it take to ship a physical product? A digital product?

There is no general answer to this question for physical products. It depends on where the product is (ShopinBit’s warehouse or third-party warehouse) and how it will be shipped to you. 

For digital products, they are shipped on the same day as payment.

  1. What is the data management policy? 

ShopinBit pseudonomizes (a.k.a. turns real personal data into generic gibberish) 30 days after completion of the order. ShopinBit is legally obligated to store invoices (with the shipping address), which are kept offline.

Remember that zkSNACKs is never aware of the data of this service, and you can delete your local data anytime.

  1.  How does zkSNACKs make money? 

Orders made through Wasabi include an affiliate code and a fair cut is given to zkSNACKs, similar to standard affiliation programs.

  1. Will I get in trouble with tax authorities because of this?

We can’t help you with tax issues, you need to know the laws of your own country. In general, if you haven’t paid taxes, you may get in trouble for not paying the taxes, not for spending your money with ShopinBit’s service.

  1. What countries are not allowed?

Iran and North Korea are not allowed. Ukraine and Russia are currently halted due to the ongoing war.

  1. Does the service include shipping to remote areas? What shipping service will be used?

ShopinBit ships anywhere, if you can pay for it. The service depends on the country. Their team has experience with difficult shipping conditions.

  1. What is the return and reimbursement policy?

After you receive your order, you have a 14-day right of return. This means that if you do not like it, you can send it back (you will have to pay for the shipping).

Cars, boats, yachts, airplanes, jewellery, custom and digital items are non-returnable

If you exercise your right of withdrawal, the USD value will be used to calculate the amount of your returned coins on the day your order arrives back at the warehouse. 

The post Buy Anything with Bitcoin through Wasabi Wallet appeared first on Wasabi Wallet - Blog.

]]>
Explaining Wasabi Wallet’s Tor Implementation https://blog.wasabiwallet.is/explaining-wasabi-wallets-tor-implementation/ Tue, 24 Oct 2023 08:12:14 +0000 https://blog.wasabiwallet.is/?p=3098 This article will define what Tor is, how Wasabi Wallet implements Tor exactly, what are the operations that require an immediate circuit update, why the coordinator doesn't use an onion service anymore, and how Conflux could be a future solution to improve reliability.

The post Explaining Wasabi Wallet’s Tor Implementation appeared first on Wasabi Wallet - Blog.

]]>

Connecting to the internet through Tor is a core component of a bitcoin privacy wallet. Along with block filters, it’s the answer to bitcoin network privacy.

As expected, Wasabi Wallet comes with Tor bundled in and enabled by default (you can opt out, but it’s not recommended), but how exactly does Wasabi Wallet implement Tor?

Wasabi Wallet makes all of its requests through Tor, but it alternates the connection (circuit) modes so that for super-private things like coordinating a coinjoin, its circuit is updated after each operation. This allows the user to have privacy from both the coordinator, the Bitcoin network and the Tor network.

This article will define what Tor is, how Wasabi Wallet implements Tor exactly, what are the operations that require an immediate circuit update, why the coordinator doesn’t use an onion service anymore, and how Conflux could be a future solution to improve reliability.

First, it’s important to understand that using the Internet without Tor (or alternative protocols) reveals your IP address to the server you’re connecting to. The goal is to protect a user’s IP address from their Internet peers and the public.

How Does Tor (The Onion Network) Work?

Tor is a free and open source software that enables anonymous communication for online activities by encrypting and routing Internet traffic through a network of servers, making it difficult to trace the origin or destination of data.

In other words, Tor is a peer-to-peer network that anyone can join to hide their IP address from the destination server. Here’s a simple illustration of how Tor works:

Tor is used in Wasabi Wallet for all communication purposes by default, i.e. to connect to the bitcoin network to download blocks and broadcast transactions, and to the coinjoin coordinator to receive block filters and the state of the coinjoin rounds when loading the wallet, and most importantly, for all the communication steps of the coinjoin transaction such as input selection, output selection, transaction signing. (Read about how a coinjoin transaction works in detail). 

Now let’s take a closer look at Wasabi Wallet’s Tor implementation. 

How Exactly Does Wasabi Wallet Implement Tor?

First off, we want to make sure that all communication happens through Tor. Each time we communicate we create an HttpClient (software used to send and receive responses from a server) and we set it up with Tor.

In addition, Wasabi enables Tor’s control port to manage and switch connection (circuit) modes. There are three circuit modes:

  • For DefaultCircuit, on every session, we set up a default circuit that we will use when we don’t use other modes, usually for operations that are not too sensitive. 
  • For SingleCircuitPerLifetime, we create a new circuit just for this HttpClient, which we will reuse throughout the lifetime of the component that created the HttpClient.
  • NewCircuitPerRequest is the most private mode. We use it when we want each request to have its own unique circuit, such as during the coinjoin coordination process.

 It’s important to note that Tor circuits are slow and hard to create, which is why we try to avoid creating new ones when it’s not necessary. Here’s an example to understand better circuit mode management.

When a component needs to communicate on the Internet, it requests a new HttpClient configured with the mode it needs. When we use the RoundStateUpdater (to get the state of the coinjoin round), privacy is not critical. This is because every Wasabi client polls this endpoint, whether it’s actively participating in a coinjoin or not. 

Since this query does not reveal client uniqueness, we create the HttpClient for the component with the SingleCircuitPerLifetime mode.

Now what are the operations that require the highest level of privacy with the circuit mode NewCircuitPerRequest?

What are the Operations that Require Tor Circuit Updates (NewCircuitPerRequest) in Wasabi Wallet?

As mentioned above, Tor is used for all communication when enabled, and a Wasabi Wallet client only communicates with Bitcoin Network peers and the coinjoin coordinator server. Let’s look at the operations that require circuit updates, starting with the coinjoin coordinator process.

For the coinjoin communication, it works separately in two parts:

  • Inputs Registration + Inputs Confirmation phases: In this case, it makes sense to use one circuit for all requests related to one input, so we use the SingleCircuitPerLifetime mode, and we create a new HttpClient per input.
  • Everything else: For the rest of the critical phase, we shouldn’t link any requests with each other. So we can use a single HttpClient, but we have to use the NewCircuitPerRequest mode.

For Bitcoin network communication, we use NBitcoin and its own Tor implementation so it works very differently. To protect privacy additionally on the block download step, we disconnect from a network peer every time we download a block. 

We’ve explained in detail how the Wasabi Wallet client Tor implementation works, now let’s answer a common question regarding the abandoned use of an onion service for the coordinator server.

Why The Wasabi Coordinator Doesn’t Use an Onion Service Anymore

An onion service is a server configured to only receive incoming connections through Tor, providing privacy and censorship resistance to servers by bypassing DNS.

It used to be the case that the coordinator would run an onion service and clients would connect to it. However, this is no longer the case due to reliability issues inherent in onion services. In addition, the coordinator server doesn’t need privacy from the public so there’s not too much incentive. 

For Wasabi’s coinjoin coordination process to work properly, the standard deviation of the request time must be small. Each request has to happen in a few seconds, and this time frame can’t vary much from request to request. Reliability is a major issue for Tor.

However, a solution seems to have arised…

Conflux as a Potential Reliability Solution for Tor

Conflux is a new Tor project that aims to solve Tor’s inherent reliability problems. If you need bandwidth reliability: you use Conflux, and it duplicates your request and sends each one through different circuits. Since reliability failure is a low-probability event, it’s extremely unlikely to happen with two different requests (e.g., 0.1 * 0.1 = 0.01),

Since Wasabi’s use of Tor varies depending on the action, sometimes we would use Conflux and sometimes we wouldn’t. Unfortunately, this isn’t possible with our current implementation. An alternative implementation called Arti would allow us to solve the Conflux management problem.

Conclusion

In this article, we’ve explored how Tor works, how it’s implemented in Wasabi Wallet through the alternative circuit modes depending on the action, which operations require the most private mode, why the coordinator no longer uses an onion service, and how Conflux is a solution to the reliability issues inherent in Tor. 

This article, among other technical content, demonstrates that Wasabi Wallet is the superior bitcoin wallet for network privacy. To learn more about all the benefits of Wasabi Wallet, check out the Coinjoins.org review

The post Explaining Wasabi Wallet’s Tor Implementation appeared first on Wasabi Wallet - Blog.

]]>
Announcing Private Bitcoin for Enterprises with a New Coinjoin API https://blog.wasabiwallet.is/coinjoin-api-pioneering-bitcoin-privacy-for-enterprises/ Thu, 12 Oct 2023 11:50:05 +0000 https://blog.wasabiwallet.is/?p=3091 Now, with a simple Coinjoin API recently announced, collaborative bitcoin transactions are accessible to anyone, including companies that want to add powerful and robust privacy features to their bitcoin products, such as wallets, brokers, custodians and more

The post Announcing Private Bitcoin for Enterprises with a New Coinjoin API appeared first on Wasabi Wallet - Blog.

]]>
All bitcoin transactions are public and easily traceable by anyone. Nothing new here. Businesses and individuals may find friction in this lack of privacy. In traditional financial services, protecting commercial and personal interests from the public is common, so Bitcoin should be no different.

As software, Bitcoin is programmable, and its transactions can be made collaborative to protect users from leaking sensitive transaction details. Coinjoins are bulk bitcoin transactions that do just that. Coinjoins allow users to prevent personal information leaks on the public Bitcoin network, reclaiming their privacy. Users can protect their transaction history while retaining the ability to choose who to share confidential financial information with.

Coinjoins for Everyone, Anywhere

For a long time, coinjoin protocols have been difficult to develop and implementations have been difficult to deploy and maintain, with many performance, reliability and efficiency quirks. 

Now, with a simple Coinjoin API recently announced, collaborative bitcoin transactions are accessible to anyone, including companies that want to add powerful and robust privacy features to their bitcoin products, such as wallets, brokers, custodians and more. Over the past five years, Wasabi Wallet has shown that coinjoins can bring privacy to a large number of consumers without any tradeoffs on security or sovereignty. With an ever-growing interest in recording and analyzing public bitcoin transactions, bitcoin companies must now find new ways to protect the privacy of their customers as they move to a Bitcoin standard. The Coinjoin API makes this available to the enterprise market and increases the value proposition for Bitcoin itself. 

Anonymity loves company, and that’s why we love that anyone can use our Coinjoin API to join the privacy party of our existing users. WabiSabi is efficient, fast, and flexible, where alternative clients can pioneer cutting-edge features. BTCPayServer users can efficiently batch multiple payments in a single coinjoin, and Trezor Suite users are the first to enjoy hardware wallet security of their private keys in coinjoins. This freedom to innovate on the edges will let a thousand flowers bloom” – Max Hillebrand, CEO at zkSNACKs and Wasabi Wallet contributor. 

With over a million devices sold, Trezor, one of the world’s most popular bitcoin hardware wallet manufacturers, has already integrated the Coinjoin API developed by zkSNACKs earlier in 2023. 

“Our mission is strengthening the power and independence of the individual. Coinjoin is an essential piece in the privacy puzzle and we try to make it as simple as possible. Now anyone can reclaim their privacy without compromise on security.” – Hynek Jína, Head of Development at Trezor

As a self-hosted bitcoin payment processor, BTCPay Server has integrated the WabiSabi coinjoin protocol into a plug-in, making this feature available to all of its merchants, who can now even run their own coinjoin coordinator infrastructure. 

BTCPay Server has always championed privacy-centric solutions. When the WabiSabi protocol became production-ready, it was a no-brainer for me to build an option to incorporate it. The flexibility of WabiSabi is astounding, allowing me to innovate by using a privacy solution as a scaling solution. Now, merchants can schedule and batch their bitcoin payments to be broadcast through coinjoins, hitting two birds with one stone. BTCPay Server even allows you to effortlessly integrate WabiSabi coinjoins into your operations through its extensive API. And with the upcoming payment protocol, a service provider will be able to offer the most private financial settlement experience possible to its customers, at no extra cost.”Kukks, BTCPayServer

In the early Wasabi Wallet 1.0 version, Cyphernode and Chaincase had already successfully integrated the API to build clients with new functionalities such as multi-wallet management for the former and deploying on the iOS platform for the latter. Even with these early innovations, we’re still at the beginning of scaling accessible Bitcoin privacy to millions of users, and the Coinjoin API is a new product to help bitcoin businesses on that path forward. As new partners integrate with the zkSNACKs Coinjoin API, liquidity improves, which provides better service to all existing users. In other words, coinjoins are social and benefit from network effects to improve the level of privacy for all users with an optimal level of speed, cost and ease of use. 

Existing bitcoin companies can leverage new opportunities to monetize a high-traffic wallet or broker through an affiliate program with revenue sharing. Offering an additional feature to existing users creates new income diversifying revenue streams, while potentially attracting new users by providing state-of-the-art Bitcoin privacy features. With regular user data breaches targeting bitcoin exchanges, brokers and lenders, companies can now mitigate the impact on their customers by preventing address clustering and transaction tracking. Companies can also fully comply with local and regional consumer privacy laws by protecting users’ personally identifiable information, preventing non-consensual sharing of user data on the public Bitcoin network. 

If you are a Bitcoin company interested in joining the affiliate program and learning more about the Coinjoin API, please get in touch with zkSNACKs at [email protected]

The post Announcing Private Bitcoin for Enterprises with a New Coinjoin API appeared first on Wasabi Wallet - Blog.

]]>
Unpacking Wasabi Wallet’s Power Feature: The Headless Daemon https://blog.wasabiwallet.is/unpacking-wasabi-wallets-power-feature-the-headless-daemon/ Wed, 13 Sep 2023 15:36:30 +0000 https://blog.wasabiwallet.is/?p=3074 Think of it as your wallet but on a diet. It uses fewer resources like CPU, GPU, memory, and bandwidth, allowing you to run Wasabi Wallet unobtrusively in the background.

The post Unpacking Wasabi Wallet’s Power Feature: The Headless Daemon appeared first on Wasabi Wallet - Blog.

]]>
A Builder’s Best Friend

Wasabi 2.0 has redefined the Bitcoin privacy world with the introduction of the WabiSabi coinjoin protocol. This does not require sacrificing any of the rich features offered by the battle-tested 1.0 version, so that’s why we’re excited to reintroduce the Headless Daemon in Wasabi Wallet v2.0.4. This powerful tool offers a lighter, more efficient way to manage your Bitcoin wallet. No more worrying about resource consumption — the daemon’s got you covered.

What is the Headless Daemon?

Normally, you’d interact with Wasabi Wallet through our graphical user interface (GUI). While user-friendly, the GUI can sometimes demand a lot of your computer’s resources. The headless daemon changes all that. With this new feature, you can interact with your wallet via a simple command line interface. Think of it as your wallet but on a diet. It uses fewer resources like CPU, GPU, memory, and bandwidth, allowing you to run Wasabi Wallet unobtrusively in the background.

Why You’ll Love It

  • Developer-Friendly: Before making new features live on the GUI, developers can test them out via the RPC interface.
  • Always Ready: If you keep it running all the time, there’s no need to worry about synchronizing your wallet every time you wish to use it.
  • Easy Configuration: No need to navigate through config files. You can override settings with a simple command.
  • No Compromises: Enjoy all the features you love without any tradeoffs when switching from the GUI to the daemon.

How to Run the Headless Daemon

Installed Package

Linux Users

wassabeed –wallet=WalletName –jsonrpcserverenabled=true

macOS Users

cd /Applications/Wasabi\ Wallet.app/Contents/MacOs

./wassabeed –wallet=WalletName –jsonrpcserverenabled=true

Windows Users

cd C:\Program Files\WasabiWallet

wassabeed –wallet=WalletName –jsonrpcserverenabled=true

Building from Source

If you prefer to build from source, you can navigate to the WalletWasabi.Daemon directory and run:

$ dotnet run –wallet=WalletName –jsonrpcserverenabled=true

Examples to Get You Started

1. Connect to Testnet

$ wassabeed –network=testnet

2. Run on Testnet with Additional Configurations

$ wassabeed –usetor=false –datadir=”$HOME/temp/wasabi-1″ –network=testnet –jsonrpcserverenabled=true –blockonly=true

3. Open Multiple Wallets

$ wassabeed –wallet=AliceWallet –wallet=BobWallet

4. Check Daemon Version

$ wassabeed –version

Wasabi Daemon 2.0.4

Wrapping Up

With the headless daemon, power users can easily integrate Wasabi’s unmatchable privacy into their project workflow. Get ready to experience a more streamlined, resource-friendly way of managing your Bitcoin. Upgrade to Wasabi version 2.0.4 today and give the headless daemon a spin!

The post Unpacking Wasabi Wallet’s Power Feature: The Headless Daemon appeared first on Wasabi Wallet - Blog.

]]>
Wasabi’s Latest Release (2.0.4) Improves Coinjoin Efficiency https://blog.wasabiwallet.is/wasabis-latest-release-2-0-4-improves-coinjoin-efficiency/ Thu, 24 Aug 2023 09:16:00 +0000 https://blog.wasabiwallet.is/?p=3039 With the 2.0.4 release, we have improved coinjoin efficiency in multiple ways so that you reach private status on all your coins faster and incur less cost. Our main goal is to even further reduce the occurrence of toxic change. 

The post Wasabi’s Latest Release (2.0.4) Improves Coinjoin Efficiency appeared first on Wasabi Wallet - Blog.

]]>
Introduction

As a coinjoin user, you’re not only looking for privacy for your coins but also efficiency in terms of fees and time. We could say that the perfect on-chain coinjoin would be one transaction, would cost very little, and would provide a lot of privacy for all your coins while leaving no toxic change. At Wasabi, we have always improved our software so that it becomes more efficient, because this increases the accessibility of privacy. 

With the 2.0.4 release, we have improved coinjoin efficiency in multiple ways so that you reach private status on all your coins faster and incur less cost. Our main goal is to even further reduce the occurrence of toxic change

How are we improving coinjoin efficiency on the 2.0.4 release?

First off, the maximum number of outputs per user per coinjoin transaction is no longer 8 but is now 10. Then, output decompositions that produce toxic change outputs are now rarely chosen. Additionally, we have slightly changed how the anonymity scoring is calculated, to reflect further the reality. Finally, Wasabi’s definition of private coins has changed to a random value of an anonymity score of 27 to 76, instead of 50 to 100 in the privacy profile.

If you want to understand the details of how this works, what the above numbers mean, and understand the motivation behind our update, read further. To better communicate this topic, we have to first take a look at Wasabi Wallet 1.0 and its flaws, then how Wasabi Wallet 2.0.0 fixed many of them, and finally, the improvements done on the 2.0.4 release, to bring us one step closer to providing the perfect coinjoin protocol and application. 

This article assumes you understand Bitcoin’s UTXO model and the lack of privacy it creates, read about it here if you don’t.

The Flaws of Wasabi Wallet 1.0 and Zerolink

Wasabi Wallet 1.0 was released on October 31st 2018. It was the first implementation of a Zerolink Chaumian coinjoin protocol, in which encrypted communication with the coordinator was introduced through blind signatures

Trustless coinjoin transactions at scale became a reality. However, nothing is perfect and this mechanism has inherent flaws. Let’s look at how Wasabi Wallet 1.0 works and where the issue relies, particularly around coinjoin efficiency. 

How does Wasabi Wallet 1.0 work?

When you use Wasabi 1.0, you have to manually select the inputs you wish to be part of the coinjoin transaction and queue them. Once enough participants had joined the current queue, the coordination process of the coinjoin transaction would begin, including the phases of input and output registration, and transaction signing. Once all coordination phases are completed, the coordinator broadcasts the coinjoin transaction to the bitcoin network. It confirms and the coinjoin is complete. To learn more about the details of the Zerolink protocol, read about it here.

This is what the Wasabi Wallet 1.0 interface of the registration process looks like. 

What are the Flaws of Wasabi Wallet 1.0? 

Due to the inherent nature of blind signatures, the private output values of a coinjoin transaction in Wasabi Wallet 1.0 are of a fixed set of multiples of a base denomination. This inherent design issue leads to coinjoin inefficiency.

Example of what a Wasabi Wallet 1.0 coinjoin transaction looks like, with a no fee assumption for simplification purposes.

Since it’s unlikely that a participant’s input will equal the sum of the fixed output value and the additional required fees, the coinjoin transaction creates toxic change outputs for almost every user. This means that a user will pay bitcoin mining fees to create outputs that are not even private, and will have to pay even more in the future to get those UTXOs private. 

An additional issue of a fixed set of multiples of a base denomination for private outputs is accessibility. Users with less bitcoin than the base denomination find themselves excluded from participating in Wasabi Wallet 1.0 coinjoin transactions. 

Fortunately, the flaws of Wasabi Wallet 1.0 motivated the team to research and develop a new system that would fix those caveats on the WabiSabi protocol. 

WabiSabi to the Rescue

As previously said, Zerolink’s usage of blind signatures restricted Wasabi Wallet 1,0 to a fixed set of multiples of a base denomination. On the other hand, WabiSabi introduces KVACs (keyed-verification anonymous credentials) to replace blind signatures’ standard denominations with homomorphic amount commitments. To learn more about KVACs, the WabiSabi academic paper explains well the technology behind it.

This allows the coordinator to verify that the sum of any participant’s outputs does not exceed that of their inputs while allowing the user to hide the underlying values from the coordinator. This innovation allows for Wasabi Wallet 2.0 to be more flexible on output decomposition for coinjoins, which means that users can now register inputs and outputs worth anywhere in between 5000 sats and 40000 bitcoin (find all the output denominations here). This greatly improves coinjoin efficiency, allowing most users to avoid toxic change outputs from the coinjoin transaction, and it drastically increases accessibility by lowering the minimum amount by 99%.

Example of what a Wasabi Wallet 2.0 coinjoin transaction looks like, with a no fee assumption for simplification purposes.

Now that we’ve explored the different approaches taken in Wasabi Wallet 1.0 and 2.0, let’s take a look at how coinjoin efficiency works. 

How is Coinjoin Efficiency Measured?

Briefly, the WabiSabi research paper defines coinjoin inefficiency “ to be the fraction of non-mixed change outputs and the total number of outputs in a CoinJoin transaction”. This means that a coinjoin transaction without any toxic change outputs has no coinjoin inefficiency. 

It’s also important to consider that a coinjoin participant wants to minimize the amount of fees he will pay and the amount of time he will spend to gain a sufficient level of privacy. 

Let’s complete this article by looking at the latest coinjoin efficiency improvements.  

Wasabi 2.0.4 Release Improvements on Coinjoin Efficiency

Wasabi Wallet’s 2.0.4 release introduces a few improvements to coinjoin efficiency by reducing further the occurrence of toxic change. It does so by introducing Naive Decomposition, an alternative way to decompose the input value sum into private outputs, which decreases the rate of decompositions that create toxic change outputs. 

Additionally, there is an adjustment to the anonymity score calculator, in which there’s now three types of anonymity score calculation for outputs instead of two. Also, the profile “Maximize Privacy” anonymity score target is now of a different value, from 50-100, to 27-76.

In this section, we’ll explain in detail what this means.

What is Wasabi Wallet’s Naive Decomposition?

Like previously mentioned when introducing Wasabi Wallet 2.0, coinjoin output decomposition happens freely, which means that amounts are no longer fixed, they’re way more flexible. However, it’s nowhere near perfect and some coinjoin transactions still have toxic change. This particularly affects whale users that bring high value UTXOs to the collaborative effort.

To partially solve this problem and reduce even further toxic change, we introduce Naive Decomposition. It’s a method that attempts to break down a larger amount of money into smaller denominations in a straightforward or ‘naive’ manner, while adhering to certain constraints such as maximum number of outputs and minimum allowed output amounts. Here’s the codebase section on the Naive decomposition.

How does Naive Decomposition Create Less Toxic Change?

The way it does this is fairly straightforward: it iterates over the provided denominations and continuously subtracts them from the total sum until it can’t anymore, respecting the constraints of maximum number of outputs and the available virtual size (vsize).

If there’s enough ‘remaining’ to create a change output (greater than the minimum allowed amount + change fee), it adds a change output.  If not, the ‘remaining’ amount is treated as a ‘loss’ that goes to the miners. 

It’s also important to note that on the Naive Decomposition the maximum number of outputs is 10, including a toxic change output. For regular previously used decomposition, the number remains at 8. Increasing this number helps in creating better decompositions, with less toxic change. However, we don’t want to increase this number too much because it could lead to  heavy computer resource consumption and then to software crashes. Also, it’s important to avoid creating too many outputs, to reduce the future fees the user will have to pay to spend each one of them.

Now that we’ve understood the gains of coinjoin efficiency of the Naive Decomposition on the 2.0.4 release, let’s finish up the blog post by describing the motivations behind the changes on the anonymity score calculator and the profile “Maximize Privacy” anonymity score target value. 

The Anonymity Score Calculator Becomes More Accurate

Every coinjoin protocol has its own way to calculate anonymity gain, and on Wasabi Wallet 2 it’s called anonymity score. This term is different from anonymity set used in Wasabi Wallet 1.0, and to know more about the difference between these two terms and how the anonymity score calculator works in detail, read this previous blog post

Here’s a brief but exact description of the anonymity score calculator for coinjoin transaction outputs. 

Before the 2.0.4 Release

There are two different anonymity scores possible to inherit for a coinjoin transaction output, they are as follows:

  1. Non-Sanctioned: When the output is of standard denomination AND it’s not one of the two biggest output amounts in the transaction. It’s uniqueness doesn’t matter, it is a private output.
    1. Anonymity score is calculated as the sum of the weighted average of the anonymity scores of a user’s own inputs part of the coinjoin transaction, and the total number of outputs of the same denomination divided by the number of a user’s own inputs of that denomination.
  2. Sanctioned: When it’s not non-sanctioned, so it’s either not of a standard denomination OR it’s one of the two biggest output amounts in the transaction.
    1. Anonymity score is calculated as the minimum anonymity score of a user’s own inputs part of the transaction. 

Since the 2.0.4 Release 

There’s now three different anonymity scores possible to inherit for a coinjoin transaction output. The changes will be highlighted. They are as follows:

  1. Non-Sanctioned : When the output is of standard denomination (uniqueness doesn’t matter) AND it’s smaller than the biggest pair of foreign equal outputs(in other words, my output is smaller than the biggest foreign denomination that has at least two outputs)
    1. The anonymity score calculation doesn’t change for Non-Sanctioned outputs.
  2. Sanctioned: When it’s not a standard denomination only (so it won’t be applied anymore for big standard denominations outputs, this is the main goal of the change)
    1. The anonymity score calculation doesn’t change for Sanctioned outputs.
  3. Half-Sanctioned (new): When we are not a Non-Sanctioned or a Sanctioned output (is of a Standard denomination AND is bigger than the biggest pair of foreign equal outputs)
    1. The anonymity score is calculated as the minimum anonymity score of our own inputs part of this transaction that are bigger than the biggest foreign output. 

Why did we change this? 

We would previously lower the anonymity score of what is now a half-sanctioned output to the minimum anonymity score of a user’s own input part of the transaction. This calculation is done client-side so the software knows which inputs are yours. 

However, anonymity score should be a measurement of what can be perceived from analyzing the blockchain, so if an input is not in the penalty, well we can’t know it’s yours from a blockchain analytics perspective. It made little sense to penalize a half-sanctioned output to that level, instead we penalize it to the minimum anonymity score of our own inputs that are part of this transaction and are bigger than the biggest foreign output.  

Let’s conclude by explaining the profile “Maximize Privacy” change.

Why Has the Anonymity Score Target of Maximize Privacy Changed?

When you initialize Wasabi Wallet 2.0, you can choose your wallet profile either to “Minimize Cost”, “Maximize Speed” or “Maximize Privacy”. The first two will give the target an anonymity score superior to 5, but differ because the first one will wait for bitcoin network fees to be low to coinjoin. Maximizing privacy used to target a random number between 50 to 100, but that’s now 27 to 76. Why?

Based on our goal to prioritize efficiency for our users, we always want to offer the most economical solution available. We believe that an anonymity score of 100 is currently probably an overkill to recommend as a default setting, and we’ve lowered it because of that reason.

We’ve calculated that an output can never gain more than 26 anonymity scores from 1 coinjoin transaction, so a minimum of 27 enforces at least two coinjoin transactions. We kept the same spread which gives us 27 to 76. 

It’s important to know that this is just a default setting and you can always change your anonymity score target to a maximum of 300. 

Conclusion

This article explains the mechanism behind Wasabi Wallet 1.0 (and the Zerolink protocol), its inherent flaw of coinjoin inefficiency, how Wasabi Wallet 2.0 (and the WabiSabi protocol) improved efficiency and fixed many of the resulting caveats. This part introduces the goal of this article, which is to explain the improvements made on Wasabi Wallet’s latest release (2.0.4) on coinjoin efficiency through the introduction of the Naive Decomposition, and the further changes to the anonymity score calculator and the anonymity score target value of the profile “Maximize Privacy”. 

The post Wasabi’s Latest Release (2.0.4) Improves Coinjoin Efficiency appeared first on Wasabi Wallet - Blog.

]]>
WasabiGPT: Send Bitcoin With AI https://blog.wasabiwallet.is/wasabigpt/ Sat, 01 Apr 2023 14:20:43 +0000 https://blog.wasabiwallet.is/wasabigpt/ Wasabi Wallet launches WasabiGPT: a Wasabi Wallet AI integration to explore the possibilities of AI in Bitcoin UX.

The post WasabiGPT: Send Bitcoin With AI appeared first on Wasabi Wallet - Blog.

]]>
Wasabi Wallet launches WasabiGPT: a Wasabi Wallet AI integration to explore the possibilities of AI in Bitcoin UX.

The mission of Wasabi Wallet is to empower sovereign individuals to protect their financial privacy. This is achieved by providing a lightweight, zero knowledge desktop wallet. At the same time, it is important for any privacy tool to have the easiest UX, making it accessible to users. With WasabiGPT, Wasabi Wallet presents what may be the future of Bitcoin UX: an AI powered Bitcoin wallet, developed by Wieslaw Soltes, senior engineer at Wasabi Wallet.

With WasabiGPT, instead of searching through Docs and Settings, users can simply ask Wasabi Wallet whatever they’d like to know in natural language format and receive an answer directly in the Wasabi Wallet UI – from “What is my XPub” to “Explain Red Coin Isolation” – and even ask WasabiGPT to make entire Bitcoin transactions for them, without clicking a single button.

“As Technology advances, it is important for Bitcoin products to keep up with the times,” says Adam Ficsor, Co-Founder of zkSNACKs and lead maintainer of Wasabi Wallet. “In the future, we may be transacting value via brain implants. It is important for Bitcoin to remain at the cutting edge to explore possible privacy and security risks Bitcoin users may face.”

WasabiGPT is available to anyone in possession of ChatGPT access as a Testnet client. Due to the current state of AI systems, WasabiGPT offers zero privacy for users. All requests will be stored and processed externally after ChatGPTs Terms of Service. In the future as AI systems advance, it is thought possible to run a lightweight AI locally within the client, alleviating many of the privacy concerns facing AI today. Rather than being used for payments, WasabiGPT is used as a real-life research experiment. Its goal: to explore the possibilities of AI for Bitcoin UX and understand the privacy and security risks associated with using AI for bitcoin transactions. The future is already here, now it is on us to build on it.

The post WasabiGPT: Send Bitcoin With AI appeared first on Wasabi Wallet - Blog.

]]>
The History of WabiSabi https://blog.wasabiwallet.is/the-history-of-wabisabi/ Thu, 14 Jul 2022 12:04:00 +0000 http://blog.wasabiwallet.is/the-history-of-wabisabi/ WabiSabi is a novel communication protocol for creating bitcoin coinjoin transactions with arbitrary amounts. It is a concept with roots going back to the early days of bitcoin, even the earliest beginnings of digital payments.

The post The History of WabiSabi appeared first on Wasabi Wallet - Blog.

]]>
WabiSabi is a novel communication protocol for creating bitcoin coinjoin transactions with arbitrary amounts. It is a concept with roots going back to the early days of bitcoin, even the earliest beginnings of digital payments. Over the last two years, we have researched, designed and implemented this protocol. Now that we have finally released Wasabi Wallet 2.0, here is the history of this monumental advancement in bitcoin privacy.

Wasabi Wallet 1.0 solved a lot of difficult problems out of the box. Tor was natively integrated, protecting user IP addresses. Block filters were used to synchronize wallets without anyone else learning about the transaction history. The best available zerolink coinjoin protocol with Chaumian blind signatures provided privacy on the blockchain.

However, the Chaumian blind signature protocol had limitations that lead to a bad user experience and excessive blockspace usage. The minimum denomination was too large for many users, denying them access to the service. But for others it was too small, resulting in many coins in the wallet, which is expensive. If a user wanted to consolidate many inputs in the same coinjoin transaction, he had to tell the coordinator which belonged together. Even though the coordinator could not link the inputs of one user to the equal amount output he received, it was public knowledge which non-equal change output the user received.

Some of these concerns were improved with marginal upgrades to the protocol during the Wasabi 1.0 life cycle. However, in order to truly solve these issues, a fundamental solution was required. But at this point, we did not know what technology existed that could be applied at scale.

A group of developers, cryptographers and enthusiasts got together in the Wasabi Research Club, a weekly meeting to define, discuss and solve this complex problem. Initially, a different academic paper was chosen as the topic for each week. We invited the authors of each paper to join us, and many did, giving ample opportunity to ask questions. One of the researchers, usually Aviv Milner, started the call with a short presentation to introduce and summarize the paper. The recordings of these calls are available on the Wasabi Wallet YouTube channel.

A breakthrough moment was when Jonas Nick suggested that keyed verified anonymous credentials might be a great fit for our specific use case. There are numerous different cryptographic schemes in this category, like Brands’ credentials, Mercurial signatures, anonymous credentials light and keyed verified anonymous credentials. The specific paper Jonas brought to our attention was The Signal Private Group System and Anonymous Credentials Supporting Efficient Verifiable Encryption, written by Melissa Chase, Trevor Perrin and Greg Zaverucha.

This cryptography allows a central server to issue tokens which can have many attributes. Each of these attributes can be blindly committed to, then selectively revealed at a later point. These tokens can be transferred anonymously. The trick we use in WabiSabi specifically, is that one attribute of these credentials is a blinded value of sats. Pedersen commitments are used so that the coordinator never learns how many sats one token has attributed, but he can still ensure that nobody is creating more money than he spent.

These anonymous digital bearer certificates are the access rights to the new bitcoin transaction that is being built. The coordinator issues tokens and gives it to anyone who provides an input. And later, any anonymous user who provides such a token, can write an output address and amount to the transaction. These tokens ensure nobody is writing more outputs than inputs, without the users having to sacrifice their privacy to the central server.

At this point, we had a pretty solid idea of the problem and how flexible anonymous eCash tokens can be used to solve it. This was a sufficient advancement to document in a new paper, WabiSabi: Centrally Coordinated CoinJoins with Variable Amounts, which was peer reviewed and published. This paper was finalized mainly by Adam Ficsor, Yuval Kogman, Lucas Ontivero and István András Seres.

A crucial next step was to implement the cryptography that makes the system possible. Lucas Ontivero, Yuval Kogman and David Molnar dedicated months to building, testing and reviewing this critical part of the codebase. An independent security firm was hired to audit the code base and several outside contributors have reviewed it as well. In the following months, Wasabi’s client and server code were upgraded and sometimes entirely rewritten to support this new protocol.

With the protocol designed, the cryptography implemented and the client and server code well on its way, we realized that some of the most difficult questions are still unanswered. Now that the coordinator no longer dictates the minimum value of inputs and what output values to register, what exactly should the client do now? With great power, comes great responsibility. For the first time in the history of bitcoin coinjoin, the client can basically do whatever it wants. This turned out to be rather uncharted territory, with conflicting ideas of how to approach the subject.

Anonymity likes company meaning that it’s a good idea to hide in a crowd. So a coinjoin transaction should have many coins with the exact same amount of sats. However, every transaction should have many different equal amounts. One of Yuval’s many insights was to use low Hamming weight standard denominations. Only a few of these amounts are required to sum up to any arbitrary value. Specifically, these standard denominations are powers of two, powers of three, and 1, 2, and 5 times the powers of ten. Between 5000 sats and 1 bitcoin, there are 41 of these standard denominations. If all clients prefer to create outputs in only those standard denominations, then there are going to be a higher number of equal amount inputs and outputs.

These developments are why Wabisabi has improved upon the original Zerolink protocol of Wasabi 1.0 and how Wasabi 2.0, powered by Wabisabi are breaking records everyday for facilitating some of the largest coinjoins ever while provided even the newest Bitcoin user access to the highest level of privacy.

The post The History of WabiSabi appeared first on Wasabi Wallet - Blog.

]]>