Это не редкость увидеть блочные интервалы >1 час, и это может быть очень раздражает. Наличие двух блоков слишком близко друг к другу, также отходы блочного пространства.
Поскольку дисперсия представляет собой квадрат среднего значения, то можно уменьшить дисперсию путем уменьшения среднего значения, но это будет иметь другие побочные эффекты.
Можно уменьшить дисперсию до 50, сохраняя при этом среднее значение, как 10:
1. шахтер будет первым мое следующее сообщение
Код:
| Версия | hashPrevBlcok | hashCoinbase | Биты | Нонс-а |
пока он не будет ниже цели. Трудность определяются архивировать среднюю успешную ставку 5 минут. hashCoinbase является 256-битный хэш желаемой сделки вознаграждение. Шахтер не будет транслировать сообщение
2. Если действительный хэш находится в шаге 2, шахтер начнет хэширование следующего сообщения:
Код:
| Версия | hashPrevBlcok | hashCoinbase | Биты | Нонс-а | hashMerkleRoot | Время | Нонс-б |
пока он не будет ниже цели. Среднем успешный темп также 5 минут. Это корректный блок для трансляции в сеть
3. Блок является действительным, если он удовлетворяет все следующие требования:
- Хэш | Версия | hashPrevBlcok | hashCoinbase | Биты | Нонс-а | находится ниже целевого 5-минутного
- Хэш | Версия | hashPrevBlcok | hashCoinbase | Биты | Nonce-а | hashMerkleRoot Время | Nonce-б | ниже той же цели 5-минутного
- Хэш сделки вознаграждение такой же, как hashCoinbase
- Все другие существующие правила, например, все операции являются действительными, требования временных меток
Интервал времени блока будет следовать распределению Эрланга (http://en.wikipedia.org/wiki/Erlang_distribution) С лямбда = 1/5 и к = 2. Среднее значение к / лямбда = 10, и дисперсия = K / (лямбда ^ 2) = 50
Размер заголовка блока будет расширен с 80bytes до 116bytes.
Мы можем дополнительно уменьшить дисперсию за счет уменьшения трудности при запросе более Nonce. Например, мы можем уменьшить сложность до 1/3, а затем:
Первый шаг:
Код:
| Версия | hashPrevBlcok | hashCoinbase | Биты | Нонс-а |
Второй шаг:
Код:
| Версия | hashPrevBlcok | hashCoinbase | Биты | Нонс-а | Нонс-б |
Заключительный этап:
Код:
| Версия | hashPrevBlcok | hashCoinbase | Биты | Нонс-а | Нонс-б | hashMerkleRoot | Время | Нонс-с |
Временная интервал среднего блока еще 10, но дисперсия дополнительно снижается до 33,33
Для каждого дополнительного одноразового номера требуется, требуется 4 байта дополнительные байты
Почему нужно hashCoinbase? Мы должны убедиться, что люди не могут украсть частично заполненный блок другого шахтера
Это может сделать некоторые виды один-два раза подтверждения Потратьте атаки легче. Я не очень уверен.
Любые комментарии?