Що таке ZCash Names?
Коротко
ZCash Names — це протокол імен для ZCash, який працює в блокчейні та побудований на приватних memo. Він дозволяє реєструвати зрозумілі людині імена на кшталт richard.zcash і зіставляти їх з адресами ZCash. Правильність кожної реєстрації підтверджується доказом із нульовим розголошенням (Zero-Knowledge Proof).
Проблема
Адреси ZCash надто довгі. Виглядають вони так:
u1zk30kje24v9n08lxq6ja9lfd8q3q54g7uawra7hwa05k4r56nkzzu62cy2apdungu4ehws95vjflw2lakt62j5wynwcje6t6yjcg9v5sp7r7048lgsprukv8r70pmpsk4tsqrqy58aglywh23grvs7kq75zk4c3zy57267u34vecm35yuexkrsmzphcu2dzph4r8rk0h0rlh5su7yhs
Рішення
Ім'я реєструється однією транзакцією ZCash. Індексатор стежить за блокчейном, перевіряє кожну реєстрацію і будує реєстр. Потім генератор доказів із нульовим розголошенням створює математичний доказ того, що всі реєстрації правильні.
Будь-хто може розв'язати richard.zcash і отримати адресу Річарда. Будь-хто може перевірити доказ. Довіра не потрібна.
Правила імен
| Правило | Значення |
|---|---|
| Допустимі символи | a-z, 0-9, дефіси |
| Довжина | 1 - 64 символи |
| Регістр | Не враховується (зберігається в нижньому регістрі) |
| Дефіси | Не на початку, не в кінці, не поспіль |
| Зона верхнього рівня | .zcash, .zec, .private, .secure, .safe |
Вартість реєстрації
Див. Реєстрація імені
| Довжина імені | Плата |
|---|---|
| 1 символ | 5.5 ZEC |
| 2 символи | 4 ZEC |
| 3 символи | 2.45 ZEC |
| 4 символи | 1.2 ZEC |
| 5 символів | 0.65 ZEC |
| 6 символів | 0.35 ZEC |
| 7+ символів | 0.15 ZEC |
Вартість змін
Див. Керування іменем, Маркетплейс
| Довжина імені | Плата |
|---|---|
| 1 символ | 0.006 ZEC |
| 2 символи | 0.004 ZEC |
| 3 символи | 0.002 ZEC |
| 4 символи | 0.0011 ZEC |
| 5 символів | 0.0008 ZEC |
| 6 символів | 0.0005 ZEC |
| 7+ символів | 0.00025 ZEC |
Реєстратор
Протокольна адреса реєстратора, його ключ перегляду і якірний контракт опубліковані — усі три. Це зроблено навмисно: ключ перегляду дозволяє будь-кому перевірити роботу сервісу, не питаючи дозволу, а контракт — це те, з чим він звіряє власний результат.
Протокольна адреса — сюди надсилаються всі команди:
u1nlded5cat3n9r4m0tpxr5a7sy3emccvaun7n4x9w848qa7ncl4eg5v2zyat4kevaa4fwfq0unwj3vnczfax3s9rutma43dckgqss8qrg
Ключ перегляду — розшифровує все, що будь-коли приходило на цю адресу:
uview1uxy3j27qhwkh8peq8k6g0vldalgqm4lyfxwuc2r95jelk458gmx6elc4e92t9g75x655vd7nxrtv3gllvajt3n8v0x36224ma3hrtvvtps7ejxysx8puelggt86vfuslxvdvjq7a778chqtcg626lcsr0ht26v3wgyfu5u04sn2qsle9k7faakg479tqf
Якірний контракт — сюди публікується кожен корінь стану, у мережі BNB Smart Chain (chain ID 56):
0x6c01003716b0a74933325be1baf34fe34cf3e0d3
Повторне відтворення історії має з чогось починатися, тому обидва кінці ланцюжка теж зафіксовані. Ось контрольні точки, від яких стартує незалежний індексатор:
| Контрольна точка | Значення |
|---|---|
| Початковий блок ZCash | 3438108 — день народження протокольного гаманця; раніше за нього службових транзакцій бути не може |
| Початковий корінь стану | 0x0000…0000 — 32 нульові байти, корінь порожнього реєстру |
| Блок розгортання контракту | 114326974 |
| Транзакція розгортання | 0x9a4b9a22…e6a5bd6c |
Початковий корінь складається з самих нулів тому, що в компактному розрідженому дереві Меркла
порожнє піддерево на будь-якій висоті — це 32 нульові байти. Отже, порожній реєстр хешується в
нуль, і саме з цим значенням був розгорнутий контракт. Будь-хто, хто відтворює історію з блоку
3438108, приходить до того самого початкового стану, і підказувати йому не потрібно.
З цими значеннями ви можете просканувати ZCash починаючи з початкового блоку, розшифрувати всі
команди й платежі, будь-коли отримані сервісом, відтворити їх через
індексатор із відкритим вихідним кодом,
самостійно обчислити корінь стану і звірити його з контрактом викликом isRootValid(bytes32) —
див. Перевірка доказів. Якби реєстратор колись приховав, переставив
чи вигадав операцію, ваш корінь відрізнявся б від записаного в блокчейні.
Індексатор постачається з власним API розв'язання імен, тож вам ніколи не доведеться залежати від публічної точки доступу — зокрема й від нашої.
Перевірте ці значення, перш ніж на них покладатися
Звірте адресу, ключ перегляду й адресу контракту зі сховищем на GitHub і з самим застосунком; контракт і транзакцію його розгортання можна також прочитати напряму в BscScan. Сайт документації — саме те, що зловмисник захотів би підмінити.
Посилання
| Ресурс | Адреса |
|---|---|
| Застосунок | zcashnames.co/app |
| Застосунок у Tor | zns42gxtnultmfkuxu3ypawozpn4asbkqpqzlmlrp72u3nbggvn2c2ad.onion/app |
| Індексатор у Tor | indexer.zns42gxtnultmfkuxu3ypawozpn4asbkqpqzlmlrp72u3nbggvn2c2ad.onion |
| GitHub | github.com/ZCashNames |
| API | Перейти на сторінку |
| Документація | docs.zcashnames.co |