Trusted Hardware Can Help Bitcoin Scale, But At What Cost?
As 2016 comes to a close, bitcoin development remains at a crossroads.
Take the long-anticipated scaling solution, the Lightning Network. An open-source project that aims to boost bitcoin's capacity to millions of transactions per second (and by extension the technology's value), it's code is nearly ready to go live. Yet, bitcoin isn't exactly ready for the change.
While some form of the Lightning Network is possible to deploy today, the technical change that could pave the way for an improved version still needs near-unanimous support from miners and users or it won’t activate. (For now, miner hashrate signaling has plateaued at about 25%, far from the necessary 95%).
This bottleneck has lead some researchers to begin exploring other options for getting Lightning-style payment channels off the ground.
One new idea, Teechan, comes from Initiative For CryptoCurrencies & Contracts (IC3), an academic group focused on blockchain and led by Cornell University. The announcement post explains that the off-chain transaction protocol is similar to Lightning Network, potentially allowing millions of transactions per second – but it uses a different construction.
Namely, it relies on a special type of hardware, Intel SGX, that masks data and guards it from outside tinkering.
The upside is that it works right now, and that it takes advantage of the relative ubiquity of Intel's chips.
Ittay Eyal, one of the computer scientists behind Teechan, told CoinDesk:
"Teechan is essentially working on the existing bitcoin network, without change. We ran a channel on the bitcoin testnet only with features available on the operational network."
One thing to keep in mind, however, is that participants would need to buy a specific type of computer with a specific hardware to open up a channel. (Intel SGX only works on a subset of the company's products).
While bitcoin's developers say they aren't opposed to the idea of trusted hardware in all blockchain networks, the idea it could be applied to a global, trustless network in some capacity has some up in arms.
At issue for many is that trusted hardware is at odds with bitcoin's decentralized security model as it has been popularly conceived. By nature, it requires some degree of trust in the tech giant Intel.
The use of trusted hardware in cryptocurrency projects (that are largely software driven) has drawn skepticism before for that reason.
Although trusted execution environments are one way to ensure the privacy and security of data, Intel (or another hardware provider) potentially has a backdoor to the content.
"That’s certainly true," said Cornell Tech computer science professor Ari Juels, though he argued that it’s "hard to escape" centralization in all forms. Trust in Intel is particularly hard to avoid, he said, since their chips power so many devices, even the nodes and wallets that bitcoiners already rely on.
According to data from 2015, nearly 90% of all computers run on Intel chips.
There seems to be some interest in the idea from other open-source blockchain communities as well.
Ethereum creator Vitalik Buterin, for instance, posted a Twitter poll last week asking his followers how they feel about the trend towards using trusted hardware as an "ingredient" in blockchain projects, which received a mixed response.
The answer might not be so clear, according to cryptographer Matthew Green.
"It depends what's at stake. The security of a global network and billions of dollars? No way," he commented, reiterating how he believes Intel poses a single point of failure.
Here Green might be referencing proof-of-elapsed-time (PoET), a consensus algorithm developed by Intel that uses the same Intel hardware.
Other use cases
With that in mind, IC3 has been looking into trusted computing use cases beyond micropayment channels. (Intel was even recently added as a sponsor of the academic blockchain group).
Further, of 13 blockchain projects listed on the IC3 website, at least three use trusted computing to some degree as a way to ensure data integrity or privacy.
One reason is that the smart contracts that would run on top of a blockchain are increasingly being thought of as tools for data verification, say, if the temperature on a certain date and time would be necessary for its execution.
"Pretty much any interesting smart contract needs to have some awareness of real-world state. Any financial instrument needs to have an idea of what’s going on in the real world, whether equity prices, commodity prices," Juels said.
But, while it might sound like an easy task, retrieving trustworthy data for smart contracts is what Juels called it a "pretty major stumbling block," because data can be manipulated before it reaches the smart contract.
He argued that current oracles on ethereum don't provide high trust assurance. On the other hand, the project Town Crier uses SGX to scrape data from a website that the participants deem trustworthy with the assurance that it won’t be tampered with in its journey to the smart contract.
The Town Crier white paper is public, and IC3 plans to release a public version on ethereum in early 2017.
Hawk is another ethereum project that uses the privacy technology behind Zcash to hide the sending and receiving addresses of ethereum transactions. Programmers can write smart contracts as they normally would, then, run it through the Hawk compiler to mask its contents.
By playing the role of “manager” in some Hawk applications, Intel SGX can help to execute Hawk smart contracts that sees a user’s inputs, but is trusted to keep them secret from other programs.
And this may be just the beginning.
Juels thinks there are many future applications of trusted hardware that have yet to be tapped and many more experiments for developers to attempt.
As an example, he cited how bug bounties now offer rewards to coders, benefiting open-source projects (such as ethereum) as well as coders who have the ability to spot errors. But, Juels mentioned that fair exchange is often an issue. Coders don't always get paid what they're promised after revealing the bug that they found, while others might get a pay out for finding a bug that isn't real or useful.
He offered the idea of a bug bounty smart contract. Using the strong integrity guarantees of SGX, bounty hunters can prove that they discovered a bug without revealing it to the company.
In the future, IC3 is also looking into improving concepts that are already out there, and continue the development of protocols that use trusted hardware.
While the jury may still be out on the technology, it's safe to say it could become a big trend in the year ahead as major blockchains compete to boost capacity.
Tools image via Shutterstock
I Want the Truth: Could Blockchain Stop Online News...
2016 in Headlines: The Year's 13 Biggest Blockchain Stories