
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.
Motivation
Smart contracts are irreversible once deployed, making it crucial for investors to comprehend their transaction behaviors. However, understanding smart contracts from source code is challenging for non-programmers. Even programmers struggle to foresee real-world behaviors involving multiple users. PrettiSmart addresses this challenge by simulating diverse scenarios and visualizing the results in an intuitive way.
Demo Video
Key Features
- Simulation Overview Module: Barcode-based summary of balance changes and function involvement
- Simulation Detail Module: Augmented sequential visualization of function calls, flows, state changes
- Interactive exploration of contract behaviors, including popups and highlights
- Supports multiple users and complex transaction patterns
Evaluation
PrettiSmart was evaluated through two case studies and user interviews with 12 investors, including both technical and non-technical participants. Results demonstrated its effectiveness in helping users understand smart contract behaviors, detect risks, and intuitively interpret economic models.