比特币现金:面向全球的点对点电子现金

Por Bitcoin Cash Development Team · 2017

O Bitcoin Cash (BCH) foi gerado a partir de um hard fork do Bitcoin em 1º de agosto de 2017. Ele não possui whitepaper próprio — o documento apresentado aqui é o whitepaper original do Bitcoin, de Satoshi Nakamoto, que o Bitcoin Cash referencia como fundamento de sua visão de dinheiro eletrônico peer-to-peer.

Abstract

O Bitcoin Cash é um sistema de dinheiro eletrônico peer-to-peer que se bifurcou da blockchain do Bitcoin em 1 de agosto de 2017. Criado em resposta às limitações de escalabilidade do Bitcoin, o Bitcoin Cash aumentou o limite do tamanho de bloco para permitir maior throughput de transações e taxas mais baixas, restaurando a visão original do Bitcoin como um meio de troca prático para transações cotidianas. Com blocos de 32MB, um algoritmo de ajuste de dificuldade adaptativo e desenvolvimento contínuo do protocolo, o Bitcoin Cash visa escalar on-chain para servir como dinheiro peer-to-peer global.

O projeto Bitcoin Cash nasceu de uma divergência fundamental dentro da comunidade Bitcoin sobre como a rede deveria escalar para acomodar a crescente demanda. Enquanto uma facção defendia soluções de escalabilidade off-chain, como a Lightning Network construída sobre o SegWit, outra facção argumentava que aumentar o limite do tamanho de bloco era a abordagem mais direta e comprovada para escalar. Quando o consenso não pôde ser alcançado, o segundo grupo executou um hard fork, criando uma nova cadeia que preservou o histórico de transações do Bitcoin enquanto implementava um limite de tamanho de bloco maior e rejeitava o SegWit. Este documento descreve as especificações técnicas, a filosofia de design e a trajetória de desenvolvimento do Bitcoin Cash.

Abstract

Bitcoin Cash是一个于2017年8月1日从比特币区块链分叉而来的点对点电子现金系统。为应对比特币的扩展性限制而诞生的Bitcoin Cash通过提高区块大小上限来实现更高的交易吞吐量和更低的手续费,恢复了比特币作为日常交易实用交换媒介的原始愿景。通过32MB区、自适应难度调整算法以及持续的协议开发,Bitcoin Cash旨在通过链上扩展来服务于全球点对点现金。

Bitcoin Cash项目源于比特币社区内部关于网络应如何扩展以适应不断增长的需求的根本性分歧。一方主张采用基于SegWit构建的闪电网络等链下扩展方案,另一方则认为提高区块大小上限是最直接且经过验证的扩展方法。当无法达成共识时,后者执行了硬分叉,创建了一条保留比特币交易历史、同时实现更大区块大小上限并排除SegWit的新链。本文描述了Bitcoin Cash的技术规格、设计理念和发展方向。

Introduction

O whitepaper original do Bitcoin, publicado por Satoshi Nakamoto em 2008, descrevia "uma versão puramente peer-to-peer de dinheiro eletrônico" que permitiria "pagamentos online serem enviados diretamente de uma parte para outra sem passar por uma instituição financeira". Essa visão do Bitcoin como um meio de troca para transações cotidianas foi central para sua adoção inicial e crescimento da comunidade. Os primeiros defensores do Bitcoin citavam frequentemente as baixas taxas de transação e pagamentos rápidos como vantagens-chave sobre os sistemas financeiros tradicionais.

No entanto, à medida que a popularidade do Bitcoin cresceu em meados da década de 2010, uma restrição fundamental começou a limitar sua utilidade como dinheiro eletrônico. O limite de tamanho de bloco de um megabyte, originalmente introduzido como uma medida temporária anti-spam, criou um teto artificial no número de transações que a rede podia processar. À medida que a demanda por espaço nos blocos aumentava, os usuários eram forçados a competir pela capacidade limitada oferecendo taxas de transação mais altas. No início de 2017, a taxa mediana de transação do Bitcoin havia subido para vários dólares, tornando transações de pequeno valor economicamente impraticáveis. Durante períodos de pico de congestionamento, as taxas podiam exceder vinte dólares, e transações podiam permanecer não confirmadas por horas ou até dias.

Essa situação representava um desvio fundamental da promessa original do Bitcoin. Um sistema projetado para permitir pagamentos eletrônicos peer-to-peer estava se tornando muito caro e muito lento para os próprios casos de uso que foi criado para servir. Enquanto o Bitcoin era cada vez mais posicionado como "ouro digital" — uma reserva de valor em vez de um meio de troca — muitos membros da comunidade e desenvolvedores acreditavam que isso representava uma traição aos princípios fundadores do projeto.

O Bitcoin Cash foi criado para resolver essa crise adotando a abordagem mais direta para escalar: aumentar o limite do tamanho de bloco. Ao permitir que mais transações coubessem em cada bloco, o Bitcoin Cash buscou restaurar taxas baixas e confirmações rápidas, tornando o dinheiro eletrônico peer-to-peer prático novamente. Os defensores do projeto argumentavam que o escalamento on-chain não era apenas tecnicamente viável, mas era a abordagem que Satoshi Nakamoto havia originalmente previsto, apontando para comunicações iniciais nas quais Nakamoto discutiu aumentar o limite do tamanho de bloco à medida que a rede crescesse.

A criação do Bitcoin Cash em 1 de agosto de 2017 foi um dos eventos mais significativos na história das criptomoedas. Representou a primeira grande divisão de cadeia na história do Bitcoin impulsionada por uma genuína divergência filosófica sobre a direção futura do protocolo. O fork demonstrou que em um sistema descentralizado, disputas irresolvíveis podem ser resolvidas permitindo que cada facção persiga sua própria visão independentemente, com o mercado determinando finalmente o resultado.

Introduction

中本聪于2008年发表的比特币原始白皮书描述了"一种纯粹的点对点电子现金",将"允许在线支付从一方直接发送给另一方,而无需通过金融机构"。比特币作为日常交易交换媒介的这一愿景是其早期采用和社区发展的核心。早期的比特币支持者经常将低交易手续费和快速支付作为相对于传统金融系统的关键优势加以引用。

然而,随着比特币在2010年代中期日益普及,一个根本性的限制开始制约其作为电子现金的实用性。最初作为临时反垃圾邮件措施引入的1兆字节区块大小限制,为网络可以处理的交易数量设定了人为上限。随着对区空间需求的增加,用户不得不通过提供更高的交易手续费来竞争有限的容量。到2017年初,比特币的中位交易手续费已上涨至数美元,使小额交易在经济上不切实际。在拥堵高峰期,手续费可超过20美元,交易可能数小时甚至数天未得到确认。

这种情况代表了对比特币原始承诺的根本背离。一个旨在实现点对点电子支付的系统,对于其被创造出来要服务的用例而言正变得过于昂贵和缓慢。当比特币越来越被定位为"数字黄金"——一种价值储存手段而非交换媒介时,许多社区成员和开发者认为这是对项目创始原则的背叛。

Bitcoin Cash的创建正是为了通过最直接的扩展方法——提高区块大小上限来解决这一危机。通过允许每个区块容纳更多交易,Bitcoin Cash旨在恢复低手续费和快速确认,使点对点电子现金再次变得实用。该项目的支持者认为,链上扩展不仅在技术上可行,而且是中本聪最初设想的方法,并引用了中本聪讨论随着网络增长而提高区块大小限制的早期通信作为依据。

2017年8月1日Bitcoin Cash的诞生是加密货币历史上最重要的事件之一。它是比特币历史上第一次因对协议未来方向的真正哲学分歧而引发的重大链分裂。这次分叉表明,在去中心化系统中,不可调和的争端可以通过允许各方独立追求自己的愿景来解决,最终由市场决定结果。

Background: The Scaling Debate

O debate sobre escalabilidade do Bitcoin foi uma das disputas mais contenciosas e prolongadas na história do desenvolvimento de software de código aberto. Em sua essência, o debate centrava-se em uma pergunta aparentemente simples: como a rede Bitcoin deveria aumentar sua capacidade de processamento de transações? A resposta a essa pergunta, no entanto, tocava em questões fundamentais de governança, descentralização, filosofia técnica e a própria identidade do Bitcoin.

O limite de tamanho de bloco de um megabyte do Bitcoin foi introduzido por Satoshi Nakamoto em 2010 como uma medida temporária para prevenir ataques de negação de serviço nos quais um adversário pudesse inundar a rede com blocos superdimensionados. Na época, o uso real dos blocos estava muito abaixo desse limite, e Nakamoto sugeriu que o limite poderia ser elevado no futuro através de uma simples mudança de código. No entanto, à medida que o uso do Bitcoin cresceu e os blocos começaram a encher, elevar o limite provou ser muito mais contencioso do que qualquer um havia antecipado.

Uma facção, que veio a ser associada com a equipe de desenvolvimento do Bitcoin Core, argumentava que o tamanho do bloco deveria permanecer pequeno para preservar a descentralização. Seu raciocínio era que blocos maiores aumentariam os requisitos computacionais e de largura de banda para executar um nó completo, potencialmente excluindo usuários comuns e concentrando a operação de nós entre entidades bem financiadas. Eles propuseram um caminho alternativo de escalabilidade: SegWit, uma mudança de protocolo que reestruturava os dados de transação para efetivamente aumentar a capacidade de transações do bloco sem elevar o limite de tamanho nominal, combinado com soluções off-chain como a Lightning Network que moveriam a maioria das transações para fora da blockchain principal.

A facção oposta, que incluía desenvolvedores proeminentes, mineradores e empresas, argumentava que elevar o limite do tamanho de bloco era a solução mais simples, mais comprovada e mais urgente. Eles sustentavam que o limite de um megabyte era uma restrição arbitrária que nunca havia sido planejada como uma característica permanente do protocolo, e que os aumentos de taxas e congestionamento resultantes estavam afastando usuários e comerciantes do Bitcoin. Eles eram céticos quanto à complexidade do SegWit e preocupados que a Lightning Network, que era ainda amplamente teórica na época, pudesse nunca cumprir suas promessas de transações baratas e instantâneas.

O debate escalou através de uma série de propostas e contrapropostas. O Bitcoin XT, proposto por Mike Hearn e Gavin Andresen em 2015, buscava aumentar o tamanho de bloco para 8MB. O Bitcoin Classic propôs um aumento mais modesto para 2MB. O Bitcoin Unlimited propôs remover o limite de tamanho de bloco inteiramente, permitindo que mineradores definissem seus próprios limites através da dinâmica de mercado. Cada proposta gerou debate feroz e nenhuma alcançou o consenso esmagador necessário para um hard fork não contencioso.

Várias tentativas de compromisso foram feitas. O Acordo de Hong Kong (fevereiro de 2016) viu desenvolvedores do Bitcoin Core e mineradores concordarem em implantar o SegWit seguido de um hard fork para 2MB, mas o acordo desmoronou quando o componente de hard fork não foi perseguido. O Acordo de Nova York (maio de 2017), também conhecido como SegWit2x, propôs ativar o SegWit imediatamente seguido de um hard fork para 2MB dentro de seis meses. Esse acordo foi assinado por mais de cinquenta empresas representando a maioria do poder de hash do Bitcoin, mas foi fortemente combatido pela equipe de desenvolvimento do Bitcoin Core e uma porção significativa da comunidade de usuários.

Quando ficou claro que o compromisso era impossível, a facção de blocos grandes decidiu agir unilateralmente. Em 1 de agosto de 2017, executaram um hard fork da blockchain do Bitcoin, criando o Bitcoin Cash com um limite de tamanho de bloco inicial de 8MB. Esta não foi uma decisão tomada de ânimo leve — exigiu dividir a blockchain, a rede, a comunidade e a marca. Mas os defensores do Bitcoin Cash acreditavam que era a única forma de preservar a visão original do Bitcoin como dinheiro eletrônico peer-to-peer.

Background: The Scaling Debate

比特币扩展性之争是开源软件开发历史上最具争议性和持续时间最长的纷争之一。其核心是一个看似简单的问题:比特币网络应如何提高其交易处理能力?然而,这个问题的答案涉及治理、去中心化、技术哲学以及比特币身份认同本身的根本性问题。

比特币1兆字节的区块大小限制由中本聪于2010年引入,作为防止攻击者用超大区泛滥网络的拒绝服务攻击的临时措施。当时,实际的区块使用量远低于这一限制,中本聪建议未来可以通过简单的代码更改来提高该限制。然而,随着比特币使用量的增长和区块开始填满,提高限制被证明远比任何人预期的更具争议性。

一个阵营与Bitcoin Core开发团队相关联,主张应保持较小的区块大小以维护去中心化。他们的理由是,更大的区块会增加运行全节点的计算和带宽要求,可能将普通用户排除在外,并使节点运营集中在资源充足的实体手中。他们提出了一条替代性扩展路径:SegWit,一种在不提高名义大小限制的情况下重组交易数据以有效增加区块交易容量的协议变更,结合闪电网络等链下解决方案,将大部分交易移出主区块链

对立阵营包括知名开发者、矿工和企业,他们主张提高区块大小上限是最简单、最经过验证且最紧迫的解决方案。他们认为1兆字节的限制是一个从未打算成为协议永久特性的任意约束,由此导致的手续费上涨和拥堵正在将用户和商家从比特币中赶走。他们对SegWit的复杂性持怀疑态度,并担心当时仍主要处于理论阶段的闪电网络可能永远无法兑现其廉价即时交易的承诺。

争论通过一系列提案和反提案不断升级。2015年由Mike Hearn和Gavin Andresen提出的Bitcoin XT试图将区块大小增加到8MB。Bitcoin Classic提出了更温和的增加到2MB的方案。Bitcoin Unlimited提出完全取消区块大小限制,允许矿工通过市场动态设定自己的限制。每项提案都引发了激烈的辩论,但没有一项达到无争议硬分叉所需的压倒性共识

也进行了多次妥协尝试。香港协议(2016年2月)中,Bitcoin Core开发者和矿工同意在部署SegWit后进行2MB硬分叉,但由于硬分叉部分未被推进,协议最终瓦解。纽约协议(2017年5月),也称为SegWit2x,提议立即激活SegWit,随后在六个月内进行2MB硬分叉。该协议由代表比特币大部分算力的50多家公司签署,但遭到Bitcoin Core开发团队和相当一部分用户社区的强烈反对。

当妥协显然不可能时,大区块阵营决定单方面行动。2017年8月1日,他们执行了比特币区块链的硬分叉,创建了初始区块大小上限为8MB的Bitcoin Cash。这不是一个轻率的决定——它需要分裂区块链、网络、社区和品牌。但Bitcoin Cash的支持者们相信这是保护比特币作为点对点电子现金原始愿景的唯一途径。

The Fork

O hard fork do Bitcoin Cash foi executado em 1 de agosto de 2017, na altura de bloco 478.558. Nesse ponto, a blockchain do Bitcoin se dividiu em duas cadeias separadas: a cadeia original, que continuou como Bitcoin (BTC) com a ativação do SegWit, e a nova cadeia, que se tornou Bitcoin Cash (BCH) com um limite de tamanho de bloco aumentado para 8MB.

O fork foi tecnicamente limpo e bem planejado. Cada endereço Bitcoin que possuía saldo no momento do fork recebeu um saldo idêntico em ambas as cadeias. Se um usuário possuía 1 BTC antes do fork, teria 1 BTC na cadeia Bitcoin e 1 BCH na cadeia Bitcoin Cash após o fork. Todo o histórico de transações anterior ao bloco 478.558 era compartilhado entre ambas as cadeias.

Um dos desafios técnicos críticos do fork foi a implementação de proteção contra replay. Na ausência de proteção contra replay, uma transação transmitida em uma cadeia poderia ser reproduzida na outra cadeia, potencialmente fazendo com que os usuários gastassem moedas involuntariamente em ambas as cadeias. O Bitcoin Cash implementou forte proteção contra replay modificando o algoritmo de assinatura de transações. Especificamente, o Bitcoin Cash introduziu uma nova flag SigHash (SIGHASH_FORKID) que é incluída no hash de cada assinatura de transação. Transações assinadas com esta flag são válidas na cadeia Bitcoin Cash mas inválidas na cadeia Bitcoin, e vice-versa. Isso garantiu uma separação limpa entre as duas redes desde o momento do fork.

O limite de tamanho de bloco inicial para o Bitcoin Cash foi definido em 8MB, oito vezes maior que o limite de 1MB do Bitcoin. Isso representou um aumento significativo na capacidade de transações on-chain, permitindo ao Bitcoin Cash processar substancialmente mais transações por bloco mantendo taxas baixas. O primeiro bloco do Bitcoin Cash após o fork foi minerado pelo pool de mineração ViaBTC e tinha aproximadamente 1,9MB de tamanho, demonstrando o benefício prático imediato do tamanho de bloco maior.

O fork também removeu o SegWit, que havia sido ativado na cadeia Bitcoin. Os desenvolvedores do Bitcoin Cash rejeitaram o SegWit por várias razões: acreditavam que introduzia complexidade desnecessária ao protocolo, criava um sistema de transações de dois níveis com diferentes estruturas de taxas e modificava a estrutura do bloco de maneiras que argumentavam minar a simplicidade do modelo UTXO. Ao escolher um aumento direto do tamanho de bloco, o Bitcoin Cash manteve uma arquitetura de protocolo mais simples e mais tradicional no estilo Bitcoin.

Após o fork, ambas as cadeias tiveram que lidar com o desafio do ajuste de dificuldade. O Bitcoin Cash inicialmente usou a mesma dificuldade SHA-256 da cadeia Bitcoin, mas com significativamente menos poder de hash dedicado à mineração. Para prevenir um cenário em que blocos fossem minerados extremamente devagar, o Bitcoin Cash implementou um mecanismo de Ajuste de Dificuldade de Emergência (EDA) que diminuiria a dificuldade em 20 por cento se menos de 6 blocos fossem minerados em um período de 12 horas. Embora esse mecanismo tenha mantido a cadeia viva com sucesso durante o período inicial crítico, provou ser instável, causando oscilações violentas nos tempos de produção de blocos e taxa de hash à medida que mineradores alternavam entre Bitcoin e Bitcoin Cash com base na rentabilidade. O EDA foi substituído em novembro de 2017 por um algoritmo de ajuste de dificuldade mais estável baseado em uma média móvel dos 144 blocos anteriores.

O fork foi recebido com considerável controvérsia na comunidade de criptomoedas mais ampla. Críticos argumentavam que o Bitcoin Cash era uma tentativa ilegítima de se apropriar da marca Bitcoin, enquanto apoiadores sustentavam que era uma continuação legítima do roteiro original do Bitcoin. Exchanges e provedores de serviços tiveram que tomar decisões rápidas sobre se apoiariam a nova cadeia e como lidariam com a distribuição de moedas bifurcadas para seus clientes. Apesar da controvérsia, o Bitcoin Cash rapidamente se estabeleceu como uma criptomoeda viável e ativamente utilizada, alcançando volume de negociação significativo e adoção por comerciantes nos meses seguintes ao fork.

The Fork

Bitcoin Cash硬分叉于2017年8月1日在区块高度478,558处执行。在该节点,比特币区块链分裂为两条独立的链:随着SegWit激活而延续的原始链比特币(BTC),以及区块大小上限增加至8MB的新链Bitcoin Cash(BCH)。

分叉在技术上是干净且精心计划的。在分叉时持有余额的每个比特币地址在两条链上都收到了相同的余额。如果用户在分叉前持有1 BTC,分叉后他们将在比特币链上拥有1 BTC,在Bitcoin Cash链上拥有1 BCH。区478,558之前的全部交易历史由两条链共享。

分叉面临的关键技术挑战之一是实现重放保护。在没有重放保护的情况下,在一条链上广播的交易可能在另一条链上被重放,可能导致用户无意中在两条链上花费代币。Bitcoin Cash通过修改交易签名算法实现了强重放保护。具体来说,Bitcoin Cash引入了一个新的SigHash标志(SIGHASH_FORKID),该标志包含在每个交易签名的哈希中。使用此标志签名的交易在Bitcoin Cash链上有效但在比特币链上无效,反之亦然。这确保了从分叉时刻起两个网络之间的干净分离。

Bitcoin Cash的初始区块大小上限设为8MB,是比特币1MB限制的八倍。这代表了链上交易容量的显著提升,使Bitcoin Cash能够在保持低手续费的同时处理每个区块中更多的交易。分叉后的第一个Bitcoin Cash区块由ViaBTC矿池挖出,大小约为1.9MB,展示了更大区块大小的即时实际效益。

分叉还移除了在比特币链上已激活的SegWit。Bitcoin Cash开发者出于多种原因拒绝了SegWit:他们认为它给协议引入了不必要的复杂性,创建了具有不同手续费结构的双层交易系统,并以他们认为破坏UTXO模型简洁性的方式修改了区块结构。通过选择直接的区块大小增加,Bitcoin Cash维持了更简单、更传统的类比特币协议架构。

分叉后,两条链都不得不应对难度调整的挑战。Bitcoin Cash最初使用与比特币链相同的SHA-256难度,但投入挖矿的算力大幅减少。为防止区块被极其缓慢挖出的情况,Bitcoin Cash实施了紧急难度调整(EDA)机制,如果在12小时内挖出的区块少于6个,难度将降低20%。虽然这一机制成功地在关键的早期阶段维持了链的运行,但事实证明它是不稳定的,导致矿工根据盈利能力在比特币和Bitcoin Cash之间切换时,区块生产时间和算力出现剧烈波动。EDA在2017年11月被基于前144个区块移动平均值的更稳定的难度调整算法所取代。

分叉在更广泛的加密货币社区中引发了重大争议。批评者认为Bitcoin Cash是对比特币品牌的不正当侵占尝试,而支持者则坚持认为它是比特币原始路线图的合法延续。交易所和服务提供商不得不迅速决定是否支持新链以及如何将分叉代币分配给客户。尽管存在争议,Bitcoin Cash迅速确立了自己作为可行且活跃使用的加密货币的地位,在分叉后数月内实现了显著的交易量和商户采用。

Technical Specifications

O Bitcoin Cash compartilha a arquitetura técnica fundamental do Bitcoin, incluindo o mecanismo de consenso de prova de trabalho SHA-256, o modelo de transações UTXO, a curva elíptica secp256k1 para assinaturas digitais e o intervalo de bloco alvo de dez minutos. No entanto, várias modificações importantes o diferenciam do protocolo Bitcoin.

A diferença mais proeminente é o limite de tamanho de bloco. O Bitcoin Cash foi lançado com um limite de tamanho de bloco de 8MB e subsequentemente o aumentou para 32MB em maio de 2018. Esse limite de 32MB fornece aproximadamente 32 vezes a capacidade de transações do tamanho de bloco efetivo de 1MB sem SegWit do Bitcoin (ou aproximadamente 8 vezes a capacidade do limite efetivo do Bitcoin aprimorado com SegWit de aproximadamente 4MB). O tamanho de bloco maior é a pedra angular da filosofia de escalabilidade on-chain do Bitcoin Cash, fornecendo amplo espaço para o crescimento de transações sem a pressão de taxas que surge quando os blocos estão consistentemente cheios.

O Bitcoin Cash não implementa SegWit. Em vez de separar dados de testemunho dos dados de transação como o SegWit faz, o Bitcoin Cash mantém o formato de transação original do Bitcoin intacto. Todos os dados de transação, incluindo assinaturas, são armazenados dentro do bloco da maneira tradicional. Isso simplifica o protocolo e mantém a compatibilidade retroativa com software e infraestrutura mais antigos do Bitcoin.

Uma melhoria significativa do protocolo no Bitcoin Cash é o algoritmo SigHash aprimorado, que foi introduzido no momento do fork. O novo algoritmo, baseado no BIP 143 (que foi originalmente desenvolvido para o SegWit), corrige o problema de hashing quadrático que existia no esquema original de verificação de assinaturas do Bitcoin. No esquema original, o custo computacional de verificar a assinatura de uma transação crescia quadraticamente com o número de entradas, criando um vetor potencial de ataque de negação de serviço. O novo algoritmo SigHash torna o custo de verificação linear, permitindo que a rede processe com segurança transações maiores e mais complexas.

O Bitcoin Cash suporta um tamanho máximo de transação maior e um maior número de operações de assinatura (sigops) por bloco comparado ao Bitcoin. O limite de sigops é escalado proporcionalmente com o tamanho do bloco, garantindo que o custo computacional da validação do bloco permaneça limitado enquanto ainda permite significativamente mais transações por bloco.

O sistema de scripting no Bitcoin Cash foi ativamente desenvolvido além da abordagem comparativamente conservadora do Bitcoin. O Bitcoin Cash reativou e introduziu vários opcodes que expandem a expressividade de sua linguagem de scripting. Adições notáveis incluem OP_CHECKDATASIG e OP_CHECKDATASIGVERIFY, que permitem que scripts de transação verifiquem assinaturas contra dados arbitrários (não apenas dados de transação), habilitando contratos inteligentes baseados em oráculos e outros padrões avançados de scripting. O opcode OP_REVERSEBYTES, opcodes de introspecção nativos e limites maiores de script e pilha aprimoraram ainda mais a programabilidade do Bitcoin Cash.

O Bitcoin Cash usa a mesma base de formato de endereço que o Bitcoin, mas adotou o formato CashAddr em janeiro de 2018 para prevenir confusão e erros de envio entre cadeias. Endereços CashAddr começam com "bitcoincash:" como prefixo (frequentemente abreviado para "q" ou "p" para a porção do hash) e usam um esquema de codificação diferente do formato base58check do Bitcoin. Essa distinção visual torna imediatamente claro se um endereço pertence ao Bitcoin ou ao Bitcoin Cash, reduzindo o risco de usuários enviarem acidentalmente moedas para a cadeia errada.

A rede opera na porta 8333, a mesma porta padrão do Bitcoin, embora os nós do Bitcoin Cash se identifiquem com um número mágico de rede diferente no handshake do protocolo. Isso significa que os nós do Bitcoin e do Bitcoin Cash não se conectarão acidentalmente entre si apesar de usarem a mesma porta.

Technical Specifications

Bitcoin Cash与比特币共享基本技术架构,包括SHA-256工作量证明共识机制、UTXO交易模型、用于数字签名的secp256k1椭圆曲线,以及十分钟的目标出间隔。然而,若干关键修改使其区别于比特币协议。

最显著的区别是区块大小上限。Bitcoin Cash以8MB区块大小上限启动,随后于2018年5月将其提高至32MB。这一32MB上限提供的交易容量约为比特币有效1MB非SegWit区块大小的32倍(或比特币SegWit增强后有效上限约4MB的约8倍)。更大的区块大小是Bitcoin Cash链上扩展哲学的基石,在区块持续满载时不会产生手续费压力的情况下,为交易增长提供充足空间。

Bitcoin Cash不实现SegWit。与SegWit将见证数据从交易数据中分离不同,Bitcoin Cash保持了原始的比特币交易格式。包括签名在内的所有交易数据都以传统方式存储在区块内。这简化了协议并保持了与旧版比特币软件和基础设施的向后兼容性。

Bitcoin Cash的一项重要协议改进是在分叉时引入的改进SigHash算法。这一基于BIP 143(最初为SegWit开发)的新算法修复了原始比特币签名验证方案中存在的二次哈希问题。在原始方案中,验证交易签名的计算成本随输入数量呈二次增长,造成了潜在的拒绝服务攻击向量。新的SigHash算法使验证成本变为线性,使网络能够安全地处理更大、更复杂的交易。

与比特币相比,Bitcoin Cash支持更大的最大交易大小和每个区块更多的签名操作(sigops)。sigops限制按区块大小比例调整,确保区块验证的计算成本保持在限度内,同时允许每个区块处理显著更多的交易。

Bitcoin Cash的脚本系统已经超越了比特币相对保守的方法进行了积极开发。Bitcoin Cash已重新启用并引入了多个扩展脚本语言表达能力的操作码。值得注意的新增内容包括OP_CHECKDATASIG和OP_CHECKDATASIGVERIFY,它们允许交易脚本验证针对任意数据(而不仅仅是交易数据)的签名,从而实现基于预言机的智能合约和其他高级脚本模式。OP_REVERSEBYTES操作码、原生内省操作码以及更大的脚本和堆栈限制进一步增强了Bitcoin Cash的可编程性。

Bitcoin Cash使用与比特币相同的地址格式基础,但于2018年1月采用了CashAddr格式以防止混淆和跨链发送错误。CashAddr地址以"bitcoincash:"作为前缀(哈希部分通常缩写为"q"或"p"),使用与比特币的base58check格式不同的编码方案。这种视觉区分立即明确了地址属于比特币还是Bitcoin Cash,降低了用户不小心将代币发送到错误链的风险。

网络在8333端口运行,这是与比特币相同的默认端口,但Bitcoin Cash节点在协议握手中使用不同的网络魔数来标识自身。这意味着尽管使用相同的端口,比特币和Bitcoin Cash节点不会意外地相互连接。

Transaction Throughput and Scalability

O throughput de transações e a escalabilidade são centrais para a proposta de valor do Bitcoin Cash. A tese fundamental do projeto é que o dinheiro eletrônico peer-to-peer deve ser capaz de processar transações de forma rápida e barata para ser viável para uso cotidiano, e que o escalamento on-chain através de blocos maiores é a maneira mais confiável de alcançar isso.

Com um limite de tamanho de bloco de 32MB e um intervalo de blocos de dez minutos, o Bitcoin Cash tem um throughput máximo teórico de aproximadamente 100 transações por segundo, dependendo do tamanho médio da transação. Isso representa um aumento substancial sobre o máximo teórico do Bitcoin de aproximadamente 7 transações por segundo com blocos de 1MB. Na prática, o throughput real depende da combinação de tipos e tamanhos de transações, mas a capacidade do Bitcoin Cash é mais que suficiente para seu volume atual de transações, com blocos tipicamente bem abaixo do limite de 32MB.

A abundância de espaço disponível nos blocos tem um impacto direto e mensurável nas taxas de transação. Quando os blocos não estão cheios, não há competição por taxas, e transações podem ser confirmadas com taxas mínimas. A taxa mínima de retransmissão padrão do Bitcoin Cash é de 1 satoshi por byte (onde 1 satoshi = 0,00000001 BCH), e a maioria das transações é confirmada no próximo bloco nesse mínimo ou próximo dele. Isso faz com que as transações do Bitcoin Cash custem frações de um centavo em condições normais, comparado com as taxas do Bitcoin que podem variar de dólares a dezenas de dólares durante períodos de congestionamento.

A comunidade de desenvolvimento do Bitcoin Cash conduziu extensa pesquisa e testes sobre os limites do escalamento on-chain. A Iniciativa Gigablock Testnet, conduzida em 2017-2018, demonstrou que o protocolo Bitcoin podia lidar com blocos de 1GB ou mais com otimizações de software apropriadas e hardware moderno. Esses testes identificaram vários gargalos na base de código original — incluindo propagação de blocos, validação de transações e gerenciamento do conjunto UTXO — e informaram esforços de otimização subsequentes.

Várias melhorias de protocolo e implementação foram feitas para suportar blocos maiores. O Graphene, um protocolo de propagação de blocos baseado em tabelas de busca de Bloom invertíveis e filtros de Bloom, reduz dramaticamente a largura de banda necessária para propagar blocos codificando apenas a diferença entre um bloco e as transações que um nó receptor já tem em seu mempool. O Ordenamento Canônico de Transações (CTOR), implementado em novembro de 2018, requer que transações dentro de um bloco sejam ordenadas por seu ID de transação. Essa mudança aparentemente menor permite otimizações significativas na validação e propagação de blocos, pois permite a validação paralela de transações e algoritmos de reconciliação de conjuntos mais eficientes.

As iniciativas de compromisso UTXO e validação paralela melhoraram ainda mais a capacidade da rede de lidar com blocos grandes de forma eficiente. Aproveitando processadores modernos multi-core e armazenamento de estado sólido, implementações de nós otimizadas podem validar blocos contendo dezenas de milhares de transações dentro de prazos aceitáveis.

O roteiro de escalabilidade do Bitcoin Cash prevê aumentos adicionais no limite de tamanho de bloco conforme tecnologia e demanda justifiquem. Os desenvolvedores do projeto expressaram um objetivo de longo prazo de suportar volumes de pagamento em escala global inteiramente on-chain, visando níveis de throughput que permitiriam ao Bitcoin Cash servir bilhões de transações diárias. Embora esse objetivo seja ambicioso, as melhorias contínuas nas capacidades de hardware, largura de banda de rede e otimização de software fornecem um caminho credível para alcançá-lo incrementalmente ao longo do tempo.

Um aspecto importante da abordagem de escalamento do Bitcoin Cash é o conceito de transações de "zero confirmação". Para pagamentos de baixo valor, comerciantes podem aceitar transações imediatamente após a transmissão, antes de serem incluídas em um bloco. O Bitcoin Cash implementou várias medidas para melhorar a confiabilidade das transações de zero confirmação, incluindo a regra do "primeiro visto" (onde nós retransmitem apenas a primeira versão de uma transação que veem, tornando tentativas de gasto duplo mais difíceis) e protocolos de notificação de gasto duplo que alertam comerciantes se uma transação conflitante for detectada. Essas medidas tornam o Bitcoin Cash prático para transações em ponto de venda onde esperar dez minutos por uma confirmação de bloco seria impraticável.

Transaction Throughput and Scalability

交易吞吐量和可扩展性是Bitcoin Cash价值主张的核心。该项目的基本论点是,点对点电子现金必须能够快速且低成本地处理交易才能在日常使用中可行,而通过更大区进行链上扩展是实现这一目标最可靠的方式。

凭借32MB区块大小上限和十分钟的出块间隔,Bitcoin Cash的理论最大吞吐量约为每秒100笔交易,具体取决于平均交易大小。与比特币在1MB区块下每秒约7笔交易的理论最大值相比,这是一个显著的提升。实际吞吐量取决于交易类型和大小的组合,但Bitcoin Cash的容量对于其当前交易量而言绰绰有余,区块通常远低于32MB上限。

充裕的可用区块空间对交易手续费产生直接且可衡量的影响。当区块未满时,不存在手续费竞争,交易可以以最低手续费得到确认。Bitcoin Cash的默认最低中继手续费为每字节1聪(1聪 = 0.00000001 BCH),大多数交易以该最低值或接近该最低值在下一个区块中得到确认。这使得Bitcoin Cash交易在正常条件下的成本不到一美分,与比特币在拥堵期间可能从数美元到数十美元的手续费形成鲜明对比。

Bitcoin Cash开发社区对链上扩展的极限进行了广泛的研究和测试。2017-2018年进行的千兆区块测试网计划证明,在适当的软件优化和现代硬件条件下,比特币协议可以处理1GB甚至更大的区块。这些测试识别出了原始代码库中的几个瓶颈——包括区块传播、交易验证和UTXO集管理——并为后续的优化工作提供了信息。

为支持更大的区块,已进行了若干协议和实现改进。Graphene是一种基于可逆布隆查找表和布隆过滤器的区块传播协议,通过仅编码区块与接收节点内存池中已有交易的差异,大幅降低了区块传播所需的带宽。2018年11月实施的规范交易排序(CTOR)要求区块内的交易按交易ID排序。这一看似微小的变更实现了交易的并行验证和更高效的集合协调算法,在区块验证和传播方面带来了显著优化。

UTXO承诺和并行验证计划进一步提升了网络高效处理大区块的能力。通过利用现代多核处理器和固态存储,优化的节点实现可以在可接受的时间范围内验证包含数万笔交易的区块。

Bitcoin Cash的可扩展性路线图设想在技术和需求允许的情况下进一步提高区块大小上限。项目开发者已表达了完全在链上支持全球规模支付量的长期目标,目标是使Bitcoin Cash能够处理每天数十亿笔交易的吞吐量水平。虽然这一目标雄心勃勃,但硬件性能、网络带宽和软件优化的持续改进为逐步实现它提供了可信的路径。

Bitcoin Cash扩展方法的一个重要方面是"零确认"交易的概念。对于小额支付,商户可以在交易被纳入区块之前的广播时立即接受交易。Bitcoin Cash已实施了多项措施来提高零确认交易的可靠性,包括"首次发现"规则(节点仅中继他们首次看到的交易版本,使双花尝试更加困难)和双花通知协议(如果检测到冲突交易,则向商户发出警报)。这些措施使Bitcoin Cash在等待十分钟区块确认不切实际的销售点交易中变得实用。

OP_RETURN and Data Applications

O Bitcoin Cash suporta o opcode OP_RETURN, que permite aos usuários incorporar dados arbitrários na blockchain dentro de uma saída de transação que é comprovadamente impossível de gastar. Esse recurso possibilita uma variedade de aplicações centradas em dados construídas sobre a blockchain do Bitcoin Cash, incluindo protocolos de tokens, sistemas de mensagens, serviços de notarização e plataformas de mídia social.

O limite de dados OP_RETURN no Bitcoin Cash foi definido em 220 bytes por saída, significativamente maior que o limite de 80 bytes do Bitcoin. Além disso, o Bitcoin Cash permite múltiplas saídas OP_RETURN em uma única transação, expandindo ainda mais a quantidade de dados que pode ser incorporada em uma única transação. Esses limites generosos, combinados com baixas taxas de transação, tornam o Bitcoin Cash uma plataforma economicamente viável para aplicações de dados que seriam proibitivamente caras em cadeias com maior restrição de capacidade.

O Simple Ledger Protocol (SLP) foi um dos sistemas de tokens mais antigos e amplamente adotados construídos no Bitcoin Cash usando OP_RETURN. O SLP permitia aos usuários criar e transferir tokens personalizados na blockchain do Bitcoin Cash codificando metadados de tokens em saídas OP_RETURN. Embora o SLP tenha sido amplamente substituído pelo protocolo CashTokens, ele demonstrou a viabilidade de construir economias de tokens sobre o modelo UTXO.

O CashTokens, ativado em maio de 2023, representa uma abordagem mais sofisticada para tokenização no Bitcoin Cash. Diferentemente do SLP, que dependia de metadados OP_RETURN que podiam ser ignorados pelo protocolo base, o CashTokens é um recurso de nível de consenso que integra tokens diretamente no modelo UTXO. Cada UTXO pode carregar tanto um valor em BCH quanto um token associado, com a validade do token aplicada pelas regras de consenso. O CashTokens suporta dois tipos de tokens: tokens fungíveis (similares aos tokens ERC-20 no Ethereum) e tokens não fungíveis (NFTs). A aplicação no nível de consenso significa que transações de tokens têm as mesmas garantias de segurança que transações nativas de BCH, eliminando as suposições de confiança e requisitos de indexação de protocolos de sobreposição como o SLP.

O Memo.cash é um protocolo de mídia social descentralizado construído no Bitcoin Cash usando transações OP_RETURN. Usuários transmitem postagens, seguimentos, curtidas e outras ações sociais como transações Bitcoin Cash com dados OP_RETURN codificados. Como os dados são armazenados na blockchain, eles são resistentes à censura e permanentemente arquivados. Os baixos custos de transação no Bitcoin Cash tornam isso economicamente viável — cada ação de mídia social custa uma fração de centavo.

Outras aplicações de dados no Bitcoin Cash incluem serviços de carimbo de data e notarização de documentos, onde o hash de um documento é incorporado em uma saída OP_RETURN para criar um registro permanente e à prova de adulteração da existência do documento em um ponto específico no tempo. Rastreamento de cadeia de suprimentos, verificação de credenciais e sistemas de identidade descentralizada também foram construídos usando as capacidades de incorporação de dados do Bitcoin Cash.

A combinação de grande capacidade OP_RETURN, baixas taxas e tempos de confirmação rápidos posiciona o Bitcoin Cash como uma plataforma competitiva para aplicações de dados baseadas em blockchain. Embora existam blockchains de dados especializadas, o Bitcoin Cash oferece a vantagem de uma rede bem estabelecida, altamente segura e amplamente suportada com um histórico comprovado de operação contínua.

OP_RETURN and Data Applications

Bitcoin Cash支持OP_RETURN操作码,允许用户在可证明不可花费的交易输出中将任意数据嵌入区块链。此功能支持在Bitcoin Cash区块链上构建的一系列以数据为中心的应用,包括代币协议、消息系统、公证服务和社交媒体平台。

Bitcoin Cash的OP_RETURN数据限制设定为每个输出220字节,远大于比特币的80字节限制。此外,Bitcoin Cash允许在单笔交易中包含多个OP_RETURN输出,进一步扩大了可嵌入单笔交易的数据量。这些宽裕的限制结合低交易手续费,使Bitcoin Cash成为在容量更受限的链上成本过高的数据应用的经济可行平台。

Simple Ledger Protocol(SLP)是使用OP_RETURN在Bitcoin Cash上构建的最早且被广泛采用的代币系统之一。SLP允许用户通过在OP_RETURN输出中编码代币元数据,在Bitcoin Cash区块链上创建和转移自定义代币。虽然SLP已在很大程度上被CashTokens协议取代,但它证明了在UTXO模型上构建代币经济的可行性。

2023年5月激活的CashTokens代表了Bitcoin Cash上代币化的更精细方法。与依赖基础协议可以忽略的OP_RETURN元数据的SLP不同,CashTokens是一个共识级功能,将代币直接整合到UTXO模型中。每个UTXO可以同时携带BCH价值和关联的代币,代币有效性由共识规则强制执行。CashTokens支持两种类型的代币:同质化代币(类似于以太坊上的ERC-20代币)和非同质化代币(NFT)。共识级强制执行意味着代币交易具有与原生BCH交易相同的安全保障,消除了SLP等覆盖协议的信任假设和索引要求。

Memo.cash是一个使用OP_RETURN交易在Bitcoin Cash上构建的去中心化社交媒体协议。用户将帖子、关注、点赞和其他社交行为作为包含编码OP_RETURN数据的Bitcoin Cash交易进行广播。由于数据存储在区块链上,它具有抗审查性并被永久存档。Bitcoin Cash的低交易成本使这在经济上可行——每个社交媒体操作的成本不到一美分。

Bitcoin Cash上的其他数据应用包括文档时间戳和公证服务,其中文档的哈希被嵌入OP_RETURN输出中,创建该文档在特定时间点存在的永久且防篡改的记录。供应链追踪、凭证验证和去中心化身份系统也已使用Bitcoin Cash的数据嵌入功能构建。

大容量OP_RETURN、低手续费和快速确认时间的结合使Bitcoin Cash成为基于区块链的数据应用的有竞争力的平台。虽然存在专用数据区块链,但Bitcoin Cash提供了一个成熟的、高度安全的、广泛支持的网络的优势,拥有经过验证的持续运营记录。

Network Architecture

A rede Bitcoin Cash opera na mesma arquitetura peer-to-peer fundamental do Bitcoin, com nós se comunicando via um protocolo de gossip para propagar transações e blocos. Nós completos mantêm uma cópia completa da blockchain e validam independentemente todas as transações e blocos de acordo com as regras de consenso. A rede é sem permissão, significando que qualquer pessoa pode operar um nó e participar da rede sem autorização.

Existem múltiplas implementações independentes de nós completos para o Bitcoin Cash, refletindo o compromisso do projeto com o desenvolvimento descentralizado. O Bitcoin Cash Node (BCHN) é a implementação mais amplamente utilizada e serve como o cliente de referência de facto. Outras implementações incluem Bitcoin Unlimited, BCHD (escrito em Go) e Knuth (uma implementação de alto desempenho em C++). A existência de múltiplas implementações independentes reduz o risco de um único bug de software causar uma falha em toda a rede e garante que nenhuma equipe de desenvolvimento individual tenha controle unilateral sobre o protocolo.

A mineração no Bitcoin Cash usa o algoritmo de prova de trabalho SHA-256, idêntico ao do Bitcoin. Isso significa que o mesmo hardware de mineração ASIC pode ser usado para minerar qualquer uma das cadeias, e mineradores podem alternar entre Bitcoin e Bitcoin Cash com base na rentabilidade. Na prática, a taxa de hash do Bitcoin Cash é uma fração da do Bitcoin, já que a maioria do poder de mineração SHA-256 é direcionada à cadeia Bitcoin mais lucrativa. No entanto, o algoritmo de ajuste de dificuldade do Bitcoin Cash garante que blocos sejam produzidos no intervalo alvo de dez minutos independentemente do nível absoluto de taxa de hash.

O algoritmo de ajuste de dificuldade é um dos componentes de protocolo mais importantes do Bitcoin Cash. O ajuste de dificuldade original do Bitcoin, que recalcula a cada 2.016 blocos (aproximadamente duas semanas), era muito lento para acomodar as rápidas flutuações de taxa de hash que o Bitcoin Cash experimentava quando mineradores alternavam entre ele e o Bitcoin. Após o problemático período de Ajuste de Dificuldade de Emergência (EDA) em 2017, o Bitcoin Cash adotou um novo algoritmo em novembro de 2017 que ajustava a dificuldade com base em uma janela móvel de 144 blocos.

Em novembro de 2020, o Bitcoin Cash foi atualizado para o algoritmo de ajuste de dificuldade ASERT (Absolutely Scheduled Exponentially Rising Targets), também conhecido como aserti3-2d. O ASERT é um algoritmo matematicamente elegante que ajusta o alvo de dificuldade com base na diferença entre o tempo real decorrido e o tempo esperado desde um bloco de referência (o "bloco âncora"). Se blocos estão sendo produzidos mais rápido que o esperado, a dificuldade aumenta exponencialmente; se mais devagar, diminui exponencialmente. A designação "3-2d" refere-se a uma meia-vida de aproximadamente dois dias (especificamente 288 blocos no alvo de dez minutos), significando que uma duplicação ou redução pela metade sustentada da taxa de hash resultaria em um ajuste completo de dificuldade dentro de dois dias. O ASERT provou ser altamente estável, produzindo intervalos de bloco consistentes mesmo sob significativa volatilidade de taxa de hash.

A eficiência na propagação de blocos é crítica para uma rede com blocos grandes. O Bitcoin Cash adotou várias otimizações para garantir que blocos grandes possam se propagar rapidamente pela rede. Blocos Compactos (BIP 152), que permitem que nós reconstruam blocos a partir de IDs de transação em vez de dados completos de transações, reduzem dramaticamente a largura de banda necessária para propagação de blocos quando nós têm mempools sobrepostos. O protocolo Graphene fornece compressão ainda maior usando estruturas de dados probabilísticas para alcançar codificação de blocos quase ótima. O Xthinner é outro protocolo de compressão desenvolvido especificamente para o Bitcoin Cash que alcança aproximadamente 99,6 por cento de compressão para blocos típicos.

As políticas de retransmissão e mempool da rede são projetadas para suportar transações de zero confirmação confiáveis. Nós seguem uma regra estrita de primeiro visto, aceitando e retransmitindo apenas a primeira versão de uma transação que observam. Se uma segunda transação tentando gastar as mesmas entradas (uma tentativa de gasto duplo) for detectada, nós gerarão uma prova de gasto duplo e a propagarão pela rede, alertando comerciantes e outras partes interessadas. Essa infraestrutura fornece um nível de segurança razoável para aceitar transações não confirmadas para pagamentos cotidianos de baixo valor.

Network Architecture

Bitcoin Cash网络在与比特币相同的基本点对点架构上运行,节点通过八卦协议进行通信以传播交易和区全节点维护区块链的完整副本,并根据共识规则独立验证所有交易和区块。网络是无许可的,意味着任何人都可以无需授权即可运行节点并参与网络。

Bitcoin Cash存在多个独立的全节点实现,反映了该项目对去中心化开发的承诺。Bitcoin Cash Node(BCHN)是最广泛使用的实现,充当事实上的参考客户端。其他实现包括Bitcoin Unlimited、BCHD(用Go编写)和Knuth(高性能C++实现)。多个独立实现的存在降低了单一软件错误导致全网故障的风险,并确保没有任何一个开发团队能够单方面控制协议。

Bitcoin Cash挖矿使用与比特币相同的SHA-256工作量证明算法。这意味着相同的ASIC挖矿硬件可以用于挖掘任一链,矿工可以根据盈利能力在比特币和Bitcoin Cash之间切换。实际上,Bitcoin Cash的算力只是比特币的一小部分,因为大部分SHA-256挖矿算力被投入到更有利可图的比特币链上。然而,Bitcoin Cash的难度调整算法确保无论绝对算力水平如何,都能以目标十分钟间隔产生区块。

难度调整算法是Bitcoin Cash最重要的协议组件之一。原始比特币的难度调整每2016个区块(约两周)重新计算一次,对于矿工在比特币和Bitcoin Cash之间切换时所经历的快速算力波动来说过于缓慢。在2017年存在问题的紧急难度调整(EDA)期间之后,Bitcoin Cash于2017年11月采用了基于144个区块移动窗口的新算法。

2020年11月,Bitcoin Cash升级至ASERT(Absolutely Scheduled Exponentially Rising Targets)难度调整算法,也称为aserti3-2d。ASERT是一种数学上优雅的算法,根据自参考区块("锚定区块")以来实际经过时间与预期时间之间的差异来调整难度目标。如果区块生成速度快于预期,难度呈指数级增加;如果较慢,则呈指数级降低。"3-2d"标识指的是大约两天(具体为十分钟目标下的288个区块)的半衰期,意味着算力的持续翻倍或减半将在两天内带来完全的难度调整。ASERT已被证明高度稳定,即使在显著的算力波动下也能产生一致的出块间隔。

块传播效率对于拥有大区块的网络至关重要。Bitcoin Cash已采用多项优化以确保大区块能够在网络中快速传播。紧凑区块(BIP 152)允许节点在拥有重叠内存池的情况下从交易ID而非完整交易数据重建区块,大幅降低区块传播所需的带宽。Graphene协议通过使用概率数据结构实现近乎最优的区块编码,提供更大的压缩率。Xthinner是专门为Bitcoin Cash开发的另一种压缩协议,对典型区块实现约99.6%的压缩率。

网络的中继和内存池策略旨在支持可靠的零确认交易。节点遵循严格的首次发现规则,仅接受和中继他们观察到的第一个版本的交易。如果检测到尝试花费相同输入的第二笔交易(双花尝试),节点将生成双花证明并通过网络传播,向商户和其他相关方发出警报。此基础设施为接受日常小额支付的未确认交易提供了合理的安全水平。

Smart Contract Capabilities

Embora o Bitcoin Cash seja projetado principalmente como um sistema de dinheiro eletrônico peer-to-peer, ele desenvolveu capacidades significativas de contratos inteligentes através de extensões à sua linguagem de scripting. Diferentemente do modelo de contratos inteligentes baseado em contas e Turing-completo do Ethereum, os contratos inteligentes do Bitcoin Cash operam dentro do modelo UTXO usando uma linguagem de scripting baseada em pilha que deliberadamente não é Turing-completa. Esse design fornece custos de execução previsíveis e evita a classe de vulnerabilidades associadas à computação ilimitada, enquanto ainda permite um conjunto surpreendentemente rico de instrumentos financeiros programáveis.

A linguagem de scripting do Bitcoin Cash foi progressivamente aprimorada através de uma série de atualizações de protocolo. Em maio de 2018, vários opcodes que haviam sido desativados no início da história do Bitcoin foram reativados, incluindo operadores de lógica bit a bit (OP_AND, OP_OR, OP_XOR), operadores aritméticos para números maiores e operações de manipulação de strings (OP_SPLIT, OP_CAT). Esses opcodes restaurados expandiram significativamente a expressividade dos scripts do Bitcoin Cash.

A introdução de OP_CHECKDATASIG e OP_CHECKDATASIGVERIFY em novembro de 2018 foi um avanço particularmente importante. Esses opcodes permitem que um script de transação verifique uma assinatura ECDSA contra dados arbitrários, não apenas a transação em si. Isso habilita contratos baseados em oráculos onde uma fonte de dados externa assina uma mensagem atestando alguma condição do mundo real (como um preço, evento climático ou resultado esportivo), e a execução do contrato depende do conteúdo dessa mensagem assinada. Essa capacidade abre a porta para mercados de previsão descentralizados, contratos de seguro e outros instrumentos financeiros que dependem de dados externos.

Os opcodes de introspecção nativos, introduzidos em maio de 2022, permitem que scripts de transação examinem as propriedades da transação que os contém. Scripts podem inspecionar o valor, script de bloqueio e dados de token tanto de entradas quanto de saídas dentro da mesma transação. Isso habilita contratos no estilo covenant — scripts que restringem como moedas podem ser gastas em transações futuras, não apenas quem pode gastá-las. Covenants habilitam padrões poderosos como cofres (restrições de gasto com bloqueio temporal para segurança), pagamentos recorrentes, exchanges descentralizados e mecanismos de votação on-chain.

O CashScript é uma linguagem de contratos inteligentes de alto nível para o Bitcoin Cash, análoga ao Solidity para o Ethereum. O CashScript permite que desenvolvedores escrevam contratos em uma sintaxe familiar, semelhante ao JavaScript, que é compilada para bytecode de script do Bitcoin Cash. A linguagem lida com a complexidade do design de contratos baseados em UTXO, incluindo introspecção de entrada/saída e verificação de assinatura, tornando-o acessível a desenvolvedores que podem não estar familiarizados com programação de baixo nível baseada em pilha. Contratos CashScript foram usados para construir exchanges descentralizados, serviços de custódia, plataformas de financiamento coletivo e outras aplicações.

A atualização CashTokens em maio de 2023 adicionou outra dimensão às capacidades de contratos inteligentes do Bitcoin Cash. Ao incorporar tokens fungíveis e não fungíveis diretamente no modelo UTXO no nível de consenso, o CashTokens habilita contratos baseados em tokens que são aplicados pelas regras de consenso da rede em vez de protocolos de sobreposição. Os tokens não fungíveis (NFTs) no CashTokens carregam um campo de "compromisso" — dados arbitrários anexados ao token — que podem ser lidos e validados por scripts de contratos inteligentes. Isso cria um mecanismo para manter estado on-chain através de múltiplas transações, uma capacidade que anteriormente era difícil de alcançar no modelo UTXO. Contratos podem usar NFTs como portadores de estado, atualizando os dados de compromisso a cada transação para implementar protocolos complexos de múltiplos passos.

A combinação de opcodes de introspecção, CashTokens e CashScript cria uma plataforma de contratos inteligentes que, embora fundamentalmente diferente do modelo do Ethereum, é capaz de implementar muitas das mesmas aplicações financeiras descentralizadas. Exchanges descentralizados, criadores de mercado automatizados, protocolos de empréstimo e organizações autônomas descentralizadas foram todos construídos ou prototipados no Bitcoin Cash. A abordagem baseada em UTXO oferece vantagens em termos de paralelização (UTXOs podem ser validados independentemente), privacidade (cada UTXO é independente) e previsibilidade (sem estado global para disputar), embora requeira padrões de design diferentes dos sistemas baseados em contas.

Smart Contract Capabilities

虽然Bitcoin Cash主要被设计为点对点电子现金系统,但它已通过扩展其脚本语言发展出显著的智能合约能力。与以太坊基于账户的图灵完备智能合约模型不同,Bitcoin Cash智能合约在UTXO模型内使用一种有意非图灵完备的基于堆栈的脚本语言运行。这种设计提供了可预测的执行成本,避免了与无限计算相关的漏洞类别,同时仍然能够实现令人惊讶的丰富可编程金融工具集。

Bitcoin Cash脚本语言已通过一系列协议升级逐步增强。2018年5月,在比特币早期历史中被禁用的若干操作码被重新启用,包括位逻辑运算符(OP_AND、OP_OR、OP_XOR)、大数算术运算符和字符串操作(OP_SPLIT、OP_CAT)。这些恢复的操作码显著扩展了Bitcoin Cash脚本的表达能力。

2018年11月引入的OP_CHECKDATASIG和OP_CHECKDATASIGVERIFY是一项特别重要的进步。这些操作码允许交易脚本验证针对任意数据(而不仅是交易本身)的ECDSA签名。这使得基于预言机的合约成为可能,其中外部数据源签署证明某种现实世界条件(如价格、天气事件或体育比分)的消息,而合约的执行取决于该签名消息的内容。这一功能为去中心化预测市场、保险合约和其他依赖外部数据的金融工具打开了大门。

2022年5月引入的原生内省操作码允许交易脚本检查包含它们的交易的属性。脚本可以检查同一交易中输入输出的价值、锁定脚本和代币数据。这使得契约式合约成为可能——不仅限制谁可以花费代币,还限制代币在未来交易中如何被花费的脚本。契约实现了诸如保险库(用于安全的时间锁定花费限制)、定期支付、去中心化交易所和链上投票机制等强大模式。

CashScript是Bitcoin Cash的高级智能合约语言,类似于以太坊的Solidity。CashScript允许开发者以类似JavaScript的熟悉语法编写合约,并编译为Bitcoin Cash脚本字节码。该语言处理了UTXO合约设计的复杂性,包括输入/输出内省和签名验证,使不熟悉底层基于堆栈编程的开发者也能使用。CashScript合约已被用于构建去中心化交易所、托管服务、众筹平台和其他应用。

2023年5月的CashTokens升级为Bitcoin Cash的智能合约能力增添了新维度。通过在共识级别将同质化和非同质化代币直接嵌入UTXO模型,CashTokens使由网络共识规则而非覆盖协议强制执行的基于代币的合约成为可能。CashTokens中的非同质化代币(NFT)携带一个"承诺"字段——附加到代币的任意数据——可以被智能合约脚本读取和验证。这创建了一种在多笔交易之间维护链上状态的机制,这是之前在UTXO模型中难以实现的能力。合约可以使用NFT作为状态载体,在每笔交易中更新承诺数据以实现复杂的多步骤协议。

内省操作码、CashTokens和CashScript的结合创建了一个智能合约平台,虽然与以太坊的模型根本不同,但能够实现许多相同的去中心化金融应用。去中心化交易所、自动做市商、借贷协议和去中心化自治组织都已在Bitcoin Cash上构建或原型化。基于UTXO的方法在并行化(UTXO可以独立验证)、隐私(每个UTXO独立)和可预测性(无需竞争的全局状态)方面提供优势,但需要与基于账户的系统不同的设计模式。

Monetary Policy

O Bitcoin Cash herda a política monetária do Bitcoin em sua totalidade. A oferta total de Bitcoin Cash é limitada a 21 milhões de moedas, e o cronograma de emissão segue o mesmo mecanismo de halving do Bitcoin. Essa política monetária compartilhada é uma consequência direta do fork: como o Bitcoin Cash se separou da blockchain do Bitcoin, começou com o mesmo histórico de emissão e continua com as mesmas regras de emissão futuras.

A recompensa por bloco começou em 50 BCH por bloco (herdada dos parâmetros de gênese do Bitcoin) e é reduzida pela metade a cada 210.000 blocos, aproximadamente a cada quatro anos. O primeiro halving ocorreu em novembro de 2012 (antes do fork, portanto é história compartilhada), reduzindo a recompensa para 25 moedas. O segundo halving em julho de 2016 a reduziu para 12,5 moedas. O terceiro halving em abril de 2020, que ocorreu após o fork e portanto foi específico da cadeia Bitcoin Cash, reduziu a recompensa para 6,25 BCH. O quarto halving em abril de 2024 a reduziu ainda mais para 3,125 BCH por bloco.

Esse cronograma de halving cria uma política monetária desinflacionária na qual a taxa de criação de novas moedas diminui ao longo do tempo, aproximando-se de zero assintoticamente. A última moeda de Bitcoin Cash deve ser minerada por volta do ano 2140. Nesse ponto, a receita dos mineradores consistirá inteiramente em taxas de transação.

O limite de oferta de 21 milhões e o cronograma de halving dão ao Bitcoin Cash as mesmas propriedades de escassez do Bitcoin. A oferta circulante no início de 2026 é de aproximadamente 19,8 milhões de BCH, representando mais de 94 por cento da oferta total que existirá. As moedas restantes serão distribuídas ao longo de mais de um século de recompensas de bloco decrescentes.

A abordagem do Bitcoin Cash para a transição de recompensas de bloco para compensação de mineradores baseada em taxas difere da estratégia do Bitcoin. A filosofia de escalabilidade do Bitcoin, que restringe o espaço de bloco para manter um mercado de taxas, depende implicitamente de altas taxas por transação para compensar mineradores à medida que as recompensas de bloco diminuem. O Bitcoin Cash adota a abordagem oposta: ao manter taxas baixas e blocos grandes, a rede visa gerar receita total de taxas suficiente através de alto volume de transações em vez de altas taxas por transação. Neste modelo, se cada transação paga uma taxa de um centavo mas a rede processa milhões de transações por bloco, a receita agregada de taxas pode ser suficientemente substancial para incentivar a mineração.

Esse modelo de taxas baseado em volume requer que o Bitcoin Cash alcance um throughput de transações significativamente maior que o do Bitcoin para fornecer incentivos equivalentes aos mineradores na era pós-subsídio. Defensores argumentam que isso é alcançável através do escalamento contínuo on-chain, já que a demanda global de pagamentos é enorme e mesmo uma participação modesta nas transações mundiais representaria milhões de pagamentos por dia. Críticos contra-argumentam que alcançar esse nível de adoção é incerto e que o modelo de baixas taxas pode criar incentivos insuficientes durante o período de transição.

A política monetária compartilhada entre Bitcoin e Bitcoin Cash significa que as duas cadeias estão em competição direta pelo poder de hash de mineração SHA-256. Mineradores alocam seus recursos para a cadeia que for mais lucrativa em qualquer momento dado, e os algoritmos de ajuste de dificuldade em ambas as cadeias acomodam essa alocação fluida. Na prática, a participação do Bitcoin Cash na taxa de hash total SHA-256 tem sido proporcional ao seu preço relativo, refletindo o comportamento econômico racional de mineradores que maximizam lucros.

Monetary Policy

Bitcoin Cash完整继承了比特币的货币政策。Bitcoin Cash的总供应量上限为2100万枚,发行计划遵循与比特币相同的减半机制。这一共享的货币政策是分叉的直接结果:由于Bitcoin Cash从比特币区块链分裂而来,它以相同的发行历史开始并继续遵循相同的未来发行规则。

区块奖励从每区50 BCH开始(继承自比特币的创世参数),每210,000个区块减半一次,约每四年一次。第一次减半发生在2012年11月(在分叉之前,属于共享历史),将奖励减至25枚。第二次减半在2016年7月将其减至12.5枚。第三次减半在2020年4月发生(在分叉之后,因此是Bitcoin Cash链特有的),将奖励减至6.25 BCH。第四次减半在2024年4月进一步减至每区块3.125 BCH。

这一减半计划创造了一种通缩型货币政策,新币创造率随时间递减,渐近地趋向零。最后一枚Bitcoin Cash预计将在2140年左右被挖出。届时,矿工收入将完全由交易手续费构成。

2100万的供应上限和减半计划赋予Bitcoin Cash与比特币相同的稀缺性特征。截至2026年初,流通供应量约为1980万BCH,占未来将存在的总供应量的94%以上。其余代币将在一个多世纪的递减区块奖励中分发。

Bitcoin Cash在从区块奖励向基于手续费的矿工补偿过渡方面的方法与比特币的策略不同。比特币通过限制区块空间以维持手续费市场的扩展哲学,隐含地依赖于高单笔交易手续费来在区块奖励减少时补偿矿工。Bitcoin Cash采取了相反的方法:通过保持低手续费和大区块,网络旨在通过高交易量而非高单笔手续费来产生足够的总手续费收入。在这一模型中,如果每笔交易支付一美分的手续费,但网络每个区块处理数百万笔交易,则总手续费收入仍然可以足够可观,以激励挖矿。

这种基于交易量的手续费模型要求Bitcoin Cash在后补贴时代实现远高于比特币的交易吞吐量,以提供同等的矿工激励。支持者认为这是可以实现的,因为全球支付需求巨大,即使占据世界交易量的适度份额也将代表每天数百万笔支付。批评者则反驳说,实现这一采用水平是不确定的,低手续费模型可能在过渡期间产生不充分的激励。

比特币和Bitcoin Cash之间共享的货币政策意味着两条链在SHA-256挖矿算力方面存在直接竞争。矿工在任何给定时间将资源分配给更有利可图的链,两条链的难度调整算法都能适应这种流动性分配。实际上,Bitcoin Cash在总SHA-256算力中的份额一直与其相对价格成正比,反映了利润最大化矿工的理性经济行为。

Conclusion

O Bitcoin Cash representa uma continuação baseada em princípios da visão original do Bitcoin como dinheiro eletrônico peer-to-peer. Ao aumentar o limite do tamanho de bloco e buscar o escalamento on-chain, o Bitcoin Cash manteve as baixas taxas e transações rápidas que caracterizavam o Bitcoin inicial, tornando práticos os pagamentos cotidianos e microtransações que o whitepaper original imaginava.

A trajetória técnica do projeto tem sido marcada por melhorias de protocolo ponderadas e consequentes. O algoritmo de ajuste de dificuldade ASERT fornece produção de blocos estável sob condições voláteis de taxa de hash. A linguagem de scripting aprimorada, com opcodes restaurados e novos, permite contratos inteligentes sofisticados dentro das restrições de segurança do modelo UTXO. O CashTokens traz tokenização aplicada no nível de consenso ao protocolo Bitcoin pela primeira vez. O CashScript torna essas capacidades acessíveis a uma ampla comunidade de desenvolvedores. Juntos, esses avanços demonstram que o modelo UTXO pode suportar um rico ecossistema de aplicações descentralizadas mantendo suas propriedades fundamentais de simplicidade e segurança.

O debate sobre escalabilidade que levou à criação do Bitcoin Cash destacou uma tensão fundamental em sistemas descentralizados: o equilíbrio entre capacidade on-chain e o custo de operar nós completos. O Bitcoin Cash escolheu priorizar a capacidade de transações e a experiência do usuário, argumentando que os benefícios econômicos da adoção e uso generalizados superam os requisitos aumentados de hardware para operadores de nós. Esta é uma questão empírica cuja resposta se desdobrará ao longo dos próximos anos e décadas à medida que tanto Bitcoin quanto Bitcoin Cash continuam a evoluir em seus respectivos caminhos.

A sobrevivência e o desenvolvimento contínuo do Bitcoin Cash através de múltiplos mercados baixistas, forks contenciosos (notavelmente a divisão do Bitcoin SV em novembro de 2018) e esforço sustentado da comunidade demonstram a resiliência do projeto e a convicção de seus participantes. A rede processou centenas de milhões de transações desde o fork, manteve operação contínua e atraiu uma comunidade global de desenvolvedores, comerciantes e usuários que compartilham a crença de que dinheiro eletrônico peer-to-peer é uma tecnologia que vale a pena construir.

O sucesso a longo prazo do Bitcoin Cash depende de sua capacidade de atrair usuários e comerciantes que valorizem transações de baixas taxas e confiáveis, e de escalar sua infraestrutura para atender às demandas de uma rede de pagamentos global. As bases técnicas são sólidas, o roteiro é claro e a comunidade é comprometida. Se o Bitcoin Cash alcançará finalmente seu ambicioso objetivo de servir como dinheiro eletrônico para o mundo será determinado não por limitações técnicas, mas pelos efeitos de rede, dinâmicas de mercado e padrões de adoção que governam a evolução de todos os sistemas monetários.

Conclusion

Bitcoin Cash代表了比特币作为点对点电子现金原始愿景的有原则的延续。通过提高区块大小上限并追求链上扩展,Bitcoin Cash维持了早期比特币所特有的低手续费和快速交易,使原始白皮书所设想的日常支付和微交易变得实用。

该项目的技术轨迹以深思熟虑且具有重大意义的协议改进为特征。ASERT难度调整算法在算力波动条件下提供稳定的区生产。具有恢复和新增操作码的增强脚本语言在UTXO模型的安全约束内实现了精密的智能合约。CashTokens首次为比特币协议带来了共识级强制执行的代币化。CashScript使这些能力对广泛的开发者社区可及。这些进步共同证明了UTXO模型可以在保持其基本简洁性和安全属性的同时支持丰富的去中心化应用生态系统。

导致Bitcoin Cash诞生的扩展性争论突显了去中心化系统中的一个基本张力:链上容量与运营全节点成本之间的权衡。Bitcoin Cash选择优先考虑交易容量和用户体验,认为广泛采用和使用的经济效益超过了节点运营者增加的硬件要求。这是一个经验性问题,其答案将在比特币和Bitcoin Cash各自沿着各自路径继续演进的未来数年乃至数十年中逐步展开。

Bitcoin Cash在经历了多次熊市、争议性分叉(尤其是2018年11月的Bitcoin SV分裂)和持续的社区努力后的存续和持续发展,展示了该项目的韧性和参与者的信念。该网络自分叉以来已处理了数亿笔交易,维持了持续运营,并吸引了一个由全球开发者、商户和用户组成的社区,他们共同相信点对点电子现金是一项值得构建的技术。

Bitcoin Cash的长期成功取决于其吸引重视低手续费、可靠交易的用户和商户的能力,以及扩展其基础设施以满足全球支付网络需求的能力。技术基础是稳固的,路线图是清晰的,社区是坚定的。Bitcoin Cash最终能否实现其服务于全球电子现金的宏伟目标,将不由技术限制决定,而由支配所有货币系统演进的网络效应、市场动态和采用模式决定。