Solana: Новая архитектура для высокопроизводительного блокчейна
Abstract
本文提出了一种高性能区块链的新架构。Solana实现了一种名为Proof of History(PoH)的新型计时机制——一种用于验证事件之间顺序和时间流逝的证明。PoH用于将无需信任的时间流逝编码到账本中,创建一个历史记录,证明某个事件发生在特定的时间点。
关键创新在于PoH允许网络中的节点在无需相互通信的情况下建立事件的时间顺序。通过使用以顺序哈希链实现的可验证延迟函数,系统生成了一个加密时钟,提供了一种验证事件之间时间流逝的方法。这使得网络能够在保持去中心化和安全性的同时每秒处理数千笔交易。
PoH与Proof of Stake(PoS)共识机制集成。这种组合使得高度优化的区块链架构成为可能,验证者可以并行验证交易并高效地达成共识。该系统被设计为随摩尔定律扩展,利用硬件性能的提升来改善吞吐量,而不牺牲去中心化网络的安全保障。
Abstract
В данной статье представлена новая архитектура высокопроизводительного блокчейна. Solana реализует новый механизм хронометража под названием Proof of History (PoH) -- доказательство для верификации порядка и хода времени между событиями. PoH используется для кодирования хода времени без необходимости доверия в леджере, создавая исторический реестр, доказывающий, что событие произошло в определённый момент времени.
Ключевая инновация заключается в том, что PoH позволяет узлам сети устанавливать временной порядок событий без необходимости взаимодействия друг с другом. Используя верифицируемую функцию задержки, реализованную в виде последовательной цепочки хешей, система генерирует криптографические часы, предоставляющие способ верификации хода времени между событиями. Это позволяет сети обрабатывать тысячи транзакций в секунду, сохраняя при этом децентрализацию и безопасность.
PoH интегрирован с механизмом консенсуса Proof of Stake (PoS). Такая комбинация обеспечивает высокооптимизированную архитектуру блокчейна, в которой валидаторы могут верифицировать транзакции параллельно и эффективно достигать консенсуса. Система спроектирована для масштабирования в соответствии с законом Мура, используя повышение производительности аппаратного обеспечения для увеличения пропускной способности без ущерба для гарантий безопасности децентрализованной сети.
Introduction
区块链系统面临的根本挑战是在保持去中心化和安全性的同时实现高交易吞吐量。当前的区块链实现受限于其共识机制,这些机制需要节点之间进行大量通信来就时间和事件排序达成一致。这种协调开销创建了瓶颈,阻止现有区块链扩展以满足全球规模应用的需求。
核心问题是时间。在分布式系统中,节点不能依赖外部时钟,因为它们无法信任其他节点的时间戳是准确的。传统的区块链共识协议通过让节点进行大量通信来就当前状态和交易顺序达成一致来解决这个问题。这种通信开销从根本上限制了吞吐量,因为网络只能以节点就排序达成共识的速度来处理交易。
Solana引入Proof of History作为这个时间问题的解决方案。PoH提供了一种加密方法来证明事件之间已经过了一定的时间,而无需依赖来自潜在恶意行为者的时间戳。通过创建可验证的历史记录,PoH使节点能够独立处理交易,同时仍然能够证明事件发生的顺序。这一突破使网络能够并行化交易处理并大幅提高吞吐量。
关键洞察是,如果我们能创建一个无需信任的时间源,就可以从共识中消除协调瓶颈。通过PoH提供加密时钟,验证者可以并行处理交易,只需在确定规范排序时进行通信。这种架构转变使Solana能够实现之前在去中心化区块链中被认为不可能的性能水平。
Introduction
Фундаментальная проблема блокчейн-систем заключается в достижении высокой пропускной способности транзакций при сохранении децентрализации и безопасности. Текущие реализации блокчейнов ограничены механизмами консенсуса, которые требуют обширной коммуникации между узлами для согласования времени и порядка событий. Эти координационные накладные расходы создают узкое место, препятствующее масштабированию существующих блокчейнов для удовлетворения потребностей глобальных приложений.
Ключевая проблема — время. В распределённых системах узлы не могут полагаться на внешние часы, поскольку не могут доверять точности временных меток других узлов. Традиционные протоколы консенсуса блокчейна решают эту проблему путём обширной коммуникации узлов для согласования текущего состояния и порядка транзакций. Эти коммуникационные накладные расходы фундаментально ограничивают пропускную способность, так как сеть может обрабатывать транзакции лишь с той скоростью, с которой узлы достигают консенсуса по их порядку.
Solana представляет Proof of History как решение проблемы синхронизации. PoH обеспечивает криптографический способ доказательства того, что между событиями прошло определённое количество времени, без необходимости полагаться на временные метки от потенциально злонамеренных участников. Создавая верифицируемую историческую запись, PoH позволяет узлам обрабатывать транзакции независимо, при этом сохраняя возможность доказать порядок происхождения событий. Этот прорыв позволяет сети параллелизировать обработку транзакций и значительно увеличить пропускную способность.
Ключевое понимание состоит в том, что если мы создадим доверенный источник времени, не требующий доверия, мы сможем устранить координационное узкое место из консенсуса. При наличии криптографических часов PoH валидаторы могут обрабатывать транзакции параллельно и взаимодействовать только для определения канонического порядка. Это архитектурное изменение позволяет Solana достигать уровней производительности, ранее считавшихся невозможными в децентрализованном блокчейне.
Outline
本文描述了Solana的技术架构,重点介绍Proof of History如何实现高性能区块链运行。文档首先解释PoH机制本身——顺序哈希链如何创建可验证的事件时间排序。我们详细说明使PoH安全的加密属性,并演示验证者如何高效地验证PoH序列。
然后,本文探讨PoH如何与Proof of Stake共识集成。我们描述Tower BFT,这是一种专门设计用于利用PoH时间属性的PoS算法。该集成允许验证者在特定的PoH时间戳上对账本状态进行投票,创建一个既快速又安全的共识机制。我们还解释了防止恶意行为的惩罚条件。
接下来,我们介绍Solana的网络设计和数据传播协议。Gulf Stream协议实现了无需内存池的交易转发,允许客户端直接向即将到来的领导者发送交易。我们描述领导者轮换如何工作以及网络如何在领导权更替时保持高吞吐量。
最后,我们讨论系统架构,包括Transaction Processing Unit(TPU)、Sealevel并行运行时和用于数据存储验证的Proof of Replication。性能预测表明,Solana可以在标准千兆网络上每秒处理超过700,000笔交易,并且吞吐量会随硬件改进而扩展。
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
Solana的网络设计以轮换领导者系统为中心,验证者轮流产生区块。领导者负责将传入的交易排序到PoH流中,并将产生的区块发布到网络。领导者通过权益加权算法选出,轮换时间表提前已知,使网络能够优化交易转发。

Gulf Stream协议通过使客户端能够直接将交易转发给即将到来的领导者,消除了对传统内存池的需求。当客户端提交交易时,它会根据轮换时间表转发给预期的领导者。如果当前领导者无法处理该交易,则将其转发给下一个预期领导者。这种设计减少了确认延迟,并允许验证者提前执行交易,进一步优化吞吐量。
交易传播使用多层方法。客户端将交易发送给验证者,验证者将其转发给当前或即将到来的领导者。领导者将交易排序到PoH流中,创建总排序。排序完成后,领导者将PoH流和交易数据传输给验证者,验证者验证PoH序列并并行执行交易。
网络设计还包括Turbine区块传播协议,该协议将区块分解为更小的数据包,并以树形结构在网络中分发。这种方法在确保快速区块传播的同时最小化了单个验证者的带宽需求。结合PoH验证交易排序的能力,这种架构使Solana能够在不牺牲去中心化的情况下实现高吞吐量。
Network Design
Сетевой дизайн Solana основан на системе ротации лидеров, где валидаторы по очереди производят блоки. Лидер отвечает за упорядочивание входящих транзакций в поток PoH и публикацию результирующих блоков в сети. Лидеры выбираются с помощью алгоритма, взвешенного по стейку, а расписание ротации известно заранее, что позволяет сети оптимизировать пересылку транзакций.

Протокол Gulf Stream устраняет необходимость в традиционном мемпуле, позволяя клиентам пересылать транзакции непосредственно предстоящим лидерам. Когда клиент отправляет транзакцию, она пересылается ожидаемому лидеру на основе расписания ротации. Если текущий лидер не может обработать транзакцию, она пересылается следующему ожидаемому лидеру. Такой дизайн снижает задержку подтверждения и позволяет валидаторам выполнять транзакции заранее, дополнительно оптимизируя пропускную способность.
Распространение транзакций использует многоуровневый подход. Клиенты отправляют транзакции валидаторам, которые пересылают их текущему или предстоящему лидеру. Лидер упорядочивает транзакции в потоке PoH, создавая полный порядок. После упорядочивания лидер передаёт поток PoH и данные транзакций валидаторам, которые проверяют последовательность PoH и выполняют транзакции параллельно.
Сетевой дизайн также включает протокол распространения блоков Turbine, который разбивает блоки на более мелкие пакеты и распространяет их по сети в древовидной структуре. Этот подход минимизирует требования к пропускной способности для отдельных валидаторов, обеспечивая быстрое распространение блоков. В сочетании со способностью PoH верифицировать порядок транзакций эта архитектура позволяет Solana достигать высокой пропускной способности без ущерба для децентрализации.
Proof of History
Proof of History是一种使用SHA-256实现的顺序哈希链形式的可验证延迟函数。PoH生成器持续计算SHA-256哈希,使用每个输出作为下一个哈希的输入。这创建了一个顺序链,其中每个哈希只能在前一个哈希计算完成后才能计算,从而建立可验证的时间排序。生成每个哈希的计算要求强制了事件之间的最小时间延迟。

PoH的关键属性是验证成本低但生成成本高。验证者可以通过将哈希序列分成段,独立并行检查每个段,然后验证各段正确连接来检查整个哈希序列。然而,生成必须是顺序的——不实际计算每个中间步骤就无法预测哈希链的输出。生成和验证之间的这种不对称性使PoH变得实用。

外部事件和交易数据通过混合到哈希链中插入PoH序列。当交易到达时,其哈希与当前PoH状态结合,创建一条记录证明该交易在序列的该点存在。PoH生成器定期记录检查点,发布当前哈希值以及自上次检查点以来计算的哈希数量。这些检查点使验证者能够高效地验证PoH序列,而无需重新计算每个哈希。

PoH序列作为整个网络的加密时钟。因为哈希链是顺序的且可验证的,任何节点都可以通过展示在该时间间隔内计算的哈希来证明两个事件之间经过了一定的时间。这消除了节点信任外部时间戳或相互协调以建立时间排序的需要,消除了传统区块链共识中的根本瓶颈。

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

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

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

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

Proof of History Sequence
Proof of History序列是一个连续的SHA-256哈希链,其中每个哈希依赖于前一个输出。序列从初始种子值开始,该值被哈希以产生第一个输出。此输出成为下一个哈希的输入,过程无限重复。生成器还维护一个计数器,跟踪计算的哈希总数,作为账本中事件的PoH"时间戳"。

当需要将数据插入序列时(如交易哈希或验证者签名),使用确定性混合函数将其与当前哈希状态结合。例如,如果当前哈希状态是hash_n,我们想插入数据D,则计算hash_{n+1} = SHA256(hash_n || D),其中||表示连接。插入点与计数器值一起记录,证明数据D在序列的该特定点存在。
PoH序列的验证可以通过将链分成段来并行化。例如,验证者可能每10,000个哈希接收一次PoH检查点。要验证检查点之间的序列,验证者可以将10,000个哈希分成100个段,每段100个哈希,独立并行验证每个段,然后验证各段正确连接。这允许验证随可用CPU核心数水平扩展。
序列还支持高效证明两个事件以特定顺序发生。给定在计数器值n和m(其中n m)处的两个数据插入,任何人都可以通过检查这些点之间的哈希链来验证n处的事件发生在m处的事件之前。此属性使Solana能够创建网络中所有事件的可验证历史记录,而无需节点持续在线或信任外部时间源。
Proof of History Sequence
Последовательность Proof of History представляет собой непрерывную цепочку хешей SHA-256, где каждый хеш зависит от предыдущего выхода. Последовательность начинается с начального значения-зерна, которое хешируется для получения первого выхода. Этот выход становится входом для следующего хеша, и процесс повторяется бесконечно. Генератор также ведёт счётчик, отслеживающий общее количество вычисленных хешей, который служит «временной меткой» PoH для событий в реестре.

Когда данные необходимо вставить в последовательность (например, хеши транзакций или подписи валидаторов), они комбинируются с текущим состоянием хеша с использованием детерминированной функции смешивания. Например, если текущее состояние хеша — 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作为去中心化时钟运行,在不依赖墙钟时间的情况下为事件分配时间戳。每个PoH哈希代表加密时钟的一个离散"滴答",计数器值作为时间戳。因为哈希链是顺序的且可验证的,这些时间戳是无需信任的——任何观察者都可以通过检查哈希链来验证时间戳的合法性。
在Solana中,每个验证者在充当领导者时可以生成自己的PoH序列。当验证者轮换领导权时,他们使用前一个领导者的最后确认检查点来同步其PoH序列。这确保了即使不同的验证者轮流产生区块,时间记录的连续性也得到保持。网络通过就接受哪些PoH序列作为官方账本的一部分达成共识来建立规范时间线。
系统通过领导者轮换和共识的组合来处理时钟漂移和硬件性能差异。如果恶意或故障的领导者试图以不正确的速率(过快或过慢)生成PoH时间戳,验证者可以通过将PoH滴答率与自己的本地PoH生成器进行比较来检测这一点。与预期速率的显著偏差表明存在问题,验证者可以拒绝PoH序列偏离网络中位数太远的领导者的区块。
这种时间戳机制解决了分布式系统中的一个基本问题:在没有受信任的中央机构的情况下建立共同的时间概念。通过使用PoH作为去中心化时钟,Solana使验证者能够在保持全局一致排序的同时并行处理交易。时间戳还为基于时间的功能提供了基础,如交易过期、定时操作和性能测量。
Timestamp
Proof of History функционирует как децентрализованные часы, присваивающие временные метки событиям без зависимости от реального времени. Каждый хеш PoH представляет дискретный «тик» криптографических часов, а значение счётчика служит временной меткой. Поскольку хеш-цепочка является последовательной и верифицируемой, эти временные метки не требуют доверия — любой наблюдатель может проверить легитимность временной метки, проверив хеш-цепочку.
В Solana каждый валидатор может генерировать собственную последовательность PoH при работе в качестве лидера. При ротации лидерства валидаторы синхронизируют свои последовательности PoH, используя последнюю подтверждённую контрольную точку предыдущего лидера. Это обеспечивает непрерывность временной записи даже при смене валидаторов, производящих блоки. Сеть устанавливает каноническую временную линию путём достижения консенсуса о том, какие последовательности PoH принимать как часть официального реестра.
Система справляется с дрейфом часов и различиями в производительности оборудования посредством комбинации ротации лидеров и консенсуса. Если злонамеренный или неисправный лидер пытается генерировать временные метки PoH с неправильной скоростью (слишком быстро или слишком медленно), валидаторы могут обнаружить это, сравнив частоту тиков PoH со своими локальными генераторами PoH. Значительные отклонения от ожидаемой частоты указывают на проблему, и валидаторы могут отклонить блоки от лидеров, чьи последовательности PoH слишком сильно отклоняются от медианы сети.
Этот механизм временных меток решает одну из фундаментальных проблем распределённых систем: установление общего понятия времени без доверенного центрального органа. Используя PoH в качестве децентрализованных часов, Solana позволяет валидаторам обрабатывать транзакции параллельно, поддерживая глобально согласованный порядок. Временные метки также обеспечивают основу для функций, основанных на времени, таких как истечение срока транзакций, запланированные операции и измерение производительности.
Proof of Stake Consensus
Solana的共识机制称为Tower BFT,是一种专门设计用于利用Proof of History时间属性的Proof of Stake算法。验证者质押SOL代币参与共识,并因正确验证区块而获得奖励。权益加权投票系统确保在网络中拥有更多经济利益的验证者在共识决策中拥有相应更大的影响力。
Tower BFT的核心创新是使用随每次连续投票呈指数增长的锁定期。当验证者对PoH哈希投票时,他们承诺在一定数量的PoH滴答内留在账本的该分叉上。如果他们对该分叉的下一个区块投票,锁定期翻倍。这为验证者继续在同一分叉上投票创造了强烈的经济激励,因为切换分叉需要等待早期锁定期到期。
具体来说,如果验证者在PoH时间戳t处对区块投票,则在2^n个滴答过去之前不能对冲突的分叉投票,其中n是他们在当前分叉上进行的连续投票次数。这种指数锁定机制使系统在允许快速最终性的同时抵御远程攻击。一旦绝对多数的权益在足够深度上对区块投票,该区块就被有效地最终确定。
惩罚条件强制执行诚实行为。如果验证者在应该被锁定的期间对两个冲突的分叉投票,他们将被惩罚——质押的代币被部分销毁,并从验证者集合中移除。这使得尝试模棱两可或其他拜占庭行为在经济上不合理。PoH的可验证时间戳与Tower BFT的指数锁定的结合创造了一个既快速又安全的共识机制,在保持传统BFT系统安全保障的同时,在几秒内实现最终性。
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)是一种允许验证者证明他们正在存储账本数据而无需揭示数据本身或需要密集计算的机制。Solana实现了PoRep的流式版本,验证者持续证明他们正在复制区块链状态。这对网络安全至关重要,因为它确保账本数据在验证者之间适当分布,而不是集中在少数位置。
PoRep机制通过让验证者使用从其身份派生的验证者特定密钥,以CBC(Cipher Block Chaining)模式加密账本段来工作。加密过程使每个加密块依赖于前一个块,创建一个对每个验证者唯一的链。这防止验证者简单地从彼此复制加密数据——每个验证者必须存储和处理原始账本数据才能生成其唯一的加密版本。

网络定期向验证者发出挑战,要求他们提供特定的加密块。因为加密是链式的,验证者必须存储所有前面的块才能生成正确的响应。验证者提交其加密块以及显示其在加密账本中位置的Merkle证明。网络可以快速验证此证明,而无需解密或重新加密数据。

这种流式PoRep方法与传统的存储证明系统相比开销较低。验证者可以在数据到达时进行加密,并以最小延迟响应挑战。系统还支持数据丢失时的恢复——如果验证者丢失了部分账本,可以从其他验证者重新下载并重新加密。PoRep与PoH时间戳的结合创建了一个完整的问责系统,网络可以验证数据的创建时间以及它在验证者网络中被正确存储。
Streaming Proof of Replication
Proof of Replication (PoRep) — это механизм, позволяющий валидаторам доказать, что они хранят данные реестра, не раскрывая сами данные и не требуя интенсивных вычислений. Solana реализует потоковую версию PoRep, где валидаторы непрерывно демонстрируют репликацию состояния блокчейна. Это необходимо для безопасности сети, так как обеспечивает правильное распределение данных реестра между валидаторами, а не их концентрацию в нескольких местах.
Механизм PoRep работает следующим образом: валидаторы шифруют сегменты реестра с использованием шифрования в режиме CBC (Cipher Block Chaining) с уникальным ключом валидатора, полученным из его идентификатора. Процесс шифрования таков, что каждый зашифрованный блок зависит от предыдущего, создавая цепочку, уникальную для каждого валидатора. Это предотвращает простое копирование зашифрованных данных между валидаторами — каждый валидатор должен хранить и обрабатывать исходные данные реестра для генерации своей уникальной зашифрованной версии.


Периодически сеть выдаёт задания валидаторам, требуя предоставить определённые зашифрованные блоки. Поскольку шифрование является цепочечным, валидатор должен хранить все предшествующие блоки для генерации правильного ответа. Валидатор предоставляет свой зашифрованный блок вместе с доказательством Меркла, показывающим его положение в зашифрованном реестре. Сеть может быстро проверить это доказательство без необходимости расшифровки или повторного шифрования данных.
Этот потоковый подход к PoRep имеет низкие накладные расходы по сравнению с традиционными системами доказательства хранения. Валидаторы могут шифровать данные по мере их поступления и отвечать на задания с минимальной задержкой. Система также обеспечивает восстановление в случае потери данных — если валидатор теряет часть реестра, он может загрузить её у других валидаторов и повторно зашифровать. Сочетание PoRep с временными метками PoH создаёт полную систему подотчётности, где сеть может проверить как время создания данных, так и их правильное хранение по всей сети валидаторов.
System Architecture
Solana的系统架构被设计为流水线,交易处理的不同阶段并行进行。Transaction Processing Unit(TPU)是负责处理传入交易的核心组件。TPU由几个阶段组成:fetch(收集交易)、签名验证、banking(交易执行)和write(提交到存储)。每个阶段对不同的交易并行操作,类似于CPU流水线。

签名验证使用GPU加速,GPU在验证交易签名所需的椭圆曲线加密操作方面效率很高。通过将这个计算密集型任务卸载到GPU,Solana可以在商用硬件上以每秒超过900,000次的速率验证签名。这种并行签名验证防止了即使在非常高的交易速率下加密验证成为瓶颈。

Sealevel运行时是Solana的并行智能合约执行引擎。与顺序执行交易的传统区块链不同,Sealevel分析交易以识别它们访问哪些账户,并在多个CPU核心上并行执行不冲突的交易。访问相同账户的交易为保持一致性而顺序执行,但访问不同账户的交易可以同时运行。这种并行性之所以可能,是因为PoH建立了全局排序——验证者可以按任何顺序执行交易,只要按PoH指定的序列将其应用于状态。

架构还包括用于区块传播和存储的优化组件。Turbine区块传播协议使用纠删码将区块分解为更小的数据包,并以树形结构在网络中分发,最小化带宽需求。Archivers网络使用PoRep确保数据可用性,为历史账本数据提供去中心化存储。这些组件共同创建了一个系统,能够在保持区块链去中心化和安全属性的同时每秒处理数十万笔交易。
System Architecture
Системная архитектура Solana спроектирована как конвейер, где различные стадии обработки транзакций выполняются параллельно. Transaction Processing Unit (TPU) — центральный компонент, отвечающий за обработку входящих транзакций. TPU состоит из нескольких стадий: fetch (сбор транзакций), верификация подписей, banking (выполнение транзакций) и write (запись в хранилище). Каждая стадия работает параллельно над разными транзакциями, аналогично конвейеру процессора.

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

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

Архитектура также включает оптимизированные компоненты для распространения и хранения блоков. Протокол распространения блоков Turbine использует стирающее кодирование для разбиения блоков на более мелкие пакеты, распространяемые по сети в древовидной структуре, минимизируя требования к пропускной способности. Сеть Archivers обеспечивает децентрализованное хранение исторических данных реестра, используя PoRep для гарантии доступности данных. Вместе эти компоненты создают систему, способную обрабатывать сотни тысяч транзакций в секунду, сохраняя свойства децентрализации и безопасности блокчейна.
Performance
Solana的架构旨在实现随硬件改进而扩展的性能水平,遵循摩尔定律。在标准1千兆网络连接上,理论最大吞吐量约为每秒710,000笔交易,假设每笔交易176字节(包括签名和元数据)。此计算基于网络带宽作为主要瓶颈,计算瓶颈已通过并行化消除。
签名验证通常是区块链性能的限制因素,通过GPU并行化加速。单个GPU每秒可以验证超过900,000个ed25519签名,超过网络吞吐量限制。这意味着签名验证不会限制系统性能——瓶颈转移到网络带宽和交易执行。对于只转移价值而不涉及复杂智能合约逻辑的简单交易,banking阶段可以以匹配网络输入速率的速率处理交易。
PoH生成器在专用CPU核心上运行,在4GHz处理器上每毫秒产生约4,000个哈希。在此速率下,PoH序列提供0.25微秒粒度的时间戳,足以每秒排序数百万笔交易。PoH生成的顺序性质意味着此组件不能并行化,但吞吐量足够高,不会限制整体系统性能。
随着硬件改进,Solana的吞吐量相应扩展。更快的网络、更强大的GPU和改进的CPU都有助于更高的交易速率。系统被设计为无需协议更改即可利用这些改进。这种可扩展性方法与受顺序共识机制根本限制的区块链形成对比,使Solana能够在保持安全性和去中心化保障的同时,实现之前在去中心化系统中被认为不可能的性能水平。
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通过解决限制分布式账本可扩展性的时间问题,代表了区块链架构的根本性突破。通过创建可验证的加密时钟,PoH使验证者能够在不需要传统共识机制所需的大量通信开销的情况下建立事件的时间排序。这项创新消除了关键瓶颈,允许交易处理在网络中并行化。
PoH与优化的系统组件的集成——GPU加速签名验证、通过Sealevel的并行交易执行和高效的区块传播协议——创建了一个能够在商用硬件上每秒处理数十万笔交易的区块链。更重要的是,该架构被设计为随硬件改进而扩展,这意味着随着处理器变得更快、网络变得更强大,性能将持续提高。
Solana的设计证明了高性能和去中心化并非相互排斥。通过利用PoH作为共识和系统协调的基础,网络在保持去中心化区块链的安全性和抗审查属性的同时,实现了与中心化数据库相当的吞吐量水平。权益加权Tower BFT共识机制确保网络在实现快速最终性的同时抵御拜占庭行为者。
该架构的实现为区块链技术扩展到全球采用提供了实际路径。需要高交易吞吐量的应用——如去中心化交易所、游戏平台和金融系统——现在可以在不牺牲性能的情况下构建在真正去中心化的基础设施上。Proof of History为之前因可扩展性限制而不可行的新一代区块链应用打开了大门。
Conclusion
Proof of History представляет собой фундаментальный прорыв в архитектуре блокчейна, решая проблему синхронизации, которая ограничивала масштабируемость распределённых реестров. Создавая верифицируемые криптографические часы, PoH позволяет валидаторам устанавливать временной порядок событий без обширных коммуникационных накладных расходов, требуемых традиционными механизмами консенсуса. Эта инновация устраняет критическое узкое место и позволяет параллелизировать обработку транзакций по всей сети.
Интеграция PoH с оптимизированными системными компонентами — верификацией подписей с ускорением на GPU, параллельным выполнением транзакций через Sealevel и эффективными протоколами распространения блоков — создаёт блокчейн, способный обрабатывать сотни тысяч транзакций в секунду на стандартном оборудовании. Важнее всего то, что архитектура спроектирована для масштабирования с улучшением оборудования, что означает продолжение роста производительности по мере ускорения процессоров и повышения возможностей сетей.
Дизайн Solana демонстрирует, что высокая производительность и децентрализация не являются взаимоисключающими. Используя PoH в качестве основы для консенсуса и координации системы, сеть достигает уровней пропускной способности, сопоставимых с централизованными базами данных, сохраняя при этом свойства безопасности и устойчивости к цензуре децентрализованного блокчейна. Механизм консенсуса Tower BFT, взвешенный по стейку, обеспечивает безопасность сети от византийских участников при достижении быстрой финализации.
Реализация этой архитектуры обеспечивает практический путь к глобальному принятию технологии блокчейн. Приложения, требующие высокой пропускной способности транзакций — такие как децентрализованные биржи, игровые платформы и финансовые системы — теперь могут быть построены на по-настоящему децентрализованной инфраструктуре без компромиссов в производительности. Proof of History открывает дверь новому поколению блокчейн-приложений, ранее невозможных из-за ограничений масштабируемости.