Files
Callum Waters 1f0cf7762b spec: migrate v0.7.1. into v0.34 (#9262)
* Initial commit

* Add three timeouts and align pseudocode better with existing algorithm

* Align protocol with Tendermint code and add find valid value mechanism

* Prepare to Nuke Develop (#47)

* state -> step

* vote -> v

* New version of the algorithm and the proof

* New version of the algorithm and the proofs

* Added algorithm description

* Add algorithm description

* Add introduction

* Add conclusion

* Add conclusion file

* fix warnings (caption was defined twice)

- only the latter is used anyways (centers captions)
- this makes it possible to autom. building the paper

* Update grammar

* s/state_p/step_p

* Address Ismail's comments

* intro: language fixes

* definitions: language fixes

* consensus: various fixes

* proof: some fixes

* try to improve reviewability

* \eq -> =

* textwrap to 79

* various minor fixes

* proof: fix itemization

* proof: more minor fixes

* proof: timeouts are functions

* proof: fixes to lemma6

* Intro changes and improve title page

* Add Marko and Ming to acks

* add readme

* Format algorithm correctly

Clarify condition semantic and timeouts

Improve descriptions

* patform -> platform

* Ensure that rules are mutually exclusive

- various clarifications and small improvements

* Release v0.6

* small nits for smoother readability

* This PR is to create signed commits to be able to merge (#50)

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* Add consesnus and blockchain specs, (#52)

- Open questions
	- Do  we want to split lite client work from consesnsus
	- From the blockchain spec, is encoding nessecary in the spec

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* Add ABCI SPEC (#51)

- move the abci spec from tendermint to spec repo

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* spec/consensus/signing: add more details about nil and amnesia (#54)

- Add more details about nil votes and about amnesia attacks

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* Add Section for P2P (#53)

* Add Section for P2P

- moved over the section on p2p

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* add some more files

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* Fix model section

* Add non-recursive specification of Bisection algorithm

- Fix timing issues by introducing Delta parameter

* spec: update spec with tendermint updates (#62)

* spec: update spec with tendermint updates

- this in preperation of deleting the spec folder in docs in tendermint/tendermint

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* spec: added in reactors & p2p

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* spec: update readme in spec to comply with docs site

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* docs: addded more changes from tednermint/tendermint

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* reflect breaking changes made to Commit (#63)

* reflect breaking changes made to Commit

PR: https://github.com/tendermint/tendermint/pull/4146
Issue: https://github.com/tendermint/tendermint/issues/1648

* types: rename Commit#Precommits to Signatures

* update BlockIDFlagAbsent comment

* remove iota

* Clean up error conditions and simplify pseudocode

* Apply suggestions from code review

Co-Authored-By: Anca Zamfir <ancazamfir@users.noreply.github.com>

* Add spec doc about unconditional_peer, persistent_peers_max_dial of ADR-050 (#68)

* Add spec doc about unconditional_peer_ids, persistent_peers_max_dial_period of ADR-050

* Add indefinitely dialing condition

* Add sr25519 amino documentation (#67)

* sr25519 amino

* Update spec/blockchain/encoding.md

Co-Authored-By: Marko <marbar3778@yahoo.com>

* some suggestions for pseuodocode changes

* Improved error handling

* Add explanation on difference between trusted models

* Address reviewer's comments

* Addressing reviewer's comments

* Separating algorithm from proofs

* Intermediate commit (aligning spec with the code)

* Removing Store from API and providing end-to-end timing guarantees

* Address reviewer comment's. Intermediate commit

* light client dir and readmes

* titles

* add redirects

* add diagram

* detection TODO

* fix image

* update readme

* Aligh the correctness arguments with the pseudocode changes

* lite->light

* Fix link in readme

./light -> ./light-client

* p2p: Merlin based malleability fixes (#72)

* Update the secret connection spec with the use of merlin to eliminte handshake malleability

* Update spec/p2p/peer.md

Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com>

* Update spec/p2p/peer.md

Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com>

* Update spec/p2p/peer.md

Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com>

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>

* docs: update specs to remove cmn (#77)

- cmn was remvoed in favor of sub pkgs. cmn.kvpair is now kv.pair

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* evidence: Add time to evidence params (#69)

* evidence: Add time to evidence params

- this pr is grouped together with https://github.com/tendermint/tendermint/pull/4254, once that PR is merged then this one can be as well.

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* remove note

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* Apply suggestions from code review

Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com>

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>

* update link to the pex reactor

* add markdown link checker

* changed tab spacing

* removed folder-path flag

* first attempt at fixing all links

* second attempt at fixing all links

* codeowners: add code owners (#82)

* codeowners: add code owners

- added some codeowners
please comment if youd like to be added as well.

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* remove comment of repo maintainers

* remove .idea dir (#83)

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>

* RFC-001: configurable block retention (#84)

* Added RFC for truncated block history coordination

* Clarified minimum block retention

* Added hard checks on block retention and snapshot interval, and made some minor tweaks

* Genesis parameters are immutable

* Use local config for snapshot interval

* Reordered parameter descriptions

* Clarified local config option for snapshot-interval

* rewrite for ABCI commit response

* Renamed RFC

* add block retention diagram

* Removed retain_blocks table

* fix image numbers

* resolved open questions

* image quality

* accept RFC-001 (#86)

* abci: add basic description of ABCI Commit.ResponseHeight (#85)

Documentation for block pruning, once it's merged: tendermint/tendermint#4588.

Minimum documentation, for now - we probably shouldn't encourage using this feature too much until we release state sync.

* abci: add MaxAgeNumBlocks/MaxAgeDuration to EvidenceParams (#87)

* abci: update MaxAgeNumBlocks & MaxAgeDuration docs (#88)

* document state sync ABCI interface and P2P protocol (#90)

The corresponding Tendermint PRs are tendermint/tendermint#4704 and tendermint/tendermint#4705.

* Revert "document state sync ABCI interface and P2P protocol (#90)" (#92)

This reverts commit 9842b4b0fb.

* blockchain: change validator set sorting method (#91)

* abci: specify sorting of RequestInitChain.Validators

* blockchain: change validator sorting method

Refs https://github.com/tendermint/tendermint/issues/2478

* reactors/pex: specify hash function (#94)

https://github.com/tendermint/tendermint/pull/4810/files

* document state sync ABCI interface and P2P protocol (#93)

* Revert "Revert "document state sync ABCI interface and P2P protocol (#90)" (#92)"

This reverts commit 90797cef90.

* update with new enum case

* fix links

Co-authored-by: Erik Grinaker <erik@interchain.berlin>

* Update evidence params with MaxNum (#95)

evidence params now includes maxNum which is the maximum number of evidence that can be committed on a single block

* reactors/pex: masked IP is used as group key (#96)

* spec: add ProofTrialPeriod to EvidenceParam (#99)

* spec: modify Header.LastResultsHash (#97)

Refs: https://github.com/tendermint/tendermint/issues/1007
PR: https://github.com/tendermint/tendermint/pull/4845

* spec: link to abci server implementations (#100)

* spec: update evidence in blockchain.md (#108)

now evidence reflects the actual evidence present in the tendermint repo

* abci: add AppVersion to ConsensusParams (#106)

* abci: tweak node sync estimate (#115)

* spec/abci: expand on Validator#Address (#118)

Refs https://github.com/tendermint/tendermint/issues/3732

* blockchain: rename to core (#123)

* blockchain: remove duplicate evidence sections (#124)

* spec/consensus: canonical vs subjective commit

Refs https://github.com/tendermint/tendermint/issues/2769

* Apply suggestions from code review

Co-authored-by: Igor Konnov <igor.konnov@gmail.com>

* update spec with the removal of phantom validator evidence (#126)

* bring blockchain back

* add correct links

* spec: revert event hashing (#132)

* Evidence time is sourced from block time (#138)

* RFC-002: non-zero genesis (#119)

* abci: add ResponseInitChain.app_hash (#140)

* update hashing of empty inputs, and initial block LastResultsHash (#141)

* update evidence verification (#139)

* accept RFC-002 (#142)

* add description of arbitrary initial height (#135)

* update ResponseInitChain.app_hash description (#143)

* remove unused directories and update README (#145)

This change removes unused directories (`papers` and `research`) 
and updates the README to reflect our strategy for merging the 
informalsystems/tendermint-rs specs into this repository.

Partially addresses #121.

* ci: add markdown linter (#146)

* ci: add dependabot config (#148)

* build(deps): bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.7 (#149)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 0.6.0 to 1.0.7.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: add sections to abci (#150)

* spec: update abci events (#151)

* spec: extract light-client to its own directory (#152)

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* spec: remove evidences (#153)

* add a stale bot (#134)

* Current versions of light client specs from tendermint-rs (#158)

* current versions of light client specs from tendermint-rs

* markdown lint

* linting

* links

* links

* links

Co-authored-by: Marko Baricevic <marbar3778@yahoo.com>

* Fastsync spec from tendermint-rs (#157)

* fastsync spec from tendermint-rs

* fixed broken link

* fixed linting

* more fixes

* markdown lint

* move fast_sync to rust-spec

Co-authored-by: Marko Baricevic <marbar3778@yahoo.com>

* Update README.md (#160)

* spec/reactors/mempool: batch txs per peer (#155)

* spec/reactors/mempool: batch txs per peer

Refs https://github.com/tendermint/tendermint/issues/625

* update

* spec: Light client attack detector (#164)

* start with new detection and evidence spec

* more definitions at top

* sketch of functions

* pre post draft

* evidence proof

* typo

* evidence theory polished

* some TODOs resolved

* more TODOs

* links

* second to last revision before PR

* links

* I will read once more and then make a PR

* removed peer handling definitions

* secondary

* ready to review

* detector ready for review

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* Update rust-spec/lightclient/detection/detection.md

* skip-trace

* PossibleCommit explained

* Update rust-spec/lightclient/detection/detection.md

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* comments by Zarko

* renamed and changed link in README

Co-authored-by: Zarko Milosevic <zarko@informal.systems>

* fixed an overlooked conflict (#167)

* describe valset sorting according to v0.34 requirements (#169)

* evidence: update data structures (#165)

* fix markdown linter (#172)

* TLA+ specs from MBT revision (#173)

* remove setOption (#181)

* spec: protobuf changes (#156)

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>

* first check latest with secondary (#184)

* Extending the blockchain specification (in the light client) to produce different ratios of faults (#183)

* cleaning unused definitions

* introduced the ratio of faulty processes

* Update README.md (#185)

* build(deps): bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.7 to 1.0.8.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.7...e3c371c731b2f494f856dc5de7f61cea4d519907)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* spec: update light client verification to match supervisor (#171)

* VDD renaming of verification spec + links fixed

* latest()

* backwards

* added TODOs

* link in old file to new name

* better text

* revision done. needs one more round of reading

* renamed constants in 001 according to TLA+ and impl

* ready for PR

* forgot linting

* Update rust-spec/lightclient/verification/verification_002_draft.md

* Update rust-spec/lightclient/verification/verification_002_draft.md

* added lightstore function needed for supervisor

* added lightstore functions for supervisor

* ident

* Update rust-spec/lightclient/verification/verification_002_draft.md

* github: issue template for proposals (#190)

* Sequential Supervisor (#186)

* move from tendermint-rs but needs discussion

* markdown lint

* TODO links replaced

* links

* links

* links lint

* Update rust-spec/lightclient/supervisor/supervisor.md

* Update rust-spec/lightclient/supervisor/supervisor.md

* Update rust-spec/lightclient/supervisor/supervisor.md

* Update rust-spec/lightclient/supervisor/supervisor.md

* moved peer handling definitions to supervisor

* polishing

* rename

* Update rust-spec/lightclient/supervisor/supervisor_001_draft.md

* Update rust-spec/lightclient/supervisor/supervisor_001_draft.md

* changes to maintain StateVerified again

* ready for changes in verification

* start of supervisor

* module name

* fixed

* more details

* supevisor completed. Now I have to add function to verification

* ready for review

* tla comment

* removed issues

* Update rust-spec/lightclient/supervisor/supervisor_001_draft.md

* intro text fixed

* indentation

* Update rust-spec/lightclient/supervisor/supervisor_001_draft.md

* comment to entry points

Co-authored-by: Marko Baricevic <marbar3778@yahoo.com>

* RFC: adopt zip 215 (#144)

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Core: move validation & data structures together (#176)

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* docs: make blockchain not viewable (#211)

* evidence: update data structures to reflect added support of abci evidence (#213)

* encoding: add secp, ref zip215, tables (#212)

* Detector English Spec ready (#215)

Add detector English spec

* add Ivy proofs (#210)

* add Ivy proofs

* fix docker-compose command

* Light client detector spec in TLA+ and refactoring of light client verification TLA+ spec (#216)

Add light client detector spec in TLA+

* abci: lastcommitinfo.round extra sentence (#221)

* abci: add abci_version to requestInfo (#223)

* BFT requires _less than_ 1/3 faulty validators (#228)

Thanks fo spotting the imprecision in the text, @shahankhatch !

* Draft of evidence handling for discussion (#225)

* start with accountability deliverable

* problem statement

* draft function

* quite complete draft. ready to discuss with Igor

* Update isolate-attackers_001_draft.md

* Update isolate-attackers_001_draft.md

* Update isolate-attackers_001_draft.md

* Update isolate-attackers_001_draft.md

* Update isolate-attackers_001_draft.md

* ready for TLA+ to take over

* isolate

* isolateamnesiatodos

* Update isolate-attackers_001_draft.md

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* Update rust-spec/lightclient/attacks/isolate-attackers_001_draft.md

Co-authored-by: Igor Konnov <konnov@forsyte.at>

* The TLA+ specification of the attackers detection (#231)

* the working attackers isolation spec, needs more comments

* the TLA+ spec of the attackers isolation

* build(deps): bump gaurav-nelson/github-action-markdown-link-check (#233)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.8 to 1.0.11.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.8...2a60e0fe41b5361f446ccace6621a1a2a5c324cf)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Computing attack types (#232)

Add light attack evidence handling

* Update README.md (#234)

* p2p: update frame size (#235)

Reflect the change made in https://github.com/tendermint/tendermint/pull/5805

The MTU (Maximum Transmission Unit) for Ethernet is 1500 bytes.
The IP header and the TCP header take up 20 bytes each at least (unless
optional header fields are used) and thus the max for (non-Jumbo frame)
Ethernet is 1500 - 20 -20 = 1460
Source: https://stackoverflow.com/a/3074427/820520

* build(deps): bump gaurav-nelson/github-action-markdown-link-check (#239)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.11...0fe4911067fa322422f325b002d2038ba5602170)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* layout: add section titles (#240)

* reactors: remove bcv1 (#241)

* abci: rewrite to proto interface (#237)

* Update supervisor_001_draft.md (#243)

* spec: remove reactor section (#242)

Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>

* non-critical bugfix in the TLA+ spec (found by new version of apalache) (#244)

* params: remove block timeiota (#248)

* proto: add files (#246)

Co-authored-by: Erik Grinaker <erik@interchain.berlin>

* proto: modify height int64 to uint64 (#253)

* abci: note on concurrency (#258)

Co-authored-by: Marko <marbar3778@yahoo.com>

* spec: merge rust-spec (#252)

* Fix list of RFCs (#266)

* readme: cleanup (#262)

* modify readme

* add rfc and proto

* add rust=spec back to avoid breakage

* lint readme

* genesis: Explain fields in genesis file (#270)

* describe the genesis

* Update spec/core/genesis.md

Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* add wording on app_state

* Update spec/core/genesis.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* p2p: links (#268)

* fix links

* fix more links

* Proposer-based timestamp specification (#261)

* added proposer-based timestamp spec

* Update spec/consensus/proposer-based-timestamp/pbts_001_draft.md

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update spec/consensus/proposer-based-timestamp/pbts_001_draft.md

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Update spec/consensus/proposer-based-timestamp/pbts-algorithm_001_draft.md

Co-authored-by: Marko <marbar3778@yahoo.com>

* Update spec/consensus/proposer-based-timestamp/pbts-algorithm_001_draft.md

* Update spec/consensus/proposer-based-timestamp/pbts-sysmodel_001_draft.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* fixes from PR

Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* abci: reorder sidebar (#282)

* ABCI++ RFC (#254)

* ABCI++ RFC

This commit adds an RFC for ABCI++, which is a collection of three new phases of communication between the consensus engine and the application.

Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>

* Fix bugs pointed out by @liamsi

* Update rfc/004-abci++.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Fix markdown lints

* Update rfc/004-abci++.md

Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>

* Update rfc/004-abci++.md

Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>

* Update rfc/004-abci++.md

Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>

* Add information about the rename in the context section

* Bold RFC

* Add example for self-authenticating vote data

* More exposition of the term IPC

* Update pros / negatives

* Fix sentence fragment

* Add desc for no-ops

Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>
Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>

* RFC: ReverseSync - fetching historical data (#224)

* core: update a few sections  (#284)

* p2p: update state sync messages for reverse sync (#285)

* Update README.md (#286)

* rpc: define spec for RPC (#276)

* add rpc spec and support outline

* add json

* add more routes remove unneeded ones

* add rest of rpc endpoints

* add jsonrpc calls

* add more jsonrpc calls

* fix blockchain

* cleanup unused links and add links to repos

* Update spec/rpc/README.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* add missing param from consensus param

* Update spec/rpc/README.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* Update spec/rpc/README.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* fix cast and add doc to readme

Co-authored-by: Callum Waters <cmwaters19@gmail.com>
Co-authored-by: Marko Baricevic <markobaricevic@Fergalicious.local>

* A few improvements to the Ivy proof (#288)

* Avoid quantifier alternation cycle

The problematic quantifier alternation cycle arose because the
definition of accountability_violation was unfolded.

This commit also restructures the induction proof for clarity.

* add count_lines.sh

* fix typo and add forgotten complete=fo in comment

Co-authored-by: Giuliano <giuliano@eic-61-11.galois.com>

* Fixed a broken link (#291)

* fix message type for block-sync (#298)

* lint: fix lint errors (#301)

* build(deps): bump actions/stale from 3 to 3.0.18 (#300)

Bumps [actions/stale](https://github.com/actions/stale) from 3 to 3.0.18.
- [Release notes](https://github.com/actions/stale/releases)
- [Commits](https://github.com/actions/stale/compare/v3...v3.0.18)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump actions/stale from 3.0.18 to 3.0.19 (#302)

Bumps [actions/stale](https://github.com/actions/stale) from 3.0.18 to 3.0.19.
- [Release notes](https://github.com/actions/stale/releases)
- [Commits](https://github.com/actions/stale/compare/v3.0.18...v3.0.19)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* rename HasVote to ReceivedVote (#289)

* add a changelog to track changes (#303)

* add a changelog to track changes

* Update CHANGELOG.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* rpc: clarify timestamps (#304)

* clarify timestamps

* changelog entry

* Update spec/rpc/README.md

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* rpc: add chunked genesis endpoint (#299)

* rpc: add chunked genesis endpoint

* fix lint

* feedback

* add info about error

* fix lint

Co-authored-by: marbar3778 <marbar3778@yahoo.com>

* update ResponseCheckTx (#306)

* rpc: Add totalGasUSed to block_results response (#308)

* Add C++ code generation and test scenario (#310)

* add parameters to byzantine send action

* make net not trusted

it's not necessary since for proofs Ivy will assume that the environment
does not break action preconditions

* use require instead of assume

it seems that assume is not checked when other isolates call!

* add comment

* add comment

* run with random seed

* make domain model extractable to C++

* substitute require for assume

assumes in an action are not checked when the action is called! I.e.
they place no requirement on the caller; we're just assuming that the
caller is going to do the right thing. This wasn't very important here
but it leade to a minor inconsistency slipping through.

* make the net isolate not trusted

there was no need for it

* add tendermint_test.ivy

contains a simple test scenario that show that the specification is no
vacuuous

* update comment

* add comments

* throw if trying to parse nset value in the repl

* add comment

* minor refactoring

* add new pex messages (#312)

* build(deps): bump gaurav-nelson/github-action-markdown-link-check (#313)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.12 to 1.0.13.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.12...1.0.13)

---
updated-dependencies:
- dependency-name: gaurav-nelson/github-action-markdown-link-check
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* update spec to reference currently used timestamp type (#317)

* build(deps): bump actions/stale from 3.0.19 to 4 (#319)

Bumps [actions/stale](https://github.com/actions/stale) from 3.0.19 to 4.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v3.0.19...v4)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* address discrepancies between spec and implementation (#322)

* update proto files for release (#318)

* stale bot: ignore issues (#325)

* evidence: add section explaining evidence (#324)

* statesync: new messages for gossiping consensus params (#328)

* rpc: update peer format in specification in NetInfo operation (#331)

* Update supervisor_001_draft.md (#334)

* core: text cleanup (#332)

* abci: clarify what abci stands for (#336)

* abci: clarify what abci stands for

* link to abci type protos.

* abci: clarify connection use in-process (#337)

* abci: clarify connection use in-process

* Update abci.md

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* invert abci explanations

* lint++

* lint++

* lint++

* lint++

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* proto: move proto files under the correct directory related to their package name (#344)

* abci.md fixup (#339)

* abci: points of clarification ahead of v0.1.0

* lint++

* typo

* lint++

* double word score

* grammar

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update spec/abci/abci.md

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* pr feedback

* wip

* update non-zero status code docs

* fix event description

* update CheckTx description

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* Update supervisor_001_draft.md (#333)

* Update supervisor_001_draft.md

If the only node in the *FullNodes* set is the primary, that was just deemed faulty, we can't find honest primary.

* Update supervisor_001_draft.md

* light: update initialization description (#320)

* apps.md fixups (#341)

* wip

* wip

* wip

* remove comments in favor of gh comments

* wip

* udpates to language, should must etc

* Apply suggestions from code review

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* remove tendermint cache description

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

* proto: add tendermint go changes (#349)

* add missed proto files

* add abci changes

* rename blockchain to blocksync

* Update proto/tendermint/abci/types.proto

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

Co-authored-by: Callum Waters <cmwaters19@gmail.com>

* fix mockery generation script (#9094)

Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
Co-authored-by: Milosevic, Zarko <zare.milosevic@gmail.com>
Co-authored-by: Milosevic, Zarko <zare.milosevic@sicpa.com>
Co-authored-by: Zarko Milosevic <zarko@tendermint.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Zarko Milosevic <zarko@interchain.io>
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
Co-authored-by: dongsamb <dongsamb@gmail.com>
Co-authored-by: Sunny Aggarwal <sunnya97@gmail.com>
Co-authored-by: Anca Zamfir <anca@interchain.io>
Co-authored-by: Ethan Buchman <ethan@coinculture.info>
Co-authored-by: Zarko Milosevic <zarko@informal.systems>
Co-authored-by: Ismail Khoffi <Ismail.Khoffi@gmail.com>
Co-authored-by: Zaki Manian <zaki@tendermint.com>
Co-authored-by: Erik Grinaker <erik@interchain.berlin>
Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>
Co-authored-by: Alexander Simmerl <a.simmerl@gmail.com>
Co-authored-by: Igor Konnov <igor.konnov@gmail.com>
Co-authored-by: Sean Braithwaite <brapse@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>
Co-authored-by: Igor Konnov <konnov@forsyte.at>
Co-authored-by: Sam Hart <sam@hxrts.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: Giuliano <giuliano@losa.fr>
Co-authored-by: Shahan Khatchadourian <shahan.k.code@gmail.com>
Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>
Co-authored-by: istoilkovska <anili100@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Sam Kleinman <garen@tychoish.com>
Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Marko Baricevic <markobaricevic@Fergalicious.local>
Co-authored-by: Giuliano <giuliano@eic-61-11.galois.com>
Co-authored-by: Jordan Sexton <jordan@jordansexton.com>
Co-authored-by: MengXiangJian <805442788@qq.com>
Co-authored-by: Yixin Luo <18810541851@163.com>
Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com>
Co-authored-by: Giuliano <giuliano@galois.com>
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Co-authored-by: Mateusz Górski <goral09@users.noreply.github.com>
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
Co-authored-by: Thane Thomson <connect@thanethomson.com>
2022-08-16 11:07:21 -04:00

1660 lines
49 KiB
BibTeX

%--- conferences --------------------------------------------------
@STRING{WDAG96 = "Proceedings of the 10th International Workshop
on Distributed Algorithms (WDAG'96)"}
@STRING{WDAG97 = "Proceedings of the 11th International Workshop
on Distributed Algorithms (WDAG'97)"}
@STRING{DISC98 = "Proceedings of the 12th International Conference
on Distributed Computing ({DISC}'98)"}
@STRING{DISC99 = "Proceedings of the 13th International Conference
on Distributed Computing ({DISC}'99)"}
@STRING{DISC98 = "Proceedings of the 13th International Conference
on Distributed Computing ({DISC}'98)"}
@STRING{DISC99 = "Proceedings of the 13th International Conference
on Distributed Computing ({DISC}'99)"}
@STRING{DISC00 = "Proceedings of the 14th International Conference
on Distributed Computing ({DISC}'00)"}
@STRING{DISC01 = "Proceedings of the 15th International Conference
on Distributed Computing ({DISC}'01)"}
@STRING{DISC02 = "Proceedings of the 16th International Conference
on Distributed Computing ({DISC}'02)"}
@STRING{DISC03 = "Proceedings of the 17th International Conference
on Distributed Computing ({DISC}'03)"}
@STRING{DISC04 = "Proceedings of the 18th International Conference
on Distributed Computing ({DISC}'04)"}
@STRING{DISC05 = "Proceedings of the 19th International Conference
on Distributed Computing ({DISC}'05)"}
@STRING{PODC83 = "Proceeding of the 1st Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'83)"}
@STRING{PODC91 = "Proceeding of the 9th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'91)"}
@STRING{PODC94 = "Proceeding of the 12th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'94)"}
@STRING{PODC95 = "Proceeding of the 13th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'95)"}
@STRING{PODC96 = "Proceeding of the 14th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'96)"}
@STRING{PODC97 = "Proceeding of the 15th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'97)"}
@STRING{PODC98 = "Proceeding of the 16th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'98)"}
@STRING{PODC99 = "Proceeding of the 17th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'99)"}
@STRING{PODC00 = "Proceeding of the 18th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'00)"}
@STRING{PODC01 = "Proceeding of the 19th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'01)"}
@STRING{PODC02 = "Proceeding of the 20th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'02)"}
@STRING{PODC03 = "Proceeding of the 21st Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'03)"}
@STRING{PODC03 = "Proceeding of the 22nd Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'03)"}
@STRING{PODC04 = "Proceeding of the 23rd Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'04)"}
@STRING{PODC05 = "Proceeding of the 24th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'05)"}
@STRING{PODC06 = "Proceedings of the 25th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'06)"}
@STRING{PODC07 = "Proceedings of the 26th Annual {ACM} Symposium on
Principles of Distributed Computing ({PODC}'07)"}
@STRING{STOC91 = "Proceedings of the 23rd Annual {ACM} Symposium on
Theory of Computing ({STOC}'91)"}
@STRING{WSS01 = "Proceedings of the 5th International Workshop on
Self-Stabilizing Systems ({WSS} '01)"}
@STRING{SSS06 = "Proceedings of the 8th International Symposium on
Stabilization, Safety, and Security of Distributed
Systems ({SSS} '06)"}
@STRING{DSN00 = "Dependable Systems and Networks ({DSN} 2000)"}
@STRING{DSN05 = "Dependable Systems and Networks ({DSN} 2005)"}
@STRING{DSN06 = "Dependable Systems and Networks ({DSN} 2006)"}
@STRING{DSN07 = "Dependable Systems and Networks ({DSN} 2007)"}
%--- journals -----------------------------------------------------
@STRING{PPL = "Parallel Processing Letters"}
@STRING{IPL = "Information Processing Letters"}
@STRING{DC = "Distributed Computing"}
@STRING{JACM = "Journal of the ACM"}
@STRING{IC = "Information and Control"}
@STRING{TCS = "Theoretical Computer Science"}
@STRING{ACMTCS = "ACM Transactions on Computer Systems"}
@STRING{TDSC = "Transactions on Dependable and Secure Computing"}
@STRING{TPLS = "ACM Trans. Program. Lang. Syst."}
%--- publisher ----------------------------------------------------
@STRING{ACM = "ACM Press"}
@STRING{IEEE = "IEEE"}
@STRING{SPR = "Springer-Verlag"}
%--- institution --------------------------------------------------
@STRING{TUAuto = {Technische Universit\"at Wien, Department of
Automation}}
@STRING{TUECS = {Technische Universit\"at Wien, Embedded Computing
Systems Group}}
%------------------------------------------------------------------
@article{ABND+90:jacm,
author = {Hagit Attiya and Amotz Bar-Noy and Danny Dolev and
David Peleg and R{\"u}diger Reischuk},
title = {Renaming in an asynchronous environment},
journal = JACM,
volume = {37},
number = {3},
year = {1990},
pages = {524--548},
publisher = ACM,
address = {New York, NY, USA},
}
@article{ABND95:jacm,
author = {Hagit Attiya and Amotz Bar-Noy and Danny Dolev},
title = {Sharing memory robustly in message-passing systems},
journal = JACM,
volume = {42},
number = {1},
year = {1995},
pages = {124--142},
publisher = ACM,
address = {New York, NY, USA},
}
@inproceedings{ACKM04:podc,
author = {Ittai Abraham and Gregory Chockler and Idit Keidar
and Dahlia Malkhi},
title = {Byzantine disk paxos: optimal resilience with
byzantine shared memory.},
booktitle = PODC04,
year = {2004},
pages = {226-235}
}
@article{ACKM05:dc,
author = {Ittai Abraham and Gregory Chockler and Idit Keidar
and Dahlia Malkhi},
title = {Byzantine disk paxos: optimal resilience with
byzantine shared memory.},
journal = DC,
volume = {18},
number = {5},
year = {2006},
pages = {387-408}
}
@article{ACT00:dc,
author = "Marcos Kawazoe Aguilera and Wei Chen and Sam Toueg",
title = "Failure Detection and Consensus in the
Crash-Recovery Model",
journal = DC,
year = 2000,
month = apr,
volume = 13,
number = 2,
pages = "99--125",
url =
"http://www.cs.cornell.edu/home/sam/FDpapers/crash-recovery-finaldcversion.ps"
}
@article{ACT00:siam,
author = "Marcos Kawazoe Aguilera and Wei Chen and Sam Toueg",
title = "On quiescent reliable communication",
journal = "SIAM Journal of Computing",
year = 2000,
volume = 29,
number = 6,
pages = "2040--2073",
month = apr
}
@inproceedings{ACT97:wdag,
author = "Marcos Kawazoe Aguilera and Wei Chen and Sam Toueg",
title = "Heartbeat: A Timeout-Free Failure Detector for
Quiescent Reliable Communication",
booktitle = WDAG97,
year = 1997,
pages = "126--140",
url =
"http://simon.cs.cornell.edu/Info/People/weichen/research/mypapers/wdag97final.ps"
}
@article{ACT98:disc,
author = "Marcos Kawazoe Aguilera and Wei Chen and Sam Toueg",
title = "Failure Detection and Consensus in the
Crash-Recovery Model",
journal = DISC98,
year = 1998,
pages = "231--245",
publisher = SPR
}
@article{ACT99:tcs,
author = "Marcos Kawazoe Aguilera and Wei Chen and Sam Toueg",
title = "Using the Heartbeat Failure Detector for Quiescent
Reliable Communication and Consensus in
Partitionable Networks",
journal = "Theoretical Computer Science",
year = 1999,
month = jun,
volume = 220,
number = 1,
pages = "3--30",
url =
"http://www.cs.cornell.edu/home/sam/FDpapers/TCS98final.ps"
}
@inproceedings{ADGF+04:ispdc,
author = {Anceaume, Emmanuelle and Delporte-Gallet, Carole and
Fauconnier, Hugues and Hurfin, Michel and Le Lann,
G{\'e}rard },
title = {Designing Modular Services in the Scattered
Byzantine Failure Model.},
booktitle = {ISPDC/HeteroPar},
year = {2004},
pages = {262-269}
}
@inproceedings{ADGF+06:dsn,
author = {Marcos Kawazoe Aguilera and Carole Delporte-Gallet
and Hugues Fauconnier and Sam Toueg},
title = {Consensus with Byzantine Failures and Little System
Synchrony.},
booktitle = DSN06,
year = {2006},
pages = {147-155}
}
@inproceedings{ADGFT01:disc,
author = "Marcos Kawazoe Aguilera and Carole Delporte-Gallet
and Hugues Fauconnier and Sam Toueg",
title = "Stable Leader Election",
booktitle = DISC01,
year = 2001,
pages = "108--122",
publisher = SPR
}
@inproceedings{ADGFT03:podc,
author = "Marcos K. Aguilera and Carole Delporte-Gallet and
Hugues Fauconnier and Sam Toueg",
title = "On implementing {O}mega with weak reliability and
synchrony assumptions",
booktitle = PODC03,
year = 2003,
publisher = ACM
}
@inproceedings{ADGFT04:podc,
author = {Marcos K. Aguilera and Carole Delporte-Gallet and
Hugues Fauconnier and Sam Toueg},
title = {Communication-efficient leader election and
consensus with limited link synchrony},
booktitle = PODC04,
year = 2004,
pages = {328--337},
address = {St. John's, Newfoundland, Canada},
publisher = ACM
}
@inproceedings{ADGFT06:dsn,
author = {Marcos Kawazoe Aguilera and Carole Delporte-Gallet
and Hugues Fauconnier and Sam Toueg},
title = {Consensus with Byzantine Failures and Little System
Synchrony.},
booktitle = DSN06,
year = 2006,
pages = {147-155},
ee =
{http://doi.ieeecomputersociety.org/10.1109/DSN.2006.22},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
@inproceedings{ADLS91:stoc,
author = "Hagit Attiya and Cynthia Dwork and Nancy A. Lynch
and Larry J. Stockmeyer",
title = "Bounds on the Time to Reach Agreement in the
Presence of Timing Uncertainty",
booktitle = STOC91,
year = 1991,
pages = "359--369",
}
@article{AT99:ipl,
author = "Marcos Kawazoe Aguilera and Sam Toueg",
title = "A Simple Bivalency Proof that t -Resilient Consensus
Requires t + 1 Rounds",
journal = IPL,
volume = "71",
number = "3-4",
pages = "155--158",
year = "1999"
}
@Book{AW04:book,
author = {Attiya, Hagit and Welch, Jennifer},
title = {Distributed Computing},
publisher = {John Wiley {\&} Sons},
edition = {2nd},
year = {2004}
}
@Book{AW98:book,
author = {Hagit Attiya and Jennifer Welch},
title = {Distributed Computing},
publisher = {McGraw-Hill Publishing Company},
year = {1998}
}
@InBook{AW98:book:chap12,
author = {Hagit Attiya and Jennifer Welch},
title = {Distributed Computing},
publisher = {McGraw-Hill Publishing Company},
year = {1998},
chapter = {12, "Improving the fault-tolerance of algorithms"}
}
@inproceedings{ABHMS11:disc,
author = {Hagit Attiya and
Fatemeh Borran and
Martin Hutle and
Zarko Milosevic and
Andr{\'e} Schiper},
title = {Structured Derivation of Semi-Synchronous Algorithms},
booktitle = {DISC},
year = {2011},
pages = {374-388}
}
@inproceedings{BCBG+07:podc,
author = {Martin Biely and Bernadette Charron-Bost and Antoine
Gaillard and Martin Hutle and Andr{\'e} Schiper and
Josef Widder},
title = {Tolerating Corrupted Communication},
publisher = ACM,
booktitle = PODC07,
year = {2007}
}
@InProceedings{BCBT96:wdag,
author = {Anindya Basu and Bernadette Charron-Bost and Sam
Toueg},
title = {Simulating Reliable Links with Unreliable Links in
the Presence of Process Crashes},
pages = {105--122},
booktitle = {WDAG 1996},
editor = {Babao{\u g}lu, {\"O}zalp},
year = {1996},
month = {Oct},
volume = {1151},
ISBN = {3-540-61769-8},
pubisher = {Springer},
series = {Lecture Notes in Computer Science},
}
@article{BDFG03:sigact,
author = "R. Boichat and P. Dutta and S. Frolund and
R. Guerraoui",
title = "Reconstructing {P}axos",
journal = "ACM SIGACT News",
year = "2003",
volume = "34",
number = "1",
pages = "47-67"
}
@unpublished{BHR+06:note,
author = "Martin Biely and Martin Hutle and Sergio Rajsbaum
and Ulrich Schmid and Corentin Travers and Josef
Widder",
title = "Discussion note on moving timely links",
note = "Unpublished",
month = apr,
year = 2006
}
@article{BHRT03:jda,
author = {Roberto Baldoni and Jean-Michel H{\'e}lary and
Michel Raynal and L{\'e}naick Tanguy},
title = {Consensus in Byzantine asynchronous systems.},
journal = {J. Discrete Algorithms},
volume = {1},
number = {2},
year = {2003},
pages = {185-210},
ee = {http://dx.doi.org/10.1016/S1570-8667(03)00025-X},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
@unpublished{BHSS08:tdsc,
author = {Fatemeh Borran and Martin Hutle and Nuno Santos and
Andr{\'e} Schiper},
title = {Solving Consensus with Communication Predicates:
A~Quantitative Approach},
note = {Under submission},
year = {2008}
}
@inproceedings{Ben83:podc,
author = {Michael Ben-Or},
title = {Another Advantage of Free Choice: Completely
Asynchronous Agreement Protocols},
booktitle = {PODC},
year = {1983},
}
@inproceedings{Bra04:podc,
author = {Bracha, Gabriel},
title = {An asynchronous [(n - 1)/3]-resilient consensus protocol},
booktitle = {PODC '84: Proceedings of the third annual ACM symposium on Principles of distributed computing},
year = {1984},
isbn = {0-89791-143-1},
pages = {154--162},
location = {Vancouver, British Columbia, Canada},
doi = {http://doi.acm.org/10.1145/800222.806743},
publisher = {ACM},
address = {New York, NY, USA},
}
@inproceedings{CBGS00:dsn,
author = "Bernadette Charron-Bost and Rachid Guerraoui and
Andr{\'{e}} Schiper",
title = "Synchronous System and Perfect Failure Detector:
{S}olvability and efficiency issues",
booktitle = DSN00,
publisher = "{IEEE} Computer Society",
address = "New York, {USA}",
pages = "523--532",
year = "2000"
}
@inproceedings{CBS06:prdc,
author = {Bernadette Charron-Bost and Andr{\'e} Schiper},
title = {Improving Fast Paxos: being optimistic with no
overhead},
booktitle = {Pacific Rim Dependable Computing, Proceedings},
year = {2006}
}
@article{CBS09,
author = {B. Charron-Bost and A. Schiper},
title = {The {H}eard-{O}f model: computing in distributed systems with benign failures},
journal ={Distributed Computing},
number = {1},
volume = {22},
pages = {49-71},
year ={2009}
}
@article{CBS07:sigact,
author = {Bernadette Charron-Bost and Andr\'{e} Schiper},
title = {Harmful dogmas in fault tolerant distributed
computing},
journal = {SIGACT News},
volume = {38},
number = {1},
year = {2007},
pages = {53--61},
}
@techreport{CBS07:tr,
author = {Charron-Bost, Bernadette and Schiper, Andr{\'{e}}},
title = {The Heard-Of Model: Unifying all Benign Failures},
institution = {EPFL},
year = 2007,
OPTnumber = {LSR-REPORT-2006-004}
}
@article{CELT00:jacm,
author = {Soma Chaudhuri and Maurice Erlihy and Nancy A. Lynch
and Mark R. Tuttle},
title = {Tight bounds for k-set agreement},
journal = JACM,
volume = {47},
number = {5},
year = {2000},
pages = {912--943},
publisher = ACM,
address = {New York, NY, USA},
}
@article{CF99:tpds,
author = "Flaviu Cristian and Christof Fetzer",
title = "The Timed Asynchronous Distributed System Model",
journal = "IEEE Transactions on Parallel and Distributed
Systems",
volume = "10",
number = "6",
pages = "642--657",
year = "1999"
}
@article{CHT96:jacm,
author = "Tushar Deepak Chandra and Vassos Hadzilacos and Sam
Toueg",
title = "The Weakest Failure Detector for Solving Consensus",
journal = {JACM},
year = {1996},
}
@article{CL02:tcs,
author = {Miguel Castro and Barbara Liskov},
title = {Practical byzantine fault tolerance and proactive
recovery},
journal = {ACMTCS},
year = {2002},
}
@inproceedings{CL99:osdi,
author = {Miguel Castro and Barbara Liskov},
title = {Practical byzantine fault tolerance and proactive
recovery},
booktitle = {Proceedings of the 3rd Symposium on Operating
Systems Design and Implementation},
year = {1999},
month = feb
}
@inproceedings{CT91:podc,
author = {Tushar Deepak Chandra and Sam Toueg},
title = {Unreliable Failure Detectors for Asynchronous
Systems (Preliminary Version)},
booktitle = PODC91,
year = {1991},
pages = {325-340}
}
@article{CT96:jacm1,
author = "Tushar Deepak Chandra and Sam Toueg",
title = "Unreliable Failure Detectors for Reliable
Distributed Systems",
journal = {JACM},
year = {1996},
}
@inproceedings{CTA00:dsn,
author = "Wei Chen and Sam Toueg and Marcos Kawazoe Aguilera",
title = "On the Quality of Service of Failure Detectors",
booktitle = "Proceedings IEEE International Conference on
Dependable Systems and Networks (DSN / FTCS'30)",
address = "New York City, USA",
year = 2000
}
@TechReport{DFKM96:tr,
author = {Danny Dolev and Roy Friedman and Idit Keidar and
Dahlia Malkhi},
title = {Failure detectors in omission failure environments},
institution = {Department of Computer Science, Cornell University},
year = {1996},
type = {Technical Report},
number = {96-1608}
}
@inproceedings{DG02:podc,
author = {Partha Dutta and Rachid Guerraoui},
title = {The inherent price of indulgence},
booktitle = PODC02,
year = 2002,
pages = {88--97},
location = {Monterey, California},
publisher = ACM,
address = {New York, NY, USA},
}
@inproceedings{DGFG+04:podc,
author = {Carole Delporte-Gallet and Hugues Fauconnier and
Rachid Guerraoui and Vassos Hadzilacos and Petr
Kouznetsov and Sam Toueg},
title = {The weakest failure detectors to solve certain
fundamental problems in distributed computing},
booktitle = PODC04,
year = 2004,
pages = {338--346},
location = {St. John's, Newfoundland, Canada},
publisher = ACM,
address = {New York, NY, USA}
}
@inproceedings{DGL05:dsn,
author = {Partha Dutta and Rachid Guerraoui and Leslie
Lamport},
title = {How Fast Can Eventual Synchrony Lead to Consensus?},
booktitle = {Proceedings of the 2005 International Conference on
Dependable Systems and Networks (DSN'05)},
pages = {22--27},
year = {2005},
address = {Los Alamitos, CA, USA}
}
@article{DLS88:jacm,
author = "Cynthia Dwork and Nancy Lynch and Larry Stockmeyer",
title = "Consensus in the Presence of Partial Synchrony",
journal = {JACM},
year = {1988},
}
@article{DPLL00:tcs,
author = "De Prisco, Roberto and Butler Lampson and Nancy
Lynch",
title = "Revisiting the {PAXOS} algorithm",
journal = TCS,
volume = "243",
number = "1--2",
pages = "35--91",
year = "2000"
}
@techreport{DS97:tr,
author = {A. Doudou and A. Schiper},
title = {Muteness Failure Detectors for Consensus with
{B}yzantine Processes},
institution = {EPFL, Dept d'Informatique},
year = {1997},
type = {TR},
month = {October},
number = {97/230},
}
@inproceedings{DS98:podc,
author = {A. Doudou and A. Schiper},
title = {Muteness Detectors for Consensus with {B}yzantine
Processes ({B}rief {A}nnouncement)},
booktitle = {PODC},
month = jul,
year = {1998}
}
@article{DSU04:survey,
author = {D{\'e}fago, Xavier and Schiper, Andr{\'e} and Urb\'{a}n, P{\'e}ter},
title = {Total order broadcast and multicast algorithms: Taxonomy and survey},
journal = {ACM Comput. Surv.},
issue_date = {December 2004},
volume = {36},
number = {4},
month = dec,
year = {2004},
issn = {0360-0300},
pages = {372--421},
numpages = {50},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {Distributed systems, agreement problems, atomic broadcast, atomic multicast, classification, distributed algorithms, fault-tolerance, global ordering, group communication, message passing, survey, taxonomy, total ordering},
}
@article{DeCandia07:dynamo,
author = {DeCandia, Giuseppe and Hastorun, Deniz and Jampani, Madan and Kakulapati, Gunavardhan and Lakshman, Avinash and Pilchin, Alex and Sivasubramanian, Swaminathan and Vosshall, Peter and Vogels, Werner},
title = {Dynamo: amazon's highly available key-value store},
journal = {SIGOPS Oper. Syst. Rev.},
issue_date = {December 2007},
volume = {41},
number = {6},
month = oct,
year = {2007},
issn = {0163-5980},
pages = {205--220},
numpages = {16},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {performance, reliability, scalability},
}
@book{Dol00:book,
author = {Shlomi Dolev},
title = {Self-Stabilization},
publisher = {The MIT Press},
year = {2000}
}
@inproceedings{FC95:podc,
author = "Christof Fetzer and Flaviu Cristian",
title = "Lower Bounds for Convergence Function Based Clock
Synchronization",
booktitle = PODC95,
year = 1995,
pages = "137--143"
}
@article{FLP85:jacm,
author = "Michael J. Fischer and Nancy A. Lynch and
M. S. Paterson",
title = "Impossibility of Distributed Consensus with one
Faulty Process",
journal = {JACM},
year = {1985},
}
@article{FMR05:tdsc,
author = {Roy Friedman and Achour Most{\'e}faoui and Michel
Raynal},
title = {Simple and Efficient Oracle-Based Consensus
Protocols for Asynchronous Byzantine Systems.},
journal = TDSC,
volume = {2},
number = {1},
year = {2005},
pages = {46-56},
ee = {http://dx.doi.org/10.1109/TDSC.2005.13},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
@inproceedings{FS04:podc,
author = "Christof Fetzer and Ulrich Schmid",
title = "Brief announcement: on the possibility of consensus
in asynchronous systems with finite average response
times.",
booktitle = PODC04,
year = 2004,
pages = 402
}
@InProceedings{GL00:disc,
author = {Eli Gafni and Lesli Lamport},
title = {Disk Paxos},
booktitle = DISC00,
pages = {330--344},
year = {2000},
}
@Article{GL03:dc,
author = {Eli Gafni and Lesli Lamport},
title = {Disk Paxos},
journal = DC,
year = 2003,
volume = {16},
number = {1},
pages = {1--20}
}
@inproceedings{GP01:wss,
author = "Felix C. G{\"a}rtner and Stefan Pleisch",
title = "({I}m)Possibilities of Predicate Detection in
Crash-Affected Systems",
booktitle = WSS01,
year = 2001,
pages = "98--113"
}
@inproceedings{GP02:disc,
author = "Felix C. G{\"a}rtner and Stefan Pleisch",
title = "Failure Detection Sequencers: Necessary and
Sufficient Information about Failures to Solve
Predicate Detection",
booktitle = DISC02,
year = 2002,
pages = "280--294"
}
@inproceedings{GS96:wdag,
author = {Rachid Guerraoui and Andr{\'e} Schiper},
title = {{``Gamma-Accurate''} Failure Detectors},
booktitle = WDAG96,
year = {1996},
pages = {269--286},
publisher = SPR,
address = {London, UK}
}
@inproceedings{Gaf98:podc,
author = {Eli Gafni},
title = {Round-by-round fault detectors (extended abstract):
unifying synchrony and asynchrony},
booktitle = PODC98,
year = {1998},
pages = {143--152},
address = {Puerto Vallarta, Mexico},
publisher = ACM
}
@incollection{Gra78:book,
author = {Jim N. Gray},
title = {Notes on data base operating systems},
booktitle = {Operating Systems: An Advanced Course},
chapter = {3.F},
publisher = {Springer},
year = {1978},
editor = {R. Bayer, R.M. Graham, G. Seegm\"uller},
volume = {60},
series = {Lecture Notes in Computer Science},
address = {New York},
pages = {465},
}
@InProceedings{HMR98:srds,
author = {Hurfin, M. and Mostefaoui, A. and Raynal, M.},
title = {Consensus in asynchronous systems where processes
can crash and recover},
booktitle = {Seventeenth IEEE Symposium on Reliable Distributed
Systems, Proceedings. },
pages = { 280--286},
year = {1998},
address = {West Lafayette, IN},
month = oct,
organization = {IEEE}
}
@inproceedings{HMSZ06:sss,
author = "Martin Hutle and Dahlia Malkhi and Ulrich Schmid and
Lidong Zhou",
title = "Brief Announcement: Chasing the Weakest System Model
for Implementing {$\Omega$} and Consensus",
booktitle = SSS06,
year = 2006
}
@incollection{HT93:ds,
author = {Hadzilacos, Vassos and Toueg, Sam},
title = {Fault-tolerant broadcasts and related problems},
booktitle = {Distributed systems (2nd Ed.)},
editor = {Mullender, Sape},
year = {1993},
isbn = {0-201-62427-3},
pages = {97--145},
numpages = {49}
}
@inproceedings{HS06:opodis,
author = {Heinrich Moser and Ulrich Schmid},
title = {Optimal Clock Synchronization Revisited: Upper and
Lower Bounds in Real-Time Systems},
booktitle = { Principles of Distributed Systems},
pages = {94--109},
year = {2006},
volume = {4305},
series = {Lecture Notes in Computer Science},
publisher = SPR
}
@techreport{HS06:tr,
author = {Martin Hutle and Andr{\'e} Schiper},
title = { Communication predicates: A high-level abstraction
for coping with transient and dynamic faults},
institution = {EPFL},
number = { LSR-REPORT-2006-006 },
year = {2006}
}
@inproceedings{HS07:dsn,
author = {Martin Hutle and Andr{\'e} Schiper},
title = { Communication predicates: A high-level abstraction
for coping with transient and dynamic faults},
year = 2007,
booktitle = DSN07,
publisher = IEEE,
location = {Edinburgh,UK},
pages = {92--10},
month = jun
}
@article{Her91:tpls,
author = {Maurice Herlihy},
title = {Wait-free synchronization},
journal = TPLS,
volume = {13},
number = {1},
year = {1991},
pages = {124--149},
publisher = ACM,
address = {New York, NY, USA},
}
@article{Kot09:zyzzyva,
author = {Kotla, Ramakrishna and Alvisi, Lorenzo and Dahlin, Mike and Clement, Allen and Wong, Edmund},
title = {Zyzzyva: Speculative Byzantine fault tolerance},
journal = {ACM Trans. Comput. Syst.},
issue_date = {December 2009},
volume = {27},
number = {4},
month = jan,
year = {2010},
issn = {0734-2071},
pages = {7:1--7:39},
articleno = {7},
numpages = {39},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {Byzantine fault tolerance, output commit, replication, speculative execution},
}
@inproceedings{KMMS97:opodis,
author = "Kim Potter Kihlstrom and Louise E. Moser and
P. M. Melliar-Smith",
title = "Solving Consensus in a Byzantine Environment Using
an Unreliable Fault Detector",
booktitle = "Proceedings of the International Conference on
Principles of Distributed Systems (OPODIS)",
year = 1997,
month = dec,
address = "Chantilly, France",
pages = "61--75"
}
@inproceedings{KS06:podc,
author = {Idit Keidar and Alexander Shraer},
title = {Timeliness, failure-detectors, and consensus
performance},
booktitle = PODC06,
year = {2006},
pages = {169--178},
location = {Denver, Colorado, USA},
publisher = {ACM Press},
address = {New York, NY, USA},
}
@InProceedings{LFA99:disc,
author = {Mikel Larrea and Antonio Fern\'andez and Sergio
Ar\'evalo},
title = {Efficient algorithms to implement unreliable failure
detectors in partially synchronous systems},
year = 1999,
month = sep,
pages = {34-48},
series = "LNCS 1693",
booktitle = DISC99,
publisher = SPR,
address = {Bratislava, Slovaquia},
}
@article{LL84:ic,
author = "Jennifer Lundelius and Nancy A. Lynch",
title = "An Upper and Lower Bound for Clock Synchronization",
journal = IC,
volume = 62,
number = {2/3},
year = 1984,
pages = {190--204}
}
@techreport{LLS03:tr,
title = {How to Implement a Timer-free Perfect Failure
Detector in Partially Synchronous Systems},
author = {Le Lann, G\'erard and Schmid, Ulrich},
institution = TUAuto,
number = "183/1-127",
month = jan,
year = 2003
}
@article{LSP82:tpls,
author = {Leslie Lamport and Robert Shostak and Marshall
Pease},
title = {The {B}yzantine Generals Problem},
journal = {ACM Trans. Program. Lang. Syst.},
year = {1982},
}
@inproceedings{Lam01:podc,
author = {Butler Lampson},
title = {The ABCD's of Paxos},
booktitle = {PODC},
year = {2001},
}
@inproceedings{Lam03:fddc,
author = {Leslie Lamport},
title = {Lower Bounds for Asynchronous Consensus},
booktitle = {Future Directions in Distributed Computing},
pages = {22--23},
year = {2003},
editor = {Andr{\'e} Schiper and Alex A. Shvartsman and Hakim
Weatherspoon and Ben Y. Zhao},
number = {2584},
series = {Lecture Notes in Computer Science},
publisher = SPR
}
@techreport{Lam04:tr,
author = {Leslie Lamport},
title = {Lower Bounds for Asynchronous Consensus},
institution = {Microsoft Research},
year = {2004},
number = {MSR-TR-2004-72}
}
@techreport{Lam05:tr,
author = {Leslie Lamport},
title = {Fast Paxos},
institution = {Microsoft Research},
year = {2005},
number = {MSR-TR-2005-12}
}
@techreport{Lam05:tr-33,
author = {Leslie Lamport},
title = {Generalized Consensus and Paxos},
institution = {Microsoft Research},
year = {2005},
number = {MSR-TR-2005-33}
}
@Misc{Lam06:slides,
author = {Leslie Lamport},
title = {Byzantine Paxos},
howpublished = {Unpublished slides},
year = {2006}
}
@Article{Lam86:dc,
author = {Lesli Lamport},
title = {On Interprocess Communication--Part I: Basic
Formalism, Part II: Algorithms},
journal = DC,
year = 1986,
volume = 1,
number = 2,
pages = {77--101}
}
@Article {Lam98:tcs,
author = {Leslie Lamport},
title = {The part-time parliament},
journal = ACMTCS,
year = 1998,
volume = 16,
number = 2,
month = may,
pages = {133-169},
}
@book{Lyn96:book,
author = {Nancy Lynch},
title = {Distributed Algorithms},
publisher = {Morgan Kaufman},
year = {1996},
}
@inproceedings{MA05:dsn,
author = {Martin, J.-P. and Alvisi, L. },
title = {Fast Byzantine consensus},
booktitle = DSN05,
pages = {402--411},
year = {2005},
month = jun,
organization = {IEEE},
}
@article{MA06:tdsc,
author = {Martin, J.-P. and Alvisi, L. },
title = {Fast {B}yzantine Consensus},
journal = {TDSC},
year = {2006},
}
@InProceedings{MOZ05:dsn,
author = {Dahlia Malkhi and Florin Oprea and Lidong Zhou},
title = {{$\Omega$} Meets Paxos: Leader Election and
Stability without Eventual Timely Links},
booktitle = DSN05,
year = {2005}
}
@inproceedings{MR00:podc,
author = "Achour Most{\'e}faoui and Michel Raynal",
title = "k-set agreement with limited accuracy failure
detectors",
booktitle = PODC00,
year = 2000,
pages = {143--152},
location = {Portland, Oregon, United States},
publisher = ACM
}
@article{MR01:ppl,
author = "Achour Most{\'e}faoui and Michel Raynal",
title = "Leader-Based Consensus",
journal = PPL,
volume = 11,
number = 1,
year = 2001,
pages = {95--107}
}
@techreport{OGS97:tr,
author = "Rui Oliveira and Rachid Guerraoui and {Andr\'e}
Schiper",
title = "Consensus in the crash-recover model",
number = "TR-97/239",
year = "1997"
}
@article{PSL80:jacm,
author = {M. Pease and R. Shostak and L. Lamport},
title = {Reaching Agreement in the Presence of Faults},
journal = JACM,
volume = {27},
number = {2},
year = {1980},
pages = {228--234},
publisher = ACM,
address = ACMADDR,
}
@article{ST87:jacm,
author = "T. K. Srikanth and Sam Toueg",
title = "Optimal clock synchronization",
journal = JACM,
volume = 34,
number = 3,
year = 1987,
pages = "626--645"
}
@article{ST87:dc,
author = {T. K. Srikanth and Sam Toueg,},
title = {Simulating authenticated broadcasts to derive simple fault-tolerant algorithms},
journal = DC,
volume = {2},
number = {2},
year = {1987},
pages = {80-94}
}
@inproceedings{SW89:stacs,
author = {Santoro, Nicola and Widmayer, Peter},
title = {Time is not a healer},
booktitle = {Proc.\ 6th Annual Symposium on Theor.\ Aspects of
Computer Science (STACS'89)},
publisher = "Springer-Verlag",
series = {LNCS},
volume = "349",
address = "Paderborn, Germany",
pages = "304-313",
year = "1989",
month = feb,
}
@inproceedings{SW90:sigal,
author = {Nicola Santoro and Peter Widmayer},
title = {Distributed Function Evaluation in the Presence of
Transmission Faults.},
booktitle = {SIGAL International Symposium on Algorithms},
year = {1990},
pages = {358-367}
}
@inproceedings{SWR02:icdcs,
author = {Ulrich Schmid and Bettina Weiss and John Rushby},
title = {Formally Verified Byzantine Agreement in Presence of
Link Faults},
booktitle = "22nd International Conference on Distributed
Computing Systems (ICDCS'02)",
year = 2002,
month = jul # " 2-5, ",
pages = "608--616",
address = "Vienna, Austria",
}
@incollection{Sch93a:mullender,
Author = {F. B. Schneider},
Title = {What Good are Models and What Models are Good},
BookTitle = {Distributed Systems},
Year = {1993},
Editor = {Sape Mullender},
Publisher = {ACM Press},
Pages = {169-197},
}
@article{VL96:ic,
author = {George Varghese and Nancy A. Lynch},
title = {A Tradeoff Between Safety and Liveness for
Randomized Coordinated Attack.},
journal = {Inf. Comput.},
volume = {128},
number = {1},
year = 1996,
pages = {57--71}
}
@inproceedings{WGWB07:dsn,
title = {Synchronous Consensus with Mortal Byzantines},
author = {Josef Widder and Günther Gridling and Bettina Weiss
and Jean-Paul Blanquart},
year = {2007},
booktitle = DSN07,
publisher = IEEE
}
@inproceedings{Wid03:disc,
author = {Josef Widder},
title = {Booting clock Synchronization in Partially
Synchronous Systems},
booktitle = DISC03,
year = {2003},
pages = {121--135}
}
@techreport{Zie04:tr,
author = {Piotr Zieli{\'n}ski},
title = {Paxos at War},
institution = {University of Cambridge},
year = {2004},
number = {UCAM-CL-TR-593},
}
@article{Lam78:cacm,
author = {Leslie Lamport},
title = {Time, clocks, and the ordering of events in a
distributed system},
journal = {Commun. ACM},
year = {1978},
}
@Article{Gue06:cj,
author = {Guerraoui, R. and Raynal, M.},
journal = {The {C}omputer {J}ournal},
title = {The {A}lpha of {I}ndulgent {C}onsensus},
year = {2006}
}
@Article{Gue03:toc,
affiliation = {EPFL},
author = {Guerraoui, Rachid and Raynal, Michel},
journal = {{IEEE} {T}rans. on {C}omputers},
title = {The {I}nformation {S}tructure of {I}ndulgent {C}onsensus},
year = {2004},
}
@techreport{Cas00,
author = {Castro, Miguel},
title = {Practical {B}yzantine Fault-Tolerance. {PhD} thesis},
institution = {MIT},
year = 2000,
}
@inproceedings{SongRSD08:icdcn,
author = {Yee Jiun Song and
Robbert van Renesse and
Fred B. Schneider and
Danny Dolev},
title = {The Building Blocks of Consensus},
booktitle = {ICDCN},
year = {2008},
}
@inproceedings{BS09:icdcn,
author = {Borran, Fatemeh and Schiper, Andr{\'e}},
title = {A {L}eader-free {B}yzantine {C}onsensus {A}lgorithm},
note = {To appear in ICDCN, 2010},
}
@inproceedings{MHS09:opodis,
author = {Zarko Milosevic and Martin Hutle and Andr{\'e}
Schiper},
title = {Unifying {B}yzantine Consensus Algorithms with {W}eak
{I}nteractive {C}onsistency},
note = {To appear in OPODIS 2009},
}
@inproceedings{MRR:dsn02,
author = {Most\'{e}faoui, Achour and Rajsbaum, Sergio and Raynal, Michel},
title = {A Versatile and Modular Consensus Protocol},
booktitle = {DSN},
year = {2002},
}
@article{MR98:dc,
author = {Dahlia Malkhi and
Michael K. Reiter},
title = {Byzantine Quorum Systems},
journal = {Distributed Computing},
year = {1998},
}
@inproceedings{Rei:ccs94,
author = {Reiter, Michael K.},
title = {Secure agreement protocols: reliable and atomic group multicast in rampart},
booktitle = {CCS},
year = {1994},
pages = {68--80},
numpages = {13}
}
@techreport{RMS09-tr,
author = {Olivier R\"utti and Zarko Milosevic and Andr\'e Schiper},
title = {{G}eneric construction of consensus algorithm for benign and {B}yzantine faults},
institution = {EPFL-IC},
number = {LSR-REPORT-2009-005},
year = 2009,
}
@inproceedings{Li:srds07,
author = {Li, Harry C. and Clement, Allen and Aiyer, Amitanand S. and Alvisi, Lorenzo},
title = {The Paxos Register},
booktitle = {SRDS},
year = {2007},
}
@article{Amir11:prime,
author = {Amir, Yair and Coan, Brian and Kirsch, Jonathan and Lane, John},
title = {Prime: Byzantine Replication under Attack},
journal = {IEEE Trans. Dependable Secur. Comput.},
issue_date = {July 2011},
volume = {8},
number = {4},
month = jul,
year = {2011},
issn = {1545-5971},
pages = {564--577},
numpages = {14},
publisher = {IEEE Computer Society Press},
address = {Los Alamitos, CA, USA},
keywords = {Performance under attack, Byzantine fault tolerance, replicated state machines, distributed systems.},
}
@inproceedings{Mao08:mencius,
author = {Mao, Yanhua and Junqueira, Flavio P. and Marzullo, Keith},
title = {Mencius: building efficient replicated state machines for WANs},
booktitle = {OSDI},
year = {2008},
pages = {369--384},
numpages = {16}
}
@article{Sch90:survey,
author = {Schneider, Fred B.},
title = {Implementing fault-tolerant services using the state machine approach: a tutorial},
journal = {ACM Comput. Surv.},
volume = {22},
number = {4},
month = dec,
year = {1990}
}
@techreport{HT94:TR,
author = {Hadzilacos, Vassos and Toueg, Sam},
title = {A Modular Approach to Fault-Tolerant Broadcasts and Related Problems},
year = {1994},
source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Acornellcs%3ACORNELLCS%3ATR94-1425},
publisher = {Cornell University},
address = {Ithaca, NY, USA},
}
@inproceedings{Ver09:spinning,
author = {Veronese, Giuliana Santos and Correia, Miguel and Bessani, Alysson Neves and Lung, Lau Cheuk},
title = {Spin One's Wheels? Byzantine Fault Tolerance with a Spinning Primary},
booktitle = {SRDS},
year = {2009},
numpages = {10}
}
@inproceedings{Cle09:aardvark,
author = {Clement, Allen and Wong, Edmund and Alvisi, Lorenzo and Dahlin, Mike and Marchetti, Mirco},
title = {Making Byzantine fault tolerant systems tolerate Byzantine faults},
booktitle = {NSDI},
year = {2009},
pages = {153--168},
numpages = {16}
}
@inproceedings{Aiyer05:barB,
author = {Aiyer, Amitanand S. and Alvisi, Lorenzo and Clement, Allen and Dahlin, Mike and Martin, Jean-Philippe and Porth, Carl},
title = {BAR fault tolerance for cooperative services},
booktitle = {SOSP},
year = {2005},
pages = {45--58},
numpages = {14}
}
@inproceedings{Cach01:crypto,
author = {Cachin, Christian and Kursawe, Klaus and Petzold, Frank and Shoup, Victor},
title = {Secure and Efficient Asynchronous Broadcast Protocols},
booktitle = {CRYPTO},
year = {2001},
pages = {524--541},
numpages = {18}
}
@article{Moniz11:ritas,
author = {Moniz, Henrique and Neves, Nuno Ferreria and Correia, Miguel and Verissimo, Paulo},
title = {RITAS: Services for Randomized Intrusion Tolerance},
journal = {IEEE Trans. Dependable Secur. Comput.},
volume = {8},
number = {1},
month = jan,
year = {2011},
pages = {122--136},
numpages = {15}
}
@inproceedings{MHS11:jabc,
author = {Milosevic, Zarko and Hutle, Martin and Schiper, Andre},
title = {On the Reduction of Atomic Broadcast to Consensus with Byzantine Faults},
booktitle = {SRDS},
year = {2011},
pages = {235--244},
numpages = {10}
}
@incollection{DHSZ03,
author={Driscoll, Kevin and Hall, Brendan and Sivencrona, Håkan and Zumsteg, Phil},
title={Byzantine Fault Tolerance, from Theory to Reality},
year={2003},
booktitle={Computer Safety, Reliability, and Security},
volume={2788},
pages={235--248}
}
@inproceedings{RMES:dsn07,
author = {Olivier R{\"u}tti and
Sergio Mena and
Richard Ekwall and
Andr{\'e} Schiper},
title = {On the Cost of Modularity in Atomic Broadcast},
booktitle = {DSN},
year = {2007},
pages = {635-644}
}
@article{Ben:jc92,
author = {Charles H. Bennett and
Fran\c{c}ois Bessette and
Gilles Brassard and
Louis Salvail and
John A. Smolin},
title = {Experimental Quantum Cryptography},
journal = {J. Cryptology},
volume = {5},
number = {1},
year = {1992},
pages = {3-28}
}
@inproceedings{Aiyer:disc08,
author = {Aiyer, Amitanand S. and Alvisi, Lorenzo and Bazzi, Rida A. and Clement, Allen},
title = {Matrix Signatures: From MACs to Digital Signatures in Distributed Systems},
booktitle = {DISC},
year = {2008},
pages = {16--31},
numpages = {16}
}
@inproceedings{Biel13:dsn,
author = {Biely, Martin and Delgado, Pamela and Milosevic, Zarko and Schiper, Andr{\'e}},
title = {Distal: A Framework for Implementing Fault-tolerant Distributed Algorithms},
note = {To appear in DSN, 2013},
year = 2013
}
@inproceedings{BS10:icdcn,
author = {Borran, Fatemeh and Schiper, Andr{\'e}},
title = {A leader-free Byzantine consensus algorithm},
booktitle = {ICDCN},
year = {2010},
pages = {67--78},
numpages = {12}
}
@article{Cor06:cj,
author = {Correia, Miguel and Neves, Nuno Ferreira and Ver\'{\i}ssimo, Paulo},
title = {From Consensus to Atomic Broadcast: Time-Free Byzantine-Resistant Protocols without Signatures},
journal = {Comput. J.},
volume = {49},
number = {1},
year = {2006},
pages = {82--96},
numpages = {15}
}
@inproceedings{RMS10:dsn,
author = {Olivier R{\"u}tti and
Zarko Milosevic and
Andr{\'e} Schiper},
title = {Generic construction of consensus algorithms for benign
and Byzantine faults},
booktitle = {DSN},
year = {2010},
pages = {343-352}
}
@inproceedings{HKJR:usenix10,
author = {Hunt, Patrick and Konar, Mahadev and Junqueira, Flavio P. and Reed, Benjamin},
title = {ZooKeeper: wait-free coordination for internet-scale systems},
OPTbooktitle = {Proceedings of the 2010 USENIX conference on USENIX annual technical conference},
booktitle = {USENIXATC},
year = {2010},
OPTlocation = {Boston, MA},
pages = {11},
numpages = {1},
OPTurl = {http://dl.acm.org/citation.cfm?id=1855840.1855851},
acmid = {1855851},
OPTpublisher = {USENIX Association},
OPTaddress = {Berkeley, CA, USA},
}
@inproceedings{Bur:osdi06,
author = {Burrows, Mike},
title = {The Chubby lock service for loosely-coupled distributed systems},
booktitle = {OSDI},
year = {2006},
pages = {335--350},
numpages = {16},
}
@INPROCEEDINGS{Mao09:hotdep,
author = {Yanhua Mao and Flavio P. Junqueira and Keith Marzullo},
title = {Towards low latency state machine replication for uncivil wide-area networks},
booktitle = {HotDep},
year = {2009}
}
@inproceedings{Chun07:a2m,
author = {Chun, Byung-Gon and Maniatis, Petros and Shenker, Scott and Kubiatowicz, John},
title = {Attested append-only memory: making adversaries stick to their word},
booktitle = {SOSP},
year = {2007},
pages = {189--204},
numpages = {16}
}
@TECHREPORT{MBS:epfltr,
author = {Zarko Milosevic and Martin Biely and Andr\'e Schiper},
title = {Bounded {D}elay in {B}yzantine {T}olerant {S}tate {M}achine {R}eplication},
year = 2013,
month = april,
institution = {EPFL},
number = {185962},
}
@book{BH09:datacenter,
author = {Barroso, Luiz Andre and Hoelzle, Urs},
title = {The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines},
year = {2009},
isbn = {159829556X, 9781598295566},
edition = {1st},
publisher = {Morgan and Claypool Publishers},
}
@inproceedings{Kir11:csiirw,
author = {Kirsch, Jonathan and Goose, Stuart and Amir, Yair and Skare, Paul},
title = {Toward survivable SCADA},
booktitle = {CSIIRW},
year = {2011},
pages = {21:1--21:1},
articleno = {21},
numpages = {1}
}
@inproceedings{Ongaro14:raft,
author = {Ongaro, Diego and Ousterhout, John},
title = {In Search of an Understandable Consensus Algorithm},
booktitle = {Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference},
series = {USENIX ATC'14},
year = {2014},
isbn = {978-1-931971-10-2},
location = {Philadelphia, PA},
pages = {305--320},
numpages = {16},
url = {http://dl.acm.org/citation.cfm?id=2643634.2643666},
acmid = {2643666},
publisher = {USENIX Association},
address = {Berkeley, CA, USA},
}
@article{GLR17:red-belly-bc,
author = {Tyler Crain and
Vincent Gramoli and
Mikel Larrea and
Michel Raynal},
title = {Leader/Randomization/Signature-free Byzantine Consensus for Consortium
Blockchains},
journal = {CoRR},
volume = {abs/1702.03068},
year = {2017},
url = {http://arxiv.org/abs/1702.03068},
archivePrefix = {arXiv},
eprint = {1702.03068},
timestamp = {Wed, 07 Jun 2017 14:41:08 +0200},
biburl = {http://dblp.org/rec/bib/journals/corr/CrainGLR17},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
@misc{Nak2012:bitcoin,
added-at = {2014-04-17T08:33:06.000+0200},
author = {Nakamoto, Satoshi},
biburl = {https://www.bibsonomy.org/bibtex/23db66df0fc9fa2b5033f096a901f1c36/ngnn},
interhash = {423c2cdff70ba0cd0bca55ebb164d770},
intrahash = {3db66df0fc9fa2b5033f096a901f1c36},
keywords = {imported},
timestamp = {2014-04-17T08:33:06.000+0200},
title = {Bitcoin: A peer-to-peer electronic cash system},
url = {http://www.bitcoin.org/bitcoin.pdf},
year = 2009
}
@misc{But2014:ethereum,
author = {Vitalik Buterin},
title = {Ethereum: A next-generation smart contract and decentralized application platform},
year = {2014},
howpublished = {\url{https://github.com/ethereum/wiki/wiki/White-Paper}},
note = {Accessed: 2018-07-11},
url = {https://github.com/ethereum/wiki/wiki/White-Paper},
}
@inproceedings{Dem1987:gossip,
author = {Demers, Alan and Greene, Dan and Hauser, Carl and Irish, Wes and Larson, John and Shenker, Scott and Sturgis, Howard and Swinehart, Dan and Terry, Doug},
title = {Epidemic Algorithms for Replicated Database Maintenance},
booktitle = {Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing},
series = {PODC '87},
year = {1987},
isbn = {0-89791-239-X},
location = {Vancouver, British Columbia, Canada},
pages = {1--12},
numpages = {12},
url = {http://doi.acm.org/10.1145/41840.41841},
doi = {10.1145/41840.41841},
acmid = {41841},
publisher = {ACM},
address = {New York, NY, USA},
}
@article{Gue2018:sbft,
author = {Guy Golan{-}Gueta and
Ittai Abraham and
Shelly Grossman and
Dahlia Malkhi and
Benny Pinkas and
Michael K. Reiter and
Dragos{-}Adrian Seredinschi and
Orr Tamir and
Alin Tomescu},
title = {{SBFT:} a Scalable Decentralized Trust Infrastructure for Blockchains},
journal = {CoRR},
volume = {abs/1804.01626},
year = {2018},
url = {http://arxiv.org/abs/1804.01626},
archivePrefix = {arXiv},
eprint = {1804.01626},
timestamp = {Tue, 01 May 2018 19:46:29 +0200},
biburl = {https://dblp.org/rec/bib/journals/corr/abs-1804-01626},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
@inproceedings{BLS2001:crypto,
author = {Boneh, Dan and Lynn, Ben and Shacham, Hovav},
title = {Short Signatures from the Weil Pairing},
booktitle = {Proceedings of the 7th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology},
series = {ASIACRYPT '01},
year = {2001},
isbn = {3-540-42987-5},
pages = {514--532},
numpages = {19},
url = {http://dl.acm.org/citation.cfm?id=647097.717005},
acmid = {717005},
publisher = {Springer-Verlag},
address = {Berlin, Heidelberg},
}