Was sind die Vorteile der Verwendung meiner eigenen blockchain gegenüber dem Bitcoin blockchain?

Sagen wir mal ich habe ein Projekt, die die Vorteile der blockchain Technologie. Ich sehe jetzt eine Reihe von Banken fallenlassen der Bitcoin blockchain für Ihre eigenen. Ich bin sicher, das hat etwas zu tun mit Geheimhaltung, aber, vorausgesetzt, ich bin nur ein ganz normaler Unternehmer und nicht einige massive finanzielle institution, was wären die Gründe für mich, um meine eigene blockchain gegenüber dem Bitcoin blockchain? Was sind Ihre jeweiligen (dis)Vorteile?

+309
Alnedin 17.01.2019, 13:30:12
25 Antworten
  1. Ich vermute erstellte Adresse#1 Adresse und#2, die unter dem gleichen wallet. Wie überweisen? Sollte ich öffnen Sie einen Kanal zu tun?

Sie scheinen zu verwechseln bitcoin-Adressen und Blitz-Netzwerk-ids. Wenn Sie eine Blitz-Knoten ist ein Knoten, pubkey (genannt node_id). Natürlich gibt es einen entsprechenden privaten Schlüssel / Geheimnis. Daraus können Sie ableiten bitcoin-Adressen in Ihrem bitcoin wallet, der an den lightning-Knoten. Diese Adressen werden verwendet, um Einzahlungen auf Ihr Knoten oder zu behaupten, Gelder von den Kanälen, die aus irgendeinem Grund schlagen der Kette.

  1. Ist es möglich, Mittel aus Adresse lightning-Netzwerk auf einfache bitcoin-Adresse?

Wie aus dem ersten Teil der Antwort. sobald die Kanäle Treffer die Kette sind Sie in der bitcon-Netzwerk und kann an jeden anderen bitcoin-Adresse. Es gibt exchange-Dienste, die es ermöglichen, aus und der atomic-on/off-chain-swap. heißt, Sie zahlen in der Rechnung auf Blitz, so dass onchain bitcoin kommen an einigen-Adresse und Umgekehrt.

  1. Gibt es irgendwelche Möglichkeiten, um wählen Sie Absender-Adresse (im Falle von Nutzern erstellte Tausende von verschiedenen Adressen und Benutzer schicken will, satoshis im Namen von sich selbst)

Wenn ich verstehe deine Frage richtig ich würde sagen es ist möglich. In der aktuellen Einstellung der Menschen, die eine Freiheitsstrafe wallet-service, scheinen die Zeichen alle Rechnungen mit der Knoten-ID des lightningnode, die Versorgung der Sorgeberechtigten Brieftasche. Es spricht nichts dagegen, dass jeder Benutzer eine eigene absondern und Ihre eigene node-id / bitcoin-Schlüssel. Sie können sogar virtuelle Zahlungswege zwischen den Börsen Blitz-Knoten-Netz, Sie erhalten ein Lauf-und zwischen den "virtuellen" Knoten Ihrer Kunden, die grundsätzlich private und vorschlagen, in die routing-Hinweise der Rechnung verwenden Sie das lightning-Knoten von Ihrem service. Um das zu tun diese Art von tricks, die Sie möglicherweise möchten, wechseln Sie zu c-lightning mit Ihren Plug-in-Infrastruktur haben eine API, die es ermöglichen eine einfachere Anpassung für solche Funktionen.

+996
PhysRex 03 февр. '09 в 4:24

Nachdem ein Knoten erhält eine inv - Nachricht, die Sie bekommen können die Daten für jede tx/block-hash mit getdata:

getdata - Anfrage zu einem einzelnen block oder einer Transaktion durch den hash.

Also, wenn Sie bekommen nur eine tx oder von block zu block, was ist der Zweck des habens ein Feld in der getdata - Nachricht für die Anzahl der Einträge , die Sie anfordern?

Feldgröße Beschreibung Datentyp Kommentare
---------- ------------ ---------- -------------
? Graf var_int Anzahl der Inventar-Einträge
36x? Inventar inv_vect[] Inventar Vektoren

https://wiki.bitcoin.com/w/Network#Messages https://en.bitcoin.it/wiki/Protocol_documentation#getdata

+954
KalobaS 23.04.2014, 20:53:10

ich habe nicht Lesen Sie den source-code für bitcoind, aber ich möchte wissen, ob es downloads "bad blocks", die später zurückgewiesen werden, die durch das Netz (und vermutlich auch später entfernt von bitcoind-block-Dateien)?

ich habe ein script, das analysiert, block-Dateien in eine Datenbank und wenn ein block in den Dateien, die an einem Punkt in der Zeit, dann wird später entfernt, dann mein script (wie derzeit) wird am Ende das importieren der falsche block.

wenn bitcoind nicht herunterladen, schlechte Blöcke, wie sollte ich vermeiden, importieren Sie diese in meine Datenbank? soll ich einfach warten und nie importieren Sie die aktuelle, sagen wir, 5 Blöcke?

+920
danny harvey 22.01.2014, 12:05:22

in den letzten paar Tagen habe ich synchronisiert, die block-Kette auf einer alten version von Bitcoin-QT-wo hatte ich noch Mittel in meinem Geldbeutel. Es begann vor 90 Wochen hinter sich, die dann im Laufe von 4 Tagen aktualisiert, bis es hatte 23 Wochen. An dieser Stelle alle Fortschritte gestoppt, scheinbar stecken, für 24 Stunden oder länger und ich konnte Sie nicht finden, eine Lösung, um es weiterhin der Synchronisierung.

Ich habe dann installiert Unbegrenzte Bitcoin seit ich Sie gehört habe, dass neue clients synchronisiert viel schneller. Ich davon ausgegangen, dass beide clients bauen würde, Ihre block-Kette, die separat voneinander, sondern die Unbegrenzte Bitcoin-installation beschädigt, jeder Fortschritt, dass Bitcoin-QT gemacht hatte und nach ab, es das nächste mal, hatte es zu re-synchronisieren jetzt mehr als 200 Wochen hinter sich.

Unbegrenzte Bitcoin scheint jedoch zu entnehmen QT-status, auch 200+ Wochen hinter sich und nicht die Aktualisierung schneller.

Was wäre der Schnellste Weg, um die blockchain aktuell auf meiner Festplatte, in einer Weise, dass die Gelder auf meinem QT-wallet genutzt werden kann?

Vielen Dank im Voraus.

+914
clara 16.06.2012, 05:44:58

ich schrieb eine einfache Funktion zum abrufen trades von mtgox mit folgenden HTTP-API-Aufruf:

https://data.mtgox.com/api/1/BTCUSD/trades?since

hier dokumentiert: https://en.bitcoin.it/wiki/MtGox/API/HTTP/v1#Multi_currency_trades

hier ist die Funktion:

string GetTradesOnline(Int64 tid)
{
Thread.Sleep(30000);

 // Kommunikation
 string url = "https://data.mtgox.com/api/1/BTCUSD/trades?since=" + tid.ToString();
 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 StreamReader reader = new StreamReader(response.GetResponseStream());

 string json = reader.ReadToEnd();
 return json;
}

ich bin ab tid=0, um die Daten von Anfang an. es funktioniert gut für 5 Anfragen & Antworten. aber dann die folgende Zeile wirft eine "System.Net.WebException" sagen, dass "Der Vorgang hat das Zeitlimit überschritten":

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

diese Ausnahme bleibt geworfen, auch wenn ich es fangen und versuchen Sie es erneut. es ist immer genau bei 5 Anfragen.

während es fehlgeschlagen sei für ein paar Minuten, ich versuche, die 6. Anfrage im browser und es funktioniert gut, während die Funktion weiterhin nicht.

das merkwürdige ist, dass es funktioniert für 5 Anfragen jedesmal, wenn ich starten Sie die Anwendung. derzeit, ich fange immer bei trade-id 0 (tid=0).

ich habe erhöht die Sleep() dazwischen Anträge zu 2 Minuten, aber das Verhalten immer noch das gleiche.

wenn ich die url auf https://www.google.comes nicht-timeout.

irgendwelche Ideen, was falsch sein könnte?

+886
That One Black Guy Over There 29.10.2019, 08:17:20

Habe ich es herausgefunden:

bitcoin-cli getnetworkinfo

Es wird Ihnen sagen, unter anderem, wie viele verbindungen, die Sie im moment haben.

+805
CherylPNewman 10.01.2010, 03:00:15

Ich schickte zwei Transaktionen auf die gleiche Stelle. Ich denke, dass Sie beide zeigen in der blockchain, aber Sie sind nicht an die vorgesehene Adresse. Nach 48 Stunden bekam ich besorgt und geändert von Electrum Bitcoin-Qt, senden meine restlichen Münzen, Bitcoin-Qt. Dass anzeigen nicht in der blockchain, soweit ich das sehen kann. Ich habe die Standard Transaktionsgebühr jedes mal.

Nach etwa einer Woche, ich bin immer noch im gleichen Zustand. Ich werde hinzufügen, Transaktions-ID ' s, wenn ich wieder zu meinem mac. Weitere Infos Folgen. Ich überprüfte Antworten auf andere Fragen, aber konnte Sie nicht finden, eine Lösung oder etwas, das schien zu passen mein versuchter Austausch.

+759
Bob Horn 31.01.2016, 11:09:08

Was ist die grobe Schätzung der internet-Geschwindigkeit benötigt, um führen Sie die standard-client? Eine schnellere Internet-Verbindung, erhöhen die client-Leistung (damit meine ich, wie schnell es updates seiner blockchain, sendet Transaktionen, und wie gut ist die it-Funktion als ein Knoten im Netzwerk)?

+756
Roman Zabicki 02.05.2016, 23:37:19

Ich arbeite an einem Bitcoin-Projekt, und was ich gesehen habe, sind:

  • Nur die Bitcoin-Adresse
  • Ein url-parameter wie Farbgebung mit dem format "bitcoin:{plus-die bitcoin-Adresse}" (ohne die Klammern)
  • Eine ausführlichere url-parameter mit der Menge, wie "bitcoin:{bitcoin addr}?Menge={Höhe}

Coinbase wird die letzten Schema und es wird voll anerkannt von der BlockChain-app für iPhone ermöglicht Ihnen, auf Anfrage, eine bestimmte Menge Bitcoin-gerichtet an eine bestimmte Adresse.

Coinbase nutzt die (veralteten) Google-Diagramm-apis und der komplette querystring Sie zum erstellen der QR-code sieht wie folgt aus:

<img width="300" height="300" alt="Diagramm?cht=qr&amp;chl=bitcoin%3a1k1yfezde2c37pwdevjnin1yc2qbtly6bk%3famount%3d0" src="https://chart.googleapis.com/chart?cht=qr&amp;chl=bitcoin%3A1K1yfEZde2C37pWDevjnin1yc2qBtLy6bk%3Famount%3D0.01&amp;choe=UTF-8&amp;chs=300x300">

Wenn Sie ausführen, dass src-url durch eine url-decoder, werden Sie feststellen, dass es Anfragen von 0,01 BTC an die Adresse 1K1yfEZde2C37pWDevjnin1yc2qBtLy6bk.

Wenn Sie bauen einen QR-code, brauchen Sie nicht zu url-Kodieren der Daten. Coinbase ist nur tun, weil Sie haben auf Wunsch die QR-code von Google über eine url-Adressierung.

Ich Baue meine QR-codes auf meinem eigenen server und zeigt Sie als Bilder auf einer web-Seite, und ich benutze nur nicht-codierte Daten.

+752
shammi 22.04.2017, 03:09:20

Ich bin versuchen, um eine Bitcoin-Cash-HD Geldbeutel durch Eselsbrücke, aber ich kenne keine npm-Paket, das kompatibel ist mit HD-wallets und Bitcoins Bargeld. Könnte jemand mir helfen, die BCH-HD-Wallet?

+743
reb 08.12.2010, 11:04:19

Hier ist, was ich tun würde:

  1. Nehmen Sie sich einen "kleinen" Betrag in USD, z.B. $100 ("klein" = ein Betrag, den Sie sich leisten können zu verlieren)

  2. Verwenden Sie diese Dollar zu kaufen, Bitcoin. (Sie müssen nicht zu kaufen ganzzahlige Werte von Bitcoin)

  3. Wenn (oder wenn) Sie den Wert Ihrer Bitcoins erhöht sich um einen Betrag > $100, [d.h. $(100+x), wo x > 0] zurückziehen $100 im Wert von Bitcoin zurück in Ihre USD-Bankkonto.

Herzlichen Glückwunsch! Sie haben jetzt $x Wert des Bitcoin, die Kosten Sie nichts.

Wenn die Bedingung in Schritt #3 nicht wahr werden bald genug für Ihre Bedürfnisse anpassen, nur konvertieren Sie alle Bitcoin zurück zum USD. Ihr Verlustrisiko ist begrenzt auf $100 (das sollte keine Rolle für Sie), aber Ihre möglichen Gewinne sind unbegrenzt.

Denken Sie daran, Steuern zu zahlen, als in Ihrem Land. Die meisten wahrscheinlich, Sie sollten nur verfügen, um Steuern zahlen auf Ihren Gewinn in USD im Jahr, die Sie verkaufen, Bitcoin, aber dies ist keine steuerliche Beratung.

+739
Vlad Lypovyi 17.08.2013, 04:58:33

enter image description here

Diese können skaliert werden bis zu 24 Wort-Samen, die nur durch die Fortführung der Muster.

+735
Praveesh 13.08.2011, 13:36:30

Die "Zentralisierung", dass die meisten Menschen zu sprechen, ist wirklich zu beschränken, die effektiv (und profitabel) teilnehmen.

Wenn wir reden über die blocksize Debatte, die Idee ist, dass größere Blockgrößen erfordern schnellere internet-verbindungen, um wettbewerbsfähig zu bleiben und an einem bestimmten Punkt, könnte dies machen es unmöglich für alle, aber ein paar große Unternehmen, um profitabel zu sein abbausohlen. Wenn dies wahr ist, weil bitcoin ist im wesentlichen gesteuert durch Bergleute führen, könnte dies zu einer anderen Gruppe von Menschen, controlling bitcoin als jetzt machen (also vielleicht eine Gruppe, die wir nicht wollen, controlling bitcoin).

Wenn wir reden über den lightning-Netzwerk, die Idee dahinter ist, dass größere hubs hätte den Vorteil gegenüber kleineren hubs, da würden Sie eher eine route zu wer auch immer Sie bezahlen möchten und diese Routen sind wahrscheinlich weniger Hopfen. Die Sache ist die, wenn wahr ist es nicht wirklich beeinflussen Bitcoin. Auch wenn das Ergebnis ist, dass jeder mit einem single-hub dieser hub hat 0 macht zu beeinflussen Bergleute. Wenn das megahub endet als ein schlechter Schauspieler, jemand kann leicht wechseln Sie zu einem anderen hub. Möglicherweise gibt es einige Fragen der Privatsphäre mit einem megahub, und Sie konnte zensieren Transaktionen, und dass die Art der Sache, aber es wäre nicht in der Lage, zu stehlen Ihre bitcoins, noch wäre es in der Lage zu entführen das Konsens-Regeln von bitcoin für seine eigenen Zwecke.

Meiner Meinung nach ist der Vorteil, dass weniger Netzwerk-hops ist nicht wirklich viel von einem Vorteil. Es ist viel wahrscheinlicher, dass viele mittelständische hubs geschaffen werden, der nicht zuletzt Grund dafür ist, dass die Menschen gehen zu wollen, um eine Verbindung zu mehreren verschiedenen hubs in dem Fall, dass einer von Ihnen geht nach unten aus irgendeinem Grund.

Also, tl;dr, die LN nicht haben, haben wirklich eine große Zentralisierung von Druck, und selbst wenn es das täte, die Zentralisierung würde nicht dazu führen, keine größeren Probleme.

+717
PaulBurton0 28.01.2017, 13:55:37

Was Sie wollen, ist eine Transaktions-ID.

Dann können Sie die Transaktions-ID in einer der vielen verschiedenen BlockChain-tools.

BlockChain.Info ist man beliebt.

Hier ist einer der letzten Transaktion für etwa 400 Dollar in BTC.

https://blockchain.info/tx/9c5dadf369e8a7779db1bcd8cc54b00e39136c7bcddcd17a93c7d8a87658e343

Die Nummer, die Sie zur Verfügung gestellt schaut nicht gültig, da Sie eine Transaktion-ID.

+666
dimazey 14.02.2012, 18:19:55

Ist der Angriff wirklich praktisch?

Äh... vielleicht. Das whitepaper mit dem Sie verknüpft, macht zwei Annahmen, und es ist nicht klar, wie gut diese halten, bis in der Praxis.

  • Es kostet nichts (oder fast nichts im Vergleich zu mining-pool-Einnahmen), um einen sybil-Angriff.

    Aus dem Papier:

    Da selfish mining ist reaktiv, und es Frühlinge in die Handlung, nur nach der ehrlich Knoten entdeckt haben, ein block-X, es mag im Nachteil. Aber eine versierte pool-Betreiber kann eine sybil-Attacke auf ehrliche Bergleute durch hinzufügen eine erhebliche Anzahl von zero-power-Miner Bitcoin miner-Netzwerk. Diese virtuelle Bergleute handeln als Voraus-sensoren durch die Teilnahme an der Datenverbreitung, aber nicht mir neue Blöcke. (Babaioff et al. auch bestätigen die Machbarkeit solch eine sybil-Angriff [10]). Die virtuelle Bergleute sind vom pool verwaltet, und einmal Sie hören von block X, dann ignorieren Sie es und starten Sie propagieren block P.

    Es gibt rund 5k voller Knoten, also wesentlich verändern, wie Blöcke weitergeleitet werden, würden Sie brauchen, um hinzuzufügen, eine anständige Anzahl von Ihnen. Dies ist eine Feste Kosten, und es stellt eine untere Schranke für die Höhe der hashpower notwendig, um diese gewinnbringend.

  • Blöcke verbreiten in der Nähe-sofort.

    Aus dem Papier:

    Wir gehen davon aus block Laufzeit ist vernachlässigbar im Vergleich Bergbau-Zeit, wie es der Fall in der Realität.

    Das ist nicht unbedingt wahr. Bergleute heute produzieren viele verwaiste Blöcke, und wie es scheint, läuft ein egoistisches mining-Angriff erhöhen würde, die verwaisten rate.

Haben bitcoin-Entwickler angewendet, die Lösung? (Wenn ja, warum das wiki nicht aktualisiert? Die wiki sagt: "Erzeugung von Knoten, bauen auf je einen der Blöcke, die Sie zuerst empfangen")

Nein. Diskutiert wurde auf der mailing-Liste:

Die vorgeschlagene änderung ist eigentlich sehr einfach (Minuten-Programmierung) und elegant und Adressen genau zu dem identifizierten problem.

Nicht einverstanden. Es sei denn, ich bin Missverständnis, was Sie vorschlagen, Ihr vorgeschlagen Veränderung würde bedeuten, jeder könnte der Rundfunk eine neu entdeckte block bei jedem Punkt und haben eine 50% chance, die Gewinner. Das ist ein fundamentaler änderung der Dynamik, wie Bitcoin funktioniert, der erforderlich wäre vorsichtig denken und studieren.

Auch Ihre Lösung hat auch nicht wirklich das problem, das Sie bringen, es ändert nur die Größe der Schwelle erforderlich.

+610
oskarpearson 14.01.2015, 02:23:55

Gute Frage, ich habe mich immer gefragt, auch dieses. Aber ich bin mir ziemlich sicher, dass Elektron, standardmäßig schicken Ihre ältesten nicht benutzten Ausgänge der ersten. (Sorry, wenn Beispiel ist etwas eintönig)

E. g. Wenn man erhielt 0.4 auf Adresse 3 Tagen gemeldet, um 0,2 auf Adresse B vor 2 Tagen und 0,1-Adresse Ein, wieder 1 Tag vor, es würde senden 0.4 " von " - Adresse Ein, dann 0.2, von Adresse B, dann von 0.1-Adresse wieder Ein.

Im ziemlich sicher, Sie können dies ändern, in der Dev-Modus. Ich werde das prüfen.

  1. Wie gesagt, in der Reihenfolge der ältesten nichtgenutzten Ausgänge (balanciert)

  2. Ja, Sie können das senden von mehreren Adressen. Aber es wird versuchen, das senden von einer Adresse, wenn möglich.

  3. Versuchen Sie, die Münze Auswahl-Einstellung in den Einstellungen.

EDIT - Ah, ja, Sie können es ausgeben, die von bestimmten Adressen. Gehen Sie in Ihrem Elektrum-Einstellungen, und legen Sie die "Münze" Auswahl-Modus auf Privatsphäre.

+481
tan4ik1977 13.07.2011, 18:41:45

Wie macht man daraus den Erlösen Skript für den neuen Pay-to-Zeuge Pubkey Hash-Adressen? Mit bestehenden P2SH es ergab nach Angabe N Anzahl der Öffentlichen Schlüssel über einen createmultisig Funktion im bitcoin-client. Ist es das gleiche, nur einen einzigen öffentlichen Schlüssel durch eine createwitness oder ähnliche Funktion?

Es ist derzeit verfügbar für das hantieren mit auf testnet?

+465
Tyler Abair 21.01.2016, 11:11:46

Er sagte, dass die letzten zwei Jahre, bitcoins hat schon an Wert verloren hat. Was würde in Zukunft geschehen? Und was ist der Grund dafür?

+390
Kumar Sunny 23.11.2014, 10:10:43

wenn Sie möchten, verwenden bitcoin core haben, müssen Sie installieren blockchain. vielleicht können Sie prune-Modus nach seiner völlig synchronisiert.

Wenn Sie möchten, verwenden Sie JSON-RPC-ohne die Installation der blockchain, ich schlage vor, Sie verwenden electrum-Server. Sie können schicken JSON-RPC-Befehle, ohne etwas zu installieren. Sie sich nur mit jemandem zu server.

die Befehle nicht das gleiche wie bitcoin-core, zum Beispiel, können Sie nicht createrawtransaction , aber Sie können jede beliebige Adresse balance-oder Transaktions-details.

wenn Sie arbeiten möchten, mit bitcoin-cash, können Sie eine Verbindung zu electrum bitcoin-cash-Servern.

überprüfen Sie, Elektron Protokoll-Methoden hier.

+324
Simsons 09.01.2010, 21:15:08

Der Titel sagt alles. Ich habe einen privaten Schlüssel, der BIP38 verschlüsselt:

6PYVdYvBaMXD7bFNJwMh8DCTxcBQjzyPmqwdqdp2pbkyyfuacph7vzjean

Gibt es eine Möglichkeit zum ableiten der Adresse vor, dass nur Informationen?

+281
MDMarra 25.07.2010, 04:09:30

Die Frage ist hier verdreht.Bergleute zu finden, die nonce, die mit Ihrer Rechenleistung inorder, um das zu lösen schwierige Rätsel und fügen Sie den block auf blockchain.

+194
Perdition 27.11.2011, 09:39:27

Ich hatte BTC in der Bitcoin-Wallet-während die harte Gabel und würde gerne meine bitcoin-cash. Zog ich alle BTC aus der Brieftasche, die vor dem bitcoin gold passiert ist.

+194
bettyharven 11.03.2017, 12:43:09

Ich habe gelesen, dass Satoshidice mit einem der Ausgänge von der Wette, die Transaktion zu finanzieren, die die Reaktion der Transaktion.

  1. Kann mir jemand eine Erklärung/Beschreibung, wie die bitcoin Griffe solcher Transaktionen.
  2. Was ist der Grund dass solche Transaktionen?
  3. Wenn das Protokoll nicht erlauben unbestätigten nichtgenutzten Ausgänge verwendet werden, würde das für bitcoin unbrauchbar?
+158
Yogesh Handore 14.12.2017, 22:51:03

Es bedeutet wahrscheinlich, dass Ihre bitcoind hat nicht genug Speicher, um die Anforderung abzuschließen.

+156
Nathan Garabedian 23.11.2010, 07:12:54

Ich war auf der Suche nach scripts, die auf die blockchain zu testen, mein Programm, und ich traf eine seltsame scriptPubKey in das tx , das ich nicht verstehen konnte.

Die opcodes sind

pk1 = 02085C6600657566ACC2D6382A47BC3F324008D2AA10940DD7705A48AA2A5A5E33
pk2 = 03F5D0FB955F95DD6BE6115CE85661DB412EC6A08ABCBFCE7DA0BA8297C6CC0EC4
hash1 = D68DF9E32A147CFFA36193C6F7C43A1C8C69CDA530E1C6DB354BFABDCFEFAF3C
hash2 = F531F3041D3136701EA09067C53E7159C8F9B2746A56C3D82966C54BBC553226

OP_PUSHDATA <pk1>
OP_CHECKSIG
OP_SWAP

OP_PUSHDATA <pk2>
OP_CHECKSIG
OP_SWAP

3 OP_PICK
OP_SHA256
OP_PUSHDATA <hash1>
OP_EQUAL

3 OP_PICK
OP_SHA256
OP_PUSHDATA <hash2>
OP_EQUAL

OP_BOOLAND

4 OP_PICK
OP_SIZE OP_NIP
OP_PUSHDATA 0x20
OP_PUSHDATA 0x22
OP_WITHIN

OP_BOOLAND

3 OP_PICK OP_NIP
OP_PUSHDATA 0x20
OP_PUSHDATA 0x22
OP_WITHIN

OP_BOOLAND

OP_IF

3 OP_PICK
OP_SIZE OP_NIP

3 OP_PICK
OP_SIZE OP_NIP

OP_EQUAL
OP_PICK

OP_ELSE
OP_BOOLAND
OP_ENDIF

Ich habe versucht, irgendwie zu entziffern, und das ist der pseudocode in meinem Verständnis

bool pk_script(dat1, dat2, sig1, sig2) {
 wenn (sha256(dat1) == hash1 &&
 sha256(dat2) == hash2 &&
 Größe(dat1) == 32 oder 33 &&
 Größe(dat2) == 32 oder 33) {
 if (size(dat1) == size(dat2)) {
 zurück checksig(sig2, pk2);
 } else {
 zurück checksig(sig1, pk1);
}
 } else {
 zurück checksig(sig1, pk1) && checksig(sig2, pk2);
}
}

Wenn dies richtig ist, kann ich nicht verstehen, was der Zustand der wichtigsten, wenn versucht, zu tun, noch kann ich sehen, die Bedeutung der ersten Verzweigung.

Die Ausgabe war ausgegeben in dieser tx , die nur schiebt zwei leere Saiten und zwei Signaturen in der scriptSignature.

Könnte bitte jemand erklären, was bedeutet der rest des Skripts neben der überprüfung der Gültigkeit von zwei Signaturen?

+38
Majunche pineds 29.10.2018, 04:58:38

Fragen mit Tag anzeigen