Protocol
Security Analysis
A. Codes
B. Proofs
Blockchain, Smart Contract, and Asset. A blockchain is a tamperproof distributed ledger that records asset balances for each address. An asset can be a cryptocurrency, a token, or any item transactable on-chain. A party can be an individual, organization, or any entity capable of interacting with the blockchain. A smart contract (simply as "contract") is an agreement written in code. Parties can create contracts, call functions, and check contract code and state. ฮ represents the time period sufficient for parties to release, broadcast, and confirm transactions on the blockchain.
Cryptographic Primitives. A secret is known exclusively to its generator, and ๐ป(ยท) represents a collision-resistant hash function. In asymmetric encryption, the private key ๐ ๐ is used confidentially for signing, and the public key ๐๐ is shared openly.
In this paper, Double-Authentication-Preventing Signatures (DAPS) [35] is a key component in our protocol design. Initially, DAPS are designed to inhibit the reuse of a single private key for signing two different messages, where a message consists of a pair of message address and message payload in the form of (๐, ๐). DAPS ensures that a particular secret key ๐ ๐ cannot sign the same address ๐ with different payloads ๐. This property can be used for preventing double spending in blockchains. Two messages ๐1 = (๐1, ๐1) and ๐2 = (๐2, ๐2) are considered colliding if ๐1 = ๐2 and ๐1 โ ๐2. Any two signatures with the identical address but different contents will disclose the secret key. Given a security parameter ๐, DAPS can be delineated as follows.
โข Key Generation: KeyGen(1 ๐ ) โ (๐๐, ๐ ๐)
โข Signature: Sign(๐ ๐,๐) โ ๐๐, where ๐ = (๐, ๐)
โข Verification: Verify(๐๐,๐, ๐๐) โ True/False
โข Extraction: Extract(๐๐,๐1, ๐๐1 ,๐2, ๐๐2 ) โ ๐ ๐/โฅ
Hashed TimeLock Contracts (HTLCs). The Hashed TimeLock Contract (HTLC) is a cryptographic contract utilized to facilitate secure and trustless transactions. In an vanilla HTLC, funds are locked in a contract and can only be accessed by the designated recipient upon fulfillment of predetermined conditions within a specified time frame ๐ . The condition is expressed as the presentation of a preimage of the hash. For example, the contract asks the designated recipient to present the preimage ๐ด for the hash ๐ป(๐ด). If ๐ด is not provided before ๐ , the funds are refunded after ๐.
Authors:
(1) Zifan Peng, The Hong Kong University of Science and Technology (Guangzhou) Guangzhou, Guangdong, China ([email protected]);
(2) Yingjie Xue, The Hong Kong University of Science and Technology (Guangzhou) Guangzhou, Guangdong, China ([email protected]);
(3) Jingyu Liu, The Hong Kong University of Science and Technology (Guangzhou) Guangzhou, Guangdong, China ([email protected]).
This paper is available on arxiv under CC BY 4.0 license.