Wie kann man die frühen Phasen einer Proof-of-Work-Anwendung schützen?

Für eine bestimmte Kryptowährung oder andere Blockchain-Anwendung bietet Proof-of-Work eine intrinsische Sicherheit im Algorithmus selbst, die es unwahrscheinlich macht, dass jemand das Netzwerk angreifen kann, es sei denn, er hat mehr als 50 % der Rechenleistung des Netzwerks unter seiner Kontrolle.

Dies ist sinnvoll und funktioniert, sobald das Netzwerk eine beträchtliche Größe hat, aber jedes Netzwerk irgendwo anfangen muss, und wenn eine neue Anwendung geboren wird und die Anzahl der Miner noch sehr gering ist, scheint es sehr einfach, das Netzwerk zu überwältigen, um betrügerische einzufügen Transaktionen und immer noch die längste Blockkette sein.

Gibt es eine Möglichkeit, dieses Risiko zu mindern?

Antworten (5)

... betrügerische Transaktionen einfügen ...

Nein, betrügerische Transaktionen und Blöcke, die sie enthalten, werden abgelehnt, wenn Nodes die Konsensregeln befolgen.

Es besteht ein größeres Risiko einer Kettenreorganisation, was bedeutet, dass Bergleute, die einen Block erfolgreich abgebaut haben, möglicherweise nicht die Belohnung dafür erhalten, wenn ihr Block nicht mehr Teil der längsten Kette ist.

Das große Risiko eines 51-%-Angriffs besteht darin, dass der Angreifer den Rest des Netzwerks überflügeln könnte , um zu behaupten, dass die Version der Blockchain des Angreifers länger ist, den Verlauf mit gültigen Transaktionen neu zu schreiben und Blockbelohnungen zu fordern oder seine eigenen Transaktionen rückgängig zu machen - Geschichte schreiben, indem sie die Utxos zuerst für sich selbst ausgeben, ihre zuvor gültige Transaktion zum Beispiel wie eine doppelte Ausgabe erscheinen lassen und von einem Händler stehlen.

Zum Schutz einer neuen Proof-of-Work-Anwendung ist lediglich erforderlich, dass die Arbeit angemessen verteilt wird. Im Fall eines Bitcoin-Vollklons würden beispielsweise die gleichen ASIC-Miner gelten, jedoch wäre das Kosten-Nutzen-Verhältnis zunächst sehr gering und ein Angreifer muss sich also fragen, welchen Nutzen habe ich?

Ich glaube nicht, dass das Risiko besteht, weil es für jemanden sehr wenig Anreiz gäbe, betrügerische Transaktionen einzufügen. Bitcoin hat Erfolg erzielt und ist ein bedeutender Wertaufbewahrer, daher besteht ein großer Anreiz, 51%-Angriffe dagegen zu starten, aber aufgrund der Größe des Netzwerks und der Anzahl ehrlicher Bergleute ist dies noch nicht geschehen. Meiner Ansicht nach besteht also kein Risiko betrügerischer Aktivitäten, bis eine Kryptowährung einen signifikanten Wert erreicht oder verwendet, und wenn sie einen Wert erreicht, der es lohnenswert macht, zu hacken, ist das Netzwerk zu groß, um Angriffe dagegen zu starten.

Ja, du hast absolut recht. Das kann passieren! Aus diesem Grund ist es sehr wichtig, einen zentralisierungsresistenten Proof-of-Work-Algorithmus zu verwenden. Mit anderen Worten, ASIC/Mining-Whale-Attacken resistent. Mit anderen Worten, erstellen Sie einen neuartigen Arbeitsnachweis, der nur auf CPUs (einzelne Entitäten, nicht ganze Pools) oder GPUs abgebaut werden kann. Das ist nicht einfach und eine der Coins, die das sehr gut gemacht hat, ist Biblepay. Es gibt natürlich andere Möglichkeiten, dies zu tun, wie das Anpassen der Schwierigkeit und anderer Funktionen, aber nichts ist so gut wie ein großartiger POW-Algorithmus

Ihre Frage ist berechtigt, auch wenn Sie betrügerische Transaktionen nicht in eine Umgebung einbeziehen können, in der die Zeugenknoten ehrlich sind.

Frühe Angriffe auf Blockchains sind eine Sache und haben bereits stattgefunden ( CoiledCoin zum Beispiel), und die größte Bedrohung bei solchen Angriffen besteht darin, dass Angreifer willentlich ihr Geld verlieren, um die neu geschaffene Währung zu sabotieren.

Die Risikominderung hängt davon ab, wie stark das System dezentralisiert ist, und passt die Schwierigkeit so an, dass der Angreifer viele Ressourcen für die Berechnung des PoW verschwendet (dadurch würde die Systemverfügbarkeit für eine Weile aufgegeben). Man kann sogar daran denken, andere Mining-Pools um Zusammenarbeit zu bitten, um die Hashing-Power in den frühen Phasen einer neuen Kryptowährung gleichmäßig zu verteilen.

  1. Verwenden Sie SHA256 : Zwingen Sie den Angreifer zu überlegen, ob es sich lohnt, Bitcoin zu verlieren, wenn er Sie angreift
  2. Publizieren : Sie brauchen von Anfang an so viele Leute wie möglich, um zu minen
  3. Denken Sie darüber nach, warum Sie diese Frage stellen : Wenn das von Ihnen erstellte Produkt wirklich dezentralisiert ist (und nicht für Ihren Profit) und nützlich ist, machen Sie sich keine Sorgen, dass es stirbt. Der Code kann nicht sterben. Geben Sie ihm ein paar Jahre Zeit, und jemand wird ihn neu starten und tun, was er tun sollte, da draußen in der Welt.