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