With the addition of OP_RETURN outputs in version 0.9, it became possible to attach arbitrary pieces of information to bitcoin transactions. This turns bitcoin into a low-level communications protocol, just like TCP/IP, on which many new applications can be built. Despite its powerful features, bitcoin is also limited, costly and inefficient compared to TCP/IP. After discussing which sorts of applications make this trade-off worthwhile, we talk about CoinSpark, a new open source protocol for enhancing bitcoin transactions, which makes extensive use of OP_RETURNs.