Bitcoin Forum
April 23, 2024, 04:32:02 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: What's the best way forward regarding malleability?
Man up and face the problem - 20 (80%)
Nu-uh! Deny it like a 5-year old - 5 (20%)
Total Voters: 25

Pages: [1]
  Print  
Author Topic: Malleability in a nutshell  (Read 1642 times)
DrHaribo (OP)
Legendary
*
Offline Offline

Activity: 2730
Merit: 1034


Needs more jiggawatts


View Profile WWW
February 11, 2014, 11:02:23 PM
 #1

Me: I'd like to send some coins.
bitcoind: Sent in transaction ABC123.
Me: How is transaction ABC123 doing? Any confirmations yet?
bitcoind: Are you making things up? There's no such transaction.
Me: Huh

(The transaction did go through but is now called XYZ789)

Now you have two options:

A) Bitcoin isn't perfect, but we can make it better.

B) Bitcoin is perfect. You are the problem. YOU'RE STUPID!

I see many people already chose attitude B.

It's the wrong choice.

▶▶▶ bitminter.com 2011-2020 ▶▶▶ pool.xbtodigital.io 2023-
1713846722
Hero Member
*
Offline Offline

Posts: 1713846722

View Profile Personal Message (Offline)

Ignore
1713846722
Reply with quote  #2

1713846722
Report to moderator
1713846722
Hero Member
*
Offline Offline

Posts: 1713846722

View Profile Personal Message (Offline)

Ignore
1713846722
Reply with quote  #2

1713846722
Report to moderator
1713846722
Hero Member
*
Offline Offline

Posts: 1713846722

View Profile Personal Message (Offline)

Ignore
1713846722
Reply with quote  #2

1713846722
Report to moderator
If you see garbage posts (off-topic, trolling, spam, no point, etc.), use the "report to moderator" links. All reports are investigated, though you will rarely be contacted about your reports.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
February 11, 2014, 11:45:24 PM
 #2

Actually the solution from MtGox is relatively reasonable... there might still be some issues where parts of the actual transaction can be changed and its signature is still valid (as far as I understand it) but in total calling a checksum of the inputs "transaction id" instead of a checksum of the whole signed transaction might be a good thing to have.

All in all, bitcoind should return something that is guaranteed to be able to be found again after submitting a transaction to it, not a TXID that in the end does not mean what people apparently thought it means (known malleability or not).

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
leannemckim46
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250


View Profile
February 12, 2014, 01:19:55 AM
 #3

So mtgox was right, time to switch to litecoin?

██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
██████████████████████
RISE
kano
Legendary
*
Offline Offline

Activity: 4466
Merit: 1798


Linux since 1997 RedHat 4


View Profile
February 12, 2014, 02:59:56 AM
 #4

Sigh - or the idiots who ignored the issue that's been known for almost 2 years could have written their site code that does payouts to handle it so that it's not an issue ...

Discussed almost 2 years ago:
https://bitcointalk.org/index.php?topic=8392.0

Check the history - this page was added a year ago:
https://en.bitcoin.it/wiki/Transaction_Malleability

Yes, the bitcoin devs should fix it.
No, the idiots out their complaining about it can also fix it by not depending on txid, as they should have known for years ...

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
DrHaribo (OP)
Legendary
*
Offline Offline

Activity: 2730
Merit: 1034


Needs more jiggawatts


View Profile WWW
February 12, 2014, 07:35:19 AM
 #5

Yes, the bitcoin devs should fix it.

This was my point. Many would disagree with you.

It's like the time when one of the iPhone models had antenna problems. Apple told people there was nothing wrong with the phone, the problem was actually the low IQ of the users, they didn't understand they needed to hold the phone a certain way for it to work. Oh, that's right, Apple never said that.

▶▶▶ bitminter.com 2011-2020 ▶▶▶ pool.xbtodigital.io 2023-
Lethn
Legendary
*
Offline Offline

Activity: 1540
Merit: 1000



View Profile WWW
February 12, 2014, 07:41:14 AM
 #6

Damn, are other people confirming it now? The Bitcoin deve team lets be honest, hasn't really ever had a challenge like this before, I think we need to make a thread to report the problems and test everything if it really is an issue.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
February 12, 2014, 07:45:46 AM
 #7

It's like the time when one of the iPhone models had antenna problems. Apple told people there was nothing wrong with the phone, the problem was actually the low IQ of the users, they didn't understand they needed to hold the phone a certain way for it to work. Oh, that's right, Apple never said that.

Worst analogy ever.
http://www.engadget.com/2010/06/24/apple-responds-over-iphone-4-reception-issues-youre-holding-th/
http://www.cnn.com/2010/TECH/mobile/06/25/iphone.problems.response/
http://www.pcmag.com/article2/0,2817,2365705,00.asp
http://www.wired.com/gadgetlab/2010/06/iphone-4-holding-it-wrong/
stdset
Hero Member
*****
Offline Offline

Activity: 572
Merit: 506



View Profile
February 12, 2014, 11:16:39 AM
Last edit: February 12, 2014, 01:27:05 PM by stdset
 #8

So mtgox was right, time to switch to litecoin?
Bitcoin #9 has all the same weaknesses as Bitcoin and, of course, as Bitcoin #99, #999 etc.

prezbo
Sr. Member
****
Offline Offline

Activity: 430
Merit: 250


View Profile
February 12, 2014, 11:23:39 AM
 #9

Sigh - or the idiots who ignored the issue that's been known for almost 2 years could have written their site code that does payouts to handle it so that it's not an issue ...

Discussed almost 2 years ago:
https://bitcointalk.org/index.php?topic=8392.0

Check the history - this page was added a year ago:
https://en.bitcoin.it/wiki/Transaction_Malleability

Yes, the bitcoin devs should fix it.
No, the idiots out their complaining about it can also fix it by not depending on txid, as they should have known for years ...

It has suddenly become a very different issue from the one mtgox mentioned. Lets say you have 10 btc in an output. You choose to spend 1 btc, 9 btc is sent back to you as change. Let's mark this as tx1. In tx2, you use that 9 btc output and spend it, this can be done without it ever being confirmed because there is not logical anyone would double spent their own change, this is how (all?) the majority of wallets work. Suddenly someone changes the signatures from tx1, changing it's hash, and that tx1_ gets into a block. Tx2 is invalidated since internally it refers to tx1's hash and not tx1_'s hash. This is why tx id has to be fixed in a way it always remains the same. Afaik, sipa already made some good progress on that front.
Kazimir
Legendary
*
Offline Offline

Activity: 1176
Merit: 1001



View Profile
February 12, 2014, 02:00:47 PM
 #10

Me: I'd like to send some coins.
bitcoind: Sent in transaction ABC123.
Me: How is transaction ABC123 doing? Any confirmations yet?
bitcoind: Are you making things up? There's no such transaction.
Me: Huh

(The transaction did go through but is now called XYZ789)

Now you have two options:

A) Bitcoin isn't perfect, but we can make it better.

B) Bitcoin is perfect. You are the problem. YOU'RE STUPID!

I see many people already chose attitude B.

C) Sorry sir, you're using Bitcoin in the wrong way, 'ABC123' is not the way to identify your transaction. The actual inputs & outputs are (as in, addresses and amounts). But in order to make things as fool-proof as possible, it would be even better if we remove this malleability thing altogether, so sure, we'll remove that possibility. By the way, neither you nor Bitcoin are perfect, although be aware you're not blaming your own incorrect processing of transactions on Bitcoin supposedly being flawed. Thank you!

In theory, there's no difference between theory and practice. In practice, there is.
Insert coin(s): 1KazimirL9MNcnFnoosGrEkmMsbYLxPPob
bitlancr
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


View Profile
February 12, 2014, 02:16:59 PM
 #11

C) Sorry sir, you're using Bitcoin in the wrong way, 'ABC123' is not the way to identify your transaction. The actual inputs & outputs are (as in, addresses and amounts). But in order to make things as fool-proof as possible, it would be even better if we remove this malleability thing altogether, so sure, we'll remove that possibility. By the way, neither you nor Bitcoin are perfect, although be aware you're not blaming your own incorrect processing of transactions on Bitcoin supposedly being flawed. Thank you!

You're saying the TxID shouldn't be used to identify transactions? The Transaction IDentifier shouldn't be used to identify transactions?  Cheesy

Your argument might have a little merit if the TxID wasn't used by Bitcoin itself to identify transactions in the Merkle tree and inputs!
Coiner.de
Hero Member
*****
Offline Offline

Activity: 773
Merit: 531



View Profile
February 12, 2014, 02:26:50 PM
 #12

And bitcoin ( the reference implementation ) itself is using the TxID to spend unconfirmed change.  Shocked
It is really sad how many people still don't get this.
Kazimir
Legendary
*
Offline Offline

Activity: 1176
Merit: 1001



View Profile
February 12, 2014, 02:30:18 PM
 #13

You're saying the TxID shouldn't be used to identify transactions? The Transaction IDentifier shouldn't be used to identify transactions?  Cheesy

Your argument might have a little merit if the TxID wasn't used by Bitcoin itself to identify transactions in the Merkle tree and inputs!
Sorry, bad wording from my side. I meant: TxID isn't the way to verify transactions. Or to identify bitcoins (i.e. to which address they have or have not been sent).

In theory, there's no difference between theory and practice. In practice, there is.
Insert coin(s): 1KazimirL9MNcnFnoosGrEkmMsbYLxPPob
DrHaribo (OP)
Legendary
*
Offline Offline

Activity: 2730
Merit: 1034


Needs more jiggawatts


View Profile WWW
February 12, 2014, 04:39:48 PM
 #14

It's like the time when one of the iPhone models had antenna problems. Apple told people there was nothing wrong with the phone, the problem was actually the low IQ of the users, they didn't understand they needed to hold the phone a certain way for it to work. Oh, that's right, Apple never said that.

Worst analogy ever.
http://www.engadget.com/2010/06/24/apple-responds-over-iphone-4-reception-issues-youre-holding-th/
http://www.cnn.com/2010/TECH/mobile/06/25/iphone.problems.response/
http://www.pcmag.com/article2/0,2817,2365705,00.asp
http://www.wired.com/gadgetlab/2010/06/iphone-4-holding-it-wrong/

Lol. I must admit, I did not do my research there. Apple actually responded exactly the same way the Bitcoin community is responding about malleability. I guess it's a normal human reaction. If someone says something negative about something you love then they are always wrong. Per definition.

B) Bitcoin is perfect. You are the problem. YOU'RE STUPID!

C) Sorry sir, you're using Bitcoin in the wrong way, 'ABC123' is not the way to identify your transaction. The actual inputs & outputs are (as in, addresses and amounts).

You just chose B but wrote the text in a different way. The fact that the transaction identifier cannot identify a transaction is a bad thing. It doesn't matter what you call it. I'm pretty sure it is a bug and unintentional. But even if you call it a feature and say it is what Satoshi intended all along, that's all irrelevant.

bitcoind gives you a txid when you send coins. bitcoind has "gettransaction <txid>" to look up transactions. This being broken means that it is all there as a trap to cause you grief. And as a great tool for social engineering to steal your coins. What you are basically saying is that you want bitcoind to contain broken tools so that people will have problems and lose lots of money, and then you can later laugh at them and call them stupid. I don't think that's a good future for bitcoin.

Insisting that something bad is good - that's NOT how you build a good product.

Giving people a broken tool and calling them stupid when they struggle to use it - that's NOT how you promote a product.

▶▶▶ bitminter.com 2011-2020 ▶▶▶ pool.xbtodigital.io 2023-
Justin00
Legendary
*
Offline Offline

Activity: 910
Merit: 1000


★YoBit.Net★ 350+ Coins Exchange & Dice


View Profile
February 12, 2014, 09:08:59 PM
 #15

hmm so to do this? someone waits for some new unconfirmed transactions to show up.. then the send the same ones with some modified data into the network.. and that screws up the original tx's ??

i dont want to do it.. just curious...

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
February 12, 2014, 09:18:21 PM
 #16

bitcoind gives you a txid when you send coins. bitcoind has "gettransaction <txid>" to look up transactions. This being broken means that it is all there as a trap to cause you grief. And as a great tool for social engineering to steal your coins. What you are basically saying is that you want bitcoind to contain broken tools so that people will have problems and lose lots of money, and then you can later laugh at them and call them stupid. I don't think that's a good future for bitcoin.

Nobody competent and knowledgeable is saying mutable transaction ids are a good thing.  The trolling and clueless might but who cares.  The long term goal is immutable transaction ids but there are a lot of technical challenges.  It isn't going to be done overnight.  In the short term the way clients handle/report duplicate transactions will be improved, however the reality is that tx ids are mutable for the immediate future.  

So (and I say this tongue in cheek I have used your pool for years) you can either learn to handle mutable tx ids or you can shutdown for 6-12 months and at that point you likely will be able to rely on unconfirmed tx ids being immutable (but even then could be changed by the sender).  To make unconfirmed tx ids immutable will require a core change to the protocol.  There is still disagreement on what is the best way to achieve that goal.   Then extensive testing that will need to be done.  Miners will probably have to show support, clients will have to be soft upgraded, and a deadline put in place.  Just like adding P2SH support,  in a distributed decentralized consensus system there is no fast and easy way to make a breaking change.

So if you want to run a Bitcoin related business in 2014, mutable transaction ids are simply a reality, like the possibility of a double spend, or a 51% attack, or a DDOS attack, or a hacker breaching your hot wallet.  It is just another reality that makes all this a challenge.  I am pretty sure you understand this but for anyone else, the blockchain is the canonical reference of transactions.  Unconfirmed transactions are not guaranteed to be accepted by all nodes. The transaction ids of unconfirmed transaction being mutable are just a manifestation of that reality.

DrHaribo (OP)
Legendary
*
Offline Offline

Activity: 2730
Merit: 1034


Needs more jiggawatts


View Profile WWW
February 12, 2014, 10:10:47 PM
 #17

I can deal with mutated transactions, and I have no plans to shut down and wait for a fix. I agree that transactions are malleable today, and to run a bitcoin service today you will have to deal with that. I also agree that this is a difficult thing to fix in a good way. So it may take some time until we see a good solution. I never disagreed with any or that and I never said I, personally, had problems dealing with malleability.

What I have a problem with is all the people saying there is nothing wrong with bitcoin. Malleability is not a bug, it's just the way bitcoin works. And if it causes problems for you then the issue is your low IQ, not malleability. There are plenty of knowledgeable people saying these and similar things. In my opinion people acting this way can harm bitcoin more than malleability itself.

By the way, while we have these booby traps waiting to cause disasters for unsuspecting newbies; wasn't there someone working on a best practices guide/document for bitcoin?

▶▶▶ bitminter.com 2011-2020 ▶▶▶ pool.xbtodigital.io 2023-
Pages: [1]
  Print  
 
Jump to:  

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