Название | Введение в технологию Блокчейн |
---|---|
Автор произведения | Тимур Сергеевич Машнин |
Жанр | Компьютеры: прочее |
Серия | |
Издательство | Компьютеры: прочее |
Год выпуска | 2021 |
isbn |
Мы рассмотрим доказательства ставки и другие варианты доказательства работы позже.
Вернемся к доказательству работы.
Давайте попробуем лучше понять, что значит выбирать узлы пропорционально их вычислительной мощности.
Другим способом понять это является то, что мы позволяем узлам конкурировать друг с другом, используя их вычислительную мощность, и это приводит к тому, что узлы автоматически выбираются в этой пропорции.
Еще один взгляд на доказательство работы заключается в том, что создание нового идентификатора узла будет умеренно тяжелым.
Это своего рода налог на создание идентичности и, следовательно, на атаку Сибиллы.
Это может показаться немного расплывчатым, поэтому давайте посмотрим на детали системы доказательства работы, которые используются в биткойне, чтобы прояснить эту систему.
Биткойн получает доказательства работы с использованием головоломок.
Чтобы создать новый блок, узел, который предлагает этот блок, должен найти номер или nonce.
Когда вы объединяете nonce, хеш предыдущего блока и список транзакций, которые составляют новый блок, и получаете хэш всей этой строки, то этот полученный хэш должен быть числом, которое попадает в диапазон, которое довольно мал по отношению к значительно большему выходному пространству этой хэш-функции.
Мы можем определить такое целевое пространство или диапазон, как любое значение, которое попадает ниже определенного целевого значения. В этом случае nonce должен будет удовлетворять неравенству.
Как мы видели ранее, обычно блок содержит ряд транзакций, которые предлагает узел.
Кроме того, блок также содержит указатель хеша на предыдущий блок.
И кроме того, теперь мы требуем, чтобы блок также содержал nonce.
Идея состоит в том, что мы хотим сделать сложной задачу нахождения nonce, которое удовлетворяет определенному свойству, состоящему в том, что хеширование всего блока вместе, в том числе и nonce, приведет к определенному типу результата.
Если хеш-функция удовлетворяет свойству головоломки, то единственный способ добиться успеха в решении этой задачи с хэшем состоит в том, чтобы просто перебирать nonce один за другим, пока вам не повезет.
Так что конкретно, если целевое пространство для результата составляет всего один процент от общего объема выходных данных, вам нужно попробовать около 100 nonce, прежде чем вы попадете в диапазон.
В реальности, размер этого целевого пространства намного меньше одного процента выходного пространства.
Это понятие головоломок и доказательство работы полностью устраняет необходимость волшебного выбора случайного узла.
Вместо этого узлы просто самостоятельно конкурируют, чтобы все время решать головоломки.
Время от времени одному из них везет, и он находит случайный нонс, который удовлетворяет этому свойству.
Затем этот удачливый узел предлагает следующий блок.
Вот