Mastodon

BitVM: Uma Revolução Computacional no Bitcoin

O BitVM é um novo paradigma de computação que permite, teoricamente, qualquer computação no próprio Bitcoin. Isso pode abrir portas para contratos inteligentes mais complexos, aplicações descentralizadas e outras funcionalidades.

BitVM: Uma Revolução Computacional no Bitcoin
Imagem de um computador Bitcoin muito antigo, feito de metal, com acabamento dourado e muitos botões, peças, fios e engrenagens.

Introdução

O universo das criptomoedas tem sido palco de inovações contínuas desde a criação do Bitcoin. Cada avanço visa melhorar a eficiência, segurança e versatilidade das transações e contratos realizados na blockchain. O BitVM surge como uma proposta revolucionária, prometendo trazer computação arbitrária para o Bitcoin sem a necessidade de um fork. Este artigo busca elucidar os aspectos técnicos e práticos do BitVM, suas vantagens, desvantagens e os desafios que enfrenta.

O BitVM é um novo paradigma de computação que utiliza a porta lógica (gate) NAND, juntamente com outras portas, dentro das folhas Taproot com transações pré-assinadas. Esta abordagem permite, teoricamente, qualquer computação no próprio Bitcoin. A ideia central é que, usando apenas portas NAND, é possível construir circuitos para qualquer computação arbitrária, algo que já é bem estabelecido na teoria da computação.

Assista a cobertura sobre o BitVM no Morning Crypto!

Resumo de Funcionamento

O surgimento do BitVM não é apenas uma conquista técnica, mas também é impulsionado por incentivos claros no ecossistema do Bitcoin. A capacidade de realizar computações arbitrárias diretamente no Bitcoin tem o potencial de expandir significativamente as aplicações do Bitcoin além de simples transações monetárias. Isso pode abrir portas para contratos inteligentes mais complexos, aplicações descentralizadas e outras funcionalidades que antes eram domínio de outras blockchains, como Ethereum.

O BitVM opera elevando a lógica de computação para fora da cadeia (off-chain) e permitindo que apenas alguns passos da computação sejam processados na cadeia (on-chain), inclusive se uma das partes apresentar um resultado desonesto. Isso é alcançado através da combinação de portas NAND dentro das folhas Taproot e transações pré-assinadas. Em essência, o BitVM permite a execução de computações Turing-completas no Bitcoin de forma verificável e aplicável.

Porta lógica NAND (NOT AND)

Uma porta lógica NAND (acrônimo de NOT AND) é um das portas lógicas fundamentais na eletrônica digital. Ele tem duas entradas e uma saída. A porta NAND produz uma saída FALSE (0) apenas quando ambas as suas entradas são TRUE (1). Em todos os outros casos, produz uma saída TRUE. Matematicamente, a operação NAND é a negação da operação AND, daí o nome "NOT AND".

A importância da porta NAND na computação é que ele é uma porta lógica "universal", o que significa que qualquer função lógica ou computacional pode ser construída usando apenas portas NAND. Isso o torna fundamental na construção de circuitos eletrônicos e computadores.

Tapscript using NAND gates source: BitVM Paper

Taproot e Tapscript

O Taproot é uma atualização proposta para o Bitcoin que melhora sua privacidade e eficiência. Uma das principais características do Taproot é que ele permite que múltiplas condições de gasto sejam combinadas em uma única condição, tornando as transações mais eficientes e privadas. O Tapscript, por outro lado, é a linguagem de script que permite a execução dessas condições. Cada "Tapleaf" ou "Folha Taproot" representa uma possível condição de gasto dentro de uma estrutura Taproot. Foi introduzido no Bitcoin através do BIP (Bitcoin Improvement Proposal) 341.

A ideia central por trás do Taproot é combinar os benefícios dos scripts de pagamento (que permitem condições complexas para gastar bitcoins) com as transações regulares de assinatura única, de modo que ambas pareçam indistinguíveis na blockchain. Isso é alcançado usando uma combinação de técnicas criptográficas, incluindo assinaturas Schnorr e Merkle trees.

Os benefícios do Taproot incluem:

  1. Privacidade aprimorada: Todas as transações, independentemente de sua complexidade, parecerão transações regulares de assinatura única na blockchain.
  2. Menor uso de espaço: Transações complexas que usam scripts de pagamento podem ser representadas de forma mais eficiente, economizando espaço na blockchain.
  3. Flexibilidade: Permite a criação de contratos inteligentes mais complexos e flexíveis no Bitcoin sem revelar toda a complexidade na blockchain.
Taproot circuit source: BitVM Paper

Em resumo, enquanto a porta NAND é um conceito fundamental na eletrônica e na teoria da computação, o Taproot é uma inovação específica do Bitcoin que visa melhorar a forma como as transações e contratos inteligentes são representados e processados na blockchain. Ambos são conceitos cruciais ao discutir o BitVM e suas implicações para o futuro do Bitcoin.

Turing Complete (Turing-Completo)

O termo "Turing Complete" refere-se à capacidade de um sistema de computação de simular qualquer máquina de Turing. Em termos mais simples, se um sistema é Turing Complete, significa que ele tem a capacidade de resolver qualquer problema computacional, desde que seja fornecido tempo e memória suficientes.

A Máquina de Turing, inspirada no renomado cientista da computação Alan Turing, é um conceito teórico que representa como um computador funciona em seu nível mais básico. Imagine uma longa fita que contém informações e uma "máquina" que segue regras específicas para ler e modificar essas informações. Embora não seja uma entidade física real, este modelo é crucial na ciência da computação, pois estabelece um padrão para determinar os limites das capacidades computacionais.

Quando dizemos que uma linguagem de programação ou um sistema é Turing Complete, estamos essencialmente dizendo que ele tem a capacidade de simular qualquer Máquina de Turing e, portanto, pode ser usado para executar qualquer cálculo que uma Máquina de Turing possa executar.

No contexto do BitVM e do Bitcoin, a afirmação de que o BitVM permite a execução de computações "Turing-completas" no Bitcoin significa que o BitVM tem a capacidade teórica de executar qualquer tipo de cálculo ou programa no Bitcoin, tornando-o uma plataforma extremamente poderosa e versátil para desenvolvimento de aplicações descentralizadas.

Formato Bristol no BitVM

O formato Bristol é um padrão adotado para descrever como os circuitos que verificam informações sem revelá-las (conhecidos como zero-knowledge proofs) são estruturados. Em termos simples, é como um guia ou modelo que mostra como organizar e interpretar esses circuitos. Aqui está uma representação simplificada de como ele se parece:

127 191
1 64 
1 1 
...
1 1 63 65 INV
1 1 60 64 INV
2 1 65 64 69 AND
...
  • A primeira linha 127 191 define o número de "fios" necessários no circuito.
  • A segunda linha 1 64 define quantos fios "de entrada" contribuirão com bits de entrada para a função.
  • A terceira linha 1 1 define quantos fios "de saída" sairão do circuito.
  • As linhas subsequentes representam as portas lógicas do circuito, como INV (Inverter) e AND.

O formato Bristol é uma representação compacta e eficiente de circuitos booleanos. No contexto do BitVM, ele é usado para definir circuitos que podem ser avaliados e verificados no Bitcoin.

Para converter, executar e validar um circuito Bristol em um endereço taproot, são necessárias várias dependências. A prova de conceito fornece funções para converter cada linha em uma matriz, definir algumas variáveis necessárias usando as três primeiras linhas e, em seguida, ajustar o circuito apenas para as portas lógicas.

Zero-Knowledge Proofs (Provas de Conhecimento Zero)

As provas de conhecimento zero são um conceito criptográfico que permite a uma parte (o proponente) provar a outra parte (o verificador) que uma determinada afirmação é verdadeira, sem revelar qualquer informação específica sobre a afirmação em si. Em outras palavras, é possível provar que você sabe algo sem revelar o que você sabe.

Por exemplo, imagine que você quer provar que conhece a senha de um sistema, mas não quer revelar a senha em si. Usando uma prova de conhecimento zero, você pode convencer alguém de que conhece a senha sem realmente mostrá-la.

Alibaba Cave with Alice and Bob: Zero-Knowledge Proof Source: Wikipedia

Benefícios das Zero-Knowledge Proofs para o BitVM:

  1. Privacidade Aprimorada: Ao usar provas de conhecimento zero no BitVM, seria possível realizar cálculos e transações sem revelar os detalhes específicos dessas operações. Isso significa que os detalhes de contratos inteligentes ou outras operações poderiam permanecer privados, enquanto ainda se verifica sua validade.
  2. Eficiência em Disputas: Em cenários onde há disputas sobre a execução de um contrato no BitVM, as provas de conhecimento zero poderiam ser usadas para validar rapidamente as reivindicações sem a necessidade de processar toda a computação ou transação em detalhes.
  3. Redução da Quantidade de Dados: Como as provas de conhecimento zero não requerem a divulgação de todos os detalhes de uma transação ou cálculo, elas poderiam ajudar a reduzir a quantidade de dados que precisam ser armazenados e transmitidos na rede.
  4. Expansão das Capacidades do BitVM: Ao incorporar provas de conhecimento zero, o BitVM poderia suportar uma gama mais ampla de aplicações e contratos que exigem privacidade e segurança avançadas, tornando-o mais versátil e poderoso.

Redes de Segunda Camada (Layer 2)

Redes de segunda camada são soluções construídas "em cima" de um blockchain existente (como o Bitcoin ou Ethereum) para aumentar sua capacidade e velocidade. Elas permitem que as transações sejam processadas fora da cadeia principal (off-chain) e, em seguida, sejam consolidadas e registradas na cadeia principal (on-chain) em um momento posterior. Isso ajuda a aliviar o congestionamento e reduzir as taxas.

Como as Zero-Knowledge Proofs Facilitariam as Redes de Segunda Camada:

  1. Validação Compacta de Transações: ZKPs podem ser usadas para criar "comprovantes" de um grande número de transações off-chain. Em vez de submeter cada transação individualmente à cadeia principal, um único comprovante ZKP que valida todas essas transações pode ser submetido. Isso economiza espaço e reduz as taxas.
  2. Privacidade nas Transações: Em redes de segunda camada, onde muitas transações ocorrem fora da cadeia principal, as ZKPs podem garantir que os detalhes dessas transações permaneçam privados, enquanto ainda provam sua validade.
  3. Interoperabilidade Segura: As ZKPs podem facilitar a comunicação segura entre diferentes redes de segunda camada ou entre uma rede de segunda camada e a cadeia principal, sem revelar detalhes sensíveis.
  4. Resolução Eficiente de Disputas: Em sistemas de segunda camada, onde as transações são geralmente confirmadas entre partes e depois registradas na cadeia principal, as disputas podem surgir. As ZKPs permitem que uma parte prove que agiu corretamente sem revelar os detalhes exatos da transação, facilitando uma resolução de disputa mais eficiente.
  5. Escalabilidade Aprimorada: Ao combinar redes de segunda camada com ZKPs, é possível processar um número significativamente maior de transações fora da cadeia principal e, em seguida, consolidá-las em um único comprovante na cadeia principal. Isso pode aumentar drasticamente a quantidade de transações que uma blockchain pode suportar.
  6. Desenvolvimento de ZK Rollups: Um dos avanços mais notáveis que combinam redes de segunda camada com ZKPs é o "ZK Rollup". Neste sistema, as transações são processadas fora da cadeia principal e, em seguida, "enroladas" em um único comprovante ZKP que é registrado na cadeia principal. Isso combina a eficiência das redes de segunda camada com a segurança e privacidade das ZKPs.
Sidechains (CoinDesk)
Sidechains Source: Blockstream

Em resumo, as provas de conhecimento zero têm o potencial de revolucionar o funcionamento das redes de segunda camada, tornando-as mais seguras, privadas e escaláveis. Ao fazer isso, elas podem desempenhar um papel crucial na superação dos desafios de escalabilidade enfrentados por muitas blockchains hoje.

Resumo de Cada Funcionalidade Técnica Relevante

  1. Portas NAND no Bitcoin: O BitVM utiliza a porta lógica NAND, que é uma porta universal, permitindo a construção de qualquer função lógica. No contexto do BitVM, essas portas são construídas usando o script do Bitcoin, especificamente com a ajuda de hashlocks e op codes como OP_BOOLAND e OP_NOT.
  2. Formato Bristol: O formato Bristol é uma representação padronizada para circuitos booleanos. No contexto do BitVM, ele é usado para representar e processar circuitos de forma compacta e eficiente. Esse formato é crucial para a criação e validação de circuitos no BitVM, permitindo a execução de funções mais complexas diretamente na blockchain do Bitcoin. A capacidade de representar circuitos de forma tão compacta é vital para otimizar o espaço e a eficiência, especialmente quando se considera a natureza limitada do espaço de armazenamento e processamento na blockchain.
  3. Taproot e Transações Pré-assinadas: O BitVM integra-se com as folhas Taproot para criar uma árvore que cobre cada etapa de qualquer computação arbitrária. As transações pré-assinadas são usadas para criar um jogo de desafio e resposta que pode ser executado on-chain.
  4. Computação Arbitrária: Através da combinação de portas NAND e a estrutura Taproot, o BitVM pode representar e executar qualquer computação, tornando o Bitcoin uma plataforma mais versátil para desenvolvimento de aplicações.
  5. Infraestrutura Off-chain: Dada a natureza do BitVM de elevar a lógica de computação para fora da cadeia, é necessário ter uma infraestrutura robusta off-chain para suportar a computação e verificação.
  6. Zero-Knowledge Proofs (ZKPs): ZKPs são provas criptográficas que permitem que uma parte prove a outra que uma afirmação é verdadeira, sem revelar qualquer informação além da validade da afirmação. No contexto do BitVM, a integração bem-sucedida de ZKPs poderia revolucionar a forma como as transações e contratos são validados. Embora a aplicação direta de ZKPs ao BitVM ainda não tenha sido confirmada, se possível, abriria um vasto leque de oportunidades, permitindo validações mais eficientes e privadas.
  7. Redes de Segunda Camada (L2s): São soluções construídas "em cima" da blockchain principal (primeira camada) para aumentar a capacidade de transação e reduzir os tempos e custos de transação. A potencial integração de ZKPs no BitVM poderia facilitar a criação de L2s no Bitcoin, permitindo transações mais rápidas, mais privadas e mais baratas. Isso porque, com a validação eficiente proporcionada pelos ZKPs, as transações em uma segunda camada poderiam ser agregadas e verificadas de forma mais compacta na blockchain principal.

Casos de Uso: Transações Seguras e Verificáveis com o BitVM

Em um mundo cada vez mais digital, a necessidade de transações seguras e verificáveis é crucial. O Bitcoin, com sua natureza descentralizada e imutável, oferece uma solução robusta para transferências de valor. No entanto, sua estrutura atual não permite chargebacks, o que pode ser problemático em situações onde a confiança entre as partes é baixa ou inexistente.

Atualmente, de maneira simplificada, o comprador e um vendedor fechariam um acordo sobre um negócio e definiriam todos os valores e documentos que resultariam desse acordo. Todas essas informações seriam passadas por um sistema, que a transformariam em circuitos e o resultado final seriam alguns hashes e wallets taproot.

O comprador depositaria o valor da compra, e o vendedor depositaria um seguro para o caso de não cumprir com requisitos. E então à cada passo ou documento certificado, o mesmo seria submetido ao Bitcoin, através de uma transação, para comprovar que aquela etapa foi cumprida no prazo.

Em caso de tentativa de fraude ou atraso na entrega dos documentos por parte do vendedor por exemplo, o valor total da compra adicionado do seguro seriam entregues ao comprador, como penalidade ao vendedor.

No modelo tradicional, usaríamos um escrow para esse negócio mais crítico. Com o uso de BitVM, o próprio Bitcoin poderia validar e certificar que o negócio aconteceu corretamente, para que só então os fundos pudessem ser desbloqueados e transferidos.

Considere o cenário de compra e venda de um veículo ou imóvel. Tradicionalmente, a transferência de fundos e a troca de documentos ou chaves ocorrem quase simultaneamente, muitas vezes com intermediários para garantir que ambas as partes cumpram sua parte do acordo. No entanto, com o Bitcoin, uma vez que a transação é confirmada, não há como reverter os fundos, mesmo que uma das partes não cumpra sua parte do acordo.

Aqui entra o BitVM. Imagine um contrato inteligente no BitVM onde o comprador deposita o valor do veículo ou imóvel em Bitcoin. Esse valor só é liberado para o vendedor uma vez que todos os documentos ou chaves são verificados e transferidos para o comprador. Isso garante que ambas as partes cumpram suas obrigações antes que a transação seja finalizada.

Este mecanismo poderia ter sido extremamente útil para plataformas como o OpenBazaar, um marketplace descentralizado que, infelizmente, teve que encerrar suas operações devido a um alto índice de fraudes relacionadas à não entrega de produtos. Embora o OpenBazaar tenha tentado mitigar essas fraudes usando sistemas de escrow, esses intermediários muitas vezes cobravam taxas proibitivas ou se recusavam a participar de certos acordos.

Com o BitVM, a necessidade de intermediários como os sistemas de escrow poderia ser eliminada. O contrato inteligente no BitVM atuaria como um garantidor automático, assegurando que o pagamento só fosse liberado após a confirmação de entrega do produto ou serviço. Isso não apenas reduziria as taxas associadas a intermediários, mas também aumentaria a confiança nas transações, potencialmente revolucionando a forma como realizamos negócios em um ambiente digital.


Vantagens e Desvantagens

Vantagens:

  1. Expansão das Capacidades do Bitcoin: O BitVM permite que o Bitcoin vá além das transações monetárias, abrindo portas para contratos inteligentes e aplicações descentralizadas mais complexas.
  2. Sem Necessidade de Atualização Imediata: Uma das maiores vantagens do BitVM é que ele permite essa expansão sem a necessidade de um fork ou atualização significativa no protocolo Bitcoin. No entanto, é amplamente reconhecido pela comunidade de desenvolvedores que, embora não seja estritamente necessário, uma atualização seria desejável para acelerar o progresso e otimizar o funcionamento do BitVM.
  3. Privacidade Aprimorada: Com a integração do Taproot, as transações BitVM podem parecer transações regulares, melhorando a privacidade dos usuários a um custo reduzido.
  4. Eficiência: Embora ainda esteja em seus estágios iniciais e esteja muito distante de ser uma solução eficiente tanto em custo como processamento, o BitVM tem o potencial de ser uma solução eficiente para computação on-chain, especialmente à medida que as otimizações são implementadas.
  5. Redução de Intermediários: O BitVM pode eliminar a necessidade de intermediários, como escrows, em transações, reduzindo custos e aumentando a eficiência.

Desvantagens:

  1. Limitações Iniciais: Como é um sistema em desenvolvimento, o BitVM tem várias limitações, como a restrição de ser um sistema de duas partes e a necessidade de criar uma nova transação Bitcoin para cada interação de contrato inteligente.
  2. Volume de Transações e Requisitos de Dados: A implementação do BitVM, especialmente em cenários de disputa, pode exigir um grande número de transações para resolver e verificar computações. Além disso, a construção de uma máquina virtual usando portas NAND pode resultar em requisitos massivos de dados. Isso implica em compartilhar grandes volumes de dados entre os pares participantes, o que pode ser um desafio em termos de escalabilidade e eficiência.
  3. Complexidade Computacional: Criar os circuitos necessários para o BitVM, especialmente em níveis mais avançados de computação, requer uma quantidade significativa de poder computacional. Isso pode ser uma barreira para implementações mais amplas até que otimizações sejam feitas.
  4. Possibilidade de Fork: Embora o BitVM possa operar sem a necessidade de um fork, muitos desenvolvedores veem um fork, como a BIP119, como desejável para acelerar os desenvolvimentos e otimizar ainda mais o sistema.
  5. Reuso: Atualmente, o BitVM é incapaz de reutilizar seus contratos inteligentes, sendo necessário o pré-processamento de todos os requisitos para estabelecer um novo contrato, envolvendo o alto volume de transferência de dados assim como o alto processamento necessário à criação dos circuitos off-chain.

Desafios

O BitVM, embora promissor, ainda está em seus estágios iniciais de desenvolvimento e apresenta vários desafios técnicos. Além das limitações já mencionadas, como a necessidade de grandes volumes de dados e a complexidade associada à criação de circuitos, existem outros aspectos que merecem atenção.

Um desses desafios é a capacidade de criar sidechains. Atualmente, o BitVM ainda não oferece suporte para a criação de sidechains, que são cadeias paralelas ao blockchain principal do Bitcoin. Estas sidechains têm o potencial de aumentar a escalabilidade e a funcionalidade do Bitcoin, permitindo transações mais rápidas e a implementação de recursos que não são possíveis no blockchain principal. No entanto, a integração de sidechains com o BitVM ainda é um objetivo a ser alcançado.

Além disso, o BitVM, em sua forma atual, não suporta a criação de altcoins ou outras moedas. Isso pode ser visto tanto como uma limitação quanto como uma salvaguarda. A criação de novas moedas ou tokens, especialmente aquelas que não têm valor intrínseco ou propósito claro, pode atrair esquemas fraudulentos e scams. Estes não só prejudicam os investidores, mas também podem atrair atenção regulatória indesejada para o Bitcoin. A incapacidade do BitVM de criar altcoins pode, portanto, ser vista como uma medida de proteção contra potenciais ameaças ao ecossistema do Bitcoin.

Uma das limitações notáveis do BitVM é a sua natureza de "uso único" para contratos inteligentes. Diferentemente de plataformas como Ethereum, onde os contratos têm endereços persistentes que qualquer um pode chamar a qualquer momento, o BitVM exige a criação de um novo contrato para cada interação.

No entanto, é importante notar que, à medida que o BitVM evolui, novas funcionalidades e capacidades podem ser adicionadas. A comunidade de desenvolvedores e stakeholders precisará abordar esses desafios com cautela, garantindo que qualquer inovação introduzida no BitVM não comprometa a segurança, integridade e reputação do Bitcoin.


Conclusão

O BitVM, com sua proposta revolucionária de introduzir capacidades de computação arbitrária no Bitcoin, representa uma etapa significativa na evolução da criptomoeda mais renomada do mundo. Através da utilização da porta lógica NAND e da potencial integração de tecnologias como Zero-Knowledge Proofs, o BitVM busca expandir as funcionalidades do Bitcoin, permitindo que ele vá além das simples transações monetárias e entre no domínio dos contratos inteligentes e das aplicações descentralizadas.

Um caso de uso prático e relevante para o BitVM seria a realização de transações seguras, como a compra e venda de veículos ou imóveis. Em situações tradicionais, a transferência de fundos e a troca de documentos ocorrem quase simultaneamente, muitas vezes com intermediários para garantir a integridade da transação. No entanto, com o BitVM, seria possível criar contratos inteligentes que garantam que o pagamento só seja liberado após a verificação e transferência adequada de todos os documentos necessários.

No entanto, como toda inovação, o BitVM não está isento de desafios. A incapacidade de reutilizar contratos inteligentes, a necessidade de grandes volumes de dados, a complexidade inerente à criação de circuitos, a limitação atual a um sistema de duas partes e o alto custo inerente ao grande número de transações on-chain são obstáculos que os desenvolvedores precisarão superar. Além disso, o BitVM ainda não suporta a criação de sidechains ou altcoins, o que pode ser visto como uma proteção contra potenciais ameaças ao ecossistema do Bitcoin.

Embora o BitVM possa operar sem a necessidade de um fork, a comunidade de desenvolvedores vê um fork, como a BIP119, como uma maneira desejável de acelerar e otimizar os desenvolvimentos. A integração de tais atualizações pode ser crucial para superar os desafios atuais e desbloquear o potencial completo do BitVM.

Em resumo, o BitVM representa uma das inovações técnicas mais empolgantes no espaço Bitcoin nos últimos tempos. Embora esteja em seus estágios iniciais e venha com desafios significativos, o potencial que oferece para expandir as capacidades do Bitcoin é inegável. A comunidade global aguarda com expectativa os desenvolvimentos futuros, na esperança de que o BitVM possa cumprir sua promessa e solidificar ainda mais a posição do Bitcoin como uma força dominante no mundo digital.

Send sats if you liked.

⚡️eddieoz@sats4.life