quinta-feira, 7 de dezembro de 2017

A Arquitetura de Rede Bitcoin Ponto-a-Ponto (P2P)

Arquitetura de Rede do Bitcoin

O Bitcoin é estruturado como uma arquitetura de rede ponto-a-ponto em cima da Internet. O termo ponto-a-ponto, ou P2P (do inglês peer-to-peer), significa que os computadores que participam da rede são pontos uns para os outros, que eles são todos iguais, que não há nodos "especiais" e que todos os nodos compartilham o trabalho de fornecer serviços na rede. 

Os nodos da rede se interconectam em uma rede mesh com uma topologia "plana". Não há nenhum servidor, nenhum serviço centralizado ou hierarquia na rede. Os nodos em uma rede ponto-a-ponto tanto fornecem quanto consomem serviços ao mesmo tempo com a reciprocidade atuando como o incentivo para a participação. 

Redes ponto-aponto são inerentemente resilientes, descentralizadas e abertas. O exemplo proeminente de uma arquitetura de rede P2P foi a Internet em seu início, onde os nodos na rede IP eram iguais. A arquitetura de Internet hoje é mais hierárquica, mas o Protocolo da Internet ainda mantém sua essência de topologia plana. 


EXEMPLOS DE P2P


Além do bitcoin, a aplicação mais difundida e de maior sucesso das tecnologias P2P é o compartilhamento de arquivos, com o Napster sendo o pioneiro e o BitTorrent como a evolução mais recente da arquitetura. A arquitetura de rede P2P do Bitcoin é muito mais do que uma escolha de topologia. 

O bitcoin é projetado como um sistema de dinheiro digital ponto-a-ponto, e a arquitetura da rede é tanto um reflexo e uma base fundamental dessa característica chave. Descentralização do controle é um princípio chave do projeto e ela só pode ser obtida e mantida através de uma rede de consenso P2P descentralizada. 

O termo "rede bitcoin" refere-se à coleção de nodos executando o protocolo ponto-a-ponto (P2P) bitcoin. Além do protocolo P2P bitcoin, existem outros protocolos como o Stratum, que são usados para mineração e carteiras leves ou móveis. 

Esses protocolos adicionais são fornecidos por servidores de roteamento de gateway que acessam a rede bitcoin usando o protocolo P2P bitcoin, e então estendem essa rede aos nodos executando outros protocolos. Por exemplo, os servidores Stratum se conectam os nodos mineradores Stratum através do protocolo Stratum à rede bitcoin principal e fazem um bridge do protocolo Statum com o protocolo P2P bitcoin. 

Nós usamos o termo "rede bitcoin estendida" para referirmos à rede geral que inclui o protocolo P2P bitcoin, protocolos de mineração-pool, o protocolo Stratum e qualquer outros protocolos relacionados que conectem os componentes do sistema bitcoin.

TIPOS E PAPÉIS DE NODOS


Embora os nodos na rede P2P do bitcoin são iguais, eles podem assumir diferentes papéis dependendo da funcionalidade que eles estejam suportando. Um nodo bitocin é uma coleção de funções: roteamento, o banco de dados da blockchain, mineração e serviços de carteira. Um nodo completo com todas essas quatro funções é demonstrado em Um nodo da rede Bitcoin com todas as quatro funções: carteira, minerador, banco de dados completo da blockchain e roteador da rede.

Todos os nodos incluem a função de roteamento para participar na rede e podem incluir outras funcionalidades. Todos os nodos validam e propagam as transações e blocos, e descobrem e mantém conexões com os pontos. 

No exemplo do nodo completo em Um nodo da rede Bitcoin com todas as quatro funções: carteira, minerador, banco de dados completo da blockchain e roteador da rede, a função de roteamento é indicada por um círculo laranja chamado de "Nodo de Roteamento de Rede." Alguns nodos, chamados de nós completos, também mantém uma cópia completa e atualizada do blockchain. 

Nodos completos podem verificar de maneira autônoma e autoritária qualquer transação sem referência externa. Alguns nodos mantêm somente uma parte do blockchain e verifica transações utilizando um método chamado verificação de pagamento simplificada, ou SPV. Estes nodos são conhecidos como SPV ou nodos peso-leve. 

No exemplo nodos completos da figura, a função base de dados blockchain nodo completo está indicado por um círculo azul denominado "Blockchain 2 Completo". Em A rede bitcoin estendida mostrando vários tipos de nodos, gateways e protocolos, nodos SPV estão representados sem o círculo azul, indicando que estes não têm uma cópia completa do blockchain. 

Os nodos de mineração competem para criar novos blocos ao utilizarem hardware especializado para resolver os algoritmos de prova-de-trabalho. Alguns nodos de mineração também são nodos completos, mantendo uma cópia completa da blockchain, enquanto outros são nodos peso leve (lightweight) que participam de um pool de mineração e dependem de um servidor de pool para manter um nodo completo. 

A função de mineração é demonstrada no nodo completo como um círculo preto chamado de "Minerador." As carteiras de usuários podem fazer parte de um nodo completo, que é o que geralmente ocorre em clientes desktop do bitcoin. Cada vez mais as carteiras de usuário são nodos VSP, especialmente aquelas sendo executadas em dispositivos com poucos recursos como Smartphones. 

A função carteira é demonstrada Um nodo da rede Bitcoin com todas as quatro funções: carteira, minerador, banco de dados completo da blockchain e roteador da rede em como um círculo verde chamado de "Carteira" Além dos tipos de nodos principais no protocolo P2P bitcoin, existem servidores e nodos executando outros protocolos, como protocolos especializados em mineração-pool e protocolos de acesso de clientes com aplicativos leves (lightweight). Diferentes tipos de nodos na rede bitcoin estendida mostra os tipos mais comuns de nodos na rede bitcoin estendida.

FONTE - Esse é um trecho do livro 'Mastering Bitcoin


EmoticonEmoticon