bloXroute (BLXR) - сеть распространения блокчейнов

bloXroute (BLXR)  обеспечивает масштабируемость для множества криптовалют и блокчейнов одновременно за счет использования глобальной высокопроизводительной сети распределения блокчейнов (BDN).

Ядро BDN - это глобальная сеть серверов с высокой пропускной способностью и малой задержкой (называемая реле), оптимизированная для быстрого распространения транзакций и блоков для нескольких систем цепочки блоков. Быстрое распространение не только позволяет блокчейнам масштабироваться в цепочке, но также позволяет пользователям, таким как майнеры, кошельки, DApps и DeFi Traders, принимать более стратегические и прибыльные решения.

  • Майнеры могут зарабатывать больше денег.
  • Кошельки лучше анализируют транзакции.
  • DApps улучшают UI / UX.
  • Трейдеры получают более быстрое исполнение сделок.
  • И каждый может платить меньшую комиссию за транзакции.

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

Мы думаем, что стоит выявить проблему, иначе ее будет очень сложно решить, верно?

Принцип работы Биткойна заключается в том, что каждый раз, когда добывается новый блок, он распространяется на всю сеть Биткойн с использованием «Механизма распространения P2P», которое является причудливым названием, означающим, что майнер отправляет его своим 8-10 партнерам, которые отправляют его своим партнерам и т. д., пока он не достигнет всей сети (или 95% сети, поскольку некоторые узлы могли просто отключиться, или перезапустились, или еще что-то), и он используется, потому что он не заслуживает доверия.

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

Представьте себе:

вы добыли блок размером 1 МБ и собираетесь отправить его своим коллегам. Вы можете отправить его своим сверстникам либо параллельно, либо последовательно, и это займет то же время, но последовательная отправка позволит вашим первым одноранговым узлам начать помогать распространять блок быстрее, а не тогда, когда все ваши узлы закончат его получать. Таким образом, в этом оптимальном сценарии одноранговые узлы распространяются даже последовательно, а не параллельно.
Теперь, сколько времени потребуется блоку, чтобы размножаться? После 1 «прыжка», в котором майнер отправляет блок одному узлу, 2 узла узнают об этом. После очередного «прыжка» об этом узнают 4 узла. После 3 «прыжков» об этом узнают 8 узлов, и он растет экспоненциально, пока через 12–15 «прыжков» не достигнет всей сети, состоящей из тысяч узлов.

Текущая емкость Биткойна (BTC) составляет 1 МБ каждые 10 минут, а поскольку средний размер транзакции составляет ~ 540 байт, он обрабатывает ~ 1950 транзакций каждые 10 минут, что соответствует ~ 3 транзакциям в секунду (TPS). Если вы хотите увеличить емкость в 10 раз, вы можете увеличить размер блока в 10 раз (подход Bitcoin Cash) или сократить время между блоками в 10 раз. Негативные побочные эффекты будут такими же, поэтому давайте начнем с размышлений о блоках в 10 раз больше.

Если вы увеличите размер блока в 10 раз, количество необходимых вам «переходов» останется прежним - 12–15 «переходов». Однако теперь каждый прыжок требует отправки блока не 1 МБ, а 10 МБ по каналу ~ 60 Мбит / с (текущая средняя скорость канала в сети Биткойн), и время, необходимое для этого, увеличится в 10 раз, с 0,13 секунды до 1,3 секунды. Общее время распространения также увеличится в тот же раз: x10.

Итак, почему нас это волнует? Почему мы провели вас через весь этот анализ?

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

Если вы увеличиваете время распространения блока в 10 раз, вероятность возникновения форка увеличивается почти в 10 раз, по крайней мере, до тех пор, пока эта вероятность не станет очень близкой к 1,0, поскольку она напрямую зависит от соотношения между (1) временем распространения блока и (2) время между блоками (поэтому не имеет значения, увеличиваете ли вы размер блока или уменьшаете 10-минутный интервал).

Таким образом, если вы увеличите размер блока на x10, вы увеличите время распространения блока на x10 и увидите еще ~ x10 вилок (как только блоки размером 10 МБ будут заполнены), но это все еще нормально! Блокчейны знают, как разрешать вилки после добычи следующего блока.

Но если вы хотите масштабировать с 3 TPS до 300 TPS (что далеко не близко к десяткам тысяч, необходимых для микротранзакций B2B) и увеличить размер блока на x100, время распространения блока становится настолько большим, что в действительности оно превышает 10-минутный интервал между блоками! Вы увидите, что форки возникают с большей частотой, чем блоки, которые их разрешают, и цепочка блоков «распадается» на все больше и больше вилок (поскольку больше нет консенсуса, который является «правильной» вилкой), и цепочка блоков разрывается.

Это является проблема масштабируемости, и причина , почему не blockchain не может сделать полные 300MB блоки каждые 10 секунд.

Сеть распространения блокчейнов bloXroute

Есть много усилий, чтобы решить проблемы масштабируемости блокчейнов. Сообщества Bitcoin, Ethereum, Bitcoin Cash, Zcash имеют свои собственные идеи о том, как масштабировать транзакционную емкость децентрализованных одноранговых сетей. Некоторые предложения требуют изменения протокола и одобрения майнера. Другие предложения требуют значительных компромиссов в отношении централизации или безопасности.Мы предлагаем альтернативу, которая позволяет масштабировать существующие цепочки блоков без изменений протокола или компромиссов в отношении централизации или безопасности.

Двадцать лет назад, когда Интернет был еще в зачаточном состоянии, компания Akamai создала первую сеть распространения контента (CDN). Этот технологический прорыв помог ускорить распространение данных по Интернету, что сделало Интернет более удобным для использования в этом процессе.

bloXroute - первая сеть распространения блокчейнов (BDN)

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

Главный аспект уникальности bloXroute заключается в том, как он помогает распространять информацию в сети блокчейн. В отличие от ретрансляционных сетей первого поколения, bloXroute распространяет транзакции между узлами блокчейна. Распространяя транзакции от имени пользователей, bloXroute удается эффективно индексировать эти транзакции, используя гораздо более короткие идентификаторы. Таким образом, когда блоки распространяются по сети, bloXroute использует такие идентификаторы, эффективно сжимая объем данных, которые необходимо передать по сети. Кроме того, bloXroute оптимально передает данные через хорошо подготовленную выделенную сетевую инфраструктуру и позволяет обрабатывать большой объем транзакций в цепочке.

Архитектура bloXroute

bloXroute развертывает сеть распределения цепочек блоков (BDN), которая помогает узлам Ethereum распространять транзакции и блоки быстрее и эффективнее, а самое главное - масштабировать, т. е. достигать скорости в тысячи транзакций в секунду (TPS).

BDN bloXroute состоит из ретрансляторов и шлюзов. Ретрансляторы - это высокопроизводительные серверы, соединенные друг с другом в глобальную и быструю магистраль bloXroute, которая эффективно передает сообщения цепочки блоков (транзакции и блоки). Шлюз - это небольшая часть программного обеспечения, обычно реализуемая на сервере с низкой задержкой для узла цепочки блоков, и с точки зрения клиента цепочки блоков это просто еще один одноранговый узел в сети. С одной стороны, шлюз говорит на «языке» Ethereum с узлом Ethereum, а с другой - на «языке» bloXroute с Relays.

Шлюз имеет несколько функций, но в первую очередь он сжимает и распаковывает блоки. В частности, BDN bloXroute изначально транслирует транзакции, созданные конечными пользователями. Кроме того, он также создает уникальные короткие идентификаторы (SID), т. е. один SID для каждой транзакции. BDN также транслирует SID по сети, так что все шлюзы и ретрансляторы узнают о них. Следовательно, после добычи блока шлюз местного майнера Ethereum сжимает блок, заменяя исходные транзакции идентификаторами безопасности. Все принимающие шлюзы делают обратное, т. е. Заменяют идентификаторы безопасности исходными транзакциями.

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

Архитектура bloXroute является инновационной на нескольких уровнях. Во-первых, bloXroute преобразует плоскость доступа, т. е. способ доступа узлов цепочки блоков к bloXroute. Существует два способа доступа к BDN:

  1. Пользователи с полным узлом могут использовать шлюз ( локальный шлюз или размещенный шлюз )
  2. пользователи, у которых нет полного узла, могут использовать Cloud-API bloXroute.

Шлюз - это фрагмент открытого исходного кода, развернутый на узле блокчейна, который быстро передает транзакции и блоки на ближайшие серверы bloXroute и с них. Для узла блокчейна шлюз не отличается от другого однорангового узла; тем не менее, он обеспечивает доступ к сети bloXroute. Шлюзы помогают повысить производительность, поскольку они значительно сокращают данные, передаваемые по каналу доступа, с использованием идентификаторов транзакций, описанных выше. В сетевом смысле шлюз - это высокопроизводительный сервер, связанный с узлом цепочки блоков. Это похоже на подход, принятый CDN Akamai, который развертывает пограничные серверы около миллионов конечных пользователей, тем самым улучшая их работу в Интернете.

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

Если по какой-либо причине шлюз понимает, что его транзакция не была включена в обновление, он может отправить свою транзакцию в сеть p2p, чтобы продолжить распространение и, таким образом, не подвергнуться цензуре. Эта модель устраняет необходимость в шифровании данных, что также снижает опасность DDOS-атак, отправляющих большие объемы зашифрованных данных и задерживающих сеть. Пользователи могут использовать bloXroute BDN в качестве маршрутизатора, оптимизированного для технологии блокчейн. Протокол работает под блокчейном, что делает его первым решением нулевого уровня.

Реализация: без изменений протокола и постепенное развертывание.

Как сообщество блокчейнов (или криптовалюты) использует возможности и новые возможности, предоставляемые bloXroute? Просто регулируя размер блока и параметры интервала времени между блоками. bloXroute не требует не blockchain изменения протокола за пределами этой настройки параметров в полной мере использовать потенциал bloXroute в. Мы предоставим рекомендации для каждого отдельного блокчейна. Рекомендуемые параметры масштабирования, то есть межблочное время и размер блока, будут основаны на экспериментальных результатах, полученных на нашем глобальном испытательном стенде. bloXroute в качестве транспортного уровня дополняет используемый собственный протокол консенсуса и способен повысить производительность, часто значительно, для любой цепочки блоков. Но опять же, сам протокол не меняет; требования к достоверности остаются прежними, как и структура блоков и транзакций, а также все сообщения между узлами.

Другой важный вопрос: какая часть узлов блокчейна должна развернуть шлюзы на своих машинах, чтобы сообщество блокчейнов могло масштабировать параметры протокола? Короче говоря, чем больше узлов развертывают шлюзы, тем лучше, но не обязательно, чтобы все узлы или даже большинство узлов развертывали шлюзы, чтобы разрешить переход. Это связано с тем, что bloXroute создает ценность не только для первого отдельного майнера или пользователя, но и для всей сети, включая тех, кто не использует BDN. Когда блок добывается и отправляется в BDN, он быстрее достигает всех майнеров и пользователей и увеличивает общую скорость сети для всех.

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

Точно так же, как Akamai помогает миллионам веб-пользователей по всему миру с их активным развертыванием серверов в пограничных сетях, уникальная архитектура bloXroute может помочь каждому отдельному сообществу блокчейнов. Независимо от того, состоят ли они из сотен или десяти тысяч узлов, они значительно выиграют от значительного прогресса в области масштабируемости. В следующем посте мы углубимся в тему сети bloXroute.