A team of coders from Imperial College London and Cornell University has come up with a brand new solution for bitcoin network scalability, which uses trusted execution environment in the components of secure hardware.
The team consists of Joshua Lind, PhD Student at Imperial College London, Ittay Eyal, a post-doc in the Systems and Networking Group in the Department of Computer Science in Cornell, Peter Pietzuch, Associate Professor at Imperial College London, and Emin Gün Sirer, professor at Cornell.
Cool new breakthrough tech for #Bitcoin and #blockchain:
Scaling Bitcoin with Secure Hardware
— Emin Gün Sirer (@el33th4xor) December 22, 2016
According to the developers, the solution called Teechan can be implemented in bitcoin’s protocol straightaway and without any modification of the core code.
The developers insist Bitcoin suffers from a fundamental limit on how far it can scale. While the number of transactions sent per day has been growing exponentially since Bitcoin’s inception, the number of transactions the system can clear is firmly capped at 7 tx/sec under the best of circumstances, and at around 3.3 tx/sec with realistic transaction sizes.
“This means that, for example, if Venezuela were to switch over to Bitcoin today, every adult would be able to conduct at most one financial transaction every 72 days. And on the latency side, every non-trivial transaction would incur at least an hour’s delay,” they say.
The number of scalability solutions is exuberant. Increasing block size may be a reasonable stopgap measure, however, changing the blocksize does not appreciably improve latencies for confirmations. And a 2X or 4X increase in block size delivers at most a 2X or 4X improvement in throughput. Even a highly controversial 10X increase in block size would yield only one transaction per week for Venezuelans, still far short of the target, the developers say.
Another option one might find in efforts such as Bitcoin NG, ByzCoin and Hybrid Consensus (suggested by research groups including Teechan creators) is to change the protocol to construct blocks incrementally over time, avoiding centralization bottlenecks.
“Quixotically, the practitioner community has been reticent about adopting these techniques or even acknowledging their existence during scaling discussions, reportedly because these proposals require changes to the underlying protocol.”
According to the developers, most practitioners have focused on off-chain scaling, through a technique known as payment channels. allow for efficient transactions in which two parties can engage in a large number of fund transfers off chain, only settling the net result on the blockchain. While this can potentially improve scale immensely, these protocols, also, require substantial changes to the underlying protocol.
“Specifically, Lightning Network implementations are vulnerable to transaction malleability, whose current proposed fix, SegWit, has become mired in controversy, partly as a result of its implementation complexity.”
“We have developed a new scalability solution for Bitcoin, called Teechan. It is a new, practical, high throughput, low latency off-chain transaction protocol that can be deployed securely on the Bitcoin network, as it exists today,” the developers say.
Teechan is similar in design to the Lightning Network, save for one crucial differentiating factor: it leverages trusted execution environments (TEEs), that is, secure hardware components found in recent commodity processors such as the latest batch of Intel CPUs with Software Guard Extensions (SGX).
According to the developers, the new solution’s key features include:
- Teechan does not require any changes to the existing Bitcoin network; it is secure even in the presence of transaction malleability.
- Teechan is efficient: Payments are completed with a single message. Network latency does not impair its throughput.
- Teechan enables infinite channel reuse as long as the balance does not exceed the channel credit.
- Teechan is space-efficient, requiring only two transactions to be placed in the blockchain in total under all scenarios. As a consequence of lower dependence on on-chain transactions, Teechan is less open to attacks based on blockchain flooding.
- Consequently, Teechan lends itself to an efficient implementation. Our prototype achieves a throughput of 2480 transactions per second per channel, with settlement latency overheads of 0.4 ms.
“The first feature alone is worth its weight in bitcoin, as this means that all the touted benefits of payment channels can be had on top of the regular, unmodified Bitcoin protocol right now, avoiding the thorny discussion around SegWit and its deployment. It’s worth explaining why Teechan is able to provide these features,” developers say.
Software Guard Extensions
Intel Software Guard Extensions (Intel SGX) is among the functional novelties first introduced in the sixth generation Intel Core CPU’s (Skylake).
“At its root, Intel SGX is a set of new CPU instructions that can be used by applications to set aside private regions of code and data. But looking at the technology upward from the instructions is analogous to trying to describe an animal by examining its DNA chain,” Matt Hoekstra, one of the technology’s developers, said.
According to him, the developers sought to cover the following:
- Allow application developers to protect sensitive data from unauthorized access or modification by rogue software running at higher privilege levels.
- Enable applications to preserve the confidentiality and integrity of sensitive code and data without disrupting the ability of legitimate system software to schedule and manage the use of platform resources.
- Enable consumers of computing devices to retain control of their platforms and the freedom to install and uninstall applications and services as they choose.
- Enable the platform to measure an application’s trusted code and produce a signed attestation, rooted in the processor, that includes this measurement and other certification that the code has been correctly initialized in a trustable environment.
- Enable the development of trusted applications using familiar tools and processes.
- Allow the performance of trusted applications to scale with the capabilities of the underlying application processor.
- Enable software vendors to deliver trusted applications and updates at their cadence, using the distribution channels of their choice.
- Enable applications to define secure regions of code and data that maintain confidentiality even when an attacker has physical control of the platform and can conduct direct attacks on memory.
As Teechan creators note, SGX is not the only way of building a trusted execution environment. It’s quite possible to do the same using, for instance, secure hardware co-processors known as trusted platform modules (TPMs). TPMs can be found in almost every laptop and cost somewhere between $1-$5, and come from multiple vendors
Still, Teechan developers stress that there’s no such thing as free lunch, and make several important reservations.
Thus, Teechan protocol requires a trusted execution environment in the first place, which requires some special hardware to create a channel. The developers also admit they had to trust Intel.
It is yet unknown by how much Teechan will help Bitcoin scale. The exact benefit depends on the emergent credit network on top, which has yet to emerge, because it has not been possible to deploy payment channels securely until now. The team’s hope is that Teechan will be used in concert with payment network design by LN and others.
Also, payment channels rely on the ability to place certain transactions on-chain when needed. This requires space in blocks on the underlying blockchain. As mentioned in the LN paper, full blocks interfere with this and can open payment channels to attack.
Anyway, the Teechan will be making the Teechan implementation public in the next few weeks. For now, they provided the community with a working draft paper. The code is still in alpha, and the developers hope to build an open-source effort around Teechan.