[Bitcoin-ml] Malleability Fix SIGHASH_ANYOUTPUT

Steve Shadders shadders.del at gmail.com
Mon Oct 9 11:54:28 UTC 2017


There isn't really any reason that Tomas's concept of immutable txid needs
to be baked into the protocol. There is nothing stopping nodes or payment
meta data services (that might evolve in the future) maintaining a publicly
available index of immutable txids calculated the same way Tomas's malfix
does. This would serve the purpose you describe perfectly well.

I also disagree with calling malleability a bug. It is a property of
Bitcoin. Yes it prevents certain edge cases. But how do we know it doesn't
enable others? When someone makes the case that they need immutable txids
we should consider it. Conversely we shouldn't close off the possibility
that someone will make the case that they need mutability when viable
alternatives exist for most known (and used) use cases...

On 9 Oct 2017 7:28 PM, "Tom Zander via bitcoin-ml" <
bitcoin-ml at lists.linuxfoundation.org> wrote:

On Sunday, 8 October 2017 19:17:19 CEST Tomas via bitcoin-ml wrote:
> I don't see a problem with transaction malleability if you publish
> transactions on-chain.

This is an interesting point of view. I definitely think you are quite wong
in that regard.

I'm not going to argue that malleability is a big thing that needs fixing as
soon as possible, as we know its not really high on the priority list as
many other things are in need of being done first.
But one thing is very clear in my mind, IT IS a bug in the protocol that
needs fixing. (at least opt-in).

Let me give you a simple usecase where this is relevant. One that is often
overlooked by developers because they focus on bitcoin technology only,
forgetting how the rest of the world works today,


Today we have lots of companies that cash a check or take a bank-transfer
every month or so to get paid. Lets take as an example a building-society.
One that owns various flats or buildings and rents them out to a large
number
of tenants.
Their current system is one where they have simple software to monitor the
payment history of every tenant. They briefly connect to the bank to get new
incoming payments once a day or so.
The information they get from that will get pushed into their administration
software. That software will send payment reminders letters etc.

Now imagine a good portion of the people will want to start paying with
Bitcoin instead.

If malleability is a problem we have several ways that this can be
implemented. Without exception they need either an external company doing
the payment processing or they need an actual full node on site to monitor
the traffic or create new incoming addresses.
Both of these solutions are not acceptable for the majority of companies.
They require a huge investment in both trust and infrastructure.

If malleability if fixed, on the other hand, stuff suddenly gets dead
simple.
The building society puts out one address for all incoming payments.
Probably one address per month. for all tenants. Each tenant sends their
payment and communicates the txid they used to the building society.
Naturally wallets need to be updated to show the txid before sending the
transaction to the network, but this is a rather low effort fix, don't you
think so? (full node wallets actually already do that).
Once a day the building society connects to an online API the same way they
connect to the bank. They check if the incoming transactions actually got
confirmed and are the right amount.
Simple to add to most existing software.
Practical because the company hardly needs to change their ways of working.


In short, malleability takes away a rather large portion of usability that
people currently have in actual normal banking. Which is that a specific
transaction can be identified. Normal banking does this with a comment, we
use a transaction-id.
To not fix this means we force people to jump from zero crypto currency all
the way to being a very involved crypto-currency company in one go. And in
real life that's just not how things work.

Fixing malleability allows people to have more certainty on some of the
simple things in Bitcoin.
Keeping Bitcoin simple for average people is certainly something I think is
valuable.

--
Tom Zander
Blog: https://zander.github.io
Vlog: https://vimeo.com/channels/tomscryptochannel
_______________________________________________
bitcoin-ml mailing list
bitcoin-ml at lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-ml
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-ml/attachments/20171009/42c8374a/attachment-0001.html>


More information about the bitcoin-ml mailing list