Abstract

A problem of developing the consensus protocols in public blockchain systems which spend a combination of energy and space resources is addressed. A technique is proposed that provides a flexibility for selection of the energy and space resources which should be employed by a player participating in the consensus procedure. The technique originates from the cryptographic time-memory-data trade-off approaches for cryptanalysis. The proposed technique avoids the limitations of Proof-of-Work (PoW) and Proof-of-Memory (PoM) which require spending of only energy and space, respectively. Also, it provides a flexibility for adjusting the resources spending to the system budget. The proposed consensus technique is based on a puzzle where the problem of inverting one-way function is solved employing a dedicated Time-Memory-Data Trade-Off (TMD-TO) paradigm. The algorithms of the consensus protocol are proposed which employ certain unconstrained and constrained TMD-TO based inversions. Security of the proposed technique is considered based on the probability that the honest pool of nodes generate a longer extension of the blockchain before its update, and a condition on the employed parameters in order to achieve desired security has been derived. Implementation of the proposed technique in Go language and its inclusion as an alternative consensus option in Ethereum platform are shown. Implementation complexity and performance of the proposed consensus protocol are discussed and compared with the ones when PoW and PoM are employed.

Highlights

  • In a large number of scenarios we face particular instantiations of the following general problem: All updates of a huge database should be verified before becoming effective

  • The consensus protocol for inclusion of a new block into the blockchain, we propose, consists of the preprocessing algorithm and the protocol execution algorithms described in the two subsections

  • PREPARATION PHASE The preparation phase should be performed only once and in advance, before a node begins participation in the consensus process. The output of this phase is a two-columns table which is constructed in a dedicated manner and appears as a tool for an efficient attempt for solving the blockchain puzzle during the consensus protocol execution

Read more

Summary

INTRODUCTION

In a large number of scenarios we face particular instantiations of the following general problem: All updates of a huge database should be verified before becoming effective. It is important to note that PoM design does not allow a trade-off between required memory and some other resource It appears as an interesting issue developing a blockchain consensus protocol which provides reduction of the memory required. The proposed technique provides a flexibility for selection of the resources which should be employed by a player participating in the consensus procedure It provides a possibility for different trade-offs between the required energy and space which should be spent during execution of the consensus protocol. The proposed technique avoids the limitations of PoW and PoM which require spending of only energy and space, respectively It provides a flexibility for adjusting the resources spending to the system budget. Implementation of the consensus algorithms in Go language is shown in the appendix

A CONSENSUS PROTOCOLS BASED ON THE PUZZLE REPLACEMENT
THE CONSENSUS PROTOCOL BASED ON THE CONSTRAINED INVERSION PROBLEM
SECURITY EVALUATION
COMPARISON
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call