Как распространяются неподписанные транзакции при взломе сети? - PullRequest
0 голосов
/ 11 июля 2019

скажем, если мое приложение относительно новое и имеет меньшие узлы, может быть подвержено атаке на 51%.

Пример:

Персона A - 100BTC

Человек B - 50BTC

Человек C - 0BTC (злонамеренный пользователь)

Если человек C каким-либо образом получает контроль над сетью, создает самую длинную цепь и имеет блоки с недопустимыми транзакциями, т. Е. Отправленный на C80 BTC & B отправлено на C 50 BTC, которое на самом деле не подписано A & B с помощью privateKey (недействительные транзакции, созданные C).

Вопрос здесь в том, что сеть скомпрометирована, поскольку транзакции не подписаны первоначальными владельцами, сможет ли C их потратить?ушел ли консенсус на счет?если я пропущу трюк где-нибудь, пожалуйста, укажите.

Ответы [ 3 ]

1 голос
/ 18 июля 2019

C не может тратить чужие деньги, если только он не может получить доступ к личным ключам других и подписать транзакции.Даже если он попытается это сделать, блок не будет считаться действительным, поскольку транзакции, которые мы подписали, были подписаны владельцами монеты.

1 голос
/ 18 июля 2019

Правила, известные всем участникам, гласят, что транзакция должна быть надлежащим образом подписана. Это те же самые правила, которые говорят, сколько биткойнов переводит транзакция. Таким образом, если транзакция не подписана должным образом, она не переводит биткойны.

Позвольте мне еще раз заявить: существуют правила, которые позволяют вам определять, сколько биткойнов переводит транзакция. Эти же самые правила говорят, что транзакция должна быть надлежащим образом подписана. Поэтому транзакция, которая не подписана должным образом , не передает биткойны.

Узлы не доверяют друг другу в сети биткойнов. Каждое отправленное сообщение проверяется на достоверность и, если оно недействительно, его следует игнорировать, поскольку оно ничего не значит. Транзакция, которая не подписана должным образом, не является транзакцией, это просто мусор. Узлы могут отправлять вам весь мусор, который они хотят, но вы никогда не будете его обрабатывать, потому что вы не можете . В вашем коде просто нет правил, чтобы разобраться с мусором.

0 голосов
/ 11 июля 2019

Я получил свой ответ после подробного исследования, надеюсь, что это имеет смысл.

Человек С не может тратить деньги А, Б.Все, что он может сделать, это отменить транзакции и создать ситуацию двойных расходов, и он может стереть A, B транзакций в процессе создания самой длинной цепочки, но не может тратить деньги с других кошельков, так как сеть подвергается риску из-за частной /открытые ключи.

...