Wie generiere ich eine zcash Vanity-Adresse?

Ist die Version der Hauptnetzwerkadresse für zcash bereits bekannt? Ist es möglich, bereits eine Mainnet-Adresse zu generieren?

Dies könnte es Minern ermöglichen, ab Minute 0 mit dem Mining in einem anonymen Pool zu beginnen. Die Adressen können ohne das Netzwerk existieren, da sie nur ein kryptografisches Schlüsselpaar sind.

Ich habe die Kettenparameter im Quell-Repository überprüft .

Es sieht so aus , als ob t-Typ-Adressen mit beginnen t1und Multisig mit t3.

// guarantees the first 2 characters, when base58 encoded, are "t1"
base58Prefixes[PUBKEY_ADDRESS]     = {0x1C,0xB8};
// guarantees the first 2 characters, when base58 encoded, are "t3"
base58Prefixes[SCRIPT_ADDRESS]     = {0x1C,0xBD};

Und aus dem Protokoll :

In Bitcoin wird ein einzelnes Byte für das Versionsfeld verwendet, das den Adresstyp identifiziert. In Zcash werden zwei Bytes verwendet. Bei Adressen im Produktionsnetzwerk führt dies zusammen mit der codierten Länge dazu, dass die ersten beiden Zeichen der Base58Check-Codierung als „ t3 “ für P2SH-Adressen und als „ t1 “ für P2PKH-Adressen festgelegt werden. (Dies bedeutet nicht, dass eine transparente Zcash-Adresse identisch mit einer Bitcoin-Adresse analysiert werden kann, indem einfach das „ t “ entfernt wird.)

Aber wie erzeugt man sie? Noch nie duale Präfixe gesehen. Und was ist die Adressversion? Mein Vanitygen kommt damit nicht zurecht.

Antworten (1)

Um einfach eine neue Hauptnetzwerkadresse zu generieren, können Sie das offizielle zcash-cli so verwenden:

$ zcash-cli getnewaddress
t1fMAAnYrpwt1HQ8ZqxeFqVSSi6PQjwTLUm

Oder:

$ zcash-cli z_getnewaddress
zcHTYUQRA54WGdcNtLRx1yRyvEJjLD8NAK4S7FbEGoqB1s5En4syEStMnJPRMAD8XmF9xgeKnCEuZ7g35LcNpMhRDZX4PDw

Vanity ist ein bisschen knifflig, aber es gibt hier einen Offline-Wallet-Generator ( forum , gitub ).

Es kann installiert werden über go:

$ export GOPATH="$GOPATH;/home/user/.go"
$ go get -u github.com/btcsuite/btcutil
$ go get -u github.com/blackkeyboard/mneumonic
$ go get -u github.com/blackkeyboard/zgenerate
$ go install github.com/blackkeyboard/zgenerate

Danach kann es gültige (?) Zcash-Adressen generieren.

$ ~/.go/bin/zgenerate 
2016/10/28 10:42:09 Wallet generated!
2016/10/28 10:42:09 Passphrase: afraid master w...
2016/10/28 10:42:09 Address                                Private key
2016/10/28 10:42:09 t1eTNgQHp7ei42ZtVRJ8jmUrsfu3rQqpXKt    cQM...

Nun, um Eitelkeit zu erzeugen, braucht es vorerst einige Bash-Tricks. Und viel Speicherplatz, solange niemand einen richtigen Vanity-Generator programmiert.

Generieren Sie zunächst viele Adressen und leiten Sie die Ausgabe an eine Datei weiter:

$ while true; do ~/.go/bin/zgenerate -n 99 >> keypairs.txt 2>&1; done

Suchen Sie in einer anderen Shell nach den Ergebnissen

$ grep -i t1 keypairs.txt | awk '{print $3}' | grep -i 5chd
t1MniMQux3755CHdMdVEtk71GzDkrLjmMbL
t1QMERYYnhCTdpreFwp5chdhqejr7NxRJvK
t1euq6Yg5chDcdEd9LCmwDPizqAU6uBF5Lt
t1PqrCEUW5ChDcaxe9qsQjPiCVt5qd727qH
t1h5ouE263Ccuo5ChDwWRn9HJCMrT3DR7gN
t1Qo5cHDbNBaoaFTKJLrWHBFPoqBZjRRLAS
t1W5cHDhrAnHERt9Tv3r6cgRh9hKybRbn7q
t1dViyc3SQatNZXnoMwcFLB1ELTHNwT5chD
t1e7D5qgdpbxNLoi5ChdTpLFauz8VrQJ2He
t1Va5cHdqLWmnHeAycS9y3qoP3rDAyPJubD
t1UszZECKVPgFpjkYKubyC5chduhSTQscPz
t1LjhytxXj9YLzeBikShm2kj78N5chdkJkm
t1MyW2vggvzHKjPCZDcd5cHdDPsvYMXCp8F
t1UMn4PpwnvPBH6hiunhoXbXRqBoJz5CHDo
t1aohPrSU7bFsC5CHDEPi5Ed7mVxvnNjeuq
t1cMAXhkVSaPcGmzVwN15cHduRKpbLtFJ1H
t1NZRXnKdACxU9xYH9P5chdTcNZfFQ6mT5L
t1QXXyYidirdW4KQz5ChDtYGestzDJ9FyiS
t1cHMeeWtGqnduj5chDFXka8krJMLtDoiJb
t1Pv4zxf5ChDXsCiKkajeJ1qpkQyv1MbSTd
t1KftUZAas3mAyKL5chd97nbDz8S2iF8PQF
t1WQYSvAWPLFHh9gyg6m635CHD3A49C9AvH
t1cuG5ChdTvE864hCKbM9tpToYNU4u8QWA6
t1bTuRMnbJMG1z2tRySoz5cHD1VB6mNFKAX
t1MX7GuYdMcKH9nWgc5chDj99qgd9H1186i
t1VvKMh2LRiTeUY3B5p5oa5CHDWhzK5ZMxB
t1Z34PDzF5CHDfnvJdRFUsQQCWTys2Wv4FE

Stoppen Sie, wenn Sie zufrieden sind.