Может кто-нибудь, пожалуйста, объясните мне FIBER, как будто мне 5 лет, и почему это полезно?

Я читал веб-сайт , но они подразумевают, что вы уже знаете, почему это ценно. Может ли кто-нибудь просветить меня по этому вопросу?

Ответы (2)

Сначала «почему это важно»:

Fiber (Fast Internet Bitcoin Relay Engine) — это протокол, который пытается доставлять биткойн-блоки по всему миру с задержками, максимально приближенными к физическим ограничениям.

Это очень важно, потому что добыча биткойнов задумана как честная лотерея: если у вас есть x% хешрейта, вы должны найти в среднем x% блоков. Но когда для передачи блоков требуется время, добыча блоков становится больше похожей на гонку, чем на лотерею: более крупный майнер получает несправедливую долю, создавая давление для централизации.

Это связано с тем, что когда майнер создает блок, другие майнеры не могут работать над его расширением, пока не узнают об этом, в течение этого времени они могут создавать свои собственные блоки. Если вы мелкий майнер и создаете блок, это работает против вас, потому что никто не пытается добыть преемника вашего блока до определенного момента. Если более крупный майнер добывает блок, это также работает против вас, потому что вы отстали.

Это поведение гонки такое же, что и для эгоистичного майнинга.

Эффект гонки также может принести пользу злоумышленникам, пытающимся одолеть сеть, потому что им не нужно конкурировать с хэшрейтом, потерянным из-за устаревших блоков.

Повышение скорости распространения уменьшает гонку и делает майнинг более честным, снижает потребность в централизации и повышает безопасность сети.

Теперь «почему это сложно»:

Мир большой, и поездка туда и обратно из Сан-Франциско в Австралию обычно занимает более 200 мс. Эти задержки в значительной степени связаны со скоростью света в волокне, и, хотя более совершенная маршрутизация может их несколько улучшить, они не исчезнут без связи через земные нейтрино или других вещей из научной фантастики.

Международные интернет-соединения часто имеют потерю пакетов. Если вы отправляете сообщение по пути RTT 200 мс, вы не услышите ни о каких пропущенных пакетах в течение 200 мс, и они не смогут получить замену еще на 100 мс. Традиционные протоколы передачи, такие как TCP, плохо справляются с обеспечением пропускной способности канала при больших задержках, особенно если есть какие-либо потери.

Теоретически проблема несколько облегчается, потому что 99,9% данных блока уже известны, потому что блок в основном содержит транзакции, которые уже были переданы в широковещательном режиме, но, к сожалению, узел, отправляющий блок, не знает, какие транзакции вы пропустите к тому времени. их блок появляется, и вы говорите им, что это займет слишком много времени только из-за вышеупомянутого времени прохождения туда и обратно .

Что Fiber делает, чтобы решить эту проблему:

Fiber позволяет эффективно построить распределенный узел, который внутренне перемещает блок по всему миру очень близко к самой низкой задержке связи в одном направлении между компьютерами, составляющими его.

Автор волокна имел обыкновение запускать один такой узел в общедоступных системах, которые хорошо обслуживались и к которым мог подключиться любой желающий. Обычный биткойн-протокол P2P с BIP152 использовался для «последней мили», поскольку именно для этого оптимизирован BIP152.

Подобно BIP152 (с которым он был разработан совместно), Fiber сначала отправляет короткий эскиз блока: список коротких хэшей и длин, которые позволяют дальнему концу использовать свой мемпул для размещения транзакций в блоке с дырами в позициях, где транзакции отсутствовали или хэш был неоднозначным.

Затем Fiber разбивает блоки на пакеты и отправляет данные для исправления ошибок. Исправление ошибок позволяет получателю восстановить блок, как только он получит столько пакетов, сколько отсутствующих фрагментов, даже если отправитель не знает, что пропало. Кодирование с исправлением ошибок также используется в исходном эскизе. Это похоже на то, как работает кодирование Raid или PAR, но реализация значительно усложняется из-за необходимости быть очень быстрой.

Вся эта связь происходит по протоколу UDP с заранее запрограммированной скоростью передачи, поэтому нет необходимости медленно наращивать скорость или ждать потерянных пакетов.

Отправитель также отправляет различные фрагменты каждому из своих одноранговых узлов Fiber, и эти одноранговые узлы сами передают фрагменты друг другу, как только они их получают, чтобы использовать всю доступную пропускную способность интерфейса. Когда одноранговый узел Fiber получает достаточно для декодирования блока, который он делает, и начинает испускать новые фрагменты.

Этот процесс позволяет избежать отправки дублирующихся данных и очень устойчив к потере пакетов, а также к отказам каналов и узлов и обеспечивает очень стабильную задержку.

На каждом этапе Fiber жертвует пропускной способностью ради задержки и может отправлять данные, в несколько раз превышающие размер блока, чтобы добиться наименьшей задержки по каналам дальней связи, по которым он проходит.

Подробностей о нем намного больше, вероятно, хватит на два десятка вопросов.

Откуда появилось волокно?

Оптоволокно было построено Мэттом Коралло и стало результатом нескольких лет опыта эксплуатации более ранних сетей с быстрой ретрансляцией, а также нескольких лет исследований методов быстрого распространения блоков. Мэтт взял много идей, которые были слишком медленными в вычислительном отношении, чтобы быть практичными, решил оставшиеся инженерные проблемы, чертовски оптимизировал их, а затем поместил результат в хорошо организованную общедоступную систему. Хорошее управление сетью и работа системного администратора почти так же важны для снижения задержек, как и сам протокол.

FIBER ценен тем, что позволяет майнерам чрезвычайно быстро распространять свои блоки среди других майнеров и в остальной части сети. Цель FIBER — уменьшить задержку при блочной передаче. Таким образом, майнеры будут тратить меньше времени на попытки добыть блок, который уже был найден, поэтому они снизят частоту устаревших блоков и будут работать над последним блоком почти сразу после того, как он будет найден и передан в сеть.