Я немного застрял в концепции майнинга.
Какие хэши нужно создавать в каждом блоке и цепочке? Допустим, у нас есть блок A-B-C, образующий цепочку.
Один источник сказал, что нам нужно придумать хэш A и объединить его с хэшем предыдущего блока, сформировав другой, другими словами: хеш (A + хеш предыдущего блока).
Другой источник просто говорит, что это просто хеш самого блока, а в этом блоке мы указываем хэш хэша предыдущего блока.
Концепция Proof of Work заключается в том, что у вас есть X, а на выходе Z, сколько нужно Y, поэтому хеш(X + Y) = Z.
Если это так, можем ли мы сказать, что X — это хэш предыдущего блока, а Y — хеш текущего блока? Или я неправильно это смотрю?
Источники: https://www.investinblockchain.com/what-exactly-is-blockchain/ https://www.youtube.com/watch?v=SSo_EIwHSd4&t=1sИ другие источники.
Другой источник просто говорит, что это просто хеш самого блока, а в этом блоке мы указываем хэш хэша предыдущего блока.
Это верно. Остальные в разной степени правильные и неправильные. Но это единственное, что абсолютно правильно.
Концепция Proof of Work заключается в том, что у вас есть X, а на выходе Z, сколько нужно Y, поэтому хеш(X + Y) = Z.
Если это так, можем ли мы сказать, что X — это хэш предыдущего блока, а Y — хеш текущего блока? Или я неправильно это смотрю?
Вроде.
Блок состоит из нескольких полей. Сначала его можно разбить на две основные части: заголовок блока и сами транзакции. Весь блок каким-то образом хэшируется.
Хэш заголовка блока — это то, что мы называем хешем блока. Хэш заголовка блока также используется для доказательства работы. Когда вы интерпретируете хэш заголовка блока (также известный как хэш блока) как 256-битное целое число с прямым порядком байтов, оно должно быть меньше расчетного целевого значения (также 256-битного целого числа).
Сам заголовок блока может быть разбит на несколько частей. Он содержит номер версии блока, хэш предыдущего блока, хэш всех транзакций в блоке, метку времени, компактное представление целевого значения и одноразовый номер.
Поскольку заголовок блока включает в себя хэш предыдущего блока, хэш заголовка блока на самом деле является просто хэшем блока (поскольку он содержит хэш всей транзакции блока), в котором указан хэш предыдущего блока.
Чтобы добывать блоки, майнеры будут настраивать поля в заголовке блока, пока не получат тот, который соответствует цели. Обычно они изменяют значение nonce (это просто число) и хэш всех транзакций в блоке (путем изменения транзакции coinbase, выбора новых транзакций и изменения порядка транзакций). Майнеры также могут изменить метку времени и номер версии.
Нельсен Лю
Читрик
Эндрю Чоу