Bitcoin Knots: A Better Bitcoin Client

Bitcoin Knots is a Bitcoin client implementation that distinguishes itself through a series of bug fixes, performance upgrades, and stricter mempool policies. In this full review we analyze what it is and how it works.

What Is Bitcoin Knots?

The Bitcoin network comprises tens of thousands of nodes, each running the Bitcoin protocol software. The predominant implementation among these nodes is Bitcoin Core, serving as the reference standard due to its foundational role in shaping other implementations. Bitcoin Knots, while stemming from Bitcoin Core, represents both a derivative and an alternative. It incorporates a suite of enhancements drawn from, proposed for, and sometimes maintained independently of the main Bitcoin Core repository.

Running Bitcoin Knots parallels running Bitcoin Core, as both adhere to the same consensus rules (it's not a fork). However, Bitcoin Knots distinguishes itself through a spectrum of bug fixes, performance upgrades, and stricter mempool policies. However, aspects like the mempool spam filters are policy, so there cannot be any chain splitting by using Knots. So running Knots means running the real Bitcoin.

This guide offers an in-depth exploration of Bitcoin Knots: its genesis, its creator, its configurable settings, and considerations for its adoption over Bitcoin Core.

Bitcoin Knots Brief History

Bitcoin Knots Overview
Bitcoin Knots Overview

Despite the recent surge in media attention surrounding the OCEAN mining pool, which notably employs also the Bitcoin Knots block template in its battle against spam, it's important to note that Bitcoin Knots has a rich history spanning over a decade.

Originally known as Bitcoin LJR, it emerged in 2011 as a fork of Bitcoin Core, curated by Luke Dashjr. The moniker "Knots" pays homage to the biblical passage where Jesus drives out money changers from the Temple using a whip made of knots, reflecting Dashjr's Roman Catholic beliefs, while also symbolizing the merging of code.

Christ expelling the money-changers from the Temple, by Carl Heinrich Bloch – Frederiksborg Palace (Denmark)
Christ expelling the money-changers from the Temple, by Carl Heinrich Bloch – Frederiksborg Palace (Denmark)
✝️
When He had made a whip of cords, He drove them all out of the temple, with the sheep and the oxen, and poured out the changers’ money and overturned the tables. And He said to those who sold doves, “Take these things away! Do not make My Father’s house a house of merchandise!” Then His disciples remembered that it was written, “Zeal for Your house has eaten Me up.” - John 2:15-17 New King James Version (NKJV)

In contrast to Bitcoin Core, Bitcoin Knots provides node operators and miners with significantly enhanced mempool and mining configurability. Luke Dashjr advocates for this level of configurability, as operators and miners bear the responsibility of verifying, storing, and transmitting transactions and blocks across the Bitcoin network, tasks that come with associated costs.

A notable achievement of Bitcoin Knots occurred in 2023 with the release of v25.1, when it addressed the "Inscriptions" exploit (assigned CVE-2023-50428 by the National Vulnerability Database). This exploit targeted a vulnerability in Bitcoin Core, allowing for spamming of the blockchain. Bitcoin Core, since 2013, permitted users to set limits on the size of extra data in transactions they relay or mine (-datacarriersize). By disguising their data as program code, inscriptions circumvented this limit. The subsequent bugfix was pivotal for increasing the network's security.

Despite vulnerabilities persisting in Bitcoin Core's v26 (2023) and v27 (2024) releases, Bitcoin Knots' role in addressing such issues remains critical, albeit without endangering Bitcoin's blockchain-based consensus model.

Furthermore, Bitcoin Knots serves as a partial testbed for Bitcoin Core. Dashjr often implements software optimizations that are later integrated into Bitcoin Core. Since rebranding his implementation as Bitcoin Knots and targeting a broader audience, Dashjr has adopted a more conservative approach, incorporating only optimizations deemed reasonably secure.

"Luke (Dashjr) to me has always served that role as that protector of Bitcoin. I don't think any of us would really be here if he hadn't taken the actions he did. Every action he's taken for Bitcoin has been principled in protecting it and making it better. He's been a bit of a guardian angel for the protocol." - Jack Dorsey

Bitcoin Knots has garnered adoption from various miners, including the former Eligius mining pool, which Dashjr introduced in 2011 and relaunched in 2023 under the name OCEAN. Today OCEAN uses Bitcoin Knots to generate most of its block templates.

How Bitcoin Knots Works

Bitcoin Knots acts as both a Bitcoin node and wallet, ensuring users hold and transact with their bitcoins securely. It verifies payments thoroughly, making sure received bitcoins are genuine. Users can easily send and receive funds and backup their wallets like saving a document. For advanced users, it offers advanced controls. Additionally, it can pair with phone wallets to enhance security. Overall, Bitcoin Knots provides a comprehensive yet easy to use experience, with advanced options and mempool policies, making Bitcoin management more accessible and secure.

Bitcoin Knots is a derivative of Bitcoin Core that includes a series of enhancements sourced from various developments, proposals, and independent maintenance efforts outside the primary Git repository. These enhancements encompass a broad spectrum of features and fixes aimed at refining the functionality, security, and user experience of the Bitcoin protocol.

One notable set of enhancements revolves around packaging cleanups, denoted as "syslibs." These enhancements introduce options to build Bitcoin Knots using system libraries such as LevelDB, libsecp256k1, and UniValue, and offer the flexibility to exclude protobuf during the build process.

Additionally, Bitcoin Knots incorporates various bug fixes and optimizations that target specific aspects of the software, ranging from RPC improvements to network protocol enhancements. These fixes address issues such as memory management, transaction handling, and network communication to ensure the robustness and reliability of the Bitcoin Knots implementation.

A notable improvement related to data recovery was the introduction of the reindex=auto flag. This enhancement, initiated by a contribution from the Bitcoin community, enables the automatic initiation of a reindex process if the chain state or block index becomes corrupted.

Bitcoin Knots introduces functional and policy enhancements aimed at improving user interaction and expanding the capabilities of the software. These enhancements include support for alternative Bitcoin unit representations, advanced RPC functionalities, and improved wallet management features, among others.

Who Are The Bitcoin Knots Developers?

Luke Dashjr
Luke Dashjr

Luke Dashjr, renowned as a Bitcoin legend, serves as the creator, lead developer, and maintainer of Bitcoin Knots. Being derived from Core and entirely open-source, the project draws thousands of developers each month. Development primarily occurs within Bitcoin Core and is integrated into Knots with each release.

Even if a pull request to Core is rejected or a feature isn't suitable for Core's framework, such as relying on centralized services, it may still find a place in Bitcoin Knots. Developers can submit pull requests on the Knots GitHub for review and potential inclusion. Upon acceptance, developers are responsible for maintaining their branch in their repository, and it will be automatically merged into future Knots releases.

For developer discussions, the IRC channel #bitcoin-dev on Freenode is available.

Bitcoin Knots Quick Review

If you don't have time to read the full Bitcoin Knots review, you can have a look at the list down here which features the main privacy functions and other features of this Bitcoin client implementation.

Category Feature Score
🔐 Privacy & Security (48/50)
📄 Open Source Compliance Source code is publicly available and is Open Source 10/10
🔄 Software Integrity Software can be built from source and binaries match 10/10
🔐 Security The wallet is non custodial, features a passphrase and features the inscriptions exploit fixed 5/5
🌱 Seed Generation Uses Java's SecureRandom function to generate its entropy 5/5
💾 Seed Storage Is stored in a data directory of the Bitcoin Knots application 3/5
💼 Hardware Wallet Supports External Signers 5/5
💰 Purchase Procedure The app is free of charge 5/5
💸 Fees Fees are depending on Bitcoin Network fees 5/5
🚀 Features (42/50)
🖥️ User-Friendly UX Can be intimidating at first, but it's actually easy to use 4/5
🎨 Design Evergreen. It passed the test of times 5/5
📡 Air Gap / PSBT / SeedQR It supports PSBT (Partially Signed Bitcoin Transactions 3/5
💾 MicroSD Backup You can backup the wallets wherever you want 5/5
🤝 Multisignature Support Support Multisig wallets 5/5
🔐 Passphrase (BIP39) Doesn't support BIP39 Passphrases (13th or 25th word) 1/5
🔌 Connection Can connect to clearnet, Proxy or TOR 4/5
📦 Ready-to-Use Comes with everything needed to start immediately 5/5
📚 Documentation Detailed user guides available online 5/5
🛠️ Customer Support Bitcoin Knots offers customer support on Github, Telegram or on their website 5/5
🧱blockdyor Score (90/100)

How To Install Bitcoin Knots

Bitcoin Knots Download
Bitcoin Knots Download

Unlike Bitcoin Core, which recently caused confusion with separate download pages on two different websites bitcoin.org and bitcoincore.org (with the former having an outdated version), Bitcoin Knots simplifies the process with a single download page located at bitcoinknots.org. Users can download the software directly from the homepage, as you will be shown the suitable installation file for your computer.

Mobile versions of Bitcoin Knots are not available, as the software is primarily designed for desktop use, considering the growing size of the blockchain, expected to surpass 1 TB soon.

Downloading Bitcoin Knots is quick, depending on your internet speed.

After downloading, depending on your operating system, open or install the Bitcoin Knots application. Once installed, launch the Bitcoin Knots app to get started.

Bitcoin Knots Logo
Bitcoin Knots Logo

The logo of Bitcoin Knots stands out distinctly from that of Core, representing one of the most noticeable aesthetic disparities between these two implementations. Initially crafted by Steven Hay in 2016, it underwent minor revisions in 2020, courtesy of andhans. To get started, just double click on it and Bitcoin Knots will open.

Bitcoin Knots Loading Screen
Bitcoin Knots Loading Screen
Bitcoin Knots First Setup
Bitcoin Knots First Setup

Upon launching Bitcoin Knots for the first time, you'll encounter three straightforward queries:

  1. Select where to store the Bitcoin blockchain, whether on your primary hard disk or any additional HDD/SSD connected to your computer.
  2. Opt to run a pruned node, which functions as a lightweight alternative capable of transaction verification without storing the entire blockchain. This option is beneficial if storage space is limited.
  3. Optionally defer transaction validation until after a specified block.

Once your selections are finalized, click "OK" to access the main dashboard of Bitcoin Knots.

Bitcoin Knots Fees

Bitcoin Knots Fees
Bitcoin Knots Fees

Bitcoin Knots itself doesn't impose fees; they are instead determined by the Bitcoin Network. However, Bitcoin Knots offers a comprehensive fee section with various customizable features, including a "replace by fee" function, which can be valuable if your transaction gets stuck in the mempool due to a low fee setting.

Here are the fee settings available in Bitcoin Core:

  1. Transaction fee (1): Automatically estimated based on current network conditions. This feature becomes visible after the Initial Blockchain Download (IBD).
  2. Recommended (2): Provides settings for achieving transaction confirmation. You can specify a target confirmation time in minutes or hours. Shorter times come at a higher cost, so choose accordingly.
  3. Custom (3): Allows you to set fees in BTC/sats per kilobyte according to your preferences.

Additionally, you can enable the "Replace by fee" function (4), which allows you to replace a pending transaction with a new one that includes a higher fee. This feature is useful if you initially set a low fee for your transaction and need to speed up its confirmation.

Design & UX

Bitcoin Knots essentially mirrors the visual features of Bitcoin Core, with minor divergences like the logo. It has maintained its core interface without significant overhauls, which is appreciated as users don't need to relearn how to navigate it.

Bitcoin Knots prioritizes simplicity and lightweight functionality. However, it distinguishes itself from Core with an extensive array of mempool configuration settings, ideal to both advanced users and those averse to spam relay. This latter group has been growing steadily, partly due to initiatives like the anti-spam crusade spearheaded by the new mining pool OCEAN.

Connectivity

Bitcoin Knots supports connection via clearnet, and setting it up to run over TOR is straightforward. Simply install TOR (not the browser) and run it as a background daemon. Upon restarting bitcoind, it automatically generates a TOR address, which is then displayed in the debug.log file and the pairing page. Once this message appears, your setup is ready for use.

Furthermore, Bitcoin Knots can be configured to act as an RPC server, enabling it to serve as a backend for lightweight software wallets like Sparrow. It also offers support for port mapping using UPNP, SOCKS5 Proxy, and various other connectivity options.

Advanced Features

Bitcoin Knots Mempool Options

Bitcoin Knots provides numerous advanced features, many of which are backported from, proposed for, or maintained outside the master git tree. Some examples include:

  • Advanced mempool configurations with possibility to set datacarriersize=0 and other spam filters options directly with the GUI. Permitbaremultisig=0 datacarrier=0 are already set by default
  • Automatic reindexing of corrupt data with the addition of the reindex=auto flag
  • Support for Tonal Bitcoin units (ᵇTBC, ˢTBC, and TBC)
  • Enhanced URI parsing to accommodate non-BTC amounts
  • Restoration of address display functionality in the GUI
  • Addition of a network port input box to GUI settings
  • Implementation of a mempool statistics collector
  • Integration of an interactive mempool graph in the Qt interface
  • Introduction of the sweepprivkeys method for scanning and sending UTXOs to the local wallet via RPC
  • Enhancement of the sendrawtransaction RPC to allow users to ignore or override specific rejections
  • Addition of a REST endpoint for estimatesmartfee, along with documentation and testing features
  • Inclusion of the "use_txids" parameter in the output of getaddressinfo RPC
  • Incorporation of Tonal digits and the BTC symbol in the bundled font.

Warranty

Bitcoin Knots comes with the MIT License, which essentially means it's provided "as is" without any warranty. This means there's no guarantee that it will work perfectly or meet all your needs.

Users are free to use, modify, and distribute the software, but they do so at their own risk. The developers and copyright holders cannot be held liable for any issues or damages that may come from using the software. All this applies to Bitcoin Core too.

Compatibility

You can easily download Bitcoin Knots easily on the official website for Linux, Mac, Windows and several other operating systems. You can also verify them by using the provided signatures.

Bitcoin Knots Umbrel
Bitcoin Knots Umbrel

It's important to add that Bitcoin Knots it's also available on Bitcoin Node operating systems such as Umbrel or Citadel. On Citadel it's actually the default client implementation, so it's highly recommended.

Security & Privacy

Bitcoin Knots is built on open-source principles, allowing its code to be meticulously scrutinized line by line. Additionally, it boasts robust security features such as strong entropy for seed generation and the option to encrypt the wallet.dat file.

Code Openness & Reproducibility

Bitcoin Knots prioritizes transparency and reproducibility in its codebase. Being open-source, the entirety of its code is publicly accessible, allowing developers and users alike to review, verify, and contribute to its development. This transparency ensures that the software can be thoroughly examined, fostering trust and confidence within the community.

Seed Generation

Bitcoin Knots uses an HD (Hierarchical Deterministic) seed for private key generation, deriving entropy from four key sources: low-level processor instructions, entropy extracted from the operating system, dynamic events, and static events.

Bitcoin Knots Alternatives

While there are several popular Bitcoin-only software wallets available, those capable of also functioning as full nodes, downloading and storing the entire blockchain within the software itself, are relatively few. Among these, Bitcoin Core stands out as the most well-known.

  • Bitcoin Core: serves as the foundation for Bitcoin Knots, however it has notable differences. Notably, Bitcoin Core lacks the advanced features found in Knots. Additionally, Core failed to address the "Inscriptions" exploit, which was assigned CVE-2023-50428 by the National Vulnerability Database. This exploit targeted a vulnerability within Bitcoin Core, enabling malicious actors to spam the blockchain. Since 2013, Bitcoin Core has allowed users to set limits on the size of additional data in transactions they relay or mine (-datacarriersize). However, the Inscriptions exploit ingeniously bypassed this limitation by disguising data as program code, thus evading detection. To learn more, read our Bitcoin Core Review.

Bitcoin Knots Pros & Cons

Pros Cons
✅ Based on Core, the original Bitcoin wallet/node software ❌ Doesn't support seed phrases with advanced settings
✅ Better performances than Bitcoin Core
✅ Maintained by thousands of contributors
✅ Open Source
✅ Free of charge
✅ Easy to use

Is Bitcoin Knots right for you?

If you are looking for a more advanced and spam-resistant alternative to Bitcoin Core, while maintaining compatibility with Bitcoin's consensus rules, Bitcoin Knots is the solution for you.

Not only does Bitcoin Knots offer enhanced security as it builds upon the original Bitcoin client, but it also incorporates valuable additions, including effective spam filters to prevent to relay spam (like: ordinals, inscriptions, runes and so on) and potentially other types of malicious content.

Bottom Line

Bitcoin Knots is an upgraded version of the standard Bitcoin client implementations, engineered with extra security measures and useful features like spam filters, without breaking the consensus rules. It's like a stronger, more reliable option for transacting in the Bitcoin network.

If you're looking for a Bitcoin experience that's tough on spam and dependable, Bitcoin Knots is the solution. With its enhanced security features and user-friendly interface, Bitcoin Knots offers a robust platform for managing your digital currency transactions with confidence.

Bitcoin Knots Evaluation

With an exceptional 90/100 blockdyor score, Bitcoin Knots is one of the best Bitcoin software wallets out there.

Security: Bitcoin Knots prioritizes security with its open-source nature, allowing users to scrutinize the code for transparency. While being an internet-connected software wallet poses vulnerabilities, its PSBT function enables offline use, enhancing security. Their zero tolerance to spam thanks to the highly customizable mempool policies it's a great addiction.

User-friendliness: Bitcoin Knots aims for a user-friendly experience, serving both novices and experts. Its interface is intuitive, though beginners may find it challenging initially.

Compatibility: Bitcoin Knots boasts wide compatibility, supporting Windows, MacOS, and Linux. Its node functions are already integrated into many Bitcoin nodes, ensuring seamless integration.

Reputation: Bitcoin Knots is hailed as the cornerstone of the Bitcoin Network, serving as the undisputed Bitcoin wallet and node. Its reputation underscores its vital role in the ecosystem.

Cost: Bitcoin Knots is free. Its baseline Bitcoin Core, is funded from non-profit associations. This underscores the ethical value of supporting such a critical open-source project.

Bitcoin Knots FAQ

Frequently Asked Questions (FAQ)

What is Bitcoin Knots?

Bitcoin Knots is an advanced version of the Bitcoin software, offering enhanced security features and additional functionalities beyond the standard Bitcoin Core.

How does Bitcoin Knots differ from Bitcoin Core?

Bitcoin Knots incorporates improvements and experimental functions not found in Bitcoin Core, such as advanced spam filters and additional security measures.

What are the benefits of using Bitcoin Knots?

Bitcoin Knots offers a more secure and customizable Bitcoin experience, with features like spam filters, expert controls, and compatibility with the Bitcoin consensus rules.

How can I download Bitcoin Knots?

You can download Bitcoin Knots directly from the official website at bitcoinknots.org, where you'll find the latest version available for download.

Is Bitcoin Knots open-source?

Yes, Bitcoin Knots is entirely open-source, allowing developers to contribute to its improvement and ensuring transparency in its development process.