Перейти до основного вмісту

Довіра та приватність

Що ви можете перевірити самі

Ніщо з переліченого не потребує довіри до оператора:

  • Кожна зміна стану підписана. Схема перевіряє підпис Ed25519 тим ключем, якого вимагає операція, тому ім'я не може перейти без ключа власника.
  • Кожен пакет має ZK-доказ. Якірний контракт не прийме корінь без нього; доказ перевіряється відносно programVkey — зобов'язання до конкретної скомпільованої схеми, яку ви можете перезібрати самі.
  • Кожне розв'язання імені супроводжується доказом Меркла. Ви можете звірити запис із коренем, а корінь — із контрактом. Див. Перевірка доказів.
  • Кожен корінь детермінований. Будь-який індексатор, який відтворює ті самі команди, зобов'язаний отримати той самий корінь, тому розбіжність видно негайно.
  • Корені утворюють ланцюжок, кожен прив'язаний до висоти блоку PIVX, яку він покриває.

Чому доводиться довіряти

Короткий і чесний список — усе інше на цій сторінці ви можете перевірити самі:

  1. PIVX і BNB Smart Chain працюють як задумано — транзакції фінальні, ланцюжки не реорганізуються глибше за свої пороги підтвердження.
  2. Стандартна криптографія надійна — SHA-256, Ed25519 і система доказів SP1.
  3. Виплата надходить на ту адресу, яку ви вказали. Суми, комісії та зобов'язання повністю перевірні публічно; адреса призначення — єдина деталь, яку підтверджуєте ви самі, а не сторонній спостерігач. Докладніше в розділі Баланси та виведення коштів.

Чому реєстратор підзвітний завдяки відтворенню

Реєстратор публікує свою протокольну адресу і ключ перегляду до неї. Це зроблено навмисно і несе основне навантаження: маючи і те, і інше, будь-хто може

  1. просканувати PIVX і розшифрувати кожну команду і кожен платіж із самого початку, у канонічному порядку,
  2. відтворити їх через індексатор із відкритим вихідним кодом,
  3. незалежно обчислити корінь стану і
  4. порівняти його з коренем, закріпленим у BNB Smart Chain.

Реєстратор, який приховає оплачену команду, вигадає передачу, помилиться в зарахуванні чи переставить операції, отримає корінь, який спростовується кожним незалежним індексатором. Для такої перевірки не потрібні ні дозвіл, ні особливий доступ.

Отримана властивість — очевидність порушення, а не запобігання йому: поганий пакет може потрапити в блокчейн і бути спростованим уже після. Відновлення тут соціальне, а не автоматичне.

Баланси та виведення коштів

Гроші не переходять напряму від покупця до продавця. Виручка від продажу зараховується продавцеві на внутрішній баланс за вирахуванням сервісної комісії, програні ставки за спірне ім'я повертаються на баланс, а вивести кошти користувач може коли захоче. Саме зберігання коштів на балансі робить повернення можливими взагалі: екранована транзакція не несе адреси відправника, тож повернути помилковий платіж автоматично просто нікуди.

Виплати йдуть у блокчейні та мають атрибуцію

Реєстратор публікує повний ключ перегляду, а не лише вхідний, тому вихідні платежі видимі так само добре, як і вхідні. Кожна виплата має memo, що називає обліковий запис, за яким вона проводиться:

Payout #{id}: {gross} PIVX for pubkey '{pubkey}' (including the {fee}% service fee)

Завдяки цьому весь реєстр може відновити будь-хто. Проскануйте протокольну адресу опублікованим ключем перегляду — і ви побачите для кожного публічного ключа:

  • усі нарахування, які він заробив: виручку від продажів і повернення, що виводяться з публічного потоку команд
  • усі виплати, які він отримав, з атрибуцією за memo і сумою, взятою зі значення ноти
  • сервісну комісію, застосовану до кожної з них

що дає поточний баланс, який будь-хто може обчислити самостійно:

balance(pubkey) = Σ(sale proceeds net of fee) + Σ(refunds) − Σ(payouts sent) stays ≥ 0

Виплата без відповідного зобов'язання, неправильна комісія чи вихід балансу в мінус були б видимі будь-якому спостерігачеві. Реєстратор не може ні тихо заплатити самому собі, ні пропустити зобов'язання, ні застосувати комісію, відмінну від опублікованої.

інформація

Читайте суми з ноти, а не з memo

У memo зазначено валове зобов'язання — суму до вирахування сервісної комісії, — тоді як нота несе чисту фактично виплачену суму. Значення ноти криптографічне, а текст memo пише реєстратор. Під час перевірки беріть кожну суму зі значення ноти, а memo розглядайте виключно як атрибуцію.

Що підтверджує отримувач, а не сторонній спостерігач

Одна деталь випадає з цієї картини, і про неї краще сказати прямо, ніж залишити між рядків. Виведення коштів санкціонується на сайті вашим ключем Ed25519, і цей запит іде по HTTPS, а не через блокчейн. Тому сторонній спостерігач бачить, що за вашим обліковим записом пройшла виплата правильного розміру, але публічного запису про те, яку адресу призначення ви вказали, у нього немає.

На практиці перевірити це найкраще можете ви самі і одразу: ви знаєте, що запитували і чи дійшли кошти. І перевірка ця — не питання думки: у вас залишається підписаний вами запит, тож розбіжність можна довести криптографічно, а не оскаржувати на словах.

Підтверджується
Стан доменівБудь-яким спостерігачем, автоматично — незалежний індексатор сам помічає розбіжність коренів
Суми виплат, комісії, зобов'язанняБудь-яким спостерігачем, за опублікованим ключем перегляду і атрибуцією в memo
Адреса призначення виплатиОтримувачем, за підписаним ним запитом

Якщо пустити виведення коштів через той самий транспорт memo, останній рядок перейшов би в першу категорію практично без утрат у приватності, оскільки ключ перегляду і memo із зазначенням публічного ключа і так розкривають цей зв'язок. Такий варіант розглядався, але був відкладений на користь того, щоб виведення залишалося простою дією на сайті; це розумна можлива зміна в майбутньому, а не недолік.

порада

Зберігайте підписані запити на виведення

Зберігайте підписаний запит, поки не переконаєтеся, що кошти надійшли. Саме він перетворює спірну виплату на те, що ви можете довести.

Чого не може зробити шкідливий індексатор

Не може підробити запис. Розв'язання імен супроводжуються доказами Меркла, а корінь, який якірний контракт ніколи не приймав, відсіюється перевіркою з розділу Перевірка доказів.

Не може приховати реєстрацію. Відсутність доводиться, а не декларується: термінал Blocked несе із собою повний блокувальний запис, тож заяву можна перевірити, а не прийняти на віру. Крім того, вся історія відновлювана з ланцюжка за публічним ключем перегляду.

Не може зникнути. Кожна команда живе в PIVX, а код відкритий. Будь-хто може зібрати весь реєстр наново з найпершого блоку.

Приватне розв'язання імен через Tor

Розв'язання імен через звичайний інтернет розкриває серверу, які імена ви шукаєте і коли. Тому API індексатора опублікований ще й як прихований сервіс Tor:

http://indexer.pivxns3wsp3g6rtekzjwhqtcic2yhgngqg3ovod67hp3obt2ckmtcjyd.onion

У браузері Tor:

http://indexer.pivxns3wsp3g6rtekzjwhqtcic2yhgngqg3ovod67hp3obt2ckmtcjyd.onion/v1.0/resolve/richard.pivx

З командного рядка, за локально запущеного Tor:

curl --socks5-hostname 127.0.0.1:9050 \
http://indexer.pivxns3wsp3g6rtekzjwhqtcic2yhgngqg3ovod67hp3obt2ckmtcjyd.onion/v1.0/info

Це той самий API, що повертає ті самі дані, включно з доказами Меркла, тож ви нічого не втрачаєте. Сервер ніколи не дізнається ваш IP, а провайдер побачить лише те, що ви користувалися Tor.

порада

Довіру знімає перевірка, а не транспорт

Tor захищає вашу приватність від індексатора. Чеснішим індексатор від цього не стає — це роблять доказ Меркла і звірка кореня в блокчейні, і виконувати їх варто незалежно від того, як ви підключаєтеся.