Smart contracts technology is rapidly maturing. Self-executing coded agreements are being harnessed to launch new digital assets and will soon be used by American corporations to issue shares of stock on a blockchain overseen by the state of Delaware.
But there is something impeding the technology, keeping its use largely confined, thus far, to the hothouse realm of cryptocurrencies.
Because of how blockchain transactions are recorded and verified by consensus, smart contracts are unable, on their own, to talk to external data feeds. That makes them excellent tools for playing in the Ethereum sandbox but not so useful in the outside world.
What is needed, experts say, are more and better "oracles," pieces of middleware by which smart contracts can receive, and act on, data from off-chain systems.
Only through oracles can smart contracts provide benefit to banks — or indeed do much more than move digital tokens around. A smart contract behaving like a financial instrument might need to know commodity or equity prices, for instance.
"Part of the reason that we're seeing Ethereum used almost exclusively for ICOs is that there is a lack of robust, general-purpose oracles today, and therefore it's very difficult to construct useful, interesting smart contracts," said Ari Juels, co-director of the Initiative for CryptoCurrencies and Contracts at the Jacobs Technion-Cornell Institute at Cornell Tech in New York, who recently became an adviser to the San Francisco startup SmartContract. "So I see it as an absolutely critical piece of infrastructure."
SmartContract has made building better oracles its mission. The startup didn't invent the concept, nor is it the only company trying to enable smart contracts with real-world applications. But it is positioning itself to succeed.
SmartContract recently completed phase one of an implementation with Swift that will allow banks' back-office Swift systems to talk to smart contracts. That is meaningful because, if a smart contract can respond to a Swift message, it can send money in dollars or yen, not just in cryptocurrency.
"Without data inputs and without payment outputs that users want to receive, it's difficult to imagine a financial agreement of any worth," said Sergey Nazarov, SmartContract's founder and CEO.
SmartContract's work with the Society for Worldwide Interbank Financial Telecommunication came about after the startup won the organization's Innotribe Industry Challenge earlier this year. The partnership so far amounts to "a successful proof of concept," Hazel Nolan, Swift's project manager for Innotribe innovation programs, said in a brief email.
SmartContract is already having concrete discussions with Swift about phase two of the implementation, according to Nazarov, and Nolan said her organization looks forward "to exploring potential opportunities to work together in the future."
If all goes well, 11,000 banks will eventually be able to use smart contracts to initiate payments.
SmartContract, despite its name, is not actually in the business of writing smart contracts. Nazarov sees his company instead as "an accelerant," connecting disparate systems.
To that end, he hopes soon to launch a network called ChainLink, in which various node operators will function as sellers of data or payments capabilities, and will be paid in LINK tokens, a new digital asset Nazarov intends to roll out this year.
SmartContract has been developing ChainLink for the past three years.
"This isn't an idea. This isn't a white paper. This isn't something on a whiteboard somewhere," Nazarov said.
The network is designed to empower an emerging business model in which oracles will be paid for what they offer, just as cryptocurrency miners are.
"Oracles are the new miners in the blockchain world," Patrick Murck, special counsel at the New York law firm Cooley, recalls saying at a conference last year. "And I still believe that's true."
Driving the business model will be the need for reliable data sources. In many cases, a single source won't be enough.
Murck gives an example: Let's say that two baseball fans want to bet on the outcome of a game between the New York Yankees and the Boston Red Sox. Each fan stakes one bitcoin, and they create a smart contract that will rely on a trusted, machine-readable data source — the ESPN sports wire — to learn who has won the game. At that point, the wagered cryptocurrency will be released to either the Yankees fan or the Red Sox fan.
Let's say the fans, devoted as they are, attend the game and see the Red Sox win five to four. But at ESPN somebody makes a transcription error and reverses those numbers. The error is immediately caught and corrected, but too late for our hapless Red Sox fan; the smart contract has already released the bitcoins to the wrong person.
"These errors in data happen all the time," said Murck, who is also a fellow at Harvard University's Berkman Klein Center for Internet and Society.
In financial systems, such a foul-up could be disastrous. The ChainLink network, says Nazarov, should provide an easy way to match up smart contracts with the information resources they need.
"You can go and say, 'I want to make bank payments from HSBC; here's what I'm willing to pay,' " Nazarov said.
SmartContract intends to launch an initial coin offering for its LINK token this fall, with a fundraising goal of $33 million. One billion tokens will be created, of which 35% will be distributed in the crowdsale. Another 35% will be given to node operators to kickstart the ChainLink ecosystem. SmartContract plans to retain the rest to cover ongoing development costs.
While the success of ChainLink is uncertain, oracles seem destined only to grow in importance over time.
"Smart contracts voraciously need data in order to do their job," Murck said. "Somebody's got to provide it."