...

adrian_b

14286

Karma

2017-02-07

Created

Recent Activity

  • BLAKE3 and other parallelizable hashes do exactly this, but using a somewhat more complex algorithm, which ensures that the result is a secure hash.

    Such an algorithm has been first published by Ralph Merkle, in 1979, but it has been improved later:

    https://en.wikipedia.org/wiki/Merkle_tree

    For security, it is necessary to use different hash functions at different levels in the hash tree, but this is trivially achieved by using the same hash function, but also hashing some extra distinguishing data besides the hashes from the previous level.

  • The sensitivity of the eyes is indeed matched to the available light.

    However the causal dependencies are more complex than this. If the available light would have been from another range of the possible frequencies, the eyes could not have used the same kinds of photoreceptors that are used now in the eyes of all animals.

    For instance, if the available light would have been only infrared, then photo-chemical reactions could not have been used for detecting it, but such light could have been detected by its warming effect, like some snakes do for detecting infrared.

    If our star would have been much colder, with negligible visible light, then such light might have been not usable for splitting water and generating free oxygen in the atmosphere. In such a case, the planet would have remained populated only by anaerobic bacteria and viruses, like in the first few billion years of Earth's history.

  • The visible range corresponds to the typical energy differences between different states of an outer electron in a molecule, which also correspond to the typical energy differences between the input and output molecules of a chemical reaction.

    (The near infrared range corresponds to the typical energy differences between different vibrational states of the atoms in a molecule. Such energy differences are smaller than the energy differences encountered in most chemical reactions, which involve extracting or adding atoms from/to the molecule, which obviously needs more energy than the vibration of those atoms, when they remain bound in the molecule.)

    Thus it is normal and expected that the output molecules of an exothermic chemical reaction may be in an excited state from which they can decay to their ground state by emitting light exactly in the visible range.

    As long as it is living, in any organism a lot of exothermic chemical reactions happen. In many cases the energy produced by those reactions is used for something useful for the organism (i.e. the excited output molecules transfer their surplus energy to other molecules), but it also may escape as emitted light, reducing the efficiency in the use of the energy produced by an exothermic chemical reaction to less than 100% (the efficiency is also reduced when the energy of the excited molecule is transferred to other molecules than those intended, which eventually results in warming the environment instead of doing useful work).

  • Unlike SHA-256, BLAKE3 can be evaluated in parallel, so the speedup factor over SHA-256 depends on the number of available CPU cores.

    While BLAKE3 can be many times faster than SHA-256, by consuming many times more power, the amount of work for computing a hash differs much less between the 2 hashes than the execution time on a multi-core CPU.

    The speed difference quoted by you for a single thread is caused by your Skylake-based CPU, which does not have the SHA hardware instructions.

    Moreover, even the programs that claim to use the SHA hardware instructions may have a speed several times lower than allowed by the hardware, because the more recent CPUs, e.g. from the last 4 years, have wider SHA instructions than the older CPUs, but the programs must have been compiled to support such CPUs, e.g. Zen 3 and newer or Alder Lake and newer.

  • Hardware SHA-1 and SHA-256 are now supported by many CPUs, many of which are already older than a decade, i.e. almost all 64-bit ARM-based CPUs, all AMD Zen, many generations of Intel Atom and the Intel Core CPUs starting with Ice Lake.

    The only CPUs still likely to be in use and without SHA support are the Intel Core CPUs until and including the Skylake derivatives (i.e. up to Comet Lake, i.e. up to 6 years ago).

    The Intel Atoms have received SHA support many years before Intel Core, because they competed with ARM, which already had such support.

    The support in Intel Core has been added due to AMD Zen, but the products with it have been delayed by the failure of Intel to achieve acceptable fabrication yields in their 10-nm CMOS process, before 2019/2020.

HackerNews