Jak škálovat svůj projekt blockchainu s bloXroute

Profesorem Aleksandarem Kuzmanovičem, spoluzakladatelem a hlavním architektem

Na bloXroute je naším posláním podporovat a být otevřený každému projektu blockchain, který chce škálovat. Zatímco první verze distribuční sítě Blockchain (BDN) bude podporovat bitcoiny, bitcoinové hotovost a ethereum, v tomto blogovém příspěvku vysvětlujeme na vysoké úrovni, jak se může jakýkoli projekt blockchain integrovat s bloXroute.

V bloXroute se věci zrychlují - brzy implementujeme verzi 1 našeho systému, což je jen počáteční krok k zpřístupnění bloXroute všem komunitám blockchainu. bloXroute je neutrální platforma otevřená všem blockchainům a naším cílem je neustále přidávat podporu pro nové blockchainové projekty. Uvědomujeme si, že každý projekt se chce škálovat a je nepravděpodobné, že budeme schopni držet krok s poptávkou po škálovatelném blockchainu. Navrhli jsme proto naše integrační rozhraní API tak jednoduché, jak je to jen možné, takže jakákoli komunita může implementovat naši logiku brány a zajistit, aby BDN byla prokazatelně neutrální.

Pozadí

Než se ponoříme do detailů, nejprve se krátce vraťme do architektury bloXroute. bloXroute zavádí distribuční síť Blockchain (BDN), která pomáhá uzlům blockchain propagovat transakce a bloky rychleji a efektivněji, a co je nejdůležitější, škálovat, tj. dosáhnout tisíce transakcí za sekundu (TPS). Architektura, neutralita a výkonnost BDN byly diskutovány v předchozích středních příspěvcích.

BDN se skládá ze dvou typů uzlů: Relé a Brány. Relé jsou špičkové servery navzájem propojené a vytvářejí globální páteř bloXroute, která rychle přenáší zprávy blockchainu (transakce a bloky) efektivním způsobem. Brána je malý kus softwaru s otevřeným zdrojovým kódem, který je nasazen vedle sebe do uzlu blockchain, takže oba běží na stejném počítači. Na jedné straně brána mluví „blockchainovým jazykem“ s blockchainovým uzlem a na druhé straně „relé“ bloXroute pomocí relé. Má řadu funkcí; zejména komprimuje a šifruje bloky z uzlů do relé a dešifruje a dekomprimuje bloky z relé do uzlů blockchain.

Implementace vlastní brány

BloXroute Gateways bude mít otevřený zdroj, proto můžete upravit kód brány tak, aby podporoval jakýkoli blockchain protokol. Na vysoké úrovni to zahrnuje tři úkoly:

  1. Implementujte zprávy blockchain (konkrétně transakce a bloky) tak, aby jim bloXroute Gateway porozuměla
  2. Implementujte převod zpráv (tj. Napište kód, který přijímá zprávy nativního blockchainu a převádí je na bloXroute zprávy a naopak).
  3. Definujte protokol specifický pro vaši blockchain (tj. Popisovače protokolů pro psaní. Například běžné popisovače pro Bitcoin a Ethereum jsou (a) handshake, (b) ping a pong, © inv, (d) transakční zpráva, (e) blok zpráva atd.)

Integrace vaší brány s bloXroute

Zatímco kdokoli může implementovat bránu BloXroute, pohyb vpřed vyžaduje koordinaci s týmem bloXroute. Koordinace je nutná z následujících důvodů.

Nejprve musíme vědět, zda typy zpráv vyžadované vaším protokolem jsou v současné době podporovány v rámci bloXroute. Například generické zprávy, jako jsou transakce a bloky, jsou bloXroute již podporovány. Pokud však potřebujete podporovat jiné typy zpráv, museli bychom to nejprve implementovat v rámci bloXroute. Dále jsou všechny zprávy odeslané vaším uzlem blockchain v přírodě vysílány (tj. Je třeba oslovit všechny ostatní uzly blockchainu)? Pokud ano, vysílací primitiv je již nasazen v bloXroute. Pokud však potřebujete podporovat některé další typy komunikace, např. Unicast nebo multicast, musíme nejprve tuto část pochopit a implementovat. Jak naše BDN zraje a my se lépe zabýváme různými typy zpráv a komunikačními vzory, bude tento druh diskuse probíhat méně občas.

Za druhé, z čistě provozních důvodů musíme pochopit očekávané statistiky vaší sítě blockchain, abychom se mohli řádně připravit na nasazení. Například, jak dlouho zůstanou transakce ve vaší síti platné? Jak velké jsou bloky? Jaká je očekávaná míra TPS? Kolik horníků nebo ověřovatelů máte v současné době? Kolik uzlů (ne nutně horníků nebo ověřovatelů) očekáváte, že bude mít síť? Jaké je geografické rozložení vašich uzlů? Všechny tyto informace nám pomohou upravit náš systém, např. Přidat uzel BDN (Relay) v nové oblasti tak, aby co nejlépe sloužil projektu.

Zatřetí přidělíme vašemu projektu jedinečné ID sítě, které bude nasazeno na Gateway i Relay. Všechny zprávy generované vašimi branami budou zahrnovat toto ID sítě, které pomůže našemu BDN optimálně rozpoznávat a směrovat zprávy k jiným branám, které patří do vaší sítě.

Nakonec je nutné před přechodem do produkčního režimu vyzkoušet funkčnost celého systému. Za tímto účelem nakonfigurujeme testovací prostředí tak, aby podporovalo vaše přiřazené ID sítě. Dále poskytneme velmi silnou podporu ladění, abychom mohli pochopit, kde jsou potenciální problémy a jak je odstranit.

Alternativně se můžete rozhodnout implementovat vlastní bránu do kódu blockchainu a připojit se přímo k naší reléové síti. Rozhodnete-li se, že váš uzel bude nativně mluvit, bude protokol bloXroute výkonnější, protože přeskočíte „překlad“ protokolu blockchain brány do protokolu bloXroute. Protokol brány bude zpočátku pravděpodobně procházet změnami, proto se ujistěte, že to váš kód bere v úvahu.

Jaký je nejlepší způsob, jak začít?

Před zahájením některého z výše uvedených kroků je užitečné znát maximální rychlost TPS, kterou může váš uzel single blockchain udržovat izolovaně. Pokud nevíte, měli byste to vyzkoušet, protože se jedná o horní hranici výkonu, který váš systém může dosáhnout. To lze testovat v bitcoinech při pohledu na to, kolik transakcí může síť složená pouze z jednoho horníka zpracovat. bloXroute je skvělá aktiva, která pomůže posílit jakýkoli projekt, ale bloXroute nemůže zlepšit potenciální úzká místa v koncových bodech, které by váš uzel blockchainu mohl zažít. Můžeme poskytnout návod na základě našich zkušeností s řešením takových úzkých míst.

Závěr

V tomto blogovém příspěvku jsme nastínili proces na vysoké úrovni pro integraci vašeho projektu blockchain s bloXroute, abychom dosáhli měřítka. Stejně tak je bloXroute neutrální vůči všem entitám v jedné blockchainové síti, stejně tak je neutrální pro různé projekty blockchainu. Nikdy není příliš brzy se zeptat na integraci vašeho projektu blockchain s bloXroute. Zašlete nám prosím linku na support@bloxroute.com pro více informací. Těšíme se na práci s vámi!

- - -

Neustále hledáme dobré lidi!

Pokud jste stejně nadšeni, že vyřešíte problém se škálovatelností pro všechny blockchainy, zvažte připojení k našemu týmu! Neustále hledáme vášnivé partnery, kteří nám pomohou na této důležité cestě. Podívejte se na naše dostupné pozice pro spolupráci s námi v našich kancelářích v Chicagu.

Další informace

  • Přečtěte si náš dokument
  • Oslovte na Twitteru
  • Připojte se k naší komunitě Reddit
  • Připojte se k naší Telegram komunitě
  • Zaregistrujte se k odběru našich aktualizací