Хорошо, здесь идет ...
У меня есть две основных идеи, запланированных на несколько подписных сделки идти в Оружейный, как только я закончу с некоторыми другими приоритетами. Первый из них достаточно прост, так что я просто размещение для справки. Второе немного более спорные и могут использовать некоторое сглаживание.
(1) Двухфакторная аутентификация без третьей стороныТам в целом более-версия этого для двух одинаково способных устройств, но я буду реализации этой версии, благодаря своей простоте и приспосабливает один из самых желаемых потребительных случаев мульти-сиг
Кошельки установки:- Создайте два новых бумажники в Оружейной, A и B
- Распечатайте резервное копирование бумаги для каждого кошелька.
- В бумажнике B, выберите "Удалить / Удалить бумажник" и удалить только частные ключи чтобы сделать его наблюдающий только бумажник, B»
- Сканирование резервного бумаги B с смартфоном
- Спрячьте как бумажные копии в безопасных или безопасности для хранения ценностей
Теперь ваш компьютер в Интернете имеет бумажник (полный) и B»(смотреть только), и ваш телефон имеет B (полный). Я, вероятно, сделать специальный формат бумажника для 2-х из-2 кошельков, что делает этот процесс еще более простой (и симметричный: А + В «на одном устройстве, и A» + B на другом устройстве).
Генерирование адресов:- На компьютере Оружейной: генерировать новый адрес для этого специального кошелька (A + B ')
- Оружейный находит следующий неиспользованный адрес индекс, п, в бумажнике А. Вычисляет PubKeyA (п) и PubKeyB (п).
- Создание 2-из-2 multisig адреса
Тратить монеты:- На компьютере, построить транзакцию как обычно. "послать" Кнопка неактивна.
- Нажмите "Вход для бумажника A"
- Подпись добавляется, транзакция преобразуется в BIP 0010 пакетов и отображается в виде QR-кода (или последовательности из них).
- Телефон сканирует QR-код (ы), отображает детали сделки, проверяет подпись A, запрашивает подтверждение
- Телефон добавляет вторую подпись, B, и подключается к сети Bitcoin и передач
Я, вероятно, найти QR-коды, чтобы быть трудно использовать здесь. Я имею в виду других способов, которыми я мог бы сделать это: возможно, отправить данные на телефон с помощью специальной электронной почты, которые автоматически могут быть обнаружены с помощью телефона и проанализированного. К сожалению, он никогда не будет вписываться в текст сообщения ...
Но последовательность QR-кодов не может быть плохим ... Вы можете плитка много QR-кодов на экране, и телефоны очень быстро при сканировании их.
(2) Покупатель-Продавец депонированию, с или без третьей стороныАлиса отправляет объект на Craigslist, зная, что неизвестно, ненадежный Боб попытается купить его. В этом случае, Алиса продавец и установит "депозитный риск" (Также может быть "условный депозит").
- Алиса делает Craigslist проводки, идентифицирующий элемент для продажи, цена (25 BTC), и желаемая "депозитный риск" (20%)
- Боб находит проводки и электронные письма Алиса говоря "Я куплю его за 20 BTC, 20% депозит в порядке, вот открытый ключ, и давайте использовать сторонний Чарльз."
- Алиса соглашается, таким образом она получает открытый ключ от Чарльза, и создает очень дурацкие сделки:
- Входы:
- (1) Алиса 4 BTC (20% депозит) - подписан с использованием SIGHASH_ANYONECANPAY
Выходы:
- (1) 28 BTC в TwoOfThree (PubKeyA, PubKeyB, PubKeyC)
- (2) Выход изменения Алисы, в случае необходимости
- Посылает незавершенную передачу Бобу
- Боб проверяет, что PubKeyC принадлежит Чарльзу.
- Боб создает идеальный размером вход 24 + плата BTC, добавляет его к ОМУ, признаки и передачи (сиг Алисы остается в силу из-за ANYONECANPAY)
В настоящее время существует 28 BTC запер в сети, требующей два из трех подписей Алисы, Боб или Чарльза. Это может быть ТМ 2-из-2 без Чарльза, но если одна из сторон исчезают (до завершения ОГО) деньги будут заблокированы навсегда.
Три возможных результата:
- Все идет гладко, Алиса создает "сделка завершение": Входы: 2-из-3 для 28 BTC и дополнительный вход платы, Выходы: Алиса 24, Боб 4. Знаки и посылает Бобу, который подписывает и трансляции
- Что-то пошло не так, Боб нужен возврат. Он строит TX: Входы: 2-в-3 для 28 BTC и опциональной платы, Выходы: Алиса 4, Боб 24.
- СПОР: Чарлз контакты обеих сторон, выясняет, кто получает деньги, - предположим, что Элис - тогда Чарльз создает Tx; Входы: 2-оф-3 для 28 BTC + платы; Выходы: Алиса 20, Чарльз 8; знаки и посылает Алисе, который подписывает и вещает.
В этом случае, "депозитный риск" преследует две цели: (1) гарантирует, что у Боба есть стимул, чтобы завершить сделку после того, как он получает свой товар, и добавляет стимул к продавцу не случайно обратно и оставить несколько значи деньги на мель. (2) Это уже включены, в равной степени финансируемая-на-как-сторон плата, в случае ТХ необходимо арбитраж.
Кто-то принес возможность того, что только "неудачник" в арбитраж должен платить, и "победитель" бы получить их обратно депозитный риск. Я не совсем уверен, что лучше ...
Хотя многие из этих шагов выглядят сложными, я думаю, что мой GUI-фу достаточно хорошо, чтобы сделать много этого прозрачное. Третьи стороны могут зарегистрироваться для включения в глобальном списке по большинству клиентов (для получения и проверки адресов). Пользователи не будут видеть все волшебство сценария происходит в фоновом режиме, они просто должны ввести их количество, и их предпочтения риска. Но, конечно, я должен сгладить под капотом вещи, первое, так что я могу осуществить это обоснованно, а затем сделать его прозрачным для пользователя ...