Author

Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it - page 261. (Read 229433 times)

newbie
Activity: 12
Merit: 0
I think one of the take home messages here might be that due to this difference in effort and other factors having to do with privacy and the fungiblity of Bitcoin in general:  do not reuse Bitcoin addresses.  Bitcoin addresses should be used exactly twice:  once to fund them and once to spend them - then never used again.
There's plenty of addresses with hundreds or even thousands of transactions on them, so what you're saying is that bitcoin isn't secure enough and those addresses are more at risk?
member
Activity: 406
Merit: 47

CODE #2
Code:
from bitcoin import privtoaddr
i = 18446744073709551616
while i >= 9223372036854775808:
    i -= 1
    y = privtoaddr(i)
    if y == '16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN':
        print(hex(i))
        break
I try to play around a lot with CODE #2, but still getting the same results.
Any suggestions to make it run faster or recommending faster tools are appreciated.
Thanks in advance.


The addresses your code generates are uncompressed. the address you need to find is compressed.


python library bitcoin give uncompressed address because hash from uncompressed public key

try change to use library bit
library bit has from compressed public key give compressed address

I am not sure not yet try run code
Code:
from bit import Key
i = 18446744073709551616
while i >= 9223372036854775808:
    i -= 1
    key = Key.from_int(i)
    y = key.address
    if y == '16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN':
        print(hex(i))
        break
jr. member
Activity: 184
Merit: 3
In general, with this method, the accuracy after 200000 by 20 decimal places flies and just simply 20000000 with 100 copies of the program to search... can be sent to junk...

Quote

from mpmath import *
import random
from bit import Key
import time
import math

list = ["16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN","13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so","1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9",
        "1MVDYgVaSN6iKKEsbzRUAYFrYJadLYZvvZ","19vkiEajfhuZ8bs8Zu2jgmC6oqZbWqhxhG","1DJh2eHFYQfACPmrvpyWc8MSTYKh7w9eRF",
        "1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU","1JTK7s9YVYywfm5XUH7RNhHJH1LshCaRFR","12VVRNPi4SJqUTsp6FmqDqY5sGosDtysn4",
        "1FWGcVDK3JGzCC3WtkYetULPszMaK2Jksv","1DJh2eHFYQfACPmrvpyWc8MSTYKh7w9eRF","1Bxk4CQdqL9p22JEtDfdXMsng1XacifUtE",
        "15qF6X51huDjqTmF9BJgxXdt1xcj46Jmhb","1ARk8HWJMn8js8tQmGUJeQHjSE7KRkn2t8","15qsCm78whspNQFydGJQk5rexzxTQopnHZ",
        "13zYrYhhJxp6Ui1VV7pqa5WDhNWM45ARAC","14MdEb4eFcT3MVG5sPFG4jGLuHJSnt1Dk2","1CMq3SvFcVEcpLMuuH8PUcNiqsK1oicG2D",
        "1K3x5L6G57Y494fDqBfrojD28UJv4s5JcK","1PxH3K1Shdjb7gSEoTX7UPDZ6SH4qGPrvq","16AbnZjZZipwHMkYKBSfswGWKDmXHjEpSf",
        "19QciEHbGVNY4hrhfKXmcBBCrJSBZ6TaVt","1EzVHtmbN4fs4MiNk3ppEnKKhsmXYJ4s74","1AE8NzzgKE7Yhz7BWtAcAAxiFMbPo82NB5",
        "17Q7tuG2JwFFU9rXVj3uZqRtioH3mx2Jad","1K6xGMUbs6ZTXBnhw1pippqwK6wjBWtNpL","15ANYzzCp5BFHcCnVFzXqyibpzgPLWaD8b",
        "18ywPwj39nGjqBrQJSzZVq2izR12MDpDr8","1CaBVPrwUxbQYYswu32w7Mj4HR4maNoJSX","1JWnE6p6UN7ZJBN7TtcbNDoRcjFtuDWoNL",
        "1CKCVdbDJasYmhswB6HKZHEAnNaDpK7W4n","1PXv28YxmYMaB8zxrKeZBW8dt2HK7RkRPX","1AcAmB6jmtU6AiEcXkmiNE9TNVPsj9DULf",
        "1EQJvpsmhazYCcKX5Au6AZmZKRnzarMVZu","18KsfuHuzQaBTNLASyj15hy4LuqPUo1FNB","15EJFC5ZTs9nhsdvSUeBXjLAuYq3SWaxTc",
        "1HB1iKUqeffnVsvQsbpC6dNi1XKbyNuqao","1GvgAXVCbA8FBjXfWiAms4ytFeJcKsoyhL","12JzYkkN76xkwvcPT6AWKZtGX6w2LAgsJg",
        "1824ZJQ7nKJ9QFTRBqn7z7dHV5EGpzUpH3","18A7NA9FTsnJxWgkoFfPAFbQzuQxpRtCos","1NeGn21dUDDeqFQ63xb2SpgUuXuBLA4WT4",
        "1NLbHuJebVwUZ1XqDjsAyfTRUPwDQbemfv","1MnJ6hdhvK37VLmqcdEwqC3iFxyWH2PHUV","1KNRfGWw7Q9Rmwsc6NT5zsdvEb9M2Wkj5Z",
        "1PJZPzvGX19a7twf5HyD2VvNiPdHLzm9F6","1GuBBhf61rnvRe4K8zu8vdQB3kHzwFqSy7","17s2b9ksz5y7abUm92cHwG8jEPCzK3dLnT",
        "1GDSuiThEV64c166LUFC9uDcVdGjqkxKyh","1Me3ASYt5JCTAK2XaC32RMeH34PdprrfDx","1CdufMQL892A69KXgv6UNBD17ywWqYpKut",
        "1BkkGsX9ZM6iwL3zbqs7HWBV7SvosR6m8N","1PXAyUB8ZoH3WD8n5zoAthYjN15yN5CVq5","1AWCLZAjKbV1P7AHvaPNCKiB7ZWVDMxFiz",
        "1G6EFyBRU86sThN3SSt3GrHu1sA7w7nzi4","1MZ2L1gFrCtkkn6DnTT2e4PFUTHw9gNwaj","1Hz3uv3nNZzBVMXLGadCucgjiCs5W9vaGz",
        "1Fo65aKq8s8iquMt6weF1rku1moWVEd5Ua","16zRPnT8znwq42q7XeMkZUhb1bKqgRogyy","1KrU4dHE5WrW8rhWDsTRjR21r8t3dsrS3R",
        "17uDfp5r4n441xkgLFmhNoSW1KWp6xVLD","13A3JrvXmvg5w9XGvyyR4JEJqiLz8ZySY3","16RGFo6hjq9ym6Pj7N5H7L1NR1rVPJyw2v",
        "1UDHPdovvR985NrWSkdWQDEQ1xuRiTALq","15nf31J46iLuK1ZkTnqHo7WgN5cARFK3RA","1Ab4vzG6wEQBDNQM1B2bvUz4fqXXdFk2WT",
        "1Fz63c775VV9fNyj25d9Xfw3YHE6sKCxbt","1QKBaU6WAeycb3DbKbLBkX7vJiaS8r42Xo","1CD91Vm97mLQvXhrnoMChhJx4TP9MaQkJo",
        "15MnK2jXPqTMURX4xC3h4mAZxyCcaWWEDD","13N66gCzWWHEZBxhVxG18P8wyjEWF9Yoi1","1NevxKDYuDcCh1ZMMi6ftmWwGrZKC6j7Ux",
        "19GpszRNUej5yYqxXoLnbZWKew3KdVLkXg","1M7ipcdYHey2Y5RZM34MBbpugghmjaV89P","18aNhurEAJsw6BAgtANpexk5ob1aGTwSeL",
        "1FwZXt6EpRT7Fkndzv6K4b4DFoT4trbMrV","1CXvTzR6qv8wJ7eprzUKeWxyGcHwDYP1i2","1MUJSJYtGPVGkBCTqGspnxyHahpt5Te8jy",
        "13Q84TNNvgcL3HJiqQPvyBb9m4hxjS3jkV","1LuUHyrQr8PKSvbcY1v1PiuGuqFjWpDumN","18192XpzzdDi2K11QVHR7td2HcPS6Qs5vg",
        "1NgVmsCCJaKLzGyKLFJfVequnFW9ZvnMLN","1AoeP37TmHdFh8uN72fu9AqgtLrUwcv2wJ","1FTpAbQa4h8trvhQXjXnmNhqdiGBd1oraE",
        "14JHoRAdmJg3XR4RjMDh6Wed6ft6hzbQe9","19z6waranEf8CcP8FqNgdwUe1QRxvUNKBG","14u4nA5sugaswb6SZgn5av2vuChdMnD9E5",
        "174SNxfqpdMGYy5YQcfLbSTK3MRNZEePoy","1NBC8uXJy1GiJ6drkiZa1WuKn51ps7EPTv","18ZMbwUFLMHoZBbfpCjUJQTCMCbktshgpe"]


Nn =['00', '01', '02', '03', '04', '05', '06', '07', '08', '09',
     '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', '97', '98', '99']

def func():
    DDD = random.choice(RRR)
    return DDD

RRR = []

def ddigits(number,cut):
    ndigits = int(math.log10(number))+1
    try:
        return number//int(10**(ndigits-cut))
    except ZeroDivisionError:
        return number

mp.dps = 100; mp.pretty = True

while True:

    for RR in range(10): # set 00-99 screening out length
        DDD = random.choice(Nn)
        RRR.append(DDD)
    
    d = ''.join(RRR)
    k = "."
    kk = d
    print(RRR,kk)

    i=200000      #effective not more than 200000
    while i >=60:
        #time.sleep(0.05)
        cut = 49
        while cut >= 20:    
        
            f = str(i)
            v = f+k+kk
            vv = power(2,v)
            time.sleep(0.02)
            vvvv = int(vv)
            vvvvv = ddigits(vvvv,cut)
            ran = int(vvvvv)
            key1 = Key.from_int(ran)
            addr1 = key1.address
                                                                                                
            if addr1 in list:

                print (ran,"found!!!")

                s5 = str(ran)
                f=open(u"C:/a.txt","a")
                f.write(s5 + '\n')
                f.close()

                break

            else:
                                                                                                        
                #pass
                #if cut == 20:
                print("2 ^",v,"=",vvvvv,addr1)

            cut=cut-1            


        i=i-1
    RRR = []
    pass


[/size]


But there may be a "search formula" hiding here.

2^x=10 x ≈ 3,32192809488736234787032
2^x=11 x ≈ 3,45943161863729725619936
2^x=12 x ≈ 3,58496250072115618145374

when reversing

159.4 96  159.5 10  159.6 11  159.7 11
160.4 19  160.5 20  160.6 22  160.7 23
161.4 38  161.5 41  161.6 44  161.7 47
162.4 77  162.5 82  162.6 88  162.7 94
163.4 15  163.5 16  163.6 17  163.7 18
164.4 30  164.5 33  164.6 35  164.7 37
165.4 61  165.5 66  165.6 70  165.7 75
166.4 12  166.5 13  166.6 14  166.7 15
167.4 24  167.5 26  167.6 28  167.7 30
168.4 49  168.5 52  168.6 56  168.7 60
169.4 98  169.5 10  169.6 11  169.7 12
170.4 19  170.5 21  170.6 22  170.7 24
171.4 39  171.5 42  171.6 45  171.7 48
172.4 78  172.5 84  172.6 90  172.7 97
173.4 15  173.5 16  173.6 18  173.7 19
174.4 31  174.5 33  174.6 36  174.7 38
175.4 63  175.5 67  175.6 72  175.7 77
176.4 12  176.5 13  176.6 14  176.7 15
177.4 25  177.5 27  177.6 29  177.7 31
178.4 50  178.5 54  178.6 58  178.7 62
179.4 10  179.5 10  179.6 11  179.7 12
180.4 20  180.5 21  180.6 23  180.7 24
181.4 40  181.5 43  181.6 46  181.7 49
182.4 80  182.5 86  182.6 92  182.7 99
183.4 16  183.5 17  183.6 18  183.7 19
184.4 32  184.5 34  184.6 37  184.7 39
185.4 64  185.5 69  185.6 74  185.7 79
186.4 12  186.5 13  186.6 14  186.7 15
187.4 25  187.5 27  187.6 29  187.7 31
188.4 51  188.5 55  188.6 59  188.7 63
189.4 10  189.5 11  189.6 11  189.7 12
190.4 20  190.5 22  190.6 23  190.7 25
191.4 41  191.5 44  191.6 47  191.7 50
192.4 82  192.5 88  192.6 95  192.7 10
193.4 16  193.5 17  193.6 19  193.7 20
194.4 33  194.5 35  194.6 38  194.7 40
195.4 66  195.5 71  195.6 76  195.7 81
196.4 13  196.5 14  196.6 15  196.7 16
197.4 26  197.5 28  197.6 30  197.7 32
198.4 53  198.5 56  198.6 60  198.7 65
199.4 10  199.5 11  199.6 12  199.7 13
200.4 21  200.5 22  200.6 24  200.7 26
201.4 42  201.5 45  201.6 48  201.7 52
202.4 84  202.5 90  202.6 97  202.7 10
203.4 16  203.5 18  203.6 19  203.7 20
204.4 33  204.5 36  204.6 38  204.7 41
205.4 67  205.5 72  205.6 77  205.7 83
206.4 13  206.5 14  206.6 15  206.7 16
207.4 27  207.5 29  207.6 31  207.7 33
208.4 54  208.5 58  208.6 62  208.7 66
209.4 10  209.5 11  209.6 12  209.7 13
210.4 21  210.5 23  210.6 24  210.7 26
211.4 43  211.5 46  211.6 49  211.7 53
212.4 86  212.5 93  212.6 99  212.7 10
213.4 17  213.5 18  213.6 19  213.7 21
214.4 34  214.5 37  214.6 39  214.7 42
215.4 69  215.5 74  215.6 79  215.7 85
216.4 13  216.5 14  216.6 15  216.7 17
217.4 27  217.5 29  217.6 31  217.7 34
218.4 55  218.5 59  218.6 63  218.7 68
219.4 11  219.5 11  219.6 12  219.7 13

by 3 num take

159.5 103  159.6 110  159.7 118
160.5 206  160.6 221  160.7 237
161.5 413  161.6 443  161.7 474
162.5 826  162.6 886  162.7 949
163.5 165  163.6 177  163.7 189
164.5 330  164.6 354  164.7 379
165.5 661  165.6 708  165.7 759
166.5 132  166.6 141  166.7 151
167.5 264  167.6 283  167.7 303
168.5 529  168.6 567  168.7 607
169.5 105  169.6 113  169.7 121
170.5 211  170.6 226  170.7 243
171.5 423  171.6 453  171.7 486
172.5 846  172.6 907  172.7 972
173.5 169  173.6 181  173.7 194
174.5 338  174.6 362  174.7 388
175.5 677  175.6 725  175.7 777
176.5 135  176.6 145  176.7 155
177.5 270  177.6 290  177.7 311
178.5 541  178.6 580  178.7 622
179.5 108  179.6 116  179.7 124
180.5 216  180.6 232  180.7 248
181.5 433  181.6 464  181.7 497
182.5 866  182.6 929  182.7 995
183.5 173  183.6 185  183.7 199
184.5 346  184.6 371  184.7 398
185.5 693  185.6 743  185.7 796
186.5 138  186.6 148  186.7 159
187.5 277  187.6 297  187.7 318
188.5 554  188.6 594  188.7 637
189.5 110  189.6 118  189.7 127
190.5 221  190.6 237  190.7 254
191.5 443  191.6 475  191.7 509
192.5 887  192.6 951  192.7 101
193.5 177  193.6 190  193.7 203
194.5 355  194.6 380  194.7 407
195.5 710  195.6 761  195.7 815
196.5 142  196.6 152  196.7 163
197.5 284  197.6 304  197.7 326
198.5 568  198.6 608  198.7 652
199.5 113  199.6 121  199.7 130
200.5 227  200.6 243  200.7 261
201.5 454  201.6 487  201.7 522
202.5 909  202.6 974  202.7 104
203.5 181  203.6 194  203.7 208
204.5 363  204.6 389  204.7 417
205.5 727  205.6 779  205.7 835
206.5 145  206.6 155  206.7 167
207.5 290  207.6 311  207.7 334
208.5 581  208.6 623  208.7 668
209.5 116  209.6 124  209.7 133
210.5 232  210.6 249  210.7 267
211.5 465  211.6 498  211.7 534
212.5 930  212.6 997  212.7 106
213.5 186  213.6 199  213.7 213
214.5 372  214.6 399  214.7 427
215.5 744  215.6 798  215.7 855
216.5 148  216.6 159  216.7 171
217.5 297  217.6 319  217.7 342
218.5 595  218.6 638  218.7 684
219.5 119  219.6 127  219.7 136

and so gradually the desired number should appear 30568377312064202855 > 30 > 305 > 3056 > 30568 etc...

590.1 4343   590.2 4654
591.1 8686   591.2 9309
592.1 1737   592.2 1861
593.1 3474   593.2 3723
594.1 6948   594.2 7447
595.1 1389   595.2 1489
596.1 2779   596.2 2979
597.1 5559   597.2 5958
598.1 1111   598.2 1191
599.1 2223   599.2 2383
600.1 4447   600.2 4766
601.1 8894   601.2 9533
602.1 1778   602.2 1906
603.1 3557   603.2 3813
604.1 7115   604.2 7626
605.1 1423   605.2 1525
606.1 2846   606.2 3050
607.1 5692   607.2 6101
608.1 1138   608.2 1220
609.1 2277   609.2 2440
610.1 4554   610.2 4880
611.1 9108   611.2 9761
612.1 1821   612.2 1952
613.1 3643   613.2 3904
614.1 7286   614.2 7809
615.1 1457   615.2 1561
616.1 2914   616.2 3123
617.1 5829   617.2 6247
618.1 1165   618.2 1249
619.1 2331   619.2 2499
620.1 4663   620.2 4998
621.1 9326   621.2 9996
622.1 1865   622.2 1999
623.1 3730   623.2 3998
624.1 7461   624.2 7996
625.1 1492   625.2 1599
626.1 2984   626.2 3198
627.1 5969   627.2 6397
628.1 1193   628.2 1279
629.1 2387   629.2 2559
630.1 4775   630.2 5118
631.1 9550   631.2 1023
632.1 1910   632.2 2047
633.1 3820   633.2 4094
634.1 7640   634.2 8188
635.1 1528   635.2 1637
636.1 3056   636.2 3275

6286.7 30568

305683 no longer finds up to 50,000, but may appear higher...

***

endless running can be finite

2^x=30568377312064202855 x ≈ 64,72867377327342883206
2^x=72867377327342883206 x ≈ 65,98190686841514498777
2^x=98190686841514498777 x ≈ 66,41221999761644313519
2^x=41221999761644313519 x ≈ 65,16004829745627751891
2^x=16004829745627751891 x ≈ 63,79514113288646090322
2^x=79514113288646090322 x ≈ 66,10784475589133269856
2^x=10784475589133269856 x ≈ 63,22558982791169991994
2^x=22558982791169991994 x ≈ 64,29033581939002283438
2^x=29033581939002283438 x ≈ 64,65435637437148496233
2^x=65435637437148496233 x ≈ 65,82671037055289160231
2^x=82671037055289160231 x ≈ 66,16401578745271144384
2^x=16401578745271144384 x ≈ 63,83046849199298150540
2^x=83046849199298150540 x ≈ 66,17055923617965813565
2^x=17055923617965813565 x ≈ 63,88690668522130664307
2^x=88690668522130664307 x ≈ 66,26541612401485672565
2^x=26541612401485672565 x ≈ 64,52488981987422679373
2^x=52488981987422679373 x ≈ 65,50864841991821203227
2^x=50864841991821203227 x ≈ 65,46330260631713529263

using 3 characters as an example

2 ^ 250      

7.966 966
0 9.916 916
1 9.839 839
2 9.713 713
3 9.478 478
4 8.901 901
5 9.815 815
6 9.671 671
8 8.607 607
9 9.246 246
10 7.943 943
11 9.881 881
12 9.783 783
13 9.613 613
15 8.022 022
16 4.459 459
17 8.842 842
18 9.718 718
19 9.488 488
20 8.931 931
21 9.863 863
22 9.753 753
23 9.557 557
24 9.122 122
25 8.931 931
25 6.931 931
26 9.863 863
26 9.863 863
27 9.753 753
27 9.753 753
28 9.557 557
28 9.557 557
29 9.122 122
29 9.122 122
30 8.931 931
30 6.931 931
30 6.931 931
31 9.863 863
31 9.863 863
31 9.863 863
32 9.753 753
32 9.753 753
32 9.753 753
33 9.557 557
33 9.557 557
33 9.557 557
34 9.122 122
34 9.122 122
34 9.122 122
35 8.931 931
35 6.931 931
35 6.931 931
35 6.931 931
36 9.863 863
36 9.863 863
36 9.863 863
36 9.863 863
37 9.753 753
37 9.753 753
37 9.753 753
37 9.753 753
38 9.557 557
38 9.557 557
38 9.557 557
38 9.557 557
39 9.122 122
39 9.122 122
39 9.122 122
39 9.122 122
40 8.931 931
40 6.931 931
40 6.931 931
40 6.931 931
40 6.931 931
41 9.863 863
41 9.863 863
41 9.863 863
41 9.863 863
41 9.863 863
42 9.753 753
42 9.753 753
42 9.753 753
42 9.753 753
42 9.753 753
43 9.557 557
43 9.557 557
43 9.557 557
43 9.557 557
43 9.557 557
44 9.122 122
44 9.122 122
44 9.122 122
44 9.122 122
44 9.122 122
45 8.931 931
45 6.931 931
45 6.931 931
45 6.931 931
45 6.931 931
45 6.931 931
46 9.863 863
46 9.863 863
46 9.863 863
46 9.863 863
46 9.863 863
46 9.863 863
47 9.753 753
47 9.753 753
47 9.753 753
47 9.753 753
47 9.753 753
47 9.753 753
48 9.557 557
48 9.557 557
48 9.557 557
48 9.557 557
48 9.557 557
48 9.557 557
49 9.122 122
49 9.122 122
49 9.122 122
49 9.122 122
49 9.122 122
49 9.122 122
50 8.931 931
50 6.931 931
50 6.931 931
50 6.931 931
50 6.931 931
50 6.931 931
50 6.931 931

sticking on some numbers are the same

and as in reverse it jumps back for example 4 numbers

2 ^ 3056

11.5774 5774
0 12.5 4954 ['1444', '2887', '5774']
1 12.27 2744 ['1239', '2477', '4954', '9908']
2 11.42 4221 ['1372', '2744', '5488']
3 12.04 0434 ['1055', '2111', '4221', '8443']
4 8.762 6155 ['1569', '3138', '6275']
5 12.59 5875 ['1539', '3077', '6155']
6 12.52 5204 ['1469', '2938', '5875']
7 12.35 3454 ['1301', '2602', '5204']
8 11.75 7541 ['1727', '3454', '6909']
9 12.88 8805 ['1885', '3770', '7541']
10 13.1 1041 ['1101', '2201', '4403', '8805']
11 10.02 0238 ['1041', '2082', '4164', '8328']
12 7.895 9482 ['1976', '3952', '7903']
15 8.748 4819 ['1430', '2860', '5721']
16 12.23 2345 ['1205', '2409', '4819', '9638']
17 11.2 1954 ['1173', '2345', '4690', '9380']
18 10.93 9322 ['1954', '3908', '7816']
19 13.19 1864 ['1165', '2330', '4661', '9322']
20 10.86 8642 ['1864', '3728', '7456']
21 13.08 0772 ['1080', '2161', '4321', '8642']
22 9.592 9246 ['1944', '3887', '7775']
23 13.17 1746 ['1156', '2311', '4623', '9246']
24 10.77 7698 ['1746', '3492', '6984']
25 12.91 9103 ['1925', '3849', '7698']
26 13.15 1521 ['1138', '2276', '4551', '9103']
27 10.57 5708 ['1521', '3042', '6084']
28 12.48 4788 ['1427', '2854', '5708']
29 12.23 2252 ['1197', '2394', '4788', '9576']
32 12.04 0362 ['1050', '2100', '4200', '8401']
33 8.5 9985 ['1023', '2046', '4092', '8184']
34 13.29 2855 ['1248', '2496', '4992', '9985']
35 11.48 4793 ['1427', '2855', '5710']
36 12.23 2267 ['1198', '2396', '4793', '9586']
37 11.15 1466 ['1134', '2267', '4534', '9068']
38 10.52 5177 ['1466', '2932', '5864']
39 12.34 3379 ['1294', '2588', '5177']
40 11.72 7224 ['1690', '3379', '6758']
41 12.82 8186 ['1806', '3612', '7224']
42 13.0 9989 ['1023', '2046', '4093', '8186']
43 13.29 2861 ['1249', '2497', '4995', '9989']
44 11.48 4823 ['1431', '2861', '5722']
45 12.24 2357 ['1206', '2412', '4823', '9646']
46 11.2 2027 ['1179', '2357', '4714', '9428']
47 10.99 9851 ['1013', '2027', '4054', '8108']
48 13.27 2661 ['1231', '2463', '4926', '9851']
49 11.38 3778 ['1331', '2661', '5322']

497 11.52 5196 ['1468', '2936', '5872']
497 11.52 5196 ['1468', '2936', '5872']
497 11.52 5196 ['1468', '2936', '5872']
497 11.52 5196 ['1468', '2936', '5872']
498 12.34 3432 ['1299', '2598', '5196']
498 12.34 3432 ['1299', '2598', '5196']
498 12.34 3432 ['1299', '2598', '5196']
498 12.34 3432 ['1299', '2598', '5196']
499 11.74 7448 ['1716', '3432', '6864']
499 11.74 7448 ['1716', '3432', '6864']
499 11.74 7448 ['1716', '3432', '6864']
499 11.74 7448 ['1716', '3432', '6864']

and also stick...

these should behave the same

2^x=30568377312064202855 x ≈ 64,72867377327342883206
2^x=72867377327342883206 x ≈ 65,98190686841514498777
2^x=98190686841514498777 x ≈ 66,41221999761644313519
2^x=41221999761644313519 x ≈ 65,16004829745627751891
2^x=16004829745627751891 x ≈ 63,79514113288646090322
2^x=79514113288646090322 x ≈ 66,10784475589133269856


                                                                                                                                                       poz 1 poz 2 poz 3 poz 4 poz 5 etc...
Quote


64.72867377327342883206 72867377327342883206
0 65.98190686841514498777 98190686841514498777 ['18216844331835720801', '36433688663671441603', '72867377327342883206', '14573475465468576641', '29146950930937153282', '58293901861874306564', '11658780372374861312', '23317560744749722625']
1 66.41221999761644313519 41221999761644313519 ['12273835855189312347', '24547671710378624694', '49095343420757249388', '98190686841514498777', '19638137368302899755', '39276274736605799510', '78552549473211599021', '15710509894642319804']
2 65.16004829745627751891 16004829745627751891 ['10305499940411078379', '20610999880822156759', '41221999761644313519', '82443999523288627037', '16488799904657725407', '32977599809315450815', '65955199618630901630', '13191039923726180326']
3 63.79514113288646090322 79514113288646090322 ['16004829745627751891', '32009659491255503782', '64019318982511007564', '12803863796502201512', '25607727593004403025', '51215455186008806051', '10243091037201761210', '20486182074403522420']
4 66.10784475589133269856 10784475589133269856 ['19878528322161522580', '39757056644323045160', '79514113288646090321', '15902822657729218064', '31805645315458436128', '63611290630916872257', '12722258126183374451']
5 63.22558982791169991994 22558982791169991994 ['10784475589133269855', '21568951178266539711', '43137902356533079423', '86275804713066158847', '17255160942613231769', '34510321885226463539', '69020643770452927078', '13804128754090585415']
6 64.29033581939002283438 29033581939002283438 ['11279491395584995996', '22558982791169991993', '45117965582339983987', '90235931164679967975', '18047186232935993595', '36094372465871987190', '72188744931743974380', '14437748986348794876']
7 64.65435637437148496233 65435637437148496233 ['14516790969501141719', '29033581939002283438', '58067163878004566876', '11613432775600913375', '23226865551201826750', '46453731102403653500', '92907462204807307001', '18581492440961461400']
8 65.82671037055289160231 82671037055289160231 ['16358909359287124058', '32717818718574248116', '65435637437148496232', '13087127487429699246', '26174254974859398493', '52348509949718796986', '10469701989943759397', '20939403979887518794']
9 66.16401578745271144384 16401578745271144384 ['10333879631911145028', '20667759263822290057', '41335518527644580115', '82671037055289160230', '16534207411057832046', '33068414822115664092', '66136829644231328184', '13227365928846265636']


and chooses depending on

65 poz 3
66 poz 4
65 poz 3
63 poz 1
...
64 poz 2

in other words, to jump from 16401578745271144384  to 30568377312064202855 "kangaroo jump" poz 4>3>2>2>1>4>1>3>4>3...
jr. member
Activity: 35
Merit: 2
Can someone tell what exact happens in bsgs and kangaroo. In layman terms and by giving some examples. If possible please explain by example of any 10 bit 20 bit key so it can be understood easily. Like if i take a 64 bit known pub key and starts my bsgs or kangaroo , then what happens inside it. I understood that it uses pubkey + n*G to calculate anoher pubkey and if value of prv key related to this new pubkey is known then prv key for the input key can be calculated.  but how that helps. We still have to go through billions of keys and keypairs. How it generated those keypairs first. Secondly how it can be so fast to search for 64 bit in some seconds. Its still a large space. Confused ...

Did you read description explain on JeanLucPons Kangaroo at github already? try read for understand
https://github.com/JeanLucPons/Kangaroo


Thats the first thing i do always. If it goes out of my knowledge only then i ask it. I even had gone through bsgs by jean and others. Everyone uses different techniques for step calculation , jean uses floor sqrt and speed comes to 1Mks , some other uses other method to guess number of steps and covering large spaces with billion and trillion keys per sec but failed to compete with jean bsgs because they took too much time in generating the point file itself. Ofcourse kangaroo is still fastest.

My question was related to how the baby step and giant step work in layman terms. I had read the code where it took some baby steps and matches it with the precomputed part , if doesnt match then take giant step Nd so on. But still its not understadable for me. If this can be explained using some examepl then it would be better for the whole community. I believe most people here dont understand much technical things except some people. I read posts from freedragon , brainless and they are inspiring and help me understand many things.
hero member
Activity: 1330
Merit: 533

CODE #2
Code:
from bitcoin import privtoaddr
i = 18446744073709551616
while i >= 9223372036854775808:
    i -= 1
    y = privtoaddr(i)
    if y == '16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN':
        print(hex(i))
        break
I try to play around a lot with CODE #2, but still getting the same results.
Any suggestions to make it run faster or recommending faster tools are appreciated.
Thanks in advance.


The addresses your code generates are uncompressed. the address you need to find is compressed.
jr. member
Activity: 184
Merit: 3

I am interesting to run this code

someone know about code python language

please help to fix it

I try to fix it but not yet success

code old 2 year, now library keras is update to new version some function call it not working


https://bitcointalksearch.org/topic/training-rnn-lstm-to-associate-public-addresses-with-private-bitcoin-keys-5075651

https://github.com/btc-room101/bitcoin-rnn



Try old versions from 2018 to install https://pypi.org/project/Keras/#history pip install Keras==2.2.4 or 2.2.3 etc...

For the stupid what he does?

Trying to find patterns of pubkey => privkey or pubkey hashed to privkey.
I've tried couple diffrent types of neural networks to solve that, but its requares massive data size, so its comparing to bruteforce, its not helpfull here.
Too complicated, as a mathematician said a couple of pages ago, easier brainwallet (https://github.com/minimaxir/textgenrnn + https://github.com/berzerk0/Probable-Wordlists). The mathematician ran away without even proposing anything significant  Cheesy

There is a sense here on other systems of calculation to catch a fish (in the oct system)

52 50 70 38 42 58 26 61 91

2^52  4503599627370496                      200000000000000000
2^50  1125899906842624                      40000000000000000
2^70  1180591620717411303424             200000000000000000000000
2^38  274877906944                             4000000000000
2^42  4398046511104                           100000000000000                                 (1-33)
2^58  288230376151711744                   20000000000000000000
2^26  67108864                                   400000000
2^61  2305843009213693952                  200000000000000000000
2^91  2475880078570760549798248448   2000000000000000000000000000000


19 99 76 66 79 76 34 20 49

2^19  524288                                        2000000
2^99  633825300114114700748351602688 1000000000000000000000000000000000  (1-33)
2^76  75557863725914323419136            20000000000000000000000000
2^66  73786976294838206464                 10000000000000000000000                   (1-33)
2^79  604462909807314587353088           200000000000000000000000000
2^76  75557863725914323419136            20000000000000000000000000
2^34  17179869184                                200000000000
2^20  1048576                                      4000000
2^49  562949953421312                         20000000000000000


13 82 45 75 89 10 84 64 92

2^13  8192                                          20000
2^82  4835703278458516698824704        2000000000000000000000000000
2^45  35184372088832                          1000000000000000                              (1-33)
2^75  37778931862957161709568           10000000000000000000000000              (1-33)
2^89  618970019642690137449562112     400000000000000000000000000000
2^10  1024                                          2000
2^84  19342813113834066795298816      10000000000000000000000000000           (1-33)
2^64  18446744073709551616                2000000000000000000000
2^92  4951760157141521099596496896   4000000000000000000000000000000

divide them by arrays 1, 2, 4.

1-33, 2-33, 4-33.

52 50 70 38 42 58 26 61 91 > 1-1, 2-5, 4-3

and choose from these 3 (by 33) mixing kits... not much sense from this option))...

***

Or search in big numbers (from pow)

2^x=30568377312064202855    x ≈ 64,728673773273428832
2^x=728673773273428832    x ≈ 59,338050678640420292
2^x=338050678640420292    x ≈ 58,230017156464023733
2^x=230017156464023733       x ≈ 57,674519085656819707
2^x=674519085656819707       x ≈ 59,226636878190342578

endless cycle?

***

the required number is found in larger digits how much?

 30568377312064202855   2^x=30568377312064202855  x ≈ 64,728673773273428832
130568377312064202855 2^x=130568377312064202855 x ≈ 66,823367426949660405
230568377312064202855 2^x=230568377312064202855 x ≈ 67,643756557209324497
330568377312064202855 2^x=330568377312064202855 x ≈ 68,163510618514418994
430568377312064202855 2^x=430568377312064202855 x ≈ 68,544804263768064704

305683773120642028551 2^x=305683773120642028551 x ≈ 68,050601868160791180
305683773120642028552 2^x=305683773120642028552 x ≈ 68,050601868160791180
305683773120642028553 2^x=305683773120642028553 x ≈ 68,050601868160791180
305683773120642028554 2^x=305683773120642028554 x ≈ 68,050601868160791180

***

3056837731206420285530568377312064202855 2x
2^x=3056837731206420285530568377312064202855 x ≈ 131,16723567102067579
2^131,16723567102067579 3056837731206420286623428911645953619203

gotta play with "precision"

305683773120642028553056837731206420285530568377312064202855 3x
2^x=305683773120642028553056837731206420285530568377312064202855 x ≈ 197,60579756876792275
2^197,60579756876792275 305683773120642029211887250445049163252524117510000000000000

+ random num
305683773120642028558492481024912749821698159821749821748217398712984
305683773120645444603003682941493601978464060000000000000000000000000
305683773120642028558492481025896013715063005364528453700000000000000
x ≈ 227,5031504227542
x ≈ 227,503150422754183877749134489 "precision"

it turns out we can take any numbers at random and somewhere they must match

str +7

64.7286737732734288320634 30568377312064202855
68.0506018681607911799668 305683773120642028557
71.3725299630481535278404 3056837731206420285577
74.694458057935515875711 30568377312064202855777
78.0163861528228782235814 305683773120642028557777
81.3383142477102405714517 3056837731206420285577777
84.660242342597602919322 30568377312064202855777777
87.9821704374849652671923 305683773120642028557777777
91.3040985323723276150627 3056837731206420285577777777
94.626026627259689962933 30568377312064202855777777777
97.9479547221470523108033 305683773120642028557777777777
101.269882817034414658674 3056837731206420285577777777777
104.591810911921777006544 30568377312064202855777777777777
107.913739006809139354414 305683773120642028557777777777777
111.235667101696501702285 3056837731206420285577777777777777
114.557595196583864050155 30568377312064202855777777777777777
117.879523291471226398025 305683773120642028557777777777777777
121.201451386358588745896 3056837731206420285577777777777777777
124.523379481245951093766 30568377312064202855777777777777777777
127.845307576133313441636 305683773120642028557777777777777777777
131.167235671020675789506 3056837731206420285577777777777777777777
134.489163765908038137377 30568377312064202855777777777777777777777
137.811091860795400485247 305683773120642028557777777777777777777777
141.133019955682762833117 3056837731206420285577777777777777777777777
144.454948050570125180988 30568377312064202855777777777777777777777777
147.776876145457487528858 305683773120642028557777777777777777777777777
151.098804240344849876728 3056837731206420285577777777777777777777777777
154.420732335232212224599 30568377312064202855777777777777777777777777777
157.742660430119574572469 305683773120642028557777777777777777777777777777
161.064588525006936920339 3056837731206420285577777777777777777777777777777
164.38651661989429926821 30568377312064202855777777777777777777777777777777
167.70844471478166161608 305683773120642028557777777777777777777777777777777
171.03037280966902396395 3056837731206420285577777777777777777777777777777777
174.352300904556386311821 30568377312064202855777777777777777777777777777777777
177.674228999443748659691 305683773120642028557777777777777777777777777777777777
180.996157094331111007561 3056837731206420285577777777777777777777777777777777777
184.318085189218473355432 30568377312064202855777777777777777777777777777777777777
187.640013284105835703302 305683773120642028557777777777777777777777777777777777777
190.961941378993198051172 3056837731206420285577777777777777777777777777777777777777
194.283869473880560399043 30568377312064202855777777777777777777777777777777777777777
305683773120642028557778595566743525694528347658078370717529.777449326807367836 9097477386034787204661264551231559196383490688267330839683292791191724074377657 8866303763837357201700002508850917423770919
3056837731206420285577758159616597701133951978620986600844355.94717959070397414 7326807586052440658065504634934500316139405880365155357504455896140378398173654 8476898412997238869187791015819349558775922
30568377312064202855777864487526706980975997525404610041515100.2092845503848224 0456487005576205525911102690891093470945887467089026782670568537512915829647271 8130125752029100225363370523524967640217482
305683773120642028557775865270183314228626825457618023742484242.265235431626888 0363797990969849979222155267664286643935472700236493965511124151316857438188451 3901977378069135770390481522446464429010908
3056837731206420285577786941837906139249916028500217838568302765.90076874044664 0446238939612788131984174394678748867440181028135010908704551626862356922960384 2798601238141435073656620680016237757259324
30568377312064202855777591457870685834385845305314534114459093966.6224466500090 2220894088607723608667697070884583364639616715745396028785292217685195953275672 0710584782349146833041562939637441341256351
305683773120642028557778743492314158040223230446005421042567600941.020917958439 8906280982395637738347638367410497780287407886685254407895578379512741647932679 4391813894710852172704993287593935584695296
3056837731206420285577759638872304024590900806486806122907556869209.26175018304 2737643673217164261752626072597494560078037691985396169945626755350244757782356 0191475043957026292029255348128165139480232
30568377312064202855777879280083770215545485804199701197236297514567.7635590834 5676160928175857060470722839670564495251965062988005179634860146452060154916643 4487475927075203724671001307415897793940427
305683773120642028557776013195753946574321708244223837180978484029340.557182813 1753594539049274653829507826573376203420295880199955346350041875406845714296387 9052642604462596020371093478072138589475615
3056837731206420285577788421093612462706864856379965566462163992040470.26943131 0595426571204548813824725567811425189441610082593614057739669782405663952327997 7853536106608020054129742061823003443839247
30568377312064202855777606250427749068955333583977501581525933099146761.2994899 9108294480355157500252977412350836159179312018116287075240885612961894199466456 6009929667321404279501851001847396397949822
305683773120642028557778891417884790385918113234004055064127873116129092.016612 3503625705732815713883013833953807931307460976688361035598528118858331461820192 9708838792136419056340650458598517595769528
3056837731206420285577761118128010348047849634353341481935982278073073424.55847 4641291291385915516379739435236734183211367330279183658890126400156401623670074 2503684924493972675014076634877636076851479
30568377312064202855777894072640833450114974083001950722609739688192383081.2561 4240306126011760476121024445986692680643996282428281491316390437076333627306962 7111833939542608834275664331963341864291988
305683773120642028557776161121324578920016591030901234315995174476859745566.938 8192132766392651417568568026306181922716103528384842409744539539187558004529655 7543473271248631404711212646238542499190185
3056837731206420285577789900349318786163813684260429131321249705014312433322.61 2645015626292485816016263737567311288589055043272992412859832941129499577832938 447733809954898361126377250207814874960152
30568377312064202855777621042984812303524821862647627418245017100012482232945.6 9600366699626467919180306842402542916236522811614691875570893675330794594276658 6680836509147942885833266380820282992603579
305683773120642028557773430824764367454115068852184789169685936140259292569570. 0530492614323614670492709185425589066748515309772975318250998046285081387671144 8223366774770809504524972708399932603739867
3056837731206420285577762597383716671504798462220592677929632173771025727446848 .705540885338467736577869066137432593658987866969218064601137269961846560963783 5110105037218713848315005394817149816926608
3056837731206420285577790886519789668468446236181135861763542673015840895480451 8.16713043863689090698801322841936941572901637636119005468986775170824629995632 5533895538448524757562214143628062036895077
3056837731206420285577819175655862665432094010403477443198590859137040852578202 79.6153351815119683500717696886044794250521428496527076897287532167274700704041 833577131041996008897713539753202500828145
3056837731206420285577735294418114556845783240424619980556249245554428034767341 873.038826882371959154151942989199610901350281921637764224520870214838081714010 4140798161461913654938121806166642210407627
3056837731206420285577763583554187553809431014132491162461634596921960945384019 3649.01191201428180192464095810519176472308483152489298398104598824233340685040 6336849611608275217227011462749757482097273
3056837731206420285577791872690260550773078788102160741968157635165876306742279 73510.0312455247261792067774400577526228923246211705469908103684450601934794440 5028505582817948071891020960357615299072718
3056837731206420285577820161826333547736726562333628719075818360286176541623815 915780.452559670936214986948134371157839503892024920486688185277159599673274170 1026341670636313624649346458921654719560245
3056837731206420285577736280588585439150415792327710219177961123854770087157053 4771819.16263884349857763346313960332860468658962867584606154934545493306062983 1997586465759393546757534450858582054608755
3056837731206420285577764569724658436114063566044707796755959014221403109583538 88659603.7990354471357049091583402937114176642005089941811711513625063283031308 3532178655943196847238156083903678797559859
3056837731206420285577792858860731433077711340023503771935094591464418667210735 116559786.075982053190616689158155940020810477655900629737166770706269241003371 9398298097172977039010843459257237819253658
3056837731206420285577821147996804430041359114264098144715367855583819182820335 0992174224.36609609237302336441269653156976159479181854341284824677682547108004 7881328187170306221782751661648703396752526
3056837731206420285577737266759056321455048344231118607561994996303619082967474 05930423647.6973564631494163292901128572178672759135993901052941218623054962803 2805705456994144355660557015221993711026675
3056837731206420285577765555895129318418696117957242580812605425669352220148045 987007779714.068333049432442006075403036471435067251602253039333231564624535324 5253695640900936608833400220861769709864286
3056837731206420285577793845031202315382343891945164951664353541911467976988456 6774738187347.15188822114076321625341906022073529476680239995310650517418802579 2440864185997690185999429686896567541080012
3056837731206420285577822134167275312345991666194885720117239345029968776270399 06284661545475.7427445187491670655070665985412783404157979952750280836384375979 6693012034764051139398267644653201344573862
3056837731206420285577738252929527203759680896134845145708350862900975022301242 335788141530461.325536407574111082155476556085890325593006121215943069076477534 5941080526299314248509163136593224440221028
3056837731206420285577766542065600200723328669870095514631573831265808277180179 3825187703813914.88280534947920558363184839791031442868513947844233864174973726 2071083884062537334280737094587220658712834
3056837731206420285577794831201673197686976443867144281155934486507024236178083 13422476444026839.2647338357389969152335784918980268393070211892677404595172522 2582845286930066769178441416960777445360458
3056837731206420285577823120337746194650624218125991445281432828624625322076646 523050385622936115.749278455978472462323347283883568547086383785171046051737077 1468537468975303555594543588924587350858345
3056837731206420285577739239099998086064313448038889833617028723646837905260997 0230159854331693546.66679171245593832507444202336169573855986844900858735470351 7596158912687306177358157675386538362351861
3056837731206420285577767528236071083027961221783266598212864231010771280782577 78951136400114566009.4389822460903867998696486424808515413042437651006039691958 6524317831414335984068529560423408124732447


in other words iterate over the left side (for the right we use "bloom filtr")


100500.7286737732734288320634
...
65.7286737732734288320634
64.7286737732734288320634
63.7286737732734288320634
62.7286737732734288320634
61.7286737732734288320634
...
1.7286737732734288320634


100500.0506018681607911799668
...
69.0506018681607911799668
68.0506018681607911799668
67.0506018681607911799668
66.0506018681607911799668
65.0506018681607911799668
68.0506018681607911799668
...
1.0506018681607911799668


***

for "precision" mpmath https://mpmath.org/doc/current/functions/powers.html

Quote
from mpmath import *

num1 = "30568377312064202855"

i=1
while i<=40:

    mp.dps = 24; mp.pretty = True
    
    
    a = log(num1, 2)
    #print(num1)
    print(a,num1)


    mp.dps = 200; mp.pretty = True

    #b = power(2, "44.8664977273289538280181")
    b = 2**a

    #print("")
    #print(b)
    num1 += str(7)
    i=i+1


i=1
while i<=40:

    mp.dps = 24; mp.pretty = True
    
    
    a = log(num1, 2)
    #print(num1)
    #print(a,num1)


    mp.dps = 200; mp.pretty = True

    #b = power(2, "44.8664977273289538280181")
    b = 2**a

    #print("")
    print(b)
    num1 += str(7)
    i=i+1

[/size]

haemorrhoids begin with 50000.blablabla from string transformations and trimming (to take more you need to think how without conversions to a string, take the first 20 digits of the number as an option, divide by 10blablabla, etc.)

Quote
from mpmath import *
#import sys
mp.dps = 10000; mp.pretty = True

#a = "23590.6234417655735764497"
#b = power(2,a)
#c = str(b)[0:20]
#print(c)

k = "."
kk = "6234417655735764497"

i=23500
while i <=23590:

    f = str(i)
    v = f+k+kk
    vv = power(2,v)
    vvv = str(vv)[0:20]
    #vvvv = int(vv)
    #D = sys.getsizeof(vvvv)-20
    #DD = vvvv//D
    print(v,vvv)
    #vv=0
    #vvv=0
    
    i=i+1

Quote
23500.6234417655735764497 24692938544673184502
23501.6234417655735764497 49385877089346369005
23502.6234417655735764497 98771754178692738011
23503.6234417655735764497 19754350835738547602
23504.6234417655735764497 39508701671477095204
23505.6234417655735764497 79017403342954190409
23506.6234417655735764497 15803480668590838081
23507.6234417655735764497 31606961337181676163
23508.6234417655735764497 63213922674363352327
23509.6234417655735764497 12642784534872670465
23510.6234417655735764497 25285569069745340930
23511.6234417655735764497 50571138139490681861
23512.6234417655735764497 10114227627898136372
23513.6234417655735764497 20228455255796272744
23514.6234417655735764497 40456910511592545489
23515.6234417655735764497 80913821023185090979
23516.6234417655735764497 16182764204637018195
23517.6234417655735764497 32365528409274036391
23518.6234417655735764497 64731056818548072783
23519.6234417655735764497 12946211363709614556
23520.6234417655735764497 25892422727419229113
23521.6234417655735764497 51784845454838458226
23522.6234417655735764497 10356969090967691645
23523.6234417655735764497 20713938181935383290
23524.6234417655735764497 41427876363870766581
23525.6234417655735764497 82855752727741533162
23526.6234417655735764497 16571150545548306632
23527.6234417655735764497 33142301091096613265
23528.6234417655735764497 66284602182193226530
23529.6234417655735764497 13256920436438645306
23530.6234417655735764497 26513840872877290612
23531.6234417655735764497 53027681745754581224
23532.6234417655735764497 10605536349150916244
23533.6234417655735764497 21211072698301832489
23534.6234417655735764497 42422145396603664979
23535.6234417655735764497 84844290793207329958
23536.6234417655735764497 16968858158641465991
23537.6234417655735764497 33937716317282931983
23538.6234417655735764497 67875432634565863966
23539.6234417655735764497 13575086526913172793
23540.6234417655735764497 27150173053826345586
23541.6234417655735764497 54300346107652691173
23542.6234417655735764497 10860069221530538234
23543.6234417655735764497 21720138443061076469
23544.6234417655735764497 43440276886122152938
23545.6234417655735764497 86880553772244305877
23546.6234417655735764497 17376110754448861175
23547.6234417655735764497 34752221508897722351
23548.6234417655735764497 69504443017795444702
23549.6234417655735764497 13900888603559088940
23550.6234417655735764497 27801777207118177880
23551.6234417655735764497 55603554414236355761
23552.6234417655735764497 11120710882847271152
23553.6234417655735764497 22241421765694542304
23554.6234417655735764497 44482843531389084609
23555.6234417655735764497 88965687062778169218
23556.6234417655735764497 17793137412555633843
23557.6234417655735764497 35586274825111267687
23558.6234417655735764497 71172549650222535374
23559.6234417655735764497 14234509930044507074
23560.6234417655735764497 28469019860089014149
23561.6234417655735764497 56938039720178028299
23562.6234417655735764497 11387607944035605659
23563.6234417655735764497 22775215888071211319
23564.6234417655735764497 45550431776142422639
23565.6234417655735764497 91100863552284845279
23566.6234417655735764497 18220172710456969055
23567.6234417655735764497 36440345420913938111
23568.6234417655735764497 72880690841827876223
23569.6234417655735764497 14576138168365575244
23570.6234417655735764497 29152276336731150489
23571.6234417655735764497 58304552673462300979
23572.6234417655735764497 11660910534692460195
23573.6234417655735764497 23321821069384920391
23574.6234417655735764497 46643642138769840783
23575.6234417655735764497 93287284277539681566
23576.6234417655735764497 18657456855507936313
23577.6234417655735764497 37314913711015872626
23578.6234417655735764497 74629827422031745253
23579.6234417655735764497 14925965484406349050
23580.6234417655735764497 29851930968812698101
23581.6234417655735764497 59703861937625396202
23582.6234417655735764497 11940772387525079240
23583.6234417655735764497 23881544775050158481
23584.6234417655735764497 47763089550100316962
23585.6234417655735764497 95526179100200633924
23586.6234417655735764497 19105235820040126784
23587.6234417655735764497 38210471640080253569
23588.6234417655735764497 76420943280160507139
23589.6234417655735764497 15284188656032101427
23590.6234417655735764497 30568377312064202855
[/size]
member
Activity: 406
Merit: 47
Can someone tell what exact happens in bsgs and kangaroo. In layman terms and by giving some examples. If possible please explain by example of any 10 bit 20 bit key so it can be understood easily. Like if i take a 64 bit known pub key and starts my bsgs or kangaroo , then what happens inside it. I understood that it uses pubkey + n*G to calculate anoher pubkey and if value of prv key related to this new pubkey is known then prv key for the input key can be calculated.  but how that helps. We still have to go through billions of keys and keypairs. How it generated those keypairs first. Secondly how it can be so fast to search for 64 bit in some seconds. Its still a large space. Confused ...

Did you read description explain on JeanLucPons Kangaroo at github already? try read for understand
https://github.com/JeanLucPons/Kangaroo
jr. member
Activity: 35
Merit: 2
Can someone tell what exact happens in bsgs and kangaroo. In layman terms and by giving some examples. If possible please explain by example of any 10 bit 20 bit key so it can be understood easily. Like if i take a 64 bit known pub key and starts my bsgs or kangaroo , then what happens inside it. I understood that it uses pubkey + n*G to calculate anoher pubkey and if value of prv key related to this new pubkey is known then prv key for the input key can be calculated.  but how that helps. We still have to go through billions of keys and keypairs. How it generated those keypairs first. Secondly how it can be so fast to search for 64 bit in some seconds. Its still a large space. Confused ...
newbie
Activity: 12
Merit: 0
@fxsniper

Here is the code I told you I would upload.  It's not the exact one I was looking for but it is based on the same principle.  Easy to change the range you want to search through. I modified my code to search for the RIPEMD of the address I was looking for. Shaves a few milliseconds off versus processing all the way to the address. I created this probably 6 months ago and I am sure it is not the most efficient coding.  Hopefully it gives you some ideas on how to tweak and make exactly what you are wanting.

Code:
#Amateur, very amateur coding by the Wandering Philosopher
#Tested with Python 2.7
import binascii, hashlib, base58, sys, ecdsa, codecs, os, random
import time
import timeit
#Enter the RIPEMD160 of the address you want to search for; make sure it is in LOWERCASE
ripetofind = '3ee4133d991f52fdf6a25c9834e0745ac74248a4'

def compressed_RIPEMD(privkey):
    start_time = timeit.default_timer()
    pvk_to_bytes = codecs.decode (privkey, 'hex')
    
    #Generates the public key
    key = ecdsa.SigningKey.from_string (pvk_to_bytes, curve=ecdsa.SECP256k1).verifying_key
    key_bytes = key.to_string()
    key_hex = codecs.encode(key_bytes, 'hex')

    if(ord(bytearray.fromhex(key_hex[-2:])) % 2 == 0):
        #If the last byte of Y is Even, add '02'
        public_key_compressed = '02' + key_hex[0:64]

        #Making SHA-256 of compressed pubkey and then RIPEMD-160
        public_key_in_bytes = codecs.decode(public_key_compressed, 'hex')
        sha256_public_key_compressed = hashlib.sha256(public_key_in_bytes)
        sha256_public_key_compressed_digest = sha256_public_key_compressed.digest()

        ripemd160 = hashlib.new('ripemd160')
        ripemd160.update(sha256_public_key_compressed_digest)
        ripemd160_digest = ripemd160.digest()
        ripemd160_hex = codecs.encode(ripemd160_digest, 'hex')
        
    else:
        #If the last byte of Y is Odd, add '03'
        public_key_compressed = '03' + key_hex[0:64]

        #Making SHA-256 of compressed pubkey and then RIPEMD-160
        public_key_in_bytes = codecs.decode(public_key_compressed, 'hex')
        sha256_public_key_compressed = hashlib.sha256(public_key_in_bytes)
        sha256_public_key_compressed_digest = sha256_public_key_compressed.digest()

        ripemd160 = hashlib.new('ripemd160')
        ripemd160.update(sha256_public_key_compressed_digest)
        ripemd160_digest = ripemd160.digest()
        ripemd160_hex = codecs.encode(ripemd160_digest, 'hex')
        elapsed = timeit.default_timer() - start_time
        #Prints status and numbers on screen. Comment out both sys.stdout lines below if not wanted and the countall +=1 ; I liked to know it was working/running.
        sys.stdout.write("\r" + "  Key every: " + str(elapsed)[:7] + " seconds " + " Random RIPEMD160s:  " + ripemd160_hex + "   # of Keys: "  + str(countall))
        sys.stdout.flush()
        fwrite = open('KEYSFOUND.txt', 'a')
        if ripemd160_hex == ripetofind:
            fwrite.write('Key: ' + randomprivkey + '  ' + ripemd160_hex + '\n' )

#Always leave countall = 0 below. If you want the program to run unlimited, comment out the countall +=1 down below
countall = 0
while (countall < 100000000000000):
    if __name__== "__main__":
        
        #Enter the range you want to search through below
        low  = 0x8000000000000000
        high = 0xFFFFFFFFFFFFFFFF
        #high = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140
        randomprivkey = hex( random.randrange( low, high ) ).lstrip("0x").rstrip("L").zfill(64)
        countall +=1
        compressed_RIPEMD(randomprivkey)






can we put  additional code like " with open("my_ripemd _key.txt", "r") ? " cause i have tons of Ripemd address here ?
Regards
newbie
Activity: 15
Merit: 0

I am interesting to run this code

someone know about code python language

please help to fix it

I try to fix it but not yet success

code old 2 year, now library keras is update to new version some function call it not working


https://bitcointalksearch.org/topic/training-rnn-lstm-to-associate-public-addresses-with-private-bitcoin-keys-5075651

https://github.com/btc-room101/bitcoin-rnn



Try old versions from 2018 to install https://pypi.org/project/Keras/#history pip install Keras==2.2.4 or 2.2.3 etc...

For the stupid what he does?

Trying to find patterns of pubkey => privkey or pubkey hashed to privkey.
I've tried couple diffrent types of neural networks to solve that, but its requares massive data size, so its comparing to bruteforce, its not helpfull here.
full member
Activity: 1162
Merit: 237
Shooters Shoot...
The idea of solving complex algorithms supposedly for a computer and in reward for a 32 bitcoin units award, i will say its almost impossible. You aer talking about a reward system that exceeds 1.6 million dollars and one should look that way as a reality even in the face of bitoin scarcity? All should avoind this please.
You may want to actually read what this thread/32BTC challenge is actually about...
full member
Activity: 1442
Merit: 106
The idea of solving complex algorithms supposedly for a computer and in reward for a 32 bitcoin units award, i will say its almost impossible. You aer talking about a reward system that exceeds 1.6 million dollars and one should look that way as a reality even in the face of bitoin scarcity? All should avoind this please.
jr. member
Activity: 184
Merit: 3

I am interesting to run this code

someone know about code python language

please help to fix it

I try to fix it but not yet success

code old 2 year, now library keras is update to new version some function call it not working


https://bitcointalksearch.org/topic/training-rnn-lstm-to-associate-public-addresses-with-private-bitcoin-keys-5075651

https://github.com/btc-room101/bitcoin-rnn



Try old versions from 2018 to install https://pypi.org/project/Keras/#history pip install Keras==2.2.4 or 2.2.3 etc...

For the stupid what he does?
member
Activity: 406
Merit: 47

I am interesting to run this code

someone know about code python language

please help to fix it

I try to fix it but not yet success

code old 2 year, now library keras is update to new version some function call it not working


https://bitcointalksearch.org/topic/training-rnn-lstm-to-associate-public-addresses-with-private-bitcoin-keys-5075651

https://github.com/btc-room101/bitcoin-rnn

newbie
Activity: 9
Merit: 1
Histograms (that at infinity should form a Probability Density Function - but we have have only ~60-70 points) show an interesting behavior at 0.3-0.5 and 0.6-0.8 (and specially 0.82-0.83).

Priviet!

I did something like this long time ago (https://bitcointalksearch.org/topic/m.54879435)
BUT: it makes no sense!
Somewhere (I do not have time to search for the post) author stated that he generated random private keys and then replaced the beginning with ZEROs, just to keep incrementing ranges. So any statistical approach is useless IMHO.

Sure thing - i've also noted that on github https://github.com/HomelessPhD/BTC32 (making some dummy simulation showing histogram for the first 60s points and last 100 point of the group), but again, currently we have no other criterion for reducing\choosing intervals.

We could try to hack the Random Generator used to generate the sequence - that should be a "Algorithmic" random generator i assume - but that's probably even harder than 32 BTC puzzle task.

(should remember that there is no strong proof that inverse problem for both Random Generator or Private Key -> Public Key -> Address have no algorithmic solution, who knows, may be some smart, well motivated person with enough free time will find\construct an algorithm of reverse "de-hashing".)
legendary
Activity: 952
Merit: 1385
Histograms (that at infinity should form a Probability Density Function - but we have have only ~60-70 points) show an interesting behavior at 0.3-0.5 and 0.6-0.8 (and specially 0.82-0.83).

Priviet!

I did something like this long time ago (https://bitcointalksearch.org/topic/m.54879435)
BUT: it makes no sense!
Somewhere (I do not have time to search for the post) author stated that he generated random private keys and then replaced the beginning with ZEROs, just to keep incrementing ranges. So any statistical approach is useless IMHO.
member
Activity: 406
Merit: 47

any useful for some formula on this video help to calculate where is address

seem many formula not easy to calculate still have part request to guess predict

old video
https://www.youtube.com/watch?v=f2s3_UG9IPU
full member
Activity: 1162
Merit: 237
Shooters Shoot...
Hello from Ukraine, guys. I have watched the crypto skyrocketing to the MOON and nearly fallen in depression thinking that purchasing just a 1 BTC for a ~ 3k$ (when it was possible) could already provide me my own flat and so i've found different BTC contest including this one.

My ideas and used scripts could be found here https://github.com/HomelessPhD/BTC32

I am the last year PhD on applied physics and. Now i need to hurry in writing a few more articles and I cant spent much time on this "hackaton" at the moment, but after researches and two articles (expect it will take a month) i'll return to this topic - wish you good luck. By the way, i've searched few interesting intervals (interesting alpha values) - you may found them in "Examples" folder on github.

P.S. Thank you for reading my post - it is my first post in bitcointalk. Sorry for my bad English.
Wow, very in depth process that you have on github. I may need to pick your brain on running larger widths in the ranges.
newbie
Activity: 9
Merit: 1
Hello from Ukraine, guys. I have watched the crypto skyrocketing to the MOON and nearly fallen in depression thinking that purchasing just a 1 BTC for a ~ 3k$ (when it was possible) could already provide me my own flat and so i've found different BTC contest including this one.

My ideas and used scripts could be found here https://github.com/HomelessPhD/BTC32

I've seen some of you struggled with the need to reduce the interval of Private Keys for brutting - i've managed this problem using MATLAB\Octave script (just because it has useful Variable-Precision arithmetic AKA Big Numbers and thats was faster for me to use a familiar instrument, but in nearest future i could write a C program if it is reasonable). The main idea of that Github project is to bruteforce multiple "32 BTC puzzle" addresses within a series of tiny Private Keys intervals using BitCrack utility. There are lots of comments i've left, but i'm opened for questions and propositions.

By the way, thinking of patterns behind the Private Keys (that is also described on Github) - i've  presented Private Keys for each 32 BTC address as relative position inside its "all possible Private Keys interval" so called alpha parameter: PK_n = 2^(n-1) + rem, where rem taken from {0...2^(n-1)} forming alpha_n = (PK_n -2^(n-1)) / 2^(n-1). Alpha parameter for all Private Keys shows the relative position of the Private Key inside its interval of possible values and lies in interval of {0..1} for all BTC addresses.

The autocorrelation for alpha parameters (Private Keys in dimensionless form) looks like a classical noise do (just google it):
https://user-images.githubusercontent.com/80585811/111080604-e3520280-8507-11eb-839e-8ebd26ec61bb.png

Histograms (that at infinity should form a Probability Density Function - but we have have only ~60-70 points) show an interesting behavior at 0.3-0.5 and 0.6-0.8 (and specially 0.82-0.83).

https://user-images.githubusercontent.com/80585811/111080580-c4537080-8507-11eb-9cc3-2bb6096ca752.png

One may say that 0.3-0.5 and 0.6-0.8 are reasonable sub-intervals for searches, other could state that it is more probable to find a new Private Key at histogram minima rather than at its maxima (thinking that final histogram should form a uniform distribution) and the smartest i assume will notice pure randomness stating that all the next keys are nearly unrelated with known keys. I've tried to simulate keys distribution (see the github) -  the third variant could be true but do we have a choice?! We cant loop through all Private Keys - it will take ~>1000 years for #64 and much more for others so one way or another, we will have to choose a criterion for narrowing the interval of Private Keys - histogram is one of such.


I am the last year PhD on applied physics. Now i need to hurry in writing a few more articles and I cant spent much time on this "hackaton" at the moment, but after researches and two articles (expect it will take a month) i'll return to this topic - wish you good luck. By the way, i've searched few interesting intervals (interesting alpha values) - you may find them in "Examples" folder on github.

P.S. Thank you for reading my post - it is my first post in bitcointalk. Sorry for my bad English.
member
Activity: 406
Merit: 47
Hello,
I'm a total newbie for the bitcoin puzzle and bitcoin in general, but I have some experience in Python.
I wrote the following codes depending on my knowledge in Python.
first of all, I'm running these codes on 2 laptops [core i3 & core i5], but it runs extremely slow on both of them ~333keys/s
I tried to use Bitcrack but I couldn't manage to get it run on Kali Linux "I have just installed it couple of days ago so I'm not experienced with it"
I tried https://privatekeys.pw/scanner "which by the way shows that I'm generating ~15,000 Keys/s on both laptops!"
I tried to find a faster bitcoin library for Python but I couldn't manage to make it work like bitcoin standard library
anyway, here are my codes:
CODE #1
Code:
import random
from bitcoin import *
while True:
    x = random.randint(2**63, 2**64)
    y = privtoaddr(x)
    if y == '16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN':
        print(hex(i))
        break
CODE #2
Code:
from bitcoin import privtoaddr
i = 18446744073709551616
while i >= 9223372036854775808:
    i -= 1
    y = privtoaddr(i)
    if y == '16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN':
        print(hex(i))
        break
I try to play around a lot with CODE #2, but still getting the same results.
Any suggestions to make it run faster or recommending faster tools are appreciated.
Thanks in advance.

With your laptops speed, use BSGS by WanderingPhilospher https://bitcointalksearch.org/topic/baby-step-giant-step-combined-efforts-to-find-12-bitcoin-5304368 or Plutus https://github.com/Isaacdelly/Plutus a slightly adapted one can check at least 20 million addr in 1 second (in infinity)...



try BSGS or other way use method calculate position address before scan

code #2 scan all  is 9 Quintillion  (9 billion of billion)  if you laptop can scan 1 billion per day and then need 9 billion days to scan on you laptop

so pure scan (raw brute force all) may be not work, it need to calculate something before scan

example
15446744073709551615
16446744073709551615
17446744073709551615
18446744073709551615

if you guess key on between 17446744073709551615 to 18446744073709551615 still =  1000000000000000000   =  1000000000* 1000000000

64bit pool now still scan to 1 Quintillion  from 9 Quintillion 
try to join pool to scan all 8 Quintillion leave

Jump to: