Social data produced from widely emerged social media activities are expected to promote information dissemination and engagement, or even make business intelligence more powerful. However, the recent increase in social media incidents of illegal surveillance and data breaches raises questions about the current data ownership model, in which centralized applications collect and control large amounts of user data. In this article, we present SocialChain, which is a decentralized social data storage and sharing system based on blockchain that decouples user data and social applications to return data ownership to the user. We adopt Personal Data Store to extend off-chain storage for the social data, set up an identity establishment mechanism that can support WebID-based authentication functions using a unique identity assignment (i.e., WebID) as well as certificateless cryptography, and design a general framework that leverages smart contracts to help securely store and share social data in an automated manner. We develop a software prototype based on Ethereum and conduct case studies to test the effects of the adopted techniques on the performance. Experimental results show that SocialChain can provide easy-to-use interfaces while introducing relatively low latency, cost, and overhead and that it can support real-world social media applications.