Цель
В этой статье представлено более подробное описание того, как хэши связывают блоки между собой и используются для подтверждения легитимности транзакций.
Реквизитные статьи
Эта статья предполагает, что пользователь понимает информацию в следующих статьях:
Краткое изложение
Для того, чтобы блоки были связаны друг с другом в цепочке блоков, должен быть идентификатор, который неопровержимо связывает следующий блок с предыдущим. Число, которое выполняет это, известно как «хэш». Есть «следующие» хэши и есть «предыдущие» хэши. Каждый «следующий» хэш принимает во внимание одноразовый номер (nonce), транзакции и «предыдущий» хеш текущего блока, а затем пропускает их через алгоритм, чтобы создать очень длинное число, представляющее это накопление данных. Хеши можно рассматривать как форму сводки данных блока в виде комплексного числа. Предыдущий хэш текущего блока совпадает со следующим хешем предыдущего блока.
Это создает систему, в которой сводка одного блока (следующего хэша) является началом следующего блока и записывается как «предыдущий» хэш. При использовании этой системы никакие изменения не могут быть внесены ни в какую часть блока после его записи. Даже изменение одной транзакции с +1,00 на +1,01 полностью изменило бы «следующий» хеш текущего блока, сделав его не соответствующим «предыдущему» хешу следующего блока. Блокчейны используют этот дизайн, чтобы оставаться полностью неизменными и позволять сетям подтверждать легитимность блоков перед их загрузкой в цепочку. Хэши также могут считаться «со знаком», что означает, что они начинаются с указанной последовательности чисел, такой как 0x0000… Для этого необходимо вычислить другой тип одноразового номера, чтобы получить «следующий» хеш, начинающийся с указанной последовательностью. Это подробнее объясняется в нашей следующей статье из этой серии: Нонс (Nonces)