497 karma · joined April 18, 2015
Well, it turns out that the early universe went through a phase of incredible, extraordinary expansion called inflation. The inflation was boosted by something called an inflaton field, and due to quantum properties the inflaton field could spontaneously destabilize and spawn a bubble universe, each of which with a different Calabi-Yau manifold. It's possible that we are inside such a bubble universe, and outside of us the inflaton field is continuing to expand and producing more bubble universes. If this is the case, then it's not much of a surprise why our universe has the properties it does. Out of the 10^500 possibilities, a bubble universe spawned with the right Calabi-Yau manifold for life, and (unsurprisingly) we find ourselves living in that universe. This is the landscape multiverse theory. (I originally read about this theory in Brian Greene's excellent book The Hidden Reality, which describes many other multiverse theories too.)
Now, something important to note is that all this is still highly conjectural. String theory has many pleasing theoretical properties, but about zero physical evidence to support it. What then is the difference between string theory and deism? The difference is that for string theory (and more generally other multiverse theories) we actually have physical and mathematical theories that describe them. Deism doesn't. For string theory, we have papers, conferences, books, equations, and physicists and mathematicians who study this problem. We have something to work with. What do we have for deism? Well, pretty much nothing. No data, no theories, no anything. Deism is a fall-back theory when nothing else works out, and it has no theoretical roots and makes no predictions. This may change in the future, but as of now, deism is a scientific dead end. Of course, I don't know if string theory or another multiverse theory will pan out (indeed, the failure of the LHC to detect supersymmetry is raising some eyebrows), or even if deism actually turns out to be correct. However, on a scientific basis, string theory has more going for it now.
> How?
> Because the developers of the OG contract had failed to use the safe math functions included in Solidity, the language of Ethereum’s smart contracts, this allowed an unknown hacker to make an unsigned integer underflow withdrawal — giving themselves an infinite number of PoWH’s tokens to withdraw, and draining the contract.
It is absurd that one needs to opt-in to unsigned integer underflow checking, especially in a language designed for writing financial contracts.
As the barbarian in my group, I can confirm. :)
Wow. Some people have been wondering if Rust has a "killer app", but this could be it. Right now WebAssembly only supports non-GC languages (so C, C++, and Rust), and of those three Rust is the easiest to get started with. It looks really appealing.
But isn't that, like, the whole point of the language? It was literally written for moving money around. Cripes.
> Be very careful if writing real money-transfer code; do your security homework, get others to review your code, and seriously consider an official security audit or even formal verification.
Amen.
- In `for (var i = 0; i < arrayName.length; i++) { ... }`, the type of `i` will be `uint8`, because this is the smallest type that is required to hold the value `0`. If the array has more than 255 elements, the loop will not terminate.
- The `constant` keyword for functions is currently not enforced by the compiler. Furthermore, it is not enforced by the EVM, so a contract function that "claims" to be constant might still cause changes to the state.
WTF?! Trivial loops won't terminate to due (unchecked) integer overflow, and the `constant` keyword does nothing? It's a complete gong show. I'm not touching anything to do with this language with a 100 foot pool. Is the hype bubble just that big?
[0] https://news.ycombinator.com/item?id=14807779
[1] https://solidity.readthedocs.io/en/develop/security-consider...
Edit: Oops, it looks like I'm mixing up my multi-million dollar screw-ups. First in July $30 million was stolen due to the "public is default" debacle, and then the fix for that problem introduced another bug (the developers forget to call the `initWallet` function), which lead to the $280 million being frozen in November[2]. Holy crap.
"How will the world's hackers react when their source code goes offline? GitHub Down, watch it now!"