Pith. sign in

REVIEW 2 cited by

sCompile: Critical Path Identification and Analysis for Smart Contracts

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 1808.00624 v2 pith:UIJDKYCJ submitted 2018-08-02 cs.CR

classification cs.CR
keywords smartcontractspathsscompilecriticaluservulnerabilitiesapplied
verification ladder T0 review T1 audit T2 compute T3 formal

Signed reviews

No signed human review yet.

0 comments
read the original abstract

Ethereum smart contracts are an innovation built on top of the blockchain technology, which provides a platform for automatically executing contracts in an anonymous, distributed, and trusted way. The problem is magnified by the fact that smart contracts, unlike ordinary programs, cannot be patched easily once deployed. It is important for smart contracts to be checked against potential vulnerabilities. In this work, we propose an alternative approach to automatically identify critical program paths (with multiple function calls including inter-contract function calls) in a smart contract, rank the paths according to their criticalness, discard them if they are infeasible or otherwise present them with user friendly warnings for user inspection. We identify paths which involve monetary transaction as critical paths, and prioritize those which potentially violate important properties. For scalability, symbolic execution techniques are only applied to top ranked critical paths. Our approach has been implemented in a tool called sCompile, which has been applied to 36,099 smart contracts. The experiment results show that sCompile is efficient, i.e., 5 seconds on average for one smart contract. Furthermore, we show that many known vulnerabilities can be captured if user inspects as few as 10 program paths generated by sCompile. Lastly, sCompile discovered 224 unknown vulnerabilities with a false positive rate of 15.4% before user inspection.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 2 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. A First Look at Blockchain-based Decentralized Applications

    cs.SE 2019-09 conditional novelty 6.0 of 10

    An empirical study of 995 Ethereum DApps and 29.8 million 2018 transactions shows heavy popularity concentration, low open-source rates, a majority of single-contract apps, and significant unused prepaid gas.

  2. A Survey on Ethereum Systems Security: Vulnerabilities, Attacks and Defenses

    cs.CR 2019-08 accept novelty 4.0 of 10

    A systematic review that enumerates and classifies 44 Ethereum vulnerabilities, 26 attacks, and 47 defenses with root-cause and consequence analysis.

Pith tools