Bitcoin Forum
May 08, 2024, 06:25:34 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 »
1161  Bitcoin / Project Development / Re: 16000 trillion addresses, LBC Pot payout and Gkeys forfeiture on: November 06, 2017, 02:39:50 PM
Every time the LBC reaches a bit boundary in the search space (53 bits, 54 bits, ...) the current LBC pot will be distributed proportionally according to the Gkeys delivered among those who were active in the week before the LBC hits this boundary. This means, if you look at your Per-User statistics (e.g. https://lbc.cryptoguru.org/stats/__rico666__) at the time the LBC crosses this boundary, there can be no single 2h average point with 0 Mkeys/s or else you are not eligible - no matter how many Gkeys you have submitted so far. On the other hand, the speed in there (as long as it is above 0 Mkeys/s) does not have any influence on the payout - only your Gkeys delivered so far do.

I feel like we are going to reach the next bit boundary of the search space. Maybe we are already in the week before the end of the 53 bits. Thanks to Unknownhostname.
1162  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: November 02, 2017, 09:39:47 AM
Has anyone seen a calculation on how many attempts it should take to have a high chance of finding a collision? (The binomial probably) I tried calculating it but the library I used wasn’t able to handle the large numbers.

This is a very interesting question, in the next days I will add a section called "Probability & LBC".
1163  Bitcoin / Development & Technical Discussion / Re: Vanity Pool - vanity address generator pool on: November 01, 2017, 03:03:01 PM
A couple of question about https://vanitypool.appspot.com/

1) How can I know if I have to use compressed or uncompressed keys for the search? For example, in this case:

https://vanitypool.appspot.com/availableWork   -->  "11111111"
public key: 04C13D9CF2B0E382A4AF29C5E2B97F85C6DD9445F7DCE82CD7207E6FC4716511981B0012C10B39EF1 52257A8407A2965F92F075379D311D5786D9421795B82D01C

can I use only compressed keys?

I found this public key:

Code:
a15f585a9d39a8a091962d11af1e96320fc3543b5201a8c9b12eedf695bad359 3b6621eddf4207bd186c8293c6b497555594b32d2eb9c09ae8f81791a0dfde48

if I add it with the public key
Code:
C13D9CF2B0E382A4AF29C5E2B97F85C6DD9445F7DCE82CD7207E6FC471651198 1B0012C10B39EF152257A8407A2965F92F075379D311D5786D9421795B82D01C

I get this public key

Code:
83f0e53639fbcead931a0d19eb3f3f6684dc75fac68a8c5dbc21cdb8b4ecfb19 d933c437e192b2b6dd27a6b9d09e6470ca220ed27d4bcb05251b1d0e47adad90

in compressed format

Code:
0283f0e53639fbcead931a0d19eb3f3f6684dc75fac68a8c5dbc21cdb8b4ecfb19 

that gives this address (only 7 '1'):

Code:
11111113ix5Nw6kgetPaMBCWBdp5TTfX 

My question is: if I found a match with the pattern "11111111", would it be valid? Or do I have to use only uncompressed keys?

I don't want to waste time with a fruitless quest.
1164  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: November 01, 2017, 10:10:03 AM
I want to make some comments on how LBC works.  I take inspiration from this Wuille's comment: https://bitcoin.stackexchange.com/questions/54841/birthday-attack-on-p2sh/54844

The aim of the following considerations is to help bitcointalkforum's users to understand better what (and why) LBC is doing.

For this reason,  I will make some simplifications, like 20M = 2^24 instead of 20M = 2^24.2535 and so on. In this context above all I care about the concepts.

*************************************************************************************************************************************************************************************************
THE THEORY


The theory:

    1) Preimage search: given a hash H, find X such that Hash(X) = H.

    2) Collision search: find an X and a Y, such that X != Y and Hash(X) = Hash(Y).

These 2 problems look similar, but they are actually very different. In our context, X is a public key, H = hash160(X) is a bitcoin address:

    1) Preimage search:  given a particular address H, find a public key X such that hash160(X) = H.

    2) Collision search:  find two public keys X and Y, such that X != Y and hash160(X) = hash160(Y) .

A preimage search for a 160-bit hash function needs 2^160 steps. A collision search however only needs 2^80 steps.

Example of a preimage search:

  You choose a particular address H.
  Then you generate:

  2^160 public keys Xi and store the corresponding addresses Hi = hash160(Xi)
  in a list L= {H1, H2, H3, .....H2^160}

 If they are all different, you will get surely a match between an Hi and the H you chose (Hi = H). So we say that there are needed 2^160 steps to find an Xi (a pre-image) of H=Hi.

Note: Xi is only one preimage, since we don't know how H was generated, we can't say we have found a collision (we don't have two different public keys but only one that produces for sure H)


Example of a collision search:

Your purpose here is to find a couple ("collision" implies always at least two) of public keys X and Y that generate the same address H, any address H, you can't choose it.
 
 You generate:

  a list L1 of 2^80  random addresses Hi       =>   L1= {H1, H2, H3, .....H2^80}   where Hi = Hash160(Xi)
  and
  a list L2 of other 2^80 random addresses Aj => L2= {A1, A2, A3, .....A2^80}  where Aj = hash160(Yj)
 
  "You sort both lists. Then you go through both lists, and find a hash that exists in both in a single iteration. This is the critical point. It is likely that such a collision exists,
   because even though there are only 2^80 entries in each list, there are 2^160 combinations of entries. Each of those has a 2^(-160) chance to be a collision.
   This is also the explanation of the Birthday Paradox, and such an attack is therefore called a birthday attack.
" (Wuille)
 
  So we say that there are needed 2^80 steps to find an Xi and Yj (a collision) such that Hi=Aj.


If you noted, the difference between the first case (preimage) and the second one (collision) is that in the first case we are looking for something we chose, a particular address (in LBC we have the UTXO data set, we are assuming now for the sake of simplicity it is always the same during the research) and we get only one preimage (one public key), in the second case we find two public keys that correspond to a random address.


To sum up, we can think at these 2 problems using 2 lists:

preimage search:

L1 = {H1, H2, H3, .....H2^160} --> you have to generate randomly 2^160 addresses -> 2^160 steps

L2 = {H}  --> H is the particular prefixed address you chose


collision search:

L1 = {H1, H2, H3, .....H2^80} --> you have to generate randomly 2^80 addresses

L2=  {A1, A2, A3, ..... A2^80}  --> you have to generate randomly 2^80 addresses -> 2^80 steps (2^81 at the most)


The fact that the number of the elements of the 2 lists in the second case is the same (this number is equal - more or less - to the square root of the number of the elements in L1 in the first case) makes less expensive to perform a collision search.
This point is very important.

A metaphor to visualize the difference between a preimage search (looking for a prefixed target using randomly generated elements) and a collision (a chance "encounter" between two elements of two random sequences):

imagine you are in a room.

1) In that room there is a fixed target (a single point). If a fly moves randomly, what are the chances that it hit the target? Very low (this is a preimage, to hit a specific target using randomly generated addresses).

2) Now imagine that the target turns into another fly.
Then we have two flies that move randomly in the room. What are the chances that one hit the other one? Much more. This is a collision.

*************************************************************************************************************************************************************************************************+

*************************************************************************************************************************************************************************************************
THE CURRENT LBC APPROACH


Ok, now how is the LBC's approach in relation to these two problems?

To start, LBC performs a preimage search, where L2 contains not only 1 but 20M = (about) 2^24 addresses taken from the UTXO data set:

preimage search:

L1 = {H1, H2, H3, .....H2^160} --> we can think that it is randomly generated

L2 = {A1, A2, ......, A2^24}  --> UTXO data set, it is not randomly generated!!!

in this case you can note that there are 2^160 * 2^24 combinations of entries, then we can reduce L1 from 2^160 to 2^136 addresses:

L1 = {H1, H2, H3, .....H2^136}  --> the addresses we have to generate to get a single preimage

L2 = {A1, A2, ......, A2^24}      --> the UTXO data set, these are "data", we don't have to compute these

I repeat: we are taking care of a preimage search problem.  In LBC project we call "collision" what actually is a "preimage". Infact our difficulty is nearer to 160 bit than 80 bit. We want to find preimages (public keys) only of some particular hashes (addresses from UTXO).

Now imagine we find a preimage, i.e. we find a public key Xi such that  Hi = Aj for some Aj in L2 (remember: Hi = hash160(Xi))

Then, only if we can prove that the public key Xi is different from the public key Yj that produces Aj, we can claim to have found a real collision too (usually we don't have Yj, how to get this information is a real problem)
Only in this case we can go from a single preimage to two preimages and then get a real collision.

*************************************************************************************************************************************************************************************************

*************************************************************************************************************************************************************************************************

SOME IDEA FOR THE FUTURE

Can we improve the odds to find a preimage/collision?

My guess: we should extend the L2 list (and extend the corresponding bloom filter to not rise the false positive rate, but this is a technical issue)

Remember: if L2 becomes bigger, then L1 becomes smaller, and L1's size is the difficulty of our task (because: size_of_L1 = 2^160 / size_of_L2).
L2's elements can be collected and stored easily, those of L1 don't, L1 is too big.

To extend L2, we have these possibilities:

1)  we wait for bitcoin's net grows up naturally

2)  we generate a few random millions of addresses (but in this way we shift from a preimage search to a purely random collision search task)

3) we use addresses already generated and stored in blockchain even if they have no more bitcoin (always interesting for me; besides, if we find a preimage of one of these addresses, then we will know for sure if we have a collision too, because all the addresses with at least an output transaction have already exposed their public key)


Narrow down the list L1 is a way to speedup our search, on the other hand we need to rise the speed at which we generate the list L1. Any idea is welcome.
To speedup my ECC library I need to realize a couple of assembly functions. I don't know so much about assembly. If someone is able to help me, I will be happy.  Smiley

*************************************************************************************************************************************************************************************************
1165  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: October 30, 2017, 03:10:43 PM
Just my opinion:

when you delete an account, why its Gkeys are added to the other active accounts? Personally I like to know exactly how many keys I have delivered. I don't need the Gkeys from other accounts. I prefer to see an accurate record.

You could gather all the Gkeys from the account deleted in a single generic account "other" that doesn't appear  in the top 30.


A few hours ago, the LBC computed it's 16000 trillionth address (8000 trillion keys, each key compressed & uncompressed pubkey -> 2 addresses per key).

Then the Unknownhostname's share has fallen below 50% of the total amount.
1166  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 29, 2017, 10:29:28 AM
I have a my own generator (for Linux) that produces private key + address but not in base58 format.

I have another program in Python too that produces private key + address, I should search it. I don't remember performance, but surely much more than 1500keys/s. Are you interested?

This smells like jhdscript will soon open a new topic: 'Please Help! My Bitcoins have been stolen.'
My answer might be: 'Sorry for your loss'

Thanks for the trust.   Cheesy

Anyway my program generates only "consecutive" keys. You provide:

1) the private key to start from
2) how many keys you want to compute

and it generates the corresponding addresses (hash of public keys, not base58 encoded). This is the output if you start from key = 1:

Code:
0+0000000000000000000000000000000000000000000000000000000000000001   751e76e8199196d454941c45d1b3a323f1433bd6
1+0000000000000000000000000000000000000000000000000000000000000001   06afd46bcdfd22ef94ac122aa11f241244a37ecc
2+0000000000000000000000000000000000000000000000000000000000000001   7dd65592d0ab2fe0d0257d571abf032cd9db93dc
3+0000000000000000000000000000000000000000000000000000000000000001   c42e7ef92fdb603af844d064faad95db9bcdfd3d
4+0000000000000000000000000000000000000000000000000000000000000001   4747e8746cddb33b0f7f95a90f89f89fb387cbb6
5+0000000000000000000000000000000000000000000000000000000000000001   7fda9cf020c16cacf529c87d8de89bfc70b8c9cb
6+0000000000000000000000000000000000000000000000000000000000000001   5dedfbf9ea599dd4e3ca6a80b333c472fd0b3f69
7+0000000000000000000000000000000000000000000000000000000000000001   9652d86bedf43ad264362e6e6eba6eb764508127
8+0000000000000000000000000000000000000000000000000000000000000001   b46abf4d9e1746e33bcc39cea3de876c29c4adf3
9+0000000000000000000000000000000000000000000000000000000000000001   185140bb54704a9e735016faa7a8dbee4449bddc
a+0000000000000000000000000000000000000000000000000000000000000001   362995a6e6922a04e0b832a80bc56c33709a42d2
b+0000000000000000000000000000000000000000000000000000000000000001   dd100be7d9aea5721158ebde6d6a1fd8fff93bb1
c+0000000000000000000000000000000000000000000000000000000000000001   57526b1a1534d4bde788253281649fc2e91dc70b
d+0000000000000000000000000000000000000000000000000000000000000001   726d44b7af8228257c030bafe764d3c5839d5c02
e+0000000000000000000000000000000000000000000000000000000000000001   9fc5dbe5efdce10374a4dd4053c93af540211718
f+0000000000000000000000000000000000000000000000000000000000000001   60aa32549d990a09863b8fd4ce611ebd70bb310b
10+0000000000000000000000000000000000000000000000000000000000000001   4f99bbf75707e44bc2afa65337dece914e817aac


It is only up to the user to choose which keys to generate, not up to the program.

Besides I don't think that jhdscript needs to store a so huge amount of addresses to send some bitcoin there. Maybe it is only a statistical project.


@jhdscript

I made 2 tests (writing speed, Xeon CPU E3-1505 3 GHz + SSD, Ubuntu Mate 17.04)

1) supervanitygen:  about 220K keys / minute (8 threads,  that confirms that vanitygen-like program are not suited to your case)

2) my own generator: 75M keys / minute (-> 6,5GB file / minute) per 1 core. I got about 175 Mkeys / minute with 4 cores.

Unfortunately if I try to compile it for Windows the results I get are not correct anymore.  When I will have more time I will give it a look. For now I can't help you  (unless you decide to use Linux).
Honestly I can't figure out why you need to fill an hard disk so fast. It takes about 20 hours to fill 4TB.
1167  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 28, 2017, 05:45:19 PM
I have a my own generator (for Linux) that produces private key + address but not in base58 format.

I have another program in Python too that produces private key + address, I should search it. I don't remember performance, but surely much more than 1500keys/s. Are you interested?
1168  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 28, 2017, 05:24:51 PM
I have already try it but compile under Windows OS failed :-(

You need only addresses or private keys too?
You need addresses in base58 or only as hexdecimal string?
1169  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 28, 2017, 01:39:54 PM
Any ideas are welcome


https://github.com/klynastor/supervanitygen

5 Mkeys/s with 4 Cores (only cpu, only compressed keys)

Code:
sudo apt-get install build-essential automake autoconf libtool libgmp3-dev git

git clone https://github.com/klynastor/supervanitygen.git

cd vanitygen

make
 
./vanitygen -k -t 8 1 > file_addresses.txt

(t is num of thread)

Code:
./vanitygen -h

./vanitygen: invalid option -- 'h'
Usage: ./vanitygen [options] prefix ...
Options:
  -c count  Stop after 'count' solutions; default=1
  -i        Match case-insensitive prefixes
  -k        Keep looking for solutions indefinitely
  -q        Be quiet (report solutions in CSV format)
  -t num    Run 'num' threads; default=8
  -v        Be verbose

Super Vanitygen v0.3

Code:
less file_addresses.txt 

Private Key:   L3FPYTe2DRnECbCY4jgHLQfYfCuMN2Vkw8cXdChv85iChdQRUc5D
Address:       1Fs31wvU5s6cSapgaKJggBXtB3ZgYebLQ7
---

Private Key:   L3pew4fRWmD7qnwhDeBYfaEVGvBiv5tn1VKgVMT3ohxs2ubNJ8Ax
Address:       13Qos8JSu5d1TUfHt7YGKGz87dPv8LDxef
---

Private Key:   L4DChbkEeAtNn7zdQHeUMxrPrPs1iAND4vkopTTKLsxrREbJwYsc
Address:       14v1o8FUqSrAWgPpFZ3pKhR7arfxvKinBB
---

Private Key:   L5JESCLKM3CRqXUrBT4hR4wMdkPLTKW1s2t72SaGd7RcZbDHuYBP
Address:       18icHaTG6R7xaPdJRW9ggmXsoqmuiAPCfs
---

Private Key:   L1w3oktocmFMmKEqvmHNL15bNW1A7BWRSbARS7RRghvaGNru7ggy
Address:       1Lj5nRZ9N3Xn4TLXUNyFqRXtoCjRmLXRET
---

Private Key:   KxL5A2zXVeKJSwLVArmWUUn1N722gF3zqNc9xHzHsjAdWcQve85R
Address:       1K6sw4ogHyV8f2a8ABqUMJeFba56XvFySn
---

Private Key:   KzUPWtGb38VADobCjpEptqCkRVpUaa4Gfg3MjXRCLANRSeqKgWks
Address:       1Mmh3kMshGeYwnXxPwG8UmLxEZkhFAgLmh
---

Private Key:   L54ocsDvSM2v1P1ius3KN8jdi7xsDMxLhqAMggDgbycw9WeHgvfz
Address:       1EhTJbj34AEwyPKitg5qKuinMYnUpxnAQn
---

Private Key:   L1eCcQ88ZytxKNw1YNu7aaX59wruF3YwLsiH4tveEx9B9xJu9ykc
Address:       18qqzitiY1D8LQEGtCPH2anbvGLTrc8Cf4
---

Private Key:   KzTikQCwHJ1nohEvhkSaZ67sQMhqP14sm2C4zmnw1mPaWgjd8rP2
Address:       114nUfPxYfpDbkwoVyawi6po4Bf9RAkiyX
---

Private Key:   KxYhci1QTbh7LZdAM83WQF6if9YNDyfb48c4aTJKQof9wdptFZiM
Address:       1E1FMdAw9ikwRuxeuKVBiDGnPXVwd5x6Ni
---

If you need only addresses, without private keys:

Code:
grep "Address" file_addresses.txt | awk '{ print $2 }'

1Fs31wvU5s6cSapgaKJggBXtB3ZgYebLQ7
13Qos8JSu5d1TUfHt7YGKGz87dPv8LDxef
14v1o8FUqSrAWgPpFZ3pKhR7arfxvKinBB
18icHaTG6R7xaPdJRW9ggmXsoqmuiAPCfs
1Lj5nRZ9N3Xn4TLXUNyFqRXtoCjRmLXRET
1K6sw4ogHyV8f2a8ABqUMJeFba56XvFySn
1Mmh3kMshGeYwnXxPwG8UmLxEZkhFAgLmh
1EhTJbj34AEwyPKitg5qKuinMYnUpxnAQn
18qqzitiY1D8LQEGtCPH2anbvGLTrc8Cf4
114nUfPxYfpDbkwoVyawi6po4Bf9RAkiyX
1E1FMdAw9ikwRuxeuKVBiDGnPXVwd5x6Ni
1HSZFKCp8hiWrT4QDjpadPWBxYf9eUV6eW
17WiFAk3he9CBYd6NNSgPQsbrxWNZEndyY
15fzWX5dN8FT3Um7G6UMX2wmrxXMj8SJuc
12uFRmoWLC5LpdwJSKTb684e2K6XvJP9uQ
1Hj858no3tFnNPEBnio1wvqNWjdJR13Q3N
17aNycU8R2FxDX2LS3YJk8pTRY9QB3iume
16LeEJG73zgik9oFt7uY9MCWPbQSBqEZF4
1HhVnuwsBNQh58PsQ4Zmxk5kpLgujgnLjL
1HGggNYidJ1mhVsfFwmgQeembPVbtjwYFR
1JNEfBL4i7shMhFSQStRC64hmKPoYEo5S3
1PXbLjAzju2XhaHauaFxLPL2G19H8mXUbQ
1Nj984jVz65Dp9NU2aWE9NUSx3yUYD3uEP
1NDszUXy5QEHftf5JkEQUMAtgvUiAJ51pK
1HfWqcGde46rfTaYHmsacXeDkYAFeadtzs
1yQaSMCkLy1qNELtLZbxSecJaEygJPsCG
1QDhShyVT6jXNKVyG6mW2uSb9UJE4PDu35
1Fp4kNt3jEuPU37qoC4ZzUeH5ocVYFNonC
1Afpg8Woo5prgdCxvqcz1ty2YBU2UUki2J
12ZKnPV1QsSUEhxoskxYNkfSL24bja2GAS
1170  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 28, 2017, 11:58:28 AM
I show thé code but don t find what tout modifs on pattern.c to write all résultats :-(

Do you want only to generate many addresses? What speed do you need?
1171  Bitcoin / Project Development / Re: Large Bitcoin Collider (Collision Finders Pool) on: October 23, 2017, 04:23:15 PM
9 Months later...

Squeezing around 29 Mkeys/s with the current implementation.  Wink

And I think that now 5 Mkeys/s is possible with only cpus (Inter Xeon CPU E3-1505M v6 @ 3.00GHz, 4 cores).

...

I have an unpublishable GPU prototype based on vanitygen. It's basically half the speed of vanitygen (which has 15 MKeys/s on my notebook), as it uses 2 passes, one for compressed and one for uncompressed public keys. Also, it requires around 4GB RAM on startup until the AVL data structures are fiddled up. So on my notebook, the GPU prototype needs around 4GB memory on startup and 3.4 GB in GPU RAM and gives around 7MKeys/s.

Almost as fast as the first GPU prototype  Smiley  

It certainly must be, as the lower bound for an OpenCL implementation of key generation on my Notebook GPU (Quadro M2000M - 640 cores) is 15 Mkeys/s. (As I said, vanitygen does that - inefficiently - computing the compressed public key once you have computed the uncompressed is quite easy).

To make a comparison between vanitygen and our best cpu generator, look at this rate: MAddresses/s.
I made a program (with the last aecc library and the last sha256 and ripemd optimized functions, without any offset constraint on private keys) that generates only compressed keys via cpu without bloom check.

Vanitygen:     15 MAddresse/s (uncompressed keys, on your GPU)

My program: 13.67 MAddresses/s (compressed keys, on my cpus)
1172  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 20, 2017, 08:34:43 PM
A couple of question about https://vanitypool.appspot.com/

1) How can I know if I have to use compressed or uncompressed keys for the search? For example, in this case:

https://vanitypool.appspot.com/availableWork   -->  "11111111"
public key: 04C13D9CF2B0E382A4AF29C5E2B97F85C6DD9445F7DCE82CD7207E6FC4716511981B0012C10B39EF1 52257A8407A2965F92F075379D311D5786D9421795B82D01C

can I use only compressed keys?

I found this public key:

Code:
a15f585a9d39a8a091962d11af1e96320fc3543b5201a8c9b12eedf695bad359 3b6621eddf4207bd186c8293c6b497555594b32d2eb9c09ae8f81791a0dfde48

if I add it with the public key
Code:
C13D9CF2B0E382A4AF29C5E2B97F85C6DD9445F7DCE82CD7207E6FC471651198 1B0012C10B39EF152257A8407A2965F92F075379D311D5786D9421795B82D01C

I get this public key

Code:
83f0e53639fbcead931a0d19eb3f3f6684dc75fac68a8c5dbc21cdb8b4ecfb19 d933c437e192b2b6dd27a6b9d09e6470ca220ed27d4bcb05251b1d0e47adad90

in compressed format

Code:
0283f0e53639fbcead931a0d19eb3f3f6684dc75fac68a8c5dbc21cdb8b4ecfb19 

that gives this address (only 7 '1'):

Code:
11111113ix5Nw6kgetPaMBCWBdp5TTfX 

My question is: if I found a match with the pattern "11111111", would it be valid? Or do I have to use only uncompressed keys?

I don't want to waste time with a fruitless quest.
1173  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: October 18, 2017, 05:07:38 PM
Hurrah! over 30% jump from  ~31.5  Mkeys to ~41.6  Mkeys on a 7700k with 1080Ti

If your system is more or less like this:

https://bitcointalk.org/index.php?topic=1573035.msg18373053#msg18373053

or like this https://bitcointalk.org/index.php?topic=1573035.msg18446472#msg18446472

then we are now faster than oclvanitygen on fast GPUs too. Remember that 41.6 Mkeys/s means 41.6 M compressed keys + 41.6 M uncompressed keys per second, over 83 Maddresses/s!.  Could you test oclvanitygen on your machine?

Gpu usage from ~83% now to ~98%

I'm afraid that almost all systems are now GPU limited.

Only multi GPU systems can take advantage from other ecc improvements (if there will be) and from n-k symmetry.  I think that a GPU version of ECC library would be not very useful at the moment. We need above all to speedup sha256/ripemd160 on GPU.
1174  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 16, 2017, 05:16:00 PM
How can i change the random number generation in the code , i want to move step by step +1 from a certain base point not +random number , is it something easy to do?!

you could probably change the source code to do this, but realistically you would probably never find a match this way as you would systematically be hitting non matches forever instead of random checking for a match..


I think that there is no difference, same odds.

There are software that work "step by step +1" but are not "vanitygen". Search for "brainflayer". The "+1" method is the faster way to generate public keys (and then addresses).
1175  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: October 14, 2017, 12:03:19 PM
For a system without GPU there is a small speedup, because in the CPU generator only a 10% of the cpu work is about the ECC arithmetic, about 65% is for the sha256/ripemd160 task and about 25% for the bloom search.

No, the bloom search (more precisely: bloom check) accounts for about 1% of the total work.


On the CPU generator the bloom check is only 1%?
I made a little program with:

1) my aecc
2) sha256 and ripemd160 from supervanitygen
3) bloom check from brainflayer

and I got: 1,16s for aecc, 12,4s for sha256+ripemd160, 4s for bloom check => total: 17,55s for 16,7 Mkeys

Then: 6,6% for aecc, 70,6% for sha256 and 22,8% for bloom check. Maybe I'm not using the bloom check in the best way, but 23% against 1% is too much.
1176  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: October 13, 2017, 06:54:43 PM

Also, there are at the moment some showstoppers that would need too much of my time to look into (like a broken blockparser, see https://github.com/znort987/blockparser/issues/65) if someone wants to give me a real nudge to update some things LBC (and I do have some pretty nice updates pending), fix that blockparser issue or find an alternative.

I would want to include that too. So someone please look into the blockexplorer.

This is a Python version to extract data from utxo: https://bitcoin.stackexchange.com/questions/56655/getting-a-crypto-proof-utxo-set
https://github.com/sr-gi/bitcoin_tools

Like Wuille noted, Bitcoin Core 0.15 has changed db format of the Utxo set. Maybe you could try with a old version of Core.
  
1177  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: October 13, 2017, 06:30:54 PM
Arulbero has sent me a new version of his ECC lib which may be (I haven't tested it yet, but I believe his tests/claims) 20% faster.

A little explanation (and update) for the LBC users:

LBC generator has 3 components:

1) ECC generator --> 2) sha256 + ripemd160 --> 3) bloom search

1) this component computes the generation from the private key of the corresponding public key. We have only a CPU version of this library.

2) each single public key produces 2 160-bit strings (addresses = hash of the public key), uncompressed and compressed addresses; Rico developed 2 optimized versions of this component, one for CPU and one for GPU. In the GPU case the output of the CPU is sent to the GPU.

3) check if the addresses generated in the step 2) are or not in the bloom filter (CPU version and GPU version).


For the systems GPU limited (GPU used at 90% or more) it is crucial to improve the component 2).

For the systems CPU limited (example: CPU used at 100% and GPU at 50%) it is important instead to improve the speed of the ECC generator, i.e. the rate at which the CPU feeds the GPU.

ECC generator is the component  I have been working on in the past months.
I'm improving the ECC library as much as I can. At this moment the library is almost 30% faster than the current one. On my CPU Kabylake, it takes only 1,16 s to generate 16,7 M public keys against the 1,64 s of the latest release.

For a system cpu limited, the new library could take a +30% speedup (exploiting completely the GPU's speed).
In that case I think that the LBC generator will be faster than oclvanitygen on all GPUs (for now the LBC generator is faster only on middle/slow gpu, but not on fast gpu).

For a system gpu limited, the only advantage is that you could use 3 cores to get (almost) the same performance as 4 cores now.

For a system without GPU there is a small speedup, because in the CPU generator only a 10% of the cpu work is about the ECC arithmetic, about 65% is for the sha256/ripemd160 task and about 25% for the bloom search.
1178  Bitcoin / Project Development / Re: Large Bitcoin Collider Thread 2.0 on: October 11, 2017, 10:31:03 AM
I have Ubuntu 17.04.  
Looking into the Perl script these are modules you need for sure:
Code:
JSON
LWP::UserAgent
Net::SSLeay
LWP::Protocol::https
Parallel::ForkManager
Term::ReadKey

Thank you! My Dockerfile now works: https://github.com/dcw312/lbc-client-docker
You need to manually add the funds_h160 file. I'll try to post instructions for that.

GPU version of LBC usually works only on Linux, not on Windows. With your Dockerfile is it possibile to exploit GPU on Win?
1179  Bitcoin / Development & Technical Discussion / Re: Vanitygen: Vanity bitcoin address generator/miner [v0.22] on: October 11, 2017, 09:18:03 AM
A couple of question about https://vanitypool.appspot.com/

1) How can I know if I have to use compressed or uncompressed keys for the search? For example, in this case:

https://vanitypool.appspot.com/availableWork   -->  11111111

can I use only compressed keys?


2) split -key generator feature: if I made a my own program that computes not only P + k*G (where P is the public key provided to start from) but  -(P + k*G) too, can I claim the reward?

If 's' is the secret private key of P (P=s*G), then the new private key would be :  -(s*G + k*G) =>  -(s+k) = n - (s+k)

where

n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

is the group order of the curve.
1180  Local / Italiano (Italian) / Re: rintraccaire il wallet da un indirizzo? si puo? on: October 09, 2017, 03:23:20 PM
e non ho ricevuto nulla ,ma ripeto da un indirizzo si puo risalire a tutti i pagamenti ricevuti sopra quel indirizzo ??

sempre che esso sia un indirizzo personale ,io da poko mi affaccio a questa tecnologia quindi ne capisco poko:(

Per vedere tutti i pagamenti ricevuti su un singolo indirizzo basta andare su un explorer come blockchain.info.

Non c'è invece modo di risalire da un indirizzo a un wallet (che altro non è che un insieme di indirizzi generati secondo una certa logica ma del tutto indistinguibili da una serie di indirizzi casuali, quindi questi indirizzi appaiono del tutto slegati tra loro).

Quello che comunque a te interessa più che il legame tra il singolo indirizzo e il suo wallet è il bilancio totale del wallet, se esso è a 0 vuole dire che non stai guardando al wallet giusto.

Nei wallet locali (almeno quelli che girano sul tuo pc) c'è sempre la possibilità di vedere tutti gli indirizzi generati dal wallet dal momento della sua installazione, sui wallet online molto spesso questo non è possibile e puoi visualizzare solo il bilancio complessivo.
Pages: « 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!