Ethereum Android

Your mobile Portal to Ethereum

Eine modular aufgebaute Softwareplattform um Ethereum basierte Blockchains sicher mit mobilen Endgeräten zu verbinden.

Die Idee hinter Ethereum Android war es, eine Plattform zu entwickeln, die die Umsetzung vielzähliger unterschiedlicher Anwendungsfälle ermöglicht, mit dem Ziel mobile Endgeräte mit Ethereum basierten Blockchains zu verbinden.

Die Plattform besteht aus drei Bereichen.

Das Secure Server Modul verbindet jede Ethereum basierte Blockchain sicher mit der Smartphone-Applikation.

Die Software Bibliothek stellt eine API bereit, um mit der Ethereum Virtual Machine zu interagieren. Somit können problemlos in alle Apps Blockchain Funktionalitäten integriert werden.

Die mobile Applikation ermöglicht Interaktionen mit allen Ethereum basierten Blockchains. Der Nutzer kann folglich: Anfragen an die Blockchain stellen, Transaktionen unterschreiben und mit Smart Contracts interagieren.

Secure Server Modul

Damit jegliche technische Infrastruktur (bereits bestehend oder neu aufgebaut) unterstützt werden kann, haben wir das bestehende Servermodul extrahiert, um die Sicherheitsebene in einen sicheren Lightweight Secure Proxy Server zu integrieren. Solange ein Blockchain Node ein JSON RPC aufweist, kann die von uns entwickelte Wallet-App damit kommunizieren.

Die Kombination aus dem Secure Proxy Server und der von uns entwickelten Krypto-Bibliothek Seccoco garantiert, dass jeder Verbindung zwischen Wallet-App und Blockchain Node Ende zu Ende verschlüsselt wird. Des Weiteren wird durch Seccoco sichergestellt, dass hochmoderne Verschlüsselungstechniken verwendet werden und dadurch die Integrität der Daten auf dem mobilen Endgerät gegeben ist.

Das Ziel, das wir mit diesem Ansatz verfolgen ist zu garantieren, dass Nutzerdaten integer sind, mit einem besonderen Augenmerk auf importierte Private Keys. Gleichzeitig kann ein hohes Maß an Flexibilität aufrechterhalten werden, da die meisten gängigen technischen Infrastrukturen unterstützt werden.

API der virtuellen Ethereum Maschine

Unsere Android Bibliothek ermöglicht es einer Android Applikation durch gewohnten Java Code sichere Blockchain Anfragen zu stellen. Entwickler können diese Bibliothek ohne weiteres spezifisches Wissen über Ethereum Programmierung (wie bspw. Nonce handling oder Serialization) zum Einsatz bringen. Stattdessen bietet die Bibliothek die Nutzung von bekannten und etablierten Java Interfaces an.

Die Client App fungiert dabei als eine Art Gatekeeper für alle Apps, die Zugang zur API bekommen sollen, ähnlich wie bei Google Play Services. Nutzer mit einem Ethereum Account können entscheiden, welche Art von Zugang sie einer spezifischen App gewähren möchten. Aktuell ist es so, dass jede „externe“ Blockchain Anfrage, manuell bestätigt werden muss.

Für die Zukunft ist geplant, dass dieser Vorgang automatisiert wird. Zum Beispiel kann ein Nutzer ein spezifisches Ausgabenlimit für eine App festlegen, die dann dazu autorisiert ist Transaktionen auszuführen bis diese festgesetzte Grenze erreicht ist. Vor allem für 2nd-Layer Applikationen wie Raiden and Plasma, können große Vorteile daraus entstehen.

Die Client App

Die Wallet App ist das Herzstück der Plattform. Wir haben sehr lange daran gearbeitet, um ein Gleichgewicht zwischen Sicherheit, Dezentralität, Datenschutz, Performance und einer guten UX zu finden.

Die Herausforderung dabei war die perfekte Kombination der verschiedenen Attribute, da diese schwer in Einklang und in ein Gleichgewicht zu bringen sind. Dezentralität und Performance oder auch Sicherheit und eine gute UX stellen eine Herausforderung in der Kombination dar.

Die Wallet App wurde ursprünglich entwickelt dieselben Features wie ein Web-Wallet zu beinhalten, ohne dabei mehr Komplexität zu besitzen. Nutzer können schnell und einfach zwischen verschiedenen Blockchains switchen, einen Gaspreis für Transaktionen festlegen und unsignierte Transaktionen exportieren und stattdessen bspw. mit einem Hardware-Wallet unterschreiben.

Jedoch haben wir bereits während der frühen Entwicklungsphase das Feedback der Nutzer erhalten, dass der eigentliche Nutzen der Blockchain nicht verstanden wird. Außerdem fühlen sie sich häufig von der vorhandenen Komplexität erschlagen und wissen nicht genau, was sie machen sollen.

Das Nutzerverhalten unterscheidet sich dabei grundlegend. Während einige glücklich sind, wenn sie Test-Ether zugesendet bekommen, weil sie davon überzeugt sind, dass es sich dabei um einen richtiges Ether handelt, haben sich andere beschwert, da sie das Konzept der Gaspreise nicht verstanden haben. Daher gehen sie davon aus, dass sie Geld mit der App verlieren.

Aktuell arbeiten wir an einem Update der Wallet App bei dem die Nutzererfahrung grundlegend verändert werden wird.

Transaction Relay

Als Bestandteil des Secure Proxys bietet das Transaction Relay die Möglichkeit Transaktionskosten auszusourcen und findet demnach im Kontext von industriellen Blockchain Applikationen Anwendung.

Es funktioniert wie folgt: Wenn ein Nutzer eine Transaktion ausführen möchte, dann analysiert das Relay den Inhalt (Sender, Empfänger, Dateninhalt) und entscheidet, ob bei dieser Transaktion die Transaktionskosten ausgesourced werden sollen oder nicht. Falls ja, wird gleichzeitig entschieden wer die Kosten bezahlen soll. Das Relay sendet dann sofort eine neue Transaktion in Höhe der Transaktionskosten der Orginaltransaktion, die dann bspw. vom Service Provider übernommen wird. Letztendlich wird die Transaktion mit dem Erhalt der Transaktionskosten durch den Nutzer in die Blockchain aufgenommen.

Durch die Trennung der Kosten von der eigentlichen Transaktion ist es möglich die Kosten vollständig von der eigentlichen Transaktion zu lösen und damit zwei eigenständige Bestandteile darstellen. Auf diese Art und Weise können Service Provider, die die eigentlichen Transaktionskosten bezahlen, entscheiden, wie sie diese für sich erstattet bekommen bzw. gedeckt werden. Beispielsweise können sie die benötigten Beträge in Form von Tokens von den Nutzern abziehen oder den Bezahlungsprozess gänzlich off-chain abwickeln.

Unser Ziel liegt darin, die vorhandene Komplexität für den Nutzer weitestgehend zu verstecken und die Interaktion mit Smart Contracts und Blockchain so einfach und reibungslos wie möglich zu gestalten. Unsere pragmatische und flexible Arbeitsweise hilft an dieser Stelle vor allem Unternehmen einen Mehrwert aus Blockchains zu schöpfen, da sie nicht mit der vorherrschenden Komplexität konfrontiert werden, sondern in erster Linie der Nutzen und die Funktionalität sichtbar sind.

Modularität der Plattform

Blockchain Technologie ermöglicht Unternehmen grundlegend neue Geschäftsmodelle zu nutzen und kann jegliche Art von Geschäfts- und Anwendungsfällen unterstützen. Obwohl Blockchain Technologie jedoch so bahnbrechend ist, handelt es sich dabei um eine immer noch neue Technologie und Firmen und Sektoren sind immer noch dabei herauszufinden, wie sie diese sinnvoll einsetzen können.

Damit jeder Anwendungsfall und jedes Geschäftsmodell adäquat unterstützt und umgesetzt werden kann, haben wir die Plattform modular und damit schnell anpassbar gestaltet.

Ein Kunde von Ethereum Android kann die vorhandenen Module individuell miteinander kombinieren, um eine für ihn perfekt zugeschnittene Lösung zu erhalten, die in dessen bestehende technische Infrastruktur integriert wird.

Was wir eigentlich damit sagen wollen ist, dass wir nicht auf Biegen und Brechen eine dezentrale Architektur aufbauen und somit das Rad nicht neuerfinden wollen. Vielmehr setzen wir Blockchain Technologie an der Stelle ein, an der ein wirklicher Mehrwert entsteht.

Kunden können entscheiden ob sie bspw. ein eigenes Storage Back-end in Verbindung mit ihrer mobilen Applikation möchten, während sie mit der Ethereum Public Blockchain interagieren.


Für mehr Informationen zu Ethereum Android lesen Sie ethereum-android.com