Pular para o conteúdo principal

O que é o ZCash Names?

Em resumo

O ZCash Names é um protocolo de nomes para o ZCash que funciona na cadeia e se baseia nos memos privados. Permite registar nomes legíveis como richard.zcash e associá-los a endereços ZCash. A correção de cada registo é comprovada com uma prova de conhecimento zero (Zero-Knowledge Proof).

O problema

Os endereços ZCash são demasiado longos. São assim:

u1zk30kje24v9n08lxq6ja9lfd8q3q54g7uawra7hwa05k4r56nkzzu62cy2apdungu4ehws95vjflw2lakt62j5wynwcje6t6yjcg9v5sp7r7048lgsprukv8r70pmpsk4tsqrqy58aglywh23grvs7kq75zk4c3zy57267u34vecm35yuexkrsmzphcu2dzph4r8rk0h0rlh5su7yhs

A solução

Registe um nome enviando uma única transação ZCash. Um indexador observa a cadeia de blocos, valida cada registo e constrói um registo de nomes. Depois, um gerador de provas de conhecimento zero produz uma prova matemática de que cada registo está correto.

Qualquer pessoa pode resolver richard.zcash e obter o endereço do Richard. Qualquer pessoa pode verificar a prova. Não é preciso confiar em ninguém.

Regras dos nomes

RegraValor
Carateres permitidosa-z, 0-9, hífenes
Comprimento1 - 64 carateres
Maiúsculas e minúsculasIndiferente (guardado em minúsculas)
HífenesNem no início, nem no fim, nem consecutivos
Zona de topo.zcash, .zec, .private, .secure, .safe

Preços de registo

Ver Registo de nomes

Comprimento do nomeTaxa
1 carácter5.5 ZEC
2 carateres4 ZEC
3 carateres2.45 ZEC
4 carateres1.2 ZEC
5 carateres0.65 ZEC
6 carateres0.35 ZEC
7+ carateres0.15 ZEC

Preços de alteração

Ver Gestão de nomes, Mercado

Comprimento do nomeTaxa
1 carácter0.006 ZEC
2 carateres0.004 ZEC
3 carateres0.002 ZEC
4 carateres0.0011 ZEC
5 carateres0.0008 ZEC
6 carateres0.0005 ZEC
7+ carateres0.00025 ZEC

O registador

O endereço de protocolo do registador, a sua chave de visualização e o contrato âncora estão todos publicados. É deliberado: a chave de visualização é o que permite a qualquer pessoa auditar o serviço sem pedir autorização, e o contrato é aquilo com que compara o seu próprio resultado.

Endereço de protocolo — envie aqui todos os comandos:

u1nlded5cat3n9r4m0tpxr5a7sy3emccvaun7n4x9w848qa7ncl4eg5v2zyat4kevaa4fwfq0unwj3vnczfax3s9rutma43dckgqss8qrg

Chave de visualização — decifra tudo o que esse endereço alguma vez recebeu:

uview1uxy3j27qhwkh8peq8k6g0vldalgqm4lyfxwuc2r95jelk458gmx6elc4e92t9g75x655vd7nxrtv3gllvajt3n8v0x36224ma3hrtvvtps7ejxysx8puelggt86vfuslxvdvjq7a778chqtcg626lcsr0ht26v3wgyfu5u04sn2qsle9k7faakg479tqf

Contrato âncora — onde é publicada cada raiz de estado, na BNB Smart Chain (chain ID 56):

0x6c01003716b0a74933325be1baf34fe34cf3e0d3

Uma reprodução da história tem de partir de um ponto conhecido, por isso ambas as pontas da cadeia também estão fixadas. Estes são os pontos de controlo a partir dos quais arranca um indexador independente:

Ponto de controloValor
Bloco inicial do ZCash3438108 — o aniversário da carteira do protocolo; antes dele não pode existir nenhuma transação do serviço
Raiz de estado inicial0x0000…0000 — 32 bytes a zero, a raiz de um registo vazio
Bloco de implantação do contrato114326974
Transação de implantação0x9a4b9a22…e6a5bd6c

A raiz inicial é toda a zeros porque, na árvore de Merkle esparsa compacta, uma subárvore vazia são 32 bytes a zero a qualquer altura: um registo vazio produz um hash de zero, e foi esse o valor com que o contrato foi implantado. Quem reproduzir a história a partir do bloco 3438108 chega ao mesmo estado inicial sem que ninguém lho diga.

Com estes valores pode percorrer o ZCash a partir do bloco inicial, decifrar todos os comandos e pagamentos que o serviço alguma vez recebeu, reproduzi-los com o indexador de código aberto, calcular você mesmo a raiz de estado e compará-la com o contrato através de isRootValid(bytes32) — ver Verificar provas. Se o registador alguma vez tivesse censurado, reordenado ou inventado uma operação, a sua raiz seria diferente da que está na cadeia.

O indexador traz a sua própria API de resolução, pelo que nunca terá de depender de um ponto de acesso público — nem sequer do nosso.

aviso

Verifique estes valores antes de confiar neles

Compare o endereço, a chave de visualização e o endereço do contrato com o repositório do GitHub e com a própria aplicação; o contrato e a sua transação de implantação também podem ser lidos diretamente no BscScan. Um site de documentação é precisamente aquilo que um atacante quereria alterar.

Ligações

RecursoEndereço
Aplicaçãozcashnames.co/app
Aplicação no Torzns42gxtnultmfkuxu3ypawozpn4asbkqpqzlmlrp72u3nbggvn2c2ad.onion/app
Indexador no Torindexer.zns42gxtnultmfkuxu3ypawozpn4asbkqpqzlmlrp72u3nbggvn2c2ad.onion
GitHubgithub.com/ZCashNames
APIIr para a página
Documentaçãodocs.zcashnames.co