16./17. Juni 2017

BlockChain – ein vielseitiges einsetzbares Instrument

Besuchen Sie zu diesem Thema den adesso Vortrag  "BlockChain - was ist das?" an den Informatiktagen!

Matthias Roth, Head of Java bei der adesso Schweiz AG und Leiter der internen Themengruppe BlockChain, zeigt in seinem Artikel wofür man eine BlockChain brauchen kann und wie sie funktioniert. Die Herleitung, warum sie funktioniert und weshalb sie absolut sicher ist (d.h. durch Menschenhand nicht korrumpierbar ist) wird im nachfolgenden Blog allerdings nicht thematisiert.

Verwendungszwecke einer BlockChain: Eine BlockChain kann man für sämtliche Dinge (Assets) brauchen, welche zu einem bestimmten Zeitpunkt X genau einer bestimmten Person oder Organisation gehören dürfen. Das heisst, dies sind alle Dinge, die durch das Weitergeben nicht dupliziert werden, sondern lediglich den Besitzer wechseln. Dieser Umstand ist auf den ersten Blick nicht wirklich spektakulär und erst recht nicht revolutionär. In einer rein gegenständlichen, physischen Welt ist dies sehr einfach zu handhaben, indem wir den betreffenden Gegenstand einfach jemandem weitergeben, z.B. einen Autoschlüssel, einen schönen Diamantring, einen Geldschein oder ein Bahnticket. Auf den zweiten Blick müssen wir aber feststellen, dass dies in der heutigen digitalen Welt eine sehr grosse Herausforderung geworden ist. Wenn wir elektronisch ein Musikstück, eine E-Mail oder ein Teil einer Software versenden, so ist dies immer eine Kopie. Es ist praktisch unmöglich mit Sicherheit festzustellen, wer wann wem von was wie viel übergeben hat und noch weniger ist sichergestellt, dass der ehemalige Besitzer den Besitz wirklich vollständig abgetreten hat und nicht mehr im Besitz des Assets ist. Das heisst konkret, in der heutigen digitalen Welt und insbesondere im Internet kann nur etwas geteilt, nicht aber abschliessend übergeben bzw. übertragen werden. Man spricht dabei vom „double spending problem“, für das es keine richtige Lösung gab  - bis die BlockChain Technologie kam.

Mit dieser Technologie können digitale Dinge (Assets) sehr einfach weitergegeben werden. In der BlockChain ist jederzeit eindeutig ersichtlich, wer zum bestimmten Zeitpunkt X im Besitz eines solchen Assets ist. Somit kann garantiert werden, dass z.B. ein digitales Geldstück nur von derjenigen Person weitergegeben werden kann, welche es aktuell auch besitzt. Geld ist lediglich der erste solche Anwendungsfall - BitCoins sind aktuell bereits weit verbreitet. Es gibt aber unzählige Geschäftsfälle, die nach dem genau gleichen Prinzip abgewickelt werden müssen, sei es bei elektronischen Bescheinigungen von Gütern, beim Übertragen von Besitztümern wie Häuser oder Land oder bei amtlichen Wahlen, wo jeder Wähler genau eine Stimme abgeben kann. All dies kann mit der BlockChain Technologie nun digital mit einem sehr geringen technischen Aufwand verarbeitet werden.

Die BlockChain ist so konzipiert, dass die digitalen Assets, die darüber verwaltet werden, exakt die gleichen Eigenschaften haben, wie Geld in der realen Welt. Die heikelste Eigenschaft hierbei ist, dass Geld anonym ist. Das heisst, der Besitzer eines Geldstücks ist derjenige, der es im Geldbeutel (Wallet) hat. Gelingt es einer anderen Person das Geldstück zu entwenden und es in seinen Besitz zu nehmen, so ist dieser der neue Besitzer. Den Beweis zu erbringen, dass das Geldstück nicht rechtmässig den Besitzer gewechselt hat, ist sehr schwierig. Dasselbe Prinzip gilt ebenfalls bei der BlockChain Technologie. Gelingt es einer Person ein digitales Asset zu entwenden und in sein Wallet zu übertragen, so gehört es dem neuen Besitzer. Die BlockChain kann durch Menschenhand nicht verändert werden, d.h. die Übertragung (Transaktion) von einem Wallet ins andere kann nicht rückgängig gemacht wird. Was hier allerdings ein deutlicher Unterschied ist, ist die Nachvollziehbarkeit des Besitzerwechsels.

Wie funktioniert die BlockChain:

Abbildung:  BlockChain Network

Die Datenbank
Eine BlockChain besteht aus einer Datenbank, in der alle Transaktionen (Handänderungen von einem bestimmten Asset) chronologisch abgelegt werden. Das heisst, man kann den gesamten Weg (Chain) eines Assets nachverfolgen. Da die Transaktionen in Blöcke zusammengefasst und diese miteinander verknüpft werden, ergibt sich daraus dann eben eine BlockChain.

Die Datenbank ist dabei nicht irgendwo zentral positioniert, sondern jeder Teilnehmer in einem BlockChain Netzwerk hat die gesamte oder einen Teil der Datenbank bei sich lokal gespeichert. Das bedeutet, die Datenbank kann von einem einzelnen Teilnehmer nicht gelöscht werden, sondern sie verschwindet nur dann vollständig, wenn jeder Teilnehmer seine lokale Kopie vernichtet.

Das Programm   
Nun könnte man meinen, wenn doch alles schön chronologisch festgehalten wird, so ist das Ganze doch nicht mehr anonym. Doch, das ist eben weiterhin und genau dieser Umstand bringt uns zum zweiten wichtigen Bestandteil einer BlockChain, nämlich dem Programm, das für den Datenaustausch bzw. Asset Austausch verantwortlich ist. Zum Austauschen eines Assets braucht es immer einen Sender und einen Empfänger. Beide haben eine eindeutige Identifikationsnummer, die in der Transaktion festgehalten wird. Somit ist generell nicht ersichtlich, welche natürliche oder juristische Person sich hinter dem Programm befindet, analog zu einer MAC Nummer eines Computers, die auch nichts über seinen Inhaber aussagt. Da die Programme direkt miteinander kommunizieren (Peer to Peer), braucht es keine weitere Infrastruktur, die zentral unterhalten werden muss und so können die Assets auf sehr einfache Weise übertragen werden.

Brauchen beide Teilnehmer das gleiche Programm? Nein, brauchen sie nicht. Sie brauchen lediglich beide ein Programm, das auf gleiche Weise funktioniert resp. das gleiche Protokoll unterstützt. Analog zum Austauschen von E-Mails, wo auch unterschiedlichste Programme miteinander kommunizieren können.

Das Mining
Im ganzen Prozess darf natürlich der Sicherheits-Aspekt nicht vernachlässigt werden. Damit die Übertragung (Transaktion) eines Assets als rechtmässig erfolgt und somit in allen Datenbanken protokolliert wird, werden die Transaktionen durch spezielle Programme überprüft (mining resp. Miner). Dabei löst das Mining Programm einen speziellen Algorithmus und stellt das Resultat sämtlichen Programmen im Netzwerk zur Prüfung zur Verfügung. Wenn die Mehrheit das genannte Resultat bestätigt (Prüfung positiv), gilt die Transaktion als gültig und wird in allen Datenbanken geschrieben und die Handänderung ist vollzogen. Ist dies aber nicht der Fall, werden sämtliche Programme die Transaktion resp. den Block ignorieren. Diese Prüfung kann je nach BlockChain Technologie zwischen wenigen Sekunden und 30 Minuten dauern.

Die Kommunikation
Sämtliche Transaktionen und begleitende Nachrichten werden übers Internet ausgetauscht. Dabei werden die Daten und die Nachrichteninhalte über ein standardisiertes Protokoll übermittelt.

Die BlockChain Technologie ist ein spannendes Themenfeld, das uns in der digitalen Welt immer mehr begleiten wird. Die adesso Schweiz AG hat deshalb eine interne BlockChain-Themengruppe gegründet, welche sich mit den fachlichen Aspekten, aber besonders auch mit den Technologien und Frameworks rund um die BlockChain auseinandersetzt.

Wollen Sie mehr über dieses spannende Thema erfahren? Besuchen Sie unseren Vortrag im Rahmen der Informatiktage. Hier finden Sie alle Informationen - bis bald an den Informatiktagen!