Blockchain Papers

Follow blockchain research across journals, conferences, and preprint repositories.

1,010 papersLast indexed Aug 31, 2026
Search papers

Paper index

1,010 results · page 32 of 43

Clear filters
Jul 13, 2020·arXiv
0 cites
Inheritance software metrics on smart contracts

Ashish Rajendra Sai, Conor Holmes, Jim Buckley, Andrew Le Gear

Blockchain systems have gained substantial traction recently, partly due to the potential of decentralized immutable mediation of economic activities. Ethereum is a prominent example that has the provision for executing stateful computing scripts known as Smart Contracts. These smart contracts resemble traditional programs, but with immutability being the core differentiating factor. Given their immutability and potential high monetary value, it becomes imperative to develop high-quality smart contracts. Software metrics have traditionally been an essential tool in determining programming quality. Given the similarity between smart contracts (written in Solidity for Ethereum) and object-oriented (OO) programming, OO metrics would appear applicable. In this paper, we empirically evaluate inheritance-based metrics as applied to smart contracts. We adopt this focus because, traditionally, inheritance has been linked to a more complex codebase which we posit is not the case with Solidity based smart contracts. In this work, we evaluate the hypothesis that, due to the differences in the context of smart contracts and OO programs, it may not be appropriate to use the same interpretation of inheritance based metrics for assessment.

Open access
2 source records
cs.SE
cs.PL
Blockchain Technology Applications and Security
Original source
Jul 8, 2020·arXiv (Cornell University)
29 cites
SmartBugs: A Framework to Analyze Solidity Smart Contracts

João F. Ferreira, Pedro E. D. Cruz, Thomas Durieux, Abreu, Rui

Over the last few years, there has been substantial research on automated analysis, testing, and debugging of Ethereum smart contracts. However, it is not trivial to compare and reproduce that research. To address this, we present SmartBugs, an extensible and easy-to-use execution framework that simplifies the execution of analysis tools on smart contracts written in Solidity, the primary language used in Ethereum. SmartBugs is currently distributed with support for 10 tools and two datasets of Solidity contracts. The first dataset can be used to evaluate the precision of analysis tools, as it contains 143 annotated vulnerable contracts with 208 tagged vulnerabilities. The second dataset contains 47,518 unique contracts collected through Etherscan. We discuss how SmartBugs supported the largest experimental setup to date both in the number of tools and in execution time. Moreover, we show how it enables easy integration and comparison of analysis tools by presenting a new extension to the tool SmartCheck that improves substantially the detection of vulnerabilities related to the DASP10 categories Bad Randomness, Time Manipulation, and Access Control (identified vulnerabilities increased from 11% to 24%).

Open access
2 source records
Blockchain Technology Applications and Security
Adversarial Robustness in Machine Learning
Security and Verification in Computing
Original source
Jul 8, 2020·2020 IEEE International Conference on Decentralized Applications and Infrastructures (DAPPS)
58 cites
A Framework for Creating Deployable Smart Contracts for Non-fungible Tokens on the Ethereum Blockchain

Dan Chirtoaca, Joshua Ellul, George Azzopardi

Non-fungible tokens are an up and coming application domain for smart contracts. Ethereum is the first blockchain-based decentralized computing platform that has standardized this type of tokens into a well-defined interface, namely ERC721. We propose a framework that provides developers with a smart contract suite that offers complete implementations of the ERC721 standard and common extensions and features frequently encountered in ERC721-based applications. We introduce a specification language that enables customization and configuration of the smart contract suite by including and excluding the supported features and extensions. We evaluate the smart contract suite for its extensibility and reusability and compare the metrics with four reference implementations tackling a similar problem. In addition to this, we evaluate and analyze the effort and efficiency of the specification language in comparison to manual configuration of the smart contract suite. Our contribution lies in examining quality metrics for code extensibility and reusability and determining the more insightful metrics for assessing these quality attributes in the context of Solidity smart contracts. Additionally, from the lines of code metric, We conclude that our specification language offers a simple and efficient alternative to manual smart contract suite customization.

Open access
Blockchain Technology Applications and Security
Advanced Malware Detection Techniques
Security and Verification in Computing
Original source
Jul 2, 2020·arXiv (Cornell University)
4 cites
Hunting for Re-Entrancy Attacks in Ethereum Smart Contracts via Static Analysis

Yuichiro Chinen, Naoto Yanai, Jason Paul Cruz, Shingo Okamura

Ethereum smart contracts are programs that are deployed and executed in a consensus-based blockchain managed by a peer-to-peer network. Several re-entrancy attacks that aim to steal Ether, the cryptocurrency used in Ethereum, stored in deployed smart contracts have been found in the recent years. A countermeasure to such attacks is based on dynamic analysis that executes the smart contracts themselves, but it requires the spending of Ether and knowledge of attack patterns for analysis in advance. In this paper, we present a static analysis tool named \textit{RA (Re-entrancy Analyzer)}, a combination of symbolic execution and equivalence checking by a satisfiability modulo theories solver to analyze smart contract vulnerabilities to re-entrancy attacks. In contrast to existing tools, RA supports analysis of inter-contract behaviors by using only the Etherum Virtual Machine bytecodes of target smart contracts, i.e., even without prior knowledge of attack patterns and without spending Ether. Furthermore, RA can verify existence of vulnerabilities to re-entrancy attacks without execution of smart contracts and it does not provide false positives and false negatives. We also present an implementation of RA to evaluate its performance in analyzing the vulnerability of deployed smart contracts to re-entrancy attacks and show that RA can precisely determine which smart contracts are vulnerable.

Open access
2 source records
Blockchain Technology Applications and Security
Security and Verification in Computing
Advanced Malware Detection Techniques
Original source
Jul 1, 2020·Forensic Science International Digital Investigation
21 cites
Memory FORESHADOW: Memory FOREnSics of HArDware CryptOcurrency wallets – A Tool and Visualization Framework

Tyler Thomas, Mathew Piscitelli, Ilya Shavrov, Ibrahim Baggili

We present Memory FORESHADOW: Memory FOREnSics of HArDware cryptOcurrency Wallets. To the best of our knowledge, this is the primary account of cryptocurrency hardware wallet client memory forensics. Our exploratory analysis revealed forensically relevant data in memory including transaction history, extended public keys, passphrases, and unique device identifiers. Data extracted with FORESHADOW can be used to associate a hardware wallet with a computer and allow an observer to deanonymize all past and future transactions due to hierarchical deterministic wallet address derivation. Additionally, our novel visualization framework enabled us to measure both the persistence and integrity of artifacts produced by the Ledger and Trezor hardware wallet clients. The framework can be generalized for use in future memory forensics work.

Open access
Digital and Cyber Forensics
Advanced Malware Detection Techniques
Security and Verification in Computing
Original source
Jun 18, 2020·arXiv (Cornell University)
8 cites
CoinWatch: A Clone-Based Approach For Detecting Vulnerabilities in Cryptocurrencies

Qingze Hum, Wei Jin Tan, Shi Ying Tey, Latasha Lenus · 7 authors

Cryptocurrencies have become very popular in recent years. Thousands of new cryptocurrencies have emerged, proposing new and novel techniques that improve on Bitcoin's core innovation of the blockchain data structure and consensus mechanism. However, cryptocurrencies are a major target for cyber-attacks, as they can be sold on exchanges anonymously and most cryptocurrencies have their codebases publicly available. One particular issue is the prevalence of code clones in cryptocurrencies, which may amplify security threats. If a vulnerability is found in one cryptocurrency, it might be propagated into other cloned cryptocurrencies. In this work, we propose a systematic remedy to this problem, and we propose CoinWatch (CW). Given a reported vulnerability at the input, CW uses the code evolution analysis and a clone detection technique for indication of cryptocurrencies that might be vulnerable. We applied CW on 1094 cryptocurrencies using 4 CVEs and obtained 786 true vulnerabilities present in 384 projects, which were confirmed with developers and successfully reported as CVE extensions.

Open access
3 source records
Advanced Malware Detection Techniques
Software Engineering Research
Security and Verification in Computing
Original source
Jun 17, 2020·arXiv (Cornell University)
1 cites
ZKPs: Does This Make The Cut? Recent Advances and Success of Zero-Knowledge Security Protocols

Stavros Kassaras, Λέανδρος Μαγλαράς

How someone can get health insurance without sharing his health information? How you can get a loan without disclosing your credit score? There is a method to certify certain attributes of various data, either this is health metrics or finance information, without revealing the data itself or any other kind of personal data. This method is known as zero-knowledge proofs. Zero-Knowledge techniques are mathematical methods used to verify things without sharing or revealing underlying data. Zero-Knowledge protocols have vast applications from simple identity schemes and blockchains to defense research programs and nuclear arms control

Open access
2 source records
Cryptography and Data Security
Security and Verification in Computing
Blockchain Technology Applications and Security
Original source
Jun 12, 2020·ACM Computing Surveys
479 cites
A Survey on Ethereum Systems Security

Huashan Chen, Marcus Pendleton, Laurent Njilla, Shouhuai Xu

Blockchain technology is believed by many to be a game changer in many application domains. While the first generation of blockchain technology (i.e., Blockchain 1.0) is almost exclusively used for cryptocurrency, the second generation (i.e., Blockchain 2.0), as represented by Ethereum, is an open and decentralized platform enabling a new paradigm of computing—Decentralized Applications (DApps) running on top of blockchains. The rich applications and semantics of DApps inevitably introduce many security vulnerabilities, which have no counterparts in pure cryptocurrency systems like Bitcoin. Since Ethereum is a new, yet complex, system, it is imperative to have a systematic and comprehensive understanding on its security from a holistic perspective, which was previously unavailable in the literature. To the best of our knowledge, the present survey, which can also be used as a tutorial, fills this void. We systematize three aspects of Ethereum systems security: vulnerabilities, attacks, and defenses. We draw insights into vulnerability root causes, attack consequences, and defense capabilities, which shed light on future research directions.

Open access
Blockchain Technology Applications and Security
Security and Verification in Computing
Advanced Malware Detection Techniques
Original source
Jun 7, 2020·Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
15 cites
Behavioral simulation for smart contracts

Sidi Mohamed Beillahi, Gabriela Ciocarlie, Michael Emmi, Constantin Enea

While smart contracts have the potential to revolutionize many important applications like banking, trade, and supply-chain, their reliable deployment begs for rigorous formal verification. Since most smart contracts are not annotated with formal specifications, general verification of functional properties is impeded.

Open access
Blockchain Technology Applications and Security
Security and Verification in Computing
Advanced Malware Detection Techniques
Original source
Jun 2, 2020·arXiv
16 cites
Kaya: A Testing Framework for Blockchain-based Decentralized Applications

Zhenhao Wu, Jiashuo Zhang, Jianbo Gao, Yue Li · 7 authors

In recent years, many decentralized applications based on blockchain (DApp) have been developed. Some development tools provide testing functions, but only for developers to write unit tests for smart contracts rather than test DApp as a whole. Moreover, due to the difficulty for testers to understand the implementation details of smart contracts, insufficient functional testing causes some DApps not to meet functional design expectations. The inherent complexity of DApp, inconvenient pre-state setting, and not-so-readable logs make DApp testing challenging. In this paper, we propose Kaya, a testing framework for DApps to bridge these gaps. Firstly, Kaya formulate automatically executed test cases that cover both front-end behaviors and back-end logics with simple setting. Secondly, Kaya provides a flexible and convenient way for test engineers to set the blockchain pre-states. Thirdly, Kaya transforms incomprehensible addresses into readable variables for easier comprehension. Besides, to fit the various application environments, we provide both GUI and CLI for test engineers to use Kaya. Our case study and preliminary human study demonstrates the potential of Kaya in helping test engineers to test DApps more easily. A demo video is at https://youtu.be/7DyI_EpVZFw.

Open access
2 source records
cs.SE
Blockchain Technology Applications and Security
Advanced Malware Detection Techniques
Original source
Jun 1, 2020·2020 IEEE 6th World Forum on Internet of Things (WF-IoT)
29 cites
Distributed, Secure, Self-Sovereign Identity for IoT Devices

Samson Kahsay Gebresilassie, Joseph Rafferty, Philip Morrow, Liming Chen · 6 authors

The growth of Internet use due to the emergence of new paradigms including social media and the Internet of Things (IoT) has presented several challenges. Within the IoT paradigm, there are several domain-specific challenges, among which security is crucial. Billions of devices in the IoT ecosystem have the responsibility of generating, processing, and analyzing large volumes of data. This data may connect with organizations, services, billions of people and other devices. This high level of interconnectivity creates a complex and heterogeneous network which is challenging to adequately secure the IoT system. IoT devices are smart, diverse, portable, interoperable, often autonomous and deployed in distributed topology. Properly managing the identities of these IoT devices plays a critical role in achieving the security of the overall IoT ecosystem. Notably, existing identity management systems fail to satisfy the requirements of identity management for IoT devices. We present a novel solution for IoT devices identity management based on self-sovereign identity and underpinned by proven security offered by distributed ledger technology. This novel approach provides a secure, portable, decentralized, persistent, unique, interoperable, self-owned and self-controlled identity for IoT devices. A Device's identity with all its relationships in the IoT system are securely managed throughout its entire lifecycle.

Open access
Blockchain Technology Applications and Security
IoT and Edge/Fog Computing
Security and Verification in Computing
Original source
Jun 1, 2020·Lecture notes in computer science
0 cites
Stateless Distributed Ledgers

フランソワ ボネ, François Bonnet, カンタン ブラマス, Quentin Bramas · 6 authors

In public distributed ledger technologies (DLTs), such as Blockchains, nodes can join and leave the network at any time. A major challenge occurs when a new node joining the network wants to retrieve the current state of the ledger. Indeed, that node may receive conflicting information from honest and Byzantine nodes, making it difficult to identify the current state. In this paper, we are interested in protocols that are stateless, i.e., a new joining node should be able to retrieve the current state of the ledger just using a fixed amount of data that characterizes the ledger (such as the genesis block in Bitcoin). We define three variants of stateless DLTs: weak, strong, and probabilistic. Then, we analyze this property for DLTs using different types of consensus.

Open access
3 source records
cs.CR
cs.NI
Blockchain Technology Applications and Security
Original source
May 24, 2020·arXiv (Cornell University)
1 cites
Better Late than Never; Scaling Computation in Blockchains by Delaying Execution

Sourav Das, Nitin Awathare, Ling Ren, Vinay J. Ribeiro · 5 authors

Proof-of-Work~(PoW) based blockchains typically allocate only a tiny fraction (e.g., less than 1% for Ethereum) of the average interarrival time~($\mathbb{I}$) between blocks for validating transactions. A trivial increase in validation time~($τ$) introduces the popularly known Verifier's Dilemma, and as we demonstrate, causes more forking and increases unfairness. Large $τ$ also reduces the tolerance for safety against a Byzantine adversary. Solutions that offload validation to a set of non-chain nodes (a.k.a. off-chain approaches) suffer from trust issues that are non-trivial to resolve. In this paper, we present Tuxedo, the first on-chain protocol to theoretically scale $τ/\mathbb{I} \approx 1$ in PoW blockchains. The key innovation in Tuxedo is to separate the consensus on the ordering of transactions from their execution. We achieve this by allowing miners to delay validation of transactions in a block by up to $ζ$ blocks, where $ζ$ is a system parameter. We perform security analysis of Tuxedo considering all possible adversarial strategies in a synchronous network with end-to-end delay $Δ$ and demonstrate that Tuxedo achieves security equivalent to known results for longest chain PoW Nakamoto consensus. Additionally, we also suggest a principled approach for practical choices of parameter $ζ$ as per the application requirement. Our prototype implementation of Tuxedo atop Ethereum demonstrates that it can scale $τ$ without suffering the harmful effects of naive scaling in existing blockchains.

Open access
2 source records
cs.CR
Blockchain Technology Applications and Security
Distributed systems and fault tolerance
Original source
May 23, 2020·Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
205 cites
How effective are smart contract analysis tools? evaluating smart contract static analysis tools using bug injection

Asem Ghaleb, Karthik Pattabiraman

Security attacks targeting smart contracts have been on the rise, which have led to financial loss and erosion of trust. Therefore, it is important to enable developers to discover security vulnerabilities in smart contracts before deployment. A number of static analysis tools have been developed for finding security bugs in smart contracts. However, despite the numerous bug-finding tools, there is no systematic approach to evaluate the proposed tools and gauge their effectiveness. This paper proposes SolidiFI, an automated and systematic approach for evaluating smart contracts’ static analysis tools. SolidiFI is based on injecting bugs (i.e., code defects) into all potential locations in a smart contract to introduce targeted security vulnerabilities. SolidiFI then checks the generated buggy contract using the static analysis tools, and identifies the bugs that the tools are unable to detect (false-negatives) along with identifying the bugs reported as false-positives. SolidiFI is used to evaluate six widely-used static analysis tools, namely, Oyente, Securify, Mythril, SmartCheck, Manticore and Slither, using a set of 50 contracts injected by 9369 distinct bugs. It finds several instances of bugs that are not detected by the evaluated tools despite their claims of being able to detect such bugs, and all the tools report many false positives.

Open access
3 source records
Blockchain Technology Applications and Security
Advanced Malware Detection Techniques
Security and Verification in Computing
Original source
May 12, 2020·IEEE Transactions on Computational Social Systems
76 cites
Docschain: Blockchain-Based IoT Solution for Verification of Degree Documents

Saqib Rasool, Afshan Saleem, Muddesar Iqbal, Tasos Dagiuklas · 6 authors

Degree verification is the process of verifying the academic credentials of successfully graduated students. It is a time-consuming and costly process as universities annually spend millions of dollars on handling the degree verification requests. Hence, there is a dire need to improve the degree verification process, and the Massachusetts Institute of Technology, Cambridge, MA, USA, has introduced the blockcerts, a blockchain-based solution for freely handling the degree verification requests. Although blockcerts eliminates the cost of the degree verification process, it also alters the existing workflow of degree issuance. This is because blockcerts are primarily focused on facilitating the students, and there is room for improvement from the perspective of educational institutes. In this article, we have introduced the docschain to tackle the three mentioned limitations of the blockcerts. Docschain seamlessly incorporates within the existing workflow of degree issuance by operating over the hard copies of the degree documents. This is achieved through optical character recognition (OCR), and the record of each degree document is stored along with the details of the corresponding OCR template to understand the semantics of the data stored at different sections of the degree document. In contrast to blockcerts, docschain also supports the bulk submission of degree details for both the previously and newly graduated students.

Open access
Blockchain Technology Applications and Security
Cryptography and Data Security
Security and Verification in Computing
Original source
May 9, 2020·arXiv (Cornell University)
68 cites
A First Look into DeFi Oracles

Bowen Liu, Paweł Szałachowski, Jianying Zhou

Recently emerging Decentralized Finance (DeFi) takes the promise of cryptocurrencies a step further, leveraging their decentralized networks to transform traditional financial products into trustless and transparent protocols that run without intermediaries. However, these protocols often require critical external information, like currency or commodity exchange rates, and in this respect they rely on special oracle nodes. In this paper, we present a comprehensive measurement study of DeFi price oracles deployed in practice. First, we investigate designs of mainstream DeFi platforms that rely on data from oracles. We find that these designs, surprisingly, position oracles as trusted parties with no or low accountability. Then, we present results of large-scale measurements of deployed oracles. We find and report that prices reported by oracles regularly deviate from current exchange rates, oracles are not free from operational issues, and their reports include anomalies. Finally, we compare the oracle designs and propose potential improvements.

Open access
3 source records
cs.CR
Blockchain Technology Applications and Security
Security and Verification in Computing
Original source
May 1, 2020·2020 IEEE Symposium on Security and Privacy (SP)
139 cites
Transparent Polynomial Delegation and Its Applications to Zero Knowledge Proof

Jiaheng Zhang, Tiancheng Xie, Yupeng Zhang, Dawn Song

We present a new succinct zero knowledge argument scheme for layered arithmetic circuits without trusted setup. The prover time is O(C + nlogn) and the proof size is O(D logC +log2n) for a D-depth circuit with n inputs and C gates. The verification time is also succinct, O(D logC + log2n), if the circuit is structured. Our scheme only uses lightweight cryptographic primitives such as collision-resistant hash functions and is plausibly post-quantum secure. We implement a zero knowledge argument system, Virgo, based on our new scheme and compare its performance to existing schemes. Experiments show that it only takes 53 seconds to generate a proof for a circuit computing a Merkle tree with 256 leaves, at least an order of magnitude faster than all other succinct zero knowledge argument schemes. The verification time is 50ms, and the proof size is 253KB, both competitive to existing systems.Underlying Virgo is a new transparent zero knowledge verifiable polynomial delegation scheme with logarithmic proof size and verification time. The scheme is in the interactive oracle proof model and may be of independent interest.

Open access
2 source records
Cryptography and Data Security
Security and Verification in Computing
Complexity and Algorithms in Graphs
Original source
May 1, 2020·2020 IEEE Symposium on Security and Privacy (SP)
92 cites
Semantic Understanding of Smart Contracts: Executable Operational Semantics of Solidity

Jiao Jiao, Shuanglong Kan, Shang‐Wei Lin, David Sanán · 6 authors

Bitcoin has been a popular research topic recently. Ethereum (ETH), a second generation of cryptocurrency, extends Bitcoin's design by offering a Turing-complete programming language called Solidity to develop smart contracts. Smart contracts allow creditable execution of contracts on EVM (Ethereum Virtual Machine) without third parties. Developing correct and secure smart contracts is challenging due to the decentralized computation nature of the blockchain. Buggy smart contracts may lead to huge financial loss. Furthermore, smart contracts are very hard, if not impossible, to patch once they are deployed. Thus, there is a recent surge of interest in analyzing and verifying smart contracts. While most of the existing works either focus on EVM bytecode or translate Solidity smart contracts into programs in intermediate languages, we argue that it is important and necessary to understand and formally define the semantics of Solidity since programmers write and reason about smart contracts at the level of source code. In this work, we develop a formal semantics for Solidity which provides a formal specification of smart contracts to define semantic-level security properties for the high-level verification. Furthermore, the proposed semantics defines correct and secure high-level execution behaviours of smart contracts to reason about compiler bugs and assist developers in writing secure smart contracts.

Open access
Blockchain Technology Applications and Security
Cryptography and Data Security
Security and Verification in Computing
Original source
May 1, 2020·2020 IEEE Symposium on Security and Privacy (SP)
246 cites
VerX: Safety Verification of Smart Contracts

Anton Permenev, Dimitar Dimitrov, Petar Tsankov, Dana Drachsler-Cohen · 5 authors

We present VerX, the first automated verifier able to prove functional properties of Ethereum smart contracts. VerX addresses an important problem as all real-world contracts must satisfy custom functional specifications.VerX is based on a careful combination of three techniques, enabling it to automatically verify temporal properties of infinite- state smart contracts: (i) reduction of temporal property verification to reachability checking, (ii) a new symbolic execution engine for the Ethereum Virtual Machine that is precise and efficient for a practical fragment of Ethereum contracts, and (iii) delayed predicate abstraction which uses symbolic execution during transactions and abstraction at transaction boundaries.Our extensive experimental evaluation on 83 temporal properties and 12 real-world projects, including popular crowdsales and libraries, demonstrates that VerX is practically effective.

Open access
Security and Verification in Computing
Blockchain Technology Applications and Security
Advanced Malware Detection Techniques
Original source
May 1, 2020·IEEE Internet Computing
9 cites
Distributed Ledger Technologies

Fred Douglis, Angelos Stavrou

The articles in this special section focus on distributed ledger technologies (DLT). DLT, of which blockchain is a popular example, are increasingly becoming a popular means to maintain transactional integrity and achieve consensus among competing parties in many modern distributed data exchanges. Indeed, a Gartner survey estimates that by 2020, DLT and blockchain will support the global movement and tracking of $2 trillion of goods and services annually. Unlike centralized files and databases, distributed ledgers rely on peering nodes to record, share, and synchronize transactions and data in their individually maintained local ledgers. In the case of blockchain, information is organized into blocks that are securely and transparently chained together. These blocks become immutable global knowledge among all peers using consensus algorithms to achieve data synchronization. The “append-only, globally accepted” transactions supported by blockchain technologies have given rise to both opportunities and challenges compared to traditional data storage systems. One of the challenges faced by current information sharing systems, and a key concept that makes DLT appealing is the support for the creation of large scale systems from nodes and components that do not trust each other. Being able to reach consensus and share a commonly verifiable ledger is a very powerful primitive, which is already being considered for data sharing applications in energy, pharmaceuticals, and many other domains.

Open access
4 source records
Blockchain Technology Applications and Security
IoT and Edge/Fog Computing
Distributed systems and fault tolerance
Original source
Apr 18, 2020·arXiv (Cornell University)
43 cites
sFuzz: An Efficient Adaptive Fuzzer for Solidity Smart Contracts

Tai D. Nguyen, Long Hoang Pham, Jun Sun, Yun Lin · 5 authors

Smart contracts are Turing-complete programs that execute on the infrastructure of the blockchain, which often manage valuable digital assets. Solidity is one of the most popular programming languages for writing smart contracts on the Ethereum platform. Like traditional programs, smart contracts may contain vulnerabilities. Unlike traditional programs, smart contracts cannot be easily patched once they are deployed. It is thus important that smart contracts are tested thoroughly before deployment. In this work, we present an adaptive fuzzer for smart contracts on the Ethereum platform called sFuzz. Compared to existing Solidity fuzzers, sFuzz combines the strategy in the AFL fuzzer and an efficient lightweight multi-objective adaptive strategy targeting those hard-to-cover branches. sFuzz has been applied to more than 4 thousand smart contracts and the experimental results show that (1) sFuzz is efficient, e.g., two orders of magnitude faster than state-of-the-art tools; (2) sFuzz is effective in achieving high code coverage and discovering vulnerabilities; and (3) the different fuzzing strategies in sFuzz complement each other.

Open access
2 source records
Adversarial Robustness in Machine Learning
Security and Verification in Computing
Advanced Malware Detection Techniques
Original source
Apr 1, 2020·Proceedings on Privacy Enhancing Technologies
17 cites
A Tale of Two Trees: One Writes, and Other Reads

Duc V. Le, Lizzy Tengana Hurtado, Adil M. Ahmad, Mohsen Minaei · 6 authors

Abstract The Bitcoin network has offered a new way of securely performing financial transactions over the insecure network. Nevertheless, this ability comes with the cost of storing a large (distributed) ledger, which has become unsuitable for personal devices of any kind. Although the simplified payment verification (SPV) clients can address this storage issue, a Bitcoin SPV client has to rely on other Bitcoin nodes to obtain its transaction history and the current approaches offer no privacy guarantees to the SPV clients. This work presents T 3 , a trusted hardware-secured Bitcoin full client that supports efficient oblivious search/update for Bitcoin SPV clients without sacrificing the privacy of the clients. In this design, we leverage the trusted execution and attestation capabilities of a trusted execution environment (TEE) and the ability to hide access patterns of oblivious random access machine (ORAM) to protect SPV clients’ requests from potentially malicious nodes. The key novelty of T 3 lies in the optimizations introduced to conventional ORAM, tailored for expected SPV client usages. In particular, by making a natural assumption about the access patterns of SPV clients, we are able to propose a two-tree ORAM construction that overcomes the concurrency limitation associated with traditional ORAMs. We have implemented and tested our system using the current Bitcoin Unspent Transaction Output (UTXO) Set. Our experiment shows that T 3 is feasible to be deployed in practice while providing strong privacy and security guarantees to Bitcoin SPV clients.

Open access
Blockchain Technology Applications and Security
Cryptography and Data Security
Security and Verification in Computing
Original source
Apr 1, 2020·arXiv
0 cites
Hardening X.509 Certificate Issuance using Distributed Ledger Technology

Holger Kinkelin, Richard von Seck, Christoph Rudolf, Georg Carle

The security of cryptographic communication protocols that use X.509 certificates depends on the correctness of those certificates. This paper proposes a system that helps to ensure the correct operation of an X.509 certification authority and its registration authorities. We achieve this goal by enforcing a policy-defined, multi-party validation and authorization workflow of certificate signing requests. Besides, our system offers full accountability for this workflow for forensic purposes. As a foundation for our implementation, we leverage the distributed ledger and smart contract framework Hyperledger Fabric. Our implementation inherits the strong tamper-resistance of Fabric which strengthens the integrity of the computer processes that enforce the validation and authorization of the certificate signing request, and of the metadata collected during certificate issuance.

Open access
2 source records
cs.CR
eess.SY
Blockchain Technology Applications and Security
Original source
Mar 30, 2020·arXiv (Cornell University)
3 cites
SmartCert: Redesigning Digital Certificates with Smart Contracts

Paweł Szałachowski

The Transport Layer Security (TLS) protocol and its public-key infrastructure (PKI) are widely used in the Internet to achieve secure communication. Validating domain ownership by trusted certification authorities (CAs) is a critical step in issuing digital certificates, but unfortunately, this process provides a poor security level. In this work, we present SmartCert, a novel approach based on smart contracts to improve digital certificates. A certificate in SmartCert conveys detailed information about its validation state which is constantly changing but only with respect to the specified smart contract code and individual domain policies. CAs issuing and updating certificates are kept accountable and their actions are transparent and monitored by the code. We present the implementation and evaluation of SmartCert, and discuss its deployability.

Open access
2 source records
Internet Traffic Analysis and Secure E-voting
Cryptography and Data Security
Security and Verification in Computing
Original source