Registo de nomes
Qualquer pessoa pode registar um nome através de um protocolo baseado em memos.
A primeira coisa a fazer é gerar um par de chaves Ed25519, que é o que comprova a posse do seu nome.
Por exemplo, o Richard quer registar richard.zcash. Os passos essenciais são:
- Compor o memo da transação de acordo com o protocolo ZCashNames
- Enviar uma transação para o endereço do registador zNS com o montante exigido e o comando do memo assinado com a sua chave privada
- O scanner zNS valida: regras do nome, assinatura, montante e demais verificações do protocolo
- Geração da prova que comprova criptograficamente o registo
- O indexador recebe a nova prova, percorre, valida e constrói o registo distribuído de nomes
- Pronto!
richard.zcashestá ativo
O memo
De acordo com o protocolo, o memo de registo de um nome tem 8 campos separados por dois pontos:
zNS:1:REG:{name}:{zcash_address}:{ed25519_pubkey}:{nonce}:{signature}
A assinatura cobre zNS:1:REG:{name}:{zcash_address}:{ed25519_pubkey}:{nonce} — o comando
completo sem o campo final da assinatura — e é feita com a chave privada Ed25519. Isto prova
que foi o Richard quem autorizou o registo, e sem a sua chave ninguém consegue registar um nome
em seu nome.
O endereço de destino tem de ser um Unified Address da mainnet com um recetor Orchard; o registador paga reembolsos e receitas através de material de chaves Orchard, pelo que um endereço sem ele não pode ser usado. Consulte Formato dos comandos para todas as regras dos campos, a semântica do nonce e o orçamento de 512 bytes do memo.
Se várias pessoas quiserem registar o mesmo nome ao mesmo tempo, apenas a primeira transação será processada e às restantes será devolvido o montante para o saldo interno. O utilizador pode levantar os fundos a qualquer momento, bastando indicar um endereço de levantamento no site.