Bitcoin Forum
December 14, 2024, 10:47:15 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: segvan: Segwit vanity address & bulk address generator  (Read 2608 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
mattcode
Copper Member
Member
**
Offline Offline

Activity: 282
Merit: 31


View Profile
March 10, 2018, 02:29:02 PM
 #21

I’ve also been seriously mulling ideas for an online service which finds “vanity tweaks” for a private key held by a user—essentially, convenient results from rented time on powerful CPUs in the “cloud” (much though I loathe that word).  I’m curious as to how popular such a service could be.  Anybody interested?

I'd be interested in a service like that. Please could you PM me if you ever get round to doing it? Thanks Smiley
Velkro
Legendary
*
Offline Offline

Activity: 2296
Merit: 1014



View Profile
March 16, 2018, 02:28:20 AM
Merited by TheQuin (1)
 #22

If you want this to become more popular like vanitygen original version, you need to make windows version of it.
Most users using Windows while generating their private keys. You need above average knowledge to compile it yourself and use linux.
mattcode
Copper Member
Member
**
Offline Offline

Activity: 282
Merit: 31


View Profile
March 19, 2018, 09:46:50 PM
 #23

I just used segvan to find 3Jjjjj8466bZXCFJQGDk1reaAXwrri39Vz, 3AAaAAMy2auJ1c5wCRj7Qbzx8qshh9cVrx and 3FffFFLntXU14ePkYK3pyASx2Smaw5TfF1 Smiley

Unfortunately I had to build from master instead of the sipa_grind branch so I think I'm missing out on the huge performance improvements. Is the sipa_grind meant to be working right now?
Sellingaccs
Member
**
Offline Offline

Activity: 126
Merit: 50

Ask me for Pools, Nodes and Explorers.


View Profile
March 19, 2018, 10:03:49 PM
Merited by examplens (1)
 #24

I just used segvan to find 3Jjjjj8466bZXCFJQGDk1reaAXwrri39Vz, 3AAaAAMy2auJ1c5wCRj7Qbzx8qshh9cVrx and 3FffFFLntXU14ePkYK3pyASx2Smaw5TfF1 Smiley

Unfortunately I had to build from master instead of the sipa_grind branch so I think I'm missing out on the huge performance improvements. Is the sipa_grind meant to be working right now?

What do you mean by that?
Native segwit addresses are done by this kind of command:

Code:
pc@pc:~/segvan$ ./segvan -r accs
compiled (0): 'accs'
bc1q4ej7d9yaka24ghnfkqhktuxlt8k5tqc2accss5 L86rNnCuGzCxPQZeGJocdzvT6c9spWuijYbjkB4vVwFaA26RckbU
bc1q8accspnwkteu0d4yydxaec0kspcg9es8fqvznp L5wk4v2xUULZrSwjumi1katxLapyqnZ5U1Rh6bqrUeDaeEzBDMQe
bc1q92yk24thhqputldhj4vf3x5npd7rfvaccsadhv L7E2n4P3BGoCSWmm8t9YrMx4UhH1bBALLaZq9xzzR3jeETVvWhzA
bc1qgazsndk2ksqdyl92ph5mmp6vfn8e37d0kmaccs LAGJhxfahkxKbh9SrSNSBj2JnimetaWJVmZ6FusDC7nUrtNaHxWb

And P2SH or standard segwit addresses (P2SH) with following pattern:
Code:
pc@pc:~/segvan$ ./segvan -R accs
compiled (0): 'accs'
3NDkUtbB9kQ5zyHP5czbACCsE1eK5mPFfh LKtPttHctrUvKzuST1iREHTSXTPa8JaTnhTYEEQCUpwLwEx2PzyE
3NkaCcsVF9nzamuf7djJxiZ8tnmbiNbiRT LMEeJUeb7PXumEA4bVbTQzGehviu57REmHRJyV62wYjT2GKGrDZk

All of those are done with the same pattern, allthough different kind of options. The later on option with "-R" is supported by more people, rather than the standard segwit addresses shown by the first pattern. Im not that familiar with nullius's segwit address vanity generator, but feel free to quote or PM and ask questions if you have any problems.
Im not really that experienced with this script, and probably nullius will be able to advise you better.

Best Regards, Sellingaccs

mattcode
Copper Member
Member
**
Offline Offline

Activity: 282
Merit: 31


View Profile
March 19, 2018, 10:08:17 PM
 #25

I just used segvan to find 3Jjjjj8466bZXCFJQGDk1reaAXwrri39Vz, 3AAaAAMy2auJ1c5wCRj7Qbzx8qshh9cVrx and 3FffFFLntXU14ePkYK3pyASx2Smaw5TfF1 Smiley

Unfortunately I had to build from master instead of the sipa_grind branch so I think I'm missing out on the huge performance improvements. Is the sipa_grind meant to be working right now?

What do you mean by that?
Native segwit addresses are done by this kind of command:

Code:
pc@pc:~/segvan$ ./segvan -r accs
compiled (0): 'accs'
bc1q4ej7d9yaka24ghnfkqhktuxlt8k5tqc2accss5 L86rNnCuGzCxPQZeGJocdzvT6c9spWuijYbjkB4vVwFaA26RckbU
bc1q8accspnwkteu0d4yydxaec0kspcg9es8fqvznp L5wk4v2xUULZrSwjumi1katxLapyqnZ5U1Rh6bqrUeDaeEzBDMQe
bc1q92yk24thhqputldhj4vf3x5npd7rfvaccsadhv L7E2n4P3BGoCSWmm8t9YrMx4UhH1bBALLaZq9xzzR3jeETVvWhzA
bc1qgazsndk2ksqdyl92ph5mmp6vfn8e37d0kmaccs LAGJhxfahkxKbh9SrSNSBj2JnimetaWJVmZ6FusDC7nUrtNaHxWb

And P2SH or standard segwit addresses (P2SH) with following pattern:
Code:
pc@pc:~/segvan$ ./segvan -R accs
compiled (0): 'accs'
3NDkUtbB9kQ5zyHP5czbACCsE1eK5mPFfh LKtPttHctrUvKzuST1iREHTSXTPa8JaTnhTYEEQCUpwLwEx2PzyE
3NkaCcsVF9nzamuf7djJxiZ8tnmbiNbiRT LMEeJUeb7PXumEA4bVbTQzGehviu57REmHRJyV62wYjT2GKGrDZk

All of those are done with the same pattern, allthough different kind of options. The later on option with "-R" is supported by more people, rather than the standard segwit addresses shown by the first pattern. Im not that familiar with nullius's segwit address vanity generator, but feel free to quote or PM and ask questions if you have any problems.
Im not really that experienced with this script, and probably nullius will be able to advise you better.

Best Regards, Sellingaccs

Sorry, I meant that everything was working fine, but after reading some previous posts I thought that there would be some magic performance improvements hidden away in the sipa_grind branch to try before I started throwing a load of hardware at finding some nice addresses.
Sellingaccs
Member
**
Offline Offline

Activity: 126
Merit: 50

Ask me for Pools, Nodes and Explorers.


View Profile
March 19, 2018, 10:17:08 PM
 #26

Sorry, I meant that everything was working fine, but after reading some previous posts I thought that there would be some magic performance improvements hidden away in the sipa_grind branch to try before I started throwing a load of hardware at finding some nice addresses.

So do you need help compiling that btach, or what is your point?
If you need help compiling, i will need to know your linux distribution for it.

Let me know if you need such a help via PM, and i will post the guide here publicly (will compile through a VM (Virtual Machine)).
To me it seems just very unclear what kind of help you need here, if you need any.

nullius (OP)
Copper Member
Hero Member
*****
Offline Offline

Activity: 630
Merit: 2614


If you don’t do PGP, you don’t do crypto!


View Profile WWW
March 29, 2018, 04:29:51 PM
 #27

Notice:  As a pseudonymous developer who can only pay in BTC, I am currently seeking a legitimate means of Amazon EC2 access.  The most immediate (but not only) motivation therefor is for work on a segvan client/server trustless tweak generator.  Trustworthy persons with their own EC2 accounts are invited to work with me.  This is for long-term legitimate development:  I am NOT trying to buy an account; offers of such will be treated as spam.

(Translation:  Plan A embraced BCH, and lacked EC2’s flexibility anyway.)





I’ve also been seriously mulling ideas for an online service which finds “vanity tweaks” for a private key held by a user—essentially, convenient results from rented time on powerful CPUs in the “cloud” (much though I loathe that word).  I’m curious as to how popular such a service could be.  Anybody interested?

I'd be interested in a service like that. Please could you PM me if you ever get round to doing it? Thanks :)

Please see above.  I’m currently trying to do a 245 (9 characters of Bech32) search on a very slow laptop; I estimate that after both cores spin sipa’s keygrinder 24/7 for two months, I will then have about a 1% chance of having found a match.  Getting access to some fast cloud computing would give me both the impetus and the opportunity to develop a production-quality client/server implementation.





I just used segvan to find 3Jjjjj8466bZXCFJQGDk1reaAXwrri39Vz, 3AAaAAMy2auJ1c5wCRj7Qbzx8qshh9cVrx and 3FffFFLntXU14ePkYK3pyASx2Smaw5TfF1 :)

Unfortunately I had to build from master instead of the sipa_grind branch so I think I'm missing out on the huge performance improvements. Is the sipa_grind meant to be working right now?

I also noticed the 333333mR6i1xHnDQAy1xUwvbGXFqjGgzUU address in your signature and profile!

Apples to apples, rounding liberally, the same patterns with the same codepath give me about 7000 keys/sec generating keys one by one, and 35000 keys/sec with sipa’s keygrinder.  Thus, about a 5x speedup.  (For comparison, with OpenSSL on the same hardware, I maxed out at about 1400 keys/sec.  Core’s secp256k1 really blows OpenSSL away; it is something to be most thankful for when synching the blockchain.)





If you want this to become more popular like vanitygen original version, you need to make windows version of it.
Most users using Windows while generating their private keys. You need above average knowledge to compile it yourself and use linux.

Please see the discussion of Windows porting in a Segwit vanity address generator request thread which pushed me to make an initial release of segvan.

My current priorities are approximately:

0.0. Stable, feature-complete, well-tested implementation on FreeBSD and Linux.  This is much more popular than I’d expected when I whipped up v0.0.0 on an idle afternoon in December.  I want to do it right.

0.1. Packaging on FreeBSD ports and at least one or two popular Linux distributions such as Debian (depending on acceptance by those with commit bits).  This would cut down on the “above average knowledge to compile it” part.  As of this writing, there are 31593 FreeBSD ports available; and the Debian homepage currently claims >51000 packages.  I understand that lack of application compatibility is one of the major problems faced by Microsoft Windows users; and if I have a popular application, I will try to see how I can help with that.

1. Online services, possibly including a stripped-down trustless tweak generation client usable in some way with Microsoft Windows, among others.  This is a high priority to me, since I myself am poor in hardware; and the v1 network protocol I have in mind would make it almost trivial to support securely ordering up vanity addresses from your Windows PC, your iPhone, or whatever.

2. If that does not resolve demand, then maybe a Windows port, potentially with fewer features.  The modularization I am now doing should help with portability.  For example, one of the first roadblocks I hit with a mingw build was POSIX regex support.  The ultra-fast prefix checker I’m currently playing with is portable C code; a Windows build might include that and omit regex support, at least initially.





Code:
pc@pc:~/segvan$ ./segvan -r accs

Anchored regexes will usually be significantly faster (or less slow, depending on your perspective).  Thus, try ^bc1qaccs unless you truly desire every match appearing anywhere in the string.  Giving the HRP/separator prefix is necessary, since segvan currently matches against a whole address; and no warning will be given if you provide an impossible pattern.

BenOnceAgain
Member
**
Offline Offline

Activity: 208
Merit: 84

🌐 www.btric.org 🌐


View Profile WWW
April 01, 2018, 04:18:59 PM
 #28

Notice:  As a pseudonymous developer who can only pay in BTC, I am currently seeking a legitimate means of Amazon EC2 access.  The most immediate (but not only) motivation therefor is for work on a segvan client/server trustless tweak generator.  Trustworthy persons with their own EC2 accounts are invited to work with me.  This is for long-term legitimate development:  I am NOT trying to buy an account; offers of such will be treated as spam.

Hi "Michael",

Hope you are doing well.  If you still need access to AWS, please DM me and I can provide that.

Best regards,
Ben

Dream it. Plan it. Build it.
Need help with your project? [MY WEBSITE] | [MY COMPANY] | [BLOG] | [TWITTER] | [LINKEDIN] | [EMAIL]
Want to help support the blockchain charity I'm building? [LEARN ABOUT BTRIC] | [DONATE] | [TWITTER] | [EMAIL]
Blazin
Newbie
*
Offline Offline

Activity: 44
Merit: 0


View Profile
September 05, 2018, 11:06:29 PM
 #29

Nice work. I used the faster branch of Segvan to generate a few addresses in the last day and a half on my Ryzen CPU with 8 instances. The string I wanted was computationally difficult to come by. It probably would have taken forever on Vanitygen, if gmaxwell's post is anything to go by.

You want this code:  https://github.com/bitcoin-core/secp256k1/pull/507  it will be astronomically faster than your current code.

I believe when I previously implemented the techniques in this code my result was faster than vanitygen on a GPU.

It could also be made faster still with some improvements.  E.g. it doesn't actually need to compute the y coordinate of the points, so several field multiplications could be avoided in the gej_to_ge batch conversion.   It could also avoid computing the scalar for any given point unless you found a match. (E.g. by splitting the scalar construction part into another function which you don't bother calling unless there is a match).


Another advantage of this code is that it is setup to allow an arbitrary base point.  This means you could use untrusted computers to search for you.

Sipa also has AVX2 8-way sha2 and ripemd160 that he might post somewhere if you asked.  An 8-way bech32 checksum generator should be really easy to do, though if your expression doesn't match on the final 6 characters you should avoid even running the checksum.
DiamondCardz
Legendary
*
Offline Offline

Activity: 1134
Merit: 1118



View Profile WWW
October 24, 2019, 08:16:27 PM
Last edit: October 24, 2019, 10:12:02 PM by DiamondCardz
 #30

Old thread, but pulled this up as I've been trying to make a segwit vanity address and this seems to be the best option now. I know this is a fairly big gravedig but I'm currently using this on an eight-core cloud machine (with all egress blocked) to try to find a vanity address containing 'Diamond' - now trying to just make one with 'DCardz' at the start to save time.


(I've since gone from running it on 8 cores to 12 cores)

I've tested it with smaller addresses and it works well. I wonder where the original creator went, though. Are there any alternatives to segvan which are being maintained by members of the community who are still active or is this the main option? Anything faster floating about perhaps?


Leaving the previous for posterity but I've now realized that Jean_Luc maintains a vanity address generator that supports segwit. Github link is here. It doesn't appear in searches however, while this one appears quite high. Hopefully by posting on this people who are looking for a segwit vanity generator will see this post and be redirected

BA Computer Science, University of Oxford
Dissertation was about threat modelling on distributed ledgers.
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!