Saltar al contenido principal

¿Qué es ZCash Names?

En resumen

ZCash Names es un protocolo de nombres para ZCash que funciona en la cadena y se basa en los memos privados. Permite registrar nombres legibles como richard.zcash y asociarlos a direcciones de ZCash. La corrección de cada registro se demuestra con una prueba de conocimiento cero (Zero-Knowledge Proof).

El problema

Las direcciones de ZCash son demasiado largas. Tienen este aspecto:

u1zk30kje24v9n08lxq6ja9lfd8q3q54g7uawra7hwa05k4r56nkzzu62cy2apdungu4ehws95vjflw2lakt62j5wynwcje6t6yjcg9v5sp7r7048lgsprukv8r70pmpsk4tsqrqy58aglywh23grvs7kq75zk4c3zy57267u34vecm35yuexkrsmzphcu2dzph4r8rk0h0rlh5su7yhs

La solución

Registre un nombre enviando una única transacción de ZCash. Un indexador observa la cadena de bloques, valida cada registro y construye un registro de nombres. Después, un generador de pruebas de conocimiento cero produce una prueba matemática de que cada registro es correcto.

Cualquiera puede resolver richard.zcash y obtener la dirección de Richard. Cualquiera puede verificar la prueba. No hace falta confiar en nadie.

Reglas de los nombres

ReglaValor
Caracteres permitidosa-z, 0-9, guiones
Longitud1 - 64 caracteres
Mayúsculas y minúsculasNo distingue (se almacena en minúsculas)
GuionesNi al principio, ni al final, ni consecutivos
Zona de nivel superior.zcash, .zec, .private, .secure, .safe

Precios de registro

Consulte Registro de nombres

Longitud del nombreTarifa
1 carácter5.5 ZEC
2 caracteres4 ZEC
3 caracteres2.45 ZEC
4 caracteres1.2 ZEC
5 caracteres0.65 ZEC
6 caracteres0.35 ZEC
7+ caracteres0.15 ZEC

Precios de modificación

Consulte Gestión de nombres, Mercado

Longitud del nombreTarifa
1 carácter0.006 ZEC
2 caracteres0.004 ZEC
3 caracteres0.002 ZEC
4 caracteres0.0011 ZEC
5 caracteres0.0008 ZEC
6 caracteres0.0005 ZEC
7+ caracteres0.00025 ZEC

El registrador

La dirección de protocolo del registrador, su clave de visualización y el contrato ancla están publicados, los tres. Es deliberado: la clave de visualización es lo que permite a cualquiera auditar el servicio sin pedir permiso, y el contrato es aquello con lo que contrasta su propio resultado.

Dirección de protocolo — envíe aquí todos los comandos:

u1nlded5cat3n9r4m0tpxr5a7sy3emccvaun7n4x9w848qa7ncl4eg5v2zyat4kevaa4fwfq0unwj3vnczfax3s9rutma43dckgqss8qrg

Clave de visualización — descifra todo lo que esa dirección ha recibido:

uview1uxy3j27qhwkh8peq8k6g0vldalgqm4lyfxwuc2r95jelk458gmx6elc4e92t9g75x655vd7nxrtv3gllvajt3n8v0x36224ma3hrtvvtps7ejxysx8puelggt86vfuslxvdvjq7a778chqtcg626lcsr0ht26v3wgyfu5u04sn2qsle9k7faakg479tqf

Contrato ancla — donde se publica cada raíz de estado, en BNB Smart Chain (chain ID 56):

0x6c01003716b0a74933325be1baf34fe34cf3e0d3

Una reproducción de la historia tiene que partir de un punto conocido, así que ambos extremos de la cadena también están fijados. Estos son los puntos de control desde los que arranca un indexador independiente:

Punto de controlValor
Bloque inicial de ZCash3438108 — el cumpleaños del monedero del protocolo; antes de él no puede existir ninguna transacción del servicio
Raíz de estado inicial0x0000…0000 — 32 bytes a cero, la raíz de un registro vacío
Bloque de despliegue del contrato114326974
Transacción de despliegue0x9a4b9a22…e6a5bd6c

La raíz inicial es toda ceros porque, en el árbol de Merkle disperso compacto, un subárbol vacío son 32 bytes a cero a cualquier altura: un registro vacío produce un hash de cero, y ese es el valor con el que se desplegó el contrato. Quien reproduzca la historia desde el bloque 3438108 llega al mismo estado inicial sin que nadie se lo diga.

Con estos valores puede escanear ZCash desde el bloque inicial, descifrar todos los comandos y pagos que el servicio haya recibido, reproducirlos con el indexador de código abierto, calcular usted mismo la raíz de estado y contrastarla con el contrato mediante isRootValid(bytes32) — consulte Verificar pruebas. Si el registrador hubiera censurado, reordenado o inventado alguna operación, su raíz diferiría de la que está en la cadena.

El indexador incluye su propia API de resolución, de modo que nunca tendrá que depender de un punto de acceso público, ni siquiera del nuestro.

aviso

Verifique estos valores antes de fiarse de ellos

Contraste la dirección, la clave de visualización y la dirección del contrato con el repositorio de GitHub y con la propia aplicación; el contrato y su transacción de despliegue también pueden leerse directamente en BscScan. Un sitio de documentación es justo lo que un atacante querría alterar.

Enlaces

RecursoDirección
Aplicaciónzcashnames.co/app
Aplicación en Torzns42gxtnultmfkuxu3ypawozpn4asbkqpqzlmlrp72u3nbggvn2c2ad.onion/app
Indexador en Torindexer.zns42gxtnultmfkuxu3ypawozpn4asbkqpqzlmlrp72u3nbggvn2c2ad.onion
GitHubgithub.com/ZCashNames
APIIr a la página
Documentacióndocs.zcashnames.co