TONboard

TON Blockchain Architecture

4 min readupdated 2026-06-04✏️ Suggest an edit🕑 History
On this page (15)

TON Blockchain Architecture sistema de armazenamento e gestão de dados TON:

  • organização de dados como bag of cells;
  • Chardeamento no nível das contas (ISP);
  • condições de consenso e validação;
  • masterchain Coordena todas as chárades e parâmetros da rede.

Bag of Cells#

Todos os dados TON são representados pela coleção células Cada célula contém:

  • até 1023 bits dados;
  • até 4 referências para outras células (por hashes SHA-256);
  • Dois bytes de descriptora + os dados.

As células estão organizadas em árvores ou DAG (Directed Acyclic Graph). TL-B (Type Language — Binary).

Infinite Sharding Paradigm (ISP)#

Cada conta é diferente accountchainBlocos virtuais da accountchain estão agrupados em blocos de shardchains para maior eficiência.

O estado do shardchain = o estado de todas as contas do charade. Bloco de shardchains = uma coleção de blocos virtuais para algumas contas.

No TON, não há diferença entre "smart contract" e "account".

Estrutura do bloco de shardchains#

Divide-se em 2 partes:

Não dividida (non-split)

ComponenteConteúdo
InMsgDescrDescrição das mensagens de entrada
OutMsgDescrDescrição das mensagens de saída
Block headerHashes, parâmetros do bloco
OutMsgQueueA fila das mensagens não entregues (será removida após a entrega às charadas vizinhas)

Dividida (split)

Hashmap account_id → account_state. Estado da conta:

  • Balanço em Grams;
  • código do contrato inteligente;
  • dados constantes do contrato;
  • estatísticas de utilização do armazenamento;
  • uma descrição formal opcional da interface;
  • Informações públicas do utilizador.

Masterchain#

  • Não se divide nem se une. (single chain);
  • Um antecessor (exceto o bloco zero com config inicial);
  • Contém lista de todas as chardas activas e os últimos blocos de cada um;
  • Guardar Configuração de parâmetros através de um contrato de configuração especial.

Configuração

  • A contribuição mínima dos validadores;
  • Tamanho máximo do grupo de validadores;
  • Número máximo de blocos pelos quais o grupo é responsável;
  • Processo de eleição e punição dos validadores;
  • Os conjuntos atuais e seguintes de validadores;
  • O processo de alteração de parâmetros.

Valores iniciais e código de contratos inteligentes fundamentais em Bloco zero masterchain.

Condições de consenso#

Garante a correcção da alteração de dados apenas através de transações válidas.

TipoDescrição
GlobaisInvariantes para toda a rede (por exemplo, garantias de entrega de mensagens)
Locais internosDentro de um bloco (por exemplo, processamento de mensagens recebidas)
Locais externosEntre blocos, geralmente de chords vizinhos.

Bloco válidoA responsabilidade dos validadores geração e verificação.

Tempo lógico (LT)#

Número inteiro não negativo de 64 bits, atribuído aos acontecimentos:

  • Evento dependente LT tem mais de todas as suas dependências;
  • Evento independente tem LT = 0;
  • Mensagens de saída herdarem o LT da transacção;
  • Transação e bloco têm Intervalo de tempoO que está escrito no título.

O LT é necessário para organizar os acontecimentos. sem relógios globais.

Condição geral e visibilidade#

  • Bloco masterchain Fixa o estado de todos os chards através dos hashes dos seus últimos blocos;
  • Bloco de shardchains contém o hash do último bloco masterchain no título;
  • ** Blocos visíveis** os que estão indicados neste bloco masterchain + seus antecessores;
  • Bloco de charada Importação mensagens de OutMsgQueue vizinhos visíveis; não pode incluir mensagens dos blocos invisíveis.

Contratos inteligentes#

Criação

Aplica-se à cadeia de barras básica e masterchain (outras cadeias podem ter seus próprios mecanismos):

  1. Uma mensagem para um endereço não mencionado O que significa → cria ** Conta não iniciada** com o balanço, mas sem código e dados;
  2. Mensagem Constructor contém initial code + data → cria um contrato inteligente;
  3. O constructor geralmente tem um valor para o saldo inicial (o mínimo depende da taxa de armazenamento);
  4. Os contratos inteligentes podem Criá-los sozinhos. novos contratos inteligentes para transações.

Modificação

  • Dados permanentes são alteradas quando o código é executado em TVM;
  • Se o código não prevê alterações → os dados são inalteráveis;
  • O próprio código Só pode ser alterado se o código atual permitir.

Destruição e congelamento

  • Contrato Não pode ser destruído., enquanto o saldo for > mínimo;
  • Quando Balanço negativo Conta Está a congelar. code + data são substituídos por hash de 32 bytes;
  • O hash é armazenado por algum tempo → o proprietário pode restaurar a conta transferindo fundos e enviando uma mensagem com code + data.

Artigos similares#

ℹ️ Informação verificada: 2024

Prepared by

TONboard

Support the project with a TON tip.

Comments

Posting a comment costs a small on-chain fee that keeps spam out.
  • No comments yet — be the first.