Table of Links
-
Abstract and Introduction
-
Preliminaries
-
Overview
-
Protocol
4.1 Efficient Option Transfer Protocol
4.2 Holder Collateral-Free Cross-Chain Options
-
Security Analysis
5.1 Option Transfer Properties
5.2 Option Properties
-
Implementation
-
Related Work
-
Conclusion and Discussion, and References
A. Codes
B. Proofs
2 PRELIMINARIES
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]).