Blockchain Analytics

Modern cryptocurrencies exploit decentralised blockchains to record a public and unalterable history of transactions. Besides transactions, further metadata is stored for different, and often undisclosed, purposes. Metadata is mostly generated by protocols and smart contracts, i.e. programs whose correct execution is automatically enforced without relying on a trusted authority. This work investigates tools and techniques for analysing blockchains, their metadata, and smart contracts, focussing on Bitcoin and Ethereum. The main contributions are:

  • a survey of the techniques for embedding metadata in the Bitcoin blockchain, comparing them, pointing out pros and cons;
  • a study of the protocols embedding metadata in Bitcoin, classifying them by their application domain;
  • an analysis of the metadata stored in the Bitcoin blockchain over the years, measuring its evolution in time, the space consumption, and the distribution of metadata by type, by embedding technique, and by application domain;
  • an analysis of the smart contracts deployed in Ethereum, quantifying their usage in relation to their application domain, and identifying the most common programming patterns;
  • a comparison of several platforms for executing smart contracts;
  • a development and evaluation of a general-purpose framework, seamlessly supporting data analytics on both Bitcoin and Ethereum, allowing users to integrate relevant blockchain data with information from other sources.