Beyond “Protected” and “Private”: An Empirical Security Analysis of Custom Function Modifiers in Smart Contracts
Yuzhou Fang, Daoyuan Wu, Yi Xiao, Shuai Wang, Yufan Chen, Mengjie Chen, Yang Liu, Lingxiao Jiang
Abstract
A smart contract is a piece of application-layer code running on blockchain ledgers and it provides programmatic logic via transaction-based execution of pre-defined functions. Smart contract functions are by default invokable by any party. To safeguard them, the mainstream smart contract language, i.e., Solidity of the popular Ethereum blockchain, proposed a unique language-level keyword called “modifier,” which allows developers to define custom function access control policies beyond the traditional “protected” and “private” modifiers in classic programming languages.
Topics & Concepts
Smart contractSolidityComputer scienceDatabase transactionMainstreamFunction (biology)LedgerComputer securityCode (set theory)Programming languageAccess controlBlockchainBusinessFinanceSet (abstract data type)PhilosophyTheologyEvolutionary biologyBiologyBlockchain Technology Applications and SecuritySecurity and Verification in ComputingCloud Data Security Solutions