Я смотрел на спецификации u2f, и выяснил, что его использование secp256r1 ЕС в качестве своей внутренней криптографии.
Я не знаю, если это совместимо для Bitcoin, но я на самом деле есть идея:
Поскольку u2f жетоны работы тремя различными способами:
1: Либо хранения секретного ключа ЕС на борту, экспорт открытого ключа, и идентификатор ключа.
2: Или, создавая закрытый ключ EC на борту, окружив его с помощью ключа для конкретного устройства, и экспортирует открытый ключ и закрытый ключ зашифрован.
3: Или, используя временное значение для создания закрытого ключа EC на борту, используя MAC с ключом конкретного устройства, а затем экспортировать открытый ключ и случайное слово.
После этого аутентификация осуществляется путем подписания вызова наряду с другими параметрами, с закрытым ключом ЕС.
Даже если Theres много "бесполезный" параметры внутри подписанного ответа, я получил идею, где вы тщательно создать транзакцию, такие, как вы можете извлечь "вызов" из этого, отправить его в знак u2f, и то, что вы получаете обратно, является полностью подписанными транзакциями, которые вы можете передать в blockchain.
Это может включать в себя генерирование специальных АДРЕСА с использованием "Vanitygen"(Который заканчивается в подобном контакте = 1 или такие), или на самом деле тратить небольшие суммы денег (т.е. уничтожается), чтобы отправить эти монеты недействительных АДРЕСА, но так соответствует формату отклика маркера u2f.
Для регистрации u2f ключи к сети Bitcoin, это может быть contructed путем отправки данных, возвращаемых маркера u2f, в транзакции, чтобы быть встроен в blockchain. Это также будет тратить деньги, но, посылая минимальную сделку, это будет всего лишь несколько центов. U2f-Bitcoin-клиент, то нужно только загрузить blockchain, чтобы иметь возможность восстановить кошелек.
Поскольку ключи u2f эффективно Анонимно, вам потребуется способ определить, какой кошелек "ваш",
Это может быть сделано, просто вы обеспечиваете общественный "имя пользователя" Строка, которая используется вместе с ключом u2f, чтобы загрузить ваш кошелек. Бумажник просто встраиваться в blockchain.
Злоупотребление (например, спам регистраций u2f с одинаковыми именами пользователей, как и другие пользователи, что означает u2f-Bitcoin клиент должен попробовать их все) предотвращено просто потому, что вы должны тратить деньги, чтобы зарегистрировать ключ u2f. Кроме того, путь регистрация u2f indistingushable от обычных операций (например, хеширования имени пользователя), было бы трудно злоупотребляющих найти эти сделки.
Это означало бы, вы могли бы получить безопасное хранение ключей для Bitcoin для всего около 20 $.
Если кто-то захочет поэкспериментировать с u2f токенов и Bitcoin, вот знак:
https://store.yubico.com/store/catalog/product_info.php?products_id=112&osCsid = itvjqcbekqvd6gvkao9i91gns2
Любые toughts?