Bitcoin Forum
November 14, 2024, 10:52:44 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: « 1 ... 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 ... 145 »
  Print  
Author Topic: Pollard's kangaroo ECDLP solver  (Read 59034 times)
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
February 22, 2021, 01:43:47 AM
 #1421

I pushed my little public key gathering script to github if anybody wants it!

https://github.com/GonzoTheDev/BitcoinPublicKeyGrabber

Could you help to write script to save output to csv collect?

Can blockchain.info use for get data massive over 100k address without get ban ip address?
MeBender
Jr. Member
*
Offline Offline

Activity: 114
Merit: 5


View Profile WWW
February 22, 2021, 03:18:52 AM
 #1422

I pushed my little public key gathering script to github if anybody wants it!

https://github.com/GonzoTheDev/BitcoinPublicKeyGrabber

Could you help to write script to save output to csv collect?

Can blockchain.info use for get data massive over 100k address without get ban ip address?


Yep I updated my program so that it saves all the public keys to a txt file Smiley

And I've been running it all day with no limits from blockchain.com so I think for that specific api call there are no limits, but I could be wrong!

CryptoCoin - The latest Cuckoo Cycle coin - https://crypt-o-coin.cash
Github: https://github.com/GonzoTheDev
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
February 22, 2021, 05:23:23 AM
 #1423



Yep I updated my program so that it saves all the public keys to a txt file Smiley

And I've been running it all day with no limits from blockchain.com so I think for that specific api call there are no limits, but I could be wrong!


Thank you

Script it is work as well, I try already.

problem  Pollard's kangaroo ECDLP solver can use with only public key
and public key have only bitcoin address that have transaction

people know about this already, people smart to move bitcoin to new address that not have any transaction
and use new bitcoin address (segwit) not show public key , it have legacy only show public key
MeBender
Jr. Member
*
Offline Offline

Activity: 114
Merit: 5


View Profile WWW
February 22, 2021, 05:43:01 AM
Last edit: February 22, 2021, 05:57:44 AM by MeBender
 #1424



Yep I updated my program so that it saves all the public keys to a txt file Smiley

And I've been running it all day with no limits from blockchain.com so I think for that specific api call there are no limits, but I could be wrong!


Thank you

Script it is work as well, I try already.

problem  Pollard's kangaroo ECDLP solver can use with only public key
and public key have only bitcoin address that have transaction

people know about this already, people smart to move bitcoin to new address that not have any transaction
and use new bitcoin address (segwit) not show public key , it have legacy only show public key


I dunno man, so far I've gathered about 20,000 pubkeys to addresses that still have over 6 btc on them. I'm going to run them in the pollard kangaroo program in the keyspace 1 - 2^69 ( ͡° ͜ʖ ͡°) and possibly will find a private key in the low bit range! But the chances that anyone is legitimately using a private key in a keyspace less than 2^128 is pretty slim..

CryptoCoin - The latest Cuckoo Cycle coin - https://crypt-o-coin.cash
Github: https://github.com/GonzoTheDev
NotATether
Legendary
*
Offline Offline

Activity: 1792
Merit: 7382


Top Crypto Casino


View Profile WWW
February 22, 2021, 07:53:58 AM
 #1425

I dunno man, so far I've gathered about 20,000 pubkeys to addresses that still have over 6 btc on them. I'm going to run them in the pollard kangaroo program in the keyspace 1 - 2^69 ( ͡° ͜ʖ ͡°) and possibly will find a private key in the low bit range! But the chances that anyone is legitimately using a private key in a keyspace less than 2^128 is pretty slim..

If you still want to go along with this then I suggest not letting it run for more than a day, because you're looking for private keys with 59 leading zero bits in them. Chances are if these addresses have a seed phrase associated with them, neither it's master private key or any of its child keys were derived in a way such that there are several zero bits at the beginning.

Maybe use a random prefix that has a mixture of 1s and 0s which is more likely to hit than all zeros.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
MeBender
Jr. Member
*
Offline Offline

Activity: 114
Merit: 5


View Profile WWW
February 22, 2021, 08:55:39 AM
 #1426

I dunno man, so far I've gathered about 20,000 pubkeys to addresses that still have over 6 btc on them. I'm going to run them in the pollard kangaroo program in the keyspace 1 - 2^69 ( ͡° ͜ʖ ͡°) and possibly will find a private key in the low bit range! But the chances that anyone is legitimately using a private key in a keyspace less than 2^128 is pretty slim..

If you still want to go along with this then I suggest not letting it run for more than a day, because you're looking for private keys with 59 leading zero bits in them. Chances are if these addresses have a seed phrase associated with them, neither it's master private key or any of its child keys were derived in a way such that there are several zero bits at the beginning.

Maybe use a random prefix that has a mixture of 1s and 0s which is more likely to hit than all zeros.

Yeah I gave up on that after an hour lol

Here's an interesting random fact about puzzle address #120, in one whole day a Tesla V100 GPU can search 0.00000001% of the keyspace using the pollard kangaroo software. That is equal to approx. 2^93..

CryptoCoin - The latest Cuckoo Cycle coin - https://crypt-o-coin.cash
Github: https://github.com/GonzoTheDev
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
February 22, 2021, 11:06:54 AM
 #1427


Yeah I gave up on that after an hour lol

Here's an interesting random fact about puzzle address #120, in one whole day a Tesla V100 GPU can search 0.00000001% of the keyspace using the pollard kangaroo software. That is equal to approx. 2^93..


How long need for puzzle #120 address?
I will try you method tonight with 8 hour for check result test
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
February 22, 2021, 11:14:23 AM
 #1428


I think only puzzle that easy to crack because puzzle create by using low bit with allow to crack

Reference bitcoin version 0.1 or alpha version start to use key 256 bit from first-time
That possible to not easy to crack it
bigvito19
Full Member
***
Offline Offline

Activity: 716
Merit: 111


View Profile
February 22, 2021, 11:30:27 AM
 #1429

Y'all already know all the other keys are in 2^128, thinking otherwise is a waste of time.
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
February 22, 2021, 12:57:09 PM
 #1430

Y'all already know all the other keys are in 2^128, thinking otherwise is a waste of time.

I think human create bitcoin. (bitcoin create by human, not god) so human can possible crack bitcoin. possible in future (but now for now)

science, research project will be not give up (if can solve bitcoin, they will be got bit-name and famous right) PhD etc.
some part will be continue crack bitcoin and give some news to surprise when crack it done
it not waste of time.

I believe bitcoin just starter and on early stats or just proof of concept on first generation. (so next generation bitcoin will be perfect and powerful more than now)

money can not destroy bitcoin and bitcoin value never zero
only way can destroy bitcoin is crack private key
some government possible to try crack bitcoin (may be)

I think future bitcoin original will be upgrade or change network when quantum computer is coming
of Course bitcoin may be change to quantum bitcoin or gigabit bitcoin or high enough can not crack for 50 year

sorry for of topic

may be can see Pollard's kangaroo ECDLP solver + plus new technic or mix other algorithm to solve brute-forcing better
bigvito19
Full Member
***
Offline Offline

Activity: 716
Merit: 111


View Profile
February 22, 2021, 01:18:06 PM
 #1431

Y'all already know all the other keys are in 2^128, thinking otherwise is a waste of time.
may be can see Pollard's kangaroo ECDLP solver + plus new technic or mix other algorithm to solve brute-forcing better

That would be the next step then.
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
February 22, 2021, 02:06:34 PM
 #1432

I dunno man, so far I've gathered about 20,000 pubkeys to addresses that still have over 6 btc on them. I'm going to run them in the pollard kangaroo program in the keyspace 1 - 2^69 ( ͡° ͜ʖ ͡°) and possibly will find a private key in the low bit range! But the chances that anyone is legitimately using a private key in a keyspace less than 2^128 is pretty slim..

If you still want to go along with this then I suggest not letting it run for more than a day, because you're looking for private keys with 59 leading zero bits in them. Chances are if these addresses have a seed phrase associated with them, neither it's master private key or any of its child keys were derived in a way such that there are several zero bits at the beginning.

Maybe use a random prefix that has a mixture of 1s and 0s which is more likely to hit than all zeros.

Yeah I gave up on that after an hour lol

Here's an interesting random fact about puzzle address #120, in one whole day a Tesla V100 GPU can search 0.00000001% of the keyspace using the pollard kangaroo software. That is equal to approx. 2^93..
How did you come up with that math?  I came up with .0000000000000000000000021% for percentage. (but it's early and I may be off)

But here is match for V100; it checks (by jumping) 138,240,000,000,000 points(keys) for a distinguished bit, per day. 1600 Mkey/s * 60*60*24 .
2^93 = 9,903,520,314,283,042,199,192,993,792
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
February 22, 2021, 02:10:04 PM
 #1433


Yeah I gave up on that after an hour lol

Here's an interesting random fact about puzzle address #120, in one whole day a Tesla V100 GPU can search 0.00000001% of the keyspace using the pollard kangaroo software. That is equal to approx. 2^93..


How long need for puzzle #120 address?
I will try you method tonight with 8 hour for check result test

Expected time: ~2 months running 256 Tesla V100s, 24 hours/7 days a week.
MeBender
Jr. Member
*
Offline Offline

Activity: 114
Merit: 5


View Profile WWW
February 22, 2021, 03:14:50 PM
 #1434

I dunno man, so far I've gathered about 20,000 pubkeys to addresses that still have over 6 btc on them. I'm going to run them in the pollard kangaroo program in the keyspace 1 - 2^69 ( ͡° ͜ʖ ͡°) and possibly will find a private key in the low bit range! But the chances that anyone is legitimately using a private key in a keyspace less than 2^128 is pretty slim..

If you still want to go along with this then I suggest not letting it run for more than a day, because you're looking for private keys with 59 leading zero bits in them. Chances are if these addresses have a seed phrase associated with them, neither it's master private key or any of its child keys were derived in a way such that there are several zero bits at the beginning.

Maybe use a random prefix that has a mixture of 1s and 0s which is more likely to hit than all zeros.

Yeah I gave up on that after an hour lol

Here's an interesting random fact about puzzle address #120, in one whole day a Tesla V100 GPU can search 0.00000001% of the keyspace using the pollard kangaroo software. That is equal to approx. 2^93..
How did you come up with that math?  I came up with .0000000000000000000000021% for percentage. (but it's early and I may be off)

But here is match for V100; it checks (by jumping) 138,240,000,000,000 points(keys) for a distinguished bit, per day. 1600 Mkey/s * 60*60*24 .
2^93 = 9,903,520,314,283,042,199,192,993,792

Oh it says what the keyspace size is when you start the program but it must be wrong, I didn't actually calculate it myself

CryptoCoin - The latest Cuckoo Cycle coin - https://crypt-o-coin.cash
Github: https://github.com/GonzoTheDev
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
February 22, 2021, 03:42:12 PM
 #1435

Quote
Oh it says what the keyspace size is when you start the program but it must be wrong, I didn't actually calculate it myself

It does tell you the range width (keyspace search size) and the expected operations. The range width is spot on, the expected operations is a guesstimated "expected" amount of operations to perform to solve the key.
MeBender
Jr. Member
*
Offline Offline

Activity: 114
Merit: 5


View Profile WWW
February 22, 2021, 05:23:32 PM
 #1436

Look: https://i.imgur.com/6aC3Rw8.png

CryptoCoin - The latest Cuckoo Cycle coin - https://crypt-o-coin.cash
Github: https://github.com/GonzoTheDev
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
February 22, 2021, 05:49:42 PM
 #1437


https://i.imgur.com/vEUcFv8l.jpg

How expensive for buy one?

Are you AI. research or AI. Developer?
most people use high-end CUDA card work on AI. Training

buy one for use personal?
MeBender
Jr. Member
*
Offline Offline

Activity: 114
Merit: 5


View Profile WWW
February 22, 2021, 06:27:31 PM
 #1438


https://i.imgur.com/vEUcFv8l.jpg

How expensive for buy one?

Are you AI. research or AI. Developer?
most people use high-end CUDA card work on AI. Training

buy one for use personal?


Google cloud gave me €200 free credit and 1 GPU to try, I'm only in 1st year of computer science though so not a researcher or anything

CryptoCoin - The latest Cuckoo Cycle coin - https://crypt-o-coin.cash
Github: https://github.com/GonzoTheDev
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
February 22, 2021, 06:31:25 PM
 #1439

What am I looking at? That is the correct range.

A 120 range, or really, the search range is 2^119 would be 800000000000000000000000000000:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

The range you have entered in your input file is a 2^93 range. The first 6 characters are the same in your start and stop range; C3F250. They basically zero each other out. And your next characters are a 2 in the start and a 3 in the stop. All that together equals a 2^93 search range.

Edit: Also, by searching a subrange of 2^93, you may get lucky, but to search entire 2^119 via 2^93 range searches, you will have to search 2^26 (67,108,864) ranges to have searched the entire 2^119 range.
mamuu
Member
**
Offline Offline

Activity: 73
Merit: 19


View Profile
February 22, 2021, 10:01:09 PM
 #1440

Hi, Everyone

Test function in this main.cpp file
The file is running with CPU.
How can I run it with the GPU?

Code:

/*
 * This file is part of the BSGS distribution (https://github.com/JeanLucPons/Kangaroo).
 * Copyright (c) 2020 Jean Luc PONS.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, version 3.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <iostream>
#include "Kangaroo.h"
#include "Timer.h"
#include "SECPK1/SECP256k1.h"
#include "GPU/GPUEngine.h"
#include <fstream>
#include <string>
#include <string.h>
#include <stdexcept>
#include <sstream>

#include <thread>
using namespace std;

#define CHECKARG(opt,n) if(a>=argc-1) {::printf(opt " missing argument #%d\n",n);exit(0);} else {a++;}


int getInt(string name, char* v) {

    int r;

    try {

        r = std::stoi(string(v));

    }
    catch (std::invalid_argument&) {

        printf("Invalid %s argument, number expected\n", name.c_str());
        exit(-1);

    }

    return r;

}

double getDouble(string name, char* v) {

    double r;

    try {

        r = std::stod(string(v));

    }
    catch (std::invalid_argument&) {

        printf("Invalid %s argument, number expected\n", name.c_str());
        exit(-1);

    }

    return r;

}

// ------------------------------------------------------------------------------------------

void getInts(string name, vector<int>& tokens, const string& text, char sep) {

    size_t start = 0, end = 0;
    tokens.clear();
    int item;

    try {

        while ((end = text.find(sep, start)) != string::npos) {
            item = std::stoi(text.substr(start, end - start));
            tokens.push_back(item);
            start = end + 1;
        }

        item = std::stoi(text.substr(start));
        tokens.push_back(item);

    }
    catch (std::invalid_argument&) {

        printf("Invalid %s argument, number expected\n", name.c_str());
        exit(-1);

    }

}
// ------------------------------------------------------------------------------------------

// Default params
static int dp = -1;
static int nbCPUThread;
static string configFile = "";
static bool checkFlag = false;
static bool gpuEnable = false;
static vector<int> gpuId = { 0 };
static vector<int> gridSize;
static string workFile = "";
static string checkWorkFile = "";
static string iWorkFile = "";
static uint32_t savePeriod = 60;
static bool saveKangaroo = false;
static bool saveKangarooByServer = false;
static string merge1 = "";
static string merge2 = "";
static string mergeDest = "";
static string mergeDir = "";
static string infoFile = "";
static double maxStep = 0.0;
static int wtimeout = 3000;
static int ntimeout = 3000;
static int port = 17403;
static bool serverMode = false;
static string serverIP = "";
static string outputFile = "";
static bool splitWorkFile = false;

//Mamu
Secp256K1 secp256k1;
int nbGPUThread;
uint64_t totalRW;
uint64_t counters[256];
int CPU_GRP_SIZE = 1024;

void TestFunc(string ScalarInput)
{

    Int i;
    char* c = const_cast<char*>(ScalarInput.c_str()); //*****************************************************************************************************
    i.SetBase10(c);

    while (true)
    {
        i.AddOne();
        Point aa = secp256k1.ComputePublicKey(&i);

        string PointaX = aa.x.GetBase10();
        string PointaY = aa.y.GetBase10();

        Int s(secp256k1.order);
        s.Sub(&i);
        Point bb = secp256k1.ComputePublicKey(&s);

        string PointbX = bb.x.GetBase10();
        string PointbY = bb.y.GetBase10();

        string num1 = i.GetBase10();
        string num2 = s.GetBase10();

        string Result1 = num1 + " = " + PointaX + " : " + PointaY + "\n";
        string Result2 = num2 + " = " + PointbX + " : " + PointbY + "\n";

        cout << Result1 << "\n";
        cout << Result2 << "\n";




    }
}

void main()
{
    secp256k1.Init();
    cout << "Working..." << "\n";

    string ScalarInput;
    printf("\n\tStart Number : ");

    cin >> ScalarInput;
    TestFunc(ScalarInput);




}

1DWA3Sa8i6eHVWV4AG4UP2SBhYB2XrfiHW
Pages: « 1 ... 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 ... 145 »
  Print  
 
Jump to:  

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