On Fri, Jan 8, 2016 at 4:50 PM, Gavin Andresen via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote: > And to fend off the messag that I bet somebody is composing right now: > > Yes, I know about a "security first" mindset. But as I said earlier in the > thread, there is a tradeoff here between crypto strength and code > complexity, and "the strength of the crypto is all that matters" is NOT > security first.
If the crypto code is properly encapsulated, the code complexity costs of choosing one hashing function over another should be non-existent. You made the space argument which is valid, but in my opinion code complexity shouldn't be a valid concern in this discussion. As a maybe uninteresting anecdote, I proposed the asset IDs in https://github.com/ElementsProject/elements/tree/alpha-0.10-multi-asset to do the same ```ripemd160 . sha256``` choice that Mark Friedenbach had proposed and I had approved for https://github.com/jtimon/freimarkets/blob/master/doc/freimarkets_specs.org#asset-tags . More humble than me, he admitted he had made a design mistake much earlier than me, who (maybe paradoxically) probably had less knowledge for making crypto choices at the low level. In the end I was convinced with examples I failed to write down for documentation and can't remember. That's not to say I have anything to say in this debate other than code complexity (which I do feel qualified to talk about) shouldn't be a concern in this debate. Just want to focus the discussion on what it should be: security vs space tradeoff. Since I am admittedly in doubt, I tend to prefer to play safe, but neither my feelings nor my anecdote are logical arguments and should, therefore, be ignored for any conclusions in the ```ripemd160 . sha256``` vs sha256d debate. Just like you non-sequitor "sha256d will lead to more code complexity", if anything, sha256d should be simpler than ```ripemd160 . sha256``` (but not simpler enough that it matters much). _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev