Dash-Plattform, DAPI und Drive

Nach dem Open-Sourcing der Repositorien zur Dash-Plattform, DAPI und Drive durch die Dash Core Group (DCG), freuen wir uns weitere Einblick in unsere Entwicklung zu geben. Bevor ich fortfahre, möchte ich einige Hintergründe liefern. Hierfür werde ich zunächst eine umfassende Einführung in das Dash-Zahlungsnetzwerk und dessen Vision für die Zukunft geben.

Dash ist ein Kryptowährungs- und P2P-Netzwerk, mit dem Einzelpersonen Geld für eine geringe Gebühr von weniger als einem Cent (0,01 USD) an jeden beliebigen Ort der Welt senden können. Hierbei ist die DCG eine der vielen Organisationen, die im Auftrag des Dash-Netzwerks arbeiten. Unsere Mission ist es, das benutzerfreundlichste Zahlungsnetzwerk der Welt aufzubauen. In dieser Hinsicht konzentrierten sich unsere Anstrengungen auf die Entwicklung unserer Technologie und den Aufbau von Partnerschaften mit Organisationen und Unternehmen. Evolution, die Vision von DCG zur Verbesserung des Dash-Netzwerks, umfasst verschiedene Initiativen. Dazu gehören die Verbesserung des Kernprotokolls und die Entwicklung der benutzerfreundlichsten Krypto-Wallet, die es bisher gab.

Dash-Plattform als Grundlage der Neuerungen

Um die Entwicklung dieser neuen Wallet sowie vieler anderer Anwendungsfälle zu vereinfachen, erstellt DCG die Dash-Plattform. Hierbei handelt es sich um eine Plattform zur Entwicklung von Anwendungen, die das MN-Netzwerk und die Blockchain von Dash nutzt. Bestehend aus den beiden Hauptkomponenten Drive und DAPI, verwandelt die Plattform das Dash p2p-Netzwerk in eine Cloud, über die Entwickler ihre Anwendungen integrieren können. In unserer MVP-Version fungiert die Plattform in erster Linie als „Database as a Service“. Dabei werden Datenverträge („Data Contracts“) verwendet, um benutzerdefinierte Datenstrukturen für Anwendungen zu definieren, diese Anwendungsdaten in unserem MN-Netzwerk zu speichern und diese Daten über unsere Blockchain zu notarisieren.

Während sich das DCG-Team noch in der aktiven Entwicklung befindet, lädt es die Community dazu ein, unseren Code zu überprüfen, unsere Sicherheit zu bewerten und auf dem Weg zu unserer Version 1.0 einen Beitrag zu unserer Entwicklung zu leisten.

Als Nächstes gehen wir auf die beiden Hauptkomponenten ein, welche die Dash Plattform umfassen: Drive (dezentraler Speicher) und DAPI (dezentrale API). Diese sind in Node.js geschrieben.

Drive, dezentraler Speicher im Dash MN-Netzwerk

Um Anwendungen in die Dash-Plattform zu integrieren, müssen Entwickler einen Data-Contract erstellen. Dieser Data-Contract beschreibt die Datenstrukturen, auf denen die Anwendung aufbaut. Dies entspricht dem Erstellen eines Schemas für eine Datenbank wie MongoDB.

Alle von den Benutzern der Anwendung erstellten Daten werden anhand dieses Vertrags validiert und überprüft. Nach erfolgreicher Validierung / Verifizierung werden die Anwendungsdaten auf Drive hochgeladen und dort in unserem MN-Netzwerk gespeichert. Als Gegenleistung für das Hosting dieser Daten erhalten die Inhaber der Masternodes Gebühren als Vergütung. Die Benutzer bezahlen diese Gebühren, ähnlich wie bei herkömmlichen Transaktionsgebühren. Diese Gebühren basieren auf vom Benutzer angeforderten Datenvorgängen wie Lesen, Schreiben und Speicherdauer. Wir aktualisieren unseren PoSe-Algorithmus (Proof-of-Service), um zu verfolgen, ob die Masternodes Drive hosten. Dieser erhalten für ihre Dienste am Netzwerk die entsprechende Entschädigung.

Daten werden über Zustandsübergänge („state transitions“) auf Drive hochgeladen. Hierbei handelt es sich um spezielle Transaktionen, die den Übergang des Zustands der Anwendung beschreiben. Eine Aufzeichnung der Zustandsübergänge der Anwendung wird in Drive gespeichert, sodass die Anwendungsdaten zu beliebigen Zeitpunkten angezeigt werden können. Dies bietet leistungsstarke Funktionen für Anwendungsfälle, die ein hohes Maß an Vertrauen zwischen mehreren unabhängigen Parteien erfordern. Diese Funktionalität erleichtert den Zugriff auf Aufzeichnungen, die gemäß unserem Konsensprotokoll gesichert und verifiziert wurden. Sie macht sie für alle Beteiligten überprüfbar. Einige Beispiele für Anwendungsfälle umfassen Chain-of-Custody, Digital Rights Management, Lieferkette, Eigentumsaufzeichnungen und Audit-Management.

Die Zustandsansicht der Anwendung zeigt den aktuellen Status der Daten an. Diese Daten werden in einer MongoDB-Instanz gespeichert und ermöglichen einen schnellen Zugriff. Die historischen Zustandsübergänge der Anwendung werden im IPFS gespeichert, wodurch die Anwendungsdaten auch an andere Knoten in unserem Netzwerk weitergegeben werden. Infolgedessen werden Anwendungsdaten mehrfach repliziert, um Anwendungsdaten vor Ausfallzeiten einzelner Knoten in unserem Netzwerk zu schützen.

DAPI, Dashs Dezentrale API

Nutzer können ihre Anwendungen über die DAPI (dæ-pi), unsere verteilte, dezentrale API, in die Dash-Plattform integrieren. DAPI ist eine HTTP-API, die JSON-RPC Endpunkte verfügbar macht. Über diese Endpunkte können Entwickler Anwendungsdaten über Drive senden und abrufen sowie die Blockchain abfragen und so die Funktionalität von Insight über eine entwickler-freundlichere Oberfläche replizieren. Tatsächlich bietet DAPI Entwicklern den gleichen Zugriff und die gleiche Sicherheit wie ein vollständiger Knoten, ohne dass Kosten und Wartungsaufwand anfallen.

Entwickler verwenden DAPI, um Zustandsübergänge zum Speichern in Drive zu senden. Die Gebühren für die Übermittlung dieser Zustandsübergänge bestehen aus festen Transaktionskosten, ähnlich einer normalen Transaktionsgebühr, und variablen Kosten. Die Größe der gespeicherten Daten bestimmt diesen Faktor. In einem typischen p2p-Netzwerk kann übermäßiges Ausnutzen an der Geschwindigkeit und Effizienz eines Netzwerks zehren. Dieses Problem mit Trittbrettfahrern wird durch die Struktur unserer Gebühren gelöst. Diese stellt sicher, dass die Masternodes auf einem Niveau angemessen kompensiert werden, das die Anforderungen des Netzwerks unterstützt.

Entwickler haben die Möglichkeit, sich direkt mit der DAPI zu verbinden oder eine von Dash Core Group bereitgestellte Client-Bibliothek zu verwenden. Diese initiale Client-Bibliothek, dapi-client, ist ein relativ einfacher API-Wrapper, der Funktionsaufrufe an unsere Endpunkte liefert. Schließlich werden wir eine robustere Client-Bibliothek mit erweiterten Funktionen veröffentlichen, die Entwicklern bei der Entwicklung komplexerer Plattformen und der Zahlungsabwicklung helfen soll.

Nächste Schritte

Unser erstes Ziel ist es, DAPI und Drive weiterhin aktiv zu entwickeln, um die Veröffentlichung der DashPay-Wallet zu unterstützen. Infolgedessen wird die Dash Plattform als Teil von Release 1.0 für die Entwicklung verfügbar sein. Nach dieser ersten Veröffentlichung werden wir die Plattform weiterentwickeln. Dadurch können wir den Entwicklern schließlich einen vollständigen Stack für die Entwicklung zur Verfügung stellen. Wir untersuchen aktiv zusätzliche Funktionen wie Objektspeicher, Datentrigger, Sharding, Entwicklertools und -frameworks, Speicher für Zustandsübergänge außerhalb des Netzwerks und mehr. Wenn Sie eine weitere Einblick in unsere Entwicklung der Dash Plattform und Evolution erhalten möchten, können Sie sich das Designdokument hier ansehen. Im Namen der DCG-Mitglieder möchte ich die Community einladen, sich uns bei der Entwicklung von Dash anzuschließen. Teilt uns hierfür eure Gedanken und eure PRs mit.

Orginalbeitrag von Dana Alibrandi