Implementing fine-grained access control in blockchain-based applications. a survey and case-study