Как подписать транзакцию, используя только автономный компьютер?

Я думаю, что можно сгенерировать ключи на автономном компьютере и подписать. Чтобы создать транзакцию, мне нужно ввести детали транзакции, и каким-то образом мне нужно перенести подписанную транзакцию с автономного компьютера на онлайн-компьютер, чтобы передать транзакцию.

Можно ли это сделать без использования USB-накопителя? Я могу использовать клавиатуру или считыватель штрих-кода для передачи хэша входной транзакции на компьютер в автономном режиме, а подписанную транзакцию обратно на компьютер в сети. Так что закрытый ключ остается на автономном компьютере.

Какие есть пошаговые инструкции для этого, с обязательной проверкой/исправлением ошибок?

Пока автономный компьютер может подписывать сообщения и генерировать QR-код, процесс должен быть очень простым.

Ответы (2)

Вы правы в том, что автономному узлу нужно, как получить свои средства, поэтому он не может быть полностью изолирован.

В настоящее время наиболее зрелым решением для автономного кошелька является клиент под названием Bitcoin Armory . Вот как выглядит ваш рабочий процесс с автономными кошельками:

Онлайн-узел создает транзакцию -> USB-ключ -> Автономный компьютер подписывает транзакцию -> USB-ключ -> Онлайн-узел транслирует транзакцию

Вы можете использовать Windows, Linux или Mac для автономного кошелька, но я бы рекомендовал Linux, так как в Windows сложно отключить автозапуск/автозапуск.

Скачать:

На этой странице более подробно описаны офлайн-транзакции.

спасибо за ссылку. можно ли пропустить часть "USB-накопитель"?
@vi.su. Вам нужен какой-то способ получить входные данные/индекс на автономный компьютер и какой-то способ вывести подписанные транзакции. Вы можете сделать это, набрав их вручную, но это кажется слишком сложным.
В настоящее время я использую USB-накопитель для копирования неподписанных транзакций на автономный компьютер, где я их подписываю, а затем использую тот же USB-накопитель, чтобы скопировать их обратно на онлайн-компьютер. Но сегодня я прочитал arstechnica.com/security/2013/10/… и это довольно страшно, если это правда. Я хотел бы найти способ использовать QR-коды для передачи необходимой информации между компьютерами, а не USB-накопитель, чтобы избежать риска заражения.
Сама неподписанная необработанная транзакция достаточно мала, чтобы поместиться в QR-код, но автономному компьютеру также требуется доступ к входным транзакциям для транзакции, которую он пытается подписать, что я в настоящее время предоставляю, копируя файл кошелька. Файлы кошелька слишком велики, чтобы поместиться в QR-код.
Ссылка "Эта страница" в последней строке устарела. bitcoinarmory.com/about/using-our-wallet/#offlinewallet , возможно, является новой ссылкой.
@ChrisMoore «Ссылка «Эта страница» в вашей последней строке устарела». Спасибо. «Я хотел бы найти способ использовать QR-коды для передачи необходимой информации». Это интересная идея, но, вероятно, выходит за рамки этого вопроса.
Ты так думаешь? Вопрос гласил: «Можно ли это сделать без использования USB-накопителя?» поэтому ответ с использованием QR-кодов, похоже, был именно тем, что он искал.
Ссылка на пояснительную страницу снова устарела.

Я работаю над этим прямо сейчас. В настоящее время у меня есть онлайн- и офлайн-оружейная база, настроенная на использование USB-ключа, как было описано здесь ранее. Я только что создал новое приложение для Android, которое будет взаимодействовать с сетью биткойнов и позволит вам сканировать QR-код, представляющий ЛЮБУЮ подписанную транзакцию, и транслировать его пирам. Это делает так, что вы можете сделать это:

  • Сделать неподписанную транзакцию в оружейной
  • Создайте из него QR-код
  • Отсканируйте его с помощью телефона (пока работают QR Droid и сканер штрих-кода)
  • Перенести телефон в автономный кошелек
  • Отображение QR-кода для неподписанной транзакции на телефоне (хорошо работает история в QR-дроиде)
  • Сканирование с помощью веб-камеры на компьютере с автономным кошельком (я успешно сделал это с помощью приложения zbar Linux в Ubuntu — подробности о пакете см. ниже)
  • Подписать TX с автономным арсеналом
  • Отображение QR-кода для подписанного tx (больше пакетов будет следовать)
  • Сканируйте с помощью нового приложения для Android для трансляции

Это почти сделано — приложение в настоящее время взаимодействует с биткойн-узлами, сканирует QR-код и отправляет его в широковещательную активность, но остается широковещательная часть и анализ формата арсенала.

ОБНОВЛЕНИЕ: Реализовано. Смотреть видео

Код Python здесь

Код приложения для Android здесь

Это объяснение не слишком помогает спрашивающему, не могли бы вы рассказать о битах «создание транзакции» и «подписание tx с помощью автономного арсенала»?
Я добавил видео демонстрации всего процесса. Предполагается, что вы знаете, как совершить офлайн-транзакцию в Armory, которая описана здесь . Все, что нужно сделать, это преобразовать неподписанный текст транзакции в QR-код (для этого я использовал QREncoder из App Store на своем Mac), а затем выполнить шаги, описанные в видео. Скоро выложу скрипты и ссылки из видео и возможно здесь.