Pages:
Author

Topic: == Bitcoin challenge transaction: ~1000 BTC total bounty to solvers! ==UPDATED== - page 45. (Read 47899 times)

full member
Activity: 1792
Merit: 148
0459A3BFDAD718C9D3FAC7C187F1139F0815AC5D923910D516E186AFDA28B221DC994327554CED8 87AAE5D211A2407CDD025CFC3779ECB9C9D7F2F1A1DDF3E9FF8


where he take this? this third line in in.txt
member
Activity: 316
Merit: 34
today jeanluc post Kangaroo for cpu
its much fast and better then alek76 gpu version check his link and results
BSGS (baby step)
https://github.com/JeanLucPons/BSGS/issues
Kangaroo
https://github.com/JeanLucPons/Kangaroo

test 65 bit at i3-6100 2 core 4thread processor


:~/jean/Kangaroo$ ./kangaroo in.txt
Kangaroo v1.0
Start:10000000000000001
Stop :1FFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 4
Range width: 2^64
Number of random walk: 2^12.00 (Max DP=18)
DP size: 18 [0xffffc00000000000]
Solvekey Thread 0: 1024 TAME kangaroos
Solvekey Thread 1: 1024 TAME kangaroos
Solvekey Thread 2: 1024 WILD kangaroos
Solvekey Thread 3: 1024 WILD kangaroos
[11.56 MKey/s][Count 2^33.15][14:29][Dead 1][6.9MB]
Key# 0 Pub:  0x023115A92D2D604381E154EDAC700D4D99AC44F8E2B1274E16524583D1D52DDDC0
       Priv: 0x150E316D058E7AFF8

Done: Total time 14:30
newbie
Activity: 11
Merit: 0
I'm not at all sure if it will work with a wider range (say for instance 000000000000000000000000000000000000000000000001A838B13505B26867:0000000000000000000000000000000000000000000000349B84B6431A6C4EF1 which is 65 and 70). Might be able to test this using some of the already solved values (like plug in L of 48 and U of 53 and look for 51's key). If I'm wrong and this is silly, please let me know, sir Alek. I'm by no means a math or programming guy, just a tinkerer.
-bits 1A838B13505B26867:349B84B6431A6C4EF1
Will work, a wider range will require more time.
Hi. Maybe share compiled cpu version? Or how to make program on windows?
jr. member
Activity: 55
Merit: 1
I'm not at all sure if it will work with a wider range (say for instance 000000000000000000000000000000000000000000000001A838B13505B26867:0000000000000000000000000000000000000000000000349B84B6431A6C4EF1 which is 65 and 70). Might be able to test this using some of the already solved values (like plug in L of 48 and U of 53 and look for 51's key). If I'm wrong and this is silly, please let me know, sir Alek. I'm by no means a math or programming guy, just a tinkerer.
-bits 1A838B13505B26867:349B84B6431A6C4EF1
Will work, a wider range will require more time.

Oh of course it will! Thanks for the feedback.
jr. member
Activity: 55
Merit: 1
Hi! How to check how much bit long keyspace?

It's all on the main post my friend! Double check it if you have any doubts!!!
Sorry i can't find any information on how to calculate the private key bit range space from any bitcoin address.

That's pretty unknowable, far as I'm aware. Just gotta try and try again. Pick an number and let it run. Wait til it either fails or you run out of patience. Rinse. Repeat. (that is if you're looking to recover your old wallet, doncha know).

---

On another note, I think I figured out how to set a range instead of just using a number for -bits. Haven't let an extensive test run yet but worth an experiment. Say you want to use the privkeys from 63 and 65 as your U and L instead of -bits 64.

./vs-kangaroo-hybrid -v 1 -gpu -p 8 -bits 0000000000000000000000000000000000000000000000007CCE5EFDACCF6808:000000000000000000000000000000000000000000000001A838B13505B26867 02pubkeygoeshere000

I'm not at all sure if it will work with a wider range (say for instance 000000000000000000000000000000000000000000000001A838B13505B26867:0000000000000000000000000000000000000000000000349B84B6431A6C4EF1 which is 65 and 70). Might be able to test this using some of the already solved values (like plug in L of 48 and U of 53 and look for 51's key). If I'm wrong and this is silly, please let me know, sir Alek. I'm by no means a math or programming guy, just a tinkerer.

Also, using rekey DOES seem to work based on an overnight test. Changes T and W start points after whatever you set the interval to. -r=5000 rolls em after 5Gj.

newbie
Activity: 11
Merit: 0
Hi! How to check how much bit long keyspace?

It's all on the main post my friend! Double check it if you have any doubts!!!
Sorry i can't find any information on how to calculate the private key bit range space from any bitcoin address.
jr. member
Activity: 52
Merit: 3
Hi! How to check how much bit long keyspace?

It's all on the main post my friend! Double check it if you have any doubts!!!
full member
Activity: 1792
Merit: 148
hi all
I have a question - how do you get Biginteger PVK? Of what? what you need to take to get Biginteger PVK
example:


Address 6:

KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU7Tmu6qHxS
1PitScNLyp2HCygzadCh7FveTnfmpPbfp8
Biginteger PVK value: 49 - where did this number come from?
Hex PVK value: 31
newbie
Activity: 11
Merit: 0
Hi! How to check how much bit long keyspace?
member
Activity: 434
Merit: 29




Which means that value the total prize ( 100 BitCoins ) will be about 10 USD soon enough   Cheesy Cheesy Cheesy

Hard Facts
full member
Activity: 431
Merit: 105
hi alek76, man was wondering if this one can do uncompressed pk's.
thanks for this release bro. and thanks a lot for helping out.
sr. member
Activity: 290
Merit: 250
Quote
used cpu Huh
Set -t 0 -gpu -bits

No I don't use cpu. It works with uncompressed keys though. I guess it is todo with "searchMode".
sr. member
Activity: 290
Merit: 250
================================================================
when i try 65 bits, i get segmention error. But if i drop the bits to 60 it works fine. I am using Geforce GTX 2070 with ccap 75. Any thoughts please?
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#features-and-technical-specifications__technical-specifications-per-compute-capability
Try replacing
#define NB_TRHEAD_PER_GROUP 128
at
#define NB_TRHEAD_PER_GROUP 64


...
[meanjumpsize#64] 3FFFFFFFFFFFFFF(now) <= 40A3D5640000000(optimal) <= 7E07E07E07E07E0(next)
[meanjumpsize#64] 3FFFFFFFFFFFFFF(now) <= 40A3D5640000000(optimal) <= 7E07E07E07E07E0(next)
Sp[64]|J-----------------------------------------------------------|Sp[65]
this Sp set has low efficiency (over -25%) for this mean jumpsize
[JmaxofSp] Sp[64]=3FFFFFFFFFFFFFF nearer to optimal mean jumpsize of Sp set
Old DPmodule: 2^30
New DPmodule: 2^24
[DPmodule] 2^24 = 16777216 (0x0000000001000000)
 dT[0] 0x                                               1C1D549AF46361B4B
 dT[1] 0x-6F51C29AFFFFFFFFEF66E09BFFFFFFFF6F33A29CFFFFFFFFEF48C09DFFFFFFFDAD4038EFB9C9E4B5
 dT[2] 0x215C7ACA0000000021323EC8000000012198BAC600000000216E7EC400000002E3AA447146361 B4B
 dT[3] 0x-4DF547D0FFFFFFFFCE34A1D3FFFFFFFE4D9AE7D6FFFFFFFFCDDA41D9FFFFFFFC8B6B3E2DB9C9E4B5
 dT[4] 0x42B8F5940000000042647D90000000024331758C0000000042DCFD8800000004057F3F3346361 B4B
 dT[5] 0x-2C98CD06FFFFFFFFAD02630BFFFFFFFD2C022D10FFFFFFFFAC6BC315FFFFFFFB6996436BB9C9E4B5
...

Hi thanks for the reply. I tried your suggestion but result is the same. When I increase verbose output though, numbers where the jumpsizes calculated goes drasticly high.
member
Activity: 316
Merit: 34
================================================================
when i try 65 bits, i get segmention error. But if i drop the bits to 60 it works fine. I am using Geforce GTX 2070 with ccap 75. Any thoughts please?
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#features-and-technical-specifications__technical-specifications-per-compute-capability
Try replacing
#define NB_TRHEAD_PER_GROUP 128
at
#define NB_TRHEAD_PER_GROUP 64
you should go back in earlier post to you, where i said you need to correct define, block, thread and process, and you will get 10x faster speed Smiley
hope you soon you will able to assign this in user level with switches -b -t -p , as per bitcracked assign for manage load of full GPU power
sr. member
Activity: 290
Merit: 250
"./vs-kangaroo-hybrid -v 1 -gpu -p 8 -bits 65 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b"

[###########################################################]
[#          Pollard-kangaroo PrivKey Recovery Tool         #]
[#          (based on engine of VanitySearch 1.15)         #]
[#                 bitcoin ecdsa secp256k1                 #]
[#                 ver 0.01 GPU Hybrid v4F                 #]
[#          GPU implementation changes by alek76           #]
[#          Tips: 1NULY7DhzuNvSDtPkFzNo6oRTZQWBqXNE9       #]
[###########################################################]
[DATE(utc)] 07 Apr 2020 16:03:05
[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
[pow2bits]   65
[Wsqrt] (2^32)                                                        100000000
[M]                                                18000000000000000
[rangeW]   2^64..2^65 ; W = U - L = 2^64
[DPsize]   1048576 (hashtable size)
[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
[pubkey#65] loaded
[Xcoordinate] 30210C23B1A047BC9BDBB13448E67DEDDC108946DE6DE639BCC75D47C0216B1B
[Ycoordinate] E383C4A8ED4FAC77C0D2AD737D8499A362F483F8FE39D1E86AAED578A9455DFC
[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
  • Sp-table of pow2 points - ready
  • [~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
[UV] U*V=271119705*0=1155970841192693760 (0x100ad55b00000000)
[optimal_mean_jumpsize] 40A3D5640000000
[meanjumpsize#64] 3FFFFFFFFFFFFFF(now) <= 40A3D5640000000(optimal) <= 7E07E07E07E07E0(next)
Sp[64]|J-----------------------------------------------------------|Sp[65]
this Sp set has low efficiency (over -25%) for this mean jumpsize
[JmaxofSp] Sp[64]=3FFFFFFFFFFFFFF nearer to optimal mean jumpsize of Sp set
Old DPmodule: 2^30
New DPmodule: 2^24
[DPmodule] 2^24 = 16777216 (0x0000000001000000)
Segmentation fault (core dumped)

=======================================================================================

"./vs-kangaroo-hybrid -v 1 -gpu -p 8 -bits 60 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b"

[###########################################################]
[#          Pollard-kangaroo PrivKey Recovery Tool         #]
[#          (based on engine of VanitySearch 1.15)         #]
[#                 bitcoin ecdsa secp256k1                 #]
[#                 ver 0.01 GPU Hybrid v4F                 #]
[#          GPU implementation changes by alek76           #]
[#          Tips: 1NULY7DhzuNvSDtPkFzNo6oRTZQWBqXNE9       #]
[###########################################################]
[DATE(utc)] 07 Apr 2020 16:04:03
[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
[pow2bits]   60
[Wsqrt] (2^29)                                                         40000000
[M]                                                  C00000000000000
[rangeW]   2^59..2^60 ; W = U - L = 2^59
[DPsize]   1048576 (hashtable size)
[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
[pubkey#60] loaded
[Xcoordinate] 30210C23B1A047BC9BDBB13448E67DEDDC108946DE6DE639BCC75D47C0216B1B
[Ycoordinate] E383C4A8ED4FAC77C0D2AD737D8499A362F483F8FE39D1E86AAED578A9455DFC
[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
  • Sp-table of pow2 points - ready
  • [~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]
[UV] U*V=-1874375596*0=10387882763385569280 (0x90292c5600000000)
[optimal_mean_jumpsize] FFFFFFFF90474C540000000
[meanjumpsize#99] 14AFD6A052BF5A814AFD6A05(now) <= FFFFFFFF90474C540000000(optimal) <= 28F5C28F5C28F5C28F5C28F5(next)
Sp[98]|--------------------------------J---------------------------|Sp[99]
this Sp set has low efficiency (over -25%) for this mean jumpsize
[JmaxofSp] Sp[99]=A72F05397829CBC14E5E0A7 nearer to optimal mean jumpsize of Sp set
Old DPmodule: 2^27
New DPmodule: 2^24
[DPmodule] 2^24 = 16777216 (0x0000000001000000)
  • -1874375596T+0W kangaroos - ready
[CPU] threads: 0
[GPU] threads: 1 Hang on to your hats... ;-)
[optimal_mean_jumpsize] 20000000
[meanjumpsize#34] 1E1E1E1E(now) <= 20000000(optimal) <= 3A83A83A(next)
Sp[34]|
  • Runing Comparator every: 29 sec
---J--------------------------------------------------------|Sp[35]
[JmaxofSp] Sp[34]=1E1E1E1E nearer to optimal mean jumpsize of Sp set
GPUEngine: DPmodule: 0x80000 2^19 ((pow2W-(2*Power))/2)-2 Hop_modulo: 42 Power: 8

Comparator time: 0.096 msec wild.txt 0 bytes tame.txt 0 bytes
GPU: GPU #0 GeForce RTX 2070 (36x64 cores) Grid(288x128)
GPU Bits: 60
GPU Tame Points: [M] + Rand(pow2W-0)
GPU Tame Starting Key 0: C00000000000000
GPU Tame Starting Key 1: FD6EBA8700D43D6
GPU Tame Starting Key 2: EF256D34DF0F066
GPU Tame Starting Key 3: FECD34BB117744E
GPU Tame Starting Key 4: F16585F78ED824A
GPU Tame Starting Key 5: 103C4C7792D706BF
GPU Tame Starting Key 6: C9A60703286D1D3
GPU Tame Starting Key 7: E4B284A08B685B5
GPU Tame Starting Key 8: 119EC31B0FD3A92C
GPU Tame Starting Key 9: 129127EDA0A93B0D
GPU Tame Starting Key 36863: C48796513E6E740 Thread: 36864

GPU Wild Points: [Target] + Rand(pow2W-1)
GPU Wild Starting Key 0: 1E6E49D99F9DC8E
GPU Wild Starting Key 1: 226EEF6F0322D16
GPU Wild Starting Key 2: 42181FB9E05544
GPU Wild Starting Key 3: F9B35DB4EE3271
GPU Wild Starting Key 4: 3299DF1FB83662C
GPU Wild Starting Key 5: 16D2A850419D5DD
GPU Wild Starting Key 6: BF9DF03FA141FF
GPU Wild Starting Key 7: 72276908E77B1C
GPU Wild Starting Key 8: C90C14D17D82A5
GPU Wild Starting Key 9: 2287AD8FA7CFA6
GPU Wild Starting Key 36863: 3DE7973035E4479 Thread: 36864

Used Comparator in C++^C

================================================================
when i try 65 bits, i get segmention error. But if i drop the bits to 60 it works fine. I am using Geforce GTX 2070 with ccap 75. Any thoughts please?

sr. member
Activity: 443
Merit: 350
Chapter 6. The xperimental results and evaluation. But here they use probabilityof a point being distinguished is 2 ^ 20. In another solution, a multiple of 2 ^ 29 was used.

There should be some logical explanation for DPmodule selection. 2^20 or 2^29 will not be the same depending on the private key bits length. I mean that 2^20 could be optimal for 110bits key, but not good for 150bits key. 2^20 is more than 1 million - so we use only x-coordinates with factor 2^20 for our collission comprator, but possibly skip earlier collisions.

DPmodule selection is something like the balancing between calculation power and saving/comparator power. Extreme example: if we select DPmodule = 1, we will save every jump, so we will need more storage space, and also the more stored places we have the harder work for comparator. From the other hand we will catch "the 1st meeting between wild and tame kangaroos". Selecting greater DPmodule we will have less saved points, easier work for comparator but we can skip the actual meeting (i.e. collision we are looking for) between wild and tame kangaroos.

alek76, Can you please examine this in more details and find the logical exaplanation why the DPmodule for x-coordinate is used and how to select the optimal value for this module based on bits length of the key (or other factor if required)
sr. member
Activity: 443
Merit: 350
alek76, in your revised script, how do you select points to save? I mean what kind of algorythm do you use for points to be saved. You do not save every calculated point after wild/tame jump.
Do you store these points in files or in memory?
If after the jump the coordinate Point.X % DPmodule == 0 then add to atomicAdd. The length of the jump is taken from the table and is equal to dS [pw]. Where pw is equal Point.X % Hop_modulo. On the host, point X and distance are saved to files. Could make a save in memory and use the string vectors, then changed your mind ...

Ok, thank you.
If you understand, can you please also exaplain why do we need this DPmodule? Actually we reduce the places visited by kangaroos only to those which are multiliers of DPmodule.

I also askd the same question in "Science fair project...." topic but did nut receive the answer: https://bitcointalksearch.org/topic/m.52713073

Can you explain why do we need DPmodule and Hop_module, and how could we select their optimal values?

sr. member
Activity: 443
Merit: 350
alek76, in your revised script, how do you select points to save? I mean what kind of algorythm do you use for points to be saved. You do not save every calculated point after wild/tame jump.
Do you store these points in files or in memory?
newbie
Activity: 14
Merit: 0
alek76
If I stop work, how to continue?

Дa никaк нe кoнтинью... cлoмaли этy фyнкцию,
пo кpaйнeй мepe в пpoгpaммe для кapт AMD
этa фyнкция нe paбoтaeт, a RANDOM выpeзaли.
Я жe пиcaл, читaй вышe. Taкoe oщyщeниe, чтo
пpoгa мaйнит чтo-тo кoмy-тo нa чeй-тo кapмaн,
дa и coмнeвaтьcя я cтaл пocлe этoгo, чтo пpoгa
вooбщe выдacт нa экpaн eщe нe oткpытый ключ.
Cтapыe ключи oнa для пpoвepки пoкaзывaeт, тe,
чтo yжe дo этoгo ктo-тo нeпoнятнo кaкoй пpoгoй
oткpыл, a вoт нoвыe... Личнo я yжe нe дoвepяю
этoй "Bitcrack" пocлe тoгo, чтo я o нeй выяcнил.
What are you specifically asking about? What is random? Who broke? Which function?  Can becom a telepath Smiley
Your message https://bitcointalksearch.org/topic/m.54160563
That's right - you need to build the program yourself from the Github sources! Having looked at the code, all doubts and distrust disappear.
By downloading the Bitcrack program from various sources, you can fall into the tricks of scammers. It is more likely that the author will not embed the scam code in the program! Or is it trolling Bitcrack!

So is it possible to restore the program after it is closed? Because the tame and wild files are overwritten.  This will help:

in Vanity.cpp

Code:
if (TWRevers) {
   bool F2Upload = TWUpload();
   if (F2Upload) {
      printf("\n Upload tame.txt and wild.txt ");
   }
  }
  else {
   //ReWriteFiles();
  }
newbie
Activity: 14
Merit: 0
alek76
If I stop work, how to continue?
Pages:
Jump to: