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

Von Anatoly Yakovenko · 2017

Abstract

Dieses Dokument stellt eine neue Architektur fuer eine Hochleistungs-Blockchain vor. Solana implementiert einen neuartigen Zeitmessungsmechanismus namens Proof of History (PoH) -- einen Beweis zur Verifizierung der Reihenfolge und des Zeitablaufs zwischen Ereignissen. PoH wird verwendet, um den Zeitablauf auf vertrauenslose Weise in einem Ledger zu kodieren und so einen historischen Datensatz zu erstellen, der beweist, dass ein Ereignis zu einem bestimmten Zeitpunkt stattgefunden hat.

Die zentrale Innovation besteht darin, dass PoH es den Knoten im Netzwerk ermoeglicht, eine zeitliche Reihenfolge von Ereignissen festzulegen, ohne miteinander kommunizieren zu muessen. Durch die Verwendung einer verifizierbaren Verzoegerungsfunktion, die als sequentielle Hash-Kette implementiert ist, erzeugt das System eine kryptographische Uhr, die eine Moeglichkeit bietet, den Zeitablauf zwischen Ereignissen zu verifizieren. Dies ermoeglicht es dem Netzwerk, Tausende von Transaktionen pro Sekunde zu verarbeiten und gleichzeitig die Dezentralisierung und Sicherheit aufrechtzuerhalten.

PoH ist mit einem Proof of Stake (PoS) Konsensmechanismus integriert. Die Kombination ermoeglicht eine hochoptimierte Blockchain-Architektur, in der Validatoren Transaktionen parallel verifizieren und effizient einen Konsens erreichen koennen. Das System ist darauf ausgelegt, mit dem Mooreschen Gesetz zu skalieren und Verbesserungen der Hardware-Leistung zu nutzen, um den Throughput zu erhoehen, ohne die Sicherheitsgarantien eines dezentralen Netzwerks zu opfern.

Abstract

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

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

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

Introduction

Die grundlegende Herausforderung bei Blockchain-Systemen besteht darin, einen hohen Transaktionsdurchsatz zu erreichen und gleichzeitig Dezentralisierung und Sicherheit aufrechtzuerhalten. Aktuelle Blockchain-Implementierungen sind durch ihre Konsensmechanismen eingeschränkt, die eine umfassende Kommunikation zwischen Knoten erfordern, um sich auf den Zeitpunkt und die Reihenfolge der Ereignisse zu einigen. Dieser Koordinationsaufwand führt zu einem Engpass, der die Skalierung bestehender Blockchains verhindert, um den Anforderungen globaler Anwendungen gerecht zu werden.

Das Kernproblem ist die Zeit. In verteilten Systemen können sich Knoten nicht auf externe Uhren verlassen, da sie nicht darauf vertrauen können, dass die Zeitstempel anderer Knoten korrekt sind. Herkömmliche Blockchain-Konsensprotokolle lösen dieses Problem, indem sie die Knoten umfassend kommunizieren lassen, um sich über den aktuellen Status und die Reihenfolge der Transaktionen zu einigen. Dieser Kommunikationsaufwand schränkt den Durchsatz grundsätzlich ein, da das Netzwerk Transaktionen nur so schnell verarbeiten kann, wie Knoten einen Konsens über ihre Reihenfolge erzielen können.

Solana führt Proof of History als Lösung für dieses Timing-Problem ein. PoH bietet eine kryptografische Methode zum Nachweis, dass zwischen Ereignissen eine bestimmte Zeitspanne vergangen ist, ohne auf Zeitstempel potenziell böswilliger Akteure angewiesen zu sein. Durch die Erstellung einer überprüfbaren historischen Aufzeichnung ermöglicht PoH den Knoten, Transaktionen unabhängig zu verarbeiten und gleichzeitig die Reihenfolge nachzuweisen, in der Ereignisse aufgetreten sind. Dieser Durchbruch ermöglicht es dem Netzwerk, die Transaktionsverarbeitung zu parallelisieren und den Durchsatz drastisch zu steigern.

Die wichtigste Erkenntnis ist, dass wir den Koordinationsengpass im Konsens beseitigen können, wenn wir eine vertrauenswürdige Zeitquelle schaffen können. Da PoH eine kryptografische Uhr bereitstellt, kann validators Transaktionen parallel verarbeiten und muss nur kommunizieren, um die kanonische Reihenfolge abzuschließen. Dieser architektonische Wandel ermöglicht es Solana, Leistungsniveaus zu erreichen, die zuvor in einer dezentralen Blockchain für unmöglich gehalten wurden.

Introduction

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

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

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

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

Outline

Dieses Papier beschreibt die technische Architektur von Solana und konzentriert sich darauf, wie Proof of History einen leistungsstarken Blockchain-Betrieb ermöglicht. Das Dokument erklärt zunächst den PoH-Mechanismus selbst – wie eine sequentielle Hash-Kette eine überprüfbare zeitliche Reihenfolge von Ereignissen erstellt. Wir beschreiben die kryptografischen Eigenschaften, die PoH sicher machen, und zeigen, wie validators die PoH-Sequenz effizient überprüfen kann.

Das Papier untersucht dann, wie sich PoH in den Proof of Stake-Konsens integrieren lässt. Wir beschreiben Tower BFT, einen PoS-Algorithmus, der speziell dafür entwickelt wurde, die zeitlichen Eigenschaften von PoH zu nutzen. Die Integration ermöglicht es validators, zu bestimmten PoH-Zeitstempeln über den Status von ledger abzustimmen, wodurch ein Konsensmechanismus entsteht, der sowohl schnell als auch sicher ist. Außerdem erläutern wir die Slashing-Bedingungen, die böswilliges Verhalten verhindern.

Als Nächstes stellen wir das Netzwerkdesign und die Datenverbreitungsprotokolle von Solana vor. Das Gulf Stream-Protokoll ermöglicht die Weiterleitung von Transaktionen ohne die Notwendigkeit eines Mempools, sodass Kunden Transaktionen direkt an aufstrebende Führungskräfte senden können. Wir beschreiben, wie die Führungsrotation funktioniert und wie das Netzwerk auch bei Führungswechseln einen hohen Durchsatz aufrechterhält.

Abschließend besprechen wir die Systemarchitektur, einschließlich der Transaction Processing Unit (TPU), der parallelen Sealevel-Laufzeit und des Replikationsnachweises zur Überprüfung der Datenspeicherung. Leistungsprognosen zeigen, dass Solana über 700.000 Transaktionen pro Sekunde in einem Standard-Gigabit-Netzwerk verarbeiten kann, wobei der Durchsatz mit zunehmender Hardware skaliert wird.

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

Das Netzwerkdesign von Solana basiert auf einem rotierenden Leader-System, in dem validators abwechselnd Blöcke produzieren. Der Leiter ist dafür verantwortlich, eingehende Transaktionen in den PoH-Stream zu sequenzieren und die resultierenden Blöcke im Netzwerk zu veröffentlichen. Die Auswahl der Leader erfolgt über einen stake-gewichteten Algorithmus, und der Rotationsplan ist im Voraus bekannt, sodass das Netzwerk die Transaktionsweiterleitung optimieren kann.

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

Das Gulf Stream-Protokoll macht einen herkömmlichen Mempool überflüssig, indem es Kunden ermöglicht, Transaktionen direkt an aufstrebende Führungskräfte weiterzuleiten. Wenn ein Kunde eine Transaktion einreicht, wird diese basierend auf dem Rotationsplan an den erwarteten Leiter weitergeleitet. Wenn der aktuelle Leiter die Transaktion nicht verarbeiten kann, leitet er sie an den nächsten erwarteten Leiter weiter. Dieses Design reduziert die Bestätigungslatenz und ermöglicht es validators, Transaktionen vorzeitig auszuführen, wodurch der Durchsatz weiter optimiert wird.

Die Transaktionsweitergabe verwendet einen mehrschichtigen Ansatz. Kunden senden Transaktionen an validators, der sie an den aktuellen oder kommenden Leiter weiterleitet. Der Leiter ordnet die Transaktionen in den PoH-Stream ein und erstellt so eine Gesamtordnung. Nach der Sequenzierung übermittelt der Leiter den PoH-Stream und die Transaktionsdaten an validators, der die PoH-Sequenz überprüft und die Transaktionen parallel ausführt.

Das Netzwerkdesign umfasst auch ein Turbinenblock-Propagationsprotokoll, das Blöcke in kleinere Pakete aufteilt und sie in einer Baumstruktur über das Netzwerk verteilt. Dieser Ansatz minimiert den Bandbreitenbedarf für einzelne validators und gewährleistet gleichzeitig eine schnelle Blockausbreitung. In Kombination mit der Fähigkeit von PoH, die Reihenfolge von Transaktionen zu überprüfen, ermöglicht diese Architektur Solana, einen hohen Durchsatz zu erreichen, ohne die Dezentralisierung zu beeinträchtigen.

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 ist eine überprüfbare Verzögerungsfunktion, die als sequentielle Hash-Kette mithilfe von SHA-256 implementiert wird. Der PoH-Generator berechnet kontinuierlich SHA-256-Hashes und verwendet jede Ausgabe als Eingabe für den nächsten Hash. Dadurch entsteht eine sequentielle Kette, in der jeder Hash erst nach dem vorherigen berechnet werden kann, wodurch eine überprüfbare zeitliche Reihenfolge entsteht. Der Rechenaufwand für die Generierung jedes Hashs erzwingt eine minimale Zeitverzögerung zwischen Ereignissen.

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

Die Haupteigenschaft von PoH besteht darin, dass es kostengünstig zu überprüfen, aber teuer in der Herstellung ist. Ein Verifizierer kann die gesamte Hash-Sequenz parallel überprüfen, indem er sie in Segmente aufteilt und jedes Segment einzeln überprüft und dann überprüft, ob die Segmente ordnungsgemäß verbunden sind. Die Generierung muss jedoch sequentiell erfolgen – es gibt keine Möglichkeit, die Ausgabe der Hash-Kette vorherzusagen, ohne jeden Zwischenschritt tatsächlich zu berechnen. Diese Asymmetrie zwischen Generierung und Verifizierung macht PoH praktisch.

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

Externe Ereignisse und Transaktionsdaten werden in die PoH-Sequenz eingefügt, indem sie in die Hash-Kette eingemischt werden. Wenn eine Transaktion eintrifft, wird ihr Hash mit dem aktuellen PoH-Status kombiniert, wodurch ein Datensatz erstellt wird, der beweist, dass die Transaktion zu diesem Zeitpunkt in der Sequenz existierte. Der PoH-Generator zeichnet regelmäßig Prüfpunkte auf und veröffentlicht den aktuellen Hash-Wert zusammen mit der Anzahl der seit dem letzten Prüfpunkt berechneten Hashes. Diese Prüfpunkte ermöglichen es validators, die PoH-Sequenz effizient zu überprüfen, ohne jeden Hash neu berechnen zu müssen.

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

Die PoH-Sequenz dient als kryptografischer Taktgeber für das gesamte Netzwerk. Da die Hash-Kette sequentiell und überprüfbar ist, kann jeder Knoten nachweisen, dass zwischen zwei Ereignissen eine bestimmte Zeitspanne vergangen ist, indem er einfach die in diesem Intervall berechneten Hashes anzeigt. Dadurch entfällt für Knoten die Notwendigkeit, externen Zeitstempeln zu vertrauen oder sich untereinander zu koordinieren, um eine zeitliche Reihenfolge festzulegen, wodurch ein grundlegender Engpass im traditionellen Blockchain-Konsens beseitigt wird.

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

Die Proof of History-Sequenz ist eine kontinuierliche Kette von SHA-256-Hashes, wobei jeder Hash von der vorherigen Ausgabe abhängt. Die Sequenz beginnt mit einem anfänglichen Startwert, der gehasht wird, um die erste Ausgabe zu erzeugen. Diese Ausgabe wird zur Eingabe für den nächsten Hash und der Vorgang wiederholt sich auf unbestimmte Zeit. Der Generator verwaltet außerdem einen Zähler, der die Gesamtzahl der berechneten Hashes verfolgt und als PoH-„Zeitstempel“ für Ereignisse im ledger dient.

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

Wenn Daten in die Sequenz eingefügt werden müssen (z. B. Transaktions-Hashes oder validator-Signaturen), werden sie mithilfe einer deterministischen Mischfunktion mit dem aktuellen Hash-Status kombiniert. Wenn der aktuelle Hash-Status beispielsweise „hash_n“ ist und wir Daten „D“ einfügen möchten, berechnen wir „hash_{n+1} = SHA256(hash_n || D)“, wobei „||“ die Verkettung bezeichnet. Der Einfügepunkt wird zusammen mit dem Zählerwert aufgezeichnet, was beweist, dass die Daten „D“ an diesem bestimmten Punkt in der Sequenz vorhanden waren.

Die Überprüfung der PoH-Sequenz kann durch Aufteilen der Kette in Segmente parallelisiert werden. Beispielsweise könnte ein validator alle 10.000 Hashes PoH-Prüfpunkte empfangen. Um die Reihenfolge zwischen Prüfpunkten zu überprüfen, kann validator die 10.000 Hashes in 100 Segmente zu je 100 Hashes aufteilen, jedes Segment unabhängig parallel überprüfen und dann überprüfen, ob die Segmente ordnungsgemäß verbunden sind. Dadurch kann die Verifizierung horizontal mit der Anzahl der verfügbaren CPU-Kerne skaliert werden.

Die Sequenz unterstützt auch effiziente Beweise dafür, dass zwei Ereignisse in einer bestimmten Reihenfolge aufgetreten sind. Bei zwei Dateneinfügungen bei den Zählerwerten „n“ und „m“, wobei „n m“ ist, kann jeder überprüfen, ob das Ereignis bei „n“ vor dem Ereignis bei „m“ stattgefunden hat, indem er die Hash-Kette zwischen diesen Punkten überprüft. Mit dieser Eigenschaft kann Solana eine überprüfbare historische Aufzeichnung aller Ereignisse im Netzwerk erstellen, ohne dass Knoten ständig online sein oder externen Zeitquellen vertrauen müssen.

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 fungiert als dezentrale Uhr, die Ereignissen Zeitstempel zuweist, ohne auf die Uhrzeit der Uhr angewiesen zu sein. Jeder PoH-Hash stellt einen diskreten „Tick“ der kryptografischen Uhr dar und der Zählerwert dient als Zeitstempel. Da die Hash-Kette sequentiell und überprüfbar ist, sind diese Zeitstempel nicht vertrauenswürdig – jeder Beobachter kann überprüfen, ob ein Zeitstempel legitim ist, indem er die Hash-Kette überprüft.

In Solana kann jeder validator seine eigene PoH-Sequenz generieren, wenn er als Leader fungiert. Wenn validators die Führung wechselt, synchronisieren sie ihre PoH-Sequenzen mit dem letzten bestätigten Kontrollpunkt des vorherigen Leiters. Dies stellt die Kontinuität der zeitlichen Aufzeichnung sicher, auch wenn verschiedene validators abwechselnd Blöcke erzeugen. Das Netzwerk legt einen kanonischen Zeitplan fest, indem es einen Konsens darüber erzielt, welche PoH-Sequenzen als Teil des offiziellen ledger akzeptiert werden sollen.

Das System bewältigt Taktabweichungen und Abweichungen in der Hardwareleistung durch eine Kombination aus Leader-Rotation und Konsens. Wenn ein böswilliger oder fehlerhafter Anführer versucht, PoH-Zeitstempel mit einer falschen Rate (zu schnell oder zu langsam) zu generieren, kann validators dies erkennen, indem es die PoH-Tick-Rate mit seinen eigenen lokalen PoH-Generatoren vergleicht. Erhebliche Abweichungen von der erwarteten Rate weisen auf ein Problem hin, und validators kann Blöcke von Anführern ablehnen, deren PoH-Sequenzen zu weit vom Netzwerkmedian abweichen.

Dieser Zeitstempelmechanismus löst eines der grundlegenden Probleme in verteilten Systemen: die Etablierung einer gemeinsamen Zeitvorstellung ohne eine vertrauenswürdige zentrale Autorität. Durch die Verwendung von PoH als dezentraler Uhr ermöglicht Solana validators die parallele Verarbeitung von Transaktionen unter Beibehaltung einer global konsistenten Reihenfolge. Die Zeitstempel bilden auch eine Grundlage für zeitbasierte Funktionen wie Transaktionsablauf, geplante Vorgänge und Leistungsmessung.

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

Der Konsensmechanismus von Solana, Tower BFT genannt, ist ein Proof of Stake-Algorithmus, der speziell dafür entwickelt wurde, die zeitlichen Eigenschaften von Proof of History zu nutzen. Validatoren setzen SOL-Token ein, um am Konsens teilzunehmen und Belohnungen für die korrekte Validierung von Blöcken zu erhalten. Das einsatzgewichtete Abstimmungssystem stellt sicher, dass validators mit größerem wirtschaftlichen Interesse am Netzwerk proportional mehr Einfluss auf Konsensentscheidungen haben.

Die Kerninnovation von Tower BFT ist die Verwendung von Sperrfristen, die mit jeder aufeinanderfolgenden Abstimmung exponentiell zunehmen. Wenn ein validator über einen PoH-Hash abstimmt, verpflichtet er sich für eine bestimmte Anzahl von PoH-Ticks zu diesem Fork des ledger. Wenn sie über den nächsten Block in diesem Fork abstimmen, verdoppelt sich die Sperrfrist. Dies schafft einen starken wirtschaftlichen Anreiz für validators, weiterhin über denselben Fork abzustimmen, da ein Wechsel der Forks das Abwarten früherer Sperrungen erfordern würde.

Insbesondere wenn ein validator zum PoH-Zeitstempel „t“ über einen Block abstimmt, kann er erst dann über einen widersprüchlichen Fork abstimmen, wenn „2^n“ Ticks vergangen sind, wobei „n“ die Anzahl der aufeinanderfolgenden Abstimmungen ist, die er am aktuellen Fork abgegeben hat. Dieser exponentielle Sperrmechanismus macht das System vor Angriffen aus großer Entfernung sicher und ermöglicht gleichzeitig eine schnelle Endgültigkeit. Sobald eine Mehrheit der Anteilseigner über einen Block mit ausreichender Tiefe abgestimmt hat, ist dieser Block effektiv abgeschlossen.

Schlechte Bedingungen erzwingen ehrliches Verhalten. Wenn ein validator während eines Zeitraums, in dem sie gesperrt werden sollten, über zwei widersprüchliche Forks abstimmt, werden sie gekürzt – ihre abgesteckten Token werden teilweise zerstört und sie werden aus dem validator-Satz entfernt. Dies macht es wirtschaftlich irrational, Zweideutigkeiten oder anderes Byzantine-Verhalten zu versuchen. Durch die Kombination der überprüfbaren Zeitstempel von PoH und der exponentiellen Sperren von Tower BFT entsteht ein Konsensmechanismus, der sowohl schnell als auch sicher ist und in Sekundenschnelle eine Endgültigkeit erreicht, während die Sicherheitsgarantien herkömmlicher BFT-Systeme erhalten bleiben.

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) ist ein Mechanismus, der es validators ermöglicht, nachzuweisen, dass die ledger-Daten gespeichert werden, ohne die Daten selbst preiszugeben oder intensive Berechnungen zu erfordern. Solana implementiert eine Streaming-Version von PoRep, bei der validators kontinuierlich nachweist, dass sie den Blockchain-Status replizieren. Dies ist für die Netzwerksicherheit von entscheidender Bedeutung, da dadurch sichergestellt wird, dass die ledger-Daten ordnungsgemäß über validators verteilt und nicht an einigen wenigen Orten konzentriert werden.

Der PoRep-Mechanismus funktioniert, indem validators Segmente des ledger mithilfe der Verschlüsselung im CBC-Modus (Cipher Block Chaining) mit einem validator-spezifischen Schlüssel verschlüsselt, der aus ihrer Identität abgeleitet wird. Der Verschlüsselungsprozess ist so, dass jeder verschlüsselte Block vom vorherigen Block abhängt, wodurch eine Kette entsteht, die für jeden validator einzigartig ist. Dadurch wird verhindert, dass validators einfach verschlüsselte Daten voneinander kopiert – jeder validator muss die ursprünglichen ledger-Daten speichern und verarbeiten, um seine eindeutige verschlüsselte Version zu generieren.

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

In regelmäßigen Abständen fordert das Netzwerk validators auf, bestimmte verschlüsselte Blöcke bereitzustellen. Da die Verschlüsselung verkettet ist, muss der validator alle vorhergehenden Blöcke gespeichert haben, um die richtige Antwort zu generieren. Der validator übermittelt seinen verschlüsselten Block zusammen mit einem Merkle-Beweis, der seine Position in seinem verschlüsselten ledger zeigt. Das Netzwerk kann diesen Beweis schnell überprüfen, ohne dass die Daten entschlüsselt oder erneut verschlüsselt werden müssen.

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

Dieser Streaming-Ansatz für PoRep hat im Vergleich zu herkömmlichen Proof-of-Storage-Systemen einen geringen Overhead. Validatoren können Daten bei ihrem Eintreffen verschlüsseln und mit minimaler Latenz auf Herausforderungen reagieren. Das System ermöglicht auch die Wiederherstellung im Falle eines Datenverlusts – wenn ein validator einen Teil des ledger verliert, können sie ihn von einem anderen validators erneut herunterladen und neu verschlüsseln. Durch die Kombination von PoRep mit PoH-Zeitstempeln entsteht ein vollständiges Verantwortlichkeitssystem, mit dem das Netzwerk sowohl überprüfen kann, wann Daten erstellt wurden, als auch, ob sie ordnungsgemäß im validator-Netzwerk gespeichert sind.

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

Die Systemarchitektur von Solana ist als Pipeline konzipiert, in der verschiedene Phasen der Transaktionsverarbeitung parallel stattfinden. Die Transaction Processing Unit (TPU) ist die Kernkomponente, die für die Abwicklung eingehender Transaktionen verantwortlich ist. Die TPU besteht aus mehreren Phasen: Abrufen (Sammeln von Transaktionen), Signaturüberprüfung, Banking (Transaktionsausführung) und Schreiben (Festlegen in die Speicherung). Jede Stufe arbeitet parallel an verschiedenen Transaktionen, ähnlich dem CPU-Pipelining.

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

Die Signaturüberprüfung wird mithilfe von GPUs beschleunigt, die bei den zur Überprüfung von Transaktionssignaturen erforderlichen Kryptographieoperationen mit elliptischen Kurven äußerst effizient sind. Durch die Verlagerung dieser rechenintensiven Aufgabe auf GPUs kann Solana Signaturen mit Geschwindigkeiten von mehr als 900.000 pro Sekunde auf handelsüblicher Hardware überprüfen. Diese parallele Signaturprüfung verhindert, dass die kryptografische Validierung selbst bei sehr hohen Transaktionsraten zu einem Engpass wird.

Solana PoH generator network throughput limits showing bandwidth and processing constraints

Die Sealevel-Laufzeit ist die parallele Smart-Contract-Ausführungs-Engine von Solana. Im Gegensatz zu herkömmlichen Blockchains, die Transaktionen nacheinander ausführen, analysiert Sealevel Transaktionen, um zu ermitteln, auf welche Konten sie zugreifen, und führt nicht widersprüchliche Transaktionen parallel über mehrere CPU-Kerne aus. Um die Konsistenz zu gewährleisten, werden Transaktionen, die auf dieselben Konten zugreifen, nacheinander ausgeführt. Transaktionen, die auf verschiedene Konten zugreifen, können jedoch gleichzeitig ausgeführt werden. Diese Parallelität ist möglich, weil PoH eine globale Reihenfolge festlegt – validators kann Transaktionen in beliebiger Reihenfolge ausführen, solange sie sie in der von PoH angegebenen Reihenfolge auf den Status anwenden.

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

Die Architektur umfasst auch optimierte Komponenten für die Blockausbreitung und -speicherung. Das Turbine-Block-Propagation-Protokoll verwendet Erasure-Coding, um Blöcke in kleinere Pakete aufzuteilen, die in einer Baumstruktur über das Netzwerk verteilt werden, wodurch der Bandbreitenbedarf minimiert wird. Das Archivers-Netzwerk bietet dezentralen Speicher für historische ledger-Daten und nutzt PoRep, um die Datenverfügbarkeit sicherzustellen. Zusammen bilden diese Komponenten ein System, das Hunderttausende Transaktionen pro Sekunde verarbeiten kann und gleichzeitig die Dezentralisierungs- und Sicherheitseigenschaften einer Blockchain beibehält.

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

Die Architektur von Solana ist darauf ausgelegt, Leistungsniveaus zu erreichen, die mit Hardware-Verbesserungen skalieren und dem Mooreschen Gesetz folgen. Bei einer standardmäßigen 1-Gigabit-Netzwerkverbindung beträgt der theoretische maximale Durchsatz etwa 710.000 Transaktionen pro Sekunde, wenn man von 176 Bytes pro Transaktion (einschließlich Signaturen und Metadaten) ausgeht. Diese Berechnung basiert auf der Netzwerkbandbreite als primärem Engpass, wobei Rechenengpässe durch Parallelisierung beseitigt werden.

Die Signaturüberprüfung, oft ein limitierender Faktor für die Blockchain-Leistung, wird durch GPU-Parallelisierung beschleunigt. Eine einzelne GPU kann über 900.000 ed25519-Signaturen pro Sekunde verifizieren, was die Netzwerkdurchsatzgrenze überschreitet. Dies bedeutet, dass die Signaturüberprüfung die Leistung des Systems nicht einschränkt – der Engpass verlagert sich auf die Netzwerkbandbreite und die Transaktionsausführung. Bei einfachen Transaktionen, die nur Werte ohne komplexe Smart-Contract-Logik übertragen, kann die Bankstufe Transaktionen zu Raten verarbeiten, die der Netzwerkeingangsrate entsprechen.

Der PoH-Generator läuft auf einem dedizierten CPU-Kern und erzeugt auf einem 4-GHz-Prozessor etwa 4.000 Hashes pro Millisekunde. Bei dieser Rate liefert die PoH-Sequenz Zeitstempel mit einer Granularität von 0,25 Mikrosekunden, was für die Bestellung von Millionen von Transaktionen pro Sekunde ausreicht. Aufgrund der sequentiellen Natur der PoH-Generierung kann diese Komponente nicht parallelisiert werden, der Durchsatz ist jedoch hoch genug, um die Gesamtsystemleistung nicht einzuschränken.

Wenn sich die Hardware verbessert, skaliert der Durchsatz von Solana entsprechend. Schnellere Netzwerke, leistungsstärkere GPUs und verbesserte CPUs tragen alle zu höheren Transaktionsraten bei. Das System ist so konzipiert, dass es diese Verbesserungen nutzt, ohne dass Protokolländerungen erforderlich sind. Dieser Skalierbarkeitsansatz steht im Gegensatz zu Blockchains, die grundsätzlich durch sequentielle Konsensmechanismen eingeschränkt sind, was es Solana ermöglicht, Leistungsniveaus zu erreichen, die in einem dezentralen System bisher für unmöglich gehalten wurden, und gleichzeitig Sicherheits- und Dezentralisierungsgarantien aufrechtzuerhalten.

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 stellt einen grundlegenden Durchbruch in der Blockchain-Architektur dar, indem es das Zeitproblem löst, das die Skalierbarkeit verteilter ledgers eingeschränkt hat. Durch die Erstellung einer überprüfbaren kryptografischen Uhr ermöglicht PoH validators, eine zeitliche Reihenfolge von Ereignissen festzulegen, ohne den umfangreichen Kommunikationsaufwand, der bei herkömmlichen Konsensmechanismen erforderlich ist. Diese Innovation beseitigt einen kritischen Engpass und ermöglicht die Parallelisierung der Transaktionsverarbeitung im gesamten Netzwerk.

Durch die Integration von PoH mit optimierten Systemkomponenten – GPU-beschleunigte Signaturüberprüfung, parallele Transaktionsausführung durch Sealevel und effiziente Blockausbreitungsprotokolle – entsteht eine Blockchain, die Hunderttausende Transaktionen pro Sekunde auf Standardhardware verarbeiten kann. Noch wichtiger ist, dass die Architektur darauf ausgelegt ist, mit Hardware-Verbesserungen zu skalieren, was bedeutet, dass die Leistung weiter steigt, wenn Prozessoren schneller und Netzwerke leistungsfähiger werden.

Das Design von Solana zeigt, dass sich hohe Leistung und Dezentralisierung nicht ausschließen. Durch die Nutzung von PoH als Grundlage für Konsens und Systemkoordination erreicht das Netzwerk einen Durchsatz, der mit zentralisierten Datenbanken vergleichbar ist, und behält gleichzeitig die Sicherheits- und Zensurresistenzeigenschaften einer dezentralen Blockchain bei. Der stake-gewichtete Tower-BFT-Konsensmechanismus stellt sicher, dass das Netzwerk vor Byzantine-Akteuren sicher bleibt und gleichzeitig eine schnelle Endgültigkeit erreicht.

Die Implementierung dieser Architektur bietet einen praktischen Weg für die Skalierung der Blockchain-Technologie zur weltweiten Einführung. Anwendungen, die einen hohen Transaktionsdurchsatz erfordern – wie dezentrale Börsen, Spieleplattformen und Finanzsysteme – können jetzt auf einer wirklich dezentralen Infrastruktur aufgebaut werden, ohne Kompromisse bei der Leistung einzugehen. Proof of History öffnet die Tür zu einer neuen Generation von Blockchain-Anwendungen, die bisher aufgrund von Skalierbarkeitsbeschränkungen nicht realisierbar waren.

Conclusion

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

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

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

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