← Back to blog
The Morning Tribute, Jean Antoine Laurent

The Morning Tribute, Jean Antoine Laurent

Smart(er) Contracts

December 30, 2024


Are smart contracts really smart? They're a "set of promises, specified in digital form, including protocols within which the parties perform on these promises." A smart contract is just a chunk of code that binds two parties to an agreement and executes a conditional based on data concerning the agreement. Do we call them smart because they're code and not a natural language contract (with an enforcement mechanism)? Both are arguably as obfuscated; what's easier to read: Solidity or legalese?

I wouldn't consider them smart since they're fully deterministic—a contract with a certain set of conditions will always map to the same output given the same inputs. Something smart must has some reasoning capability. This restricts "smart" contracts to a subset of contracts that do not require subjective interpretation, rely real-world events (unless there is an oracle, which have their own issues), or contain privacy/confidential information in the contract (since the contract is publicly on-chain once agreed upon), etc. Instead, what if you had a arbitration element in the contract made up of a synthetic senate (LLMs) that voted based on the data provided by both parties and oracles and made an assessment. An appeals court (made up of real people) would be there if one party truly believes the synthetic jury came to the wrong decision.

For example, imagine you are looking for a logo for your new company and find a designer online. Since the designer has been screwed over by clients in the past, they set up a smart contract. The guidelines are: (1) The logo must adhere to the provided brand guidelines, (2) The logo must be a high quality .svg file with a full branding kit, (3) All content must be submitted by a set date unless both parties agree to postpone to a later date, and (4) The contract will be paid out by a supermajority vote of 100 Llama3 agents which receive the brand guidelines and all submission content. Both parties hire a Web3 developer to write up the smart contract and they agree to it. Once the designer completes and submits the work, the senate approves it, and the designer is immediately paid out (1 second after they submit) and the client receives the work. If the client is not satisfied with the work, they can submit an appeal and have a human court see if the designer truly met the stated guidelines of the project. This would be completely impossible with a current "smart" contract.

There are a ton of concerns with this kind of system, everything from prompt injection attacks in the submitted work engineering the senate to vote a certain way to the designer heavily optimizing for the contract's guidelines, resulting in an inferior product. Someone could just hack together a script that creates AI agents that makes logos using Midjourney and submits them to smart contracts, continuously iterating the logos until the senate vote is brute forced. Assuming a liquid marketplace of contracts, this could net millions in seconds. I think many of those errors can be fixed as LLMs improve and LLM detection mechanisms improve.

The largest concern I see is: will a senate made up of LLM (synthetic) agents result in rational outcomes? The ideal judicial body is as close to deterministic as possible but that is just not true in real life. On the day after daylight savings eliminates an hour of sleep, judges hand out longer sentences to defendants. Judges grant parole significantly more right after lunch or snack breaks, when they're well-fed. I'd consider college admissions officers as "judges" too, and when they hold a warm drink, they tend to describe candidates as "warmer." Given these cognitive/behavioral biases and the large pool of these quirks that we have not discovered yet, I don't even know how we trust judicial systems with humans in them. At least we can edit the training data for a senate LLM to be less biased (to an extent).

What I do know is that complex contracts—especially for two anonymous parties connected by the Internet without a shared physical jurisdiction—will be increasingly important.

BTW: With a quick search to set up a smart contract with no code, I couldn't find anything. Why isn't an abstracted smart contract builder made/popular yet?


Nearby