Um endereço bitcoin é uma string de dígitos e caracteres que pode ser compartilhada com qualquer pessoa que queira lhe enviar dinheiro. Os endereços produzidos a partir de chaves públicas consistem 10 em uma string de números e letras, iniciando com o dígito "1".
Aqui está um exemplo de um endereço bitcoin:
14X1LdHrjdLL8pr9my6Z1jdHAvAAUPo661
O endereço bitcoin é o que mais comumente aparece como "destinatário" dos fundos em uma transação. Se fôssemos comparar uma transação bitcoin a um cheque de papel, o endereço bitcoin é o beneficiário, que é o que escrevemos na linha "à ordem de".
EXEMPLO
Num cheque de papel, aquele beneficiário pode algumas vezes ser o nome de um possuidor de conta bancária, mas pode também incluir corporações, instituições, e até mesmo dinheiro.
E por cheques de papel não precisarem especificar uma conta, ao invés disso, usam um nome abstrato como receptor dos fundos, isto torna cheques de papel muito flexíveis como instrumentos de pagamento.
As transações bitcoin usam uma abstração similar - o endereço bitcoin - para torná-las muito flexíveis. Um endereço bitcoin pode representar outra coisa, como um script de pagamento, como veremos em [p2sh]. Por hora, vamos examinar o caso simples, um endereço bitcoin que representa uma chave pública, e é derivado dela.
O endereço bitcoin é derivado da chave pública através do uso de hashing criptográfico de uma via. Um "algoritmo de hashing", ou simplesmente "algoritmo de hash" é uma função injetiva (de uma via) que produz uma impressão digital ou "hash" a partir de uma entrada de tamanho arbitrário.
Funções de hash criptográficas são extensivamente usadas em bitcoin: nos endereços bitcoin, nos endereços de scripts, e no algoritmo de prova-de-trabalho da mineração.
Os algoritmos utilizados para produzir um endereço bitcoin a partir de uma chave pública são Secure Hash Algorithm (SHA) e o RACE Integrity Primitives Evaluation Message Digest (RIPEMD), especificamente SHA256 e RIPEMD160.
A partir da chave pública K, nós computamos o hash SHA256, e então computamos o hash RIPEMD160 do resultado, produzindo um número de 160 bits (20 bytes). onde K é a chave pública e A é o endereço bitcoin resultante.
Um endereço bitcoin não é a mesma coisa que uma chave pública. Endereços bitcoin são derivados a partir de uma chave pública utilizando-se uma função de sentido único.
Os endereços bitcoin são quase sempre apresentados aos usuários em uma codificação chamada "Base58Check" (veja Codificação Base58 e Base58Check), que usa 58 caracteres (um sistema numérico de Base58) e um checksum para ajudar a legibilidade humana, evitar ambiguidade, e proteger contra erros em transcrição e digitação de endereços.
O Base58Check também é utilizado de várias outras formas no bitcoin, sempre que há a necessidade de um usuário ler e transcrever corretamente um número, tal como um endereço bitcoin, uma chave privada, uma chave encriptada, ou um hash de um script.
FONTE - Esse é um trecho do livro 'Mastering Bitcoin'
EmoticonEmoticon