English
Related papers

Related papers: Formally Verifying a Real World Smart Contract

200 papers

In this paper we discuss how conventional business contracts can be converted into smart contracts---their electronic equivalents that can be used to systematically monitor and enforce contractual rights, obligations and prohibitions at run…

Computers and Society · Computer Science 2018-05-03 Carlos Molina-Jimenez , Ellis Solaiman , Ioannis Sfyrakis , Irene Ng , Jon Crowcroft

Ethereum smart contracts are public, immutable and distributed and, as such, they are prone to vulnerabilities sourcing from programming mistakes of developers. This paper presents SAFEVM, a verification tool for Ethereum smart contracts…

Programming Languages · Computer Science 2019-06-13 Elvira Albert , Jesús Correas , Pablo Gordillo , Guillermo Román-Díez , Albert Rubio

Smart contracts deployed on blockchains such as Ethereum routinely manage large amounts of assets, making their security critical. Empirical studies show that real-world attacks often exploit flaws in the business logic of contracts that…

Cryptography and Security · Computer Science 2026-04-16 Massimo Bartoletti , Angelo Ferrando , Enrico Lipparini , Vadim Malvone

Blockchain-based smart contract has become a growing field in the blockchain technology. What was once a technology used to solve digital transaction issues turns out to have some wider usage, including smart contract. The development of…

Cryptography and Security · Computer Science 2021-08-23 Fengkie Junis , Faisal Malik Widya Prasetya , Farouq Ibrahim Lubay , Anny Kartika Sari

Cloud computing has become an irreversible trend. Together comes the pressing need for verifiability, to assure the client the correctness of computation outsourced to the cloud. Existing verifiable computation techniques all have a high…

Cryptography and Security · Computer Science 2017-09-05 Changyu Dong , Yilei Wang , Amjad Aldweesh , Patrick McCorry , Aad van Moorsel

Formal Methods are mathematically-based techniques for software design and engineering, which enable the unambiguous description of and reasoning about a system's behaviour. Autonomous systems use software to make decisions without human…

Software Engineering · Computer Science 2021-07-29 Matt Luckcuck

Smart contracts are programs that execute transactions involving independent parties and cryptocurrencies. As programs, smart contracts are susceptible to a wide range of errors and vulnerabilities. Such vulnerabilities can result in…

Cryptography and Security · Computer Science 2023-07-03 Sundas Munir , Walid Taha

Formal methods provide systematic and rigorous techniques for software development. We strongly believe that they must be taught in computer science curricula. In this paper we present the pedagogic rationale and the concrete implementation…

Logic in Computer Science · Computer Science 2021-11-17 Salwa Souaf , Frédéric Loulergue

Traditionally, practitioners use formal methods pre-dominately for one half of the quality-assurance process: verification (do we build the software right?). The other half -- validation (do we build the right software?) -- has been given…

Software Engineering · Computer Science 2021-02-12 Atif Mashkoor , Michael Leuschel , Alexander Egyed

As smart contracts are growing in size and complexity, it becomes harder and harder to ensure their correctness and security. Due to the lack of isolation mechanisms a single mistake or vulnerability in the code can bring the whole system…

Software Engineering · Computer Science 2020-01-14 Mikhail Mandrykin , Jake O'Shannessy , Jacob Payne , Ilya Shchepetkov

Blockchain platforms and smart contracts are vulnerable to security breaches. Security breaches of smart contracts have led to huge financial losses in terms of cryptocurrencies and tokens. In this paper, we present a systematic survey of…

Cryptography and Security · Computer Science 2022-12-16 S. Vani , M. Doshi , A. Nanavati , A. Kundu

Formal methods provide remarkable tools allowing for high levels of confidence in the correctness of developments. Their use is therefore encouraged, when not required, for the development of systems in which safety or security is…

Logic in Computer Science · Computer Science 2009-02-24 Eric Jaeger , Thérèse Hardin

A bug or error is a common problem that any software or computer program may encounter. It can occur from badly writing the program, a typing error or bad memory management. However, errors can become a significant issue if the unsafe…

Programming Languages · Computer Science 2019-08-29 Zeinab Nehai , François Bobot

Verifying specifications for large-scale modern engineering systems can be a time-consuming task, as most formal verification methods are limited to systems of modest size. Recently, contract-based design and verification has been proposed…

Systems and Control · Electrical Eng. & Systems 2021-03-26 Miel Sharf , Bart Besselink , Karl Henrik Johansson

The recent release of Solidity 0.5 introduced a new type to prevent Ether transfers to smart contracts that are not supposed to receive money. Unfortunately, the compiler fails in enforcing the guarantees this type intended to convey, hence…

Programming Languages · Computer Science 2019-07-08 Silvia Crafa , Matteo Di Pirro

Nowadays, sophisticated domains are emerging which require appropriate formalisms to be specified accurately in order to reason about them. One such domain is constituted of smart contracts that have emerged in cyber physical systems as a…

Logic in Computer Science · Computer Science 2025-02-14 Kalonji Kalala

Smart contracts are small programs on the blockchain that often handle valuable assets. Vulnerabilities in smart contracts can be costly, as time has shown over and over again. Countermeasures are high in demand and include best practice…

Software Engineering · Computer Science 2023-05-03 Monika di Angelo , Gernot Salzer

Smart contracts on a blockchain behave precisely as specified by their code. A vulnerability in this code can lead to unexpected behaviour, which is hard to fix because a blockchain does not allow to change smart contract code after its…

Programming Languages · Computer Science 2019-11-27 Markus Knecht

Smart contracts provide the means to stipulate rules of interaction between mutually distrustful organizations. They encode contractual agreements on the basis of source code, which else need to be contractualized in natural language. While…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-07-07 Tobias Eichinger , Marcel Ebermann

Solidity smart contracts are programs that manage up to 2^160 users on a blockchain. Verifying a smart contract relative to all users is intractable due to state explosion. Existing solutions either restrict the number of users to…

Software Engineering · Computer Science 2021-09-02 Scott Wesley , Maria Christakis , Jorge A. Navas , Richard Trefler , Valentin Wüstholz , Arie Gurfinkel
‹ Prev 1 3 4 5 6 7 10 Next ›