Skip to content
Snippets Groups Projects
Commit 8b778f0f authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Korrektur Notizen 23.5.2022, Notizen 30.5. und 13.6.2022

parent a99bfb6e
No related branches found
No related tags found
No related merge requests found
......@@ -59,8 +59,8 @@ Verwendete Technologie: Blockchain
auch bei gesteigerter Rechenleistung.
Konsequenz: Jedes Mining (und damit anteilmäßig jede Transaktion)
ist dermaßen aufwendig, daß die jeweils aktuell stärksten Rechner
der Welt dafür 10 Minuten brauchen.
ist dermaßen aufwendig, daß alle auf der Welt für das Bitcoin-Mining
betriebenen Rechner zusammen dafür 10 Minuten brauchen.
--> Der Ressourcenverbrauch ist systembedingt gleichbleibend hoch.
Konsequenz: Eine Transaktion dauert ungefähr 10 Minuten.
......@@ -104,7 +104,7 @@ Verwendete Technologie: Blockchain
- Hardware-Bedarf:
Standard-Rechner sind zu langsam. --> spezielle Rechner
FPGA (Freely Programmable Gate Arrqay, umprogrammierbare Hardware)
FPGA (Freely Programmable Gate Array, umprogrammierbare Hardware)
--> immer noch zu langsam
ASIC (Application-Specific Integrated Circuit, speziell angefertigte Hardware)
--> veralten, danach für nichts anderes einsetzbar
......
Aufgabe, 23.05.2022, 16:13:58
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vergleich des Bitcoin-Systems mit anderen, rein digitalen Systemen
- andere Krypto-Währungen
(z.B. mit Proof of Stake statt Proof of Work)
- GNU Taler
(anonym, mit Einbeziehung der Banken)
- "Ewiges Logfile"
(1990er Jahre, Vorläufer(?) der Blockchain)
Vergleich der Ergebnisse um 17:30 Uhr
Ergebnisse, 23.05.2022, 17:31:53
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Umweltfreundlichere Alternativen zu Bitcoin:
https://cryptoticker.io/de/5-umweltfreundliche-kryptowahrungen/
Was kostet der Konsensmechanismus?
- Cardano: full Proof of Stake
Die Sicherheit hängt nicht vom Energieverbrauch ab.
- Ripple: Beglaubigung der Knoten
--> nicht mehr konsequent dezentral
- Polkadot: Proof of Stake
- EOS: delegated Proof of Stake
- IOTA: nicht dezentral
(dezentral wäre es mit Proof of Work)
Proof of Stake: https://en.wikipedia.org/wiki/Proof_of_stake#Energy_consumption
ca. 1/1000 des Energieverbrauchs von Proof of Work --> immer noch viel
Dezentralität: Bei erfolgreichen 51%-Angriff auch bei Bitcoin nicht gewährleistet.
Aktuelle Situation: Selbstverpflichtung des 51%-Teilnehmers
Ethereum: aktuell Proof of Work; Wechsel zu Proof of Stake ist angekündigt
Bitcoin mit erneuerbaren Energien: löst nur einen Teil des Problems
(Entweder: nur überschüsseige Energie nutzen --> mehr ASICs erforderlich.
Oder: Energie fehlt anderswo; Hardware-Problem bleibt bestehen.)
* GNU-Taler:
o Taxable Anonymous Libre Electronic Reserves
-> freie Software für Bezahlsystem in traditionellen Währungen
+ datenschutzfreundlich wie klasssisches Bargeld,
aber für Steuerbehörden nachverfolgbar -> gegen Geldwäsche
+ Umtausch von Talern zur jeweiligen Landeswährung möglich durch Exchange-Punkte
+ hoher Energieverbrauch vermieden
+ keine starken Wertschwankungen durch "Kopplung" an traditionelles Währungssystem
-(?) zentrales Netzwerk, hinter welchem regulierte Geschäftsbanken stehen
o Münz-Regulation durch Signaturen der Münzen auf RSA-Basis
Quellen:
https://www.heise.de/news/Projekt-GNU-Taler-Das-quelloffene-Bargeld-4892826.html
https://nlnet.nl/project/GNUTaler/
Für mich stellt sich jetzt die Frage, wie genau das mit dem RSA
funktioniert. Das habe ich noch nicht verstanden.
* "Ewiges Logfile"
Dies ist ein Grundprinzip, das auch der Blockchain zugrundeliegt.
Siehe:
- https://de.wikipedia.org/wiki/Ewige_Logdatei
- http://altlasten.lutz.donnerhacke.de/mitarb/lutz/logfile/idee.html
(Das "Ewige Logfile" der IKS Jena scheint nicht mehr in Betrieb zu sein.)
- https://web.archive.org/web/20090719011914/http://bothie.sharedaemon.org/logfile/top_frameset.de.html
Eine weitere nicht mehr funktionelle Implementation des "Ewigen Logfiles",
deren Web-Interface noch besichtigt werden kann.
* Proof of Space
Chia Coin (2018)
- Einmalige Aufgaben rechnen, auf unbestimmte Zeit speichern.
- Wer beweisen kann, eine Aufgabe vorher bereits gelöst zu haben,
darf in die Blockchain schreiben.
- https://www.chia.net/assets/proof_of_space.pdf
https://www.heise.de/-6037645
https://de.wikipedia.org/wiki/Proof_of_Space
https://en.wikipedia.org/wiki/Proof_of_space
Wie funktioniert das?
- Wie funktioniert die Überprüfung, ob jemand anderer viel Platz investiert hat,
ohne selbst genausoviel Platz investieren zu müssen?
- Wieso kann man den Platz nicht durch Rechenleistung ersetzen?
- Wieso verbraucht dies insgesamt weniger Rechenleistung als der Proof of Work?
Vermutung (anhand von proof_of_space.pdf):
- Jeder Block der Blockchain enthält eine Zahl, die Verifiable Delay Function (VDF).
- Damit der Block gültig wird, benötigen wir einen Datenschnipsel,
dessen Hash die VDF ist. --> Wir müssen einen Hash invertieren.
- Das ist normalerweise unmöglich. Wir können aber eine riesengroße Tabelle mit
Hash-Werten verschiedener Datenschnipsel erstellen und hoffen, daß der gesuchte
Hash dabei ist.
- Beim Farming erstellt man diese riesengroße Tabelle.
Falls die eigene Tabelle den gesuchten Hash enthält, gibt es eine Belohnung.
- Sobald der Block eine VDF und den passenden Datenschnipsel enthält, ist er gültig.
anfänglich geschätzte Speichergröße: 1.1 TiB
entspricht 1 Aufgabe alle 468 Tage
entspricht 2 Chia Coins
aktuelle Gesamtgröße der Sammlung der möglichen Aufgaben
mit möglichen Lösungen: 15.9 EiB, dezentral gespeichert
(!= Größe der Blockchain)
Vorteil gegenüber Proof of Work: weniger benötigte Rechenleistung
Nachteil gegenüber Proof of Work: mehr benötigter Massenspeicher (Festplatten usw.)
* Proof of Stake
- https://de.wikipedia.org/wiki/Proof_of_Stake
- Ethereum will von Proof of Work auf Proof of Stake umstellen.
Existierende umweltfreundlichere Alternativen zu Bitcoin (siehe oben)
nutzen bereits Proof of Stake.
Quelle: https://cryptowolf.de/proof-of-stake-was-ist-das/
- "Stärkere Bestrafung
Hacker und Betrüger werden bei Proof of Stake deutlich stärker bestraft.
Bei Proof of Work gibt es zwar eine Belohnung, wenn alles richtig ist –
aber wenn etwas falsch ist, gibt es normalerweise keine Strafe. Bei Proof
of Stake verlieren Betrüger Ihre Coins, wenn sie versuchen, falsche
Informationen als richtig darzustellen. Nur Besitzer von Coins können
beim PoS-Forging mitmachen und müssen diese als Garantie für ihre
Ehrlichkeit hinterlegen."
- Alle Coins von Anfang an vorhanden. Es kommen keine neuen mehr dazu.
Wer die Transaktionen überprüft, bekommt als Belohnung die involvierten Gebühren.
Quelle: https://bitcoinmagazine.com/culture/what-proof-of-stake-is-and-why-it-matters-1377531463
- Interessante Alternative: "Useful Proof of Work"
- Proof of Stake erfordert das vorherige Vorhandensein einer Verteilung der Währung
(z.B. bei Umstellung von Proof of Work auf Proof of Stake).
- Proof of Stake = Proof of Work bei einer Überweisung an sich selbst,
der um so einfacher wird, je größer die zu "hash"ende Transaktion ist
und je länger sie bereits zurückliegt
- Die Miteinbeziehung der Zeit ist möglicherweise nicht nötig.
- Alternative: gewichteter Zufall. Das System erlaubt gelegentlich dem Inhaber
einer bestimmten Münze, die nächste Münze zu prägen.
- Vorteil beim Miteinbeziehen der Zeit: attraktiver für "kleine" Teilnehmer,
wirkt einer Zentralisierung entgegen
- Problem: Exponentielles Anwachsen eines einzelnen Stakeholders.
- Mögliche Lösung: Sobald man das Geld ausgibt, ist man nicht mehr dominant.
- Oder existiert das 51%-Problem bei Proof of Stake nicht?
- Löst die Bestrafungsregel das Problem? Wer überprüft das?
- Beispiele: Ethereum, PPCoin
* Warum das alles?
- Proof of Work/Share/Space: notwendig, um eine Blockchain betreiben zu können
- Blockchain = dezentral
Niemand hat alleinige Kontrolle über die Währung (außer bei 51%-Angriff).
--> Das Vorhandensein einer Instanz, der alle gleichermaßen vertrauen, ist unnötig.
? Alternativen? GNU Taler?
Krypto-Währungen, 30.05.2022
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Konzept: Irgendetwas ist absichtlich schwierig.
"Proof of <irgendwas>"
- Dadurch, daß man diese schwierige Aufgabe löst, gewinnt man Währungseinheiten.
"Gelddrucken ist erlaubt." Aber es ist absichtlich schwierig.
- Sinn der Sache: Konsens darüber, was gültige Währung ist und was nicht,
ohne daß eine zentrale Instanz benötigt würde.
- Nachteil: Das Lösen der schwierigen Aufgabe (proof of work, proof of space)
verbraucht Ressourcen (Rechenzeit, Speicherplatz).
- Alternative: proof of stake.
Dann sind alle Währungseinheiten von Anfang an vorhanden.
Mögliches Problem: Exponentielles Anwachsen eines einzelnen Stakeholders
Mögliche Lösung: Sobald man das Geld ausgibt, ist man nicht mehr dominant.
Bestrafungssystem evtl. möglich
* Warum das alles?
- Proof of Work/Share/Space: notwendig, um eine Blockchain betreiben zu können
- Blockchain = dezentral
Niemand hat alleinige Kontrolle über die Währung (außer bei 51%-Angriff).
--> Das Vorhandensein einer Instanz, der alle gleichermaßen vertrauen, ist unnötig.
- Problem: Das dezentrale System begünstigt verbrecherische Nutzung des Systems
("Geldwäsche", z.B. Erpressungsgelder)
? Alternativen? GNU Taler?
* GNU-Taler:
o Taxable Anonymous Libre Electronic Reserves
-> freie Software für Bezahlsystem in traditionellen Währungen
+ datenschutzfreundlich wie klasssisches Bargeld,
aber für Steuerbehörden nachverfolgbar -> gegen Geldwäsche
+ Umtausch von Talern zur jeweiligen Landeswährung möglich durch Exchange-Punkte
+ hoher Energieverbrauch vermieden
+ keine starken Wertschwankungen durch "Kopplung" an traditionelles Währungssystem
-(?) zentrales Netzwerk, hinter welchem regulierte Geschäftsbanken stehen
o Münz-Regulation durch Signaturen der Münzen auf RSA-Basis
Quellen:
https://www.heise.de/news/Projekt-GNU-Taler-Das-quelloffene-Bargeld-4892826.html
https://nlnet.nl/project/GNUTaler/
Für mich stellt sich jetzt die Frage, wie genau das mit dem RSA
funktioniert. Das habe ich noch nicht verstanden.
GNU-Taler, 13.06.2022, 14:37:43
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quelle: https://nlnet.nl/project/GNUTaler/
- anonym wie Bargeld
- erschwert Geldwäsche
Quelle: https://www.heise.de/news/Projekt-GNU-Taler-Das-quelloffene-Bargeld-4892826.html
- zentrale Instanzen: Exchange
- Nutzer anonym
- Händler nachverfolgbar
Funktionsweise:
- Bei der Nutzung signiert man die "Überweisung" mit einem privaten Schlüssel
und schickt sie an die Exchange.
- Dieser prüft die Gültigkeit der Überweisung und führt sie aus.
- Peer-to-Peer-Zahlungen: noch nicht möglich, aber geplant
Behauptung: Zahlung kann anonym erfolgen; Umtausch in klassische Währung ist nachvollziehbar
- Umtausch in klassische Währung:
geregelt durch die Exchange, typischerweise eine klassische Bank
- Anonyme Zahlung?
Verfahren: blinde Signaturen
- Quelle: https://sceweb.sce.uhcl.edu/yang/teaching/csci5234WebSecurityFall2011/Chaum-blind-signatures.PDF
"fundamentally new kind of cryptography"
- Jede Münze hat ein Schlüsselpaar.
- Die Exchange kennt diese Schlüsselpaare nicht.
- Grundidee: Die Exchange unterschreibt etwas, ohne zu wissen, was sie da unterschreibt.
- Analogie: Unterschrift auf unbekanntem Dokument
mittels Durchschlagpapier in verschlossenem Briefumschlag
- Anwendung auf eine geheime Wahl auf Entfernung,
bei der sichergestellt wird, daß jede Stimme gezählt wird
--> Trustee (Wahlleiter*in) darf Stimmen zählen,
aber nicht wissen, von wem diese jeweils sind.
- Stimmzettel in anonymem, inneren Umschlag, den man blind unterschreiben kann
--> Man kann per Blind-Unterschrift bestätigen,
daß der Inhalt des Umschlags für die Wahl zulässig ist.
"In diesem Umschlag befindet sich ein gültiger Stimmzettel."
- Der anonyme, innere Umschlag wird in einem nicht-anonymen, äußeren Umschlag
an Trustee versendet.
Trustee unterschreibt den inneren Umschlag (und damit blind den Stimmzettel)
und sendet diesen in einem neuen äußeren Umschlag zurück.
--> Der innere Umschlag wurde nicht geöffnet,
dessen Inhalt aber von Trustee unterschrieben.
Damit bestätigt Trustee den Willen von Elector, ohne diesen zu kennen.
- Elector kann den von Trustee unterschriebenen Stimmzettel nun anonym einreichen.
--> Sinn der Aktion: Nur Elector darf den inneren Umschlag öffnen.
- Trustee kann die - anonymen und unterschriebenen - Stimmzettel nun veröffentlichen.
Funktionsweise:
* Wir haben:
- ein Schlüsselpaar s (öffentlich), s' (geheim),
- eine "kommutierende Funktion" c mit Inversem c', die sich "mit der Signatur verträgt",
d.h. c'(s'(c(x))) = s'(x) für ein bestimmtes, aber unbekanntes x.
--> Wir wählen ein x und und lassen es mit s' signieren.
Wir ordnen dem x ein c(x) zu und lassen dieses ebenfalls mit s' signieren.
Dann ordnet c' diesem s'(c(x)) wieder die Signatur s'(x) zuordnen.
* Vorgehensweise
- Provider (= Elector = Payer) wählt ein zufälliges x
und übergibt c(x) an Signer (= Trustee = Bank).
- Signer unterschreibt c(x) --> s'(c(x)).
- Provider erzeugt daraus s'(x) = c'(c(s'(x)))
--> Damit hat Provider eine Signatur von Signer für x, ohne daß Provider x kennt.
* Anwendung auf Zahlungssystem
- "(3) Bank signs note ... and debits payer's account."
--> Die Bank (= Signer = Trustee) kennt x also doch???
Quelle: https://en.wikipedia.org/wiki/Blind_signature
* Vermutung: Spezialfall von homomorpher Verschlüsselung
- Sei c eine Verschlüsselung und c' eine Entschlüsselung.
- Wir haben mathematische Botschaften a und b.
- verschlüsselt: c(a) bzw. c(b)
- Homomorphe Verschlüsselung bedeutet: c(a+b) = c(a) + c(b)
(und/oder entsprechend für andere Rechenarten)
* Hier: Verschlüsselung ist homomorph zu RSA
- Nachricht m, RSA-verschlüsselt r(m), wieder entschlüsselt r'(r(m))
- dazu homomorphe Verschlüsselung c: c'(r(c(m))) = r(m)
--> Dies ist nichttrivial!
- Wie dies für RSA funktioniert:
https://en.wikipedia.org/wiki/Blind_signature#Blind_RSA_signatures
* Fortsetzung: nächste Woche
Themen für nächste Woche
~~~~~~~~~~~~~~~~~~~~~~~~
Ressourcen sparen durch Software
- Wie muß man programmieren, damit die Software
möglichst wenig Strom verbraucht?
- Wie kann man die in Rechenzentren vorhandene Rechenleistung
möglichst effizient nutzen?
- Beispiel: virtuelle Rechner, Container, Cloud
Smartphones: Bestandsaufnahme
- Wie hoch kann der Anteil an freier Software sein
(auf Standard-Smartphones bzw. auf speziellen, freien Smartphones)?
- Wieviel digitale Souveränität kann man gewinnen?
Bitte schon mal recherchieren!
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment