Newly released research shows that top-layer networks, usually trumpeted as the future of bitcoin and ethereum scaling, might actually be capable of more than boosting blockchain transaction volume.
The proposals, while relevant for any blockchain, however, are uniquely relevant for ethereum, the second-largest public blockchain. Touted as a 'world computer', its need for scaling is pronounced – with such ambitions, it needs to scale not just payments, but a richer array of smart contracts.
One new project now believes it can help with that problem.
At EDCON 2017 this week, Ledger Labs head of technology Jeff Coleman put forth a way of abstracting state channels that he believes would work for use cases beyond payments.
"Today, I want to talk about something a little more advanced," he said, introducing his idea.
Coleman, a long-time researcher of the subject, continued:
As off-chain payment channels are a multi-faceted technology, Coleman’s idea is a part of a swathe of research aimed at enhancing the top-level layer of blockchain networks. Yet, it comes at a time when many similar ideas are beginning to be announced.
Coleman's talk marked the second time this week researchers have proposed revisions to the technology.
Channel wish list
The idea behind off-chain networks, or 'state channels', is that, in the future, it's likely to be too costly to settle most transactions directly on a blockchain. Instead, they'll be executed on a separate network layer connected to a blockchain that uses a cryptographic technique known as 'hashed time-lock contracts'.
This design initially gained traction with the release of the bitcoin Lightning Network white paper in 2015, and the authors of the Raiden Network later ported the idea over to ethereum.
According to Coleman, it's possible to build state channels for specific applications right now on ethereum, but with some difficulty. That’s a problem that Coleman wants to avoid by nailing down an implementation that works for a variety of applications, not just one specific type.
In his talk, Coleman listed at least half a dozen criteria that he considers ethereum channels should ideally have. For example, the technology should be trust-free, use on-chain storage as rarely as possible and be "parallelizeable", meaning that users should be able to pay for multiple goods at the same time, rather than just be restricted to one channel.
Further, they should not reduce privacy and should limit the so-called 'griefing factor', ensuring that bad actors can't spin the rules to strategically make others unfairly lose money.
Oversized scope
Coleman's ambitious proposal intends to help with all of the above problems, and he wasn't above poking fun at the sizeable scale of his talk.
"My goal is to use the biggest words of all the presentations today," he joked of the project name "counterfactual instantiation".
Still, he kept his conversation grounded, describing the project in simple terms.
"We're going to use incentives to make the two parties act as if the contract was already in the blockchain. That’s the basic idea here," Coleman said.
By using these incentives, users can act as if their smart contracts are added to the blockchain, even if that isn't really the case. Parties can kick the contract to the blockchain if they need it, but the hope is that they won’t unless there’s a security concern, or if they worry that the other party is trying to cheat.
They are incentivized not to do so, though, with fees and penalties, echoing elements of another talk given by ethereum's creator, Vitalik Buterin.
Coleman went on to joke that it's kind of a psychological phenomenon, and that the off-blockchain contracts are "in our collective imaginations" – but this effect would allow smart contract operations without really committing them to the blockchain.
Future consensus
While some might be skeptical of these remarks, there is consensus that such 'counterfactual instantiation' is a way forward for ethereum smart contracts.
"The technique has been discussed at length with several of the teams currently working on ethereum state channel implementations. All are in agreement that the concept can be executed securely," Coleman told CoinDesk.
He explained that it's supposed to work for most applications that require state channels, and the payments can cross over to other underfunded channels.
For example, say a user has two channels open, one for a video streaming service and one for "renegotiating a financial instrument in real-time". If the video channel then runs out of money, this state channel would know enough to fill itself up by dipping into the financial instrument channel.
It will take some time to get to that point, however.
"Months more work will be needed to make it truly simple to use in applications," Coleman said, though he pointed out that there’s already a "partial implementation" underway that’s available for educational purposes.
Jet engine image via Shutterstock