Solana: Новая архитектура для высокопроизводительного блокчейна

Por Anatoly Yakovenko · 2017

Abstract

Este documento presenta una nueva arquitectura para una blockchain de alto rendimiento. Solana implementa un novedoso mecanismo de cronometraje llamado Proof of History (PoH) -- una prueba para verificar el orden y el paso del tiempo entre eventos. PoH se utiliza para codificar el paso del tiempo de manera trustless en un ledger, creando un registro historico que demuestra que un evento ocurrio en un momento especifico en el tiempo.

La innovacion clave es que PoH permite que los nodos de la red establezcan un orden temporal de eventos sin necesidad de comunicarse entre si. Al utilizar una funcion de retardo verificable implementada como una cadena secuencial de hashes, el sistema genera un reloj criptografico que proporciona una forma de verificar el paso del tiempo entre eventos. Esto permite que la red procese miles de transacciones por segundo manteniendo la descentralizacion y la seguridad.

PoH esta integrado con un mecanismo de consenso Proof of Stake (PoS). La combinacion permite una arquitectura blockchain altamente optimizada donde los validadores pueden verificar transacciones en paralelo y alcanzar consenso de manera eficiente. El sistema esta disenado para escalar con la Ley de Moore, aprovechando los aumentos en el rendimiento del hardware para mejorar el throughput sin sacrificar las garantias de seguridad de una red descentralizada.

Abstract

В данной статье представлена новая архитектура высокопроизводительного блокчейна. Solana реализует новый механизм хронометража под названием Proof of History (PoH) -- доказательство для верификации порядка и хода времени между событиями. PoH используется для кодирования хода времени без необходимости доверия в леджере, создавая исторический реестр, доказывающий, что событие произошло в определённый момент времени.

Ключевая инновация заключается в том, что PoH позволяет узлам сети устанавливать временной порядок событий без необходимости взаимодействия друг с другом. Используя верифицируемую функцию задержки, реализованную в виде последовательной цепочки хешей, система генерирует криптографические часы, предоставляющие способ верификации хода времени между событиями. Это позволяет сети обрабатывать тысячи транзакций в секунду, сохраняя при этом децентрализацию и безопасность.

PoH интегрирован с механизмом консенсуса Proof of Stake (PoS). Такая комбинация обеспечивает высокооптимизированную архитектуру блокчейна, в которой валидаторы могут верифицировать транзакции параллельно и эффективно достигать консенсуса. Система спроектирована для масштабирования в соответствии с законом Мура, используя повышение производительности аппаратного обеспечения для увеличения пропускной способности без ущерба для гарантий безопасности децентрализованной сети.

Introduction

El desafio fundamental en los sistemas blockchain es lograr un alto rendimiento de transacciones mientras se mantiene la descentralizacion y la seguridad. Las implementaciones actuales de blockchain estan limitadas por sus mecanismos de consenso, que requieren una comunicacion extensa entre nodos para acordar el tiempo y el ordenamiento de eventos. Esta sobrecarga de coordinacion crea un cuello de botella que impide que las blockchains existentes escalen para satisfacer las demandas de aplicaciones a escala global.

El problema central es el tiempo. En sistemas distribuidos, los nodos no pueden depender de relojes externos porque no pueden confiar en que las marcas de tiempo de otros nodos sean precisas. Los protocolos de consenso blockchain tradicionales resuelven esto haciendo que los nodos se comuniquen extensamente para acordar el estado actual y el orden de las transacciones. Esta sobrecarga de comunicacion limita fundamentalmente el rendimiento, ya que la red solo puede procesar transacciones tan rapido como los nodos pueden alcanzar consenso sobre su ordenamiento.

Solana introduce Proof of History como solucion a este problema de sincronizacion. PoH proporciona una forma criptografica de demostrar que ha pasado una cierta cantidad de tiempo entre eventos sin depender de marcas de tiempo de actores potencialmente maliciosos. Al crear un registro historico verificable, PoH permite que los nodos procesen transacciones de forma independiente mientras pueden demostrar el orden en que ocurrieron los eventos. Este avance permite que la red paralelice el procesamiento de transacciones y aumente dramaticamente el rendimiento.

La idea clave es que si podemos crear una fuente de tiempo sin confianza, podemos eliminar el cuello de botella de coordinacion del consenso. Con PoH proporcionando un reloj criptografico, los validadores pueden procesar transacciones en paralelo y solo necesitan comunicarse para finalizar el ordenamiento canonico. Este cambio arquitectonico permite a Solana alcanzar niveles de rendimiento que antes se consideraban imposibles en una blockchain descentralizada.

Introduction

Фундаментальная проблема блокчейн-систем заключается в достижении высокой пропускной способности транзакций при сохранении децентрализации и безопасности. Текущие реализации блокчейнов ограничены механизмами консенсуса, которые требуют обширной коммуникации между узлами для согласования времени и порядка событий. Эти координационные накладные расходы создают узкое место, препятствующее масштабированию существующих блокчейнов для удовлетворения потребностей глобальных приложений.

Ключевая проблема — время. В распределённых системах узлы не могут полагаться на внешние часы, поскольку не могут доверять точности временных меток других узлов. Традиционные протоколы консенсуса блокчейна решают эту проблему путём обширной коммуникации узлов для согласования текущего состояния и порядка транзакций. Эти коммуникационные накладные расходы фундаментально ограничивают пропускную способность, так как сеть может обрабатывать транзакции лишь с той скоростью, с которой узлы достигают консенсуса по их порядку.

Solana представляет Proof of History как решение проблемы синхронизации. PoH обеспечивает криптографический способ доказательства того, что между событиями прошло определённое количество времени, без необходимости полагаться на временные метки от потенциально злонамеренных участников. Создавая верифицируемую историческую запись, PoH позволяет узлам обрабатывать транзакции независимо, при этом сохраняя возможность доказать порядок происхождения событий. Этот прорыв позволяет сети параллелизировать обработку транзакций и значительно увеличить пропускную способность.

Ключевое понимание состоит в том, что если мы создадим доверенный источник времени, не требующий доверия, мы сможем устранить координационное узкое место из консенсуса. При наличии криптографических часов PoH валидаторы могут обрабатывать транзакции параллельно и взаимодействовать только для определения канонического порядка. Это архитектурное изменение позволяет Solana достигать уровней производительности, ранее считавшихся невозможными в децентрализованном блокчейне.

Outline

Este documento describe la arquitectura tecnica de Solana, centrándose en como Proof of History permite la operacion blockchain de alto rendimiento. El documento primero explica el mecanismo PoH en si — como una cadena de hash secuencial crea un ordenamiento temporal verificable de eventos. Detallamos las propiedades criptograficas que hacen seguro a PoH y demostramos como los validadores pueden verificar eficientemente la secuencia PoH.

Luego el documento explora como PoH se integra con el consenso Proof of Stake. Describimos Tower BFT, un algoritmo PoS disenado especificamente para aprovechar las propiedades temporales de PoH. La integracion permite a los validadores votar sobre el estado del libro mayor en marcas de tiempo PoH especificas, creando un mecanismo de consenso que es rapido y seguro. Tambien explicamos las condiciones de penalizacion que previenen el comportamiento malicioso.

A continuacion, presentamos el diseno de red de Solana y los protocolos de propagacion de datos. El protocolo Gulf Stream permite el reenvio de transacciones sin necesidad de un mempool, permitiendo a los clientes enviar transacciones directamente a los proximos lideres. Describimos como funciona la rotacion de lideres y como la red mantiene un alto rendimiento incluso cuando cambia el liderazgo.

Finalmente, discutimos la arquitectura del sistema incluyendo la Transaction Processing Unit (TPU), el runtime paralelo Sealevel y Proof of Replication para la verificacion del almacenamiento de datos. Las proyecciones de rendimiento demuestran que Solana puede procesar mas de 700,000 transacciones por segundo en una red gigabit estandar, con un rendimiento que escala a medida que mejora el hardware.

Outline

В данной работе описывается техническая архитектура Solana с акцентом на то, как Proof of History обеспечивает высокопроизводительную работу блокчейна. Документ сначала объясняет сам механизм PoH — как последовательная хеш-цепочка создаёт верифицируемый временной порядок событий. Мы подробно описываем криптографические свойства, обеспечивающие безопасность PoH, и демонстрируем, как валидаторы могут эффективно проверять последовательность PoH.

Затем статья исследует интеграцию PoH с консенсусом Proof of Stake. Мы описываем Tower BFT — алгоритм PoS, специально разработанный для использования временных свойств PoH. Интеграция позволяет валидаторам голосовать за состояние реестра при определённых временных метках PoH, создавая механизм консенсуса, который является одновременно быстрым и безопасным. Мы также объясняем условия штрафов, предотвращающих злонамеренное поведение.

Далее мы представляем сетевой дизайн Solana и протоколы распространения данных. Протокол Gulf Stream обеспечивает пересылку транзакций без необходимости в мемпуле, позволяя клиентам отправлять транзакции непосредственно предстоящим лидерам. Мы описываем работу ротации лидеров и способы поддержания высокой пропускной способности сети при смене лидерства.

Наконец, мы обсуждаем архитектуру системы, включая Transaction Processing Unit (TPU), параллельную среду выполнения Sealevel и Proof of Replication для верификации хранения данных. Прогнозы производительности показывают, что Solana может обрабатывать более 700 000 транзакций в секунду в стандартной гигабитной сети, при этом пропускная способность масштабируется с улучшением оборудования.

Network Design

El diseno de red de Solana se centra en un sistema de lideres rotativos donde los validadores se turnan para producir bloques. El lider es responsable de secuenciar las transacciones entrantes en el flujo PoH y publicar los bloques resultantes en la red. Los lideres se seleccionan mediante un algoritmo ponderado por participacion, y el calendario de rotacion se conoce de antemano, lo que permite a la red optimizar el reenvio de transacciones.

Solana network design showing transaction flow through the leader validator to the rest of the network

El protocolo Gulf Stream elimina la necesidad de un mempool tradicional al permitir que los clientes reenvien transacciones directamente a los proximos lideres. Cuando un cliente envia una transaccion, se reenvia al lider esperado segun el calendario de rotacion. Si el lider actual no puede procesar la transaccion, la reenvia al siguiente lider esperado. Este diseno reduce la latencia de confirmacion y permite a los validadores ejecutar transacciones por adelantado, optimizando aun mas el rendimiento.

La propagacion de transacciones utiliza un enfoque multicapa. Los clientes envian transacciones a los validadores, quienes las reenvian al lider actual o proximo. El lider secuencia las transacciones en el flujo PoH, creando un ordenamiento total. Una vez secuenciadas, el lider transmite el flujo PoH y los datos de transaccion a los validadores, quienes verifican la secuencia PoH y ejecutan las transacciones en paralelo.

El diseno de red tambien incluye un protocolo de propagacion de bloques Turbine que divide los bloques en paquetes mas pequenos y los distribuye a traves de la red en una estructura de arbol. Este enfoque minimiza los requisitos de ancho de banda para validadores individuales mientras asegura una rapida propagacion de bloques. Combinado con la capacidad de PoH para verificar el ordenamiento de transacciones, esta arquitectura permite a Solana lograr un alto rendimiento sin sacrificar la descentralizacion.

Network Design

Сетевой дизайн Solana основан на системе ротации лидеров, где валидаторы по очереди производят блоки. Лидер отвечает за упорядочивание входящих транзакций в поток PoH и публикацию результирующих блоков в сети. Лидеры выбираются с помощью алгоритма, взвешенного по стейку, а расписание ротации известно заранее, что позволяет сети оптимизировать пересылку транзакций.

Solana network design showing transaction flow through the leader validator to the rest of the network

Протокол Gulf Stream устраняет необходимость в традиционном мемпуле, позволяя клиентам пересылать транзакции непосредственно предстоящим лидерам. Когда клиент отправляет транзакцию, она пересылается ожидаемому лидеру на основе расписания ротации. Если текущий лидер не может обработать транзакцию, она пересылается следующему ожидаемому лидеру. Такой дизайн снижает задержку подтверждения и позволяет валидаторам выполнять транзакции заранее, дополнительно оптимизируя пропускную способность.

Распространение транзакций использует многоуровневый подход. Клиенты отправляют транзакции валидаторам, которые пересылают их текущему или предстоящему лидеру. Лидер упорядочивает транзакции в потоке PoH, создавая полный порядок. После упорядочивания лидер передаёт поток PoH и данные транзакций валидаторам, которые проверяют последовательность PoH и выполняют транзакции параллельно.

Сетевой дизайн также включает протокол распространения блоков Turbine, который разбивает блоки на более мелкие пакеты и распространяет их по сети в древовидной структуре. Этот подход минимизирует требования к пропускной способности для отдельных валидаторов, обеспечивая быстрое распространение блоков. В сочетании со способностью PoH верифицировать порядок транзакций эта архитектура позволяет Solana достигать высокой пропускной способности без ущерба для децентрализации.

Proof of History

Proof of History es una funcion de retardo verificable implementada como una cadena de hash secuencial usando SHA-256. El generador PoH calcula continuamente hashes SHA-256, usando cada salida como entrada para el siguiente hash. Esto crea una cadena secuencial donde cada hash solo puede calcularse despues del anterior, estableciendo un ordenamiento temporal verificable. El requisito computacional para generar cada hash impone un retardo de tiempo minimo entre eventos.

Proof of History sequence showing sequential SHA-256 hash outputs with counter values

La propiedad clave de PoH es que es barato de verificar pero costoso de producir. Un verificador puede comprobar toda la secuencia de hash en paralelo dividiéndola en segmentos y verificando cada segmento de forma independiente, luego comprobando que los segmentos se conectan correctamente. Sin embargo, la generacion debe ser secuencial — no hay forma de predecir la salida de la cadena de hash sin calcular realmente cada paso intermedio. Esta asimetria entre generacion y verificacion es lo que hace practico a PoH.

Proof of History verification using multiple CPU cores to check hash chain segments in parallel

Los eventos externos y los datos de transaccion se insertan en la secuencia PoH mezclándolos en la cadena de hash. Cuando llega una transaccion, su hash se combina con el estado PoH actual, creando un registro que demuestra que la transaccion existio en ese punto de la secuencia. El generador PoH registra periodicamente puntos de control, publicando el valor hash actual junto con el conteo de hashes calculados desde el ultimo punto de control. Estos puntos de control permiten a los validadores verificar eficientemente la secuencia PoH sin recalcular cada hash.

Inserting external data into the Proof of History hash sequence to create a verifiable timestamp

La secuencia PoH sirve como un reloj criptografico para toda la red. Debido a que la cadena de hash es secuencial y verificable, cualquier nodo puede demostrar que ha pasado una cierta cantidad de tiempo entre dos eventos simplemente mostrando los hashes que se calcularon durante ese intervalo. Esto elimina la necesidad de que los nodos confien en marcas de tiempo externas o se coordinen entre si para establecer un ordenamiento temporal, eliminando un cuello de botella fundamental en el consenso blockchain tradicional.

Proof of History input with a back reference ensuring consistency and causal ordering of events

Proof of History

Proof of History — это верифицируемая функция задержки, реализованная в виде последовательной хеш-цепочки с использованием SHA-256. Генератор PoH непрерывно вычисляет хеши SHA-256, используя каждый выход в качестве входа для следующего хеша. Это создаёт последовательную цепочку, где каждый хеш может быть вычислен только после предыдущего, устанавливая верифицируемый временной порядок. Вычислительные требования для генерации каждого хеша обеспечивают минимальную временную задержку между событиями.

Proof of History sequence showing sequential SHA-256 hash outputs with counter values

Ключевое свойство PoH заключается в том, что верификация обходится дёшево, а производство — дорого. Верификатор может проверить всю последовательность хешей параллельно, разделив её на сегменты и проверив каждый сегмент независимо, а затем убедившись, что сегменты правильно соединяются. Однако генерация должна быть последовательной — нет способа предсказать выход хеш-цепочки без фактического вычисления каждого промежуточного шага. Эта асимметрия между генерацией и верификацией делает PoH практичным.

Proof of History verification using multiple CPU cores to check hash chain segments in parallel

Внешние события и данные транзакций вставляются в последовательность PoH путём их смешивания с хеш-цепочкой. Когда поступает транзакция, её хеш комбинируется с текущим состоянием PoH, создавая запись, доказывающую существование транзакции в данной точке последовательности. Генератор PoH периодически фиксирует контрольные точки, публикуя текущее значение хеша вместе с количеством хешей, вычисленных с последней контрольной точки. Эти контрольные точки позволяют валидаторам эффективно проверять последовательность PoH без пересчёта каждого хеша.

Inserting external data into the Proof of History hash sequence to create a verifiable timestamp

Последовательность PoH служит криптографическими часами для всей сети. Поскольку хеш-цепочка является последовательной и верифицируемой, любой узел может доказать, что между двумя событиями прошло определённое количество времени, просто показав хеши, вычисленные за этот интервал. Это устраняет необходимость для узлов доверять внешним временным меткам или координироваться друг с другом для установления временного порядка, устраняя фундаментальное узкое место в традиционном консенсусе блокчейна.

Proof of History input with a back reference ensuring consistency and causal ordering of events

Proof of History Sequence

La secuencia de Proof of History es una cadena continua de hashes SHA-256 donde cada hash depende de la salida anterior. La secuencia comienza con un valor semilla inicial, que se hashea para producir la primera salida. Esta salida se convierte en la entrada para el siguiente hash, y el proceso se repite indefinidamente. El generador tambien mantiene un contador que rastrea el numero total de hashes calculados, que sirve como la "marca de tiempo" PoH para eventos en el libro mayor.

Two Proof of History generators synchronizing by inserting each other's output state for horizontal scaling

Cuando se necesita insertar datos en la secuencia (como hashes de transacciones o firmas de validadores), se combinan con el estado hash actual usando una funcion de mezcla determinista. Por ejemplo, si el estado hash actual es hash_n y queremos insertar datos D, calculamos hash_{n+1} = SHA256(hash_n || D), donde || denota concatenacion. El punto de insercion se registra junto con el valor del contador, demostrando que los datos D existian en ese punto especifico de la secuencia.

La verificacion de la secuencia PoH puede paralelizarse dividiendo la cadena en segmentos. Por ejemplo, un validador podria recibir puntos de control PoH cada 10,000 hashes. Para verificar la secuencia entre puntos de control, el validador puede dividir los 10,000 hashes en 100 segmentos de 100 hashes cada uno, verificar cada segmento independientemente en paralelo, y luego verificar que los segmentos se conectan correctamente. Esto permite que la verificacion escale horizontalmente con el numero de nucleos de CPU disponibles.

La secuencia tambien soporta pruebas eficientes de que dos eventos ocurrieron en un orden especifico. Dadas dos inserciones de datos en valores de contador n y m donde n m, cualquiera puede verificar que el evento en n ocurrio antes del evento en m comprobando la cadena de hash entre esos puntos. Esta propiedad permite a Solana crear un registro historico verificable de todos los eventos en la red sin requerir que los nodos esten en linea continuamente o confien en fuentes de tiempo externas.

Proof of History Sequence

Последовательность Proof of History представляет собой непрерывную цепочку хешей SHA-256, где каждый хеш зависит от предыдущего выхода. Последовательность начинается с начального значения-зерна, которое хешируется для получения первого выхода. Этот выход становится входом для следующего хеша, и процесс повторяется бесконечно. Генератор также ведёт счётчик, отслеживающий общее количество вычисленных хешей, который служит «временной меткой» PoH для событий в реестре.

Two Proof of History generators synchronizing by inserting each other's output state for horizontal scaling

Когда данные необходимо вставить в последовательность (например, хеши транзакций или подписи валидаторов), они комбинируются с текущим состоянием хеша с использованием детерминированной функции смешивания. Например, если текущее состояние хеша — hash_n и мы хотим вставить данные D, мы вычисляем hash_{n+1} = SHA256(hash_n || D), где || обозначает конкатенацию. Точка вставки записывается вместе со значением счётчика, доказывая, что данные D существовали в этой конкретной точке последовательности.

Верификация последовательности PoH может быть распараллелена путём разделения цепочки на сегменты. Например, валидатор может получать контрольные точки PoH каждые 10 000 хешей. Для верификации последовательности между контрольными точками валидатор может разделить 10 000 хешей на 100 сегментов по 100 хешей, проверить каждый сегмент независимо и параллельно, а затем убедиться, что сегменты правильно соединяются. Это позволяет верификации горизонтально масштабироваться с количеством доступных ядер CPU.

Последовательность также поддерживает эффективные доказательства того, что два события произошли в определённом порядке. При наличии двух вставок данных при значениях счётчика n и m, где n m, любой может проверить, что событие при n произошло до события при m, проверив хеш-цепочку между этими точками. Это свойство позволяет Solana создавать верифицируемую историческую запись всех событий в сети без необходимости постоянного нахождения узлов в сети или доверия внешним источникам времени.

Timestamp

Proof of History funciona como un reloj descentralizado que asigna marcas de tiempo a eventos sin depender del tiempo de reloj de pared. Cada hash PoH representa un "tick" discreto del reloj criptografico, y el valor del contador sirve como la marca de tiempo. Debido a que la cadena de hash es secuencial y verificable, estas marcas de tiempo son sin confianza — cualquier observador puede verificar que una marca de tiempo es legitima comprobando la cadena de hash.

En Solana, cada validador puede generar su propia secuencia PoH cuando actua como lider. Cuando los validadores rotan el liderazgo, sincronizan sus secuencias PoH usando el ultimo punto de control confirmado del lider anterior. Esto asegura la continuidad del registro temporal incluso cuando diferentes validadores se turnan para producir bloques. La red establece una linea temporal canonica al alcanzar consenso sobre que secuencias PoH aceptar como parte del libro mayor oficial.

El sistema maneja la deriva del reloj y la varianza en el rendimiento del hardware a traves de una combinacion de rotacion de lideres y consenso. Si un lider malicioso o defectuoso intenta generar marcas de tiempo PoH a una tasa incorrecta (demasiado rapida o demasiado lenta), los validadores pueden detectar esto comparando la tasa de ticks PoH con sus propios generadores PoH locales. Las desviaciones significativas de la tasa esperada indican un problema, y los validadores pueden rechazar bloques de lideres cuyas secuencias PoH divergen demasiado de la mediana de la red.

Este mecanismo de marcas de tiempo resuelve uno de los problemas fundamentales en sistemas distribuidos: establecer una nocion comun de tiempo sin una autoridad central de confianza. Al usar PoH como un reloj descentralizado, Solana permite que los validadores procesen transacciones en paralelo mientras mantienen un ordenamiento globalmente consistente. Las marcas de tiempo tambien proporcionan una base para caracteristicas basadas en tiempo como la expiracion de transacciones, operaciones programadas y medicion de rendimiento.

Timestamp

Proof of History функционирует как децентрализованные часы, присваивающие временные метки событиям без зависимости от реального времени. Каждый хеш PoH представляет дискретный «тик» криптографических часов, а значение счётчика служит временной меткой. Поскольку хеш-цепочка является последовательной и верифицируемой, эти временные метки не требуют доверия — любой наблюдатель может проверить легитимность временной метки, проверив хеш-цепочку.

В Solana каждый валидатор может генерировать собственную последовательность PoH при работе в качестве лидера. При ротации лидерства валидаторы синхронизируют свои последовательности PoH, используя последнюю подтверждённую контрольную точку предыдущего лидера. Это обеспечивает непрерывность временной записи даже при смене валидаторов, производящих блоки. Сеть устанавливает каноническую временную линию путём достижения консенсуса о том, какие последовательности PoH принимать как часть официального реестра.

Система справляется с дрейфом часов и различиями в производительности оборудования посредством комбинации ротации лидеров и консенсуса. Если злонамеренный или неисправный лидер пытается генерировать временные метки PoH с неправильной скоростью (слишком быстро или слишком медленно), валидаторы могут обнаружить это, сравнив частоту тиков PoH со своими локальными генераторами PoH. Значительные отклонения от ожидаемой частоты указывают на проблему, и валидаторы могут отклонить блоки от лидеров, чьи последовательности PoH слишком сильно отклоняются от медианы сети.

Этот механизм временных меток решает одну из фундаментальных проблем распределённых систем: установление общего понятия времени без доверенного центрального органа. Используя PoH в качестве децентрализованных часов, Solana позволяет валидаторам обрабатывать транзакции параллельно, поддерживая глобально согласованный порядок. Временные метки также обеспечивают основу для функций, основанных на времени, таких как истечение срока транзакций, запланированные операции и измерение производительности.

Proof of Stake Consensus

El mecanismo de consenso de Solana, llamado Tower BFT, es un algoritmo Proof of Stake disenado especificamente para aprovechar las propiedades temporales de Proof of History. Los validadores apuestan tokens SOL para participar en el consenso y ganar recompensas por validar correctamente los bloques. El sistema de votacion ponderado por participacion asegura que los validadores con mas interes economico en la red tengan proporcionalmente mas influencia sobre las decisiones de consenso.

La innovacion central en Tower BFT es el uso de periodos de bloqueo que aumentan exponencialmente con cada voto consecutivo. Cuando un validador vota sobre un hash PoH, se compromete con esa bifurcacion del libro mayor durante un cierto numero de ticks PoH. Si votan en el siguiente bloque de esa bifurcacion, el periodo de bloqueo se duplica. Esto crea un fuerte incentivo economico para que los validadores continuen votando en la misma bifurcacion, ya que cambiar de bifurcacion requeriria esperar a que expiren los bloqueos anteriores.

Especificamente, si un validador vota en un bloque en la marca de tiempo PoH t, no puede votar en una bifurcacion conflictiva hasta que hayan pasado 2^n ticks, donde n es el numero de votos consecutivos que ha realizado en la bifurcacion actual. Este mecanismo de bloqueo exponencial hace que el sistema sea seguro contra ataques de largo alcance mientras permite una finalidad rapida. Una vez que una supermayoria de participacion ha votado en un bloque con suficiente profundidad, ese bloque esta efectivamente finalizado.

Las condiciones de penalizacion imponen un comportamiento honesto. Si un validador vota en dos bifurcaciones conflictivas durante un periodo en el que deberia estar bloqueado, es penalizado — sus tokens apostados son parcialmente destruidos y es removido del conjunto de validadores. Esto hace economicamente irracional intentar la equivocacion u otro comportamiento bizantino. La combinacion de las marcas de tiempo verificables de PoH y los bloqueos exponenciales de Tower BFT crea un mecanismo de consenso que es rapido y seguro, logrando finalidad en segundos mientras mantiene las garantias de seguridad de los sistemas BFT tradicionales.

Proof of Stake Consensus

Механизм консенсуса Solana, называемый Tower BFT, представляет собой алгоритм Proof of Stake, специально разработанный для использования временных свойств Proof of History. Валидаторы стейкают токены SOL для участия в консенсусе и получения вознаграждений за корректную валидацию блоков. Система голосования, взвешенная по стейку, гарантирует, что валидаторы с большей экономической заинтересованностью в сети имеют пропорционально большее влияние на решения консенсуса.

Ключевая инновация Tower BFT — использование периодов блокировки, экспоненциально возрастающих с каждым последовательным голосом. Когда валидатор голосует за хеш PoH, он берёт на себя обязательство по данному форку реестра на определённое количество тиков PoH. Если он голосует за следующий блок в том же форке, период блокировки удваивается. Это создаёт сильный экономический стимул для валидаторов продолжать голосовать за тот же форк, поскольку переключение на другой форк потребует ожидания истечения предыдущих блокировок.

Конкретно, если валидатор голосует за блок при временной метке PoH t, он не может голосовать за конфликтующий форк, пока не пройдёт 2^n тиков, где n — количество последовательных голосов на текущем форке. Этот механизм экспоненциальной блокировки делает систему устойчивой к атакам дальнего действия, одновременно обеспечивая быструю финализацию. Как только суперБольшинство стейка проголосовало за блок с достаточной глубиной, этот блок фактически финализирован.

Условия штрафования обеспечивают честное поведение. Если валидатор голосует за два конфликтующих форка в период, когда он должен быть заблокирован, он штрафуется — его застейканные токены частично уничтожаются и он исключается из набора валидаторов. Это делает экономически иррациональным попытки двойного голосования или иного византийского поведения. Сочетание верифицируемых временных меток PoH и экспоненциальных блокировок Tower BFT создаёт механизм консенсуса, который является одновременно быстрым и безопасным, достигая финализации за секунды при сохранении гарантий безопасности традиционных BFT-систем.

Streaming Proof of Replication

Proof of Replication (PoRep) es un mecanismo que permite a los validadores demostrar que estan almacenando los datos del libro mayor sin revelar los datos mismos ni requerir una computacion intensiva. Solana implementa una version de streaming de PoRep donde los validadores demuestran continuamente que estan replicando el estado de la blockchain. Esto es esencial para la seguridad de la red, ya que asegura que los datos del libro mayor esten distribuidos adecuadamente entre los validadores y no concentrados en unas pocas ubicaciones.

El mecanismo PoRep funciona haciendo que los validadores cifren segmentos del libro mayor usando encriptacion en modo CBC (Cipher Block Chaining) con una clave especifica del validador derivada de su identidad. El proceso de encriptacion es tal que cada bloque cifrado depende del bloque anterior, creando una cadena que es unica para cada validador. Esto evita que los validadores simplemente copien datos cifrados entre si — cada validador debe almacenar y procesar los datos originales del libro mayor para generar su version cifrada unica.

Sequential CBC encryption diagram showing chained block cipher used in Solana Proof of Replication

Periodicamente, la red emite desafios a los validadores solicitando que proporcionen bloques cifrados especificos. Debido a que la encriptacion esta encadenada, el validador debe haber almacenado todos los bloques anteriores para generar la respuesta correcta. El validador envia su bloque cifrado junto con una prueba de Merkle que muestra su posicion en su libro mayor cifrado. La red puede verificar esta prueba rapidamente sin necesidad de descifrar o re-cifrar los datos.

Fast Proof of Replication using Merkle hash tree for verifiable storage challenges

Este enfoque de streaming para PoRep tiene una baja sobrecarga comparado con los sistemas tradicionales de prueba de almacenamiento. Los validadores pueden cifrar datos a medida que llegan y responder a los desafios con una latencia minima. El sistema tambien permite la recuperacion en caso de perdida de datos — si un validador pierde parte del libro mayor, puede volver a descargarlo de otros validadores y re-cifrarlo. La combinacion de PoRep con marcas de tiempo PoH crea un sistema de responsabilidad completo donde la red puede verificar tanto cuando se crearon los datos como que estan almacenados correctamente en toda la red de validadores.

Streaming Proof of Replication

Proof of Replication (PoRep) — это механизм, позволяющий валидаторам доказать, что они хранят данные реестра, не раскрывая сами данные и не требуя интенсивных вычислений. Solana реализует потоковую версию PoRep, где валидаторы непрерывно демонстрируют репликацию состояния блокчейна. Это необходимо для безопасности сети, так как обеспечивает правильное распределение данных реестра между валидаторами, а не их концентрацию в нескольких местах.

Механизм PoRep работает следующим образом: валидаторы шифруют сегменты реестра с использованием шифрования в режиме CBC (Cipher Block Chaining) с уникальным ключом валидатора, полученным из его идентификатора. Процесс шифрования таков, что каждый зашифрованный блок зависит от предыдущего, создавая цепочку, уникальную для каждого валидатора. Это предотвращает простое копирование зашифрованных данных между валидаторами — каждый валидатор должен хранить и обрабатывать исходные данные реестра для генерации своей уникальной зашифрованной версии.

Sequential CBC encryption diagram showing chained block cipher used in Solana Proof of Replication

Fast Proof of Replication using Merkle hash tree for verifiable storage challenges

Периодически сеть выдаёт задания валидаторам, требуя предоставить определённые зашифрованные блоки. Поскольку шифрование является цепочечным, валидатор должен хранить все предшествующие блоки для генерации правильного ответа. Валидатор предоставляет свой зашифрованный блок вместе с доказательством Меркла, показывающим его положение в зашифрованном реестре. Сеть может быстро проверить это доказательство без необходимости расшифровки или повторного шифрования данных.

Этот потоковый подход к PoRep имеет низкие накладные расходы по сравнению с традиционными системами доказательства хранения. Валидаторы могут шифровать данные по мере их поступления и отвечать на задания с минимальной задержкой. Система также обеспечивает восстановление в случае потери данных — если валидатор теряет часть реестра, он может загрузить её у других валидаторов и повторно зашифровать. Сочетание PoRep с временными метками PoH создаёт полную систему подотчётности, где сеть может проверить как время создания данных, так и их правильное хранение по всей сети валидаторов.

System Architecture

La arquitectura del sistema de Solana esta disenada como un pipeline donde diferentes etapas del procesamiento de transacciones ocurren en paralelo. La Transaction Processing Unit (TPU) es el componente central responsable de manejar las transacciones entrantes. La TPU consta de varias etapas: fetch (recoleccion de transacciones), verificacion de firmas, banking (ejecucion de transacciones) y write (escritura en almacenamiento). Cada etapa opera en paralelo sobre diferentes transacciones, similar al pipeline de una CPU.

Solana system architecture showing the Transaction Processing Unit pipeline from fetch to write

La verificacion de firmas se acelera usando GPUs, que son altamente eficientes en las operaciones de criptografia de curva eliptica necesarias para verificar firmas de transacciones. Al descargar esta tarea computacionalmente intensiva a las GPUs, Solana puede verificar firmas a tasas que exceden 900,000 por segundo en hardware comercial. Esta verificacion de firmas en paralelo evita que la validacion criptografica se convierta en un cuello de botella incluso a tasas de transaccion muy altas.

Solana PoH generator network throughput limits showing bandwidth and processing constraints

El runtime Sealevel es el motor de ejecucion de contratos inteligentes en paralelo de Solana. A diferencia de las blockchains tradicionales que ejecutan transacciones secuencialmente, Sealevel analiza las transacciones para identificar que cuentas acceden y ejecuta transacciones no conflictivas en paralelo a traves de multiples nucleos de CPU. Las transacciones que acceden a las mismas cuentas se ejecutan secuencialmente para mantener la consistencia, pero las transacciones que acceden a diferentes cuentas pueden ejecutarse simultaneamente. Este paralelismo es posible porque PoH establece un ordenamiento global — los validadores pueden ejecutar transacciones en cualquier orden siempre que las apliquen al estado en la secuencia especificada por PoH.

Executing user-supplied BPF programs in Solana Sealevel runtime with shared intrinsic calls

La arquitectura tambien incluye componentes optimizados para la propagacion y almacenamiento de bloques. El protocolo de propagacion de bloques Turbine usa codificacion de borrado para dividir bloques en paquetes mas pequenos que se distribuyen a traves de la red en una estructura de arbol, minimizando los requisitos de ancho de banda. La red de Archivers proporciona almacenamiento descentralizado para datos historicos del libro mayor, usando PoRep para asegurar la disponibilidad de datos. Juntos, estos componentes crean un sistema que puede procesar cientos de miles de transacciones por segundo mientras mantiene las propiedades de descentralizacion y seguridad de una blockchain.

System Architecture

Системная архитектура Solana спроектирована как конвейер, где различные стадии обработки транзакций выполняются параллельно. Transaction Processing Unit (TPU) — центральный компонент, отвечающий за обработку входящих транзакций. TPU состоит из нескольких стадий: fetch (сбор транзакций), верификация подписей, banking (выполнение транзакций) и write (запись в хранилище). Каждая стадия работает параллельно над разными транзакциями, аналогично конвейеру процессора.

Solana system architecture showing the Transaction Processing Unit pipeline from fetch to write

Верификация подписей ускоряется с помощью GPU, которые высокоэффективны в операциях криптографии на эллиптических кривых, необходимых для проверки подписей транзакций. Перенося эту вычислительно интенсивную задачу на GPU, Solana может проверять подписи со скоростью более 900 000 в секунду на стандартном оборудовании. Эта параллельная верификация подписей предотвращает превращение криптографической проверки в узкое место даже при очень высоких скоростях обработки транзакций.

Solana PoH generator network throughput limits showing bandwidth and processing constraints

Среда выполнения Sealevel — это параллельный движок исполнения смарт-контрактов Solana. В отличие от традиционных блокчейнов, выполняющих транзакции последовательно, Sealevel анализирует транзакции для определения используемых аккаунтов и выполняет неконфликтующие транзакции параллельно на нескольких ядрах CPU. Транзакции, обращающиеся к одним и тем же аккаунтам, выполняются последовательно для поддержания согласованности, но транзакции, обращающиеся к разным аккаунтам, могут выполняться одновременно. Этот параллелизм возможен благодаря глобальному порядку, установленному PoH — валидаторы могут выполнять транзакции в любом порядке, если применяют их к состоянию в последовательности, определённой PoH.

Executing user-supplied BPF programs in Solana Sealevel runtime with shared intrinsic calls

Архитектура также включает оптимизированные компоненты для распространения и хранения блоков. Протокол распространения блоков Turbine использует стирающее кодирование для разбиения блоков на более мелкие пакеты, распространяемые по сети в древовидной структуре, минимизируя требования к пропускной способности. Сеть Archivers обеспечивает децентрализованное хранение исторических данных реестра, используя PoRep для гарантии доступности данных. Вместе эти компоненты создают систему, способную обрабатывать сотни тысяч транзакций в секунду, сохраняя свойства децентрализации и безопасности блокчейна.

Performance

La arquitectura de Solana esta disenada para alcanzar niveles de rendimiento que escalan con las mejoras de hardware, siguiendo la Ley de Moore. En una conexion de red estandar de 1 gigabit, el rendimiento maximo teorico es aproximadamente 710,000 transacciones por segundo, asumiendo 176 bytes por transaccion (incluyendo firmas y metadatos). Este calculo se basa en el ancho de banda de red como el cuello de botella principal, con los cuellos de botella computacionales eliminados a traves de la paralelizacion.

La verificacion de firmas, a menudo un factor limitante en el rendimiento de blockchain, se acelera usando paralelizacion GPU. Una sola GPU puede verificar mas de 900,000 firmas ed25519 por segundo, lo que excede el limite de rendimiento de la red. Esto significa que la verificacion de firmas no restringe el rendimiento del sistema — el cuello de botella se desplaza al ancho de banda de red y la ejecucion de transacciones. Para transacciones simples que solo transfieren valor sin logica compleja de contratos inteligentes, la etapa de banking puede procesar transacciones a tasas que igualan la tasa de entrada de la red.

El generador PoH funciona en un nucleo de CPU dedicado, produciendo aproximadamente 4,000 hashes por milisegundo en un procesador de 4GHz. A esta tasa, la secuencia PoH proporciona marcas de tiempo con una granularidad de 0.25 microsegundos, lo cual es suficiente para ordenar millones de transacciones por segundo. La naturaleza secuencial de la generacion PoH significa que este componente no puede paralelizarse, pero el rendimiento es lo suficientemente alto como para no limitar el rendimiento general del sistema.

A medida que el hardware mejora, el rendimiento de Solana escala en consecuencia. Redes mas rapidas, GPUs mas potentes y CPUs mejoradas contribuyen a tasas de transaccion mas altas. El sistema esta disenado para aprovechar estas mejoras sin requerir cambios de protocolo. Este enfoque de escalabilidad contrasta con blockchains que estan fundamentalmente limitadas por mecanismos de consenso secuenciales, permitiendo a Solana alcanzar niveles de rendimiento previamente considerados imposibles en un sistema descentralizado mientras mantiene garantias de seguridad y descentralizacion.

Performance

Архитектура Solana разработана для достижения уровней производительности, масштабирующихся с улучшением оборудования в соответствии с законом Мура. При стандартном гигабитном сетевом подключении теоретическая максимальная пропускная способность составляет примерно 710 000 транзакций в секунду при размере транзакции 176 байт (включая подписи и метаданные). Этот расчёт основан на пропускной способности сети как основном узком месте, при этом вычислительные узкие места устранены посредством параллелизации.

Верификация подписей, часто являющаяся ограничивающим фактором производительности блокчейна, ускоряется с помощью параллелизации на GPU. Один GPU может проверять более 900 000 подписей ed25519 в секунду, что превышает предел пропускной способности сети. Это означает, что верификация подписей не ограничивает производительность системы — узкое место смещается к пропускной способности сети и выполнению транзакций. Для простых транзакций, только переводящих значение без сложной логики смарт-контрактов, стадия banking может обрабатывать транзакции со скоростью, соответствующей входной скорости сети.

Генератор PoH работает на выделенном ядре CPU, производя примерно 4 000 хешей в миллисекунду на процессоре 4 ГГц. При такой скорости последовательность PoH обеспечивает временные метки с точностью 0,25 микросекунды, что достаточно для упорядочивания миллионов транзакций в секунду. Последовательная природа генерации PoH означает, что этот компонент не может быть распараллелен, но пропускная способность достаточно высока, чтобы не ограничивать общую производительность системы.

По мере улучшения оборудования пропускная способность Solana масштабируется соответственно. Более быстрые сети, более мощные GPU и улучшенные CPU — всё это способствует увеличению скорости обработки транзакций. Система спроектирована для использования этих улучшений без необходимости изменения протокола. Этот подход к масштабированию контрастирует с блокчейнами, фундаментально ограниченными последовательными механизмами консенсуса, позволяя Solana достигать уровней производительности, ранее считавшихся невозможными в децентрализованной системе, при сохранении гарантий безопасности и децентрализации.

Conclusion

Proof of History representa un avance fundamental en la arquitectura blockchain al resolver el problema de sincronizacion que ha limitado la escalabilidad de los libros mayores distribuidos. Al crear un reloj criptografico verificable, PoH permite a los validadores establecer un ordenamiento temporal de eventos sin la extensa sobrecarga de comunicacion requerida por los mecanismos de consenso tradicionales. Esta innovacion elimina un cuello de botella critico y permite que el procesamiento de transacciones se paralelice a traves de la red.

La integracion de PoH con componentes de sistema optimizados — verificacion de firmas acelerada por GPU, ejecucion de transacciones en paralelo a traves de Sealevel y protocolos de propagacion de bloques eficientes — crea una blockchain que puede procesar cientos de miles de transacciones por segundo en hardware comercial. Mas importante aun, la arquitectura esta disenada para escalar con las mejoras de hardware, lo que significa que el rendimiento continuara aumentando a medida que los procesadores se vuelvan mas rapidos y las redes mas capaces.

El diseno de Solana demuestra que el alto rendimiento y la descentralizacion no son mutuamente excluyentes. Al aprovechar PoH como base para el consenso y la coordinacion del sistema, la red alcanza niveles de rendimiento comparables a bases de datos centralizadas mientras mantiene las propiedades de seguridad y resistencia a la censura de una blockchain descentralizada. El mecanismo de consenso Tower BFT ponderado por participacion asegura que la red permanezca segura contra actores bizantinos mientras logra una finalidad rapida.

La implementacion de esta arquitectura proporciona un camino practico hacia adelante para que la tecnologia blockchain escale a la adopcion global. Las aplicaciones que requieren un alto rendimiento de transacciones — como intercambios descentralizados, plataformas de juegos y sistemas financieros — ahora pueden construirse sobre una infraestructura verdaderamente descentralizada sin comprometer el rendimiento. Proof of History abre la puerta a una nueva generacion de aplicaciones blockchain que anteriormente eran inviables debido a las limitaciones de escalabilidad.

Conclusion

Proof of History представляет собой фундаментальный прорыв в архитектуре блокчейна, решая проблему синхронизации, которая ограничивала масштабируемость распределённых реестров. Создавая верифицируемые криптографические часы, PoH позволяет валидаторам устанавливать временной порядок событий без обширных коммуникационных накладных расходов, требуемых традиционными механизмами консенсуса. Эта инновация устраняет критическое узкое место и позволяет параллелизировать обработку транзакций по всей сети.

Интеграция PoH с оптимизированными системными компонентами — верификацией подписей с ускорением на GPU, параллельным выполнением транзакций через Sealevel и эффективными протоколами распространения блоков — создаёт блокчейн, способный обрабатывать сотни тысяч транзакций в секунду на стандартном оборудовании. Важнее всего то, что архитектура спроектирована для масштабирования с улучшением оборудования, что означает продолжение роста производительности по мере ускорения процессоров и повышения возможностей сетей.

Дизайн Solana демонстрирует, что высокая производительность и децентрализация не являются взаимоисключающими. Используя PoH в качестве основы для консенсуса и координации системы, сеть достигает уровней пропускной способности, сопоставимых с централизованными базами данных, сохраняя при этом свойства безопасности и устойчивости к цензуре децентрализованного блокчейна. Механизм консенсуса Tower BFT, взвешенный по стейку, обеспечивает безопасность сети от византийских участников при достижении быстрой финализации.

Реализация этой архитектуры обеспечивает практический путь к глобальному принятию технологии блокчейн. Приложения, требующие высокой пропускной способности транзакций — такие как децентрализованные биржи, игровые платформы и финансовые системы — теперь могут быть построены на по-настоящему децентрализованной инфраструктуре без компромиссов в производительности. Proof of History открывает дверь новому поколению блокчейн-приложений, ранее невозможных из-за ограничений масштабируемости.