7 мин чтения
Как устроена адресная книга CardanoWall
Адресная книга CardanoWall хранит проверенные контакты, поэтому вы можете запечатать запись для нужного человека по имени, а не вставлять каждый раз длинный адрес получателя.

Адресная книга CardanoWall — это приватный список проверенных контактов, который позволяет запечатать запись для нужного человека по имени, а не вставлять его адрес получателя вручную. Каждая запись хранит публичные ключи, нужные вам, чтобы узнавать человека или команду и шифровать данные для них, — ключ подписи и, по желанию, адреса получателя, — а также заметку о том, как именно вы убедились, что ключи действительно принадлежат им.
Это слой удобства и безопасности внутри приложения CardanoWall. Он не меняет стандарт Label 309 и не появляется ни в одной записи. Когда вы запечатываете файл, адресная книга — это просто место, где приложение находит нужный ключ перед публикацией.
Какую задачу решает адресная книга?
Она убирает самый опасный шаг при запечатывании записи — ручной ввод публичного ключа.
Запечатанная запись зашифрована для одного или нескольких адресов получателя — публичных ключей, записанных длинными строками вида age1... или age1pqc.... Они не предназначены для того, чтобы их читал или перепечатывал человек. Один неверный символ — и вы можете зашифровать данные не для того ключа, а значит, либо нужный получатель не сможет открыть файл, либо, что хуже, его откроет посторонний.
Адресная книга превращает «вставьте эту строку из 60 символов» в «отправить Алисе из юротдела». Вы один раз тщательно проверяете контакт, сохраняете его и пользуетесь им снова и снова. Это удобно, но прежде всего это меньше шансов ошибиться с ключом для файла, который действительно важен.
Что хранит доверенный контакт?
Каждый контакт — это небольшой набор публичных фактов, привязанных к вашему счёту:
- отображаемое имя, которое вы выбираете;
- публичный ключ подписи Ed25519 контакта (обязательно — это идентификатор контакта);
- по желанию — классический адрес получателя (
age1..., ключ X25519); - по желанию — гибридный постквантовый адрес получателя (
age1pqc...); - как именно вы проверили контакт — это записывается одним из нескольких способов: лично, передача через QR-код, запись DNS TXT, страница
.well-knownили ручная проверка; - время, когда вы это проверили;
- произвольные заметки.
Здесь нет приватных ключей и ничего секретного. Контакт — это ваша собственная запись о чужих публичных ключах и о том, насколько вы им доверяете.
Два адреса получателя независимы и оба необязательны. У контакта может быть один из них, оба или ни одного. Запись только с ключом подписи всё равно полезна, чтобы узнавать подписи этого человека, но запечатать для неё файл нельзя, пока не добавлен адрес получателя, — композер просто не предложит её как получателя в этом режиме.
Зачем хранить ключ подписи Ed25519?
Потому что идентичность — это и есть ключ, а имя — лишь ярлык.
В Label 309 авторство выражается необязательными подписями над записью, и проверяет их именно публичный ключ Ed25519. Если подписанная запись утверждает, что пришла от знакомого вам человека, то реально ваше ПО проверяет именно байты ключа. Два человека могут выбрать одинаковое отображаемое имя; публичный ключ — это устойчивый идентификатор, который можно сравнить точь-в-точь.
Поэтому контакт хранит криптографический идентификатор и привязывает к нему ваш человекочитаемый ярлык. Когда приходит подписанная запись, вы видите «совпадает с сохранённым ключом Алисы», а не вглядываетесь в hex.
Зачем хранить адреса получателя и почему их два?
Адреса получателя — это ключи, для которых вы шифруете, и CardanoWall поддерживает два их вида.
Классический адрес age1... использует X25519 и короче. Гибридный адрес age1pqc... сочетает X25519 с постквантовым ключом и заметно длиннее — это цена за защиту долгоживущего конфиденциального содержимого от будущего квантового противника. (Подробнее о разнице — в материале что такое адрес получателя.)
Если сохранить их в контакте, композер сможет предложить нужных получателей для того режима шифрования, который вы используете. Если вы запечатываете по классической схеме, он показывает контакты с классическим адресом; если по гибридной — те, у которых есть гибридный адрес. Если у контакта нет адреса для активного режима, приложение не делает вид, что может для него зашифровать, — оно просто не включает его в список, а не пытается угадать.
Доказывает ли сохранённый контакт, что ключи принадлежат реальному человеку?
Нет. Адресная книга фиксирует, во что верите вы и как вы это проверили, — не более того.
Запись не доказывает, что ключ принадлежит конкретному человеку, компании, редакции, аудитору или регулятору. И не может: проверка этой связи — человеческая работа, и она остаётся вашей ответственностью. Задача адресной книги — сохранить проделанную вами проверку, чтобы её не пришлось повторять, а не выполнить её за вас.
Разумные способы проверить контакт, прежде чем сохранить его:
- обменяться ключом лично или отсканировать QR-код при личной встрече;
- подтвердить его по записи DNS TXT или странице
.well-knownна домене, которому вы доверяете; - сверить его с подписанным публичным профилем;
- позвонить по известному номеру или воспользоваться имеющимся защищённым каналом, чтобы проговорить ключ вслух;
- следовать установленному в компании процессу обмена ключами.
Для конфиденциальных файлов подтверждайте ключ через два независимых канала, а не один. Проверка получателя перед запечатыванием файла разбирает это подробнее.
Публична ли адресная книга и хранится ли она в блокчейне?
Ни то ни другое. Это локальные для счёта служебные данные, которые никогда не покидают CardanoWall.
Ваши контакты не записываются в записи Label 309 и никогда не попадают в блокчейн или в Arweave. Запечатанная запись содержит слоты шифрования — ключи, обёрнутые для получателей, — а не читаемую запись из адресной книги; по тому, что публикуется, наблюдатель не сможет восстановить ваш список контактов.
При этом адресная книга и сама по себе остаётся чувствительной. Имена, заметки и способы проверки могут раскрывать связи и рабочие процессы. CardanoWall привязывает каждый контакт к вашему счёту, чтобы он не утёк между счетами, а сервер не пишет эти подробности в свои логи: операции с контактами записываются только с идентификатором запроса и идентификатором вашего счёта — никогда сами ключи, имена или заметки.
Чем адресная книга помогает композеру?
Она превращает сохранённые публичные ключи в список получателей с выбором по имени.
Когда вы создаёте запечатанную запись, композер загружает контакты, у которых есть адрес получателя для используемого режима, и позволяет выбирать получателей по имени. Приложение само подставляет правильный адрес; вам не нужно перепечатывать его. Это делает повторяющиеся отправки куда менее подверженными ошибкам:
- регулярное раскрытие юридических материалов и передачи в рамках e-discovery;
- передачи аудиторам и для комплаенса;
- приём материалов в редакции или от информаторов;
- обмен свидетельствами между партнёрами и командами;
- контакт службы безопасности клиента;
- ваши собственные резервные получатели.
Чем реже вы вставляете длинный ключ вручную, тем меньше шансов вставить не тот.
Что стоит писать в заметках к контакту?
Только то, что поможет вам довериться записи позже, — и ничего секретного.
Хорошие заметки фиксируют, как и когда вы провели проверку, чтобы коллега (или вы в будущем) мог решить, стоит ли на неё полагаться:
- «Проверено лично в офисе в Лиссабоне, 2026-06-02»;
- «Сверено по записи DNS TXT на example.com»;
- «QR-код показала Алиса во время видеозвонка»;
- «Со страницы безопасности компании, подписанной её ключом»;
- «Сменён со старого ключа, оканчивающегося на
ab90»; - «Для юридических файлов используйте постквантовый адрес».
Никогда не пишите в заметках секреты. Адресная книга — это не хранилище идентичности: заметки — обычные служебные данные, поэтому относитесь к ним как к карточке в адресной книге, а не как к хранилищу паролей.
Что происходит, когда контакт меняет ключи?
Относитесь к новому ключу как к совершенно новому факту, который нужно проверить, а не как к автоматическому обновлению.
Ключи меняются: компания обновляет адреса получателя, команда переходит с классического адреса на гибридный или скомпрометированную идентичность заменяют на новую. То, как вы обновите контакт, зависит от того, какой именно ключ изменился.
- Новый адрес получателя можно отредактировать прямо в существующем контакте — ключ подписи по-прежнему указывает на того же человека.
- Новый ключ подписи — это, по сути, новая идентичность, поэтому она становится новой записью контакта; старую вы можете сохранить или удалить по своему усмотрению.
В любом случае шаги одни и те же:
- проверьте новый ключ через доверенный канал, прежде чем сохранять его;
- запишите в заметках, как именно вы его проверили;
- прекратите отправлять конфиденциальные файлы на старый адрес;
- оставьте короткую заметку о смене ключа, чтобы история была понятной.
Ловушка, которой стоит избегать: довериться новому ключу только потому, что он пришёл по тому же каналу, который, возможно, уже скомпрометирован. Объявление о смене ключа надёжно ровно настолько, насколько надёжен канал, по которому оно пришло.
Если коротко
Адресная книга — это слой безопасности для людей. Label 309 оперирует публичными ключами; люди оперируют именами и отношениями. Адресная книга CardanoWall связывает одно с другим — сохраните проверенный контакт один раз, а затем выбирайте получателей по имени и исключайте ошибки из отправки запечатанных записей.
Сама по себе она не доказывает ничью идентичность, а подтверждение по-прежнему лишь показывает, что конкретные байты существовали к определённому моменту, но не кто ими владеет или кто их автор. Что адресная книга действительно делает — так это сохраняет уже проделанную вами проверку, чтобы её можно было безопасно использовать повторно.
Что почитать дальше
- Создайте свою адресную книгу — пошаговое руководство по добавлению контактов и управлению ими.
- Публичные профили и адреса получателя — как проверенный профиль позволяет другим добавить вас в один клик.
- Режим белого списка для входящих записей — использование контактов для фильтрации того, что попадает в ваши Входящие.
- Стандарт Label 309 и его реализация с открытым исходным кодом на github.com/cardanowall.