The requirements for large amounts of data have promoted the rapid emergence of an industry for trading data. However, the current one-to-one trading constraints in the existing data trading schemes lead to low security and low efficiency. To tackle the challenges, a novel one-to-many distributed data trading scheme is proposed based on blockchain, which enables a data seller to sell one piece of data to multiple data buyers simultaneously, saving storage resources and computing resources significantly. Firstly, some new smart contracts are devised for two decentralized applications. Then, attribute-based searchable encryption technology is proposed to establish a data circulation scheme that realizes end-to-end encryption of data and ensures data security and highly efficient access. Finally, an inspection mechanism based on zero-knowledge proof and a pricing strategy based on the Stackelberg game is designed to guarantee fairness in trading and maximize revenue. The experiment results show that, in comparison to one-to-one trading, the high efficiency of this data trading scheme gradually emerges as the number of buyers (n) is greater than 2, and the run time is less than 1/10 of the former when n = 35. Furthermore, the pricing strategy can enable buyers and sellers to obtain more revenue when n > 4.