Как именно биткойн предотвращает атаки двойного расходования?

Недавно я начал читать о Биткойне, мне кажется, что эту идею трудно понять, и сейчас я пытаюсь понять основы.

Я прочитал технический документ Сатоши Накамото, но у меня все еще есть путаница.

Во-первых, было сказано, что основным преимуществом Биткойна является его способность предотвращать атаки двойного расходования. Мои вопросы таковы:

  • Это из-за идеи блокчейна или доказательства работы?
  • Может ли кто-нибудь потратить свои биткойны дважды в двух разных транзакциях и двух разных блокчейнах? если нет, то как протокол предотвращает такой случай?
  • Какому именно процессу следуют несовершеннолетние, чтобы обнаружить, что определенная транзакция тратит биткойны дважды?
  • Почему несовершеннолетние (избиратели) просто не принимают новый блок, даже не проверяя, действительно ли он действителен или нет? каковы последствия?

Извините, если мои вопросы кажутся очень простыми,

заранее спасибо

Ответы (1)

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

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

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

Какому именно процессу следуют несовершеннолетние, чтобы обнаружить, что определенная транзакция тратит биткойны дважды?

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

Майнеры следуют тому же процессу, что и полные узлы. Полный список правил проверки приведен здесь .

Почему несовершеннолетние (избиратели) просто не принимают новый блок, даже не проверяя, действительно ли он действителен или нет? каковы последствия?

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

На самом деле, есть голосование по консенсусным изменениям. Был лозунг «Один процессор, один голос». на ранней стадии.
@Willtech gmaxwell сказал мне, что в биткойнах нет голосования, потому что голосование подразумевает избрание третьей стороны, которая будет представлять вас. Он сказал, что единственное, что приближается к концепции голосования, — это «кворум на основе хешрейта», который я понимаю как консенсус, сформированный с использованием доказательства работы в отношении состояния леджера.
Хорошо, @gmaxwell использует правильную терминологию, и его утверждения в том виде, в каком вы их передали, безусловно, безошибочны. Лично я называю это не только голосованием при избрании кого-либо представлять меня, но и в случае кворума, когда действия членов являются действительными и принимается решение.
Что, если все полные узлы решат принять любой блок независимо от его достоверности (зачем они вообще тратят свои ресурсы на проверку блоков?)? что может предотвратить эту ситуацию??
@ user971961 правила биткойна требуют, чтобы вы проверяли блоки. если вы их не проверите, то это не биткойн. если вы разрешите недопустимые блоки, то кто-то может перевести деньги, которые им не принадлежат. это была бы небезопасная и бесполезная система.