|
| 1 | +--- |
| 2 | +title: 'Newsletter Bitcoin Optech #357' |
| 3 | +permalink: /pt/newsletters/2025/06/06/ |
| 4 | +name: 2025-06-06-newsletter |
| 5 | +slug: 2025-06-06-newsletter |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: pt |
| 9 | +--- |
| 10 | +A newsletter desta semana compartilha uma análise sobre sincronização de full-nodes |
| 11 | +sem witness antigas. Também incluídas estão nossas seções regulares com |
| 12 | +descrições de discussões sobre mudanças de consenso, anúncios de |
| 13 | +novos lançamentos e candidatos a lançamento, e resumos de mudanças notáveis em |
| 14 | +software popular de infraestrutura do Bitcoin. |
| 15 | + |
| 16 | +## Notícias |
| 17 | + |
| 18 | +- **Sincronizando nós completos sem dados de testemunha (witness):** Jose SK [postou][sk nowit] |
| 19 | + no Delving Bitcoin um resumo de uma [análise][sk nowit gist] que ele |
| 20 | + fez sobre os tradeoffs de segurança de permitir que nós-completos recém-iniciados |
| 21 | + com uma configuração em particular evitem baixar alguns |
| 22 | + dados da blockchain. Por padrão, nós Bitcoin Core usam a |
| 23 | + configuração `assumevalid` que pula a validação de scripts |
| 24 | + em blocos criados mais de um mês ou dois antes do lançamento da |
| 25 | + versão do Bitcoin Core sendo executada. Embora desabilitado por padrão, muitos |
| 26 | + usuários do Bitcoin Core também definem uma configuração `prune` que |
| 27 | + exclui blocos algum tempo após validá-los (por quanto tempo os blocos são |
| 28 | + mantidos depende do tamanho dos blocos e da configuração específica selecionada |
| 29 | + pelo usuário). |
| 30 | + |
| 31 | + SK argumenta que dados de testemunha (witness), que são usados apenas para validar |
| 32 | + scripts, não deveriam ser baixados por nós prunados para blocos assumevalid |
| 33 | + porque eles não os usarão para validar scripts e eventualmente serão excluídos. |
| 34 | + Pular o download de testemunhas "pode reduzir o uso de banda em mais de 40%", ele escreve. |
| 35 | + |
| 36 | + Ruben Somsen [argumenta][somsen nowit] que isso muda o modelo de segurança |
| 37 | + até certo ponto. Embora scripts não sejam validados, os |
| 38 | + dados baixados são validados contra o commitment da raiz merkle do cabeçalho do bloco |
| 39 | + para a transação coinbase para os dados da testemunha. |
| 40 | + Isso garante que os dados estavam disponíveis e não corrompidos no momento em que o |
| 41 | + nó foi inicialmente sincronizado. Se ninguém rotineiramente valida a |
| 42 | + existência dos dados, eles poderiam concebivelmente ser perdidos, como [aconteceu][ripple loss] |
| 43 | + com pelo menos uma altcoin. |
| 44 | + |
| 45 | + A discussão estava em andamento no momento da escrita. |
| 46 | + |
| 47 | +## Mudando consenso |
| 48 | + |
| 49 | +_Uma seção mensal resumindo propostas e discussões sobre mudanças |
| 50 | +nas regras de consenso do Bitcoin._ |
| 51 | + |
| 52 | +- **Relatório de computação quântica:** Clara Shikhelman [postou][shikelman |
| 53 | + quantum] no Delving Bitcoin o resumo de um [relatório][sm report] que ela |
| 54 | + co-autorou com Anthony Milton sobre os riscos para usuários Bitcoin de |
| 55 | + computadores quânticos rápidos, uma visão geral de várias vias para [resistência |
| 56 | + quântica][topic quantum resistance], e uma análise de compensações |
| 57 | + envolvidas na atualização do protocolo do Bitcoin. Os autores encontraram 4 a 10 |
| 58 | + milhões de BTC potencialmente vulneráveis a roubo quântico, alguma |
| 59 | + mitigação é agora possível, e é improvável que a mineração do Bitcoin seja |
| 60 | + ameaçada pela computação quântica no curto ou médio prazo, e |
| 61 | + atualizar requer acordo generalizado. |
| 62 | + |
| 63 | +- **Limite de peso de transação com exceção para prevenir confisco:** |
| 64 | + Vojtěch Strnad [postou][strnad limit] no Delving Bitcoin a proposta de uma |
| 65 | + ideia de mudança de consenso para limitar o peso máximo da maioria |
| 66 | + das transações em um bloco. A regra simples apenas permitiria uma transação |
| 67 | + maior que 400.000 unidades de peso (100.000 vbytes) em um bloco se fosse |
| 68 | + a única transação naquele bloco além da transação coinbase. |
| 69 | + Strnad e outros descreveram a motivação para limitar o peso máximo |
| 70 | + da transação: |
| 71 | + |
| 72 | + - _Otimização de template de bloco mais fácil:_ é mais fácil encontrar uma |
| 73 | + solução quase ótima para o [problema da mochila][] quanto menores forem os |
| 74 | + itens comparados ao limite geral. Isso é parcialmente |
| 75 | + devido à minimização da quantidade de espaço sobrado no final, com |
| 76 | + itens menores deixando menos espaço não utilizado. |
| 77 | + |
| 78 | + - _Política de retransmissão mais fácil:_ a política para retransmitir transações não confirmadas |
| 79 | + entre nós prevê quais transações serão |
| 80 | + mineradas para evitar desperdiçar largura de banda. Transações gigantes tornam |
| 81 | + previsões precisas mais difíceis, pois mesmo uma pequena mudança na taxa de topo pode causar |
| 82 | + que sejam atrasadas ou removidas. |
| 83 | + |
| 84 | + - _Evitando centralização de mineração:_ garantir que nós completos de retransmissão sejam |
| 85 | + capazes de lidar com quase todas as transações impede que usuários de transações especiais |
| 86 | + precisem pagar [taxas fora de banda][topic |
| 87 | + out-of-band fees], o que pode levar à centralização de mineração. |
| 88 | + |
| 89 | + Gregory Sanders [notou][sanders limit] que poderia ser razoável |
| 90 | + simplesmente fazer um soft fork de limite de peso máximo sem exceções baseado |
| 91 | + na política de retransmissão consistente de 12 anos do Bitcoin Core. Gregory |
| 92 | + Maxwell [adicionou][maxwell limit] que transações gastando apenas UTXOs |
| 93 | + criados antes do soft fork poderiam ter uma exceção permitida para prevenir |
| 94 | + confisco, e que um [soft fork transitório][topic transitory soft |
| 95 | + forks] permitiria que a restrição expirasse se a |
| 96 | + comunidade decidisse não renová-la. |
| 97 | + |
| 98 | + Uma discussão adicional examinou as necessidades de partes querendo |
| 99 | + transações grandes, principalmente usuários [BitVM][topic acc] no curto prazo, |
| 100 | + e se abordagens alternativas estavam disponíveis para eles. |
| 101 | + |
| 102 | +- **Removendo saídas do conjunto UTXO baseado em valor e tempo:** Robin |
| 103 | + Linus [postou][linus dust] no Delving Bitcoin para propor um soft fork |
| 104 | + para remover saídas de baixo valor do conjunto UTXO após algum |
| 105 | + tempo. Várias variações da ideia foram discutidas, sendo as duas |
| 106 | + principais alternativas: |
| 107 | + |
| 108 | + - _Destruir fundos antigos não econômicos:_ saídas de pequeno valor que não |
| 109 | + foram gastas por muito tempo se tornariam ingastáveis. |
| 110 | + |
| 111 | + - _Requerer que fundos antigos não econômicos sejam gastos com prova de existência:_ |
| 112 | + [utreexo][topic utreexo] ou um sistema similar poderia ser usado para permitir |
| 113 | + que uma transação prove que as saídas que ela gasta são parte do |
| 114 | + UTXO set. Saídas antigas e [não econômicas][topic uneconomical outputs] precisariam |
| 115 | + incluir esta prova, mas saídas mais novas e de maior valor ainda seriam |
| 116 | + armazenadas no conjunto UTXO. |
| 117 | + |
| 118 | + Qualquer solução efetivamente limitaria o tamanho máximo do conjunto UTXO |
| 119 | + (assumindo um valor mínimo e o limite de 21 milhões de bitcoins). |
| 120 | + Vários aspectos técnicos interessantes de um design foram discutidos, |
| 121 | + incluindo alternativas às provas Utreexo para esta aplicação que |
| 122 | + poderiam ser mais práticas. |
| 123 | + |
| 124 | +## Lançamentos e candidatos a lançamento |
| 125 | + |
| 126 | +_Novos lançamentos e candidatos a lançamento para projetos populares de infraestrutura |
| 127 | +do Bitcoin. Por favor, considere atualizar para novos lançamentos ou ajudar a testar |
| 128 | +candidatos a lançamento._ |
| 129 | + |
| 130 | +- [Core Lightning 25.05rc1][] é um candidato a lançamento para a próxima versão principal |
| 131 | + desta implementação popular de nó LN. |
| 132 | + |
| 133 | +- [LND 0.19.1-beta.rc1][] é um candidato a lançamento para uma versão de manutenção |
| 134 | + desta implementação popular de nó LN. |
| 135 | + |
| 136 | +## Mudanças notáveis em código e documentação |
| 137 | + |
| 138 | +_Mudanças recentes notáveis no [Bitcoin Core][bitcoin core repo], [Core |
| 139 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 140 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet |
| 141 | +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 142 | +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement |
| 143 | +Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo], |
| 144 | +[Lightning BLIPs][blips repo], [Bitcoin Inquisition][bitcoin inquisition |
| 145 | +repo], e [BINANAs][binana repo]._ |
| 146 | + |
| 147 | +- [Bitcoin Core #32582][] adiciona novo logging para medir o desempenho da |
| 148 | + [reconstrução de bloco compacto][topic compact block relay] rastreando o |
| 149 | + tamanho total de transações que um nó solicita de seus pares |
| 150 | + (`getblocktxn`), o número e tamanho total de transações que um nó envia |
| 151 | + para seus pares (`blocktxn`), e adicionando um timestamp no início de |
| 152 | + `PartiallyDownloadedBlock::InitData()` para rastrear quanto tempo apenas o passo |
| 153 | + de busca no mempool leva (em modos de alta e baixa largura de banda). Veja Newsletter |
| 154 | + [#315][news315 compact] para um relatório de estatísticas anterior sobre reconstrução |
| 155 | + de bloco compacto. |
| 156 | + |
| 157 | +- [Bitcoin Core #31375][] adiciona uma nova ferramenta CLI `bitcoin -m` que envolve e |
| 158 | + executa os binários [multiprocesso][multiprocess project] `bitcoin node` |
| 159 | + (`bitcoind`), `bitcoin gui` (`bitcoinqt`), `bitcoin rpc` (`bitcoin-cli |
| 160 | + -named`). Atualmente, estes funcionam da mesma forma que os |
| 161 | + binários monolíticos, exceto que suportam a opção `-ipcbind` (veja Newsletter |
| 162 | + [#320][news320 ipc]), mas melhorias futuras permitirão que um operador de nó |
| 163 | + inicie e pare componentes independentemente em diferentes máquinas e |
| 164 | + ambientes. Veja [Newsletter #353][news353 pr review] para um Bitcoin Core PR |
| 165 | + Review Club cobrindo este PR. |
| 166 | + |
| 167 | +- [BIPs #1483][] incorpora [BIP77][] que propõe [payjoin v2][topic payjoin], uma |
| 168 | + variante assíncrona sem servidor na qual o remetente e receptor entregam seus |
| 169 | + PSBTs criptografados para um servidor de diretório payjoin que apenas armazena e encaminha |
| 170 | + mensagens. Como o diretório não pode ler ou alterar as cargas úteis, nenhuma carteira |
| 171 | + precisa hospedar um servidor público ou estar online ao mesmo tempo. Veja Newsletter |
| 172 | + [#264][news264 payjoin] para contexto adicional sobre payjoin v2. |
| 173 | + |
| 174 | +{% include snippets/recap-ad.md when="2025-06-10 16:30" %} |
| 175 | +{% include references.md %} |
| 176 | +{% include linkers/issues.md v=2 issues="32582,31375,1483" %} |
| 177 | +[Core Lightning 25.05rc1]: https://github.com/ElementsProject/lightning/releases/tag/v25.05rc1 |
| 178 | +[ripple loss]: https://x.com/JoelKatz/status/1919233214750892305 |
| 179 | +[sk nowit]: https://delvingbitcoin.org/t/witnessless-sync-for-pruned-nodes/1742/ |
| 180 | +[sk nowit gist]: https://gist.github.com/JoseSK999/df0a2a014c7d9b626df1e2b19ccc7fb1 |
| 181 | +[somsen nowit]: https://gist.github.com/JoseSK999/df0a2a014c7d9b626df1e2b19ccc7fb1?permalink_comment_id=5597316#gistcomment-5597316 |
| 182 | +[shikelman quantum]: https://delvingbitcoin.org/t/bitcoin-and-quantum-computing/1730/ |
| 183 | +[sm report]: https://chaincode.com/bitcoin-post-quantum.pdf |
| 184 | +[strnad limit]: https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit/1732/ |
| 185 | +[problema da mochila]: https://en.wikipedia.org/wiki/Knapsack_problem |
| 186 | +[sanders limit]: https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit/1732/2 |
| 187 | +[maxwell limit]: https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit/1732/4 |
| 188 | +[linus dust]: https://delvingbitcoin.org/t/dust-expiry-clean-the-utxo-set-from-spam/1707/ |
| 189 | +[lnd 0.19.1-beta.rc1]: https://github.com/lightningnetwork/lnd/releases/tag/v0.19.1-beta.rc1 |
| 190 | +[news315 compact]: /pt/newsletters/2024/08/09/#statistics-on-compact-block-reconstruction |
| 191 | +[multiprocess project]: https://github.com/ryanofsky/bitcoin/blob/pr/ipc/doc/design/multiprocess.md |
| 192 | +[news320 ipc]: /pt/newsletters/2024/09/13/#bitcoin-core-30509 |
| 193 | +[news264 payjoin]: /pt/newsletters/2023/08/16/#serverless-payjoin |
| 194 | +[news353 pr review]: /pt/newsletters/2025/05/09/#bitcoin-core-pr-review-club |
0 commit comments