Эта статья - дополнение к моему старому видео. Некоторые шаги теперь требуют дополнительных действий, что-то стало проще, а некоторые вещи выяснились уже в процессе длительной эксплуатации.
Ознакомьтесь:
1) После запуска системы теперь появляется диалоговое окно подключения к Tor. На этапе первоначальной настройки нам нужен интернет для скачивания кошельков. Выбираем Connect to Tor automatically >> Configure a Tor bridge, нажимаем Connect to Tor. В следующем окне - Ask for a Tor bridge by email.
![Изображение](https://i.ibb.co/jfzsk3Q/345503861203a3e8f0811fae707f546b.png)
![Изображение](https://i.ibb.co/5Rsp9zn/12b623e8620bf1a66045030df7039930.png)
- Непосредственно на сайте Tor Project. Вводим капчу, сканируем QR-код смартфоном и передаем в Tails с помощью обычного приложения для сканирования/генерации QR - например, SecScanQR.
- С помощью отправки пустого email на адрес bridges@torproject.org, в ответ получите настройки мостов и заветный QR.
2) Кошелек Electrum теперь подписывается тремя ключами разработчиков, но отпечаток основной подписи не изменился.
![Изображение](https://i.ibb.co/NN6xPcQ/ba7d4ac40129b57658d0688486c4f255.png)
4) Настройка офлайна теперь осуществляется при запуске в Additional Settings >> Offline mode.
![Изображение](https://i.ibb.co/ynqP234/f04d8f4542bd1dec50f8dee142cf08e3.png)
Пример добавления Smart Chain с помощью опции Add Custom Node:
![Изображение](https://i.ibb.co/W3z5cVM/e6bb65af4936e219ecf58c44a4c88854.png)
6) Обязательно проверьте вход в созданные кошельки, введя сид/приватный ключ с бумажного носителя.
7) Экспортировать очень большую биткоин транзакцию в QR-код не всегда возможно из-за ограничения на количество данных в одном коде. Это может произойти, если вы часто получаете небольшие транзакции, например, вознаграждения за майнинг на пуле. В этом случае необходимо на онлайн системе экспортировать транзакцию в файл psbt, вместо QR, передать файл в Tails, подписать транзакцию из файла, экспортировать подписанную транзакцию в файл psbt, и передать на онлайн компьютер.
Конечно, можно это сделать и с помощью второй флэшки, но мы же хотим супер безопасности и никак не соприкасать горячую и холодную систему. Поэтому передавать транзакции будем с помощью потокового QR. Сразу скажу, что это достаточно муторно. Вся проблема в том, что нет единого стандарта потокового QR-кода, а разработкой всерьез никто не занимается, хотя благодаря такой технологии можно передавать относительно большие объемы данных буквально по воздуху.
Нам понадобится приложение QRStream и простые скрипты в Tails, которые можно взять отсюда https://github.com/xloem/qrstream.
Приложение имеет спартанский вид и не богато настройками:
![Изображение](https://i.ibb.co/N6YBmhJ/ff44418467b1e7a0d7d9949d2f4d703c.png)
Код: Выделить всё
sha256sum unsigned.psbt
# вместо unsigned.psbt - имя файла вашего файла транзакции
В приложении QRStream выбираем нашу неподписанную транзакцию в меню Send File.
![Изображение](https://i.ibb.co/9N9hQ7q/9c82b4e39909b7023942ec587099c766.png)
Для приема QR-потока в Tails:
Код: Выделить всё
cd Persistent/Tor\ Browser/
zbarcam --raw | iconv -f UTF-8 -t ISO-8859-1 | while true; do dd bs=718 count=1 status=none | head -c -1; done > unsigned.psbt
# 718 - это значение blocksize в приложении на смартфоне + 1
# unsigned.psbt - имя файла в который будет сохранен поток
Вычислите хэш полученного файла, он должен совпадать с полученным ранее на онлайн системе:
Код: Выделить всё
sha256sum unsigned.psbt
Для передачи транзакции на смартфон выбираем в приложении QRStream "Receive QR Stream". Для работы приложения нужно установить Barcode Scanner, на него ведет ссылка из приложения QRStream. Play Market может ругаться на слишком новую версию Android, но приложение без проблем можно скачать и установить с GitHub.
В Tails используем скрипт:
Код: Выделить всё
signed.psbt -b 367 'Code #' -a 4 --numeric-suffixes=1 --filter='clear; echo $FILE; qr; read </dev/tty'
# скрипт немного изменен, используется утилита qr вместо qrencode
# signed.psbt - это имя файла, в который вы сохранили подписанную транзакцию
# 367 - размер QR-кода, по аналогии с настройкой передачи со смартфона на компьютер
Переданный файл сохранится под именем qrstream в папке /storage/emulated/0/Android/data/com.github.xloem.qrstream/cache/
Да, сложно, но вполне можно приноровиться. Слава богу, что это нужно достаточно редко. Ну и, повторюсь, передачу файла через флэшку никто не отменял.
Я очень долго искал, и QRStream - единственный полноценный (но весьма неудобный) вариант для решения подобной задачи. Если знаете еще какие-то рабочие варианты передачи потокового QR, напишите в комментариях или в мой чат. Пользователям iOS могу только посочувствовать, есть старый проект https://github.com/divan/txqr, там даже весьма впечатляющее демо, но в AppStore приложение отсутствует.
Статья будет обновляться, оригинал опубликован на Slabber.