diff --git a/docs/devlog.md b/docs/devlog.md index 60f57d7c..172c0d53 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -1,4 +1,40 @@ +## 2023-02-15 + +TODO: check-if-block-announce-sufficient + + Нужно проверить, достаточно ли BlockAnnounce + BlockChunks + для скачивания блоков в обе стороны. Кейс, вызывающий вопросы: + +``` + [A] (NAT) [B] + | * block-announce | + +------*--------------------->+ + | * | + | * get-block-size | + +<-----*----------------------+ + | * | + | * | + | * block-size | + +------*--------------------->+ + | * | + | * get-block-chunks | + +<-----*----------------------+ + | * | + | * | +``` + +Во вторых, если блок A предлагает какой-то блок, то высока вероятность +того, что у других участников его еще нет --- и если спрашивать о нём +всех и ждать ответа, это может привести к тому, что блок будет +качаться очень медленно. Нужно как-то или использовать веса (пиров для +данного блока), или же спрашивать параллельно всех о размере блока и +на следующей итерации качать блок у того, кто сообщил размер. Кстати +говоря, нас тут могут обманывать, возможно, нужно в BlockSize добавить +какой-то пруф, что у пира есть такой блок. + + + ## 2023-02-14 ## 2023-02-12