123,284 research outputs found
Game theory on the blockchain: a model for games with smart contracts
We propose a model for games in which the players have shared access to a
blockchain that allows them to deploy smart contracts to act on their behalf.
This changes fundamental game-theoretic assumptions about rationality since a
contract can commit a player to act irrationally in specific subgames, making
credible otherwise non-credible threats. This is further complicated by
considering the interaction between multiple contracts which can reason about
each other. This changes the nature of the game in a nontrivial way as choosing
which contract to play can itself be considered a move in the game. Our model
generalizes known notions of equilibria, with a single contract being
equivalent to a Stackelberg equilibrium, and two contracts being equivalent to
a reverse Stackelberg equilibrium. We prove a number of bounds on the
complexity of computing SPE in such games with smart contracts. We show that
computing an SPE is -hard in the general case. Specifically,
in games with contracts, we show that computing an SPE is
-hard for games of imperfect information. We show that
computing an SPE remains -hard in games of perfect information
if we allow for an unbounded number of contracts. We give an algorithm for
computing an SPE in two-contract games of perfect information that runs in time
where is the size of the game tree and is the number of
terminal nodes. Finally, we conjecture the problem to be -complete
for three contracts
An Ethereum-Based Real Estate Application with Tampering-Resilient Document Storage
Plokiahela ja nutilepingute tehnoloogia on võimelised muutma mitmeid tööstusharusid pakkudes hajutatud platvormi detsentraliseeritud rakenduste arendamiseks. Seejuures soovivad mitmed ettevõtted nutilepinguid kasutada äriprotsesside tõhustamiseks. Käesolevas töös me esitleme juhtumiuuringut Singapuris tegutseva kinnisvara rendiga tegeleva ettevõtte kohta, mis integreeris plokiahela ühte oma protsessidest, kuid soovib kogu protsessi nutilepingusse tõsta. Pärast ettevõtte äriprotsesside modelleerimist ning analüüsimist loome piloottarkvara, mille arhitektuur on hübriidne. Ethereumi nutileping integreeritakse traditsioonilisse tsentraliseeritud veebirakendusse. Peale selle tutvustame me võltsimiskindla dokumendihoidla põhimõtet ning lisame selle IPFS näitel pilootprojekti lahendusse. Viimaseks arutleme potentsiaalsete tüüpprobleemide üle, mis võivad plokiahela rakenduse arendamisel tekkida. Pakume võimalikke lahendusi ning kaalume nende tagajärgi.Blockchain and smart contracts technology enables changes in many industries providing a distributed platform for running decentralized applications. Many companies want to adopt smart contracts technology and use it in their business processes to boost the performance. In this work we present the case study of the real estate company in Singapore that partially integrated blockchain into one of its processes, but wants to move the whole process to the smart contract. After modelling and analyzing their business processes, we create a proof-of-concept of a hybrid system that integrates Ethereum smart contract and traditional web application. Also, we introduce the concept of tampering-resilient document storage and extend the baseline solution to add support for such storage that is based on IPFS. Finally, we summarize and discuss the potential problems that can be met during the development of a blockchain-based application. We provide potential solutions and describe their implications
Cost Reduction With Guarantees: Formal Reasoning Applied To Blockchain Technologies
Blockchain technologies are moving fast and their distributed nature as well as their high-stake (financial) applications make it crucial to “get things right”. Moreover, blockchain technologies often come with a high cost for maintaining blockchain infrastructure and for running applications. In this thesis formal reasoning is used for guaranteeing correctness while reducing the cost of (i) maintaining the infrastructure by optimising blockchain protocols, and (ii) running applications by optimising blockchain programs—so called smart contracts. Both have a clear cost measure: for protocols the amount of exchanged messages, and for smart contracts the monetary cost of execution. In the first result for blockchain protocols starting from a proof of correctness for an abstract blockchain consensus protocol using infinitely many messages and infinite state, a refinement proof transfers correctness to a concrete implementation of the protocol reducing the cost to finite resources. In the second result I move from a blockchain to a block graph. This block graph embeds the run of a deterministic byzantine fault tolerant protocol, thereby getting parallelism “for free” and reducing the exchanged messages to the point of omission. For blockchain programs, I optimise programs executed on the Ethereum blockchain. As a first result, I use superoptimisation and encode the search for cheaper, but observationally equivalent, program as a search problem for an automated theorem prover. Since solving this search problem is in itself expensive, my second result is an efficient encoding of the search problem. Finally for reusing found optimisations, my third results gives a framework to generate peephole optimisation rules for a smart contract compiler
Betrayal, Distrust, and Rationality: Smart Counter-Collusion Contracts for Verifiable Cloud Computing
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 overhead, thus if being deployed in the clouds, would render cloud
computing more expensive than the on-premises counterpart. To achieve
verifiability at a reasonable cost, we leverage game theory and propose a smart
contract based solution. In a nutshell, a client lets two clouds compute the
same task, and uses smart contracts to stimulate tension, betrayal and distrust
between the clouds, so that rational clouds will not collude and cheat. In the
absence of collusion, verification of correctness can be done easily by
crosschecking the results from the two clouds. We provide a formal analysis of
the games induced by the contracts, and prove that the contracts will be
effective under certain reasonable assumptions. By resorting to game theory and
smart contracts, we are able to avoid heavy cryptographic protocols. The client
only needs to pay two clouds to compute in the clear, and a small transaction
fee to use the smart contracts. We also conducted a feasibility study that
involves implementing the contracts in Solidity and running them on the
official Ethereum network.Comment: Published in ACM CCS 2017, this is the full version with all
appendice
An empirical analysis of smart contracts: platforms, applications, and design patterns
Smart contracts are computer programs that can be consistently executed by a
network of mutually distrusting nodes, without the arbitration of a trusted
authority. Because of their resilience to tampering, smart contracts are
appealing in many scenarios, especially in those which require transfers of
money to respect certain agreed rules (like in financial services and in
games). Over the last few years many platforms for smart contracts have been
proposed, and some of them have been actually implemented and used. We study
how the notion of smart contract is interpreted in some of these platforms.
Focussing on the two most widespread ones, Bitcoin and Ethereum, we quantify
the usage of smart contracts in relation to their application domain. We also
analyse the most common programming patterns in Ethereum, where the source code
of smart contracts is available.Comment: WTSC 201
- …