They did a good job optimizing the contract to use minimal gas upon deployment, but maybe that's not the best thing to optimize for contracts that will hold millions of dollars. They also don't appear to have gotten fresh external audits when they made changes.
Incidentally, there are other Ethereum languages in development that are better suited for formal verification, including Viper and Bamboo.
We talking about >100$ here?
(I also think you'd be better off using a different wallet entirely; Parity's isn't the most popular anyway, especially lately.)
I have no strong opinions on Solidity, btw - just generally interested in people's views on developer experience.
1) There's no need for a garbage collector, because there's very limited computation within each transaction, and complete cleanup of non-permanent storage after each one.
2) The author doesn't appear to realize that the list of mis-compilation bugs is a list of fixed bugs. The list is only available in json because its purpose is just to let tools display warnings for obsolete compilers.
3) I have a hard time dreaming up an application that would need a string library in Solidity, because storage on chain is very expensive, and you only need to compute things on chain that require global consensus. Strings on chain are usually very short and static; for longer stuff we just store their hashes on chain and use client code to manipulate the strings.
What the smart contract can't do is ensure that the funded project actually delivers on its promises. But neither can Kickstarter...
The advantage would be avoiding the 5% Kickstarter fee + (according to Wikipedia) 3% to 9% payment processor fees. The computation fees charged by the blockchain are presumably well below that. [On the other hand, maybe they aren't. Calling this suicide function on the Parity multi-sig wallet apparently cost 27 cents. If the crowdfunding contract is more complex, and submitting a payment costs, say, a dollar, then the average contribution would have to be on the order of 10 dollars to break even vs. Kickstarter.]
What value?
> no one decides if the project delivered properly
Same as Kickstarter. They release the funds to the creator after a certain deadline, after which they do not get involved in deciding whether the project delivered. Which is what I wrote above.
EDIT: I should add that I do very much agree with the general point you're not making: Smart contracts are only smart inside the closed world of the computer system running them; they don't magically know things about the "real world", and they cannot affect the "real world". I agree that many smart contract aficionados act as if they didn't understand this basic point. That's why I deliberately chose the Kickstarter example, which is also a system that does not make guarantees about the real world once payments have been made.
(Sorry, the website won't display anything here.)
You can sign-up for the cover up to 15 days before departure. Apparently you input your flight number and credit card details. If the flight ends up being delayed more than 2 hours, their smart contract triggers an automatic payout to your card, no questions asked.
I suppose in this case the nice thing with the smart contract (assuming it works as advertised) is it's simple and verifiable. You know you'll get an instant payout if publicly available data shows your flight was delayed > 2 hours (regardless of reason). There's no human in the loop and no signed contract with weasel words that gets AXA off the hook from paying.
Yes, and it's sad that they continue to try to patch around and nibble at the problem. The foundation is borked, start over.