Publication Date

Spring 2020

Degree Type

Master's Project

Degree Name

Master of Science (MS)

Department

Computer Science

First Advisor

Thomas Austin

Second Advisor

Katerina Potika

Third Advisor

Robert Chun

Keywords

TontineCoin, Tendermint, Tontines, validating block chains

Abstract

One of the alternatives to proof-of-work (PoW) consensus protocols is proof-of- stake (PoS) protocols, which address its energy and cost related issues. But they suffer from the nothing-at-stake problem; validators (PoS miners) are bound to lose nothing if they support multiple blockchain forks. Tendermint, a PoS protocol, handles this problem by forcing validators to bond their stake and then seizing a cheater’s stake when caught signing multiple competing blocks. The seized stake is then evenly distributed amongst the rest of validators. However, as the number of validators increases, the benefit in finding a cheater compared to the cost of monitoring validators reduces, weakening the system’s defense against the problem. Previous work on TontineCoin addresses this problem by utilizing the concept of tontines. A tontine is an investment scheme in which each participant receives a portion of benefits based on their share. As the number of participants in a tontine decreases, individual benefit increases, which acts as a motivation for participants to eliminate each other. Utilizing this feature in TontineCoin ensures that validators (participants of a tontine) are highly motivated to monitor each other, thus strengthening the system against the nothing-at-stake problem. This project implements a prototype of Tendermint using the Spartan Gold codebase and develops TontineCoin based on it. This implementation is the first implementation of the protocol, and simulates and contrasts five different normal operations in both the Tendermint and TontineCoin models. It also simulates and discusses how a nothing-at-stake attack is handled in TontineCoin compared to Tendermint.

Share

COinS