Live data from Hacker News

The collapse of the IRON stable coin

irony-97882.medium.com

471–480 of 502 posts

Re: The collapse of the IRON stable coin

#471

Earlier quoted context omitted.

> but we are adults here: if you agree to put money in smart contracts, you should have verified the code. And if you think the code is flawed, do not put money: otherwise do not complain afterwards. It is not that hard. That's not how it works. Courts generally operate by ambiguous standard of what reasonable people and reasonable experts can actually do given the state of technology. No reasonable software engineer…

This reminds me of the Toyota Prius (and other models') un-commanded acceleration problem. Should car buyers examine Toyota's code, or should they assume that the gas and brake pedals work as expected? It's not reasonable to expect software users (even other developer users) to understand or audit code in order to be able to use software -- for anything.

Yes, but not in case of smart contracts is the point. Prius it's source is not open and cannot be audited and is, definitely installed by Toyota. So Toyota is responsible. Smart contracts have none of this.

They are open source by definition and no one knows, by definition, who deployed them. It is a very different case.

Re: The collapse of the IRON stable coin

#472

Earlier quoted context omitted.

This reminds me of the Toyota Prius (and other models') un-commanded acceleration problem. Should car buyers examine Toyota's code, or should they assume that the gas and brake pedals work as expected? It's not reasonable to expect software users (even other developer users) to understand or audit code in order to be able to use software -- for anything.

Yes, but not in case of smart contracts is the point. Prius it's source is not open and cannot be audited and is, definitely installed by Toyota. So Toyota is responsible. Smart contracts have none of this. They are open source by definition and no one knows, by definition, who deployed them. It is a very different case.

The author of the code and/or its publisher are always responsible for software quality, not the users.

The fact that other people could audit the software does not absolve the original authors of the fact that they didn't.

Re: The collapse of the IRON stable coin

#473

Earlier quoted context omitted.

Yes, but not in case of smart contracts is the point. Prius it's source is not open and cannot be audited and is, definitely installed by Toyota. So Toyota is responsible. Smart contracts have none of this. They are open source by definition and no one knows, by definition, who deployed them. It is a very different case.

The author of the code and/or its publisher are always responsible for software quality, not the users. The fact that other people could audit the software does not absolve the original authors of the fact that they didn't .

Sigh. If this were the case, all open source is doomed. You are responsible if you deploy/offer it, not if you only wrote it. And the point is, in smart contracts, you will not normally know who deployed it.

If you put on github

Return x>0;

And I deploy this in a production environment that kills people with heart rate over 0, do you have any responsibility? No of course not. I do. You have none.

In short: if you put money into something as smart contracts, the only thing you have, and that is literally the intention of the pundits, is that you check the contracts and trust or not trust them. I do not know how this crosses over to other software that has different properties in this thread. That is not relevant. There is no one to sue or say they did a bad job here: you will not know. That is baked in.

Re: The collapse of the IRON stable coin

#474

Earlier quoted context omitted.

The author of the code and/or its publisher are always responsible for software quality, not the users. The fact that other people could audit the software does not absolve the original authors of the fact that they didn't .

Sigh. If this were the case, all open source is doomed. You are responsible if you deploy/offer it, not if you only wrote it. And the point is, in smart contracts, you will not normally know who deployed it. If you put on github Return x>0; And I deploy this in a production environment that kills people with heart rate over 0, do you have any responsibility? No of course not. I do. You have none. In short: if you put…

As a career developer of more than 30 years, I still take the viewpoint that the person who wrote the code and/or approved it (both = developers) are 100% responsible for all bugs.

As I mentioned earlier in this thread, there is no such thing as bug-free software (even for devices that kill people, as you point out), because bug-free software is categorically impossible within comp sci.

Knowing this comes with great responsibility, even more so when dealing with life... or finances. The developers of this software, as is the case with Solidity and smart contracts in general, have foregone this responsibility.

Another egregious failing of all crypto schemes which I'm compelled to point out is that they fail to use any of their enormous profits to actually fix bugs.

When I was mainframe developer at IBM, the company spent millions of dollars (taken from clients, of course) to find and fix bugs. They paid people good money, including yours truly, for that work.

Today's crypto companies have no such ethics. They (Mr. Buterin, I'm looking at you) have no compunctions after profiting windfalls from their software inventions to actually invest in debugging or fix distribution (or even real error reporting) for the customers. Likewise, they ignore all the UI aspects (and problems) that their inventions have birthed.

This is not responsible software development. It leads to problems like IRON and others in the crypto space. As I said, it is the exact opposite of how, historically, important enterprise software development is done.

It's only for selfish reasons (= money hoarding) that crypto projects don't hire the best auditors and coders in the world to fix their code. They can certainly afford them.

Re: The collapse of the IRON stable coin

#475
post #101

Probably a dumb question, but is there any possibility of temporarily getting the price to slightly above 0 in order to let people get their money out? For example, could some group with a lot of money offer to buy/sell a bit until the oracle considers it above 0, in exchange for some sort of compensation from the investors or devs?

Their docs state that there should be a max supply of 1 billion iron titan tokens[0]. But according to coingecko, there are over 27 trillion in circulation[1]. I think that's probably where the trouble started, and at that amount, I doubt they'll be able to get the price up. I may be totally wrong though, I heard about this project for the first time today. [0] https://docs.iron.finance/iron-finance-on-polygon/titan-…

You can buy a lot if the price is zero.

Re: The collapse of the IRON stable coin

#476
post #369

Earlier quoted context omitted.

> Focus directly on the entity doing the money transmission in this case- the smart contract IRON. They take in USDC and give out IRON and TITAN. IRON and TITAN are money substitutes. Money transmission includes anyone by any means conducting exchange of one type of money for another. Functionally that is what this contract is doing. The code didn't write itself, there are people behind it that released it, and they…

If you just write the code that does money transmission and share it on github, not host it, not put it in production, then no you aren't doing money transmission, you just wrote some code and shared it. If someone takes that code and puts it in production, then they are doing money transmission. I think people are trying to use the idea that ethereum works differently than AWS, but that doesn't matter. The point is…

> I think people are trying to use the idea that ethereum works differently than AWS, but that doesn't matter. The point is the owners or writers of that code wrote it and put it out to the world with intent or purpose to do money transmission. They published that code, paid the gas fees to do so on ethereum. Now anyone can interact with it.

The difference is that you have full control and ability to change the application that is deployed to aws. On Ethereum, you have whatever control you gave yourself, which in most cases is 0, you're not able to modify the application, or even take it down (this is desirable so people don't have to trust you).

To me you're not involved in the process if you have no control over the application that is doing the "money processing".

Re: The collapse of the IRON stable coin

#477

Earlier quoted context omitted.

Sigh. If this were the case, all open source is doomed. You are responsible if you deploy/offer it, not if you only wrote it. And the point is, in smart contracts, you will not normally know who deployed it. If you put on github Return x>0; And I deploy this in a production environment that kills people with heart rate over 0, do you have any responsibility? No of course not. I do. You have none. In short: if you put…

As a career developer of more than 30 years, I still take the viewpoint that the person who wrote the code and/or approved it (both = developers) are 100% responsible for all bugs. As I mentioned earlier in this thread, there is no such thing as bug-free software (even for devices that kill people, as you point out), because bug-free software is categorically impossible within comp sci. Knowing this comes with great…

Seems we are similar ages: I am 30+ years into commercial dev as well. I started with the Dijkstra school of development (under pupils of Dijkstra which my father is one) and found that this is not helping. I like it but more intellectually than anything else. I went more the Arthur Whitney way of practical computing without waste.

I vehemently disagree that just writing code makes your responsible for it's use. We are so bad at writing good code that all programmers would be living on the streets or in jail. And that is not malice, just how little we understand or underestimate complexity. Which becomes apparent if you indeed try to create some formal proof and give up after 30 pages.

I also believe your last statement does not recognize the vast issue there is with the smart contract world: I am more of the school of Erlang/OTP: just let it crash these days. If you cannot correct a state, we cannot write software for it. No matter the proofs and auditing. If we cannot correct an erroneous state, we are not capable of writing software in that system. And that is smart contracts. Not space craft where we often can upload a patch and steer the other way, not cars where we detect a deviation and correct it. Smart contracts are: if it's done it is irreversible and there are no programmers, provers or auditors who can predict or prevent that. Rollback must exist or this all will go to shit. Which is what will happen.

Edit: I actually do not believe cryptocurrencies have a chance unless there is rollback (something like refunds without merchant consent). I just cannot see what rollback means in this context: I read papers with scifi type of stories how this would work but it does not mesh with cryptocurrency obviously otherwise.

Re: The collapse of the IRON stable coin

#478

Earlier quoted context omitted.

As a career developer of more than 30 years, I still take the viewpoint that the person who wrote the code and/or approved it (both = developers) are 100% responsible for all bugs. As I mentioned earlier in this thread, there is no such thing as bug-free software (even for devices that kill people, as you point out), because bug-free software is categorically impossible within comp sci. Knowing this comes with great…

Seems we are similar ages: I am 30+ years into commercial dev as well. I started with the Dijkstra school of development (under pupils of Dijkstra which my father is one) and found that this is not helping. I like it but more intellectually than anything else. I went more the Arthur Whitney way of practical computing without waste. I vehemently disagree that just writing code makes your responsible for it's use. We a…

While we disagree on who is responsible for code, I do think we are saying the same thing about cryptos. If you can't fix software later, you're doomed because it all has problems.

Likewise, humans make mistakes in transactions and if they can't be undone... problems.

EDIT: I should clarify that I don't believe software authors are responsible for use, but rather for bugs.

Re: The collapse of the IRON stable coin

#479

Earlier quoted context omitted.

Seems we are similar ages: I am 30+ years into commercial dev as well. I started with the Dijkstra school of development (under pupils of Dijkstra which my father is one) and found that this is not helping. I like it but more intellectually than anything else. I went more the Arthur Whitney way of practical computing without waste. I vehemently disagree that just writing code makes your responsible for it's use. We a…

While we disagree on who is responsible for code, I do think we are saying the same thing about cryptos. If you can't fix software later, you're doomed because it all has problems. Likewise, humans make mistakes in transactions and if they can't be undone... problems. EDIT: I should clarify that I don't believe software authors are responsible for use , but rather for bugs .

> Likewise, humans make mistakes in transactions and if they can't be undone... problems

But that is saying everything is shit. I do not disagree but I do live in this world.

> EDIT: I should clarify that I don't believe software authors are responsible for use, but rather for bugs

I got that but what would it look like? In practice? As that seems impossible to me.

Re: The collapse of the IRON stable coin

#480

Earlier quoted context omitted.

Uniswap, the decentralized exchange. Is it decentralized finance ?… up for debate (but at the very least, it’s a critical component of the DeFi ecosystem). But I can plop $x of Ethereum and $y of tokenized BTC onto it, providing a valuable service to anyone who wants to exchange the two for any reason (e.g. tuning their price exposure to those assets), forget about it for a couple months, and come back to see that it…

I think a better question might be: what are some valuable "non-ouroboros" projects? Most of the stuff people use essentially seems to be one form or another of shuffling the unit(s) of account around, like the ones you listed. You have a cryptocurrency. What are the uses for the cryptocurrency? Well, you can swap the cryptocurrency for another cryptocurrency or let someone else borrow the cryptocurrency in exchange…

Algorand is a fairly underground project I've been following, but it basically has taken the good stuff from Ethereum (smart contracts, token-izing) and combined it with the possibilities of Chainlink, along with having a ridiculously fast chain and simple ecosystem. Give them 3-5 years they'll be leading the CYO token space. ETH is increasingly falling behind as they can't get ETH2 out the door and Algorand already has all of it built in along with an incredible competent and politically connected team.

Agree though, smart contracts are where the future lies in many of these projects. Tough to pick up but where I'd be if I were a SW dev.

Post reply on HN