DLT ohne Kryptografie möglich?

Gibt Distributed Ledger Technologien, wo man Werte übertragen kann, die ohne Kryptografie auskommen bzw einen anderen Sicherheits-Mechanismus als Kryptografie vorsehen?

Was ist für dich Kryptografie?
Wie willst du ein Geheimnis austauschen, wenn es alle mitlesen können?

1 „Gefällt mir“

Vielleicht kann man sich dieser Frage über die Problemstellung nähern, die man eigentlich lösen möchte.

Wir nehmen an, dass wir ein verteiltes Kassenbuch schaffen möchten. Also gibt es keine zentrale Instanz (Bank), die dieses Buch pflegt, sondern viele unabhängige, verteilte „Verwalter“ innerhalb eines Netzwerks. Da diese Verwalter alle gleichberechtigt sind, führen alle jeweils eine eigene Version des Kassenbuchs.

Außerdem muss jeder Coin-Besitzer eine Identität im Kassenbuch besitzen, damit die Coins zugeordnet werden können. Wegen der Öffentlichkeit des Netzwerks, sollten keine Klartext-Namen, sondern stattdessen Pseudonyme verwendet werden, wobei Überschneidungen vermieden werden müssen.
Jeder Coin-Besitzer hat also eine oder mehrere Zeichenketten, denen seine Coins zugeordnet sind. Hierbei ist egal ob du so eine Zeichenkette „Pseudonym“, „Name“, „Identität“ oder „Public Key“ nennst; Bezeichnungen sind Schall und Rauch. Ich bleibe hier mal bei Public Key.


Du als Coin-Besitzer möchtest nun den Verwaltern mitteilen, dass du Coins an einen anderen Besitzer transferieren willst.

Wenn du eine entsprechende Transaktion erstellst und im Netzwerk bekannt gibst, wird diese an alle Verwalter übertragen. Für jeden Verwalter muss klar und deutlich zu lesen sein, welche Coins wohin transferiert werden sollen.

Was hindert also einen Verwalter oder andere Coin-Besitzer daran, selbst Transaktionen zu veröffentlichen, in denen sie deine Coins woanders hin transferieren?

Diese Frage führt uns zur Beantwortung deiner Frage…


Wir brauchen als Schutzmaßnahme eine Art Unterschrift bzw. Signatur, welche zusammen mit einer Transaktion versendet wird, und mit der ein Coin-Besitzer diese Transaktionen autorisiert. Die Verwalter müssen anhand der Signatur erkennen können, dass nur der Coin-Besitzer die Transaktion veranlasst haben kann.

Für die Signatur muss folgendes gelten:

  • Da unser Zahlungsnetzwerk digital kommuniziert, und wir aufgrund der hohen Datenmengen und Fälschbarkeit keine Bilder von händischen Unterschriften verschicken wollen, sollte die Signatur eine möglichst kurze Zeichenkette sein.

  • Im Kassenbuch werden Coin-Besitzer ausschließlich über ihre Public Keys identifiziert (siehe oben). Die Signatur einer Transaktion muss also untrennbar mit dem Public Key derjenigen Coins in Verbindung stehen, die versendet werden sollen.

  • Die Signatur Zeichenkette darf für einen Public Key nicht immer die gleiche sein. Ansonsten könnte nach Bekanntgabe der ersten Transaktion einfach jeder deine Signatur für andere Betrugs-Transaktionen kopieren. Die Signatur muss also trotz gleichem Public Keys für jede Transaktion anders sein.

  • Die Public Keys sind nicht geheim. Trotzdem darf aber nicht jeder, der den Public Key kennt, eine Signatur für die zugehörigen Coins erstellen können.
    → Wichtiger Gedankenschritt:
    Es geht also gar nicht anders, als dass du als Coin-Besitzer ein Geheimnis kennen musst, welches fest mit deinem Public Key in Verbindung steht und das für die Erstellung einer Signatur benötigt wird.
    Da wir digital und sowieso schon mit Zeichenketten arbeiten, bietet sich als Geheimnis wieder eine Zeichenkette an, die nur du kennst. Nennen wir sie Private Key.

  • Ein Coin-Besitzer sollte einfach und schnell eine Signatur für eine Transaktion erstellen können.

  • Ein Verwalter muss einfach und schnell verifzieren können, dass eine Signatur zur jeweiligen Transaktion und dem enthaltenen Public Key gehört.

  • Man darf aus einem Public Key nicht auf einen zugehörigen Private Key zurückrechnen können. Ansonsten könnte jeder, der deinen Public Key kennt, eigene Betrugs-Transaktionen deiner Coins signieren.
    Falls man außerdem die Public Keys in unserem Kassenbuch mehrmals für Transaktionen nutzen möchte, dürfen auch aus der Signatur keine Rückschlüsse auf den Private Key gezogen werden dürfen. Ansonsten könnte man nach deiner ersten Transaktion einfach den Private Key berechnen und den Rest der Coins wegtransferieren.


Zusammenfassung dieser Anforderungen und Schlüsse:

Alle Coins sind im Kassenbuch jeweils einem Public Key zugeordnet. Jeder Coin-Besitzer benötigt einen (geheimen) Private Key, der in fester Verbindung mit dem zugehörigen Public Key steht. Mit dem Private Key kann man zu jeder Transaktion eine spezifische Signatur erstellen.

Die Kassenbuch-Verwalter können schnell und einfach überprüfen, dass eine Signatur zu der jeweiligen Transaktion und zu den enthaltenen Public Keys gehört. Sie können aber keine Rückschlüsse auf den Private Key ziehen, d.h. ein „Zurückrechnen“ ist praktisch unmöglich.

Genau das nennt man digitales Signaturverfahren bzw. asymmetrisches Kryptosystem.


Obwohl wir also in meinem ganzen Beitrag nicht von speziellen kryptographischen Verfahren gesprochen haben, ergibt sich aus den Anforderungen eines Distributed Ledgers eben genau die Notwendigkeit von Kryptographie, insbesondere kryptographischer Signaturverfahren.

Ich habe zwar die üblichen kryptographischen Bezeichnungen verwendet, aber genauso gut hätten wir andere wählen können.

Allerdings habe ich einige Annahmen getroffen. Verwirft oder ändert man einen Teil dieser Annahmen, könnte man sicher zu einem anderen Ergebnis kommen. Allerdings muss man kein Kryptographie-Experte sein, um über die getroffenen Annahmen zu diskutieren. :slightly_smiling_face:


P.S. Viele Details und Aspekte, wie z.B. das Mining, Adressen, Skripte etc. habe ich der Einfachheit halber komplett weggelassen, obwohl man deren Nutzen auch schön an solchen Beispielen erklären könnte.

9 „Gefällt mir“

Kryptographie ist nicht ein Sicherheits-Mechanismus, es ist der Oberbegriff für eine Wissenschaft die sich mit diesem Thema (d.h. Verschlüsselung von Information und allgemein Informationssicherheit) beschäftigt.

Das sicherstellen der Authentizität und Integrität einer Nachricht ist nur ein Teilgebiet der Kryptographie und es gibt verschiedene Verfahren und Ansätze dieses Problem zu lösen. Es läuft aber alles auf das von @skyrmion erklärte Grundprinzip zurück.

Irgendeines dieser Verfahren musst du natürlich nutzen, wenn du das Problem lösen willst, falls das deine Frage ist. :sweat_smile:

Du kannst auch keine Rakete auf den Mond schicken „ohne Physik“ und auch kein Baby machen „ohne Biologie“.

3 „Gefällt mir“

Chuck Norris betreibt alleine einen Distributed Ledger… ohne Kryptographie. :cowboy_hat_face:

1 „Gefällt mir“