Texto original: "Vários grandes mal-entendidos do público sobre Blockchain"

Autor:ChainLinkGod

Blockchain é um modelo de computação inovador A segurança dos dados e aplicações não é garantida por um terceiro centralizado, mas por uma rede de computadores descentralizada. Como o blockchain em si não tem permissão, qualquer pessoa pode ingressar na rede e verificar de forma independente a autenticidade dos cálculos. Em última análise, a tecnologia blockchain estabelece um mecanismo de verificação e equilíbrio de poder entre usuários e nós da rede.

A tecnologia Blockchain trouxe-nos moedas digitais inovadoras (como o Bitcoin) que podem escrever políticas monetárias em código e também permitiu aplicações programáveis ​​que minimizam a confiança (como o Ethereum). Atualmente, o blockchain está entrando rapidamente na visão do público como uma nova infraestrutura digital, e esse impulso de desenvolvimento também é chamado de Web3. Embora muitas pessoas reconheçam a proposta de valor do blockchain, ainda existem alguns mal-entendidos sobre o modelo de confiança subjacente do blockchain.

Este artigo explorará o papel que os nós completos com capacidades de verificação autônoma podem desempenhar, especialmente como os nós completos supervisionam os criadores de blocos (ou seja, mineradores ou validadores) e quais os principais efeitos que a redução dos custos de verificação terá na escalabilidade da influência do blockchain. Depois de ler isto, você terá uma compreensão mais profunda das diferenças nos modelos de confiança entre blockchain e computação tradicional.

Gargalos dos modelos de computação tradicionais

A maioria dos aplicativos hoje usa um modelo cliente-servidor, que envia solicitações a um servidor de banco de dados centralizado. Existem os seguintes tipos de participantes no modelo de computação tradicional:

Cliente: Os usuários finais geralmente criam solicitações por meio de dispositivos pessoais, e as solicitações são enviadas para um servidor de dados centralizado por meio do protocolo TCP/IP. O cliente confia que o servidor de banco de dados responderá fielmente às solicitações. Servidor de banco de dados: Este é um computador remoto, geralmente um provedor de serviços de nuvem centralizado, que fornece dados ou serviços específicos. Os servidores de banco de dados back-end são normalmente um grupo de computadores gerenciados centralmente por uma organização tradicional. No modelo de computação tradicional, embora o servidor centralizado não tenha transparência, os usuários só podem confiar nele

Esse modelo de computação também é chamado de Web2, e os desenvolvedores podem publicar e expandir rapidamente os aplicativos de acordo com suas próprias necessidades. Como o data center pode garantir baixa latência e alto rendimento de computação, ele pode proporcionar uma experiência de usuário muito tranquila. Os aplicativos implantados em servidores centralizados fornecem um enorme valor para bilhões de usuários em todo o mundo, mas também apresentam alguns gargalos.

O maior gargalo é que os usuários finais não conseguem verificar se o processo de cálculo em resposta à solicitação é confiável, nem podem confirmar se os dados inseridos no banco de dados foram manipulados. Na verdade, tais aplicações operam numa caixa escura e os utilizadores devem confiar plenamente que terceiros não prejudicarão os seus interesses.

Esta suposição de confiança em aplicações centralizadas pode ter um impacto negativo nos utilizadores. Os usuários podem sofrer censura, ter suas contas excluídas pelas plataformas sociais, ter seus dados pessoais vazados, ter conteúdo recomendado por algoritmos, ter custos de reconciliação mais elevados, ter seus dados adulterados ou perdidos, ou até mesmo não ter responsabilização em todo o sistema. Em última análise, isto conduzirá a uma quebra da confiança social e aumentará os custos de coordenação económica.

Modelo de computação Blockchain

O Blockchain elimina a confiança cega em entidades centralizadas e adota os seguintes mecanismos técnicos para alcançar a minimização da confiança e a neutralidade confiável.

Utilizar tecnologia de encriptação para certificar a propriedade de dados/activos e verificar a autenticidade das transacções; utilizar um mecanismo de consenso descentralizado para sequenciar transacções e executar regras de protocolo;

Vale ressaltar que o blockchain é uma rede aberta à qual qualquer pessoa no mundo pode ingressar, seja contribuindo ativamente ou ouvindo passivamente as mensagens. Os usuários finais podem verificar pessoalmente se os resultados gerados pela rede são válidos e se os dados do livro-razão foram adulterados. Por ser transparente, o blockchain também reduz o risco de opacidade da informação, elimina a assimetria da informação e garante que todos os participantes estejam plenamente conscientes dos riscos.

No modo de computação blockchain, os usuários finais podem optar por ingressar na rede blockchain e verificar os resultados dos cálculos de vários participantes da rede blockchain.

Para garantir o funcionamento normal do blockchain, são necessários diferentes tipos de participantes da rede. Um participante geralmente desempenha várias funções, e cada função desempenha um papel fundamental.

Block Creator (BP): Responsável por classificar as transações e empacotá-las em blocos (nota: esta é uma estrutura de dados especial) e, em seguida, enviar os blocos à rede para verificação. Se dois blocos válidos forem criados na mesma altura de bloco, o criador do bloco decide qual versão do blockchain é “canônica” (ou seja, segue o princípio da cadeia mais longa). Um mecanismo de consenso é usado no processo para decidir qual criador de bloco criará o próximo bloco. Os dois mecanismos de consenso mais populares são PoW (minerador) e PoS (verificador). Full Node: Full node é o núcleo da rede blockchain. Este tipo de nó é responsável por baixar e validar cada bloco enviado pelo criador do bloco. Se for verificado que o bloco é válido (ou seja, está em conformidade com as regras do protocolo), ele será adicionado ao livro-razão pessoal completo do nó e uma mudança de estado será realizada. Blocos inválidos que não cumpram as regras do protocolo serão ignorados e descartados, e nenhuma alteração de estado será realizada. Nó de arquivo: O nó de arquivo não apenas armazenará todas as informações no nó completo, mas também calculará e armazenará o estado anterior do blockchain. Os nós de arquivo podem ser usados ​​para solicitar dados históricos arbitrários, como saldos de contas de usuários em uma determinada altura de bloco no passado. Uma coisa a notar aqui é que os nós completos podem ser convertidos em nós de arquivo a qualquer momento, sem baixar quaisquer outros dados da rede. Os nós de arquivo geralmente têm requisitos de hardware muito elevados e geralmente são executados por provedores de serviços (como exploradores de blocos). Clientes Light: Os clientes Light são nós completos que são funcionalmente limitados e baixam apenas cabeçalhos de bloco (ou seja, impressões digitais criptográficas exclusivas). Um cliente light pode verificar se uma transação está incluída em um bloco, mas como não baixa nem executa todas as transações do bloco, ele precisa essencialmente confiar que a maioria dos criadores do bloco são honestos. Os clientes Light também são chamados de clientes de Verificação de Pagamento Simples (SPV) e foram originalmente propostos pelo White Paper do Bitcoin. Provedor de serviços RPC: O provedor de serviços RPC também é um nó completo e pode conectar outros participantes da rede ao blockchain e ler e gravar dados. Os usuários de serviços RPC (Chamada de Procedimento Remoto) muitas vezes não têm a capacidade ou inclinação para executar nós próprios completos ou clientes leves, de modo que a barreira de entrada no blockchain pode ser significativamente reduzida por meio desse serviço.Os usuários devem confiar que o provedor de serviços RPC pode fornecer serviços honestamente porque os próprios usuários não podem verificar os resultados. Usuários finais: Os usuários finais são usuários comuns que desejam realizar transações na rede blockchain. Esses participantes podem executar nós completos ou nós leves e também podem se conectar a provedores de serviços RPC. O único propósito do blockchain é fornecer serviços aos usuários finais.

Embora cada tipo de participante desempenhe um papel fundamental no bom funcionamento do ecossistema blockchain, os nós completos são, sem dúvida, o núcleo da rede blockchain porque são responsáveis ​​por manter uma cópia completa do livro-razão da rede. Outros participantes, como criadores de blocos e clientes leves, conectam-se a nós completos para se manterem informados sobre o status da rede. Portanto, a topologia da rede blockchain é mostrada na figura abaixo.

Diagrama esquemático da topologia de uma rede blockchain, onde tanto os clientes leves quanto os criadores de blocos estão conectados a nós completos. Os criadores de blocos têm poder limitado.

Um equívoco comum sobre blockchain é que, como os criadores de blocos são responsáveis ​​por adicionar transações a novos blocos, eles têm controle unilateral sobre o blockchain. Em outras palavras, essas pessoas acreditam que se a maioria dos criadores de blocos for subornada ou conspirada (nota: isso costuma ser chamado de “ataque de 51%”), então a rede cairá e tudo de valor será destruído. Na realidade, o poder dos criadores de blocos é limitado, portanto, apenas alguns tipos de ataques maliciosos podem ocorrer.

Os criadores de blocos têm os seguintes poderes:

Revisar transações: os criadores de blocos podem decidir quais transações incluir em seus blocos ou ignorar seletivamente determinadas transações. Se os criadores do bloco conspirarem, é de fato possível excluir certas transações, mas na verdade apenas um criador de bloco honesto é necessário para colocar as transações em um bloco válido. Reescrever o blockchain: Se a maioria dos criadores de blocos conspirar (como um ataque de 51%), os blocos válidos criados anteriormente podem se bifurcar devido à reorganização do bloco (reorganização) e uma linha O novo blockchain se tornará a cadeia principal. O que deve ser observado aqui é que alguns blockchains estabelecerão mecanismos de checkpoint para concretizar o conceito de “finalidade econômica”. Assim que os blocos antes do ponto de verificação forem reorganizados, o blockchain será suspenso, o que requer consenso social fora da cadeia para ser resolvido. A reorganização de blocos reverte blocos válidos previamente aceitos e os substitui por um novo conjunto de blocos válidos

Os criadores de blocos não possuem os seguintes recursos:

Alterar as regras do protocolo: os criadores de blocos não podem modificar as regras do protocolo à vontade, como adicionar/remover funções (como opcode); Roubar fundos de usuários: os criadores de blocos que não possuem a chave privada da carteira não podem gastar tokens na carteira porque a assinatura criptográfica da transação será inválida. Deve-se notar aqui que a reorganização da blockchain pode levar a ataques de gasto duplo, que excluem transações assinadas pelo detentor da chave privada no livro-razão da blockchain, em vez de falsificar assinaturas de transações.

Para entender a razão pela qual os criadores de blocos têm capacidades limitadas, devemos primeiro compreender a relação entre os criadores de blocos e os nós completos responsáveis ​​pela verificação.

Como os nós completos supervisionam os criadores de blocos

A responsabilidade do criador do bloco é enviar novos blocos para garantir o bom funcionamento do blockchain. No entanto, o criador do bloco não tem o direito de decidir se o bloco é válido em nome de toda a rede blockchain. É o nó completo o responsável por determinar a validade dos blocos. O nó completo armazena o livro-razão do blockchain e é responsável por verificar independentemente cada bloco e executar todas as transações no bloco para confirmar se o bloco está em conformidade com as regras do protocolo.

Portanto, um mecanismo de verificação e equilíbrio de poder é formado: nós completos aceitam apenas blocos válidos e ignoram blocos que não cumprem as regras do protocolo, a fim de supervisionar e responsabilizar os criadores dos blocos. Os criadores de blocos são incentivados financeiramente a criar apenas blocos válidos. Porque se eles criarem blocos inválidos, desperdiçarão muitos recursos econômicos e abrirão mão de todas as recompensas do bloco e receitas de taxas de transação. Mesmo que outros criadores de blocos continuem a criar blocos válidos em um bloco inválido, esses blocos serão ignorados por todos os nós e esses criadores de blocos acabarão por sair da rede.

Os nós completos são administrados por entidades econômicas importantes no ecossistema blockchain, incluindo plataformas de negociação de criptomoedas, emissores de stablecoin, oráculos, verificadores L2, provedores de serviços RPC, provedores de serviços de carteira gerenciada, baleias e usuários comuns. Estas principais entidades económicas verificam de forma independente o registo da blockchain e, portanto, não podem ser enganadas para aceitar blocos inválidos. Os nós completos não precisam se coordenar e comunicar entre si ao confirmar a validade dos blocos. Esses nós só precisam cumprir as regras do protocolo ao verificar os blocos para chegar a um consenso sobre a validade do bloco.

Blocos inválidos serão rejeitados por todos os nós e todos os nós continuarão rastreando blockchains válidos.

Muitas regras do protocolo blockchain são determinadas fora da cadeia pela comunidade, um processo também conhecido como “consenso social”. Alcançar o consenso social muitas vezes requer um processo formal (como uma Proposta de Melhoria Ethereum ou EIP), onde a comunidade discute os benefícios das mudanças nas regras de protocolo em várias plataformas sociais. Uma vez alcançado um consenso inicial fora da cadeia, os principais desenvolvedores do blockchain desenvolvem novas versões do cliente blockchain para implementar essas mudanças. Nós completos e criadores de blocos podem escolher se desejam executar novas versões do software e atualizar a rede por meio de hard forks (atualizações não compatíveis com versões anteriores) ou soft forks (atualizações compatíveis com versões anteriores).

Se a atualização do hard fork for controversa, a rede blockchain poderá se dividir em duas versões diferentes, e as duas versões operarão de forma independente. Quando isso acontecer, cada blockchain compartilhará todo o histórico desde o bloco gênese até uma determinada altura do bloco antes da bifurcação. Este foi o caso dos hard forks do Bitcoin e do Bitcoin Bash em 2017, quando todos discordavam sobre como melhorar o rendimento das transações. Este também foi o caso dos hard forks do Ethereum e do Ethereum Classic em 2016, quando a comunidade estava dividida sobre como lidar com o hack do DAO.

Bitcoin Cash é um fork do blockchain Bitcoin que surgiu devido a divergências sobre como melhorar o rendimento das transações.

Algumas blockchains não adotam um mecanismo de consenso fora da cadeia, mas optam por lidar com atualizações por meio de governança na cadeia. O detentor do token governa uma organização autônoma descentralizada (DAO) e decide sobre alterações nas regras do protocolo. Cada método de atualização de protocolo tem suas próprias vantagens e desafios exclusivos, e a solução a ser adotada depende das necessidades específicas da comunidade.

Reduza os requisitos de hardware para nós completos

Se os requisitos de hardware para um nó completo forem muito altos (por exemplo, hardware de nível industrial deve ser usado), então poucas entidades terão a capacidade ou a vontade de executar um nó completo e poderão escolher uma solução centralizada para ler e gravar nos dados do blockchain. Isso tornaria as redes blockchain mais suscetíveis à manipulação pelos criadores de blocos.

Para construir uma rede de nós completos saudável, muitos blockchains limitarão deliberadamente o rendimento das transações da rede e serão compatíveis com o hardware de nós de verificação com configuração mais baixa da comunidade. A redução dos requisitos de hardware não só permite que os nós completos funcionem adequadamente em circunstâncias normais, mas também permite o rápido estabelecimento de novos nós completos de validação se o blockchain for atacado por um grupo de criadores de blocos conspiradores. Cada blockchain tem diferentes requisitos específicos de hardware, mas eles são basicamente compatíveis com hardware comum de consumo.

Um nó completo de blockchain Bitcoin rodando em um Raspberry Pi, um microcomputador discreto

A lógica a seguir ilustra como a redução dos requisitos de hardware melhorará a proposta de valor central do blockchain:

Reduzir os requisitos de hardware → Reduzir os custos de verificação de blocos → Mais entidades podem executar nós completos → Ser mais capazes de resistir a ataques de criadores de blocos → Melhorar a segurança da rede → Alcançar melhor a neutralidade confiável → Aumentar o uso

Embora o protocolo blockchain não estipule claramente os requisitos de hardware para nós completos (porque a eficiência operacional de hardware e software está melhorando constantemente), ele estipula o rendimento da transação (nota: o rendimento da transação geralmente depende do tamanho do bloco e da frequência de produção do bloco) para visam especificamente um determinado tipo de configuração de hardware.

Embora a maioria dos blockchains seja compatível com hardware comum de consumo, alguns blockchains exigem que o hardware do nó de verificação esteja pelo menos no nível do servidor para aumentar o rendimento das transações. Estas blockchains percebem que, embora isso reduza o número de nós autoconstruídos que participam na verificação, ainda existem entidades económicas chave suficientes com recursos suficientes para executar nós completos.

Reduza os custos de verificação de blockchain

Um cenário ideal seria que todos no mundo executassem seus próprios nós completos para verificar as transações blockchain. No entanto, na realidade, construir um nó completo requer muito tempo e recursos e pode afetar a experiência de muitos utilizadores finais. À medida que o blockchain se torna cada vez mais popular, os usuários que estão acostumados a usar provedores de serviços centralizados podem achar muito problemático construir seus próprios nós completos. Eles preferem poder interagir imediatamente com aplicativos na cadeia.

Portanto, a maioria dos usuários finais nos blockchains convencionais atuais não constrói seus próprios nós, mas acessa provedores de serviços RPC e confia nesses provedores de serviços para fornecer serviços confiáveis, enviar transações de usuários para a rede blockchain e sincronizar o estado atual do blockchain para os usuários. Esses usuários podem não se importar com os benefícios da verificação autônoma do blockchain e a segurança da rede blockchain não é ideal. No entanto, em comparação com os modelos de computação tradicionais, o blockchain ainda apresenta enormes vantagens na minimização da confiança.

Hoje em dia, muitos usuários finais não executam nós completos, mas se conectam a provedores de serviços RPC confiáveis.

Existe uma solução de compromisso para este problema, que é integrar clientes leves em carteiras blockchain. Embora a integração de clientes leves possa reduzir a dependência dos provedores de serviços RPC e, portanto, melhorar o status quo até certo ponto, o modelo de cliente leve ainda exige fundamentalmente a confiança de que a maioria dos criadores de blocos cria blocos válidos e que os blocos são diferentes. bloco é público.

Para que o cliente light verifique o bloco do criador do bloco sem baixar e executar o bloco inteiro (ou seja, executando um nó completo), o cliente light precisa ser tecnicamente otimizado para aumentar o nível de minimização de confiança e se tornar um "cliente leve de confiança mínima ". A otimização técnica pode ser realizada nos seguintes aspectos:

Prova de fraude: O full node gera uma prova criptográfica e a envia ao cliente light, comprovando que o bloco é inválido e viola as regras do protocolo. Ao mesmo tempo, os clientes light não precisam reexecutar todas as transações do bloco. Prova de validade: Além da prova de fraude, também será gerada uma prova de conhecimento zero. O criador do bloco poderá comprovar diretamente ao cliente light que o bloco é válido e está de acordo com as regras do protocolo. Amostragem de Disponibilidade de Dados (DAS): Esta é uma técnica de amostragem probabilística que verifica se todos os dados em um bloco foram comprometidos com a rede sem exigir que clientes leves baixem o bloco inteiro. Clientes leves com confiança minimizada podem verificar os blocos do criador do bloco sem baixar ou executar o bloco inteiro

À medida que novas tecnologias de minimização de confiança são lançadas continuamente, os validadores podem verificar mais facilmente os blocos do criador do bloco, sem precisar baixar e executar o bloco inteiro, e com um custo de verificação menor. Isto ajudará a melhorar a segurança de toda a rede blockchain. Vale ressaltar que a criação de clientes leves com confiança minimizada pode levar ainda mais a redes blockchain mais escaláveis.

Dimensionando o blockchain enquanto mantém a verificação autônoma

Normalmente equiparamos a expansão do blockchain à melhoria do rendimento das transações. No entanto, uma compreensão mais abrangente deveria ser: a expansão da blockchain requer tanto a melhoria do rendimento das transações quanto a manutenção de baixos custos de verificação. Felizmente, clientes leves com confiança minimizada agora estão disponíveis e o rendimento da rede blockchain pode ser melhorado (como expandir a capacidade do bloco ou reduzir o tempo de geração do bloco) enquanto ainda mantém o custo de verificação do bloco em um nível baixo.

Além disso, soluções de expansão L2, como rollup, também usam tecnologia semelhante aos clientes leves com confiança minimizada, usando tecnologia de prova criptográfica para provar a validade das transações, e a rede blockchain subjacente não precisa executar todas as transações. O blockchain subjacente é um cliente leve reconhecido que minimiza a confiança para rollup L2. Além disso, as transações são empacotadas e armazenadas na blockchain para garantir a disponibilidade dos dados, o que pode aumentar significativamente o rendimento das transações e dificilmente aumentar quaisquer custos de verificação na blockchain subjacente.

O rollup L2 usa o blockchain subjacente como um cliente leve reconhecido e minimizador de confiança para melhorar o rendimento da transação Resumo

Blockchain é um livro-razão somente anexado que é muito seguro, confiável e neutro, trazendo-nos um novo paradigma de computação. Blockchain estabeleceu um mecanismo de verificação e equilíbrio de poder entre criadores de blocos e nós completos, que podem fornecer serviços à comunidade, atualizar e iterar continuamente e, ao mesmo tempo, manter suas propriedades imutáveis. Embora ainda precisemos de continuar a trabalhar arduamente para reduzir ainda mais o custo de verificação da blockchain, atualmente a blockchain já tem enormes vantagens sobre os modelos de computação tradicionais em termos de minimização da confiança.

——

O conteúdo deste artigo representa apenas as opiniões do próprio autor e não representa as opiniões da Chainlink Foundation ou Chainlink Labs.

FIM