31. října 2023 vytvořila společnost TON (dříve Telegram Open Network) nový světový rekord, když v prvním veřejném živém testu dosáhla úžasného vrcholu 104 715 transakcí za sekundu a dokončila celkem 107 652 545 transakcí za 25 minut. Tento výkon, ověřený a potvrzený společností Certik, dělá z TON nejrychlejší a nejškálovatelnější blockchain na světě, který překonává rychlost zpracování všech L1 blockchainů a známých centralizovaných platebních sítí, jako jsou PayPal, Visa a Mastercard.
TON je bezpochyby poutavý projekt. Tento článek poskytne hloubkovou analýzu bílé knihy TON, odhalí její jedinečné technické vlastnosti a inovace a proč se TON může stát nejrychlejším blockchainem na světě.
Problém s expanzí
Škálovatelnost byla během vývoje technologie blockchain vždy obrovským problémem. Plán rozšíření blockchainu má především zlepšit propustnost systému a snížit transakční náklady, aby blockchainová síť zvládla více transakcí a lépe se přizpůsobila rozsáhlým aplikacím. Přestože různé veřejné řetězce nadále zkoušejí nový konsensus a návrhy architektury, současné výsledky jsou stále neuspokojivé a staly se překážkou pro blockchain při přechodu k aplikacím ve velkém měřítku, což ztěžuje realizaci naší TG vize jedné miliardy uživatelů. Současná mainstreamová řešení rozšíření lze rozdělit do následujících kategorií:
Sdílení: Rozdělte síť na několik menších částí. Každý fragment může zpracovávat transakce a chytré smlouvy paralelně, čímž se výrazně zvyšuje propustnost sítě. Sharding však přichází s potenciálními bezpečnostními problémy, protože každý fragment může být méně bezpečný než celá síť. Komunikace napříč střepy je navíc technickou výzvou. Reprezentativní příklady: bývalý protokol Ethereum 2.0 a NEAR Nightshade.
Postranní řetězce: Postranní řetězec je blockchain, který funguje nezávisle na hlavním řetězci. Může mít svůj vlastní konsenzuální mechanismus a blokové parametry. Prostřednictvím postranních řetězců mohou uživatelé převádět aktiva mezi dvěma řetězci, čímž se zbaví zátěže hlavního řetězce. Reprezentativní příklad: Polygon
Řešení vrstvy 2: Vybudováním další vrstvy struktury na vrcholu hlavního řetězce může L2 zajistit rychlejší potvrzování transakcí a nižší transakční poplatky. Vezměte si jako příklad známější L2, Optimism a Arbitrum: Oba jsou rozšiřující řešení speciálně navržená pro Ethereum. Proto je část architektury Optimism and Arbitrum umístěna ve vrstvě 1. Při upgradu Etherea se jejich limit transakcí za sekundu (TPS) zvyšuje z původních 2-4k na přibližně 2w.
zkSync 2.0: Ve srovnání s limitem stovek TPS zkSync 1.0 přináší zkSync 2.0 významná vylepšení. Tým zkSync tvrdí, že jeho verze 2.0 může dosáhnout horní hranice 100 000 TPS, ale většina institucí předpovídá, že její skutečná horní hranice může být 1-20 000. Starknet: Po dokončení aktualizace Quantum Leap v červnu jeho TPS aktuálně přesahuje 100 TPS.
Solana: Solana využívá inovativní konsensuální algoritmus nazvaný Proof of History (PoH) jako jádro svého plánu rozšíření. Ačkoli Solana tvrdí, že jeho TPS může dosáhnout 65 000, ve skutečnosti se většina TPS používá jako komunikace mezi uzly. Skutečný objem transakcí může být omezen pouze na 6–8 000 TPS. Navíc díky svému centralizovanému konsenzuálnímu mechanismu měla Solana několik prostojů, když čelila velkému počtu požadavků, například při ražbě NFT. Solana navíc ještě úspěšně nezavedl rotaci centrálních uzlů.
Návrháři blockchainu TON pocházejí ze zakladatele a hlavního týmu Telegramu. Jako jedna z nejpopulárnějších sociálních platforem na světě má Telegram téměř 900 milionů aktivních uživatelů měsíčně. I když má vysoký stupeň zabezpečení a soukromí, poskytuje také stabilní a plynulé uživatelské prostředí. V rámci služby se přenášejí desítky miliard zpráv. software každý den.informace. Koncept web3 se stal relativně známým, ale skuteční nativní uživatelé kryptoměn jsou stále v menšině a většina lidí se při přístupu k tokenům spoléhá na centralizované burzy. Metamask, celosvětově nejoblíbenější decentralizovaná kryptopeněženka, má v současnosti pouze 30 milionů aktivních uživatelů měsíčně. Designový koncept TON byl od začátku založen na tom, že slouží miliardám uživatelů, ne jen několika web3 geekům.
paradigma nekonečného shardingu
Sharding je koncept, který vychází z návrhu databáze. Jedná se o rozdělení velké logické datové sady a její následnou distribuci do více databází, které nejsou vzájemně sdíleny.Tyto databáze mohou být distribuovány na více serverech. Jednoduše řečeno, sharding poskytuje možnost horizontálního škálování, což umožňuje rozdělit data na nezávislé části, které lze zpracovávat paralelně.
TON není prvním projektem, který zavádí technologii shardingu do blockchainu. Například Ethereum 2.0 jednou oznámilo fixních 64 shardů a pak to vzdalo, protože to bylo příliš obtížné, zatímco protokol NEAR’s Night Shadow plánuje příští rok dosáhnout 100. Sharding, tam jsou aktuálně 4 střepy.
Na rozdíl od tradičních metod shardingu využívá TON nekonečnou strategii shardingu.
Přístup TON je však považován za pokročilý ne proto, že má více úlomků, ale kvůli dvěma jedinečným vlastnostem:
Počet shardů není pevně stanoven: TON podporuje zvyšující se počet shardů podle obchodních potřeb, až do maximálního počtu 2^60 pracovních řetězců, což je téměř neomezený počet.
Počet úlomků je elastický: TON dokáže úlomky automaticky rozdělit, když je zatížení systému vysoké, a sloučit je, když se zatížení sníží. Jedná se o velmi efektivní strategii pro řešení potřeb dynamického škálování.
V současné době se TON skládá ze dvou pracovních řetězců, hlavního řetězce (Masterchain) pro synchronizaci a řízení a pracovního řetězce (Workchain) pro chytré smlouvy. Pod pracovním řetězcem se nachází řetězec úlomků a spodní řetězec virtuálních účtů (řetězec účtů)
Pracovní řetěz lze rozdělit na N střepů (od 1 do 256 střepů). Každý fragment má svou vlastní sadu validátorů. Tým pracovního řetězce je zodpovědný za provádění transakcí ve vlastním datovém fragmentu. Zároveň průběžně stahuje bloky ze všech ostatních střípků svého pracovního řetězce. Obecně řečeno, blockchain je řada bloků, které zaznamenávají změny jeho stavu. U POS blockchainů se validátoři nejprve dohodnou na tom, jak chtějí změnit stav blockchainu, sestavením bloku obsahujícího seznam změn. Blok je poté odhlasován, a pokud se nasbírá dostatek hlasů, aplikují blok na stav blockchainu a přesunou se do dalšího bloku.
Kapacita propustnosti blokového vlákna je velmi omezená, protože validátoři musí zkontrolovat všechny transakce v bloku, než souhlasí s jeho přijetím. V TONu je tedy mnoho vláken, jednoduše si je můžete představit jako mini mikro-blockchainy. Existují vedle sebe a každý má svou vlastní sadu validátorů.
hlavní řetězec
Hlavní řetěz je v TON hlavní blokový závit. Slouží k synchronizaci všech zbývajících bloků a přepočítání sady validátorů. Když se všechna vlákna dohodnou na novém bloku, podepíší jej a zaregistrují do hlavního řetězce. Validátoři hlavního řetězce však neověřují platnost bloku, pouze kontrolují, zda byl podepsán příslušným validátorem. Tolik vláken může existovat paralelně. Smlouvy z různých vláken spolu komunikují zasíláním zpráv.
pracovní řetězec
Pracovní řetězec je nezávislý adresní prostor, který může běžet podle jeho pravidel. Mohou mít například různé virtuální stroje nebo prodloužit čas potřebný k publikování bloků s vysokými limity plynu. A co je nejdůležitější, pracovní řetězce musí mít stejný formát fronty zpráv, aby si mohly vyměňovat zprávy. To také znamená, že všechny pracovní řetězy musí mít přibližně stejné záruky bezpečnosti. Protože si mohou vyměňovat zprávy, nesou tyto zprávy síťové tokeny. Nyní jsou aktivní dva pracovní řetězce: hlavní řetězec a první pracovní řetězec zpracování. Pracovní řetězec je určen prefixem adresy: -1:ax...1s2 - adresa účtu v hlavním řetězci. -1 je hlavní předpona řetězce.
0:zx...123 - Adresa účtu v prvním řetězci úloh. 0 - je předpona pro první řetězec úlohy zpracování.
střepinový řetěz
Vlákna zpracování nebo řetězce fragmentů jsou nezávislá bloková vlákna v pracovním řetězci zpracování. Ve výchozím nastavení má pracovní řetězec 0 pouze jedno vlákno a jeden řetězec. Validátoři tohoto vlákna přijímají externí zprávy a zpracovávají interní zprávy odeslané jimi nebo z jiných pracovních řetězců. Pokud dojde k situaci, kdy je vlákno přetíženo během posledních N bloků, vlákno se rozdělí: jedno vlákno se rozdělí na dvě, přičemž transakce běží paralelně.
Účty s adresami začínajícími 0:00.. - 0:88.. jsou nyní ve vláknu 1 a účty 0:88.. - 0:FF.. jsou ve vláknu 2. Protože všechny smart kontrakty spolu komunikují asynchronně, nedochází k žádným závadám, zatímco propustnost je ztrojnásobena. Když zátěž klesne, vlákna se po chvíli sloučí zpět. Pokud zatížení stále narůstá, lze obě vlákna znovu a znovu rozdělit a tak dále. Hlavní řetěz má pouze jeden závit.
Blok v TON je více než jen seznam transakcí, které je třeba dokončit, aby byla provedena změna stavu. Místo toho je blok:
Spusťte seznam zpráv transakce a odstraňte je z příchozí fronty. Nové zprávy vstupují do odchozí fronty po zpracování zpráv a poté zpracování zpráv způsobí změnu stavu inteligentní smlouvy. To znamená, že aby validátor útržku X udržel aktuální stav útržku Y, nemusí provádět všechny transakce v bloku úlomku Y. Pouze stáhne blok a shrnuje změny, ke kterým došlo. Vyskytuje se ve frontě zpráv a stavu inteligentní smlouvy.
Zásadní změna světa blockchainu nemůže přijít bez nákladů. Aby mohli vývojáři chytrých smluv TON využít tohoto radikálního přístupu, musí své smlouvy koncipovat jinak. Základní atomovou jednotkou TON blockchainu je smart contract. Inteligentní smlouvy mají adresy, kódy a datové jednotky (trvalý stav). Takové jednotky se nazývají atomové jednotky, protože inteligentní smlouva má vždy atomově synchronizovaný přístup ke všem svým trvalým stavům.
Síťové směrování Hypercube
Společnost TON vytvořila jedinečný inteligentní směrovací mechanismus, který zajišťuje, že transakce mezi libovolnými dvěma blockchainy mohou být vždy rychle zpracovány. Bez ohledu na to, jak velký je systém, čas potřebný k odeslání informací mezi blockchainy TON roste pouze logaritmicky s počtem řetězců. Počet Způsobů se zvyšuje, takže i škálování na miliony řetězců jim umožňuje komunikovat nejvyšší možnou rychlostí.
V blockchainu TON jsou Instant Hypercube Routing a Slow Routing dva směrovací mechanismy používané ke zpracování transakcí napříč řetězci.
Okamžité směrování Hypercube: Myšlenka navržená společností TON urychlit směrování zpráv, což umožňuje dokončení transakcí napříč řetězci ve velmi krátkém čase. V tradičním procesu pomalého směrování krychle je zpráva směrována řetězem fragmentů podél sítě hyperkrychle do cílového řetězce fragmentů. Během procesu směrování zprávy se však validátor (validátor), ke kterému cílový fragmentový řetězec zprávy patří, může rozhodnout zprávu zpracovat předem a přidat ji do bloku a poté poskytnout Merkelův důkaz (účtenku) a odeslat potvrzení pro zničení probíhající zprávy Odeslané zprávy. Umožňuje dokončit transakce napříč řetězci v extrémně krátkém čase. Express Routing dosahuje efektivní meziřetězcové interakce vytvořením struktury směrování vysokorozměrné krychle (hypercube). V této struktuře je každý řetězec mapován na vrchol krychle a vzdálenost mezi řetězci je vyjádřena jako počet skoků mezi vrcholy. Prostřednictvím této metody mohou být transakce rychle směrovány po nejkratší cestě, což umožňuje efektivní meziřetězcové interakce. Rychlé směrování může dokončit meziřetězcové transakce během několika sekund bez čekání na potvrzení blokování.
Pomalé směrování: Pomalé směrování je poměrně tradiční metoda zpracování transakcí napříč řetězci, která je implementována postupným přenášením transakcí ze zdrojového řetězce do cílového řetězce. V tomto přístupu jsou transakce nejprve zabaleny do bloku ve zdrojovém řetězci a poté přeneseny do cílového řetězce prostřednictvím relé. Validátor cílového řetězce ověří platnost transakce a poté ji zabalí do bloku na cílovém řetězci. Výhodou pomalého směrování oproti rychlému směrování je, že poskytuje vyšší bezpečnost a decentralizaci, protože meziřetězcové transakce musí projít kompletním procesem potvrzování bloku. Podobně jako v síti TCP/IP může odeslání do cíle prostřednictvím cílové IP adresy zajistit, že zpráva bude spolehlivě šířena do cílového řetězce v pořádku. U hyperkrychlové sítě s řetězem střepů o velikosti N jsou mezilehlé řetězce střepů, které je třeba protáhnout přes skok = log16(N)-1. Proto jsou k podpoře milionů řetězců úlomků potřeba pouze 4 směrovací uzly (střední řetězce úlomků).
Proč je to takto navrženo?
Distribuce vyžaduje ověřovací uzly. Pokud je systém velmi velký a má desítky tisíc uzlů, zátěž bude příliš velká a nebude možné ji rozšířit. Po shardingu má každý shard sadu, shard0, shard1... a musí být dosaženo komunikace napříč shardem. Komunikace může probíhat přes úlomky.Od jednoho úlomku k druhému, to znamená, že mezi úlomky musí existovat mechanismus směrování. Spojení tvoří trasu, která je přeskočena přes některé mezilehlé uzly. Pokaždé, když informace projde cestou, je to ekvivalentní prodloužení doby přenosu o jeden blok.
Jak roste celkový počet řetězců fragmentů, bude to vyžadovat velký výpočetní výkon a šířku pásma sítě, čímž se omezí škálovatelnost systému. Proto není možné přímo předávat zprávy z jednoho datového fragmentu do všech ostatních datových fragmentů. Místo toho je každý úlomek „připojen“ pouze k úlomkům, které se liší jednou hexadecimální číslicí svého (w,s) identifikátoru úlomku. Tímto způsobem všechny řetězce střepů tvoří graf „hyperkrychle“ a zprávy jsou předávány podél okrajů této hyperkrychle.
Pokud je zpráva odeslána na jiný úlomek, než je aktuální, bude hexadecimální číslo aktuálního identifikátoru úlomku (zvoleného deterministicky) nahrazeno odpovídajícím číslem cílového úlomku a výsledný identifikátor bude sloužit jako přibližný cíl. Příjemce přeposlané zprávy.
Hlavní výhodou hypercube routingu je podmínka platnosti bloku Validátoři, kteří vytvářejí shard chain blocky, musí shromažďovat a zpracovávat zprávy ve výstupních frontách "sousedních" shard chainů, jinak ztratí svůj podíl. Tímto způsobem lze očekávat, že jakákoli zpráva dříve nebo později dosáhne svého konečného cíle; zprávy se při přenosu neztrácejí ani neduplikují.
Směrování Hypercube zavádí určitou dodatečnou latenci a náklady, protože zprávy je třeba přeposílat prostřednictvím několika mezilehlých řetězců fragmentů. Počet těchto mezilehlých řetězců střepů však roste velmi pomalu, v závislosti na logaritmu celkového počtu řetězců střepů N, log N.
Komunikace asynchronní
Chytré smlouvy na TON implementují asynchronní komunikaci, chytré smlouvy na TON lze přirovnat k internetovým mikroslužbám. Každá mikroslužba má pouze atomický synchronní přístup ke svým lokálním datům. Komunikace mezi dvěma mikroslužbami zahrnuje odesílání asynchronních zpráv přes síť.
V architektuře systému větší systémy často potřebují vybudovat mikroslužby. Tento distribuovaný přístup vyžaduje určitý kompromis, ale může přinést výhody uživatelské zkušenosti. Moderní správa systému spoléhá na sekvencery, jako je Kubernetes, které převezmou sadu kontejnerových mikroslužeb a automaticky vytvoří nové instance na vyžádání (automatické škálování) a efektivně je rozdělí mezi počítače.
Chcete-li použít analogii Kubernetes (rozsáhlý systém správy clusteru), přesně to dělá TON. Jak se zvyšuje zatížení na konkrétním řetězu střepů, je rozdělen na dvě části. Vzhledem k tomu, že inteligentní smlouvy jsou atomické, nelze je nikdy rozdělit na polovinu. To znamená, že některé chytré smlouvy, které byly kdysi na stejném řetězci útržků, se jednoho dne mohou ocitnout v jiném řetězci útržků.
Virtual Machine (TVM) společnosti TON aplikuje koncept distribuovaných mikroslužeb na celkovou architekturu Ethereum EVM.
Decentralizace státu
Jedná se o nejsložitější a nejnáročnější shardovací mechanismus v oblasti shardingu. Celá databáze je oddělena a umístěna na různé střepy. Každý shard ukládá všechna data do svého vlastního shardu, nikoli do stavu celého blockchainu.
V blockchainovém shardingu TON jsou všechny služby implementovány ve formě smart kontraktů a stavová data smart kontraktů se pouze ukládají do odpovídající shardingové sítě, aby bylo dosaženo stavového shardingu.
Nejen, že v TON smlouvy implementují jedinečnou cestu implementace v tomto odvětví: Každý uživatel může spravovat stav tokenu ve své vlastní smlouvě, čímž skutečně dosáhne decentralizace od statusu blockchainu. Principy tohoto designu podrobně zkoumám prostřednictvím případů.
Nejprve musíte pochopit smlouvu o peněžence a smlouvu o peněžence Jetton. Smlouva o peněžence je chytrá smlouva specifická pro uživatele, která se používá ke správě tokenů uživatelů na blockchainu TON. Smlouva o peněžence Jetton (rusky: drahokam) je speciální smlouva o peněžence speciálně používaná ke správě průkazů Jetton uživatelů. Tyto tokeny lze použít k placení síťových poplatků a provádění chytrých smluv. Každý uživatel má svou vlastní smlouvu o peněžence a smlouvu o peněžence Jetton. Tyto smlouvy fungují jako digitální peněženky uživatelů pro ukládání a správu tokenů. Současně mohou tyto smlouvy také interagovat se smlouvami jiných uživatelů za účelem dosažení decentralizovaného převodu aktiv a transakcí.
V současné době se předpokládá, že uživatel A a uživatel B mají každý svou vlastní smlouvu o Peněžence. Uživatel A chce převést určité množství tokenů na uživatele B. V tomto případě bude smlouva o Peněžence uživatele A interagovat se smlouvou o Peněžence uživatele B za účelem realizace převodu tokenů. Celý proces se nemusí spoléhat na centralizovanou smlouvu, ale je realizován prostřednictvím dvou decentralizovaných smluv.
Všichni uživatelé blockchainu TON mají své vlastní smlouvy na správu stavu svých aktiv, což znamená, že neexistuje jediná centralizovaná smlouva, která by nesla riziko správy všech aktiv. To zlepšuje decentralizaci systému a snižuje riziko jednotlivých bodů selhání. Stav aktiv všech uživatelů je spravován exkluzivní smlouvou a útočníci nemohou ovlivnit celý systém útokem na jedinou centralizovanou smlouvu. Transakce aktiv mezi uživateli mohou být také automaticky prováděny prostřednictvím inteligentních smluv, čímž se zabrání riziku lidských operací. Můžete si také přizpůsobit svou vlastní smlouvu o peněžence a smlouvu o peněžence Jetton podle svých potřeb, abyste dosáhli více funkcí a aplikačních scénářů. To poskytuje uživatelům větší flexibilitu a autonomii. Každý spravuje stav aktiv ve svých vlastních smlouvách a zlepšuje se škálovatelnost systému. S rostoucím počtem uživatelů se odpovídajícím způsobem zvýší počet smluv, ale nebude to vyvíjet přehnaný tlak na celý systém, protože každá smlouva běží samostatně.
Výše uvedené je moje analýza škálovatelnosti blockchainu TON a konceptu technické architektury bílé knihy. Rád bych poděkoval Dr. Awesome Doge za úpravu prvního návrhu. Díky ruským a ukrajinským vývojovým týmům za jejich neutuchající úsilí a nakonec díky panu Nikolai Durovovi, zakladateli Telegramu, za jeho skvělé návrhy před mnoha lety, které jsou všechny pro slávu lidské mysli.
