Zufällige Wahl proof of stake

Es gibt derzeit viele cryptocurrencies basierend auf PoS (Proof of Stake). Alle diese PoS-algorithmen unterscheiden sich von einander. Einige oder vielleicht alle von Ihnen (ich weiß nicht) implementieren eine Art von zufälligen Wahl von Knoten, die an der "Buchhaltung-Prozess"/"block-Schmieden-Prozess" über einige Höhe des Anteils.

Wie kann eine zufällige Wahl der Arbeit in einem trustless dezentralisierten Umgebung?

+319
JakeRobb 22.06.2019, 20:33:20
27 Antworten

Blockchain.info hat ein paar Seiten über Waisen, aber der chart-Seite nicht einverstanden mit der Liste Seite.

Meine zugegebenermaßen kurzen Suche für eine Seite, die zeigt, dass die Waisen nicht wieder bis alles, was nützlich war, so bin ich der Hoffnung, jemand hat eine. Es scheint eine wertvolle Ressource für jeden, der in einem Handel, wo die eine Seite behauptet, dass die Zahlung bestätigt wurde und der andere nicht einverstanden ist.

+975
lotfimilan 03 февр. '09 в 4:24

Der Grund, p und q nicht gleich sind, ist, weil der Angreifer ist in der Tat ausgespielt gegen die geballte Kraft der gesamten Netzwerk gegen sein Kampf gegen eine miner.

Wenn es nur einen miner um mit zu konkurrieren, dann beide, der Angreifer und Bergmann hätten gleiche Chancen, den nächsten block und p ist ja auch gleich um q in diesem Fall (unter der Annahme identischer hardware und hashing-power). Aber wenn es n Bergleute, jeder von Ihnen unabhängig zu arbeiten, dann sind die Chancen, dass einer von Ihnen findet die nächste block drastisch erhöhen. Die rate Faktor wird $n \lambda$ , anstatt nur $\lambda$. Sehen https://en.wikipedia.org/wiki/Exponential_distribution#Distribution_of_the_minimum_of_exponential_random_variables und jetzt p/q=n.

Ein weiterer Weg, um obiges Ergebnis ist zu erkennen, dass der Bergbau einen block ist wie eine Lotterie zu gewinnen, wo jeder hat die gleichen Chancen (wieder unter der Annahme identischer Rechenleistung). Also, wenn es gibt n Miner plus 1 Angreifer, dann ist p/q=n

Bitcoin ist genial.

+942
KembangBit 21.06.2017, 07:39:24

An der Unterseite des verknüpften google docs spreadsheet, sind Anweisungen für das herunterladen von Daten von Mt Gehex und vielen anderen Börsen. Nämlich:

Diese raw-Daten nur verwaltet täglich die Preise. Dies ist wahrscheinlich der Schlusskurs für den Tag, aber ich kann nicht sicher sein.

Ich bin mir nicht sicher wie bitcoin charts tatsächlich sammelt diese Informationen von den anderen Anbietern. Ich hoffe, dass andere

+917
Art Brown 04.04.2019, 09:15:10

Die Struktur des DER-codiert-ECDSA Signatur ist wie folgt:

enter image description here

30 kennzeichnet eine SEQUENZ in ASN1-Kodierung, gefolgt von der Länge von z (die Sequenz). r und skann entweder 32 oder 33 bytes lang ist, je nachdem, wie groß der-kodierte Werte. r und s sind immer geführt von 02, welche einen integer-Wert in ASN1. Schließlich der Abgang (ht) byte repräsentiert die hashtype

Um zu analysieren, eine Signatur zu extrahieren beide Werte sollten Sie prüfen, Ihre Länge, die ist immer 1 byte lang, und extrahieren Sie den Wert in Abhängigkeit von dem Ergebnis. Hier ist der code dazu:

def parse_element(hex_str, offset, element_size):
"""
 :param hex_str: string zum Parsen der element aus.
 :Typ hex_str: hex-str
 :param offset: anfängliche position des Objekts innerhalb der hex_str.
 :- Typ offset: int
 :param element_size: Größe des Elements zu extrahieren.
 :Typ element_size: int
 :zurück: Die extrahierten element aus dem string, und die aktualisierte offset nach Extraktion.
 :rtype Tupel(str, int)
"""

 zurück hex_str[offset:offset+element_size], offset+element_size


def dissect_signature(hex_sig):
"""
 Extrahiert den r -, s-und ht-Komponenten von einem Bitcoin-ECDSA-Signatur.
 :param hex_sig: Unterschrift im hex-format.
 :Typ hex_sig: hex-str
 :Rückkehr: r, s, t als Tupel.
 :rtype: tuple(str, str, str)
"""

 offset = 0
 # Überprüfen Sie die sig enthält mindestens die Größe und Sequenz-marker
 assert len(hex_sig) > 4, "Falsche Signatur format."
 Sequenz, offset = parse_element(hex_sig, offset, 2)
 # Check sequence marker korrekt ist
 assert-Sequenz == '30', "Falsche Reihenfolge-marker."
 signature_length, offset = parse_element(hex_sig, offset, 2)
 # Überprüfen Sie die Länge des verbleibenden Teils entspricht die Länge der Signatur + die Länge der hashflag (1 byte)
 assert len(hex_sig[offset:])/2 == int(signature_length, 16) + 1, "Falsche Länge."
 # Get r
 marker-offset = parse_element(hex_sig, offset, 2)
 behaupten marker == '02', "Falsch r marker."
 len_r, offset = parse_element(hex_sig, offset, 2)
 len_r_int = int(len_r, 16) * 2 # Jedes byte 2 Zeichen
 r, offset = parse_element(hex_sig, offset, len_r_int)
 # S bekommen
 marker-offset = parse_element(hex_sig, offset, 2)
 behaupten marker == '02', "Falsche s-Markierung."
 len_s, offset = parse_element(hex_sig, offset, 2)
 len_s_int = int(len_s, 16) * 2 # Jedes byte 2 Zeichen
 s, offset = parse_element(hex_sig, offset, len_s_int)
 # Get ht
 ht, offset = parse_element(hex_sig, offset, 2)
 behaupten offset == len(hex_sig), "Falsche Analyse."

 return r, s, ht


example_sig = None # insert_sig_here
r, s, ht = dissect_signature(example_sig)
print "r: %s\ns: %s\nht: %s\n" % (r, s, ht)
+875
MGP 31.01.2013, 10:17:46

Die Zahl der Bitcoin-Netzwerk Bestätigungen erforderlich, für eine bestimmte Transaktion als abgeschlossen betrachtet werden, wird bestimmt durch die BitPay-account-Inhaber auf eine Transaktion-von-Transaktions-basis.

Entitäten-set, das Risiko/Geschwindigkeit der Transaktion auf "Niedrig" (6 Bestätigungen), "Mittlere" (3 Bestätigungen) oder "high" (1 Bestätigung) über die API, wenn eine Rechnung erstellt wird. Die Einheit Standard-Risiko - /Drehzahl-Einstellung für neue Transaktionen können auch geändert werden, in der Großhändler-Einstellungen nach der Anmeldung.

Für Klarheit, durch die Art und Weise, in der das Bitcoin-Netzwerk sichert Transaktionen, "speed" korreliert direkt mit der "Gefahr", dass das Unternehmen unter einer (relativ) hohen Risiko von warten nur auf eine einzige Bestätigung vor Veröffentlichung des Produkts oder der Dienstleistung. Die Entität kann verringern Ihr Risiko, dass die Zahlung ungültig durch das warten auf weitere Bestätigungen, dass der rest des Netzwerks, akzeptiert die Transaktion. Dies ist eine Wahl, die das bitcoin-Akzeptor machen muss, Wiegen das Risiko des Verlustes der Zahlung vs Beibehaltung der Käufer zufrieden sind (indem Sie ihm/Ihr das Produkt schneller).

+874
Unendurable 13.09.2010, 20:40:46

Persönlich, ich würde die Nutzung mehrerer wallets nur für den Fall, einige nutzen liegt in der Zukunft. Für die mehr paranoid/Sicherheit bewusste person würde ich auch das hardware-wallet im mini-faraday-Käfig, bis Sie gebraucht werden. Der Grund hinter dem faraday-Käfig ist, dass die elektromagnetische Strahlung von WLAN - oder sogar hardwired - Geräte können abgeholt werden aus bis zu 65 Meter entfernt; Sie können das Gerät ausschalten zu bekämpfen, die ein mögliches Risiko (anstelle eines mini-faraday-Käfig)... nehmen Sie nicht mein Wort für es... hier ist ein kurzer youtube-clip in Aktion. Ich würde auch nur eine externe hardware-Geldbörse, die nur mit dem internet verbindet über ein Ethernet-Kabel aus den gleichen Gründen wie oben beschrieben. Wenn nicht in Gebrauch ist, trennen Sie es einfach aus dem internet... dies verbessert die Sicherheit der Speicherung privater Schlüssel.

+874
user18572 27.12.2015, 06:52:33

http://bitcoincharts.com/charts/mtgoxUSD hat historische charts.

Diese 3 haben alle die "live" - charts:

+863
viniciusartur 01.01.2018, 16:46:57

Ich habe eine unsigned Transaktion hex. Jetzt möchte ich Unterschreiben diese Transaktion Eingang mit meinem privaten Schlüssel in PHP. Bitwasp Bibliothek sieht nett aus. Aber ich kann nicht herausfinden, wie die Zeichen meiner Transaktion. Können Sie mir irgendwelche Ratschläge?

Transaktion Hex

010000000414ae2264cdbe754b9ae4be18d84bfeb4f578af553b9b9e4f9cb2303d04ee9e45000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffffec15d27b74516fefd921cecbe043ea63124d28a3903aef8fb1682ccc926b1c62000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffff9878f76e1424c1d1eeb6b15d06902dd8f0c78f9bdb61263e4ca3ae68c571a292000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acfffffffffdac7f1c83b01a8924a8965d356b804c2608bc261fc18041116ddb4a143bc499000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffff0336150000000000001976a9141485d9d03b41aaa9dca7d70d7f63ff4a0826100e88ac00000000000000001e6a1c246698efc5d81b78ceadf3179316b5eb6cc5c2c347c0b7b42121a94e92180000000000001976a91458b6e991b45487df810f4d96d5315da739637f1788ac00000000

Decodiert Transaktion

{
"txid":"6c521937d8fa889d71609ebed2e23b694cbca89778c8b8d967167e5a4c9d5b78",
"Größe":381,
"version":1,
"locktime":0,
"vin":[
{
"txid":"459eee043d30b29c4f9e9b3b55af78f5b4fe4bd818bee49a4b75becd6422ae14",
"vout":0,
"scriptSig":{
 "asm":"OP_DUP OP_HASH160 58b6e991b45487df810f4d96d5315da739637f17 OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a91458b6e991b45487df810f4d96d5315da739637f1788ac"
},
"sequence":4294967295
},
{
"txid":"621c6b92cc2c68b18fef3a90a3284d1263ea43e0cbce21d9ef6f51747bd215ec",
"vout":0,
"scriptSig":{
 "asm":"OP_DUP OP_HASH160 58b6e991b45487df810f4d96d5315da739637f17 OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a91458b6e991b45487df810f4d96d5315da739637f1788ac"
},
"sequence":4294967295
},
{
"txid":"92a271c568aea34c3e2661db9b8fc7f0d82d90065db1b6eed1c124146ef77898",
"vout":0,
"scriptSig":{
 "asm":"OP_DUP OP_HASH160 58b6e991b45487df810f4d96d5315da739637f17 OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a91458b6e991b45487df810f4d96d5315da739637f1788ac"
},
"sequence":4294967295
},
{
"txid":"99c43b144adb6d114180c11f26bc08264c806b355d96a824891ab0831c7facfd",
"vout":0,
"scriptSig":{
 "asm":"OP_DUP OP_HASH160 58b6e991b45487df810f4d96d5315da739637f17 OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a91458b6e991b45487df810f4d96d5315da739637f1788ac"
},
"sequence":4294967295
}
],
"vout":[
{
"value":5.43 e-5,
"n":0,
"scriptPubKey":{
 "asm":"OP_DUP OP_HASH160 1485d9d03b41aaa9dca7d70d7f63ff4a0826100e OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a9141485d9d03b41aaa9dca7d70d7f63ff4a0826100e88ac",
"reqSigs":1,
"type":"pubkeyhash",
"Adressen":[
"12sWrxRY7E7Nhmuyjbz4TtGE9jRewGqEzd"
]
}
},
{
"Wert":0,
"n":1,
"scriptPubKey":{
 "asm":"OP_RETURN 246698efc5d81b78ceadf3179316b5eb6cc5c2c347c0b7b42121a94e",
"hex":"6a1c246698efc5d81b78ceadf3179316b5eb6cc5c2c347c0b7b42121a94e",
"type":"nulldata"
}
},
{
"value":6.29 e-5,
"n":2,
"scriptPubKey":{
 "asm":"OP_DUP OP_HASH160 58b6e991b45487df810f4d96d5315da739637f17 OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a91458b6e991b45487df810f4d96d5315da739637f1788ac",
"reqSigs":1,
"type":"pubkeyhash",
"Adressen":[
"1965areciqapsuL2hsia2yKkRLfAsH1smg"
]
}
}
]
}

Komponist.json

"require": {
 "bitwasp/bitcoin": "v0.0.29.1"
}

sample.php

<?php

erfordern "vendor/autoload.php';

verwenden BitWasp\Bitcoin\Key\PrivateKeyFactory;
verwenden BitWasp\Bitcoin\Transaction\TransactionFactory;

// Load private key
$private_key = PrivateKeyFactory::fromWif('KEY');

// Transaktion von der Hex
$transaction = TransactionFactory::fromHex('HEX');

... was soll ich als Nächstes...?

Update 1

Gelöst! Danke @karimkorun.

Komponist.json

"require": {
 "bitwasp/bitcoin": "v0.0.29.1"
}

test.php

<?php

erfordern "vendor/autoload.php';

verwenden BitWasp\Bitcoin\Bitcoin;
verwenden BitWasp\Bitcoin\Script\ScriptFactory;
verwenden BitWasp\Bitcoin\Key\PrivateKeyFactory;
verwenden BitWasp\Bitcoin\Transaction\TransactionFactory;
verwenden BitWasp\Bitcoin\Transaction\Factory\Unterzeichner;
verwenden BitWasp\Bitcoin\Transaction\OutPoint;
verwenden BitWasp\Bitcoin\Utxo\Utxo;
verwenden BitWasp\Buffertools\ - Puffer;
verwenden BitWasp\Bitcoin\Transaction\TransactionOutput;

$hex = '010000000414ae2264cdbe754b9ae4be18d84bfeb4f578af553b9b9e4f9cb2303d04ee9e45000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffffec15d27b74516fefd921cecbe043ea63124d28a3903aef8fb1682ccc926b1c62000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffff9878f76e1424c1d1eeb6b15d06902dd8f0c78f9bdb61263e4ca3ae68c571a292000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acfffffffffdac7f1c83b01a8924a8965d356b804c2608bc261fc18041116ddb4a143bc499000000001976a91458b6e991b45487df810f4d96d5315da739637f1788acffffffff0336150000000000001976a9141485d9d03b41aaa9dca7d70d7f63ff4a0826100e88ac00000000000000001e6a1c246698efc5d81b78ceadf3179316b5eb6cc5c2c347c0b7b42121a94e92180000000000001976a91458b6e991b45487df810f4d96d5315da739637f1788ac00000000';
$privateKey = 'XXX';

$tx = TransactionFactory::fromHex($hex);

$utxos = [];
foreach ($tx->getInputs() as $idx => $Eingabe) {
 $txid = $input->getOutPoint()->getTxId()->getHex();
 $vout = $input->getOutPoint()->getVout();
 $scriptPubKey = $input->getScript()->getBuffer()->getHex();

 $utxo = new Utxo(neue OutPoint(Buffer::hex($txid, 32), $vout), neue TransactionOutput(0, ScriptFactory::fromHex($scriptPubKey)));
 array_push($utxos, $utxo);
}

$priv = PrivateKeyFactory::fromWif($privateKey);
$signer = new Signer($tx, Bitcoin::getEcAdapter());

foreach ($utxos as $i => $utxo) {
 $signer->anmelden($i, $priv, $utxo->getOutput());
}

$unterzeichnet = $signer->get();
echo $signiert->getHex() . PHP_EOL;

Update 2

Diese ist kürzer. UTXO Objekte sind nicht notwendig.

$tx = TransactionFactory::fromHex($hex);

$transactionOutputs = [];
foreach ($tx->getInputs() as $idx => $Eingabe) {
 $transactionOutput = new TransactionOutput(0, ScriptFactory::fromHex($input->getScript()->getBuffer()->getHex()));
 array_push($transactionOutputs, $transactionOutput);
}

$priv = PrivateKeyFactory::fromWif($privateKey);
$signer = new Signer($tx, Bitcoin::getEcAdapter());

foreach ($transactionOutputs as $idx => $transactionOutput) {
 $signer->anmelden($idx, $priv, $transactionOutput);
}

$unterzeichnet = $signer->get();
echo $signiert->getHex() . PHP_EOL;
+841
Harshit Agrawal 06.07.2015, 07:00:04

Ich nicht habe meine bitcoins bestätigt in meiner wallet und wenn ich versuche zu verdoppeln verbringen, dass ich immer Fehler, vor allem: Ein outpoint ist bereits ausgegeben, die in [DBBitcoinTx{txIndex=224965012, ip=51.254.44.148, Zeit=1487879550, Größe=192, distinctIn=null, distinctOut=null, Hinweis='null', blockIndexes=[], nTxInput=1, nTxOutput=1}] [OutpointImpl{txIndex=224909177, txOutputN=3}]

jede Beratung wäre geschätzt

+766
user81085 14.02.2012, 00:52:10
Allzweck-Programmiersprache.
+668
42spurs9001 03.09.2013, 19:45:12

Musste nur Geduld haben, ist nun sortiert.

+527
enzotib 25.09.2015, 04:40:34

ist es möglich, fügen Sie Argumente wie BTC-Betrag auf ein bip 70 URI, so etwas wie:

bitcoin:?r=http://127.0.0.1:8000/paymentobject/?Menge=10

Ich habe bereits versucht mit dem rückwärts kompatibel URI:

bitcoin:?Betrag=10&r=http://127.0.0.1:8000/paymentobject/

Aber der client scheint nicht zu registrieren, alles andere als die 'r=' param.

Jede Hilfe sehr dankbar :)


EDIT: Hinzugefügt wurde die Funktion von django views.py für extra explenation-

def protoresponse(Anfrage):
 xpo = payments_pb2.ParseFromString(Anfrage)

 returnaddress = xpo.Die Zahlung.refund_to
 Transaktionen = xpo.Transaktionen
 memo = xpo.Die Zahlung.memo

 xpa = payments_pb2.PaymentACK
 xpa.Zahlung = xpo.SerializeToString()
 xpa.memo = u'success, denke ich,"
 return HttpResponse(xpa.SerializeToString(), content_type="application/octet-stream")

Hinweis: die Funktion ist definiert als protoresponse , weil wir optional string payment_url = 6; in den Zahlungen.proto-Datei.

+462
imran bhatti 24.10.2010, 21:16:20
bcoin.Netzwerk.get().toString()

gibt main das ist keine gültige Netzwerk-Zeichenfolge, sollte es sein, eine von mainnet testnet simnet oder regtest.

+435
ColorVendowserel 24.07.2017, 14:15:25

Ich habe dekodiert, meine raw-Transaktion mit decoderawtransaction, ich habe diese Wert

"Größe" => 259
"vsize" => 259

ist, die block-Größe ? wenn es funktioniert, ist, dass byte-oder killo-byte ? Ich möchte berechnen Miner-Gebühr auf der Basis von block-Größe

+407
dav 09.02.2011, 03:39:00

Wenn die Token ausgestellt von der Firma oder der person, die es nicht schaffen auf einen Austausch, dann Sie haben wirklich keinen Marktwert. Ich kann zum Beispiel ein token zu erstellen, genannt Lopez-token mit einer Versorgung von 1 Milliarde (google einfach mal "eigene Münze"), die ich senden kann, zu meiner eigenen Familie Mitglieder über den blockchain. Jedoch, es sei denn, meine Familie ist Hunderte von Menschen, kein exchange (die Funktionen eines Unternehmens) wird eine Liste der Lopez-Münze, und deshalb, meine Münzen haben wirklich keinen Marktwert.

Es wird schwieriger, mit den dezentralen Austausch, aber das gleiche Konzept gilt. Jemand schreibt den code, der bestimmt, welche Münzen aufgelistet bekommen.

+333
Pixar 04.08.2015, 18:00:51

Versuchen Sie, diese chinesische opensource-Projekt http://www.peat.io/

Sie veröffentlicht haben, Ihren source-code unter der MIT-Lizenz, und den Anspruch zu haben, eine voll funktionsfähige Plattform.

+283
Hamidreza 02.05.2014, 23:52:00

Ich würde sagen, dass ein Papier-wallet lagern in einem Banktresor mit keine anderen Kopien gemacht wäre das sicherste. Das einzige Risiko ist, dass die bank wird ausgeraubt oder das Papier verschlechtert sich (das könnte gelöst werden durch die Verwendung einer höheren Klasse material.)

Aber das ist wohl overkill. Wenn Sie suchen für eine praktische und sehr sichere Lösung würde ich empfehlen, die Waffenkammer ' s cold storage-system.

+279
Ceki 03.07.2014, 07:08:52

Ich denke, es könnte technisch gelöst werden mit einem kryptogeld-system wie Bitcoin, aber nicht die bestehenden Bitcoin so wie es da steht. Es müssten einige Anpassungen vorgenommen, um die Kunden und die Regeln der blockchain.

Wenn Sie darüber nachdenken, wie Papier-voting funktioniert (zumindest hier in Kanada), es geht so:

  1. Präsentieren Sie sich mit ID und sind anhand der Wähler-Liste für den Nachweis der Förderfähigkeit.
  2. Ihre leere Stimmzettel zerrissen ist, aus der stub. Nichts kennzeichnet den Stimmzettel der stub-Reihe.
  3. Sie haben ein Stimmzettel, der geht in die box.
  4. Die Beamten halten den Mann, um zu überprüfen, dass die Anzahl der Stimmzettel in der box gültig ist.

Jetzt online:

Die erste Frage ist Identität. Dies konnte festgestellt werden, vorher über login/Passwort, oder einige offline-Validierung Prozess, wenn nötig. So oder so, das Ergebnis ist, wenn Sie identifiziert sind und wahlberechtigt, Sie sich mit Ihrer digitalen Adresse und der Wahl office-Konto überweisungen 1 Votecoin zu Ihnen.

Die zweite Frage ist die Anonymität. Die Votecoin Sie erhalten bestimmbar ist, zu Ihnen und fungiert als "stub". Anonymisierung würde geschehen müssen, durch zufällige Austausch von Votecoins mit Gleichaltrigen zu waschen die Votecoins auf neue, anonyme Adressen. Ein paar Runden der Austausch stattfinden könnte, damit auch die peers, mit denen Sie Austausch mit haben keine Möglichkeit, Sie zu identifizieren.

Sie haben dann 1 anonyme Votecoin zu verbringen, um die Wahlurne-Adresse. Die Aufzeichnung zeigt nur, dass Sie einen Saldo von 1 Stimme. Die endete, dass die Ausgaben insbesondere Votecoin nicht bekannt sein können.

Für diese Arbeit gerecht, die blockchain würde verarbeiten müssen nur den Netto-null-Transaktionen, so haben Sie immer 1 Votecoin nach jedem Anonymisierung und niemand kann stehlen Ihre Stimme. Die Kunden nutzen könnten P2P-discovery zu behandeln, ist die Anonymisierung automatisch.

+255
Christopher Miller 03.05.2018, 09:44:26

Die meisten testnet-Münzen haben einen funktionierenden Wasserhahn zu erhalten Münzen. Alternativ können Sie in der Regel meinen Sie mit einer CPU.

+215
Squatch307 26.07.2012, 05:57:38

Wie lange es dauert in der Regel zum download-vollständige Datenbank der Blöcke in den Bitcoin Core Ich habe schnelles internet, aber nach 72 Stunden, ich bin nur auf 50 Prozent.

Danke

+198
khalil954 24.09.2017, 03:23:23

Ja, wäre es erforderlich, auf-chain-Leistung erhöht, wenn gab es eine Menge Kanäle werden geöffnet und geschlossen sowie auf normal-chain-Transaktionen. Diese müssen direkt auf die in der Blitz-Netzwerk Papier selbst.

+147
ioannn1 19.08.2017, 07:05:17

Blick auf diese und benutzen Sie einfach die gleichen Bedingungen für andere altcoins https://en.bitcoin.it/wiki/Mining

+146
Peter Aron Zentai 11.10.2010, 20:27:12

Ich nahm Kontakt zu einer anderen bank und war beruhigt, dass jede überweisung von einem Russischen Einwohner zu einer person oder einem Unternehmen gemacht werden konnten, ohne Belege, wenn es unter 5000 USD oder Gegenwert. Als nach dem Grund der Zahlung, könnte es sein, gefüllt mit so etwas wie "übertragung von persönlichen Fonds"

Edit: Allerdings, die sogenannte Devisenbewirtschaftung, die eine innere, bank-Abteilung, Anforderungen, Dokumente sowieso. Normalerweise ist es ein Kunden-Vereinbarung könnte sein, einfach von der website heruntergeladen und eine Art Dokument zeigt, dass Sie ein Konto Inhaber.

+119
Joshua Nozzi 02.10.2014, 21:28:43

Die Vorteile überwiegen bei weitem die Nachteile hier, aber es ist ein würdiger Diskussion trotzdem!

Beginnend mit Verschlüsselung im Allgemeinen: die Verschlüsselung der wallet.dat-Datei (und die sicherungen etc) mit einem Drittanbieter-Verschlüsselungs-tool wie truecrypt, kann zeitaufwendig sein und erfordert eine Menge von Reifen zu springen durch jedes mal, wenn Sie den client starten. Aber dies könnte zu mehr Sicherheit und ermöglichen es Ihnen, die gesamte client auf einen verschlüsselten bootfähigen usb-stick für unterwegs.

Mit den qt ' s built-in Verschlüsselung ist wesentlich einfacher und anderes als das, was Sie erwähnt-die Nachteile: Die Möglichkeit zu verlieren, das Passwort. Die Notwendigkeit, geben Sie das Kennwort wird beim Start des client. Warten für die Geldbörse zu verschlüsseln/entschlüsseln, selbst beim starten/beenden des Clients. Die Schmerzgrenze ist hier ziemlich viel völlig davon abhängig, wie schnell Ihr computer kann den job zu erledigen.

Die theoretische Möglichkeit, dass einige Fehler in der Verschlüsselungs-Algorithmus (oder etwas geht einfach sehr falsch während des Prozesses, dass verdirbt es), die machen könnte Ihre Brieftasche unbrauchbar, wenn es nicht entschlüsselt werden. Ich weiß nicht, ob dies jemals tatsächlich passiert-nur laut gedacht hier. Aber ich nehme an, die Erstellung von backups hilft es, Schutz vor solch einem problem. Obwohl dann Sie müssen sicher sein, um sichere backups -- die wiederum erstellt eine neue Reihe von todos und erfordert mehr Zeit und Sorgfalt zu pflegen. Alle diese Dinge können automatisiert werden, jedoch.

Nicht zu sein scheinen jede andere mögliche Nachteile kann ich denken. Wie ich schon sagte, keiner von diesen Themen wahrscheinlich Wert argument gegen Verschlüsselung.

+83
Nigalka 08.12.2013, 19:09:08
Mein Punkt ist: Die Signatur selbst kann nicht unterschrieben werden, aber warum sind die OP-codes, die möglicherweise oder möglicherweise nicht vorhanden in die txin-Skript nicht signiert?

Die aktualisierte Frage stellt einen spezifischen Kontext, und so werde ich beantworten, als eine neue Antwort.

Es gibt keinen Grund, dass Bitcoin konnte nicht schwer sein-Gabel zu erreichen, was Sie zeigen. Wenn Sie sich Fragen, warum eine so komplexe Unterzeichnung Schema? Als Pieter sagt: "Fragen Sie Satoshi".

Noch bevor wir uns begegnet diese Fragen fand ich immer die Signatur-Teil der Transaktion zu Komplex und nicht intuitiv. Wenn Bitcoin-tx unterzeichnet wurden, wie Sie in fast jedem anderen kryptographischen system die Signatur wäre nicht Teil der Eingabe.

Es könnte in etwa so Aussehen

tx-header
input(s)
Ausgang(s)
Signatur(en)

Der tx-header, Eingang(s) und Ausgang(s) umfassen würde "tx-Körper". Die hash-Funktion des tx-Körper ist die tx_id.

Zu konstruieren ist eine Transaktion der client würde die tx-Körper, berechnen Sie die tx-hash. Der tx-hash + priv-Taste für jeden Eingang verwendet werden, zum generieren einer Unterschrift. Die Unterschriften würden angehängt werden, um die tx-Körper und die ganze Sache broadcast als die tx-Nachricht.

Um zu überprüfen, entfernen Sie die Unterschriften von Texas, und Sie sind Links mit dem tx Körper. Hash die restlichen tx "Körper", Signatur überprüfen. Überprüfen Sie die Eingänge, stellen Sie sicher, die Ausgänge. Überprüfen Sie jede der Signaturen korrekt ist.

Natürlich ist so eine Radikale Veränderung Bitcoin ist immer noch "möglich" aber es ist unwahrscheinlich, dass es jemals eine Gabel um die Aufnahme. Satoshi bekam eine Menge richtig, aber er war nicht perfekt und das ist ein Beispiel.

+83
Donald Crypto 06.07.2013, 06:54:02

Die Knoten kommunizieren miteinander unter Verwendung der peer-to-peer-Protokoll, in der Regel über TCP-port 8333. Sie Gerücht Blöcke und Transaktionen zu jedem anderen, Daten anfordern, erzählen sich gegenseitig über andere IP-Adressen im Netz, ...

Jeder Knoten implementiert, die Stufe der Validierung, die Sie wünschen, einige laden Sie alle Blöcke und überprüfen Sie alles (voller Knoten), einige tun, aber nicht halten Sie die Blöcke auf der Festplatte nach der Validierung (geschnitten voller Knoten), und einige laden nur die Transaktionen, die Sie interessiert sind, zusammen mit proofs Sie wee einschließlich der in der Kette ohne überprüfung Ihrer Gültigkeit davon unberührt.

Unabhängig, einige Knoten-software stellt außerdem eine Schnittstelle zur Kommunikation mit Benutzern oder anderen software mit Hilfe eines RPC-Protokolls. Diese Schnittstelle ist jedoch nicht in der öffentlichkeit aus guten Gründen:

  • Es ist in der Regel nicht entworfen, um in adverserial Einstellungen (z.B.: die RPC-Schnittstelle setzen Sie einen Befehl zum Herunterfahren eines Knotens, oder werfen Ihre privaten Schlüssel, ...).
  • Es ist nicht gehärtet gegen denial-of-service (DoS) - Attacken.
  • Es ist keine andere als die Knoten-operator verwenden sollten sowieso nicht, wie die Informationen, die von RPC ist eine interpretation dessen, was Los ist im Netz; es ist nicht nachprüfbar. Also, wenn ausgesetzt zu nicht vertrauenswürdigen Partei, Knoten-software konnte nur liegen, vielleicht betrügen die Partei, es zu benutzen.
+70
EvGen35 05.01.2019, 09:39:18

Ja, aber die Antwort ist ein bisschen weiter Fortgeschritten, als für Ihre alltägliche Verbraucher:

Es wird empfohlen, einige Kenntnisse in JSON, wenn mit dieser Methode

WORT DER WARNUNG: diese Methode kann dazu führen, große Mengen der Eingänge festgelegt wird, wie Bergleute Gebühren. Ich schlage vor, Sie auch weiterhin mit Vorsicht und beginnen Sie mit kleinen Eingängen.

That being said...

Eine Transaktion muss kompiliert werden, und eingereicht durch die bitcoin-qt Konsole mit den Befehlen listunspent, createrawtransaction, signrawtransaction und submitrawtransaction.

Um den Zugriff auf die Bitcoin-qt Konsole:

starten Sie Ihre bitcoin-client wie gewohnt und warten Sie, bis das laden der blockchain und start-up
klicken Sie auf "Hilfe" in der Menüleiste (oben rechts)
klicken Sie auf "debug-Fenster",
wählen Sie die "console" - tab
  1. Verwenden listunspent um ein array von Sie aufwendbare Eingänge in Ihrer Brieftasche
  2. Dies ist, wo Sie legen Sie die Transaktion Gebühr: Nutzung createrawtransaction zu generieren, die eine Transaktion in der form createrawtransaction [{\"txid\":\"[txid der input-Transaktion]\",\"vout\":[vout, die sich auf die txid der input-Transaktion]},...] {\"[Adresse, senden Sie Ihre bitcoins an]\":[Betrag an bitcoins an diese Adresse senden],...} Wenn Sie möchten, eine no-fee Transaktion, die Sie müssen sicherstellen, dass alle Eingänge gleich der Ausgang. Alle Eingänge, die nicht für eine Transaktion verwendet werden, die als Bergleute Gebühren.
  3. Verwenden signrawtransaction [die Ausgabe von createrawtransaction] zu Unterschreiben, der die generierte Transaktion Hinweis: Ihre Brieftasche freigeschaltet werden müssen zum ausführen dieses Befehls. Wenn nicht, geben Sie walletpassphrase [das Passwort] 21600
  4. Verwenden submitrawtransaction [die Ausgabe von signrawtransaction] senden Sie die signierte Transaktion in das Netzwerk aufgenommen zu werden, die in einem block

Sie können sehen, Ihre Transaktion wird durch zu gehen http://blockchain.info/tx/[txid Ausgabe von submitrawtrasaction]

+65
efritz 06.09.2017, 21:28:47

Fragen mit Tag anzeigen