Throughout the past few years, the public’s demand for financial anonymity and freedom has catalyzed the growth of virtual currencies, namely cryptocurrencies. Given the fact that digital information is theoretically amenable to being reproduced, cryptocurrencies can be spent more than once; a malicious attack known as “double spending”. To shield the network against double spending attacks, the bitcoin protocol is designed to record transactions onto blocks that are broadcast to a public ledger, known as the blockchain. Nevertheless, the time needed to generate new blocks leads to delay in confirmation of transactions. This delay, occasionally reaching several hours, hinders wide scale adoption of bitcoin and cryptocurrencies in general.
In an attempt to solve this problem, a recently published paper presented a solution to shield blockchain based cryptocurrencies against double spending attacks; thus, boosting the speed of confirmation of transactions, via the security advantages of Trusted Execution Environments (TEEs). This is achieved via enforcement of sign-once semantics that prevent payers from reusing the private keys of the spent coins to sign more than a single transaction. The paper also presented a way for the receiver of a transaction to verify, whether or not, a given private key is subjected to sign-once semantics. As such, the proposed solution can greatly reduce confirmation times of transactions of blockchain based cryptocurrencies and it is fully compatible with the existing bitcoin network, so it won’t require any protocol modifications to be fully implemented. The developer of the solution created and deployed a proof-of-concept (PoC) of the proposed solution via Intel’s SGX technology and tested it with Copay, an online bitcoin wallet offered by Bitpay.
What are Trusted Execution Environments (TEEs)?
Trusted Execution Environments (TEEs) are unique forms of isolated, secure processing environments. TEEs rely on Intel’s Software Guard Extensions (SGX) which are a group of architectural extensions built to guarantee secure remote computation. SGX generates a new group of instructions to promote execution of user-level code in a trusted environement.
TEEs offer isolated code execution, remote attestation, secure provisioning, secure storage of data and trusted paths for execution of code. Applications that run in TEEs are securely protected and almost impossible to be accessed by third parties. The specifications of TEEs are standardized by GlobalPlatform.