- Можно создавать транзакции, трата которых будет заблокирована до блока с определенным номером, либо до нужной даты.
- Можно создавать транзакции, трата которых будет требовать несколько подписей.
Это позволяет реализовать следующую схему:
1. Создается две транзакции, одна "страховочная" с переводом средств напрямую пользователю, но с локом на год или два года вперед. Вторая переводит средства на 2-of-2 адрес, один из адресов принадлежит юзеру, второй магазину.
2. При желании сделать оплату товара создается транзакция с составного адреса, которую подписывают и юзер, и магазин своими ключами. Сдача возвращается пользователю на указанный им обычный адрес, либо на "составной".
Итоги просты:
- Магазин может принимать транзакции с составного адреса без ожидания подтверждений;
- Магазин не может украсть средства с составного адреса, и пользователь тоже;
- Если магазин закроется, то пользователь по истечении времени блокировки сможет опубликовать транзакцию в сети и получить заблокированные ранее средства обратно.
Порекламировать что ли свой скрипт и размышления по этому поводу:
https://bt.irlbtc.com/view/439210.0 (см.
Use cases).
Один нюанс:
Страховка может быть из средств магазина, либо вообще теми же самыми средствами, что и средства юзера. К примеру, она может делаться с составного адреса и подписываться двумя ключами, и в последствии обновляться при каждой покупке.
Из средств магазина нет. Только с совместного адреса. Иначе у недобросовестного магазина (или в случае давления на него) появляется возможность незадолго перед разблокированием страховочной транзакции увести те самые страховочные средства из-под носа покупателя, а средства на совместном адресе оставить заблокированными навсегда.