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

Notizen 12.6.2023

parent 68fff07c
Branches
No related tags found
No related merge requests found
Themen, 24.04.2023, 12:23:42
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:) Definition: Nachhaltigkeit
:) Hardware-Nachhaltigkeit
:) Software-Nachhaltigkeit
:) Rechtliche Aspekte in der IT
:) Urheberrecht: Software-Lizenzen
:) Urheberrecht: sonstige Rechte (z.B. DRM - Digital Rights/Restriction Management)
:) Patentrecht
:) LGPL
:) AGPL --> ChatGPT
:) sonstige Rechte (z.B. Upload-Filter, Leistungsschutzrecht)
- Aktuelles
- In den Nachrichten
- Umweltverschmutzung: https://www.heise.de/-8989454
- KI und Freie Software:
https://www.spiegel.de/wissenschaft/mensch/kuenstliche-intelligenz-es-rollt-ein-tsunami-auf-uns-zu-kolumne-stoecker-a-2410efbd-ab92-4c09-9cde-7d66ab4629c9
- KI und Urheberrecht: https://www.heise.de/-8984836
- Manipulation von Demonstrationen und deren Erkennung:
https://www.spiegel.de/ausland/news-zum-russland-ukraine-krieg-das-geschah-in-der-nacht-zu-montag-8-mai-a-5bce44e1-891c-4b2c-9773-9b4887c0392f
:] Software-Patente: https://www.heise.de/-9069532
;) KI-Drohne erschießt (nicht) ihren Operator: https://www.heise.de/-9162641
:) KIs drehen Filme
:) Rust und Markenrecht
:) Ergebnisse der Heise-Konferenz zu IT-Sicherheit
- Chatkontrolle
- Umgang mit Gesundheitsdaten
:] KI-Modelle (Beispiel: ChatGPT, LLaMA)
--> ChatGPT als zusätzliches Teilnehmendes in dieser Lehrveranstaltung?
o Software-Lieferkette (Software Supply Chain):
Dauerhafte sichere Nutzung von Software
- Qualitätssicherung
o Software-Sicherheit
- Datenschutz
- Rechtssicherheit (Beispiel: ChatGPT, LLaMA)
Material:
- Software Bill of Materials:
https://www.heise.de/select/ix/2022/10/2204811275955203113
(generelles Konzept),
https://www.heise.de/select/ix/2023/4/2232111494480994748
(Tools zur Analyse von Projekten)
- https://en.wikipedia.org/wiki/LLaMA
- Effiziente Ausnutzung von Hardware
- Cloud
- Gemeinschaftliches Hosting
- Datenformate (Beispiel: Vektor- und Pixelgrafik)
- Nachhaltige Benutzerschnittstellen
- Konfigurationsmöglichkeiten und Standardeinstellungen
- CLI/GUI, Skriptfähigkeit
* Kryptowährungen
Kryptowährungen, 12.06.2023, 12:33:13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- In Algorithmen und Datenstrukturen:
Verifikation einer Blockchain durch Rechenleistung
These: "Prinzip der Blockchain: Fälschen ist legal und gewollt."
- Wer es schafft, eine Währungseinheit zu fälschen, hat sie sich damit verdient.
Beispiel: BitCoin
Verwendete Technologie: Blockchain
- Ziel: fälschungssichere Daten ("Konten")
dezentral(!) verwalten
- Blockchain:
- Ein Datensatz enthält sämtliche Transaktionen.
- Dieser Datensatz wird digital signiert.
- Alle haben Zugriff auf diesen Datensatz.
--> Problem: Wer hat das Recht, den Datensatz zu signieren?
--> Lösung: Alle haben das Recht, aber wir machen es künstlich schwierig.
Wer es schafft, auf diese Weise einen Datensatz zu "fälschen",
wird dafür mit Währungseinheiten belohnt ("Schürfen").
- Digitale Signatur künstlich erschweren: Wie?
- Digitale Signatur: Hash über den Datensatz mit geheimem Schlüssel verschlüsseln.
Wer den öffentlichen Schlüssel hat, kann entschlüsseln und mit Hash vergleichen.
Bei Übereinstimmung liegt eine gültige Signatur vor.
Künstliche Erschwernis:
- Zusätzliches Feld im Datensatz, beliebig wählbar.
- Erschwernis: Anforderung an den Hash, z.B. unterste n Bit müssen 0 sein.
(Einstellbar: Alle einigen sich auf ein n.)
Beispiel: Datensatz: "Dies ist ein Test."
Zusätzliches Feld: anhängbare Ziffer
Hash: sha256
Anforderung: n=8 0-Bits am Ende.
Dies ist ein Test.
8a8c0ba357659d8ad10cc6c79048a07b440c053c50a1a83466440e5a22a319e0 --> 5 0-Bits am Ende.
Dies ist ein Test.1
1c5ec43b83bb2c32ca5a87bb3b71f66d1bf9d4acb20dd83f076e2b7f8af090eb --> kein 0-Bit am Ende.
Dies ist ein Test.2
1e67ffb1c3ae7d71e81673b11d828dd0b1734bb8c4f64eaf7323faaf377e127d --> kein 0-Bit am Ende.
...
irgendwann: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx00 --> 8 0-Bits am Ende.
#include <stdio.h>
int main (void)
{
for (int i = 0; i < 256; i++)
printf ("Dies ist ein Test.%02x\n", i);
return 0;
}
echo "Dies ist ein Test.00" | sha256sum --> 71f5a516b0ecea28053eb9a39a52e009f3730538371c5d2185805ebf832804cd
echo "Dies ist ein Test.01" | sha256sum --> 67c5beefb076750a80020707a5ff0d1d212e3add1db2f170dff5936d6efdcddf
echo "Dies ist ein Test.02" | sha256sum --> bdbe762991e58d7fd6a763c0008adeaa5e918870159ad45bde7b58f8cd219b01
echo "Dies ist ein Test.03" | sha256sum --> f5ed9587f6d7c4d9139055448b27e03b6e58d62386ff8570af484708fca4738c
echo "Dies ist ein Test.04" | sha256sum --> d451c7ea3ddcd68260d37a6c10cb6c319bd39716498c5caba81a4615a3096058
echo "Dies ist ein Test.05" | sha256sum --> 83a09964d34275fa9d474d77f79ccbe0327471d363d37d69d7cea1c365cd4b07
echo "Dies ist ein Test.06" | sha256sum --> c56c18fd33e4689b353c1765d81743e4c759cbf2c83e8fe4154c24455907b0b7
echo "Dies ist ein Test.07" | sha256sum --> 339d1932f9f1bc6dcf4b015c370a93339261c773abddfeca41b11b441b17bfc4
echo "Dies ist ein Test.08" | sha256sum --> f9d27115b2f5c525644f132385e61107e91deb3ecdd526dd6d6e860330f184fa
echo "Dies ist ein Test.09" | sha256sum --> 3dc849f5265ac888456eee5912cbc93b2fd10f39cd16962498462d8e85594e8d
echo "Dies ist ein Test.0a" | sha256sum --> dd408be480f1d49422fee77308eb966da70f4f11ff10e2b1642f9606eff4ac55
echo "Dies ist ein Test.0b" | sha256sum --> 21efb8ff0a26a2a8203dbd4ba854b87ea2f03aed3e57d36da6e92a39191590d2
echo "Dies ist ein Test.0c" | sha256sum --> ab9b3683c07657871a3688d99d1eaf9eed64d634b0bc9f4e0bf4d06840854eef
echo "Dies ist ein Test.0d" | sha256sum --> 92964f16210967f3fb0d9bdd0c43e258425051930749125a6fe50b912decf26e
echo "Dies ist ein Test.0e" | sha256sum --> ad7c8a2895977e6a3e9493a0d843bbc3d61aac80a11bf9e0ec97ff25714937e7
echo "Dies ist ein Test.0f" | sha256sum --> 18bcf5dc45f4c099dcba475d5be83d797868d8c63f226c4b92c9b7c3c4f84c91
echo "Dies ist ein Test.10" | sha256sum --> bdfcfe1ce71530e6051cb89bd869f402296935354a10b540a4cdac065419720c
echo "Dies ist ein Test.11" | sha256sum --> abf0a678541da6ea4d500d0c1b424b359d016f58808799dcf6f5249e768a5fa8
echo "Dies ist ein Test.12" | sha256sum --> e11d5e977f60eb31ad2b35302269749eb31f8a5797b5b49c858c807d4fb36ca4
echo "Dies ist ein Test.13" | sha256sum --> efeb4262a9df3d0da5ea6cc91976c1af1084190de0bb40d5ed1d8e547b2a924e
echo "Dies ist ein Test.14" | sha256sum --> 1dd5f569d5a39c0fe9d7d9390289a6243dd497aff2a33883c2f6a71dfb05ec9b
echo "Dies ist ein Test.15" | sha256sum --> 882b26b8f9d5b34e17946cad89f99d82e0697b3de6e806b08756bd9450e3ddf8
echo "Dies ist ein Test.16" | sha256sum --> 40449fbf3077c594bc390a00846b92c6d99a400bf79aa07645837fda7ecb2b6f
echo "Dies ist ein Test.17" | sha256sum --> cbe1f352e49b337b483f6328877620426e4d40ca694b1dabb4a200509bec628b
echo "Dies ist ein Test.18" | sha256sum --> 8d86136677fda02a8dd9c6ca8d303acd6670546e396ce857c1a3fb638a34c771
echo "Dies ist ein Test.19" | sha256sum --> 801480ecf563ec112b694cf49043f02180ff794ffc61032d941b2390111a1609
echo "Dies ist ein Test.1a" | sha256sum --> 023d96a339e9784b0d9ab3ba4b38405e37c393852cef0ef2339e730b58deed9c
echo "Dies ist ein Test.1b" | sha256sum --> 921a9500f1333cab7f70b8b460ba1102f7e0586a52597fab0f5fff980743ee8a
echo "Dies ist ein Test.1c" | sha256sum --> e8ba6cdbcbf78cd1254bf5b05b55ecf62ee178ca682d3bb79d6cd47c665a380a
echo "Dies ist ein Test.1d" | sha256sum --> a8af783c59c4dce257cf949cec4941bad848ff5ff7b224eb4290eaecd795fa82
echo "Dies ist ein Test.1e" | sha256sum --> 84a15da68a78abb37cae08a20eda1b746ab2129909451f63e4266eea9871949c
echo "Dies ist ein Test.1f" | sha256sum --> 9732a239abd554040cd5cf3fdc7c73e79c3ef4970767ea2573431eedad58e939
echo "Dies ist ein Test.20" | sha256sum --> b21b29a2ebc053cff89594d4c672d02d9f60daa878adee8911c22674fffa3524
echo "Dies ist ein Test.21" | sha256sum --> 8d122908c0479151d0c21b280c1e44ceafe8475d197426abd1d2789cc126dec4
echo "Dies ist ein Test.22" | sha256sum --> 970a81e731f771b00d3fecc78022675cf512582a7eb46979db960a295e178afb
echo "Dies ist ein Test.23" | sha256sum --> 5752f9bb98282fdd990a8560cbf0c7446d8236769dddf895893340bd71b63b02
echo "Dies ist ein Test.24" | sha256sum --> 6c0cb4cede6d03e5abfb611c93bf25335a3a44f64a22f710e87eea8105728ff3
echo "Dies ist ein Test.25" | sha256sum --> f3035af4c04bb45d0563d4c3359f84b2d790390d7c875bf975a4468d653adf38
echo "Dies ist ein Test.26" | sha256sum --> fcc17578e7292baccb8d5f2b3aff8fbf0a3afaea43e9381e0b7b13fedb0bdb54
echo "Dies ist ein Test.27" | sha256sum --> 6857d9064f50632832a6a21376dd6a50adadffdd5d1a1d2be8ba3a962a19a470
echo "Dies ist ein Test.28" | sha256sum --> 84da99c57141f70d5ae7960e1708456c9cc66835ed10bf1838043070392ec2f6
echo "Dies ist ein Test.29" | sha256sum --> 89dc1b9afd1f8208438be02a02fa2bfd0b39ed6f558746fe027894af8a77b362
echo "Dies ist ein Test.2a" | sha256sum --> 36c4fadd30fb0f5ed45db9f6acac9f681ae42ca3aec6d8ea4ce5695c82421988
echo "Dies ist ein Test.2b" | sha256sum --> 0ea353da121423a911ccbc4d4df6edc5a333a03f3aa9db0767c51a924a86468d
echo "Dies ist ein Test.2c" | sha256sum --> 7c4a4e25c675a563edcff46cd6e4a6c170e1f2d76b38d3bf49980ba3fe578d6e
echo "Dies ist ein Test.2d" | sha256sum --> 5aaa43ce4bbc29344ea5d1099cdb0c5bfa6fd293ebbebec10a1a2ce4955f97c9
echo "Dies ist ein Test.2e" | sha256sum --> 744af66cc1ab29805f7c95884e33b2795afb740332cd4ac1a5da724ce2b9f24d
echo "Dies ist ein Test.2f" | sha256sum --> 8ebf856fa16314a38b7e4dd6b970f6b0ee37e3a36e7c4e16319177cd3a058890
echo "Dies ist ein Test.30" | sha256sum --> fdfd1ce575c0a71b1989a2cf86f024c95508611a4ef707019c3644e0ecfa46b6
echo "Dies ist ein Test.31" | sha256sum --> 8f9f43b39a8a1a40fd3a39ddae9955efd04af4d7647c92b49b78b19d17afe6fb
echo "Dies ist ein Test.32" | sha256sum --> 014dc4dc2b1ee28c6cb574ad58f75e34cde85c3a5fda061f7acbb3616ebc0d72
echo "Dies ist ein Test.33" | sha256sum --> e3eac98ebe259710591e3052c28c540a56db52ddff91fe311cad17823558e521
echo "Dies ist ein Test.34" | sha256sum --> 3d7c9a5f012b24f8b4a91355878ae9f9efbdeae60c2610d40f918c7170f481bc
echo "Dies ist ein Test.35" | sha256sum --> acd42e90cabd2e281c203e85928e5f26145034817debe7fdd5d02b6703c59284
echo "Dies ist ein Test.36" | sha256sum --> af8d3363e81b7f2d311f2fe1618039b065a120cfb1d30e6e0df51632804cf0e8
echo "Dies ist ein Test.37" | sha256sum --> 74ef7f032e21b4a9e5cf684f8c9b94f95acfebcd98bdd765b731c331be9fda17
echo "Dies ist ein Test.38" | sha256sum --> 74831cc32513fa7ca26509c083a881f480582460a8e48e21b9f1f08bf45dc2c0
echo "Dies ist ein Test.39" | sha256sum --> 99280f6fdc36a82cffb17581b6f74aaa2e5e1ef9412f2a8943432b988765be18
echo "Dies ist ein Test.3a" | sha256sum --> a1a8ae69c22d5c4226ee438ce24c85d1ce1ee80a17c663f3a6702d65243f146b
echo "Dies ist ein Test.3b" | sha256sum --> d192255f8c9dff2f27dd66dff1c64127b91e1bf758872624654ecd585499d425
echo "Dies ist ein Test.3c" | sha256sum --> 8794f4f2c420de3df8c5730cbde3498a059eb9796e8fbc783aa530fb8b937177
echo "Dies ist ein Test.3d" | sha256sum --> 50e061e71b427326cc2e772c58e1bfaa4ccf0fb445c611e2f1b2397dee3f3516
echo "Dies ist ein Test.3e" | sha256sum --> 1e1fa3e662f9c5317d5421b802bc95ac32d973b5e8c88cd40e9c61fbc3b700ef
echo "Dies ist ein Test.3f" | sha256sum --> 3a3694417f7e5293c085d50de4cef5d910a47d9d85071a7435504967b502907d
echo "Dies ist ein Test.40" | sha256sum --> dc871f672d5ec31dea59c5955c534446a210b2bed1dadf594171e11d02d1c1f9
echo "Dies ist ein Test.41" | sha256sum --> 3c3217ccc51bb494a8064164635c03cdcbafbf876b5dbef1188c01b3f5b266e3
echo "Dies ist ein Test.42" | sha256sum --> 23211d347ba28bf77e2480a53369ee957304697278708e704851935450f2b040
echo "Dies ist ein Test.43" | sha256sum --> f081d75d8eb988843ecf146b193aab983028a0225b225a279efa9f8786db0b13
echo "Dies ist ein Test.44" | sha256sum --> 212550a9423af4fecef366d526d2fb5e003cb9f93c1ff0d60033881fd9e4e7c5
echo "Dies ist ein Test.45" | sha256sum --> df92376ddf01d67164adb22ccd324f87e15c525b7176ef1b18436fac8cff70b4
echo "Dies ist ein Test.46" | sha256sum --> a30cfccd54fdd54f28c4e158eb6bc51761d5240bf654e3280ec83a1a5f036e59
echo "Dies ist ein Test.47" | sha256sum --> 06a047ca2035ab5f1f69beb1ae21abd8b5152ff19d8293e821a4d55f0557cad0
echo "Dies ist ein Test.48" | sha256sum --> f9dad206588f4d7881e5cfe3d22cc8bc36ee25642171eb208b394cd27677669f
echo "Dies ist ein Test.49" | sha256sum --> de96ea534bd128908b2dddb0f09e0ee9e39a50d1fc6bb36c5bf4688de4d898b9
echo "Dies ist ein Test.4a" | sha256sum --> e737c19a9e1acac49d63ce37ed4c9607644072105bb74bafe84b3a0244f804c8
echo "Dies ist ein Test.4b" | sha256sum --> 12c4a8f2cdf581a341029d9f2156b983116eb42a3fdd986a8c0df1c38e955c07
echo "Dies ist ein Test.4c" | sha256sum --> 97dc46850cf31badb6f1da1721f91f93470b9333b60265554557214b7e651a08
echo "Dies ist ein Test.4d" | sha256sum --> d65527e860a4141f86348ed81065be6ebd28385da4eae607253063ccdaf810c1
echo "Dies ist ein Test.4e" | sha256sum --> e2a7935531f16c744b3812ab239aec0f9c0ebb762585c2a38a2039041bb001d8
echo "Dies ist ein Test.4f" | sha256sum --> 405809f288a788b217c67416016124f585f24e7edf7ed3721c4ce854d3299a33
echo "Dies ist ein Test.50" | sha256sum --> 35d4da635b91d9852e5d852c035fdfc8db96f48c7f173c5f7c71bb485572e2b1
echo "Dies ist ein Test.51" | sha256sum --> bc99eb760ccf79b39bfdad73b178eb6788f1acabac00c47bd48a054cc934f11c
echo "Dies ist ein Test.52" | sha256sum --> 03488de58cd0037b56a15639ef40e66b5d6d7160fd608805df763107b4bfc7ec
echo "Dies ist ein Test.53" | sha256sum --> 91f8469276456de714ec11ef967471a90e695dc1f415061fca6db3bf1ca7b440
echo "Dies ist ein Test.54" | sha256sum --> 2cf41f29201a0048a3ff5bb80ee9c5b124cb907ea099c970e652cbc9e3485284
echo "Dies ist ein Test.55" | sha256sum --> 36cfdc85352bd7e52ac1937cc046124398b0547f4ff56dcc3eb3bf4a10420902
echo "Dies ist ein Test.56" | sha256sum --> 62409c453a36006dead450992d65f188704492854d2df3b7eed12dabfa68af1f
echo "Dies ist ein Test.57" | sha256sum --> d2e37472998392801babee2a6bd91804b99ce8404ac384683db1fa5ce9593a10
echo "Dies ist ein Test.58" | sha256sum --> e3d1c3f53bc93e0fe32050afaeef9897e842a5391efaa31ea0c323521cbebee3
echo "Dies ist ein Test.59" | sha256sum --> 7898b5ebd6415ef417fd884d3af09f342d6ec75e6370d8e0466943e132f75d63
echo "Dies ist ein Test.5a" | sha256sum --> fe0020d0d7b6a500f68485c62f2110409bec4eec73514b5041b0bccd01eb50c3
echo "Dies ist ein Test.5b" | sha256sum --> 27688d5aca31c04ae2524f730d45178cf4cfa9edf6e5cf4da5b46d836e496b9f
echo "Dies ist ein Test.5c" | sha256sum --> 0c407523debac92f9bededf3e71898561bbb3e8bd5a6e365e250ee3e72dee0cb
echo "Dies ist ein Test.5d" | sha256sum --> 0b30029a72a4bd98f2351e782d6c9091e0287a9b4ecc30517f185849b17aac69
echo "Dies ist ein Test.5e" | sha256sum --> 347b64fe5435e8a3c9bcc518d8aef3c07af4baec54cc2fbc3eee0506e98f7793
echo "Dies ist ein Test.5f" | sha256sum --> ee895506999905600b619381e214992f983eca76e7eb6e6b5019298a29201d1a
echo "Dies ist ein Test.60" | sha256sum --> f770b07b3ebf5a6eddb1e16a4c1267d1323a2a109f2fb84484ef0db4c2d406a9
echo "Dies ist ein Test.61" | sha256sum --> e3b0ebd7d45b404728a1b6e82ca669390b7a46e141a71503bb92d2e504ac956b
echo "Dies ist ein Test.62" | sha256sum --> 45585f75bc1ca87e8424412cadedca7835fad10d63a7c2359b6f09d226be012d
echo "Dies ist ein Test.63" | sha256sum --> c68718c991499429555988c14dead58a12c035e24a83ffae0d39eb89953dcf60
echo "Dies ist ein Test.64" | sha256sum --> 7d731f7440d2ab62be3618955c22f8b653052d8285bd4ca798b4aa661e8f8991
echo "Dies ist ein Test.65" | sha256sum --> 4e2969049323ccc7039357084a3a027fff10f66dbec4ecc28e4edd6aa6b9384a
echo "Dies ist ein Test.66" | sha256sum --> 6b3fd7b7a6afcf4979adab16b02b5bcb5733e008d1427b5b1b5877aaf0855d87
echo "Dies ist ein Test.67" | sha256sum --> e1bb1354cf9e1b192aef2ed0b98855688dd88a2d516549d61f1d1394f4fdc1df
echo "Dies ist ein Test.68" | sha256sum --> 1988a73276b3278b6feffdd768dbdc5c031eba54587eebc218c825d01c0fd1f5
echo "Dies ist ein Test.69" | sha256sum --> b911ddb1b5116873e18b8b1260fa9741eb18530545ffab1e31d19690b44802b1
echo "Dies ist ein Test.6a" | sha256sum --> d1694a48d218029df10796483510470f3ee24c0a9518841edc2b5f30f71db9af
echo "Dies ist ein Test.6b" | sha256sum --> d3223b6921776d23a1d193c38dd13e2ede191668ab9eddd80ff9b072ba341470
echo "Dies ist ein Test.6c" | sha256sum --> 9216b364d3066b241b1580fd013e9db267aadc326cf140f1830804ae8aeda8df
echo "Dies ist ein Test.6d" | sha256sum --> 1d0ede9893b8fd27ad5eeb302b3d3d4dc6529c29cf2030940d183393f749fb7c
echo "Dies ist ein Test.6e" | sha256sum --> 512c25e6ea0c7a2f86138a61aa92403fb7da94621e150f834389d5e81c442b95
echo "Dies ist ein Test.6f" | sha256sum --> 517487d5b8500711ed7343dd727ec0f4307c76ed7581709132604fc2a6c57d4a
echo "Dies ist ein Test.70" | sha256sum --> 25f9435016811f6cd2bf84470a3382199f7e3b9a521c1e2329168b683b2e4a7e
echo "Dies ist ein Test.71" | sha256sum --> 2fd268b754eb2b9eb445810dbde9aefc6042f0dff26f387de1d48164e5626f19
echo "Dies ist ein Test.72" | sha256sum --> 481043cec2ef97fde657bf40faa51320a681c36a59d972827046924df81c2380
echo "Dies ist ein Test.73" | sha256sum --> 72cbea451609b74e09788e3f72b1f423ac004967be7ccf774583cfe8cb11005e
echo "Dies ist ein Test.74" | sha256sum --> aa9ea2e2ce2f45bd9f71b10957a1d5923d80b82ba8a29629af12d5bfd5fa2105
echo "Dies ist ein Test.75" | sha256sum --> cc773c2f8fc8db2b0b8c8b33be592b35889cb47ef608818113ff635fee82b5c5
echo "Dies ist ein Test.76" | sha256sum --> 6236f11e4abbfa36d92dee1261470b175cad0410c082483da23b576f37b19a9b
echo "Dies ist ein Test.77" | sha256sum --> 4d44abdbbc5acb3216b1c7ae43db100634f024fef9dade37a9ea0119a6e2ab0e
echo "Dies ist ein Test.78" | sha256sum --> 0f237f91db234c5c125c5ccecb7e6773b7f960e02ae971398f86c2bb35cff744
echo "Dies ist ein Test.79" | sha256sum --> 5e0fd8703dce8d846d67ec63e4a8409d1c87e6c1bb9880775663fb2f94646527
echo "Dies ist ein Test.7a" | sha256sum --> a0e93ff64268b00f1abc794be4f9c5ca3eea4d392c3eb1baaf4f83411c41615d
echo "Dies ist ein Test.7b" | sha256sum --> dd3b8ccbe8bcdc078ab8c106ebd84c6666efb028b38eb85d249a0e6d87fc2813
echo "Dies ist ein Test.7c" | sha256sum --> 518c8bcaf9a12661353ce830fae72b58bd011d244ff40a055492b3feb60c44ee
echo "Dies ist ein Test.7d" | sha256sum --> 1e5e61f62e554c4140fbef50b82a450a9a122d14b27ff69e1dda9dfa5cf912e8
echo "Dies ist ein Test.7e" | sha256sum --> e36a13606f2771f509cc70edd3cdc92d51ce6e3398eab9845bac4d038129c07b
echo "Dies ist ein Test.7f" | sha256sum --> 237a4c154d81959dda5d3fc281978120283d7ae8346eb0236d703dff5048fd8e
echo "Dies ist ein Test.80" | sha256sum --> d348cc7ff07b56ed842862e4b053c67a04289376907386c53d2a5ae2ffba83a2
echo "Dies ist ein Test.81" | sha256sum --> 2f7ea1d2b271ceab3ee3385f7a1ddadbfef32e9ab84da7390740f6a5326cc0f1
echo "Dies ist ein Test.82" | sha256sum --> de8e8f91c57e0bb5258140a5cc217d80d57ead5226bc6cd4a87d3a8ba8deaf9c
echo "Dies ist ein Test.83" | sha256sum --> 580a6882f53bf5981d953d28f8ae4413784de1b98fe028b92a096b96213c641b
echo "Dies ist ein Test.84" | sha256sum --> 872b577746473ce53ced34d4431187a15e3e6f64dc7b239356382638a9bee243
echo "Dies ist ein Test.85" | sha256sum --> 0eba3d8e6842e6a0ff070e9107bb300a7fdeda1c0c0accd996115170ee77895e
echo "Dies ist ein Test.86" | sha256sum --> b42d5d2c782e1476e2b986e69f574cb79ad6e9553c63047e97f8efc862cf8ba5
echo "Dies ist ein Test.87" | sha256sum --> 1651bcbbdf956334a9cea1c49cc4d3a9346589aaa3cf6a4f40d9d3c40e1578ce
echo "Dies ist ein Test.88" | sha256sum --> ee2ff6cad5011684f50ce4baff276362cd22f578f6e0a12bb567d0ae3bbb03f5
echo "Dies ist ein Test.89" | sha256sum --> 6e034bd6be4b0db905a685e30bccc64a7eec6f68dbdd4a5b0c8cb068b4401c10
echo "Dies ist ein Test.8a" | sha256sum --> 6196b99b1ab95f898561c362f21a4145342d1bed9b06e7da8f1f84dded197d7c
echo "Dies ist ein Test.8b" | sha256sum --> d0427989bcbc8c3c45e606b6bb1b5598d3c3fc87ccac7e7470a4009f8d378271
echo "Dies ist ein Test.8c" | sha256sum --> bd6d54cbc51b724c1756d15b7914424f3d4946a49fbb39d8d356e7aea8afc304
echo "Dies ist ein Test.8d" | sha256sum --> 82f3fbd7a47b37fe2b2da55d451d55e8235b9674aa627083d7a36e469bb7e1e7
echo "Dies ist ein Test.8e" | sha256sum --> 1d3290ec1b51f66c5b1706cf7ac3caf3c540236c55eeaf5bc1ee3f0da6bfe093
echo "Dies ist ein Test.8f" | sha256sum --> 312ac5f69791665bf2b0b1c5d4af9574276f979c0e3f8fdcb08fdbd2b0767855
echo "Dies ist ein Test.90" | sha256sum --> 6979eaa15d3098338eea3e26213d23c3ebb3571721a0db34e97dd9b85360e3a2
echo "Dies ist ein Test.91" | sha256sum --> d9e1b0667c46e0a59c8a109605f8eeb1cc1ec4b5f30deca6ec495be44ec28295
echo "Dies ist ein Test.92" | sha256sum --> b58f043df7b1b6fa104ac1bb5aa633bed49f527e03009a3cdb21c28770fdf45a
echo "Dies ist ein Test.93" | sha256sum --> 88e88055543a77a9ac7eb800811df2bb50fe63757844a908a36f66c47e0f998f
echo "Dies ist ein Test.94" | sha256sum --> 89bb63e2d3fa2a5871c14a58eaca7a41d3975012ffb3e3dee98d75b45d3efdd3
:) echo "Dies ist ein Test.95" | sha256sum --> 7d89049f95a719f4a10596e7ca800de4e3052bd714f97051609241778566ac00
echo "Dies ist ein Test.96" | sha256sum --> cce31c1786e748433243debb61ae596b2aa14d9a73cdad47d8d2499a219bf7ec
echo "Dies ist ein Test.97" | sha256sum --> bca082c1916521c7be5f57674c65e64de740ab39e60ddd5b45ca3f006170af6a
echo "Dies ist ein Test.98" | sha256sum --> d7d5f4e6b77980386f784abb619511edc2b2e40b6c2756d3272d6c2b78002484
echo "Dies ist ein Test.99" | sha256sum --> aafee9b1d7a4e8adf8b61f8fb9b0768ce6d739f966d6650d18db0c94947cf0c4
echo "Dies ist ein Test.9a" | sha256sum --> 14cf4ced72c255c3a69b5a675612516827cf9ea02f81f0b248f2cbc64a0605c6
echo "Dies ist ein Test.9b" | sha256sum --> 5cd996e82327d489c7819560034ccce442561360eced62356951084154e4e571
echo "Dies ist ein Test.9c" | sha256sum --> 2d86a29bdc532c89660e1bb3a099489ef0bfc00848645cd084f4ce3e32040261
echo "Dies ist ein Test.9d" | sha256sum --> 4f0ec4b036f508f56eacb13a85b16a8711443ed6c80ecdee52128d6ffb06fc4a
echo "Dies ist ein Test.9e" | sha256sum --> 8ba5c73cd47f38cf7614e12c6c5c170b9badd8ee9e4111237c149c0b50d72b7b
echo "Dies ist ein Test.9f" | sha256sum --> 495af5616b8cdb89ec277c82df029979e412500f8bb60d347d3eb8566ee7305b
echo "Dies ist ein Test.a0" | sha256sum --> eb765d38a1063d718839de2c02872aea1fa381959368a8e8377a8ae5745960c2
echo "Dies ist ein Test.a1" | sha256sum --> 0679625b03f6e7f015da07a471933d463e8b93083702e04e1199bcc1923a8efa
echo "Dies ist ein Test.a2" | sha256sum --> a3fc254caac31f175a1cda31f328bca283ace2af582d9fbdc02deca66febfbc1
echo "Dies ist ein Test.a3" | sha256sum --> 736fbd6d185a08784c815233ff8fa06d460251f2d387cf590c4db84903858911
echo "Dies ist ein Test.a4" | sha256sum --> 9e5d86c731f924d75d0abb105ddff41ad53611f0fa844c7aae45214f6234535c
echo "Dies ist ein Test.a5" | sha256sum --> 365d7ead3a8eae60e11a24f951405bbecdd8874a4d490a9d5b43b77f942af21e
echo "Dies ist ein Test.a6" | sha256sum --> 5151fec1b0bfced200d81773150358c6e29f1427caa051911779cfad4e9aac5e
echo "Dies ist ein Test.a7" | sha256sum --> 03e311f433bea9fd3aa6ef6e963dec28e235ee3c9933f44902f18a571143a3a3
echo "Dies ist ein Test.a8" | sha256sum --> a95b3290c4e706e95eb9816412f4984a740e468a9750a685898be54702b76db3
echo "Dies ist ein Test.a9" | sha256sum --> 0b100c07b242e4b6b1cf8ce34118c42303ae317db145d7824959e6cfc68418c7
echo "Dies ist ein Test.aa" | sha256sum --> 5d43bae11e081392f6511d076007738e8826a5970b041f4f706fee2671d3a3c5
echo "Dies ist ein Test.ab" | sha256sum --> aeaced5a5ab079e1c061dd99ec3a0da8802fda99e1d32b3febb5d8cd72f5f267
echo "Dies ist ein Test.ac" | sha256sum --> 4ec0d7fd81d0c61d950f1e1982a421f4046dd729391f103ccfc0c196fcc0f0b9
echo "Dies ist ein Test.ad" | sha256sum --> b7a0fa755db777f467739626fda615626f8e80b8a9cbce764c65a1a9f6ffe662
echo "Dies ist ein Test.ae" | sha256sum --> 4ab1cede709366bfce34be6bd73866d74b74405a12a73b83339dadac900f274f
echo "Dies ist ein Test.af" | sha256sum --> 071df844d8fedbb19f3c9e5a218a493463bcdce3a8349c3a70ea2b2867a3c215
echo "Dies ist ein Test.b0" | sha256sum --> faec3c79b1d911d142c306b4a0ab6bc15fe6a1718b8495d53993b1636d2a3706
echo "Dies ist ein Test.b1" | sha256sum --> ee04a94715aed1171864f379cce1fdb7893dc2217517f62fec9d06b896d93195
echo "Dies ist ein Test.b2" | sha256sum --> 3162aac9d4421fb4b6c081dd6b126b9dc1c23480bdcc58204919aa1e32172a06
echo "Dies ist ein Test.b3" | sha256sum --> f3c2862ab4d9a8855aca133e311b0bc878291205aca61e6226cca0a595d720d7
echo "Dies ist ein Test.b4" | sha256sum --> 5adf9ed5f9dc10078e9d01189e3a488b530d64c7c6b906a10223051457e99c41
echo "Dies ist ein Test.b5" | sha256sum --> c353bdbbbd5ac95e41c61692e8683449d18f59525a1b78cf19e7641ef028c839
echo "Dies ist ein Test.b6" | sha256sum --> b988434eba84d1073b8f91c574fde43b4d6225f44df47f2ef4b8d2f4b93fa8f4
echo "Dies ist ein Test.b7" | sha256sum --> 0c9ea66b498a491bdabf9636a0044dcab8d7bf3b330c67b1fc76c39a7ba5d9ce
echo "Dies ist ein Test.b8" | sha256sum --> ca5ed687f72edf104e046f63b8286b300678027711554e4b6d5ecec248864b9c
echo "Dies ist ein Test.b9" | sha256sum --> 116eeec4bf0b605c2c877086995a9bae60f6a4acbc7eba20105d2b292c2949cf
echo "Dies ist ein Test.ba" | sha256sum --> 3180dfbaa2cbff520d398d539bd1b428eba2adfba176d6c89e016cbd93336997
echo "Dies ist ein Test.bb" | sha256sum --> 8eeaea6386ae8763b0643db72a5f5157c5a1d8219caa9a362ebc43b3397bb1d1
echo "Dies ist ein Test.bc" | sha256sum --> 39f5f4204710d2db59b09573d3ee298e10c6c1cfedb1b3d4d50e84cebe221a91
echo "Dies ist ein Test.bd" | sha256sum --> ec74c57e11313159c6d35501b8c95c01e118fad8ba49f74d9a6a485b820b430d
echo "Dies ist ein Test.be" | sha256sum --> 1a1382e56433e53dddd7cb14faa479a9d552afb85790dcf0e2abd4e8bad6839b
:) echo "Dies ist ein Test.bf" | sha256sum --> 72b3aae77e6cc26180bed36f00df13a554452ac05b66333f1a09d8ce83081400
echo "Dies ist ein Test.c0" | sha256sum --> e8005109d90201790aca0d22f4f5306de9ab1670fd30003f71307c3962ce1e19
echo "Dies ist ein Test.c1" | sha256sum --> 5f78deee85c9ee09a1503e40a14c2908ac2bbd96321e79475da62f3c2db460e1
echo "Dies ist ein Test.c2" | sha256sum --> eb37e90de6980a4422f3d9288ac7afd546a554538d5c3ece7c6a5f0dfcfff9b6
echo "Dies ist ein Test.c3" | sha256sum --> 7de73ef8e0c9d54dd7067383ecbe924b80962fd1c5b7b803811453e06f1c014c
echo "Dies ist ein Test.c4" | sha256sum --> 55c7e311e4bf57afbbd007bb235b19377abe6146ab8eece439e683872e5d4e83
echo "Dies ist ein Test.c5" | sha256sum --> a398ee35f6fd0f53aa8b0dad3507f62438c044d07c2c704b1007f0b8f242cba2
echo "Dies ist ein Test.c6" | sha256sum --> 3c61604b58bf153f909895435965b77ad6bc2da6534394227b9cbfc2580f040a
echo "Dies ist ein Test.c7" | sha256sum --> 3838b9374b0ba3316a4a148342c67a4628e737bc546b24e96db80b9b04ec16e1
echo "Dies ist ein Test.c8" | sha256sum --> 4ca3bc50afeccc8f8e9250e2d2855d93840218bbd77213f4097d855c0146449a
echo "Dies ist ein Test.c9" | sha256sum --> 8e99db4dacb99a08ec3c6046f9e658e75efbd79455041d3eb8b4671f9fb9303f
echo "Dies ist ein Test.ca" | sha256sum --> b089feda2f07ee9fde12da2b7c16965382fccec3d921fe770d6995c8d6f519bf
echo "Dies ist ein Test.cb" | sha256sum --> d9a443bc77dbf9f6eb62a946236fd0afa95b07825cab5ce9724bb315506adf2a
echo "Dies ist ein Test.cc" | sha256sum --> cff3eb34b75e7d79be16700aa98c9d9745f5083083ee2321c17e91f94a35c9d5
echo "Dies ist ein Test.cd" | sha256sum --> 9ceff071abf63271b49edd7349340a1a05c06b6fd68010a7351b6d7628afe004
echo "Dies ist ein Test.ce" | sha256sum --> 995fbd331ef94f0191ed2b2359467b26ea10f19c744698ebd3cd14e398ddcf88
echo "Dies ist ein Test.cf" | sha256sum --> 5901e45d21b0fe8e2e74c73712119fcc6c39b0dd3865ebfb24f1aeb8fa7ca6c3
echo "Dies ist ein Test.d0" | sha256sum --> faaaaad597b3f3db55bd6373f15cee14735a695143ed8d4db7231ea8002f0d58
echo "Dies ist ein Test.d1" | sha256sum --> 03aaae7b9748eb229d1c69a0334b08c2ec8713498a6d791e120c1b3c12f6e5e7
echo "Dies ist ein Test.d2" | sha256sum --> 72f16b9f11e5ae5ae2bb7fae055e3783c50994abe68e6b18a94d1c30959165f2
echo "Dies ist ein Test.d3" | sha256sum --> 17fbc6d6797138a6e46df10cfabddcd3e27eb5728e910a7d6db9d9e298f556c8
echo "Dies ist ein Test.d4" | sha256sum --> cd02111017a447ee66f2cced9a695d05ab0e765aa4cde363c96f14cb349e73f0
echo "Dies ist ein Test.d5" | sha256sum --> c7e667f5369dd043b60bf5e549de8bd06f09ba81152117c7b857b72d3e96cdda
echo "Dies ist ein Test.d6" | sha256sum --> e022a995d4723b044fc1b2a4feafd94690dde15814c00942f0c9a38be2e57d77
echo "Dies ist ein Test.d7" | sha256sum --> b4065e0d3f6d8b0ae848580f288cc9cf3808570317df2f48804135e9a8b9e2d0
echo "Dies ist ein Test.d8" | sha256sum --> 4b017e01e1d2739425b9e990d5265e65e59b8753f49c27d77477afc85007fbe9
echo "Dies ist ein Test.d9" | sha256sum --> dcd62e08870326e78800c68080f8299972913bd402f0dc660226687202937258
echo "Dies ist ein Test.da" | sha256sum --> a645f02d807817da64e1c3c5c813a54d705d945523e810ab2c8e48122991b332
echo "Dies ist ein Test.db" | sha256sum --> 0e43c05cd62cfd0523549a029ab01c9c77c8f38969316bc358e1ee38a2a6132b
echo "Dies ist ein Test.dc" | sha256sum --> d9c6236fd9c7497cd390e7e1bb6381efde0c4e984a3db161f92e38ae4ee1f356
echo "Dies ist ein Test.dd" | sha256sum --> 58d8180ea0723c6a294f1e871dc496d4e10f896f7233c67df9d6a625e9b7dc89
echo "Dies ist ein Test.de" | sha256sum --> bfde686c9f51c4231655378a602f4a0f33ad474254710ff7ef6e8abeb3c4bb89
echo "Dies ist ein Test.df" | sha256sum --> 1d14eb1128643bc6ddf2b376669cbcd6bd82307df503c94bbb012f3d611f7869
echo "Dies ist ein Test.e0" | sha256sum --> 31c3f395e36cb81d7aa50dabca40975d1141688f6e8380448d93d117f23168e1
echo "Dies ist ein Test.e1" | sha256sum --> 5a44ee054baa7b6889142253e24feb1dcc7435e361d8618b21c0e40bb6542317
echo "Dies ist ein Test.e2" | sha256sum --> b30cfeea138f13b1533d7154bb598f550edd50b852d415cef8fde010bfa9e79c
echo "Dies ist ein Test.e3" | sha256sum --> 3d5d97092ee5295ac3dccb751613e63e133d966d1f2c52977aae2f1efd84434b
echo "Dies ist ein Test.e4" | sha256sum --> 9c0c5d9d5a638ea37c8d4a55e1b7c242a4376f4fb1d6fadfe13b49cb0a51ca8d
echo "Dies ist ein Test.e5" | sha256sum --> 7e1b4ed2cc26a900d0daaecfa1375a16bb0fd628df2fbfb60a6863a7ce435edc
echo "Dies ist ein Test.e6" | sha256sum --> b27fbe269d10be3177dc1231895bf507c7b04c6300dba566db98b6714842b190
echo "Dies ist ein Test.e7" | sha256sum --> ed0f0d57da67af5ebaa9ade1a48282665c1fd4103f21c122c502358ab7532bcd
echo "Dies ist ein Test.e8" | sha256sum --> a424f5ee3ed89e469e94bef20c2afeab2a5137e7282705bcdc693f6a0ba088fc
echo "Dies ist ein Test.e9" | sha256sum --> d88669d81bf667d2ded4caf2b997e3cf254f8e51deb49561f709760e5a15d7a1
echo "Dies ist ein Test.ea" | sha256sum --> 64a162e66658ddc76f288431a8b20c6a61460298351ab8179e18f93a825f1dba
echo "Dies ist ein Test.eb" | sha256sum --> 83975fd01b5dbc584b6d8f5e0afe3b1e88588b5b0fdbeac0fb12cc68deb943ea
echo "Dies ist ein Test.ec" | sha256sum --> fec6e3118a3937c05b9fd81a2e7505d39f8b05d7cec803a0624d0a6c1a43b4c0
echo "Dies ist ein Test.ed" | sha256sum --> ca3b494e94609126522f08d348772591e78852452b5d84123eba8073639a0d4d
echo "Dies ist ein Test.ee" | sha256sum --> f0ac6d8c993fb0d986c11962efad8d429ef1e085410d03c9d7dbfd0cd208cc2a
echo "Dies ist ein Test.ef" | sha256sum --> df6a21371eb7dcd17f8b77f25bf921af06f7ffc6cb3518cc58d7971a463997aa
echo "Dies ist ein Test.f0" | sha256sum --> d5250e176b308906d52d51bf728436477b94e6f95a7cff2ea9130b636ab6c56e
echo "Dies ist ein Test.f1" | sha256sum --> 0a10aaee394fa7f62258c8c1e592e05c43d3ebb7a26263e444dba12dd477dc90
echo "Dies ist ein Test.f2" | sha256sum --> 8117fa4b0732f83efc3319fe808f9d20be4cc0d1fa4ed68331a70ed801bc6577
echo "Dies ist ein Test.f3" | sha256sum --> 9c0e91f3287a7c0e41ed851acff54f992d019aa453ca7ad254aea5424d2f1d98
echo "Dies ist ein Test.f4" | sha256sum --> 3bd76274830bec0ab4a08d0073886a170748fff884f53d0d6d402d4b8c5fc7c8
echo "Dies ist ein Test.f5" | sha256sum --> 9ce48d63b8b57b453d62966dd2af9ab3bc1765d35c7587f46e5b9dfe4c068295
echo "Dies ist ein Test.f6" | sha256sum --> 47c8e7eb26ce5b679c5e1b4548b8eb1dade1509eae968e1194256811aaff561a
echo "Dies ist ein Test.f7" | sha256sum --> ab18457194c4f9254035301be9d791a26103714ea8181e3bc0832cac6806b2ee
echo "Dies ist ein Test.f8" | sha256sum --> 5eeee2f5d7d5fecad14b3cb86994844c4a51a9f2205d9fcd700aa9f5e1c0b933
echo "Dies ist ein Test.f9" | sha256sum --> 065ac677251268895932a15976ca9c3b73eacf097291b684ffb39e39e2e6da14
echo "Dies ist ein Test.fa" | sha256sum --> 10e37910da5d1f4795ff13d3f762e91f31110b500dbfdf61f762fd489d6af561
echo "Dies ist ein Test.fb" | sha256sum --> 804ae6c70916bc192a11ecbb5182f685ea71c06f2c804ca0a5cace5694d17c88
echo "Dies ist ein Test.fc" | sha256sum --> 4063193ccbf560c15c2e7794bcd624b6807f7eedf3dd81a92228fc4f1fcf312e
echo "Dies ist ein Test.fd" | sha256sum --> 2796ab526ec3a02f35140dabde1d02813514d49a4a977f0b481aa0f3b2a8b911
echo "Dies ist ein Test.fe" | sha256sum --> 8e5fe6817648139cbc6947c74d6d2bc8105a31d37532052a05da27334d614f9e
echo "Dies ist ein Test.ff" | sha256sum --> 0a107fe12afb85a60d1c31db415baa3ee83126e1efadbdd8e5417600b4566b78
nach typischerweise 2^8 = 256 Versuchen hat man statistisch Erfolg.
--> Viel (eigentlich unnötige) Arbeit: "Proof of Work".
bitCoin: Man macht das n absichtlich so groß, daß es typischerweise 10 Minuten dauert,
bis ein Datensatz signiert wird.
--> Jede Transaktion dauert typischerweise 10 Minuten.
--> In dieser Zeit rechnen riesige Rechnerfarmen. --> Viel Stromverbrauch.
- Schwachstellen von Bitcoin: 51-Prozent-Angriff
https://en.wikipedia.org/wiki/Double-spending#51%_attack
Wird 51% Attack genannt (wobei 50%+Epsilon natürlich reichen würde)
Die nachträgliche Nichtveränderbarkeit der Blockchain ist nur
dann gewährleistet, wenn keine beteiligte Partei mehr als 50%
der Gesamt-Rechenleistung kontrolliert.
- Größtes Problem (im Sinne der Nachhaltigkeit):
hoher Ressourcenverbrauch
- Energiebedarf der Rechner, Stand 2021:
120 Terawattstunden (TWh)
Zum Vergleich: Stromverbrauch von Industrieländern, Stand 2014 bis 2016
https://www.laenderdaten.de/energiewirtschaft/elektrische_energie/stromverbrauch.aspx
China: 5.920.000.000.000 kWh = 5920 TWh
Deutschland: 514.600.000.000 kWh = 514 TWh
Schweden: 125.400.000.000 kWh = 125,4 TWh
Niederlande: 106.000.000.000 kWh = 106 TWh
- Hardware-Bedarf:
Standard-Rechner sind zu langsam. --> spezielle Rechner
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
Alternativen zu "Proof of Work":
- "Proof of Space"
- "Proof of Stake"
ChatGPT:
Proof of Space is a consensus algorithm used in blockchain systems,
specifically in cryptocurrencies. It is an alternative to the more commonly
known Proof of Work (PoW) and Proof of Stake (PoS) algorithms.
In Proof of Space, the idea is to allocate storage space on a computer or
network in order to prove ownership and eligibility to participate in the
blockchain's consensus mechanism. Unlike Proof of Work, which requires miners
to solve complex mathematical puzzles, or Proof of Stake, which requires
users to show ownership of a certain amount of cryptocurrency, Proof of Space
relies on the concept of pre-allocated and unused storage space.
Here's a simplified explanation of how Proof of Space works:
1. Initialization: Users set aside a certain amount of their available
storage space, such as hard drive or solid-state drive (SSD) capacity, to
participate in the consensus algorithm. This space is pre-allocated but
remains unused.
2. Proofs: To participate in the blockchain's consensus, users are required
to submit proofs that they possess the allocated space. These proofs
typically involve cryptographic computations, such as generating a specific
hash value based on the pre-allocated space.
3. Challenge and response: The blockchain network issues a challenge to the
participants, requesting a specific proof based on the allocated storage.
users respond to the challenge by providing the requested proof within a
given timeframe.
4. Verification: The network validates the provided proofs against the issued
challenge. If the proof is valid, the user is considered eligible to
participate in the consensus and may be selected to add the next block to the
blockchain.
5. Block creation: Participants who successfully provide valid proofs are
given the opportunity to create a new block in the blockchain. The
probability of being selected is proportional to the amount of allocated
storage space they possess.
Proof of Space aims to be an energy-efficient alternative to Proof of Work,
as it relies on unused storage rather than computational power. It allows
participants to contribute to the consensus algorithm without the need for
significant computational resources. This makes it more accessible to a wider
range of users and potentially reduces the environmental impact associated
with traditional mining methods.
--> Nicht wirklich falsch, aber konfus und sehr allgemein.
Algorithmus:
- Im Speicher befinden sich vorberechnete Hash-Werte
(in einer Datenstruktur, in der man sie auffinden kann).
Vergleichbar: "Rainbow Table"
- Aufgabe: Finde zu einem gegebenen Hash die Daten.
--> Nicht eindeutig lösbar. Es gibt unendlich viele verschiedene Daten,
aber nur endlich viele verschiedene Hashes.
--> In vernünftiger Zeit nur dann lösbar, wenn man bereits vorher
zu vielen Daten die Hashes berechnet hat.
--> ... und die Ergebnisse abgespeichert hat. Proof of Space.
Beispiel:
- Chia
Nachhaltigkeitsaspekte:
- Verschwendung von Massenspeichern
ChatGPT:
Proof of Stake (PoS) is a consensus algorithm used in blockchain systems,
particularly in cryptocurrencies. It is an alternative to the
energy-intensive Proof of Work (PoW) algorithm commonly associated with
Bitcoin mining.
In Proof of Stake, the ability to validate and create new blocks is based on
a user's ownership or "stake" in the cryptocurrency. Instead of miners
solving complex mathematical puzzles, block validators are chosen in a
deterministic manner, typically based on the number of coins they hold and
are willing to "stake" as collateral.
Here's a simplified explanation of how Proof of Stake works:
1. Ownership of cryptocurrency: Users who want to participate in the
blockchain's consensus must hold and own a certain amount of the
cryptocurrency that powers the network. This ownership represents their stake
in the system.
2. Block validator selection: Validators are chosen to create and validate
new blocks based on their stake in the network. The higher the stake a user
has, the higher their chances of being selected to create the next block.
3. Block creation and validation: Selected validators create a new block by
placing a "bet" or "staking" a portion of their owned cryptocurrency as
collateral. This demonstrates their commitment to the network's security and
provides an incentive not to engage in malicious behavior.
4. Consensus and rewards: Validators' blocks are validated and agreed upon by
the network through a variety of mechanisms, such as voting or weighted
selection based on stake. If a block is deemed valid, the validator is
rewarded with transaction fees or newly minted cryptocurrency as an incentive
for their participation.
5. Security and penalties: Proof of Stake systems typically include
mechanisms to discourage malicious behavior. Validators who attempt to
manipulate the system or validate fraudulent transactions risk losing their
staked coins as penalties, which serves as a deterrent to maintain the
integrity of the network.
Proof of Stake offers several advantages over Proof of Work, including
reduced energy consumption, as it eliminates the need for resource-intensive
mining operations. It also allows for faster block confirmation times and
potentially higher scalability, as the consensus process is more efficient.
However, it does introduce new challenges such as the "nothing-at-stake"
problem and the need for mechanisms to ensure decentralization and prevent
centralization of stake and power.
Algorithmus:
- Man muß eine gewisse Anzahl an Coins besitzen.
- Diese setzt man bei einer "Wette" ein.
x Man wettet darauf, daß die anderen akzeptieren, daß man diese Transaktion
validiert. --> Eigentlich nicht.
- Details:
https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/
https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/
- Es ist kein "Wetteinsatz", sondern ein "Pfand".
(Ethereum: man muß 32 ETH hinterlegen. 2020 waren das 6500 USD,
aktuell liegt der Kurs bei 1742 USD pro ETH. 32 * 1742 = 55744.)
- Ein deterministischer Algorithmus liefert Pseudozufallszahlen.
Damit wird, in Abhängigkeit des Einsatzes, ausgewählt,
wer den nächsten Block in die Blockchain einfügen darf
(und dafür in der Währung belohnt wird).
--> Alle Beteiligten können nachvollziehen, daß diese Pseuduzufallszahl
kommen mußte und weshalb gerade dieser Stakeholder ausgewählt wurde.
- Zusätzlich prüfen weitere Stakeholder, ob dabei alle Regeln eingehalten
wurden (und werden dafür ebenfalls (leicht) belohnt (oder (leicht)
bestraft, wenn sie dieser Verpflichtung nicht nachkamen (z.B. weil
sie gerade offline waren))).
- Wer sich nicht regelkonform verhält, wird (wirklich) bestraft.
- "Strafe" = Einbehalt eines Teils des Einsatzes,
in Extremfällen Ausschluß aus dem Validator-System
--> Wesentlich weniger energieaufwendig als Proof of Work
- Jemand, der sich Validator-Belohnungen holt, indem er einfach für alles
"vote"t, wird bestraft.
- 51%-Attacke immer noch möglich, aber aufwendiger als bei Proof of Work
Beispiel:
- Ethereum hat von Proof of Work auf Proof of Stake umgestellt.
Nachteil: Startproblem
- Wer besitzt am Anfang das Vermögen?
- Wer darf am Anfang validieren?
--> Ethereum: Start mit Proof of Work, danach Umstellung auf Proof of Stake.
Welchen Vorteile haben Krypto-Währungen?
- Dezentralität
--> Unabhängigkeit von Autoritäten, z.B. Staaten
- Transparenz
--> inhärente Sicherheit (Einer Bank muß man vertrauen.
In einer Blockchain kann man bei Bedarf alles nachvollziehen.)
- Pseudonymität/Anonymität möglich
Einsatzgebiete von Kryptowährungen
- Riesenaufwand. --> Für Alltagszahlungen ungeeignet.
- Geldwäsche (z.B.: Zahlungen an Ransomware-Erpresser)
- Spekulantentum
Weiterführende Fragen
- Was für ein System wäre denn für Alltagszahlungen geeignet?
- Wofür lassen sich Blockchains sinnvoll einsetzen?
Was für ein System wäre denn für Alltagszahlungen geeignet?
Kriterien für digitale Währungen:
- Fälschungssicherheit:
Wie leicht bzw. schwer ist es, Währungseinheiten zu erzeugen,
obwohl man das eigentlich nicht darf?
- Unabhängigkeit
Wenn ich das Geld habe, bin ich dann wirtschaftlich handlungsfähig?
- Schnelle Bearbeitung
Wie lange dauert eine Transaktion?
- Zahlungsnachweis
Wie gut kann eine Transaktion im Nachhinein nachvollzogen werden?
- Anonymität
Muß man bei Zahlung persönliche Daten (z.B. Identität) preisgeben?
- Rückverfolgbarkeit illegaler Geschäfte
--> Gegenteil von Anonymität (?)
- Liquiditätssicherheit
Wenn mir jemand das Geld zahlt, kann ich mich darauf verlassen,
daß ich davon auch etwas habe?
- Ressourcenverbrauch
Wieviel ist an materiellen Ressourcen (einschließlich Energie) nötig,
um das System betreiben zu können?
- Personalbedarf
Wieviel ist an menschlichen Ressourcen nötig,
um das System betreiben zu können?
Bargeld:
- Fälschungssicherheit: o
- Unabhängigkeit: ++
- Schnelle Bearbeitung: -
- Zahlungsnachweis: --
- Anonymität: ++
- Rückverfolgbarkeit illegaler Geschäfte: --
- Liquiditätssicherheit: ++
- Ressourcenverbrauch: -
- Personalbedarf: --
BitCoin:
- Fälschungssicherheit: ++
- Unabhängigkeit: ++ (dezentral)
- Schnelle Bearbeitung: -
- Zahlungsnachweis: ++
- Anonymität: -
- Rückverfolgbarkeit illegaler Geschäfte: -
- Liquiditätssicherheit: - (Kursschwankungen während des Transaktionszeitraums)
- Ressourcenverbrauch: -- (hoher Energieverbrauch für Transaktionen,
hoher Hardware-Verbrauch für Herstellung von BitCoins)
- Personalbedarf: ++ (evtl. bis auf: überproportional viel Werbung)
Kartensysteme: Debit- und Kredit-Karten, Lastschrift per Karte
- Fälschungssicherheit:
Debit- und Kredit-Karten von Banken: ++, von privat: ?, Lastschrift per Karte: -
- Schnelle Bearbeitung: ++
- Zahlungsnachweis: Banken: ++, privat: ?
- Anonymität: -- ? (Debit- und Kredit-Karten: Identifikation über die Karten-Nr.
Wieviel Aussagekraft diese Karten-Nr. hat, ist nicht eindeutig klärbar.)
- Rückverfolgbarkeit illegaler Geschäfte: ++ (?)
- Liquiditätssicherheit: Sehr hoch, wenn man die Karte vorher auflädt
Debit- und Kredit-Karten von Banken: ++, von privat: ++, Lastschrift per Karte: -
- Ressourcenverbrauch: +
- Personalbedarf: +
Entscheidungen durch KI treffen lassen?
- Die Entscheidungen können nur so gut sein wie die Trainingsdaten.
- Sind die Entscheidungen nachvollziehbar?
--> Der Begriff "Machine Learning" trifft den Sachverhalt besser
als "künstliche Intelligenz".
#include <stdio.h>
int main (void)
{
for (int i = 0; i < 256; i++)
printf ("Dies ist ein Test.%02x\n", i);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment