Primitivas de consenso a escala planetaria = Planet-scale consensus primitives

Sierra Vega, Sandra (2022). Primitivas de consenso a escala planetaria = Planet-scale consensus primitives. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Primitivas de consenso a escala planetaria = Planet-scale consensus primitives
Author/s:
  • Sierra Vega, Sandra
Contributor/s:
  • Guerraoui, Rachid
  • Voron, Gauthier
  • Paraiso Medina, Sergio
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: June 2022
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (565kB)

Abstract

Las criptomonedas son cada vez más importantes en el mundo moderno, por lo que, si se quiere que sean un método de pago global, se necesita que funcionen rápidamente a escala planetaria. HotStuff es una biblioteca de replicación de máquinas de estado BFT adecuada para construir criptomonedas de consenso híbrido. Cuando se ejecuta en un escenario en el que las diferentes máquinas están dentro del mismo centro de datos se obtiene un buen rendimiento. Sin embargo, cuando se ejecuta en un escenario en el que las diferentes máquinas están repartidas por todo el mundo, el rendimiento empeora considerablemente. Si se siguen los métodos habituales para hacer que una aplicación funcione a escala planetaria, el primer método que deberíamos aplicar es aumentar el tamaño de la ventana TCP. Un segundo enfoque habitual para este problema es utilizar varios sockets TCP por cada par de nodos de la red. Sin embargo, ninguno de estos métodos funciona en HotStuff, ya que el algoritmo de consenso utiliza un lote de transacciones que es mucho menor que la ventana TCP. Por lo tanto, para resolver este problema, este estudio propone sustituir estos lotes de transacciones por un streaming. En esta solución, hay una red diferente para el streaming de transacciones. Cuando un nodo recibe una solicitud, utiliza esta nueva red para enviarla. A través de esta nueva red, el nodo también recibirá mensajes periódicos de acuse de recibo de los otros nodos con el número de transacciones recibidas. Una vez que el líder decida que es el momento adecuado para hacer un consenso, enviará un mensaje de propuesta por la red principal con un número entero que se calcula como el mínimo de las n-t réplicas más rápidas.---ABSTRACT---Cryptocurrencies are becoming more and more important in the modern world, so if we want this to be a global payment method, we need to have them work fast at a planet-scale level. HotStuff is a BFT state machine replication library suitable for building hybrid consensus cryptocurrencies. When we run it in a scenario where the different machines are within the same data center it performs well. However, when we run it in a scenario where the different machines are spread around the world, performance worsens considerably. If we follow the usual methods to make an application work on a planetary scale, the first method we should apply is to increase the TCP window size. A second common approach to this problem is to use several TCP sockets for each pair of nodes in the network. How-ever, neither of these methods works in HotStuff, since the consensus algorithm uses a batch of transactions that is much smaller than the TCP window. Therefore, to solve this problem, this study proposes to replace these batches of transactions with streaming. In this solution, there is a different network for transaction streaming. When a node re-ceives a request, it uses this new network to send it. Through this new network, the node will also receive periodic acknowledgment messages from the other nodes with the num-ber of transactions received. Once the leader decides that it is the right time to make a consensus, it will send a proposal message over the main network with an integer that is computed as the minimum of the n-t fastest replicas.

More information

Item ID: 71756
DC Identifier: https://oa.upm.es/71756/
OAI Identifier: oai:oa.upm.es:71756
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 21 Sep 2022 07:16
Last Modified: 21 Sep 2022 07:16
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM