Почему двойная трата работает именно так, что человек должен отправить именно две транзакции? Везде говорится, что человек отправляет две транзакции, блокчейн разветвляется, одна транзакция с одной стороны, нужная мошеннику с другой? Разве не достаточно оплатить какую-то услугу, разветвить блокчейн, чтобы альтернативная ветка была подтверждена, где нет транзакции мошенника, а с транзакцией за услугу чтобы была в неподтвержденной ветке? Чтобы не было лишней транзакции второй, разве этого не достаточно?
Потому что баланс на вашем кошельке никто считать не будет по всей истории. Отрицательных операций не бывает.. Для выполнения операции достаточно найти блокчейн с открытый операцией которая кладёт на кошелек деньги. И можно подтвердить что операция позволена.
Мошенники тут ни при чём вы что-то попутали. При операции никакой блокчейн никуда не разветвляется. Разветвляется только сумма конкретная над которой произведена операция. Вы путаете транзакцию с операцией. Это разные вещи.
fivehouse, двойная трата - обычное дело, в том же electrum есть встроенный интерфейс для отмены транзакции (предлагает новую транзакцию с большей комиссией), но это будет работать только пока транзакция не подтверждена (находится в мемпуле)
Разветвлять блокчейн нужно чтобы двойная трата прошла при наличии подтверждения, в этом случае транзакция, которая попала в удаляемую ветку будет отменена (точнее все транзакции отбрасываемого блока уходят обратно в мемпул, но те транзакции что уже попали в блокчейн, т.е. ту ветвь что не отбросили, сразу из мемпула будут удалены)
rPman, такой вопрос
А я правильно понимаю, что трата одних и тех же средств - это трата одного и того же не потраченного выхода?
Просто что из себя представляет транзакция я +- понимаю, но все равно не до конца понимаю, как можно один и тот же выход потратить несколько раз
BoyFromDubai, да именно так
создаешь две транзакции с использованием одного и того же не потраченного входа с переводом монет на разные адреса (первый - на адрес жертвы, второй - на свой адрес), одну транзакцию пишешь в блок, который в последствии будет отменен, вторую во второй блок, который будет принят
делать это можно если ты майнишь а значит сам определяешь, какой блок останется в сети а какой отбросишь
с гарантией это сделать можно при наличии мощностей майнинга больше 50%
при наличии мощностей меньше вступает теория вероятности, атака будет успешной (т.е. ты смайнишь следующий блок чтобы цепочка с твоим блоком стала длиннее и вся остальная сеть ее примет), например было время в сети биткоин, когда один из майнеров атаковал проект satoshidice (где использовался 1 подтверждение) при наличии кажется 30% мощностей.
google: double spend attack satoshidice bitcoin
Чтобы от этого защититься на регулярной основе, сервис должен повышать время, необходимое на подтверждение транзакций в зависимости от суммарное количества запросов переводов от его клиентов таким образом чтобы стратегии атаки при наличии меньшей мощности не работали. Так же нужно следить за суммарной мощностью в сети, если она понижается, значит это атакующий (у которого больше 50% мощностей) начал атаку и майнит свою ветвь в тихушку.