Hacker News new | ask | show | jobs
by vvpan 2096 days ago
Well, what are the fixes? Writing "smart contracts" is not meant to be for anybody but very seasoned developers. Also if you write a contract and do not get it audited by 3rd parties than nobody will (or should) take for anything other than a toy application. That's just the nature of writing immutable code that potentially transfers a value.

About Solidity in particular - I think most people would say it's not the best. There are endeavors to develop better languages but Solidity has become quiet deeply entrenched in the Ethereum world. Everybody is busy with much more pressing issues - like scalability.

3 comments

I've posted this before [0], but it's still apropos regarding the foolishness that is Ethereum.

[Ethereum] only makes sense if all of the following obtain:

(a) the code is 100% bug-free (b/c accidents cannot be rewound)

(b) all code-writers are 100% honest (their code does what they say)

(c) all contract participants are 100% perfect code readers (so as to not enter into fraudulent contracts)

(Strictly speaking, only one of (b) and (c) needs to be true).

None of these conditions will ever obtain.

[0] https://news.ycombinator.com/item?id=14471465

And yet the marketcap of the funds locked in a subset of contracts on Ethereum is almost 10 billion today (https://defipulse.com/) and I have been using a popular contract wallet for a while to hold my funds and transact with friends. So clearly it cannot be nearly as catastrophic as you mention, no?
Is it really meaningful to talk about market cap when there are no underlying assets? The value could be entirely (or almost entirely) speculation.
Sure, but it is still redeemable value for an attacker, yet attacks are relatively scarce. Or scarce enough for people to keep putting money into it. That's the point I was trying to make.

I know what you mean by "no underlying assets" but I'd say it's arguable. Does BTC (WBTC) have value? By this time it seems like it does. There are also billions of dollars of "stablecoins" on the network. Are they a valid underlying asset? So far it seems like they are... Things have no underlying value until they all of a sudden do, I think that's the story of Bitcoin. A story of value too.

what i recall was that there were many pitfalls even to do something simple, and this event suggests that even experts may find it difficult to avoid mistakes.

part of the challenge was just the inherent weirdness of the ethereum execution environment, where the functions you write can be directly called by an adversary, and they can set up their own version of the stack however they want.

it didn't seem like the language helped to mitigate the inherent difficulty however.

People say the same thing about manual memory management, garbage collection and memory leaks, but to be honest, something about conceptually leaving out the UX of such a powerful tool (like memory allocation) always rings hollow.

If writing "smart contracts" is to remain not for "anybody but very seasoned developers" how can that not seem like anything but a giant gaping hole in the conceptual abstraction itself? Do you think people say the same thing about payment processors? What do you think would happen if Stripe approached its API the same way? Sure, one is a proprietary payments processing system and the other is an entire decentralized virtual machine for contracts. I get that.

But implying that "everybody is busy with much more pressing issues" despite admitting "most people would say it's not the best" really implies a blind spot. Successful technologies end up building layers where folks who aren't "very seasoned developers" can't hurt themselves. Pretending that these layers don't exist or emerge or deliver value is omission.