Apesar do caráter imutável da blockchain do Bitcoin e do registro de suas transações, o protocolo da criptomoeda é atualizado constantemente.
Alterações no protocolo ou nas regras de consenso, adição de aplicações de interoperabilidade, orientações para a comunidade e novas features estão sempre sendo debatidas e implementadas.
As atualizações do protocolo são feitas através de um processo conhecido como Bitcoin Improvement Proposal / Proposta de Melhoria do Bitcoin (BIP). Teoricamente, qualquer pessoa pode sugerir um BIP à comunidade, mas há um processo específico que precisa ser seguido para que a sugestão seja implementada. As sugestões são feitas, debatidas, melhoradas e implementadas ou recusadas, em processos que variam em tempo e complexidades. Algumas sugestões podem ser feitas e implementadas em meses, outras, mais complexas, podem demorar anos.
BIP- 0039: o que é
No último domingo, dia 20 de dezembro de 2020, um pull-request da comunidade brasileira foi aceito para integração de uma lista de palavras em português ao BIP- 0039, que define a lista de palavras chaves que são usadas para criação das seeds das chaves privadas. O BIP-0039 é uma proposta de 2013, sugerida por Marek Palatinus, Pavol Rusnak, Aaron Voisine e Sean Bowe, cujo objetivo é melhorar a experiência dos usuários com as chaves privadas e as carteiras de bitcoin.
Formalmente, uma chave privada de Bitcoin é uma série de 32 bytes, que pode ser registrada de inúmeras formas: uma string binária, uma string Base64, uma string hexadecimal ou, finalmente, uma frase mnemônica.
Hex: DD5113FEDf638E55500E657779613BBD3BDDDEeB8EB6D86CDD3370C69B02E9CDc
Base64: 3VET/t7WOOVQDmV3ilO0073b64612GzdM3DmKbAuks0=
Binário: 00110011 01010110 01000101 01010100 00101111 01110100 00110111 01010111 01001111 01001111 01010110 01010001 01000100 01101101 01010110 00110011 01101001 01101100 01001111 00110000 00110000 00110111 00110011 01100010 00110110 00110100 00110110 00110001 00110010 01000111 01111010 01100100 01001101 00110011 01000100 01101101 01001011 01100010 01000001 01110101 01101011 01110011 00110000 00111101
Mnemônica: acanhar, fator, desbotar, voleibol, pescado, moinho, haste, euforia, origem, saliva, braveza, vuvuzela
O BIP- 0039 é a implementação que descreve a implementação do código no formato mnemônico - um grupo de palavras fáceis de lembrar - para a geração de carteiras determinísticas do tipo 2. Uma carteira determinística é um sistema de derivação de chaves com um único ponto de partida, a seed. Carteiras determinísticas do tipo 2 são implementadas na Trezor, Electrum, CarbonWallet e muitas outras. Há ainda carteiras determinísticas de tipo 3, como as implementadas pela Armory.
O padrão mnemônico foi adotado para melhores ''legibilidade para humanos'', já que representações binárias ou hexadecimais brutas de uma chave privada podem dificultar o backup das chaves. Ou seja, a chance de erros humanos envolvidos no manejo de uma chave hex, binária ou base 64 é é muito maior do que os erros do manejo de 12 palavras 'legíveis'. O que o BIP-0039 faz é transformar a 'língua dos computadores e dos hashs'' em uma transição legível para humanos.
BIP-0039 e a lista em português
E agora, com o aceite da lista das palavras em português, permite que a implementação de carteiras determinísticas do tipo 2 criem seeds em português, melhorando a usabilidade dos usuários da língua.
A adição da lista de palavras em português teve início na aba portuguesa do BitcoinTalk e foi construida de forma colaborativa por Breno Rodrigues Brito, Ninjastic, Sabotag3x, Bitmover, Alegotardo, Kuthullu, Trimegistus, entre outros.
As seeds são criadas através de um conjunto de palavras pré-determinado, que segue determinadas regras. Há regras gerais, mas cada língua também apresenta regras específicas. No caso do portugues, podemos citar algumas regras:
Palavras com a mesma grafia no Brasil e em Portugal;
Palavras determinadas de forma única digitando os primeiros 4 caracteres;
Não apresentar grafia dupla ou som exato de outra palavra com grafia diferente;
Não podem ser semelhantes a outras palavras com apenas 1 letra de diferença;
Não inclui palavras ofensivas ou tristes.
O conjunto completo de regras está disponível no github , assim como a lista completa das palavras.
A implementação do BIP-0039 é também um avanço aos usuários das brainwallets, que são capazes de criar frases para decorar e armazenar a chave privada de uma carteira em suas próprias cabeças. Apesar de não ser um método indicado para maioria dos usuários, ele nos lembra quão vasto pode ser os processos e caminhos mentais dos humanos, de forma que implementação aparentemente triviais para determinados usuários possam ser imprescindíveis para outros usuário. Essa é um exemplo interessante que demonstra quão valioso é o processo de desenvolvimento descentralizado.
Leia Mais: