Warum ist Bitcoin Open Source?

Bis zu einem gewissen Grad ist jede Software eine Black Box. Infolgedessen ist das Zitat, dass Bitcoin Open Source b und ein Mittel zur „Befreiung von der Regierung“ sein muss, das üblicherweise gemacht wird, falsch und problematisch. Es mag sein, dass Bitcoin als Open-Source-System am besten funktioniert, und einige sagen, dies ermöglicht es uns zu sehen, dass Bitcoin sicher ist (Popper wird die Unfähigkeit bestätigen, absolut nichts zu bestimmen), aber dies bringt keinen Mehrwert. Das heißt, Bitcoin ist Geld. Der kritischste Aspekt des Geldes ist das Vertrauen. Damit dies zutrifft, müssen die Menschen verstehen, dass nichts verborgen ist.

Die Analyse von Software ist ein NP-unmögliches Problem. Turing und dann Dijkstra zeigten Beweise dafür, dass der Zustand eines Systems niemals vollständig bekannt sein kann. Sie machen Annahmen über den Wissensstand eines offenen Systems und über den Teststand.

Trotzdem hatte Bitcoin Fehler im frühen Code, und selbst offener Code ist alles andere als perfekt. Das Hauptproblem, das Bitcoin gelöst hat, sind doppelte Ausgaben. Die Mittel, mit denen dieses Ziel erreicht wird, sind einfach, es ist ein wettbewerbsfähiges System. Das System ist kapitalistisch, aber im Gegensatz zu den meisten kapitalistischen Systemen, die es dem amtierenden Führer (dem dominierenden Unternehmen) ermöglichen, den Wettbewerb durch behördliche Erfassung zu stoppen, definiert der globale Charakter von Bitcoin ein wettbewerbsfähiges System.

Kein System ist perfekt

Crystal-Box-Tests sind eine bessere Option (ich habe in der Vergangenheit Artikel dazu veröffentlicht) für sicherheitskritische Software, aber die Option ist nicht immer (und auch nicht wirklich) verfügbar. Was fehlt, ist das Problem der Komplexität / Einfachheit. Diese Probleme vermischen sich mit den Sicherheitsaspekten. Es ist niemals möglich (oder machbar), den Zustand eines offenen Systems absolut zu kennen. Sie haben nur geringere Kosten für Tests und Korrekturen.

Dies selbst ist kritisch.

Es ist nicht das Protokoll, das optimiert werden muss, sondern die Software. Das Protokoll ist einfach. Viele mögen das nicht, aber das ist ein Teil der Schönheit von Bitcoin. Wenn Sie mehr tun möchten, können Sie dies im Skript tun. Ein Skript, das ein Prädikat ist und das immer endet.

Wie bei DoS (oder einem DDoS): Es gibt immer eine Möglichkeit, ein System zu tun. Hier geht es darum, wie viele Beweise Sie erstellen und warum Sie dies tun. Wenn Sie ein System mit einem anhaltenden Angriff von 1.000.000.000 Bots treffen, fällt es aus. Ende der Geschichte.

Dies ist kein Argument für die Komplexität, die sich auf die Sicherheit auswirkt.

Was am Ende zählt, ist der beste Weg, um das langfristige Risiko und die Kosten für die Sicherung eines globalen Geldes zu minimieren, oder schlimmer noch, wenn keine Adoption geschaffen wird.

Es gibt eine Reihe von Maximen für die Schaffung eines sicheren Systems in der Informationstechnologie. Diese gelten alle für Bitcoin. Die Arbeit „Der Schutz von Informationen in Computersystemen“ von J. H. Saltzer und M. D. Schroeder [Proc. IEEE 63, 9 (Sept. 1975), S. 1278–1308] war das Wendepunktpapier zu diesem Thema und lieferte die Ursprünge der Maximen, die wir heute für selbstverständlich halten. Es sollte ein Leitprinzip bei der Codierung von Bitcoin sein, und als solches muss die Komplexität den Systemen über Bitcoin (in Skript usw.) überlassen werden.

Diese Maximen sind die Grundlagen für das Design von Bitcoin. Dies sind:

Punkt 8 wird häufig übersehen. Damit ein Sicherheitssystem funktioniert, muss es von den Benutzern akzeptiert werden. Wenn wir ein System zu komplex machen, wird es fehlschlagen. Wenn die Menschen erkennen, dass dies ihre Fähigkeit beeinträchtigt, ihre Arbeit zu verrichten, werden sie einen Weg finden, dies zu umgehen. In Bitcoin Core haben die Entwickler die Benutzerakzeptanz nie verstanden.

Hinweis:

Diese Maximen sind im Abschnitt des Papiers von Saltzer und Schroeder unter Design Principles aufgeführt. In diesem Abschnitt heißt es zunächst: „ Unabhängig von der bereitgestellten Funktionalität hängt die Nützlichkeit einer Reihe von Schutzmechanismen von der Fähigkeit eines Systems ab, Sicherheitsverletzungen zu verhindern. In der Praxis hat es sich als äußerst schwierig erwiesen, ein System auf jeder Funktionsebene (mit Ausnahme der ersten Ebene) herzustellen, das tatsächlich alle derartigen nicht autorisierten Handlungen verhindert. Anspruchsvolle Benutzer der meisten Systeme kennen mindestens eine Möglichkeit, das System zum Absturz zu bringen, wodurch anderen Benutzern der autorisierte Zugriff auf gespeicherte Informationen verweigert wird. Penetrationsübungen mit einer großen Anzahl verschiedener Allzwecksysteme haben gezeigt, dass Benutzer Programme erstellen können, die unbefugten Zugriff auf darin gespeicherte Informationen erhalten. Selbst in Systemen, die mit Sicherheit als wichtigem Ziel entworfen und implementiert wurden, bieten Entwurfs- und Implementierungsfehler Pfade, die die beabsichtigten Zugriffsbeschränkungen umgehen. Entwurfs- und Konstruktionstechniken, die Fehler systematisch ausschließen, sind Gegenstand vieler Forschungstätigkeiten, es gibt jedoch noch keine vollständige Methode für den Bau großer Allzwecksysteme. Diese Schwierigkeit hängt mit der negativen Qualität der Anforderung zusammen, alle nicht autorisierten Aktionen zu verhindern.

Das Risiko ist immer relativ

Absolute Sicherheit gibt es nicht und kann auch nicht erreicht werden. Selbst scheinbar sichere Systeme sind anfällig, da alle Systeme ein gewisses Maß an Unsicherheit aufweisen – ein Angreifer mit ausreichenden Ressourcen kann Kontrollen jederzeit umgehen. Ziel ist es sicherzustellen, dass die dem Angreifer auferlegten wirtschaftlichen Zwänge den wahrgenommenen Nutzen für den Angreifer übersteigen, um das Risiko zu verringern. Die Schwierigkeit liegt jedoch in der Quantifizierung dieser Risiken für Informationssysteme.

Die relative Computersicherheit kann anhand von sechs Faktoren gemessen werden (Aycock, 2006):

1. Welche Bedeutung haben die zu schützenden Informationen oder Ressourcen?

2. Was sind die möglichen Auswirkungen, wenn die Sicherheit verletzt wird?

3. Wer ist der Angreifer?

4. Welche Fähigkeiten und Ressourcen stehen einem Angreifer zur Verfügung?

5. Welche Einschränkungen ergeben sich aus der legitimen Verwendung?

6. Welche Ressourcen stehen zur Implementierung der Sicherheit zur Verfügung?

Das Ergebnis ist, dass Sicherheit ein relatives Risikomaß in Bezug auf die Organisationsökonomie auf Mikroebene und die Ökonomie der nationalen Sicherheit auf Makroebene ist. Dies dient dazu, die Sicherheit in Bezug auf den Nachbarn zu gewährleisten. Die Frage ist nicht: “Bin ich sicher?” (Wright & amp; Zia, 2011), sondern: “Bin ich sicherer als mein Nachbar?” In dieser Arbeit wird gezeigt, dass Angreifer rationale Wirtschaftsakteure sind. Als solche maximieren sie ihre Gewinne und minimieren das Risiko für sich selbst, wenn sie Gewinne aus den Systemen erzielen, die sie zu nutzen versuchen.

Bitcoin ist einfach, offen und sicher. Darin kann man vertrauen. Es ist Bargeld.

Es sperrt das ursprüngliche Protokoll (so genau wie möglich) und baut es auf, damit Bitcoin bar und skalierbar ist.