On Blockchain Spam

Andrew Stone
4 min readSep 20, 2019

The blockchain spam debate is rearing up again with similar arguments and divisions. To come to some clarity on the subject it is first important to understand that participants are not even talking about the same thing that both call “spam”. The word spam is being used in two contexts, and for lack of a better description let’s call these contexts “humanist” and “machinist”.

In the humanist approach, a person looks at a transaction within the wider ecosystem and concludes that it is spam because it was created in attempt to stress or break the network, because it encourages incorrect blockchain use, or because its ultimate value does not justify the blockchain space consumed forever. This philosophy has strong historical precedent, enshrined in the US Supreme Court Justice Stewart’s famous “I know it when I see it” comment about pornography.

The drawbacks of the humanist approach are well known. Humans have different opinions, and opinions differ widely on details such as whether betting applications like Satoshi Dice is spam, what kinds of data are and aren’t spam, and how much data should be allowed. To employ “reducto ad absurdum”, from my perspective ALL transactions that don’t involve me are spam (after all, I don’t care about them), and this a major reason behind blockchain research into universal dynamic accumulators. Perhaps most importantly, the specter of an application’s transactions being classified as spam in the future is a serious deterrent to application developers, especially with so many blockchain choices. However, the advantages are also clear — a large blockchain exerts a small but proportional and pervasive negative adoption pressure since node and network requirements increase and node sync is slower.

In the machinist approach, spam can only be defined by an algorithmically determinable property. If you cannot write a program that outputs whether a transaction has property A, you are not allowed to use A in the definition of spam. This philosophy emerged for several reasons:

  1. Algorithms are the only known precise way to talk about processes, and we ultimately need to encode our decision into bitcoind software.
  2. A universally applied algorithm is arguably “fair”, or at a minimum not surprising, so potential blockchain apps will not be discouraged.
  3. Spam can be hidden, resulting in an iterative cycle between the creators and detectors resulting in increasingly complex algorithms that ultimately will never fully…