Hier ein post von dem user ngt von coinforum.de über ethereum
Da hier ein paar interessante Fragen aufgeworfen werden, habe ich mir das mal genauer angesehen:
i) Ethereum ist nicht Turing Vollstaendig. Schlicht und ergreifend, weil Schleifen bestraft werden. Frueher oder spaeter geht einem die Ether aus, die Schleife endet ohne das Endresultat auszuspucken. Also alter Wein in neuen Schlaeuchen.
=> Ethereum im Prinzip gleich maechtig wie Bitcoin!
Stimmt nicht. Wenn eine Computer-Sprache Turing-vollständig heißt, bedeutet das, dass man alles, was überhaupt berechenbar ist, mit Programmen in dieser Sprache berechnen kann. Solidity ist eine Turing-vollständige Sprache, mit der sich in Ethereum Smart Contracts beschreiben lassen.
Dass man für die Ausführung des Codes Ether (eigentlich „Gas“) bezahlen muss, ändert nichts an der Turing-Vollständigkeit. Bei normalen Computern gilt im Prinzip das Gleiche, die Programme dort kann man auch nur ausführen, solange man ausreichend Energie (=Strom) zur Verfügung stellt.
ii.1) Ein und dieselbe Instanz muss von allen Knoten durchgerechnet werden, was bedeutet, dass man eine Queue von unterschiedlichen Instanzen bekommt, man muss sich in die Warteschlange stellen. Torque und Clustersoftware lassen gruessen ABER NUR was die Job-Queue angeht, die Instanzen selbst werden sequenziell abgearbeiten. Da ist null Parallelitaet in der Ethereum-VM.
=> zurueck in die Steinzeit, 1 CPU fuer die ganze Welt!
Dieses Problem ist bekannt und soll in Zukunft durch „Sharding“ gelöst werden, dadurch wird genau die benötigte Parallelität erreicht.
Siehe dazu
http://ethereum.stackexchange.com/questions/573/what-is-a-shard.
Auszug:
“Shard is a concept not so much related to the Proof-Of-Stake, but rather to the scalability improvement. The idea of 'sharding' is to split the space of possible accounts (contracts are accounts too) into subspaces, for example, based on first digits of their numerical addresses.
Each shard gets its own set of validators (therefore PoS is a pre-requisite), and these validators will not normally need to validate all the shards. Messages (transactions) between the accounts within the same shard would work in the same way as they work today“.
ii.2) Programme, die grosse Datenmengen durcharbeiten sind nicht machbar, da jeder Knoten diese Daten benoetigt, sie muessen up- und downgeladen sowie gespeichert werden
=> Ethereum nutzlos fuer praktische alle wissenschaftlichen Probleme!
Ethereum ist nicht zur Bearbeitung wissenschaftlicher Daten gedacht, das würde man viel effektiver lokal tun. Man fährt ja auch nicht mit dem Bagger zum Brötchenholen.
Es kann natürlich trotzdem sein, dass man auf größere Datenmengen zugreifen muss, z.B. in Form einer umfangreichen Kundendatenbank. Diese Daten sollten tatsächlich nicht in der Blockchain gespeichert werden, da sonst die oben beschriebenen Probleme auftreten (Datenschutzaspekte mal ganz außer acht gelassen). Für solche Anforderungen wird in Zukunft das IPFS (Interplanetary File System,
https://ipfs.io/) verwendet. Dieses ist genau zur Datenspeicherung bei verteilten Anwengungen gedacht.
ii.3) Sehr langsam, da der langsamste Knoten, welcher fuer den Consensus benutzt wird die Laufzeit bestimmt.
=> Ethereum nutzlos fuer praktische alle wissenschaftliche Probleme!
Hier müssen wir zwei Fälle unterscheiden.
Derzeit wird bei Ethereum für das Mining ein Proof-of-Work-Algorithmus analog zu Bitcoin verwendet. Hier gewinnt immer der Schnellste, keiner muss warten.
Künftig (ab der Ausbaustufe Serenity, d.h. nach Homestead [14. März] und Metropolis) kommt mit Casper ein Proof-of-Stake-Algorithmus zum Einsatz.
Wichtigster Vorteil: Viel weniger Energieeinsatz als bei PoW.
Die Grundidee von Casper ist, dass auf Basis von gebundenem Ether-Kapital (dieses muss für eine bestimmte Zeit festgelegt werden) sogenannte Validatoren bestimmt werden, die über den Inhalt der Blockchain entscheiden.
Für jeden neuen Block wird auf Basis eines Zufallsalgorithmus bestimmt, wer von den Validatoren den nächsten Block bestimmen darf. Das können mehrere Validatoren sein, bei der Auswahl spielt die Höhe des von ihnen allozierten Kapitals eine Rolle.
Die Validatoren schlagen Blocks vor, in die sie wie bei Bitcoin willkürlich ausgewählte Transaktionen eintragen.
Unabhängig von den generierten Blockvorschlägen wetten nun alle Validatoren mit Teilen ihres allozierten Kapitals darauf, welcher der vorgeschlagenen Blöcke Teil der endgültigen Blockchain wird. Dies muss man sich als einen iterativen, selbstverstärkenden Prozess vorstellen, in dessen Verlauf sich ein Block aufgrund der dynamisch platzierten Wetten zunehmend die Favoritenrolle erarbeitet. Hat man als Validator dabei richtig gewettet, erhält man einen Gewinn ausgezahlt, bei einer falschen Wette ist das eingesetzte Wettkapital verloren.
Das hört sich schlimmer an, als es ist, denn im Prinzip passiert das beim Bitcoin genauso, nur wetten die Miner dort mit ihrem Energieeinsatz – und in den meisten Fällen gehen ihre Wetten verloren.
Der beschriebene Konsensprozess („consensus by bet“) hält den weiteren Ausbau der Blockchain nicht auf, da nach Ablauf des vorgesehenen Blockintervalls (z.B. 10 Sekunden) sofort der nächste Block erzeugt werden kann. Bis dahin wird mit hoher Wahrscheinlichkeit der Favorit erkennbar sein, auf dem die Vorschläge für den neuen Block aufbauen sollten.
Siehe hier eine detaillierte Beschreibung von Casper (Einzelheiten können sich bis zum Deployment noch ändern):
https://blog.ethereum.org/2015/12/28/understanding-serenity-part-2-casper/ Fazit in Bezug auf die oben genannte Anmerkung ii.3): Stimmt nicht, es gibt keinen „langsamsten Knoten“, der den Mining-Prozess verzögern könnte.
ii.4) Ergo, Ethereum noch nicht mal fuer eine Monte-Carlo-Simulation zu gebrauchen, da ein und dasselbe Zufalls-Sample parallel auf allen Knoten durchgerechnet wird, die Menge aller Zufalls-Samples aber sequenziell abgearbeitet werden muessen.
Stimmt, ein Bagger ist zum Brötchenholen nicht geeignet.
Quelle:
https://www.coinforum.de/topic/4703-wann-erreicht-ethereum-platz-1/