Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
N
Nachhaltige Informationstechnologie
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Peter Gerwinski
Nachhaltige Informationstechnologie
Commits
8b778f0f
Commit
8b778f0f
authored
3 years ago
by
Peter Gerwinski
Browse files
Options
Downloads
Patches
Plain Diff
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
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
20220523/nit-20220523.txt
+3
-3
3 additions, 3 deletions
20220523/nit-20220523.txt
20220530/nit-20220530.txt
+163
-0
163 additions, 0 deletions
20220530/nit-20220530.txt
20220613/nit-20220613.txt
+180
-0
180 additions, 0 deletions
20220613/nit-20220613.txt
with
346 additions
and
3 deletions
20220523/nit-20220523.txt
+
3
−
3
View file @
8b778f0f
...
...
@@ -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 Arr
q
ay, 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
...
...
This diff is collapsed.
Click to expand it.
20220530/nit-20220530.txt
0 → 100644
+
163
−
0
View file @
8b778f0f
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?
This diff is collapsed.
Click to expand it.
20220613/nit-20220613.txt
0 → 100644
+
180
−
0
View file @
8b778f0f
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!
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment