Как да мащабирате своя Blockchain проект с bloXroute

От проф. Александър Кузманович, съосновател и главен архитект

На bloXroute нашата мисия е да подкрепяме и да бъдем отворени за всеки блокчейн проект, който иска да мащабира. Докато първата версия на Blockchain разпределителната мрежа (BDN) ще поддържа Bitcoin, Bitcoin Cash и Ethereum, в тази публикация в блога ние обясняваме на високо ниво как всеки блокчейн проект може да се интегрира с bloXroute.

Нещата се ускоряват при bloXroute - скоро ще внесем Версия 1 на нашата система, която е само първоначалната стъпка за осигуряване на bloXroute достъпна за всички blockchain общности. bloXroute е неутрална платформа, отворена за всички блокчейн и се стремим непрекъснато да добавяме подкрепа за нови blockchain проекти. Ние осъзнаваме, че всеки проект иска мащаб и е малко вероятно да успеем да сме в крак с търсенето на мащабируем блокчейн. По този начин ние проектирахме нашия API за интеграция да бъде възможно най-прост, така че всяка общност да може да приложи нашата логика на шлюза и да гарантира, че BDN е доказано неутрален.

Заден план

Преди да се потопите в детайлите, първо трябва да прегледаме накратко архитектурата на bloXroute. bloXroute използва Blockchain разпределителна мрежа (BDN), която помага на blockchain възлите да разпространяват транзакции и да блокират по-бързо и по-ефективно и най-важното, мащаб, т.е. постигане на хиляди транзакции в секунда (TPS). Архитектурата, неутралността и производителността на BDN бяха обсъждани в предишни публикации на средни публикации.

BDN се състои от два вида възли: релета и шлюзи. Релетата са сървъри от висок клас, свързани помежду си, за да образуват глобалната опора на bloXroute, която бързо предава блокчейн съобщения (транзакции и блокове) по ефективен начин. Gateway е малко парче софтуер с отворен код, който се разполага едно до друго на блокчейн възел, така че и двете работят на една и съща машина. От единия си край, шлюзът изговаря блокчейн „езика“ с блокчейн възел, а от другия край той говори „езика“ на BloXroute с реле. Той има многобройни функции; най-важното е, че компресира и криптира блокове от възлите към релетата, и дешифрира и декомпресира блокове от релета към блокчейн възли.

Прилагане на вашия собствен шлюз

bloXroute Gateways ще бъде отворен, така че можете да коригирате Gateway кода, така че да поддържа всеки блокчейн протокол. На високо ниво това включва три задачи:

  1. Реализирайте blockchain съобщения (а именно транзакции и блокове), така че BloXroute Gateway да ги разбере
  2. Реализирайте преобразуване на съобщения (т.е. напишете кода, който приема родните блокчейн съобщения и ги преобразува в bloXroute съобщения и обратно).
  3. Определете специфичния за вашата blockchain протокол (т.е. пишете обработващи протоколи. Например, често срещаните манипулатори за Bitcoin и Ethereum са (a) ръкостискане, (b) ping и pong, © inv, (d) съобщение за транзакция, (e) блок съобщение и т.н.)

Интегриране на вашия шлюз с bloXroute

Докато всеки може да реализира BloXroute Gateway, придвижването напред изисква координация с екипа на bloXroute. Координацията е необходима поради следните причини.

Първо, трябва да знаем дали типовете съобщения, изисквани от вашия протокол, се поддържат в момента в bloXroute. Например, generic съобщения, като транзакции и блокове, вече се поддържат от bloXroute. Ако обаче трябва да поддържате други типове съобщения, първо трябва да го приложим в рамките на bloXroute. На следващо място, всички съобщения, изпратени от вашия блокчейн възел, се излъчват в природата (т.е. трябва да достигнат до всички други блокчейн възли)? Ако е така, излъчващият примитив вече е разгърнат в bloXroute. Но ако трябва да поддържате някои други видове комуникация, например unicast или multicast, първо трябва да разберем и приложим тази част. Тъй като нашата BDN узрява и ставаме по-добри в справянето с различни типове съобщения и модели на комуникация, този тип дискусии ще се случват по-рядко.

Второ, по чисто оперативни причини трябва да разберем очакваната статистика на вашата blockchain мрежа, за да можем правилно да се подготвим за внедряването. Например, колко дълго транзакции остават валидни във вашата мрежа? Колко големи са блоковете? Какъв е очакваният процент на TPS? Колко миньори или верификатори в момента имате? Колко възли (не непременно миньори или верификатори) очаквате да има вашата мрежа? Какво е географското разпределение на вашите възли? Цялата тази информация ще ни помогне да настроим нашата система, например да добавим BDN възел (реле) в нов регион, за да обслужваме най-добре проекта.

Трето, ние ще присвоим на вашия проект уникален мрежов идентификатор, който ще бъде разположен както на шлюзи, така и на релета. Всички съобщения, генерирани от вашите Gateways, ще включват този мрежов идентификатор, който помага на BDN да разпознава и маршрутизира съобщения оптимално към други шлюзове, които принадлежат на вашата мрежа.

И накрая, преди да преминете към производствен режим, е необходимо да се тества функционалността на цялата система. За тази цел ще конфигурираме тестова среда, за да поддържаме присвоения от вас мрежов идентификатор. Освен това ще предоставим много мощна поддръжка за отстраняване на грешки, като правим възможно да разберете къде се намират потенциалните проблеми и как да ги премахнете.

Като алтернатива можете да изберете да внедрите свой собствен шлюз във вашия blockchain код и да се свържете директно към нашата релейна мрежа. Изборът на вашия възел да говори родното протоколът bloXroute ще бъде по-ефективен, тъй като пропуснете „превода“ на шлюза на протокола blockchain към протокол bloXroute. Протоколът Gateway най-вероятно първоначално ще претърпи промени, така че уверете се, че кодът ви взема предвид това.

Кой е най-добрият начин да започнете?

Преди да започнете някоя от горните стъпки, е полезно да знаете максималната скорост на TPS, която единственият ви блокчейн възел може да поддържа изолирано. Ако не знаете, трябва да го тествате, тъй като това е горната граница на производителността, която системата ви може да достигне. Това може да бъде тествано в Bitcoin, като погледнете колко транзакции може да обработи мрежа, състояща се само от един миньор. bloXroute е страхотно предимство, което ще помогне за подобряване на всеки проект, но bloXroute не може да подобри потенциалните затруднения в крайните точки, които може да изпита вашият блокчейн възел. Можем да дадем насоки въз основа на нашия опит за коригиране на такива тесни места.

заключение

В тази публикация в блога ние очертахме процеса на високо ниво за интегриране на вашия блокчейн проект с bloXroute за постигане на мащаб. По същия начин bloXroute е неутрален към всички субекти в една блокчейна мрежа, той е еднакво неутрален към различните блокчейн проекти. Никога не е твърде рано да ни питате за интегриране на вашия блокчейн проект с bloXroute. Моля, пуснете ни линия на support@bloxroute.com за повече информация. Очакваме да работим с вас!

- - -

Винаги търсим добри хора!

Ако сте еднакво въодушевени да разрешите затрудненията за мащабиране за всички блокчейн, помислете за присъединяване към нашия екип! Винаги търсим страстни партньори, които да ни помогнат в това важно пътуване. Вижте наличните ни позиции, за да работите с нас в нашите офиси в Чикаго.

Научете повече

  • Прочетете нашия бял лист
  • Достигнете до Twitter
  • Присъединете се към нашата Reddit общност
  • Присъединете се към нашата общност на Telegram
  • Регистрирайте се за нашите актуализации