Das Komplement von s (wenn s < Kurve um / 2)

Bitcoinlib bezieht sich auf die Forderung, dass, wenn s > UM / 2, dann ist das Komplement von s sollte stattdessen verwendet werden, da es ein byte kürzer

Das klingt wie bezieht es sich auf die inverse oder negative s Wert, aber ich weiß auch ergänzen können, ein informatik-Begriff.

Den entsprechenden code finden Sie hier (vielleicht ist jemand geschickter mit dem Bitcoin-Core-code Glockenspiel auf, was der code macht), also, was ist das Komplement von s beziehen?

+673
Wayou 22.07.2016, 02:54:37
19 Antworten

Lassen Sie uns zuerst teilen Sie die Phasen der Transaktion in 2 große Kategorien für ein besseres Verständnis.

Bühne 1: Initiierung der Transaktion (Mempool)

In dieser Phase, ALICE (sender) Sendungen eine Transaktion, die Sie gemacht, um BOB (Empfänger). Diese Transaktions-detail ist geschickt in den Mempool zusammen mit dem angegebenen Vorschub, dass ALICE (oder einige vermittelnde Plattform) bereit ist zu zahlen, um zu bekommen, dass die Transaktion abgebaut.

Phase 2: Abbau der Transaktion (Blockchain)

In dieser Phase, Ihre Transaktion wird angehängt in dem block, wurde zuletzt abgebaut. Dieser block wird dann Hinzugefügt, um die längste Kette in die vorhandene blockchain damit bestätigt die Transaktion.

Zu erklären, die Nuancen weiter;

In Ihren Fall, Sie machen eine Transaktion, die auf eine Vermittlungs-Plattform, die Sie mit einer Brieftasche. Nun, das Portemonnaie ist in zwei Teile geteilt, die hot-wallet und die cold wallet. Die hot-wallet wird verwendet, um direkt das schreiben von Daten in die blockchain und die cold wallet ist eine de - /zentrale Finanzbuchhaltung, die diese Mediatoren benutzen, um interne Aufzeichnungen von Transaktionen. Jede interne Transaktion ist daher sofort realisiert.

Für externe Transaktionen, die Komplexität erhöht sich ein bisschen.

Nun, sagen Sie, Sie haben 2BTC und entscheiden, um eine Transaktion zu ALICE im Wert von 1,5 BTC. Sie machen die Transaktion und broadcast in das Netzwerk. Dies wird aktualisieren Sie Ihre balance zu 0,5 BTC und bieten ALICE mit 1,5 BTC. Sie beide sehen können die aktualisierte Transaktions-Datensätze in Ihren Geldbörsen, aber Sie sind begrenzt von der Aberkennung der (re-Ausgaben) die vereinbarten Höhe, bis die Transaktion realisiert wird, damit zur Vermeidung von Doppel-zu verbringen.

Von was ich verstehen kann, diese Webseiten oft als Mempool Transaktionen Bestätigung genug, um zu bestätigen Transaktionen auf Ihrem Niveau.

P. S. ich bin immer noch lernen und das kann nicht die perfekte Antwort auf Ihre Frage.

+899
jdme 03 февр. '09 в 4:24

Dieses video behauptet Getrennt Zeuge ist unsicher, denn niemand hat einen Anreiz, zu verarbeiten (Zeuge) der erweiterte Signatur-block.

https://www.youtube.com/watch?v=VoFb3mcxluY

Er behauptet, dass als die hashing-Leistung steigt über 50%, Sie würden ein Narr (kein Nash-Gleichgewicht) zu verschwenden Rechenleistung auf längere Blöcke mit den Unterschriften, wenn das echte Geld in den Transaktionen mit Gebühren. Das bedeutet, jeder kann füttern, einen block mit jeder Transaktion, die Sie wollen, da niemand prüfen von Signaturen. (Paraphrasiert.)

Von dem was ich verstehe, Getrennt Zeuge Transaktion Adressen beginnen mit einer 3-und multi-Signatur-Adressen. So haben Sie zu unterzeichnen, und jemand (wer?) hat auch Zeichen für die Transaktion zu Durchlaufen. Alle diese Signaturen werden in einer erweiterten block.

  • Ist die erweiterte block wird auch gelegt auf die wichtigsten blockchain?
  • Die Prozesse des erweiterten block mit Signaturen?
  • Was Anreiz haben Sie zu Verfahren der erweiterten Signatur-block?
  • Wirkt sich die erweiterte block-Gebühren?
  • Wer ist der 3rd-party-signer für getrennt Zeugen multi-sig-Adressen?
+827
user282241 01.11.2014, 18:34:02

Wir können betrügen, und verwenden Sie die Abfrage für Mehrere Adressen, wo zu suchen ist in einem bestimmten Bereich der Transaktionen, die Angabe der Parameter von und bis.

https://github.com/bitpay/insight-api#transactions-for-multiple-addresses

https://test-bch-insight.bitpay.com/api/addrs/qptaxxrqcz7qunclcvlcza9an6qlqqhzlya2d4e4fn/txs?from=2

Wenn ich will, Letzte, tx:

https://test-bch-insight.bitpay.com/api/addrs/qptaxxrqcz7qunclcvlcza9an6qlqqhzlya2d4e4fn/txs?to=1

+790
AshLogan 03.12.2010, 19:58:53

Hab ich gemacht-source-Gabeln (altcoins), und ich verstehe, wie diese arbeiten. Aber ich bin ein wenig stecken wie die Gabeln sind aktiviert? Ich muss wissen, wie blockchain snapshots erstellt werden und wie die Brieftaschen wissen zu verteilen und die ersten Gabel-Angebote? Wenn jemand könnte mich zu einem bestimmten commit-und/oder PR-Bitcoin-Cash oder Gold, wo diese Logik ist, wäre ich sehr dankbar.

+776
Apach 30.10.2016, 15:11:51

Ich glaube nicht, dass Sie verstehen, was eine Poisson-Prozesses bedeutet. Es bedeutet NICHT, dass es eine Konstante Zeitintervall zwischen den Ereignissen. Es bedeutet, dass es ist ein zufälliger Prozess, in der die Ereignisse voneinander unabhängig sind. Es ist eine Durchschnittliche Zeit-Intervall, aber dies ist keineswegs konstant und es ist auch NICHT das gleiche wie die "erwartete" Zeit-Intervall. Die bitcoin-Schwierigkeit ist entworfen, um eine Durchschnittliche Intervall zwischen den Blöcken von etwa 10 Minuten. Ich habe eine Tabelle, die zeigt, was dies bedeutet, wenn Sie nehmen Poissonian Statistiken berücksichtigt. Es zeigt den Prozentsatz der Transaktionen wird erwartet, dass innerhalb der angegebenen Anzahl von Minuten. Einige interessante Erkenntnisse sind, dass etwa 1/3 aller Transaktionen werden bestätigt, das in weniger als 4 Minuten. Das Gegenteil von diesem ist, daß in 1-2% aller Fälle dauert es bis zu 40 bis 50 Minuten für die erste Bestätigung auftreten. Die Art und Weise zu rationalisieren, das ist einfach zu verstehen, dass der Prozess ist zufällig-so einige Intervalle werden länger als andere. Und da ist es möglich, für einige Bestätigungen erfolgen sehr bald nach einander, dann ist das offensichtlich einige Bestätigungen werden sehr weit auseinander, um Sie zu "rechtfertigen" das Durchschnittliche Intervall zwischen den Rückmeldungen.

Minuten % Bestätigt
0.5 5%
1 10%
2 18%
3 26%
4 33%
5 39%
6 45%
7 50%
8 55%
9 59%
10 63%
15 78%
20 86%
25 92%
30 95%
40 98%
50 99%
+715
Brian Perry 16.01.2010, 08:01:39

Bei der Erstellung einer bitcoin-Transaktion, die Sie haben zu entscheiden, welche Münzen zu verwenden, in Ihnen. Der standard-client tut dies in einer Weise zu vermeiden, unbestätigten Eingänge und minimieren die Anzahl der Eingänge und der Betrag der änderung beteiligt. Da nicht alle Münzen sind gleich, ich kann auch andere Einstellungen (wie verbringen unbestätigten ersten Münzen, um loszuwerden von Ihnen, oder nicht cross-Eingänge zwischen den verschiedenen Handelspartnern). Gibt es eine Möglichkeit, ich kann haben Sie mehr Kontrolle über den Prozess?

+501
Manish Gill 04.08.2014, 08:56:45

Ich habe herausgefunden, wir brauchen Sie nur zu synchronisieren und laden Sie neue Transaktionen rest können wir hinzufügen, listen=0 zu halten, band-mit minimal-und wie gewohnt weiter, ohne dazu beizutragen.

Transaktionen sind eh ausgestrahlt, die von Knoten und werden im Netzwerk sichtbar.

+475
Erik Xavier Barcelo 12.08.2019, 02:14:41

Hier können Sie überprüfen, Rentabilität aller algorythms und viele Währungen - CoinWarz. Möglichkeiten des Computers, die Sie haben zu prüfen, durch sich selbst, durch die Installation von mining-software und es läuft mit der Brieftasche oder conneting to crypto-Minen.

+385
user3620106 15.01.2012, 18:57:07

Die Erhöhung fungibilty ist ein Ziel, es wurden mehrere Vorschläge der unterschiedlichen Ernsthaftigkeit und Unterstützung. Aber dies ist im Allgemeinen als Ziel für das Projekt.

That being said, BTC/LTC kann einfach nicht immer dieses Ziel erreichen, so gründlich wie Monero hat, ohne ein komplettes redesign, das wird nicht passieren.

+357
ummm 24.04.2018, 11:23:24

Ich vermute, dass Ihre Zahlung Prozessor (coinpayments.net) versucht zu konstruieren, die bitcoin-Transaktionen mit niedrigeren Gebühren, und deshalb de-Priorisierung Bestätigung mal. Vielleicht Ihre API bietet die Möglichkeit für Sie, Prioritäten zu setzen, die Ihre Transaktionen durch die Zahlung extra auf die Gebühr. Ich weiß blockchain.info ermöglicht Ihnen das angeben einer Gebühr, wenn Sie Ihre wallet-API. Ich bin sicher, andere tun das auch.

Alternativ können Sie Ihr eigenes Portemonnaie/Knoten und bauen Ihre Transaktionen sich mit einer höheren Gebühr. Es ist viel mehr Aufwand, aber je nachdem, was Sie versuchen zu erreichen, könnte es Ihre Zeit Wert sein.

In jedem Fall halten Sie im Verstand, dass das bitcoin-Netzwerk im Durchschnitt einen 10-Minuten-block Zeit, aber nicht garantieren. Auf top von, dass, die beste Faustregel ist es, für 6 Blöcke Blöcke von Bestätigung, bevor Sie erwägen, eine Transaktion nicht rückgängig machen. Für die meisten Zahlungssysteme, die Werte, die übertragen werden, so gering, dass es nicht notwendig zu warten, für 6 Blöcke. Es gibt sogar viele Arten von Einkäufen in denen so genannte "null-Bestätigung von Transaktionen" sind durchaus akzeptabel. Dies ist, was Sie benötigen, um zu verwenden, wenn Sie möchten, senden Sie Ihre E-Mail in weniger als 10 Minuten. Sie müssen für sich selbst beurteilen, wie viele Bestätigungen, die Sie benötigen, und welche Höhe des Risikos Sie bereit sind zu akzeptieren.

+353
Amir Samaka 22.11.2019, 19:39:55

Ich habe gefragt, die Lightning-Entwickler auf Lockere und dies war Ihre Antwort:

enter image description here

Bitte beachten Sie, dass die Dinge in der Zukunft ändern könnte.

+316
l3win 08.11.2016, 06:58:03

Zunächst einmal ist es wichtig zu betonen, dass die Welligkeit (im Gegensatz zu Bitcoin) wurde entwickelt von einer Firma, OpenCoin Inc. Es gibt keine Informationen über die einzelnen Entwickler auf ripple.com oder opencoin.com. Die folgenden Informationen können gefunden werden aus dem Whois opencoin.com:

Registrant:
 OpenCoin Inc
 268 Bush St. #2724
 San Francisco, CA 94104
UNS

Das sagte Ripple ist (wird sein) open source und dezentralisiert, die Leute können schreiben, miteinander konkurrierende Kunden und dem Ripple-Netzwerk funktionieren könnte in Zukunft ohne OpenCoin Inc.

+285
Daniel Natic 15.09.2016, 17:21:15

Bezogen auf Wo bekomme ich tick tick historischen BTC Preis Daten? aber ich brauche volume-Daten in Verbindung mit dem Preis für all die Zeit tick-tick

Danke!

+201
lflier 02.11.2017, 06:52:10

Ich sehe in das bitcoin-wiki gibt es etwas namens "Skript", die kompiliert unten einige bytecode ausgeführt werden, indem eine sehr sehr basic virtual machine.

Script ist eine stack-basierte Sprache, die verwendet wird, um die Validierung der input-und output-Skripte in Transaktionen. Skript ist absichtlich so ausgelegt, Mangel Turing-Vollständigkeit (keine Schleifen), so dass es ist deterministisch, in der Natur. (Keine unendlichen Schleifen, etc). Ein Eingang/Ausgang ist als "gültig", wenn das oberste stack-Element wird auf true (oder 0x01).

Bedeutet dies, dass jeder block ist eigentlich nur ein string/array von bytes ist, wenn es in kommt und verarbeitet wird, durch einen Knoten?

Bitcoin-Knoten überprüfen Transaktionen, Bitcoin Miner compute-Blöcken in übereinstimmung mit dem Proof-of-Work-Modell definiert in das Bitcoin-Protokoll. That being said, ja, technisch ist der raw - block-Daten ist ein array von hexadezimalen bytes. Wenn die Bergleute beginnen, Bergbau-block, sind Sie nur die Vermischung der Kopfzeile des Blocks (die ersten 80 bytes) enthält die folgenden Informationen:

nVersion|hashPrevBlock|hashMerkleRoot|Zeit|Bits|Nonce

Sie können sich mit dies zu tun, weil die hashMerkleRoot Wert ist eine Referenz auf den hash, der alle Transaktionen in den block, die Sie Bergbau sind. Diese Transaktionen wurden validiert von Knoten.

In Bitcoin-core können Sie festlegen, Serialisierung, die als zweiter parameter in der getblock Befehl. Standardmäßig wird es schön anzeigen der Daten in einem JSON-wie output, es ist zwar wirklich eine lange hexadezimale Ausgabe.


Beispiel:

getblock 00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09 0

Ausgabe: 010000007de867cc8adc5cc8fb6b898ca4462cf9fd66...

+199
Andrei Vajna II 21.11.2011, 21:56:34

Was verändert werden kann, signiert bitcoin-Transaktion? Ich meine, wie ist es möglich, zu ändern, Transaktion zum ändern des hash-Wert, aber behalten Sie die Transaktion gültig ist, ohne das Bedürfnis zu haben, Unterschreiben Sie den privaten Schlüssel?

+157
cstover 22.01.2019, 21:43:59
Beschäftigt sich mit Fragen über die Entscheidungen, wie das Netzwerk laufen, wer ist in der Steuerung, und wie sich der Entwicklungsprozess unterliegt.
+132
Josh DeLong 08.08.2014, 06:48:02

0) Lesen Sie , Wie das einlösen eines basic-Tx?

1) nehmen Sie Ihre Transaktion als array von bytes

2) setzen Sie alle input-Scripte zum leeren Scripte

3) ersetzen einer input script zum original "OP_DUP OP_HASH160..."

4) append "hash-code-Typ" SIGHASH_ALL

5) nehmen sha256 ( sha256 ( Daten -) )

das ist alles

Haben Sie einen Blick auf meinen code

const MyKey32 Transaktion::getRawHash ( const int n, const QByteArray& scr ) const
{
 MyByteArray ret; // leeres array erstellen
 Stream stream ( s );
 ret.putInt32 ( stream.readU32 ( ) ); // version
 ret.putVarInt ( stream.readVar ( ) ); // Eingabe zählen
 for ( int i ( 0 ); i < Eingaben; i++ ) // kopiere alle Eingänge
{
 ret.append ( stream.readHash ( ) );
 ret.putInt32 ( stream.readU32 ( ) );
 stream.skipVarData ( ); // überspringen original Skript
 ret.putPrefixed ( i == n ? scr : QByteArray ( ) ); // !!! Skript-Ersatz
 ret.putInt32 ( stream.readU32 ( ) );
}
 ret.putVarInt ( stream.readVar ( ) ); // Ausgabe Anzahl
 for ( int i ( 0 ); i < - Ausgänge; i++ ) // kopiere alle Ausgänge byte-by-byte
{
 ret.putInt64 ( stream.readU64 ( ) );
 ret.putPrefixed ( stream.readVarData ( ) );
}
 ret.putInt32 ( stream.readU32 ( ) ); // lock
 ret.putInt32 ( SIGHASH_ALL ); // !!! append hashcode
 zurück MyKey32 ( ret.constData ( ), ret.size ( ) ); // erstellen hash256 array
}
+117
aorcsik 26.03.2018, 14:28:16

Es gibt nicht eine einzige "spot-Preis" für bitcoin. Es gibt nur die bid-und ask-Preise an den verschiedenen Börsen, bei verschiedenen Währungen.

Haben Sie zum Faktor darin, wie viel BTC, die Sie kaufen möchten, und betrachten Sie das Buch bestellen, um zu sehen, welchen Preis Sie bezahlen, um zu kaufen oder zu verkaufen.

Es ist ein tool, um alle Märkte, die für eine bestimmte Währung finden Sie http://bitdango.com/currencies um alle Währungen. Dann wählen Sie eine bestimmte (USD, EUR, PLN, etc) Sie daran interessiert sind. Zum Beispiel, hier ist die USD-URL: http://bitdango.com/markets?quoteCurrencies=USD - das gibt Ihnen alle bid/ask-Preise für Bitcoin-Märkte, die Unterstützung USD.

+85
NELSON 29.01.2019, 20:00:23

Ich bin versucht, createrawtransaction manuell zu erstellen, meine Geschäfte, und ich möchte (natürlich) Reduzierung meiner Gebühren. Die Komplikation, die ich habe ist, dass ich senden möchten, ALLE der bitcoins in meinem wallet auf 2 Seiten. So weiß ich, dass ich festlegen können, dass die ein-und Ausgänge, aber es gibt diese lästigen Gebühr Konzept, die es schwierig macht einfach alles ausgeben.

Also wenn ich 5 Eingänge und 2 Ausgänge, wie würde ich mich über Berechnung genau das, was die Gebühr sein wird und es zu reduzieren?

+10
adzsafe 08.01.2015, 09:24:53

Fragen mit Tag anzeigen