Despite its growth Bitcoin still faces some glaring limitations to reaching mass adoption as a fully censorship-proof payments network.
One of them is privacy. Bitcoin’s ledger is fully open and public, meaning anyone can track another person’s transactions if they know his public address.
The other is a custody problem. While wallet software UX has improved considerably over time, many Bitcoin holders still store their assets with custodians, exchanges, and lenders. This creates counterparty risk if the centralized entity flees with their funds, or goes bankrupt.
Thankfully, a solution to both problems has emerged.
Fedimint allows Bitcoiners without technical know-how to experience the familiarity of custody and the privacy of cash, when transacting. While not completely trustless, the protocol provides significantly less risk to holders than third-party custodians.
Here’s how Fedimint is helping bring Bitcoin users away from traditional financial rails, and towards the actual Bitcoin network.
What is Fedimint?
Fedimint –short for federated mint – is an open-source protocol allowing groups of people to build Bitcoin-native federated chaumian mints.
Chaumian mints were an early privacy-enhancing e-cash scheme. Users could exchange their assets with the mint in return for a blind-signed IOU that removed any evidence about the user to whom it was issued.
These IOU’s could be used later to withdraw one’s assets or to trade with other users of the mint. The benefit? The trading of these IOUs is completely anonymous.
Unfortunately, chaumian mints never gained mainstream traction. Their centralized structure made them unfeasible in a world of governments eager to crackdown on technologies enabling anonymous payments. If run anonymously, the market would never trust them for fear that the operator would make off with their assets.
By contrast, a federated mint leverages the power of the Bitcoin network to split the once centralized trust of chaumian mints across multiple parties. As an asset, Bitcoin is the first in human history that can be held in a federated manner, making a distributed model possible.
How Does Fedimint Work?
While various federated mint models can exist, today we will cover the basics of Minimint – which is most active. (Note: Minimint’s dominance as a federated Chaumian mint has made it synonymous with the word ‘Fedimint’ in many circles. This article may use ‘MiniMint’ and ‘Fedimint’ interchangeably.)
Fedimint uses a Byzantine Fault Tolerant (BFT) consensus algorithm to agree on sets of transactions submitted by clients. Transactions and other data are split into specific modules based on data type,, and then checked transaction validity (ex. Valid signature). If invalid, the transaction is discarded.
There currently exist two modules for implementing Fedimint’s e-cash functionality: First is the Fediwallet, which supports Bitcoin deposits and withdrawals. The second is Fedimint, which permits blind-signed tokens to be issued and spent. These tokens may come in different denominations. More modules, with advanced functionality, can be built later.
The BFT consensus algorithm allows for some parties within the federation to go offline, or act maliciously, without compromising the protocol. Specifically, Fedimint’s consensus protocol can handle about one-third of nodes being faulty.
The wallet receives Bitcoin deposits that clients submit in exchange for blind token IOUs. Clients may redeem those IOUs later to withdraw Bitcoin from the wallet.
The wallet uses a simple multisig configuration, which requires permission from multiple federation members to move the wallet’s funds.
Recovering Your Federated Funds
Just like a self-hosted Bitcoin wallet, users can back up their funds using a seed phrase. A seed phrase consists of 12 to 24 words needed to recover one’s private key, granting him access to his Bitcoin.
Members of a community fedimint can encrypt a backup of their private key with chosen guardians. This way, if a user loses his signing device or seed phrase, he still has recourse to get his funds back.
Why is Fedimint Important for Bitcoin?
Fedimint brings three key benefits to the Bitcoin ecosystem that its base blockchain is incapable of providing.
- Reliable Custody: Due to technical requirements and personal uncertainty, many people and businesses would simply prefer not to have custody of their own coins. In this case, deferring responsibility to a federated mint is the next best choice for security purposes. Average users can trust the most technically savvy members of the mint to serve as “guardians,” providing trusted services through Fedimint servers.
- Scaling: Transactions in ecash tokens do not take place on the native Bitcoin blockchain. Therefore, Fedimints let users effectively trade Bitcoin without waiting on its ten-minute block time.
- Private Transactions: Offering privacy tools to Bitcoin users can enhance the asset’s utility as freedom money. People in oppressive regimes with unstable property rights need certainty that they can hide their financial information and activity.
- Enhanced Utility: Fedimints can potentially build modules that go beyond letting users send and receive ecash tokens. For example, they can be used to integrate the lightning network, smart contracts, and even a federated marketplace of products.
During the Bitcoin ++ hackathon in early summer 2022, Justin Moon – co-founder of Fedi – implemented Simplicity into a chaumian mint, created with Fedimint. Simplicity is “a low-level programming language with greater flexibility and expressiveness than Bitcoin Script.”
Are Federated Mints Centralized?
Fedimints qualify as centralized because they require trust in external parties (federation members) to safe keep users’ coins. The most secure way to manage one’s Bitcoin is through a self-hosted hardware wallet while running a personal node/ lightning node for increased privacy.
However, with the sufficient distribution of federation members, fedimints can minimize counterparty risk and eliminate single points of failure. This makes them a vastly more reliable alternative to CeFi parties, while still remaining resistant against nation-state level attackers.
The trusted federation members need not be strangers. They can be friends, family, or any technologically sound members of the community whom you trust the most.
Examples of Federated Mint Projects
- MiniMint: Still a prototype, MiniMint is a modular federated ecash system written in Rust. It already supports on-chain Bitcoin transfers, lightning transfers, and ecash transfers, and includes a rudimentary CLI client.
While initially focusing on ecash, it is now growing as a general framework for other federated financial applications. These could involve the use of smart contracts or even federated marketplaces.
- SCRIT1: The first published, half-written implementation of a federated chaumian mint created by Frank Braun and Jonathan Logan. Written in GO, it does not implement a Bitcoin backing.
- SCRIT2: A re-implementation of SCRIT1, but including support for multiple currencies, inter-currency swaps, and more complex multiparty transactions. It’s still in private beta and contains no direct connection to Bitcoin.
- Open Transactions: A collaborative effort to build a free-software toolkit for implementing a low-trust notary server. Like Minimint, this would allow for private transactions in an environment where users cannot defraud each other, using multi-signature voting pools where notaries monitor one another in real-time.
- Fedi: A project building a mobile app on top of Fedimint, that will serve as a Bitcoin wallet for interacting with the protocol. It will launch in early 2023.
See the links below to learn more about federated chaumian mints, and their relationship with Bitcoin.
- Bitcoin 2022 Review of Chaumian Mints
- Fedi Team Chat About Fedimint