Как я могу оценить длину Proof of Work на основе размера данных - PullRequest
0 голосов
/ 05 ноября 2018

Можете ли вы оценить, сколько времени потребуется, чтобы решить головоломку с доказательством работы, основываясь на размере данных? Например, если у вас есть данные размером 5 МБ, вы можете оценить подходящее доказательство времени решения работы, равное 20 с, 10 МБ - 50 с и т. Д.

1 Ответ

0 голосов
/ 06 ноября 2018

Типы головоломок Proof of Work, аналогичные биткойнам, не зависят от размера данных. Неофициально, задача состоит в том, чтобы попробовать разные случайные значения, добавленные к сформированному блоку, которые при хешировании создают дайджест с определенным количеством битов в качестве шаблона префикса.

Формально в биткойнах задача состоит в том, чтобы найти случайное число r такое, что:

H (b || r)

, где b - это блок, который должен быть сформирован (включая набор отобранных транзакций из mempool), а D - параметр «сложность», который динамически изменяется со временем в сеть, чтобы сохранить скорость решения головоломки как можно более устойчивым. «Трудность» решения головоломки одинакова для заданной хэш-функции H (с определенным размером дайджеста в битах) и порогового значения D, независимо от того, равен ли размер блока b всего 1 КБ или 1 ТБ.

Таким образом, предполагаемое время решения головоломки в конечном итоге основано на D и количестве хешей / секунду, которое может выполнить ваша система. В биткойнах это переводит в грубую силу значение для r. Обратите внимание, что может быть случай, когда для этой головоломки не существует r , поэтому в этом случае должен быть выбран другой набор транзакций (то есть изменение b ).

...