9. Februar 2017 von Matthias Roth
Blockchain
Verwendungszwecke einer Blockchain
Eine Blockchain kann für sämtliche Dinge (Assets) genutzt werden, die zu einem bestimmten Zeitpunkt X genau einer bestimmten Person oder Organisation gehören dürfen. Es sind demnach alles Assets, 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 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 große Herausforderung geworden ist. Wenn wir elektronisch ein Musikstück, eine E-Mail oder einen Teil einer Software versenden, so ist dies immer eine Kopie. Es ist praktisch unmöglich mit Sicherheit festzustellen, welcher Nutzer wem, wann, was und wie viel übergeben hat. Noch weniger ist sichergestellt, dass der ehemalige Besitzer den Besitz wirklich vollständig abgetreten hat. In der heutigen digitalen Welt, und insbesondere im Internet, kann etwas geteilt, jedoch nicht abschließend ü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 Assets sehr einfach weitergegeben werden, denn in der Blockchain ist jederzeit eindeutig ersichtlich, wer zum Zeitpunkt X im Besitz eines solchen Assets ist. Somit kann garantiert werden, dass z.B. ein digitales Geldstück nur von der Person weitergegeben werden kann, die es aktuell auch besitzt. Geld ist lediglich der erste Anwendungsfall – BitCoins sind aktuell bereits weit verbreitet. Es gibt unzählige Geschäftsfälle, die nach dem gleichen Prinzip abgewickelt werden müssen – die elektronischen Bescheinigungen von Gütern, das Übertragen von Besitztümern wie Häuser oder Land oder die Stimmabgabe bei amtlichen Wahlen, wo jeder Wähler genau eine Stimme hat. All dies kann mit der Blockchain-Technologie nun digital und mit geringem technischem Aufwand verarbeitet werden.
Die Blockchain ist so konzipiert, dass die digitalen Assets exakt die gleichen Eigenschaften haben wie Geld in der realen Welt. Die heikelste Eigenschaft hierbei ist, dass Geld anonym ist. 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. Dasselbe Prinzip gilt auch 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 und somit kann die Übertragung (Transaktion) von einem Wallet ins andere nicht rückgängig gemacht werden. Der Unterschied zur realen Welt liegt in der Nachvollziehbarkeit des Besitzerwechsels. Denn den Beweis zu erbringen, dass ein reales Geldstück nicht rechtmäßig den Besitzer gewechselt hat, ist sehr schwierig.
Die Datenbank
Eine Blockchain besteht aus einer Datenbank, in der alle Transaktionen chronologisch abgelegt werden. Man kann also den gesamten Weg (Chain) eines Assets nachverfolgen. Da die Transaktionen in Blöcke zusammengefasst und diese miteinander verknüpft werden, ergibt sich daraus eine Blockchain.
Die Datenbank ist dabei nicht irgendwo zentral positioniert, sondern jeder Teilnehmer in einem Blockchain-Netzwerk hat die gesamte oder zumindest einen Teil der Datenbank bei sich lokal gespeichert. So kann die Datenbank nicht von einem einzelnen Teilnehmer 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 nicht mehr anonym. Doch das ist es weiterhin und genau dieser Umstand bringt uns zum zweiten wichtigen Bestandteil einer Blockchain: 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. 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 und das gleiche Protokoll unterstützt. Dies ist wie beim Austauschen von E-Mails, bei dem auch unterschiedlichste Programme miteinander kommunizieren können.
Das Mining
Im ganzen Prozess darf natürlich der Sicherheitsaspekt nicht vernachlässigt werden. Damit die Transaktion eines Assets als rechtmäßig erfolgt und in allen Datenbanken protokolliert wird, werden die Transaktionen durch spezielle Programme überprüft (mining oder 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, wird in allen Datenbanken geschrieben und die Handänderung ist vollzogen. Ist dies aber nicht der Fall, werden sämtliche Programme die Transaktion bzw. 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 über das 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.