PrettiSmart: Visual Interpretation of Smart Contracts via Simulation
Xiaolin Wen, Tai D. Nguyen, Lun Zhang, Jun Sun, Yong Wang
TL;DR
PrettiSmart addresses the challenge that investors struggle to understand smart contracts from source code alone by introducing a simulation-driven visualization approach. A fuzzing-based simulator generates multi-user function-call sequences and captures state changes and cryptocurrency flows, which are then visualized through two modules: a barcode-based Simulation Overview and an augmented Simulation Detail view showing function calls, flows, and state updates. Two case studies and 12 investor interviews demonstrate that the approach improves interpretability and usability for both technically skilled and non-programmer investors. The work suggests future extensions to support multi-token scenarios, realistic user behavior modeling, and mobile access, thereby broadening the practical impact of smart-contract interpretation tools.
Abstract
Smart contracts are the fundamental components of blockchain technology. They are programs to determine cryptocurrency transactions, and are irreversible once deployed, making it crucial for cryptocurrency investors to understand the cryptocurrency transaction behaviors of smart contracts comprehensively. However, it is a challenging (if not impossible) task for investors, as they do not necessarily have a programming background to check the complex source code. Even for investors with certain programming skills, inferring all the potential behaviors from the code alone is still difficult, since the actual behaviors can be different when different investors are involved. To address this challenge, we propose PrettiSmart, a novel visualization approach via execution simulation to achieve intuitive and reliable visual interpretation of smart contracts. Specifically, we develop a simulator to comprehensively capture most of the possible real-world smart contract behaviors, involving multiple investors and various smart contract functions. Then, we present PrettiSmart to intuitively visualize the simulation results of a smart contract, which consists of two modules: The Simulation Overview Module is a barcode-based design, providing a visual summary for each simulation, and the Simulation Detail Module is an augmented sequential design to display the cryptocurrency transaction details in each simulation, such as function call sequences, cryptocurrency flows, and state variable changes. It can allow investors to intuitively inspect and understand how a smart contract will work. We evaluate PrettiSmart through two case studies and in-depth user interviews with 12 investors. The results demonstrate the effectiveness and usability of PrettiSmart in facilitating an easy interpretation of smart contracts.
