Что возвращает публичное чтение
getSettlement, getSettlements, getReservation, getReservations,
getDispute и getDisputes — открытые, неаутентифицированные чтения, и они
больше не возвращают идентичность сторон. Сторона читает свои собственные записи
полностью через методы с доказательством кошелька.
Почему редактирование, а не аутентификация
Эксплорер, показывающий объём расчётов, состояния и тайминги, — законный публичный взгляд на публичную сеть. Поставить перед ним подпись сломало бы это, при этом отталкивая всякого настойчивого обратно к сырому gossip, что не достигает ничего. Что эксплореру никогда не требовалось — это кто, поэтому публичное чтение сохраняет всё, кроме идентичности.
То, что идентичность собирает, — это граф сделок, и аргумент против его выдачи изложен полностью на странице чтений с доказательством кошелька: на одноранговом фиатном рынке знание, к какому мерчанту кошелёк всегда возвращается и кто постоянные клиенты занятого мерчанта, — это вопрос физической безопасности, а не предпочтение. Один неаутентифицированный вызов раньше его восстанавливал.
Сколько это честно стоит
Эти записи распространяются через gossip к каждому узлу. Любой, кто запускает
один, читает их все, и редактирование этого не меняет. Что защищено — это
лёгкость запроса — разница между curl к чужому узлу публичного доступа и
поднятием узла для индексирования сети. Эта разница — бо́льшая часть того, из чего
состоит случайный сбор.
Сказать это прямо важнее, чем может показаться: интегратор, который считает эти записи конфиденциальными, построит нечто, опирающееся на гарантию, которую протокол не даёт.
Формы
Settlement
| Сохранено | Удалено |
|---|---|
id, reservation_id, amount, state | buyer, buyer_public_key |
escrow_release_signature | seller, seller_public_key |
payment_submitted_at, merchant_responded_at | payment_reference |
payment_discrepancy, created_at, updated_at |
escrow_release_signature остаётся, потому что называет ончейн-транзакцию,
которую любой уже может прочитать на Solana, и это то, что делает расчёт
независимо проверяемым.
payment_reference — пожалуй, худшее из двух удалений: это свободный текст, куда
покупатель вписывает собственную банковскую ссылку, поэтому он рутинно несёт
реальное имя или номер счёта.
Reservation
| Сохранено | Удалено |
|---|---|
id, advertisement_id, amount, state | requester |
requested_at, updated_at, expires_at | requester_public_key |
advertisement_id сохраняется намеренно. Объявление — публичное предложение и уже
несёт peer id своего мерчанта в каждой строке ордербука, поэтому раскрывает один
конец ребра, который никогда не был приватным. Чего оно не раскрывает — это другой
конец, что и делает его ребром.
Dispute
| Сохранено | Удалено |
|---|---|
id, settlement_id, status, resolution | buyer, seller, opener и их ключи |
required_arbitrators, arbitrators_seated | reason |
commitments, reveals (счётчики) | arbitrators, arbitrator_keys |
onchain_execution_signature | отдельные коммиты и раскрытия |
opened_at, updated_at | флаги взаимного урегулирования |
Обратите внимание, что здесь commitments и reveals — счётчики, а не списки
— достаточно, чтобы эксплорер показал продвигающееся дело, без чьего-либо голоса,
привязанного к имени.
Три отдельные причины для того, что отбрасывается. Стороны, потому что спор — это
случай, в котором знание, кто с кем поссорился, наиболее очевидно достойно
злоупотребления. reason, потому что это свободный текст о реальном разногласии
из-за реальных денег, и он называет людей, банки и ссылки как само собой
разумеющееся. Списки арбитров, потому что арбитр — зарегистрированный провайдер,
чья идентичность сама по себе не секрет, но какой арбитр вытянул какое дело и как
проголосовал — это ровно та пара, которая делает давление на одного стоящим.
Флаги взаимного урегулирования идут вместе с ними: «продавец согласился, а
покупатель нет» — это переговорная позиция, и её публикация зрителям меняет
переговоры между двумя людьми.
Если вы добавляете поле
Поле принадлежит публичному виду только если говорит что-то о сделке, а не о людях. При сомнении оно остаётся снаружи: добавить одно позже — это примечание к релизу, а убрать одно — это раскрытие, которое уже произошло.