- Voltar ao menu
- Voltar ao menuPreços
- Voltar ao menuPesquisar
- Voltar ao menuConsenso
- Voltar ao menu
- Voltar ao menu
- Voltar ao menu
- Voltar ao menuWebinars e Eventos
Como salvar a rede de nós do Bitcoin da centralização
Jameson Lopp, da BitGo, LOOKS por que o número de nós de Bitcoin está diminuindo na rede e discute o que poderia reverter essa tendência.
A descentralização é, eu diria, a propriedade mais importante da rede Bitcoin . Sem ela, muitas das outras propriedades do bitcoin, como sua capacidade de facilitar transações sem terceiros ou fornecer uma plataforma sem permissão para inovação, seriam comprometidas.
Há muitas facetas que contribuem para a descentralização do bitcoin, a mais importante das quais é a rede de nós que compõem a infraestrutura do bitcoin, mantendo cópias do blockchain e compartilhando dados de blocos e transações pela rede.
E, no entanto, apesar da sua importância, o número denósvem diminuindo há anos, o que pode ser considerado uma forma de centralizar a rede.

Eu estiveescrevendo sobre o declínioem contagens de nós por alguns anos e tenho monitorado meus nós com oEstatoshi-san software que lancei em 2014. Como o desempenho dos nós e da rede Bitcoin em geral se tornou um tópico HOT nos últimos debates sobre escalabilidadeEspero lançar alguma luz sobre alguns pontos que T receberam muita atenção.
Nos primeiros dias do Bitcoin, a única maneira de participar da rede era executando um nó completo. Ao longo dos anos, o ecossistema floresceu e agora há muitas opções de carteira para os usuários escolherem. A maioria das carteiras hoje são clientes leves que consultam nós completos para dados, ou são hospedadas por terceiros e, portanto, não exigem que o usuário execute um nó completo.
Como resultado, a maioria dos novos usuários está optando por não executar um nó completo, enquanto alguns operadores de nó existentes escolheram fechar os seus. De quantos nós o Bitcoin realmente precisa?
Dependendo da sua perspectiva, você pode chegar a várias conclusões:
- Um: Como o Bitcoin não é confiável, o único nó que importa é o nó que você executa.
- Centenas: Ou o suficiente para tornar inviável para qualquer entidade desligar uma parte significativa da rede devido à diversidade geográfica e jurisdicional.
- Milhares: Ou o suficiente para suportar alta demanda de clientes SPV por slots de conexão. Os clientes SPV não são necessariamente apenas carteiras, mas também podem ser aplicativos peer-to-peer comoFarol.
No extremo oposto do espectro, nunca podemos ter nós demais ou descentralizar demais a rede. Dito isso, como devemos reagir ao fato de que menos de 1% dos usuários de Bitcoin executam um nó completo?
Quando perguntei ao desenvolvedor do Bitcoin CORE , Pieter Wuille, há alguns anos, sobre a importância da contagem de nós, ele disse o seguinte:
"O que os nós completos fazem é garantir que a rede seja honesta. E isso não é tanto uma questão de quantos são, é mais sobre o quão difícil é executar um."
Pieter é um dos desenvolvedores de Bitcoin mais prolíficos em termos de código e recursos adicionados ao protocolo; ele sabe do que está falando. Pieter também é o autor de Testemunha Segregada, o que esperamos que nos forneça um caminho para implementar várias soluções de escalabilidade para Bitcoin.
Como o Bitcoin se tornou popular o suficiente para atingirmos o limite máximo de 1 MB para tamanhos de bloco, há muita controvérsia sobre como podemos dimensionar a rede para oferecer suporte a mais usuários sem afetar negativamente a descentralização do bitcoin.
Debate sobre o tamanho do bloco
Um argumento que surge frequentemente durante o debate sobre o tamanho do bloco é baseado no custo de execução de um nó. Há uma teoria de que custos mais altos (como requisitos de recursos computacionais adicionais para validar e retransmitir blocos maiores) resultarão em menos nós e vice-versa.
O desenvolvedor Paul Sztorc introduziu o conceito de CONOP (custo da opção de nó) em sua excelente postagem,Medindo a Descentralização. Ele argumenta que custos mais baixos devem resultar em mais pessoas realizando ações que sejam benéficas para elas. Esse argumento faz sentido para mim se você assumir que T há mais variáveis em jogo do que apenas o custo de operar um nó.
Mais adiante neste post, discutiremos outros fatores que provavelmente afetam o CONOP.
Depois de observar e participar de debates sobre escalabilidade no ano passado, sempre me deparo com o mesmo problema:não há requisitos mínimos de recursos definidos para executar um nó.
Como resultado, não há um alvo para os desenvolvedores de Bitcoin levarem em conta ao discutir a possibilidade de fazer mudanças de protocolo que resultariam em maiores requisitos de recursos para executar um nó completo. Se uma especificação mínima for desenvolvida, ela provavelmente deve ser baseada no hardware atual que está sendo usado para executar nós completos.
Um dispositivo baseado em ARM, como um Raspberry Pi ou ODROID+, parece ser a especificação mínima viável atual para executar um nó. Ele pode KEEP blocos de 1 MB, embora leve duas semanas para executar a sincronização inicial do blockchain (para bloquear 390.000) devido à CPU de baixa potência.
Você pode comprar umBitseedpor US$ 170 ou umBitcoin Minipor US$ 140. Se você entende de tecnologia, pode construir o seu próprioNó Raspberry Pipor US$ 100 ou você pode construir um nó bastante poderosopor cerca de US$ 200que deve ser capaz de ter um bom desempenho por vários anos.

Outro problema negligenciado ao debater o custo aceitável de execução de um nó é que nunca definimos a base de usuários alvo para executar um nó completo.
Pesquisas demográficas realizadas ao longo dos anos continuam indicando que a maioria dos usuários de Bitcoin são homens caucasianos com menos de 30 anos e orientação técnica, mas isso é um reflexo da maioria dos primeiros a adotar a Tecnologia .
Parece haver um sentimento geral na comunidade de que, para que o Bitcoin tenha sucesso a longo prazo, precisamos encontrar uma maneira de levá-lo às massas.
Ainda assim, como mostra o gráfico a seguir da BitNodes, os nós estão fortemente concentrados na América do Norte e na Europa Ocidental.

Quem queremos executando um nó completo? A resposta ingênua seria “todos”, mas claramente isso não é viável, já que o acesso à Internet ainda não é onipresente.
Suspeito que o acesso confiável e acessível à Internet de banda larga seja uma das principais razões para a atual distribuição geográfica dos nós.
Gavin Andresen disse uma vez:
“A maioria das pessoas comuns NÃO deveria estar executando um nó completo. Precisamos de nós completos que estejam sempre ligados, tenham mais de oito conexões e tenham uma conexão de alta largura de banda com a Internet.”
mostra que um nó altamente conectado precisa em média de 200 Kb/s de downstream e 1,5 Mb/s de upstream, embora o uso seja muito mais irregular e possa facilmente ver picos de 2 Mb/s de downstream e 40 Mb/s de upstream.
De acordo com a AkamaiEstado da Internetrelatório, a largura de banda média disponível é de 5 Mb/s, mas a lista deles cobre apenas um quarto do mundo.
As estimativas mostram que em 2014apenas 60%da população mundial está usando a Internet.
Uma especificação mínima de nó
Uma especificação mínima bem projetada deve definir metas para as características de desempenho desejadas para um nó, os recursos necessários para atingir essas metas de desempenho e um custo para obter hardware que atenda às metas de desempenho.
Eu recomendaria que incorporasse uma lógica semelhante à desenvolvida por Jonas Nick, Greg Sanders e Mark Friedenbach paracustos de validação do tamanho do bloco. A abordagem deles é bem pensada, embora uma especificação mínima precisaria ser mais complexa porque teria dimensões adicionais.
Por exemplo, uma especificação mínima pode ser parecida com esta:
- Custo do recurso de hardware alvo: $ 200
- Tempo de pior caso para validar um bloco: 10 segundos
- E/S mínima de rede: 2 Mb/s
- E/S mínima de disco: 2 Mb/s
- CPU mínima: 5.000 MIPS
- RAM mínima: 1 GB
Jean-Paul Kogelman deu umaótimo exemplode como uma especificação mínima estabelecida ajudaria na tomada de decisões durante debates sobre escalabilidade, examinando mudanças recentes nos custos de verificação de assinaturas de transações.
Em versões do Bitcoin CORE anteriores a 0.12, o OpenSSL é usado para verificar assinaturas. A partir de 0.12, as assinaturas são verificadas com secp256k1, que é aproximadamente cinco vezes mais rápido que o OpenSSL. Como resultado, o tempo de verificação de transações (e, portanto, de blocos) deve se tornar quase cinco vezes mais rápido.
Como isso deve reduzir o pior tempo para verificar um bloco em quase 80%, a especificação mínima nos dá uma escolha binária simples:
- Ajustar os requisitos mínimos de recursos para baixo de forma adequada
- Ajuste outros parâmetros, como o número de operações de assinatura por transação e o número de transações por bloco, para cima adequadamente para nos alinhar novamente com as metas mínimas de desempenho.
Quando são propostas mudanças no protocolo que têm impacto no desempenho, se uma especificação mínima estiver disponível, então deve ficar claro como ela é afetada pelas mudanças. Conforme a Tecnologia avança e o custo dos recursos computacionais cai, também deve ficar claro como os requisitos de recursos podem ser aumentados sem aumentar o custo de operação de um nó.
Assim, as opções apropriadas para responder a mudanças devem ser menos controversas do que o que vivenciamos com o debate sobre o tamanho do bloco. Se, por exemplo, estiver claro que os operadores de nó que estão executando hardware em requisitos mínimos não serão afetados negativamente pelo aumento das operações de assinatura permitidas por bloco para corresponder ao ganho de desempenho do secp256k1, não deve ser controverso aumentá-lo.
Custo versus benefício
Considero uma meta admirável tentar KEEP os custos operacionais dos nós baixos e acessíveis ao usuário médio.
Por outro lado, se KEEP os requisitos de recursos dos nós no nível que o modelo mais recente do Raspberry Pi em uma conexão de Internet residencial (média global) pode suportar, não tenho certeza de quão útil será se a demanda por inclusão em blocos resultar em taxas de transação que excluam mais usuários.
Em outras palavras, se o custo de usar a rede aumentar a ponto de excluir o usuário médio de fazer transações no blockchain do bitcoin, então eles provavelmente T vão se importar em poder executar um nó a um custo trivial. Pense nisso como um equilíbrio entre o custo da verificação da transação e o custo da transação.
As redes de camada dois (como a Lightning Network e a rede de micropagamento da 21) certamente podem desempenhar um papel na redução do fardo aqui, mas lembre-se de que até mesmo os usuários de redes de camada doiseventualmente precisa resolvercontra o blockchain do bitcoin.
Existem vários custos para executar um nó, como:
- Curva de aprendizagem inicial (custo de tempo)
- Custo de instalação, configuração e sincronização inicial (tempo, largura de banda, CPU)
- Custos de funcionamento contínuos (largura de banda, CPU, RAM, disco)
- Custos de manutenção (tempo para realizar solução de problemas e atualizações).
A curva de aprendizado inicial para ver o valor do Bitcoin pode levar semanas ou meses. Descobrir como executar um nó pode levar algumas horas – tenho quase certeza de que a maioria das pessoas nunca chega nem mesmo à etapa de encaminhamento de porta.
O tempo de sincronização inicial levará de várias horas a várias semanas, dependendo das especificações da máquina. Eu estimaria subjetivamente os custos de manutenção em uma hora por mês no pior cenário.
Até agora, examinamos o custo de executar um nó de várias perspectivas. É sensato teorizar que custos mais altos resultarão em menos nós e custos mais baixos resultarão em nós mais altos - mas e se o custo T for o único fator?
BitPay
CEO Stephen Pairresumidamente declarado:
“Existem apenas tantos nós na rede Bitcoin quantos os que há demanda para realizar validação independente e sem confiança de transações.”
Acho que Pair e Stzorc estão corretos e, portanto, a contagem de nós é uma função da demanda por validação de transação sem confiança versus o custo de execução de um nó. Como tal, eu postularia que a contagem de nós também depende do valor armazenado e transacionado por usuários de Bitcoin .
Embora alguns afirmem que executar um nó hoje é puramente altruísta, há incentivos para fazê-lo:
- Investimento:Se você investe muito em Bitcoin, talvez queira dar suporte à rede para proteger esse investimento.
- Desempenho:É muito mais rápido consultar uma cópia local do blockchain do que consultar serviços de dados do blockchain pela Internet.
- Ausência de permissão e resistência à censura:Ao receber e enviar transações do seu próprio nó, ONE tem o poder de impedi-lo de fazê-lo.
- Política de Privacidade:Se você estiver consultando outros nós ou serviços sobre dados de blockchain, eles podem usar essas consultas para tentar desanonimizá-lo.
- Desconfiança:Ter uma cópia do livro-razão que você mesmo validou significa que você T precisa confiar em terceiros para ser honesto sobre o estado do livro-razão.
É minha perspectiva que, em vez de almejar que qualquer indivíduo execute um nó, o objetivo deve ser que qualquer pessoa com uma quantia não trivial de valor em Bitcoin execute um nó. Aqueles que têm o maior valor em risco têm o maior incentivo para gastar recursos para proteger seus ativos operando de forma sem confiança.
Vimos o BTCC implantar recentemente100 nós e sabemos que muitas outras empresas de Bitcoin administram seus próprios nós. Eu mesmo supervisiono a operação de vários nós mainnet e testnet em nome de BitGo e também executar vários nós pessoalmente porque tenho muitos recursos investidos em Bitcoin e desejo dar suporte à rede.
Se um usuário possui apenas US$ 100 em Bitcoin, então T faz muito sentido para ele executar um nó completo, a menos que o tempo e o custo de recursos para executar um nó sejam da ordem de alguns minutos e alguns centavos.
Para obter perspectivas de usuários de Bitcoin sobre suas decisões de executar ou não um nó completo, fiz uma pesquisa e coletei mais de 500 respostas. Esta claramente não é uma pesquisa científica rigorosamente conduzida, mas espero que seja melhor do que nada.
Você pode visualizar as análises de alto nívelaquie os dados brutos estão disponíveisaqui.
Algumas conclusões importantes desta pesquisa:
- 24% dos entrevistados costumavam executar um nó completo, mas não o T mais
- 42% dos não operadores T veem nenhum incentivo para executar um nó
- 44% ou mais dos operadores de nós usam seus nós para seu próprio benefício direto
- 57% dos usuários estão dispostos a dedicar mais de 100 KB/S de largura de banda upstream a um nó
- 58% dos usuários não estão dispostos a pagar mais de US$ 10/mês para executar um nó
- 81% dos operadores de nós executam um nó em casa.
O resultado mais surpreendente foi que parece não haver correlação entre o investimento de um usuário em Bitcoin e seu interesse em executar um nó.
No entanto, essa pode ter sido uma pergunta muito vaga, já que T pedia valores monetários específicos.
Ainda acredito que qualquer entidade (especialmente uma empresa) que transacione ou armazene quantidades significativas de valor tem mais incentivo para executar um nó.


Conclusões
Lembre-se da teoria frequentemente citada de que custos mais altos resultarão em menos nós.
Essa pode não ser uma suposição válida, já que um maior volume de transações pode ser resultado de uma maior adoção e, portanto, de mais entidades dispostas a executar nós completos.
Sim, o custo será maior e pode muito bem ultrapassar o limite de US$ 10 por mês que o usuário médio está (atualmente) disposto a pagar, mas se a utilidade da rede Bitcoin continuar a aumentar e mais entidades estiverem transacionando grandes quantias de valor, elas terão maior incentivo para pagar custos mais altos para operar de forma sem confiança.
Por outro lado, também devemos KEEP em mente que não adianta muito participar de um sistema descentralizado quando o custo de validação é baixo, mas o custo de transação é extremamente alto devido à disputa por espaço em bloco.
Se estivermos abordando o debate sobre o tamanho do bloco do ponto de vista do uso de recursos, parece-me que alguém será excluído de qualquer forma. Não aumentar o tamanho do bloco excluirá alguns usuários de enviar transações, enquanto aumentar o tamanho do bloco excluirá alguns usuários de executar nós.
Há muitas variáveis em jogo e devemos nos esforçar para KEEP -las em equilíbrio para que possamos desenvolver o ecossistema e, ao mesmo tempo, mantê-lo descentralizado.
Em ordem decrescente de prioridade, recomendo que os desenvolvedores de Bitcoin :
Determine uma especificação mínima de recursos para executar um nó completo com características de desempenho desejadas, como o pior tempo possível para validar um bloco.
Foco em aumentar o volume de transações que a rede Bitcoin pode suportar, aumentando assim sua utilidade e o número de usuários (e casos de uso) que ela pode atender. Como resultado, deve haver mais entidades realizando armazenamento e transferência de alto valor que serão incentivadas a executar seus próprios nós.
Foque em tornar mais fácil executar um nó do ponto de vista da curva de aprendizado. Isso também deve ocorrer naturalmente, à medida que o Bitcoin constrói uma história e reputação mais longas.
Facilite a execução de um nó do ponto de vista de recursos computacionais. Habilitar um nó para executar instantaneamente no modo SPV enquanto sincroniza o blockchain em segundo plano seria um bom primeiro passo. Bootstrapping de um nó a partir de compromissos UTXO seria um salto gigante para a frente.
Investigar incentivos financeiros diretos à operação do nó, como por exemplofornecendo serviços de dadosem troca de taxas.
Se pudermos KEEP que o custo de execução de um nó aumente a uma taxa maior que o valor de execução de um nó, seremos capazes de KEEP a infraestrutura de rede descentralizada, mesmo aumentando a carga colocada sobre os operadores de nós.
A demografia dos operadores de nós provavelmente continuará mudando, mas incentivo os usuários de Bitcoin a adotarem mudanças no ecossistema, desde que a propriedade fundamental da descentralização permaneça intacta.
Siga Jameson em Twitter.
Imagem de custo-benefíciovia Shutterstock
Jameson Lopp
Jameson Lopp é o CTO e cofundador da Casa, um serviço de autocustódia. Um cypherpunk cujo objetivo é construir Tecnologia que empodere indivíduos, ele vem construindo carteiras de Bitcoin multiassinatura desde 2015. Antes de fundar a Casa, ele foi o engenheiro-chefe de infraestrutura na BitGo. Ele é o fundador do Bitcoin Special Interest Group da Mensa, do Triangle Blockchain and Business meetup e de vários projetos de Bitcoin de código aberto. Durante todo esse tempo, ele trabalhou para educar outras pessoas sobre o que aprendeu da maneira mais difícil, enquanto escrevia software robusto que pode resistir tanto a adversários quanto a usuários finais não sofisticados.
