mirror of https://github.com/voidlizard/hbs2
todo
This commit is contained in:
parent
292d59c3c6
commit
366152db95
|
@ -0,0 +1,37 @@
|
|||
TODO: ASAP-bloom-filter-of-blocks Каждый пир поддерживает фильтр Блума для
|
||||
блоков и раздаёт этот фильтр по протоколу.
|
||||
|
||||
Протокол подразумевает как отдачу всего фильтра целиком ( тут подходит
|
||||
держать его в LWWRef)
|
||||
|
||||
Так и просто запросы к нему.
|
||||
|
||||
Запрос должен пролезать в UDP, таким образом, выглядит так, что это
|
||||
список чисел с номерами бит, т.е в худшем случае (8 байт на число)
|
||||
один запрос это проверка 128 блоков за раз. Поскольку CBOR у нас
|
||||
кодирует числа с переменной длиной, можно ожидать, что в среднем
|
||||
будет получше.
|
||||
|
||||
Это ускорит, возможно, на порядок поиск блоков, который тем хуже,
|
||||
чем больше в системе пиров.
|
||||
|
||||
Открытые вопросы:
|
||||
|
||||
- Параметры фильтра Блума? Зашитые в систему, или зависящие от
|
||||
пира (и тогда мы пересчитываем их)
|
||||
|
||||
- Надо ли качать фильтры целиком (кажется, что нет, но можно
|
||||
запоминать/обновлять для каждого пира, и время от времени
|
||||
чистить)
|
||||
|
||||
- Если параметры фильтра могут меняться для пира, как
|
||||
согласовывать хэш функции? Если их зашивать и менять только
|
||||
коэффициенты, то не слишком ли плохие будут хэш функции?
|
||||
|
||||
- Какие атаки может вызвать?
|
||||
|
||||
- Как эффективно хранить?
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue