Разница (если есть) между доказательством работы при майнинге биткойнов и проверкой транзакции

Я пытаюсь понять идею доказательства работы для проверки транзакции. Я думаю, что понимаю , почему доказательство работы необходимо для проверки транзакций (в основном для предотвращения спуфинга / двойных расходов и т. д.).

Но мое понимание таково:

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

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

Ответы (3)

Я думаю, что понимаю, почему доказательство работы необходимо для проверки транзакций (в основном для предотвращения спуфинга / двойных расходов и т. д.).

Это правильно.

доказательство работы для проверки транзакции такое же, как и для майнинга нового биткойна

Это тоже правильно.

если это так, то проверять транзакции становится все труднее и труднее.

Это зависит от того, может стать труднее, чем легче. Но что бы ни случилось, с этим проблем нет.

Пояснения:

Майнер генерирует блоки, заголовок которых имеет наименьший возможный хэш sha256, пока не найдет блок, чей sha256 ниже цели. Этот блок будет действительным и может быть включен в цепочку блоков. Внутри блока первая транзакция отличается от других, потому что у нее нет допустимых входных данных, а в качестве выходных данных транзакции используется адрес, контролируемый майнером. Этот адрес получит вознаграждение за блок (новые биткойны, которые генерируются вместе с блоком), а также комиссию за транзакции, которые были включены в блок.

На самом деле это правда, что генерировать новые блоки становится все труднее, потому что появляется все больше и больше майнеров со все более и более сложным материалом для майнинга. Вот почему цель становится все ниже и ниже, чтобы поддерживать среднее время между каждым сгенерированным блоком около 10 минут. Но если майнеры начнут прекращать добычу биткойнов, цель увеличится, и добыча снова станет проще.

Этот пост поможет вам немного лучше понять, каковы различные компоненты блока. Биткойн: 285 байт, которые изменили мир

Я предполагаю, что мое замешательство заключается в следующем: если проверка транзакции так же проста (или сложна), как добыча блока, почему бы всем майнерам биткойнов не просто добывать свои собственные блоки вместо проверки транзакций? потому что добыча вашего собственного блока приносит вам (некоторую часть) 25 BTC, но проверка транзакции дает вам только то, что может стоить транзакция.
Ничто не заставляет майнера включать транзакции в блок. Они могут создавать пустые блоки, если хотят. В то время как нет дополнительных затрат (в мощности майнинга) для включения транзакций в блок.
@SureshVenkat: это не или/или, это и то, и другое. Майнер выполняет работу, которая проверяет транзакции и добывает новые монеты.

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

ах. Думаю, в этом и заключалось мое замешательство. Спасибо !

Из https://en.bitcoin.it/wiki/Proof_of_work : «Доказательство работы — это часть данных, которую было сложно (дорого и долго) произвести, чтобы удовлетворить определенные требования. Проверка должна быть тривиальной. удовлетворяют ли данные указанным требованиям».

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

Проверка транзакций очень проста, так как вам просто нужно пересчитать хэш с одним числом, которое «работает», и проверить, что в нем много нулей.

Майнинг становится все сложнее и сложнее (требуется больше нулей) по мере того, как все больше людей майнят, но если вы добьетесь успеха, вы получите 25 BTC. Проверка транзакций остается простой, независимо от сложности майнинга, но биткойны за это не присуждаются.

Одна путаница заключается в том, что вы обычно выполняете валидацию в рамках майнинга (как прокомментировал Мени Розенфельд), но вы также можете валидировать без майнинга, что делает большинство биткойн-кошельков, чтобы убедиться, что они отображают правильную сумму в вашем кошельке.