BIP-119: O que é e como pode mudar o Bitcoin
A BIP-119 tem o potencial de habilitar casos de uso como controle de congestionamento, cofres, canais de pagamento, loterias, contratos inteligentes e outros. A BIP-119 também pode introduzir uma complexidade indesejada no protocolo do Bitcoin, que poderia comprometer a sua segurança.
O Bitcoin é uma rede descentralizada que permite a transferência de valor entre seus participantes, sem a necessidade de intermediários ou autoridades centrais. O Bitcoin funciona com base em um protocolo que define as regras de consenso, validação e execução das transações. Esse protocolo é composto por um conjunto de operações, chamadas de opcodes, que são usadas para construir scripts que determinam as condições de gasto dos bitcoins.
Uma das propostas de melhoria do protocolo do Bitcoin é a BIP-119, que significa Bitcoin Improvement Proposal 119. Essa proposta foi apresentada pelo desenvolvedor Jeremy Rubin, fundador da Judica, uma empresa de pesquisa e desenvolvimento focada em um novo idioma de contrato inteligente chamado Sapio. A BIP-119 visa introduzir um novo opcode, chamado OP_CHECKTEMPLATEVERIFY (CTV), que permitiria a criação de covenants, um novo tipo de transação condicional.
A BIP-119 tem o potencial de habilitar casos de uso como controle de congestionamento, cofres, canais de pagamento, loterias, contratos inteligentes e outros. A BIP-119 também pode introduzir uma complexidade indesejada no protocolo do Bitcoin, que poderia comprometer a sua segurança.
O que são covenants?
Covenants são transações que impõem restrições sobre como os bitcoins podem ser gastos no futuro. Por exemplo, um covenant poderia enviar um bitcoin para alguém que só poderia enviar esse bitcoin para um endereço específico. Outro exemplo seria um covenant que bloquearia um bitcoin por um determinado período de tempo, ou que exigiria uma prova de trabalho para ser gasto.
Os covenants permitem uma programação mais expressiva e um roteamento de transações mais eficiente. Com os covenants, seria possível criar soluções de custódia mais inteligentes, com cofres automáticos que protegeriam os bitcoins de hackers. Também seria possível confirmar pagamentos para vários destinatários de forma eficiente, pagando menos taxas. Além disso, os covenants poderiam potencializar a rede Lightning, permitindo a criação de canais sem interação, com tantos quanto quisesse, e roteando tantos HTLCs quanto quisesse.
Como funciona o CTV?
O CTV é um opcode que verifica se a transação de saída corresponde a um modelo pré-definido. O modelo é um hash de uma transação parcialmente assinada, que especifica os valores, os endereços e as sequências dos outputs. O CTV impede que a transação de saída seja alterada de qualquer forma que não esteja de acordo com o modelo. Dessa forma, o CTV cria uma relação de dependência entre as transações, garantindo que elas sejam executadas na ordem e nas condições desejadas.
O CTV é um opcode simples, que não requer nenhuma alteração na estrutura das transações ou na validação dos scripts. O CTV é compatível com os opcodes existentes, e pode ser combinado com eles para criar covenants mais complexos.
Como ativar o CTV?
O CTV é uma proposta de soft fork, ou seja, uma mudança que torna as regras do protocolo mais restritivas, mas que mantém a compatibilidade com as versões anteriores. Para ativar o CTV, é necessário obter o consenso da rede, ou seja, a aprovação da maioria dos participantes, incluindo os mineradores, os nós e os usuários.
Rubin propôs usar um Speedy Trial para obter o consenso para a ativação do CTV. Como o nome sugere, o Speedy Trial é um método que acelera o processo de testar se uma proposta de melhoria pode obter o consenso. O Speedy Trial foi usado para ativar a atualização Taproot, por exemplo.
O Speedy Trial requer a aprovação de 90% do poder de hash da rede, ou seja, dos mineradores que validam as transações e criam os blocos. Esse método é chamado de Miner Activated Soft Fork (MASF), que requer que os mineradores sinalizem o seu apoio à proposta. Os nós podem então atualizar o seu software quando a proposta obtiver o hash rate suficiente para ser ativada.
Qual é a opinião da comunidade sobre o CTV?
A BIP-119 é uma proposta controversa, que tem gerado debates e divergências na comunidade do Bitcoin. Alguns desenvolvedores são favoráveis à proposta, alegando que ela traria mais funcionalidades, eficiência e inovação para a rede. Outros são contrários à proposta, argumentando que ela seria desnecessária, complexa e arriscada para a segurança e a estabilidade do protocolo.
Rubin tem defendido a sua proposta com entusiasmo, tentando convencer os mineradores, os nós e os usuários a apoiarem o CTV. Ele também tem incentivado as pessoas a lerem a sua explicação completa sobre a BIP-119, que está disponível no site utxos.org. Rubin afirma que o CTV é uma proposta simples, cuidadosamente projetada para ser fácil de entender, usar e implantar.
No entanto, Rubin também tem enfrentado críticas e resistências de outros desenvolvedores, que questionam a necessidade, a viabilidade e as implicações do CTV. Alguns desenvolvedores acreditam que o CTV é uma solução em busca de um problema, que não traria benefícios significativos para o Bitcoin. Outros desenvolvedores temem que o CTV introduza uma complexidade indesejada no protocolo, que poderia comprometer a sua segurança e a sua robustez.
Um dos desenvolvedores que se opõem ao CTV é Luke Dashjr, que é conhecido por ser um dos mais rigorosos e conservadores na defesa do protocolo do Bitcoin. Dashjr criticou a proposta de Rubin, dizendo que ela é “uma bagunça” e que ela “não tem chance de ser aceita”. Dashjr também acusou Rubin de tentar forçar a sua proposta na rede, usando um método de ativação inadequado e apressado. Dashjr defende que as propostas de melhoria do protocolo do Bitcoin devem ser ativadas pelos usuários, através de um User Activated Soft Fork (UASF), que requer a aprovação dos nós, que são os computadores que executam o protocolo e verificam as transações. Ele alega que esse método é mais democrático e seguro, pois dá mais poder aos usuários e evita que os mineradores imponham as suas vontades na rede.
Outro desenvolvedor que se manifestou contra o CTV foi Jimmy Song, que é um dos mais influentes e respeitados educadores e comunicadores do Bitcoin. Song fez uma enquete no Twitter, perguntando aos seus seguidores se eles apoiavam ou não o Speedy Trial a BIP-119. O resultado foi que apenas 13% dos votantes disseram que sim, enquanto 87% disseram que não. Song especulou que o número baixo de votos (ele normalmente atrai milhares de votos em uma enquete típica no Twitter) indicava que poucas pessoas sequer entendiam a BIP-119.
Quais são os pontos negativos da BIP-119?
A BIP-119 poderia trazer alguns pontos negativos para o Bitcoin, que poderiam afetar as suas características e o seu funcionamento. Alguns dos pontos negativos da BIP-119 são:
Fungibilidade do Bitcoin
A BIP-119 poderia afetar negativamente a fungibilidade do Bitcoin, uma das suas principais características. A fungibilidade do Bitcoin se baseia no fato de que cada bitcoin é idêntico em funcionalidade e qualidade. A introdução de covenants que mudam as propriedades de unidades específicas de bitcoin efetivamente criaria diferentes tipos de bitcoins em termos de como eles podem ser gastos ou para onde eles podem ser enviados. Isso poderia reduzir o valor desses bitcoins, pois eles teriam menos opções de uso. Além disso, esses bitcoins poderiam ser rastreados pela rede, pois eles teriam uma marca distintiva que os identificaria como parte de um covenant. Isso poderia prejudicar a censura resistência e a privacidade do Bitcoin, que são duas das suas principais características.
Por exemplo, um covenant poderia enviar um bitcoin para alguém que só poderia enviar esse bitcoin para um endereço específico. Esse bitcoin teria uma restrição que o diferenciaria de outros bitcoins que podem ser enviados para qualquer endereço. Isso poderia reduzir o valor desse bitcoin, pois ele teria menos opções de uso. Além disso, esse bitcoin poderia ser rastreado pela rede, pois ele teria uma marca distintiva que o identificaria como parte de um covenant.
Outro exemplo seria um covenant que bloquearia um bitcoin por um determinado período de tempo, ou que exigiria uma prova de trabalho para ser gasto. Esse bitcoin teria uma condição que o tornaria menos líquido do que outros bitcoins que podem ser gastos imediatamente. Isso poderia diminuir o valor desse bitcoin, pois ele teria menos demanda no mercado. Da mesma forma, esse bitcoin poderia ser monitorado pela rede, pois ele teria uma característica única que o associaria a um covenant.
Esses exemplos mostram como os covenants poderiam afetar a fungibilidade do Bitcoin, criando diferentes tipos de bitcoins com diferentes propriedades e valores. Isso poderia prejudicar a censura resistência e a privacidade do Bitcoin, que são duas das suas principais características.
Complexidade indesejada
A BIP-119 poderia introduzir uma complexidade indesejada no protocolo do Bitcoin, que poderia comprometer a sua segurança e a sua robustez. A BIP-119 requer a adição de um novo opcode, que aumenta o espaço de ataque e o risco de bugs. Além disso, a BIP-119 poderia criar cenários imprevistos ou indesejados, como loops infinitos, transações inválidas ou perda de fundos.
Alguns desses cenários são:
- Loops infinitos: Um covenant pode criar um loop infinito se ele se referir a si mesmo ou a outro covenant que o referencie, criando uma cadeia circular de transações que nunca termina. Isso poderia consumir recursos da rede e causar problemas de escalabilidade.
- Transações inválidas: Um covenant pode criar uma transação inválida se ele especificar uma condição que não pode ser satisfeita, como um endereço que não existe ou um valor que é maior do que o saldo disponível3. Isso poderia fazer com que os bitcoins ficassem presos em um endereço inacessível e fossem perdidos para sempre.
- Perda de fundos: Um covenant pode criar uma perda de fundos se ele especificar uma condição que é muito difícil ou impossível de ser verificada, como uma prova de conhecimento zero ou uma assinatura de um terceiro que não coopera. Isso poderia fazer com que os bitcoins ficassem bloqueados em um endereço até que a condição fosse cumprida, o que poderia nunca acontecer.
Esses são alguns exemplos de cenários que a BIP-119 poderia criar, mas há outros possíveis. Por isso, é importante entender bem os riscos e benefícios da proposta antes de apoiá-la ou rejeitá-la.
Ativação apressada
A BIP-119 poderia ser ativada de forma inadequada e apressada, sem o consenso adequado da rede. A BIP-119 propõe usar um Speedy Trial para obter o consenso para a ativação do CTV. Esse método requer a aprovação de 90% do poder de hash da rede, ou seja, dos mineradores que validam as transações e criam os blocos. Esse método é chamado de Miner Activated Soft Fork (MASF), que requer que os mineradores sinalizem o seu apoio à proposta. Alguns desenvolvedores criticam esse método, dizendo que ele é inapropriado e precipitado para uma proposta tão complexa e controversa como a BIP-119. Eles também dizem que o Speedy Trial é uma forma de manipulação dos mineradores, que poderiam ser induzidos a sinalizar sem entender as implicações da proposta
Conclusão
A BIP-119 tem o potencial de habilitar casos de uso como controle de congestionamento, cofres, canais de pagamento, loterias, contratos inteligentes e outros. No entanto, a BIP-119 também pode introduzir uma complexidade indesejada no protocolo do Bitcoin, que poderia comprometer a sua segurança e a sua robustez. A BIP-119 requer a adição de um novo opcode, que aumenta o espaço de ataque e o risco de bugs. Além disso, a BIP-119 poderia criar cenários imprevistos ou indesejados, como loops infinitos, transações inválidas ou perda de fundos.
A BIP-119 está atualmente em discussão na comunidade do Bitcoin, e há opiniões divergentes sobre ela. Alguns desenvolvedores, usuários e empresas apoiam a proposta, alegando que ela traz mais expressividade e flexibilidade para o Bitcoin. Outros criticam a proposta, argumentando que ela traz mais complexidade e risco para o Bitcoin. A BIP-119 requer a aprovação de 90% do poder de mineração da rede para ser ativada, o que pode ser difícil de alcançar. Além disso, a BIP-119 propõe usar um método de ativação chamado Speedy Trial, que acelera o processo de teste de consenso, mas que também pode gerar pressão e conflito na comunidade.
A BIP-119 é, portanto, uma proposta controversa, que levanta questões técnicas, econômicas e filosóficas sobre o futuro do Bitcoin. É importante que os interessados no Bitcoin entendam bem os riscos e benefícios da proposta antes de apoiá-la ou rejeitá-la. A BIP-119 pode ser uma revolução ou um risco para o Bitcoin, dependendo da perspectiva de cada um.
Links de referência
utxos.org
github.com/bitcoin/bips/blob/master/bip-0119.mediawiki
BIP-119: Here’s everything you need to know about the Bitcoin proposal9: Unpacking CTV and How It Would Change Bitcoin
bip119.com
bitcoinmagazine.com/technical/what-is-bip-119-bitcoin-controversy-explained
bitcoinmagazine.com/technical/what-is-bitcoin-checktemplateverify