Pages:
Author

Topic: Pollard's kangaroo ECDLP solver - page 3. (Read 60037 times)

member
Activity: 165
Merit: 26
September 20, 2024, 06:50:14 AM
Fair warning for a post from a new bitcointalk user, but what updates are you referring to? you can check the code out, and see the differences between JLP's version and mine (The repository I forked from is my personal one)

About this phrase: "The so-called "updates" in their fork are not significant improvements to the code." -  Too bad you didn't take a minute to check the updates of the code and just checked the differences between the personal and project repositories...

I think you're trying to take all of us for idiots. Your so-called repo and updates are literally JLP's Kangaroo, so it's just another clone with high chances of backdoors added.
member
Activity: 7
Merit: 0
September 20, 2024, 03:07:34 AM
We have a pool for puzzle 130, with our 254-bit interval implementation:
https://github.com/puzzlesearch/kangaroo

check out our website:
https://puzzlesearch.github.io/

We are looking for new members to join our pool! currently we have computing power equivalent to 7 4090s. Soon we will rent more 4090s.

It's a bit concerning that this post is coming from a fresh account with no history or reputation on the forum. Why should anyone trust a pool run by completely unknown operators with no track record to speak of? Joining a pool like this, without knowing who's behind it or seeing any proof of past success, is risky at best and could very well be a scam.

After checking the linked GitHub repository, things look even more suspicious. The so-called "updates" in their fork are not significant improvements to the code. In fact, it just adds an option to connect to a specific IP address (129.159.146.90) instead running it locally on the own GPU. If you even watched carefully the updates are from the last minutes/hours, so it looks the Github repository is as fresh as the user account "bitcurve".

For anyone considering joining, I'd strongly urge you to think twice. If something goes wrong, the regret and potential loss could be much worse than you expect. Please be cautious when dealing with new and unverified projects like this. Stay safe and always verify the legitimacy of projects before committing any resources.

Even the age and reputation of the account mean nothing. The account can be stolen, which we often see in the announcements of new projects.
And this does not depend on the platform.
I have had three accounts stolen here alone, although this did not happen on GitHub, but there I immediately connected 2FA.



I can post a link to this thread on github if you want to authenticate me...
copper member
Activity: 205
Merit: 1
September 20, 2024, 03:04:18 AM
We have a pool for puzzle 130, with our 254-bit interval implementation:
https://github.com/puzzlesearch/kangaroo

check out our website:
https://puzzlesearch.github.io/

We are looking for new members to join our pool! currently we have computing power equivalent to 7 4090s. Soon we will rent more 4090s.

It's a bit concerning that this post is coming from a fresh account with no history or reputation on the forum. Why should anyone trust a pool run by completely unknown operators with no track record to speak of? Joining a pool like this, without knowing who's behind it or seeing any proof of past success, is risky at best and could very well be a scam.

After checking the linked GitHub repository, things look even more suspicious. The so-called "updates" in their fork are not significant improvements to the code. In fact, it just adds an option to connect to a specific IP address (129.159.146.90) instead running it locally on the own GPU. If you even watched carefully the updates are from the last minutes/hours, so it looks the Github repository is as fresh as the user account "bitcurve".

For anyone considering joining, I'd strongly urge you to think twice. If something goes wrong, the regret and potential loss could be much worse than you expect. Please be cautious when dealing with new and unverified projects like this. Stay safe and always verify the legitimacy of projects before committing any resources.

Even the age and reputation of the account mean nothing. The account can be stolen, which we often see in the announcements of new projects.
And this does not depend on the platform.
I have had three accounts stolen here alone, although this did not happen on GitHub, but there I immediately connected 2FA.

member
Activity: 7
Merit: 0
September 20, 2024, 02:47:36 AM
Quote

It's a bit concerning that this post is coming from a fresh account with no history or reputation on the forum. Why should anyone trust a pool run by completely unknown operators with no track record to speak of? Joining a pool like this, without knowing who's behind it or seeing any proof of past success, is risky at best and could very well be a scam.

After checking the linked GitHub repository, things look even more suspicious. The so-called "updates" in their fork are not significant improvements to the code. In fact, it just adds an option to connect to a specific IP address (129.159.146.90) instead running it locally on the own GPU. If you even watched carefully the updates are from the last minutes/hours, so it looks the Github repository is as fresh as the user account "bitcurve".

For anyone considering joining, I'd strongly urge you to think twice. If something goes wrong, the regret and potential loss could be much worse than you expect. Please be cautious when dealing with new and unverified projects like this. Stay safe and always verify the legitimacy of projects before committing any resources.

Fair warning for a post from a new bitcointalk user, but what updates are you referring to? you can check the code out, and see the differences between JLP's version and mine (The repository I forked from is my personal one)
Besides, any pool cannot be 100% trusted, but I believe you can trust me, I don't hide my identity nor my code, my GitHub profile has been active for over a few years with many contributions to many projects.
I think the fact that you replied to the post just a minute after I posted can tell us how quickly you judged the project.

* edit * To clarify my github account is github.com/GiladLeef and the project account is github.com/Puzzlesearch. I see where the confusion come from now.
About this phrase: "The so-called "updates" in their fork are not significant improvements to the code." -  Too bad you didn't take a minute to check the updates of the code and just checked the differences between the personal and project repositories...
hero member
Activity: 630
Merit: 731
Bitcoin g33k
September 20, 2024, 02:37:27 AM
We have a pool for puzzle 130, with our 254-bit interval implementation:
https://github.com/puzzlesearch/kangaroo

check out our website:
https://puzzlesearch.github.io/

We are looking for new members to join our pool! currently we have computing power equivalent to 7 4090s. Soon we will rent more 4090s.

It's a bit concerning that this post is coming from a fresh account with no history or reputation on the forum. Why should anyone trust a pool run by completely unknown operators with no track record to speak of? Joining a pool like this, without knowing who's behind it or seeing any proof of past success, is risky at best and could very well be a scam.

After checking the linked GitHub repository, things look even more suspicious. The so-called "updates" in their fork are not significant improvements to the code. In fact, it just adds an option to connect to a specific IP address (129.159.146.90) instead running it locally on the own GPU. If you even watched carefully the updates are from the last minutes/hours, so it looks the Github repository is as fresh as the user account "bitcurve".

For anyone considering joining, I'd strongly urge you to think twice. If something goes wrong, the regret and potential loss could be much worse than you expect. Please be cautious when dealing with new and unverified projects like this. Stay safe and always verify the legitimacy of projects before committing any resources.
member
Activity: 7
Merit: 0
September 20, 2024, 02:28:15 AM
We have a pool for puzzle 130, with our 254-bit interval implementation:
https://github.com/puzzlesearch/kangaroo

check out our website:
https://puzzlesearch.github.io/

We are looking for new members to join our pool! currently we have computing power equivalent to 7 4090s. Soon we will rent more 4090s.
member
Activity: 165
Merit: 26
September 19, 2024, 06:22:56 AM
Total operations (expected steps): 1,592,262,918,131,443
Total key range size: 633,825,300,114,114,700,748,351,602,688

But, how Kangaroo or BSGS operate with 2^130 range ?  If kangaroo generate exact right key need multiply to get  key. I think more interested how kangaroo without multiplication  or dividing  take 2^60 key for w^30 operstions...

why not use less range and after search in bigger result kangaroo jumps database Huh? ))

keys is a geometric progression, this progression has a propertys and algorithms. Kangaroo vas maked not for ec curve, maybe use kangaroo for vrometric progression for findind lost members of progression.

Why not read the papers? If you have a huge keyspace and you also have rules to move back and forth through it (e.g. EC group's point addition) you don't need to brute-force it (like you would need for example to crack a hash or other injective-only functions).

Because of combinatorial fundamentals (BSGS) and the probability theory built upon it (Kangaroo) you only need to do a factor of sqrt(keySpaceSize) operations (point additions) to find any given key. BSGS is guaranteed to finish with the solution (if one exists) using sqrt(keySpaceSize) memory usage, while Kangaroo may or may not finish (at somewhat same similar time as BSGS), but uses low constant memory. However the chances of Kangaroo not finishing at some point are similar to the chances that the Sun explodes today, but we're all teleported to another galaxy by an advanced species. Possible, but highly unlikely.

If you search a low range and then use it to search in a higher range (e.g. splitting a range, hoping to divide and conquer in parallel) , then the time is higher than if you searched in the higher range in the first place:

range A: 10 bits -> time 2**5
range B: 12 bits (4x larger) -> 4x range A -> time 4 * 2**5 = 2**7
range B: 12 bits -> time 2**6

because sqrt(N * x) is always less than x * sqrt(N)
member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
September 19, 2024, 01:19:23 AM
Total operations (expected steps): 1,592,262,918,131,443
Total key range size: 633,825,300,114,114,700,748,351,602,688


Steps < 2^65, will be good if this is throw.


But, how Kangaroo or BSGS operate with 2^130 range ?  If kangaroo generate exact right key need multiply to get  key. I think more interested how kangaroo without multiplication  or dividing  take 2^60 key for w^30 operstions.... and modify to get key in 2^15  after some modifications. like use divided pubkeys in kangaroo DB... or something else ))

why not use less range and after search in bigger result kangaroo jumps database Huh? ))


keys is a geometric progression, this progression has a propertys and algorithms. Kangaroo vas maked not for ec curve, maybe use kangaroo for vrometric progression for findind lost members of progression.



member
Activity: 165
Merit: 26
September 18, 2024, 09:36:33 PM
Here is a calculator to calculate the estimated time it would take to use the Kangaroo Algorithm on a given range and the Keys per second:

Code:
Kangaroo v2.2
Start:8000000000000000000000000
Stop :FFFFFFFFFFFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 32
Range width: 2^99
Jump Avg distance: 2^48.95
Number of kangaroos: 2^20.55
Suggested DP: 26
Expected operations: 2^50.61
Expected RAM: 990.8MB
DP size: 26 [0xffffffc000000000]
GPU: GPU #0 NVIDIA GeForce RTX 4070 (46x0 cores) Grid(92x128) (122.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^20.52 kangaroos [21.0s]
[1342.45 MK/s][GPU 1264.50 MK/s][Count 2^38.15][Dead 0][04:18 (Avg 14.8d)][2.1/4.7MB]

And this is what the calculator estimated:

Now, I know this is a stretch and isn't possible in its current state but you'll get the point. Hypothetically, if you were to use Elon Musk's new supercomputer with 100,000 H100s to run the Kangaroo Algorithm on puzzle 130 (doesn't have to be JLP), it would take about 18.5 hours:

Enter start key (64 hex chars, or shorter hex number): 200000000000000000000000000000000
Enter stop key (64 hex chars, or shorter hex number): 3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Enter keys per second (e.g., 29500000000 or 29,500,000,000): 781250000000000

Estimated time to complete Pollard's Kangaroo algorithm:
0.00 years, 0.00 days, 18.00 hours, 33.00 minutes, 4.35 seconds

Total operations (expected steps): 52,175,271,301,331,132,416
Total key range size: 680,564,733,841,876,926,926,749,214,863,536,422,912

Speedup compared to brute force: 13043817825332781056.00x

Just thought I would share FYI

Too slow...

Code:
./kangaroo -t 0 -gpu -g 284,256 130.txt
Kangaroo v2.2
Start:200000000000000000000000000000000
Stop :3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 0
Range width: 2^129
Jump Avg distance: 2^64.01
Number of kangaroos: 2^25.15
Suggested DP: 36
Expected operations: 2^65.60
Expected RAM: 31036.2MB
DP size: 36 [0xfffffffff0000000]
GPU: GPU #0 NVIDIA RTX 6000 Ada Generation (142x0 cores) Grid(284x256) (-1249.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^25.15 kangaroos [194.0s]
[2372.91 MK/s][GPU 2372.91 MK/s][Count 2^37.67][Dead 0][01:48 (Avg 746.849y)][2.0/4.0MB]  ^C

And a highly optimized GPU jumper

Code:
Device 0: NVIDIA RTX 6000 Ada Generation
  Clock rate: 2505 MHz
  Memory bus width: 384
  Memory peak clock rate: 10001000 kHz
  L2 cache size: 100663296
  Compute capability: 8.9
  Total global memory: 48546 MB
  Number of SM: 142
  32-bit registers per SM: 65536
  Max blocks per SM: 24
  Max threads per SM: 1536
  32-bit registers per block: 65536
  Max threads per block: 1024
  Shared memory per SM: 100 KB
  Shared memory per block: 48 KB
  Warp size: 32
  Cores per SM: 0
  Total CUDA cores: 0
  Max local memory / thread: 233386
CUDA stack size limit: 1024 bytes
FE limb size: 64
gridDim: 142
blockDim: 256
Generating *** jump points
max dp len: 32
Group size / thread: ***
Jumps / thread: ***
Kernel registers: 255
Kernel max threads / block : 256
Kernel local memory: *** bytes
Kernel constant memory: 4096 bytes
[GPU] Computing *** batches of *** elements each over *** jumps (100 steps)
        Total elements to jump: ******
        Total group operations: 1905891737600.000000
Found DP: 5
[001] Ops: 19058917376 GPU: 5587.1 Mo/s 3411 ms/step CPU: 3439.2 ms/step
Found DP: 2
[002] Ops: 38117834752 GPU: 5589.4 Mo/s 3410 ms/step CPU: 3428.5 ms/step
Found DP: 7
[003] Ops: 57176752128 GPU: 5589.9 Mo/s 3409 ms/step CPU: 3425.1 ms/step

I think it costs a good few hundred thouands $ to solve 130 though. Or luck. Or patience.
newbie
Activity: 6
Merit: 0
September 18, 2024, 07:30:04 PM
Here is a calculator to calculate the estimated time it would take to use the Kangaroo Algorithm on a given range and the Keys per second:

Code:
import math
import re

def normalize_key(key):
    # Remove '0x' prefix if present
    key = key.lower().replace('0x', '')
    
    # Pad with leading zeros if necessary
    key = key.zfill(64)
    
    # Ensure the key is 64 characters long
    if len(key) != 64:
        raise ValueError("Invalid key length. Must be 64 hexadecimal characters.")
    
    return key

def parse_keys_per_second(kps_input):
    # Remove commas and convert to float
    kps = float(kps_input.replace(',', ''))
    return kps

def pollards_kangaroo_time(start_key, stop_key, keys_per_second):
    # Convert hexadecimal keys to integers
    start = int(start_key, 16)
    stop = int(stop_key, 16)
    
    # Calculate the range size
    range_size = stop - start + 1
    
    # Pollard's Kangaroo expected number of steps
    # The square root of the range size multiplied by 2
    expected_steps = int(2 * math.sqrt(range_size))
    
    # Calculate time in seconds
    time_seconds = expected_steps / keys_per_second
    
    # Convert to more readable time units
    minutes, seconds = divmod(time_seconds, 60)
    hours, minutes = divmod(minutes, 60)
    days, hours = divmod(hours, 24)
    years, days = divmod(days, 365.25)  # Using 365.25 to account for leap years
    
    return years, days, hours, minutes, seconds, expected_steps, range_size

# Get input from user
start_key = input("Enter start key (64 hex chars, or shorter hex number): ")
stop_key = input("Enter stop key (64 hex chars, or shorter hex number): ")
keys_per_second = input("Enter keys per second (e.g., 29500000000 or 29,500,000,000): ")

# Normalize and validate inputs
try:
    start_key = normalize_key(start_key)
    stop_key = normalize_key(stop_key)
    keys_per_second = parse_keys_per_second(keys_per_second)
except ValueError as e:
    print(f"Error: {e}")
    exit(1)

# Calculate time and steps
years, days, hours, minutes, seconds, expected_steps, range_size = pollards_kangaroo_time(start_key, stop_key, keys_per_second)

# Print results
print(f"\nEstimated time to complete Pollard's Kangaroo algorithm:")
print(f"{years:.2f} years, {days:.2f} days, {hours:.2f} hours, {minutes:.2f} minutes, {seconds:.2f} seconds")

print(f"\nTotal operations (expected steps): {expected_steps:,}")
print(f"Total key range size: {range_size:,}")

# Calculate speedup compared to brute force
brute_force_time = range_size / keys_per_second
pollard_time = years * 365.25 * 86400 + days * 86400 + hours * 3600 + minutes * 60 + seconds
speedup = brute_force_time / pollard_time

print(f"\nSpeedup compared to brute force: {speedup:.2f}x")

I know it gives good estimates because I ran a test on puzzle 100 with my 4070 and the program said it would take about 14 days at about 1340 MK/s:

Code:
Kangaroo v2.2
Start:8000000000000000000000000
Stop :FFFFFFFFFFFFFFFFFFFFFFFFF
Keys :1
Number of CPU thread: 32
Range width: 2^99
Jump Avg distance: 2^48.95
Number of kangaroos: 2^20.55
Suggested DP: 26
Expected operations: 2^50.61
Expected RAM: 990.8MB
DP size: 26 [0xffffffc000000000]
SolveKeyCPU Thread 0: 1024 kangaroos
SolveKeyCPU Thread 1: 1024 kangaroos
SolveKeyCPU Thread 29: 1024 kangaroos
SolveKeyCPU Thread 14: 1024 kangaroos
SolveKeyCPU Thread 17: 1024 kangaroos
SolveKeyCPU Thread 20: 1024 kangaroos
SolveKeyCPU Thread 6: 1024 kangaroos
SolveKeyCPU Thread 16: 1024 kangaroos
SolveKeyCPU Thread 9: 1024 kangaroos
SolveKeyCPU Thread 5: 1024 kangaroos
SolveKeyCPU Thread 24: 1024 kangaroos
SolveKeyCPU Thread 12: 1024 kangaroos
SolveKeyCPU Thread 18: 1024 kangaroos
SolveKeyCPU Thread 15: 1024 kangaroos
SolveKeyCPU Thread 25: 1024 kangaroos
SolveKeyCPU Thread 22: 1024 kangaroos
SolveKeyCPU Thread 31: 1024 kangaroos
SolveKeyCPU Thread 8: 1024 kangaroos
SolveKeyCPU Thread 3: 1024 kangaroos
SolveKeyCPU Thread 13: 1024 kangaroos
SolveKeyCPU Thread 27: 1024 kangaroos
SolveKeyCPU Thread 7: 1024 kangaroos
SolveKeyCPU Thread 26: 1024 kangaroos
SolveKeyCPU Thread 11: 1024 kangaroos
SolveKeyCPU Thread 2: 1024 kangaroos
SolveKeyCPU Thread 4: 1024 kangaroos
SolveKeyCPU Thread 23: 1024 kangaroos
SolveKeyCPU Thread 30: 1024 kangaroos
SolveKeyCPU Thread 19: 1024 kangaroos
SolveKeyCPU Thread 28: 1024 kangaroos
SolveKeyCPU Thread 10: 1024 kangaroos
SolveKeyCPU Thread 21: 1024 kangaroos
GPU: GPU #0 NVIDIA GeForce RTX 4070 (46x0 cores) Grid(92x128) (122.0 MB used)
SolveKeyGPU Thread GPU#0: creating kangaroos...
SolveKeyGPU Thread GPU#0: 2^20.52 kangaroos [21.0s]
[1342.45 MK/s][GPU 1264.50 MK/s][Count 2^38.15][Dead 0][04:18 (Avg 14.8d)][2.1/4.7MB]

And this is what the calculator estimated:

Enter start key (64 hex chars, or shorter hex number): 8000000000000000000000000
Enter stop key (64 hex chars, or shorter hex number): FFFFFFFFFFFFFFFFFFFFFFFFF
Enter keys per second (e.g., 29500000000 or 29,500,000,000): 1,342,450,000

Estimated time to complete Pollard's Kangaroo algorithm:
0.00 years, 13.00 days, 17.00 hours, 28.00 minutes, 7.32 seconds

Total operations (expected steps): 1,592,262,918,131,443
Total key range size: 633,825,300,114,114,700,748,351,602,688

Speedup compared to brute force: 398065729532860.81x

Now, I know this is a stretch and isn't possible in its current state but you'll get the point. Hypothetically, if you were to use Elon Musk's new supercomputer with 100,000 H100s to run the Kangaroo Algorithm on puzzle 130 (doesn't have to be JLP), it would take about 18.5 hours:

Enter start key (64 hex chars, or shorter hex number): 200000000000000000000000000000000
Enter stop key (64 hex chars, or shorter hex number): 3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Enter keys per second (e.g., 29500000000 or 29,500,000,000): 781250000000000

Estimated time to complete Pollard's Kangaroo algorithm:
0.00 years, 0.00 days, 18.00 hours, 33.00 minutes, 4.35 seconds

Total operations (expected steps): 52,175,271,301,331,132,416
Total key range size: 680,564,733,841,876,926,926,749,214,863,536,422,912

Speedup compared to brute force: 13043817825332781056.00x

Just thought I would share FYI
full member
Activity: 706
Merit: 111
September 14, 2024, 01:46:58 PM
Code:
No. |=========PRIVATE KEY IN HEX (if it was found and known)========== |===========WALLET ADDRESS===========| ===============UPPER RANGE LIMIT================ | ===================COMPRESSED PUBLIC KEY IN HEX=================== | ==SOLVED DATE==
01  | 0000000000000000000000000000000000000000000000000000000000000001 | 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH | 1                                                | 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 | 2015-01-15
02  | 0000000000000000000000000000000000000000000000000000000000000003 | 1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb | 3                                                | 02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9 | 2015-01-15
03  | 0000000000000000000000000000000000000000000000000000000000000007 | 19ZewH8Kk1PDbSNdJ97FP4EiCjTRaZMZQA | 7                                                | 025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc | 2015-01-15
04  | 0000000000000000000000000000000000000000000000000000000000000008 | 1EhqbyUMvvs7BfL8goY6qcPbD6YKfPqb7e | 15                                               | 022f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01 | 2015-01-15
05  | 0000000000000000000000000000000000000000000000000000000000000015 | 1E6NuFjCi27W5zoXg8TRdcSRq84zJeBW3k | 31                                               | 02352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5 | 2015-01-15
06  | 0000000000000000000000000000000000000000000000000000000000000031 | 1PitScNLyp2HCygzadCh7FveTnfmpPbfp8 | 63                                               | 03f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530 | 2015-01-15
07  | 000000000000000000000000000000000000000000000000000000000000004C | 1McVt1vMtCC7yn5b9wgX1833yCcLXzueeC | 127                                              | 0296516a8f65774275278d0d7420a88df0ac44bd64c7bae07c3fe397c5b3300b23 | 2015-01-15
08  | 00000000000000000000000000000000000000000000000000000000000000E0 | 1M92tSqNmQLYw33fuBvjmeadirh1ysMBxK | 255                                              | 0308bc89c2f919ed158885c35600844d49890905c79b357322609c45706ce6b514 | 2015-01-15
09  | 00000000000000000000000000000000000000000000000000000000000001D3 | 1CQFwcjw1dwhtkVWBttNLDtqL7ivBonGPV | 511                                              | 0243601d61c836387485e9514ab5c8924dd2cfd466af34ac95002727e1659d60f7 | 2015-01-15
10  | 0000000000000000000000000000000000000000000000000000000000000202 | 1LeBZP5QCwwgXRtmVUvTVrraqPUokyLHqe | 1023                                             | 03a7a4c30291ac1db24b4ab00c442aa832f7794b5a0959bec6e8d7fee802289dcd | 2015-01-15
11  | 0000000000000000000000000000000000000000000000000000000000000483 | 1PgQVLmst3Z314JrQn5TNiys8Hc38TcXJu | 2047                                             | 038b05b0603abd75b0c57489e451f811e1afe54a8715045cdf4888333f3ebc6e8b | 2015-01-15
12  | 0000000000000000000000000000000000000000000000000000000000000A7B | 1DBaumZxUkM4qMQRt2LVWyFJq5kDtSZQot | 4095                                             | 038b00fcbfc1a203f44bf123fc7f4c91c10a85c8eae9187f9d22242b4600ce781c | 2015-01-15
13  | 0000000000000000000000000000000000000000000000000000000000001460 | 1Pie8JkxBT6MGPz9Nvi3fsPkr2D8q3GBc1 | 8191                                             | 03aadaaab1db8d5d450b511789c37e7cfeb0eb8b3e61a57a34166c5edc9a4b869d | 2015-01-15
14  | 0000000000000000000000000000000000000000000000000000000000002930 | 1ErZWg5cFCe4Vw5BzgfzB74VNLaXEiEkhk | 16383                                            | 03b4f1de58b8b41afe9fd4e5ffbdafaeab86c5db4769c15d6e6011ae7351e54759 | 2015-01-15
15  | 00000000000000000000000000000000000000000000000000000000000068F3 | 1QCbW9HWnwQWiQqVo5exhAnmfqKRrCRsvW | 32767                                            | 02fea58ffcf49566f6e9e9350cf5bca2861312f422966e8db16094beb14dc3df2c | 2015-01-15
16  | 000000000000000000000000000000000000000000000000000000000000C936 | 1BDyrQ6WoF8VN3g9SAS1iKZcPzFfnDVieY | 65535                                            | 029d8c5d35231d75eb87fd2c5f05f65281ed9573dc41853288c62ee94eb2590b7a | 2015-01-15
17  | 000000000000000000000000000000000000000000000000000000000001764F | 1HduPEXZRdG26SUT5Yk83mLkPyjnZuJ7Bm | 131071                                           | 033f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3 | 2015-01-15
18  | 000000000000000000000000000000000000000000000000000000000003080D | 1GnNTmTVLZiqQfLbAdp9DVdicEnB5GoERE | 262143                                           | 020ce4a3291b19d2e1a7bf73ee87d30a6bdbc72b20771e7dfff40d0db755cd4af1 | 2015-01-15
19  | 000000000000000000000000000000000000000000000000000000000005749F | 1NWmZRpHH4XSPwsW6dsS3nrNWfL1yrJj4w | 524287                                           | 0385663c8b2f90659e1ccab201694f4f8ec24b3749cfe5030c7c3646a709408e19 | 2015-01-15
20  | 00000000000000000000000000000000000000000000000000000000000D2C55 | 1HsMJxNiV7TLxmoF6uJNkydxPFDog4NQum | 1048575                                          | 033c4a45cbd643ff97d77f41ea37e843648d50fd894b864b0d52febc62f6454f7c | 2015-01-15
21  | 00000000000000000000000000000000000000000000000000000000001BA534 | 14oFNXucftsHiUMY8uctg6N487riuyXs4h | 2097151                                          | 031a746c78f72754e0be046186df8a20cdce5c79b2eda76013c647af08d306e49e | 2015-01-15
22  | 00000000000000000000000000000000000000000000000000000000002DE40F | 1CfZWK1QTQE3eS9qn61dQjV89KDjZzfNcv | 4194303                                          | 023ed96b524db5ff4fe007ce730366052b7c511dc566227d929070b9ce917abb43 | 2015-01-15
23  | 0000000000000000000000000000000000000000000000000000000000556E52 | 1L2GM8eE7mJWLdo3HZS6su1832NX2txaac | 8388607                                          | 03f82710361b8b81bdedb16994f30c80db522450a93e8e87eeb07f7903cf28d04b | 2015-01-15
24  | 0000000000000000000000000000000000000000000000000000000000DC2A04 | 1rSnXMr63jdCuegJFuidJqWxUPV7AtUf7  | 16777215                                         | 036ea839d22847ee1dce3bfc5b11f6cf785b0682db58c35b63d1342eb221c3490c | 2015-01-15
25  | 0000000000000000000000000000000000000000000000000000000001FA5EE5 | 15JhYXn6Mx3oF4Y7PcTAv2wVVAuCFFQNiP | 33554431                                         | 03057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455a | 2015-01-15
26  | 000000000000000000000000000000000000000000000000000000000340326E | 1JVnST957hGztonaWK6FougdtjxzHzRMMg | 67108863                                         | 024e4f50a2a3eccdb368988ae37cd4b611697b26b29696e42e06d71368b4f3840f | 2015-01-15
27  | 0000000000000000000000000000000000000000000000000000000006AC3875 | 128z5d7nN7PkCuX5qoA4Ys6pmxUYnEy86k | 134217727                                        | 031a864bae3922f351f1b57cfdd827c25b7e093cb9c88a72c1cd893d9f90f44ece | 2015-01-15
28  | 000000000000000000000000000000000000000000000000000000000D916CE8 | 12jbtzBb54r97TCwW3G1gCFoumpckRAPdY | 268435455                                        | 03e9e661838a96a65331637e2a3e948dc0756e5009e7cb5c36664d9b72dd18c0a7 | 2015-01-16
29  | 0000000000000000000000000000000000000000000000000000000017E2551E | 19EEC52krRUK1RkUAEZmQdjTyHT7Gp1TYT | 536870911                                        | 026caad634382d34691e3bef43ed4a124d8909a8a3362f91f1d20abaaf7e917b36 | 2015-01-16
30  | 000000000000000000000000000000000000000000000000000000003D94CD64 | 1LHtnpd8nU5VHEMkG2TMYYNUjjLc992bps | 1073741823                                       | 030d282cf2ff536d2c42f105d0b8588821a915dc3f9a05bd98bb23af67a2e92a5b | 2015-01-16
31  | 000000000000000000000000000000000000000000000000000000007D4FE747 | 1LhE6sCTuGae42Axu1L1ZB7L96yi9irEBE | 2147483647                                       | 0387dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28 | 2015-01-16
32  | 00000000000000000000000000000000000000000000000000000000B862A62E | 1FRoHA9xewq7DjrZ1psWJVeTer8gHRqEvR | 4294967295                                       | 0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69 | 2015-01-16
33  | 00000000000000000000000000000000000000000000000000000001A96CA8D8 | 187swFMjz1G54ycVU56B7jZFHFTNVQFDiu | 8589934591                                       | 03a355aa5e2e09dd44bb46a4722e9336e9e3ee4ee4e7b7a0cf5785b283bf2ab579 | 2015-01-17
34  | 000000000000000000000000000000000000000000000000000000034A65911D | 1PWABE7oUahG2AFFQhhvViQovnCr4rEv7Q | 17179869183                                      | 033cdd9d6d97cbfe7c26f902faf6a435780fe652e159ec953650ec7b1004082790 | 2015-01-17
35  | 00000000000000000000000000000000000000000000000000000004AED21170 | 1PWCx5fovoEaoBowAvF5k91m2Xat9bMgwb | 34359738367                                      | 02f6a8148a62320e149cb15c544fe8a25ab483a0095d2280d03b8a00a7feada13d | 2015-01-17
36  | 00000000000000000000000000000000000000000000000000000009DE820A7C | 1Be2UF9NLfyLFbtm3TCbmuocc9N1Kduci1 | 68719476735                                      | 02b3e772216695845fa9dda419fb5daca28154d8aa59ea302f05e916635e47b9f6 | 2015-01-18
37  | 0000000000000000000000000000000000000000000000000000001757756A93 | 14iXhn8bGajVWegZHJ18vJLHhntcpL4dex | 137438953471                                     | 027d2c03c3ef0aec70f2c7e1e75454a5dfdd0e1adea670c1b3a4643c48ad0f1255 | 2015-01-19
38  | 00000000000000000000000000000000000000000000000000000022382FACD0 | 1HBtApAFA9B2YZw3G2YKSMCtb3dVnjuNe2 | 274877906943                                     | 03c060e1e3771cbeccb38e119c2414702f3f5181a89652538851d2e3886bdd70c6 | 2015-01-21
39  | 0000000000000000000000000000000000000000000000000000004B5F8303E9 | 122AJhKLEfkFBaGAd84pLp1kfE7xK3GdT8 | 549755813887                                     | 022d77cd1467019a6bf28f7375d0949ce30e6b5815c2758b98a74c2700bc006543 | 2015-01-30
40  | 000000000000000000000000000000000000000000000000000000E9AE4933D6 | 1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv | 1099511627775                                    | 03a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d4 | 2015-01-30
41  | 00000000000000000000000000000000000000000000000000000153869ACC5B | 1L5sU9qvJeuwQUdt4y1eiLmquFxKjtHr3E | 2199023255551                                    | 03b357e68437da273dcf995a474a524439faad86fc9effc300183f714b0903468b | 2015-01-30
42  | 000000000000000000000000000000000000000000000000000002A221C58D8F | 1E32GPWgDyeyQac4aJxm9HVoLrrEYPnM4N | 4398046511103                                    | 03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6 | 2015-01-30
43  | 000000000000000000000000000000000000000000000000000006BD3B27C591 | 1PiFuqGpG8yGM5v6rNHWS3TjsG6awgEGA1 | 8796093022207                                    | 02a631f9ba0f28511614904df80d7f97a4f43f02249c8909dac92276ccf0bcdaed | 2015-01-30
44  | 00000000000000000000000000000000000000000000000000000E02B35A358F | 1CkR2uS7LmFwc3T2jV8C1BhWb5mQaoxedF | 17592186044415                                   | 025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336 | 2015-01-30
45  | 0000000000000000000000000000000000000000000000000000122FCA143C05 | 1NtiLNGegHWE3Mp9g2JPkgx6wUg4TW7bbk | 35184372088831                                   | 026ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71a | 2015-01-30
46  | 00000000000000000000000000000000000000000000000000002EC18388D544 | 1F3JRMWudBaj48EhwcHDdpeuy2jwACNxjP | 70368744177663                                   | 03fd5487722d2576cb6d7081426b66a3e2986c1ce8358d479063fb5f2bb6dd5849 | 2015-09-01
47  | 00000000000000000000000000000000000000000000000000006CD610B53CBA | 1Pd8VvT49sHKsmqrQiP61RsVwmXCZ6ay7Z | 140737488355327                                  | 023a12bd3caf0b0f77bf4eea8e7a40dbe27932bf80b19ac72f5f5a64925a594196 | 2015-09-01
48  | 0000000000000000000000000000000000000000000000000000ADE6D7CE3B9B | 1DFYhaB2J9q1LLZJWKTnscPWos9VBqDHzv | 281474976710655                                  | 0291bee5cf4b14c291c650732faa166040e4c18a14731f9a930c1e87d3ec12debb | 2015-09-01
49  | 000000000000000000000000000000000000000000000000000174176B015F4D | 12CiUhYVTTH33w3SPUBqcpMoqnApAV4WCF | 562949953421311                                  | 02591d682c3da4a2a698633bf5751738b67c343285ebdc3492645cb44658911484 | 2015-09-01
50  | 00000000000000000000000000000000000000000000000000022BD43C2E9354 | 1MEzite4ReNuWaL5Ds17ePKt2dCxWEofwk | 1125899906842623                                 | 03f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6 | 2017-04-05
51  | 00000000000000000000000000000000000000000000000000075070A1A009D4 | 1NpnQyZ7x24ud82b7WiRNvPm6N8bqGQnaS | 2251799813685247                                 | 028c6c67bef9e9eebe6a513272e50c230f0f91ed560c37bc9b033241ff6c3be78f | 2017-04-21
52  | 000000000000000000000000000000000000000000000000000EFAE164CB9E3C | 15z9c9sVpu6fwNiK7dMAFgMYSK4GqsGZim | 4503599627370495                                 | 0374c33bd548ef02667d61341892134fcf216640bc2201ae61928cd0874f6314a7 | 2017-09-04
53  | 00000000000000000000000000000000000000000000000000180788E47E326C | 15K1YKJMiJ4fpesTVUcByoz334rHmknxmT | 9007199254740991                                 | 020faaf5f3afe58300a335874c80681cf66933e2a7aeb28387c0d28bb048bc6349 | 2017-09-04
54  | 00000000000000000000000000000000000000000000000000236FB6D5AD1F43 | 1KYUv7nSvXx4642TKeuC2SNdTk326uUpFy | 18014398509481983                                | 034af4b81f8c450c2c870ce1df184aff1297e5fcd54944d98d81e1a545ffb22596 | 2017-11-16
55  | 000000000000000000000000000000000000000000000000006ABE1F9B67E114 | 1LzhS3k3e9Ub8i2W1V8xQFdB8n2MYCHPCa | 36028797018963967                                | 0385a30d8413af4f8f9e6312400f2d194fe14f02e719b24c3f83bf1fd233a8f963 | 2018-05-29
56  | 000000000000000000000000000000000000000000000000009D18B63AC4FFDF | 17aPYR1m6pVAacXg1PTDDU7XafvK1dxvhi | 72057594037927935                                | 033f2db2074e3217b3e5ee305301eeebb1160c4fa1e993ee280112f6348637999a | 2018-09-08
57  | 00000000000000000000000000000000000000000000000001EB25C90795D61C | 15c9mPGLku1HuW9LRtBf4jcHVpBUt8txKz | 144115188075855871                               | 02a521a07e98f78b03fc1e039bc3a51408cd73119b5eb116e583fe57dc8db07aea | 2018-11-08
58  | 00000000000000000000000000000000000000000000000002C675B852189A21 | 1Dn8NF8qDyyfHMktmuoQLGyjWmZXgvosXf | 288230376151711743                               | 0311569442e870326ceec0de24eb5478c19e146ecd9d15e4666440f2f638875f42 | 2018-12-03
59  | 00000000000000000000000000000000000000000000000007496CBB87CAB44F | 1HAX2n9Uruu9YDt4cqRgYcvtGvZj1rbUyt | 576460752303423487                               | 0241267d2d7ee1a8e76f8d1546d0d30aefb2892d231cee0dde7776daf9f8021485 | 2019-02-11
60  | 0000000000000000000000000000000000000000000000000FC07A1825367BBE | 1Kn5h2qpgw9mWE5jKpk8PP4qvvJ1QVy8su | 1152921504606846975                              | 0348e843dc5b1bd246e6309b4924b81543d02b16c8083df973a89ce2c7eb89a10d | 2019-02-17
61  | 00000000000000000000000000000000000000000000000013C96A3742F64906 | 1AVJKwzs9AskraJLGHAZPiaZcrpDr1U6AB | 2305843009213693951                              | 0249a43860d115143c35c09454863d6f82a95e47c1162fb9b2ebe0186eb26f453f | 2019-05-11
62  | 000000000000000000000000000000000000000000000000363D541EB611ABEE | 1Me6EfpwZK5kQziBwBfvLiHjaPGxCKLoJi | 4611686018427387903                              | 03231a67e424caf7d01a00d5cd49b0464942255b8e48766f96602bdfa4ea14fea8 | 2019-09-08
63  | 0000000000000000000000000000000000000000000000007CCE5EFDACCF6808 | 1NpYjtLira16LfGbGwZJ5JbDPh3ai9bjf4 | 9223372036854775807                              | 0365ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a54579 | 2019-06-07
64  | 000000000000000000000000000000000000000000000000F7051F27B09112D4 | 16jY7qLJnxb7CHZyqBP8qca9d51gAjyXQN | 18446744073709551615                             | 03100611c54dfef604163b8358f7b7fac13ce478e02cb224ae16d45526b25d9d4d | 2022-09-09
65  | 000000000000000000000000000000000000000000000001A838B13505B26867 | 18ZMbwUFLMHoZBbfpCjUJQTCMCbktshgpe | 36893488147419103231                             | 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b | 2019-06-07
66  | 000000000000000000000000000000000000000000000002832ED74F2B5E35EE | 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so | 73786976294838206463                             | 024ee2be2d4e9f92d2f5a4a03058617dc45befe22938feed5b7a6b7282dd74cbdd | 2024-09-12
67  |                                                                  | 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9 | 147573952589676412927                            | ========================== U N K N O W N ========================= | ____-__-__
68  |                                                                  | 1MVDYgVaSN6iKKEsbzRUAYFrYJadLYZvvZ | 295147905179352825855                            | ========================== U N K N O W N ========================= | ____-__-__
69  |                                                                  | 19vkiEajfhuZ8bs8Zu2jgmC6oqZbWqhxhG | 590295810358705651711                            | ========================== U N K N O W N ========================= | ____-__-__
70  | 0000000000000000000000000000000000000000000000349B84B6431A6C4EF1 | 19YZECXj3SxEZMoUeJ1yiPsw8xANe7M7QR | 1180591620717411303423                           | 0290e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc0121248483 | 2019-06-09
71  |                                                                  | 1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU | 2361183241434822606847                           | ========================== U N K N O W N ========================= | ____-__-__
72  |                                                                  | 1JTK7s9YVYywfm5XUH7RNhHJH1LshCaRFR | 4722366482869645213695                           | ========================== U N K N O W N ========================= | ____-__-__
73  |                                                                  | 12VVRNPi4SJqUTsp6FmqDqY5sGosDtysn4 | 9444732965739290427391                           | ========================== U N K N O W N ========================= | ____-__-__
74  |                                                                  | 1FWGcVDK3JGzCC3WtkYetULPszMaK2Jksv | 18889465931478580854783                          | ========================== U N K N O W N ========================= | ____-__-__
75  | 0000000000000000000000000000000000000000000004C5CE114686A1336E07 | 1J36UjUByGroXcCvmj13U6uwaVv9caEeAt | 37778931862957161709567                          | 03726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f66044755 | 2019-06-10
76  |                                                                  | 1DJh2eHFYQfACPmrvpyWc8MSTYKh7w9eRF | 75557863725914323419135                          | ========================== U N K N O W N ========================= | ____-__-__
77  |                                                                  | 1Bxk4CQdqL9p22JEtDfdXMsng1XacifUtE | 151115727451828646838271                         | ========================== U N K N O W N ========================= | ____-__-__
78  |                                                                  | 15qF6X51huDjqTmF9BJgxXdt1xcj46Jmhb | 302231454903657293676543                         | ========================== U N K N O W N ========================= | ____-__-__
79  |                                                                  | 1ARk8HWJMn8js8tQmGUJeQHjSE7KRkn2t8 | 604462909807314587353087                         | ========================== U N K N O W N ========================= | ____-__-__
80  | 00000000000000000000000000000000000000000000EA1A5C66DCC11B5AD180 | 1BCf6rHUW6m3iH2ptsvnjgLruAiPQQepLe | 1208925819614629174706175                        | 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc | 2019-06-11
81  |                                                                  | 15qsCm78whspNQFydGJQk5rexzxTQopnHZ | 2417851639229258349412351                        | ========================== U N K N O W N ========================= | ____-__-__
82  |                                                                  | 13zYrYhhJxp6Ui1VV7pqa5WDhNWM45ARAC | 4835703278458516698824703                        | ========================== U N K N O W N ========================= | ____-__-__
83  |                                                                  | 14MdEb4eFcT3MVG5sPFG4jGLuHJSnt1Dk2 | 9671406556917033397649407                        | ========================== U N K N O W N ========================= | ____-__-__
84  |                                                                  | 1CMq3SvFcVEcpLMuuH8PUcNiqsK1oicG2D | 19342813113834066795298815                       | ========================== U N K N O W N ========================= | ____-__-__
85  | 00000000000000000000000000000000000000000011720C4F018D51B8CEBBA8 | 1Kh22PvXERd2xpTQk3ur6pPEqFeckCJfAr | 38685626227668133590597631                       | 0329c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a | 2019-06-17
86  |                                                                  | 1K3x5L6G57Y494fDqBfrojD28UJv4s5JcK | 77371252455336267181195263                       | ========================== U N K N O W N ========================= | ____-__-__
87  |                                                                  | 1PxH3K1Shdjb7gSEoTX7UPDZ6SH4qGPrvq | 154742504910672534362390527                      | ========================== U N K N O W N ========================= | ____-__-__
88  |                                                                  | 16AbnZjZZipwHMkYKBSfswGWKDmXHjEpSf | 309485009821345068724781055                      | ========================== U N K N O W N ========================= | ____-__-__
89  |                                                                  | 19QciEHbGVNY4hrhfKXmcBBCrJSBZ6TaVt | 618970019642690137449562111                      | ========================== U N K N O W N ========================= | ____-__-__
90  | 000000000000000000000000000000000000000002CE00BB2136A445C71E85BF | 1L12FHH2FHjvTviyanuiFVfmzCy46RRATU | 1237940039285380274899124223                     | 035c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5 | 2019-07-01
91  |                                                                  | 1EzVHtmbN4fs4MiNk3ppEnKKhsmXYJ4s74 | 2475880078570760549798248447                     | ========================== U N K N O W N ========================= | ____-__-__
92  |                                                                  | 1AE8NzzgKE7Yhz7BWtAcAAxiFMbPo82NB5 | 4951760157141521099596496895                     | ========================== U N K N O W N ========================= | ____-__-__
93  |                                                                  | 17Q7tuG2JwFFU9rXVj3uZqRtioH3mx2Jad | 9903520314283042199192993791                     | ========================== U N K N O W N ========================= | ____-__-__
94  |                                                                  | 1K6xGMUbs6ZTXBnhw1pippqwK6wjBWtNpL | 19807040628566084398385987583                    | ========================== U N K N O W N ========================= | ____-__-__
95  | 0000000000000000000000000000000000000000527A792B183C7F64A0E8B1F4 | 19eVSDuizydXxhohGh8Ki9WY9KsHdSwoQC | 39614081257132168796771975167                    | 02967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a045 | 2019-07-06
96  |                                                                  | 15ANYzzCp5BFHcCnVFzXqyibpzgPLWaD8b | 79228162514264337593543950335                    | ========================== U N K N O W N ========================= | ____-__-__
97  |                                                                  | 18ywPwj39nGjqBrQJSzZVq2izR12MDpDr8 | 158456325028528675187087900671                   | ========================== U N K N O W N ========================= | ____-__-__
98  |                                                                  | 1CaBVPrwUxbQYYswu32w7Mj4HR4maNoJSX | 316912650057057350374175801343                   | ========================== U N K N O W N ========================= | ____-__-__
99  |                                                                  | 1JWnE6p6UN7ZJBN7TtcbNDoRcjFtuDWoNL | 633825300114114700748351602687                   | ========================== U N K N O W N ========================= | ____-__-__
100 | 000000000000000000000000000000000000000AF55FC59C335C8EC67ED24826 | 1KCgMv8fo2TPBpddVi9jqmMmcne9uSNJ5F | 1267650600228229401496703205375                  | 03d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617 | 2019-07-08
101 |                                                                  | 1CKCVdbDJasYmhswB6HKZHEAnNaDpK7W4n | 2535301200456458802993406410751                  | ========================== U N K N O W N ========================= | ____-__-__
102 |                                                                  | 1PXv28YxmYMaB8zxrKeZBW8dt2HK7RkRPX | 5070602400912917605986812821503                  | ========================== U N K N O W N ========================= | ____-__-__
103 |                                                                  | 1AcAmB6jmtU6AiEcXkmiNE9TNVPsj9DULf | 10141204801825835211973625643007                 | ========================== U N K N O W N ========================= | ____-__-__
104 |                                                                  | 1EQJvpsmhazYCcKX5Au6AZmZKRnzarMVZu | 20282409603651670423947251286015                 | ========================== U N K N O W N ========================= | ____-__-__
105 | 000000000000000000000000000000000000016F14FC2054CD87EE6396B33DF3 | 1CMjscKB3QW7SDyQ4c3C3DEUHiHRhiZVib | 40564819207303340847894502572031                 | 03bcf7ce887ffca5e62c9cabbdb7ffa71dc183c52c04ff4ee5ee82e0c55c39d77b | 2019-09-23
106 |                                                                  | 18KsfuHuzQaBTNLASyj15hy4LuqPUo1FNB | 81129638414606681695789005144063                 | ========================== U N K N O W N ========================= | ____-__-__
107 |                                                                  | 15EJFC5ZTs9nhsdvSUeBXjLAuYq3SWaxTc | 162259276829213363391578010288127                | ========================== U N K N O W N ========================= | ____-__-__
108 |                                                                  | 1HB1iKUqeffnVsvQsbpC6dNi1XKbyNuqao | 324518553658426726783156020576255                | ========================== U N K N O W N ========================= | ____-__-__
109 |                                                                  | 1GvgAXVCbA8FBjXfWiAms4ytFeJcKsoyhL | 649037107316853453566312041152511                | ========================== U N K N O W N ========================= | ____-__-__
110 | 00000000000000000000000000000000000035C0D7234DF7DEB0F20CF7062444 | 12JzYkkN76xkwvcPT6AWKZtGX6w2LAgsJg | 1298074214633706907132624082305023               | 0309976ba5570966bf889196b7fdf5a0f9a1e9ab340556ec29f8bb60599616167d | 2020-05-30
111 |                                                                  | 1824ZJQ7nKJ9QFTRBqn7z7dHV5EGpzUpH3 | 2596148429267413814265248164610047               | ========================== U N K N O W N ========================= | ____-__-__
112 |                                                                  | 18A7NA9FTsnJxWgkoFfPAFbQzuQxpRtCos | 5192296858534827628530496329220095               | ========================== U N K N O W N ========================= | ____-__-__
113 |                                                                  | 1NeGn21dUDDeqFQ63xb2SpgUuXuBLA4WT4 | 10384593717069655257060992658440191              | ========================== U N K N O W N ========================= | ____-__-__
114 |                                                                  | 174SNxfqpdMGYy5YQcfLbSTK3MRNZEePoy | 20769187434139310514121985316880383              | ========================== U N K N O W N ========================= | ____-__-__
115 | 0000000000000000000000000000000000060F4D11574F5DEEE49961D9609AC6 | 1NLbHuJebVwUZ1XqDjsAyfTRUPwDQbemfv | 41538374868278621028243970633760767              | 0248d313b0398d4923cdca73b8cfa6532b91b96703902fc8b32fd438a3b7cd7f55 | 2020-06-16
116 |                                                                  | 1MnJ6hdhvK37VLmqcdEwqC3iFxyWH2PHUV | 83076749736557242056487941267521535              | ========================== U N K N O W N ========================= | ____-__-__
117 |                                                                  | 1KNRfGWw7Q9Rmwsc6NT5zsdvEb9M2Wkj5Z | 166153499473114484112975882535043071             | ========================== U N K N O W N ========================= | ____-__-__
118 |                                                                  | 1PJZPzvGX19a7twf5HyD2VvNiPdHLzm9F6 | 332306998946228968225951765070086143             | ========================== U N K N O W N ========================= | ____-__-__
119 |                                                                  | 1GuBBhf61rnvRe4K8zu8vdQB3kHzwFqSy7 | 664613997892457936451903530140172287             | ========================== U N K N O W N ========================= | ____-__-__
120 | 0000000000000000000000000000000000b10f22572c497a836ea187f2e1fc23 | 17s2b9ksz5y7abUm92cHwG8jEPCzK3dLnT | 1329227995784915872903807060280344575            | 02ceb6cbbcdbdf5ef7150682150f4ce2c6f4807b349827dcdbdd1f2efa885a2630 | 2023-02-27
121 |                                                                  | 1GDSuiThEV64c166LUFC9uDcVdGjqkxKyh | 2658455991569831745807614120560689151            | ========================== U N K N O W N ========================= | ____-__-__
122 |                                                                  | 1Me3ASYt5JCTAK2XaC32RMeH34PdprrfDx | 5316911983139663491615228241121378303            | ========================== U N K N O W N ========================= | ____-__-__
123 |                                                                  | 1CdufMQL892A69KXgv6UNBD17ywWqYpKut | 10633823966279326983230456482242756607           | ========================== U N K N O W N ========================= | ____-__-__
124 |                                                                  | 1BkkGsX9ZM6iwL3zbqs7HWBV7SvosR6m8N | 21267647932558653966460912964485513215           | ========================== U N K N O W N ========================= | ____-__-__
125 |                   ****UNKNOWN PRIVATE KEY****                    | 1PXAyUB8ZoH3WD8n5zoAthYjN15yN5CVq5 | 42535295865117307932921825928971026431           | 0233709eb11e0d4439a729f21c2c443dedb727528229713f0065721ba8fa46f00e | 2023-07-09
126 |                                                                  | 1AWCLZAjKbV1P7AHvaPNCKiB7ZWVDMxFiz | 85070591730234615865843651857942052863           | ========================== U N K N O W N ========================= | ____-__-__
127 |                                                                  | 1G6EFyBRU86sThN3SSt3GrHu1sA7w7nzi4 | 170141183460469231731687303715884105727          | ========================== U N K N O W N ========================= | ____-__-__
128 |                                                                  | 1MZ2L1gFrCtkkn6DnTT2e4PFUTHw9gNwaj | 340282366920938463463374607431768211455          | ========================== U N K N O W N ========================= | ____-__-__
129 |                                                                  | 1Hz3uv3nNZzBVMXLGadCucgjiCs5W9vaGz | 680564733841876926926749214863536422911          | ========================== U N K N O W N ========================= | ____-__-__
130 |                   ****UNKNOWN PRIVATE KEY****                    | 1Fo65aKq8s8iquMt6weF1rku1moWVEd5Ua | 1361129467683753853853498429727072845823         | 03633cbe3ec02b9401c5effa144c5b4d22f87940259634858fc7e59b1c09937852 | 2024-09-23
131 |                                                                  | 16zRPnT8znwq42q7XeMkZUhb1bKqgRogyy | 2722258935367507707706996859454145691647         | ========================== U N K N O W N ========================= | ____-__-__
132 |                                                                  | 1KrU4dHE5WrW8rhWDsTRjR21r8t3dsrS3R | 5444517870735015415413993718908291383295         | ========================== U N K N O W N ========================= | ____-__-__
133 |                                                                  | 17uDfp5r4n441xkgLFmhNoSW1KWp6xVLD  | 10889035741470030830827987437816582766591        | ========================== U N K N O W N ========================= | ____-__-__
134 |                                                                  | 13A3JrvXmvg5w9XGvyyR4JEJqiLz8ZySY3 | 21778071482940061661655974875633165533183        | ========================== U N K N O W N ========================= | ____-__-__
135 |                                                                  | 16RGFo6hjq9ym6Pj7N5H7L1NR1rVPJyw2v | 43556142965880123323311949751266331066367        | 02145d2611c823a396ef6712ce0f712f09b9b4f3135e3e0aa3230fb9b6d08d1e16 | ____-__-__
136 |                                                                  | 1UDHPdovvR985NrWSkdWQDEQ1xuRiTALq  | 87112285931760246646623899502532662132735        | ========================== U N K N O W N ========================= | ____-__-__
137 |                                                                  | 15nf31J46iLuK1ZkTnqHo7WgN5cARFK3RA | 174224571863520493293247799005065324265471       | ========================== U N K N O W N ========================= | ____-__-__
138 |                                                                  | 1Ab4vzG6wEQBDNQM1B2bvUz4fqXXdFk2WT | 348449143727040986586495598010130648530943       | ========================== U N K N O W N ========================= | ____-__-__
139 |                                                                  | 1Fz63c775VV9fNyj25d9Xfw3YHE6sKCxbt | 696898287454081973172991196020261297061887       | ========================== U N K N O W N ========================= | ____-__-__
140 |                                                                  | 1QKBaU6WAeycb3DbKbLBkX7vJiaS8r42Xo | 1393796574908163946345982392040522594123775      | 031f6a332d3c5c4f2de2378c012f429cd109ba07d69690c6c701b6bb87860d6640 | ____-__-__
141 |                                                                  | 1CD91Vm97mLQvXhrnoMChhJx4TP9MaQkJo | 2787593149816327892691964784081045188247551      | ========================== U N K N O W N ========================= | ____-__-__
142 |                                                                  | 15MnK2jXPqTMURX4xC3h4mAZxyCcaWWEDD | 5575186299632655785383929568162090376495103      | ========================== U N K N O W N ========================= | ____-__-__
143 |                                                                  | 13N66gCzWWHEZBxhVxG18P8wyjEWF9Yoi1 | 11150372599265311570767859136324180752990207     | ========================== U N K N O W N ========================= | ____-__-__
144 |                                                                  | 1NevxKDYuDcCh1ZMMi6ftmWwGrZKC6j7Ux | 22300745198530623141535718272648361505980415     | ========================== U N K N O W N ========================= | ____-__-__
145 |                                                                  | 19GpszRNUej5yYqxXoLnbZWKew3KdVLkXg | 44601490397061246283071436545296723011960831     | 03afdda497369e219a2c1c369954a930e4d3740968e5e4352475bcffce3140dae5 | ____-__-__
146 |                                                                  | 1M7ipcdYHey2Y5RZM34MBbpugghmjaV89P | 89202980794122492566142873090593446023921663     | ========================== U N K N O W N ========================= | ____-__-__
147 |                                                                  | 18aNhurEAJsw6BAgtANpexk5ob1aGTwSeL | 178405961588244985132285746181186892047843327    | ========================== U N K N O W N ========================= | ____-__-__
148 |                                                                  | 1FwZXt6EpRT7Fkndzv6K4b4DFoT4trbMrV | 356811923176489970264571492362373784095686655    | ========================== U N K N O W N ========================= | ____-__-__
149 |                                                                  | 1CXvTzR6qv8wJ7eprzUKeWxyGcHwDYP1i2 | 713623846352979940529142984724747568191373311    | ========================== U N K N O W N ========================= | ____-__-__
150 |                                                                  | 1MUJSJYtGPVGkBCTqGspnxyHahpt5Te8jy | 1427247692705959881058285969449495136382746623   | 03137807790ea7dc6e97901c2bc87411f45ed74a5629315c4e4b03a0a102250c49 | ____-__-__
151 |                                                                  | 13Q84TNNvgcL3HJiqQPvyBb9m4hxjS3jkV | 2854495385411919762116571938898990272765493247   | ========================== U N K N O W N ========================= | ____-__-__
152 |                                                                  | 1LuUHyrQr8PKSvbcY1v1PiuGuqFjWpDumN | 5708990770823839524233143877797980545530986494   | ========================== U N K N O W N ========================= | ____-__-__
153 |                                                                  | 18192XpzzdDi2K11QVHR7td2HcPS6Qs5vg | 11417981541647679048466287755595961091061972988  | ========================== U N K N O W N ========================= | ____-__-__
154 |                                                                  | 1NgVmsCCJaKLzGyKLFJfVequnFW9ZvnMLN | 22835963083295358096932575511191922182123945976  | ========================== U N K N O W N ========================= | ____-__-__
155 |                                                                  | 1AoeP37TmHdFh8uN72fu9AqgtLrUwcv2wJ | 45671926166590716193865151022383844364247891952  | 035cd1854cae45391ca4ec428cc7e6c7d9984424b954209a8eea197b9e364c05f6 | ____-__-__
156 |                                                                  | 1FTpAbQa4h8trvhQXjXnmNhqdiGBd1oraE | 91343852333181432387730302044767688728495783904  | ========================== U N K N O W N ========================= | ____-__-__
157 |                                                                  | 14JHoRAdmJg3XR4RjMDh6Wed6ft6hzbQe9 | 182687704666362864775460604089535377456991567808 | ========================== U N K N O W N ========================= | ____-__-__
158 |                                                                  | 19z6waranEf8CcP8FqNgdwUe1QRxvUNKBG | 365375409332725729550921208179070754913983135616 | ========================== U N K N O W N ========================= | ____-__-__
159 |                                                                  | 14u4nA5sugaswb6SZgn5av2vuChdMnD9E5 | 730750818665451459101842416358141509827966271232 | ========================== U N K N O W N ========================= | ____-__-__
160 |                                                                  | 1NBC8uXJy1GiJ6drkiZa1WuKn51ps7EPTv | 1461501637330902918203684832716283019655932542464| 02e0a8b039282faf6fe0fd769cfbc4b6b4cf8758ba68220eac420e32b91ddfa673 | ____-__-__
full member
Activity: 385
Merit: 110
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
June 30, 2024, 12:03:38 PM
If no carry after 2nd reduction = all good;
else add "r".

But to check the carry we must do an addition with 0, so we have 5 operations if carry is set, or 1 if unset (plus the condition check).

I wonder what is the computational cost of executing a conditional branch on CUDA though.

I know that on Intel platforms, it would've taken longer to do a CMP/JNZ than a simple bitshift. So maybe in case jumps are expensive in CUDA too, there would be something like

- create a new variable to store the carry, run UADDC(0,0) on that
- carry bit will be zero at this point
- do a UMULLO(the r value you quoted, carry) - ie. multiplication and store lower 64 bits. This potentially avoids an if statement of it is correct
- Add this the result to the value in the code that we are reducing

In this case, if there's no carry, the above is a no-op and can be optimized out by the kernel, otherwise it reduces to the previous code.
 
So what do you think about this?
member
Activity: 165
Merit: 26
June 30, 2024, 09:24:46 AM
That shouldn't incur much overhead, in fact we might be able to do it with 4 lines of code for each occurrence:

Code:
// I think we just discard the carry from the previous mod reduce
UADDO(r[0],r[0],0x0000000F000003D1ULL); // 2**32 + 977
UADDC(r[1],r[1],0);
UADDC(r[2],r[2],0);
UADDC(r[3],r[3],0);
// And this carry too

I *think* we are keeping everything mod 256 bits so the highest carries can just be discarded. Or maybe it's actually mod N and it's making assurances above that the product is always less than N.

3rd reduction ensures it would be impossible to have a carry at limb 5. But I don't agree with "we might be able to do it with 4 lines of code" because it must be a conditional 3rd addition:

If no carry after 2nd reduction = all good;
else add "r".

But to check the carry we must do an addition with 0, so we have 5 operations if carry is set, or 1 if unset (plus the condition check).

This is equivalent to always perform the 3rd reduction (it would either add 0 or r) but avoids the multiplications, since the multiply factor would either be 0 or 1.

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
June 30, 2024, 07:26:22 AM
A proper fix would be to check if we had a carry at the end, instead of ignoring it, and add "r" (2**32 + 977) to the result in that case. Ofcourse, with proper carry propagation again (so one check e.g. an addition + 4 more additions = 5 more 64-bit additions). Only then we can be guaranteed the result is correct, during the computations, not after we collected lots of invalid outputs.

That shouldn't incur much overhead, in fact we might be able to do it with 4 lines of code for each occurrence:

Code:
// I think we just discard the carry from the previous mod reduce
UADDO(r[0],r[0],0x0000000F000003D1ULL); // 2**32 + 977
UADDC(r[1],r[1],0);
UADDC(r[2],r[2],0);
UADDC(r[3],r[3],0);
// And this carry too

I *think* we are keeping everything mod 256 bits so the highest carries can just be discarded. Or maybe it's actually mod N and it's making assurances above that the product is always less than N.
member
Activity: 165
Merit: 26
June 30, 2024, 04:54:50 AM
...
So a total of 6 multiplications for each jump of each kangaroo.

So since there's an error ratio of only using 2-steps folding: r(r - 1) / 2N
and you have 6 multiplications / jump
and you do a lot of jumps deterministically

at some point, that error will exhibit itself and all future computations get screwed up.

That error rate would be approximately 2**32 squared, i.e. 2**64, divided by 2**256 * 2 so 2**-193 per kangaroo.

If we want to be pragmatic, then approximately 2**-191 something per kangaroo or a 1/2**191 chance it messes up, when we account the 6 multiplications per kangaroo.

But it's still a really small number.

We can make a lot of pairs for which they are equal to the un-reduced product. But it is much harder to satisfy the second condition, and I don't know if anyone has generated any counter-examples.
That's not really correct.

Each kangaroo contributes to a running product for a single inversion.

So when a multiply is incorrect then the root product to invert is wrong, and this results in a wrong root inverse. The inversion is then propagated back to each kangaroo.

So then the whole batch gets corrupted from that point on.

Let's say 512 kangs/batch. The error goes up from 2**-191 to 2**-183.

Imagine then that the discrete points that get saved are then redistributed to other work items, in a batch with other correct kangaroos. Then that batch gets corrupted right after the first batch jump as well, since one of the points was computed wrong.

And you have 512 "sick" (invented name) kangaroos already. Maybe each of them ends up in its own batch, infecting their herd. Pandemic follows.

Regarding the counterexample test vector to prove the incorrectness... well, unless there's some part of the code that actually checks if a discrete point is indeed correct, then it's a silent bug. If there is such a check, great, but how is it handled? I don't think it's possible to calculate what values you need to trigger the bug, due to the huge numbers involved. Suffice to say that it's proven it can happen, and according to universe, if something can happen, it will happen. In this case, who can ever know if their results are in a valid state or not? Smiley

A proper fix would be to check if we had a carry at the end, instead of ignoring it, and add "r" (2**32 + 977) to the result in that case. Ofcourse, with proper carry propagation again (so one check e.g. an addition + 4 more additions = 5 more 64-bit additions). Only then we can be guaranteed the result is correct, during the computations, not after we collected lots of invalid outputs.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
June 30, 2024, 12:22:50 AM
...
So a total of 6 multiplications for each jump of each kangaroo.

Problematic lines are these ones reducing the 256x256 product back to mod N:

https://github.com/JeanLucPons/Kangaroo/blob/37576c82d198c20fca65b14da74138ae6153a446/GPU/GPUMath.h#L856
https://github.com/JeanLucPons/Kangaroo/blob/37576c82d198c20fca65b14da74138ae6153a446/GPU/GPUMath.h#L905
https://github.com/JeanLucPons/Kangaroo/blob/37576c82d198c20fca65b14da74138ae6153a446/GPU/GPUMath.h#L1017

2-step reduction is only guaranteed to be correct for Mersenne primes where r = 1

For secp256k1 r is 2**32 + 977, not 1. So 2 steps are not enough.

So since there's an error ratio of only using 2-steps folding: r(r - 1) / 2N
and you have 6 multiplications / jump
and you do a lot of jumps deterministically

at some point, that error will exhibit itself and all future computations get screwed up.

That error rate would be approximately 2**32 squared, i.e. 2**64, divided by 2**256 * 2 so 2**-193 per kangaroo.

If we want to be pragmatic, then approximately 2**-191 something per kangaroo or a 1/2**191 chance it messes up, when we account the 6 multiplications per kangaroo.

But it's still a really small number.

Almost as infrequent as generating a specific 192-bit elliptic private key. Not that anyone would do that, though.

The specific condition that would happen, I found in the paper you linked



We can make a lot of pairs for which they are equal to the un-reduced product. But it is much harder to satisfy the second condition, and I don't know if anyone has generated any counter-examples.
member
Activity: 165
Merit: 26
June 29, 2024, 08:06:16 AM
Can anyone explain why a sloppy modular multiplication is used? The 3rd step is missing, otherwise there exist probability of an incorrect result. Or is it proven that only 2 steps were sufficient (I doubt it)?

Since no one answered, I will assume it's taken for granted that the multiplication used by JLP is correct (2-folding reduction steps). However, according to page 15 of this research paper:

https://eprint.iacr.org/2021/1151.pdf

under the analysis of "Sloppy reduction" it is proven that unless a correctness check is performed, then you need a 3rd reduction step.

Otherwise, the modular multiplication reduction has a chance (around one in 2**193) to be incorrect, because:

Quote
Thus, if sloppy reduction is applied to a randomly chosen number in the interval [0, R2 − 1], the probability of an incorrect result is about r(r−1) / 2N

There is a missing potential carry that is assumed it can never happen, after the 2nd reduction. And no one can explain it.

I do recall JLP himself writing that it's using projective coordinates in the ecmath. So I guess for his modular multiplication implementation too (this is the same for VanitySearch).

In such a coordinate system, a different variable holds the divisor that's accumulated during the multiplication steps of the other two variables, so that reduction can be done much much later (as it is still expensive, even if you use heavily optimized algos of binary GCD and 2x52 legs).

Since the multiplication can be done by repeated addition, this page might come useful: https://www.nayuki.io/page/elliptic-curve-point-addition-in-projective-coordinates

I was referring to modular multiplication not point multiplication.

e.g. when we add point A with point B it is done with affine (not projective) coordinates but this is not relevant.

So there's around 3 modular multiplications for a single addition:

m = (y1 - y2) / (x1 - x2).  // multiply with inverse
x3 = m ** 2 - x1 - x2        // multiply with ourself
y3 = m * (x2 - x3) - y2     // multiplication #3

There are also 3 more multiplications for each addition when computing a batched inverse.

So a total of 6 multiplications for each jump of each kangaroo.

Problematic lines are these ones reducing the 256x256 product back to mod N:

https://github.com/JeanLucPons/Kangaroo/blob/37576c82d198c20fca65b14da74138ae6153a446/GPU/GPUMath.h#L856
https://github.com/JeanLucPons/Kangaroo/blob/37576c82d198c20fca65b14da74138ae6153a446/GPU/GPUMath.h#L905
https://github.com/JeanLucPons/Kangaroo/blob/37576c82d198c20fca65b14da74138ae6153a446/GPU/GPUMath.h#L1017

2-step reduction is only guaranteed to be correct for Mersenne primes where r = 1

For secp256k1 r is 2**32 + 977, not 1. So 2 steps are not enough.

So since there's an error ratio of only using 2-steps folding: r(r - 1) / 2N
and you have 6 multiplications / jump
and you do a lot of jumps deterministically

at some point, that error will exhibit itself and all future computations get screwed up.
member
Activity: 196
Merit: 67
June 29, 2024, 05:39:10 AM
Testing JLP's kangaroo with an RTX 4090 and getting a speed of 2230 MK/s.
What speeds are you getting? eg. for RTX 3080, RTX 3080Ti, RTX 3090, RTX 4080

...
NotATether, what is your speed experience for GPUs?
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
June 29, 2024, 04:24:32 AM
Can anyone explain why a sloppy modular multiplication is used? The 3rd step is missing, otherwise there exist probability of an incorrect result. Or is it proven that only 2 steps were sufficient (I doubt it)?

Since no one answered, I will assume it's taken for granted that the multiplication used by JLP is correct (2-folding reduction steps). However, according to page 15 of this research paper:

https://eprint.iacr.org/2021/1151.pdf

under the analysis of "Sloppy reduction" it is proven that unless a correctness check is performed, then you need a 3rd reduction step.

Otherwise, the modular multiplication reduction has a chance (around one in 2**193) to be incorrect, because:

Quote
Thus, if sloppy reduction is applied to a randomly chosen number in the interval [0, R2 − 1], the probability of an incorrect result is about r(r−1) / 2N

There is a missing potential carry that is assumed it can never happen, after the 2nd reduction. And no one can explain it.

I do recall JLP himself writing that it's using projective coordinates in the ecmath. So I guess for his modular multiplication implementation too (this is the same for VanitySearch).

In such a coordinate system, a different variable holds the divisor that's accumulated during the multiplication steps of the other two variables, so that reduction can be done much much later (as it is still expensive, even if you use heavily optimized algos of binary GCD and 2x52 legs).

Since the multiplication can be done by repeated addition, this page might come useful: https://www.nayuki.io/page/elliptic-curve-point-addition-in-projective-coordinates
Pages:
Jump to: