Bitcoin Forum
June 22, 2024, 02:15:28 AM *
News: Voting for pizza day contest
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Bitcoin Discussion / Re: Transaction id's being changed on: February 11, 2014, 02:35:35 PM
Anyone who is affected by this issue needs to improve their software, period.

The fact that anyone other than Gox is bothered by this shows that they might have been right in claiming that more than just their implementation is susceptible.

Software that's correctly implemented in the face of transaction malleability will not be bothered by these duplicates.
2  Bitcoin / Bitcoin Discussion / Re: I'll go out on a limb - I have more coins in Gox than I care to admit ;) on: February 11, 2014, 02:19:26 PM
meanwhile - they still have my private information.
I hope they will not start selling private information to others.

I don't care if they do, as long as I get my coins...
3  Bitcoin / Development & Technical Discussion / Re: Transaction Recast - No good deed goes unpunished? on: February 11, 2014, 12:10:10 PM
Transaction recasters are a good thing. They make plainly visible an aspect of the protocol that was thus far obscure, and highlight implementations that don't cope with it properly. As long as transactions remain malleable, transaction recasting should be a permanent feature of the network, done by default for all transactions, so that people don't write software that relies on unconfirmed transaction IDs.

Apparently, even the reference client is affected, to the extent that it allows spending of a previous transaction's change based on an unconfirmed transaction ID. This has to be fixed, or else the reference client does not handle malleable transactions as properly as the developers supposed in their replies to MtGox.
4  Bitcoin / Development & Technical Discussion / Re: Is gox's "non-modifiable transaction id" a good idea? on: February 11, 2014, 11:56:20 AM
Merchants need a way to record transactions immediately. They can't just wait for several confirmations and search the blockchain for a txid. I think gox's proposal should be adopted.
Such merchants are using Bitcoin for something it was not designed to do.

Bitcoin transactions take an hour to confirm, on average.

If you want fast confirmations, you need to build a fast confirmation system on top of Bitcoin. This will likely use semi-trusted third parties that reconcile balances with one another, and can be publicly audited through the blockchain.
5  Bitcoin / Development & Technical Discussion / Re: Make malleable transactions the norm, not the exception on: February 10, 2014, 02:09:30 PM
I agree that it is a pity that the scripting system was crippled.

I think it had to be crippled once it was there. Too much complexity. It should have been just the standard transaction types to begin with. (Though I would have liked a "user data" field for extensions)


The MAST system would have been a big improvement.  You pay to a MAST hash.  All the complexity is on the spending side.
To prevent people using the MAST hashes as messages, there would need to be a way to encode pruneable data too.

I haven't put thought into this, but that does sound like it could have been an improvement. Is there a benefit to MAST over the current Pay to Script Hash concept?
6  Bitcoin / Development & Technical Discussion / Re: Make malleable transactions the norm, not the exception on: February 10, 2014, 01:55:40 PM
That isn't a reason not to try.

Yes, it is. When your intended solution may likely just create more problems than there were in the first place, it is better not to try.

Currently, at least informed people know that transaction hashes are unreliable. People who understand this are a small minority of Bitcoin users already. Now consider that you implement canonical transaction hashes, which aren't actually fully canonical. Then people rely on them because no one yet knows they aren't. Then someone figures out how to make them malleable. Kaboom.


The core problem is that the transaction hash is different from the signature hash.

The core problem, really, is that there's transaction script in the first place. This was an idiotic design decision in an otherwise brilliant protocol, and has caused nothing but grief and pain. We end up with a hobbled transaction script that can't really be used for any of the flexible purposes it was meant for, and a few hard-coded, "trusted" transaction types which don't require a script language, anyway.

If we could just define transaction hash = signing hash, that would be great. But a transaction can have many signing hashes, depending on the number of previous out points used and their pk script. Which signing hashes do we pick? We could concatenate them all, and then hash that. But then, what if a transaction is non-standard, and uses zero signatures? Then it's always malleable.

What if the signatures are of a type that doesn't sign all the new outputs, so the transaction could be disassembled, and its pieces put together to produce a different transaction that spends some of the same previous outputs? Then you can't rely on the transaction hash again, even if it's canonical.


The possibility that the EC signature is malleable can't be defended against though.

Indeed, that is one risk.


Even then, once it is discovered, a canonical version could be picked (unless you can create an large number or it is expensive).

But the entire deployed base of software will fail to do this, so for all practical purposes, you're back to non-canonical hashes again.
7  Bitcoin / Development & Technical Discussion / Re: MtGox blames Bitcoin protocol problem for BTC withdrawal issue on: February 10, 2014, 01:44:06 PM
Or - How do you get this Hash ?

Calculate it according to transaction signing rules, which are tricky. (But are implemented in the reference client, so you can copy that.)

that would not spot modifications e.g. through removing/altering an unused push from script.

? Any modification that changes the signing hash would invalidate the signature.
8  Bitcoin / Development & Technical Discussion / Re: Make malleable transactions the norm, not the exception on: February 10, 2014, 01:32:00 PM
The problem with trying to have a canonical format is that if you miss anything - anything, a single bit that an attacker can tweak without changing the hash - you're back to square one.
9  Bitcoin / Development & Technical Discussion / Re: Make malleable transactions the norm, not the exception on: February 10, 2014, 01:05:33 PM
The attack only works if the one who is attacked is unable to reconcile his accounts, that commonly leads to bankruptcy, even without Bitcoin.

Right, but in the interest of making Bitcoin safer for businesses to adopt, and thereby to increase its spread and value, let's help them avoid common pitfalls, such as relying on transaction hashes MtGox-style.
10  Bitcoin / Development & Technical Discussion / Make malleable transactions the norm, not the exception on: February 10, 2014, 12:43:15 PM
Am I the only one here who thinks the "malleable transaction" issue is being approached all wrong?

The problem isn't really that transactions are malleable, it's that people are being led to think they can identify a previously unconfirmed transaction, when it's included in the blockchain, by its unconfirmed hash. This is true in most cases, but it's not true in special circumstances, or if you're subject to an attack.

To discourage this misplaced reliance, why not request miners to always modify all transactions before including them in the blockchain? As long as a fair proportion of miners do this, it will be clear to everyone that transaction success should not be monitored by the transaction hash.

I understand that MtGox wants transactions to have some kind of hash they can unambiguously refer to even if they get modified before inclusion in the blockchain. But to achieve this, simply defer referencing the transaction hash until it's actually included in several blocks - wait a day if you need to - and then quote it to the customer. An unconfirmed transaction hash is not admissible as evidence of payment before inclusion in the blockchain, anyway.

MtGox can track transactions internally via the actual transaction script hash that they signed (as opposed to hash of the entire encoded transaction).

Given the complexity of Bitcoin transaction script, coming up with a non-malleable transaction hash to cover all transactions (not only the few standard types) is futile. If we only standardize canonical hashes for standard transactions, the chance remains that something will be overlooked, either by the agreed-to standard or by a particular implementation, and the problem will rear its ugly head again.
11  Economy / Service Discussion / Re: Mt Gox Slow to send BTC? on: February 06, 2014, 08:43:48 PM
I can't understand why the 0.8 BTC is not showing up, there have sent me a confirmation email with the "transaction hash".
If they have generated a transaction hash, then surely it has been processed -yes?
No, creating a transaction doesn't mean it gets processed. The problem is that their software is buggy, and has been buggy for what seems like forever. It tends to create invalid transactions that get rejected by the network. The problem was never too bad, so they didn't bother to fix it, until recently it started snowballing due to unknown reasons, and currently as much as 85% of the transactions their system generates are invalid and rejected by the network.

All of the above is fact, what's subject to interpretation is what were the circumstances that led to this issue snowballing. Options to pick from are (1) it happened by accident, and was eventually bound to happen as long as they didn't bother to fix the problem, or (2) they are intentionally triggering the bug to hide a big loss of Bitcoins (stolen by insider / hacked by outsider / lost keys to them / whatever).

Option 2 is why everyone (like me) has jumped to try withdrawing their balance, making it a run on MtGox, and probably making the problem worse. (But if the worst comes to pass, it's better to get 15% of your Bitcoins than nothing)
12  Economy / Service Discussion / Re: Mt Gox Slow to send BTC? on: February 06, 2014, 11:42:26 AM
i think now the determined wining rate is 0%, none of my 3 re-withdrawals get through today !

I initiated 73 withdrawal transactions today, 11 of them successful. About a 15% success rate.
13  Economy / Service Discussion / Re: Broken BTC Withdrawals on Gox -- 2230 EST, 28 JAN: 1654 broken TX!! on: February 06, 2014, 08:35:22 AM
Quote
It is hard to believe that they are having a genuine software problem like this after functioning for nearly 4 years.
A quick search reveals they've had these problems since ever (both duplicate spends and ignoring coinbase maturity).

It's possible that more people are mining to their MtGox addresses now, triggering the coinbase maturity problem.

It's possible also that the two problems are related (failed transactions lead to more failed transactions), and that the problem is exacerbated now that it has caught the public eye and everyone (including me) has rushed to withdraw their BTC.

That still doesn't help us if they lack the technical competence to solve this. Their inability to effect a fix is astounding.
14  Economy / Exchanges / Re: MtGox withdrawal delays [Gathering] on: February 06, 2014, 08:27:34 AM
Since they resumed withdrawals, but apparently without fixing any of the issues causing transactions to fail, I attempted another 34 transactions.

Of those, 6 went through. The other 28 are stalled.

That's about an... 82% failure rate. :/
15  Economy / Exchanges / Re: MtGox withdrawal delays [Gathering] on: February 05, 2014, 08:51:22 PM
I was able to find my missing transactions in MtGox's feed, and from a cursory investigation, it seems like the sky might not yet be falling. (I.e., the cause might not be MtGox's insolvency, but rather incompetence, which means we might eventually see our Bitcoins.)

It turns out that one of the outputs that MtGox tried to use to produce my transaction was a recently generated coinbase output which is not yet 100 blocks old - not even at this point, let alone hours earlier, when MtGox tried to spend it. Apparently, people are mining to MtGox addresses associated with their accounts, and MtGox tries to spend them after a handful of confirmations rather than 100, which coinbase outputs require.

There might be problems with other previous outputs, but this would definitely cause a transaction to stall.

I'm somewhat confident right now that this is a big technical snafu based on old bugs that MtGox hasn't bothered fixing in a while (such as the known coinbase bug and the known duplicate spend bug), but which snowballed now that many people have panicked (like I have) and tried to withdraw.

Hopefully, I'm right about this, and we'll eventually see our Bitcoins.

It's still gross incompetence and unimaginable customer service, of course.
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!