Data Collection Methods
Finding smart contract platforms to study via news article
To choose the platforms subject of our study, we have drawn up a candidate list by examining all the articles of coindesk.com in the “smart contracts” cat- egory1. Starting from June 2013, when the first article appeared, up to the 15th of September 2016, 175 articles were published, describing projects, events, com- panies and technologies related to smart contracts and blockchains. By manually inspecting all these articles, we have found references to 12 platforms: Bitcoin, Codius, Counterparty, DAML, Dogeparty, Ethereum, Lisk, Monax, Rootstock, Symbiont, Stellar, and Tezos. 1
We have then excluded from our sample the platforms which, at the time of writing, do not satisfy one of the following criteria:
(i) have already been launched,
(ii) are running and supported from a community of developers, and
(iii) are publicly accessible.
For the last point we mean that, e.g., it must be possible to write a contract and test it, or to explore the blockchain through some tools, or to run a node. We have inspected each of the candidate platforms, examining the related resources available online (e.g., official websites, white-papers, forum discussions, etc.)
Sampling smart contracts from Ethereum
We collect on January 1st, 2017 all the contracts marked as “verified” on the blockchain explorer etherscan.io. This means that the contract bytecode stored on the blockchain matches the source code (gen-erally written in a high level language, such as Solidity) submitted to the explorer. In this way, we obtain a sample of 811 contracts. 1
Sampling smart contracts from Bitcoin
We start by observing that many smart contracts save their metadata on the blockchain through the OP RETURN instruction of the Bitcoin scripting language [1,2,7,23]. We then scan the Bitcoin blockchain on January 1st 2017, searching for transactions that embed in an OP RETURN some metadata attributable to a Bitcoin smart contract. To this purpose we use an explorer12 which recognises 23 smart contracts, and extracts all the transactions related to them. 1
Sources:
- An empirical analysis of smart contracts: platforms, applications, and design patterns; International conference on financial cryptography and data security↩