Идея проста, butrequires в hardfork, но имеет минимальное влияние в коде и в экономике.
Решение: Требуется, чтобы множество сборов, собранное в блоке имеет максимальную дисперсию. Используйте, например, коэффициент вариации (http://en.wikipedia.org/wiki/Coefficient_of_variation). Если COVAR выше, чем фиксированная константа, блок является недействительным.
Коэффициент вариации вычисляется как стандартное отклонение по среднему значению, так что это очень легко вычислить. (Если среднее равно нулю, будем считать COVAR = 0). Обратите внимание, что функция COVAR не зависит от масштаба, так это то, что монета с плавающей стоимостью требует.
Это означает, что если есть много сделок, содержащих высокие сборы в блоке, то свободные операции не могут быть включены.
Основные разработчики должны настроить алгоритм выбора транзакции, чтобы принять во внимание этот максимум связанный.
пример
Если набор плата за транзакции: 0,0,0,0,5,5,6,7,8,7
COVAR составляет 0,85
Предположим, что мы ограничиваем COVAR максимум 1.
Предположим, что множество плата за транзакции: 0,0,0,0,0,0,0,0,0,10
Затем COVAR 3,0
В этом случае шахтер должен либо опускать "10" из набора платы или уронить нули. Очевидно, что шахтер выпадет несколько нулей, и выбрать набор: 0,10, который имеет COVAR от 1.
Почему это решает проблему SD?
С помощью этой небольшой модификации, пользователи SatoshiDice потребуется использовать более высокую плату, только если остальные пользователи в сообществе повышается их сборов. И шахтеры не смогут включать в себя огромное количество спама на передатчики.
Почему это решает проблему futue платы? (И трагедия-оф-достоянию "проблема")
Потому что, как шахтеры вынуждены держать COVAR низкий, если человек поднимается на сборах, чтобы подтвердить быстрее, чем рассылать спам передатчиков, автоматически smamming Txs стало реже появляться в блоках.
Почему это решает проблему размера блока?
Потому что, если мы увеличим размер блока, шахтеры, действующие нерационально не смогут заполнить блок с рассылать спам передатчиков. Edit: Это не решение против атакующей-шахтера.
С наилучшими пожеланиями,
Серхио.
Edit: Пожалуйста, не путайте аббревиатуру COVAR я использовал здесь с ковариантностью.