намекаем тебе что было бы неплохо внятно изложить свою идею децентрализованного жизнеспособного хранилища с блекджеком, шл*хами и защитой, а ты съезжаешь с темы. Применений такому хранилищу масса, не обязательно ограничиваться перемещением между аккаунтами ничем не обеспеченных байтов.
Так это чисто технические детали, которые
НЕ являются принципиально нерешаемыми и заложенными на уровне концепции ограничениями, а наоборот, решаемы. А сидеть ковырять все юзкейсы и писать полноценные TDD TSD и прочие вайтпейперы - нет ни времени, ни особонго желания. Я тут чисто для отвлечения мозгов на работе, в основном.
Ну скажем, навскидку:
вид транзакции: время... номер... отправитель ... было... стало... получатель... сумма...
подтверждение - примерно в обратном порядке: получил... от... сумма... было... стало...
Как первая мера защиты от дабл-спендинг - установить мин. время между двумя последующими транзакциями (отправлением, разумеется. получать можешь хоть 100 одновременно). Скажем, 5 минут. Или 10. В общем, достаточно, чтобы по сети разошлось.
Дальше, как говорил: транзакция, помимо получателя, отправляется 3-м случайным нодам. С подтверждением - так же.
Дальше уже эти случайные ноды озабачиваются поиском в DHT того куска таблицы (точнее, нескольких копий), где лежат последние транзакции аффтара (отправителя, в смысле). Соответственно, сравнивают последнее состояние с транзакцией на непротиворечивость - и если всё ОК, добавляют транзакцию в базу. (С DHT, как я уже говорил, знаком немного поверхностно - поэтому в детали углубляться не буду, достаточно того, что те же торренты успешно функционируют.) Затем отправляют сообщение о добавлении транзакции в базу получателю. После получения 3-х (5-и, 10-и - как хотим, так и сделаем) таких сообщений получатель может считать транзакцию подтверждённой. Как говорил выше, он отправляет своё подтверждение, после получения его нодами тразнакцию можно считать зафиксированной (commit то есть).
Если обнаруживается коллизия в течение "защитного" таймаута - откидываются обе транзакции.
Если после - откидывается последняя.
Конечно, никакой гарантии, что условному получателю Бобу не подсунут специально для него организованную "сеть" нет - равно, как и банкомату можно (при наличии должной квалификации) подсунуть "авторизацию" на выдачу всех денег из диспенсера, если добраться до его коммуникационных протоколов. Ну, так и в блохчейне "защищённость" от подобного - не более, чем иллюзия.
Кроме того, ты забываешь о PoS, где не нужно жечь тонны лепездричества, а придётся иметь более 50% монет и пропорционально своей доле нести как минимум косвенные издержки от атаки вместе с остальными влошенцами.
И получается обычный коммерческий банк, что мы сейчас и имеем. Только без лицензии - хотя, в некоторых странах для чисто расчётных операций полноценной банковской лицензии не нужно.