Skip to main navigation Skip to search Skip to main content

Fail-aware untrusted storage

Christian Cachin, Idit Keidar, Alexander Shraer

Research output: Contribution to journalArticlepeer-review

Abstract

We consider a set of clients collaborating through an online service provider that is subject to attacks and hence not fully trusted by the clients. We introduce the abstraction of a failaware untrusted service, with meaningful semantics even when the provider is faulty. In the common case, when the provider is correct, such a service guarantees consistency (linearizability) and liveness (wait-freedom) of all operations. In addition, the service always provides accurate and complete consistency and failure detection. We illustrate our new abstraction by presenting a Fail-Aware Untrusted STorage service (FAUST). Existing storage protocols in this model guarantee so-called forking semantics. We observe, however, that none of the previously suggested protocols suffices for implementing fail-aware untrusted storage with the desired liveness and consistency properties (at least wait-freedom and linearizability when the server is correct). We present a new storage protocol, which does not suffer from this limitation, and implements a new consistency notion, called weak fork-linearizability. We show how to extend this protocol to provide eventual consistency and failure awareness in FAUST.

Original languageEnglish
Pages (from-to)493-533
Number of pages41
JournalSIAM Journal on Computing
Volume40
Issue number2
DOIs
StatePublished - 2011

Keywords

  • Cloud storage
  • Consistency
  • Forking semantics
  • Hashing
  • Integrity

All Science Journal Classification (ASJC) codes

  • General Computer Science
  • General Mathematics

Cite this