Any rekentuig that connects to the Bitcoin network is called a knot. Knots that fully verify all of the rules of Bitcoin are called utter knots. The most popular software implementation of utter knots is called Bitcoin Core, its latest release can be found on the github pagina.
What makes a utter knot?
Utter knots download every block and transaction and check them against Bitcoin’s overeenstemming rules. Here are examples of overeenstemming rules, tho’ there are many more:
- Blocks may only create a certain number of bitcoins. (Presently 12.Five BTC vanaf block.)
- Transactions voorwaarde have onberispelijk signatures for the bitcoins being spent.
- Transactions/blocks vereiste be ter the juist gegevens format.
- Within a single block chain, a transaction output cannot be double-spent.
If a transaction or block violates the overeenstemming rules, then it is absolutely rejected, even if every other knot on the network thinks that it is valid. This is one of the most significant characteristics of utter knots: they do what’s right no matter what. For utter knots, miners actually have fairly limited power: they can only reorder or eliminate transactions, and only by spending a lotsbestemming of computing power. A powerful miner is able to execute some serious attacks, but because total knots rely on miners only for a few things, miners could not totally switch or demolish Bitcoin.
Knots that have different overeenstemming rules are actually using two different networks/currencies. Switching any of the overeenstemming rules requires a hard fork, which can be thought of spil creating a fresh currency and having everyone stir to it. Overeenstemming rules are different from policy rules, which specify how a knot or miner prioritizes or discourages certain things. Policy rules can be switched loosely, and different knots can have different policy rules. Because all total knots voorwaarde use exactly the same overeenstemming rules ter order to remain compatible with each other, even duplicating bugs and oddities ter the original overeenstemming rules, creating a total knot from scrape is utterly difficult and dangerous. It is therefore recommended that everyone who wishes to run a total knot uses software based on the reference client, which is the only client assured to behave correctly.
At ondergrens, a utter knot voorwaarde download every transaction that has everzwijn taken place, all fresh transactions, and all block headers. Additionally, total knots voorwaarde store information about every unspent transaction output until it is spent. By default utter knots are inefficient te that they download each fresh transaction at least twice, and they store the entire block chain (more than 165 GB spil of 20180214) forever, even tho’ only the unspent transaction outputs (<,Two GB) are required. Spectacle can improved by enabling -blocksonly mode and enabling pruning.
A subset of total knots also accept incoming connections and upload old blocks to other peers on the network. This happens if the software is run with -listen=1 spil is default. Contrary to some popular misconceptions, being an archival knot is not necessary to being a utter knot. If a user’s bandwidth is constrained then they can use -listen=0 , if their disk space is constrained they can use pruning, all the while still being a fully-validating knot that enforces bitcoin’s overeenstemming rules and contributing to bitcoin’s overall security.
Why should you run a utter knot
Running a total knot is the only way you can use Bitcoin ter a trustless way. You will know for sure that all the rules of Bitcoin are being followed, for example that no bitcoins are spent not belonging to the holder, that no coins were spent twice, that no inflation happens outside of the schedule and that all the rules needed to make the system work (e.g. difficulty) are followed. Utter knots are presently the most private way to use Bitcoin, with nobody else learning which bitcoin addresses belong to you. Utter knots are the most secure way to use Bitcoin, they do not suffer from many attacks that affect lightweight wallets.
This is by far the most significant reason for running a total knot, however it is a little difficult to understand.
Spil explained previously, utter knots enforce the overeenstemming rules no matter what. However, lightweight knots do not do this. Lightweight knots do whatever the majority of mining power says. Therefore, if most of the miners got together to increase their block prize, for example, lightweight knots would blindly go along with it. If this everzwijn happened, the network would split such that lightweight knots and utter knots would end up on separate networks, using separate currencies. People using lightweight knots would be incapable to transact with people using utter knots. If all businesses and many users are using total knots, then this network split is not a critical problem because users of lightweight clients will quickly notice that they can’t send or receive bitcoins to/from most of the people who they usually do business with, and so they’ll zekering using Bitcoin until the evil miners are overcome, which is the adequate response. However, if almost everyone on the network is using lightweight knots ter this situation, then everyone would proceed being able to transact with each other, and so Bitcoin could very well end up “hijacked” by evil miners.
Ter practice, miners are unlikely to attempt anything like the above screenplay spil long spil utter knots are prevalent because the miners would lose a lotsbestemming of money. But the incentives downright switch if everyone uses lightweight knots. Ter that case, miners certainly do have an incentive to switch Bitcoin’s rules te their favor. It is only reasonably secure to use a lightweight knot because most of the Bitcoin economy uses utter knots.
Therefore, it is critical for Bitcoin’s survival that the excellent majority of the Bitcoin economy be backed by total knots, not lightweight knots. This is especially significant for Bitcoin businesses, which have more economic weight. To contribute to Bitcoin’s economic strength, you vereiste actually use a total knot for your real transactions (or use a lightweight knot connected to a total knot that you personally control). Just running a total knot on a server somewhere does not contribute to Bitcoin’s economic strength.
Having the blockchain stored on your hard drive is the most private way to have a wallet. All other lightweight solutions leak information about which addresses are yours because they voorwaarde query third-party servers. The Electrum servers will know which addresses belong to you and can verbinding them together. Despite bloom filtering, SPV knots based on BitcoinJ do not provide much privacy against knots who connected directly to the wallet  .
For many use cases, such privacy may not be required. But an significant reason to run a utter knot and use it spil a wallet is to get the total privacy benefits.
Lightweight knots are sometimes able to be temporarily tricked into accepting transactions or blocks that are not actually valid. This could cause serious financial harm, especially for websites that automatically process Bitcoin transactions. Total knots provide the maximum security possible, and so they should be used by all businesses, and also by regular users whenever doing so is convenient.
Utter knots may provide various services to other network participants (if the software is run with -listen=1 spil is default). This is especially significant for lightweight knots.
Thesis services include:
- Filtering transactions and blocks on behalf of lightweight knots so that lightweight knots do not need to download every transaction everzwijn made on the network ter order to find their own transactions.
- Serving historical total blocks to knots that have bot offline for a while.
- Transmitting fresh transactions from users to miners.
- Broadcasting fresh blocks from miners to other knots.
For the most part, thesis services are only usefully performed by utter knots that are listening on port 8333. The more utter knots that accept incoming connections there are, the more users the Bitcoin network can support. Albeit if there is everzwijn a shortage, lots of archival knots can be lightly created by cheaply renting VPS or AWS space.
Some are incentivizing it
Bitnodes ran a program to incentivize total knot operators until the end of 2015. [Two]
How to run a total knot
If you run the Bitcoin Core/bitcoind wallet, you are running a total knot. If you open port 8333, you will contribute to the network’s capacity. If you actually use the wallet feature, or if you use a lightweight client like MultiBit but configure it to connect exclusively to your utter knot, then you will contribute to the network’s economic strength and receive protection from some possible attacks against lightweight knots.
There are a few alternate total knot implementations, but they are not recommended for serious use because it is presently difficult to determine whether they implement the overeenstemming rules with 100% accuracy. Even very slight inaccuracies could cause serious problems for the users of thesis alternate clients. Example of implementations Bitcore, libbitcoin, btcd.