C++ - code für die traverse obwohl alle Blöcke in der blockchain?

In meinem Projekt für eine bestimmte Funktionalität, die ich will, um die traverse über alle Transaktionen. Für diesen Zweck möchte ich die traverse durch alle Blöcke in der blockchain.

+961
Antea Kanade Abramov 17.06.2012, 13:21:30
30 Antworten

$/Mhash - das ist eine neue. Gut, die Metrik verwendet, andernorts ist Mhash/$ die Antwort auf die Frage, wie viel hashing einem dollar im Wert von einem Stück der Ausrüstung zu produzieren. Also, wenn Sie wirklich wollte $/Mhash (für die Referenzierung von Kosten für bestimmte Geräte), dann könnten Sie umkehren, jeder Mhash/$ und $/Mhash.

Oder, vielleicht, Sie werden Fragen, wie viele Dollar verdient, für die Arbeit der Millionen hashes?

Wenn dem so ist, hier ist, wie:

1.) Bestimmen Sie den Schwierigkeitsgrad:

Aktuell: 1,726,566

2.) Berechnen Sie Gesamt-hashes pro Sekunde:

  • D * 2**32 / 600

1,726,566 * 2^32 / 600 Sekunden = 12.4 Terahashes, die pro Sekunde auftreten.

Es gibt 1000 Ghash pro Terahash, und es gibt 1000 Mhash pro Ghash.

so gibt es 12,400,000 Mhashes, die pro Sekunde auftreten. (d.h., wenn alle Bergbau erfolgte mit HD-5830s, würde es etwa 45.000 von Ihnen hashing entfernt.)

3.) Bestimmen Sie den Wert von bitcoins ausgegeben pro Sekunde (mit aktuellem Wechselkurs):

  • BTC/USD * 50 BTC / 600 Sekunden = BTC/USD pro Sekunde.

Aktuell: $6.45 X 50 BTC pro block / 600 Sekunden = Wert von $0.5375 USDs pro Sekunde.

4.) Den Wert bestimmen pro Mhash

$0.5375 / 12,400,000 = $0.000000043 $/Mhash

Das ist eine ziemlich kleine Nummer. Aber das ist der Umsatz $/Mhash an der aktuellen Schwierigkeiten und der Wechselkurs.


So Ihr 5830 nicht in der Reichweite von 275 Mhash/s, also es erzeugt (Brutto-Umsatz):

  • 275 Mhash/s * $0.000000043 $/Mhash = $0.000011825 USD pro Sekunde.

Pro Tag dann:

Berechnen Sie die Anzahl der Sekunden pro Tag:

  • 60 Sekunden/minute * 60 Minuten/Stunde * 24 Stunden/Tag = 86.400 Sekunden pro Tag.

86.400 festgelegt * $0.000011825 = $1.02168 USD pro Tag (oder etwa 0.1584 BTC).

Also jeder 5830 werden sehen, Brutto-Einnahmen (bei den derzeitigen Schwierigkeiten, Wechselkurs-und block-reward) von:

$1.02168 USD/Tag * 365 Tage/Jahr = $372 / Jahr.

Naja ... nicht ganz. Wir wissen, dass etwa Anfang Dezember wird die block-Belohnung fällt in der Hälfte. So, dass $372 in Brutto-Einnahmen wird jetzt etwa $273.

Natürlich müssen Sie subtrahieren Sie Ihre Stromkosten. Und da Sie nicht wissen, die Zukunft Schwierigkeitsgrad oder zukünftigen Wechselkurs entweder, es ist nicht bekannt, wie lange es dauern wird, bevor Sie sogar brechen.

Aber lassen Sie uns sagen, Sie haben einen Bulligen Netzteil, mobo, und bietet Platz für 5 PCI-e, und jeder 5830 Zeichnung 175 Watt, plus fans sagen, das Sie verbrauchen, tausend Watt.

  • 1.000 Watt * 24 Stunden/Tag / 1000 Watt/kW = 24 kWh/Tag

Also pro Tag, wenn Sie zahlen $0.15 (der nationale Durchschnitt, Wohn-power), Ihre Strom-Kosten:

  • 24 kWh/Tag * $0.15/kWh = 3,60 $pro Tag (für ein rig mit fünf 5830s)

Der Brutto-Umsatz für jeden 5830 ist $1.02 pro Tag X 5 = $5.10, verlassen Brutto-Gewinn von $1,50 pro Tag für alle fünf zusammen.

Aber dann, Anfang Dezember, können Sie keine mine profitabel. Ihre Kosten für Strom bleibt der gleiche, aber die pro-block-drop bedeutet, dass Ihr Brutto-Umsatz sinkt um die Hälfte, bis zu $.51 pro Tag pro 5830, oder $2.55 für alle fünf 5830s.

So würden Sie zahlen $3.60 Strom zu verdienen $2.55 in bitcoins.

Die einzige GPU-mining-Operatoren Links stehen werden diejenigen, deren Strom-rate ist deutlich unter dem Durchschnitt oder diejenigen, deren Strom ist in der Miete enthalten, die gezahlt würde, unabhängig.

+999
Alan Marriott 03 февр. '09 в 4:24

Der RPC-Aufruf sendrawtransaction versucht bei der übertragung der raw-Transaktion, die Sie geben, indem Sie zunächst, indem es seine eigenen mempool von Transaktionen. Wenn Sie nicht über die UTXO Datenbank, dann werden Sie nicht in der Lage, überprüfen Sie die Eingänge der Transaktion, so dass Ihre Knoten wird es ablehnen, von seinem mempool. So, im wesentlichen, Nein, es ist nicht ein Weg, mit dem Standard-client.

Sie ändern könnte, Ihre Kunden zu haben, eine neue RPC-Anruf, der nur sendet nur die Transaktionen, ohne es zu prüfen. Aber dann laufen Sie Gefahr, dass der Rundfunk eine ungültige Transaktion und Ihrer Kollegen steigern Sie Ihre ban-score.

Siehe auch: Drängen, tx zu dem Netzwerk per AJAX, ohne die Installation von bitcoin. Diese Frage listet ein paar APIs, die Unterstützung für die übertragung eines raw-Transaktion, die hilfreich sein können.

+941
Sakkara 29.09.2017, 09:16:49

Der öffentliche Schlüssel ein Punkt (x, y) auf der secp256k1 Kurve kann berechnet werden durch Multiplikation der Basis-Punkt G mit dem geheimen Schlüssel sk. Hier ist eine eigenständige, prägnante python-Funktion, die Folgendes tut:

def sk_to_pk(sk):
"""
 Leiten Sie den öffentlichen Schlüssel der geheime Schlüssel auf der secp256k1 Kurve.

Args:
 sk: Eine Ganzzahl, die die geheimen Schlüssel (auch bekannt als Geheimnis
exponent).

Gibt:
 Eine Koordinate (x, y) auf der Kurve repesenting dem öffentlichen Schlüssel
 für den gegebenen geheimen Schlüssel.

Wirft:
 ValueError: Der geheime Schlüssel ist nicht im gültigen Bereich [1,N-1].
"""
 # base point (generator)
 G = (0x79BE667EF9DCBBAC55A06295CE870B07029bfcdb2dce28d959f2815b16f81798,
0x483ADA7726A3C4655DA4FBFC0E1108a8fd17b448a68554199c47d08ffb10d4b8)

 # Bereich prime
 P = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFfffffffffffffffffffffffffefffffc2f

 # um
 N = (1 << 256) - 0x14551231950B75FC4402DA1732FC9Bebf

 # überprüfen Sie, ob der key gültig ist
 wenn nicht(0 < sk < N):
 msg = "{} ist keine gültige Schlüssel (nicht im Bereich [1, {}])"
 raise ValueError(msg.format(hex(sk), hex(N-1)))

 # addition auf der elliptischen Kurve
 # siehe: https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication#Point_addition
 # beachten Sie, dass die Koordinaten müssen angegeben werden modulo P und, dass die division ist
 # erreicht werden durch die Berechnung der multiplikativen inversen, die getan werden kann mit
 # x^-1 = x^(P-2) mod P mit fermat ' s little theorem (die pow-Funktion
 # python kann dies effizient auch für sehr große P)
 def add(p, q):
 px, py = p
 qx, qy = q
 wenn p == q:
 lam = (3 * px * px) * pow(2 * py, P - 2, P)
sonst:
 lam = (qy - py) * pow(qx - px, P - 2, P)
 rx = lam**2 - px - qx
 ry = lam * (px - rx) - py
 return rx, % P, ry % P

 # compute G * sk mit wiederholter Zugabe
 # über die binäre Darstellung von sk diese kann getan werden, in 256
 # Iterationen (double-and-add)
 ret = None
 for i in xrange(256):
 wenn sk & (1 << i):
 wenn der ret ist Ohne:
 ret = G
sonst:
 ret = add(ret, G)
 G = add(G, G)

 return ret

Die erforderlichen Parameter (G, P und N) können gefunden werden in der Spezifikation: http://www.secg.org/sec2-v2.pdf#page=13. Beachten Sie, dass diese Implementierung soll für Klarheit. Es ist nicht effizient und vermutlich auch nicht sicher gegen side-channel-timing-Angriffe schützt. Ein Angreifer könnte die Ausführungszeit der Aufruf dieser Funktion leiten Informationen über den geheimen Schlüssel.

+900
Lance Nanek 13.08.2017, 12:28:43

Es scheint, Sie haben ein bisschen Pech hier: die pay-Befehl versucht, zwei verschiedene Routen, die beide scheiterten, und dann konnte Sie nicht finden, einen Dritten Weg. Der erste scheiterte im Knoten 02f6725f9c1 was ich zufällig Zugang zu haben. Also mal sehen, was der Fehler war. Der Pfad versuchte zu route 147900 mSatoshi über diesen Kanal (plus ein paar Gebühren, aber wir ignorieren, dass für jetzt). Zur Zeit der Versuch der Kanal sah aus wie diese aus dem Knoten:

$ Blitz-cli listpeers | jq '.peers[] | select - (.id == "02e8334fcab092f496bce7421e8d711d41cbbfef0429bb30149784418df53dd1b1")'
{
 "id": "02e8334fcab092f496bce7421e8d711d41cbbfef0429bb30149784418df53dd1b1",
 "verbunden": false,
 "channels": [
{
 "state": "CHANNELD_NORMAL",
 "short_channel_id": "520051:68:0",
 "channel_id": "8f48128e5be0d9f7c0d142388b22cd8eb7e624333c25ae0de9790486101c4579",
 "funding_txid": "79451c10860479e90dae253c3324e6b78ecd228b3842d1c0f7d9e05b8e12488f",
 "msatoshi_to_us": 0,
 "msatoshi_to_us_min": 0,
 "msatoshi_to_us_max": 0,
 "msatoshi_total": 50000000,
 "dust_limit_satoshis": 546,
 "max_htlc_value_in_flight_msat": 18446744073709552000,
 "their_channel_reserve_satoshis": 0,
 "our_channel_reserve_satoshis": 546,
 "channel_reserve_satoshis": 0,
 "spendable_msatoshi": 0,
 "htlc_minimum_msat": 0,
 "their_to_self_delay": 144,
 "our_to_self_delay": 144,
 "to_self_delay": 144,
 "max_accepted_htlcs": 483,
 "status": [
 "Aus der Datenbank geladen"
],
 "in_payments_offered": 0,
 "in_msatoshi_offered": 0,
 "in_payments_fulfilled": 0,
 "in_msatoshi_fulfilled": 0,
 "out_payments_offered": 0,
 "out_msatoshi_offered": 0,
 "out_payments_fulfilled": 0,
 "out_msatoshi_fulfilled": 0
}
]
}

Wie Sie sehen können, alle Mittel sind im Besitz der remote-Seite 02e8334fcab, so gibt es keine Möglichkeit für uns, in diese Richtung (wenn wir 10 Dollar auf der Tabelle und auf der anderen Seite besitzt Sie all das, kann ich vielleicht bezahlen Sie mit dem Geld). Die zahlen Befehl sah daher das scheitern und erneut versucht.

Für den zweiten Versuch, die Zahlung geht immer noch über 02f6725f9c1, aber dieses mal haben wir ein ausreichendes Guthaben weiter zu geben:

Blitz-cli listpeers | jq '.peers[] | select - (.id == "02ad6fb8d693dc1e4569bcedefadf5f72a931ae027dc0f0c544b34c1c6f3b9a02b")'
{
 "id": "02ad6fb8d693dc1e4569bcedefadf5f72a931ae027dc0f0c544b34c1c6f3b9a02b",
 "verbunden": true,
 "channels": [
{
 "state": "CHANNELD_NORMAL",
 "short_channel_id": "528371:1680:1",
 "channel_id": "129a51f6055fb609e163c44ca10f060474348048d239ba66e3c0422a45b09b1f",
 "funding_txid": "1e9bb0452a42c0e366ba39d24880347404060fa14cc463e109b65f05f6519a12",
 "msatoshi_to_us": 501772528,
 "msatoshi_to_us_min": 0,
 "msatoshi_to_us_max": 502073023,
 "msatoshi_total": 2000000000,
 "dust_limit_satoshis": 546,
 "their_channel_reserve_satoshis": 0,
 "our_channel_reserve_satoshis": 20000,
 "channel_reserve_satoshis": 0,
 "spendable_msatoshi": 481772528,
 "htlc_minimum_msat": 0,
 "their_to_self_delay": 144,
 "our_to_self_delay": 240,
 "to_self_delay": 144,
 "max_accepted_htlcs": 483,
 "status": [
 "CHANNELD_NORMAL:Wieder, und wieder."
],
}
]
}

Diesmal aber der Letzte hop (025e77156e4c5) vor erreichen der Knoten konnte nicht vorwärts. Wir können nicht überprüfen, dass der Letzte hop ohne access, aber da Sie erwähnen, dass Sie die andere Seite des Kanals, den Sie verwenden Blitz-cli listpeers , um zu sehen, ob die andere Seite hat ein ausreichendes Guthaben (msatoshi_to_us < msatoshi_total). Meine Vermutung ist, dass Sie öffnete den Kanal, und deshalb eigenen sich die gesamte balance (wenn Sie bereits das Geld auf den Tisch, wie soll man Sie bezahlen?).

Wenn Sie zunächst versuchen, die übertragung einiger Mittel woanders (kaufen, nur einige Pixel auf satoshis.Ort oder Lesen Sie einen Artikel über yalls), dann sollten Sie in der Lage sein, um Weg zu Ihrem Knoten.

+868
Ammej Odagreb Oaiuqcol 11.04.2014, 05:50:22

Chancen auf einen Ersatz, sind sehr gering. In der Tat ist dies tatsächlich erwähnt in der bitcoin-community gepflegt wiki, das scheint ziemlich offiziellen.

Siehe die "Verbotene Änderungen" - Liste, wo das hinzufügen einer alternativen Beweis Algorithmus aufgeführt ist unter dem "umstritten" - Kategorie.

Umstritten: Hinzufügen von alternativen zu Proof of Work wie einen Pfahl. Das könnte sich ändern-core-bitcoin zu viel, aber mit der verbreiteten Vereinbarung von einer Art möglich sein könnte.

Beachten Sie, dass Sie reden über das hinzufügen, nicht ersetzen.

+785
Upertaya 14.07.2014, 08:15:58

Hier ist die Art und Weise funktioniert es in der Theorie (und in der Tat, wie es funktionierte für bitcoin):

0) zunächst gibt es keinen Markt, keine Geschäfte, aber es gibt eine Kosten für die Herstellung der Artikel. Sie Fragen sich vielleicht, warum jemand möchte etwas, das Geld kostet, kann aber nicht verkauft werden - nerd-Begeisterung

1) der Handel bietet zu bestimmten Preisen hergestellt werden. Diese wurden auf der Grundlage der Kosten zu produzieren. Angebote werden trotzdem nicht angenommen. In dieser Phase könnte man sagen, der Markt vorhanden ist.

2) der erste trade bietet Spiel und ausführen. In dieser Zeit der Wechselkurs ist 'entdeckt' (zumindest die erste Vermutung es sowieso). Nicht sicher, ob es der erste, aber der bekannteste der frühen Preis definieren von Transaktionen für bitcoin den Handel 2 Familie große Pizza für 10000 bitcoins. Die Pizzen waren preislich in USD, so dass der Handel entdeckt die BTCUSD-pair-exchange rate. Die 10000 basierte lose auf Strom zu Kosten zu produzieren, die bitcoins.

In der aktuellen Umgebung, Dinge, die die gleiche Arbeit - Menschen Angebote machen und der Markt entdeckt die best-Preis.

Zum ersten Teil Ihrer Frage, Sie können nun sehen, dass das 'Wachstum' ist überall von undefined, durch die Unendlichkeit, bis auf einige ermittelte Wert. Es ist ziemlich sinnlos, um es anwenden zu frühen Märkte.

Du fragst, ob alle Münzen sind 'verfügbar Einführungspreis" aber der Markt-Preis ist dynamisch und hängt von der Nachfrage und Verfügbarkeit. Manchmal gibt es Angebote zur Lieferung einer festen Anzahl von Artikeln zu einem festgelegten Wechselkurs, aber das ist vor allem ein Markt geöffnet ist.

+744
anpimph 23.11.2015, 20:37:35

Wie denken Sie, die Neutralität handeln wird gesprochen, als ich diesen Beitrag schreiben wird Auswirkungen auf die Bitcoin-community. Nicht nur in Transaktionen, sondern Bergbau, wie wird es Auswirkungen auf Bitcoin wirtschaftlich mit den Nutzern und Bergleute gleichermaßen alle im gleichen Netzwerk? Kann jemand die vor/Nachteile auf diese Frage. Auch, wie konnte das treiben bitcoin positiv in irgendwie? Dies könnte Auswirkungen auf die gesamte Welt, aber ich fühle mich wie könnte es haben einen großen Einfluss auf die Bitcoin-mehr als das, was die Leute denken.

+692
tequilla 2015 06.09.2016, 14:54:31

Ich entwickle eine software, die eine Verbindung zu "Electrum-Server", der public Server ist bereits verfügbar, zu verwenden, dass die gleichen, die Electrum Wallet verwendet. Die Benutzer werden in der Lage sein, geben Sie eine benutzerdefinierte host-wenn Sie möchten, so ist es möglich, erstellen Sie einen server und nutzen, dass.

Die wichtigste Frage ist... Wie kann ich alle die Elektron-Server? Ich fand diese Seite, die eine Liste mit allen Servern. Wie diese Webseite bekam diese Informationen?

Wie kann ich etwas automatisch bekommen die alle die Elektron-Server? Wenn ich will, um eine Website zu erstellen/API, diese Informationen zu liefern, wie kann ich es bekommen?

+666
vikas verma 17.10.2017, 10:17:04

bitcoind ist, was ist am meisten verbreitet. Und hier ist die Quelle: https://github.com/bitcoin/bitcoin/

Aber es gibt verschiedene andere Implementierungen für Kunden wie BitcoinJ für Java https://code.google.com/p/bitcoinj/ oder http://libbitcoin.dyne.org/ für C++.

Jedoch, für die Bergleute die Geschichte ist ein bisschen anders. Wenn Sie ein Bergmann Sie Art verwenden müssen bitcoind. Sonst schlimme Dinge passieren könnten wie die blockchain-fork vom letzten März: http://bitcoinmagazine.com/3668/bitcoin-network-shaken-by-blockchain-fork/

+663
Peter Briers 26.02.2016, 13:00:13

Es ist nicht schwer zu verwenden, Bitcoin Ansatz in der client-software. NRS (Nxt Reference Software) nicht unterstützt, ist dies, weil die Anonymität nicht gewährleistet auf diese Weise, es schafft nur eine Illusion von Anonymität (http://people.csail.mit.edu/spillai/data/papers/bitcoin-transaction-graph-analysis.pdf). CoinShuffle (http://crypsys.mmci.uni-saarland.de/projects/CoinShuffle/coinshuffle.pdf) Hinzugefügt, um Nxt bald einen besseren Schutz gegen deanonymization.

+619
TaoTek 27.06.2011, 10:28:27

Ich sah diese Frage: Wie funktioniert das wiederherstellen einer HD-wallet zu arbeiten? Ich denke, die Antwort passt zu einer Kette wallet (Samen) und ist das Verfahren ein anderes, während er auf einem Baum.

Ich verstehe immer noch nicht, wie die Wiederherstellung eines "HD Wallet" arbeitet.

Wie funktioniert die wallet-app wissen, wo Sie anfangen oder beenden Sie die Prüfung.

+592
Namaah Allechy 08.08.2015, 17:19:34

Lassen Sie uns sagen, aktuelle BTCUSD rate ist 1BTC = 3,000 USD und die Durchschnittliche Gebühr ist 300satoshi pro byte Und das muss ich bezahlen, einige bitcoin zu P2PKH-Adresse, die im Besitz von bitcoin exchange/cafe oder bar, grundsätzlich wer erlaubt Bitcoin-Zahlungen.

Weil Bitcoin ermöglicht es, dass Transaktionen, die mehrere gleiche Adresse ausgegeben, ich kann so etwas tun

  • Eingang
    • 0.0135 BTC($40)
  • Ausgabe
    • cafe Adresse 0.00045 BTC($1.332)
    • cafe Adresse 0.00045 BTC($1.332)
    • cafe Adresse 0.00045 BTC($1.332)
    • ... 27 mehr gleichen Ausgänge

Muss ich zahlen ungefähr $9 Gebühr(da jeder Ausgang 34 byte Daten daher jede Ausgabe Kosten $0.306 (3000 * 0.00000034 * 300)).

Sobald die Transaktion enthalten ist, in die blockchain, die ich technisch bezahlt 0.0135 BTC und ich bekomme eine Tasse Kaffee.

Das problem ist, dass die Café-Besitzer fast nie in der Lage sein, es zu benutzen. jeder P2PKH input braucht, um 148bytes und Kosten 0.000444 BTC(0.00000148 * 300) als Gebühr.

Ausgaben 0.00045 BTC erfordert 0.000444 BTC.

Ich weiß nicht, wer würde dies zu tun.Aber das könnte funktionieren.

Könnte dies geschehen?

+557
DorisMadson 24.06.2018, 19:13:10

Ich brauche eine api oder eine Anwendung, erzeugen und verarbeiten (senden/empfangen und so weiter...) multi-Währungs-wallet. Ein Beispiel: zu generieren dogecoin-Adresse, bitcoin-Adresse, litecoin-Adresse, peercoin-Adresse und so weiter... und mit Ihnen umgehen. Wie senden/empfangen/check balance.

+498
Aet 28.02.2011, 08:05:59

Hilfe benötigen, um zu versuchen zu lokalisieren, wo meine bitcoin ging. Gegeben wurde eine Firma wallet-Adresse senden, mein Geld. Jetzt merke ich, ich wurde betrogen. Wären Sie in der Lage, mir zu helfen, suchen Sie Austausch, dass meine €5700 ging?

+456
freddi 30.08.2012, 21:25:52

Wie muss ich parse die "hex" zu identifizieren, wer unterzeichnet hat, die Transaktion?

In diesem Beispiel wird die Transaktion ist vollständig signiert, aber es gibt mehr n als m (m-von-n), so ist es unklar, wer signiert die Transaktion. Da die Signatur erfolgt mit dem privaten Schlüssel des Benutzers, der einzige Weg ist, um tatsächlich überprüfen Sie jede Signatur kryptographisch mit jeder public-key zu sehen, welche gültig sind. Zum Parsen der hex-zu-Holen Sie sich diese Werte, es gibt viele tools, aber siehe unten für einen Weg, es zu tun:

  1. Die roh-Transaktion aus https://bitcoincash.blockexplorer.com/api/rawtx/3a91cd0a55270972d12a42156a24c6a318c39fedce942f2ff28114d63fda5aad

0100000001d6ccc50f26df8e894e3411653ab1bfeb2d73c8ddfb956349a3153be852f0997d00000000fd390200483045022100d5d6f8171274750b2ce900cbb6e8110f3b3414607b474bd11f30162b5ebd195b02206ce99cf0296bb3690f278bc0938a7616ee9012d5459cee31b4056a71bd81a60441473044022066597d1177e98e98766551dc92c7f130143af8db83733a5bc02d8fc279c6864b022043144ca986c393d1fb6a7d892444f84235f2c4cf16c0f26681b9d19e21b7f19b414830450221009dd0bb808279283b40b75f75cc2bbd951251ba78cf48676e8009e3a348cde38102202b048321711d84054eec2d4c8e0722d17d1704a9ada1505de6f3a59dff445936414730440220387be39b92918716d3c7f3020a09d145ac12eb0ad5759ea530bd49bf6a8d3ef4022005e949c872c2ad5711b6477cef727c1edd5ef6cad199aea3ec8ff20b0771c33d414d130154210209097c648cfadb3e99bffb0c6f988533635b672c92f20b16453a4bd03ebbe7a82102335c9fbf1276ab297a79acf90a4b2ea6a1c2d73e6e2df94bd4582290e26902d121024c9653527997e36331d831d2229e33b236551033a745c4cf564c3e4db1e3646721026f991aecffecc9c7eaa7f5744bd0fdfc6e88a326601ad015e560c444cba4d0d82102c28b534269e084995c03518a9f10b0d3f38aaf4d91a58b46b19921a9a931d4ee2102e65ad6cc07306e61ad58f5ce670a85b47c8a26e8cb06f5ab9701e42c4da00b11210315df242f0fdead385ea2a5bd4ffdee43404c4c90345c44b11a17363e3d4e6f4421036504a01757aca5130cf6a4e7636295955ce283a44bdf9ce3b6bd3a5523e19ced58aefeffffff01aab40100000000001976a914689b5342b6875ba1df76710dda796f51926ac46c88ac38030800

  1. Decodieren Transaktion mit bitcoin-cli

$ bitcoin-cli decoderawtransaction <raw-tx-oben>

{
 "txid": "3a91cd0a55270972d12a42156a24c6a318c39fedce942f2ff28114d63fda5aad",
 "hash": "3a91cd0a55270972d12a42156a24c6a318c39fedce942f2ff28114d63fda5aad",
 "version": 1,
 "Größe": 656,
 "vsize": 656,
 "Gewicht": 2624,
 "locktime": 525112,
 "vin": [
{
 "txid": "7d99f052e83b15a3496395fbddc8732debbfb13a6511344e898edf260fc5ccd6",
 "vout": 0,
 "scriptSig": {
 "asm": "0 3045022100d5d6f8171274750b2ce900cbb6e8110f3b3414607b474bd11f30162b5ebd195b02206ce99cf0296bb3690f278bc0938a7616ee9012d5459cee31b4056a71bd81a60441 3044022066597d1177e98e98766551dc92c7f130143af8db83733a5bc02d8fc279c6864b022043144ca986c393d1fb6a7d892444f84235f2c4cf16c0f26681b9d19e21b7f19b41 30450221009dd0bb808279283b40b75f75cc2bbd951251ba78cf48676e8009e3a348cde38102202b048321711d84054eec2d4c8e0722d17d1704a9ada1505de6f3a59dff44593641 30440220387be39b92918716d3c7f3020a09d145ac12eb0ad5759ea530bd49bf6a8d3ef4022005e949c872c2ad5711b6477cef727c1edd5ef6cad199aea3ec8ff20b0771c33d41 54210209097c648cfadb3e99bffb0c6f988533635b672c92f20b16453a4bd03ebbe7a82102335c9fbf1276ab297a79acf90a4b2ea6a1c2d73e6e2df94bd4582290e26902d121024c9653527997e36331d831d2229e33b236551033a745c4cf564c3e4db1e3646721026f991aecffecc9c7eaa7f5744bd0fdfc6e88a326601ad015e560c444cba4d0d82102c28b534269e084995c03518a9f10b0d3f38aaf4d91a58b46b19921a9a931d4ee2102e65ad6cc07306e61ad58f5ce670a85b47c8a26e8cb06f5ab9701e42c4da00b11210315df242f0fdead385ea2a5bd4ffdee43404c4c90345c44b11a17363e3d4e6f4421036504a01757aca5130cf6a4e7636295955ce283a44bdf9ce3b6bd3a5523e19ced58ae",
 "hex": "00483045022100d5d6f8171274750b2ce900cbb6e8110f3b3414607b474bd11f30162b5ebd195b02206ce99cf0296bb3690f278bc0938a7616ee9012d5459cee31b4056a71bd81a60441473044022066597d1177e98e98766551dc92c7f130143af8db83733a5bc02d8fc279c6864b022043144ca986c393d1fb6a7d892444f84235f2c4cf16c0f26681b9d19e21b7f19b414830450221009dd0bb808279283b40b75f75cc2bbd951251ba78cf48676e8009e3a348cde38102202b048321711d84054eec2d4c8e0722d17d1704a9ada1505de6f3a59dff445936414730440220387be39b92918716d3c7f3020a09d145ac12eb0ad5759ea530bd49bf6a8d3ef4022005e949c872c2ad5711b6477cef727c1edd5ef6cad199aea3ec8ff20b0771c33d414d130154210209097c648cfadb3e99bffb0c6f988533635b672c92f20b16453a4bd03ebbe7a82102335c9fbf1276ab297a79acf90a4b2ea6a1c2d73e6e2df94bd4582290e26902d121024c9653527997e36331d831d2229e33b236551033a745c4cf564c3e4db1e3646721026f991aecffecc9c7eaa7f5744bd0fdfc6e88a326601ad015e560c444cba4d0d82102c28b534269e084995c03518a9f10b0d3f38aaf4d91a58b46b19921a9a931d4ee2102e65ad6cc07306e61ad58f5ce670a85b47c8a26e8cb06f5ab9701e42c4da00b11210315df242f0fdead385ea2a5bd4ffdee43404c4c90345c44b11a17363e3d4e6f4421036504a01757aca5130cf6a4e7636295955ce283a44bdf9ce3b6bd3a5523e19ced58ae"
},
 "sequence": 4294967294
}
],
 "vout": [
{
 "value": 0.00111786,
 "n": 0,
 "scriptPubKey": {
 "asm": "OP_DUP OP_HASH160 689b5342b6875ba1df76710dda796f51926ac46c OP_EQUALVERIFY OP_CHECKSIG",
 "hex": "76a914689b5342b6875ba1df76710dda796f51926ac46c88ac",
 "reqSigs": 1,
 "type": "pubkeyhash",
 "Adressen": [
"mq44eC2t6nt6KbmWGsM1RxjmhvP7ZWVVlq"
]
}
}
]
}

Die scriptSig Feld der ersten Eingabe enthält die Unterschriften und die redeemScript. Sie können sehen, dass es 4 Unterschriften, nachdem die führende 0und dann die redeemScript.

  1. Analysieren redeemScript

Sie können analysieren, die redeemScript, zum Beispiel mit einer Bibliothek, die ich schrieb, zu analysieren Skripte in lesbaren ASM:

$ npm i --speichern bscript-parser
$ Knoten
> const bs = require('bscript-parser')
undefined
> bs.parseRawScript('54210209097c648cfadb3e99bffb0c6f988533635b672c92f20b16453a4bd03ebbe7a82102335c9fbf1276ab297a79acf90a4b2ea6a1c2d73e6e2df94bd4582290e26902d121024c9653527997e36331d831d2229e33b236551033a745c4cf564c3e4db1e3646721026f991aecffecc9c7eaa7f5744bd0fdfc6e88a326601ad015e560c444cba4d0d82102c28b534269e084995c03518a9f10b0d3f38aaf4d91a58b46b19921a9a931d4ee2102e65ad6cc07306e61ad58f5ce670a85b47c8a26e8cb06f5ab9701e42c4da00b11210315df242f0fdead385ea2a5bd4ffdee43404c4c90345c44b11a17363e3d4e6f4421036504a01757aca5130cf6a4e7636295955ce283a44bdf9ce3b6bd3a5523e19ced58ae', 'hex')

'OP_4 PUSHDATA(33)[0209097c648cfadb3e99bffb0c6f988533635b672c92f20b16453a4bd03ebbe7a8] PUSHDATA(33)[02335c9fbf1276ab297a79acf90a4b2ea6a1c2d73e6e2df94bd4582290e26902d1] PUSHDATA(33)[024c9653527997e36331d831d2229e33b236551033a745c4cf564c3e4db1e36467] PUSHDATA(33)[026f991aecffecc9c7eaa7f5744bd0fdfc6e88a326601ad015e560c444cba4d0d8] PUSHDATA(33)[02c28b534269e084995c03518a9f10b0d3f38aaf4d91a58b46b19921a9a931d4ee] PUSHDATA(33)[02e65ad6cc07306e61ad58f5ce670a85b47c8a26e8cb06f5ab9701e42c4da00b11] PUSHDATA(33)[0315df242f0fdead385ea2a5bd4ffdee43404c4c90345c44b11a17363e3d4e6f44] PUSHDATA(33)[036504a01757aca5130cf6a4e7636295955ce283a44bdf9ce3b6bd3a5523e19ced] OP_8 OP_CHECKMULTISIG'

Das einlösen Skript ist ein 4-von-8 multisig.

+423
cluesque 08.01.2016, 16:53:05

Funktioniert eine Transaktion mit 50 Eingänge haben 50 verschiedene hashofthingtosign, eine für jeden Eingang, oder tut es nur noch eine, die verwendet wird, für alle Eingabe-Skripte?

+408
ebertbm 08.06.2014, 07:45:04

Ich bin mit neuesten bitcoind und p2pool-Versionen (Standard-port-Einstellungen) auf Fedora 21 mit ports öffnen für 3332-3333, 8332-8333, und 9332-9333. Alles scheint gut zu sein, wenn eine Verbindung zu BC-net, aber wenn einer meiner Miner (Antminer S5) verbindet http://myhostname/IP port 3333 p2pool nicht reagieren. Wenn ich versuche, eine Verbindung mit port http://myhostname/IP port 9333, bekomme ich ein twisted-Fehler beschweren, Authentifizierung, aber wenn ich versuche, eine Verbindung zu port myhostname/IP (stratum+tcp??) port 9333 es sieht aus wie der Bergmann versucht, eine Verbindung herzustellen und zu arbeiten, aber nach einigen Sekunden p2pool meldet einen "handshake timeout" für die miner IP-Adresse.

Dies ist die Fehlermeldung die ich bekomme:

2015-02-25 18:05:35.107254 Bekam peer-Verbindung aus: IPv4-Adresse(TCP, '192.168.0.21', 45024)
2015-02-25 18:05:45.108525 Handshake-Zeitüberschreitung, die Verbindung von 192.168.0.21:45024
2015-02-25 18:05:45.109817 Peer-Verbindung verloren: ('192.168.0.21', 45024) [Failure instance: Traceback (failure with no frames): <class verdreht.internet.Fehler.ConnectionAborted'>: Verbindung abgebrochen wurde lokal mit.
2015-02-25 18:05:45.110143

Was mache ich falsch?

+359
Jimmy Hoffa 08.03.2013, 02:21:20

Dieses Szenario erscheint etwas konstruiert auf mich.

1. Treuhand:
Kurzfristige Treuhand-Dienstleistungen sind in der Regel verwendet, um vermitteln eine Zahlung zwischen zwei Parteien, Bereitstellung eines tie-breaker um sicherzustellen, dass der Empfänger erfüllt die bezahlte Dienstleistung, und der Zahler zahlt die geleisteten Dienste. Ich sehe nicht, was jemand brauchen könnte, zu haben, das erfordert den Verzicht auf die Kontrolle über sein Geld an eine Dritte Partei nur zurücktreten, innerhalb von Minuten. Daher scheint es contra-intuitiv, dass ein "Treuhand" - service bestehen würde, die ermöglicht, dass Einzahlungen und Auszahlungen, die Zahlung auf eine solche Frequenz. Eine ähnliche situation könnte gebaut werden mit einer Börse, wenn. Sie in der Regel nicht Garantie-Auszahlung-mal so weit wie ich weiß, obwohl.

2. Bestätigungen:
Wenn der Empfänger erwartet wenigstens eine Bestätigung des Zahlers muss die unter dem Einfluss eines Sybil-Angriff und fed falschen blockchain-Daten, oder der Angreifer muss die Schaffung einer alternativen blockchain-Tipp Waisen der block der Empfänger verlässt sich auf die Bestätigung. So oder so muss der Angreifer mindestens einen block vor dem Rücktritt, das wäre durchaus eine Investition.

3. Angriff ist leicht gekontert:
In der situation, dass ein Kunde zurücktreten will sofort zurück, die "escrow" schaffen würde, eine Transaktion mit der Transaktions-Ausgabe der Einzahlung Transaktion als Eingabe. So würde der Kunde bekommt sein Geld zurück zuverlässig, wenn es bezahlt wurde, oder dem Entzug scheitern würden, wenn die Ihr Geld nie angekommen in der escrow in der Brieftasche.

Wie viele Bestätigungen zu warten?
Wenn ich mit einem "escrow" - Dienst, würde ich in der Umsetzung über 2-3 multisig-Adressen. Die drei Schlüssel gehören zum Zahler, Zahlungsempfänger, und Escrow. Als Adresse würde eindeutig sein, um die beteiligten, würden die Zahlungen bezogen werden, von der Kaution ohnehin.

Je nach der Höhe der Kosten und der Qualität meiner Geschäftsbeziehung mit den beteiligten Parteien, ich würde warten, mindestens zwischen einem und vier Bestätigungen bevor ich aussprechen die Zahlung als eingegangen.

+349
zanzibar 28.05.2017, 11:45:09

Bitcoin Core 0.10.0 kann die Lösung, die Sie brauchen, Dank seiner headers-first synchronization. Die getblockchaininfo RPC in 0.10.0 bietet sowohl ein Blöcke - Feld (die Anzahl der überprüften Blöcke) und eine Header - Feld (die Anzahl der teilweise validiert Header).

Jederzeit, wenn die zahlen sich unterscheiden, Sie müssen nicht alle Blöcke. Während der Erste Block Download (IBD), werden Sie Hunderte von tausenden von Blöcken auseinander. (Nach einem Wireshark sniff ich habe während der IBD vor ein paar Wochen, es nahm mir den Knoten in weniger als zwei Minuten zum herunterladen eines kompletten Header-Kette, die Synchronisierung der Blöcke dann noch weitere drei Stunden.)

Bitcoin Core 0.10.0 hat zwei weitere neue Felder, die Sie nützlich finden könnten, sowohl in der getpeerinfo RPC. Die Felder sind synced_headers und synced_blocks. Die Header-Feld wird auf der Grundlage der letzten P2P-Header-Nachricht des remote-Knoten gesendet Sie. Die Blöcke-Feld ist auf der Grundlage der letzten P2P-block inv-Nachricht die peer gesendet Sie. In beiden Fällen ist, lassen Sie Sie wissen, dass die letzten Kopf-oder block, den Sie gemeinsam haben, mit dem remote-Knoten (am besten bestimmt werden kann).

Ich weiß nicht, wie nützlich diese getpeerinfo Felder, wie Sie Ihre Knoten kann nicht sagen, dass Sie die Höhe von einem block, bis es die entsprechenden block-header - ---an welchem Punkt der getblockchaininfo RPC wird jetzt schon sagen, dass Sie out of sync. Allerdings sind Sie ein bisschen Spaß, zu betrachten.


Könnte ich nur machen mehrere getheaders Anfragen und sehen, ob die peer-gibt alle Kopfzeilen später als der header, die ich habe, oder würde das peer-ban me für die Beantragung der gleichen Kopfzeilen wieder und wieder?

Soweit ich weiß, gibt es kein Verbot Punktzahl gibt es (so lange, wie Sie Ihre Pakete gültig sind). Aber die Gegenstelle senden soll Sie eine inv - Nachricht, sobald es prüft eine eingehende block---so es gibt keine Notwendigkeit, poll es so lange, wie Sie Ihre app verarbeitet inv - Nachrichten mit einem MSG_BLOCK geben.

+347
Jane Ehrlich 17.12.2013, 03:55:51

Die nächste Sache, ASIC scheint die BitForce-Serie, die gerade veröffentlicht wurde und den Kunden scheint es nur einigermaßen erhalten Ihre ersten Aufträge.

Von der website:

Basiert Ihr system auf FPGA-oder ASIC-Technologie?

Die BitForce-Prozessor-Karte ist eine proprietäre Implementierung von FPGA-und ASIC-Technologie.

So weit ich bin mir bewusst, der eigentliche chip-design nicht freigegeben, aber es scheint echt jetzt, dass die Menschen begonnen haben, testen die möglichen.

http://www.butterflylabs.com/

+314
sudheer test 02.08.2016, 14:44:56

Du hast Recht, dass in dieser Hinsicht, Coinbase und Mt.Gehex sind ähnlich: Sie kontrollieren die privaten Schlüssel, und der Inkompetenz oder Böswilligkeit ihrerseits den Verlust Ihrer Münzen. Ein Unterschied ist, dass Coinbase nicht halten ein Gleichgewicht der USD (oder andere fiat) auf Ihrem Konto, nur bitcoins. Der andere wichtige Unterschied ist, dass Coinbase hat nicht (AFAIK) gezeigt, keine Anzeichen von Inkompetenz oder Böswilligkeit zu gefährden, Ihre bitcoins dort gespeichert (diese Zeichen, die ich höre, wurden um für eine lange Zeit vor Mt.Gehex schließlich starb).

Cold storage ist eine gute Sache, wenn es richtig gemacht: es erhöht die Sicherheit und kann nicht verhindern, dass instant bitcoin-Abhebungen (außer in Ausnahmefällen).

Trotzdem, ich persönlich werde (Langzeit -) speichern meine bitcoins in eine lokale client-oder meine eigenen Kühlhaus, kein exchange oder online-wallet. Es gibt immer noch eine echte (vielleicht sogar noch höher!) Verlustrisiko auf diese Weise, aber es wäre aufgrund meiner Inkompetenz, nicht jemand anderes.

+283
Xucong 03.04.2018, 19:32:20

Wenn Sie ein Papier-wallet mit nur einer Adresse. Der häufigste Weg, um Transaktionen zu machen, die nicht verbrachte eine komplette unverbrauchten Ausgang (UTXO) ist zu senden, wechseln Sie zurück in die wallet-Adresse selbst.

Beachten Sie, dass die Verwendung nur einer einzelnen Adresse beinhaltet, dass man keine Privatsphäre überhaupt. Jeder, der Evers kommt, zu wissen, Ihre Adresse sehen können, Ihre balance und jede Transaktion, die Sie empfangen oder senden.

Paper wallets sind nützlich, um bequem und sicher speichern Sie ein paar bitcoins, aber wenn Sie möchten, um Zahlungen auf eine häufigere basis verwenden, sollten Sie eine mehr anspruchsvolle Brieftasche, die kann mit mehreren Adressen.

Beachten Sie, dass HD-wallets (Hierarchische Deterministische wallets) machen es möglich, eine Papier-Brieftasche, kann aus vielen Adressen. Aber ich weiß nicht, der eine wallet-app, die bereits Unterstützung für diese Art von Geldbörsen heute.

+265
MsTapp 01.11.2011, 17:37:06

Ich will erstellen Sie eine rohe Transaktion mit python und ich fand das Skript Macht eine Transaktion aus der inputsoutputs ist eine Liste von [redemptionSatoshis, outputScript]

def makeRawTransaction(outputTransactionHash, sourceIndex, scriptSig, Ausgänge):

def makeOutput(Daten):redemptionSatoshis, outputScript = datareturn (struct.pack("<F", redemptionSatoshis).encode('hex') +'%02x' % len(outputScript.decode('hex')) + outputScript)

formattedOutputs = ".join(map(makeOutput, outputs)) 
return ( "01000000" + "01" + outputTransactionHash.decode('hex')[::-1].encode('hex') + 
outputTransactionHash struct.pack('<L', sourceIndex).encode('hex') + '%02x' % 
len(scriptSig.decode('hex')) + scriptSig + "ffffffff" + "%02x" % (len(output) +formattedOutputs + "00000000")
+228
Balraj Singh 16.03.2011, 03:42:28

Wie andere haben darauf hingewiesen, dass der einfachste Weg, (wenn Sie nicht anonym bleiben, die Sie wahrscheinlich nicht nicht im Fall von Spenden, sowieso), ist nur die Anzeige einer Bitcoin-Adresse empfangen mit einem schönen Symbol daneben (und vielleicht durch einen link auf eine Seite mit Anweisungen, QR-codes und Zeugs).

Für icons gibt es eine Sammlung an https://en.bitcoin.it/wiki/Promotional_graphicswerden Sie sicher, Folgen Sie den links unten.

Es besteht auch die Möglichkeit, die Favicons werden könnten, dient als Kurzform im browse-Adresse

+211
shanaka 22.01.2017, 01:45:26

Was ich verstehe dieses bip ist, dass es verwendet eine deterministische wallet (oder ein Portemonnaie, das nur noch der Samen-Schlüssel neu generieren Schlüssel-Paare). Ein Beispiel für eine deterministische wallet electrum und auch Gehirn waller. Diese beiden Dienste, die ich kenne, Elektron mehr als Gehirn Brieftasche. Im Grunde, was Elektron tut, gibt Sie eine 128-bit-root-key in der form einer Reihe von Wörtern.Von dieser root-Schlüssel alle öffentlichen Schlüssel können Sie knobelte. Ein Teil der Leichtigkeit des erfrischend, diese "alten/verloren" öffentliche Schlüssel ist da kann man nicht mehr erzeugen öffentlichen Schlüssel, die als bereits ermittelt wurden (deterministisch) durch die Länge des Samens. Wie es funktioniert, ist beschrieben von Gmaxwell auf bitcoin-talk

https://bitcointalk.org/index.php?topic=19137.0 Einführung was wurde diskutiert über IRC

Ich habe mit diesem Thema genug im IRC, dass ich dachte, ich musste es irgendwo mehr haltbar.

Bitcoin sollte wirklich bieten und standardmäßig mit deterministischen wallets. Die zusätzliche Sicherheit des aktuellen pre-generierte ist ziemlich klein, wenn man bedenkt, wie die meisten Leute benutzen bitcoin und die Haftung von Schäden, die durch Unzureichende sicherungen und erhöhte den Druck zu halten, eine einzige Brieftasche online, ist enorm.

Was ist eine deterministische wallet? Es ist eine Brieftasche, die Sie ein backup einmal und es gesichert ist ewig, weil alle zukünftigen Adressen werden im Voraus bestimmt. Es kann auch zerlegt werden, um eine sehr kleine Größe, die leicht gesichert auf Papier (z.B. mit einem QR-code). Dies steht im Gegensatz zu den aktuellen nicht-determinstic Geldbörsen, wo die Schlüssel sind, gelegentlich aber sind die vorausberechnete Voraus, so dass Sie sicher sind, nur, wenn Sie backup-mindestens alle 100 Adressen erhalten oder versendet, und die sind groß und schwerer zu backup auf Papier im Laufe der Zeit.

Ich habe das backup-Verhalten der aktuellen Brieftaschen ziemlich Schwierigkeiten bekommen, auch nur mäßig technischen Menschen zu verstehen. Das aktuelle system bietet ausreichend Sicherheit zu fördern, Selbstzufriedenheit, aber nicht genug, um Selbstzufriedenheit akzeptabel. Die positive Seite der einen nicht-determistic wallet ist, dass es immer "nicht gestohlen" im Laufe der Zeit aber die Leute sind Häufig wiederverwenden von Adressen und Angreifer nicht langsam handeln, unabhängig.

Also die tl;dr, die schwer zu sichern, eine Brieftasche.dat-Datei, weil es viel zu viele privaten root-Schlüssel (wie unendlich, wie sein kann). Der Autor schlug vor, dass eine deterministische wallet kann nur eine bestimmte Anzahl von Tasten, denn es gibt einen private-key-oder Saatgut. Diese deterministische wallet ist möglich, weil die keys sind alle Hash die gleiche Art und Weise (Sie alle verwenden die gleiche Wurzel-oder Basis. Oder gleiche Eltern)

Es gibt zwei Arten von deterministischen wallet möchte ich diskutieren. Ich nenne Sie Typ-1 und Typ-2.

Typ-1 ist die offensichtlichste Art:

Die Geldbörse speichert eine große random seed S (kann verschlüsselt werden, wenn der Benutzer verwendet, Geldbörse, Verschlüsselung)

Privatekey(Typ,n) ist dann einfach H(n|S|type) wobei H eine akzeptable secure-hash-Funktion und der Typ kann festgelegt werden, um unterschiedliche Werte für die Adressen ändern vs-Adressen angezeigt (also dieser Unterschied auch dann erhalten, wenn neue wallet-Metadaten verloren gegangen ist).

Das system erzeugen würden einige (vielleicht 1000 von jeder Art) - Adressen vor die am weitesten hat es beobachtet, auf das Netzwerk, sondern nur die Mühe, zum speichern der Adressen. Die keys generiert werden können, wie gebraucht.

Tl;dr es gibt zwei bekannte Art und Weise diskutiert, die von gmaxwell um sicherzustellen, dass Sie halten können, eine endliche, und leicht erkannt-Adresse. Typ 1 ist, wo Ihre langen Samen ( Beispiel: dhrhdjidgMdudyemrbyrkandurkur). es ist die einzige Basis verwendet, um die hash-keys. da (afaik)bitcoin natürlich wurde gebaut, um nur verwenden, jede Gruppe von Samen-Schlüssel ein paar mal ändern Brieftaschen nur diese besonders verbunden und generierte keys/Samen werden nur lokal gespeichert in der Brieftasche.dat-Datei, die auf dem lokalen bitcoin-Instanz. Dynamisch der original-client weisen Sie eine eingehende Adresse, wenn Ihr eine Adresse ändern und schon bald beginnen Sie wieder mit einem neuen seed.

Typ 1 verwendet eine lange Reihe von zahlen/Buchstaben an, Die sind alle aus Samen (dhrhdjidgMdudyemrbyrkandurkur). Dieses Saatgut wird immer ein Hashwert mit der gleichen Funktion (ermöglicht für eine einfache sagen, sha). Diese hash-Funktion kann nur generieren eine endliche Menge von Schlüsseln (ich glaube, das ist, weil Ihr Saatgut Schlüssel ist nicht unendlich Zeichen lang sein, die mögliche Anzahl Adressen sind beschränkt auf die Taste Länge der Samen ). Also solange beide dynamische wallet-clients sind so codiert, dass hash/überprüfen Sie die Schlüssel die gleiche Weise, Sie werden immer finden, dass die Adressen durch Prozess der Beseitigung. Das ist nicht allzu schwer. es wird hash zu finden, wenn keine Münzen vorhanden sind, an diese Adressen. Wenn die Adresse nie genutzt wurde, diese Adresse ignoriert und Links um Sie später zu verwenden. (wie betreten einen Tresor mit einem Schlüssel-code, gespeichert und direkt auf dem Boden ist jeden letzten bitcoin, die Sie besitzen. Diese bitcoins sind sortiert in zu einfachen alten Kisten. Da es Ihr Gewölbe, die kleine, und privat haben Sie nur diese Anzahl von Boxen auf den Boden, Sie waren vorgefertigten Boxen. Wo als Nachbarn hält die Schaffung eines neuen Tresors für eine neue Reihe von Boxen. Es klingt ein wenig albern für Sie zu schaffen, so viele Tresore mit unterschiedlichen Eingang-codes, und so viele Kisten, die nie verwendet werden. Aber das ist, wie bitcoin funktioniert. Es macht einen vault und vault sind die Felder leer und bereit gefüllt zu werden mit Münzen oder alles, was übrig bleibt. Es macht es schwieriger, aber für einen Dieb zu brechen, weil er muss geöffnet jeden letzten und Sortieren Sie diese Felder. Aber wie auch immer Sie Die Samen zu nehmen (Ihre valts Schlüsselcode) und entschlüsseln(geben Sie den vault-Passwort). Dass key Es immer sagt Ihnen, welche Boxen von bitcoin sind in den vault (also sagen, dass Ihr Tresor Passwort ist JOESVAULT) auch Sie wissen, dass es gibt nur so viele Kästchen, die passen in das Gewölbe, und Sie kennen den Namen jedes Feld (Adresse), gibt es auch. Also, suchen Sie in diesen Boxen, ohne zu erraten, die vault ist es in. Da Sie nur einen Tresor haben, können Sie schließlich erraten Sie die Namen der Felder in es. Und das ist, weil jedes Feld-name(Adresse) ist abgeleitet von der Tresor-Schlüssel(seed)

Typ 2 ist etwas weniger offensichtlich und das Verständnis es erfordert, dass Sie wissen über eine Eigenschaft des ECC-Schlüssel, in etwa so:

A_public_key = A_private_key*Punkt

Was bedeutet, dass Sie tun können:

B_public_key = A_public_key+B_secret*Punkt und eine neue Taste, die einen privaten Schlüssel: B_private_key = A_private_key+B_secret

So ein Typ2 wallet speichert: Master_private_key Eine große Random_seed S.

und die Tasten sind gegeben durch

Privatekey(Typ,n) = Master_private_key + H(n|S|Typ)

die funktioniert genauso wie ein Typ-1, der Vorteil des Typ-2 ist, dass Sie separat sichern Master_private_key, aber immer noch neue Adressen generieren, mit Publickey(Typ,n) = Master_public_key + H(n|S|Typ)*Punkt

Dies bedeutet, dass ein e-commerce-Website könnte haben die front-end-webserver mit Zugriff auf den öffentlichen Schlüssel und S, und jemanden gehackt der server konnte zu verletzen und die Vertraulichkeit der Adressen, die in Verwendung ist (denn er könnte aufzählen alle Vergangenheit und Zukunft-Adressen basierend auf einem selten geändert öffentlichen Schlüssel), konnte aber nicht eigentlich stehlen alle Sie Geld geschickt, um die Adressen, da würde er keinen Zugriff auf die privaten Schlüssel.

Dies könnte auch verwendet werden, um zu ermöglichen, getaddress, um die Arbeit im client, ohne dass eine Taste (Zugriff auf die TXN-Daten in der Brieftasche bedeutet, dass der Zugriff auf die Geldbörse, auch mit private-key-Verschlüsselung, Schrauben Ihre Vertraulichkeit), die vermeiden wollen, dass das problem von backups gefährdet aufgrund-Adresse Erschöpfung vom schlagen getaddress eine Menge zwischen der Eingabe in den Schlüssel.

Typ zwei: Also das ist wie eine bank,Sie haben eine Wölbung, ist enorm. In der Seite dieser bank vault sind lock-Boxen. Seit der Bankier kennt die bitcoins gehen muss in den Tresor(in seinen großen master-Schlüssel-Geldbörse, die ist endlich auch), er weiß jetzt, es gibt nur so viele lock-Boxen im inneren. Aber, weil Sie als die empfangende hot wallet Halter haben nur die Schlüssel zu den einzelnen lock-box("öffentlicher" Schlüssel), die Sie nicht in der Lage sein, um es aus (das nervt Sie stecken es an, zu verrotten und verhaftet zu werden). Das Gewölbe keycode (master-key) wird benötigt, um aus dem Tresor mit Geld und nur der Kopf Bankier weiß, was, dass es code ist. Jedoch, weil Sie wissen, dass die lock-box geht in die bank, die Sie verwenden, lock-box(mal wieder die lock-box ist der server empfängt die Münzen). Ihr Bankier weist du, dass lockbox und verwenden Sie, dass die lock-box für alle Ihre Adressen und Fonds. und setzen Sie alle Ihre Münzen in zu kleine Taschen(jede Adresse, die Sie besitzen, ist eine Innentasche mit diesem lock-box) jedes Ding ist sicher solide und sicher. Diese bank lock-Boxen sind irgendwie magisch, obwohl, wie ich sagte, Sie können zu Fuß in den Tresor zu jeder Zeit, können Sie zu Fuß durch das Gewölbe, die Wände, um die lock-box in das Gewölbe. Aber wenn jemand Stiehlt Ihre lock-box-Schlüssel (woopse, vergaß ich den Schlüssel in meiner Tasche und jetzt ist meine Geldbörse gestohlen wurde!) Sie können Ihre lock-box(Ihre empfangende server private key) und Sortieren können, um in Ihrem lock-box, aber Sie haben nicht den Schlüssel-code, verlassen Sie den Tresor mit lock-box. Obwohl also ein "privater" Schlüssel existiert auf dem remote-hot-wallet (lock-box-Taste, die Sie Links in Ihre Geldbörse) der Bankier geben nicht Ihre Angreifer Eintrag in den Tresor, weil er erkennt nicht den Angreifer als person, die die lock-box gehört. So, es sei denn, der Angreifer bekommt die Banker vault Kennwort ein, die Sie cant get Ihre keycode... ABER daran denken die Banker keycode funktioniert auf dem lock-box. So gut wie niemand anderes. also, wenn die Banker keycode (Hauptschlüssel/master seed) entdeckt wird, ist das Spiel vorbei.

Also im Grunde sind Sie setzen Sie Ihre lock-box in einem valult. Der Tresor und die lock box jeweils nur begrenzten Raum. Aber Sie haben beide unterschiedliche keys. Solange Ihr Banker-master-key ist nicht gestohlen. niemand kann wirklich Ihr Geld (fast wie ein zwei-Schritt-Authentifizierung). Aber rhe Bankier weiß immer den Schlüssel zu seinem lock-Boxen auch, wenn Sie vergessen.

Irgendwie inceptionish/matrixy "box in a box", zwei-finger-print-min, zwei Tasten zum starten einer nuke.... Das ein bisschen was. Aber nicht...

Eh, das ist, wie ich es verstehe. Bitte lassen Sie mich wissen, wenn ich bin richtig, falsch, nicht nachvollziehbar oder was nicht. Ich würde eher Bearbeiten einer Antwort, als ein anderes machen

Vielen Dank für Ihre Unterstützung und Freundlichkeit. Vielen Dank im Voraus für die Einhaltung der nicht mich flamen

+197
Triggerhappy247 22.06.2012, 12:39:21

Trezor aus der box, das erste firmware-update mit der Geldbörse nicht sogar und hängt sich auf "Installation...Bitte Warten". Lesen Sie sich durch alle den Abschnitt "Fehlerbehebung" auf Trezor ' s website, aber überhaupt keine Hilfe. Kann mir jemand helfen?

+98
user34921 06.07.2016, 11:17:06

BIP125 RBF (Ersetzen-durch-Gebühr) Transaktionen im bitcoin-core 0.15.0.1 erscheinen, erfordern eine änderung der Adresse mit einem Saldo zu erleichtern, um eine Zukunft RBF-basierte Gebühr erhöhen.

Als ein Beispiel, betrachten Sie die folgende Transaktion:

Input - 1.00000 BTC
Ausgabe - 0.99998 BTC
Gebühr - 0.00001 BTC
Ändern - 0.00001 BTC

Übernehmen Sie die Gebühr ist zu niedrig. Nun, wir wollen die Erhöhung der Gebühr für die Transaktion, also der RBF ersetzt die Vorherige Transaktion mit ein wie:

Input - 1.00000 BTC
Ausgabe - 0.99998 BTC
Gebühr - 0.00002 BTC
Ändern - 0.00000 BTC

Jetzt die Gebühr ist genug, dass die Transaktion bestätigt wird.

Ohne "ändern" in der ersten Transaktion, gibt es keine Quelle für die erhöhte Gebühr. RBF umgesetzt werden könnten, so dass die Ausgabe reduziert, um für eine höhere Gebühr an; ich bin mir nicht sicher, warum das nicht unterstützt wird. Zeile 2928 der wallet.cpp source-code in der bitcoin-core-github-repository Staaten:

break; // Fertig, in der Lage zu erhöhen Gebühr von ändern

Der Weg, um dieses problem für eine Transaktion, RBF aktiviert, hat aber keine Adresse ändern, ist Folgen Sie den Anweisungen enthalten, die in eine der Antworten, die in den kanonischen "Transaktion nicht bestätigt bekommen" - Frage. Ich erlebte die genaue Problem Letzte Woche und war in der Lage, erfolgreich Wiederherstellung mit der -zapwallettxes option in der bitcoin-core-wallet-CLI.

+90
tonyozr 05.02.2016, 20:52:57

Um Ihre Frage zu beantworten lassen Sie mich Ihnen ein Beispiel geben von dem, was manche Leute tun, um zu versuchen und zu nutzen, der Markt arbitrage mit Bitcoin.

Wie Sie wissen, Bitstamp und BTC-E sind zwei der größten Börsen, den Handel Bitcoin. Wenn Sie einen Blick auf die BTC-Preis auf BTC-E können Sie sehen, es ist immer niedriger als bei Bitstamp.

Wenn Sie nach Russland fahren (oder kennen jemanden in Russland, der trades bitcoins lokal), dann gehen Sie durch die BTC-E Preis gibt. Also, wenn Sie einen Mann in Russland, die Sie verkaufen können Münzen bei BTC-E Preis, wenn Sie in den USA befindet, können Sie verkaufen Ihre Münzen hier bei Bitstamp Preis. Gleiches gilt für Huobi (das ist in china).

Um arbitrage zu arbeiten, müssen Sie wissen, die Menschen in verschiedenen Ländern, die verkaufen kann bitcoins lokal für Sie an, der Marktpreis.

Also gehen Sie raus und stellen Sie diese verbindungen, ob es in der trollboxes, Foren (bitcointalk) oder andere Mittel.

Hoffe, dass ich geholfen habe.

+89
Eric Jimenez 31.10.2017, 00:25:55

Das sieht aus wie das gute alte Pech.

P2pool ist ein kleiner pool und 3 Wochen ist eine kurze Zeit. Mit aktuellen hashpower an den pools dies ist, wie die Messung BTCGuild für weniger als 12 Stunden. BTCGuild kann Pech haben, für 12 Stunden, und P2pool kann Pech haben, für 3 Wochen.

Das heißt, alle pools im bemessungszeitraum durchschnittlich im Vergleich zu einer einfachen voraussichtlichen Einnahmen. Das ist, weil der verwaiste Blöcke, in der Regel 1 bis 2 Prozent. Und wenn Sie damit rechnen, veraltete/abgelehnt Aktien in die hashrate, dann wird es die Performance noch mehr. Aber wenn Einnahmen aus Transaktionsgebühren ist nicht im erwarteten Durchschnitt, dann kann auch die Waisen und veraltete arbeiten.

+44
Vin Feraro 11.08.2016, 09:08:39

Mining ist in der Regel über die Einnahme der doppelten sha. die meisten, wenn nicht alle Bergbau-Maschinen, wie bitminer die Maschinen in der Regel einige Hinweise geben zum Beispiel 1TH/s pro Sekunde. Tun, Sie zählen die Doppel-sha als eine hash-operation, oder bedeutet es, dass Sie zählen die Doppel-sha als zwei Operationen.

Warten, noch interessanter ist, 1 TH/Sek bedeutet wörtlich 1 terahash pro Sekunde. Was bedeutet, dass wir tun können 1 Billionen Operationen pro Sekunde ! Bedeutet das nicht, dass ich konnte Auspuff einer bestimmten nonce in weniger als einer Sekunde ?! da wir es mit nur ~4 Milliarden Werte ? Unter der Annahme, dass innerhalb der ~4 Milliarden Werten gibt es eine, die überprüft den block, wir finden eine Lösung in weniger als einer Sekunde ! Also es ist nicht Sinn für mich, dass es so lange dauert und so schwierig ist, eine erfolgreiche solo-miner.

+21
user10153 17.05.2017, 00:51:39

Fragen mit Tag anzeigen