Вики ZooBC
Интеграции

Веб-кошелёк

Официальный кошелёк ZooBC — один HTML-файл, который работает в веб-браузере. Он собирает и подписывает каждую транзакцию на вашем устройстве и отправляет в сеть только подписанные байты, поэтому ни сервер, ни шлюз, ни узел никогда не получают ваш ключ. Ничего не нужно устанавливать, и ни у кого не нужно открывать аккаунт. О первых шагах см. Как завести кошелёк и хранить его в безопасности; эта статья объясняет, как кошелёк устроен.

Откуда он берётся

Каждый узел отдаёт кошелёк по адресам / и /wallet, а публичные шлюзы отдают ту же страницу на своих доменах. Можно также хранить копию файла и открывать её со своего диска. Поскольку поддельный кошелёк может выглядеть в точности как настоящий, проверьте скачанную копию, прежде чем вводить в неё фразу восстановления (проверка загруженного файла).

Ключи и хранилище

Кошелёк начинается с фразы восстановления: слов BIP-39, от 12 до 24, рекомендуется 24. Ключи выводятся из неё по SLIP-0010 Ed25519 по пути m/44'/883'/n', где 883 — тип монеты ZooBC (ключи и типы аккаунтов). Фраза — единственная резервная копия. Копию не хранит никто, включая ZooBC Foundation, поэтому утерянную фразу не может восстановить никто.

На вашем устройстве кошелёк хранит зашифрованное хранилище, которое открывается 6-значным PIN-кодом или парольной фразой. Его также можно открывать ключом доступа (passkey), например отпечатком пальца или распознаванием лица. После неверного PIN-кода кошелёк заставляет подождать перед следующей попыткой; удаление хранилища после неудачных попыток — опция, которую можно включить.

Аккаунты только для наблюдения («Наблюдать за адресом») показывают баланс и активность любого адреса, не храня его ключ.

Подписание на странице

Кошелёк собирает байты каждой транзакции, подписывает вашим ключом дайджест, привязанный к цепочке (подписание транзакции), и отправляет подписанную транзакцию узлу. Подписанную транзакцию нельзя изменить, не сломав подпись, поэтому шлюз или узел, который её передаёт, может переслать её дальше или отбросить, но никогда не может изменить её или что-либо подписать от вашего имени.

Внутри вашего браузера: фраза восстановления, ключ, сборка байтов, подпись; браузер покидает только подписанная транзакция, которая идёт к шлюзу и узлу
Внутри вашего браузера: фраза восстановления, ключ, сборка байтов, подпись; браузер покидает только подписанная транзакция, которая идёт к шлюзу и узлу

Множество форматов аккаунтов

Один кошелёк держит аккаунты многих форматов: нативные аккаунты ZooBC (ZBC_…), Ethereum и BNB (одна и та же схема 0x…), Bitcoin (SegWit bc1q…, legacy 1… и Taproot bc1p…), Solana, Polkadot, Cardano, Ripple, Tron и Tezos. Каждый подписывает собственной схемой своей родной цепочки, и каждый — отдельный аккаунт в реестре ZooBC (ключи и типы аккаунтов).

Кошелёк может также попросить MetaMask подписать согласие, которое привязывает адрес Ethereum к группе аккаунтов (MetaMask и доступ в стиле Ethereum).

Режим air-gap

Подписание и рассылка — отдельные шаги, и кошелёк может держать их врозь. В режиме air-gap он работает на компьютере, который никогда не выходит в сеть. Там он собирает и подписывает каждую транзакцию, но вместо отправки показывает подписанную транзакцию в виде текста и QR-кода. Вы переносите это в любую копию кошелька, подключённую к сети, и вставляете или сканируете на странице Submit, которой ключ вообще не нужен. Ключ никогда не касается подключённой машины.

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

Офлайн-компьютер собирает и подписывает, подписанная транзакция переносится в виде QR-кода или текста на страницу Submit кошелька в сети, которой не нужен ключ, а затем к узлу
Офлайн-компьютер собирает и подписывает, подписанная транзакция переносится в виде QR-кода или текста на страницу Submit кошелька в сети, которой не нужен ключ, а затем к узлу

Как оставаться на связи

Кошелёк обращается к цепочке через шлюз. Когда его шлюз отказывает, он заново читает списки шлюзов, ретрансляторов и архивных сервисов в цепочке и переходит к другому. Звонки между аккаунтами, статус присутствия и ходы игр-каналов проходят через ретранслятор. Когда в цепочке регистрируется более новый релиз узла, кошелёк показывает баннер, а владелец узла может переключать обновления узла из кошелька, не заходя на сервер (релизы и обновления).

См. также