ТЛ; др версия: нет, это не хорошо, чтобы иметь поток в blockchain, поскольку она ведет к централизации (кому доверять для торрента?). Кроме того, blockchain регулярно обновляется, поэтому поток придется менять довольно часто, что заставляет его потерять все сеялок.
Справедливости ради, он сказал "торрент как",
Я понимаю, что клиент по умолчанию загружает все от 1 другого клиента.
Лучший способ (торрент-подобный) будет что-то вроде
цепь загрузки заголовкаПолучите 100 хэш заголовков от каждого другого узла вы подключены
- Вы должны сделать это для того,
-- задать первый узел для 100 хешей, начиная с блока 0
-- задать второй узел для 100 узлов, начиная с 100 (вам нужно отправить хэш 99)
-- задать следующий за 100 больше и т.д.
Если у вас есть набор из 100 хэш заголовка от узла, вы можете задать узел, чтобы отправить вам заголовки блоков в полном объеме.
При загрузке 100, вы можете убедиться в том, что они составляют цепочку.
Результатом является то, что вы получите много 100 длины суб-цепей.
Затем вы должны объединить их и убедиться, что они образуют цепь тоже.
Когда узел послал вам заголовки блоков 100, вы можете задать его еще 100.
Это заставляет вас все заголовки блоков
Скачать блокиДалее вам необходимо загрузить блоки. Опять же, попросите каждый другой узел для блоков в группах 100.
Когда блок получен, вы можете проверить, что он совпадает с заголовком для этого блока.
Проверьте блокиПосле того как вы все блоки, которые происходят до заданного набора 100 блоков, вы можете добавить их к проверенному набору. Это требует проверки всех шифрования.
Это, по-видимому, большая обработка узким местом.