In the area of blockchains, a wallet is anything that manages the access to cryptocurrencies and tokens. Off-chain wallets appear in different forms, from paper wallets to hardware wallets to dedicated wallet apps, while on-chain wallets are realized as smart contracts. Wallet contracts are supposed to increase trust and security by being transparent and by offering features like daily limits, approvals, multiple signatures, and recovery mechanisms. The most prominent platform for smart contracts in general and the token ecosystem im particular, and thus also for wallet contracts is Ethereum. Our work aims at a better understanding of wallet contracts on Ethereum, since they are one of the most frequently deployed smart contracts. By analyzing source code, bytecode, and execution traces, we derive usage scenarios and patterns. We discuss methods for identifying wallet contracts in a semi-automatic manner by looking at the deployed bytecodes and the on-chain interaction patterns. We extract blueprints for wallets and compile a ground truth. Furthermore, we differentiate characteristics of wallets in use, and group them into six types. We provide numbers and temporal perspectives regarding the creation and use of wallets. For the 40 identified blueprints, we compile detailed profiles. We analyze the data of the Ethereum main chain up to block 11,500,000, mined on December 22, 2020.
Giovanni Ciatto, Stefano Mariani, Alfredo Maffi, Andrea Omicini
A common use case for blockchain smart contracts (SC) is that of governing interaction amongst mutually untrusted parties, by automatically enforcing rules for interaction. However, while many contributions in the literature assess SC computational expressiveness, an evaluation of their power in terms of coordination (i.e., governing interaction) is still missing. This is why in this paper we test mainstream SC implementations by evaluating their expressive power in coordinating both inter-users and inter-SC activities. To do so, we exploit the archetypal Linda coordination model as a benchmark—a common practice in the field of coordination models and languages—by discussing to what extent mainstream blockchain technologies support its implementation. As they reveal some notable limitations (affecting, in particular, coordination between SC) we then show how Tenderfone, a custom blockchain implementation providing for a more expressive notion of SC, addresses the aforementioned limitations.
To make good use of valuable Internet of Things (IoT) data assets, this paper proposes a trust-aware IoT data economic system (TIDES) with complete IoT data pricing, trading and protection functions. To ensure reliable and automatic data trading, the entire trading process is automatically performed by smart contracts on a hierarchical blockchain. Moreover, we develop several sophisticated methods to ensure the efficiency and service quality of TIDES. First, a complete evaluation model that takes the data trading profile and reputation into consideration is proposed for both suppliers and demanders to assess the trustworthiness of their trading partners. Second, a client-centric data value evaluation model and a game-theory-based pricing model are used to promote win-win transactions in which the demanders obtain higher quality data at an acceptable price and the suppliers receive higher profits. Third, a dispute arbitration model is invoked to detect suspicious trading and refund these payments automatically. TIDES further utilizes a multi-access edge computing (MEC) architecture to alleviate the huge burdens of IoT devices from blockchain operations, reduce the trading latency, and help mobile devices to trade IoT data. The simulation results have shown the advantages of TIDES in terms of trading time, storage overhead, data trading profit, quality data trading, pricing efficiency, and reliability on data asset management and trading.
When actions by one agent force another to deviate from their agreements with a third, "victim" turns into "injurer" in the chain's subsequent steps. Should the chain's initiator be responsible only for the direct harm they cause or also bear some of the indirect losses they trigger? Through an axiomatic approach, we<br/>characterize the class of fixed-fraction rules, which strike a balance between incentives for accident prevention on the one hand and fairness in terms of how liabilities are assigned on the other. Their simple design make the rules ideal for practical implementation through smart contracts, enabling automated conflict resolution.
Spatial crowdsourcing is an effective and novel method. In crowdsourcing systems, a centralized platform is traditionally used to allocate tasks and select workers. Centralized platforms always face following challenges: 1) How to ensure the rationality of tasks allocating; 2) How to ensure the payments of workers in the system when dishonest requesters exist; 3) How to ensure the maximum number of tasks are assigned. 4) How to ensure the integrity and reliability of the centralized platform. To solve these problems, this article proposed a distributed blockchain-based crowdsourcing framework - TSWCrowd (Task Select Worker Crowd). In this framework, tasks are sorted according to specific rules, thus tasks with higher priority are assigned to workers earlier. Workers who are available for a task will be selected and return a result. Then the deployed smart contracts will pay the basic payment automatically. At the same time, relevant contracts also calculate and pay the quality payment according to the proposed quality reward formulation. The proposed TSWCrowd framework on-chain involves a public dataset and uses solidity to compile the smart contracts. The framework was deployed on a local private blockchain. The decentralization property of the blockchain ensures the reliable assignment of tasks. Task-select-worker (TSW) algorithm sorts tasks to ensure reliability. In this paper, the proposed framework was compared with the ABCrowd auction mechanism on-chain and the VCG mechanism off-chain. The results show that the average distance is shorter and the payment is higher, thus reaches the reasonability, reliability and availability.
Understanding the complexities of blockchain governance is urgent. The aim of this paper is to draw on other theories of governance to provide insight into the design of blockchain governance mechanisms. We define blockchain governance as the processes by which stakeholders (those who are affected by and can affect the network) exercise bargaining power over the network. Major considerations include the definition of stakeholders, how the consensus mechanism distributes endogenous bargaining power between those stakeholders, the interaction of exogenous governance mechanisms and institutional frameworks, and the needs for bootstrapping networks. We propose that on-chain governance models can only be partial because of the existence of implicit contracts that embed expectations of return among diverse stakeholders.
Pablo Lamela Seijas, Alexander Nemish, David Smith, Simon Thompson
Marlowe is a DSL for financial contracts. We describe the implementation of Marlowe on the Cardano blockchain, and the Marlowe Playground web-based development and simulation environment. Contracts in Marlowe can be exhaustively analysed prior to running them, thus providing strong guarantees to participants in the contract. The Marlowe system itself has been formally verified using the Isabelle theorem prover, establishing such properties as the conservation of money.
In traditional virtual asset trading market, several risks, e.g. scams, cheating users, and market reach, have been pushed to users (sellers/buyers). Users need to decide who to trust; otherwise, no business. This fact impedes the growth of virtual asset trading market. In the past few years, several virtual asset marketplaces have embraced blockchain and smart contract technology to alleviate such risks, while trying to address privacy and scalability issues. To attain both speed and non-repudiation property for all transactions, existing blockchain-based exchange systems still cannot fully accomplish. In real-life trading, users use traditional contract to provide non-repudiation to achieve accountability in all committed transactions, so-called thorough non-repudiation. This is essential when dispute happens. To achieve similar thorough non-repudiation as well as privacy and scalability, we propose PEX, Privacy-preserved, multi-tier EXchange framework for cross platform virtual assets trading. PEX creates a smart contract for each virtual asset trading request. The key to address the challenges is to devise two-level distributed ledgers with two different types of quorums where one is for public knowledge in a global ledger and the other is for confidential information in a private ledger. A private quorum is formed to process individual smart contract and record the transactions in a private distributed ledger in order to maintain privacy. Smart contract execution checkpoints will be continuously written in a global ledger to strengthen thorough non-repudiation. PEX smart contract can be executed in parallel to promote scalability. PEX is also equipped with our reputation-based network to track contribution and discourage malicious behavior nodes or users, building healthy virtual asset ecosystem.
Blockchain-based smart contracts have emerged as a popular means of enforcing agreements among a collection of parties without a prior assumption of trust. However, it has proven difficult to write correct contracts that are robust when operating in the adversarial environment of public blockchains. This thesis evaluates the ability of a domain-specific contract programming language to support the expression and systematic testing of practical smart contracts. We present the design, implementation, and evaluation of Quartz, a contract language based on the state machine model of execution.The design and evaluation of Quartz is grounded in a suite of case study smart contracts. These are intended to span a wide range of application scenarios and design patterns encountered in practice by contract developers. The language's implementation is organized around the translation of a contract to two targets: a formal specification expressed in TLA+ and an implementation expressed in Solidity. Through its support for model checking contract specifications, Quartz enables the discovery of implementation flaws identical to those that have compromised real-world smart contracts. Moreover, its generated Solidity code imposes at most minor execution overhead compared to equivalent handwritten code. Finally, we discuss Quartz's future potential to validate contracts against economic notions of correctness, which are often central concerns in contract design yet are not addressed by current verification techniques.
Juan Ignacio Ibañez, Chris N. Bayer, Paolo Tasca, Jiahua Xu
During the last half century, the concept of shared ledger systems that offer a single source of truth has challenged traditional bookkeeping, leading to innovations such as the resource-event-agent (REA) accounting framework, triple-entry accounting (TEA), and blockchain. Despite these advancements, the historical development of shared ledger systems remains under-researched and unclear, with the influence of REA on TEA particularly overlooked. This study aims to fill this gap by conducting a genealogical analysis of shared ledger systems, with a focus on tracing the development of TEA and its historical byproduct of the REA framework designed by McCarthy. Through a comprehensive literature review and interviews with pioneers in REA, TEA, and blockchain, we uncover the missing link between REA and TEA. Our findings suggest that the current explosion of shared ledger systems results from the convergence of three parallel research streams, occasionally interacting with each other. We correct common misconceptions, acknowledge the influence of key individuals, and map out the overlapping paths of REA, TEA, and blockchain. By elucidating the historical evolution of shared ledger systems, this study contributes to the academic debate and fosters further discourse among researchers in REA, TEA, and blockchain, thereby enhancing the potential applications within these fields.
Abstract Solidity is the dominant programming language for Ethereum smart contracts. This paper presents a high-level formalization of the Solidity language with a focus on the memory model. The presented formalization covers all features of the language related to managing state and memory. In addition, the formalization we provide is effective: all but few features can be encoded in the quantifier-free fragment of standard SMT theories. This enables precise and efficient reasoning about the state of smart contracts written in Solidity. The formalization is implemented in the SOLC-VERIFY verifier and we provide an extensive set of tests that covers the breadth of the required semantics. We also provide an evaluation on the test set that validates the semantics and shows the novelty of the approach compared to other Solidity-level contract analysis tools.