Abstract
Trading data through blockchain platforms is hard to achieve fair exchange. Reasons come from two folds: Firstly, guaranteeing fairness between sellers and consumers is a challenging task as the deception of any participating parties is risk-free. This leads to the second issue where judging the behavior of data executors (such as cloud service providers) among distrustful parties is impractical in the context of traditional trading protocols. To fill the gaps, in this paper, we present a blockchain-based data trading system, named BDTS. BDTS implements a fair-exchange protocol in which benign behaviors can get rewarded while dishonest behaviors will be punished. Our scheme requires the seller to provide consumers with the correct encryption keys for proper execution and encourage a rational data executor to behave faithfully for maximum benefits from rewards. We analyze the strategies of consumers, sellers, and dealers in the trading game and point out that everyone should be honest about their interests so that the game will reach Nash equilibrium. Evaluations prove efficiency and practicability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The gradual release method means each party in the game takes turns to release a small part of the secret. Once a party is detected doing evil, other parties can stop immediately and recover the desired output with similar computational resources.
- 2.
Service providers generally act as the role of centralized authorities such as dealers and agencies in a traditional fair exchange protocol.
- 3.
References
Wang, C., Wang, Q., et al.: Toward secure and dependable storage services in cloud computing. TSC 5(2), 220–232 (2011)
Zhu, Y., Ahn, G.-J., Hongxin, H., et al.: Dynamic audit services for outsourced storages in clouds. TSC 6(2), 227–238 (2011)
Küpçü, A., Lysyanskaya, A.: Usable optimistic fair exchange. In: Pieprzyk, J. (ed.) CT-RSA 2010. LNCS, vol. 5985, pp. 252–267. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11925-5_18
Micali, S.: Simple and fast optimistic protocols for fair electronic exchange. In: PODC, pp. 12–19 (2003)
Blum, M.: How to exchange (secret) keys. TOCS 1(2), 175–193 (1983)
Pinkas, B.: Fair secure two-party computation. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656, pp. 87–105. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-39200-9_6
Dziembowski, S., Eckey, L., Faust, S.: Fairswap: how to fairly exchange digital goods. In: CCS, pp. 967–984 (2018)
He, S., Lu, Y., Tang, Q., Wang, G., Wu, C.Q.: Fair peer-to-peer content delivery via blockchain. In: Bertino, E., Shulman, H., Waidner, M. (eds.) ESORICS 2021. LNCS, vol. 12972, pp. 348–369. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-88418-5_17
Shin, K., et al.: T-chain: a general incentive scheme for cooperative computing. IEEE/ACM ToN 25(4), 2122–2137 (2017)
Choudhuri, A.R., Green, M., Jain, A., Kaptchuk, G., Miers, I.: Fairness in an unfair world: fair multiparty computation from public bulletin boards. In: CCS, pp. 719–728 (2017)
Kiayias, A., Zhou, H.-S., Zikas, V.: Fair and robust multi-party computation using a global transaction ledger. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9666, pp. 705–734. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49896-5_25
Eckey, L., Faust, S., Schlosser, B.: Optiswap: fast optimistic fair exchange. In: AsiaCCS, pp. 543–557 (2020)
Wood, G., et al.: Ethereum: a secure decentralised generalised transaction ledger (2022). https://ethereum.github.io/yellowpaper/paper.pdf
Li, R., et al.: How do smart contracts benefit security protocols? arXiv preprint arXiv:2202.08699 (2022)
Androulaki, E., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: EuroSys, pp. 1–15 (2018)
Chen, J., Xue, Y.: Bootstrapping a blockchain based ecosystem for big data exchange. In: Bigdata Congress, pp. 460–463. IEEE (2017)
Fang, F., Liu, S., et al.: Introduction to game theory. In: Game Theory and Machine Learning for Cyber Security, pp. 21–46 (2021)
Moore, J., Repullo, R.: Subgame perfect implementation. Econometrica: J. Econometric Soc., 1191–1220 (1988)
Jung, T., et al.: Accounttrade: accountable protocols for big data trading against dishonest consumers. In: INFOCOM, pp. 1–9. IEEE (2017)
Dai, W., et al.: SDTE: a secure blockchain-based data trading ecosystem. IEEE Trans. Inf. Forensics Secur. (TIFS) 15, 725–737 (2019)
Li, R., Wang, Q., Liu, F., Wang, Q., Galindo, D.: An accountable decryption system based on privacy-preserving smart contracts. In: Susilo, W., Deng, R.H., Guo, F., Li, Y., Intan, R. (eds.) ISC 2020. LNCS, vol. 12472, pp. 372–390. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-62974-8_21
Zhou, J., et al.: Distributed data vending on blockchain. In: IEEE International Conference on Internet of Things (iThings), pp. 1100–1107. IEEE (2018)
Janin, S., Qin, K., Mamageishvili, A., Gervais, A.: Filebounty: fair data exchange. In: EuroS &PW, pp. 357–366. IEEE (2020)
Kiayias, A., Koutsoupias, E., Kyropoulou, M., Tselekounis, Y.: Blockchain mining games. In: ACM EC, pp. 365–382 (2016)
Garay, J., Kiayias, A., Leonardos, N.: The bitcoin backbone protocol: analysis and applications. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9057, pp. 281–310. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46803-6_10
Goyal, P., et al.: Secure incentivization for decentralized content delivery. In: USENIX Workshop on Hot Topics in Edge Computing (HotEdge) (2019)
Almashaqbeh, G.: CacheCash: A Cryptocurrency-based Decentralized Content Delivery Network. Columbia University (2019)
Wang, Q., Li, R., Wang, Q., Chen, S.: Non-fungible token (NFT): Overview, evaluation, opportunities and challenges. arXiv preprint arXiv:2105.07447 (2021)
Yang, R., Au, M.H., Yu, Z., Xu, Q.: Collusion resistant watermarkable PRFs from standard assumptions. In: Micciancio, D., Ristenpart, T. (eds.) CRYPTO 2020. LNCS, vol. 12170, pp. 590–620. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-56784-2_20
Gentry, C., Silverberg, A.: Hierarchical ID-based cryptography. In: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 548–566. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36178-2_34
Gudgeon, L., Moreno-Sanchez, P., Roos, S., McCorry, P., Gervais, A.: SoK: layer-two blockchain protocols. In: Bonneau, J., Heninger, N. (eds.) FC 2020. LNCS, vol. 12059, pp. 201–226. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51280-4_12
Malavolta, G., Moreno-Sanchez, P., Kate, A., et al.: Concurrency and privacy with payment-channel networks. In: CCS, pp. 455–471 (2017)
Green, M., Miers, I.: Bolt: anonymous payment channels for decentralized currencies. In: CCS, pp. 473–489 (2017)
Acknowledgment
Thanks to Lixiaoyang Wang for his contributions to this article. This work was supported by National Key R &D Program of China (2020YFB1005600), National Natural Science Foundation of China (grant no.72192801), Natural Science Foundation of China (U21A20467, 61932011, 61972019), and Beijing Natural Science Foundation (Z220001, M21031) and CCF-Huawei Huyanglin Foundation (CCF-HuaweiBC2021009).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix A. Implementation Details
Appendix A. Implementation Details
We give more implementation details by focusing on three major components.
Sharding Encryption. Based on the real scenario, data transmitted in our system is large in scale. A promising way for transferring the data is delivering them in segments (also known as data sharding). Data sharding in BDTS does not affect the system consensus or consistency. Instead, data sharding is an off-chain operation conducted by sellers that will be processed before uploading. A full piece of data is split into several shards (or pieces, segments), being encrypted and stored in different memories. The blockchain only reserves its sequential orders and related evidence such as descriptions, addresses and proofs. When a consumer confirms the purchase, he needs to download the data on service providers according to the storage list and obtain the decryption key after successful payment. Then, he can decrypt the data in pieces and finally resemble them according to the sequences for the entire piece of data. We implement the data sharding with the logic in Algm.1. Given the size of a slot (indicating the expected size of a shard), we firstly calculate the number of data segments (line 4). Then, a full piece of data is split into n segments (line 5). The seller then create its encryption keys \((K_1, K_2, ..., K_n)\) based on his master private key \(K_{seller}\) (line 6). Once completed data splitting and key generation, the algorithm starts to encrypt each data segment under the seller’s private keys (line 8–11). Encrypted data also generate its proofs for further verifications (line 10). Last, both raw data and encrypted data are stored on the leaves of Merkle tree to create on-chain roots MT1 and MT2 (line 12–14).
Product Matching. This function describes the process of searching for a targeted source from service providers. In the context of Algm.2, the terms keyword, choice, ProductList, SPList, MD, Data and Desc represent the searchable keywords, user’s preferences of products, product list, service provider list, data and product description. When a consumer inputs a keyword, the algorithm starts to search for matched ones (line 3) by ranging all descriptions in the product list (line 2–5). Matched products will be recommended to a channel called showlist for consumers. The algorithm then inputs choice requested from the consumer, and searches related sources (encrypted data, data, description) from service providers (line 8–13). The returned information is sent to the consumer.
Payment. This function mainly describes the method of making payments. The terms in Algm.3 cmAddr, slrAddr, spAddr and Price stand for the consumer’s address, the seller’s address, the service provider’s address and the price of commodities. The result (either True or False) represents the final result on whether the payment has been successfully executed. The algorithm inputs the addresses of all three entities and the commodity price (line 1). If the token amount of consumer is less than selling prices, the algorithm returns false and the transaction fails (line 1–3). Otherwise, the transaction proceeds. A major difference compared to traditional exchange protocols is that the consumer needs to pay both service providers for their on-chain services and the seller for his resources (line 4–9) (Fig. 5).
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Jiang, E. et al. (2023). BDTS: Blockchain-Based Data Trading System. In: Wang, D., Yung, M., Liu, Z., Chen, X. (eds) Information and Communications Security. ICICS 2023. Lecture Notes in Computer Science, vol 14252. Springer, Singapore. https://doi.org/10.1007/978-981-99-7356-9_38
Download citation
DOI: https://doi.org/10.1007/978-981-99-7356-9_38
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-99-7355-2
Online ISBN: 978-981-99-7356-9
eBook Packages: Computer ScienceComputer Science (R0)