Quando comecei nesse meio, também demorei para entender isso.
Em uma transferência bancária, você conta com os dados da conta, a senha e a verificação do banco. Na blockchain, não há nenhuma instituição para confirmar sua identidade. A rede só reconhece uma coisa: a assinatura digital. Entendê-la também ajuda a compreender por que a chave privada é tão importante.
Ao transferir $BTC , a carteira assina a transação com a chave privada, e os nós da rede verificam essa assinatura usando a chave pública. Preço atual: 80,152 (24h -0.77%).
▍Um par de chaves
A assinatura digital é feita com um par de chaves: a chave privada é usada para gerar a assinatura, e a chave pública, para verificá-la. A chave privada é um número grande gerado aleatoriamente. A chave pública é calculada a partir da chave privada por meio de operações com curvas elípticas. Bitcoin e Ethereum usam a curva secp256k1.
Esta operação é unidirecional: é fácil calcular a chave pública a partir da chave privada, mas é computacionalmente inviável descobrir a chave privada a partir da chave pública. Por isso, a chave pública e o endereço derivado dela podem ser divulgados; a chave privada deve ficar somente sob seus cuidados.
▍O que uma assinatura comprova
Ao enviar uma transação, a carteira assina os dados da transação com a chave privada, e os nós da rede verificam a assinatura usando a chave pública. Se a verificação for aprovada, isso comprova duas coisas ao mesmo tempo: que a transação realmente veio de alguém que controla a chave privada e que seu conteúdo não foi alterado depois da assinatura. Se até mesmo um byte do valor ou do endereço do destinatário for alterado, a assinatura original não será validada.
Atenção: a assinatura não criptografa o conteúdo da transação. O valor e o endereço das transações na blockchain continuam visíveis para todos. A assinatura serve para confirmar “quem enviou e se houve alterações”, não para impedir que outras pessoas vejam os dados.
▍Como impedir que uma transação seja usada duas vezes
No Ethereum, cada transação tem um nonce crescente, e cada nonce só pode ser incluído em um bloco uma vez. A transação também inclui o ID da rede (EIP-155), o que impede que uma transação assinada seja reproduzida em outra rede. Já o Bitcoin impede que as mesmas moedas sejam gastas duas vezes com a regra de que cada saída não gasta só pode ser usada uma vez.
▍Assinaturas não servem apenas para transferências
Uma solicitação de assinatura exibida pela carteira não é necessariamente uma transferência: pode ser uma autorização de token ou uma mensagem assinada fora da blockchain. Algumas assinaturas feitas fora da blockchain, depois de assinadas, têm o mesmo efeito que uma autorização direta, e a outra parte pode usá-las para transferir seus tokens.
Por isso, antes de assinar, confira o tipo de operação, o endereço com o qual está interagindo e a quantidade. Se não entender, não assine. Qualquer pessoa que peça sua chave privada ou frase de recuperação para “verificar uma assinatura” está tentando aplicar um golpe.
▍Resumo
Na blockchain, a assinatura é como sua “assinatura de próprio punho”, e a chave privada é a única caneta capaz de escrevê-la. Se você perder essa caneta ou alguém a tomar, nenhuma instituição poderá cancelar a assinatura. Se não conhece bem um produto, evite investir muito de início: teste primeiro com um valor pequeno.
Você já caiu em alguma armadilha parecida? Conte para ajudar outras pessoas a não cometerem os mesmos erros.
Esta é apenas uma opinião pessoal. Avalie com bom senso.