2018 · 3.4K citations · 19 references
ComputingComputer ScienceInformation TechnologyAuthenticationCryptographyDistributed SystemsBlockchain GovernanceCryptographic ArchitectureDistributed SecurityBlockchain ApplicationsBlockchain ConsensusBlockchain CryptographyBlockchain SecurityBlockchain-based SecurityResource ExhaustionResource Exhaustion AttacksTrust Models
Fabric is a modular, extensible open‑source permissioned blockchain platform, the first to support distributed applications in general‑purpose languages and modular consensus protocols, distinguishing it from other blockchains that rely on domain‑specific smart‑contract languages or native cryptocurrencies. The paper presents Fabric’s architecture, design rationale, key implementation aspects, and its distributed application programming model. Fabric implements a permissioned model via a portable membership notion integrated with industry‑standard identity management, introduces a novel blockchain design that addresses non‑determinism, resource exhaustion, and performance attacks, and is evaluated through a Bitcoin‑inspired digital‑currency implementation and benchmark. Fabric achieves end‑to‑end throughput of more than 3500 transactions per second in certain popular deployment configurations, with sub‑second latency, and scales well to over 100 peers.
Fabric is a modular and extensible open-source system for deploying and operating permissioned blockchains and one of the Hyperledger projects hosted by the Linux Foundation (www.hyperledger.org). Fabric is the first truly extensible blockchain system for running distributed applications. It supports modular consensus protocols, which allows the system to be tailored to particular use cases and trust models. Fabric is also the first blockchain system that runs distributed applications written in standard, general-purpose programming languages, without systemic dependency on a native cryptocurrency. This stands in sharp contrast to existing blockchain platforms that require "smart-contracts" to be written in domain-specific languages or rely on a cryptocurrency. Fabric realizes the permissioned model using a portable notion of membership, which may be integrated with industry-standard identity management. To support such flexibility, Fabric introduces an entirely novel blockchain design and revamps the way blockchains cope with non-determinism, resource exhaustion, and performance attacks. This paper describes Fabric, its architecture, the rationale behind various design decisions, its most prominent implementation aspects, as well as its distributed application programming model. We further evaluate Fabric by implementing and benchmarking a Bitcoin-inspired digital currency. We show that Fabric achieves end-to-end throughput of more than 3500 transactions per second in certain popular deployment configurations, with sub-second latency, scaling well to over 100 peers.
19
Ethereum: A Secure Decentralised Generalised Transaction Ledger
Gavin Wood · 2013 · 5.3K citations
Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts
Ahmed E. Kosba, Andrew Miller, Elaine Shi et al. · 2016 · 2.2K citations
Zerocash: Decentralized Anonymous Payments from Bitcoin
Eli Ben Sasson, Alessandro Chiesa, Christina Garman et al. · 2014 · 1.9K citations · Full text
Epidemic algorithms for replicated database maintenance
Alan Demers, Dan Greene, Carl Hauser et al. · 1987 · 1.7K citations · Full text