Распиши подробнее идею, добавь свои идеи, оцени её реалистичность:
P2P оффлайн децентрализованные переводы между устройствами.
Как работает:
На передающем устройстве в приложении указывается сумма перевода и затем генерируется QR код с публичной подписью, в этот момент в кошельке снимается указана сумма. И фактически деньги теперь находятся в QR коде.
Принимающая сторона сканирует код и принимает деньги.
Остаётся момент с утилизацией QR-кода, чтобы нельзя его было повторно использовать.
Для этого можно использовать 2 подписи: получателя и отправителя.
Тогда принять платеж может только принимающая сторона, а не третья.
Дополнение:
В общем у нас есть система из электронных кошельков (аналог blockchain) это хранилище хранит в себе блоки получения и блоки отправления денег.
Чтобы передать деньги оффлайн:
Принимающей стороне нужно сгенерировать блок с суммой, id получателя, id сессии, цифровой подписью и другими необходимыми данными. Затем передать его в другой стороне через QR, NFC, Bluetooth или иным способом.
Отправитель в приложении принимает этот блок, генерирует у себя блок списания указывая данные из блока принимающей стороны. Теперь деньги существуют только в сгенерированном блоке.
Принимающая сторона принимает этот блок (через QR, NFC, Bluetooth или иным способом) и добавляет его в свой цифровой кошелек.
Данная система не требует интернета во время выполнения операции.
Создание локальной децентрализованной системы обмена цифровыми средствами без необходимости подключения к интернету. Передача средств происходит через блоки транзакций, обмениваемые по QR/NFC/Bluetooth.
Получатель генерирует блок-приём (receive block):
receiver_id
)session_id
Передаёт этот блок отправителю (через QR, NFC и т.п.)
Отправитель проверяет подпись и создаёт блок-списание (send block):
Отправляет send-блок обратно получателю
Получатель добавляет и сохраняет оба блока (receive и send), увеличивая свой баланс
Позже (при наличии интернета или при соединении с сетью) происходит синхронизация блоков с более широкой сетью или хранилищем – в этом нет необходиомсти, это нужно только для “обналичивания” денег, и то оно должно быть реализовано аналогично переводу
⚖️ Двойное расходование (double spend): пока сеть не синхронизирована, один пользователь может “слить” все средства нескольким получателям – это не проблема
💡 Решение: использовать локальные TTL и кредитные лимиты, замораживать баланс до синхронизации, вести оффлайн-проверку истории
Высокая — особенно как прототип или p2p-эксперимент в закрытых системах (кластеры, лагеря, форумы, события, корпоративные сети). Для выхода в массовую среду нужна надёжная система проверки и ограничений double-spend.
Возникла идея:
Генерировать QR-код оплаты не на кассе, а в приложении на клиенте.
А на кассе сканировать данный код.
Это позволит оплачивать без наличия интернета на устройстве.
Аналог MirPay но через экран, а не через NFC (полезно для iPhone)
Покупатель на своём устройстве генерирует QR-код (сумма, подпись, идентификатор) и предъявляет кассе, которая его сканирует и инициирует транзакцию. Вся логика инициируется со стороны клиента, а не терминала.
Сумму на устройстве не обязательно генерировать (MirPay этого не делает при оплате через NFC)
txn_id
, чтобы исключить повторное использованиеОчень высокая — идея уже используется в некоторых системах:
Идея | Название | Уровень зрелости | Реализация |
---|---|---|---|
#1 | P2P оффлайн-блоки с двойной подписью | 🧪 Прототип/исследование | Многообещающий, требует защиты от double-spend |
#2 | QR от клиента для кассы (MirPay без NFC) | ✅ Почти продакшн | Реализуемо прямо сейчас, особенно в закрытых системах |