Security Enhancement Systems in Blockchain Asset Exchanges
Glossary
Term DefinitionsBlockchain assetsA digital token (e.g., Bitcoin) that uses cryptography to secure transactions and control the creation of new units. CryptocurrencyA subset of blockchain assets, such as Bitcoin, Ethereum, etc.Distributed ledgerA decentralized database that forms the basis of a blockchain.CustodyThe practice of holding customer funds on an exchange to facilitate transactions.Multi-signature addressAn address that requires multiple private keys to access an account and transfer assets.Non-custodial orderAn order where neither party holds the other party's assets; the assets are held in a decentralized blockchain-based multi-signature account until the transaction is completed.OracleA third party that automatically verifies transactions based on predetermined rules.User AA user who wishes to use CoinA to purchase CoinB.ExchangeAn entity that facilitates the exchange of blockchain assets.CoinAThe token that User A holds and wishes to exchange.CoinBThe token that User A wishes to receive.Payment_AddressThe address to which User A sends CoinA to create a funded order.Final_AddressThe address to which User A sends CoinB after the order is completed.Refund_AddressThe address to which User A will receive a refund from CoinA if the order is not completed. Merchant_AddressThe address to which the exchange will receive CoinA after the order is completed. Funded orderA non-custodial order that has received User A's CoinA. Unfunded orderA non-custodial order that has not yet received User A's CoinA. Completed orderA non-custodial order that has sent CoinB to User A's Final_Address, completing the transaction. Return DeltaThe amount of time that Oracle waits to ensure that an order is not completed after a user requests a refund.
Test Questions
Explain the concept of custody in blockchain asset trading and why it is risky.
What is the main difference between non-custodial orders and traditional orders?
What is the role of Oracle in this particular system?
List and define the four main addresses that participate in blockchain asset exchanges.
What happens when an unfunded order becomes a funded order?
What happens when User A cancels a funded order?
Explain the purpose of "Return Delta".
What happens if the exchange's system is compromised before the order is completed?
How does the system ensure the safety of funds if the Oracle is compromised?
Describe how "op_checklocktimeverify" provides security in the event that both the Oracle and the exchange disappear.
Answer
Custody refers to the practice of an exchange holding customer funds to facilitate trades. This is risky in blockchain asset trading because customers could lose their funds if the exchange is hacked or goes bankrupt.
In a non-custodial order, neither party holds the other’s assets. The assets are held in a decentralized multi-signature account based on the blockchain until the trade is completed. This is in contrast to traditional orders, where the exchange holds the customer’s funds until the trade is completed.
An Oracle is a third party that automatically verifies transactions based on predetermined rules. It acts as a trustless intermediary between the exchange and the user, ensuring that transactions are conducted in a secure and fair manner.
The four main addresses are:
**Payment_Address:**The address to which User A sends CoinA to create a funded order.
**Final_Address:**The address to which CoinB is sent to User A after the order is completed.
**Refund_Address:**The address to which User A will receive a refund of CoinA if the order is not completed.
**Merchant_Address:**The address to which the exchange will receive CoinA after the order is completed.
An unfunded order becomes a funded order when user A sends CoinA to the specified Payment_Address and the system confirms this by monitoring blockchain information.
If user A cancels a funded order, Oracle will first verify that the expected amount of CoinB is in Final_Address. If not, Oracle will sign a refund to user A.
“Return Delta” refers to the amount of time Oracle waits after a user requests a refund to ensure that the order is not completed. This prevents a “race condition” when Oracle signs a refund while the exchange is processing an order to send CoinB.
If the exchange’s system is compromised before the order is completed, the client device, Oracle, or other computers in the system can request that all user orders be returned to the Refund_Address. Since Oracle only sends funds to the user’s Refund_Address, the user’s assets are not compromised.
Even if Oracle is compromised, funds are safe because it requires a co-signature from the user or exchange to transfer ownership of the cryptocurrency. If a user or exchange believes Oracle is compromised, they can unilaterally initiate a return of user funds to the Refund_Address.
"op_checklocktimeverify" allows an exchange to create a return transaction as soon as a user funds an order. The transaction is signed by both the exchange and the Oracle, but is not valid until after the order expiration date. If both the Oracle and the exchange disappear, this feature ensures that funds are returned to the user after a specified time.
Paper Title
Detailed analysis of the security advantages provided by using multi-signature addresses in blockchain asset transactions compared to relying on centralized exchanges.
Discuss the role of Oracles in this system and their importance to overall security and functionality. What are the implications if Oracles fail or are compromised by malicious actors?
Compare and contrast the non-custodial order system presented here with traditional custodial order systems. Analyze the pros and cons of each approach, focusing on security, user experience, and overall efficiency.
Explore the potential for integrating this system into a decentralized exchange (DEX). Discuss the challenges and opportunities presented by such an integration, focusing on scalability, security, and user experience.
Evaluate the system's applicability to different types of blockchain assets, such as cryptocurrencies, tokenized assets, and central bank digital currencies (CBDCs). Are there unique challenges or considerations for each asset type that require additional security measures or modifications?