The world "smart contract" enthusiasts dream of.
The world "smart contract" enthusiasts dream of.
The main idea is that in legal contracts, the written signed paper is just evidence for what the agreed-upon contract was. The actual contract is the agreement itself - which the paper may not reflect exactly. If the two parties disagree on what is the actual contract, the paper is of course strong evidence for one side or the other, but it's not the final word, other evidence may be brought that contradicts the written contract and that can be held to be more convincing.
In contrast, the smart contract crowd wants the contract code to represent the final word, and if any party didn't notice that the contract code didn't match the understanding they had of the agreement, too bad.
It's all nonsense. In the real world people make mistakes and a court should be allowed to override and figure out the right thing to do.
(In criminal law, "justice delayed is justice denied" and clarifications of constitutional or treaty requirements for speedy trials also can be tidied up by the legislature in a statute of limitations).
Statute (legislation) is a superior source of law to contract law, and so there is generally no way to contract to avoid being statute barred if a claim for breach of contract (or specific performance, etc.) is made beyond the statutory deadline.
Typically there are carve outs enacted in a statute of limitations that allow a claim to be brought out-of-time if the defendant has acted in a dishonest way that prevented a claim from being filed in time, for certain classes of litigant, or for certain types of claim. (And in criminal law, for certain offences - serious crimes will tend to have a longer, or no, limit on how long after the crime the prosecution is begun).
A statute of limitations typically does not extinguish defences based on the lapse of too much time; but such defences in some jurisdictions may be contracted away, leaving the statutory limit as the hard deadline.
There's this thing that people often do, even within the law itself, that's just like "well, you can fix everything by just writing it correctly the first time."
And this will always feel retroactively correct and never workable in practice.
Because, as I say repeatedly:
Smart contracts ARE NOT CONTRACTS. Count them in the worst named things in computing.
A contract is a legal agreement that is mostly about stipulations on what to do if things go wrong.
A so-called "smart contract" is doubly bad named -- because it's just a stupid, irrevocable, unchangeable, piece of code. Imagine an ATM with the controls welded shut.