TONboard

TON Blockchain Architecture

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

TON Blockchain Architecture système de stockage et de gestion des données dans TON:

  • organisation des données comme bag of cells;
  • le charme au niveau des comptes (ISP);
  • les conditions de consensus et de validation;
  • masterchain Il coordonne toutes les charades et paramètres du réseau.

Bag of Cells#

Toutes les données TON sont présentées par la collection Les cellules Chaque cellule contient:

  • jusqu'à 1023 bits les données;
  • jusqu'à 4 liens sur les autres cellules (par SHA-256-hash);
  • 2 bytes de descripteur + les données.

Les cellules sont organisées en Des arbres ou des DAG. (Directed Acyclic Graph). TL-B (Type Language — Binary).

Infinite Sharding Paradigm (ISP)#

Chaque compte est unique. accountchainLes blocs virtuels de la chaîne de comptes Ils se regroupent dans les blocs de la chaîne de caractères pour plus d'efficacité.

L'état de la chaîne = l'état de tous les comptes du chard. Le bloc de la chaîne = une collection de blocs virtuels pour certains comptes.

Dans TON, il n'y a pas de différence entre un contrat intelligent et un compte, c'est la même chose.

La structure du bloc de la chaîne#

Il est divisé en 2 parties:

Non divisée

Le composantLe contenu
InMsgDescrDécrire les messages entrants
OutMsgDescrDécrire les messages sortants
Block headerLes hachages, les paramètres du bloc
OutMsgQueueLa file d'attente des messages non livrés (supprimés après leur livraison dans les chartes voisines)

Divisée

Hashmap account_id → account_state. État du compte:

  • le solde en Grams;
  • le code du contrat intelligent;
  • les données permanentes du contrat;
  • les statistiques d ' utilisation du stockage;
  • une description formelle optionnelle de l ' interface;
  • l'information publique de l'utilisateur.

Masterchain#

  • Ne se divise pas et ne s'unit pas (single chain);
  • Un prédécesseur (sauf le bloc zéro avec initial config);
  • Il contient liste de tous les chards actifs et les derniers blocs de chacun;
  • Il le garde. paramètres à configurer C'est un contrat de configuration spécifique.

Paramètres de configuration

  • Le montant minimum des cotisations des validateurs;
  • Taille maximale du groupe de validateurs;
  • Le nombre maximal de blocs pour lesquels le groupe est responsable;
  • Le processus d ' élection et de sanction des validateurs;
  • Les ensembles actuels et suivants de validateurs;
  • Le processus de modification des paramètres.

Valeur initiale et code les contrats intelligents fondamentaux dans avec le bloc zéro masterchain.

Conditions du consensus#

Ils garantissent la correction des changements de données uniquement par des transactions valides.

Le typeDéfinition
Le monde entierInvariants pour l'ensemble du réseau (par exemple, garanties de livraison des messages)
Les locaux internesÀ l'intérieur d'un même bloc (par exemple, traitement des messages entrants)
Les locaux extérieursEntre les blocs, généralement des chartes voisines.

Le bloc est valideLa responsabilité des validateurs génération et vérification.

Temps logique (LT)#

Un entier non négatif de 64 bits, est attribué aux événements:

  • Événement dépendant LT a le plus de ses dépendances;
  • Un événement indépendant est LT = 0;
  • Messages à envoyer héritent du LT de la transaction;
  • Transaction et bloc Ils ont l'intervalle de tempsC'est le titre du film.

LT est nécessaire pour organiser les événements. Pas d'horloge mondiale.

État général et visibilité#

  • Le bloc masterchain enregistre l ' état de tous les chards par le biais des hashs de leurs derniers blocs;
  • Le bloc de la chaîne contient le hash du dernier bloc masterchain dans le titre;
  • Les blocs sont visibles. ceux indiqués dans ce bloc masterchain + leurs prédécesseurs;
  • Le bloc de chardon Il importe les messages de OutMsgQueue voisins visibles; ne peut pas inclure les messages des blocs invisibles.

Les contrats intelligents#

Création

Applicable à la chaîne de traces de base et à la masterchain (les autres chaînes peuvent avoir leurs propres mécanismes):

  1. Un message à une adresse non mentionnée précédemment Le sens → crée ** Compte non initialisé ** avec un bilan, mais sans code ni données;
  2. Message du constructeur contient initial code + data → crée un contrat intelligent;
  3. Constructor est généralement une valeur pour le solde initial (le minimum dépend des frais de stockage);
  4. Les contrats intelligents peuvent Nous pouvons créer nous-mêmes Les nouveaux contrats intelligents pour les transactions.

Les modifications

  • Données permanentes sont modifiés lors de l ' exécution du code dans TVM;
  • Si le code ne prévoit pas de changement → les données sont inchangées;
  • Le code lui-même ne peut être modifié que si le code actuel le permet.

Destruction et gel

  • Le contrat Vous ne pouvez pas le détruire., tant que le solde est > le minimum;
  • À la le solde négatif le compte Il est gelé. code + data sont remplacés par un hash de 32 bytes;
  • Le hash est conservé pendant un certain temps → le propriétaire peut restaurer le compte en transférant des fonds et en envoyant un message avec code + data.

Articles similaires#

ℹ️ Information verified: 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.