Blockchain can be viewed as a mechanism to implement trustworthy sharing of data in systems with mutual distrust. The system participants may have conflicting interests and might even be willing to cheat, but the implementation is expected to be trustworthy in that they share data and exchange assets in a consistent, available and fair way. This project puts the focus on the algorithmic basics of blockchains, in order to discover novel efficient data-sharing and asset-transfer implementations. In particular, we are interested in settings in which multiple entities are involved in a supply-demand chain, subject to multiparty contract agreements. We focus on efficient implementations of decentralized demand-supply chains and the problems of confidentiality and access control to the shared data data.