You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: de/german-pension-poc/_implementation.tex
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ \subsection{OpenSource}
6
6
Der Quellcode des entwickelten Prototypen ist auf GitHub\footnote{\url{https://github.com/AsureNetwork/asure-dapp}} veröffentlicht und kann unter der ISC Lizenz\footnote{\url{https://github.com/AsureNetwork/asure-dapp/blob/master/LICENSE}} im Rahmen weiterer Softwareprojekte genutzt werden.
7
7
8
8
\paragraph*{}
9
-
Der Prototyp steht unter der Adresse \url{https://dapp.asure.io/} zum testen bereit.
9
+
Der Prototyp steht unter der Adresse \url{https://dapp.asure.io/} zum testen zur Verfügung.
10
10
11
11
\subsection{Anwendungsfälle}
12
12
Das deutsche gesetzliche Rentensystem basiert im Kern auf der Rentenformel, durch welche die Höhe der Rentenzahlung jedes Rentenempfänger ermittelt wird. Durch eine Vielzahl von Sonderregelungen gestaltet sich das Rentensystem jedoch sehr komplex, weshalb eine vollumfängliche Abbildung des Systems im Rahmen eines Prototypen nicht sinnvoll ist. Stattdessen wurden einige Anwendungsfälle ausgewählt, und im Umfang an die Anforderungen eines Prototypen angepasst.
Die Benutzeroberfläche des Prototypen wurde als Progressive Web App (PWA) entwickelt und für die Verwendung auf Mobilgeräten optimiert. Ein Webserver liefert die Webanwendung mittels HTTP/HTTPS an den Browser.
55
55
\\
56
-
Das Backend bildet ein Smart Contract-System, welches auf dem öffentlichen Ethereum Testnetz Rinkeby gehostet wird und mit dem die Benutzeroberfläche mittels HTTP/WebSockets kommuniziert. Für den Zugriff auf ein Ethereum Netz wird ein Ethereum Knoten (ggf. auch ein Ethereum Cluster für Ausfallsicherheit) benötigt. Im Rahmen des Prototypen verwenden wir hierzu Hosting Provider wie Infura und Cloudflare, welche entsprechende Ethereum Knoten hosten und zur Verfügung stellen.
56
+
Das Backend bildet ein Smart Contract-System, welches auf dem öffentlichen Ethereum Testnetz Rinkeby gehostet wird und mit dem die Benutzeroberfläche mittels HTTP/WebSockets kommuniziert. Für den Zugriff auf ein Ethereum Netz wird ein Ethereum Knoten (ggf. auch ein Ethereum Cluster für Ausfallsicherheit) benötigt. Im Rahmen des Prototypen verwenden wir hierzu Hosting Provider wie Infura und Cloudflare, welche entsprechende Ethereum Knoten hosten und zur Verfügung stellen.\footnote{Die Dezentralisierung und somit das Betreiben eigener Ethereum Knoten ist ein entscheidener Vorteil der Blockchain-Technologie. Durch die Verwendung von gehosteten Ethereum Gateways (Infura / Cloudflare) wird dieser Vorteil nicht genutzt.}
\paragraph*{OpenZeppelin Contracts} ist ein Framework aus modularen, wiederverwendbaren und sicheren Smart Contracts für das Ethereum-Netzwerk, geschrieben in Solidity.
72
72
73
-
\paragraph*{Truffle} ist ein Entwicklungsframework für Ethereum. Es bietet u.a. Funktionen für das Erstellen von automatisierten Tests, Deployment und Migration von Smart Contracts und das Verwalten von verschiedenen Ethereum Netzen wie z.B. ein lokales Entwicklungsnetz, oder das öffentliche Ethereum Testnetz Rinkeby.
73
+
\paragraph*{Truffle} ist ein Entwicklungsframework für Ethereum. Es bietet u.a. Funktionen für das Erstellen von automatisierten Tests, Deployments und Migrationen von Smart Contracts. Zudem können mit Truffle verschiedenen Ethereum Netwerke wie z.B. ein lokales Entwicklungsnetz, oder das öffentliche Ethereum Testnetz Rinkeby verwaltet werden.
74
74
75
-
\paragraph*{Ganache} ist eine Ethereum Software, welche speziell für die Entwicklung von Smart Contracts entwickelt wurde. Ganache bietet Erweiterungen um z.B. innerhalb von Unit Tests die Uhrzeit zu Manipulieren und somit auch Uhrzeitabhängige Funktionalitäten zu testen.
75
+
\paragraph*{Ganache} ist eine Ethereum Software, welche speziell für die Entwicklung von Smart Contracts entwickelt wurde. Ganache bietet Erweiterungen um z.B. innerhalb von Unit Tests die Uhrzeit zu Manipulieren und somit auch uhrzeitabhängige Funktionalitäten zu testen.
76
76
77
77
\paragraph*{Infura} bietet einen skalierbaren API-Zugriff auf öffentliche Ethereum-Netzwerke.
Copy file name to clipboardExpand all lines: de/german-pension-poc/_introduction.tex
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -37,14 +37,14 @@ \subsubsection{GDPR und der Datenschutz}
37
37
Ob und wie die GDPR konforme Implementierungen des deutschen Rentensystems auf der öffentlichen Ethereum-Blockchain implementiert werden können, soll in einem zukünftigen Projekt erforscht werden. Vielversprechend scheint die Verwendung von sogenannten Zero-Knowledge-Beweisen\footnote{\url{https://de.wikipedia.org/wiki/Zero-Knowledge-Beweis}} und die Überarbeitung bestehender Regelungen in Hinblick auf die Datensparsamkeit.
38
38
39
39
\subsubsection{Blockchain-Skalierung}
40
-
Die öffentliche Ethereum Blockchain kann zwischen 7-15 Transaktionen pro Sekunde (TPS) verarbeiten \cite{vitalikscale}. Pro Monat stehen demnach ca. 18-39 Millionen Transaktionen zur Verfügung. Auf der öffentlichen Ethereum Blockchain laufen diverse Anwendungen verschiedener Hersteller die sich dementsprechend auch gegenseitig beeinflußen. Benötigt eine Anwendung besonders viele Transaktionen, stehen diese dementsprechend nicht mehr für andere Anwendungen zur Verfügung \cite{cryptokitty}.
40
+
Die öffentliche Ethereum Blockchain kann 7-15 Transaktionen pro Sekunde (TPS) verarbeiten \cite{vitalikscale}. Pro Monat stehen demnach ca. 18-39 Millionen Transaktionen zur Verfügung. Auf der öffentlichen Ethereum Blockchain laufen diverse Anwendungen verschiedener Hersteller die sich dementsprechend auch gegenseitig beeinflußen. Benötigt eine Anwendung besonders viele Transaktionen, stehen diese dementsprechend nicht mehr für andere Anwendungen zur Verfügung \cite{cryptokitty}.
41
41
42
42
2018 umfasste die deutsche Rentenversicherung ca. 37,5 Millionen aktiv Versicherte und ca. 21,04 Millionen Rentner. \cite{rente2018,rentezahlen2019} Für ein Blockchain-basiertes Rentensystem, welches für jede Ein-, und Auszahlung genau eine Transaktion benötigt, würden so ca. 58,04 Millionen Transaktionen pro Monat erforderlich sein.
43
43
44
-
Dies ist nur eine simple Betrachtung und je nach Implementierung kann die Anzahl der benötigten Transaktionen für ein Blockchain-basiertes Rentensystem für Deutschland stark reduziert werden. Dennoch wird deutlich, dass insbesondere die öffentliche Ethereum Blockchain nicht die benötigte Anzahl an Transaktionen zur Verfügung stellt.
44
+
Dies ist nur eine simple Betrachtung und je nach Implementierung kann die Anzahl der benötigten Transaktionen für ein Blockchain-basiertes Rentensystem für Deutschland stark reduziert werden. Dennoch wird deutlich, dass insbesondere die öffentliche Ethereum Blockchain nicht über die entsprechenden Kapazitäten verfügt.
45
45
46
46
\paragraph*{}
47
-
Das Problem der Blockchain-Skalierung ist ein bekanntes Problem zu welchem diverse Lösungsvorschläge erforscht und erarbeitet werden \cite{scaling}. Im Rahmen dieser Arbeit wird das Thema Blockchain-Skalierung nicht betrachtet.
47
+
Das Problem der Blockchain-Skalierung ist ein bekanntes Problem zu welchem diverse Lösungsvorschläge erforscht und erarbeitet werden \cite{scaling}. Im Rahmen dieser Arbeit wird das Thema Blockchain-Skalierung nicht weiter betrachtet.
48
48
49
49
\subsubsection{Alternative Blockchain-Projekte}
50
50
Im Rahmen dieses Projektes haben wir uns ausschließlich auf die öffentliche Ethereum Blockchain und die dazugehörige Programmiersprache Solidity fokusiert.
0 commit comments