Хранение мнемонических фраз с применением NFC
@RomkijUPDATE 29.06.2019
Собрал простенькую демку.
Демонстрация на Youtube: https://youtu.be/TIppp2G5ZO0
Ссылка на apk: https://yadi.sk/d/HOYWx0W49kCpOQ
Схема: https://yadi.sk/i/0hbcyDejd2PlsA
Сам принцип прост:
1) Покупаем карточку/брелок/etc. с поддержкой NFC;
2) Записываем на неё мнемонические фразы;
3) Читаем;
4) Копируем в буфер;
5) Используем для подписи транзакции.
На основе этого принципа, можно сделать простенькое приложение, которое работает без подключения к интернету в оффлайн-режиме. Оно позволит записывать несколько кошельков в формате JSON:
[ { "name": "Кошелек моей бабушки", "phrase": "surround tape away million into program organ tonight write prefer inform cool" }, { "name": "Личные расходы", "phrase": "surround tape away million into program organ tonight write prefer inform cool" } ]
Как применять, тут тоже можно продумать разные варианты:
1) Просто работать с мнемоническими фразами с помощью буфера обмена (копируем в буфер фразу и дальше самостоятельно её применяем);
2) Для начала сформировать транзакцию, затем подписывать уже с помощью предложенного выше способа с последующим экспортом транзакции для загрузки в блокчейн;
Чтобы организовать универсальность применения, будет необходимо сделать возмножность расшаривать в сеть WiFi, веб-сервис, для доступа с любого устройства внутри локальной сети.
При должном подходе, сделав всё это в рамках разумного поэтапного заполнения, этим сможет пользоваться даже моя бабушка;)
P.S. Ранее нельзя было бы использовать данный пример в iOS, поскольку компания Apple запрещала записывать собственные NFC метки. Теперь в iOS 13 хотят снять это ограничение. (https://appleinsider.ru/iphone/na-chto-eshhe-vash-iphone-budet-sposoben-s-nfc-v-ios-13.html или https://www.nfcworld.com/2019/06/06/362917/apple-includes-nfc-tag-writing-in-major-upgrade-to-core-nfc-framework/).
P.S.S. Конечно, перед записью JSON необходимо проводить "минификацию". Возможно, даже зашифровать с помощью заранее заданного "мастер" пароля в приложении. По этому паролю и осуществлять доступ к опубликованному веб-сервису в рамках локальной сети.