An Analysis of Non-standard Bitcoin Transactions

In Bitcoin, the most common kind of transactions is in the form "Bob pays Alice", and it is based on the Pay to-Public Key Hash (P2PKH) script. P2PKH transactions are just one among many standard classes: a transaction is standard if it passes BitcoinCore's IsStandard() and IsStandardTx() tests. However, the creation of ad-hoc scripts to lock (and unlock) transactions allows for also generating non-standard transactions, which can be nevertheless broadcast and mined as well. In this work, we explore the Bitcoin block-chain with the purpose to analyse and classify standard and non-standard transactions, understanding how much the standard behaviour is respected.