Taxonomy of Smart Contracts

Taxonomy based on intended application domains

Sources: 1

Financial

Contracts in this category manage, gather, or distribute money as preeminent feature.

  • Some contracts certify the ownership of a real-world asset, endorse its value, and keep track of trades (e.g., Colu currently tracks over 50,000 assets on Bitcoin).
  • Other contracts implement crowdfunding services, gathering money from investors in order to fund projects (the Ethereum DAO project was the most representative one, until its collapse due to an attack in June 2016).
  • High-yield investment programs are a type of Ponzi schemes [22] that collect money from users under the promise that they will receive back their funds with interest if new investors join the scheme (e.g., Government, KingOfTheEtherThrone).
  • Some contracts provide an insurance on setbacks which are digitally provable (e.g., Etherisc sells insurance policies for flights; if a flight is delayed or cancelled, one obtains a refund).
  • Other contracts publish advertisement messages (e.g., PixelMap is inspired to the Million Dollar Homepage)

Notary

Contracts in this category exploit the immutability of the blockchain to store some data persistently, and in some cases to certify their ownership and provenance.

  • Some contracts allow users to write the hash of a document on the blockchain, so that they can prove document existence and integrity (e.g., Proof of Existence).
  • Others allow to declare copyrights on digital arts files like photos or music (e.g., Monegraph).
  • Some contracts (e.g., Eternity Wall) just allow users to write down on the blockchain messages that everyone can read.
  • Other contracts associate users to addresses (often represented as public keys), in order to certify their identity (e.g., Physical Address).

Game

This category gathers contracts which implement games of chance (e.g., LooneyLottery, Dice, Roulette, RockPaperScissors) and games of skill (e.g., Etherization), as well as some games which mix chance and skill (e.g., PRNG challenge pays for the solution of a puzzle).

Wallet

The contracts in this category handle keys, send transactions, manage money, deploy and watch contracts, in order to simplify the interaction with the blockchain. Wallets can be managed by one or many owners, in the latter case requiring multiple authorizations (like, e.g. in Multi-owned).

Library

These contracts implement general-purpose operations (like e.g., math and string transformations), to be used by other contracts.

Sources:


  1. An empirical analysis of smart contracts: platforms, applications, and design patterns; International conference on financial cryptography and data security