Abstract

Blockchain, cryptography, and consensus
Angelo De Caro

Permissioned blockchains allow a well identifiable set of participants to run blockchain technology in a setting where the involved parties require some means of identifying each other while not necessarily fully trusting the other members of the network. This represents an emerging alternative to permissionless blockchains (in which anybody can participate, e.g., Bitcoin, Ethereum) that better addresses the needs of business applications of blockchain technology and distributed ledgers. In this talk, we will explore permissioned blockchain technologies with a focus on the Hyperledger Project, a prominent open-source initiative under
the patronage of the Linux Foundation, dedicated to bringing blockchain technologies to businesses.



Scalable, Transparent and Post-quantum Secure Computational Integrity, with applications to Crypto-currencies

Eli Ben-Sasson

Zero Knowledge (ZK) proofs are currently used to enhance privacy and fungibility in Zcash, and could potentially be used to solve crypto-currency scalability problems.

This talk describes recent progress towards, and applications of, scalable and transparent zero knowledge proofs, whose setup requires only a public random string.

Joint work with Iddo Bentov, Ynon Horesh and Michael Riabzev



BoscoChain: Keeping Byzantine Consensus for Blockchains Simple and Flexible

Robbert Van Renesse

So-called “permissioned blockchains” have suddenly arisen as a killer app for Asynchronous Byzantine Consensus (ABC) algorithms. A permissioned blockchain is an implementation of a blockchain that is cooperative between a set of hosts that are mutually distrusting, based on traditional ABC. However, consensus protocols, particularly ABC protocols, tend to be very complex. For example, PBFT uses over 20,000 lines of C++ code. The (handwritten) correctness proof for PBFT spans over 35 pages. A single bug in the protocol or its implementation can have disastrous effects. Can one trust a blockchain based on a protocol that very few people truly understand and whose code is close to impossible to fully scrutinize even by experts? I will present a new, modular approach to a permissioned blockchain based on ABC.



Blockchain and BFT Design Choices: A Distributed Computing Perspective

Ittai Abraham

I will begin by surveying some of the design choices of blockchain technologies and BTF engines as viewed from the lens of the theory of distributed computing: synchrony vs asynchrony, active vs static adversaries, Proof-of-Work vs Proof-of-Stake and malicious vs game theoretic models. In the remaining time I will discuss some of the new emerging hybrid solutions and how they aim to achieve the best of what BFT and blockchain have to offer.



Proof-of-Work Without All the Work

Jared Saia

Proof-of-work (PoW) is an algorithmic tool used to secure networks by imposing a computational cost on participating devices.

Unfortunately, traditional PoW schemes require that correct devices perform computational work perpetually, even when the system is not under attack. We address this issue by designing a general PoW protocol that ensures two properties. First, the network stays secure.  In particular, the fraction of identities in the system that are controlled by an attacker is always less than 1/2. Second, our protocol’s computational cost is commensurate with the cost of an attacker.  In particular, the total computational cost of correct devices is a linear function of the attacker’s computational cost plus the number of correct devices that have joined the system.  Consequently, if the network is attacked, we ensure security, with cost that grows linearly with the attacker’s cost; and, in the absence of attack, our computational cost remains small.  We prove similar guarantees for bandwidth cost.

Our results hold in a dynamic, decentralized system where participants join and depart over time, and where the total computational power of the attacker is up to a constant fraction of the total computational power of correct devices.


 

The Blockchain Consensus Layer and BFT
Dahlia Malkhi

The Blockchain consensus engine, which achieves agreement among distrusting parties in a scalable settings with unknown participants, seems very different from the classical methods for Byzantine fault tolerance (BFT).

In this talk, we analyze Blockchain through the lens of the theory of distributed computing.