Teechain: A Secure Payment Network with Asynchronous Blockchain Access
Blockchains such as Bitcoin and Ethereum execute payment transactions
securely, but their performance is limited by the need for global consensus.
Payment networks overcome this limitation through off-chain transactions.
Instead of writing to the blockchain for each transaction, they only settle the
final payment balances with the underlying blockchain. When executing off-chain
transactions in current payment networks, parties must access the blockchain
within bounded time to detect misbehaving parties that deviate from the
protocol. This opens a window for attacks in which a malicious party can steal
funds by deliberately delaying other parties' blockchain access and prevents
parties from using payment networks when disconnected from the blockchain.
We present Teechain, the first layer-two payment network that executes
off-chain transactions asynchronously with respect to the underlying
blockchain. To prevent parties from misbehaving, Teechain uses treasuries,
protected by hardware trusted execution environments (TEEs), to establish
off-chain payment channels between parties. Treasuries maintain collateral
funds and can exchange transactions efficiently and securely, without
interacting with the underlying blockchain. To mitigate against treasury
failures and to avoid having to trust all TEEs, Teechain replicates the state
of treasuries using committee chains, a new variant of chain replication with
threshold secret sharing. Teechain achieves at least a 33x higher transaction
throughput than the state-of-the-art Lightning payment network. A 30-machine
Teechain deployment can handle over 1 million Bitcoin transactions per second.