Security Smells in Smart Contracts
Bibliographic record
Abstract
The popularity of blockchain technology encourages organizations to use more blockchain features in mission-critical processes such as trading, access control, and computational public safety. Automation of processes with smart contracts is one of these features that significantly enlarge the scope of a blockchain implementation. Smart contracts help automate business processes by modeling business activities on the distributed ledger. Smart contracts are significantly different from other programs from a defect fixing and security issue handling perspective. The opportunity of fixing such issues is only available in the narrow window before registering the contract on to the blockchain. After a smart contract becomes a part of the chain, it is not possible to update or fix any issues. This distinct nature of smart contracts makes it essential to detect the program issues early on by paying attention to security smells. Security smells are clues that point to a deeper problem in the programming space. In this study, we review the literature and identify vulnerabilities that programmers and beneficiaries of smart contracts must avoid. We explain these security smells and categorize them based on their nature. We also review the applications that detect these vulnerabilities and provide information about their approach and coverage. Our main contribution is the evaluation of smart contracts as a platform or aid for mission-critical applications such as access control platforms. We conducted this evaluation by identifying the issues related to smart contracts and informing the reader about the problem, challenges, and techniques. We conclude by defining future directions for our research.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.000 | 0.000 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.000 | 0.000 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.000 | 0.000 |
| Open science | 0.001 | 0.000 |
| Research integrity | 0.000 | 0.000 |
| Insufficient payload (model declined to judge) | 0.000 | 0.001 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one teacher head, not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".