# Last edited on 2016-02-26 21:53:50 by stolfilocal # NOT POSTED - For Reddit Non-mining relay nodes wreck the bitcoin protocol **Bitcoin's basic design: clients and miners** Bitcoin was designed to be a distributed payment system run by **miners** (which Satoshi called "nodes") for their own use. The miners could process transactions of non-mining clients, but these were generally supposed to pay for that service through transaction fees. Miners have incentives to validate the transactions that they put in their blocks, and the blocks that other miners solve. They are financially motivated to confirm all transactions that they receive, provided that their fees are higher than their marginal costs, as quickly as they can. In case of multiple branches, the miners vote which one is "right" branch. Proof of work serves to reliably tally their votes, avoiding Sybil attacks (a miner impersonating many miners in order to sway the vote). They are motivated to quickly distribute the blocks that they mine to other miners, and to serve client requests so that those clients will send them transactions to process. A client who does not mine can still verify the validity of the data that it gets from miners. The client should verify as much as its paranoia commands and its resources allow. Some clients may go to the extreme of verifying the validity of the entire blockchain. If a client receives invalid data from a miner, it can take several measures for its own safety, such as removing that miner from its list of data sources. However, it cannot help anyone but itself. **The "majority of work" rule** If a client happens to get two branches of the chain, it should always use the one with the most proof-of-work, and ignore the others. The security of the system, weaks as it is, depends critically on this "majority of work" (MoW) rule. Any other conceivable rule or method to select among competing chains requires the introduction of some trusted authority or set of trusted authorities. But then the protocol would lose its reason to exist: since the same functionality could be obtained, much more efficiently and securely, with a traditional replicated database maintained by those authorities. **Non-mining relay nodes** Over time, another category of players has arisen: the "non-mining relays" (NMRs). They are supposed to sit between the non-mining clients and the miners, filtering and prioritizing transactions issued by the former, and serving them blocks from the true blockchain . Today, they are usually called "full nodes", although the term may also designate fully-verifying clients that do not relay. NMR nodes are supposed to fully validate the information that they get from miners and non-mining clients. For that purpose, they are supposed to keep a complete local copy of the blockchain, a database of the unspent trasnaction output (UTXOs), and a queue of unconfirmed trasnctions. They are also supposed to help the broadcasting of that information across the network. However, they are not rewarded for any of that supposed work. Then, how can we know that they are doing what they claim to do? We have seen many reports of nodes struggling to keep up with the bandwidth requirements. For miners, one can assume that profit is their overriding motivation, and the protocol relies on that assumption. For NMR nodes, profit is not the motivation; then, what is it? Why should one assume "good will", rather than the desire to control the network, or even to attack it? We know that some of the people who operate such nodes habe And, since they have no incentives to do a good work