Ich habe diesen Beitrag zur Bitcoin -Skalierbarkeit gelesen . Soweit ich die Abfolge der Schritte in Bitcoin verstehe, sollte die vereinfachte Version der Durchführung der Transaktion wie folgt aussehen:
Auf der Seite des Absenders:
Auf Peers Seite:
//wenn ein Peer ein Miner ist
Andere Kollegen:
Ich möchte die Leistungsgeschwindigkeit von Bitcoin bei jedem Schritt im Allgemeinen verstehen oder wenn möglich meine Spezifikationen des Laptops angeben. Wie kann ich die Signaturerzeugung, Signaturüberprüfung, Transaktionsüberprüfung, Block-PoW-Überprüfung, **usw . Geschwindigkeit berechnen ?**
All diese Dinge, die Sie berechnen möchten, hängen stark nicht nur von der verwendeten Hardware, sondern auch von der verwendeten Software ab. Zum Beispiel können Sie Signaturen auf viele verschiedene Arten generieren und jede Bitcoin-Brieftasche generiert sie ein wenig anders. Die Leistung der Signaturgenerierung von Java in bitcoinJ wird anders sein als die von Go in btcwallet wird anders sein als die von C++ in bitcoin core und so weiter. Darüber hinaus haben deterministische Signaturen ein anderes Leistungsprofil als nicht deterministische Signaturen und so weiter.
Das heißt, wenn Sie wirklich wollen, können Sie einige Leistungstests für jeden von ihnen durchführen, obwohl nicht alle von ihnen existieren. Für die Überprüfung von Signaturen in btcd gibt es einen Benchmark-Test , den Sie verwenden können.
Beachten Sie, dass die Blocküberprüfung (oder -erstellung) notwendigerweise die Überprüfung aller Transaktionen im Block sowie die Überprüfung des Proof-of-Work bedeutet. Die Überprüfung des Proof-of-Work ist übrigens wirklich so einfach wie die Berechnung eines Double-Sha256 oder eines einzelnen „Hash“, das Mining-Equipment Milliarden oder Billionen pro Sekunde ausführen kann.
go test -bench BenchmarkSigVerify
es im Verzeichnis btcd/btcec.go test -bench BenchmarkSigVerify
einen Fehler erhalten: go tool: no such tool "6g"
Wie ich gelesen habe, kann es ein Problem mit .bashrc sein, also habe ich es überprüft export GOROOT=/usr/lib/go
und es war da, aber um sicherzugehen, habe ich es getan source .bashrc
, immer noch der gleiche Fehlerexport GOPATH=/home/myusername/go
sollte es einrichten.
karimkorun
Nur