White Paper da TON explicado: Desmistificando a tecnologia por trás do blockchain mais rápido do mundo

Em 31 de outubro de 2023, o TON (anteriormente Telegram Open Network) estabeleceu um novo recorde mundial, atingindo um pico impressionante de 104.715 transações por segundo em seu primeiro teste ao vivo de desempenho público, completando um total de 107.652.545 transações em 25 minutos. Verificado e confirmado pela Certik, esse desempenho torna a TON a blockchain mais rápida e escalável do mundo, superando as velocidades de processamento de todas as blockchains L1 e redes de pagamento centralizadas proeminentes, como PayPal, Visa e Mastercard.

O TON é, sem dúvida, um projeto notável. Neste artigo, vamos dar uma olhada aprofundada no whitepaper da TON, revelando suas características técnicas e inovações únicas e por que a TON é o blockchain mais rápido do mundo.

! Análise do Livro Branco da TON: Desmistificando a tecnologia por trás do blockchain mais rápido do mundo

Desafios de dimensionamento

A escalabilidade tem sido um enorme desafio no desenvolvimento da tecnologia blockchain. O principal objetivo do esquema de escalonamento de blockchain é aumentar a taxa de transferência do sistema e reduzir as taxas de transação, para que a rede blockchain possa processar mais transações e se adaptar melhor a aplicações de grande escala. Embora diferentes cadeias públicas continuem a tentar novos consensos e projetos de arquitetura, os resultados atuais ainda são insatisfatórios e se tornaram um gargalo para o blockchain avançar em direção a aplicações em larga escala, o que é difícil de levar nossa visão de bilhões de usuários TG. Atualmente, as principais soluções de escala podem ser divididas nas seguintes categorias:

Compartilhamento: Dividir a rede em partes menores, cada uma capaz de processar transações e contratos inteligentes em paralelo, aumentando significativamente a taxa de transferência da rede. Mas a fragmentação vem com possíveis problemas de segurança, já que cada fragmento pode ser menos seguro do que toda a rede. Além disso, a comunicação entre estilhaços é um desafio técnico. Exemplos representativos: protocolos Ethereum 2.0 e NEAR.

Sidechains: Uma sidechain é um tipo de blockchain que opera independentemente da cadeia principal, e pode ter seu próprio mecanismo de consenso e parâmetros de bloco. Com sidechains, os usuários podem transferir ativos entre duas cadeias, descarregando a carga sobre a cadeia principal. Exemplo representativo: Polígono

Soluções de camada 2: Ao construir outra camada no topo da cadeia principal, a L2 é capaz de fornecer tempos de confirmação de transação mais rápidos e taxas de transação mais baixas. Veja os mais conhecidos L2s, Optimism e Arbitrum: ambos são soluções de escalonamento projetadas especificamente para Ethereum. Como resultado, parte da arquitetura do Optimism and Arbitrum está na Camada 1. Com a atualização do Ethereum, seu limite superior de transações por segundo (TPS) aumentou de 2-4k para cerca de 2w.

zkSync 2.0: Em comparação com o limite TPS do zkSync 1.0 de várias centenas, o zkSync 2.0 traz melhorias significativas. A equipe do zkSync afirma que sua versão 2.0 pode atingir o limite superior de 10w TPS, mas a maioria das instituições prevê que o verdadeiro limite superior pode ser de 1-2w. Starknet: Depois de completar a atualização para o Quantum Leap em junho, seu TPS agora é um pouco mais de 100TPS.

Solana: Solana usa um algoritmo de consenso inovador chamado Proof of History (PoH) como o núcleo de sua solução de escala. Enquanto Solana afirma ter até 65.000 TPS, a maioria deles realmente atua como comunicação entre nós. O verdadeiro volume de negociação só pode ser limitado a 6-8k TPS. Além disso, devido ao seu design de mecanismo de consenso centralizado, Solana experimentou vários períodos de inatividade em face de um grande número de solicitações, como quando a cunhagem de NFT. Além disso, Solana ainda não implementou com sucesso a rotação do nó central.

O blockchain TON é projetado pelo fundador e equipe principal do Telegram. Como uma das plataformas sociais mais populares do mundo, o Telegram tem quase 900 milhões de usuários ativos mensais, proporcionando uma experiência de usuário estável e suave, mantendo um alto nível de segurança e privacidade, com dezenas de bilhões de mensagens sendo transmitidas dentro do software todos os dias. O conceito de web3 tornou-se relativamente conhecido, mas os usuários nativos de criptografia reais ainda são uma minoria, e a maioria depende de exchanges centralizadas para acessar o token. Metamask, a carteira cripto descentralizada mais popular do mundo, atualmente tem apenas 30 milhões de usuários ativos mensais. E a filosofia de design da TON tem sido baseada em servir bilhões de usuários desde o início, não apenas alguns geeks da web3.

! Análise do Livro Branco da TON: Desmistificando a tecnologia por trás do blockchain mais rápido do mundo

Paradigma de fragmentação infinita

O compartilhamento é um conceito que vem do design de banco de dados. Refere-se à divisão de um grande conjunto de dados lógicos e, em seguida, distribuí-lo entre vários bancos de dados que não são compartilhados entre si, que podem ser distribuídos em vários servidores. Em termos simples, a fragmentação fornece a capacidade de escalar horizontalmente, permitindo que os dados sejam divididos em partes independentes que podem ser processadas em paralelo.

TON não é o primeiro projeto a introduzir a tecnologia de sharding no blockchain, por exemplo, o Ethereum 2.0 uma vez anunciou um fixo de 64 fragmentos e depois abandonado devido a muita dificuldade, enquanto o protocolo Night Shadow da NEAR planeja atingir 100 fragmentos no próximo ano, e atualmente existem 4 fragmentos.

Ao contrário dos métodos tradicionais de fragmentação, a TON emprega uma estratégia de fragmentação infinita.

No entanto, a abordagem da TON é considerada avançada não por ter mais fragmentos, mas por causa de duas características únicas:

  • O número de fragmentos não é fixo: TON suporta um número crescente de fragmentos de acordo com as necessidades do negócio, até 2^60 cadeias de trabalho, o que é quase infinito.
  • Número elástico de fragmentos: TON pode dividir automaticamente os fragmentos quando a carga do sistema é alta e mesclá-los quando a carga é baixa. Esta é uma estratégia muito eficaz para lidar com a necessidade de escalonamento dinâmico.

! Análise do Livro Branco da TON: Desmistificando a tecnologia por trás do blockchain mais rápido do mundo

Atualmente, a TON consiste em duas cadeias de trabalho, a cadeia principal (Masterchain) para sincronização e governança, e a cadeia de trabalho (Workchain) para contratos inteligentes. Abaixo da cadeia de trabalho está o shardchain e o nível mais baixo da cadeia de contas virtuais (Accountchain)

A cadeia de trabalho pode ser dividida em N fragmentos (de 1 a 256 fragmentos). Cada fragmento tem seu próprio grupo de validadores. A equipe da cadeia de trabalho é responsável por executar transações em seus próprios fragmentos. Ao mesmo tempo, está constantemente baixando blocos de todos os outros fragmentos de sua cadeia de trabalho. Em geral, um blockchain é uma série de blocos que registram mudanças em seu estado. Para blockchains POS, os validadores primeiro concordam sobre como querem alterar o estado do blockchain compilando um bloco contendo uma lista de alterações. Depois de votar para este bloco, se votos suficientes forem coletados, eles aplicam o bloco no estado blockchain e passam para o próximo bloco.

A taxa de transferência de um thread de bloco é muito limitada porque os validadores devem verificar todas as transações nesse bloco antes de concordar em aceitá-lo. Portanto, há muitos tópicos em TON, e você pode simplesmente pensar neles como mini micro blockchains. Eles existem em paralelo, e cada um tem seu próprio conjunto de validadores.

Cadeia principal

A cadeia principal é o fio de bloco principal em TON. Ele é usado para sincronizar todos os blocos restantes e recalcular o conjunto de validadores. Quando todos os tópicos concordam em um novo bloco, eles o assinam e o registram na cadeia principal. No entanto, os validadores mainchain não verificam a validade do bloco, apenas verificam se ele está assinado pelo validador apropriado. Assim, muitos fios podem coexistir em paralelo. Contratos de diferentes threads se comunicam entre si enviando mensagens.

Cadeia de trabalho

Uma cadeia de trabalho é um espaço de endereçamento independente que pode ser executado de acordo com suas regras. Por exemplo, eles podem ter máquinas virtuais diferentes ou estender o tempo necessário para publicar blocos com limites de gás altos. Mais importante ainda, as cadeias de trabalho devem ter o mesmo formato de fila de mensagens para que possam trocar mensagens. Isto significa também que todas as cadeias de trabalho devem ter aproximadamente as mesmas garantias de segurança. Como eles podem trocar mensagens, essas mensagens carregam tokens de rede. Existem atualmente duas cadeias de trabalho ativas: a cadeia principal e a primeira cadeia de trabalho de transformação. A cadeia de trabalho é determinada pelo prefixo do endereço: -1:ax... 1s2 - O endereço da conta na cadeia principal. -1 é o prefixo mainchain.

0:ZX... 123 - O endereço da conta na primeira cadeia de trabalho. 0 - é o primeiro prefixo a processar a cadeia de trabalho.

Correntes de estilhaços

Um thread de processamento, ou cadeia de estilhaços, é um thread de bloco independente que processa uma cadeia de trabalho. Por padrão, a cadeia de trabalho 0 tem apenas um thread e uma cadeia. Os validadores desse thread aceitam mensagens externas e lidam com mensagens internas que eles mesmos enviam ou de outras cadeias de trabalho. Se houver uma situação em que um thread está sobrecarregado durante os últimos blocos N, o thread é dividido: um thread é dividido em dois e as transações são realizadas em paralelo.

Os endereços começam com 0:00: - 0:88.. A conta no início está agora no thread 1 com conta 0:88: . - 0:FF.. Localizado no fio 2. Como todos os contratos inteligentes se comunicam de forma assíncrona entre si, sem falhas, a taxa de transferência triplicou. Quando a carga cai, os threads voltam a ser mesclados depois de algum tempo. Se a carga continuar a aumentar, os dois threads podem ser divididos repetidamente, e assim por diante. Há apenas um fio na cadeia principal.

Os blocos em TON são mais do que apenas uma lista de transações que precisam ser concluídas para alcançar uma mudança de estado. Em vez disso, um bloco é:

Uma lista de mensagens que executam uma transação, removendo-as da fila de entrada. Uma nova mensagem entra na fila de saída depois que a mensagem é processada e, em seguida, o processamento da mensagem causa uma alteração no estado do contrato inteligente. Ou seja, para que o validador do fragmento X mantenha o estado atual do fragmento Y, ele não precisa executar todas as transações no bloco do fragmento Y. Ele apenas baixa o bloco e resume as mudanças que ocorreram. Ocorre em filas de mensagens e estados de contrato inteligente.

Mudar fundamentalmente o mundo blockchain não pode vir sem um preço. Para tirar proveito dessa abordagem radical, os desenvolvedores de contratos inteligentes da TON devem projetar seus contratos de forma diferente. A unidade atômica básica do blockchain TON é o contrato inteligente. Os contratos inteligentes têm endereços, código e unidades de dados (estado persistente). Essas unidades são chamadas de unidades atômicas porque os contratos inteligentes sempre têm acesso atomicamente sincronizado a todos os seus estados persistentes.

Roteamento de rede Hypercube

A TON criou um mecanismo de roteamento inteligente para garantir que as transações entre quaisquer dois blockchains sejam sempre processadas rapidamente, não importa quão grande seja o sistema, e o tempo que leva para enviar informações entre os blockchains TON só aumenta logaritmicamente com o número de cadeias, de modo que mesmo escalando para milhões de cadeias permite que eles se comuniquem na velocidade mais rápida.

No blockchain TON, o Roteamento Instantâneo de Hipercubo e o Roteamento Lento são dois mecanismos de roteamento usados para lidar com transações entre cadeias.

! Análise do Livro Branco da TON: Desmistificando a tecnologia por trás do blockchain mais rápido do mundo

Roteamento Instantâneo de Hipercubo: a ideia da TON é acelerar o roteamento de mensagens, permitindo que transações entre cadeias sejam concluídas em uma fração do tempo. No roteamento de cubo lento tradicional, uma mensagem é roteada por uma cadeia de estilhaços ao longo da rede de hipercubo até a cadeia de estilhaços de destino. No entanto, durante o roteamento de mensagens, o validador ao qual pertence a cadeia de fragmentos de destino pode optar por processar a mensagem com antecedência para adicioná-la ao bloco e, em seguida, fornecer uma prova Merkel (recibo) e enviar um recibo para destruir a mensagem que está sendo transmitida. Permite que as transações entre cadeias sejam concluídas num período de tempo muito curto. O roteamento rápido alcança uma interação eficiente entre cadeias através da construção de uma estrutura de roteamento de cubo de alta dimensão. Nesta estrutura, cada cadeia é mapeada para um vértice do cubo, e a distância entre as cadeias é expressa como o número de saltos entre os vértices. Com essa abordagem, as transações podem ser roteadas rapidamente no caminho mais curto, tornando as interações entre cadeias eficientes. O roteamento rápido pode concluir transações entre cadeias em segundos sem esperar por confirmações de bloco.

Roteamento lento: o roteamento lento é um método relativamente tradicional de processamento de transações entre cadeias, transferindo gradualmente as transações da cadeia de origem para a cadeia de destino. Neste método, as transações são primeiro empacotadas em um bloco na cadeia de origem e, em seguida, transferidas para a cadeia de destino por meio de uma nova camada. O validador da cadeia de destino verifica a validade da transação e, em seguida, empacota-a em um bloco da cadeia de destino. A vantagem do roteamento lento em relação ao roteamento rápido é que ele fornece um maior grau de segurança e descentralização, já que as transações entre cadeias precisam passar por um processo de confirmação de bloco completo. Semelhante a uma rede TCP/IP, o endereço IP de destino é endereçado ao destino para garantir que as mensagens sejam transmitidas de forma confiável para a cadeia de destino em ordem. Para uma rede de hipercubo de cadeia de estilhaços de escala N, o salto intermediário da cadeia de estilhaços = log16(N)-1 precisa passar. Portanto, apenas 4 nós de roteamento (cadeias de estilhaços intermediárias) são necessários para suportar milhões de cadeias de estilhaços.

Porque é que foi concebido desta forma? **

Os validadores são necessários para a distribuição. Se o sistema é muito grande, com dezenas de milhares de nós, é demasiado sobrecarregado para escalar. Após a fragmentação, cada fragmento tem um conjunto, shard0, shard1... Também é necessário alcançar a comunicação entre estilhaços. A comunicação pode ser cruzada, e passar de um fragmento para outro significa que deve haver um mecanismo de roteamento para fragmentos e estilhaços. A conexão forma uma rota que ignora algum nó intermediário. Cada vez que uma mensagem é encaminhada, é equivalente a um aumento no tempo de transmissão em um tempo de bloco.

À medida que o número total de cadeias de estilhaços cresce, isso exigirá muito poder de computação e largura de banda de rede, limitando a escalabilidade do sistema. Como resultado, não é possível entregar uma mensagem diretamente de qualquer fragmento para todos os outros fragmentos. Em vez disso, cada fragmento é apenas "conectado" a um fragmento diferente com um número hexadecimal em seu identificador de estilhaço (w,s). Desta forma, todas as cadeias de estilhaços formam um gráfico de "hipercubo", e as mensagens são passadas ao longo das bordas desse hipercubo.

Se uma mensagem for enviada para um fragmento diferente do atual, um número hexadecimal do identificador de fragmento atual (escolhido deterministicamente) será substituído pelo número correspondente do fragmento de destino e o identificador resultante servirá como um destino aproximado para se tornar o destinatário da mensagem encaminhada.

A principal vantagem do roteamento de hipercubo é a condição de validade de bloco, onde os validadores que criam blocos de uma cadeia de estilhaços devem coletar e processar mensagens da fila de saída de cadeias de estilhaços "vizinhas" ou perder seu staking. Desta forma, pode-se esperar que qualquer mensagem chegue ao seu destino final mais cedo ou mais tarde; As mensagens não são perdidas em trânsito nem reentregues.

O roteamento do Hypercube introduz alguma latência e despesa adicionais devido à necessidade de encaminhar mensagens através de várias cadeias de estilhaços intermediárias. No entanto, o número destas cadeias de estilhaços intermédias cresce muito lentamente, o que está relacionado com o log N do número total de cadeias de estilhaços.

A comunicação é assíncrona

O contrato inteligente no TON implementa comunicação assíncrona, que pode ser comparada a microsserviços de Internet. Cada microsserviço só tem acesso atomicamente sincronizado aos seus dados locais. A comunicação entre dois microsserviços envolve o envio de mensagens assíncronas pela rede.

Na arquitetura de sistemas, sistemas maiores geralmente exigem a arquitetura de microsserviços. Essa abordagem distribuída requer alguma troca para ser adotada, mas pode trazer benefícios para a experiência do usuário. O gerenciamento de sistemas modernos depende de sequenciadores como o Kubernetes para pegar um conjunto de microsserviços em contêineres e criar automaticamente novas instâncias conforme necessário (dimensionamento automático) e particioná-las eficientemente entre máquinas.

Para usar a analogia do Kubernetes (Massive Cluster Management System), é exatamente isso que a TON faz. À medida que a carga sobre uma determinada cadeia de estilhaços aumenta, ela é dividida em duas partes. Como os contratos inteligentes são atômicos, eles nunca são divididos ao meio. Isso significa que alguns contratos inteligentes que antes estavam na mesma cadeia de estilhaços podem um dia se encontrar em cadeias de estilhaços diferentes.

A Máquina Virtual (TVM) da TON está aplicando o conceito de microsserviços distribuídos a uma arquitetura geral que se compara com o EVM Ethereum.

Descentralização do Estado

Este é um dos mecanismos de fragmentação mais complexos e desafiadores no espaço de fragmentação. Todo o banco de dados é dividido e colocado em fragmentos diferentes. Cada fragmento armazena todos os dados em seu próprio fragmento, não o estado de todo o blockchain.

No sharding blockchain TON, todos os serviços são implementados na forma de contratos inteligentes, e os dados de estado dos contratos inteligentes são armazenados apenas na rede de fragmentos correspondente, de modo a alcançar o sharding de estado.

Não só isso, na TON, o contrato alcançou um caminho de implementação único na indústria, onde cada usuário pode gerenciar o estado do token em seu próprio contrato, realmente realizando a descentralização do estado blockchain. Explorarei os princípios deste design em detalhe através de estudos de caso.

Em primeiro lugar, você precisa entender o contrato da carteira e o contrato da carteira Jetton. O contrato Wallet é um contrato inteligente específico do usuário que gerencia os tokens do usuário no blockchain TON. Jetton (russo: Jewel) O contrato de carteira é um tipo especial de contrato de carteira que é dedicado a gerenciar os tokens Jetton do usuário. Esses tokens podem ser usados para pagar taxas de rede e executar contratos inteligentes. Cada usuário tem seu próprio contrato de carteira e contrato de carteira Jetton. Esses contratos funcionam como carteiras digitais para os usuários armazenarem e gerenciarem seus tokens. Ao mesmo tempo, esses contratos também podem interagir com contratos de outros usuários para permitir a transferência e negociação descentralizada de ativos.

Neste caso, presume-se que o utilizador A e o utilizador B têm cada um o seu próprio contrato de carteira. O usuário A deseja transferir uma certa quantidade de tokens para o usuário B. Neste caso, o contrato de Carteira do Usuário A interage com o Contrato de Carteira do Usuário B para realizar a transferência de tokens. Todo o processo não precisa depender de um contrato centralizado, mas através de dois contratos descentralizados.

Todos os usuários do blockchain TON têm seus próprios contratos para gerenciar o estado de seus ativos, o que significa que não há um único contrato centralizado para assumir o risco de gerenciar todos os ativos. Isso aumenta a descentralização do sistema e reduz o risco de um único ponto de falha. O estado dos ativos de todos os usuários é gerenciado por um contrato dedicado, e um invasor não pode afetar todo o sistema atacando um único contrato centralizado. As transações de ativos entre usuários também podem ser executadas automaticamente por meio de contratos inteligentes, evitando o risco de operação humana. Você também pode personalizar seu próprio contrato de carteira e contrato de carteira Jetton de acordo com suas necessidades para alcançar mais funções e cenários de aplicação. Isto dá aos utilizadores mais flexibilidade e autonomia. Cada um gerencia o estado do ativo em seu próprio contrato, e a escalabilidade do sistema é melhorada. À medida que o número de utilizadores aumenta, aumenta também o número de contratos, mas tal não coloca uma pressão excessiva sobre o sistema global, uma vez que cada contrato funciona de forma independente.

O acima é a minha análise da escalabilidade do blockchain TON e da arquitetura técnica do white paper, graças ao Dr. Awesome Doge pela edição do primeiro rascunho. Obrigado às equipes de desenvolvimento russas e ucranianas por sua perseverança e, finalmente, ao fundador do Telegram, Sr. Nikolai Durov, por seu grande projeto há muitos anos, e estes são para a glória da mente humana.

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
0/400
Sem comentários
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)