Incentives to run full nodes



Summary:

In this email thread, Satoshi Nakamoto acknowledged that a lot has changed since the early days of Bitcoin. For instance, he did not anticipate pooled mining and its effects on the security of the network. Making Bitcoin competitive while preserving its security properties is a challenging task, and there needs to be a better incentive for users to run nodes instead of relying solely on altruism. Regarding full nodes, Peter Todd argued that incentivizing them is a red herring. From a wallet's point of view, it is not very secure to use Hearn-style SPV mode, and volunteers running full nodes do not help matters. Sybil attacking the IP address space is easier than acquiring hashing power sufficient to create false confirmations, so any attacker able to do the former will likely be running the full node you're connecting to anyway. Having your peers be validating nodes is at best just a bandwidth optimization; all you need from the rest of the P2P network is flood-fill capability with reasonable DoS resistance. According to Todd, the best incentive to validate is clear and immediate failure when you don't. Currently, the game theory and attacks possible against non-validating nodes are complex, and complacency can risk lulling people into a false sense of security. A concrete example of this idea is Gregory Maxwell's proposal to have all blocks commit to two separate merkle trees, one valid and one invalid, which would require active validation to determine which is which. This scheme would even be compatible with SPV clients provided that all sources of invalidity can be proven with a compact fraud proof. Todd's embedded consensus ideas rely on PoW for only proof-of-publication and/or anti-replay functionality. Determining if coins (or any other asset) are real becomes a clear job of validating history yourself, and/or trusting others to do that validation. His smartcolors colored-coin protocol work implemented client-side validation of colored coins, with a planned optimization/trust tradeoff of having the issuer periodically sign merkle-trees committing to all valid proofs within the system on an offline machine.


Updated on: 2023-06-10T20:13:05.344230+00:00