Was macht BitCoin eigentlich zum großen Energiefresser?

Krypto-Währungen und speziell Bitcoin sind inzwischen auch in der seriösen Finanzwelt angekommen und werden mächtig ge-hyped. Selbst große Banken und Unternehmen der Digital-Branche interessieren sich inzwischen für eigene Krypto-Währungen. Gültige Bitcoins entstehen aber nicht durch nationale Zentralbanken sondern „verteilt“. D.h. jeder kann Bitcoins „herstellen“, sofern ein bestimmtes algorithmisches Protokoll dabei beachtet wird.

Eine Anforderung des Bitcoin-Protokolls ist, dass ein sog. „Proof of Work“ nachgewiesen wird; also eigentlich, dass man sich den „Buckel krumm arbeitet“ um ein Bitcoin zu generieren - fast wie beim Gold-Schürfen. Nur müssen hierzu inzwischen riesige Computersysteme ran, um ein „mathematisches Rätsel“ zu lösen, wie es in den Medien oft vereinfachend dargestellt wird. Obwohl das Rätsel an sich mathematisch äußerst simpel ist, ist es mit der Zeit immer schwieriger geworden,  dafür eine Lösung zu finden. Und das erfordert inzwischen enorme Computer-Leistung mit dem entsprechenden Energie-Bedarf.

Worin besteht nun bei Bitcoins das viel zitierte „mathematische Rätsel“, und warum beschäftigt das  inzwischen riesige Computersysteme und verbraucht dabei offenbar Unmengen an Energie?

Das „Rätsel“ – im Bitcoin Kontext Proof of Work genannt - besteht in einer simplen Aufgabe.

Es geht im Prinzip nur darum, eine Zahl zu finden, die unterhalb einer aktuellen Schranke, Target genannt,  liegt. Die Bitcoin-Schranke verändert sich von Zeit zu Zeit nach einem ausgeklügelten Algorithmus, der unter anderem verhindert, dass weltweit zu schnell zu viele Bitcoins generiert werden. (Wer Interesse hat, kann das weiter unten nachlesen.) Wenn die Schranke  z.B. eine Zahl mit 19 Nullen hinter dem Komma ist,  muss der Proof of Work eine Zahl liefern die noch kleiner ist. Klingt einfach, ist es aber nicht! Denn das Finden der Zahl unterliegt einer vorgeschriebenen mathematischen Berechnung und kann nicht einfach „eingegeben“ werden.

Am einfachsten vergleichbar ist das mit einem Zufallszahlengenerator. Der muss so lange neue Zahlen generieren, bis eine davon kleiner als die Schranke ist. Und das kann dauern. Und viele Computer beschäftigen und viel Energie verbrauchen. Zurzeit liegt der Bitcoin-Stromverbrauch etwa zwischen dem von Schweden und der Ukraine (SZ vom 29.4.2021)

In Realität (Bitcoin-Protokoll) werden bei diesen Berechnungen 64-stellige Hexadezimal-Zahlen generiert, die gleichzeitig die Fälschungssicherheit von Transaktionen nach dem Blockchain-Konzept (sog. Block-Hashes) gewährleisten. Bei jeder Berechnung geht auch eine Zufallszahl ein, so dass jedes Mal eine andere Zahl heraus kommt, auch wenn der sonstige Input für die Berechnung gleich bleibt. Die Schranke, mit der das Ergebnis verglichen wird, ist ebenfalls eine Hexadezimal-Zahl, mit vielen Nullen am Anfang der 64 Stellen.

Das war die geniale Idee des bis heute anonym gebliebenen Satoshi Nakamoto, der das Blockchain- und Bitcoin-Konzept 2008 in einem nur 8 Seiten langen Paper veröffentlichte. Daraus stammt das geradezu bescheidene Zitat:

”We define an electronic coin as a chain of digital signatures” (S.N. 2008)

Zu Beginn der Bitcoin-Blockchain, am 03.01.2009, wurde die Schranke auf hex ‘000 000 00 ffff‘  gesetzt. Bis Ende 2009 änderte sie sich nicht. Am 30.12.2009 sank sie auf hex ‘000 000 00 d86a‘, war damit also ein stückweit kleiner geworden. Da war es noch einfach, das „mathematische Rätsel“ zu lösen. Am 12.06.2016 hatte sie bereits 17 vorlaufende Nullen, aktuell sind es 19. Bemerkenswert ist auch, dass dieses "mathematische Rätsel" an sich völlig nutzlos ist, also kein anderes Ziel hat, als hohen Computing-Aufwand zu erfordern.

Inzwischen gibt es eine Vielzahl von anderen Blockchain-Protokollen, die anders als die Bitcoin-Blockchain zur Validierung eines neuen Blocks weniger aufwändige "Proofs" oder Konsens-Verfahren vorschreiben.

In unserem ausführlichen Whitepaper „Yet Another Blockchain Paper“ finden Sie übrigens ausführliche Erklärungen, was eine Blockchain und was insbesondere Krypto-Währungen ausmacht. (Bernhard Thomas, 2016, unter IT-Rebellen.de und eine Aktualisierung 2017 hier auf ISAFA.de. )

 

Ergänzende Vertiefung:

Zum Schluss, wen es interessiert, sei der Algorithmus für die Lösung des „Rätsels“ und für die Anpassung der Schranke kurz erläutert, sowie Beispiele für Schranken aufgeführt.

Der Blockchain „ Mathe-Rätsel“ Wettlauf für Bitcoins:

  • Berechne Hash-Wert von (Hash des letzten Blocks, Neue Transaktionen, Zufallszahl)
  • Prüfe, ob Hash-Wert < Aktueller Schranke
  • Falls nicht: Neuer Versuch mit neuer Zufallszahl
  • Falls ja: Das „Rätsel ist gelöst“, der aktuelle Block ist validiert

Der Wettlauf besteht darin, dass derjenige (Computer), der das aktuelle Rätsel als erstes löst, eine „Belohnung“ in Form von Bitcoins gut geschrieben bekommt. Nur auf diesem Wege „entstehen“ neue Bitcoins. Die Höhe der Belohnung reduziert sich in vordefinierten Zeitabständen.

 

Algorithmus zur Anpassung der Schranke:

Die Schranke (das Target) wird jeweils nach 2016 neuen Blocks angepasst, und zwar so, dass es im Schnitt etwa 10 Minuten dauert, bis weltweit ein neuer Block validiert ist (s. Mathe-Rätsel Wettlauf). Das reguliert automatisch die „Ausgaberate“ neuer Bitcoins, anders als bei Zentralbanken, die ihr Geld beliebig „drucken“ können.

Aus dem Satoshi Nakamoto Paper:

“To compensate for increasing hardware speed and varying interest in running nodes over time, the proof-of-work difficulty is determined by a moving average targeting an average number of blocks per hour. If they’re generated too fast, the difficulty increases.”

(Die Difficulty oder Schwierigkeit ist eine Art von Kehrwert der Schranke.)

 

Schranken

Um einen Eindruck für die Entwicklung der Schranke (Target) zu geben, hier die Werte für einige Zeitpunkte. Man beachte die Entwicklung der Anzahl vorlaufender Nullen.

03 Jan 2009, 18:15:05 00000000ffff0000000000000000000000000000000000000000000000000000
18 Dec 2009, 09:56:01 00000000ffff0000000000000000000000000000000000000000000000000000
30 Dec 2009, 06:11:04 00000000d86a0000000000000000000000000000000000000000000000000000
08 Jun 2016, 03:41:58 0000000000000000059ba0000000000000000000000000000000000000000000
01 May 2021, 21:27:02 0000000000000000000da8630000000000000000000000000000000000000000

(Aus https://learnmeabitcoin.com/technical/target)

 

Ergänzendes Informationsmaterial auf dieser Web-Seite

Neben dem ausführlichen Whitepaper gibt es auf dieser Webseite zwei einführende Präsentationen zum Thema Blockchain. Eine mit Blick auf Business Development Möglichkeiten durch Blockchain: Blockchain Technology (CommaSoft). Eine zweite mit etwas mehr technischer Tiefe: Blockchain Technology (Pallas).

 

 


Six not so easy pieces for AI

In einer Artikelserie für die weit verbreitete Zeitungsbeilage PRISMA hatte Ulrich vor einiger Zeit schon versucht, KI und die Konsequenzen allgemein verständlich darzustellen. Die Serie beginnt mit dem Beitrag "Künstliche Intelligenz I: Von Menschen für Menschen geschaffen".

Die Frage, worin die Intelligenz von KI-Systemen besteht, ob KI-Systeme selbstständige Intelligenz entwickeln können, oder man ihnen intellektuelle Fähigkeiten zusprechen kann, wird zurzeit heftiger denn je diskutiert – nicht nur in Kreisen der „Techniker“ sondern auch in den Gesellschafts- und Cognitiv-Wissenschaften.

Beginnen wir mit einigen aktuellen  Zitaten zu Intelligenz und Künstlicher Intelligenz –  drei plausible aus Millionen von möglichen Zitaten.


„Allgemeine Künstliche Intelligenz: AKI – ein System, das alle intellektuellen Fähigkeiten eines Menschen in sich vereint.“ ([KI, S. 39]

„Wenn Maschinen oder Computer kognitive oder geistige Fähigkeiten zeigen, die denen des Menschen ähneln, so nennt man das Künstliche Intelligenz. Bei diesen Fähigkeiten kann es sich z.B. um Lernen aus Erfahrung handeln oder um die Lösung von Problemen.“ [KI]

In einem Fernseh-Interview [MG] definiert Markus Gabriel erstmalig "Intelligenz" als die Fähigkeit, für ein Problem eine Lösung zu finden. Er ergänzt: das setzt voraus dass man überhaupt ein Problem hat (oder erkennt). Und zu KI, recht restriktiv: in der KI sind es die Menschen, die die Probleme definieren, nicht die KI-Systeme / Algorithmen. Folglich sind KI-Systeme - trotz des "I" im Namen - nicht intelligent.


Es geht offenbar nicht nur darum, eine Aufgabe zu bewältigen, sondern um die Fähigkeit der Lösungsfindung.

Die intellektuelle „Intelligenz“ eines KI Systems besteht  nicht (so sehr) in der Fähigkeit ein Problem zu lösen, sondern in der Fähigkeit, Lösungen für ein Problem zu finden. Das bedeutet im konkreten Fall, die Fähigkeit, die Lösung einer Aufgabe zu erlernen  – weniger, sie nur auf eine Aufgabe anzuwenden. Ein Algorithmus, der z.B. den größten gemeinsamen Teiler (ggT)  von zwei Zahlen bestimmt, löst diese Aufgabe. Er kann das. Ein Algorithmus, der lernt, wie der ggT. von zwei Zahlen bestimmt wird, hat eine ganz andere „intellektuelle“ Aufgabe. Menschenskinder lernen das spätestens als Schüler früher oder später.

Offenbar ist Erfahrung eine wesentliche Voraussetzung für die Lösungsfindung. Erfahrung kann vermittelt werden, durch Lehrer:innen, durch Beispiele (Daten) oder durch eigene, wiederholte Beobachtungen entstehen.

Sofern das System, das lernt, ein menschliches Artefakt ist (Programm, Computer, Robot) spricht man von Machine Learning -  für Lebewesen verwendet man eher den Begriff „Animal Learning and Cognition“, aber das ist ein anderes Thema.

Ohne Zweifel ist heute die Leistungsfähigkeit spezieller KI Methoden, insbesondere des Maschinellen Lernens (ML), spezialisiert für bestimmte Aufgaben der Erkennung, Analyse und Klassifizierung den vergleichbaren menschlichen Fähigkeiten weit überlegen, dank der Fortschritte in der Computer- und Algorithmen-Entwicklung. Aber das haben Technologie-Fortschritte so an sich. Einen schon atemberaubenden Einblick in die Hochleistungssysteme und algorithmischen Techniken von ML Verfahren, insbesondere mit Tiefen Neuronalen Netzen, findet man in dem kürzlich erschienen Buch [KI].

Die Lernfähigkeit als (quasi-)intellektuelle Fähigkeit künstlicher Systeme zeichnet also Systeme aus, die sich vom Zustand des Nicht-Lösen-Könnens in den des Lösen-Könnens entwickeln können. Klingt kompliziert, ist es auch – wie soll das gehen? In der KI Praxis hat man dafür, dank der enormen Rechenleistung von Spezial-Computern und der Intelligenz von ML-Wissenschaftlern, Verfahren entwickelt und verfeinert, die diese Lernfähigkeit in Form von hochdimensionalen Parameter-Anpassungen gewinnen.

Das heißt aber auch, dass hier nicht ein „KI-System“ diese Lernfähigkeit entwickelt, sondern dass diese zunächst einmal durch enorme menschliche intellektuelle Leistungen – von Mathematikern, Informatikern, SW-Ingenieuren usw. – in Algorithmen oder technischen Systemen vorbereitet wird.

Man kann zwar  „höhere“ KI-Systeme mit ML-Methoden ausstatten, die sich die algorithmischen Komponenten nach bestimmten Zielvorgaben selbst zusammenstellen, etwa der, das Lernen für eine bestimmte Problemklasse zu optimieren oder Erklärungen für bestimmte Ergebnisse zu liefern. Insofern kann man davon sprechen, dass sich die sogenannte Schwache KI (z.B. Machine Learning, Robot-Steuerung) durch Vielseitigkeit und Lernleistung in Richtung Starker KI (intellektuelle Leistungen) entwickelt. Aber auch das beruht primär auf menschlicher Intelligenz, sowohl was die Meta-Problemstellung betrifft als auch die algorithmischen Verfahren.  Das KI-System kann dabei das Ausprobieren verschiedener Strukturen und Anpassen von sog. Hyperparametern automatisieren.

(Anmerkung: Das sieht nach einem „infiniten Regress“ Problem für die Allgemeine Künstliche Intelligenz aus. Was fehlt, ist ein Prinzip der Entwicklung. Etwa ein Evolutionsprinzip (Genetische Variation, Selektion), das ja offensichtlich erfolgreich zu Animal Learning and Cognition und insbesondere zur  menschlichen Intelligenz als Maß aller Dinge geführt hat.)

In der Blog-Serie „Sechs nicht so einfache Aufgaben für KI“  haben wir der KI ein paar einfachste, anspruchslose Aufgaben vorgelegt, die jedes Kind zu bewältigen lernt. Sie sind der Verstehbarkeit halber aus der Mathematik gewählt. Also etwa das Zählen, oder gerade und ungerade Zahlen zu unterscheiden. Wir wollten daran sehen, wie es um die Lernfähigkeit bestellt ist, was man als Entwickler dazu beitragen muss, welche Qualitäten des Lernens man dabei entdecken kann und, was KI daraus lernen kann, wie Kinder diese Aufgaben – vermutlich – zu lösen lernen.

Die Blog-Serie ist auf Medium für Beck et al. GmbH, München, auf Deutsch veröffentlicht. Den Einstieg findet man in dem kurzen Einführungsblog: Sechs nicht so einfache Aufgaben für KI, oder über die Webseite von https://becketal.com unter #our_blog. Im Laufe der Zeit (2019) war die Serie ordentlich angewachsen, weshalb der Einführungsblog-Beitrag am Ende auch ein Verzeichnis aller Beiträge der Serie enthält, in der empfohlenen Lesereihenfolge und direkt bzw. untereinander verlinkt.

Noch ein Hinweis: Die Beiträge sind in Form so genannter Jupyter Notebooks (für Python) entstanden. D.h. der erzählende Text wird unterstützt durch kurze Python-basierte Code-Blöcke (unter Verwendung einschlägiger Packages wie keras / Tensorflow für Neuronale-Netze-Modelle). Mit denen können die beschriebenen Ideen bei Interesse nachgebildet werden.

Zum Abschluss noch ein älteres Zitat, nicht weniger bedeutend als die aktuellen:


"I propose to consider the question, "'Can machines think?' This should begin with definitions of the meaning of the terms 'machine' and 'think'. The definition might be framed so as to reflect so far as possible the normal use of the words, but this attitude is dangerous..." [AT]


[KI] G. Paaß, D. Hecker: Künstliche Intelligenz Springer 2021

[MG] Markus Gabriel: Sendung aspekte vom 12.3.2021

[AT] Alan Turing: Computing Machinery and Intelligence, Oxford University Press, 1950