Blockchain zur Gewährleistung der Integrität der buchhalterischen Bewegungen

In diesem Artikel

Die Blockchain ist ein Sicherheits- und Zertifikationssystem, das die Integrität von Datensammlungen garantiert. Diese Technologie ermöglicht es, zu überprüfen, dass Daten nicht verändert wurden, und sich auf digitale Inhalte zu verlassen, unabhängig davon, wo sie sich befinden, was die Übertragung von Datenmengen reduziert. Die Blockchain entstand aus der Notwendigkeit heraus, die Gültigkeit der Daten sowohl in elektronischer Form als auch auf Papier zu garantieren. Datensammlungen können somit zuverlässig auf mehreren Computern gleichzeitig übertragen und gespeichert werden, mit der Gewissheit, dass die Datenänderung blockiert wird.

Geschichte 

Die Blockchain ist eine neue Technologie, die sich in den letzten Jahrzehnten in verschiedenen Bereichen entwickelt hat, um die Authentizität und Integrität von Daten in elektronischer Form zu gewährleisten. Der Weg, der zur Entstehung der Blockchain führte, kann in drei Hauptphasen unterteilt werden.  

Die erste Phase geht auf das Jahr 1979 zurück, als Ralph C. Merkle die kryptographischen Funktionen von Hash und einer Datenstruktur, die später Merkle Tree genannt wurde, patentierte. Der Merkle-Baum ist eine Datenbaumstruktur, die die Verkettung von kryptographischen Hashes verwendet, um Integrität und schnellen Zugriff auf Datenblöcke zu gewährleisten.   

Im Jahr 2002 patentierte Domenico Zucchetti, der Gründer von Banana.ch, ein Zertifizierungssystem für Datensammlungen, die aus einer Abfolge von Elementen bestehen, wie z.B. den Bewegungen eines Buchhaltungsjournals. Für jeden Bewegung wird ein kryptografischer Hash-Wert berechnet, der mit dem der vorherigen Bewegung verkettet ist. Der Bewegungshash bescheinigt sowohl den Transaktionsinhalt als auch das Journal als Ganzes. Diese Struktur erlaubt es, neue Bewegungen hinzuzufügen, während die Integrität der kryptographischen Hashes der bestehenden Bewegungen erhalten bleibt. Ebenfalls 2002 verwendet Banana Buchhaltung dieses System von verketteten kryptographischen Hashes, um die Integrität des Buchhaltungsjournals zu gewährleisten.  

Im Jahr 2008 erfand Satoshi Nakamoto die Kryptowährung von Bitcoin auf der Grundlage eines dezentralisierten Journals, bei dem jeder Transaktionsblock kryptografisch mit dem vorherigen verkettet wird. Von diesem Moment an wird das System der kryptographischen Verkettung von Elementen in Folge als Blockchain bezeichnet.

Definition von Blockchain

So definiert Domenico Zucchetti, Gründer von Banana.ch, die Blockchain:  

"Die Blockchain ist eine Sammlung historischer Daten, die aus aufeinanderfolgenden Blöcken besteht, wobei jeder Block einen eigenen kryptographischen Hash hat, der mit dem vorhergehenden verkettet ist, so dass der Hash des Blocks die Integrität des Inhalts des Blocks und auch der gesamten Sammlung vom Anfang bis zum Block selbst bescheinigt". 

Beispiel für eine Blockchain-Datenstruktur 

Unten sehen Sie ein Beispiel für ein Journal von Banana Buchhaltung. Jede Transaktion wird durch die Zeile im Journal dargestellt, für die ein kryptografischer Hash auf der Grundlage des Inhalts des kryptografischen Hashes in der vorherigen Zeile berechnet wurde. Der Zeilenhash ist das Ergebnis der Verkettung aller Hashes der vorhergehenden Zeilen, ebenso wie das Zertifikat, das die Integrität der Journaldaten vom Beginn des Journals an garantiert. 
Das Hinzufügen weiterer Zeilen, jede mit ihrer eigenen Hash, führt nicht zur Ungültigkeit der vorherigen Hashes. 

blockchain

Sammlung historischer Daten 

Die Blockchain ist eine Datensammlung zur Wahrung der Datenintegrität durch kryptographische Hashes. Es wird daher für historische Daten verwendet, die nach ihrer Erstellung und Validierung nicht mehr geändert werden müssen, wie z.B. ein Buchhaltungsjournal oder ein Logbuch. Die Blockchain eignet sich nicht für Daten, die laufend aktualisiert werden müssen, wie z.B. die Zeile eines Kontos in der Buchhaltung, wobei der Saldo jedes Mal neu berechnet wird, wenn eine neue Bewegung hinzugefügt wird.

Sequentielle Datenblöcke  

Der Begriff " blockchain" kommt aus dem Englischen und bedeutet "Kette von Blöcken". Die Sammlung besteht aus Datenblöcken, die eine bestimmte Reihenfolge haben. Im Falle eines Buchhaltungsjournals ist jeder Block eine einzelne Transaktion. Im Bitcoin-System hingegen enthält jeder Block eine Reihe von Buchhaltungsbewegungen, die als Merkel Tree organisiert sind (siehe oben). In der Datenstruktur der Blockkette ist die Reihenfolge, in der die Blöcke aufeinander folgen, ebenso wichtig wie die im Block enthaltenen Informationen, denn die Blockkette garantiert die Unveränderlichkeit sowohl der Inhalte als auch der Abfolge der Daten.  

Jeder Block sowie die Transaktionen können konsultiert, aber nicht geändert werden. Anschließend werden neue Blöcke hinzugefügt, ohne die vorherigen zu modifizieren.  

Die Blöcke sind miteinander verkettet, so dass der Hash eines Blocks vom Inhalt des vorhergehenden Blocks abhängt, der wiederum vom vorhergehenden abhängt, und so weiter. Der Hash eines Blocks ist somit auch der Hash der gesamten Datensammlung und bescheinigt die Integrität der gesamten Sammlung. Wenn sich der Inhalt eines Blocks ändert, ändert sich auch sein Hash-Wert. Wenn die Kette korrekt ist, bedeutet dies, dass der Inhalt intakt ist.

Kryptographische Hashes 

Der Hash ist ein Text, der von einer Hash-Funktion auf der Grundlage eines gegebenen Datensatzes berechnet wird. Die Hash-Funktion ist ein Algorithmus, der eine Textzeile in eine Reihe von Buchstaben und Zahlen umwandelt. Hash " entspricht ein englisches Wort und bedeutet "hacken, mahlen". Tatsächlich nimmt die Funktion eine Textzeile (Input) und "zermahlt" sie in eine Reihe von Zeichen (Hash Sum). 

(Quelle: Wikipedia) 

Der kryptografische Hash ist ein Hash-Typ, der eine Reihe von Merkmalen erfüllt. Diese Eigenschaften ermöglichen es, den Hash als Kennzeichner und Zertifikat der Integrität von Daten, die für seine Berechnung dienen, zu verwenden. Um als kryptographischer Hash zu gelten, muss er die folgenden Kriterien erfüllen:

  • er ist entscheidend in dem Sinne, dass die gleiche Information immer in den gleichen Hash übersetzt wird 
  • er ist schnell bei der Berechnung des Hash-Wertes für jede Nachricht.  
  • Es ist nicht möglich, eine Nachricht zu erzeugen, die einen bestimmten Hash-Wert erzeugt, d. h. den Prozess umzukehren, der den bestimmten Hash-Wert erzeugt hat (Unidirektionalität). Dies impliziert, dass der Hash leicht mit Dritten geteilt werden kann, ohne den ursprünglichen Inhalt preiszugeben. 
  • Sie können nicht zwei verschiedene Informationen mit dem gleichen Hashwert (ein Konzept, das als Kollisionswiderstand bezeichnet wird) finden. 
  • Eine kleine Änderung an einer Meldung ändert den Hash-Wert so radikal, dass der neue Hash-Wert in keinem Zusammenhang mit dem alten Hash-Wert steht (so genannter Lawineneffekt). 

Quelle

Schliesslich werden kryptographische Hashes rechtlich anerkannt, wenn sie drei Hauptmerkmale erfüllen: 

  1. sie garantieren die Kriterien der Einzigartigkeit (es gibt keine Kollisionen); 
  2. sie garantieren die Unidirektionalität der Daten; 
  3. sie schwer angreifbar sind 

Verkettung von kryptographischen Hashes 

In der Blockchain hat jeder Datenblock einen kryptografischen Hash, der auf der Grundlage des Dateninhalts des Blocks und des Hash des vorherigen Blocks berechnet wird. Dadurch entsteht eine kryptografische Kette. Der Blockhash wird auch zum Zertifikat der gesamten Datensammlung vom Anfang bis zum letzten Block. 

In Banana Buchhaltung entspricht jeder Datensatz einem Block, der durch den kryptographischen Hash dargestellt wird. Ab dem zweiten Datensatz werden die Daten des vorherigen Blocks zu den Blockdaten hinzugefügt, was zu einem neuen Hash führt, der alle vorherigen Hashes berücksichtigt. 

Das folgende Bild zeigt die Verkettung der Blöcke im Buchhaltungsjournal in Banana. Jeder Block hat eine laufende Nummer, die dazu dient, die Progressivität der Daten zu gewährleisten.

giornale in Banana Contabilità

Den Inhalt ändern 

Die Verkettung von Hashes bedeutet, dass bei gleichem Inhalt die Hashes gleich bleiben. Wenn sich der Inhalt oder die Reihenfolge ändert, sind die Hashes anders.  

Die folgenden zwei Bilder zeigen, was passiert, wenn der Wert eines einzelnen Betrags in Banana Buchhaltung geändert wird. Das geänderte Register weist in der zweiten Zeile des ursprünglichen Registers den Betrag 40 CHF statt 30 CHF aus. Wenn Sie die Daten modifizieren, ändern sich auch die kryptographischen Hashes ab der geänderten Zeilennummer (in diesem Fall die zweite Zeile). Der Hash wird daher ganz anders aussehen, da seine Funktion deutlich verändert wurde.

cryptographic hash

blockchain

Zertifizierte Journal 

Für die Buchhaltung verlangt das Gesetz, dass die Daten progressiv erfasst werden. In der Buchhaltung ist das Journal die Sammlung aller wirtschaftlichen Bewegungen. Jede Bewegung enthält alle Elemente, die für die Führung der Buchhaltung notwendig sind: Datum, Verweis auf das Dokument, Beschreibung, Konto Soll, Konto Haben , Betrag, usw...  

Für jede Bewegung wird dann ein kryptographischer Hash berechnet, der die Integrität jeder Transaktion und des gesamten Journals bis zu diesem Zeitpunkt garantiert. Als Ergebnis wird das Buchhaltungsjournal zertifiziert. 

Die Schritte zur Erstellung der Blockchain 

Die Phasen der Erstellung der Blockchain lassen sich wie folgt zusammenfassen: 

  1. Sammeln und Erstellen von Datenblöcken.  
  2. Überprüfung der Daten. 
  3. Fixierung der Datensequenzen. 
  4. Berechnen von kryptographischen Hashes. 

Wie eine Blockchain-Datenstruktur erstellt wird, kann je nach Anwendungsfall unterschiedlich sein.  

Im Fall von Banana Buchhaltung ist die Abfolge wie folgt: 

  1. Der Buchhalter trägt die Daten in die Tabelle der Buchungen ein oder importiert sie und gibt alle notwendigen Informationen für jede Bewegung ein. Der Datenverwalter überprüft, ob die Daten in materieller Hinsicht (die Daten entsprechen der tatsächlichen Transaktion) und in formaler Hinsicht (die Konten geben und nehmen sind korrekt angegeben) korrekt sind.  
  2. Die Überprüfung der Daten kann zu mehreren Zeitpunkten erfolgen. Zum Beispiel werden am Ende der Periode Bankbewegungen und Saldo mit dem Kontoauszug verglichen. Wenn es Unterschiede gibt, sollten sie so lange vervollständigt werden, bis die Werte in der Buchführung die Realität widerspiegeln.  
  3. Der Benutzer gibt den Befehl Sperren von Buchungszeilen an, der angibt, bis zu welchem Datum die Transaktionen gesperrt werden sollen (in der Regel einschließlich der kontrollierten Daten).  Wenn dieser Befehl erteilt wird, führt das Programm die folgenden Operationen aus:
  • es prüft, ob die zu sperrenden Bewegungen keine Fehler enthalten; 

  • prüft, ob die Reihenfolge der vorherigen kryptografischen Hashes korrekt ist; 

  • ordnet jeder Bewegung eine progressive Sequenznummer zu, beginnend mit der letzten vorhergehenden Sequenznummer;  

  • berechnet die kryptographischen Hashes jedes Satzes, indem sie diese mit denen der vorherigen Zeile verkettet;  

  • präsentiert eine Zusammenfassung der Sperroperation.

Nachweis der Datenintegrität  

Um die Integrität eines Banana Buchhaltungsjournals überprüfen zu können:  

  1. Sie geben den Überprüfungsbefehl, um den kryptografischen Hash aller Bewegungen neu zu berechnen.  
  2. Es wird überprüft, ob der kryptografische Hash der letzten Zeile mit dem gespeicherten übereinstimmt. 

Der kryptographische Hash, der zum Zeitpunkt der Sperre gefunden wurde, muss aufbewahrt werden, um die Integrität der Daten nachträglich zu überprüfen. Wie Sie den kryptografischen Hash zur Kontrolle speichern und aufbewahren, hängt von Ihrer Organisation ab. Wenn Sie den Hash nicht behalten, können Sie die Datenintegrität nicht überprüfen.

Verwendung der Blockchain  

Die Blockchain wird auf verschiedene Weise verwendet. Erstens wird es zur Speicherung von zunehmenden historischen Daten verwendet, deren Inhalt nicht verändert werden darf. Das typische Beispiel ist das Buchhaltungsjournal. 

Zweitens eignen sich Blockchain-Datensammlungen besonders gut für die gemeinsame Nutzung verteilter Journale (z.B. Bitcoins), da sie die Notwendigkeit des Datentransfers reduzieren. Sie können überprüfen, ob die Daten gleich sind, indem Sie einfach Hashes austauschen.   

Auf diese Weise können Sie wissen, bis zu welcher Anzahl von Blöcken die beiden Sammlungen identisch sind.   
Außerdem können Sie zur Aktualisierung des Inhalts einfach die Daten der fehlenden Blöcke übermitteln.  

Blockchain in der Buchhaltung 

Banana Buchhaltung war ein Wegbereiter der Blockchain-Technologie im Finanzbereich. Tatsächlich hatte Banana bereits 2002, noch bevor die Blockchain ihren Namen erhielt, ein Patent für ein Sicherheitssystem in Buchhaltungssoftware erhalten. Dank kryptographischer Hashes ermöglicht dieses Verfahren, die Gültigkeit der Daten zu bescheinigen, um den steuerrechtlichen Vorschriften zu entsprechen.  

Tatsächlich ist es im Zuge der fortschreitenden Digitalisierung notwendig, alle Papierdokumente in elektronische Form zu bringen. Durch die Zertifizierung der Daten über die Blockchain können wir uns auf elektronische Dokumente genauso verlassen, wie wir uns auf signierte Papierdokumente verlassen haben. Auf diese Weise können wir nachweisen, dass die Informationen, in diesem Fall alle Buchhaltungsvorgänge, nachträglich nicht modifiziert wurden und an die zuständigen Behörden übermittelt werden können, ohne irgendetwas drucken zu müssen.

Merkmale von Blockchain-Datensammlungen

  • Die Datensammlungen sind in Blöcken strukturiert und unveränderlich.

  • Unterschiedliche Inhalte erzeugen unterschiedliche Hashes. Jede Änderung des Inhalts der Sammlung führt zu unterschiedlichen Hashes.  

  • Identischer Inhalt erzeugt identische Hashes. Durch den Vergleich des Hashes des letzten Blocks von zwei Datensammlungen können Sie feststellen, ob der Inhalt und die Reihenfolge gleich sind.   

  • Integritätskontrolle. Indem Sie die Reihenfolge der Blöcke zurückverfolgen, können Sie die Hashes aller Blöcke neu berechnen und dann überprüfen, ob sich der Inhalt der Sammlung nicht geändert hat.  

  • Blocksequenz. Die Blöcke müssen ein Element enthalten, das in der Lage ist, die Reihenfolge zu definieren. Gewöhnlich handelt es sich dabei um eine fortlaufende Nummer oder einen Verweis auf den vorherigen Blockbezeichner..   

  • Hinzufügen von Blöcken. Wenn Sie den Block hinzufügen, wird der Hash-Wert des Blocks auf der Grundlage seines Inhalts und des Hash-Wertes des vorherigen Blocks berechnet. Der Hash des neuen Blocks wird dann zu dem Hash, der auch den gesamten Datensatz zertifiziert. Vorherige Blockhashes bleiben gültig.   

  • Verteilte Datenbanken. Durch den einfachen Austausch von Hashes ist es möglich zu überprüfen, ob Datensammlungen an verschiedenen Orten den gleichen Inhalt haben.   

Diesen Artikel teilen: Twitter | Facebook | LinkedIn | Email