With the massive amount of digital data generated everyday, transactions of
digital goods become a trend. One of the essential requirements for such
transactions is fairness, which is defined as that both of the seller and the
buyer get what they want, or neither. Current fair trade protocols generally
involve a trusted third-party (TTP), which achieves fairness by heavily relying
on the TTP's behaviors and the two parties' trust in the TTP. With the
emergence of Blockchain, its decentralization and transparency make it a very
good candidate to replace the TTP. In this work, we attempt to design a secure
and fair protocol for digital goods transactions through smart contracts on
Blockchain. To ensure security of the digital goods, we propose an advanced
passive proxy re-encryption (PRE) scheme, which enables smart contracts to
transfer the decryption right to a buyer after receiving his/her payment.
Furthermore, based on smart contracts and the proposed passive PRE scheme, a
fair trade protocol for digital goods transactions is proposed, whose fairness
is guaranteed by the arbitration protocol. The proposed protocol supports
Ciphertext publicity and repeatable sale, while involving less number of
interactions. Comprehensive experiment results validate the feasibility and
effectiveness of the proposed protocol