229 research outputs found

    An Extensible Framework for Implementing and Validating Byzantine Fault-tolerant Protocols

    Get PDF
    HotStuff is a Byzantine fault-tolerant state machine replication protocol that incurs linear communication costs to achieve consensus. This linear scalability promoted the protocol to be adopted as the consensus mechanism in permissioned blockchains. This paper discusses the architecture, testing, and evaluation of our extensible framework to implement HotStuff and its variants. The framework already contains three HotStuff variants and other interchangeable components for cryptographic operations and leader selection. Inspired by the Twins approach, we also provide a testing framework for validating protocol implementations by inducing Byzantine behaviors. Test generation is protocol-agnostic; new protocols can execute the test suite with little-to-no modifications. We report relevant insights on how we benefited from Twins for validation and test-driven development. Leveraging our deployment tool, we evaluated our implementation in various configurations.acceptedVersio

    Tolerância a faltas bizantinas usando técnicas de introspecção de máquinas virtuais

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2015.Atualmente é quase impossível uma pessoa não utilizar direta ou indiretamente um sistema computacional. Ao realizar uma operação bancária ou até mesmo ao fazer compras em uma loja, nós somos auxiliados por sistemas computacionais. Em contrapartida, surgem novos ataques para comprometer o funcionamento correto dos sistemas utilizados. Várias técnicas são utilizadas para que os sistemas funcionem conforme sua especificação, entre elas,destacam-se sistemas tolerantes a faltas bizantinas/intrusões (BFT) através de replicação de máquina de estados (RME). Nessa abordagem, é proposta uma arquitetura de sistema tolerante a intrusões que garante o seu funcionamento correto, mesmo na presença de réplicas faltosas.Este trabalho propõe um algoritmo que une replicação de máquina de estados e sistema de detecção de intrusões (IDS) para tolerar faltas bizantinas. A tecnologia de virtualização é utilizada no algoritmo proposto para replicar o serviço e também para isolar o IDS da aplicação monitorada. Dessa forma, é proposto um detector de intrusões como um componente confiável do sistema BFT. As principais contribuições são: (1) propor um modelo unificado, o qual utiliza replicação de máquina de estados e IDS em conjunto, e faz uso dos recursos da tecnologia de virtualização, (2) detector de intrusões como componente confiável do sistema e (3) elaborar um algoritmo BFT baseado no modelo proposto. Através desta abordagem foi possível reduzir o número de réplicas do sistema de 3f + 1 para 2f + 1 e reduzir o número de passos do protocolo do algoritmo tradicional BFT de Castro e Liskov de 5 para 3 no caso normal de operação e sem precisar da participação do cliente no protocolo.Abstract : Currently, it is almost impossible for a person not to use a computing system, in a direct or indirect way. When we are using a banking machine, or shopping in a store, we need to use a computing system. On the other hand, there are new attacks to damage the correct workingof the systems. There are several techniques to help the systems to work correctly according to their specification; among them, the Byzantine/intrusions fault tolerant systems (BFT) through the state machine replication (SMR) are important ones. In this perspective, it proposes a system architecture tolerant to intrusions that guarantees its proper functioning, even if there are faulty replicas.This research proposes an algorithm which presents a unified approachby using state machine replication and intrusion detection system in order to tolerate Byzantine faults. The virtualization technology is usedon the proposed algorithm to replicate the service and also to isolate the IDS of the monitored application. Therefore, we propose an intrusion detector as a reliable component of the BFT system. The main contributions are: (1) to propose a unified model, which uses state machine replication together with IDS, using the virtualization technology resources; (2) intrusion detector as a reliable component of the system; and (3) to make a BFT algorithm based on the proposed model. This approach made it possible to decrease the number of the system replicas from the 3f + 1 to 2f + 1, and to reduce the number of steps of the protocol of the BFT traditional algorithm from Castro and Liskov from 5 to 3 in a normal case of operation without the participation of the client in the protocol

    TwinBFT: tolerância a faltas bizantinas com máquinas virtuais gêmeas

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2013.Visando suprir a necessidade de segurança no funcionamento de sistemas computacionais, diversas abordagens tolerantes a faltas bizantinas foram criadas. Apesar de terem fins práticos, a maior parte destas abordagens ainda apresenta um fraco desempenho ou requisitos que limitam seu uso em boa parte dos cenários reais. Neste trabalho de pesquisa é apresentada uma arquitetura e um algoritmo para replicação de máquina de estados tolerante a faltas bizantinas usando virtualização. A virtualização, apesar de existir há mais de 30 anos, vem se tornando cada vez mais comum recentemente, sendo muito utilizada em aplicações de computação em nuvens. São exploradas as vantagens fornecidas pela virtualização para detectar e tolerar réplicas faltosas, de forma a transformar ou reduzir faltas bizantinas em faltas de omissão. Com esta transformação, a abordagem apresentada é capaz de reduzir o número total de réplicas físicas necessárias de 3f + 1, em abordagens tradicionais, para 2f + 1. Esta abordagem se baseia no conceito de máquinas virtuais gêmeas, ou seja, na execução de um conjunto de máquinas virtuais em cada máquina física, cada uma funcionando de uma certa forma como um detector de falhas de sua gêmea, a partir da validação das mensagens enviadas. Neste contexto, um protótipo foi implementado e alguns experimentos foram realizados para obter medidas do desempenho da abordagem em uma execução prática. Abstract : Aiming to supply the need for security in information systems, a lotof approaches were proposed. Despite of being practical, most part ofthese approaches still lack in performance or have too strong requirements.We present an architecture and an algorithm for Byzantinefault-tolerant state machine replication using virtualization. Despite ofexisting for more than 30 years, virtualization is becoming more common,mainly because of cloud computing applications. Our algorithmexplores the advantages of virtualization to reliably detect and toleratefaulty replicas, allowing the transformation of Byzantine faults intoomission faults. Our approach reduces the total number of physicalreplicas from 3f +1, in traditional approaches, to 2f +1. Our approachis based on the concept of twin virtual machines, where thereare a set of virtual machines in each physical host, each one acting asfailure detector of its twin, by the validation of the messages sent

    The Bedrock of Byzantine Fault Tolerance: A Unified Platform for BFT Protocol Design and Implementation

    Full text link
    Byzantine Fault-Tolerant (BFT) protocols have recently been extensively used by decentralized data management systems with non-trustworthy infrastructures, e.g., permissioned blockchains. BFT protocols cover a broad spectrum of design dimensions from infrastructure settings such as the communication topology, to more technical features such as commitment strategy and even fundamental social choice properties like order-fairness. The proliferation of different BFT protocols has rendered it difficult to navigate the BFT landscape, let alone determine the protocol that best meets application needs. This paper presents Bedrock, a unified platform for BFT protocols design, analysis, implementation, and experiments. Bedrock proposes a design space consisting of a set of design choices capturing the trade-offs between different design space dimensions and providing fundamentally new insights into the strengths and weaknesses of BFT protocols. Bedrock enables users to analyze and experiment with BFT protocols within the space of plausible choices, evolve current protocols to design new ones, and even uncover previously unknown protocols. Our experimental results demonstrate the capability of Bedrock to uniformly evaluate BFT protocols in new ways that were not possible before due to the diverse assumptions made by these protocols. The results validate Bedrock's ability to analyze and derive BFT protocols

    Simulation of the Internet Computer Protocol: the Next Generation Multi-Blockchain Architecture

    Get PDF
    The Internet Computer Protocol is a new generation blockchain that aims to provide better security and scalability than the traditional blockchain solutions. In this paper, this innovative distributed computing architecture is introduced, modeled and then simulated by means of an agent-based simulation. The result is a digital twin of the current Internet Computer, to be exploited to drive future design and development optimizations, investigate its performance, and evaluate the resilience of this distributed system to some security attacks. Preliminary performance measurements on the digital twin and simulation scalability results are collected and discussed. The study also confirms that agent-based simulation is a prominent simulation strategy to develop digital twins of complex distributed systems
    corecore