Explicación del libro blanco de TON: Desmitificando la tecnología detrás de la cadena de bloques más rápida del mundo

El 31 de octubre de 2023, TON (anteriormente Telegram Open Network) estableció un nuevo récord mundial, alcanzando un asombroso pico de 104.715 transacciones por segundo en su primera prueba pública en vivo, completando un total de 107.652.545 transacciones en 25 minutos. Verificado y confirmado por Certik, este rendimiento convierte a TON en la cadena de bloques más rápida y escalable del mundo, superando las velocidades de procesamiento de todas las cadenas de bloques L1 y redes de pago centralizadas prominentes como PayPal, Visa y Mastercard.

TON es, sin duda, un proyecto notable. En este artículo, analizaremos en profundidad el documento técnico de TON, revelando sus características técnicas e innovaciones únicas y por qué TON es la cadena de bloques más rápida del mundo.

! Análisis del Libro Blanco de TON: Desmitificando la tecnología detrás de la cadena de bloques más rápida del mundo

Desafíos de escalado

La escalabilidad ha sido un gran desafío en el desarrollo de la tecnología blockchain. El objetivo principal del esquema de escalado de blockchain es aumentar el rendimiento del sistema y reducir las tarifas de transacción, de modo que la red blockchain pueda procesar más transacciones y adaptarse mejor a las aplicaciones a gran escala. Aunque las diferentes cadenas públicas continúan probando nuevos diseños de consenso y arquitectura, los resultados actuales aún son insatisfactorios y se han convertido en un cuello de botella para que blockchain avance hacia la aplicación a gran escala, lo cual es difícil de llevar a cabo nuestra visión de TG mil millones de usuarios. En la actualidad, las principales soluciones de escalado se pueden dividir en las siguientes categorías:

Sharding: Dividir la red en partes más pequeñas, cada una capaz de procesar transacciones y contratos inteligentes en paralelo, lo que aumenta significativamente el rendimiento de la red. Pero la fragmentación conlleva posibles problemas de seguridad, ya que cada fragmento puede ser menos seguro que toda la red. Además, la comunicación entre particiones es un desafío técnico. Ejemplos representativos: Ethereum 2.0 y protocolos NEAR.

Cadenas laterales: Una cadena lateral es un tipo de cadena de bloques que funciona independientemente de la cadena principal, y puede tener su propio mecanismo de consenso y parámetros de bloque. Con las cadenas laterales, los usuarios pueden transferir activos entre dos cadenas, descargando la carga en la cadena principal. Ejemplo representativo: Polígono

Soluciones de capa 2: Al construir otra capa en la parte superior de la cadena principal, L2 puede proporcionar tiempos de confirmación de transacciones más rápidos y tarifas de transacción más bajas. Por ejemplo, las más conocidas L2, Optimism y Arbitrum: ambas son soluciones de escalado diseñadas específicamente para Ethereum. Como resultado, parte de la arquitectura de Optimism y Arbitrum se encuentra en la Capa 1. Con la actualización de Ethereum, su límite superior de transacciones por segundo (TPS) ha aumentado de 2-4k a aproximadamente 2w.

zkSync 2.0: En comparación con el límite de TPS de zkSync 1.0 de varios cientos, zkSync 2.0 trae mejoras significativas. El equipo de zkSync afirma que su versión 2.0 puede alcanzar el límite superior de 10w TPS, pero la mayoría de las instituciones predicen que el verdadero límite superior puede ser de 1-2w. Starknet: Después de completar la actualización a Quantum Leap en junio, su TPS ahora es un poco más de 100TPS.

Solana: Solana utiliza un innovador algoritmo de consenso llamado Proof of History (PoH) como núcleo de su solución de escalado. Aunque Solana afirma tener hasta 65.000 TPS, la mayor parte actúa en realidad como comunicación entre nodos. El verdadero volumen de operaciones solo puede estar limitado a 6-8k TPS. Además, debido al diseño de su mecanismo de consenso centralizado, Solana ha experimentado múltiples tiempos de inactividad ante un gran número de solicitudes, como cuando se acuña NFT. Además, Solana aún no ha implementado con éxito la rotación del nodo central.

La cadena de bloques TON está diseñada por el fundador y el equipo central de Telegram. Como una de las plataformas sociales más populares del mundo, Telegram tiene casi 900 millones de usuarios activos mensuales, lo que brinda una experiencia de usuario estable y fluida al tiempo que mantiene un alto nivel de seguridad y privacidad, con decenas de miles de millones de mensajes que se transmiten dentro del software todos los días. El concepto de web3 se ha vuelto relativamente conocido, pero los usuarios reales de criptomonedas nativas siguen siendo una minoría y la mayoría dependen de los exchanges centralizados para acceder al token. Metamask, la billetera criptográfica descentralizada más popular del mundo, actualmente tiene solo 30 millones de usuarios activos mensuales. Y la filosofía de diseño de TON se ha basado en servir a miles de millones de usuarios desde el principio, no solo a unos pocos geeks de la web3.

! Análisis del Libro Blanco de TON: Desmitificando la tecnología detrás de la cadena de bloques más rápida del mundo

Paradigma de fragmentación infinita

La fragmentación es un concepto que proviene del diseño de bases de datos. Se refiere a dividir un gran conjunto de datos lógicos y luego distribuirlo en varias bases de datos que no se comparten entre sí, que se pueden distribuir en varios servidores. En términos simples, la fragmentación proporciona la capacidad de escalar horizontalmente, lo que permite que los datos se dividan en partes independientes que se pueden procesar en paralelo.

TON no es el primer proyecto en introducir la tecnología de fragmentación en la cadena de bloques, por ejemplo, Ethereum 2.0 una vez anunció 64 fragmentos fijos y luego se abandonó debido a demasiada dificultad, mientras que el protocolo Night Shadow de NEAR planea lograr 100 fragmentos el próximo año, y actualmente hay 4 fragmentos.

A diferencia de los métodos de fragmentación tradicionales, TON emplea una estrategia de particionamiento infinito.

Sin embargo, el enfoque de TON se considera avanzado no porque tenga más fragmentos, sino por dos características únicas:

  • El número de fragmentos no es fijo: TON admite un número creciente de fragmentos de acuerdo con las necesidades comerciales, hasta 2 ^ 60 cadenas de trabajo, lo cual es casi infinito.
  • Número elástico de fragmentos: TON puede dividir automáticamente los fragmentos cuando la carga del sistema es alta y fusionarlos cuando la carga es baja. Esta es una estrategia muy eficaz para hacer frente a la necesidad de escalado dinámico.

! Análisis del Libro Blanco de TON: Desmitificando la tecnología detrás de la cadena de bloques más rápida del mundo

Actualmente, TON consta de dos cadenas de trabajo, la cadena principal (Masterchain) para la sincronización y la gobernanza, y la cadena de trabajo (Workchain) para los contratos inteligentes. Debajo de la cadena de trabajo se encuentra la cadena de particiones y el nivel más bajo de la cadena de cuentas virtuales (Accountchain)

La cadena de trabajo se puede dividir en N fragmentos (de 1 a 256 fragmentos). Cada fragmento tiene su propio grupo de validadores. El equipo de la cadena de trabajo es responsable de ejecutar las transacciones en sus propios fragmentos. Al mismo tiempo, descarga constantemente bloques de todos los demás fragmentos de su cadena de trabajo. En general, una cadena de bloques es una serie de bloques que registran cambios en su estado. En el caso de las cadenas de bloques de puntos de venta, los validadores acuerdan primero cómo quieren cambiar el estado de la cadena de bloques compilando un bloque que contiene una lista de cambios. Después de votar por este bloque, si se recogen suficientes votos, aplican el bloque al estado de la cadena de bloques y pasan al siguiente bloque.

El rendimiento de un subproceso de bloque es muy limitado porque los validadores deben verificar todas las transacciones en ese bloque antes de aceptar aceptarlo. Así que hay muchos hilos en TON, y simplemente puedes pensar en ellos como mini micro blockchains. Existen en paralelo y cada uno tiene su propio conjunto de validadores.

Cadena principal

La cadena principal es la rosca del bloque principal en TON. Se utiliza para sincronizar todos los bloques restantes y recalcular el conjunto de validadores. Cuando todos los hilos se ponen de acuerdo en un nuevo bloque, lo firman y lo registran en la cadena principal. Sin embargo, los validadores de la cadena principal no verifican la validez del bloque, solo comprueban si está firmado por el validador adecuado. Por lo tanto, muchos subprocesos pueden coexistir en paralelo. Los contratos de diferentes hilos se comunican entre sí mediante el envío de mensajes.

Cadena de trabajo

Una cadena de trabajo es un espacio de direcciones independiente que se puede ejecutar de acuerdo con sus reglas. Por ejemplo, pueden tener diferentes máquinas virtuales o ampliar el tiempo que se tarda en publicar bloques con altos límites de gas. Lo más importante es que las cadenas de trabajo deben tener el mismo formato de cola de mensajes para que puedan intercambiar mensajes. Esto también significa que todas las cadenas de trabajo deben tener aproximadamente las mismas garantías de seguridad. Dado que pueden intercambiar mensajes, estos mensajes llevan tokens de red. Ahora hay dos cadenas de trabajo activas: la cadena principal y la primera cadena de trabajo de procesamiento. La cadena de trabajo está determinada por el prefijo de dirección: -1:ax... 1s2 - La dirección de la cuenta en la cadena principal. -1 es el prefijo de la cadena principal.

0:zx... 123 - La dirección de la cuenta en la primera cadena de trabajo. 0 - es el primer prefijo para procesar la cadena de trabajo.

Cadenas de fragmentos

Un subproceso de procesamiento, o cadena de particiones, es un subproceso de bloque independiente que procesa una cadena de trabajo. De forma predeterminada, la cadena de trabajo 0 solo tiene un subproceso y una cadena. Los validadores de ese hilo aceptan mensajes externos y manejan mensajes internos que se envían a sí mismos o desde otras cadenas de trabajo. Si hay una situación en la que un subproceso se sobrecarga durante los últimos N bloques, el subproceso se divide: un subproceso se divide en dos y las transacciones se llevan a cabo en paralelo.

Las direcciones comienzan con 0:00: - 0:88.. La cuenta al principio está ahora en el hilo 1 con la cuenta 0:88: . - 0:FF.. Ubicado en el hilo 2. Dado que todos los contratos inteligentes se comunican de forma asíncrona entre sí sin ningún problema, el rendimiento se ha triplicado. Cuando la carga cae, los subprocesos se vuelven a fusionar después de un tiempo. Si la carga continúa aumentando, los dos subprocesos se pueden dividir una y otra vez, y así sucesivamente. Solo hay un hilo en la cadena principal.

Los bloques en TON son más que una simple lista de transacciones que deben completarse para lograr un cambio de estado. En cambio, un bloque es:

Una lista de mensajes que ejecutan una transacción, quitándolos de la cola entrante. Un nuevo mensaje entra en la cola de salida después de que se procesa el mensaje y, a continuación, el procesamiento del mensaje provoca un cambio en el estado del contrato inteligente. Es decir, para que el validador del fragmento X mantenga el estado actual del fragmento Y, no necesita ejecutar todas las transacciones en el bloque del fragmento Y. Simplemente descarga el bloque y resume los cambios que se han producido. Se produce en colas de mensajes y estados de contratos inteligentes.

Cambiar fundamentalmente el mundo de la cadena de bloques no puede venir sin un precio. Para aprovechar este enfoque radical, los desarrolladores de contratos inteligentes de TON deben diseñar sus contratos de manera diferente. La unidad atómica básica de la cadena de bloques TON es el contrato inteligente. Los contratos inteligentes tienen direcciones, código y unidades de datos (estado persistente). Estas unidades se denominan unidades atómicas porque los contratos inteligentes siempre tienen acceso sincronizado atómicamente a todos sus estados persistentes.

Enrutamiento de red de hipercubo

TON ha creado un mecanismo de enrutamiento inteligente para garantizar que las transacciones entre dos cadenas de bloques se procesen siempre rápidamente, sin importar cuán grande sea el sistema, y el tiempo que se tarda en enviar información entre las cadenas de bloques de TON solo aumenta logarítmicamente con el número de cadenas, de modo que incluso escalar a millones de cadenas les permite comunicarse a la velocidad más rápida.

En la cadena de bloques TON, el enrutamiento instantáneo de hipercubo y el enrutamiento lento son dos mecanismos de enrutamiento utilizados para manejar transacciones entre cadenas.

! Análisis del Libro Blanco de TON: Desmitificando la tecnología detrás de la cadena de bloques más rápida del mundo

Enrutamiento instantáneo de hipercubos: La idea de TON de acelerar el enrutamiento de mensajes, lo que permite que las transacciones entre cadenas se completen en una fracción del tiempo. En el enrutamiento de cubos lentos tradicional, un mensaje se enruta mediante una cadena de particiones a lo largo de la red de hipercubos a la cadena de particiones de destino. Sin embargo, durante el enrutamiento de mensajes, el validador al que pertenece la cadena de particiones de destino puede optar por procesar el mensaje por adelantado para agregarlo al bloque y, a continuación, proporcionar una prueba de Merkel (recibo) y enviar un recibo para destruir el mensaje que se está transmitiendo. Permite que las transacciones entre cadenas se completen en un período de tiempo muy corto. El enrutamiento rápido logra una interacción eficiente entre cadenas mediante la construcción de una estructura de enrutamiento de cubos de alta dimensión. En esta estructura, cada cadena se asigna a un vértice del cubo, y la distancia entre las cadenas se expresa como el número de saltos entre los vértices. Con este enfoque, las transacciones se pueden enrutar rápidamente por el camino más corto, lo que hace que las interacciones entre cadenas sean eficientes. El enrutamiento rápido puede completar transacciones entre cadenas en segundos sin esperar confirmaciones de bloques.

Enrutamiento lento: El enrutamiento lento es un método relativamente tradicional de procesamiento de transacciones entre cadenas mediante la transferencia gradual de transacciones de la cadena de origen a la cadena de destino. En este método, las transacciones se empaquetan primero en un bloque de la cadena de origen y luego se transfieren a la cadena de destino a través de un repetidor. El validador de la cadena de destino verifica la validez de la transacción y luego la empaqueta en un bloque de la cadena de destino. La ventaja del enrutamiento lento sobre el enrutamiento rápido es que proporciona un mayor grado de seguridad y descentralización, ya que las transacciones entre cadenas deben pasar por un proceso de confirmación de bloque completo. Al igual que en una red TCP/IP, la dirección IP de destino se dirige al destino para garantizar que los mensajes se transmitan de forma fiable a la cadena de destino en orden. Para una red de hipercubo de cadena de particiones de escala N, el salto de cadena de particiones intermedio = log16(N)-1 debe pasar. Por lo tanto, solo se necesitan 4 nodos de enrutamiento (cadenas de particiones intermedias) para admitir millones de cadenas de particiones.

¿Por qué está diseñado de esta manera? **

Se requieren validadores para la distribución. Si el sistema es muy grande, con decenas de miles de nodos, está demasiado sobrecargado para escalar. Después de la fragmentación, cada fragmentación tiene un conjunto, fragmento0, fragmento1... También es necesario lograr la comunicación entre fragmentos. La comunicación se puede particionar entre particiones, y pasar de una partición a otra significa que debe haber un mecanismo de enrutamiento para particiones y particiones. La conexión forma una ruta que salta a través de algún nodo intermedio. Cada vez que se enruta un mensaje, equivale a un aumento en el tiempo de transmisión en un tiempo de bloque.

A medida que crezca el número total de cadenas de fragmentos, esto requerirá una gran cantidad de potencia informática y ancho de banda de red, lo que limitará la escalabilidad del sistema. Como resultado, no es posible entregar un mensaje directamente desde cualquier partición a todas las demás particiones. En su lugar, cada fragmento solo está "conectado" a un fragmento diferente con un número hexadecimal en su identificador de fragmento (w,s). De esta manera, todas las cadenas de particiones forman un gráfico de "hipercubo" y los mensajes se pasan a lo largo de los bordes de este hipercubo.

Si se envía un mensaje a una partición diferente a la actual, un número hexadecimal del identificador de partición actual (elegido de forma determinista) se reemplazará por el número correspondiente de la partición de destino, y el identificador resultante servirá como destino aproximado para convertirse en el destinatario del mensaje reenviado.

La principal ventaja del enrutamiento de hipercubos es la condición de validez de bloques, en la que los validadores que crean bloques de una cadena de fragmentos deben recopilar y procesar mensajes de la cola de salida de las cadenas de fragmentos "vecinas" o perder su participación. De esta manera, se puede esperar que cualquier mensaje llegue tarde o temprano a su destino final; Los mensajes no se pierden en tránsito ni se vuelven a entregar.

El enrutamiento de hipercubo introduce cierta latencia y gastos adicionales debido a la necesidad de reenviar mensajes a través de varias cadenas de particiones intermedias. Sin embargo, el número de estas cadenas de fragmentos intermedios crece muy lentamente, lo que está relacionado con el logaritmo N del número total de cadenas de fragmentos.

La comunicación es asincrónica

El contrato inteligente en TON implementa la comunicación asíncrona, que se puede comparar con los microservicios de Internet. Cada microservicio solo tiene acceso sincronizado atómicamente a sus datos locales. La comunicación entre dos microservicios implica el envío de mensajes asincrónicos a través de la red.

En la arquitectura de sistemas, los sistemas más grandes a menudo requieren la arquitectura de microservicios. Este enfoque distribuido requiere algunas compensaciones para su adopción, pero puede aportar beneficios a la experiencia del usuario. La gestión de sistemas moderna se basa en secuenciadores como Kubernetes para tomar un conjunto de microservicios en contenedores y poner en marcha automáticamente nuevas instancias según sea necesario (escalado automático) y particionarlas de manera eficiente entre máquinas.

Para usar la analogía de Kubernetes (Massive Cluster Management System), esto es exactamente lo que hace TON. A medida que aumenta la carga en una cadena de fragmentos en particular, se divide en dos partes. Dado que los contratos inteligentes son atómicos, nunca se dividen por la mitad. Esto significa que algunos contratos inteligentes que alguna vez estuvieron en la misma cadena de fragmentos pueden encontrarse algún día en diferentes cadenas de fragmentos.

La máquina virtual (TVM) de TON está aplicando el concepto de microservicios distribuidos a una arquitectura general que se compara con la EVM de Ethereum.

Descentralización del Estado

Este es uno de los mecanismos de particionamiento más complejos y desafiantes en el espacio de particionamiento. Toda la base de datos se divide y se coloca en diferentes particiones. Cada fragmento almacena todos los datos en su propio fragmento, no el estado de toda la cadena de bloques.

En la fragmentación de la cadena de bloques TON, todos los servicios se implementan en forma de contratos inteligentes, y los datos de estado de los contratos inteligentes solo se almacenan en la red de fragmentos correspondiente, para lograr la fragmentación del estado.

No solo eso, en TON, el contrato ha logrado una ruta de implementación única en la industria, donde cada usuario puede administrar el estado del token en su propio contrato, realizando realmente la descentralización del estado de la cadena de bloques. Exploraré los principios de este diseño en detalle a través de estudios de casos.

En primer lugar, debe comprender el contrato de billetera y el contrato de billetera Jetton. El contrato Wallet es un contrato inteligente específico del usuario que gestiona los tokens del usuario en la cadena de bloques TON. Jetton (en ruso: Jewel) El contrato de billetera es un tipo especial de contrato de billetera que se dedica a administrar los tokens Jetton del usuario. Estos tokens se pueden usar para pagar tarifas de red y ejecutar contratos inteligentes. Cada usuario tiene su propio contrato de billetera y contrato de billetera Jetton. Estos contratos actúan como billeteras digitales para que los usuarios almacenen y administren sus tokens. Al mismo tiempo, estos contratos también pueden interactuar con los contratos de otros usuarios para permitir la transferencia y el comercio descentralizado de activos.

En este caso, se supone que el usuario A y el usuario B tienen cada uno su propio contrato de billetera. El usuario A quiere transferir una cierta cantidad de tokens al usuario B. En este caso, el contrato de billetera del usuario A interactúa con el contrato de billetera del usuario B para realizar la transferencia de tokens. Todo el proceso no necesita depender de un contrato centralizado, sino a través de dos contratos descentralizados.

Todos los usuarios de la cadena de bloques TON tienen sus propios contratos para gestionar el estado de sus activos, lo que significa que no existe un único contrato centralizado para asumir el riesgo de gestionar todos los activos. Esto aumenta la descentralización del sistema y reduce el riesgo de un único punto de fallo. El estado de los activos de todos los usuarios se gestiona mediante un contrato dedicado, y un atacante no puede afectar a todo el sistema atacando un único contrato centralizado. Las transacciones de activos entre usuarios también se pueden ejecutar automáticamente a través de contratos inteligentes, evitando el riesgo de operación humana. También puede personalizar su propio contrato de billetera y contrato de billetera Jetton de acuerdo con sus necesidades para lograr más funciones y escenarios de aplicación. Esto da a los usuarios más flexibilidad y autonomía. Cada uno gestiona el estado de los activos en su propio contrato y se mejora la escalabilidad del sistema. A medida que aumenta el número de usuarios, también lo hace el número de contratos, pero esto no supone una presión excesiva para el sistema general, ya que cada contrato funciona de forma independiente.

Lo anterior es mi análisis de la escalabilidad de la cadena de bloques TON y la arquitectura técnica del libro blanco, gracias al Dr. Awesome Doge por editar el primer borrador. Gracias a los equipos de desarrollo rusos y ucranianos por su perseverancia y finalmente al fundador de Telegram, el Sr. Nikolai Durov, por su gran diseño hace muchos años, y estos son para la gloria de la mente humana.

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Republicar
  • Compartir
Comentar
0/400
Sin comentarios
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)