paint-brush
Letzte Meile der Blockchains: RPC und Node-as-a-Servicevon@blockchainize
379 Lesungen
379 Lesungen

Letzte Meile der Blockchains: RPC und Node-as-a-Service

Zu lang; Lesen

Das Dokument vergleicht verschiedene Methoden für den Zugriff auf Blockchains und zeigt die Vor- und Nachteile zwischen dem Betrieb eines vollständigen Knotens und der Nutzung von Diensten Dritter auf. Es kommt zu dem Schluss, dass der Betrieb eines vollständigen Knotens nach wie vor der sicherste Weg ist, auf Blockchain-Informationen zuzugreifen, und betont die Bedeutung von Integrität, Verfügbarkeit und Datenschutz bei zukünftigen Blockchain-Zugriffsdiensten.
featured image - Letzte Meile der Blockchains: RPC und Node-as-a-Service
Blockchainize Any Technology HackerNoon profile picture
0-item

Autoren:

(1) Zhongtang Luo, Purdue University ([email protected]);

(2) Rohan Murukutla, Supra ([email protected]);

(3) Aniket Kate, Purdue University / Supra ([email protected]).

Linktabelle

Zusammenfassung und I. Einleitung

II. Erwartungen an die Zugänglichkeit von Blockchain

III. Ansatz I: Ein Hauptbuch lokal verwalten – einen vollständigen Knoten ausführen

IV. Ansatz II: Abfrage eines Ledger-Node-As-A-Service (NAAS) eines Drittanbieters

V. Ansatz III: Light Node – Externe Abfrage und lokale Überprüfung

VI. Schlussbemerkung und Literaturhinweise


Zusammenfassung – Während sich viele Forschungsarbeiten auf verschiedene Methoden zur Sicherung von Blockchains konzentrieren, müssen Endbenutzer auf die Informationen in der Kette zugreifen können, um nützlich zu sein. Dieses Positionspapier untersucht verschiedene Möglichkeiten, wie Endbenutzer auf Blockchains zugreifen können. Wir beobachten, dass zwischen den beiden Extremen, einem vollständigen Knoten und der vollständigen Nutzung eines vertrauenswürdigen Drittanbieterdienstes, viele Lösungen für leichte Knoten entstehen. Wir analysieren diese Lösungen anhand von drei grundlegenden Eigenschaften der Webkommunikation: Integrität, Verfügbarkeit und Datenschutz. Wir kommen zu dem Schluss, dass derzeit der beste Weg, auf eine Blockchain zuzugreifen und gleichzeitig diese drei Eigenschaften beizubehalten, immer noch der Betrieb eines vollständigen Knotens ist. Wir halten es für wichtig, dass zukünftige Blockchain-Zugangsdienste unter Berücksichtigung dieser drei Erwartungen erstellt werden.

I. EINLEITUNG

Eine Blockchain ist eine Gruppe von Knoten, die versuchen, ein öffentlich überprüfbares und vor Manipulation geschütztes Transaktionsbuch zu führen. Seit ihrem ersten Vorschlag als Bitcoin [41] im Jahr 2009 haben Blockchains als Finanzinstrumente stark an Popularität gewonnen. Der Erfolg der meisten bekannten Blockchains wie Bitcoin und Ethereum [20] ist größtenteils auf ihre dezentrale Natur und ihre Fähigkeit zurückzuführen, komplexe Transaktionen mit fortschrittlichen kryptografischen Primitiven abzuwickeln. Da Blockchains derzeit einen großen Markt darstellen, haben sie das Potenzial, im 21. Jahrhundert zu einer führenden Innovation im Finanz- und E-Commerce-Sektor zu werden.


Ein Großteil der bestehenden Forschung und Innovation im Bereich der Blockchain-Infrastruktur konzentriert sich auf sichere und effiziente Möglichkeiten für die teilnehmenden Knoten, das öffentliche Hauptbuch (bekannt als Layer-1-Protokoll) zu pflegen. Wir weisen jedoch darauf hin, dass das Abrufen von Informationen aus einem gut gepflegten Hauptbuch ebenfalls kein triviales Problem ist. Wenn Blockchains im Alltag eine größere Rolle spielen sollen, muss sichergestellt werden, dass Blockchains für jeden Benutzer zugänglich bleiben – ein öffentliches Hauptbuch ist per Definition nur so lange nützlich, wie Menschen damit interagieren können.


Angesichts des in letzter Zeit wachsenden öffentlichen Interesses an Blockchains interagieren jeden Monat mehr Benutzer mit Blockchains. Bei beliebten Blockchains wie Ethereum werden täglich bis zu 875.000 Transaktionen durchgeführt [20]. Der Versuch, aus einer Flut von Transaktionen nützliche Informationen zu extrahieren, erfordert selbst für einen Standard-Blockchain-Benutzer, der kein gewinnbringendes Verhalten (wie Mining) betreibt, leistungsstarke Hardware. Es scheint, dass der Anreizmechanismus in den meisten Blockchains nicht darauf ausgelegt ist, dieses Problem zu lösen.


In den meisten Blockchain-Protokollen wie Bitcoin und Ethereum werden die teilnehmenden Knoten (Miner in Proof-of-Work-Systemen und Validierer in Proof-of-Stake-Systemen) dazu angeregt, das Ledger zu pflegen, indem sie eine kleine Gebühr erhalten, wenn sie einen neuen Block für das Ledger vorschlagen. Während die teilnehmenden Knoten in diesen Blockchain-Protokollen dazu angeregt werden, Transaktionen zu sammeln und Rohblöcke zu übertragen, um ihren Gewinn sicherzustellen, werden sie nicht dazu angeregt, verfeinerte Informationen über das von ihnen gepflegte Ledger zu veröffentlichen. Betrachten wir diese beiden Beispiele: (1) Ein Benutzer möchte wissen, wie viele Münzen sich in seiner Bitcoin-Wallet befinden. (2) Ein Benutzer möchte den aktuellen Status eines Smart Contracts wissen, den er ausführen möchte.


Ähnlich wie in diesen Beispielen beziehen sich die meisten Informationen, die Benutzer wissen möchten, nicht direkt auf die Rohblöcke, die Miner und Validierer veröffentlichen. Die Benutzer können ihre Vermögenswerte vollständig einer Drittanbieterbörse anvertrauen und Informationen von der Börse erhalten, aber dieser Ansatz ist erheblich riskant, wie der jüngste FTX-Zusammenbruch gezeigt hat [31]. Daher müssen Blockchain-Benutzer eine Methode entwickeln, um solche Informationen aus Blöcken zu extrahieren, entweder durch eigene Rechenleistung oder indem sie sich auf einen Drittanbieter verlassen.


In diesem Artikel vergleichen wir die beiden aktuellen Methoden, die Benutzer in der Praxis anwenden, um verfeinerte Informationen aus Blockchains zu erhalten. Eine Methode besteht darin, einen vollständigen Knoten lokal auszuführen. Diese Methode ist normalerweise in der Lage, viele Informationen aus der Blockchain zu extrahieren, ohne sich auf externe Daten zu verlassen. In einigen Fällen werden jedoch zusätzliche Indizes beibehalten, um eine schnellere Abfrage zu gewährleisten, wie z. B. Ethereum-Archivknoten und Solana RPC-Knoten. Die andere Methode besteht darin, sich auf einen Drittanbieter zu verlassen. Wir stellen den Trend fest, dass sich viele Benutzer mit steigenden Kosten für den Betrieb eines vollständigen Knotens, insbesondere bei Ethereum, an Dienste von Drittanbietern wenden, die ihre eigenen Sicherheitsrisiken bergen. Wir beobachten, dass der Betrieb eines vollständigen Knotens und die vollständige Nutzung eines vertrauenswürdigen Drittanbieterdienstes zwei Extreme in Bezug auf die Blockchain-Zugänglichkeit darstellen: eines mit minimaler Abhängigkeit und maximalen Hardwareanforderungen und eines mit maximaler Abhängigkeit und minimalen Hardwareanforderungen.


Wir stellen auch fest, dass den Benutzern spezielle Wallet-Software zur Verfügung steht, wenn die erforderlichen Daten auf der Blockchain spezifisch und begrenzt sind, z. B. wenn die Benutzer nur an einer Adresse interessiert sind, die sie besitzen. Während einige Wallet-Software einen externen Knoten direkt nach Daten abfragt, laden andere einen Teil der Blockchains herunter und analysieren ihn direkt nach den Informationen, die für die Benutzer von Interesse sind. Wir kategorisieren die Software als spezielle Light Nodes. In der Zwischenzeit skizzieren wir einen aktuellen Trend bei der Realisierung eines universellen Light Node, der alle Informationen bereitstellen kann


Abb. 1. Verschiedene Methoden, um auf Blockchains zuzugreifen und nützliche Informationen zu erhalten. Die Abhängigkeit von externen Ressourcen nimmt ab, während die Abhängigkeit von lokaler Hardwareleistung von oben nach unten zunimmt.


Benutzer, nicht nur eine Adresse [12], wie von Ethereum vorgeschlagen [24]. Die aktuelle Forschung umfasst auch sogenannte Ultralight Nodes wie Flyclient [10], die näher an der Nutzung eines Drittanbieterdienstes liegen, der zusätzlichen Kontext für die Verifizierung bereitstellt (in diesem Kontext auch als Prover bezeichnet), als traditionelle Light Nodes, die nur auf Full Nodes basieren. Abbildung 1 zeigt eine Liste verschiedener Methoden zum Zugriff auf Blockchains.


Wir denken, dass es trotz der vielen Möglichkeiten, auf Blockchains zuzugreifen, immer noch wichtig ist, die Grundlagen jedes Webdienstes zu prüfen: Integrität, Verfügbarkeit und Datenschutz. Die Blockchain selbst ist eine Technologie der Dezentralisierung, doch eine zu starke Abhängigkeit von einer kleinen Anzahl von Drittanbietern widerspricht dieser Prämisse. Ohne eine Methode zur Überprüfung der Richtigkeit der Daten kann die Integrität beeinträchtigt werden, wenn die besagten Drittanbieter falsche Daten bereitstellen. Bei einer zu starken Abhängigkeit von ausgewählten Drittanbietern zur Gewährleistung der Zugänglichkeit kann die Verfügbarkeit beeinträchtigt werden, wenn diese nicht in der Lage oder nicht bereit sind, Dienste bereitzustellen. Datenschutz ist auch ein Problem, das bei der Abfrage von Drittanbietern berücksichtigt werden muss.


Wir untersuchen vorhandene Protokolle auf dem Markt und stellen fest, dass viele von ihnen in mindestens einem dieser Aspekte fehlerhaft sein können. Derzeit ist der beste Weg, auf eine Blockchain zuzugreifen und gleichzeitig Integrität, Verfügbarkeit und Datenschutz zu wahren, immer noch, einen vollständigen Knoten lokal auszuführen. Wir halten es für wichtig, diese drei Aspekte beim Entwurf eines Protokolls zur Interaktion mit Blockchains zu berücksichtigen, um die Funktionalität sicherzustellen.