Wednesday, 1.5.2019, 11:30
Electrical Eng. Building 861
In recent years, cryptocurrencies, and blockchain as their underlying technology have emerged. They act as a decentralized ledger, i.e., an append-only log, where payments are recorded. One of the key limitations of almost all blockchains is the overall throughput, e.g., in Bitcoin, the first cryptocurrency, the overall throughput is about 7 transactions per second (TPS), whereas VISA’s maximum throughput is between three to four orders of magnitude higher. One of the main reasons this problem occurs is due to the fact the state of the blockchain is replicated among all participants. This limitation is known as the scalability problem and is one of the most researched topics in this field.
One of the proposed solution to tackle the scalability problem of cryptocurrencies is payment channel networks. In this approach, users interact with the blockchain to place a deposit transaction, and they use this deposit to form a payment channel with other users. Then, all the payments on the channel are made off-chain, i.e., not written on the blockchain at all, which saves space on the blockchain. When one of the parties using the channel wants to settle, she writes a settlement transaction, which redistributes the initial deposits according to the last state of the payment channel. This approach removes all the non-initial and settlement transactions from the blockchain, thus freeing up space on the blockchain for other transactions.
Teechain is a proposed payment channel network protocol, that uses trusted execution environments (TEEs), secure hardware, found on almost all recent commodity CPUs, that offers high security guarantees for pieces of code that run on it, such as confidentiality, integrity and the ability to attest to the validity of the code that runs on it.
In this research thesis, we explore the Teechain protocol, describe it, and show various evaluation results of the implementation of the protocol. This work focuses on the security of the protocol–it defines the key security interest any payment network should have, and rigorously analyzes the Teechain protocol to formally prove that it achieves the desired security guarantees, The proof is done in a framework named the Universal-Composability (UC) framework. In a nutshell, proof in the UC framework is done by describing an ideal functionality in an ideal world, which acts as a trusted third party that captures the desired characteristics of the protocol. The proof is consisted of showing that for any execution in the real-world with parties interacting with the real protocol (i.e., Teechain), is indistinguishable from a simulated execution which interacts with the ideal functionality in the ideal world. Thus, every attack in the ideal world is indistinguishable from a similar attack in the real-world, and if the ideal functionality is secure, then so is the real world protocol.
* MSc seminar under supervision of Prof. Ittay Eyal.