Hacker News new | ask | show | jobs
by e63f67dd-065b 1346 days ago
Code is law working out real well over here. The code said that we should value MNGO at the current spot price, so that's what the code did, and poof went the entire network.

In the real world we have things like leverage ratios, anti-manipulation laws, circuit breakers, etc. Some of this is regulatory, and others are just things we figured out were good ideas many years ago.

I think there's a sense of hubris in the new code is law advocates. As a programmer, code is law scares me because I know code is nothing if not buggy, whereas law has real mechanisms where the case is presented in front of humans that generally speaking have reasonable thoughts. Yes law is flawed, judges can be biased, lawyers are expensive, but throwing all of that away in favour of code on the internet seems much worse.

Judges can issue injunctions that say "freeze everything until we sort it out in court", whereas code just runs whether you want it to or not. Courts can say "reverse all the transactions related to x", and blockchain is, by design, immutable.

2 comments

Playing devil's advocate here, since I'm generally of your opinion: there is nothing that prevents more code being written covering more unintended uses of the technology, including injuctions and reversals. If at all, there is a hubris that complex problems can be solved with clean, minimal code and simple concepts. After all, when rendering their decisions, human courts are also solely refering to rules written before the fact (in my home country at least).
The problem is that a lot of these problems are only solvable within the network. Sure, if you steal a bunch of Ethereum, there could be a piece of code to reverse that theft under some conditions. But if you've cashed out, there's nothing the code will do. The code is only law within the tiny walled garden they've built. So not only do you have to improve the code, but you either need to prevent people leaving this walled garden so you can enforce your rules, or you create rules outside of the walled garden - which are called laws and the entire reason crypto exists was to evade those laws in the first place.

That's why these hacks are so often associated with Bridges - because the bridges are the locations where two different sets of rules are in force and you can exploit the difference between them.

> After all, when rendering their decisions, human courts are also solely refering to rules written before the fact (in my home country at least).

They don't though. Courts dream new meanings into existing laws, create new duties where none existed before, and while the extent to which they should do so is controversial, few serious people think they should avoid doing so entirely.

I agree with you, and IMHO that does not necessarily conflict with what I've written before. It's true that there is broad catch all logic at the top level of policies, and when deriving lower level decisions courts inherently create policy too. But I believe it's not completely unrealistic to have such functionality baked into a conflict resolution protocol for crypto as well. Although the decisions and policies it derives might not be explainable for humans.

Generally though, I use the arguments in this discussion the other way round: in convincing lawyers (German speaking lawyers that is) that the value of law is mostly in being readable by common people. And less in being unequivocal to courts. We have code for unambiguity, but in essence, code bears the same problems as complicated laws when communicating policy and what's socially accepted to society.

As far as I know this works very differently between Common Law and Continental Law, no? Common Law seems to be much more reliant on courts' decisions...
I'm being a bit facetious, but "we have bugs in our code, therefore we should write more code to prevent it" seems like the wrong direction to take :)

Yes, certainly we can write courts, injunctions, reversals, etc into code, but that's massively increasing the surface area for bugs. Oops, a hacker just injuncted the entire network and now the entire network is frozen.

Courts exist, to a certain extent, so that an impartial human can take a look at the situation and act according to thousands of pages of laws and hundreds of years of precedent. Humans are good at thinking like other humans, so we usually have pretty good intuition around what a judge will say and the limited possible outcomes from there, whereas the same really can't be said for computers.

Oops, robojudge just awarded all the money in the network to the hacker, too bad.

So in the end, we end up with the same system of regulation, only enforced in code.
Yes and: Software bugs and law "bugs" are orthogonal. My hunch is their respective bugs don't cancel each other out, but rather the mismatch somehow makes each side worse.

FWIW, I recently read Seeing Like a State and am still trying to process what trying make society more legible (manageable) even means.