Security risk(s) in bitcoin core full node

Was sind die Sicherheits-Risiken, indem Sie einen vollständigen Knoten bitcoin-core-client? Auf einem typischen system, port 8333 offen ist und alle anderen Knoten können tatsächlich "sehen" meine Maschine und Websites wie https://bitnodes.earn.com/ kann überprüfen Sie die Verbindung.

Wie können die Risiken gemindert werden? (Ich bin auf Windows)

+141
user69465 28.05.2015, 06:50:59
26 Antworten

Ich werde sprechen über die details.

Eine ECC public key ist von der form dG, wo G ist der generator, der Punkt (einer Kurve parameter) und d ist Ihr privater Schlüssel (muss zwischen 1 und prime bestellen-1 inklusive)

d kann nicht gefunden werden, ohne brute-forcing-Punkte, wenn Sie wissen, den öffentlichen Schlüssel.

Das Ziel ist, jemanden dazu zu bringen finden Sie einen geeigneten dG , dass Hash(dG) ist im erwarteten Bereich.

Also, werden Sie brauchen, um zu halten ein Teil von d auf sich selbst, und dann verbinden Sie es. Wie?

Für alle Methoden, der Anfang ist der gleiche:

Sie rechnen einige d_1 und es für sich behalten, während die gemeinsame Nutzung (d_1)G

So starten Sie mit, lassen Sie uns überprüfen Sie die Eigenschaften der EC-Punkte.

Linearität:

(d_1)G + (d_2)G = (d_1 + d_2)G

(d_1)(kG) = (k * d_1)G


Methode 1) Additive

Dies ist die Methode, die von Vanitygen, und es ist viel mehr beliebt als die anderen.

Ein Kopfgeldjäger versucht, viele zufällige d_2 Werte, die das machen, Hash((d_2)G + (d_1)G) in das erwartete Muster Bereich. Wenn der Jäger erfolgreich ist, sendet er d_2 auf der bounty-Geber (öffentliche oder private). Jetzt ist die Eitelkeit "zuordner" kombinieren kann d_1 und d_2 zu schaffen, die die privaten und öffentlichen Schlüssel.

Beachten Sie, dass (d_1 + d_2)G kann auch berechnet werden durch Dritte, was bedeutet, dass andere Menschen in der Lage sein, zu verfolgen, seine/Ihre Zahlungen. (weil d_2 werden kann geteilt durch die bounty hunter G ist bereits bekannt, und (d_1)G veröffentlicht wurde durch den zuordner, so (d_2)G + ((d_1)G)) Dies gilt auch für alle Methoden [sind erfunden, und doch]

Methode 2) Multiplikativ

Dies wird verwendet, selten.

Nun, dass der Kopfgeldjäger wollte Hash((d_1 + d_2)G) in das erwartete Muster Angebot, er wollte etwas anderes, und verwendet eine andere Art und Weise zu tun trustless Eitelkeit generation.

Die innovative bounty hunter berechnet d_2 Wert, durch brute-forcing Hash(d_2((d_1)G)): Er berechnet ein Vielfaches von (d_1)G und prüft Sie.

Nun, müssen Sie verstehen, dass d_2 muss zwischen 1 und prime um-1, auch in diese Methode? (Tipp: Was ist die Bedeutung des prime-Bestellung?)

Es nutzt die Tatsache, dass d_2((d_1)G) = (d_2 * d_1)G (mit den entsprechenden modulo-Operationen)

Methode 3: Kombination

Ich habe noch nie gesehen erwähnt überall. Es ist nur theoretisch.

Ganz einfach: Der Kopfgeldjäger findet d_2 und d_3 Werte, so dass Hash((d_1 * d_2)G + (d_3)G) ist in das erwartete Muster Bereich. Dieses ist komplizierter, weil es zwei Variablen. Keine Forschung hat gewesen gemacht auf diese. Auf den ersten Blick sieht es zwar langsamer, aber das ist einfach nur unlogisch.

"Erfinden Sie ein trustless Eitelkeit Regelung mittels Methode 3, die ist schneller (mit ein Quanten-Schaltkreis ist OK), bleibt dem Leser als übung"

+914
Wouter Bovelander 03 февр. '09 в 4:24

Hängt davon ab, was Sie sich wohl fühlen.

Sie können gehen, "low level" und die Abfrage der lebeldb direkt. Die block-index (information für jeden block) ist in $DATADIR/ - Blöcke/ - index und die chainstate (Informationen über die aktuell beste bekannte Kette) in $DATADIR/chainstate.

Ein einfacher Weg ist, um eine vollständig synchronisiert bitcoind lokal läuft und eine Abfrage über jsonrpc. Von dort haben Sie die slice-and-dice der resultierende JSON zu Ihren Bedürfnissen passen.

Ich habe nicht getan, leveldb Abfragen, aber ich würde erwarten, dass es um eine erhebliche Menge der Arbeit beteiligt, da es nur ein key-value-store.

+876
Shakh86 21.05.2015, 21:56:54

Es ist unethisch zu verwenden, anderer Leute Rechner zu mir ohne Ihre ausdrückliche Zustimmung. Ende der Geschichte.

Die Tatsache, dass Sie bieten Ihnen einige andere service mit einem Rabatt nicht geben Ihnen das Recht der Nutzung Ihrer Computer ohne Ihre Zustimmung. Wenn Sie glauben, Sie verdienen mehr, erhöhen Sie Ihre Preise.

Oder, bieten Sie ein Angebot: "Internet-Zugang für $XXX, wenn Sie einverstanden sind, lassen Sie mich Ihren computer verwenden, um meine." Aber dann haben Sie keine Notwendigkeit, über code-injection oder ähnliche Hack; nur müssen Sie installieren Sie die erforderliche software. Aber meine Vermutung ist, dass es sei denn, der Rabatt ist schon etwas besonderes, Ihre Kunden werden zufrieden sein, sobald Sie sehen, die springen in Ihre Stromrechnung.

+816
welbornio 25.09.2019, 18:08:04

Jeder pull-request in der Regel ist nicht groß, so ist es nicht schwer, sich durch jede Zeile code. Jeder Zug geht durch sorgfältige Prüfung, im Falle von bösartigem code oder einen unbeabsichtigten Fehler. Warum, glaubst du, dauert es in der Regel mehr als einen Monat nach dem ziehen gemacht wird, Hinzugefügt werden, obwohl es gibt viel Diskussion in den Kommentaren?

+814
MMR 29.01.2018, 22:01:38

Ich weiß, dass Dwolla gestoppt Einzahlungen/Abhebungen bei Mt.Gehex aufgrund eines Gerichtsbeschlusses, aber weiß jemand, ob diese noch vorhanden ist?

Verwandte

Warum kann nicht Dwolla senden an Mt Gehex?

+803
ThePitBuLLxD 20.12.2016, 01:17:42

Wir laufen zwei bitcoin-Knoten auf zwei verschiedenen Servern mit festen ip-Adressen in regtest-Modus. Wir haben abgespaltete version 0.11 von bitcoind und die Zeit verringert, die zwischen den Blöcken zu simulieren verschiedene Szenarien.

In der config, benutzen wir das folgende:

regtest=1
listen=1
addnode=10.80.233.12:19000
port=19000
rpcport=19001
server=1

Nach einem Tag oder so, oder um 100000 Blöcke, die zwei Servern trennen. getpeerinfo zeigt keine verbindungen und die blockchain ist gespalten. Ein Neustart ist erforderlich, um Sie wieder in synch.

Dies geschah konsequent in den letzten paar Tagen. Weiß jemand warum und was wir tun können, um es zu beheben?

+781
Arnav Desai 21.10.2019, 01:34:55

Ich schrieb eine FAQ zu diesem hier. Es enthält verschiedene Dinge, die Sie ausprobieren können.

Eine andere Möglichkeit ist, dass die Adresse entspricht einer importierten privaten Schlüssel. In der Vergangenheit, Elektron verwendet, um erlaubt zu importieren, private Schlüssel in HD-wallets. Diese importierte private Schlüssel werden nicht wiederhergestellt, wenn Sie die Wiederherstellung von Saatgut. Ist dies also eine Adresse von einer importierten privaten Schlüssel?

+725
Djdka 12.12.2014, 11:29:04

Das senden dieser Transaktion durch meine eigene Bitcoin-Core 0.13.99 Knoten:

Fehlermeldung:
64: zu-lange-mempool-Kette

Dies bedeutet, Sie erstellen eine lange Kette von unbestätigten Transaktionen, die voneinander abhängen. Warten Sie, bis die ersten paar von diesen bestätigt haben, bevor die Schaffung von mehr.

+706
Zaxar Nester 24.09.2012, 08:47:08

Sind Kredite mit Zinsen möglich, in Bitcoin, so dass die Rückzahlung ist enforceably codiert mit Bitcoin - Skript auf der blockchain von der Gründung der Kreditvergabe Vertrag?

+686
JesseBReda 06.01.2011, 07:33:47

Sie müssen nur warten, seine 6 GB Daten und kann überall von einigen Minuten bis zu mehreren Stunden, es wurde schon berichtet, der es unter Tage. Es ist, weil der Größe der Festplatte, Geschwindigkeit des Computers, die Geschwindigkeit der internet-Verbindung etc.

Cheers

+639
KCAndersen 15.08.2018, 02:28:03

Auf eine bitcoin-Börse man kauft, verkauft, und speichert bitcoins. Nachdem er verkauft Sie, man könnte sich zurückziehen wollen, Dollar, Euro, Pfund sterling, etc. Es wird vorgeschlagen, dass die Tatsache, dass MtGox läuft zwei Monate hinter dem Zeitplan, auf Rücknahmen in anderen Währungen können die Folge sein, die Einziehung von $5 Millionen von MtGox-Konten, so, Sie haben ein cash-flow problem. Wenn das macht die Nutzung von MtGox im Gegensatz zu anderen Börsen nachteilig, was sind die vor-und Nachteile der verschiedenen andere?

+603
404 03.03.2018, 15:15:42

Mit Bitcoin-Qt/bitcoind gibt es keine Rückruf-oder andere Echtzeit-Benachrichtigung, dass eine Transaktion, für die zuvor eine gültige 0/unbestätigt ist nicht eine Transaktion, die nicht bestätigen, aufgrund dass es eine andere bestätigte Transaktion für die gleiche unverbrauchte Transaktion Ausgang (UTXO).

Wenn ein neuer block gefunden wird, wird jede Transaktion untersucht werden können (Einsatz von Roh-Transaktionen), um zu bestimmen, die INPUT(s). Wenn die Eingabe war bereits durch einen zuvor gesehen-Transaktion, dann ist das verbringen aus dem block würde dazu führen, die früher Transaktion ein ungültiges double verbringen, und es kann gelöscht werden.

Der Bitcoin-Qt/bitcoind client nicht mehr angezeigt werden die 0/unbestätigte Transaktion, für die eine Zahlung eingegangen ist, ungültig wird, nach einer doppelten verbringen aus einem neuen block kommt.

+564
walter walter 27.11.2016, 18:48:54

Es gibt keine Begrenzung auf die Größe der UTXO andere als die block-Größe, wie Sie beschrieben haben, aber Ihre Argumentation ist nicht korrekt. Es gibt keine minimale Größe einer Transaktion Ausgang, noch die maximale Anzahl der Ausgänge pro Transaktion. Der größte Teil ist begrenzt durch die Bitcoin block-Größe von 1 MB, oder über 50 GB pro Jahr insgesamt Ergänzungen, wenn die einzige Sache, die Hinzugefügt wurde, spam-Ausgänge.

Lautstärke der Ausgänge ist eine ganz andere Sache. Die kleinste mögliche Ausgang ist 0 BTC (8 bytes), 0 Länge (1 byte), null scriptPubKey. Wenn wir eine maximale Größe der Transaktion (1MB) dieser wird es irgendwo in den Bereich von 110.000 Ausgänge, mit etwas Verlust im Lieferumfang enthalten für ein-und Aufbau. 6 Blöcke pro Stunde, 24 Stunden gibt 15.8 M-Ausgänge pro Tag. Hinweis: dies stellt keine Indizierung Aufwand, der nicht unerheblich für diese vielen Einträge.

Einige der vorgeschlagenen Lösungen umfassen ablaufen nicht benutzten Ausgänge nach einer bestimmten Zeit auftreten, oder deutlich verschieben der Kosten gegenüber der Schöpfung und Anreize für die Entfernung der Einträge. Veränderungen in der Kern-Vorgang wie dieser jedoch nicht schnell zu implementieren oder unumstritten, und sind keine vollständige Lösung gegen einen Angreifer.

Es ist einer der Nachteile des Systems implementiert, und etwas, das muss ernsthaft in Betracht gezogen werden, bevor Sie änderungen könnte das problem noch schlimmer. Viele Dinge werden ungenießbar in Bitcoin bei einer änderung der Konstanten, dies ist eine, die ist schon ziemlich schrecklich, um mit zu beginnen.

+554
Tom Steger 14.04.2016, 15:17:04

Ein Bild sagt mehr als tausend Worte. Hier ist ein screen-capture von einem Mac Mini rig mit drei BFL USB-Geräte laufen, nur unter 70 GH/s. Die low-end-Mac ist nicht einmal ins Schwitzen... Sie wahrscheinlich benötigen, um herauszufinden, welche Prozesse das saugen von Ihrer CPU-Ressourcen und töten. Ich empfehle http://fabulouspanda.co.uk/macminer/ und tut STM P2Pool mining an http://pool.fabulouspanda.co.uk:9332.

MacMiner v1.5 Screenshot

+514
lawnsea 09.12.2011, 23:16:11

Sie können in der Tat nicht, und auch die IP des Absenders. Dies nennt sich blockchain Netzwerk-Analyse. Jetzt gibt es Unternehmen, wie Chainalysis und Elliptisch, die bieten solche tools können trace-Bitcoin-Transaktionen zurück zu Ihren Nutzern. Eine Menge Leute fälschlicherweise davon ausgehen, dass Bitcoin-Transaktionen anonym. Sie sind es nicht. Und was mehr ist, jede Transaktion wird dauerhaft aufgezeichnet, durchsuchbar und nachvollziehbar mit blockchain-Analyse-tools.

+506
Snezhenya 03.06.2016, 00:25:54

Die Gebühren liegen im Ermessen der Bergleute, aber es ist möglich, das Netzwerk zu akzeptieren, Kostenlose Transaktionen unter bestimmten Bedingungen.

Insbesondere die wichtigsten Referenz-Kunden werden akzeptiert eine Kostenlose Transaktion, wenn die Priorität hoch genug ist und einige unerwünschte Eigenschaften vorhanden sind. Grob gesprochen, 1 BTC sitzen unverbraucht für 1 Tag verbracht werden kann, für frei; 2 BTC braucht nur zu warten, 1/2 Tag, etc. (Dies impliziert, dass ein Betrag wie 0.01 BTC würde warten müssen, 100 Tage, um sich zu qualifizieren für eine gratis-Transaktion.)

Für mehr details, sehen Sie sich einige Referenzen:

+497
vitaliia 15.12.2018, 02:08:11

Könnten Sie etwas konkreter auf die 2-Wege-Authentifizierung, die Sie verwendet? Welche genauen Schritte, so können wir den Wiederaufbau der Szenario-oder zumindest zu verstehen, was genau passiert war.

Wenn es E-Mails von gmail prüfen die Maschinen, die Sie verwendet die blockchain.info/ gmail auf als gefährdet. Die meisten, wahrscheinlich alle login-Formulare auf dieser Maschine packte.

+457
doginred123 30.08.2012, 23:40:27

Ich denke, es wäre möglich, erstellen Sie eine scheinbar legitime Transaktion auf das Bitcoin-testnet, dass das Bitcoin-mainnet akzeptieren würde.

Ich habe gelesen, ein bisschen über die ETC replay-Attacken, und es scheint, wie es unmöglich wäre, da gab es nie ein hard-fork zu erstellen testnet.

https://medium.com/@timonrapp/how-to-deal-with-the-ethereum-replay-attack-3fd44074a6d8

Aber ich bin mir nicht sicher über diese. Hat jemand erfolgreich gemacht?

Wissen Sie einen guten Grund, warum es 100% nicht funktionieren würde?

+445
FrosThrone 06.06.2017, 00:53:10

Ich installierte Elektron zu ersetzen die gebrochen und unerträglich Multibit HD. Ich habe meine 18 Saatgut-Wörter, aber es würde mir nicht erlauben, Sie zu klicken Sie auf Weiter. Ich klickte Optionen > BIP 39 und aktiviert es Weiter. Es erstellt die Brieftasche, aber ich sehe nicht, mein Kontostand oder Transaktionen. Es scheint nicht, werden alle Menü-Optionen Scannen Sie das Netzwerk.

Innerhalb Multibit, es sagt dies über meine wallet:

Standard MultiBit wallet
Die privaten Schlüssel werden verschlüsselt auf dieser Maschine
BIP32 konform. m/0h (Konto 1 nur)
+366
Nilesh Agrawal 14.03.2019, 23:30:12

Jeder kann nicht mir (zu schaffen), Geld (BTC), Wann immer Sie wollen. Sie können es nur tun, wenn Sie haben erfolgreich einen block an die blockchain. Ihre Prämisse ist das äquivalent zu sagen: "Wenn jemand im Lotto gewinnen, Wann immer Sie wollen..."

+343
choldgraf 07.01.2011, 22:10:17

Wie Bitcoin ist die Kreuzung insgesamt M1-Geld von wenigen Ländern, wie könnte ein Land durch die Annahme Bitcoin als nationale Währung, gegenseitig profitieren Bitcoin und das Land selbst?

https://bitcointalk.org/index.php?topic=154954.0

+206
ALN Frs 28.10.2011, 11:46:50
Alternative Proof-of-Arbeit-Funktion beschäftigt, die von Cryptocurrencies wie z.B. Litecoin und Dogecoin.
+161
Alejandro Dovale Padron 17.11.2018, 00:52:14

Verwenden Sie die unten stehende Tabelle können Sie prüfen, wie rentabel es ist, von mir XY Münze:

https://whattomine.com/

+154
MacMind 20.10.2018, 04:14:44

In letzter Zeit habe ich Interesse an der Art und Weise crytocurrency funktioniert. Also beschloss ich, mein eigenes kryptogeld lernen Sie die internen Abläufe.

Ich benutzt einen Klon von SmallChange und befolgt diese Anleitung.

Alles kompiliert, aber wenn ich das Programm ausführen, werden Sie über die Kommandozeile oder das qt-interface, wenn ich sage es, um mit der Förderung beginnen, es sagt mir nur, dass es ist der Bergbau, sondern die hashespersecond 0 sind.

Ich habe versucht, den Bau der litecoin source auf meinem Rechner und verwendet genau die gleiche Konfiguration, die ich in meinem eigenen altcoin (das gleiche ".conf" - Datei) und wenn ich sage es zu mir, es tut mir. Für meinen altcoin ich benutzt die ports:

55883 für RCP

55884 für P2P

Meine Frage ist, ist mein computer nicht meine mining altcoin, weil ich bin allein, im Netzwerk oder es ist passiert, weil ich einige Fehler in meinem code?

Danke im Voraus :)

Edit: meine Ausgabe für "getinfo" ist:

{
 "version" : 1000000,
 "protocolversion" : 60001,
 "walletversion" : 60000,
 "balance" : 0.00000000,
 "Blöcke" : 0,
 "verbindungen" : 0,
 "proxy" : "",
 "Schwierigkeiten" : 0.00024414,
 "testnet" : false,
 "keypoololdest" : 1369621665,
 "keypoolsize" : 101,
 "paytxfee" : 0.00000000,
 "mininput" : 0.00010000,
 "Fehler" : ""
}

und der Ausgang für "getmininginfo" ist:

{
 "Blöcke" : 0,
 "currentblocksize" : 1000,
 "currentblocktx" : 0,
 "Schwierigkeiten" : 0.00024414,
 "Fehler" : "",
 "generieren" : true,
 "genproclimit" : 4,
 "hashespersec" : 0,
 "networkhashps" : -9223372036854775808,
 "pooledtx" : 0,
 "testnet" : false


}
+137
Pat Lunsford 08.01.2011, 05:58:13

Ich bin versucht zu kompilieren litecoind auf Ubuntu 15.04 und ich hier hängengeblieben:

/litecoin/src$ make -f makefile.unix USE_UPNP=-
make: makefile.unix: Keine solche Datei oder Verzeichnis 
Hersteller: *** No rule to make target 'makefile.unix'. Stop.

Manche fand ich ein wenig andere Wege zu kompilieren litecoind, aber jedes mal habe ich Probleme mit dem makefile.unix". Kann mir jemand helfen?

+107
kineita 09.01.2010, 12:03:15

Als MCCCS kommentiert:

Firmwares kann heruntergeladen werden von Bitmain aber Bitmain ist klug genug, um nicht hochladen S9i-firmware. Sie müssen dump von einem Freund S9i die firmware selbst.


Kommentar umgewandelt Community-Wiki-Antwort im Versuch, um diese zu entfernen Q aus der Liste der unbeantworteten Fragen

+44
Dmitry Drobotov 28.12.2016, 08:53:38

Fragen mit Tag anzeigen