139 research outputs found
A note on two notions of compliance
We establish a relation between two models of contracts: binary session
types, and a model based on event structures and game-theoretic notions. In
particular, we show that compliance in session types corresponds to the
existence of certain winning strategies in game-based contracts.Comment: In Proceedings ICE 2014, arXiv:1410.701
Honesty by typing
We propose a type system for a calculus of contracting processes. Processes may stipulate contracts, and then either behave honestly, by keeping the promises made, or not. Type safety guarantees that a typeable process is honest - that is, the process abides by the contract it has stipulated in all possible contexts, even those containing dishonest adversaries
Quantum-secured blockchain
Blockchain is a distributed database which is cryptographically protected
against malicious modifications. While promising for a wide range of
applications, current blockchain platforms rely on digital signatures, which
are vulnerable to attacks by means of quantum computers. The same, albeit to a
lesser extent, applies to cryptographic hash functions that are used in
preparing new blocks, so parties with access to quantum computation would have
unfair advantage in procuring mining rewards. Here we propose a possible
solution to the quantum era blockchain challenge and report an experimental
realization of a quantum-safe blockchain platform that utilizes quantum key
distribution across an urban fiber network for information-theoretically secure
authentication. These results address important questions about realizability
and scalability of quantum-safe blockchains for commercial and governmental
applications.Comment: 7 pages, 2 figures; published versio
Combining behavioural types with security analysis
Today's software systems are highly distributed and interconnected, and they
increasingly rely on communication to achieve their goals; due to their
societal importance, security and trustworthiness are crucial aspects for the
correctness of these systems. Behavioural types, which extend data types by
describing also the structured behaviour of programs, are a widely studied
approach to the enforcement of correctness properties in communicating systems.
This paper offers a unified overview of proposals based on behavioural types
which are aimed at the analysis of security properties
Modelling and verifying contract-oriented systems in Maude
We address the problem of modelling and verifying contractoriented systems, wherein distributed agents may advertise and stipulate contracts, but — differently from most other approaches to distributed agents — are not assumed to always behave “honestly”. We describe an executable specification in Maude of the semantics of CO2, a calculus for contract-oriented systems [6]. The honesty property [5] characterises those agents which always respect their contracts, in all possible execution contexts. Since there is an infinite number of such contexts, honesty cannot be directly verified by model-checking the state space of an agent (indeed, honesty is an undecidable property in general [5]). The main contribution of this paper is a sound verification technique for honesty. To do that, we safely over-approximate the honesty property by abstracting from the actual contexts a process may be engaged with. Then, we develop a model-checking technique for this abstraction, we describe an implementation in Maude, and we discuss some experiments with it
Smart Contracts Contracts
This paper explores the connection between software contracts and smart contracts. Despite the assonance, these two terms denote quite different concepts: software contracts are logical properties of software components, while smart contracts are programs executed on blockchains. What is the relation between them? We answer this question by discussing how to integrate software contracts in the design of programming languages for smart contracts
Choreographies in the wild
We investigate the use of choreographies in distributed scenarios where, as in the real world, mutually distrusting (and possibly dishonest) participants may be unfaithful to their expected behaviour. In our model, each participant advertises its promised behaviour as a contract. Participants may interact through multiparty sessions, created when their contracts allow to synthesise a choreography. We show that systems of honest participants (which always adhere to their contracts) enjoy progress and session fidelity
Protocol modelling : synchronous composition of data and behaviour
This thesis develops and explores a technique called Protocol Modelling, a mathematics
for the description of orderings. Protocol Modelling can be viewed as a hybrid
of object orientation, as it supports ideas of data encapsulation and object instantiation;
and process algebra, as it supports a formally defined idea of process and process composition.
The first half of the thesis focuses on describing and defining the Protocol Modelling
technique. A formal denotational semantics for protocol machines is developed and
used to establish various properties; in particular that composition is closed and preserves
type safety. The formal semantics is extended to cover instantiation of objects.
Comparison is made with other process algebras and an approach to unification of
different formulations of the semantics of process composition is proposed.
The second half of the thesis explores three applications of Protocol Modelling:
Object Modelling. This explores the use of Protocol Modelling as a medium for object
modelling, and the facility to execute protocol models is described. Protocol Modelling
is compared with other object modelling techniques; in particular by contrasting
its compositional style with traditional hierarchical inheritance.
Protocol Contracts. This proposes the use of protocol models as a medium for expressing
formal behavioural contracts. This is compared with more traditional forms
of software contract in the generalization of the notion of contractual obligation as a
mechanism for software specification.
Choreographed Collaborations. In this application Protocol Modelling is used as a
medium to describe choreographies for asynchronous multiparty collaborations. A
compositional approach to choreography engineering, enabled by the synchronous
semantics of Protocol Modelling, is explored and results established concerning sufficient
conditions for choreography realizability. The results are extended to address
choreographies that employ behavioural rules based on data
Honesty by typing
We propose a type system for a calculus of contracting processes. Processes can establish sessions by stipulating contracts, and then can interact either by keeping the promises made, or not. Type safety guarantees that a typeable process is honest - that is, it abides by the contracts it has stipulated in all possible contexts, even in presence of dishonest adversaries. Type inference is decidable, and it allows to safely approximate the honesty of processes using either synchronous or asynchronous communication
- …