Solana: สถาปัตยกรรมใหม่สำหรับบล็อกเชนประสิทธิภาพสูง

著 Anatoly Yakovenko · 2017

Abstract

本論文は、高性能ブロックチェーンのための新しいアーキテクチャを提示する。SolanaはProof of History(PoH)と呼ばれる新しい時間管理メカニズムを実装している。これはイベント間の順序と時間の経過を検証するための証明である。PoHは信頼不要な時間の経過を台帳にエンコードするために使用され、特定の時点でイベントが発生したことを証明する履歴記録を作成する。

重要なイノベーションは、PoHによりネットワーク内のノードが互いに通信することなくイベントの時間的順序を確立できることである。逐次的ハッシュチェーンとして実装された検証可能な遅延関数を使用することで、システムはイベント間の時間の経過を検証する方法を提供する暗号学的時計を生成する。これにより、ネットワークは分散化とセキュリティを維持しながら、毎秒数千のトランザクションを処理できる。

PoHはProof of Stake(PoS)コンセンサスメカニズムと統合されている。この組み合わせにより、バリデータがトランザクションを並列に検証し、効率的にコンセンサスに達することができる高度に最適化されたブロックチェーンアーキテクチャが可能になる。このシステムはムーアの法則に合わせてスケールするように設計されており、分散型ネットワークのセキュリティ保証を犠牲にすることなく、ハードウェア性能の向上を活用してスループットを改善する。

Abstract

บทความนี้นำเสนอสถาปัตยกรรมใหม่สำหรับบล็อกเชนที่มีประสิทธิภาพสูง Solana ใช้กลไกการบอกเวลาแบบใหม่ที่เรียกว่า Proof of History (PoH) ซึ่งเป็นข้อพิสูจน์ในการตรวจสอบลำดับและการผ่านของเวลาระหว่างเหตุการณ์ต่างๆ PoH ใช้เพื่อเข้ารหัสเวลาที่ผ่านไปอย่างไม่ไว้วางใจใน ledger สร้างบันทึกทางประวัติศาสตร์ที่พิสูจน์ว่ามีเหตุการณ์เกิดขึ้นในช่วงเวลาหนึ่งโดยเฉพาะ

นวัตกรรมที่สำคัญคือ PoH ช่วยให้โหนดในเครือข่ายสร้างลำดับเหตุการณ์ชั่วคราวโดยไม่จำเป็นต้องสื่อสารระหว่างกัน ด้วยการใช้ฟังก์ชันหน่วงเวลาที่ตรวจสอบได้ซึ่งนำมาใช้เป็นสายโซ่แฮชตามลำดับ ระบบจะสร้างนาฬิกาเข้ารหัสที่ให้วิธีการตรวจสอบการผ่านของเวลาระหว่างเหตุการณ์ สิ่งนี้ทำให้เครือข่ายสามารถประมวลผลธุรกรรมหลายพันรายการต่อวินาทีในขณะที่ยังคงการกระจายอำนาจและความปลอดภัยไว้

PoH ถูกรวมเข้ากับกลไกฉันทามติ Proof of Stake (PoS) การรวมกันนี้ทำให้เกิดสถาปัตยกรรมบล็อกเชนที่ได้รับการปรับให้เหมาะสมที่สุด โดยที่ validators สามารถตรวจสอบธุรกรรมแบบขนานและบรรลุฉันทามติได้อย่างมีประสิทธิภาพ ระบบได้รับการออกแบบให้ปรับขนาดตามกฎของมัวร์ โดยใช้ประโยชน์จากการเพิ่มประสิทธิภาพฮาร์ดแวร์เพื่อปรับปรุงปริมาณงานโดยไม่กระทบต่อการรับประกันความปลอดภัยของเครือข่ายแบบกระจายอำนาจ

Introduction

ブロックチェーンシステムにおける根本的な課題は、分散化とセキュリティを維持しながら高いトランザクションスループットを達成することである。現在のブロックチェーン実装は、時間とイベントの順序付けについて合意するためにノード間の広範な通信を必要とするコンセンサスメカニズムによって制限されている。この調整のオーバーヘッドがボトルネックを生み出し、既存のブロックチェーンがグローバル規模のアプリケーションの需要に対応するためのスケーリングを妨げている。

核心的な問題は時間である。分散システムにおいて、ノードは他のノードのタイムスタンプが正確であることを信頼できないため、外部の時計に依存することができない。従来のブロックチェーンコンセンサスプロトコルは、ノードが現在の状態とトランザクションの順序について合意するために広範に通信することでこの問題を解決している。この通信のオーバーヘッドはスループットを根本的に制限する。ネットワークはノードが順序付けについてコンセンサスに達する速度でしかトランザクションを処理できないからである。

SolanaはこのタイミングProblemの解決策としてProof of Historyを導入する。PoHは、潜在的に悪意のあるアクターからのタイムスタンプに依存することなく、イベント間に一定の時間が経過したことを証明する暗号学的方法を提供する。検証可能な履歴記録を作成することで、PoHはノードがトランザクションを独立して処理しながら、イベントが発生した順序を証明できるようにする。このブレークスルーにより、ネットワークはトランザクション処理を並列化し、スループットを劇的に向上させることができる。

重要な洞察は、信頼不要な時間源を作成できれば、コンセンサスから調整のボトルネックを除去できるということである。PoHが暗号学的時計を提供することで、バリデータはトランザクションを並列に処理でき、正規の順序付けを確定するためにのみ通信する必要がある。このアーキテクチャの転換により、Solanaは分散型ブロックチェーンでは不可能と考えられていたパフォーマンスレベルを達成できる。

Introduction

ความท้าทายพื้นฐานในระบบบล็อกเชนคือการบรรลุปริมาณธุรกรรมที่สูงในขณะที่ยังคงรักษาการกระจายอำนาจและความปลอดภัยไว้ การใช้งานบล็อกเชนในปัจจุบันถูกจำกัดด้วยกลไกที่เป็นเอกฉันท์ ซึ่งจำเป็นต้องมีการสื่อสารที่กว้างขวางระหว่างโหนดเพื่อให้ตกลงเรื่องเวลาและการเรียงลำดับของเหตุการณ์ ค่าใช้จ่ายในการประสานงานนี้ทำให้เกิดปัญหาคอขวดที่ป้องกันไม่ให้บล็อกเชนที่มีอยู่ขยายขนาดเพื่อตอบสนองความต้องการของแอปพลิเคชันระดับโลก

ปัญหาหลักคือเวลา ในระบบแบบกระจาย โหนดไม่สามารถพึ่งพานาฬิกาภายนอกได้ เนื่องจากไม่สามารถเชื่อถือได้ว่าการประทับเวลาของโหนดอื่นนั้นแม่นยำ โปรโตคอลฉันทามติบล็อคเชนแบบดั้งเดิมจะแก้ปัญหานี้โดยให้โหนดสื่อสารอย่างกว้างขวางเพื่อตกลงกับสถานะปัจจุบันและลำดับของธุรกรรม ค่าใช้จ่ายในการสื่อสารนี้จำกัดปริมาณงานโดยพื้นฐาน เนื่องจากเครือข่ายสามารถประมวลผลธุรกรรมได้เร็วเท่ากับที่โหนดสามารถบรรลุความเห็นพ้องต้องกันในการสั่งซื้อเท่านั้น

Solana แนะนำ Proof of History เพื่อเป็นแนวทางแก้ไขปัญหาเรื่องเวลานี้ PoH จัดเตรียมวิธีการเข้ารหัสเพื่อพิสูจน์ว่าระยะเวลาหนึ่งผ่านไประหว่างเหตุการณ์ต่างๆ โดยไม่ต้องอาศัยการประทับเวลาจากผู้ที่อาจเป็นอันตราย ด้วยการสร้างบันทึกประวัติที่ตรวจสอบได้ PoH ช่วยให้โหนดสามารถประมวลผลธุรกรรมได้อย่างอิสระ ในขณะที่ยังคงสามารถพิสูจน์ลำดับของเหตุการณ์ที่เกิดขึ้นได้ ความก้าวหน้าครั้งนี้ทำให้เครือข่ายสามารถประมวลผลธุรกรรมแบบขนานและเพิ่มปริมาณงานได้อย่างมาก

ข้อมูลเชิงลึกที่สำคัญคือ ถ้าเราสามารถสร้างแหล่งที่มาของเวลาที่ไม่น่าไว้วางใจ เราก็สามารถขจัดปัญหาคอขวดของการประสานงานออกจากฉันทามติได้ ด้วย PoH ที่มีนาฬิกาเข้ารหัส validators สามารถประมวลผลธุรกรรมแบบขนาน และจำเป็นต้องสื่อสารเพื่อสรุปลำดับตามรูปแบบบัญญัติเท่านั้น การเปลี่ยนแปลงทางสถาปัตยกรรมนี้ช่วยให้ Solana บรรลุระดับประสิทธิภาพที่ก่อนหน้านี้คิดว่าเป็นไปไม่ได้ในบล็อกเชนแบบกระจายอำนาจ

Outline

本論文では、Proof of Historyが高性能ブロックチェーン運用をいかに実現するかに焦点を当て、Solanaの技術アーキテクチャを説明する。まず、PoHメカニズム自体について説明する。逐次的ハッシュチェーンがいかにしてイベントの検証可能な時間的順序付けを作成するかを解説する。PoHを安全にする暗号学的特性を詳述し、バリデータがPoHシーケンスを効率的に検証する方法を示す。

次に、PoHがProof of Stakeコンセンサスとどのように統合されるかを探る。PoHの時間的特性を活用するために特別に設計されたPoSアルゴリズムであるTower BFTについて説明する。この統合により、バリデータは特定のPoHタイムスタンプにおける台帳の状態に投票でき、高速かつ安全なコンセンサスメカニズムが実現される。また、悪意ある行動を防止するスラッシング条件についても説明する。

続いて、Solanaのネットワーク設計とデータ伝播プロトコルを提示する。Gulf Streamプロトコルは、mempoolを必要とせずにトランザクション転送を可能にし、クライアントが今後のリーダーに直接トランザクションを送信できるようにする。リーダーローテーションの仕組みと、リーダーシップが変わっても高スループットを維持する方法を説明する。

最後に、Transaction Processing Unit(TPU)、Sealevel並列ランタイム、データストレージ検証のためのProof of Replicationを含むシステムアーキテクチャについて論じる。性能予測は、Solanaが標準的なギガビットネットワーク上で毎秒70万以上のトランザクションを処理でき、ハードウェアの改善に伴いスループットがスケールすることを示している。

Outline

เอกสารนี้จะอธิบายสถาปัตยกรรมทางเทคนิคของ Solana โดยเน้นไปที่วิธีที่ Proof of History ช่วยให้การดำเนินงานบล็อกเชนมีประสิทธิภาพสูงได้อย่างไร ในขั้นแรกเอกสารจะอธิบายกลไก PoH เองว่า hash chain แบบต่อเนื่องสร้างการเรียงลำดับเหตุการณ์ชั่วคราวที่ตรวจสอบได้อย่างไร เราให้รายละเอียดเกี่ยวกับคุณสมบัติการเข้ารหัสที่ทำให้ PoH ปลอดภัย และสาธิตวิธีที่ validators สามารถตรวจสอบลำดับ PoH ได้อย่างมีประสิทธิภาพ

จากนั้น บทความนี้จะสำรวจว่า PoH ผสานรวมกับฉันทามติ Proof of Stake ได้อย่างไร เราอธิบาย Tower BFT ซึ่งเป็นอัลกอริทึม PoS ที่ออกแบบมาโดยเฉพาะเพื่อใช้ประโยชน์จากคุณสมบัติชั่วคราวของ PoH การผสานรวมช่วยให้ validators ลงคะแนนสถานะของ ledger ณ เวลาประทับ PoH ที่เฉพาะเจาะจง สร้างกลไกที่เป็นเอกฉันท์ที่ทั้งรวดเร็วและปลอดภัย นอกจากนี้เรายังอธิบายเงื่อนไขการตัดเฉือนที่ป้องกันพฤติกรรมที่เป็นอันตรายด้วย

ต่อไป เราจะนำเสนอการออกแบบเครือข่ายและโปรโตคอลการเผยแพร่ข้อมูลของ Solana โปรโตคอล Gulf Stream ช่วยให้สามารถส่งต่อธุรกรรมได้โดยไม่จำเป็นต้องใช้ mempool ช่วยให้ลูกค้าส่งธุรกรรมโดยตรงไปยังผู้นำที่กำลังจะมาถึง เราอธิบายวิธีการทำงานของการหมุนเวียนผู้นำ และวิธีที่เครือข่ายรักษาปริมาณงานที่สูง แม้ว่าผู้นำจะเปลี่ยนไปก็ตาม

สุดท้ายนี้ เราจะพูดถึงสถาปัตยกรรมระบบ รวมถึงหน่วยประมวลผลธุรกรรม (TPU), รันไทม์แบบขนาน Sealevel และ Proof of Replication สำหรับการตรวจสอบการจัดเก็บข้อมูล การคาดการณ์ประสิทธิภาพแสดงให้เห็นว่า Solana สามารถประมวลผลธุรกรรมได้มากกว่า 700,000 รายการต่อวินาทีบนเครือข่ายกิกะบิตมาตรฐาน โดยมีการปรับขนาดปริมาณงานเมื่อฮาร์ดแวร์ได้รับการปรับปรุง

Network Design

Solanaのネットワーク設計は、バリデータが交代でブロックを生成するローテーションリーダーシステムを中心としている。リーダーは、着信トランザクションをPoHストリームに順序付けし、結果のブロックをネットワークに公開する責任を持つ。リーダーはステーク加重アルゴリズムによって選出され、ローテーションスケジュールは事前に知られているため、ネットワークはトランザクション転送を最適化できる。

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

Gulf Streamプロトコルは、クライアントが今後のリーダーに直接トランザクションを転送できるようにすることで、従来のmempoolの必要性を排除する。クライアントがトランザクションを送信すると、ローテーションスケジュールに基づいて予想されるリーダーに転送される。現在のリーダーがトランザクションを処理できない場合、次の予想リーダーに転送される。この設計により確認レイテンシが短縮され、バリデータが事前にトランザクションを実行できるため、スループットがさらに最適化される。

トランザクション伝播はマルチレイヤーアプローチを使用する。クライアントはバリデータにトランザクションを送信し、バリデータは現在のリーダーまたは今後のリーダーに転送する。リーダーはトランザクションをPoHストリームに順序付けし、全体の順序付けを作成する。順序付けが完了すると、リーダーはPoHストリームとトランザクションデータをバリデータに送信し、バリデータはPoHシーケンスを検証してトランザクションを並列に実行する。

ネットワーク設計には、ブロックをより小さなパケットに分割し、ツリー構造でネットワーク全体に配布するTurbineブロック伝播プロトコルも含まれている。このアプローチにより、迅速なブロック伝播を確保しながら、個々のバリデータの帯域幅要件を最小化する。PoHのトランザクション順序検証能力と組み合わせることで、このアーキテクチャはSolanaが分散化を犠牲にすることなく高スループットを達成することを可能にする。

Network Design

การออกแบบเครือข่ายของ Solana มีศูนย์กลางอยู่ที่ระบบผู้นำแบบหมุนเวียน โดยที่ validators ผลัดกันสร้างบล็อก ผู้นำมีหน้าที่รับผิดชอบในการจัดลำดับธุรกรรมขาเข้าลงในสตรีม PoH และเผยแพร่บล็อกผลลัพธ์ไปยังเครือข่าย ผู้นำจะถูกเลือกผ่านอัลกอริธึมแบบถ่วงน้ำหนักเดิมพัน และทราบกำหนดการหมุนเวียนล่วงหน้า ช่วยให้เครือข่ายเพิ่มประสิทธิภาพการส่งต่อธุรกรรมได้

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

โปรโตคอลกัลฟ์สตรีมช่วยลดความจำเป็นในการใช้ mempool แบบเดิม โดยช่วยให้ลูกค้าสามารถส่งต่อธุรกรรมโดยตรงไปยังผู้นำที่กำลังจะมาถึงได้ เมื่อลูกค้าส่งธุรกรรม มันจะถูกส่งต่อไปยังผู้นำที่คาดหวังตามกำหนดการหมุนเวียน หากผู้นำปัจจุบันไม่สามารถประมวลผลธุรกรรมได้ ก็จะส่งต่อไปยังผู้นำที่คาดหวังคนถัดไป การออกแบบนี้ช่วยลดเวลาแฝงในการยืนยัน และอนุญาตให้ validators ดำเนินธุรกรรมล่วงหน้า เพิ่มประสิทธิภาพปริมาณงานให้ดียิ่งขึ้น

การเผยแพร่ธุรกรรมใช้วิธีการแบบหลายชั้น ลูกค้าส่งธุรกรรมไปที่ validators ซึ่งส่งต่อไปยังผู้นำปัจจุบันหรือที่กำลังจะมาถึง ผู้นำจัดลำดับธุรกรรมลงในสตรีม PoH สร้างการเรียงลำดับทั้งหมด เมื่อจัดลำดับแล้ว ผู้นำจะส่งสตรีม PoH และข้อมูลธุรกรรมไปยัง validators ซึ่งจะตรวจสอบลำดับ PoH และดำเนินธุรกรรมแบบขนาน

การออกแบบเครือข่ายยังรวมถึงโปรโตคอลการแพร่กระจายบล็อกกังหันที่แบ่งบล็อกออกเป็นแพ็คเก็ตขนาดเล็กและกระจายไปทั่วเครือข่ายในโครงสร้างแบบต้นไม้ วิธีการนี้จะช่วยลดความต้องการแบนด์วิธสำหรับ validators แต่ละรายการให้เหลือน้อยที่สุด ในขณะเดียวกันก็รับประกันการแพร่กระจายของบล็อกอย่างรวดเร็ว เมื่อรวมกับความสามารถของ PoH ในการตรวจสอบลำดับของธุรกรรม สถาปัตยกรรมนี้ช่วยให้ Solana บรรลุปริมาณงานสูงโดยไม่ต้องเสียสละการกระจายอำนาจ

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シーケンスはネットワーク全体の暗号学的時計として機能する。ハッシュチェーンは逐次的で検証可能であるため、任意のノードは、その間隔中に計算されたハッシュを示すだけで、2つのイベント間に一定の時間が経過したことを証明できる。これにより、ノードが外部のタイムスタンプを信頼したり、時間的順序付けを確立するために互いに調整したりする必要がなくなり、従来のブロックチェーンコンセンサスにおける根本的なボトルネックが除去される。

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 จะบันทึกจุดตรวจสอบเป็นระยะ โดยเผยแพร่ค่าแฮชปัจจุบันพร้อมกับจำนวนแฮชที่คำนวณตั้งแต่จุดตรวจสอบครั้งล่าสุด จุดตรวจสอบเหล่านี้อนุญาตให้ validators ตรวจสอบลำดับ 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

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シーケンスの検証は、チェーンをセグメントに分割することで並列化できる。例えば、バリデータは10,000ハッシュごとにPoHチェックポイントを受信する場合がある。チェックポイント間のシーケンスを検証するために、バリデータは10,000ハッシュを100ハッシュの100セグメントに分割し、各セグメントを独立して並列に検証し、セグメントが適切に接続されていることを確認できる。これにより、検証は利用可能なCPUコア数に応じて水平にスケールできる。

シーケンスは、2つのイベントが特定の順序で発生したことの効率的な証明もサポートする。カウンタ値nmn m)における2つのデータ挿入がある場合、nのイベントがmのイベントより前に発生したことを、それらの間のハッシュチェーンを確認することで誰でも検証できる。この特性により、Solanaはノードが継続的にオンラインであったり外部の時間源を信頼したりする必要なく、ネットワーク内のすべてのイベントの検証可能な履歴記録を作成できる。

Proof of History Sequence

ลำดับ Proof of History คือสายโซ่ต่อเนื่องของแฮช SHA-256 โดยแต่ละแฮชขึ้นอยู่กับเอาต์พุตก่อนหน้า ลำดับเริ่มต้นด้วยค่าเริ่มต้น ซึ่งถูกแฮชเพื่อสร้างเอาต์พุตแรก เอาต์พุตนี้จะกลายเป็นอินพุตสำหรับแฮชถัดไป และกระบวนการจะทำซ้ำอย่างไม่มีกำหนด ตัวสร้างยังรักษาตัวนับที่ติดตามจำนวนแฮชทั้งหมดที่คำนวณ ซึ่งทำหน้าที่เป็น "การประทับเวลา" ของ PoH สำหรับเหตุการณ์ใน ledger

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

เมื่อจำเป็นต้องแทรกข้อมูลลงในลำดับ (เช่น แฮชของธุรกรรมหรือลายเซ็น validator) ข้อมูลจะรวมกับสถานะแฮชปัจจุบันโดยใช้ฟังก์ชันผสมที่กำหนดขึ้น ตัวอย่างเช่น หากสถานะแฮชปัจจุบันคือ hash_n และเราต้องการแทรกข้อมูล D เราจะคำนวณ hash_{n+1} = SHA256(hash_n || D) โดยที่ || หมายถึงการต่อข้อมูลเข้าด้วยกัน จุดแทรกจะถูกบันทึกพร้อมกับค่าตัวนับ เพื่อพิสูจน์ว่ามีข้อมูล D อยู่ที่จุดเฉพาะนั้นในลำดับ

การตรวจสอบลำดับ PoH สามารถดำเนินการแบบขนานได้โดยการแยกสายโซ่ออกเป็นส่วนต่างๆ ตัวอย่างเช่น validator อาจได้รับจุดตรวจสอบ PoH ทุกๆ 10,000 แฮช ในการตรวจสอบลำดับระหว่างจุดตรวจสอบ validator สามารถแบ่งแฮช 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シーケンスがネットワーク中央値から大きく逸脱するリーダーからのブロックを拒否できる。

このタイムスタンプメカニズムは、分散システムにおける根本的な問題の1つを解決する。信頼できる中央機関なしに共通の時間概念を確立することである。PoHを分散型時計として使用することで、Solanaはバリデータがグローバルに一貫した順序付けを維持しながらトランザクションを並列に処理できるようにする。タイムスタンプはまた、トランザクションの有効期限、スケジュールされた操作、パフォーマンス測定などの時間ベースの機能の基盤も提供する。

Timestamp

Proof of History ทำหน้าที่เป็นนาฬิกากระจายอำนาจที่กำหนดเวลาให้กับเหตุการณ์โดยไม่ต้องอาศัยเวลาของนาฬิกาแขวน แฮช PoH แต่ละรายการแสดงถึง "เครื่องหมายถูก" ที่ไม่ต่อเนื่องของนาฬิกาเข้ารหัส และค่าตัวนับจะทำหน้าที่เป็นการประทับเวลา เนื่องจากสายแฮชเป็นแบบต่อเนื่องและตรวจสอบได้ การประทับเวลาเหล่านี้จึงไม่น่าเชื่อถือ ผู้สังเกตการณ์ทุกคนสามารถตรวจสอบได้ว่าการประทับเวลานั้นถูกต้องโดยการตรวจสอบสายแฮช

ใน Solana แต่ละ validator สามารถสร้างลำดับ PoH ของตัวเองได้เมื่อทำหน้าที่เป็นผู้นำ เมื่อ validators หมุนเวียนผู้นำ พวกเขาจะซิงโครไนซ์ลำดับ PoH ของตนโดยใช้จุดตรวจสอบที่ยืนยันล่าสุดจากผู้นำคนก่อน สิ่งนี้ทำให้มั่นใจถึงความต่อเนื่องของบันทึกชั่วคราว แม้ว่า validators ที่แตกต่างกันจะผลัดกันสร้างบล็อกก็ตาม เครือข่ายสร้างไทม์ไลน์ตามรูปแบบบัญญัติโดยบรรลุข้อตกลงร่วมกันว่าลำดับ PoH ใดที่จะยอมรับเป็นส่วนหนึ่งของ ledger อย่างเป็นทางการ

ระบบจะจัดการกับการเลื่อนของสัญญาณนาฬิกาและความแปรปรวนในประสิทธิภาพของฮาร์ดแวร์ผ่านการผสมผสานระหว่างการหมุนเวียนผู้นำและความเห็นพ้องต้องกัน หากผู้นำที่เป็นอันตรายหรือผิดพลาดพยายามสร้างการประทับเวลา PoH ในอัตราที่ไม่ถูกต้อง (เร็วเกินไปหรือช้าเกินไป) validators สามารถตรวจจับสิ่งนี้ได้โดยการเปรียบเทียบอัตราเห็บ PoH กับตัวสร้าง PoH ในพื้นที่ของตนเอง การเบี่ยงเบนอย่างมีนัยสำคัญจากอัตราที่คาดไว้บ่งบอกถึงปัญหา และ validators สามารถปฏิเสธบล็อกจากผู้นำที่มีลำดับ PoH แตกต่างจากค่ามัธยฐานของเครือข่ายมากเกินไป

กลไกการประทับเวลานี้แก้ปัญหาพื้นฐานประการหนึ่งในระบบแบบกระจาย: การสร้างแนวคิดทั่วไปเกี่ยวกับเวลาโดยไม่มีหน่วยงานกลางที่เชื่อถือได้ ด้วยการใช้ PoH เป็นนาฬิกากระจายอำนาจ Solana ช่วยให้ validators ประมวลผลธุรกรรมแบบขนานในขณะที่ยังคงรักษาลำดับที่สอดคล้องกันทั่วโลก การประทับเวลายังจัดเตรียมรากฐานสำหรับฟีเจอร์ตามเวลา เช่น การหมดอายุของธุรกรรม การดำเนินการตามกำหนดการ และการวัดประสิทธิภาพ

Proof of Stake Consensus

SolanaのコンセンサスメカニズムはTower BFTと呼ばれ、Proof of Historyの時間的特性を活用するために特別に設計されたProof of Stakeアルゴリズムである。バリデータはSOLトークンをステークしてコンセンサスに参加し、ブロックの正確な検証に対して報酬を得る。ステーク加重投票システムにより、ネットワークにより多くの経済的利害関係を持つバリデータがコンセンサス決定に比例してより多くの影響力を持つことが保証される。

Tower BFTの核心的なイノベーションは、連続投票ごとに指数関数的に増加するロックアウト期間の使用である。バリデータがPoHハッシュに投票すると、一定数のPoHティックの間、台帳のそのフォークにコミットする。そのフォークの次のブロックに投票すると、ロックアウト期間は倍増する。これにより、バリデータが同じフォークで投票を続ける強い経済的インセンティブが生まれる。フォークの切り替えには以前のロックアウトの期限切れを待つ必要があるからである。

具体的には、バリデータがPoHタイムスタンプtでブロックに投票した場合、2^nティックが経過するまで競合するフォークに投票できない。ここでnは現在のフォークで行った連続投票の数である。この指数関数的ロックアウトメカニズムにより、システムは高速なファイナリティを可能にしながら、長距離攻撃に対して安全になる。ステークの超過半数が十分な深さでブロックに投票すると、そのブロックは事実上確定される。

スラッシング条件は正直な行動を強制する。バリデータがロックアウトされているはずの期間中に2つの競合するフォークに投票した場合、スラッシングされる。ステークされたトークンは部分的に破壊され、バリデータセットから除外される。これにより、二重投票やその他のビザンチン行動を試みることが経済的に非合理的になる。PoHの検証可能なタイムスタンプとTower BFTの指数関数的ロックアウトの組み合わせにより、従来のBFTシステムのセキュリティ保証を維持しながら、数秒でファイナリティを達成する高速かつ安全なコンセンサスメカニズムが実現される。

Proof of Stake Consensus

กลไกฉันทามติของ Solana ที่เรียกว่า Tower BFT เป็นอัลกอริธึม Proof of Stake ที่ออกแบบมาโดยเฉพาะเพื่อใช้ประโยชน์จากคุณสมบัติชั่วคราวของ Proof of History ผู้ตรวจสอบจะเดิมพันโทเค็น SOL เพื่อเข้าร่วมฉันทามติและรับรางวัลจากการตรวจสอบความถูกต้องของบล็อก ระบบการลงคะแนนแบบถ่วงน้ำหนักหุ้นทำให้มั่นใจได้ว่า validators ที่มีผลประโยชน์ทางเศรษฐกิจมากกว่าในเครือข่ายจะมีอิทธิพลเหนือการตัดสินใจที่เป็นเอกฉันท์ตามสัดส่วนมากกว่า

นวัตกรรมหลักใน Tower BFT คือการใช้ระยะเวลาล็อคที่เพิ่มขึ้นแบบทวีคูณเมื่อมีการโหวตแต่ละครั้งติดต่อกัน เมื่อ validator โหวตให้กับแฮช PoH พวกเขายอมรับการแยกของ ledger สำหรับขีด PoH จำนวนหนึ่ง หากพวกเขาโหวตบล็อกถัดไปในทางแยกนั้น ระยะเวลาการล็อคจะเพิ่มเป็นสองเท่า สิ่งนี้สร้างแรงจูงใจทางเศรษฐกิจที่แข็งแกร่งสำหรับ validators ที่จะลงคะแนนเสียงบนส้อมเดิมต่อไป เนื่องจากการสลับส้อมจะต้องรอให้การล็อคก่อนหน้านี้หมดอายุ

โดยเฉพาะอย่างยิ่ง หาก validator โหวตบนบล็อกที่ประทับเวลา PoH t พวกเขาจะไม่สามารถลงคะแนนใน fork ที่ขัดแย้งกันจนกว่าเครื่องหมาย 2^n จะผ่านไป โดยที่ n คือจำนวนการโหวตติดต่อกันที่พวกเขาได้ทำบน fork ปัจจุบัน กลไกการล็อคแบบเอกซ์โปเนนเชียลนี้ทำให้ระบบปลอดภัยจากการโจมตีระยะไกล ในขณะเดียวกันก็ทำให้สามารถสรุปผลได้อย่างรวดเร็ว เมื่อเสียงข้างมากของเดิมพันได้ลงคะแนนในบล็อกที่มีความลึกเพียงพอ บล็อกนั้นก็จะได้รับการสรุปผลอย่างมีประสิทธิภาพ

เงื่อนไขที่รุนแรงบังคับใช้พฤติกรรมที่ซื่อสัตย์ หาก validator โหวตให้กับส้อมสองอันที่ขัดแย้งกันในช่วงเวลาที่ควรถูกล็อค โทเค็นเหล่านั้นจะถูกเฉือน — โทเค็นที่เดิมพันจะถูกทำลายบางส่วนและจะถูกลบออกจากชุด validator ซึ่งทำให้ไม่สมเหตุสมผลในเชิงเศรษฐกิจที่จะพยายามคลุมเครือหรือพฤติกรรม Byzantine อื่นๆ การผสมผสานระหว่างการประทับเวลาที่ตรวจสอบได้ของ PoH และการล็อกเอาท์แบบเอ็กซ์โปเนนเชียลของ Tower BFT ทำให้เกิดกลไกที่เป็นเอกฉันท์ที่ทั้งรวดเร็วและปลอดภัย โดยบรรลุผลขั้นสุดท้ายในไม่กี่วินาที ขณะเดียวกันก็รักษาการรับประกันความปลอดภัยของระบบ BFT แบบดั้งเดิม

Streaming Proof of Replication

Proof of Replication(PoRep)は、バリデータがデータ自体を明かしたり計算集約的な処理を必要としたりすることなく、台帳データを保存していることを証明できるメカニズムである。SolanaはPoRepのストリーミングバージョンを実装しており、バリデータはブロックチェーンの状態を複製していることを継続的に実証する。これはネットワークセキュリティにとって不可欠であり、台帳データがバリデータ間で適切に分散され、少数の場所に集中していないことを保証する。

PoRepメカニズムは、バリデータがそのIDから派生したバリデータ固有のキーを使用して、CBC(Cipher Block Chaining)モード暗号化で台帳のセグメントを暗号化することで機能する。暗号化プロセスは、各暗号化ブロックが前のブロックに依存するようになっており、各バリデータに固有のチェーンを作成する。これにより、バリデータが互いの暗号化データを単にコピーすることが防止される。各バリデータは、固有の暗号化バージョンを生成するために、元の台帳データを保存して処理しなければならない。

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

定期的に、ネットワークはバリデータに特定の暗号化ブロックの提供を要求するチャレンジを発行する。暗号化はチェーンされているため、バリデータは正しい応答を生成するためにすべての先行ブロックを保存していなければならない。バリデータは暗号化ブロックとともに、暗号化台帳内のその位置を示すMerkle証明を提出する。ネットワークはデータを復号化または再暗号化する必要なく、この証明を迅速に検証できる。

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

このPoRepへのストリーミングアプローチは、従来のproof-of-storageシステムと比較して低いオーバーヘッドを持つ。バリデータはデータの到着時に暗号化でき、最小限のレイテンシでチャレンジに応答できる。システムはデータ損失の場合のリカバリも可能にする。バリデータが台帳の一部を失った場合、他のバリデータからダウンロードして再暗号化できる。PoRepとPoHタイムスタンプの組み合わせにより、ネットワークがデータの作成時期とバリデータネットワーク全体に適切に保存されていることの両方を検証できる完全な説明責任システムが作成される。

Streaming Proof of Replication

Proof of Replication (PoRep) เป็นกลไกที่ช่วยให้ validators พิสูจน์ได้ว่ากำลังจัดเก็บข้อมูล ledger โดยไม่ต้องเปิดเผยข้อมูลหรือต้องใช้การคำนวณอย่างเข้มข้น Solana ใช้ PoRep เวอร์ชันสตรีมมิ่ง โดยที่ validators แสดงให้เห็นอย่างต่อเนื่องว่ากำลังจำลองสถานะบล็อกเชน นี่เป็นสิ่งสำคัญสำหรับการรักษาความปลอดภัยเครือข่าย เนื่องจากช่วยให้แน่ใจว่าข้อมูล ledger มีการกระจายอย่างเหมาะสมทั่วทั้ง validators และไม่กระจุกตัวอยู่ในตำแหน่งบางแห่ง

กลไก PoRep ทำงานโดยให้ validators เข้ารหัสเซ็กเมนต์ของ ledger โดยใช้การเข้ารหัสโหมด CBC (Cipher Block Chaining) พร้อมด้วยคีย์เฉพาะ validator ที่ได้มาจากข้อมูลระบุตัวตน กระบวนการเข้ารหัสนั้นทำให้แต่ละบล็อกที่เข้ารหัสนั้นขึ้นอยู่กับบล็อกก่อนหน้า สร้างสายโซ่ที่ไม่ซ้ำกันสำหรับแต่ละ validator การทำเช่นนี้จะป้องกันไม่ให้ validators คัดลอกข้อมูลที่เข้ารหัสจากกัน โดย validator แต่ละตัวจะต้องจัดเก็บและประมวลผลข้อมูล ledger ดั้งเดิมเพื่อสร้างเวอร์ชันที่เข้ารหัสที่ไม่ซ้ำกัน

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

เครือข่ายจะออกคำถามท้าทาย validators เป็นระยะ โดยขอให้จัดเตรียมบล็อกที่เข้ารหัสเฉพาะ เนื่องจากการเข้ารหัสเป็นแบบลูกโซ่ validator จะต้องจัดเก็บบล็อกก่อนหน้าทั้งหมดเพื่อสร้างการตอบสนองที่ถูกต้อง validator ส่งบล็อกที่เข้ารหัสพร้อมกับหลักฐาน Merkle ที่แสดงตำแหน่งใน ledger ที่เข้ารหัส เครือข่ายสามารถตรวจสอบหลักฐานนี้ได้อย่างรวดเร็วโดยไม่จำเป็นต้องถอดรหัสหรือเข้ารหัสข้อมูลอีกครั้ง

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

วิธีการสตรีมไปยัง PoRep นี้มีค่าใช้จ่ายต่ำเมื่อเทียบกับระบบพิสูจน์การจัดเก็บแบบดั้งเดิม เครื่องมือตรวจสอบสามารถเข้ารหัสข้อมูลเมื่อมาถึงและตอบสนองต่อความท้าทายโดยมีเวลาแฝงน้อยที่สุด ระบบยังเปิดใช้งานการกู้คืนในกรณีที่ข้อมูลสูญหาย หาก validator สูญเสียส่วนหนึ่งของ ledger ก็สามารถดาวน์โหลดใหม่จาก validators อื่นและเข้ารหัสอีกครั้งได้ การผสมผสานระหว่าง PoRep กับการประทับเวลา PoH จะสร้างระบบความรับผิดชอบที่สมบูรณ์ ซึ่งเครือข่ายสามารถตรวจสอบทั้งเมื่อมีการสร้างข้อมูลและจัดเก็บอย่างเหมาะสมผ่านเครือข่าย validator

System Architecture

Solanaのシステムアーキテクチャは、トランザクション処理の異なる段階が並列に行われるパイプラインとして設計されている。Transaction Processing Unit(TPU)は、着信トランザクションの処理を担当する中核コンポーネントである。TPUはいくつかの段階で構成される:fetch(トランザクションの収集)、署名検証、banking(トランザクション実行)、write(ストレージへのコミット)。各段階は異なるトランザクションに対して並列に動作し、CPUパイプラインと同様の仕組みである。

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

署名検証はGPUを使用して加速される。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を使用してデータの可用性を確保しながら、履歴台帳データの分散ストレージを提供する。これらのコンポーネントが一体となり、ブロックチェーンの分散化とセキュリティ特性を維持しながら毎秒数十万のトランザクションを処理できるシステムを構築する。

System Architecture

สถาปัตยกรรมระบบของ Solana ได้รับการออกแบบให้เป็นไปป์ไลน์ที่ขั้นตอนต่างๆ ของการประมวลผลธุรกรรมเกิดขึ้นพร้อมกัน หน่วยประมวลผลธุรกรรม (TPU) เป็นองค์ประกอบหลักที่รับผิดชอบในการจัดการธุรกรรมที่เข้ามา TPU ประกอบด้วยหลายขั้นตอน: ดึงข้อมูล (รวบรวมธุรกรรม) การตรวจสอบลายเซ็น การธนาคาร (การดำเนินการธุรกรรม) และการเขียน (ยินยอมที่จะจัดเก็บข้อมูล) แต่ละขั้นตอนดำเนินการแบบขนานในธุรกรรมที่แตกต่างกัน คล้ายกับการวางท่อ CPU

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 สร้างการเรียงลำดับทั่วโลก — validators สามารถทำธุรกรรมในลำดับใดก็ได้ ตราบใดที่ธุรกรรมเหล่านั้นใช้กับสถานะในลำดับที่ระบุ PoH

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

สถาปัตยกรรมยังรวมถึงส่วนประกอบที่ได้รับการปรับปรุงสำหรับการแพร่กระจายและการจัดเก็บข้อมูลแบบบล็อก โปรโตคอลการแพร่กระจายบล็อกกังหันใช้การเข้ารหัสการลบข้อมูลเพื่อแบ่งบล็อกออกเป็นแพ็กเก็ตขนาดเล็กที่กระจายไปทั่วเครือข่ายในโครงสร้างแบบต้นไม้ ช่วยลดความต้องการแบนด์วิดท์ให้เหลือน้อยที่สุด เครือข่าย Archivers มอบพื้นที่จัดเก็บข้อมูลแบบกระจายอำนาจสำหรับข้อมูลประวัติ ledger โดยใช้ PoRep เพื่อรับรองความพร้อมใช้งานของข้อมูล ส่วนประกอบเหล่านี้ร่วมกันสร้างระบบที่สามารถประมวลผลธุรกรรมนับแสนรายการต่อวินาที ในขณะที่ยังคงรักษาคุณสมบัติการกระจายอำนาจและความปลอดภัยของบล็อกเชน

Performance

Solanaのアーキテクチャは、ムーアの法則に従ってハードウェアの改善とともにスケールするパフォーマンスレベルを達成するように設計されている。標準的な1ギガビットネットワーク接続では、理論上の最大スループットは1トランザクションあたり176バイト(署名とメタデータを含む)を想定すると、毎秒約710,000トランザクションである。この計算はネットワーク帯域幅を主要なボトルネックとし、計算上のボトルネックは並列化によって除去されている。

署名検証はブロックチェーンパフォーマンスの制限要因となることが多いが、GPUの並列化を使用して加速される。単一のGPUは毎秒900,000以上のed25519署名を検証でき、これはネットワークスループット制限を超えている。これは署名検証がシステムのパフォーマンスを制約しないことを意味する。ボトルネックはネットワーク帯域幅とトランザクション実行に移行する。複雑なスマートコントラクトロジックを含まない単純な価値移転トランザクションの場合、bankingステージはネットワーク入力レートに匹敵するレートでトランザクションを処理できる。

PoHジェネレータは専用のCPUコア上で動作し、4GHzプロセッサ上でミリ秒あたり約4,000ハッシュを生成する。このレートで、PoHシーケンスは0.25マイクロ秒の粒度のタイムスタンプを提供し、毎秒数百万のトランザクションの順序付けに十分である。PoH生成の逐次的な性質はこのコンポーネントを並列化できないことを意味するが、スループットは十分に高く、全体的なシステムパフォーマンスを制限しない。

ハードウェアが改善されるにつれて、Solanaのスループットはそれに応じてスケールする。より高速なネットワーク、より強力なGPU、改善されたCPUはすべてより高いトランザクションレートに貢献する。システムはプロトコルの変更を必要とせずにこれらの改善を活用するように設計されている。このスケーラビリティアプローチは、逐次的コンセンサスメカニズムによって根本的に制限されるブロックチェーンとは対照的であり、Solanaがセキュリティと分散化の保証を維持しながら、分散型システムでは不可能と考えられていたパフォーマンスレベルを達成することを可能にする。

Performance

สถาปัตยกรรมของ Solana ได้รับการออกแบบมาเพื่อให้บรรลุระดับประสิทธิภาพที่ปรับขนาดได้ด้วยการปรับปรุงฮาร์ดแวร์ตามกฎของมัวร์ สำหรับการเชื่อมต่อเครือข่ายมาตรฐาน 1 กิกะบิต ปริมาณงานสูงสุดตามทฤษฎีจะอยู่ที่ประมาณ 710,000 ธุรกรรมต่อวินาที โดยถือว่า 176 ไบต์ต่อธุรกรรม (รวมลายเซ็นและข้อมูลเมตา) การคำนวณนี้อิงตามแบนด์วิดท์เครือข่ายที่เป็นคอขวดหลัก โดยที่คอขวดในการคำนวณจะถูกลบออกผ่านการทำขนาน

การตรวจสอบลายเซ็นซึ่งมักเป็นปัจจัยจำกัดในประสิทธิภาพของบล็อกเชน จะถูกเร่งให้เร็วขึ้นโดยใช้ GPU แบบขนาน GPU ตัวเดียวสามารถตรวจสอบลายเซ็น ed25519 ได้มากกว่า 900,000 รายการต่อวินาที ซึ่งเกินขีดจำกัดปริมาณงานของเครือข่าย ซึ่งหมายความว่าการตรวจสอบลายเซ็นไม่ได้จำกัดประสิทธิภาพของระบบ — คอขวดจะเปลี่ยนไปที่แบนด์วิดท์เครือข่ายและการดำเนินการธุรกรรม สำหรับธุรกรรมง่ายๆ ที่โอนเฉพาะมูลค่าโดยไม่มีตรรกะของสัญญาอัจฉริยะที่ซับซ้อน ขั้นตอนการธนาคารสามารถประมวลผลธุรกรรมในอัตราที่ตรงกับอัตราอินพุตของเครือข่าย

ตัวสร้าง PoH ทำงานบนแกน CPU เฉพาะ ซึ่งสร้างแฮชประมาณ 4,000 ต่อมิลลิวินาทีบนโปรเซสเซอร์ 4GHz ในอัตรานี้ ลำดับ 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 แสดงถึงความก้าวหน้าขั้นพื้นฐานในสถาปัตยกรรมบล็อกเชนโดยการแก้ปัญหาเรื่องเวลาที่จำกัดความสามารถในการปรับขนาดของ ledgers แบบกระจาย ด้วยการสร้างนาฬิกาเข้ารหัสลับที่ตรวจสอบได้ PoH ช่วยให้ validators สร้างการเรียงลำดับเหตุการณ์ชั่วคราวโดยไม่มีค่าใช้จ่ายด้านการสื่อสารที่ครอบคลุมซึ่งกำหนดโดยกลไกฉันทามติแบบดั้งเดิม นวัตกรรมนี้ช่วยขจัดปัญหาคอขวดที่สำคัญและช่วยให้การประมวลผลธุรกรรมสามารถขนานกันทั่วทั้งเครือข่ายได้

การบูรณาการ PoH เข้ากับส่วนประกอบของระบบที่ได้รับการปรับปรุง - การตรวจสอบลายเซ็นที่เร่งด้วย GPU การดำเนินการธุรกรรมแบบขนานผ่าน Sealevel และโปรโตคอลการแพร่กระจายบล็อกที่มีประสิทธิภาพ - สร้างบล็อกเชนที่สามารถประมวลผลธุรกรรมนับแสนรายการต่อวินาทีบนฮาร์ดแวร์สินค้าโภคภัณฑ์ ที่สำคัญกว่านั้น สถาปัตยกรรมได้รับการออกแบบให้ปรับขนาดได้ด้วยการปรับปรุงฮาร์ดแวร์ ซึ่งหมายความว่าประสิทธิภาพจะเพิ่มขึ้นอย่างต่อเนื่องเมื่อโปรเซสเซอร์เร็วขึ้นและเครือข่ายมีความสามารถมากขึ้น

การออกแบบของ Solana แสดงให้เห็นว่าประสิทธิภาพสูงและการกระจายอำนาจไม่ได้แยกจากกัน ด้วยการใช้ประโยชน์จาก PoH เป็นรากฐานสำหรับความเห็นพ้องต้องกันและการประสานงานของระบบ เครือข่ายบรรลุระดับการรับส่งข้อมูลที่เทียบได้กับฐานข้อมูลแบบรวมศูนย์ ในขณะที่ยังคงรักษาคุณสมบัติด้านความปลอดภัยและการต้านทานการเซ็นเซอร์ของบล็อกเชนแบบกระจายอำนาจ กลไกฉันทามติ Tower BFT แบบถ่วงน้ำหนักเดิมพันช่วยให้แน่ใจว่าเครือข่ายยังคงปลอดภัยจากนักแสดง Byzantine ในขณะที่บรรลุผลขั้นสุดท้ายอย่างรวดเร็ว

การนำสถาปัตยกรรมนี้ไปใช้ถือเป็นแนวทางปฏิบัติสำหรับเทคโนโลยีบล็อกเชนเพื่อขยายไปสู่การนำไปใช้ทั่วโลก แอปพลิเคชันที่ต้องการทรูพุตธุรกรรมสูง เช่น การแลกเปลี่ยนแบบกระจายอำนาจ แพลตฟอร์มเกม และระบบทางการเงิน สามารถสร้างบนโครงสร้างพื้นฐานแบบกระจายอำนาจอย่างแท้จริง โดยไม่กระทบต่อประสิทธิภาพการทำงาน Proof of History เปิดประตูสู่แอปพลิเคชันบล็อกเชนรุ่นใหม่ที่ก่อนหน้านี้ไม่สามารถทำได้เนื่องจากข้อจำกัดด้านความสามารถในการขยาย