Я пытаюсь понять хешрейт geth и настройку сложности Ethereum. Я запускаю частную тестовую сеть и устанавливаю фиксированное значение сложности (до big.NewInt(250)
), как описано на https://ethereum.stackexchange.com/a/7159/5293 . Я запускаю майнинг ЦП в geth, используя один поток с miner.start(1)
. Затем я измеряю хешрейт с помощью eth.hashrate
, обычно это значение от 8 до 12 (скажем, h = 10 H/s в среднем). Я измерил среднее время блока при майнинге в течение 15 минут, и оно составило около 65 секунд.
Теперь я хотел бы использовать настройку сложности и скорость хеширования для расчета ожидаемого времени блокировки. Если бы я рассчитал это так, как термины «сложность» (d) и «хешрейт» (h) используются в биткойнах, я бы получил
т = 2^32 * д/ч,
что даже близко не соответствует 65 секундам.
Я запускаю geth на процессоре Intel(R) Core(TM) i5 с тактовой частотой 2,80 ГГц. Я предполагаю, что значение h = 10 H/s довольно бесполезно, так как оно должно быть намного выше (но откуда оно тогда)? Я бы предположил, что с моим процессором я не могу подняться выше, чем, может быть, h = 50 кГц/с. Однако, чтобы получить 65 секунд, мне потребуется скорость хеширования
ч = 2 ^ 32 * д / т = 1,7 * 10 ^ 10
что намного выше моего максимального хешрейта.
Вы не правы.
Точная формула, которую вы спрашиваете, такова: t = d / h.
q9f
Полд