Отклонить или отказаться от ретрансляции действительной транзакции

В соответствии с протоколом Биткойн, насколько узел имеет контроль над тем, как обрабатывается транзакция после ее получения? Может ли узел отклонить действительную транзакцию? Может ли узел отказаться передавать действительную транзакцию соседним узлам или транзакция передается автоматически после проверки? Если не ретранслируется автоматически, то почему? Зачем давать узлу возможность контролировать, ретранслируется ли действительная транзакция?

Как вы представляете себе принудительное выполнение требования о ретрансляции транзакций?

Ответы (3)

Узлы — это просто программное обеспечение, в конце концов.

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

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

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

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

Посмотрите в исходном коде.

Может ли узел отклонить действительную транзакцию?

Узел имеет право/возможность игнорировать что-либо :)

Может ли узел отказаться передавать действительную транзакцию соседним узлам

Да, оно может. Узел может делать все, что закодировано в алгоритме

или транзакция передается автоматически после проверки?

Большинство клиентов так делают.

Если не ретранслируется автоматически, то почему?

Почему да? В децентрализованной системе за это никто не накажет

Зачем давать узлу возможность контролировать, ретранслируется ли действительная транзакция?

Почему нет? Наличие такой опции лучше, чем ее отсутствие. Это дает нам больше свободы - делать или не делать.

Если вы используете стандартное программное обеспечение узла, вы можете ожидать, что они будут передавать все действительные транзакции. Настраиваемый параметр (в Bitcoin Core) (редактировать: не только) — это minrelayfee. Таким образом, вы можете отказаться от ретрансляции транзакций, если комиссия слишком низкая. Это поможет предотвратить спам.

Если вы хотите отфильтровать по другим параметрам (например, адреса из черного списка), это будет легко сделать, изменив программное обеспечение, поскольку оно является открытым исходным кодом. Это будет трудно обнаружить, если узел делает это, и это не сильно повлияет на сеть, если только подавляющее большинство узлов не начнет это делать. Даже в этом случае загрузочные узлы не будут этого делать, и такая атака невозможна.

есть второй настраиваемый параметр-blocksonly