Kann jemand sättigen das Netzwerk?

Angenommen ich habe 2 Mappen und 1 bitcoin und ich ein Programm schreiben, das den Transfer von 1 satoshi von einer Brieftasche in die andere.

Nun angenommen ich habe 100 bitcoins. Wäre das nicht sättigen das Netzwerk?

+993
vilas 25.07.2012, 22:14:20
27 Antworten

Bitcoin-Adressen tragen eine Prüfsumme, um einigermassen sicher, dass eine Adresse nicht vertippt haben, wenn das Geld an Sie gesendet.

Es gibt 4 Byte der Prüfsumme Daten in eine Adresse. 4 Byte = 32 bit. Die Prüfsumme kann auch angenommen werden, haben die gleiche Verteilung. Dies bedeutet, dass es eine 1 in 2^32 die chance, dass ein Tippfehler-Adresse gültig ist, so dass 1 in 4'294'967'296.

Es ist sehr unwahrscheinlich, dass die falsch eingegeben Adresse korrekt ist und keine "Brieftasche" Geld senden, weil es ungültig. Wenn Sie nicht der 1 Fall in 4'294'967'296, wo eine falsch Adresse tatsächlich gültig sind, bist du betrogen.

Erfahren Sie, ob die Adresse, die Sie angeblich geschickt das Geld gültig ist, indem Sie in die blockchain.info's Suchfeld. Geben Sie die Adresse mit dem Typ in das Suchfeld auf https://blockchain.info (nicht in der Spitze, aber das in der Mitte/unten (je nach Bildschirm-Größe) rechts).

1PKjFveyaLz5vzKHjfYBjjLiTEQLXfqL6p ist eine korrekte Adresse und blockchain.info zeigt uns, dass es nie erhalten eine Transaktion. Wenn wir die swap - p am Ende für ein q, sind wir nur gezeigt, dass eine Fehlermeldung:

Unbekannte Suchmuster

Dies ist, weil die Adresse mit der typo ist ungültig.

+968
shannon 03 февр. '09 в 4:24

Die Höhe der bitcion im Umlauf nicht zu erhöhen oder zu verringern, basierend auf der menschlichen Bevölkerung. Also, ja, es wird wahrscheinlich verteilt mehr spärlich unter den Menschen, wenn die Weltbevölkerung zunimmt.

Aber bitcoin ist nur teilbar auf 8 Dezimalstellen, und Ihre Beispiel 10 verwendet. Es ist auch schwer zu sagen, welche Rolle der Bitcoin spielen wird, so weit wie Globale Währungen gehen, so ist es unklug, anzunehmen, dass eine Menge, die kleiner als 0.00000001 entspricht einem modernen Tag Jahresgehalt (oder ob Bitcoin wird verwendet für Gehälter überhaupt). Spekulationen wie, dass ist off-topic in diesem forum, das ist, warum Sie bekommen haben, einige in der Nähe Stimmen.

+903
Vlad V 21.11.2014, 17:05:11

Es ist offensichtlich, dass angesichts der malleability-Problem sollten Sie nicht verwenden die Transaktion hash zu verfolgen, eine Transaktion. Wenn Sie Ihre wallet-software muss für das Tracking eines bestimmten Transaktion sollte geprüft werden, ob seine Eingaben gegen die block-Kette und Strecke Sie auf dieser Grundlage.

Die Idee ist, immer verlassen Sie sich auf die block-Kette und überprüfen Sie die ein - /Ausgänge für sich selbst. Verlassen Sie sich nicht auf die Transaktion hash zur Identifizierung.


Edit: Ein Weg, um eine Lösung implementieren, ist zu verfolgen, auf die verwiesen wird ausgegeben, anstatt die Transaktion hash. Wenn man zwei unbestätigte Transaktionen, die unterschiedliche hashes verwenden aber die gleiche Ausgabe verwiesen, die Sie wissen, dass etwas faul ist Los. Daher ein guter Weg, um mit der Erfassung zu beginnen, die Dinge würden sicherstellen, dass die referenzierten outputs (innerhalb einer Eingabe einer Transaktion) werden nicht mehr als einmal verwendet werden.

+895
jonny 16.01.2017, 15:59:43

Ich kaufte Bitcoin Münze aus.mx und ich verstehe, dass die Regierung diese Herunterfahren,was passiert, um den Geldbeutel und die bitcoins

+881
Rovic Alcantara Villanueva 12.03.2010, 05:37:29

Bitcoin-qt nicht laufen bitcoind als daemon. Überprüfen Sie die Laufenden Prozesse nach dem Start von bitcoin-qt, das Sie nicht sehen bitcoind ins Leben gerufen.

Beide nutzen die gleichen "Bitcoin Core" - source-code natürlich, aber bitcoind und bitcoin-qt sind getrennte Programme, und man braucht nicht den anderen zu funktionieren. Sie können denken, bitcoind als GUI-weniger die Umsetzung der "Bitcoin Core" und bitcoin-qt als GUI-Umsetzung von "Bitcoin Core".

+846
amandaJEY 06.09.2013, 12:30:10

Port 9735 ist der lightning-port. Was BTCPay will, ist die API. C-Blitz unterstützt nicht TCP nativ, aber man kann schockiert wie ich im Andockfenster entrypoint zu überbrücken unix-TCP.

+835
MCM 07.10.2014, 10:34:06

Standard-teilen, Schwierigkeitsstufe 1 (big-endian Ziel für Schwierigkeit 1 ist 0x00000000ffff0000000000000000000000000000000000000000000000000000)

Wie berechnen Sie diese?
Wie es aussieht, wie auf Java-code?
Welchen Algorithmus der berechnet sich dieser Wert?

+835
Debashish M 13.12.2018, 16:01:09

Wie funktioniert Bitcoin reagieren auf die Einführung von GDPR?

  1. Bitcoin ist nicht eine person oder juristische Person, unterliegt dem Recht. Nur Personen oder Unternehmen, die mit bitcoin zu erfüllen haben, GDPR.

  2. So weit ich weiß, Speicherung von persönlichen Informationen ist nicht Bestandteil der Spezifikationen für die Protokolle und algorithmen, aus denen Bitcoin.

  3. Für bestimmte Teile der software erlauben könnte, Sie zum speichern von persönlichen Informationen. Zum Beispiel, die wallet-software kann Ihnen ermöglichen, zu halten, eine Liste von Personen, Adressen Ihrer bitcoin-Brieftaschen und Ihre text-Notizen über Sie. Die Nutzer sind selbst verantwortlich für die Einhaltung der GDPR. Die software-Autoren sind nur verantwortlich für die Einhaltung (z.B. einen löschen-Funktion oder etwas anderes GDPR compliance-Anforderungen). Die prime reposbility ist mit dem Benutzer, wenn die software, die Sie verwenden können nicht in einer Weise genutzt werden, dass entspricht GDPR, die Sie finden müssen anderen software.

+832
Jhean Neri 05.06.2010, 21:12:47

Wahrscheinlich die Gebühr war sehr gering, und es ist daher nicht ausgewählt wird, die von den Bergleuten für einen block. Bitcoin-Qt 0.8.6 ist von Dezember 2013, und Sie sollten ein Upgrade auf eine neuere version der software. Die neueren Versionen haben eine enorm verbesserte Schätzung der Bearbeitungsgebühr.

Sie sollten wahrscheinlich versuchen, doublespend die Transaktion mit einer höheren Gebühr. Finden Sie mehr Informationen und detaillierte Anweisungen Wieso ist meine Transaktion nicht immer bestätigt und was kann ich dagegen tun?.

+765
evliu 19.08.2011, 18:32:52

Eine Reihe von Fragen auf dieser Website Fragen, ob es möglich ist Geld zu verdienen mining von bitcoins und die zu erwartenden Gewinne. Ich würde jedoch gerne wissen, ob es real-life-Geschichten von Menschen, die wohlhabend werden ausschließlich vom Bergbau bitcoins.

Es scheint, wie das mining von bitcoins ist, im besten Fall, ein hobby, das kann nicht jemanden reichen.

+741
Lucuti 08.12.2010, 17:38:38

Unter Rücktritt/Ripple gibt es einen link namens "diese Adresse als vertrauenswürdig einstufen".

(entnommen von hier wird die Adresse selbst wegen guter Vorschlag: Vertrauen Sie nicht, was hier geschrieben wird, gehen Sie dorthin und schauen Sie selbst)

+736
THansen 30.04.2013, 21:53:05

Sie können createrawtransaction zum erstellen einer raw-Transaktion, in der Sie Ihre benutzerdefinierte ein-und Ausgänge. In diesem Fall wählen Sie bei der Eingabe der Adresse von Knoten 2 und der Ausgang/die Ausgänge zu Adressen, die Sie senden von bitcoins an. Verwenden signrawtransaction zu unterzeichnen raw-Transaktion mit Ihrer importierten privaten Schlüssel und sendrawtransaction senden Sie es an das Netzwerk.

+704
Lagond 20.06.2016, 05:18:12

Es scheint, dass eine Idee, die zum speichern aller Informationen in einer blockchain führen würde, um seine Blähungen.

Es gibt über 250 domains im web, namecoin ermöglicht das speichern von 1 kB an Daten pro Datensatz, es führt zu 250 GB an Daten zu speichern, die in der blockchain, aber namecoin ist weit allgemeiner Schlüssel/Wert-Speicher als die DNS, also die wirkliche Größe der blockchain wird voraussichtlich größer sein.

Bin ich im Recht? Was ist die Strategie zur Vermeidung von oder zum Umgang mit dieser Blähungen?

+681
duDE 04.08.2014, 13:10:04

Ich sehe die Referenz code in BitcoinJS website zu 'einer Transaktion Erstellen':

var tx = new bitcoin.TransactionBuilder()

// Hinzufügen des Eingangs (wer bezahlt):
// [vorige Transaktion hash-index der Ausgabe verwenden]
var txId = 'aa94ab02c182214f090e99a0d57021caffd0f195a81c24602b1028b130b63e31'
tx.addInput(txId, 0)

Meine Frage ist, wie es die Daten über tx(wie seine Eingänge/Ausgänge)? Nicht verlinkt, um einige Knoten oder API wie blockchain.info?

+663
NarutoFan1234512 05.09.2019, 15:17:42

Ich bin neugierig, wie man könnte replizieren der Funktionalität der http://whatbitcointhinks.com/ mit bitcoin-Skript. Die Funktionalität ist, dass es eine Art von crowdfunding-Wettbewerb zwischen zwei Wohltätigkeitsorganisationen. Es gibt eine zeitliche Begrenzung auf die Konkurrenz, so dass am Ende, die Nächstenliebe, die erzogen hat, die meisten Kapital gewinnt alle Mittel.

Hier ist ein screenshot von dem Konzept:

whatbitcointhinks.com screen shot

Die Frage, wie diese umgesetzt werden könnten, als ein smart Vertrag kam bis auf r/bitcoin, und ich schlug vor, ein Schema, das würden drei p2sh-Adressen. Aber eine Antwort fragt nach, ob der Verlierer könnte, um die Einschränkung zu umgehen, indem Sie behaupten, die Finanzierung, bevor der Gewinner:

Vielleicht ist die Seite A ist eine p2sh-Adresse, der B-Seite ist ein weiterer p2sh-Adresse, und beide Skripts angeben, wie die Ausgänge eines Dritten p2sh Adresse, die eine Art 1-von-2-multi-sig-Adresse, wo jede Nächstenliebe hält einer der beiden privkeys. Sein nicht multi-sig genau, weil die zusätzlichen Einschränkungen sind nLockTime, und für wohltätige Zwecke Ein, zu behaupten, die Mittel, die Eingänge an der Seite Ein p2sh müssen größer sein als die Eingänge auf der B-Seite p2sh.

Nehmen wir einmal an, die Konkretheit, die Eine bekommt 10 1BTC Spenden und B 9. Was hält B die übertragung einer Transaktion über alle 9 B Spenden, und 8 der 10 Spenden?


Gibt es eine Möglichkeit dies umzusetzen, da eine crowdfunding-wie der Vertrag in Bitcoins Skript?

+647
Baillebaille 16.01.2014, 09:20:45

Ich habe aus dieser Transaktion ein paar Tagen mit einem normalen Preis, aber es ist immer noch stecken. https://blockchain.info/tx/461df29d7a923491e24688a79d902fb027929d1b3b57fa6e272015a9250394bc

Irgendwelche Vorschläge, wie lange dies dauern wird? Ist das bitcoin-Netzwerk fällt auseinander? Für wie lange wird mein Geldbeutel broadcast-it? Wird es irgendwann vergessen werden?

Dank

+633
Biplob45 23.02.2013, 20:24:49

Ja. Verwenden Sie "Ablauf": "3600" , und es wird funktionieren.

+608
Spencer Diver 17.04.2010, 10:33:41

Bitcoin-cash, ist zentral, und es ist schwierig, eine vollständige Knoten, und es muss nicht eine große Entwickler-strenth.

Bitcoin (das original) haben viele Entwickler die Entwicklung neuer tecnologies wie die lighning Technologie. Und es ist voll descentralized. Aber der mempool ist überfüllt, jetzt wich macht die Gebühren Recht hoch.

Ich denke, in der kurzfristigen Bcash (Bitcoin Bargeld, nickname) werden besser nutzbar, mit geringeren Gebühren, aber auf lange Sicht keine Konkurrenz für den Bitcoin.

+606
Mark Fisher 19.06.2012, 02:07:55

Ich brauche, um die Schwierigkeit, Daten-und Wechselkurs für die letzten 10 Tage für einen Graphen aus es (D. H., für alle Münzen). Kann jemand empfehlen, wo kann ich es bekommen?

+500
afzaal ahmad 22.09.2015, 05:27:10

Ich habe gelesen, auf Was sich der Staub limit auf Bitcoin-Cash-Transaktionen? das kleine Transaktion mit weniger als 546 Satoshi abgelehnt bekommen von den Bergleuten, aber ich bin verwirrt.

Ist das begrenzt angewendet, um die Summe der ein-oder Ausgänge (ohne miner-Gebühr)?

Ich bin versucht zu implementieren bitcoin-testnet wallet auf JavaScript,

async-Funktion signTransaction(fromECPair, zu, amountToSend) {
 const Adresse = getP2pkhAddress(fromECPair);
 const Saldo = warten auf getBalance(Adresse);
 const utxo = erwarten getUtxo(Adresse);

 const tx = neue Bitcoin.TransactionBuilder(BitcoinNetwork);
 for (let i = 0; i < utxo.length; i++) {
 tx.addInput(utxo[i].txid, utxo[i].vout);
}

 lassen Sie transactionFee = (148*utxo.Länge + 34*2 + 10) * price_per_byte; 
 lassen Sie amountToKeep = balance - amountToSend - transactionFee;
 tx.addOutput(an, amountToSend);
 tx.addOutput(Adresse, amountToKeep);

 for (let i = 0; i < utxo.length; i++) {
 tx.sign(i, fromECPair);
}
}

Ich habe gerade erst die Transaktion mit einem Ausgang weniger als 546 satoshi also ist es definitiv möglich, auf solche Ausgabe zumindest auf dem testnet https://chain.so/tx/BTCTEST/021c782fbb75dab2ca843d83a3709e0e846f0d3e99c14a5826f7e18cccfeab25 Also Angreifer kann spam an meine Adresse mit vielen kleinen Ausgänge und diese naive wallet Umsetzung wird nicht funktionieren (es wäre kostspieliger, melden Sie diese UTXOs als Wert, den Sie haben). Was wäre der richtige Weg, das zu verhindern?

+447
Mark Newsom 28.04.2016, 13:39:31

Ich kann nicht einfach und schnell zu ermitteln, die aus diesen wiki-Seiten 1 und 2, wenn der öffentliche Schlüssel enthalten ist in der signierten Nachricht.

Werden die öffentlichen Schlüssel in der signierten Nachricht, oder werden Sie übertragen neben den Unterschriften, die sich außerhalb der signierten Nachricht?

+394
moreON 18.12.2012, 13:16:10

Da keiner der Antworten, die gegeben wurden, waren voll und prall genug, um richtig meine Frage beantworten, ich werde Entsendung meine eigene Antwort, die schlägt alles, was gesagt wurde:

Der beste Weg, um eine Transaktion in einer Weise, die sich resistent gegenüber transaction malleability, ist, um tatsächlich verfolgen nur die Daten, die signiert wurde. So zu tun, ich schlage vor, mit einem Doppel-SHA256 der signierten Daten. Die Dokumentation der OP_CHECKSIG script operation (und es ist sehr nützlich, Diagramm, form Hinweise auf die Verfahren, die befolgt werden sollten.

Ein transaction-malleability-Invarianten "Tracking-Hash" kann man von einem pay-to-pubkey-hash der Transaktion durch:

  1. Überprüfen Sie die technische Gültigkeit der Transaktion, so erfolgt die Referenz-bitcoin-client. Dies beinhaltet die überprüfung der Signaturen der Transaktion. Dies ist ein entscheidender Schritt, wenn Sie das nicht tun, wird der tracking-hash ist nutzlos.
  2. Doppel-SHA-256-hashing alle der folgenden Dinge:
    1. die Versionsnummer
    2. die Anzahl der Eingänge
    3. für jeden Eingang :
      1. die Transaktions-ID der Ausgang zu verbringen
      2. der index des output-zu verbringen
      3. die Sequenz-Nummer
      4. (Hinweis: Wir absichtlich nicht-hash der Eingabe-Skript oder die Länge der Eingabe-Skript)
    4. die Anzahl der Ausgänge
    5. für jeden Ausgang:
      1. die Höhe
      2. die Länge der Ausgabe-script
      3. die gesamte Ausgabe an script
    6. die lockTime

Dies zu tun, sollten Sie eine nette tracking-hash, wird das der gleiche für alle vergleichbare Transaktionen, egal wie es geändert werden kann, durch die Nutzung der transaction malleability.

Beachten Sie, dass diese tracking-hash ist nicht Teil des bitcoin-Protokolls, so werden Sie nicht finden es in der blockchain, und Sie werden nicht in der Lage zu suchen, es mit blockchain.info.

+379
OUR 04.08.2015, 17:58:41

Bitcoin Core tatsächlich schafft eine minimale änderung von 0.01 BTC (wenn es über ausreichende Mittel verfügt), wenn es Sie nicht direkt übereinstimmen.

In dem seltenen Fall, dass nicht genügend Mittel, um zu produzieren ein non-Staub change output, es wird nicht das seltsame Zeug Stephen erwähnt.

+150
OfftheCode 13.12.2013, 10:33:33

Die Signatur ist mathematisch generierte mit dem privaten Schlüssel und die Nachricht, aber nicht die Nachricht selbst (es verwendet den hash-Wert der Nachricht während des signieren, wird die Nachricht nicht wiederhergestellt werden aus der Signatur). Es ist nur ein Wert (genauer gesagt, es ist 2 zahlen, als r und s), die überprüft werden können, gegen den öffentlichen Schlüssel und die Nachricht zu sehen, wenn Sie eine gültige Signatur. In diesem Fall wird die Anzeige der Transaktionsdaten, die auch schützt der Transaktion geändert werden, denn wenn es geändert wurde, die Unterschrift wäre ungültig. Wenn Sie interessiert sind, können Sie Lesen über die Elliptic Curve Digital Signature Algorithm (ECDSA) hier.

In der Tat wäre es möglich, verwenden Sie nur den öffentlichen Schlüssel, ohne den Hash-Schritten, dies ist bekannt als Zahlen, um Öffentliche Schlüssel, P2PK und ist auch eine akzeptable Art der Ausgabe. Bitte beachten Sie jedoch, dass eine bitcoin-Adresse ist nicht der öffentliche Schlüssel selbst. Für diese Art der Ausgabe würde der sender wissen, den öffentlichen Schlüssel, um es in die Ausgabe. Es ist nicht möglich, erhalten Sie den öffentlichen Schlüssel von einer bitcoin-Adresse, weil die Adresse ist ein hash des public-key, um es kürzer zu machen und einfacher für die gemeinsame Nutzung, und ist somit eine non-injective trapdoor-Funktion.

+148
shah7671 20.01.2018, 10:01:29

Herrenlosen Öffnen Vermögen-Einheiten sind in der Tat zerstört, was (je nach Anwendungsfall) könnte ein problem für Sie. Andere Protokolle wie CoinSpark (unser), der Gegenpartei und Omni-Schicht nicht in dieser zufälligen Untergangs problem, weil das Vermögen immer irgendwo standardmäßig, wenn Sie nicht ausdrücklich Bezug.

In CoinSpark diese Standard-Platz ist die Letzte nicht-OP_RETURN Transaktion ausgegeben. In Gegenpartei-und Omni, die Standard-Platz ist die Adressen, wo Sie ursprünglich gehalten werden können (Sie können dies tun, weil in Ihrem Modell Vermögenswerte setzen sich an eine Adresse, anstatt in einer Transaktion-Ausgabe).

+104
jeremy sylvester 27.12.2010, 20:59:07

Finden Sie in der Datei chainparams.cpp im Konstruktor für die Klasse CMainParams:

pchMessageStart[0] = 0xf9;
pchMessageStart[1] = 0xbe;
pchMessageStart[2] = 0xb4;
pchMessageStart[3] = 0xd9;
+50
NULLZ 06.10.2016, 16:18:02

Die Transaktion 0ee906dd3a240d3776d609853a7e855ed813b8a1e51328405145a8cffecbb804 wurde unbestätigten für sechs Stunden. Ich habe keine Ahnung, was das problem ist, es sagt nur "unbestätigte Transaktion!!!". Gibt es irgendetwas, was ich tun kann? Meine bitcoin-Kern wurde kürzlich aktualisiert, so dass ich nicht denke, dass es eine Transaktionsgebühr problem.

+16
AwokeKnowing 26.11.2019, 08:03:28

Fragen mit Tag anzeigen