Technische Dokumentation AERGOSQL

in #blockchain6 years ago

https://paper.aergo.io/AERGO_SQL_Whitepaper_V1.0.pdf

Technische Dokumentation AERGOSQL
AERGOSQL: neu smart
Vertragsfahrer für
Blockchain

AERGO

Letzte Aktualisierung: 17. Juli 2018, AERGO

Seite 1
AERGOSQL: ein neuer intelligenter Vertragsnehmer für den Blockbuster.
Won-Beom Kim, Leiter des technischen Komitees der AERGO Limited

RECHTLICHER HAFTUNGSAUSSCHLUSS

Dieses Dokument bezieht sich auf das AERGO-Projekt und sollte zusammen mit dem unter https://AERGO.io verfügbaren Dokument gelesen werden. Dieses und andere Dokumente können von jedem geändert oder ersetzt werden, ohne dass Änderungen oder der Zugriff auf zusätzliche Informationen angekündigt werden.

Dieses Dokument ist nur eine allgemeine Information. Sie enthält zukunftsgerichtete Aussagen, die auf Überzeugungen sowie bestimmten Annahmen und Informationen des Autors beruhen. Es gibt keine Zusicherung oder Garantie in Bezug auf das Erreichen oder die Gültigkeit von Plänen, zukünftigen Prognosen oder Aussichten in diesem Artikel. Die in diesem Dokument geäußerten Meinungen und Ansichten sind ausschließlich die des Autors. Diese Aussagen sind kein Rat, kein Angebot irgendwelcher Art, noch verlassen sie sich für irgendeinen Zweck auf sie. Die AERGO-Plattform ist nicht für Wertpapiere oder andere regulierte Produkte in einem Land bestimmt. Bitte lassen Sie sich bei Bedarf von einem qualifizierten Fachmann beraten.

Dieses Dokument wurde von keiner Aufsichtsbehörde in irgendeiner Rechtsordnung überprüft. Verweise in diesem Dokument auf bestimmte Unternehmen, Netzwerke und / oder mögliche Verwendungen nur zu Illustrationszwecken. Zusätzlich zu den ausdrücklich genannten Partnern oder Lieferanten bedeutet die Verwendung anderer Firmennamen und / oder Plattformen und Marken keine Verbindung mit der Befürwortung einer dieser Parteien.

Seite 2

ABSTRAKTES TEIL

Dieses Dokument beschreibt AERGOSQL, den vorgeschlagenen intellektuellen Vertragsmechanismus, der auf der AERGO-Plattform operieren soll. Es umfasst ein grundlegendes Verständnis von Computer-Codierung, Smart Contracts, Programmierung und Blockierung.

Es wird davon ausgegangen, dass AERGOSQL das relationale Datenmodell und die Definition der Geschäftslogik über eine PL / SQL-ähnliche Skriptsprache unterstützt. AERGOSQL geht davon aus, dass Datenmodelle unter Verwendung der Datendefinitionssprache ("DDL") und einer manipulierten oder zugänglichen Datenbearbeitungssprache erstellt werden können. Geschäftslogik, die das Datenmodell verwendet, kann erstellt und als PL / SQL-ähnliche Syntax bezeichnet werden.

Zur Unterstützung der Leistung auf Unternehmensebene bietet AERGOSQL die Möglichkeit, intelligente Vertrags- und Ausführungsdefinitionen über LLVM zu verarbeiten, um die JIT-Kompilierung zu verwenden (1). Die Unterstützung von Plug-in-Storage-Engines ermöglicht den Einsatz von skalierbaren Speichersystemen wie WiredTiger (2).

  1. PROBLEME MIT SMART CONTRACTS

Implementierungen, die in der Block-of-Sale-Implementierung implementiert werden, wie Ethereum, bevorzugen prozedurale, Turing-vollständige Unterstützung für intellektuelle Verträge (3). Während die prozessuale Unterstützung für intelligente Verträge flexiblere Anwendungen bietet, ermöglicht die Flexibilität auch mehr Fehler und Schwachstellen (4).

Da die meisten prozeduralen intelligenten Vertragssprachen dem Prinzip der objektorientierten Programmierung nachempfunden sind, wird der Zugriff auf Daten über verfahrenstechnische Verträge oft nach Speicherung von Daten im Speicher modelliert. Andere Arten von intelligenten Vertragssprachen unterstützen zuverlässigere Schnittstellen für Schlüsselspeicher und Dokumentenspeicher (5). Wir glauben jedoch, dass die Datenzugriffsfunktionalität, die von den prozeduralen intellektuellen Vertragssprachen angeboten wird, grundlegend für die reiferen NoSQL- oder SQL-Datenbanken ist und oft zu komplexen und zeitaufwendigen Implementierungen führt, um die dargestellten Einschränkungen zu umgehen.

  1. SQL- und SMART-VERTRÄGE

Relationale Datenmodelle und die SQL-Schnittstelle bieten viel effizientere Möglichkeiten, auf in Büchern gespeicherte Daten zuzugreifen und sie zu manipulieren als prozedurale Mittel. In der Tat, der Großteil der Geschäftslogik

Links:

  1. https://llvm.org/devmtg/2016-09/slides/Melnik-PostgreSQLLLVM.pdf
  2. http://www.wiredtiger.com/
  3. https://github.com/ethereum/wiki/wiki/White-Paper#scripting
  4. https://eprint.iacr.org/2016/1007.pdf
  5. https://medium.com/wearetheledger/hyperledger-fabric-couchdb-fantastic-queries-and-where-to-find-them-f8a3aecef767

Seite 3

von den meisten intellektuellen Verträgen erfordert, kann nur durch DDL und Einschränkungen dargestellt werden. Mit SQL entwickelte Skriptsprachen, zum Beispiel PL / SQL, bieten eine vollständigere Unterstützung für die Erstellung intelligenter Verträge. Die folgende Abbildung ist ein gutes Beispiel für ein implementiertes Kontoführungssystem mit PL / SQL.

1.png

Bilanzierungssystem mit PL / SQL implementiert

  1. ENTWURF ARGOSQL

Das vorgeschlagene Design von AERGOSQL besteht aus drei Funktionsebenen.
Frontend
Die AERGOSQL-Schnittstelle analysiert PL / SQL und erstellt eine ACT-Skriptdarstellung. Der PL / SQL-Dialekt, der für die Verwendung in erlaubten Registern optimiert ist, wird sowohl zur Vereinfachung als auch zur Vereinfachung verwendet

Seite 4

Funktionalität. ANTLR (6) wird verwendet, um EBNF für den PL / SQL-Dialekt zu verarbeiten und einen Parser in der GO-Sprache zu erzeugen.

OPTIMIERER

Basierend auf dem von der Schnittstelle ausgegebenen AST erstellt der Optimierer ein IR-Skript für den LLVM. Um die Leistung zu maximieren, weist der Optimierer dem IR die richtigen Ausführungsknoten zu.

BEC-ENDE

Backend AERGOSQL bietet eine Abstraktionsschicht für die Funktionen, die von den vom IR verwendeten Ausführungsknoten benötigt werden. Zur Optimierung stellt das Backend auch relevante Statistiken der gespeicherten Daten bereit. Bevorzugte Back-End-Auswahl im ursprünglichen WiredTiger-Design, aber AERGOSQL sollte in der Lage sein, jeden Datenspeicher im B-Tree- oder LSM-Baum zu verwenden.

Zur Unterstützung der verschiedenen Arten von Konsensusalgorithmen, die von verschiedenen Buchhaltungsbüchern implementiert werden, bietet AERGOSQL einen Punkt-zu-Block-Mechanismus für Rollback und Wiederherstellung. Mit dieser Funktionalität können Sie die Blockierung durch Reorganisation von Blöcken für die Verwendung von AERGOSQL implementieren.

4 ÜBERPRÜFUNG

Die bekannte SQL-Schnittstelle, die von AERGOSQL unterstützt wird, soll die Unterstützung von einfacheren Methoden für Entwickler bei der Erstellung von intellektuellen Verträgen blockieren. AERGOSQL möchte die Leistung und Skalierbarkeit verbessern, was es wiederum ermöglichen sollte, anspruchsvollere Präzedenzfälle auch im Blog zu implementieren.

Link

  1. http://www.antlr.org/

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 59232.68
ETH 2638.71
USDT 1.00
SBD 2.44