Solana: Pipelining

Que la red de Solana pueda procesar miles y miles de transacciones por segundo, tiene una explicaci贸n. No se trata de una caracter铆stica que los desarrolladores de Solana hayan dejado de lado, todo lo contrario, la optimizaci贸n de esta Blockchain tambi茅n contempla la validaci贸n de transacciones y la utilizaci贸n de una t茅cnica especial creada por los ingenieros detr谩s de esta red.

驴Qu茅 es un Pipeline?

Antes de comprender c贸mo Solana v谩lida las transacciones, entendamos brevemente qu茅 es un Pipeline en el mundo de la inform谩tica.

Tal vez ya est茅s familiarizado con el t茅rmino Pipeline, muchas tecnolog铆as lo utilizan y por lo general hace referencia a una cadena de procesos conectados donde la salida de cada etapa del proceso es la entrada del siguiente. Tiene un orden predefinido por donde los datos pasar谩n para ser procesados, verificados, modificados, etc. Los Pipelines permiten comunicar procesos y mantenerlos sincronizados.

  • Muchos ejemplos de Pipelines podr谩s encontrar en el mundo de la tecnolog铆a. La disciplina DevOps lo utiliza para crear Pipelines de despliegue de aplicaciones utilizando CI/CD.
  • Bases de datos como MongoDB utilizan el concepto de Pipelines para consultar y modificar la estructura de datos.
  • Lenguajes de programaci贸n como Javascript tambi茅n implementan operadores l贸gicos denominados Pipeline para la transformaci贸n de datos.

Pipelines everywhere!

Pero 驴C贸mo se relaciona este concepto con Solana?

Unidad de Procesamiento de Transacciones (TPU)

Solana implementa un Pipelining o Canalizaci贸n denominada TPU (Transaction Processing Unit). El mismo consta de cuatro etapas para la validaci贸n de transacciones y cuyo proceso se realiza a nivel de hardware.

Etapas de validaci贸n de una transacci贸n

  1. Fetch: Proceso inicial donde se toma la transacci贸n en el Kernel (n煤cleo).
  2. Sign verify: La verificaci贸n de firma se realiza en la GPU.
  3. Banking: Almacenamiento de la transacci贸n en CPU previo a la escritura.
  4. Write: Confirmaci贸n y guardado de los datos de la transacci贸n.

La principal caracter铆stica del este proceso es que a todo momento cada una de estas cuatro etapas se encuentra ocupada con una transacci贸n. El Pipeline no espera a terminar con una transacci贸n para tomar otra. Luego de que una transacci贸n pase a la etapa 2, inmediatamente hay otra en la etapa 1. Continuamente cada etapa se encuentra procesando una transacci贸n distinta. De esta manera, se optimiza a煤n m谩s el rendimiento de la red.

Podr铆amos hacer una analog铆a de este proceso con una l铆nea de montaje vehicular de una empresa automotriz donde en cada etapa construye una parte diferente del autom贸vil y no hay m谩quinas ociosas.

Conclusi贸n

Entender el procesamiento de transacciones en Solana nos hace entender un motivo m谩s de la optimizaci贸n al detalle que esta Blockchain implementa. Sin duda los est谩ndares de desarrollo en este proyecto exigen perfeccionar el funcionamiento de cada componente.

El funcionamiento de la red gracias a TDMA, sumado a PoH para una mejor sincronizaci贸n de la informaci贸n. Protocolos como Turbine y Gulf Stream que trabajan juntos para la propagaci贸n de la informaci贸n por la red y el procesamiento en paralelo de muchas transacciones con Sealevel y el pipeline TPU.

Solana es todo un sistema y a煤n restan algunas piezas de este rompecabezas para terminar de armarlo.


Post creado en colaboraci贸n con el Curso de Solana de Platzi.