Live data from Hacker News

The collapse of the IRON stable coin

irony-97882.medium.com

361–370 of 502 posts

Re: The collapse of the IRON stable coin

#361
post #298

Earlier quoted context omitted.

Yes. Trading off hundreds of years of experience and judicial tradition and precedent for a brand new shiny (just trust us programmers) system. If the former system were to be irretrievably corrupt, teetering on the edge of collapse, and the proposed replacement were capable of replacing it then it would be worthwhile. The existing international financial system is corrupt, the judiciary in most of our world is compl…

> has no support from cryptographers I am a PhD student in cryptography, and judging by the papers I've read there is plenty of support from cryptographers, many of whom are directly involved in research and development. Silvio Micali is practically a founder of modern cryptography (and Turing Award winner), and he co-created the blockchain Algorand. There is also plenty of opposition, as the subject elicits strong o…

True. The universally quantified statement "No cryptographers thing X" is almost certainly going to be false.

Hyperbole on my part, oops. Sorry about that.

I am not a cryptographer, but I do pay attention to cryptographers. Well, some cryptographers.

So thanks to your helpful comment I looked up Silvio Micali. He has rather faint endorsement, but endorsement it is.

Re: The collapse of the IRON stable coin

#362
post #311

> _share_price here refers to the price of TITAN, as provided by an oracle, which is correctly reporting it as… 0 (somewhere in the distance, you can hear a room full software engineers burst into laughter ). Aside from the amusing programming error, the main problem with much of the "smart contract" activity today is that doing anything remotely interesting requires an oracle. An oracle is basically a server that re…

Oracle is a fancy name for an API, right?

An oracle is not just an API, but specifically one that your system trusts unconditionally.

Re: The collapse of the IRON stable coin

#363
post #27
post #5

This has always been the problem with smart contracts. They are infact dumb contacts. To program one you need to think about all the edge cases. The programmers here likely did want >0 here. The possibility that the thing feeding price data return zero incorrectly was higher than the price legitimately being zero in their minds. There is no court or lawyer who can interpret the spirit of the contract.

I've been saying for a very long time now to anyone who chooses to listen that a contract itself is a human construct - it is both temporal and physical and has location to be relevant and useful. Without all of those properties a contract ceases to useful to a human being under all edge cases. So it is, in fact, a dumb contract. Humans want contracts that make them whole at the end of the day, that's the point of th…

Yes, dumb contract indeed. I think a good term is "fire-and-forget", as once it's live there's no going back so you'd better make sure it does exactly what you want.

Re: The collapse of the IRON stable coin

#364

Earlier quoted context omitted.

I've been wondering the same for a few weeks but can't be bothered checking. My uneducated inference is that an oracle is a data source and you can hook into it from the smart contract. The oracle seems to live off-chain and live on a traditional server/DB. Please correct me if the above is way off!

An oracle is a source of truth for information about the outside world to a smart contract. The smart contract doesn't actually call the oracle. This is because smart contracts don't self-execute and can't make external http calls. So a smart contract pauses, and waits for an oracle to trigger an update function. Because oracles have a lot of power over a smart contract (not all smart contracts need them, by the way)…

At that point can they really be considered purely code contracts anymore? If their execution requires a trusted third party some of the rhetoric goes out the window.

Re: The collapse of the IRON stable coin

#365
post #318
post #249

Earlier quoted context omitted.

The main benefit is reducing the incentive for the developers to steal. If you know 90%+ of the funds will disappear before you can do anything then it's much less attractive (where the alternative is making money by fees over time if the protocol is successful). The risk needs to be balanced with the risk of funds lost because of a smart contract bug that can't be fixed. Different projects make different choices her…

I think an unscrupulous developer would find 10% of $275mn to be a pretty big incentive. Sure it’s relatively less, but still a very large number.

Typically projects like this start with "training wheels" like this at launch, and gradually increase the timelock delay and / or move the control over to a dao to control.

Re: The collapse of the IRON stable coin

#366

Earlier quoted context omitted.

They really shouldn't be called contracts at all, since intent ("meeting of the minds") is a fundamental part of contract law. Imagine for example if a mortgage contract contained some bizarre inscrutable loophole that as-written would give the first 3rd party to notice it total control over over the house. This would of course be laughed out of court because that part of the contract wouldn't be enforcable under con…

It's a perfectly correct term. They're smart because they do some computation, just like a smart speaker or smart phone. They're contracts because they're an agreement between parties. Not legal contracts, but neither are OOP contracts or social contracts or any other kinds of contract.

I guess I can see your point, but I think the usage of "smart" to describe consumer electronics with computational capabilities is a very different usage. Contracts are not "dumb" technologies that are being "enhanced" with computation; contracts and software code are already the same kind of thing. The difference is that contracts-as-code can actually execute contractual obligations rather than just describing them. I wouldn't describe this enhancement as "smart"... perhaps a better term would be "automatic" or "autonomous".

Re: The collapse of the IRON stable coin

#367
post #5

This has always been the problem with smart contracts. They are infact dumb contacts. To program one you need to think about all the edge cases. The programmers here likely did want >0 here. The possibility that the thing feeding price data return zero incorrectly was higher than the price legitimately being zero in their minds. There is no court or lawyer who can interpret the spirit of the contract.

Smart contracts is a horrible name. The better analogy (which has been around for years) is that they are the digital equivalent of (snack and beverage) vending machines. As with vending machines, they have their use cases, but they aren't lawyer "smart" and they certainly aren't legal contracts. I'm not sure how much trouble a better name would have saved everyone, but it might have done a better job of setting expe…

"Self-executing contracts" removes pretty much all of the confusion

Re: The collapse of the IRON stable coin

#368
post #311

> _share_price here refers to the price of TITAN, as provided by an oracle, which is correctly reporting it as… 0 (somewhere in the distance, you can hear a room full software engineers burst into laughter ). Aside from the amusing programming error, the main problem with much of the "smart contract" activity today is that doing anything remotely interesting requires an oracle. An oracle is basically a server that re…

And without an oracle smart contracts are useless for anything that relates to the real world. And guess what folks... we live and spend our money in the real world.

This has been the problem with smart contracts since day one. It is that simple.

Re: The collapse of the IRON stable coin

#369

Earlier quoted context omitted.

> Doing money transmission without a license is criminal offense Who did the transaction though? These people? The eth network? Was it considered money? And where? Do these people live there who did the transaction? I am not saying you are wrong but this 'war on X' attitude never was a great idea, it also does not work as it is not a singular entity that is to blame. It is a vast network spanning countries.

Ignorance or not understanding the money transmitter rules is not a defense. 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…

> 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 wrote it to conduct money transmission (a specific purpose). You don't even need to bring ethereum into the conversation to prove they are in violation.

If I write a smart contract and publish it to github, but someone else deploys it, is the other person doing the "money transmitting"? What if we don't know who actually published it (which is very possible since all you need is a small pile of ETH to deploy)?

Interestingly, this is actually what happened when curve (decentralized exchange) launched their token [0]. Some "random person" deployed the contract and then a few hours later curve said "yeah, that's our contract code, we'll use it". People hypothesize that someone from curve launched it in an attempt to avoid certain laws.

[0] https://cointelegraph.com/news/anonymous-developer-deploys-c...

Re: The collapse of the IRON stable coin

#370
post #256

Earlier quoted context omitted.

That's the whole point. Code is law. The alternative is our current, arcane legal system - only interpretable by lawyers who charge $600/hr.

> Code is law. Law is law, code is code. They're two very different things. Code can't prevent someone from using violence to force you to overturn a smart contract's decision. The law can because it's enforced by the state. You could certainly choose to build a system of law that uses code, but code by itself cannot substitute for law. > only interpretable by lawyers who charge $600/hr. What do you think the going h…

There's a reason it's called a legal code--both computer code and legalese are formal languages. The difference is that computer code is deterministically executable by a machine, while a legal code requires humans to carry out the actions it specifies (and humans are not deterministic machines, obviously).

The point where the two realms intersect is challenging but needs to be handled appropriately. It would be great if some of the terms of legally binding contracts could be delegated to automated systems. And when two parties do not actually share a common legal system, then code-based contracts can facilitate transactions that would otherwise probably never happen.

Post reply on HN