One of the main advantages of the Ethereum blockchain is the possibility of developing smart contracts in a Turing complete environment. These general-purpose programs provide a higher level of security than traditional contracts and reduce other transaction costs associated with the bargaining practice.
Developers use smart contracts to build their tokens and set up gambling games,
crowdsales, ICO, and many others. Since the number of smart contracts inside the Ethereum blockchain is several million, it is unthinkable to check every program manually to understand its functionality. At the same time, it would be of primary importance to group sets of Smart Contracts according to their purposes and
functionalities. One way to group Ethereum’s smart contracts is to use topic
modeling techniques, taking advantage of the fact that many programs representing a specific topic are similar in the program structure. Starting from a dataset of
130k smart contracts, we built a Latent Dirichlet Allocation (LDA) model to spot
the number of topics within our sample. Computing the coherence values for a
different number of topics, we found out that the optimal number was 15. As we
expected, most programs are tokens, games, crowdfunding platforms, and ICO