Endereços Ergo
24 de julho de 2019

No artigo de hoje, vamos dar uma olhada mais de perto na formatação de endereços Ergo. Além disso, vamos explicar como eles funcionam especificamente, bem como o que os torna preferíveis a outros tipos de endereços de blockchain.
Vamos começar do começo.
No momento em que você instala qualquer carteira de criptomoeda, você automaticamente cria um endereço com ela. De forma muito vaga, você pode comparar uma carteira a uma conta bancária tradicional e um endereço ao número da conta correspondente.
É precisamente um desses endereços alfanuméricos que é necessário para enviar dinheiro da pessoa A para a pessoa B, receber dinheiro ou retirar suas recompensas de mineração.
Se você quiser começar a usar a carteira Ergo e se aprofundar em suas funções, confira o seguinte link.
Agora, o que exatamente são endereços?
Endereços são strings curtas que correspondem a certos scripts e são usados para proteger uma caixa (este post que o desenvolvedor principal kushti publicou em nosso fórum explica muito bem o que é uma "caixa").
Diferente de uma representação binária (codificada em hex) de um script, um endereço Ergo usa uma codificação Base58 e, portanto, possui algumas características muito úteis que a representação binária não oferece:
- A integridade de um endereço pode ser facilmente verificada através de uma soma de verificação integrada (que é um "dado de pequeno tamanho derivado de um bloco de dados digitais com o propósito de detectar erros que podem ter sido introduzidos durante sua transmissão ou armazenamento", segundo a Wikipedia).
- Um prefixo do endereço mostra a você a rede e o tipo de endereço. Em particular, o prefixo da rede impede que você envie tokens da mainnet para o endereço da testnet por engano.
- O endereço usa uma codificação (nomeadamente, Base58 como mencionado) que evita caracteres semelhantes e é amigável ao clique duplo e também à quebra de linha em e-mails.
- Um endereço codifica o tipo de rede, tipo de endereço, soma de verificação e informações suficientes para corresponder a scripts particulares.
Vamos olhar para o byte do prefixo que contém informações sobre os tipos de rede e endereço:
Os tipos de rede possíveis são:
- Mainnet - 0x00
- Testnet - 0x10
Os tipos de endereço são (semântica descrita abaixo):
- 0x01 - Endereço Pay-to-PublicKey(P2PK)
- 0x02 - Pay-to-Script-Hash(P2SH)
- 0x03 - Pay-to-Script(P2S)
Para um tipo de endereço, formamos bytes de conteúdo da seguinte forma:
- P2PK - chave pública serializada (compactada)
- P2SH - primeiros 192 bits do hash Blake2b256 dos bytes do script serializado
- P2S - script serializado (é aqui que as recompensas de mineração vão!)
Por exemplo, enviar 10 Ergs para um endereço P2PK geralmente significa que uma transação correspondente
contém uma caixa na qual 10 Ergs estão bloqueados por uma chave pública codificada no endereço P2PK. Da mesma forma,
em caso de um endereço P2S, a caixa será bloqueada por um script codificado no endereço. No caso mais complicado de um
script P2SH, a caixa será protegida por um script especial pré-definido que pega os primeiros 192 bits do valor do hash Blake2b256
para um script que deve ser mostrado por uma entrada gastando a caixa.
Aqui está um exemplo de como endereços particulares vão parecer na testnet:
- 3 - P2PK (3WvsT2Gm4EpsM9Pg18PdY6XyhNNMqXDsvJTbbf6ihLvAmSb7u5RN)
- ? - P2SH (rbcrmKEYduUvADj9Ts3dSVSG27h54pgrq5fPuwB)
- ? - P2S (Ms7smJwLGbUAjuWQ)
E aqui está como eles estão parecendo na nossa mainnet:
- 9 - P2PK (9fRAWhdxEsTcdb8PhGNrZfwqa65zfkuYHAMmkQLcic1gdLSV5vA)
- ? - P2SH (8UApt8czfFVuTgQmMwtsRBZ4nfWquNiSwCWUjMg)
- ? - P2S (4MQyML64GnzMxZgm, BxKBaHkvrTvLZrDcZjcsxsF7aSsrN73ijeFZXtbj4CXZHHcvBtqSxQ)
Em resumo:
- Byte do prefixo = tipo de rede + tipo de endereço (por exemplo, o script P2S na testnet começa com 0x13 antes do Base58)
- soma de verificação = leftmost_4_bytes (blake2b256 (byte do prefixo || bytes de conteúdo))
- endereço = byte do prefixo || bytes de conteúdo || soma de verificação
Se algo disso despertou seu interesse, você é muito bem-vindo para se juntar à nossa comunidade e fazer mais perguntas em nosso canal do telegram e/ou fórum.
Vejo você lá!
Share post
13 de agosto de 2025
12 de agosto de 2025
9 de julho de 2025
12 de maio de 2025

7 de abril de 2022

8 de março de 2022


















