692 research outputs found

    Verifying liquidity of recursive Bitcoin contracts

    Full text link
    Smart contracts - computer protocols that regulate the exchange of crypto-assets in trustless environments - have become popular with the spread of blockchain technologies. A landmark security property of smart contracts is liquidity: in a non-liquid contract, it may happen that some assets remain frozen, i.e. not redeemable by anyone. The relevance of this issue is witnessed by recent liquidity attacks to Ethereum, which have frozen hundreds of USD millions. We address the problem of verifying liquidity on BitML, a DSL for smart contracts with a secure compiler to Bitcoin, featuring primitives for currency transfers, contract renegotiation and consensual recursion. Our main result is a verification technique for liquidity. We first transform the infinite-state semantics of BitML into a finite-state one, which focusses on the behaviour of a chosen set of contracts, abstracting from the moves of the context. With respect to the chosen contracts, this abstraction is sound, i.e. if the abstracted contract is liquid, then also the concrete one is such. We then verify liquidity by model-checking the finite-state abstraction. We implement a toolchain that automatically verifies liquidity of BitML contracts and compiles them to Bitcoin, and we assess it through a benchmark of representative contracts.Comment: arXiv admin note: text overlap with arXiv:2003.0029

    Formal Methods for Secure Bitcoin Smart Contracts

    Get PDF
    The notion of smart contracts was introduced in 1997 by Nick Szabo, to describe agreements among mutually distrusting parties that can be automatically enforced without resorting to a trusted intermediary. Then, the idea was mostly forgotten due to the technical impossibility to implement it. The advent of distributed ledger technologies, pioneered by Bitcoin, provided a technical foundation to reshape and develop smart contracts. Since smart contracts handle the ownership of valuable assets, attackers may be tempted to exploit vulnerabilities in their implementation to steal or tamper with these assets. For instance, a series of vulnerabilities in Ethereum contracts have been exploited, causing money losses in the order of hundreds of millions of dollars. Over the last years, a variety of smart contracts for Bitcoin have been proposed, both by the academic community and by that of developers. However, the heterogeneity in their treatment, the informal (often incomplete or imprecise) descriptions, and the use of poorly documented Bitcoin features, poses obstacles to the development of secure smart contracts. Using formal models and domain-specific languages to describe the behaviour of the underlying platform, and to model contracts, could help to overcome these security issues, by reducing the distance between the intended behaviour of a contract and the implementation. In this thesis, we propose a formal model of Bitcoin transactions, which is the foundation for a new process algebra for defining Bitcoin smart contracts. Furthermore, we present a toolchain for developing smart contracts in BitML, a domain-specific language based on the contributions of this thesis. Moreover, we propose a new extension to Bitcoin, called neighbourhood covenants, which extends its expressiveness as a smart contract platform. We then exploit neighbourhood covenants to implement fungible tokens on Bitcoin

    Towards Safer Smart Contracts: A Survey of Languages and Verification Methods

    Get PDF
    With a market capitalisation of over USD 205 billion in just under ten years, public distributed ledgers have experienced significant adoption. Apart from novel consensus mechanisms, their success is also accountable to smart contracts. These programs allow distrusting parties to enter agreements that are executed autonomously. However, implementation issues in smart contracts caused severe losses to the users of such contracts. Significant efforts are taken to improve their security by introducing new programming languages and advance verification methods. We provide a survey of those efforts in two parts. First, we introduce several smart contract languages focussing on security features. To that end, we present an overview concerning paradigm, type, instruction set, semantics, and metering. Second, we examine verification tools and methods for smart contract and distributed ledgers. Accordingly, we introduce their verification approach, level of automation, coverage, and supported languages. Last, we present future research directions including formal semantics, verified compilers, and automated verification

    $=€=Bitcoin?

    Get PDF
    Bitcoin (and other virtual currencies) have the potential to revolutionize the way that payments are processed, but only if they become ubiquitous. This Article argues that if virtual currencies are used at that scale, it would pose threats to the stability of the financial system—threats that have been largely unexplored to date. Such threats will arise because the ability of a virtual currency to function as money is very fragile—Bitcoin can remain money only for so long as people have confidence that bitcoins will be readily accepted by others as a means of payment. Unlike the U.S. dollar, which is backed by both a national government and a central bank, and the euro, which is at least backed by a central bank, there is no institution that can shore up confidence in Bitcoin (or any other virtual currency) in the event of a panic. This Article explores some regulatory measures that could help address the systemic risks posed by virtual currencies, but argues that the best way to contain those risks is for regulated institutions to out-compete virtual currencies by offering better payment services, thus consigning virtual currencies to a niche role in the economy. This Article therefore concludes by exploring how the distributed ledger technology pioneered by Bitcoin could be adapted to allow regulated entities to provide vastly more efficient payment services for sovereign currency-denominated transactions, while at the same time seeking to avoid concentrating the provision of those payment services within “too big to fail” banks

    Formal Models of Bitcoin Contracts: A Survey

    Get PDF
    Although Bitcoin is mostly used as a decentralized application to transfer cryptocurrency, over the last 10 years there have been several studies on how to exploit Bitcoin to execute smart contracts. These are computer protocols which allow users to exchange bitcoins according to complex pre-agreed rules. Some of these studies introduce formal models of Bitcoin contracts, which specify their behavior in non-ambiguous terms, in some cases providing tools to automatically verify relevant contract properties. In this paper, we survey the formal models proposed in the scientific literature, comparing their expressiveness and applicability in the wild

    Blockchain Games: What On and Off-chain factors affect the volatility, returns, and liquidity of Gaming Crypto Tokens

    Get PDF
    Blockchain games took the internet by storm as they offered a new way for users to play video games, own the assets in those games, and benefit monetarily from their efforts. Through Non-Fungible Tokens (NFTs) and cryptocurrencies, new, Web3 games ushered in a unique asset class for retail and institutional investors to diversify into and benefit from. This paper uses cross-sectional data from 30 blockchain gaming companies to identify on and off-chain factors that affect the company’s token volatility, returns, and liquidity. A multiple linear regression found the percentage of tokens dedicated to a company’s private sale and rewarding users, the length of a token’s vesting period, if the token has a fixed supply, and tokens based on the Solana or Polygon blockchains positively affect the volatility of that token. Conversely, the Monthly Active Users of the game, the token’s market capitalization, the amount of funds raised by the company, and the game genre negatively affect volatility. Funds raised, game genre, and Solana-based tokens were also significant in the returns model. Lastly, the number of faucets for the game and the percentage of tokens dedicated to rewards and the private sale showed significance in the liquidity model. This paper adds to the literature in the NFT, cryptocurrency, and blockchain gaming spaces
    • …
    corecore