Pages:
Author

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

newbie
Activity: 15
Merit: 0
Quote
Sorry I bring above topic here, maybe @WanderingPhilospher, @Brainless or anyone here can explain for this subtraction concept. Thank you

What's your question? Anything specific?

That was just an example of range reduction via subtraction & division. As you can see, you can search in a smaller bit range but you have more public keys to look for.
for about subtraction, example ==> pubkey target - pubkey = pubkey result, or in other words  X - 5 = Y and still have two variable in non decimal so how to define Y in decimal?
full member
Activity: 1232
Merit: 242
Shooters Shoot...
Quote
Sorry I bring above topic here, maybe @WanderingPhilospher, @Brainless or anyone here can explain for this subtraction concept. Thank you

What's your question? Anything specific?

That was just an example of range reduction via subtraction & division. As you can see, you can search in a smaller bit range but you have more public keys to look for.
newbie
Activity: 15
Merit: 0
Cobras, haha, since you wouldn't do as I asked, I'll just use #40 from the puzzle/challenge.

Adddress (not important):
1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv

Pub key:
03a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d4

Now, it's range is 8000000000:FFFFFFFFFF

I will divide by 2^5 (32, which will actually be 33 because you also divide by 0)
Here are those 33 pubkeys:
Code:
02f0c386f6714fe5940ec7e622d8ba2e5204c58cd71a9c73ca95fb0e4ec0e76d72
03f7f61f6fc40c3df9696ab839727b1dc1391a9da275ea6d42d17302cdccbdc09a
02c19b2db68679148bd96635d08fe824ba9bd20daab2873840aaabcfceec484a96
0209e65b3fe12c22728d87fcca8b984084b2f9b646fbabe2f5981024fb95eba4e1
038f479f61a73435ba2f038b1a54f1f54adb0508be58bd880b9174bea3aa7e86d5
039e894d63c7153c69f87868d9c63b02a8a011d942f4886d91bd5d8f58bb6b5afc
0381d7a33f05ade886db9bbcf96f8e1759fbffd2df33532753bab3433d281dc87f
02d25985c166a0ca3bf3f41e0d183df2f0a2cce1cf90caf79165b42cb12c1105db
032061e0311088d0d98131adf4a38b0bfbdcea1c23a732c3113169ddebb905a267
0242f66a0c1fa8c6b4ab00172b99e8bf92227570b2fb980e08f45a0db5bf617dd7
0239703514939aec42c3103e8a02c712b4f26903d559e92403ecd0511523ddedc9
0221a766fd4041d03ad65681684bde68db01dc9bdf09b3dcbb7fe513f71b81ae24
03d21e878ab0aeac492a88c1f5430e823a05201f50b2b6dda1af05e62c69d332ef
03642173b68ffd55b79ae59e8504e726285a5d916b8cf2224cf9dd3b6ab5550427
02124482f38119b78ced6d4cfdbb1f527538eea8158f7e7ca14507e70640e6f6ec
033df51c60c3e0cee9317eea3d97125a76aea5e9087a332df6fb47f5a7e78ac935
0249d150e04bf39f36c85499af2d56c285f93f647d563a8d644b03109a905d3ad8
03d999d94ebe5a16b8d473c4d00d325f0874926c8dea8a22aeb60b1a35f5543100
0380ede2c7f5cc251e1ecd52773e3dcebb3bc5fceab4ce89d62018b45ddc4ee3aa
024b97c8d72f48320211b5e67131799004be48250dce123c56e3fb89d68d9396e5
02a20ce9ba321bf7a13b45af5645a49eae0870dd0aee64ce48eec46904982e09f5
03248efe604a9bf36e86f2257d1af410565bab4ea237493c34b5b86a144a6470eb
02133205bad04b511da446fe2e4777d15b1aaaa7e99b084e67a2968daa7c1eb946
03d05d0862f0d677b838af72763982be68850d9b222081289dd191283e68c75058
02152bd00d55a9f82eef113d4e2b8c26e2c280b8c713154515fea807ff07e00fad
02f5f38191a6afbb8efda92c199626dc54362aeb4ec7df55adb0d3076af6251e71
03de0ae872279680997511720b05d197bd164955688bb27d1b8747a6b4b071322e
03ec224492baa0bfc9d3fe7388384aa74a0397d66acf9736434044981febfd4679
02ba62c3d3e7c6c782113d45d3426e222adefcef36f0241746340153dcc51c218c
02aec4e228a8bfea725af79be641788b0b7743b620cae1426d6f052bf4f1e451ed
022fdbce7c0ed6ff7f6461fad0b0361209db556c6668b63c62ec2d6ab5c1be53dc
03a16d65d082d8c4e655d20eac7b2d216b2e22ab2b6ed5133df4394669ec9d10a4
03858ecab60490237bf8053a7354223cdbfdc76634623800a8e64deb4aa0adc0c0


And if you want to search by compressed addresses that match the above pubkeys:
Code:
14zJF8CnG4hYZnPk4PYfc8gLU31Puqfgsv
1NRNqBzcGrhVPwcAG3mQtuVJk8LzbJbzJq
1JcJGT8ezp8EHsVDcDyPNa3Ar2zbhiy4ax
1HaCnLU7wssvrTUpEGDcBPebX4mmR21MWN
14Xuu5dGxwZpHf4mr1r4ziYDXdgMrFbDbP
19YPjv6E1642SPve4toMZkpo8TMvYvhin3
1Bdx4r4xx9UFRoVoR4QtgSjrcgEfpehia
1FJzTav9h59pi81yGXmgQAWu6ZergWEFZo
1GCzqPsWNN52M5oViktLdawZYMb912PXyZ
1GfWXSJ1eA14ap8enpUsVm2HTQV2cRBPZD
17e1To7mLCJzusa7sbs8habEzsMiF5jKej
1JPaPJpYUCsFn25ECZTZxU62mdrHTwYUkM
1JixzUPVmoeU25a84pUXf6xNfHBmoT8FXy
1EHUpUsHeLFNhLeivmkqZp4rYqivaq2Ghe
1CGAuzs7MRyXFpMnNTVsSvEknt2AxDPaLK
1JuaDBFmHFhV6ozKJbsnR9k3Mnv3PWB9GZ
1KRHnqXQyfLZuYVqPmfKSpZPNE4j2vCnRn
1JwHmAFSgrDsUV6ow9CvuYz4YKhiFHtdLm
1N7Vbc9bsYy6B4Qmf3Vr3wKjJJLf7xR4sk
1JkKmLkmuUg9g8UpzoJvrfz38bzYKKaA85
1GV5w1kvsybCiTk8EJ6JcwtioabaxPTF96
1M23DScXBhi1imqVqmTTvndrDQjACYpATp
1Kc3gPy54e68BsHVJreSqSHgm3fLeXnj2g
19PS9jCNYaQ4LnhJ3Yt8K9hcH6swBQi9pV
1CAxJ3uDxnAza79NfPbJXRoznYkA6w865Y
1DePnGTmKV8it1XQjXM9Y4cW7PhLQerFRY
14j7AZVuGMvTUavj1DRFE4Wp6dWGPrBeAc
165Echz8WdXjXdBZ8eAp6sUCPsWw8n62xg
1LEvqW3x8eF2jQeYLrjANAZWaFqvU3Xw7L
12AD1vSr1QcW2e2LZvMSHv63RXKT8eJUXo
15RTpbp2AfHp8d7Xgq8DbyNsT4rKDfxQCo
1BvJV9vp7Yg38rycEFtHxFYx9Aid2aD3RL
14UUWCMpLB6doUuTkUjsBAFXwpvCnADt9N

Now since we divided by 2^5, you will find at least one of those pubkeys/addresses in a new range (35 bit range; 40-5=35):
400000000:7FFFFFFFFF

So use kangaroo or BSGS to find pubkey in that new range or bitcrack to find addresses in that new range.



Wow, I just checked and found this match:

address: 1Kc3gPy54e68BsHVJreSqSHgm3fLeXnj2g
pubkey : 02133205BAD04B511DA446FE2E4777D15B1AAAA7E99B084E67A2968DAA7C1EB946
privkey : 74D72499E (35 bit)

I want to ask how you did get these 33 pubkeys?, I have read your previous messages but not getting it completely.
If we divide range 400000000:7FFFFFFFFF which is 7FFFFFFFFF (39 bit) by 2^5 then the result will be in decimal point, its not a perfect division.

So how do you do this? And how to derive those 33 pubkeys, Need little explanation.


Regards!!





Sorry I bring above topic here, maybe @WanderingPhilospher, @Brainless or anyone here can explain for this subtraction concept. Thank you
member
Activity: 165
Merit: 26
While we're waiting for RTX 5090 here's some really fast jumper for 64-bit CPUs.

This is 100% working code as I'm using it to test that my CUDA kernel jumps correctly. I really needed it to be as fast as possible so I don't get old waiting for results to validate.

This uses libsecp256k1 internal headers with inlined field and group basic operations, and does batched addition with non-dependent tree inversion loops (translation: a good compiler will use unrolling, SIMD and other CPU instructions to speed things up).

Group operations / second / thread is around 15 - 20 Mo/s on a high-end Intel CPU.

Compile with "-march=native" for best results.

No, this is not a fully-working puzzle breaker. You need to use your brain to add DP logic, saving, and collision checks. This is just the lowest-level detail: a very fast CPU kangaroo jumper for secp256k1.

This function also assumes that a jumped kangaroo can never be a point in the set of jump points, nor its opposite. This guarantee applies to my Kangaroo algorithm by design, so the logic of point doubling or point at infinity is not needed at all.

Code:
#include "field_impl.h"                 // field operations
#include "group_impl.h"                 // group operations

#define FE_INV(r, x)        secp256k1_fe_impl_inv_var(&(r), &(x))
#define FE_MUL(r, a, b)     secp256k1_fe_mul_inner((r).n, (a).n, (b).n)
#define FE_SQR(r, x)        secp256k1_fe_sqr_inner((r).n, (x).n)
#define FE_ADD(r, d)        secp256k1_fe_impl_add(&(r), &(d))
#define FE_NEG(r, a, m)     secp256k1_fe_impl_negate_unchecked(&(r), &(a), (m))

static
void jump_batch(
    secp256k1_ge * ge,
    const secp256k1_ge * jp,
    secp256k1_fe * xz,                  // product tree leafs + parent nodes
    secp256k1_fe * xzOut,
    U32 batch_size
) {
    secp256k1_fe t1, t2, t3;

    int64_t i;

    for (i = 0; i < batch_size; i++) {
        uint8_t jIdx;

#if JUMP_FUNC == JUMP_FUNC_LOW_52
        jIdx = ge[i].x.n[0] % NUM_JUMP_POINTS;
#elif JUMP_FUNC == JUMP_FUNC_LOW_64
        jIdx = (ge[i].x.n[0] | (ge[i].x.n[1] << 52)) % NUM_JUMP_POINTS;
#endif

        xz[i] = ge[i].x;
        FE_NEG(t1, jp[jIdx].x, 1);
        FE_ADD(xz[i], t1);                          // XZ[i] = x1 - x2
    }

    for (i = 0; i < batch_size - 1; i++) {
        FE_MUL(xz[batch_size + i], xz[i * 2], xz[i * 2 + 1]);
    }

    FE_INV(xzOut[batch_size * 2 - 2], xz[2 * batch_size - 2]);

    for (i = batch_size - 2; i >= 0; i--) {
        FE_MUL(xzOut[i * 2], xz[i * 2 + 1], xzOut[batch_size + i]);
        FE_MUL(xzOut[i * 2 + 1], xz[i * 2], xzOut[batch_size + i]);
    }

    secp256k1_ge * _a = ge;
    const secp256k1_fe * _inv = xzOut;

    for (i = 0; i < batch_size; i++) {
        uint8_t jIdx;

#if JUMP_FUNC == JUMP_FUNC_LOW_52
        jIdx = ge[i].x.n[0] % NUM_JUMP_POINTS;
#elif JUMP_FUNC == JUMP_FUNC_LOW_64
        jIdx = (ge[i].x.n[0] | (ge[i].x.n[1] << 52)) % NUM_JUMP_POINTS;
#endif

        const secp256k1_ge * _b = &jp[jIdx];

        FE_NEG(t1, _b->y, 1);                       // T1 = -y2
        FE_ADD(_a->y, t1);                          // Y1 = y1 - y2                     m = max_y + 2(1)
        FE_MUL(_a->y, _a->y, *_inv);                // Y1 = m = (y1 - y2) / (x1 - x2)   m = 1
        FE_SQR(t2, _a->y);                          // T2 = m**2                        m = 1
        FE_NEG(t3, _b->x, 1);                       // T3 = -x2
        FE_ADD(t2, t3);                             // T2 = m**2 - x2                   m = 1 + 2(1) = 3(2)
        FE_NEG(_a->x, _a->x, 1);                    // X1 = -x1                         m = max_x + 1
        FE_ADD(_a->x, t2);                          // X1 = x3 = m**2 - x1 - x2         max_x = 3 + max_x + 1
        secp256k1_fe_normalize_weak(&_a->x);

        FE_NEG(t2, _a->x, 1);                       // T2 = -x3                         m = 1 + 1 = 2
        FE_ADD(t2, _b->x);                          // T1 = x2 - x3                     m = 2 + 1 = 3
        FE_MUL(_a->y, _a->y, t2);                   // Y1 = m * (x2 - x3)               m = 1
        FE_ADD(_a->y, t1);                          // Y1 = y3 = m * (x2 - x3) - y2     m = 1 + 2 = 3
        secp256k1_fe_normalize_weak(&_a->y);

        ++_a;
        ++_inv;
    }
}

Easy to parallelize, let's add a wrapper that jumps a specific buffer of kangaroos:

Code:
static
void computeBatchJump(
    secp256k1_ge * ge,
    const secp256k1_ge * jp,
    U32 batch_size,
    U32 num_jumps
) {
    size_t tree_sz = (batch_size * 2 - 1) * sizeof(secp256k1_fe);

//    printf("Allocating %zu bytes for tree\n", tree_sz);

    secp256k1_fe * xz_1 = malloc(tree_sz);
    if (NULL == xz_1) return;

    secp256k1_fe * xz_2 = malloc(tree_sz);
    if (NULL == xz_2) return;

    for (uint32_t loop = 0; loop < num_jumps; loop++) {
        jump_batch(ge, jp, xz_1, xz_2, batch_size);
    }

    free(xz_1);
    free(xz_2);
}

And now, once you have a really big buffer of kangaroos, you can run the jumps on all of your physical cores:

Code:
#define JUMPS_PER_STAGE   32768

    secp256k1_ge * secp_ge = malloc(numElements * sizeof(secp256k1_ge));
    secp256k1_ge * secp_jp = malloc(NUM_JUMP_POINTS * sizeof(secp256k1_ge));

    // init the jump points, init the kangaroos to your needs
    // ...

    int numLaunches = 1;    // extra multiplier for the total number of jumps
    int numThr = omp_get_max_threads();

    // use the max amount of threads that exactly divides the number of items
    while (numThr > 0 && numElements % numThr) numThr--;

    U64 gePerPart = numElements / numThr;
    printf("\tThreads: %u; elements/thread: %lu\n", numThr, gePerPart);

    double ompStartTime = omp_get_wtime();

    for (U32 launchIdx = 0; launchIdx < numLaunches; launchIdx++) {
#pragma omp parallel for
        for (U32 tIdx = 0; tIdx < numThr; tIdx++) {
            U64 offset = tIdx * gePerPart;
            secp256k1_ge * localGE = secp_ge + offset;

            computeBatchJump(localGE, secp_jp, gePerPart, JUMPS_PER_STAGE);
        }
    }

    double ompEndTime = omp_get_wtime();
    elapsedTime = ompEndTime - ompStartTime;
    speed = (double) totalCount / elapsedTime;

Good luck.
newbie
Activity: 15
Merit: 0
I see that 135 is risky too, the creator already has the private keys, I'm waiting for someone lucky enough to find it and when he withdraws the funds from the 135 challenge the creator will replace it with higher fees immediately with rbf, stealing for himself again, what do you guys do you think? Because, for example, if 2 people have the same private key of 135 and withdraw together to compete for higher rates, it would be a problem if the creator intends to troll for fun, the original creator for protection must have a scrypt monitoring the withdrawals to nullify the lucky and then troll the winner, just like in 66?  That's why my withdrawal method is private and very well formulated, where no one can override it with higher rates, my TX is strong. who did all this to troll fools... maybe

You can keep it secret and stop begging for 1 btc
?
Activity: -
Merit: -
I see that 135 is risky too, the creator already has the private keys, I'm waiting for someone lucky enough to find it and when he withdraws the funds from the 135 challenge the creator will replace it with higher fees immediately with rbf, stealing for himself again, what do you guys do you think? Because, for example, if 2 people have the same private key of 135 and withdraw together to compete for higher rates, it would be a problem if the creator intends to troll for fun, the original creator for protection must have a scrypt monitoring the withdrawals to nullify the lucky and then troll the winner, just like in 66?  That's why my withdrawal method is private and very well formulated, where no one can override it with higher rates, my TX is strong. who did all this to troll fools... maybe
member
Activity: 348
Merit: 34
https://youtube.com/shorts/90xUq586nbQ?si=kYHwfSsfR0H3U5Ic
Above video is about problem and solution
You can fit this solution to ecc, simple, ecc problem can solve, it's all about math

Ring = privkey
Rope = bit range
Stick = N range
jr. member
Activity: 42
Merit: 0
I have read all the posts on this thread from the beginning......

I appreciate your enthusiasm for cryptography and problem-solving, and I encourage you to channel this interest into learning more about how these systems work or contributing to projects where analytical thinking can shine. Unfortunately, the BTC puzzle is a deep rabbit hole that is unlikely to yield results, no matter how much effort is put into it. Even with tools like Kangaroo and 800 RTX 4090 GPUs working in parallel, it would take year to solve anything in the 135-bit range—and that is still far below the actual full search space for Bitcoin keys.
member
Activity: 348
Merit: 34
Hi guys, you are trying to find private keys here, but it is probably much more difficult than picking a password to a wallet. The main thing in this case is confidence that the wallet is genuine. I spent a lot of time to learn how to distinguish genuine wallets from fake ones and here's what I'll tell you guys, I checked more than 700 wallets and found only 17 genuine wallets among them, 3 of them have a balance of less than 1 BTC, the rest of the genuine wallets have a balance from 1 to 50 coins. If anyone is interested in knowing which genuine wallets I found, write your questions and I will answer them in private messages.
I think you are talking about wallet.dat,  circulation over internet forums, and password protected etc, you have dat files and no password maybe,
If you like talk above, it's not right thread for this topic
Related wallet recovery threads exist in this forums too
Better talk at those threads
Thankx
?
Activity: -
Merit: -
Not everyone is a fucking crackpot. I have read all the posts on this thread from the beginning and dare I say there are a few. Now I didn't say I can reverse the SHA256, because I can't. Just because you haven't been able to see how to narrow it down doesn't mean it don't exist. I said I found a way to reduce the key range from 100% key range down to 1-2%. If you are such an expert then you would have found it as well. Look at all the plethora of information that has been given for use to do that. But that is still 1-1.5 quintillion keys. With everyone running cloud searches, gpu searches, etc. it won't be long before someone finds it. I don't have access to resources for doing computer search.

All I was seeing is if someone wanted to be serious about this. If you are not interested the shut the fuck up and stop being a troll. It just goes to show how insecure you are. Trying to put others down to try to make yourself bigger.

It's the "Big Man" like you hiding behind the monitor that make forums such a shitty place at times. If you were such a cryptographer then you would be trying to see if what I was saying held validity. But instead your default reaction is too put someone down.

You make me laugh. Hope you have a good day.
member
Activity: 503
Merit: 38
Will the Bitcoin puzzle transaction ~32 BTC prize prove to be solvable eventually? Would a team of people from MIT (for example) have a much better chance than the average person?


In essence, this entire thread is not just about a puzzle; it’s a carefully constructed experiment, where the millionaire is testing how far people will go for intellectual prestige, validation, and possibly even the idea of an unattainable goal. There are no shortcuts in this realm. Advanced hardware and skilled developers come at a cost, and there are no ingenious tricks or mystical solutions that can bypass that investment.

A team from a highly regarded institution like MIT might have an advantage due to their access to advanced resources, knowledge, and collaborative problem-solving skills. However, success demands both time and dedication as well as common sense. I'm not sure that a normal person has so much hardware. It is unprofitable even if you are a multimillionaire.
?
Activity: -
Merit: -
maybe bitcoin could prevent this by updating code?
if seen in mempool, cant replace if receiver changes.
ofcourse, this would no yet prevent it if using mara with luck

to block mara, we would need double size blocks(?) when tx confirmed only after 2 blocks.
then it would be consensus of 2 pools to accept block.
very unlikely mara hits 2 blocks in a row.

just thinking..
member
Activity: 239
Merit: 53
New ideas will be criticized and then admired.
okay I'm going to do a tx today 67 bit ok by menpool I want to see if someone can steal from me, maybe I'll leave the rate low.

if the tx cannot be replaced (according to you), make a tx with an absurdly low fee and publish the private key here after transmitting it, if nobody manages to replace it, you will have credibility.
?
Activity: -
Merit: -
okay I'm going to do a tx today 67 bit ok by menpool I want to see if someone can steal from me, maybe I'll leave the rate low.

albertobsd can you do a native update like this it would be cool I did it in python to make management easier to relax


https://www.youtube.com/shorts/DRvn8l1sUZI




full member
Activity: 1232
Merit: 242
Shooters Shoot...
Do you think that I did that test manually?

No, it was done with a script without use of any external wallet, TX was crafted from zero and broadcasted with API


Also, perform it manually and transmit the transaction manually, using a basic approach. You can also use API for this purpose.


You might see something wrong, so let's do tests, you and I in private, if you want to share this, I'll also show you what I did, but we'll talk in private and I don't want to spread free isos.

mjojo

Thank you for slap his bigmouth

My friend, I wasn't saying that it's not possible to find the public key in the signature. That's why I left it there, because I already know that—I'm not stupid. The message I posted is exactly what I wanted to show and test. It was my transaction, and I don't believe anyone can override it with RBF using my method. I think it's difficult because I tried it myself, and my friends also attempted updates, but it just doesn't work. CPFP works from the part that receives (the wallet) to the sender. Based on this, I developed a good script. That's it, my friend. As for extracting the public key from the signature, that's easy, of course. That wasn't the purpose of my post. Hahaha.

Why, after sending it with my transaction, was nobody able to override it, not even with maximum fees, It really worked. The only thing that accelerated it was CPFP from others, separately, to speed it up. I set the fee very low, block with a low value, and no one could override it with RBF, as that function is completely blocked. However, I adapted a few things to make it work. I studied the DER signature and its correct sizes. Even the transaction itself must have the correct size to function properly.



Ok, please take your "method" to the grave. No one is interested and even though people will tell you they have done what you say is not possible, you still talk about, well, nothing. This is how you lose any credibility. Stop while you are behind.
?
Activity: -
Merit: -
Do you think that I did that test manually?

No, it was done with a script without use of any external wallet, TX was crafted from zero and broadcasted with API


Also, perform it manually and transmit the transaction manually, using a basic approach. You can also use API for this purpose.


You might see something wrong, so let's do tests, you and I in private, if you want to share this, I'll also show you what I did, but we'll talk in private and I don't want to spread free isos.

mjojo

Thank you for slap his bigmouth

My friend, I wasn't saying that it's not possible to find the public key in the signature. That's why I left it there, because I already know that—I'm not stupid. The message I posted is exactly what I wanted to show and test. It was my transaction, and I don't believe anyone can override it with RBF using my method. I think it's difficult because I tried it myself, and my friends also attempted updates, but it just doesn't work. CPFP works from the part that receives (the wallet) to the sender. Based on this, I developed a good script. That's it, my friend. As for extracting the public key from the signature, that's easy, of course. That wasn't the purpose of my post. Hahaha.

Why, after sending it with my transaction, was nobody able to override it, not even with maximum fees, It really worked. The only thing that accelerated it was CPFP from others, separately, to speed it up. I set the fee very low, block with a low value, and no one could override it with RBF, as that function is completely blocked. However, I adapted a few things to make it work. I studied the DER signature and its correct sizes. Even the transaction itself must have the correct size to function properly.

newbie
Activity: 22
Merit: 0
Quote
I am selling it for 1 BTC
lol
Quote
I am a math guy and am disabled.... Now I have finally found a pattern
and lol
I rarely laugh reading things but I swear you guys provide some level of entertainment not found elsewhere.


 laughter is the universal equation for happiness!   Grin


Your equation for happiness is something we can all understand.  Smiley

Will the Bitcoin puzzle transaction ~32 BTC prize prove to be solvable eventually? Would a team of people from MIT (for example) have a much better chance than the average person?
newbie
Activity: 15
Merit: 0

I tried to recover the public key using the following python script, but it seems to have generated incorrect public key. I think I didn't understand how the 65-byte signature operates. Perhaps albert can explain in detail how to recover the public key from the signature? Thanks a lot.


Code:
>>> import secp256k1 as ice
>>> ice.verify_message('1BY8GQbBPGYEC58s9ckHmqf9doEX9mCKPR', 'H0J+wKAwGGMiVWHLuwEaZpLePkQAYx0HoTVvEZJu/wx3N6QYbUJMuajlj//yyjD7WLh42Ydlg+/vTJm50Td1LS0=', '15/01/2025 hotmoney')

Code:
Rpoint: 04427ec0a0301863225561cbbb011a6692de3e4400631d07a1356f11926eff0c77e31f0022894d9b6fdea00a252d803ef06bf9238b74e1eb7537e87a60c7684558
r : 427ec0a0301863225561cbbb011a6692de3e4400631d07a1356f11926eff0c77
s : 37a4186d424cb9a8e58ffff2ca30fb58b878d9876583efef4c99b9d137752d2d
z : 66c9d17af97088340e7894865731ad6e37642ab797ce58ecc650f351f5349f6
PubKey : 032145f843d3c91c3795a75da5ea46796070d18de51a7d0c0b68eb2f30162b169f
Address : 1BY8GQbBPGYEC58s9ckHmqf9doEX9mCKPR

signature is Valid and Address is Verified.
Thank you for slap his bigmouth
hero member
Activity: 862
Merit: 662
AlbertoBSD  Ok, but you should not use Electrum or any type of wallet to send your transaction.

Do you think that I did that test manually?

No, it was done with a script without use of any external wallet, TX was crafted from zero and broadcasted with API
?
Activity: -
Merit: -
Rpoint: 04427ec0a0301863225561cbbb011a6692de3e4400631d07a1356f11926eff0c77e31f0022894d9 b6fdea00a252d803ef06bf9238b74e1eb7537e87a60c7684558
r : 427ec0a0301863225561cbbb011a6692de3e4400631d07a1356f11926eff0c77
s : 37a4186d424cb9a8e58ffff2ca30fb58b878d9876583efef4c99b9d137752d2d
z : 66c9d17af97088340e7894865731ad6e37642ab797ce58ecc650f351f5349f6
PubKey : 032145f843d3c91c3795a75da5ea46796070d18de51a7d0c0b68eb2f30162b169f
Address : 1BY8GQbBPGYEC58s9ckHmqf9doEX9mCKPR

signature is Valid and Address is Verified.

correct and very easy to get the public key of a signature very well..

BY8GQbBPGYEC58s9ckHmqf9doEX9mCKPR
Priv (WIF): p2pkh:KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qb6HvreijptJALBmpVhz
Priv (HEX): 0x000000000000000000000000000000000000000000000006681DD5862D6E7B2E

032145f843d3c91c3795a75da5ea46796070d18de51a7d0c0b68eb2f30162b169f



Eu já fiz esse teste e ele ainda é Substituível, eu fiz 10 CPFP em uma fileira

A (TX Original)-> B (CPFP )-> C (CPFP )-> D (CPFP )-> E (CPFP )-> ....

e então

A (TX RFB) -> X

E se a taxa for maior e os mineradores incluírem isso em seu bloco e minerarem, então todos os CPFP anteriores são Substituídos, pois nunca aconteceram em primeiro lugar.

Mas, novamente, isso depende dos mineradores e da sorte de que seu TX seja confirmado primeiro (isso está fora do seu controle)



AlbertoBSD  Ok, but you should not use Electrum or any type of wallet to send your transaction. It must be done completely manually, step by step, and with modifications to some parameters, as Electrum does not fully disable the RBF. I set a super low fee there, and it remained unconfirmed for 24 hours. My friends and I tried to replace it with various bots, and I even tried overwriting it with the maximum fee using Electrum and manual methods, but nothing worked. The only solution was if the recipient’s wallet (the destination wallet) supported the CPFP fee.





Pages:
Jump to: