how to prevent double spending with key 66 67 puzzle

19 replies 102 views
bit2017Senior Member
Posts: 278 · Reputation: 1886
#1May 6, 2024, 01:17 AM
So, I was thinking about importing a private key into an Electrum wallet and then sending it to my address. Is that enough to keep it safe? Or are there bots out there that could double spend my transaction? Can anyone help me figure out how to dodge this kind of attack? I read somewhere that the second public key from keys 66 and 67 gets revealed, which could let thieves double spend and take those coins. If someone does happen to find the private key for this puzzle, what’s the best move? Which wallet should they use to securely send those coins?
4 Reply Quote Share
SwiftMatr1xFull Member
Posts: 59 · Reputation: 474
#2May 7, 2024, 06:50 PM
Your question is not clear enough for me to give an answer. Where are you importing your private keys from and where (which address) are you sending to? If you are asking if you are protected from double spending, Yes you are if you wait for 1 confirmation for lower amounts and 3 confirmations for very large amounts of bitcoin. - Jay -
0 Reply Quote Share
pixel2014Hero Member
Posts: 857 · Reputation: 4132
#3May 8, 2024, 07:54 AM
You import the private key and then send the coins to another address. Why not just sweep the private key instead. But if you just prefer to import and send the coin to another of your address, that is not also bad as long as the private key that you imported is not compromised and your if the wallet that you sent the coin to also is not compromised.
4 Reply Quote Share
bit2017Senior Member
Posts: 278 · Reputation: 1886
#4May 8, 2024, 01:24 PM
https://bitcointalk.org/index.php?topic=5454194.0 assuming someone found the private key by using kangaroo the algorithme here  https://bitcointalk.org/index.php?topic=5244940.0 anyone can get the private key with the public key public key will be known to everyone the second your transaction is shown how to prevent looters from double spend this transaction? the amount is 6.6btc or 6.7btc or 6.8btc depend on the puzzle number 66,67,68 the private key will be compromise in seconds (1s) as i mention above with kangaroo or a similar algorithme link to ann of the puzzle https://bitcointalk.org/index.php?topic=1306983.msg63933672#msg63933672 here someone talk about double spend https://bitcointalk.org/index.php?topic=5304723.msg63465321#msg63465321
3 Reply Quote Share
ape_2018Senior Member
Posts: 412 · Reputation: 1728
#5May 9, 2024, 03:04 PM
I don't really follow the Bitcoin Puzzle scene, but assuming the public keys for these particular puzzles are indeed within a range that could be derived within seconds, digaran already answered the question following the post you were linking: Though even that will not guarantee success if your adversary is able to broadcast their transaction at the roughly the same time (i.e. within seconds) as you: (1) They may attempt multiple double spends so now it just becomes a competition of who spams the network most effectively and (2) the mining pool you are colluding with may not be the one actually find the next block. Nonetheless following either approach would increase your chances over just hitting send and hoping for the best (though as mentioned above I can not asses the risk of getting looted for those particular puzzles).
4 Reply Quote Share
Posts: 35 · Reputation: 189
#6May 9, 2024, 06:13 PM
Seems kind of pointless puzzle if when you do find a solution someone else can just rob the coins off you by spam attacking and kangaroo attack. So really the whole point of the "weak" keys puzzle is flawed as many people will just be waiting for the TX to hit the network then just go after that. In essence unless your conneced to some mining pool or have connections there is zero chance your going to get a pool to include this actually you may find they try steal it from you. And yes there are people running this stuff on crazy crazy machines so there is a good chance once broadcast before it gets picked up someone else then it's fee race and yea before in the past this happened someone ended up paying a massive fee just to get what little coins they could. So don't participate unless your well linked up and know exactly how to do this stuff or you will get mugged for your find on broadcast.
3 Reply Quote Share
coin777Senior Member
Posts: 143 · Reputation: 970
#7May 9, 2024, 08:25 PM
Well, there is a way to fix it, but unfortunately, it requires OP_CAT. Because in general, if it would be possible to claim the puzzle with any public key, for which OP_HASH160 gives some value below a given target, then it would require the same effort, but could no longer be solved by Kangaroo or other similar attacks, because then nobody would know the starting point. Also, I shared the script for doing that kind of puzzle for public keys: Which means, that if you want to do the same thing with OP_HASH160, then after a small modification, it should also work, when OP_CAT would be activated: Input script: "<signature> <pubkey> <hashTail>" Output script: "<hashHead> OP_SWAP OP_CAT OP_OVER OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG" Execution: As many people already noticed, a lot of problems could be solved, if we only would have OP_CAT. But I still wonder, if it would be activated or not.
2 Reply Quote Share
mr_foxMember
Posts: 7 · Reputation: 133
#8May 9, 2024, 10:03 PM
If the pubkey is revealed,may someone use BSGS algorithm to crack the privkey and double spend the coins?
4 Reply Quote Share
HumbleBullFull Member
Posts: 54 · Reputation: 378
#9May 10, 2024, 02:31 AM
The public key is already known information, but that is not enough to crack the private key, and if someone get's access to the private key first they need to spend the coins before be able to double spend it. But looks like you are lost in the topic, what op means is. Let's say someone finds the private key from puzzles 66 and 67, if they spend the coins and make public the private key, som users could use that private key to make a double spend from the same coins and if they use bigger fees then they could steal those coins. But the way to avoid that is to not make public the private key until it has more than 1 confirmation.
3 Reply Quote Share
bit2017Senior Member
Posts: 278 · Reputation: 1886
#10May 10, 2024, 06:00 AM
thanks for replying appreciate your advice you got me wrong, the address has no Outputs tx yet #66 — Unsolved × Key range (265)...(266) Reward 6.6005673 BTC Decimal start point 36893488147419103232 = (265) Decimal end point 73786976294838206463 = (266) HEX start point 20000000000000000 HEX end point 3ffffffffffffffff Total keys 36893488147419103232 Target 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so assuming you hit the private key can you share a method or a secure way to get these coins without double spend which is faster to get confirmation sending to segwit 3 or to legacy appreciate any help and advise
4 Reply Quote Share
HumbleBullFull Member
Posts: 54 · Reputation: 378
#11May 10, 2024, 12:13 PM
Let's say you found the private key, the first step would be to change the Private key Hexadecimal format to WIF. And you DON'T want to do this with an online tool, all has to be done from your PC. For this, you can use the "Bitcoin Address Utility" https://en.bitcoin.it/wiki/Bitcoin_Address_Utility or any other tool. Then, you can import the WIF private key to a wallet like Electrum, or an online wallet like Blockchain.com But i hardly recommend to do this under a Linux Computer, if you want to do it from Windows there could be some risks. The speed of the confirmations is based on the fees you use and not on the type of address. If you want a fast confirmation then verify how much you need to pay to have a confirmation in the next block, for that you can use the next site: https://mempool.space/ Right now 58 sat/vB is a high priority. And about your double spend fear, there is no way someone else double spend the coins if they don't have the Private Keys.
4 Reply Quote Share
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#12May 10, 2024, 12:20 PM
OP is talking about "puzzle transaction" outputs with 66 and 67 bit range private key which can be easily computed from the public key. (check the puzzle's mid ranges with revealed public keys, divisible by 5) The main concern is; the public key will be made public the second he broadcast a transaction that spends that output. Thus, every users that set-up a bot to compute the private key can immediately send a replacement transaction. Unfortunately, the idea of using other scripts wont work in existing puzzles, that specific puzzle's outputs (check "details") are simple P2PKH scripts. The (new) puzzle has to be specifically made using it. I bet you already think of disabling rbf flag? However, even without opt-in-rbf flag, nodes with mempoolrbf option (full-rbf) will still accept a replacement to your transaction. And there are miners that also support full-rbf. The only safe way to do this is to ask a solo miner or pool to include the transaction without relaying it to the network, but that also comes with the issue of trusting the miner whether they wouldn't take the puzzle reward themselves or not.
1 Reply Quote Share
bit2017Senior Member
Posts: 278 · Reputation: 1886
#13May 10, 2024, 05:04 PM
seems this is the only solution so far for those key thanks
6 Reply Quote Share
coin777Senior Member
Posts: 143 · Reputation: 970
#14May 12, 2024, 03:55 PM
Well, it is also possible to share some data, which is needed to mine a block (like transaction ID, transaction Segwit ID, etc.), without sharing transaction data. Then, it would be sufficient to mine a block, but the pool wouldn't know, if it is valid or not. And also, if you want to prove, that you know the public key, but you don't want to reveal it, then you can share for example SHA-256 of that key, and then everyone can validate, that RIPEMD-160 of it is equal to the address, used in the puzzle. For example: This is the public key, which you want to keep secret: 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef3 8c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f This is what you can share to prove, that you know the public key: 261c1eb21fc4708c6acbe1cfc6d4565652e9e768b620782898936b93000a6c02 This is the hash used in the address: 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 Edit: And also, you can deposit funds on-chain, for example into "OP_RIPEMD160 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 OP_EQUALVERIFY <yourScript>", and then, it would be possible to move those coins, only if you reveal the in-between step (which is 261c1eb21fc4708c6acbe1cfc6d4565652e9e768b620782898936b93000a6c02 in that example), and "<yourScript>" could contain any conditions, like some new public key, to avoid getting those funds captured by other mining pools.
3 Reply Quote Share
bit2017Senior Member
Posts: 278 · Reputation: 1886
#15May 12, 2024, 08:10 PM
application example: this is the addr: 1GG6mV7acidZ461XvLJNcUxNicdpTFAL9Q privkey: ** pubkey(to keep secret): 024693A3AED2774C420787C8DFCFB7B04A5CC456F49D724C20B919A9E42527EE78 i share this: sha256: 07e96ec7a607ae6fef04c1a04786bdfdc1450c16388d4236e0890f100ae1c566 hash160: a764f0b1e02f57f995676949950e8d5bdc951966
0 Reply Quote Share
omega_bearFull Member
Posts: 116 · Reputation: 780
#16May 13, 2024, 01:53 AM
your example not in block chain, of course you know pubkey  address maked by youself.lol. show pubkey from this address: 1JDM9dpQvTHCCcSUan6k1st6VPzqQXTwLZ and this has160 a764f0b1e02f57f995676949950e8d5bdc951966  invalid. ?
4 Reply Quote Share
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#17May 13, 2024, 07:06 AM
Fair enough, the miner can start to "mine" the block header without the actual transaction. In the event that they produced a hash lower than the target, they wouldn't be able to broadcast the block without the actual raw transaction. (or would they? Please CMIIAW) And in mining, every millisecond counts so if the transmission of raw transaction isn't coordinated well and quick, other pools/solo miners could broadcast a block in their place. This would need a specialized software in both miner's and user's side to be automated for low latency. Good idea, but I'd like to know how can this be applied exactly to existing P2PKH outputs like what OP is pertaining to? If not possible, the creator of the puzzle may have to consider spending those weak ranges into your proposed output. Original "Puzzle" Transaction: 08389f34c98c606322740c0be6a7125d9860bb8d5cb182c02f98461e5fa6cd15 Supplementary Transaction: 12f34b58b04dfb0233ce889f674781c0e0c7ba95482cca469125af41a78d13b3 Puzzle 66 address: blockstream.info/address/13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5soPuzzle 67 address: blockstream.info/address/1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9
3 Reply Quote Share
coin777Senior Member
Posts: 143 · Reputation: 970
#18May 13, 2024, 09:56 AM
They would be able to share only the block header. Because to share the actual block, all nodes need to know all transactions behind that. So, it is a game of incentives: there are hashes here and there, and it is a matter of planning, what to share, where, and by whom. Because the reward for the puzzle is something, which can be compared with the basic block reward. So, if one side can say: "we can sweep your reward, if you give us your public key", then another side has similar tools to say "we will keep our spending transaction secret, so you won't be able to do that, and you will lose a block". So, the risk is then on both sides: a key owner risks losing the reward from the puzzle, but the mining pool also risks losing a block. Exactly. It is hard to do, but it is possible to make it trustless. For example, it is possible to spend some coins from such script, and get that transaction deeply confirmed. Then, every mining pool can see, that "the first person, who announced 'I have the public key' signal, is in transaction X, so that reward should go to address Y". And then, it is possible to prepare for claiming that reward, by creating an agreement with major mining pools, that they will accept only a transaction, sending coins to address Y. Then, if some pool will sweep those funds, it will be possible to show everyone a publicly available proof, that "funds from this puzzle were stolen by pool Z". And I bet if no pool will take a risk of destroying their reputation like that, then claiming the reward will be successful.
0 Reply Quote Share
Posts: 33 · Reputation: 177
#19May 13, 2024, 11:51 AM
Some words from satoshi himself while undercover.
6 Reply Quote Share
bit2017Senior Member
Posts: 278 · Reputation: 1886
#20May 14, 2024, 09:39 PM
no doubt on that! the speed now is crazy imagine how to reach the creator? his last appear here 2019? i believe this the only guaranteed way by giving a proof te the creator that you hit the private key and let him transfer to you
2 Reply Quote Share

Related topics