Перейти к основному содержимому

Что возвращает публичное чтение

getSettlement, getSettlements, getReservation, getReservations, getDispute и getDisputes — открытые, неаутентифицированные чтения, и они больше не возвращают идентичность сторон. Сторона читает свои собственные записи полностью через методы с доказательством кошелька.

Почему редактирование, а не аутентификация

Эксплорер, показывающий объём расчётов, состояния и тайминги, — законный публичный взгляд на публичную сеть. Поставить перед ним подпись сломало бы это, при этом отталкивая всякого настойчивого обратно к сырому gossip, что не достигает ничего. Что эксплореру никогда не требовалось — это кто, поэтому публичное чтение сохраняет всё, кроме идентичности.

То, что идентичность собирает, — это граф сделок, и аргумент против его выдачи изложен полностью на странице чтений с доказательством кошелька: на одноранговом фиатном рынке знание, к какому мерчанту кошелёк всегда возвращается и кто постоянные клиенты занятого мерчанта, — это вопрос физической безопасности, а не предпочтение. Один неаутентифицированный вызов раньше его восстанавливал.

Сколько это честно стоит

Эти записи распространяются через gossip к каждому узлу. Любой, кто запускает один, читает их все, и редактирование этого не меняет. Что защищено — это лёгкость запроса — разница между curl к чужому узлу публичного доступа и поднятием узла для индексирования сети. Эта разница — бо́льшая часть того, из чего состоит случайный сбор.

Сказать это прямо важнее, чем может показаться: интегратор, который считает эти записи конфиденциальными, построит нечто, опирающееся на гарантию, которую протокол не даёт.

Формы

Settlement

СохраненоУдалено
id, reservation_id, amount, statebuyer, buyer_public_key
escrow_release_signatureseller, seller_public_key
payment_submitted_at, merchant_responded_atpayment_reference
payment_discrepancy, created_at, updated_at

escrow_release_signature остаётся, потому что называет ончейн-транзакцию, которую любой уже может прочитать на Solana, и это то, что делает расчёт независимо проверяемым.

payment_reference — пожалуй, худшее из двух удалений: это свободный текст, куда покупатель вписывает собственную банковскую ссылку, поэтому он рутинно несёт реальное имя или номер счёта.

Reservation

СохраненоУдалено
id, advertisement_id, amount, staterequester
requested_at, updated_at, expires_atrequester_public_key

advertisement_id сохраняется намеренно. Объявление — публичное предложение и уже несёт peer id своего мерчанта в каждой строке ордербука, поэтому раскрывает один конец ребра, который никогда не был приватным. Чего оно не раскрывает — это другой конец, что и делает его ребром.

Dispute

СохраненоУдалено
id, settlement_id, status, resolutionbuyer, seller, opener и их ключи
required_arbitrators, arbitrators_seatedreason
commitments, reveals (счётчики)arbitrators, arbitrator_keys
onchain_execution_signatureотдельные коммиты и раскрытия
opened_at, updated_atфлаги взаимного урегулирования

Обратите внимание, что здесь commitments и revealsсчётчики, а не списки — достаточно, чтобы эксплорер показал продвигающееся дело, без чьего-либо голоса, привязанного к имени.

Три отдельные причины для того, что отбрасывается. Стороны, потому что спор — это случай, в котором знание, кто с кем поссорился, наиболее очевидно достойно злоупотребления. reason, потому что это свободный текст о реальном разногласии из-за реальных денег, и он называет людей, банки и ссылки как само собой разумеющееся. Списки арбитров, потому что арбитр — зарегистрированный провайдер, чья идентичность сама по себе не секрет, но какой арбитр вытянул какое дело и как проголосовал — это ровно та пара, которая делает давление на одного стоящим. Флаги взаимного урегулирования идут вместе с ними: «продавец согласился, а покупатель нет» — это переговорная позиция, и её публикация зрителям меняет переговоры между двумя людьми.

Если вы добавляете поле

Поле принадлежит публичному виду только если говорит что-то о сделке, а не о людях. При сомнении оно остаётся снаружи: добавить одно позже — это примечание к релизу, а убрать одно — это раскрытие, которое уже произошло.